Index: /palm/trunk/SOURCE/radiation_model_mod.f90
===================================================================
--- /palm/trunk/SOURCE/radiation_model_mod.f90	(revision 4088)
+++ /palm/trunk/SOURCE/radiation_model_mod.f90	(revision 4089)
@@ -28,4 +28,10 @@
 ! -----------------
 ! $Id$
+! - 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 
+! 
+! 4069 2019-07-01 14:05:51Z Giersch
 ! Masked output running index mid has been introduced as a local variable to 
 ! avoid runtime error (Loop variable has been modified) in time_integration
@@ -812,22 +818,22 @@
 !
 !-- Land surface albedos for solar zenith angle of 60degree after Briegleb (1992)     
-!-- (shortwave, longwave, broadband):   sw,      lw,      bb,
+!-- (broadband, longwave, shortwave ):   bb,      lw,      sw,
     REAL(wp), DIMENSION(0:2,1:33), PARAMETER :: albedo_pars = RESHAPE( (/& 
                                    0.06_wp, 0.06_wp, 0.06_wp,            & !  1
-                                   0.09_wp, 0.28_wp, 0.19_wp,            & !  2
-                                   0.11_wp, 0.33_wp, 0.23_wp,            & !  3
-                                   0.11_wp, 0.33_wp, 0.23_wp,            & !  4
-                                   0.14_wp, 0.34_wp, 0.25_wp,            & !  5
-                                   0.06_wp, 0.22_wp, 0.14_wp,            & !  6
-                                   0.06_wp, 0.27_wp, 0.17_wp,            & !  7
-                                   0.06_wp, 0.31_wp, 0.19_wp,            & !  8
-                                   0.06_wp, 0.22_wp, 0.14_wp,            & !  9
-                                   0.06_wp, 0.28_wp, 0.18_wp,            & ! 10
-                                   0.35_wp, 0.51_wp, 0.43_wp,            & ! 11
-                                   0.24_wp, 0.40_wp, 0.32_wp,            & ! 12
-                                   0.10_wp, 0.27_wp, 0.19_wp,            & ! 13
-                                   0.90_wp, 0.65_wp, 0.77_wp,            & ! 14
-                                   0.90_wp, 0.65_wp, 0.77_wp,            & ! 15
-                                   0.95_wp, 0.70_wp, 0.82_wp,            & ! 16
+                                   0.19_wp, 0.28_wp, 0.09_wp,            & !  2
+                                   0.23_wp, 0.33_wp, 0.11_wp,            & !  3
+                                   0.23_wp, 0.33_wp, 0.11_wp,            & !  4
+                                   0.25_wp, 0.34_wp, 0.14_wp,            & !  5
+                                   0.14_wp, 0.22_wp, 0.06_wp,            & !  6
+                                   0.17_wp, 0.27_wp, 0.06_wp,            & !  7
+                                   0.19_wp, 0.31_wp, 0.06_wp,            & !  8
+                                   0.14_wp, 0.22_wp, 0.06_wp,            & !  9
+                                   0.18_wp, 0.28_wp, 0.06_wp,            & ! 10
+                                   0.43_wp, 0.51_wp, 0.35_wp,            & ! 11
+                                   0.32_wp, 0.40_wp, 0.24_wp,            & ! 12
+                                   0.19_wp, 0.27_wp, 0.10_wp,            & ! 13
+                                   0.77_wp, 0.65_wp, 0.90_wp,            & ! 14
+                                   0.77_wp, 0.65_wp, 0.90_wp,            & ! 15
+                                   0.82_wp, 0.70_wp, 0.95_wp,            & ! 16
                                    0.08_wp, 0.08_wp, 0.08_wp,            & ! 17
                                    0.17_wp, 0.17_wp, 0.17_wp,            & ! 18
@@ -2157,22 +2163,22 @@
              IF ( surf_lsm_h%albedo_type(ind_veg_wall,m) /= 0 )                &
                 surf_lsm_h%albedo(ind_veg_wall,m) =                            &
-                           albedo_pars(2,surf_lsm_h%albedo_type(ind_veg_wall,m))
+                           albedo_pars(0,surf_lsm_h%albedo_type(ind_veg_wall,m))
              IF ( surf_lsm_h%albedo_type(ind_pav_green,m) /= 0 )               &
                 surf_lsm_h%albedo(ind_pav_green,m) =                           &
-                           albedo_pars(2,surf_lsm_h%albedo_type(ind_pav_green,m))
+                           albedo_pars(0,surf_lsm_h%albedo_type(ind_pav_green,m))
              IF ( surf_lsm_h%albedo_type(ind_wat_win,m) /= 0 )                 &
                 surf_lsm_h%albedo(ind_wat_win,m) =                             &
-                           albedo_pars(2,surf_lsm_h%albedo_type(ind_wat_win,m))
+                           albedo_pars(0,surf_lsm_h%albedo_type(ind_wat_win,m))
           ENDDO
           DO  m = 1, surf_usm_h%ns
              IF ( surf_usm_h%albedo_type(ind_veg_wall,m) /= 0 )                &
                 surf_usm_h%albedo(ind_veg_wall,m) =                            &
-                           albedo_pars(2,surf_usm_h%albedo_type(ind_veg_wall,m))
+                           albedo_pars(0,surf_usm_h%albedo_type(ind_veg_wall,m))
              IF ( surf_usm_h%albedo_type(ind_pav_green,m) /= 0 )               &
                 surf_usm_h%albedo(ind_pav_green,m) =                           &
-                           albedo_pars(2,surf_usm_h%albedo_type(ind_pav_green,m))
+                           albedo_pars(0,surf_usm_h%albedo_type(ind_pav_green,m))
              IF ( surf_usm_h%albedo_type(ind_wat_win,m) /= 0 )                 &
                 surf_usm_h%albedo(ind_wat_win,m) =                             &
-                           albedo_pars(2,surf_usm_h%albedo_type(ind_wat_win,m))
+                           albedo_pars(0,surf_usm_h%albedo_type(ind_wat_win,m))
           ENDDO
 
@@ -2181,22 +2187,22 @@
                 IF ( surf_lsm_v(l)%albedo_type(ind_veg_wall,m) /= 0 )          &
                    surf_lsm_v(l)%albedo(ind_veg_wall,m) =                      &
-                        albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_veg_wall,m))
+                        albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_veg_wall,m))
                 IF ( surf_lsm_v(l)%albedo_type(ind_pav_green,m) /= 0 )         &
                    surf_lsm_v(l)%albedo(ind_pav_green,m) =                     &
-                        albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_pav_green,m))
+                        albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_pav_green,m))
                 IF ( surf_lsm_v(l)%albedo_type(ind_wat_win,m) /= 0 )           &
                    surf_lsm_v(l)%albedo(ind_wat_win,m) =                       &
-                        albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_wat_win,m))
+                        albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_wat_win,m))
              ENDDO
              DO  m = 1, surf_usm_v(l)%ns
                 IF ( surf_usm_v(l)%albedo_type(ind_veg_wall,m) /= 0 )          &
                    surf_usm_v(l)%albedo(ind_veg_wall,m) =                      &
-                        albedo_pars(2,surf_usm_v(l)%albedo_type(ind_veg_wall,m))
+                        albedo_pars(0,surf_usm_v(l)%albedo_type(ind_veg_wall,m))
                 IF ( surf_usm_v(l)%albedo_type(ind_pav_green,m) /= 0 )         &
                    surf_usm_v(l)%albedo(ind_pav_green,m) =                     &
-                        albedo_pars(2,surf_usm_v(l)%albedo_type(ind_pav_green,m))
+                        albedo_pars(0,surf_usm_v(l)%albedo_type(ind_pav_green,m))
                 IF ( surf_usm_v(l)%albedo_type(ind_wat_win,m) /= 0 )           &
                    surf_usm_v(l)%albedo(ind_wat_win,m) =                       &
-                        albedo_pars(2,surf_usm_v(l)%albedo_type(ind_wat_win,m))
+                        albedo_pars(0,surf_usm_v(l)%albedo_type(ind_wat_win,m))
              ENDDO
           ENDDO
@@ -2397,13 +2403,13 @@
                 IF ( surf_lsm_h%albedo_type(ind_type,m) /= 0 )  THEN
                    surf_lsm_h%aldif(ind_type,m) =                              &
+                               albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m))
+                   surf_lsm_h%asdif(ind_type,m) =                              &
+                               albedo_pars(2,surf_lsm_h%albedo_type(ind_type,m))
+                   surf_lsm_h%aldir(ind_type,m) =                              &
+                               albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m))
+                   surf_lsm_h%asdir(ind_type,m) =                              &
+                               albedo_pars(2,surf_lsm_h%albedo_type(ind_type,m))
+                   surf_lsm_h%albedo(ind_type,m) =                             &
                                albedo_pars(0,surf_lsm_h%albedo_type(ind_type,m))
-                   surf_lsm_h%asdif(ind_type,m) =                              &
-                               albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m))
-                   surf_lsm_h%aldir(ind_type,m) =                              &
-                               albedo_pars(0,surf_lsm_h%albedo_type(ind_type,m))
-                   surf_lsm_h%asdir(ind_type,m) =                              &
-                               albedo_pars(1,surf_lsm_h%albedo_type(ind_type,m))
-                   surf_lsm_h%albedo(ind_type,m) =                             &
-                               albedo_pars(2,surf_lsm_h%albedo_type(ind_type,m))
                 ENDIF
              ENDDO
@@ -2420,13 +2426,13 @@
                    IF ( surf_usm_h%albedo_type(ind_type,m) /= 0 )  THEN
                       surf_usm_h%aldif(ind_type,m) =                           &
+                               albedo_pars(1,surf_usm_h%albedo_type(ind_type,m))
+                      surf_usm_h%asdif(ind_type,m) =                           &
+                               albedo_pars(2,surf_usm_h%albedo_type(ind_type,m))
+                      surf_usm_h%aldir(ind_type,m) =                           &
+                               albedo_pars(1,surf_usm_h%albedo_type(ind_type,m))
+                      surf_usm_h%asdir(ind_type,m) =                           &
+                               albedo_pars(2,surf_usm_h%albedo_type(ind_type,m))
+                      surf_usm_h%albedo(ind_type,m) =                          &
                                albedo_pars(0,surf_usm_h%albedo_type(ind_type,m))
-                      surf_usm_h%asdif(ind_type,m) =                           &
-                               albedo_pars(1,surf_usm_h%albedo_type(ind_type,m))
-                      surf_usm_h%aldir(ind_type,m) =                           &
-                               albedo_pars(0,surf_usm_h%albedo_type(ind_type,m))
-                      surf_usm_h%asdir(ind_type,m) =                           &
-                               albedo_pars(1,surf_usm_h%albedo_type(ind_type,m))
-                      surf_usm_h%albedo(ind_type,m) =                          &
-                               albedo_pars(2,surf_usm_h%albedo_type(ind_type,m))
                    ENDIF
                 ENDDO
@@ -2443,13 +2449,13 @@
                    IF ( surf_lsm_v(l)%albedo_type(ind_type,m) /= 0 )  THEN
                       surf_lsm_v(l)%aldif(ind_type,m) =                        &
+                            albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m))
+                      surf_lsm_v(l)%asdif(ind_type,m) =                        &
+                            albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_type,m))
+                      surf_lsm_v(l)%aldir(ind_type,m) =                        &
+                            albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m))
+                      surf_lsm_v(l)%asdir(ind_type,m) =                        &
+                            albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_type,m))
+                      surf_lsm_v(l)%albedo(ind_type,m) =                       &
                             albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_type,m))
-                      surf_lsm_v(l)%asdif(ind_type,m) =                        &
-                            albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m))
-                      surf_lsm_v(l)%aldir(ind_type,m) =                        &
-                            albedo_pars(0,surf_lsm_v(l)%albedo_type(ind_type,m))
-                      surf_lsm_v(l)%asdir(ind_type,m) =                        &
-                            albedo_pars(1,surf_lsm_v(l)%albedo_type(ind_type,m))
-                      surf_lsm_v(l)%albedo(ind_type,m) =                       &
-                            albedo_pars(2,surf_lsm_v(l)%albedo_type(ind_type,m))
                    ENDIF
                 ENDDO
@@ -2465,13 +2471,13 @@
                       IF ( surf_usm_v(l)%albedo_type(ind_type,m) /= 0 )  THEN
                          surf_usm_v(l)%aldif(ind_type,m) =                     &
+                            albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m))
+                         surf_usm_v(l)%asdif(ind_type,m) =                     &
+                            albedo_pars(2,surf_usm_v(l)%albedo_type(ind_type,m))
+                         surf_usm_v(l)%aldir(ind_type,m) =                     &
+                            albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m))
+                         surf_usm_v(l)%asdir(ind_type,m) =                     &
+                            albedo_pars(2,surf_usm_v(l)%albedo_type(ind_type,m))
+                         surf_usm_v(l)%albedo(ind_type,m) =                    &
                             albedo_pars(0,surf_usm_v(l)%albedo_type(ind_type,m))
-                         surf_usm_v(l)%asdif(ind_type,m) =                     &
-                            albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m))
-                         surf_usm_v(l)%aldir(ind_type,m) =                     &
-                            albedo_pars(0,surf_usm_v(l)%albedo_type(ind_type,m))
-                         surf_usm_v(l)%asdir(ind_type,m) =                     &
-                            albedo_pars(1,surf_usm_v(l)%albedo_type(ind_type,m))
-                         surf_usm_v(l)%albedo(ind_type,m) =                    &
-                            albedo_pars(2,surf_usm_v(l)%albedo_type(ind_type,m))
                       ENDIF
                    ENDDO
