HR Options

class radtran.options.HROptions

All options are added in using the add_option command. Options can be changed with the same command as well

Scalar Set Functions:

numordersofscatter(int)
The number of scattering orders to calculate [default 50]
wfprecision(int)

Precision of weighting functions

  • 0 - Calculate weighting functions including sun source attenuation and ground source attenuation
  • 1 - Calculate weighting functions neglecting sun and ground source attenuation (useful for 2D retrievals where wfprecision=0 can be slow)
calcwf(int)

Specifier indicating which type of weighting functions to calculate. See wfwidths and wfheights for more options [default 0]

  • 0 - Don’t calculate wf
  • 1 - Calculate one dim wf with perturbations centred on the line of sight tangent altitudes
  • 2 - Calculate one dim wf on a uniform grid
  • 3 - Calculate two dim wf on a uniform grid
diffuseplacementtype(int)

Specifier indicating how to place the diffuse profiles. [default 0]

  • 0 - Linear in distance along the LOS
  • 1 - Linear in SZA along the LOS, forcing one placed at TP
  • 2 - Linear in SZA along the LOS
horizonsize(double)
The size of the horizon on incoming diffuse points in degrees. [default 20]
numthreads(int)
The number of threads to use in the calculation. 0 indicates to use all available threads. [default 0]
integrationtechnique(int)

The integration technique to use for optical depth and source function integrations. [default 1]

  • 0 - SASKTRANV21 technique (constant extinction in cell)
  • 1 - Adaptive technique
solarraytracingshells(double)
The shell spacing for solar rays in m. [default 1000]
raytracingshells(double)
The shell spacing for line of sight and diffuse rays in m. [default 1000]
maxopticaldepthofcell(double)
The maximum allowed optical depth of a cell before splitting can occur in adaptive integration mode. [default 0.1]
minextinctionratioofcell(double)
The allowed ratio of extinction on the boundary of the cell before splitting can occur in adaptive integration mode. [default 0.9]
numdiffuseprofilesinplane(int)
The number of diffuse profiles to place in the LOS plane. The total number of diffuse profiles is numdiffuseprofilesinplane*numdiffuseplanes [default 1]
numdiffuseplanes(int)
Number of diffuse planes to create, planes are created by rotating the LOS plane around the LOS direction. Must be an odd number [default 1]
diffusemaxangleoffplane(double)
The maximum angle the LOS plane is rotated to create more diffuse planes in degrees. e.g. if the angle is 5, and numdiffuseplanes is 11, then diffuse profiles will be placed at [-5,-4,...,5] with 0 being the LOS plane. [default 5]
numdiffuseoutgoing(int)
The number of outgoing rays on the diffuse spheres. Value is rounded to the nearest perfect square [default 169]
forcev21diffuseincoming(int)

Sets the incoming sphere to be hardcoded values as is default in SASKTRANV21. [default 0]

  • 0 - use horizon shifted sphere
  • 1 - use Hardcoded v21 values
opticalpropertiesheightres(double)
The height resolution of the optical properties table in m. [default 500]
opticaltabletype(int)

The type of optical properties table to use

  • 0 - 1d table in height
  • 1 - 3d delaunay sphere table
  • 2 - 2d planar table
groundshiftalt(double)
Altitude to shift the ground by in m. Still in testing [default 0]
useshellraytracer(double)
Set to 1 to force use of old shell raytracer (no intersections in 2D) same as SO [default 0]

Vector Options:

setsun(double[3])
Unit sun direction vector.[default determined from mjd]
diffuseincomingresolution(int[4])

Sets up the number of incoming rays on the diffuse sphere

  • [0] - The number of rays from 0 zenith to start of horizon
  • [1] - The number of rays in the horizon
  • [2] - The number of rays from horizon end to 180
  • [3] - The number of azimuth rotations
manualdiffuseheights(double[n])
Configures the diffuse heights manually in m. Useful for cloud Default [10^-6,500:1000:99500]
manualopticalheights(double[n])
Configure the optical table heights manually in m. Useful for cloud and hitran species where broadening is sharp. [default 0:500:100000]
opticalnormalandreference(double[6])

Sets up the plane used in the optical properties table when opticaltabletype is 2.

  • [0-2] - Unit normal vector of the plane
  • [3-5] - The x-axis in the plane ( the y axis is taken as y = x cross normal)
opticalanglegrid(double[n])
The angles to use in plane in degrees when opticaltabletype is 2. [default 625 linearly spaced from the start of the LOS to end]
threedopticaltableparam(double[3])

Parameters to use in the delaunay 3d optical table. The optical table is a series of cones centred on the reference point, with a constant number of profiles placed around the cone. Giving higher resolution near the reference point and lower as we move away.

  • [0] - The angle in degrees separating each cone
  • [1] - The number of cones to use
  • [2] - The number of profiles to place on each circular cone boundary
manualdiffuselocations(double[3*n])
Manually specify the diffuse profile locations. (not tested) [3*i-3*i+2] - Unit vector the i’th profile
wfheights(double[n])
Manually set the tangent altitudes in m to calculate the weighting functions at should be set together with wfwidths. Only works when calcwf is 2 or 3
wfwidths(double[n])
Manuall specify the width of the perturbations to use in the weighting function calculation. Same length as wfheights, both should be set together, only works when calcwf is 2 or 3

Methods

add_option
add_to_engine
replicate_so_settings