Changeset 3274 for palm/trunk/SOURCE/check_parameters.f90
- Timestamp:
- Sep 24, 2018 3:42:55 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/check_parameters.f90
r3241 r3274 25 25 ! ----------------- 26 26 ! $Id: check_parameters.f90 2520 2017-10-05 13:50:26Z gronemeier & 27 ! Modularization of all bulk cloud physics code components 28 ! 29 ! 2520 2017-10-05 13:50:26Z gronemeier 27 30 ! unused variables removed 28 31 ! … … 298 301 ! 299 302 ! 1994 2016-08-15 09:52:21Z suehring 300 ! Add missing check for cloud_physicsand cloud_droplets303 ! Add missing check for bulk_cloud_model and cloud_droplets 301 304 ! 302 305 ! 1992 2016-08-12 15:14:59Z suehring … … 665 668 666 669 USE arrays_3d 670 671 USE bulk_cloud_model_mod, & 672 ONLY: bulk_cloud_model, bcm_check_parameters, bcm_check_data_output, & 673 bcm_check_data_output_pr 674 667 675 USE chemistry_model_mod, & 668 676 ONLY: chem_boundary_conds, chem_check_data_output, & 669 chem_check_data_output_pr, chem_species 677 chem_check_data_output_pr, chem_species 670 678 USE chem_modules 671 USE cloud_parameters 672 USE constants 679 USE basic_constants_and_equations_mod 673 680 USE control_parameters 674 681 USE dvrp_variables … … 1058 1065 WRITE( action, '(A)' ) 'galilei_transformation = .TRUE.' 1059 1066 ENDIF 1060 IF ( cloud_physics) THEN1061 WRITE( action, '(A)' ) ' cloud_physics= .TRUE.'1067 IF ( bulk_cloud_model ) THEN 1068 WRITE( action, '(A)' ) 'bulk_cloud_model = .TRUE.' 1062 1069 ENDIF 1063 1070 IF ( cloud_droplets ) THEN … … 1186 1193 1187 1194 ENDIF 1188 !1189 !-- Check cloud scheme1190 IF ( cloud_scheme == 'saturation_adjust' ) THEN1191 microphysics_sat_adjust = .TRUE.1192 microphysics_seifert = .FALSE.1193 microphysics_kessler = .FALSE.1194 precipitation = .FALSE.1195 ELSEIF ( cloud_scheme == 'seifert_beheng' ) THEN1196 microphysics_sat_adjust = .FALSE.1197 microphysics_seifert = .TRUE.1198 microphysics_kessler = .FALSE.1199 microphysics_morrison = .FALSE.1200 precipitation = .TRUE.1201 ELSEIF ( cloud_scheme == 'kessler' ) THEN1202 microphysics_sat_adjust = .FALSE.1203 microphysics_seifert = .FALSE.1204 microphysics_kessler = .TRUE.1205 microphysics_morrison = .FALSE.1206 precipitation = .TRUE.1207 ELSEIF ( cloud_scheme == 'morrison' ) THEN1208 microphysics_sat_adjust = .FALSE.1209 microphysics_seifert = .TRUE.1210 microphysics_kessler = .FALSE.1211 microphysics_morrison = .TRUE.1212 precipitation = .TRUE.1213 ELSE1214 message_string = 'unknown cloud microphysics scheme cloud_scheme ="' // &1215 TRIM( cloud_scheme ) // '"'1216 CALL message( 'check_parameters', 'PA0357', 1, 2, 0, 6, 0 )1217 ENDIF1218 !1219 !-- Check aerosol1220 IF ( aerosol_bulk == 'nacl' ) THEN1221 aerosol_nacl = .TRUE.1222 aerosol_c3h4o4 = .FALSE.1223 aerosol_nh4no3 = .FALSE.1224 ELSEIF ( aerosol_bulk == 'c3h4o4' ) THEN1225 aerosol_nacl = .FALSE.1226 aerosol_c3h4o4 = .TRUE.1227 aerosol_nh4no3 = .FALSE.1228 ELSEIF ( aerosol_bulk == 'nh4no3' ) THEN1229 aerosol_nacl = .FALSE.1230 aerosol_c3h4o4 = .FALSE.1231 aerosol_nh4no3 = .TRUE.1232 ELSE1233 message_string = 'unknown aerosol = "' // TRIM( aerosol_bulk ) // '"'1234 CALL message( 'check_parameters', 'PA0469', 1, 2, 0, 6, 0 )1235 ENDIF1236 1195 1237 1196 ! … … 1352 1311 ! 1353 1312 !-- Check for proper settings for microphysics 1354 IF ( cloud_physics.AND. cloud_droplets ) THEN1355 message_string = ' cloud_physics = .TRUE. is not allowed with ' //&1313 IF ( bulk_cloud_model .AND. cloud_droplets ) THEN 1314 message_string = 'bulk_cloud_model = .TRUE. is not allowed with ' // & 1356 1315 'cloud_droplets = .TRUE.' 1357 1316 CALL message( 'check_parameters', 'PA0442', 1, 2, 0, 6, 0 ) … … 1458 1417 ENDIF 1459 1418 1460 IF ( cloud_physics.AND. .NOT. humidity ) THEN1461 WRITE( message_string, * ) ' cloud_physics = ', cloud_physics, ' is ',&1462 ' not allowed with humidity = ', humidity1419 IF ( bulk_cloud_model .AND. .NOT. humidity ) THEN 1420 WRITE( message_string, * ) 'bulk_cloud_model = ', bulk_cloud_model, & 1421 ' is not allowed with humidity = ', humidity 1463 1422 CALL message( 'check_parameters', 'PA0034', 1, 2, 0, 6, 0 ) 1464 1423 ENDIF … … 1483 1442 !-- When land surface model is used, perform additional checks 1484 1443 IF ( land_surface ) CALL lsm_check_parameters 1444 ! 1445 !-- When microphysics module is used, perform additional checks 1446 IF ( bulk_cloud_model ) CALL bcm_check_parameters 1485 1447 1486 1448 ! … … 2394 2356 2395 2357 ! 2396 !-- Set the default value for the integration interval of precipitation amount2397 IF ( microphysics_seifert .OR. microphysics_kessler ) THEN2398 IF ( precipitation_amount_interval == 9999999.9_wp ) THEN2399 precipitation_amount_interval = dt_do2d_xy2400 ELSE2401 IF ( precipitation_amount_interval > dt_do2d_xy ) THEN2402 WRITE( message_string, * ) 'precipitation_amount_interval = ', &2403 precipitation_amount_interval, ' must not be larger than ', &2404 'dt_do2d_xy = ', dt_do2d_xy2405 CALL message( 'check_parameters', 'PA0090', 1, 2, 0, 6, 0 )2406 ENDIF2407 ENDIF2408 ENDIF2409 2410 !2411 2358 !-- Determine the number of output profiles and check whether they are 2412 2359 !-- permissible … … 2447 2394 2448 2395 CASE ( 'pt', '#pt' ) 2449 IF ( .NOT. cloud_physics) THEN2396 IF ( .NOT. bulk_cloud_model ) THEN 2450 2397 dopr_index(i) = 4 2451 2398 dopr_unit(i) = 'K' … … 2682 2629 2683 2630 CASE ( 'qv', '#qv' ) 2684 IF ( .NOT. cloud_physics) THEN2631 IF ( .NOT. bulk_cloud_model ) THEN 2685 2632 dopr_index(i) = 41 2686 2633 dopr_unit(i) = 'kg/kg' … … 2705 2652 2706 2653 CASE ( 'lpt', '#lpt' ) 2707 IF ( .NOT. cloud_physics) THEN2654 IF ( .NOT. bulk_cloud_model ) THEN 2708 2655 message_string = 'data_output_pr = ' // & 2709 2656 TRIM( data_output_pr(i) ) // ' is not imp' // & 2710 'lemented for cloud_physics= .FALSE.'2657 'lemented for bulk_cloud_model = .FALSE.' 2711 2658 CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 ) 2712 2659 ELSE … … 2821 2768 2822 2769 CASE ( 'w"qv"' ) 2823 IF ( humidity .AND. .NOT. cloud_physics) THEN2770 IF ( humidity .AND. .NOT. bulk_cloud_model ) THEN 2824 2771 dopr_index(i) = 48 2825 2772 dopr_unit(i) = TRIM ( waterflux_output_unit ) 2826 2773 hom(:,2,48,:) = SPREAD( zw, 2, statistic_regions+1 ) 2827 ELSEIF ( humidity .AND. cloud_physics) THEN2774 ELSEIF ( humidity .AND. bulk_cloud_model ) THEN 2828 2775 dopr_index(i) = 51 2829 2776 dopr_unit(i) = TRIM ( waterflux_output_unit ) … … 2832 2779 message_string = 'data_output_pr = ' // & 2833 2780 TRIM( data_output_pr(i) ) // ' is not imp' // & 2834 'lemented for cloud_physics = .FALSE. an'// &2835 ' d humidity = .FALSE.'2781 'lemented for bulk_cloud_model = .FALSE. ' // & 2782 'and humidity = .FALSE.' 2836 2783 CALL message( 'check_parameters', 'PA0095', 1, 2, 0, 6, 0 ) 2837 2784 ENDIF 2838 2785 2839 2786 CASE ( 'w*qv*' ) 2840 IF ( humidity .AND. .NOT. cloud_physics ) & 2841 THEN 2787 IF ( humidity .AND. .NOT. bulk_cloud_model ) THEN 2842 2788 dopr_index(i) = 49 2843 2789 dopr_unit(i) = TRIM ( waterflux_output_unit ) 2844 2790 hom(:,2,49,:) = SPREAD( zw, 2, statistic_regions+1 ) 2845 ELSEIF( humidity .AND. cloud_physics) THEN2791 ELSEIF( humidity .AND. bulk_cloud_model ) THEN 2846 2792 dopr_index(i) = 52 2847 2793 dopr_unit(i) = TRIM ( waterflux_output_unit ) … … 2850 2796 message_string = 'data_output_pr = ' // & 2851 2797 TRIM( data_output_pr(i) ) // ' is not imp' // & 2852 'lemented for cloud_physics = .FALSE. an'// &2853 ' d humidity = .FALSE.'2798 'lemented for bulk_cloud_model = .FALSE. ' // & 2799 'and humidity = .FALSE.' 2854 2800 CALL message( 'check_parameters', 'PA0095', 1, 2, 0, 6, 0 ) 2855 2801 ENDIF 2856 2802 2857 2803 CASE ( 'wqv' ) 2858 IF ( humidity .AND. .NOT. cloud_physics) THEN2804 IF ( humidity .AND. .NOT. bulk_cloud_model ) THEN 2859 2805 dopr_index(i) = 50 2860 2806 dopr_unit(i) = TRIM ( waterflux_output_unit ) 2861 2807 hom(:,2,50,:) = SPREAD( zw, 2, statistic_regions+1 ) 2862 ELSEIF ( humidity .AND. cloud_physics) THEN2808 ELSEIF ( humidity .AND. bulk_cloud_model ) THEN 2863 2809 dopr_index(i) = 53 2864 2810 dopr_unit(i) = TRIM ( waterflux_output_unit ) … … 2867 2813 message_string = 'data_output_pr = ' // & 2868 2814 TRIM( data_output_pr(i) ) // ' is not imp' // & 2869 'lemented for cloud_physics = .FALSE. an'// &2870 ' d humidity = .FALSE.'2815 'lemented for bulk_cloud_model = .FALSE. ' // & 2816 'and humidity = .FALSE.' 2871 2817 CALL message( 'check_parameters', 'PA0095', 1, 2, 0, 6, 0 ) 2872 2818 ENDIF 2873 2819 2874 2820 CASE ( 'ql' ) 2875 IF ( .NOT. cloud_physics.AND. .NOT. cloud_droplets ) THEN2821 IF ( .NOT. bulk_cloud_model .AND. .NOT. cloud_droplets ) THEN 2876 2822 message_string = 'data_output_pr = ' // & 2877 2823 TRIM( data_output_pr(i) ) // ' is not imp' // & 2878 'lemented for cloud_physics = .FALSE. and' // &2879 ' cloud_droplets = .FALSE.'2824 'lemented for bulk_cloud_model = .FALSE. ' // & 2825 'and cloud_droplets = .FALSE.' 2880 2826 CALL message( 'check_parameters', 'PA0096', 1, 2, 0, 6, 0 ) 2881 2827 ELSE … … 3034 2980 hom(:,2,120,:) = SPREAD( zw, 2, statistic_regions+1 ) 3035 2981 3036 CASE ( 'nc' )3037 IF ( .NOT. cloud_physics ) THEN3038 message_string = 'data_output_pr = ' // &3039 TRIM( data_output_pr(i) ) // ' is not imp' // &3040 'lemented for cloud_physics = .FALSE.'3041 CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 )3042 ELSEIF ( .NOT. microphysics_morrison ) THEN3043 message_string = 'data_output_pr = ' // &3044 TRIM( data_output_pr(i) ) // ' is not imp' // &3045 'lemented for cloud_scheme /= morrison'3046 CALL message( 'check_parameters', 'PA0358', 1, 2, 0, 6, 0 )3047 ELSE3048 dopr_index(i) = 893049 dopr_unit(i) = '1/m3'3050 hom(:,2,89,:) = SPREAD( zu, 2, statistic_regions+1 )3051 ENDIF3052 3053 CASE ( 'nr' )3054 IF ( .NOT. cloud_physics ) THEN3055 message_string = 'data_output_pr = ' // &3056 TRIM( data_output_pr(i) ) // ' is not imp' // &3057 'lemented for cloud_physics = .FALSE.'3058 CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 )3059 ELSEIF ( .NOT. microphysics_seifert ) THEN3060 message_string = 'data_output_pr = ' // &3061 TRIM( data_output_pr(i) ) // ' is not imp' // &3062 'lemented for cloud_scheme /= seifert_beheng'3063 CALL message( 'check_parameters', 'PA0358', 1, 2, 0, 6, 0 )3064 ELSE3065 dopr_index(i) = 733066 dopr_unit(i) = '1/m3'3067 hom(:,2,73,:) = SPREAD( zu, 2, statistic_regions+1 )3068 ENDIF3069 3070 CASE ( 'qr' )3071 IF ( .NOT. cloud_physics ) THEN3072 message_string = 'data_output_pr = ' // &3073 TRIM( data_output_pr(i) ) // ' is not imp' // &3074 'lemented for cloud_physics = .FALSE.'3075 CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 )3076 ELSEIF ( .NOT. microphysics_seifert ) THEN3077 message_string = 'data_output_pr = ' // &3078 TRIM( data_output_pr(i) ) // ' is not imp' // &3079 'lemented for cloud_scheme /= seifert_beheng'3080 CALL message( 'check_parameters', 'PA0358', 1, 2, 0, 6, 0 )3081 ELSE3082 dopr_index(i) = 743083 dopr_unit(i) = 'kg/kg'3084 hom(:,2,74,:) = SPREAD( zu, 2, statistic_regions+1 )3085 ENDIF3086 3087 CASE ( 'qc' )3088 IF ( .NOT. cloud_physics ) THEN3089 message_string = 'data_output_pr = ' // &3090 TRIM( data_output_pr(i) ) // ' is not imp' // &3091 'lemented for cloud_physics = .FALSE.'3092 CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 )3093 ELSE3094 dopr_index(i) = 753095 dopr_unit(i) = 'kg/kg'3096 hom(:,2,75,:) = SPREAD( zu, 2, statistic_regions+1 )3097 ENDIF3098 3099 CASE ( 'prr' )3100 IF ( .NOT. cloud_physics ) THEN3101 message_string = 'data_output_pr = ' // &3102 TRIM( data_output_pr(i) ) // ' is not imp' // &3103 'lemented for cloud_physics = .FALSE.'3104 CALL message( 'check_parameters', 'PA0094', 1, 2, 0, 6, 0 )3105 ELSEIF ( microphysics_sat_adjust ) THEN3106 message_string = 'data_output_pr = ' // &3107 TRIM( data_output_pr(i) ) // ' is not ava' // &3108 'ilable for cloud_scheme = saturation_adjust'3109 CALL message( 'check_parameters', 'PA0422', 1, 2, 0, 6, 0 )3110 ELSE3111 dopr_index(i) = 763112 dopr_unit(i) = 'kg/kg m/s'3113 hom(:,2,76,:) = SPREAD( zu, 2, statistic_regions+1 )3114 ENDIF3115 3116 2982 CASE ( 'ug' ) 3117 2983 dopr_index(i) = 78 … … 3154 3020 CALL lsm_check_data_output_pr( data_output_pr(i), i, unit, & 3155 3021 dopr_unit(i) ) 3022 ! 3023 !-- Block of microphysics module profile outputs 3024 IF ( unit == 'illegal' .AND. bulk_cloud_model ) THEN 3025 CALL bcm_check_data_output_pr(data_output_pr(i), i, unit, & 3026 dopr_unit(i) ) 3027 ENDIF 3156 3028 3157 3029 IF ( unit == 'illegal' ) THEN … … 3260 3132 3261 3133 CASE ( 'lpt' ) 3262 IF ( .NOT. cloud_physics) THEN3134 IF ( .NOT. bulk_cloud_model ) THEN 3263 3135 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3264 'res cloud_physics= .TRUE.'3136 'res bulk_cloud_model = .TRUE.' 3265 3137 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 ) 3266 3138 ENDIF 3267 3139 unit = 'K' 3268 3269 CASE ( 'nc' )3270 IF ( .NOT. cloud_physics ) THEN3271 message_string = 'output of "' // TRIM( var ) // '" requi' // &3272 'res cloud_physics = .TRUE.'3273 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 )3274 ELSEIF ( .NOT. microphysics_morrison ) THEN3275 message_string = 'output of "' // TRIM( var ) // '" requi' // &3276 'res = morrison '3277 CALL message( 'check_parameters', 'PA0359', 1, 2, 0, 6, 0 )3278 ENDIF3279 unit = '1/m3'3280 3281 CASE ( 'nr' )3282 IF ( .NOT. cloud_physics ) THEN3283 message_string = 'output of "' // TRIM( var ) // '" requi' // &3284 'res cloud_physics = .TRUE.'3285 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 )3286 ELSEIF ( .NOT. microphysics_seifert ) THEN3287 message_string = 'output of "' // TRIM( var ) // '" requi' // &3288 'res cloud_scheme = seifert_beheng'3289 CALL message( 'check_parameters', 'PA0359', 1, 2, 0, 6, 0 )3290 ENDIF3291 unit = '1/m3'3292 3140 3293 3141 CASE ( 'pc', 'pr' ) … … 3301 3149 IF ( TRIM( var ) == 'pr' ) unit = 'm' 3302 3150 3303 CASE ( 'prr' )3304 IF ( .NOT. cloud_physics ) THEN3305 message_string = 'output of "' // TRIM( var ) // '" requi' // &3306 'res cloud_physics = .TRUE.'3307 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 )3308 ELSEIF ( microphysics_sat_adjust ) THEN3309 message_string = 'output of "' // TRIM( var ) // '" is ' // &3310 'not available for cloud_scheme = saturation_adjust'3311 CALL message( 'check_parameters', 'PA0423', 1, 2, 0, 6, 0 )3312 ENDIF3313 unit = 'kg/kg m/s'3314 3315 3151 CASE ( 'q', 'vpt' ) 3316 3152 IF ( .NOT. humidity ) THEN … … 3322 3158 IF ( TRIM( var ) == 'vpt' ) unit = 'K' 3323 3159 3324 CASE ( 'q c' )3325 IF ( .NOT. cloud_physics) THEN3160 CASE ( 'ql' ) 3161 IF ( .NOT. ( bulk_cloud_model .OR. cloud_droplets ) ) THEN 3326 3162 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3327 'res cloud_physics = .TRUE.' 3328 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 ) 3329 ENDIF 3330 unit = 'kg/kg' 3331 3332 CASE ( 'ql' ) 3333 IF ( .NOT. ( cloud_physics .OR. cloud_droplets ) ) THEN 3334 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3335 'res cloud_physics = .TRUE. or cloud_droplets = .TRUE.' 3163 'res bulk_cloud_model = .TRUE. or cloud_droplets = .TRUE.' 3336 3164 CALL message( 'check_parameters', 'PA0106', 1, 2, 0, 6, 0 ) 3337 3165 ENDIF … … 3348 3176 IF ( TRIM( var ) == 'ql_vp' ) unit = 'none' 3349 3177 3350 CASE ( 'q r' )3351 IF ( .NOT. cloud_physics) THEN3178 CASE ( 'qv' ) 3179 IF ( .NOT. bulk_cloud_model ) THEN 3352 3180 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3353 'res cloud_physics = .TRUE.' 3354 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 ) 3355 ELSEIF ( .NOT. microphysics_seifert ) THEN 3356 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3357 'res cloud_scheme = seifert_beheng' 3358 CALL message( 'check_parameters', 'PA0359', 1, 2, 0, 6, 0 ) 3359 ENDIF 3360 unit = 'kg/kg' 3361 3362 CASE ( 'qv' ) 3363 IF ( .NOT. cloud_physics ) THEN 3364 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3365 'res cloud_physics = .TRUE.' 3181 'res bulk_cloud_model = .TRUE.' 3366 3182 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 ) 3367 3183 ENDIF … … 3400 3216 CONTINUE 3401 3217 3402 CASE ( 'ghf*', 'lwp*', 'ol*', ' pra*', 'prr*', 'qsws*', 'r_a*',&3218 CASE ( 'ghf*', 'lwp*', 'ol*', 'qsws*', 'r_a*', & 3403 3219 'shf*', 'ssws*', 't*', 'tsurf*', 'u*', 'z0*', 'z0h*', 'z0q*' ) 3404 3220 IF ( k == 0 .OR. data_output(i)(ilen-2:ilen) /= '_xy' ) THEN … … 3409 3225 ENDIF 3410 3226 3411 IF ( TRIM( var ) == 'lwp*' .AND. .NOT. cloud_physics) THEN3227 IF ( TRIM( var ) == 'lwp*' .AND. .NOT. bulk_cloud_model ) THEN 3412 3228 message_string = 'output of "' // TRIM( var ) // '" requi' // & 3413 'res cloud_physics= .TRUE.'3229 'res bulk_cloud_model = .TRUE.' 3414 3230 CALL message( 'check_parameters', 'PA0108', 1, 2, 0, 6, 0 ) 3415 ENDIF3416 IF ( TRIM( var ) == 'pra*' .AND. &3417 .NOT. ( microphysics_kessler .OR. microphysics_seifert ) ) THEN3418 message_string = 'output of "' // TRIM( var ) // '" requi' // &3419 'res cloud_scheme = kessler or seifert_beheng'3420 CALL message( 'check_parameters', 'PA0112', 1, 2, 0, 6, 0 )3421 ENDIF3422 IF ( TRIM( var ) == 'pra*' .AND. j == 1 ) THEN3423 message_string = 'temporal averaging of precipitation ' // &3424 'amount "' // TRIM( var ) // '" is not possible'3425 CALL message( 'check_parameters', 'PA0113', 1, 2, 0, 6, 0 )3426 ENDIF3427 IF ( TRIM( var ) == 'prr*' .AND. &3428 .NOT. ( microphysics_kessler .OR. microphysics_seifert ) ) THEN3429 message_string = 'output of "' // TRIM( var ) // '" requi' // &3430 'res cloud_scheme = kessler or seifert_beheng'3431 CALL message( 'check_parameters', 'PA0112', 1, 2, 0, 6, 0 )3432 3231 ENDIF 3433 3232 IF ( TRIM( var ) == 'qsws*' .AND. .NOT. humidity ) THEN … … 3460 3259 IF ( TRIM( var ) == 'lwp*' ) unit = 'kg/m2' 3461 3260 IF ( TRIM( var ) == 'ol*' ) unit = 'm' 3462 IF ( TRIM( var ) == 'pra*' ) unit = 'mm'3463 IF ( TRIM( var ) == 'prr*' ) unit = 'mm/s'3464 3261 IF ( TRIM( var ) == 'qsws*' ) unit = 'kgm/kgs' 3465 3262 IF ( TRIM( var ) == 'r_a*' ) unit = 's/m' … … 3483 3280 3484 3281 CALL tcm_check_data_output ( var, unit ) 3282 3283 ! 3284 !-- Block of microphysics module outputs 3285 IF ( unit == 'illegal' .AND. bulk_cloud_model ) THEN 3286 CALL bcm_check_data_output ( var, unit ) 3287 ENDIF 3485 3288 3486 3289 IF ( unit == 'illegal' ) THEN
Note: See TracChangeset
for help on using the changeset viewer.