Output

The output module contains data structures for controlling what DISORT outputs.

class pyrt.output.OutputArrays(n_polar, n_user_levels, n_azimuth)[source]

A structure to make the DISORT output arrays.

OutputArrays creates arrays of 0s that are designed to get populated with values as DISORT runs.

Parameters
  • n_polar (int) – The number of polar angles to use in the model.

  • n_user_levels (int) – The number of user levels to use in the model.

  • n_azimuth (int) – The number of azimuthal angles to use in the model.

Return type

None

property albedo_medium: numpy.ndarray

Get the albedo of the medium output array.

Notes

In DISORT, this variable is named ALBMED.

property diffuse_down_flux: numpy.ndarray

Get the diffuse downward flux output array, which will be the total downward flux minus the direct beam flux.

Notes

In DISORT, this variable is named RFLDN.

property diffuse_up_flux: numpy.ndarray

Get the diffuse upward flux output array.

Notes

In DISORT, this variable is named FLUP.

property direct_beam_flux: numpy.ndarray

Get the direct beam flux output array.

Notes

In DISORT, this variable is named RFLDIR.

property flux_divergence: numpy.ndarray

Get the flux divergence output array, which is will represent \(\frac{dF}{d\tau}\) where \(F\) is the flux and \(\tau\) is the optical depth. This is an exact result.

Notes

In DISORT, this variable is named DFDT.

property intensity: numpy.ndarray

Get the intensity output array.

Notes

In DISORT, this variable is named UU.

property mean_intensity: numpy.ndarray

Get the mean intensity output array.

Notes

In DISORT, this variable is named “UAVG.

property transmissivity_medium: numpy.ndarray

Get the transmissivity of the medium output array.

Notes

In DISORT, this variable is named TRNMED.

class pyrt.output.OutputBehavior(incidence_beam_conditions=False, only_fluxes=False, user_angles=True, user_optical_depths=False)[source]

A structure that holds DISORT output behavior switches.

OutputBehavior provides some default output behavior for DISORT. All the parameters can be overriden to fit user specifications.

Parameters
  • incidence_beam_conditions (bool) –

    Denote what functions of the incidence beam angle should be included. If True, return the albedo and transmissivity of the entire medium as a function of incidence beam angle. In this case, the following inputs are the only ones considered by DISORT:

    • MAXCLY

    • DTAUC

    • SSALB

    • PMOM

    • NSTR

    • USRANG

    • MAXUMU

    • UMU

    • ALBEDO

    • PRNT

    • HEADER

    PLANK is assumed to be False, LAMBER is assumed to be True, and ONLYFL must be False. The only output is ALBMED and TRNMED. The intensities are not corrected for delta-M+ correction.

    If False, this is accommodates any general case of boundary conditions including beam illumination from the top, isotropic illumination from the top, thermal emission from the top, internal thermal emission, reflection at the bottom, and/or thermal emission from the bottom.

  • only_fluxes (bool) – Determine if only the fluxes are returned by the model. If True, return fluxes, flux divergences, and mean intensities; if False, return all those quantities and intensities. In addition, if True the number of polar angles can be 0, the number of azimuthal angles can be 0, phi is not used, and all values of intensity (UU) will be set to 0.

  • user_angles (bool) – Denote whether radiant quantities should be returned at user angles. If False, radiant quantities are to be returned at computational polar angles. Also, UMU will return the cosines of the computational polar angles and n_polar will return their number ( = n_streams). UMU must be large enough to contain n_streams elements. If True, radiant quantities are to be returned at user-specified polar angles, as follows: NUMU No. of polar angles (zero is a legal value only when ‘only_fluxes’ == True ) UMU(IU) IU=1 to NUMU, cosines of output polar angles in increasing order—starting with negative (downward) values (if any) and on through positive (upward) values; MUST NOT HAVE ANY ZERO VALUES.

  • user_optical_depths (bool) – Denote whether radiant quantities are returned at user-specified optical depths.

Return type

None

See also

ComputationalParameters, ModelBehavior, Spectral

property incidence_beam_conditions: bool

Get whether the model will only return albedo and transmissivity.

Notes

In DISORT, this variable is named IBCND.

property only_fluxes: bool

Get whether DISORT should only return fluxes.

Notes

In DISORT, this variable is named ONLYFL.

property user_angles: bool

Get whether radiant quantities should be returned at user angles.

Notes

In DISORT, this variable is named USRANG.

property user_optical_depths: bool

Get whether radiant quantities should be returned at user optical depths.

Notes

In DISORT, this variable is named USRTAU.

class pyrt.output.UserLevel(n_user_levels, optical_depth_output=None)[source]

A structure to create the levels at which radiant quantities are returned

UserLevel checks that radiant quantities can be returned at user levels.

Parameters
  • n_user_levels (int) – The number of user levels to instantiate. Only used if optical_depth_output is not None.

  • optical_depth_output (numpy.ndarray) – If radiant quantities are to be returned at user specified optical depths this is the monotonically increasing 1D array of optical depths where they should be output. It must not exceed the column integrated optical depth of DTAUC. If radiant quantities can simply be returned at the boundary of every computational layer (assuming user_optical_depths is set to False) this can be None, and this object will create an array of 0s for the output.

Return type

None

property optical_depth_output: numpy.ndarray

Get the input user optical depth array at user levels.

Notes

In DISORT, this variable is named UTAU.