Changeset 1585 for palm/trunk/SOURCE/check_parameters.f90
- Timestamp:
- Apr 30, 2015 7:05:52 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/check_parameters.f90
r1576 r1585 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added support for RRTMG 23 23 ! 24 24 ! Former revisions: … … 1143 1143 1144 1144 IF ( radiation ) THEN 1145 IF ( radiation_scheme == 'constant' ) THEN 1146 irad_scheme = 0 1147 ELSEIF ( radiation_scheme == 'clear-sky' ) THEN 1148 irad_scheme = 1 1149 ELSEIF ( radiation_scheme == 'rrtm' ) THEN 1150 irad_scheme = 2 1151 ELSE 1145 IF ( radiation_scheme /= 'constant' .AND. & 1146 radiation_scheme /= 'clear-sky' .AND. & 1147 radiation_scheme /= 'rrtmg' ) THEN 1152 1148 message_string = 'unknown radiation_scheme = '// & 1153 1149 TRIM( radiation_scheme ) 1154 1150 CALL message( 'check_parameters', 'PA0405', 1, 2, 0, 6, 0 ) 1151 ELSEIF ( radiation_scheme == 'rrtmg' ) THEN 1152 #if ! defined ( __rrtmg ) 1153 message_string = 'radiation_scheme = "rrtmg" requires ' // & 1154 'compilation of PALM with pre-processor ' // & 1155 'directive -D__rrtmg' 1156 CALL message( 'check_parameters', 'PA0407', 1, 2, 0, 6, 0 ) 1157 #endif 1158 ENDIF 1159 IF ( albedo_type == 0 .AND. albedo == 9999999.9_wp .AND. & 1160 radiation_scheme == 'clear-sky') THEN 1161 message_string = 'radiation_scheme = "clear-sky" in combination' // & 1162 'with albedo_type = 0 requires setting of albedo'// & 1163 ' /= 9999999.9' 1164 CALL message( 'check_parameters', 'PA0410', 1, 2, 0, 6, 0 ) 1155 1165 ENDIF 1156 1166 ENDIF … … 3058 3068 ENDIF 3059 3069 3070 CASE ( 'rad_lw_in' ) 3071 IF ( (.NOT. radiation) .OR. radiation_scheme == 'constant' ) THEN 3072 message_string = 'data_output_pr = ' // & 3073 TRIM( data_output_pr(i) ) // ' is not ava' // & 3074 'lable for radiation = .FALSE. or ' // & 3075 'radiation_scheme = "constant"' 3076 CALL message( 'check_parameters', 'PA0408', 1, 2, 0, 6, 0 ) 3077 ELSE 3078 dopr_index(i) = 102 3079 dopr_unit(i) = 'W/m2' 3080 hom(:,2,102,:) = SPREAD( zw, 2, statistic_regions+1 ) 3081 ENDIF 3082 3083 CASE ( 'rad_lw_out' ) 3084 IF ( (.NOT. radiation) .OR. radiation_scheme == 'constant' ) THEN 3085 message_string = 'data_output_pr = ' // & 3086 TRIM( data_output_pr(i) ) // ' is not ava' // & 3087 'lable for radiation = .FALSE. or ' // & 3088 'radiation_scheme = "constant"' 3089 CALL message( 'check_parameters', 'PA0408', 1, 2, 0, 6, 0 ) 3090 ELSE 3091 dopr_index(i) = 103 3092 dopr_unit(i) = 'W/m2' 3093 hom(:,2,103,:) = SPREAD( zw, 2, statistic_regions+1 ) 3094 ENDIF 3095 3096 CASE ( 'rad_sw_in' ) 3097 IF ( (.NOT. radiation) .OR. radiation_scheme == 'constant' ) THEN 3098 message_string = 'data_output_pr = ' // & 3099 TRIM( data_output_pr(i) ) // ' is not ava' // & 3100 'lable for radiation = .FALSE. or ' // & 3101 'radiation_scheme = "constant"' 3102 CALL message( 'check_parameters', 'PA0408', 1, 2, 0, 6, 0 ) 3103 ELSE 3104 dopr_index(i) = 104 3105 dopr_unit(i) = 'W/m2' 3106 hom(:,2,104,:) = SPREAD( zw, 2, statistic_regions+1 ) 3107 ENDIF 3108 3109 CASE ( 'rad_sw_out') 3110 IF ( (.NOT. radiation) .OR. radiation_scheme == 'constant' ) THEN 3111 message_string = 'data_output_pr = ' // & 3112 TRIM( data_output_pr(i) ) // ' is not ava' // & 3113 'lable for radiation = .FALSE. or ' // & 3114 'radiation_scheme = "constant"' 3115 CALL message( 'check_parameters', 'PA0408', 1, 2, 0, 6, 0 ) 3116 ELSE 3117 dopr_index(i) = 105 3118 dopr_unit(i) = 'W/m2' 3119 hom(:,2,105,:) = SPREAD( zw, 2, statistic_regions+1 ) 3120 ENDIF 3060 3121 3061 3122 CASE DEFAULT … … 3257 3318 unit = 'kg/kg' 3258 3319 3320 3321 CASE ( 'rad_lw_in', 'rad_lw_out', 'rad_sw_in', 'rad_sw_out' ) 3322 IF ( .NOT. radiation .OR. radiation_scheme /= 'rrtmg' ) THEN 3323 message_string = '"output of "' // TRIM( var ) // '" requi' // & 3324 'res radiation = .TRUE. and ' // & 3325 'radiation_scheme = "rrtmg"' 3326 CALL message( 'check_parameters', 'PA0406', 1, 2, 0, 6, 0 ) 3327 ENDIF 3328 unit = 'W/m2' 3329 3259 3330 CASE ( 'rho' ) 3260 3331 IF ( .NOT. ocean ) THEN … … 3293 3364 'm_liq_eb*', 'pra*', 'prr*', 'qsws*', 'qsws_eb*', & 3294 3365 'qsws_liq_eb*', 'qsws_soil_eb*', 'qsws_veg_eb*', 'rad_net*', & 3295 'r ad_sw_in*', 'r_a*', 'r_s*', 'shf*', 'shf_eb*', 't*',&3296 ' u*', 'z0*', 'z0h*' )3366 'rrtm_aldif*', 'rrtm_aldir*', 'rrtm_asdif*', 'rrtm_asdir*', & 3367 'r_a*', 'r_s*', 'shf*', 'shf_eb*', 't*', 'u*', 'z0*', 'z0h*' ) 3297 3368 IF ( k == 0 .OR. data_output(i)(ilen-2:ilen) /= '_xy' ) THEN 3298 3369 message_string = 'illegal value for data_output: "' // & … … 3301 3372 CALL message( 'check_parameters', 'PA0111', 1, 2, 0, 6, 0 ) 3302 3373 ENDIF 3374 IF ( .NOT. radiation .OR. radiation_scheme /= "rrtmg" ) THEN 3375 IF ( TRIM( var ) == 'rrtm_aldif*' .OR. & 3376 TRIM( var ) == 'rrtm_aldir*' .OR. & 3377 TRIM( var ) == 'rrtm_asdif*' .OR. & 3378 TRIM( var ) == 'rrtm_asdir*' ) & 3379 THEN 3380 message_string = 'output of "' // TRIM( var ) // '" require'& 3381 // 's radiation = .TRUE. and radiation_sch'& 3382 // 'eme = "rrtmg"' 3383 CALL message( 'check_parameters', 'PA0409', 1, 2, 0, 6, 0 ) 3384 ENDIF 3385 ENDIF 3386 3303 3387 IF ( TRIM( var ) == 'c_liq*' .AND. .NOT. land_surface ) THEN 3304 3388 message_string = 'output of "' // TRIM( var ) // '" requi' // & … … 3405 3489 IF ( TRIM( var ) == 'qsws_soil_eb*' ) unit = 'W/m2' 3406 3490 IF ( TRIM( var ) == 'qsws_veg_eb*' ) unit = 'W/m2' 3407 IF ( TRIM( var ) == 'rad_net*') unit = 'W/m2' 3408 IF ( TRIM( var ) == 'rad_sw_in*') unit = 'W/m2' 3491 IF ( TRIM( var ) == 'rad_net*' ) unit = 'W/m2' 3492 IF ( TRIM( var ) == 'rrtm_aldif*' ) unit = '' 3493 IF ( TRIM( var ) == 'rrtm_aldir*' ) unit = '' 3494 IF ( TRIM( var ) == 'rrtm_asdif*' ) unit = '' 3495 IF ( TRIM( var ) == 'rrtm_asdir*' ) unit = '' 3409 3496 IF ( TRIM( var ) == 'r_a*') unit = 's/m' 3410 3497 IF ( TRIM( var ) == 'r_s*') unit = 's/m'
Note: See TracChangeset
for help on using the changeset viewer.