- Timestamp:
- Jul 11, 2019 2:30:27 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4069 r4089 28 28 ! ----------------- 29 29 ! $Id$ 30 ! - Correct level 2 initialization of spectral albedos in rrtmg branch, long- and 31 ! shortwave albedos were mixed-up. 32 ! - Change order of albedo_pars so that it is now consistent with the defined 33 ! order of albedo_pars in PIDS 34 ! 35 ! 4069 2019-07-01 14:05:51Z Giersch 30 36 ! Masked output running index mid has been introduced as a local variable to 31 37 ! avoid runtime error (Loop variable has been modified) in time_integration … … 812 818 ! 813 819 !-- Land surface albedos for solar zenith angle of 60degree after Briegleb (1992) 814 !-- ( shortwave, longwave, broadband): sw, lw, bb,820 !-- (broadband, longwave, shortwave ): bb, lw, sw, 815 821 REAL(wp), DIMENSION(0:2,1:33), PARAMETER :: albedo_pars = RESHAPE( (/& 816 822 0.06_wp, 0.06_wp, 0.06_wp, & ! 1 817 0. 09_wp, 0.28_wp, 0.19_wp, & ! 2818 0. 11_wp, 0.33_wp, 0.23_wp, & ! 3819 0. 11_wp, 0.33_wp, 0.23_wp, & ! 4820 0. 14_wp, 0.34_wp, 0.25_wp, & ! 5821 0. 06_wp, 0.22_wp, 0.14_wp, & ! 6822 0. 06_wp, 0.27_wp, 0.17_wp, & ! 7823 0. 06_wp, 0.31_wp, 0.19_wp, & ! 8824 0. 06_wp, 0.22_wp, 0.14_wp, & ! 9825 0. 06_wp, 0.28_wp, 0.18_wp, & ! 10826 0. 35_wp, 0.51_wp, 0.43_wp, & ! 11827 0. 24_wp, 0.40_wp, 0.32_wp, & ! 12828 0.1 0_wp, 0.27_wp, 0.19_wp, & ! 13829 0. 90_wp, 0.65_wp, 0.77_wp, & ! 14830 0. 90_wp, 0.65_wp, 0.77_wp, & ! 15831 0. 95_wp, 0.70_wp, 0.82_wp, & ! 16823 0.19_wp, 0.28_wp, 0.09_wp, & ! 2 824 0.23_wp, 0.33_wp, 0.11_wp, & ! 3 825 0.23_wp, 0.33_wp, 0.11_wp, & ! 4 826 0.25_wp, 0.34_wp, 0.14_wp, & ! 5 827 0.14_wp, 0.22_wp, 0.06_wp, & ! 6 828 0.17_wp, 0.27_wp, 0.06_wp, & ! 7 829 0.19_wp, 0.31_wp, 0.06_wp, & ! 8 830 0.14_wp, 0.22_wp, 0.06_wp, & ! 9 831 0.18_wp, 0.28_wp, 0.06_wp, & ! 10 832 0.43_wp, 0.51_wp, 0.35_wp, & ! 11 833 0.32_wp, 0.40_wp, 0.24_wp, & ! 12 834 0.19_wp, 0.27_wp, 0.10_wp, & ! 13 835 0.77_wp, 0.65_wp, 0.90_wp, & ! 14 836 0.77_wp, 0.65_wp, 0.90_wp, & ! 15 837 0.82_wp, 0.70_wp, 0.95_wp, & ! 16 832 838 0.08_wp, 0.08_wp, 0.08_wp, & ! 17 833 839 0.17_wp, 0.17_wp, 0.17_wp, & ! 18 … … 2157 2163 IF ( surf_lsm_h%albedo_type(ind_veg_wall,m) /= 0 ) & 2158 2164 surf_lsm_h%albedo(ind_veg_wall,m) = & 2159 albedo_pars( 2,surf_lsm_h%albedo_type(ind_veg_wall,m))2165 albedo_pars(0,surf_lsm_h%albedo_type(ind_veg_wall,m)) 2160 2166 IF ( surf_lsm_h%albedo_type(ind_pav_green,m) /= 0 ) & 2161 2167 surf_lsm_h%albedo(ind_pav_green,m) = & 2162 albedo_pars( 2,surf_lsm_h%albedo_type(ind_pav_green,m))2168 albedo_pars(0,surf_lsm_h%albedo_type(ind_pav_green,m)) 2163 2169 IF ( surf_lsm_h%albedo_type(ind_wat_win,m) /= 0 ) & 2164 2170 surf_lsm_h%albedo(ind_wat_win,m) = & 2165 albedo_pars( 2,surf_lsm_h%albedo_type(ind_wat_win,m))2171 albedo_pars(0,surf_lsm_h%albedo_type(ind_wat_win,m)) 2166 2172 ENDDO 2167 2173 DO m = 1, surf_usm_h%ns 2168 2174 IF ( surf_usm_h%albedo_type(ind_veg_wall,m) /= 0 ) & 2169 2175 surf_usm_h%albedo(ind_veg_wall,m) = & 2170 albedo_pars( 2,surf_usm_h%albedo_type(ind_veg_wall,m))2176 albedo_pars(0,surf_usm_h%albedo_type(ind_veg_wall,m)) 2171 2177 IF ( surf_usm_h%albedo_type(ind_pav_green,m) /= 0 ) & 2172 2178 surf_usm_h%albedo(ind_pav_green,m) = & 2173 albedo_pars( 2,surf_usm_h%albedo_type(ind_pav_green,m))2179 albedo_pars(0,surf_usm_h%albedo_type(ind_pav_green,m)) 2174 2180 IF ( surf_usm_h%albedo_type(ind_wat_win,m) /= 0 ) & 2175 2181 surf_usm_h%albedo(ind_wat_win,m) = & 2176 albedo_pars( 2,surf_usm_h%albedo_type(ind_wat_win,m))2182 albedo_pars(0,surf_usm_h%albedo_type(ind_wat_win,m)) 2177 2183 ENDDO 2178 2184 … … 2181 2187 IF ( surf_lsm_v(l)%albedo_type(ind_veg_wall,m) /= 0 ) & 2182 2188 surf_lsm_v(l)%albedo(ind_veg_wall,m) = & 2183 albedo_pars( 2,surf_lsm_v(l)%albedo_type(ind_veg_wall,m))2189 albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_veg_wall,m)) 2184 2190 IF ( surf_lsm_v(l)%albedo_type(ind_pav_green,m) /= 0 ) & 2185 2191 surf_lsm_v(l)%albedo(ind_pav_green,m) = & 2186 albedo_pars( 2,surf_lsm_v(l)%albedo_type(ind_pav_green,m))2192 albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_pav_green,m)) 2187 2193 IF ( surf_lsm_v(l)%albedo_type(ind_wat_win,m) /= 0 ) & 2188 2194 surf_lsm_v(l)%albedo(ind_wat_win,m) = & 2189 albedo_pars( 2,surf_lsm_v(l)%albedo_type(ind_wat_win,m))2195 albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_wat_win,m)) 2190 2196 ENDDO 2191 2197 DO m = 1, surf_usm_v(l)%ns 2192 2198 IF ( surf_usm_v(l)%albedo_type(ind_veg_wall,m) /= 0 ) & 2193 2199 surf_usm_v(l)%albedo(ind_veg_wall,m) = & 2194 albedo_pars( 2,surf_usm_v(l)%albedo_type(ind_veg_wall,m))2200 albedo_pars(0,surf_usm_v(l)%albedo_type(ind_veg_wall,m)) 2195 2201 IF ( surf_usm_v(l)%albedo_type(ind_pav_green,m) /= 0 ) & 2196 2202 surf_usm_v(l)%albedo(ind_pav_green,m) = & 2197 albedo_pars( 2,surf_usm_v(l)%albedo_type(ind_pav_green,m))2203 albedo_pars(0,surf_usm_v(l)%albedo_type(ind_pav_green,m)) 2198 2204 IF ( surf_usm_v(l)%albedo_type(ind_wat_win,m) /= 0 ) & 2199 2205 surf_usm_v(l)%albedo(ind_wat_win,m) = & 2200 albedo_pars( 2,surf_usm_v(l)%albedo_type(ind_wat_win,m))2206 albedo_pars(0,surf_usm_v(l)%albedo_type(ind_wat_win,m)) 2201 2207 ENDDO 2202 2208 ENDDO … … 2397 2403 IF ( surf_lsm_h%albedo_type(ind_type,m) /= 0 ) THEN 2398 2404 surf_lsm_h%aldif(ind_type,m) = & 2405 albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m)) 2406 surf_lsm_h%asdif(ind_type,m) = & 2407 albedo_pars(2,surf_lsm_h%albedo_type(ind_type,m)) 2408 surf_lsm_h%aldir(ind_type,m) = & 2409 albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m)) 2410 surf_lsm_h%asdir(ind_type,m) = & 2411 albedo_pars(2,surf_lsm_h%albedo_type(ind_type,m)) 2412 surf_lsm_h%albedo(ind_type,m) = & 2399 2413 albedo_pars(0,surf_lsm_h%albedo_type(ind_type,m)) 2400 surf_lsm_h%asdif(ind_type,m) = &2401 albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m))2402 surf_lsm_h%aldir(ind_type,m) = &2403 albedo_pars(0,surf_lsm_h%albedo_type(ind_type,m))2404 surf_lsm_h%asdir(ind_type,m) = &2405 albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m))2406 surf_lsm_h%albedo(ind_type,m) = &2407 albedo_pars(2,surf_lsm_h%albedo_type(ind_type,m))2408 2414 ENDIF 2409 2415 ENDDO … … 2420 2426 IF ( surf_usm_h%albedo_type(ind_type,m) /= 0 ) THEN 2421 2427 surf_usm_h%aldif(ind_type,m) = & 2428 albedo_pars(1,surf_usm_h%albedo_type(ind_type,m)) 2429 surf_usm_h%asdif(ind_type,m) = & 2430 albedo_pars(2,surf_usm_h%albedo_type(ind_type,m)) 2431 surf_usm_h%aldir(ind_type,m) = & 2432 albedo_pars(1,surf_usm_h%albedo_type(ind_type,m)) 2433 surf_usm_h%asdir(ind_type,m) = & 2434 albedo_pars(2,surf_usm_h%albedo_type(ind_type,m)) 2435 surf_usm_h%albedo(ind_type,m) = & 2422 2436 albedo_pars(0,surf_usm_h%albedo_type(ind_type,m)) 2423 surf_usm_h%asdif(ind_type,m) = &2424 albedo_pars(1,surf_usm_h%albedo_type(ind_type,m))2425 surf_usm_h%aldir(ind_type,m) = &2426 albedo_pars(0,surf_usm_h%albedo_type(ind_type,m))2427 surf_usm_h%asdir(ind_type,m) = &2428 albedo_pars(1,surf_usm_h%albedo_type(ind_type,m))2429 surf_usm_h%albedo(ind_type,m) = &2430 albedo_pars(2,surf_usm_h%albedo_type(ind_type,m))2431 2437 ENDIF 2432 2438 ENDDO … … 2443 2449 IF ( surf_lsm_v(l)%albedo_type(ind_type,m) /= 0 ) THEN 2444 2450 surf_lsm_v(l)%aldif(ind_type,m) = & 2451 albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m)) 2452 surf_lsm_v(l)%asdif(ind_type,m) = & 2453 albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_type,m)) 2454 surf_lsm_v(l)%aldir(ind_type,m) = & 2455 albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m)) 2456 surf_lsm_v(l)%asdir(ind_type,m) = & 2457 albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_type,m)) 2458 surf_lsm_v(l)%albedo(ind_type,m) = & 2445 2459 albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_type,m)) 2446 surf_lsm_v(l)%asdif(ind_type,m) = &2447 albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m))2448 surf_lsm_v(l)%aldir(ind_type,m) = &2449 albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_type,m))2450 surf_lsm_v(l)%asdir(ind_type,m) = &2451 albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m))2452 surf_lsm_v(l)%albedo(ind_type,m) = &2453 albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_type,m))2454 2460 ENDIF 2455 2461 ENDDO … … 2465 2471 IF ( surf_usm_v(l)%albedo_type(ind_type,m) /= 0 ) THEN 2466 2472 surf_usm_v(l)%aldif(ind_type,m) = & 2473 albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m)) 2474 surf_usm_v(l)%asdif(ind_type,m) = & 2475 albedo_pars(2,surf_usm_v(l)%albedo_type(ind_type,m)) 2476 surf_usm_v(l)%aldir(ind_type,m) = & 2477 albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m)) 2478 surf_usm_v(l)%asdir(ind_type,m) = & 2479 albedo_pars(2,surf_usm_v(l)%albedo_type(ind_type,m)) 2480 surf_usm_v(l)%albedo(ind_type,m) = & 2467 2481 albedo_pars(0,surf_usm_v(l)%albedo_type(ind_type,m)) 2468 surf_usm_v(l)%asdif(ind_type,m) = &2469 albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m))2470 surf_usm_v(l)%aldir(ind_type,m) = &2471 albedo_pars(0,surf_usm_v(l)%albedo_type(ind_type,m))2472 surf_usm_v(l)%asdir(ind_type,m) = &2473 albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m))2474 surf_usm_v(l)%albedo(ind_type,m) = &2475 albedo_pars(2,surf_usm_v(l)%albedo_type(ind_type,m))2476 2482 ENDIF 2477 2483 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.