Changeset 4197 for palm/trunk


Ignore:
Timestamp:
Aug 29, 2019 2:33:32 PM (5 years ago)
Author:
suehring
Message:

Revise steering of surface albedo initialization when albedo_pars is provided

File:
1 edited

Legend:

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

    r4190 r4197  
    2828! -----------------
    2929! $Id$
     30! Revise steering of surface albedo initialization when albedo_pars is provided
     31!
     32! 4190 2019-08-27 15:42:37Z suehring
    3033! Implement external radiation forcing also for level-of-detail = 2
    3134! (horizontally 2D radiation)
     
    17981801                j = surf_lsm_h%j(m)
    17991802                IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )  THEN
    1800                    IF ( surf_lsm_h%albedo_type(ind_veg_wall,m) == 0 )          &
    1801                       surf_lsm_h%albedo(ind_veg_wall,m) = albedo_pars_f%pars_xy(0,j,i)
    1802                    IF ( surf_lsm_h%albedo_type(ind_pav_green,m) == 0 )         &
    1803                       surf_lsm_h%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
    1804                    IF ( surf_lsm_h%albedo_type(ind_wat_win,m) == 0 )           &
    1805                       surf_lsm_h%albedo(ind_wat_win,m) = albedo_pars_f%pars_xy(0,j,i)
     1803                   surf_lsm_h%albedo(ind_veg_wall,m)  = albedo_pars_f%pars_xy(0,j,i)
     1804                   surf_lsm_h%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
     1805                   surf_lsm_h%albedo(ind_wat_win,m)   = albedo_pars_f%pars_xy(0,j,i)
    18061806                ENDIF
    18071807             ENDDO
     
    18101810                j = surf_usm_h%j(m)
    18111811                IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )  THEN
    1812                    IF ( surf_usm_h%albedo_type(ind_veg_wall,m) == 0 )          &
    1813                       surf_usm_h%albedo(ind_veg_wall,m) = albedo_pars_f%pars_xy(0,j,i)
    1814                    IF ( surf_usm_h%albedo_type(ind_pav_green,m) == 0 )         &
    1815                       surf_usm_h%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
    1816                    IF ( surf_usm_h%albedo_type(ind_wat_win,m) == 0 )           &
    1817                       surf_usm_h%albedo(ind_wat_win,m) = albedo_pars_f%pars_xy(0,j,i)
     1812                   surf_usm_h%albedo(ind_veg_wall,m)  = albedo_pars_f%pars_xy(0,j,i)
     1813                   surf_usm_h%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
     1814                   surf_usm_h%albedo(ind_wat_win,m)   = albedo_pars_f%pars_xy(0,j,i)
    18181815                ENDIF
    18191816             ENDDO
     
    18281825                   j = surf_lsm_v(l)%j(m) + joff
    18291826                   IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )  THEN
    1830                       IF ( surf_lsm_v(l)%albedo_type(ind_veg_wall,m) == 0 )    &
    1831                          surf_lsm_v(l)%albedo(ind_veg_wall,m) = albedo_pars_f%pars_xy(0,j,i)
    1832                       IF ( surf_lsm_v(l)%albedo_type(ind_pav_green,m) == 0 )   &
    1833                          surf_lsm_v(l)%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
    1834                       IF ( surf_lsm_v(l)%albedo_type(ind_wat_win,m) == 0 )     &
    1835                          surf_lsm_v(l)%albedo(ind_wat_win,m) = albedo_pars_f%pars_xy(0,j,i)
     1827                      surf_lsm_v(l)%albedo(ind_veg_wall,m) = albedo_pars_f%pars_xy(0,j,i)
     1828                      surf_lsm_v(l)%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
     1829                      surf_lsm_v(l)%albedo(ind_wat_win,m) = albedo_pars_f%pars_xy(0,j,i)
    18361830                   ENDIF
    18371831                ENDDO
     
    18431837                   j = surf_usm_v(l)%j(m) + joff
    18441838                   IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )  THEN
    1845                       IF ( surf_usm_v(l)%albedo_type(ind_veg_wall,m) == 0 )    &
    1846                          surf_usm_v(l)%albedo(ind_veg_wall,m) = albedo_pars_f%pars_xy(0,j,i)
    1847                       IF ( surf_usm_v(l)%albedo_type(ind_pav_green,m) == 0 )   &
    1848                          surf_usm_v(l)%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
    1849                       IF ( surf_usm_v(l)%albedo_type(ind_wat_win,m) == 0 )     &
    1850                          surf_usm_v(l)%albedo(ind_wat_win,m) = albedo_pars_f%pars_xy(0,j,i)
     1839                      surf_usm_v(l)%albedo(ind_veg_wall,m) = albedo_pars_f%pars_xy(0,j,i)
     1840                      surf_usm_v(l)%albedo(ind_pav_green,m) = albedo_pars_f%pars_xy(0,j,i)
     1841                      surf_usm_v(l)%albedo(ind_wat_win,m) = albedo_pars_f%pars_xy(0,j,i)
    18511842                   ENDIF
    18521843                ENDDO
     
    20772068!--             Spectral albedos for vegetation/pavement/water surfaces
    20782069                DO  ind_type = 0, 2
    2079                    IF ( surf_lsm_h%albedo_type(ind_type,m) == 0 )  THEN
    2080                       IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )&
    2081                          surf_lsm_h%albedo(ind_type,m) =                       &
    2082                                                 albedo_pars_f%pars_xy(0,j,i)
    2083                       IF ( albedo_pars_f%pars_xy(1,j,i) /= albedo_pars_f%fill )&
    2084                          surf_lsm_h%aldir(ind_type,m) =                        &
    2085                                                 albedo_pars_f%pars_xy(1,j,i)
    2086                       IF ( albedo_pars_f%pars_xy(1,j,i) /= albedo_pars_f%fill )&
    2087                          surf_lsm_h%aldif(ind_type,m) =                        &
    2088                                                 albedo_pars_f%pars_xy(1,j,i)
    2089                       IF ( albedo_pars_f%pars_xy(2,j,i) /= albedo_pars_f%fill )&
    2090                          surf_lsm_h%asdir(ind_type,m) =                        &
    2091                                                 albedo_pars_f%pars_xy(2,j,i)
    2092                       IF ( albedo_pars_f%pars_xy(2,j,i) /= albedo_pars_f%fill )&
    2093                          surf_lsm_h%asdif(ind_type,m) =                        &
    2094                                                 albedo_pars_f%pars_xy(2,j,i)
    2095                    ENDIF
     2070                   IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )   &
     2071                      surf_lsm_h%albedo(ind_type,m) =                          &
     2072                                             albedo_pars_f%pars_xy(0,j,i)     
     2073                   IF ( albedo_pars_f%pars_xy(1,j,i) /= albedo_pars_f%fill )   &
     2074                      surf_lsm_h%aldir(ind_type,m) =                           &
     2075                                             albedo_pars_f%pars_xy(1,j,i)     
     2076                   IF ( albedo_pars_f%pars_xy(1,j,i) /= albedo_pars_f%fill )   &
     2077                      surf_lsm_h%aldif(ind_type,m) =                           &
     2078                                             albedo_pars_f%pars_xy(1,j,i)     
     2079                   IF ( albedo_pars_f%pars_xy(2,j,i) /= albedo_pars_f%fill )   &
     2080                      surf_lsm_h%asdir(ind_type,m) =                           &
     2081                                             albedo_pars_f%pars_xy(2,j,i)     
     2082                   IF ( albedo_pars_f%pars_xy(2,j,i) /= albedo_pars_f%fill )   &
     2083                      surf_lsm_h%asdif(ind_type,m) =                           &
     2084                                             albedo_pars_f%pars_xy(2,j,i)
    20962085                ENDDO
    20972086             ENDDO
     
    21062095!--                Broadband albedos for wall/green/window surfaces
    21072096                   DO  ind_type = 0, 2
    2108                       IF ( surf_usm_h%albedo_type(ind_type,m) == 0 )  THEN
    2109                          IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )&
    2110                             surf_usm_h%albedo(ind_type,m) =                       &
    2111                                                 albedo_pars_f%pars_xy(0,j,i)
    2112                       ENDIF
     2097                      IF ( albedo_pars_f%pars_xy(0,j,i) /= albedo_pars_f%fill )&
     2098                         surf_usm_h%albedo(ind_type,m) =                       &
     2099                                             albedo_pars_f%pars_xy(0,j,i)
    21132100                   ENDDO
    21142101!
     
    21692156!--                Spectral albedos for vegetation/pavement/water surfaces
    21702157                   DO  ind_type = 0, 2
    2171                       IF ( surf_lsm_v(l)%albedo_type(ind_type,m) == 0 )  THEN
    2172                          IF ( albedo_pars_f%pars_xy(0,j+joff,i+ioff) /=        &
    2173                               albedo_pars_f%fill )                             &
    2174                             surf_lsm_v(l)%albedo(ind_type,m) =                 &
    2175                                           albedo_pars_f%pars_xy(0,j+joff,i+ioff)
    2176                          IF ( albedo_pars_f%pars_xy(1,j+joff,i+ioff) /=        &
    2177                               albedo_pars_f%fill )                             &
    2178                             surf_lsm_v(l)%aldir(ind_type,m) =                  &
    2179                                           albedo_pars_f%pars_xy(1,j+joff,i+ioff)
    2180                          IF ( albedo_pars_f%pars_xy(1,j+joff,i+ioff) /=        &
    2181                               albedo_pars_f%fill )                             &
    2182                             surf_lsm_v(l)%aldif(ind_type,m) =                  &
    2183                                           albedo_pars_f%pars_xy(1,j+joff,i+ioff)
    2184                          IF ( albedo_pars_f%pars_xy(2,j+joff,i+ioff) /=        &
    2185                               albedo_pars_f%fill )                             &
    2186                             surf_lsm_v(l)%asdir(ind_type,m) =                  &
    2187                                           albedo_pars_f%pars_xy(2,j+joff,i+ioff)
    2188                          IF ( albedo_pars_f%pars_xy(2,j+joff,i+ioff) /=        &
    2189                               albedo_pars_f%fill )                             &
    2190                             surf_lsm_v(l)%asdif(ind_type,m) =                  &
    2191                                           albedo_pars_f%pars_xy(2,j+joff,i+ioff)
    2192                       ENDIF
     2158                      IF ( albedo_pars_f%pars_xy(0,j+joff,i+ioff) /=           &
     2159                           albedo_pars_f%fill )                                &
     2160                         surf_lsm_v(l)%albedo(ind_type,m) =                    &
     2161                                       albedo_pars_f%pars_xy(0,j+joff,i+ioff)
     2162                      IF ( albedo_pars_f%pars_xy(1,j+joff,i+ioff) /=           &
     2163                           albedo_pars_f%fill )                                &
     2164                         surf_lsm_v(l)%aldir(ind_type,m) =                     &
     2165                                       albedo_pars_f%pars_xy(1,j+joff,i+ioff)
     2166                      IF ( albedo_pars_f%pars_xy(1,j+joff,i+ioff) /=           &
     2167                           albedo_pars_f%fill )                                &
     2168                         surf_lsm_v(l)%aldif(ind_type,m) =                     &
     2169                                       albedo_pars_f%pars_xy(1,j+joff,i+ioff)
     2170                      IF ( albedo_pars_f%pars_xy(2,j+joff,i+ioff) /=           &
     2171                           albedo_pars_f%fill )                                &
     2172                         surf_lsm_v(l)%asdir(ind_type,m) =                     &
     2173                                       albedo_pars_f%pars_xy(2,j+joff,i+ioff)
     2174                      IF ( albedo_pars_f%pars_xy(2,j+joff,i+ioff) /=           &
     2175                           albedo_pars_f%fill )                                &
     2176                         surf_lsm_v(l)%asdif(ind_type,m) =                     &
     2177                                       albedo_pars_f%pars_xy(2,j+joff,i+ioff)
    21932178                   ENDDO
    21942179                ENDDO
     
    22062191!--                   Broadband albedos for wall/green/window surfaces
    22072192                      DO  ind_type = 0, 2
    2208                          IF ( surf_usm_v(l)%albedo_type(ind_type,m) == 0 )  THEN
    2209                             IF ( albedo_pars_f%pars_xy(0,j+joff,i+ioff) /=     &
    2210                                  albedo_pars_f%fill )                          &
    2211                                surf_usm_v(l)%albedo(ind_type,m) =              &
    2212                                              albedo_pars_f%pars_xy(0,j+joff,i+ioff)
    2213                          ENDIF
     2193                         IF ( albedo_pars_f%pars_xy(0,j+joff,i+ioff) /=        &
     2194                              albedo_pars_f%fill )                             &
     2195                            surf_usm_v(l)%albedo(ind_type,m) =                 &
     2196                                          albedo_pars_f%pars_xy(0,j+joff,i+ioff)
    22142197                      ENDDO
    22152198!
Note: See TracChangeset for help on using the changeset viewer.