Changeset 4089


Ignore:
Timestamp:
Jul 11, 2019 2:30:27 PM (5 years ago)
Author:
suehring
Message:

Correct level 2 initialization of spectral albedos in rrtmg branch, long- and shortwave albedos were mixed-up; Change order of albedo_pars so that it is now consistent with the defined order of albedo_pars in PIDS

File:
1 edited

Legend:

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

    r4069 r4089  
    2828! -----------------
    2929! $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
    3036! Masked output running index mid has been introduced as a local variable to
    3137! avoid runtime error (Loop variable has been modified) in time_integration
     
    812818!
    813819!-- 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,
    815821    REAL(wp), DIMENSION(0:2,1:33), PARAMETER :: albedo_pars = RESHAPE( (/&
    816822                                   0.06_wp, 0.06_wp, 0.06_wp,            & !  1
    817                                    0.09_wp, 0.28_wp, 0.19_wp,            & !  2
    818                                    0.11_wp, 0.33_wp, 0.23_wp,            & !  3
    819                                    0.11_wp, 0.33_wp, 0.23_wp,            & !  4
    820                                    0.14_wp, 0.34_wp, 0.25_wp,            & !  5
    821                                    0.06_wp, 0.22_wp, 0.14_wp,            & !  6
    822                                    0.06_wp, 0.27_wp, 0.17_wp,            & !  7
    823                                    0.06_wp, 0.31_wp, 0.19_wp,            & !  8
    824                                    0.06_wp, 0.22_wp, 0.14_wp,            & !  9
    825                                    0.06_wp, 0.28_wp, 0.18_wp,            & ! 10
    826                                    0.35_wp, 0.51_wp, 0.43_wp,            & ! 11
    827                                    0.24_wp, 0.40_wp, 0.32_wp,            & ! 12
    828                                    0.10_wp, 0.27_wp, 0.19_wp,            & ! 13
    829                                    0.90_wp, 0.65_wp, 0.77_wp,            & ! 14
    830                                    0.90_wp, 0.65_wp, 0.77_wp,            & ! 15
    831                                    0.95_wp, 0.70_wp, 0.82_wp,            & ! 16
     823                                   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
    832838                                   0.08_wp, 0.08_wp, 0.08_wp,            & ! 17
    833839                                   0.17_wp, 0.17_wp, 0.17_wp,            & ! 18
     
    21572163             IF ( surf_lsm_h%albedo_type(ind_veg_wall,m) /= 0 )                &
    21582164                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))
    21602166             IF ( surf_lsm_h%albedo_type(ind_pav_green,m) /= 0 )               &
    21612167                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))
    21632169             IF ( surf_lsm_h%albedo_type(ind_wat_win,m) /= 0 )                 &
    21642170                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))
    21662172          ENDDO
    21672173          DO  m = 1, surf_usm_h%ns
    21682174             IF ( surf_usm_h%albedo_type(ind_veg_wall,m) /= 0 )                &
    21692175                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))
    21712177             IF ( surf_usm_h%albedo_type(ind_pav_green,m) /= 0 )               &
    21722178                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))
    21742180             IF ( surf_usm_h%albedo_type(ind_wat_win,m) /= 0 )                 &
    21752181                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))
    21772183          ENDDO
    21782184
     
    21812187                IF ( surf_lsm_v(l)%albedo_type(ind_veg_wall,m) /= 0 )          &
    21822188                   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))
    21842190                IF ( surf_lsm_v(l)%albedo_type(ind_pav_green,m) /= 0 )         &
    21852191                   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))
    21872193                IF ( surf_lsm_v(l)%albedo_type(ind_wat_win,m) /= 0 )           &
    21882194                   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))
    21902196             ENDDO
    21912197             DO  m = 1, surf_usm_v(l)%ns
    21922198                IF ( surf_usm_v(l)%albedo_type(ind_veg_wall,m) /= 0 )          &
    21932199                   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))
    21952201                IF ( surf_usm_v(l)%albedo_type(ind_pav_green,m) /= 0 )         &
    21962202                   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))
    21982204                IF ( surf_usm_v(l)%albedo_type(ind_wat_win,m) /= 0 )           &
    21992205                   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))
    22012207             ENDDO
    22022208          ENDDO
     
    23972403                IF ( surf_lsm_h%albedo_type(ind_type,m) /= 0 )  THEN
    23982404                   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) =                             &
    23992413                               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))
    24082414                ENDIF
    24092415             ENDDO
     
    24202426                   IF ( surf_usm_h%albedo_type(ind_type,m) /= 0 )  THEN
    24212427                      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) =                          &
    24222436                               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))
    24312437                   ENDIF
    24322438                ENDDO
     
    24432449                   IF ( surf_lsm_v(l)%albedo_type(ind_type,m) /= 0 )  THEN
    24442450                      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) =                       &
    24452459                            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))
    24542460                   ENDIF
    24552461                ENDDO
     
    24652471                      IF ( surf_usm_v(l)%albedo_type(ind_type,m) /= 0 )  THEN
    24662472                         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) =                    &
    24672481                            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))
    24762482                      ENDIF
    24772483                   ENDDO
Note: See TracChangeset for help on using the changeset viewer.