Ignore:
Timestamp:
Oct 24, 2018 6:39:32 PM (3 years ago)
Author:
gronemeier
Message:

new surface-data output; renamed output variables (pt to theta, rho_air to rho, rho_ocean to rho_sea_water)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/check_parameters.f90

    r3377 r3421  
    2525! -----------------
    2626! $Id$
     27! Renamed output variables
     28! Add checks for surface data output
     29!
     30! 3419 2018-10-24 17:27:31Z gronemeier
    2731! Remove offline nesting in if clause for pressure top boundary condition
    2832!
     
    777781
    778782    USE statistics
     783
     784    USE surface_output_mod,                                                    &
     785        ONLY:  surface_output_check_parameters
    779786
    780787    USE synthetic_turbulence_generator_mod,                                    &
     
    14941501    IF ( urban_surface )        CALL usm_check_parameters
    14951502    IF ( wind_turbine )         CALL wtm_check_parameters
     1503!
     1504!-- Checks for surface data output
     1505    IF ( surface_data_output )  CALL surface_output_check_parameters
    14961506
    14971507!
     
    23632373             hom(:,2,3,:)  = SPREAD( zw, 2, statistic_regions+1 )
    23642374
    2365           CASE ( 'pt', '#pt' )
     2375          CASE ( 'theta', '#theta' )
    23662376             IF ( .NOT. bulk_cloud_model ) THEN
    23672377                dopr_index(i) = 4
     
    24522462             hom(:,2,15,:) = SPREAD( zw, 2, statistic_regions+1 )
    24532463
    2454           CASE ( 'w"pt"' )
     2464          CASE ( 'w"theta"' )
    24552465             dopr_index(i) = 16
    24562466             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    24572467             hom(:,2,16,:) = SPREAD( zw, 2, statistic_regions+1 )
    24582468
    2459           CASE ( 'w*pt*' )
     2469          CASE ( 'w*theta*' )
    24602470             dopr_index(i) = 17
    24612471             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    24622472             hom(:,2,17,:) = SPREAD( zw, 2, statistic_regions+1 )
    24632473
    2464           CASE ( 'wpt' )
     2474          CASE ( 'wtheta' )
    24652475             dopr_index(i) = 18
    24662476             dopr_unit(i)  = TRIM ( heatflux_output_unit )
     
    24792489             IF ( constant_flux_layer )  hom(nzb,2,20,:) = zu(1)
    24802490
    2481           CASE ( 'w*pt*BC' )
     2491          CASE ( 'w*theta*BC' )
    24822492             dopr_index(i) = 21
    24832493             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    24842494             hom(:,2,21,:) = SPREAD( zw, 2, statistic_regions+1 )
    24852495
    2486           CASE ( 'wptBC' )
     2496          CASE ( 'wthetaBC' )
    24872497             dopr_index(i) = 22
    24882498             dopr_unit(i)  = TRIM ( heatflux_output_unit )
     
    25042514             hom(:,2,32,:) = SPREAD( zw, 2, statistic_regions+1 )
    25052515
    2506           CASE ( 'pt*2' )
     2516          CASE ( 'theta*2' )
    25072517             dopr_index(i) = 33
    25082518             dopr_unit(i)  = 'K2'
     
    26032613             ENDIF
    26042614
    2605           CASE ( 'lpt', '#lpt' )
     2615          CASE ( 'thetal', '#thetal' )
    26062616             IF ( .NOT. bulk_cloud_model ) THEN
    26072617                message_string = 'data_output_pr = ' //                        &
     
    26212631             ENDIF
    26222632
    2623           CASE ( 'vpt', '#vpt' )
     2633          CASE ( 'thetav', '#thetav' )
    26242634             dopr_index(i) = 44
    26252635             dopr_unit(i)  = 'K'
     
    26322642             ENDIF
    26332643
    2634           CASE ( 'w"vpt"' )
     2644          CASE ( 'w"thetav"' )
    26352645             dopr_index(i) = 45
    26362646             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    26372647             hom(:,2,45,:) = SPREAD( zw, 2, statistic_regions+1 )
    26382648
    2639           CASE ( 'w*vpt*' )
     2649          CASE ( 'w*thetav*' )
    26402650             dopr_index(i) = 46
    26412651             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    26422652             hom(:,2,46,:) = SPREAD( zw, 2, statistic_regions+1 )
    26432653
    2644           CASE ( 'wvpt' )
     2654          CASE ( 'wthetav' )
    26452655             dopr_index(i) = 47
    26462656             dopr_unit(i)  = TRIM ( heatflux_output_unit )
     
    27982808             hom(:,2,57,:) = SPREAD( zu, 2, statistic_regions+1 )
    27992809
    2800           CASE ( 'u"pt"' )
     2810          CASE ( 'u"theta"' )
    28012811             dopr_index(i) = 58
    28022812             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    28032813             hom(:,2,58,:) = SPREAD( zu, 2, statistic_regions+1 )
    28042814
    2805           CASE ( 'u*pt*' )
     2815          CASE ( 'u*theta*' )
    28062816             dopr_index(i) = 59
    28072817             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    28082818             hom(:,2,59,:) = SPREAD( zu, 2, statistic_regions+1 )
    28092819
    2810           CASE ( 'upt_t' )
     2820          CASE ( 'utheta_t' )
    28112821             dopr_index(i) = 60
    28122822             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    28132823             hom(:,2,60,:) = SPREAD( zu, 2, statistic_regions+1 )
    28142824
    2815           CASE ( 'v"pt"' )
     2825          CASE ( 'v"theta"' )
    28162826             dopr_index(i) = 61
    28172827             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    28182828             hom(:,2,61,:) = SPREAD( zu, 2, statistic_regions+1 )
    28192829
    2820           CASE ( 'v*pt*' )
     2830          CASE ( 'v*theta*' )
    28212831             dopr_index(i) = 62
    28222832             dopr_unit(i)  = TRIM ( heatflux_output_unit )
    28232833             hom(:,2,62,:) = SPREAD( zu, 2, statistic_regions+1 )
    28242834
    2825           CASE ( 'vpt_t' )
     2835          CASE ( 'thetav_t' )
    28262836             dopr_index(i) = 63
    28272837             dopr_unit(i)  = TRIM ( heatflux_output_unit )
     
    28552865             hom(:,2,72,:) = SPREAD( zu, 2, statistic_regions+1 )
    28562866
    2857           CASE ( 'rho_air' )
     2867          CASE ( 'rho' )
    28582868             dopr_index(i)  = 119
    28592869             dopr_unit(i)   = 'kg/m3'
    28602870             hom(:,2,119,:) = SPREAD( zu, 2, statistic_regions+1 )
    28612871
    2862           CASE ( 'rho_air_zw' )
     2872          CASE ( 'rho_zw' )
    28632873             dopr_index(i)  = 120
    28642874             dopr_unit(i)   = 'kg/m3'
     
    30233033             unit = 'm2/s2'
    30243034
    3025           CASE ( 'lpt' )
     3035          CASE ( 'thetal' )
    30263036             IF (  .NOT.  bulk_cloud_model )  THEN
    30273037                message_string = 'output of "' // TRIM( var ) // '" requi' //  &
     
    30413051             IF ( TRIM( var ) == 'pr' )  unit = 'm'
    30423052
    3043           CASE ( 'q', 'vpt' )
     3053          CASE ( 'q', 'thetav' )
    30443054             IF (  .NOT.  humidity )  THEN
    30453055                message_string = 'output of "' // TRIM( var ) // '" requi' //  &
     
    30483058             ENDIF
    30493059             IF ( TRIM( var ) == 'q'   )  unit = 'kg/kg'
    3050              IF ( TRIM( var ) == 'vpt' )  unit = 'K'
     3060             IF ( TRIM( var ) == 'thetav' )  unit = 'K'
    30513061
    30523062          CASE ( 'ql' )
     
    30843094             unit = 'kg/m3'
    30853095
    3086           CASE ( 'p', 'pt', 'u', 'v', 'w' )
     3096          CASE ( 'p', 'theta', 'u', 'v', 'w' )
    30873097             IF ( TRIM( var ) == 'p'  )  unit = 'Pa'
    3088              IF ( TRIM( var ) == 'pt' )  unit = 'K'
     3098             IF ( TRIM( var ) == 'theta' )  unit = 'K'
    30893099             IF ( TRIM( var ) == 'u'  )  unit = 'm/s'
    30903100             IF ( TRIM( var ) == 'v'  )  unit = 'm/s'
     
    30933103
    30943104          CASE ( 'ghf*', 'lwp*', 'ol*', 'qsws*', 'r_a*',                       &
    3095                  'shf*', 'ssws*', 't*', 'tsurf*', 'u*', 'z0*', 'z0h*', 'z0q*' )
     3105                 'shf*', 'ssws*', 't*', 'tsurf*', 'us*', 'z0*', 'z0h*', 'z0q*' )
    30963106             IF ( k == 0  .OR.  data_output(i)(ilen-2:ilen) /= '_xy' )  THEN
    30973107                message_string = 'illegal value for data_output: "' //         &
     
    31413151             IF ( TRIM( var ) == 't*'     )  unit = 'K'
    31423152             IF ( TRIM( var ) == 'tsurf*' )  unit = 'K' 
    3143              IF ( TRIM( var ) == 'u*'     )  unit = 'm/s'
     3153             IF ( TRIM( var ) == 'us*'    )  unit = 'm/s'
    31443154             IF ( TRIM( var ) == 'z0*'    )  unit = 'm'
    31453155             IF ( TRIM( var ) == 'z0h*'   )  unit = 'm'
Note: See TracChangeset for help on using the changeset viewer.