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:MAXCLYDTAUCSSALBPMOMNSTRUSRANGMAXUMUUMUALBEDOPRNTHEADER
PLANKis assumed to beFalse,LAMBERis assumed to beTrue, andONLYFLmust beFalse. The only output isALBMEDandTRNMED. 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; ifFalse, return all those quantities and intensities. In addition, ifTruethe 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,UMUwill return the cosines of the computational polar angles and n_polar will return their number ( = n_streams).UMUmust be large enough to contain n_streams elements. IfTrue, 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_outputis notNone.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 (assuminguser_optical_depthsis set toFalse) this can beNone, 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.