81 '$Id: CRTM_Predictor.f90 60152 2015-08-13 19:19:13Z paul.vandelst@noaa.gov $' 83 INTEGER,
PARAMETER ::
ml = 256
92 TYPE(odas_apvar_type) :: odas
93 TYPE(odps_apvar_type) :: odps
180 SensorIndex , & ! Input
181 Atmosphere , & ! Input
182 GeometryInfo , & ! Input
183 AncillaryInput, & ! Input
184 Predictor , & ! Output
187 INTEGER ,
INTENT(IN) :: sensorindex
197 idx =
tc%Sensor_LoIndex(sensorindex)
198 SELECT CASE(
tc%Algorithm_ID(sensorindex) )
205 tc%ODAS(idx)%Max_Order, &
206 tc%ODAS(idx)%Alpha , &
222 SELECT CASE(
tc%ODSSU(idx)%subAlgorithm )
225 n =
tc%ODSSU(idx)%n_Absorbers
229 spread(odas_max_n_orders,dim=1,ncopies=n), &
230 tc%ODSSU(idx)%ODAS(1)%Alpha , &
235 tc%ODSSU(idx)%ODPS(1), &
243 idx =
tc%ZSensor_LoIndex(sensorindex)
247 ancillaryinput%Zeeman, &
341 SensorIndex , & ! Input
342 Atmosphere , & ! FWD Input
343 Predictor , & ! FWD Input
344 Atmosphere_TL , & ! TL Input
345 AncillaryInput, & ! Input
346 Predictor_TL , & ! TL Output
349 INTEGER ,
INTENT(IN) :: sensorindex
360 idx =
tc%Sensor_LoIndex(sensorindex)
361 SELECT CASE(
tc%Algorithm_ID(sensorindex) )
369 tc%ODAS(idx)%Max_Order, &
370 tc%ODAS(idx)%Alpha , &
371 predictor_tl%ODAS , &
386 SELECT CASE(
tc%ODSSU(idx)%subAlgorithm )
389 n =
tc%ODSSU(idx)%n_Absorbers
394 spread(odas_max_n_orders,dim=1,ncopies=n), &
395 tc%ODSSU(idx)%ODAS(1)%Alpha , &
396 predictor_tl%ODAS , &
400 tc%ODSSU(idx)%ODPS(1), &
408 idx =
tc%ZSensor_LoIndex(sensorindex)
412 ancillaryinput%Zeeman, &
414 predictor%ODZeeman , &
416 predictor_tl%ODZeeman )
508 SensorIndex , & ! Input
509 Atmosphere , & ! FWD Input
510 Predictor , & ! FWD Input
511 Predictor_AD , & ! AD Input
512 AncillaryInput, & ! Input
513 Atmosphere_AD , & ! AD Output
516 INTEGER ,
INTENT(IN) :: sensorindex
527 idx =
tc%ZSensor_LoIndex(sensorindex)
531 ancillaryinput%Zeeman, &
533 predictor%ODZeeman , &
534 predictor_ad%ODZeeman, &
540 idx =
tc%Sensor_LoIndex(sensorindex)
541 SELECT CASE(
tc%Algorithm_ID(sensorindex) )
548 predictor_ad%ODAS , &
549 tc%ODAS(idx)%Max_Order, &
550 tc%ODAS(idx)%Alpha , &
566 SELECT CASE(
tc%ODSSU(idx)%subAlgorithm )
569 n =
tc%ODSSU(idx)%n_Absorbers
573 predictor_ad%ODAS , &
574 spread(odas_max_n_orders,dim=1,ncopies=n), &
575 tc%ODSSU(idx)%ODAS(1)%Alpha , &
580 tc%ODSSU(idx)%ODPS(1), &
582 predictor_ad%ODPS , &
integer, parameter, public failure
subroutine, public zeeman_compute_predictors(Zeeman, TC, Atm, GeoInfo, Predictor)
pure integer function, public odps_get_n_components(Group_Index)
real(fp), parameter, public zero
subroutine, public zeeman_compute_predictors_ad(Zeeman, TC, Predictor, Predictor_AD, Atm_AD)
elemental subroutine, public odas_predictor_create(self, n_Layers, n_Predictors, n_Absorbers, n_Orders)
integer, parameter, public fp
pure integer function, public odps_get_n_absorbers(Group_Index)
integer, parameter, public max_n_absorbers
subroutine, public odps_assemble_predictors_ad(TC, Predictor, Predictor_AD, Atm_AD)
subroutine, public odps_assemble_predictors_tl(TC, Predictor, Atm_TL, Predictor_TL)
pure logical function, public is_odzeeman(TC)
integer, parameter, public max_n_predictors
elemental subroutine, public odps_predictor_destroy(self)
integer, parameter, public max_n_orders
recursive subroutine, public display_message(Routine_Name, Message, Error_State, Message_Log)
elemental subroutine, public odas_predictor_destroy(self)
logical, parameter, public allow_optran
integer, parameter, public odssu_algorithm
elemental subroutine, public odps_predictor_create(self, n_Layers, n_User_Layers, n_Components, n_Predictors, No_OPTRAN)
subroutine, public crtm_compute_predictors(SensorIndex, Atmosphere, GeometryInfo, AncillaryInput, Predictor, iVar)
pure integer function, public odps_get_max_n_predictors(Group_Index)
integer, parameter, public odps_algorithm
integer, parameter, public odas_algorithm
subroutine, public odas_assemble_predictors(Atmosphere, GeometryInfo, Max_Order, Alpha, Predictor, iVar)
character(*), parameter module_version_id
elemental logical function, public odps_predictor_associated(self)
elemental logical function, public odas_predictor_associated(self)
subroutine, public crtm_compute_predictors_ad(SensorIndex, Atmosphere, Predictor, Predictor_AD, AncillaryInput, Atmosphere_AD, iVar)
subroutine, public odps_assemble_predictors(TC, Atm, GeoInfo, Predictor)
subroutine, public crtm_compute_predictors_tl(SensorIndex, Atmosphere, Predictor, Atmosphere_TL, AncillaryInput, Predictor_TL, iVar)
pure logical function, public odps_get_savefwvflag()
subroutine, public zeeman_compute_predictors_tl(Zeeman, TC, Predictor, Atm_TL, Predictor_TL)
type(taucoeff_type), save, public tc
integer, parameter, public success
elemental subroutine, public crtm_geometryinfo_getvalue(gInfo, Geometry, iFOV, Longitude, Latitude, Surface_Altitude, Sensor_Scan_Angle, Sensor_Zenith_Angle, Sensor_Azimuth_Angle, Source_Zenith_Angle, Source_Azimuth_Angle, Flux_Zenith_Angle, Year, Month, Day, Distance_Ratio, Sensor_Scan_Radian, Sensor_Zenith_Radian, Sensor_Azimuth_Radian, Secant_Sensor_Zenith, Cosine_Sensor_Zenith, Source_Zenith_Radian, Source_Azimuth_Radian, Secant_Source_Zenith, Flux_Zenith_Radian, Secant_Flux_Zenith, Trans_Zenith_Radian, Secant_Trans_Zenith, AU_ratio2)
subroutine, public odas_assemble_predictors_tl(Atmosphere, Predictor, Atmosphere_TL, Max_Order, Alpha, Predictor_TL, iVar)
subroutine, public odas_assemble_predictors_ad(Atmosphere, Predictor, Predictor_AD, Max_Order, Alpha, Atmosphere_AD, iVar)