isofit.radiative_transfer.radiative_transfer

confPriority(key, configs, none=False)[source]

Selects a key from a config if the value for that key is not None Prioritizes returning the first value found in the configs list

TODO: ISOFIT configs are annoying and will create keys to NoneTypes Should use mlky to handle key discovery at runtime instead of like this

class RadiativeTransfer(full_config)[source]

Bases: object

This class controls the radiative transfer component of the forward model. An ordered dictionary is maintained of individual RTMs (MODTRAN, for example). We loop over the dictionary concatenating the radiation and derivatives from each RTM and interval to form the complete result.

In general, some of the state vector components will be shared between RTMs and bands. For example, H20STR is shared between both VISNIR and TIR. This class maintains the master list of statevectors.

xa()[source]

Pull the priors from each of the individual RTs.

Sa()[source]

Pull the priors from each of the individual RTs.

get_shared_rtm_quantities(x_RT, geom)[source]

Return only the set of RTM quantities (transup, sphalb, etc.) that are contained in all RT engines.

property coszen

Backwards compatibility until Geometry takes over this param Return some child RTE coszen

calc_rdn(x_RT, rfl, Ls, geom)[source]
get_L_atm(x_RT, geom)[source]

Get the interpolated modeled atmospheric reflectance (aka path radiance).

Parameters:
  • x_RT (array) – radiative-transfer portion of the statevector

  • geom (Geometry) – local geometry conditions for lookup

Return type:

array

Returns:

interpolated modeled atmospheric reflectance

get_L_down_transmitted(x_RT, geom)[source]

Get the interpolated total downward atmospheric transmittance. Thermal_downwelling already includes the transmission factor. Also assume there is no multiple scattering for TIR.

Parameters:
  • x_RT (array) – radiative-transfer portion of the statevector

  • geom (Geometry) – local geometry conditions for lookup

Return type:

array

Returns:

interpolated total downward atmospheric transmittance

drdn_dRT(x_RT, rfl, drfl_dsurface, Ls, dLs_dsurface, geom)[source]
drdn_dRTb(x_RT, x_surface, rfl, Ls, geom)[source]
summarize(x_RT, geom)[source]
pack_arrays(rtm_quantities_from_RT_engines)[source]

Take the list of dict outputs from each RT engine and stack their internal arrays in the same order. Keep only those quantities that are common to all RT engines.

ext550_to_vis(ext550)[source]

VIS is defined as a function of the surface aerosol extinction coefficient at 550 nm in km-1, EXT550, by the formula VIS[km] = ln(50) / (EXT550 + 0.01159), where 0.01159 is the surface Rayleigh scattering coefficient at 550 nm in km-1 (see MODTRAN6 manual, p. 50).