53 '$Id: CRTM_MW_Land_SfcOptics.f90 60152 2015-08-13 19:19:13Z paul.vandelst@noaa.gov $' 55 INTEGER,
PARAMETER ::
ml = 256
62 INTEGER,
PARAMETER ::
fine = 3
180 SensorIndex , & ! Input
181 ChannelIndex, & ! Input
186 INTEGER,
INTENT(IN) :: sensorindex
187 INTEGER,
INTENT(IN) :: channelindex
192 CHARACTER(*),
PARAMETER :: routine_name =
'Compute_MW_Land_SfcOptics' 193 REAL(fp),
PARAMETER :: frequency_cutoff = 80.0_fp
194 REAL(fp),
PARAMETER :: default_emissivity = 0.95_fp
203 IF ( surface%Soil_Type < 1 .OR. &
205 sfcoptics%Emissivity =
zero 206 sfcoptics%Reflectivity =
zero 208 msg =
'Invalid soil type index specified' 212 IF ( surface%Vegetation_Type < 1 .OR. &
214 sfcoptics%Emissivity =
zero 215 sfcoptics%Reflectivity =
zero 217 msg =
'Invalid vegetation type index specified' 223 IF (
sc(sensorindex)%Frequency(channelindex) < frequency_cutoff )
THEN 225 DO i = 1, sfcoptics%n_Angles
227 sc(sensorindex)%Frequency(channelindex), &
228 surface%Soil_Moisture_Content, &
229 surface%Vegetation_Fraction, &
230 surface%Soil_Temperature, &
231 surface%Land_Temperature, &
234 surface%Vegetation_Type, &
236 sfcoptics%Emissivity(i,2), &
237 sfcoptics%Emissivity(i,1) )
239 sfcoptics%Reflectivity(i,1,i,1) =
one-sfcoptics%Emissivity(i,1)
240 sfcoptics%Reflectivity(i,2,i,2) =
one-sfcoptics%Emissivity(i,2)
244 DO i = 1, sfcoptics%n_Angles
245 sfcoptics%Emissivity(i,1:2) = default_emissivity
246 sfcoptics%Reflectivity(i,1:2,i,1:2) =
one-default_emissivity
305 CHARACTER(*),
PARAMETER :: routine_name =
'Compute_MW_Land_SfcOptics_TL' 315 sfcoptics_tl%Reflectivity =
zero 316 sfcoptics_tl%Emissivity =
zero 376 CHARACTER(*),
PARAMETER :: routine_name =
'Compute_MW_Land_SfcOptics_AD' 386 sfcoptics_ad%Reflectivity =
zero 387 sfcoptics_ad%Emissivity =
zero
integer, parameter coarse
integer, parameter, public failure
integer, parameter coarse_med_fine
integer, parameter groadleaf_shrubs_groundcover
integer, parameter needleleaf_deciduous_trees
real(fp), parameter, public zero
integer, parameter medium_fine
integer function, public compute_mw_land_sfcoptics_ad(SfcOptics_AD)
integer, parameter, public fp
integer, parameter, public max_n_angles
subroutine, public nesdis_landem(Angle, Frequency, Soil_Moisture_Content, Vegetation_Fraction, Soil_Temperature, t_skin, Lai, Soil_Type, Vegetation_Type, Snow_Depth, Emissivity_H, Emissivity_V)
integer, parameter broadleaf_needleleaf_trees
integer, parameter needleleaf_evergreen_trees
integer, parameter coarse_medium
integer, parameter broadleaf_evergreen_trees
integer, parameter cultivations
integer function, public compute_mw_land_sfcoptics_tl(SfcOptics_TL)
integer, parameter bare_soil
integer, parameter groundcover
real(fp), parameter, public one
recursive subroutine, public display_message(Routine_Name, Message, Error_State, Message_Log)
integer function, public compute_mw_land_sfcoptics(Surface, SensorIndex, ChannelIndex, SfcOptics)
character(*), parameter, private module_version_id
integer, parameter coarse_fine
integer, parameter medium
integer, parameter invalid_soil
type(spccoeff_type), dimension(:), allocatable, save, public sc
integer, parameter n_valid_vegetation_types
integer, parameter organic
integer, parameter broadleaf_shrubs_bare_soil
integer, parameter, public success
integer, parameter n_valid_soil_types
integer, parameter dwarf_trees_shrubs_groundcover
integer, parameter invalid_vegetation
integer, parameter broadleaf_trees_groundcover
integer, parameter broadleaf_deciduous_trees