Changeset 4197
- Timestamp:
- Aug 29, 2019 2:33:32 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4190 r4197 28 28 ! ----------------- 29 29 ! $Id$ 30 ! Revise steering of surface albedo initialization when albedo_pars is provided 31 ! 32 ! 4190 2019-08-27 15:42:37Z suehring 30 33 ! Implement external radiation forcing also for level-of-detail = 2 31 34 ! (horizontally 2D radiation) … … 1798 1801 j = surf_lsm_h%j(m) 1799 1802 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) 1806 1806 ENDIF 1807 1807 ENDDO … … 1810 1810 j = surf_usm_h%j(m) 1811 1811 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) 1818 1815 ENDIF 1819 1816 ENDDO … … 1828 1825 j = surf_lsm_v(l)%j(m) + joff 1829 1826 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) 1836 1830 ENDIF 1837 1831 ENDDO … … 1843 1837 j = surf_usm_v(l)%j(m) + joff 1844 1838 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) 1851 1842 ENDIF 1852 1843 ENDDO … … 2077 2068 !-- Spectral albedos for vegetation/pavement/water surfaces 2078 2069 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) 2096 2085 ENDDO 2097 2086 ENDDO … … 2106 2095 !-- Broadband albedos for wall/green/window surfaces 2107 2096 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) 2113 2100 ENDDO 2114 2101 ! … … 2169 2156 !-- Spectral albedos for vegetation/pavement/water surfaces 2170 2157 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) 2193 2178 ENDDO 2194 2179 ENDDO … … 2206 2191 !-- Broadband albedos for wall/green/window surfaces 2207 2192 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) 2214 2197 ENDDO 2215 2198 !
Note: See TracChangeset
for help on using the changeset viewer.