41 '$Id: CRTM_Planck_Functions.f90 60152 2015-08-13 19:19:13Z paul.vandelst@noaa.gov $' 119 Temperature, & ! Input
122 INTEGER,
INTENT(IN) :: n
123 INTEGER,
INTENT(IN) :: l
124 REAL(fp),
INTENT(IN) :: temperature
125 REAL(fp),
INTENT(OUT) :: radiance
127 REAL(fp) :: effective_temperature
131 effective_temperature =
sc(n)%Band_C1(l) + (
sc(n)%Band_C2(l) * temperature )
134 radiance =
sc(n)%Planck_C1(l) / &
136 ( exp(
sc(n)%Planck_C2(l) / effective_temperature ) -
one )
233 Temperature , & ! Input
234 Temperature_TL, & ! Input
237 INTEGER,
INTENT(IN) :: n
238 INTEGER,
INTENT(IN) :: l
239 REAL(fp),
INTENT(IN) :: temperature
240 REAL(fp),
INTENT(IN) :: temperature_tl
241 REAL(fp),
INTENT(OUT) :: radiance_tl
243 REAL(fp) :: effective_temperature
244 REAL(fp) :: exponential
248 effective_temperature =
sc(n)%Band_C1(l) + (
sc(n)%Band_C2(l) * temperature )
253 exponential = exp(
sc(n)%Planck_C2(l) / effective_temperature )
255 f =
sc(n)%Planck_C1(l) *
sc(n)%Planck_C2(l) * exponential *
sc(n)%Band_C2(l) / &
257 ( effective_temperature * ( exponential -
one ) )**2
260 radiance_tl = f * temperature_tl
361 Temperature , & ! Input
362 Radiance_AD , & ! Input
365 INTEGER,
INTENT(IN) :: n
366 INTEGER,
INTENT(IN) :: l
367 REAL(fp),
INTENT(IN) :: temperature
368 REAL(fp),
INTENT(IN) :: radiance_ad
369 REAL(fp),
INTENT(IN OUT) :: temperature_ad
371 REAL(fp) :: effective_temperature
372 REAL(fp) :: exponential
376 effective_temperature =
sc(n)%Band_C1(l) + (
sc(n)%Band_C2(l) * temperature )
381 exponential = exp(
sc(n)%Planck_C2(l) / effective_temperature )
383 f =
sc(n)%Planck_C1(l) *
sc(n)%Planck_C2(l) * exponential *
sc(n)%Band_C2(l) / &
385 ( effective_temperature * ( exponential -
one ) )**2
388 temperature_ad = temperature_ad + ( f * radiance_ad )
476 INTEGER,
INTENT(IN) :: n
477 INTEGER,
INTENT(IN) :: l
478 REAL(fp),
INTENT(IN) :: radiance
479 REAL(fp),
INTENT(OUT) :: temperature
481 REAL(fp) :: effective_temperature
484 effective_temperature =
sc(n)%Planck_C2(l) / &
486 log( (
sc(n)%Planck_C1(l) / radiance ) +
one )
490 temperature = ( effective_temperature -
sc(n)%Band_C1(l) ) / &
582 Radiance_TL , & ! Input
585 INTEGER,
INTENT(IN) :: n
586 INTEGER,
INTENT(IN) :: l
587 REAL(fp),
INTENT(IN) :: radiance
588 REAL(fp),
INTENT(IN) :: radiance_tl
589 REAL(fp),
INTENT(OUT) :: temperature_tl
597 argument = (
sc(n)%Planck_C1(l) / radiance ) +
one 599 f =
sc(n)%Planck_C1(l) *
sc(n)%Planck_C2(l) / &
601 (
sc(n)%Band_C2(l) * argument * ( radiance * log( argument ) )**2 )
604 temperature_tl = f * radiance_tl
701 Temperature_AD, & ! Input
704 INTEGER,
INTENT(IN) :: n
705 INTEGER,
INTENT(IN) :: l
706 REAL(fp),
INTENT(IN) :: radiance
707 REAL(fp),
INTENT(IN) :: temperature_ad
708 REAL(fp),
INTENT(IN OUT) :: radiance_ad
716 argument = (
sc(n)%Planck_C1(l) / radiance ) +
one 718 f =
sc(n)%Planck_C1(l) *
sc(n)%Planck_C2(l) / &
720 (
sc(n)%Band_C2(l) * argument * ( radiance * log( argument ) )**2 )
723 radiance_ad = radiance_ad + ( f * temperature_ad )
integer, parameter, public fp
subroutine, public crtm_planck_radiance_ad(n, l, Temperature, Radiance_AD, Temperature_AD)
subroutine, public crtm_planck_temperature_ad(n, l, Radiance, Temperature_AD, Radiance_AD)
real(fp), parameter, public one
subroutine, public crtm_planck_temperature_tl(n, l, Radiance, Radiance_TL, Temperature_TL)
type(spccoeff_type), dimension(:), allocatable, save, public sc
character(*), parameter module_rcs_id
subroutine, public crtm_planck_temperature(n, l, Radiance, Temperature)
subroutine, public crtm_planck_radiance_tl(n, l, Temperature, Temperature_TL, Radiance_TL)
subroutine, public crtm_planck_radiance(n, l, Temperature, Radiance)