CxxWorkspace
- class pyarts3.arts.CxxWorkspace(*args, **kwargs)
The core ARTS Workspace
Overview
Method
Use
alt_gridto create a coupled atmospheric and subsurfaceDisortSettings.Method
Ignore a workspace variable.
Method
Backward passive Monte Carlo radiative-transfer calculation.
Method
Simulates active-radar returns using Monte Carlo antenna sampling.
Method
Turns profile data into path data.
Method
Turns profile data into path data.
Method
The standard method to read absorption catalog data for ARTS.
Method
Reads a workspace variable from an XML file.
Method
As
ReadXML(), but reads indexed file names.Method
As
Ignore()but for agenda output.Method
Update state of the model in preparation for a forward model run
Method
Initialize the Wigner tables
Method
Unloads the Wigner tables from static data (see
WignerInit())Method
Writes all the builtin partition functions to file.
Method
Writes a workspace variable to an XML file.
Method
As
WriteXML(), but creates indexed file names.Method
Sets
abs_bandsto the state of the model.Method
Keeps first band of ID
Method
Adapts select band to use ordered Line mixing coefficients.
Method
Reads HITRAN data from a file.
Method
Reads JPL data from a file.
Method
Same as
abs_bandsReadSpeciesSplitCatalog()but for reading the old ARTSCAT format.Method
Reads all species in
abs_speciesfrom a basenameMethod
Reads all xml-files in a given directory and puts them into
abs_bands.Method
Saves all bands in
abs_bandsto a directoryMethod
Remove all bands whose lines all strictly falls outside a frequency range
Method
Remove all lines that strictly falls outside a frequency range
Method
Set all bands to use non-LTE calculations.
Method
Set the Zeeman splitting for lines within the frequency range
Method
Read data from a CIA data file for all CIA molecules defined
Method
Read data from a CIA XML file and check that all CIA tags defined
Method
Reads a species split CIA dataset.
Method
Sets preliminary CH4-211 band data for ECS.
Method
Sets the O2-66 microwave band data for ECS.
Method
Combines ECS data from specified species using VMR weights to create air (bath gas) broadening parameters.
Method
Sets preliminary NH3-4111 band data for ECS.
Method
Sets preliminary PH3-1111 band data for ECS.
Method
Sets ECS broadening parameters for N2 and O2 collision partners for CO2 isotopologues CO2-626, CO2-628, and CO2-636.
Method
Sets ECS broadening parameters for CO2 collision partner for CO2 isotopologues CO2-626, CO2-628, and CO2-636.
Method
Resets/initializes the ECS data.
Method
Get
abs_lookup_datafrom available data.Method
Compute the lookup table for all species in
abs_bands.Method
Initialize an empty lookup table.
Method
Precompute the lookup table for a single species, adding it to the map.
Method
Compute the lookup table for all species in
abs_bands.Method
Set up a simple wide lookup table for all species in
abs_bands.Method
Sets the data for MT CKD 4.0 Water model
Method
Sets the data for MT CKD 4.3 Water model
Method
Initialize the predefined model data
Method
Reads
abs_predef_datacatalog but only forabs_speciesMethod
Sets
abs_speciesto contain all species in ARTSMethod
Set
abs_speciesto the named species.Method
Reads HITRAN Crosssection coefficients
Method
Executes
atm_disort_settings_agenda, see it for more detailsMethod
Executes an operator emulating
atm_disort_settings_agenda, see it, and alsoDisortSettingsAgendaOperator, for more detailsMethod
Set
atm_disort_settings_agendato exclusively use provided external operator. SeeDisortSettingsAgendaOperatorfor more details.Method
Set the magnetic field to use the magnitude field functional.
Method
Set the wind field to use the magnitude field functional.
Method
Append data to the atmospheric field based on available absorption data.
Method
Append base data to the atmospheric field
Method
Append species data to the atmospheric field based on collision-induced absorption data.
Method
Append isotopologue ratio data to the atmospheric field based on line data.
Method
Append NLTE data to the atmospheric field based on line data.
Method
Append species data to the atmospheric field based on line data.
Method
Append species data to the atmospheric field based on absorption lookup table data.
Method
Append species data to the atmospheric field based on absorption predefined model data.
Method
Append species data to the atmospheric field based on
abs_species.Method
Append species data to the atmospheric field based on absorption cross-section fit data.
Method
Fits non-LTE atmospheric field values
Method
Sets
atm_fieldto the state of the model.Method
Sets the atmospheric field to be the 1D atmospheric profile.
Method
Add the hydrostatic pressure to the atmospheric field
Method
Use IGRF to compute the magnetic field at each point.
Method
Initialize the atmospheric field with some altitude and isotopologue ratios
Method
Initialize the non-LTE atmospheric field from the LTE temperature field.
Method
The standard method to read atmospheric data files from a directory
Method
For forward calculations, this should be similar to
atm_fieldIGRF().Method
Set the data of a single atmospheric key onto the grids of the workspace.
Method
Add planetary rotation to the wind field u-component.
Method
Gets the atmospheric points along the path.
Method
Set
atm_path = atm_profile.Method
Extract an atmospheric point from the atmospheric field.
Method
Initialize an atmospheric point with some isotopologue ratios
Method
Extract an atmospheric profile from the atmospheric field.
Method
Fits non-LTE distributions to the level data.
Method
Extract an atmospheric profile and its grids.
Method
Space radiation into Disort is isotropic cosmic background radiation.
Method
Computes spectral delta-M-plus scaling from the phase moments.
Method
Set the downwelling boundary condition using the observer agenda.
Method
Perform Disort calculations for spectral flux.
Method
Same as
disort_settingsLayerThermalEmissionLinearInTau()but considers non-LTEMethod
Use a source function that changes linearly in optical thickness.
Method
Sets the legendre coefficients from the path-variable.
Method
Turns off fractional scattering in Disort calculations.
Method
Turns off source radiation in Disort calculations.
Method
Turns off Legendre coefficients in Disort calculations.
Method
Turns off single albedo scattering in Disort calculations.
Method
Turns off boundary condition from space for Disort calculations.
Method
Turns off solar radiation in Disort calculations.
Method
Turns off surface boundary condition for Disort calculations.
Method
Turns off BDRF in Disort calculations.
Method
Get optical thickness from path.
Method
Uses Set the FOV to the sun input for Disort calculations.
Method
Sets the single scattering albedo from the path-variable.
Method
Subsurface boundary emission into Disort is based on temperature.
Method
Use a source function that changes linearly in optical thickness.
Method
Get optical thickness from subsurface path.
Method
Turns off single albedo scattering in Disort calculations.
Method
Sets a Cox-Munk ocean surface BRDF and computes its DISORT cosine Fourier modes.
Method
Sets a Cox-Munk ocean BRDF with a spectrally varying refractive index.
Method
Surface radiation into Disort is isotropic from surface temperature.
Method
Sets a Hapke surface BRDF and computes its DISORT cosine Fourier modes.
Method
Sets a spectrally varying Hapke surface BRDF.
Method
Sets the surface to Lambertian.
Method
Sets an RPV surface BRDF and computes its DISORT cosine Fourier modes.
Method
Sets a spectrally varying RPV surface BRDF.
Method
Sets a Ross-Li surface BRDF and computes its DISORT cosine Fourier modes.
Method
Sets a Ross-Li surface BRDF with spectrally varying kernel weights.
Method
Executes
disort_settings_agenda, see it for more detailsMethod
Executes an operator emulating
disort_settings_agenda, see it, and alsoDisortSettingsAgendaOperator, for more detailsMethod
Set
disort_settings_agendato exclusively use provided external operator. SeeDisortSettingsAgendaOperatorfor more details.Method
Setup for Disort standard calculations.
Method
Setup for Disort subsurface calculations.
Method
Executes
disort_settings_downwelling_wrapper_agenda, see it for more detailsMethod
Executes an operator emulating
disort_settings_downwelling_wrapper_agenda, see it, and alsodisort_settings_downwelling_wrapper_agendaOperator, for more detailsMethod
Set
disort_settings_downwelling_wrapper_agendato a specific predefined optionMethod
Set
disort_settings_downwelling_wrapper_agendato exclusively use provided external operator. Seedisort_settings_downwelling_wrapper_agendaOperatorfor more details.Method
Perform Disort calculations for spectral flux.
Method
Perform Disort calculations for spectral flux.
Method
Use Disort for calculations of spectral flux field.
Method
Use Disort for calculations of spectral flux field.
Method
Extract a 1D path through the atmosphere and calculate spectral flux using Disort.
Method
Convert units of the Disort spectral radiance field.
Method
Perform Disort calculations for spectral radiance.
Method
Perform CDisort calculations for spectral radiance.
Method
Perform Disort calculations for spectral radiance.
Method
Use Disort for calculations of spectral radiance field.
Method
Sets a ray path from a point and depth profile and calculates spectral radiance using Disort.
Method
Use Disort for clearsky calculations of spectral radiance field.
Method
Use the disort settings agenda to calculate spectral radiance
Method
Extract a 1D path through the atmosphere and calculate spectral radiance using Disort.
Method
Extract a 1D path through the atmospheric field and calculate spectral radiance using Disort
Method
Computes the spectral flux
Method
Same as
freq_gridWindShift()but for single frequency values.Method
Frequency grid useful for
atm_profileFitNonLTE().Method
Composition method, creates a frequency grid from a single frequency.
Method
Applies wind shift to the
freq_gridfor the local frequency grid.Method
Gets the frequency grids along the path.
Method
Gets the value of the variable with the given name.
Method
Sets a gravity operator from the gravitational constant and the mass of the planet
Method
Checks if the workspace contains the variable.
Method
Overloaded function.
Method
Executes
inversion_iterate_agenda, see it for more detailsMethod
Executes an operator emulating
inversion_iterate_agenda, see it, and alsoinversion_iterate_agendaOperator, for more detailsMethod
Set
inversion_iterate_agendato a specific predefined optionMethod
Set
inversion_iterate_agendato exclusively use provided external operator. Seeinversion_iterate_agendaOperatorfor more details.Method
Sets an atmospheric target.
Method
Set a measurement error to polynomial fit.
Method
Add a spectroscopic line parameter to
jac_targets.Method
Add a line-shape model coefficient to
jac_targets.Method
Set magnetic field derivative.
Method
Set magnetic field derivative for overlapping fields.
Method
Set wind field derivative for overlapping fields.
Method
Set pressure derivative.
Method
Set sensor frequency derivative to use polynomial fitting offset
Method
Set isotopologue ratio derivative
Method
Set volume mixing ratio derivative.
Method
Sets a subsurface target
Method
Sets a surface target
Method
Set temperature derivative.
Method
Set wind field derivative.
Method
Finalize
jac_targets.Method
Initialize or reset the
jac_targets.Method
Turns off
jac_targetsMethod
Toggles logarithmic/relative or absolute retrievals.
Method
Toggles logarithmic/relative or absolute retrievals.
Method
Toggles logarithmic/relative or absolute retrievals.
Method
Toggles logarithmic or absolute retrievals.
Method
Toggles logarithmic or absolute retrievals.
Method
Toggles logarithmic or absolute retrievals.
Method
Toggles relative or absolute retrievals.
Method
Toggles relative humidity or absolute retrievals.
Method
Toggles relative or absolute retrievals.
Method
Toggles relative or absolute retrievals.
Method
Sets
legendre_degreetodisort_settingslegendre_polynomial_dimensionMethod
Sets
legendre_degreefor DISORT delta-M-plus input.Method
Executes
measurement_inversion_agenda, see it for more detailsMethod
Executes an operator emulating
measurement_inversion_agenda, see it, and alsomeasurement_inversion_agendaOperator, for more detailsMethod
Set
measurement_inversion_agendato a specific predefined optionMethod
Set
measurement_inversion_agendato exclusively use provided external operator. Seemeasurement_inversion_agendaOperatorfor more details.Method
Applies transformations to the atmospheric state Jacobian
Method
Applies transformations to the line-by-line state Jacobian
Method
Applies transformations to the measurement sensor state Jacobian
Method
Applies transformations to the subsurface state Jacobian
Method
Applies transformations to the surface state Jacobian
Method
Apply all transformations to the Jacobian related to states in
model_state_vecFromData()Method
Adds a simple thin-lens camera model to the measurement sensor.
Method
Add a sensor to
measurement_sensorthat has a Gaussian zenith response.Method
Adds sensor elements from a raw perturbation of the sensor
Method
Adds a sensor with a dirac channel opening around the frequency grid.
Method
Adds a sensor with a Gaussian channel opening around the frequency grid.
Method
Adds range-resolved pencil-beam radar observation elements.
Method
Adds a sensor with a Gaussian channel opening around the frequency grid.
Method
Update
measurement_sensorfrommodel_state_vec.Method
Create a code-defined, predefined instrument using the ARTS3 sensor builder.
Method
Initialize
measurement_sensorandmeasurement_sensor_metato empty.Method
Creates a single simple Dirac-opening sensor
Method
Creates a single simple Gaussian-opening sensor.
Method
Creates a single simple Gaussian-opening sensor.
Method
Fill
measurement_sensor_metagridded field data frommeasurement_vec.Method
Add the measurement error to the measurement. Conditionally, also to the Jacobian.
Method
Sets measurement vector by looping over all sensor elements
Method
Deterministic polarized single-scattering active-radar forward model.
Method
Sets measurement vector by looping over all sensor elements
Method
Set the error and its Jacobian from the state of the model.
Method
Sets a constant measurement vector error covariance matrix.
Method
Sets the fitted measurement vector to the current measurement vector.
Method
Sets
model_state_vec’s atmospheric part.Method
Sets
model_state_vec’s absorption line part.Method
Get
model_state_vecfrom available dataMethod
Retrieve an atmospheric radar profile by analytical onion peeling.
Method
Sets
model_state_vec’s sensor part.Method
Sets
model_state_vec’s subsurface part.Method
Sets
model_state_vec’s surface part.Method
Sets
model_state_vecto the sizejac_targetsdemand.Method
Sets
model_state_vecto the sizejac_targetsdemand.Method
Integrate the spectral flux profile to get the line non-LTE flux
Method
Sets an atmospheric target.
Method
Set a measurement error to polynomial fit.
Method
Set magnetic field derivative.
Method
Set magnetic field derivative for overlapping fields.
Method
Set wind field derivative for overlapping fields.
Method
Set pressure derivative.
Method
Set sensor frequency derivative to use polynomial fitting offset
Method
Set isotopologue ratio derivative
Method
Set volume mixing ratio derivative.
Method
Sets a subsurface target
Method
Sets a surface target
Method
Set temperature derivative.
Method
Set wind field derivative.
Method
Calculate the averaging kernel matrix.
Method
Compute matched state and measurement bases and their information spectrum.
Method
Select leading modes from the full bases prepared by
oemBasisCalc().Method
Retrieve a model state by optimal estimation (oemCalc).
Method
Run oemCalc in reduced state and measurement coordinates.
Method
Validate
oemagainst the finalizedjac_targets.Method
Release recomputable products and caches in oem; retain inputs, current state, bases and diagnostics.
Method
Finalize the retrieval setup.
Method
Start an empty OEM setup and reset
jac_targets.Method
Initialize
oemfrom a complete numerical input problem.Method
Construct a measurement-only projection by grouping proportional Jacobian rows.
Method
Append a diagonal block to the measurement covariance in oem.
Method
Sets a constant measurement vector error covariance matrix.
Method
Clear the measurement covariance in oem, preserving all other data.
Method
Returns measurement noise standard deviations \(D_{ii}=\sqrt{S_{\epsilon,ii}}\).
Method
Calculates the covariance matrix describing the error due to uncertainties in the observation system.
Method
Restore retrieved physical quantities from oem.model_state_vec_apriori.
Method
Replace the prior in
oemby consumingmodel_state_vec.Method
Replace the observations in
oemby consumingmeasurement_vec.Method
Calculates the covariance matrix describing the error due to smoothing.
Method
Correlate matching grid points of two atmospheric retrieval targets with a constant coefficient.
Method
Initialises an empty model state covariance matrix.
Method
Fill the path with with points that crosses the
alt_gridMethod
Fill the path with with points that crosses the grid of the atmspheric field.
Method
Add the limb point to the ray path
Method
Fill the path with geometric step points.
Method
Fill the path with geometric step points.
Method
Fix azimuth angle errors that can occur for 180 and 0 degrees zenith.
Method
Create a depth profile ray path from a point.
Method
Get a geometric radiation path
Method
Wraps
ray_pathGeometric()for straight downlooking paths from the top-of-the-atmosphere altitudeMethod
Wraps
ray_pathGeometric()for straight uplooking paths from the surface altitude at the positionMethod
Initialize the ray path with a single point.
Method
Remove points that are too close to each other.
Method
Remove non-atmospheric points to the ray path
Method
Remove all non-geometric grid crossings from the ray path.
Method
Add the geometric extremes to the ray path.
Method
Adds observers that covers all zenith angles for each altitude point.
Method
Create a ray path field from a set of observers.
Method
Executes
ray_path_observer_agenda, see it for more detailsMethod
Executes an operator emulating
ray_path_observer_agenda, see it, and alsoray_path_observer_agendaOperator, for more detailsMethod
Set
ray_path_observer_agendato a specific predefined optionMethod
Set
ray_path_observer_agendafrom programmable geometric settings.Method
Set
ray_path_observer_agendato exclusively use provided external operator. Seeray_path_observer_agendaOperatorfor more details.Method
Get a list of observer positions and line of sights to represent observing all angles of a profile.
Method
Add \(n\) observers per altitude point.
Method
Extract position and line of sights for a sensor.
Method
Wraps
sun_pathFromObserverAgenda()for all paths to all suns.Method
Sets a path of Zeeman effect magnetic field properties.
Method
Method
Method
Method
Method
Gets the previous geometric point along
ray_pathMethod
Gets the previous refractive point along
ray_pathMethod
Executes
ray_point_back_propagation_agenda, see it for more detailsMethod
Executes an operator emulating
ray_point_back_propagation_agenda, see it, and alsoray_point_back_propagation_agendaOperator, for more detailsMethod
Set
ray_point_back_propagation_agendato a specific predefined optionMethod
Set
ray_point_back_propagation_agendato exclusively use provided external operator. Seeray_point_back_propagation_agendaOperatorfor more details.Method
Read variable from file.
Method
Saves variable to file.
Method
Initialize scattering species.
Method
Set the variable to the new value.
Method
Add microwave gas refractivity for an Earth-like atmosphere.
Method
Add microwave gas refractivity for a planetary atmosphere.
Method
Add the Harvey et al. (1998) water/steam refractivity to
single_dispersion.Method
Add line-by-line absorption to the propagation matrix.
Method
Initialize single-point propagation matrix fields.
Method
Executes
single_propmat_agenda, see it for more detailsMethod
Executes an operator emulating
single_propmat_agenda, see it, and alsosingle_propmat_agendaOperator, for more detailsMethod
Configure
single_propmat_agendafor Earth microwave gas refraction.Method
Configure
single_propmat_agendafor planetary microwave gas refraction.Method
Set
single_propmat_agendato exclusively use provided external operator. Seesingle_propmat_agendaOperatorfor more details.Method
Configure
single_propmat_agendafor Harvey98 water/steam refraction.Method
Computes the spectral radiance for a single frequency using clear-sky emission propagation.
Method
Composition method to extract a single spectral radiance from a vector.
Method
Executes
single_rad_space_agenda, see it for more detailsMethod
Executes an operator emulating
single_rad_space_agenda, see it, and alsosingle_rad_space_agendaOperator, for more detailsMethod
Set
single_rad_space_agendato a specific predefined optionMethod
Set
single_rad_space_agendato exclusively use provided external operator. Seesingle_rad_space_agendaOperatorfor more details.Method
Executes
single_rad_surface_agenda, see it for more detailsMethod
Executes an operator emulating
single_rad_surface_agenda, see it, and alsosingle_rad_surface_agendaOperator, for more detailsMethod
Set
single_rad_surface_agendato a specific predefined optionMethod
Set
single_rad_surface_agendato exclusively use provided external operator. Seesingle_rad_surface_agendaOperatorfor more details.Method
Computes the spectral flux from a field of paths.
Method
Computes the spectral flux. The input field must be a profile.
Method
Computes the spectral flux profile using pseudo-2D geometry
Method
Add absorption coefficients for HITRAN collision induced absorption (CIA).
Method
Calculates absorption matrix describing Faraday rotation.
Method
Add line-by-line absorption to the propagation matrix.
Method
Add line-by-line absorption to the propagation matrix.
Method
Adds all of the predefined models in
abs_speciesto the spectral_propmatMethod
Add line-by-line absorption to the propagation matrix.
Method
Calculate absorption cross sections per tag group for HITRAN xsec species.
Method
Initialize
spectral_propmat,spectral_nlte_srcvec, and their derivatives to zeroes.Method
Add line-by-line absorption to the propagation matrix.
Method
Sets the
spectral_propmat_agendaautomatically from absorption data on the workspace, and species tag meta information.Method
Executes
spectral_propmat_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_propmat_agenda, see it, and alsospectral_propmat_agendaOperator, for more detailsMethod
Set
spectral_propmat_agendato a specific predefined optionMethod
Set
spectral_propmat_agendato exclusively use provided external operator. Seespectral_propmat_agendaOperatorfor more details.Method
Executes
spectral_propmat_and_atm_path_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_propmat_and_atm_path_agenda, see it, and alsospectral_propmat_and_atm_path_agendaOperator, for more detailsMethod
Set
spectral_propmat_and_atm_path_agendato a specific predefined optionMethod
Sets the
spectral_propmat_and_atm_path_agendato adaptive mode with the provided parameters.Method
Set
spectral_propmat_and_atm_path_agendato exclusively use provided external operator. Seespectral_propmat_and_atm_path_agendaOperatorfor more details.Method
Fix for the wind field derivative.
Method
Same as
spectral_propmat_pathFromPath()but with adaptive path.Method
Adds the scattering part of the propagation matrix to the rest along the path.
Method
Gets the propagation matrix and non-LTE source term along the path.
Method
As
spectral_propmat_pathFromPath()but the output is split between the species in theMethod
Adds
scat_speciesresults for totally random oriented spectral calculations toMethod
Add simple air to
spectral_propmat_scat.Method
Initialize
spectral_propmat_scatto zeroes.Method
Initialize
spectral_propmat_scatand co to zeroes.Method
Executes
spectral_propmat_scat_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_propmat_scat_agenda, see it, and alsospectral_propmat_scat_agendaOperator, for more detailsMethod
Set
spectral_propmat_scat_agendato a specific predefined optionMethod
Set
spectral_propmat_scat_agendato exclusively use provided external operator. Seespectral_propmat_scat_agendaOperatorfor more details.Method
Gets the propagation matrix for scattering along the path.
Method
Compute
spectral_propmat_scat_pathand co for a path.Method
Executes
spectral_propmat_scat_spectral_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_propmat_scat_spectral_agenda, see it, and alsospectral_propmat_scat_spectral_agendaOperator, for more detailsMethod
Set
spectral_propmat_scat_spectral_agendato a specific predefined optionMethod
Set
spectral_propmat_scat_spectral_agendato exclusively use provided external operator. Seespectral_propmat_scat_spectral_agendaOperatorfor more details.Method
Helper to call
spectral_radApplyUnit()when you do not havespectral_rad_jac.Method
Applies a unit to
spectral_rad, returning a new fieldMethod
Helper method for calling
spectral_radApplyUnit().Method
Computes clearsky transmission of spectral radiances
Method
Computes clearsky emission of spectral radiances
Method
Wraps
single_radClearskyEmissionPropagation()for a vector of frequencies.Method
Computes clearsky emission of spectral radiances
Method
Computes clearsky emission of spectral radiances with solar Rayleigh scattering
Method
Computes clearsky spectral radiances with first-order solar scattering from scat_species
Method
Computes clearsky transmission of spectral radiances
Method
Gets the spectral radiance from the path transmission.
Method
Sets default
spectral_radandspectral_rad_jacfor transmission.Method
Extract spectral radiance from the Disort field at the ray path point.
Method
Computes pencil-beam spectral radiance with passive Monte Carlo.
Method
Set the spectral radiance to the background values.
Method
Computes the spectral radiance by looping over frequencies for a single path.
Method
Gets the spectral radiance from the path.
Method
Get the spectral radiance from subsurface emission simulated using Disort
Method
Gets the spectral radiance from the path.
Method
Get the spectral radiance of a sun or of the cosmic background if the sun is not hit.
Method
Get the spectral radiance of a sun or of the cosmic background if no sun is hit.
Method
Set surface spectral radiance from Planck function of the surface temperature.
Method
Set surface spectral radiance to use sub-surface emission and Fresnel reflectance.
Method
Background spectral radiance is from a uniform cosmic background temperature.
Method
Computes the background radiation.
Method
Executes
spectral_rad_closed_surface_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_rad_closed_surface_agenda, see it, and alsoSpectralRadianceSurfaceAgendaOperator, for more detailsMethod
Set
spectral_rad_closed_surface_agendato a specific predefined optionMethod
Set
spectral_rad_closed_surface_agendato exclusively use provided external operator. SeeSpectralRadianceSurfaceAgendaOperatorfor more details.Method
Computes the spectral radiance field using
ray_path_observer_agenda.Method
Computes the spectral radiance field assuming planar geometric paths
Method
Computes the spectral radiance field assuming a profile and a pseudo-2D path.
Method
Adds the propagation variables to
spectral_rad_jac.Method
Adds sensor properties to the
spectral_rad_jac.Method
Set the radiation derivative to empty.
Method
Sets
spectral_rad_jacfrom the background values.Method
Executes
spectral_rad_observer_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_rad_observer_agenda, see it, and alsospectral_rad_observer_agendaOperator, for more detailsMethod
Set
spectral_rad_observer_agendato a specific predefined optionMethod
Set
spectral_rad_observer_agendato exclusively use provided external operator. Seespectral_rad_observer_agendaOperatorfor more details.Method
Set up a 1D spectral radiance operator
Method
Compute first-order solar scattering from
scat_speciesalongray_path.Method
Add
sunstospectral_rad_srcvec_path.Method
Executes
spectral_rad_space_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_rad_space_agenda, see it, and alsospectral_rad_space_agendaOperator, for more detailsMethod
Set
spectral_rad_space_agendato a specific predefined optionMethod
Set
spectral_rad_space_agendato exclusively use provided external operator. Seespectral_rad_space_agendaOperatorfor more details.Method
Adds the scattering part of the source vector to the rest along the path.
Method
Remove thermal emission incorrectly associated with nonabsorbing scattering extinction.
Method
Gets the source term along the path.
Method
Executes
spectral_rad_surface_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_rad_surface_agenda, see it, and alsoSpectralRadianceSurfaceAgendaOperator, for more detailsMethod
Set
spectral_rad_surface_agendato a specific predefined optionMethod
Set
spectral_rad_surface_agendato exclusively use provided external operator. SeeSpectralRadianceSurfaceAgendaOperatorfor more details.Method
Creates a
SpectralRadianceTransformOperatorfrom aSpectralRadianceUnitType.Method
Set the surface reflectance to the flat real Fresnel reflectance
Method
Set the surface reflectance to the flat real Fresnel reflectance
Method
Compute polarized specular land reflectance with TELSEM2.
Method
Compute polarized specular ocean reflectance with TESSEM2.
Method
Executes
spectral_surf_refl_agenda, see it for more detailsMethod
Executes an operator emulating
spectral_surf_refl_agenda, see it, and alsospectral_surf_refl_agendaOperator, for more detailsMethod
Set
spectral_surf_refl_agendato a specific predefined optionMethod
Set
spectral_surf_refl_agendato exclusively use provided external operator. Seespectral_surf_refl_agendaOperatorfor more details.Method
Gets the transmission matrix in layers along the path.
Method
Executes
subsurf_disort_settings_agenda, see it for more detailsMethod
Executes an operator emulating
subsurf_disort_settings_agenda, see it, and alsoDisortSettingsAgendaOperator, for more detailsMethod
Set
subsurf_disort_settings_agendato exclusively use provided external operator. SeeDisortSettingsAgendaOperatorfor more details.Method
Sets
subsurf_fieldto the state of the model.Method
Extract a subsurface profile from a ray path.
Method
Set
sunto blackbody.Method
Extracts a sun spectrum from a field of such data.
Method
Find a path that hits the sun if possible
Method
Earth reference ellipsoids.
Method
Europa reference ellipsoids.
Method
Sets
surf_fieldto the state of the model.Method
Ganymede reference ellipsoids.
Method
Manual setting of the reference ellipsoid.
Method
Io reference ellipsoids.
Method
Jupiter reference ellipsoids.
Method
Mars reference ellipsoids.
Method
Moon reference ellipsoids.
Method
Initialize the surface field with the ellipsoid of a planet.
Method
Venus reference ellipsoids.
Method
Swap the workspace for another.
Method
Read one original TELSEM2 monthly atlas file.
Method
Read an original TESSEM2 neural-network parameter file.
Method
Calculate equivalent water pressure according to Murphy and Koop, 2005
Method
A custom zenith grid for
spectral_rad_fieldProfilePseudo2D()Static Method
Create variable from file.
Bands of absorption lines for line-by-line (LBL) calculations.
HITRAN Collision-Induced Absorption (CIA) Data.
Error-corrected sudden data
Absorption lookup table for scalar gas absorption coefficients.
This contains predefined model data.
Tag groups for gas absorption.
Fitting model coefficients for cross section species.
A single altitude in the atmosphere.
An ascending list of
alt. Often related to a field or a profile.Contains the full settings of spectral Disort calculations for atmospheric conditions.
A specialization of
disort_settings_agendafor atmospheric calculations.An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS.
Atmospheric points along the propagation path.
An atmospheric point in ARTS.
A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface.The number of Fourier modes for Disort.
The number of input Legendre polynimials for Disort.
The quadrature angles for Disort with accompying weights.
The quadrature size for Disort.
Contains the full settings of spectral Disort calculations.
An agenda for setting up Disort.
An wrapper agenda for calling
disort_settings_agenda.The spectral flux field from Disort.
The spectral radiance field from Disort.
A single frequency. Unit: Hz.
A frequency grid. Unit: Hz.
All
freq_gridalong the propagation path.The frequency wind shift Jacobian.
A list of
freq_wind_shift_jacfor a ray path.The gravity operator.
Evaluate a retrieval state. See
oemCalc().A list of targets for the Jacobian Matrix calculations.
A single latitude.
An ascending list of
lat. Often related to a field or a profile.The degree of a Legendre polynomial.
A single longitude.
An ascending list of
lon. Often related to a field or a profile.A control parameter for stepping through layers in ray tracing.
Transmit and receive antenna pattern for Monte Carlo calculations.
Standard error of
mc_spectral_rad.Number of photon histories used by
MCGeneral().Passive Monte Carlo spectral radiance at one frequency.
Simulate the fitted measurement for the current physical model.
The first order partial derivatives of the
measurement_vec.The partial derivatives of the
measurement_vec_error.A list of sensor elements that fully describe one or more observing sensor(s).
Metadata describing each sensor’s block in
measurement_vec.The measurement vector for, e.g., a sensor.
The error
measurement_vec.Covariance matrix for observation uncertainties.
As
measurement_vec, but fitted to the model.Covariance matrix of a priori distribution.
Complete mapping from
model_state_vecto physical model fields and measurement errors.A state vector of the model.
A per-line flux profile.
The line-of-sight of the observer of spectral radiance.
The position of an observer of spectral radiance.
Numerical problem and results for
oemCalc()andoemCalcReduced().Auxiliary active-radar quantities.
Component-wise standard error of
radar_signalfor each range bin.Range-gate limits for active-radar measurements.
Monte Carlo radar return with one Stokes vector per range bin.
A list path points making up a propagation path.
A list of
ray_pathintended to build up a field of observations.Gets the propagation path as it is observed.
A list path points making up the observers of a propagation path.
A list of paths to the suns from the ray path.
A single path point.
Gets the next past point along a propagation path.
The radiative transfer equation (RTE) option.
The scattering species
Species selection.
Species selection when multiple species must be chosen.
A dispersion at a single
freqpoint.A dispersion Jacobian at a single
freqpoint.A non-LTE source vector at a single
freqpoint.A non-LTE source vector Jacobian at a single
freqpoint.A propagation matrix at a single
freqpoint.Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives.
A propagation matrix Jacobian at a single
freqpoint.Single value version of
spectral_rad.Single value version of
spectral_rad_jac.Gets spectral radiance as seen of space for a single frequency.
Gets spectral radiance as seen of the surface for a single frequency.
The absorption vector of totally random orientation particles at a single point along a path using spectral representation
The absorption vector of totally random orientation particles along the propagation path using spectral representation
An altitude profile of spectral flux.
The part of the source vector that is due to non-LTE.
Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets.Additional non-LTE derivative along the propagation path
Additional non-LTE derivative in a propagation profile
Additional non-LTE along the propagation path
Additional non-LTE in a propagation profile
The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation
The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation
This contains the fully polarized propagation matrix for the current path point.
Computes the propagation matrix, the non-LTE source vector, and their derivatives.
Computes several path parameters along the path.
Partial derivative of the
spectral_propmatwith regards tojac_targets.Propagation derivative matrices along the propagation path
Propagation derivative matrices in a propagation profile
Propagation matrices along the propagation path
Propagation matrices in a propagation profile
This contains the propagation matrix for scattering for the current path point.
Computes the part of the propagation matrix that relates to scattering.
Propagation matrices along the propagation path for scattering
Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix.
A spectral radiance vector.
Spectral radiance from the background
Spectral radiance derivative from the background
A closed surface agenda.
The spectral radiance field.
Jacobian of
spectral_radwith respect tojac_targets.Spectral radiance derivative along the propagation path
Computes spectral radiance as seen from the input position and environment.
The spectral radiance operator.
Spectral radiance scattered into the propagation path
Gets spectral radiance as seen of space.
Source vectors along the propagation path
Computes spectral radiance as seen of the surface.
The spectral radiance transform operator
Spectral surface reflectance.
An agenda to compute the surface reflectance.
Spectral surface reflectance jacobian.
Transmission matrices and derivatives along the propagation path.
Contains the full settings of spectral Disort calculations for subsurface conditions.
A specialization of
disort_settings_agendafor subsurface calculations.The sub-surface field.
A profile of subsurface points. Supposed to be ordered from top to bottom.
A sun.
A path to a sun if it is visible.
A list of
Sun.The surface field.
TELSEM monthly land-surface emissivity atlas.
TESSEM neural network for horizontal-polarization emissivity.
TESSEM neural network for vertical-polarization emissivity.
The water equivalent pressure operator.
The workspace variables
A single zenith angle grid.
Operator
Return self==value.
Operator
__format__(self, arg: str, /) -> strOperator
Return self>=value.
Operator
Return self>value.
Operator
Return hash(self).
Operator
__init__(self, with_defaults: bool = True) -> NoneOperator
Allows iter(self)
Operator
Return self<=value.
Operator
Return self<value.
Operator
Return self!=value.
Operator
__repr__(self) -> strOperator
__str__(self) -> strConstructors
- __init__(self) None
- __init__(self, arg: CxxWorkspace) None
- __init__(self, with_defaults: bool = True) None
Methods
- CoupledAtmosphereAndSubsurfaceDisortSettings(self, atm_disort_settings: DisortSettings = self.atm_disort_settings, subsurf_disort_settings: DisortSettings = self.subsurf_disort_settings, atm_disort_settings_agenda: Agenda = self.atm_disort_settings_agenda, subsurf_disort_settings_agenda: Agenda = self.subsurf_disort_settings_agenda, surf_field: SurfaceField = self.surf_field, freq_grid: AscendingGrid = self.freq_grid, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension) None
Use
alt_gridto create a coupled atmospheric and subsurfaceDisortSettings.The surface elevation at the input
latandlonmust be within thealt_gridrange. When used to computedisort_spectral_rad_fieldordisort_spectral_flux_field, their respective internal altitude grids will contain the surface elevation as a grid point.Author: Richard Larsson
Used by wrapper methods
- Parameters:
atm_disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations for atmospheric conditions. Defaults to
self.atm_disort_settings. [OUT]subsurf_disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations for subsurface conditions. Defaults to
self.subsurf_disort_settings. [OUT]atm_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor atmospheric calculations. Defaults toself.atm_disort_settings_agenda. [IN]subsurf_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor subsurface calculations. Defaults toself.subsurf_disort_settings_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]
- Ignore(self, input: Any) None
Ignore a workspace variable.
This method is handy for use in agendas in order to suppress warnings about unused input workspace variables. What it does is: Nothing! In other words, it just ignores the variable it is called on.
This method can ignore any workspace variable you want.
Author: Stefan Buehler
- Parameters:
input (Any) – Variable to be ignored. [IN]
- MCGeneral(self, mc_spectral_rad: Stokvec = self.mc_spectral_rad, mc_error: Stokvec = self.mc_error, mc_iteration_count: Index = self.mc_iteration_count, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, mc_antenna: MCAntenna = self.mc_antenna, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, frequency: Numeric, sensor_pos: Vector3, sensor_los: Vector2, mc_seed: Index = 0, mc_min_iter: Index = 100, mc_max_iter: Index = 10000, mc_max_scatorder: Index = 20, mc_std_err: Numeric = 0, mc_max_time: Numeric = 0) None
Backward passive Monte Carlo radiative-transfer calculation.
This ARTS3-native implementation samples antenna directions, extinction collisions, thermal absorption, repeated particle scattering, and space or surface background agendas. It transports all four Stokes components using laboratory-frame phase matrices, including the required polarization-basis rotations. Scattering directions use uniform solid-angle importance sampling.
Authors: Cory Davis, Patrick Eriksson, OpenAI Codex
- Parameters:
mc_spectral_rad (~pyarts3.arts.Stokvec, optional) – Passive Monte Carlo spectral radiance at one frequency. Defaults to
self.mc_spectral_rad. [OUT]mc_error (~pyarts3.arts.Stokvec, optional) – Standard error of
mc_spectral_rad. Defaults toself.mc_error. [OUT]mc_iteration_count (~pyarts3.arts.Index, optional) – Number of photon histories used by
MCGeneral(). Defaults toself.mc_iteration_count. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]mc_antenna (~pyarts3.arts.MCAntenna, optional) – Transmit and receive antenna pattern for Monte Carlo calculations. Defaults to
self.mc_antenna. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]frequency (Numeric) – Frequency [Hz]. [IN]
sensor_pos (Vector3) – Sensor position [alt, lat, lon]. [IN]
sensor_los (Vector2) – Sensor boresight [zenith, azimuth]. [IN]
mc_seed (~pyarts3.arts.Index, optional) – Random seed. Defaults to
0[IN]mc_min_iter (~pyarts3.arts.Index, optional) – Minimum histories. Defaults to
100[IN]mc_max_iter (~pyarts3.arts.Index, optional) – Maximum histories. Defaults to
10000[IN]mc_max_scatorder (~pyarts3.arts.Index, optional) – Maximum scattering order. Defaults to
20[IN]mc_std_err (~pyarts3.arts.Numeric, optional) – Absolute standard-error stopping threshold in spectral-radiance units; zero disables it. Defaults to
0[IN]mc_max_time (~pyarts3.arts.Numeric, optional) – Wall-clock stopping time [s]; zero disables it. Defaults to
0[IN]
- MCRadar(self, radar_signal: StokvecVector = self.radar_signal, radar_error: StokvecVector = self.radar_error, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, mc_antenna: MCAntenna = self.mc_antenna, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, frequency: Numeric, sensor_pos: Vector3, sensor_los: Vector2, mc_y_tx: Stokvec, range_bins: AscendingGrid, mc_seed: Index = 0, mc_max_iter: Index = 1000, mc_max_scatorder: Index = 1, k2: Numeric = 0.93, unit: String = 1) None
Simulates active-radar returns using Monte Carlo antenna sampling.
This ARTS3-native implementation uses
AtmField,SurfaceField,ArrayOfScatteringSpecies, andray_path_observer_agenda. Range-bin edges are one-way geometric distances in metres. The outputs contain oneStokvecper range bin, and the error contains the component-wise standard error of the Monte Carlo mean. The implementation currently supports single scattering (mc_max_scatorder=1); the argument is retained so higher orders can be added without changing the interface.Authors: Richard Larsson, OpenAI Codex
- Parameters:
radar_signal (~pyarts3.arts.StokvecVector, optional) – Monte Carlo radar return with one Stokes vector per range bin. Defaults to
self.radar_signal. [OUT]radar_error (~pyarts3.arts.StokvecVector, optional) – Component-wise standard error of
radar_signalfor each range bin. Defaults toself.radar_error. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]mc_antenna (~pyarts3.arts.MCAntenna, optional) – Transmit and receive antenna pattern for Monte Carlo calculations. Defaults to
self.mc_antenna. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]frequency (Numeric) – Radar frequency [Hz]. [IN]
sensor_pos (Vector3) – Sensor position [alt, lat, lon]. [IN]
sensor_los (Vector2) – Sensor boresight [zenith, azimuth]. [IN]
mc_y_tx (Stokvec) – Transmitted Stokes vector. [IN]
range_bins (AscendingGrid) – One-way range-bin edges [m]. [IN]
mc_seed (~pyarts3.arts.Index, optional) – Random seed. Defaults to
0[IN]mc_max_iter (~pyarts3.arts.Index, optional) – Number of sampled antenna rays. Defaults to
1000[IN]mc_max_scatorder (~pyarts3.arts.Index, optional) – Maximum scattering order (currently must be 1). Defaults to
1[IN]k2 (~pyarts3.arts.Numeric, optional) – Reference dielectric factor squared for Ze conversion. Defaults to
0.93[IN]unit (~pyarts3.arts.String, optional) – Output unit: ‘1’ or ‘Ze’. Defaults to
"1"[IN]
- Profile2Path(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, atm_path: ArrayOfAtmPoint = self.atm_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, freq_grid: AscendingGrid = self.freq_grid, alt_grid: AscendingGrid = self.alt_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_profile: ArrayOfAtmPoint = self.atm_profile, spectral_propmat_profile: ArrayOfPropmatVector = self.spectral_propmat_profile, spectral_propmat_jac_profile: ArrayOfPropmatMatrix = self.spectral_propmat_jac_profile, spectral_nlte_srcvec_profile: ArrayOfStokvecVector = self.spectral_nlte_srcvec_profile, spectral_nlte_srcvec_jac_profile: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_profile) None
Turns profile data into path data.
Only valid when local spectral properties are identical in all directions. Neither polarization nor wind calculations are possible with this method.
Author: Richard Larsson
- Parameters:
spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [OUT]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [OUT]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [OUT]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [OUT]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [OUT]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [OUT]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]spectral_propmat_profile (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices in a propagation profile. Defaults to
self.spectral_propmat_profile. [IN]spectral_propmat_jac_profile (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices in a propagation profile. Defaults to
self.spectral_propmat_jac_profile. [IN]spectral_nlte_srcvec_profile (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE in a propagation profile. Defaults to
self.spectral_nlte_srcvec_profile. [IN]spectral_nlte_srcvec_jac_profile (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative in a propagation profile. Defaults to
self.spectral_nlte_srcvec_jac_profile. [IN]
- ProfileFromAltitude(self, atm_profile: ArrayOfAtmPoint = self.atm_profile, spectral_propmat_profile: ArrayOfPropmatVector = self.spectral_propmat_profile, spectral_propmat_jac_profile: ArrayOfPropmatMatrix = self.spectral_propmat_jac_profile, spectral_nlte_srcvec_profile: ArrayOfStokvecVector = self.spectral_nlte_srcvec_profile, spectral_nlte_srcvec_jac_profile: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_profile, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, jac_targets: JacobianTargets = self.jac_targets, alt_grid: AscendingGrid = self.alt_grid, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon) None
Turns profile data into path data.
Only valid when local spectral properties are identical in all directions. Neither polarization nor wind calculations are possible with this method.
Author: Richard Larsson
- Parameters:
atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [OUT]spectral_propmat_profile (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices in a propagation profile. Defaults to
self.spectral_propmat_profile. [OUT]spectral_propmat_jac_profile (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices in a propagation profile. Defaults to
self.spectral_propmat_jac_profile. [OUT]spectral_nlte_srcvec_profile (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE in a propagation profile. Defaults to
self.spectral_nlte_srcvec_profile. [OUT]spectral_nlte_srcvec_jac_profile (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative in a propagation profile. Defaults to
self.spectral_nlte_srcvec_jac_profile. [OUT]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]
- ReadCatalogData(self, abs_predef_data: PredefinedModelData = self.abs_predef_data, abs_xfit_data: XsecRecords = self.abs_xfit_data, abs_cia_data: CIARecords = self.abs_cia_data, abs_bands: AbsorptionBands = self.abs_bands, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String = , ignore_missing: Index = 0) None
The standard method to read absorption catalog data for ARTS.
Reads split catalog data from a folder structure similar to
arts-cat-dataWraps:
abs_bandsReadSpeciesSplitCatalog()with “lines/” added tobasenameabs_cia_dataReadSpeciesSplitCatalog()with “cia/” added tobasenameabs_xfit_dataReadSpeciesSplitCatalog()with “xsec/” added tobasenameabs_predef_dataReadSpeciesSplitCatalog()with “predef/” added tobasenameandname_missing= 1
Author: Richard Larsson
- Parameters:
abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [OUT]abs_xfit_data (~pyarts3.arts.XsecRecords, optional) – Fitting model coefficients for cross section species. Defaults to
self.abs_xfit_data. [OUT]abs_cia_data (~pyarts3.arts.CIARecords, optional) – HITRAN Collision-Induced Absorption (CIA) Data. Defaults to
self.abs_cia_data. [OUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (~pyarts3.arts.String, optional) – Absolute or relative path to the data. Defaults to
""[IN]ignore_missing (~pyarts3.arts.Index, optional) – Ignore missing files instead of throwing an error. Defaults to
0[IN]
- ReadXML(self, output: Any | None = None, filename: String) None
Reads a workspace variable from an XML file.
This method can read variables of any group.
If the given filename does not exist, this method will also look for files with an added .xml, .xml.gz and .gz extension.
Note
ARTS groups, including those that are not workspace groups, generally have two methods called
fromxmlandreadxmlthat you can access directly from python. It is often more convenient and better to use these methods directly instead of using this workspace method. It exists mainly for completeness and for use in agendas.Author: Oliver Lemke
- ReadXMLIndexed(self, output: Any | None = None, file_index: Index, filename: String, digits: Index = 0) None
As
ReadXML(), but reads indexed file names.The variable is read from a file with name:
<filename>.<file_index>.xml.
where <file_index> is the value of
file_index.This means that
filenameshall here not include the .xml extension.Note
ARTS groups, including those that are not workspace groups, generally have two methods called
fromxmlandreadxmlthat you can access directly from python. It is often more convenient and better to use these methods directly instead of using this workspace method. It exists mainly for completeness and for use in agendas.Author: Oliver Lemke
- Parameters:
output (Any) – Workspace variable to be read. Defaults to create and/or use
self.output. [OUT]file_index (Index) – Index of the file to read. [IN]
filename (String) – File name. See above. [IN]
digits (~pyarts3.arts.Index, optional) – Equalize the widths of all numbers by padding with zeros as necessary. 0 means no padding (default). Defaults to
0[IN]
- Touch(self, input: Any | None = None) None
As
Ignore()but for agenda output.This method is handy for use in agendas in order to suppress warnings about not-produced output workspace variables.
What it does, in case the variable is initialized already, is: Nothing! In case the variable is not yet initialized, it is default initialized.
Author: Oliver Lemke
- Parameters:
input (Any) – Variable to do nothing with. Defaults to create and/or use
self.input. [OUT]
- UpdateModelStates(self, abs_bands: AbsorptionBands = self.abs_bands, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, atm_field: AtmField = self.atm_field, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, model_state_targets: JacobianTargets = self.model_state_targets, model_state_vec: Vector = self.model_state_vec) None
Update state of the model in preparation for a forward model run
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.abs_bandsFromModelState() 6 ws.surf_fieldFromModelState() 7 ws.subsurf_fieldFromModelState() 8 ws.atm_fieldFromModelState() 9 ws.measurement_sensorFromModelState()
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]
- WignerInit(self, fast_wigner_stored_symbols: Index = 20000000, largest_wigner_symbol_parameter: Index = 250, symbol_type: Index = 6) None
Initialize the Wigner tables
The default values take about 1 Gb memory.
The static data is kept in an external library and is therefore only available inside ARTS. Nevertheless, this must be set by the application because any default value might be too small or too large for the needs of any one application.
We rely on the Wigner library by Johansson and Forssén [12]. This method allows mimicking the initialization of that library.
Tip
If you are starved for memory, you can call
WignerUnload()after you are done with all Wigner calculations. This will free the memory.Author: Richard Larsson
- Parameters:
fast_wigner_stored_symbols (~pyarts3.arts.Index, optional) – Number of stored symbols possible before replacements. Defaults to
20000000[IN]largest_wigner_symbol_parameter (~pyarts3.arts.Index, optional) – Largest symbol used for initializing factorials (e.g., largest J or L). Defaults to
250[IN]symbol_type (~pyarts3.arts.Index, optional) – Type of symbol (3 or 6). Defaults to
6[IN]
- WignerUnload(self) None
Unloads the Wigner tables from static data (see
WignerInit())Author: Richard Larsson
- WriteBuiltinPartitionFunctionsXML(self, output_file_format: String = ascii, dir: String, Tlow: Numeric, Tupp: Numeric, N: Index) None
Writes all the builtin partition functions to file.
All available partition functions are written to files in the select format in the select directory
The temperature will be linearly spaced between [Tlow, Tupp] with N values
See
FileTypefor validoutput_file_format.Author: Richard Larsson
- Parameters:
output_file_format (~pyarts3.arts.String, optional) – The format of the output. Defaults to
"ascii"[IN]dir (String) – The directory to write the data towards. [IN]
Tlow (Numeric) – The lowest temperature. [IN]
Tupp (Numeric) – The highest temperature. [IN]
N (Index) – The number of temperature points. [IN]
- WriteXML(self, output_file_format: String = ascii, input: Any, filename: String, no_clobber: Index = 0) None
Writes a workspace variable to an XML file.
This method can write variables of any group.
If no_clobber is set to 1, an increasing number will be appended to the filename if the file already exists.
See
FileTypefor validoutput_file_format.Note
ARTS groups, including those that are not workspace groups, generally have a method called
savexmlthat you can access directly from python. It is often more convenient and better to use this method directly instead of using this workspace method. It exists mainly for completeness and for use in agendas.Author: Oliver Lemke
- Parameters:
output_file_format (~pyarts3.arts.String, optional) – The format of the output. Defaults to
"ascii"[IN]input (Any) – Variable to be saved. [IN]
filename (String) – Name of the XML file. [IN]
no_clobber (~pyarts3.arts.Index, optional) – 0: Overwrite existing files, 1: Use unique filenames. Defaults to
0[IN]
- WriteXMLIndexed(self, output_file_format: String = ascii, file_index: Index, input: Any, filename: String, digits: Index = 0) None
As
WriteXML(), but creates indexed file names.The variable is written to a file with name:
<filename>.<file_index>.xml.
where <file_index> is the value of
file_index.This means that
filenameshall here not include the .xml extension.See
FileTypefor validoutput_file_format.Note
ARTS groups, including those that are not workspace groups, generally have a method called
savexmlthat you can access directly from python. It is often more convenient and better to use this method directly instead of using this workspace method. It exists mainly for completeness and for use in agendas.Author: Patrick Eriksson, Oliver Lemke
- Parameters:
output_file_format (~pyarts3.arts.String, optional) – The format of the output. Defaults to
"ascii"[IN]file_index (Index) – Index number for files. [IN]
input (Any) – Workspace variable to be saved. [IN]
filename (String) – File name. See above. [IN]
digits (~pyarts3.arts.Index, optional) – Equalize the widths of all numbers by padding with zeros as necessary. 0 means no padding (default). Defaults to
0[IN]
- abs_bandsFromModelState(self, abs_bands: AbsorptionBands = self.abs_bands, model_state_vec: Vector = self.model_state_vec, model_state_targets: JacobianTargets = self.model_state_targets) None
Sets
abs_bandsto the state of the model.Author: Richard Larsson
Used by wrapper method
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]
- abs_bandsKeepID(self, abs_bands: AbsorptionBands = self.abs_bands, id: QuantumIdentifier, line: Index = -1) None
Keeps first band of ID
If
lineis positive, also keep only the line of this indexAuthor: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]id (QuantumIdentifier) – Band to keep. [IN]
line (~pyarts3.arts.Index, optional) – Line to keep (if positive). Defaults to
-1[IN]
- abs_bandsLineMixingAdaptation(self, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, atm_point: AtmPoint = self.atm_point, temperatures: AscendingGrid, band_key: QuantumIdentifier, rosenkranz_fit_order: Index = 1, polynomial_fit_degree: Index = 3) None
Adapts select band to use ordered Line mixing coefficients.
This is an experimental feature and might not work.
The computations of line mixing are done on the grid of temperatures provided.
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]temperatures (AscendingGrid) – The temperatures to use for the internal fitting. [IN]
band_key (QuantumIdentifier) – The band to adapt. [IN]
rosenkranz_fit_order (~pyarts3.arts.Index, optional) – The degree of Rosenkranz coefficients (1 for just fitting y, 2 for fitting also g and dv). Defaults to
1[IN]polynomial_fit_degree (~pyarts3.arts.Index, optional) – The highest order of the polynomial fit (2 means square, 3 means cubic, etc). Defaults to
3[IN]
- abs_bandsReadHITRAN(self, abs_bands: AbsorptionBands = self.abs_bands, file: String, frequency_range: Vector2 = [-inf, inf], file_formatter: ArrayOfString = [par], line_strength_option: String = S, compute_zeeman_parameters: Index = 1) None
Reads HITRAN data from a file.
The HITRAN file is assumed sorted in frequency, with each line record filling up one line of text.
If the full 160-char line record is consumed without reaching the end of the line, qns’ and qns’’ are assumed appended with default HITRANonline format.
You may pass an inclusive frequency range to limit what is read. This will limit the data read to the range [fmin, fmax]. All data before fmin is limited to parsing just up until the frequency, and the database is returned if the fmax frequency is exceeded.
The optional parameter
einstein_coefficientis used to indicate if it is to be computed from the line strength, or simply read from the Hitran data.Warning
Several HITRAN lines has Einstein coefficients that will not reproduce the results of pure line strength simulations. If the option is set to read the Einstein coefficicent (“A”) instead of computing it (“S”) the program will throw an error if missing data is encountered.
Note
For the computed Einstein coefficients, if the upper degeneracy is missing, it will be set to either - (2J+1) or -1 if J is not a local quantum number. Note that this will also make the Einstein coefficient negative. This should not affect the simulation, but it is a warning that the data is not complete.
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [OUT]file (String) – Filename. [IN]
frequency_range (~pyarts3.arts.Vector2, optional) – Frequency range selection. Defaults to
-inf inf[IN]file_formatter (~pyarts3.arts.ArrayOfString, optional) – The order of file format types. See
HitranFileFormatTypefor valid options. Defaults topar[IN]line_strength_option (~pyarts3.arts.String, optional) – Whether the Hitran line strength or the Hitran Einstein coefficient is used, the latter has historically been less reliable. Defaults to
"S"[IN]compute_zeeman_parameters (~pyarts3.arts.Index, optional) – Compute the Zeeman parameters from the HITRAN data (will not activate Zeeman calculations, this must be done manually afterwards). Defaults to
1[IN]
- abs_bandsReadJPL(self, abs_bands: AbsorptionBands = self.abs_bands, file: String) None
Reads JPL data from a file.
The JPL file is assumed to have each line record filling up one line of text.
The builtin JPL map is used to find species. This set of species can be extended during compilation only.
This is still a WIP and most species are missing. They will be added as we need them.
Note also that quantum numbers are not yet supported in the JPL data, and thus all lines and bands will be unable to use features that relies on quantum numbers, such as line mixing, Zeeman parameters, etc.
As JPL provides no pressure broadening data, a default 25 kHz/Pa Voigt air broadening profile is used for all lines, with a temperature exponent of 0.75.
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [OUT]file (String) – Filename. [IN]
- abs_bandsReadSpeciesSplitARTSCAT(self, abs_bands: AbsorptionBands = self.abs_bands, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String, ignore_missing: Index = 0, pure_species: Index = 1) None
Same as
abs_bandsReadSpeciesSplitCatalog()but for reading the old ARTSCAT format.One key difference is that ARTSCAT were often stored in a single file per
SpeciesEnumrather than perSpeciesIsotope, so the optional argumentpure_speciesis available and evaluates to true by default to useSpeciesEnum. Switch this off to use theSpeciesIsotopeinstead.Note that ARTSCAT does not support many of the features of the modern line catalog format. This reading routine is intended for use-as-is of the produced
abs_bands. Or after minor changes, like removing absorption lines outside of some frequency span.Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (String) – Absolute or relative path to the directory. [IN]
ignore_missing (~pyarts3.arts.Index, optional) – Flag to ignore missing files instead of throwing an error. Defaults to
0[IN]pure_species (~pyarts3.arts.Index, optional) – Flag that when true uses
SpeciesEnuminstead ofSpeciesIsotopefor file names. Defaults to1[IN]
- abs_bandsReadSpeciesSplitCatalog(self, abs_bands: AbsorptionBands = self.abs_bands, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String, ignore_missing: Index = 0) None
Reads all species in
abs_speciesfrom a basenamebasename follows the standard ARTS rules. For example if
abs_speciescontains onlyH2O-161, then a basename of"lbl"will read the file"lbl.H2O-161.xml", and a basename of"lbl/"will read the file"lbl/H2O-161.xml".ignore_missing is a boolean that indicates if the method should ignore missing files or not. If set to true, the method will ignore missing files and continue. If set to false, the method will throw an error if any file is missing.
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (String) – Absolute or relative path to the directory. [IN]
ignore_missing (~pyarts3.arts.Index, optional) – Ignore missing files instead of throwing an error. Defaults to
0[IN]
- abs_bandsReadSplit(self, abs_bands: AbsorptionBands = self.abs_bands, dir: String) None
Reads all xml-files in a given directory and puts them into
abs_bands.Note
The
dirpath has to be absolute or relative to the working path, the environment variables are not consideredAuthor: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [OUT]dir (String) – Absolute or relative path to the directory. [IN]
- abs_bandsSaveSplit(self, abs_bands: AbsorptionBands = self.abs_bands, dir: String) None
Saves all bands in
abs_bandsto a directoryThis will create the directory if it does not exist. It will also create subdirectories that are the short-form of the isotopologue names. The bands will be stored as H2O-161.xml, H2O-162.xml, O2-66.xml, and so on
The
dirpath has to be absolute or relative to the working path, the environment variables are not consideredAuthor: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]dir (String) – Absolute or relative path to the directory. [IN]
- abs_bandsSelectFrequencyByBand(self, abs_bands: AbsorptionBands = self.abs_bands, fmin: Numeric = -inf, fmax: Numeric = inf) None
Remove all bands whose lines all strictly falls outside a frequency range
Authors: Richard Larsson, Oliver Lemke
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]fmin (~pyarts3.arts.Numeric, optional) – Minimum frequency to keep. Defaults to
-inf[IN]fmax (~pyarts3.arts.Numeric, optional) – Maximum frequency to keep. Defaults to
inf[IN]
- abs_bandsSelectFrequencyByLine(self, abs_bands: AbsorptionBands = self.abs_bands, fmin: Numeric = -inf, fmax: Numeric = inf) None
Remove all lines that strictly falls outside a frequency range
Also remove bands whose lines are all removed.
Authors: Richard Larsson, Oliver Lemke
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]fmin (~pyarts3.arts.Numeric, optional) – Minimum frequency to keep. Defaults to
-inf[IN]fmax (~pyarts3.arts.Numeric, optional) – Maximum frequency to keep. Defaults to
inf[IN]
- abs_bandsSetNonLTE(self, abs_bands: AbsorptionBands = self.abs_bands) None
Set all bands to use non-LTE calculations.
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]
- abs_bandsSetZeeman(self, abs_bands: AbsorptionBands = self.abs_bands, species: SpeciesIsotope, fmin: Numeric, fmax: Numeric, on: Index = 1) None
Set the Zeeman splitting for lines within the frequency range
See
SpeciesIsotopefor validspeciesAuthor: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]species (SpeciesIsotope) – Isotopologue of the species. [IN]
fmin (Numeric) – Minimum line frequency to set Zeeman splitting for. [IN]
fmax (Numeric) – Maximum line frequency to set Zeeman splitting for. [IN]
on (~pyarts3.arts.Index, optional) – On or off. Defaults to
1[IN]
- abs_cia_dataReadFromCIA(self, abs_cia_data: CIARecords = self.abs_cia_data, abs_species: ArrayOfSpeciesTag = self.abs_species, catalogpath: String) None
Read data from a CIA data file for all CIA molecules defined in
abs_species.The units in the HITRAN file are:
Frequency: \(\textrm{cm}^{-1}\)
Binary absorption cross-section: \(\textrm{cm}^{5} \, \textrm{molec}^{-2}\)
Upon reading we convert this to the ARTS internal SI units of Hz and \(\textrm{m}^{5} \, \textrm{molec}^{-2}\).
Author: Oliver Lemke
- Parameters:
abs_cia_data (~pyarts3.arts.CIARecords, optional) – HITRAN Collision-Induced Absorption (CIA) Data. Defaults to
self.abs_cia_data. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]catalogpath (String) – Path to the CIA catalog directory. [IN]
- abs_cia_dataReadFromXML(self, abs_cia_data: CIARecords = self.abs_cia_data, abs_species: ArrayOfSpeciesTag = self.abs_species, filename: String = ) None
Read data from a CIA XML file and check that all CIA tags defined in
abs_speciesare present in the file.The units of the data are described in
abs_cia_dataReadFromCIA().Author: Oliver Lemke
- Parameters:
abs_cia_data (~pyarts3.arts.CIARecords, optional) – HITRAN Collision-Induced Absorption (CIA) Data. Defaults to
self.abs_cia_data. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]filename (~pyarts3.arts.String, optional) – Name of the XML file. Defaults to
""[IN]
- abs_cia_dataReadSpeciesSplitCatalog(self, abs_cia_data: CIARecords = self.abs_cia_data, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String, ignore_missing: Index = 0) None
Reads a species split CIA dataset.
The file names are expected to be of the form:
<basename><Spec1>-CIA-<Spec2>.xml
where <Spec1> and <Spec2> are the
SpeciesEnumnames of the two species involved in the CIA.Tip
A common and perhaps more convenient alternative to this method is
ReadCatalogData().If you have downloaded the ARTS catalog data -
arts-cat-data- and set the environment variableARTS_DATA_PATHto point to the location of this data, you can use that method to automagically read the data more easily than calling this method directly.Author: Richard Larsson
- Parameters:
abs_cia_data (~pyarts3.arts.CIARecords, optional) – HITRAN Collision-Induced Absorption (CIA) Data. Defaults to
self.abs_cia_data. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (String) – The path to the split catalog files. [IN]
ignore_missing (~pyarts3.arts.Index, optional) – Flag to continue in case nothing is found [0 throws, 1 continues]. Defaults to
0[IN]
- abs_ecs_dataAddCH4(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Sets preliminary CH4-211 band data for ECS.
[WIP] [UNTESTED]
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]
- abs_ecs_dataAddMakarov2020(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Sets the O2-66 microwave band data for ECS.
This is based on the work of Makarov et al. [19].
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]
- abs_ecs_dataAddMeanAir(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, vmrs: Vector, species: ArrayOfSpeciesEnum) None
Combines ECS data from specified species using VMR weights to create air (bath gas) broadening parameters.
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]vmrs (Vector) – VMRs of air species. [IN]
species (ArrayOfSpeciesEnum) – Air species. [IN]
- abs_ecs_dataAddNH3(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Sets preliminary NH3-4111 band data for ECS.
[WIP] [UNTESTED]
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]
- abs_ecs_dataAddPH3(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Sets preliminary PH3-1111 band data for ECS.
[WIP] [UNTESTED]
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]
- abs_ecs_dataAddRodrigues1997(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Sets ECS broadening parameters for N2 and O2 collision partners for CO2 isotopologues CO2-626, CO2-628, and CO2-636.
This is based on the work of Rodrigues et al. [32].
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]
- abs_ecs_dataAddTran2011(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Sets ECS broadening parameters for CO2 collision partner for CO2 isotopologues CO2-626, CO2-628, and CO2-636.
This is based on the work of Tran et al. [40].
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [INOUT]
- abs_ecs_dataInit(self, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data) None
Resets/initializes the ECS data.
Author: Richard Larsson
- Parameters:
abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [OUT]
- abs_lookup_dataCalc(self, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, alt_grid: AscendingGrid = self.alt_grid, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, water_perturbation: AscendingGrid = [], water_affected_species: ArrayOfSpeciesEnum = pyarts3.arts.ArrayOfSpeciesEnum([]), temperature_perturbation: AscendingGrid = []) None
Get
abs_lookup_datafrom available data.This method will use the
atm_fieldandabs_bandsto calculate theabs_lookup_data. The atmospheric field is first gridded usingatm_profileExtract().Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.atm_profileExtract() 6 ws.abs_lookup_dataInit() 7 ws.abs_lookup_dataPrecomputeAll()
Author: Richard Larsson
- Parameters:
abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [OUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]water_perturbation (~pyarts3.arts.AscendingGrid, optional) – Water vapor perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]water_affected_species (~pyarts3.arts.ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to
[][IN]temperature_perturbation (~pyarts3.arts.AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]
- abs_lookup_dataFromProfiles(self, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, freq_grid: AscendingGrid = self.freq_grid, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, pressure_profile: DescendingGrid, temperature_profile: Vector, vmr_profiles: SpeciesEnumVectors, temperature_perturbation: AscendingGrid = [], water_perturbation: AscendingGrid = [], water_affected_species: ArrayOfSpeciesEnum = pyarts3.arts.ArrayOfSpeciesEnum([]), default_isotopologue_ratios: String = Builtin) None
Compute the lookup table for all species in
abs_bands.Wraps
abs_lookup_dataPrecomputeAll()after creating a simpleatm_pathfrom the input data.Unlike
abs_lookup_dataPrecomputeAll(), this method will initializeabs_lookup_dataAuthor: Richard Larsson
- Parameters:
abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]pressure_profile (DescendingGrid) – Pressure profile [Pa]. [IN]
temperature_profile (Vector) – Temperature profile [K]. [IN]
vmr_profiles (SpeciesEnumVectors) – Volume mixing ratio profiles {SpeciesEnum: [VMR]}. [IN]
temperature_perturbation (~pyarts3.arts.AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]water_perturbation (~pyarts3.arts.AscendingGrid, optional) – Water vapor perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]water_affected_species (~pyarts3.arts.ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to
[][IN]default_isotopologue_ratios (~pyarts3.arts.String, optional) – Default isotopologue ratio option to initialize the
AtmPointwith. Defaults to"Builtin"[IN]
- abs_lookup_dataInit(self, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data) None
Initialize an empty lookup table.
Author: Richard Larsson
Used by wrapper method
- Parameters:
abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [OUT]
- abs_lookup_dataPrecompute(self, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, atm_profile: ArrayOfAtmPoint = self.atm_profile, freq_grid: AscendingGrid = self.freq_grid, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, select_species: SpeciesEnum = self.select_species, temperature_perturbation: AscendingGrid = [], water_perturbation: AscendingGrid = []) None
Precompute the lookup table for a single species, adding it to the map.
Author: Richard Larsson
- Parameters:
abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [INOUT]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]temperature_perturbation (~pyarts3.arts.AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]water_perturbation (~pyarts3.arts.AscendingGrid, optional) – Water vapor perturbation to use for the lookup table (makes the species nonlinear). Defaults to
pyarts3.arts.AscendingGrid()[IN]
- abs_lookup_dataPrecomputeAll(self, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, atm_profile: ArrayOfAtmPoint = self.atm_profile, freq_grid: AscendingGrid = self.freq_grid, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, temperature_perturbation: AscendingGrid = [], water_perturbation: AscendingGrid = [], water_affected_species: ArrayOfSpeciesEnum = pyarts3.arts.ArrayOfSpeciesEnum([])) None
Compute the lookup table for all species in
abs_bands.Wraps
abs_lookup_dataPrecompute()for each species, passingwater_perturbationalong for those species that arewater_affected_species.Author: Richard Larsson
Used by wrapper method
- Parameters:
abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [INOUT]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]temperature_perturbation (~pyarts3.arts.AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]water_perturbation (~pyarts3.arts.AscendingGrid, optional) – Water vapor perturbation to use for the lookup table. Defaults to
pyarts3.arts.AscendingGrid()[IN]water_affected_species (~pyarts3.arts.ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to
[][IN]
- abs_lookup_dataSimpleWide(self, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, freq_grid: AscendingGrid = self.freq_grid, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, water_affected_species: ArrayOfSpeciesEnum = pyarts3.arts.ArrayOfSpeciesEnum([]), pressure_range: Vector2 = [0.01, 110000], temperature_range: Vector2 = [150, 350], water_vmr_range: Vector2 = [1e-04, 0.15], isoratio_option: String = Builtin, vmr_value: Numeric = 1e-09, atmospheric_steps: Index = 80, temperature_perturbation_steps: Index = 15, water_vmr_perturbation_steps: Index = 15) None
Set up a simple wide lookup table for all species in
abs_bands.This method simply computes the profiles for Earth-like atmospheres (by defaults) and pass them into
abs_lookup_dataFromProfiles().The pressure range is set up logarithmically and all other ranges are set linearly.
Author: Richard Larsson
- Parameters:
abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]water_affected_species (~pyarts3.arts.ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to
[][IN]pressure_range (~pyarts3.arts.Vector2, optional) – Pressure range to consider - in increasing order [Pa]. Defaults to
0.01 110000[IN]temperature_range (~pyarts3.arts.Vector2, optional) – Temperature range to consider - in increasing order [K]. Defaults to
150 350[IN]water_vmr_range (~pyarts3.arts.Vector2, optional) – Water VMR range to consider - in increasing order [vmr]. Defaults to
1e-04 0.15[IN]isoratio_option (~pyarts3.arts.String, optional) – Default isotopologue ratio option to initialize the
AtmPointwith. Defaults to"Builtin"[IN]vmr_value (~pyarts3.arts.Numeric, optional) – The VMR to use for the self-value broadening. Defaults to
1e-09[IN]atmospheric_steps (~pyarts3.arts.Index, optional) – Number of steps in the atmospheric profile. Defaults to
80[IN]temperature_perturbation_steps (~pyarts3.arts.Index, optional) – Number of steps in the temperature perturbation. Defaults to
15[IN]water_vmr_perturbation_steps (~pyarts3.arts.Index, optional) – Number of steps in the water vapor perturbation. Defaults to
15[IN]
- abs_predef_dataAddWaterMTCKD400(self, abs_predef_data: PredefinedModelData = self.abs_predef_data, ref_temp: Numeric, ref_press: Numeric, ref_h2o_vmr: Numeric, self_absco_ref: Vector, for_absco_ref: Vector, wavenumbers: Vector, self_texp: Vector) None
Sets the data for MT CKD 4.0 Water model
Note that the vectors must have the same length, and that wavenumbers must be growing at a constant rate. The minimum length is 4.
Note also that as this is predefined model data, the units of the values of the vectors must be as described by each vector.
This is based on the works cited here: https://hitran.org/mtckd/
Note
The method itself is implemented from scratch. Using any version of data after version 4.0 is supported by this method - all that changes are the values of the vectors.
Author: Richard Larsson
- Parameters:
abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [INOUT]ref_temp (Numeric) – Reference temperature. [IN]
ref_press (Numeric) – Reference pressure. [IN]
ref_h2o_vmr (Numeric) – Reference volume mixing ratio of water. [IN]
self_absco_ref (Vector) – Self absorption [1/(cm-1 molecules/cm^2]. [IN]
for_absco_ref (Vector) – Foreign absorption [1/(cm-1 molecules/cm^2)]. [IN]
wavenumbers (Vector) – Wavenumbers [cm-1]. [IN]
self_texp (Vector) – Self temperature exponent [-]. [IN]
- abs_predef_dataAddWaterMTCKD430(self, abs_predef_data: PredefinedModelData = self.abs_predef_data, ref_temp: Numeric, ref_press: Numeric, self_absco_ref: Vector, for_absco_ref: Vector, for_closure_absco_ref: Vector, wavenumbers: Vector, self_texp: Vector) None
Sets the data for MT CKD 4.3 Water model
Note that the vectors must have the same length, and that wavenumbers must be growing at a constant rate. The minimum length is 4.
Note also that as this is predefined model data, the units of the values of the vectors must be as described by each vector.
This is based on the works cited here: https://hitran.org/mtckd/
Note
The method itself is implemented from scratch. Using any version of data after version 4.3 is supported by this method - all that changes are the values of the vectors.
Author: Richard Larsson
- Parameters:
abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [INOUT]ref_temp (Numeric) – Reference temperature. [IN]
ref_press (Numeric) – Reference pressure. [IN]
self_absco_ref (Vector) – Self absorption [1/(cm-1 molecules/cm^2]. [IN]
for_absco_ref (Vector) – Foreign absorption [1/(cm-1 molecules/cm^2)]. [IN]
for_closure_absco_ref (Vector) – Foreign closure absorption [1/(cm-1 molecules/cm^2)]. [IN]
wavenumbers (Vector) – Wavenumbers [cm-1]. [IN]
self_texp (Vector) – Self temperature exponent [-]. [IN]
- abs_predef_dataInit(self, abs_predef_data: PredefinedModelData = self.abs_predef_data) None
Initialize the predefined model data
Author: Richard Larsson
- Parameters:
abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [OUT]
- abs_predef_dataReadSpeciesSplitCatalog(self, abs_predef_data: PredefinedModelData = self.abs_predef_data, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String, name_missing: Index = 1, ignore_missing: Index = 0) None
Reads
abs_predef_datacatalog but only forabs_speciesThe file names are expected to be of the form:
<basename><Spec>-<Model>.xml
where <Spec> is the
SpeciesEnumnames of the species and <Model> is the model name. Seeabs_speciesSet()for more information on how to define a species with a predefined model.If
name_missingis true, missing models are set to named model, which is the most common form of a predefined model.Tip
A common and perhaps more convenient alternative to this method is
ReadCatalogData().If you have downloaded the ARTS catalog data -
arts-cat-data- and set the environment variableARTS_DATA_PATHto point to the location of this data, you can use that method to automagically read the data more easily than calling this method directly.Author: Richard Larsson
- Parameters:
abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (String) – The path to the split catalog files. [IN]
name_missing (~pyarts3.arts.Index, optional) – Flag to name models that are missing. Defaults to
1[IN]ignore_missing (~pyarts3.arts.Index, optional) – Flag to otherwise (if not name_missing is true) ignore missing models. Defaults to
0[IN]
- abs_speciesDefineAll(self, abs_species: ArrayOfSpeciesTag = self.abs_species) None
Sets
abs_speciesto contain all species in ARTSAuthor: Richard Larsson
- Parameters:
abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [OUT]
- abs_speciesSet(self, abs_species: ArrayOfSpeciesTag = self.abs_species, species: ArrayOfString) None
Set
abs_speciesto the named species.The species that are defined by this method are used in various file reading routines to populate both atmosphere- and absorption-related data variables. They select what data is required,
A tag begins with a valid
SpeciesEnum. The rest of the tag is optional.There 3 single tags and 2 combinatory tags. These are named:
Joker. Example
"H2O". Selects all Normal Isotopologue of the providedSpeciesEnum.Normal Isotopologue. Example
"H2O-161". Selects a specific Normal Isotopologue.Predefined Model. Example
"H2O-PWR2022". Selects a specific Predefined Model. For more information on Predefined Models, seespectral_propmatAddPredefined().CIA. Example
"H2O-CIA-H2O". Selects collusion-induced absorption between the two species. Any twoSpeciesEnumin combination is valid. The reverse combination is also valid and unique.XFIT. Example
"H2O-XFIT". Selects using cross-section fits for the species.
Tip
We provide data to help make use of these tags in
arts-cat-data. Far from all use-cases are covered, but enough to help you get started. Seedownload_arts_cat_data()for help to download and set it up.Authors: Stefan Buehler, Richard Larsson
- Parameters:
abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [OUT]species (ArrayOfString) – Specify one String for each tag group that you want to create. Inside the String, separate the tags by commas (plus optional blanks). [IN]
Extra
Below follows a complete list of all single species tags that can be set using this method.
Isotopologue name
Type
Mass
\(g_i\)
H2OAll Isotopologues
H2O-161Normal Isotopologue
18.010565
1
H2O-162Normal Isotopologue
19.01674
6
H2O-171Normal Isotopologue
19.01478
6
H2O-172Normal Isotopologue
20.020956
36
H2O-181Normal Isotopologue
20.014811
1
H2O-182Normal Isotopologue
21.020985
6
H2O-262Normal Isotopologue
20.022915
1
H2O-ForeignContCKDMT320Predefined Model
H2O-ForeignContCKDMT350Predefined Model
H2O-ForeignContCKDMT400Predefined Model
H2O-ForeignContCKDMT430Predefined Model
H2O-ForeignContStandardTypePredefined Model
H2O-MPM89Predefined Model
H2O-PWR2021Predefined Model
H2O-PWR2022Predefined Model
H2O-PWR98Predefined Model
H2O-SelfContCKDMT320Predefined Model
H2O-SelfContCKDMT350Predefined Model
H2O-SelfContCKDMT400Predefined Model
H2O-SelfContCKDMT430Predefined Model
H2O-SelfContStandardTypePredefined Model
CO2All Isotopologues
CO2-626Normal Isotopologue
43.98983
1
CO2-627Normal Isotopologue
44.994045
6
CO2-628Normal Isotopologue
45.994076
1
CO2-636Normal Isotopologue
44.993185
2
CO2-637Normal Isotopologue
45.9974
12
CO2-638Normal Isotopologue
46.997431
2
CO2-727Normal Isotopologue
45.998262
1
CO2-737Normal Isotopologue
47.001618
2
CO2-827Normal Isotopologue
46.998291
6
CO2-828Normal Isotopologue
47.99832
1
CO2-837Normal Isotopologue
48.001646
12
CO2-838Normal Isotopologue
49.001675
2
CO2-CKDMT252Predefined Model
O3All Isotopologues
O3-666Normal Isotopologue
47.984745
1
O3-667Normal Isotopologue
48.98896
6
O3-668Normal Isotopologue
49.988991
1
O3-676Normal Isotopologue
48.98896
6
O3-686Normal Isotopologue
49.988991
1
N2OAll Isotopologues
N2O-446Normal Isotopologue
44.001062
9
N2O-447Normal Isotopologue
45.005278
54
N2O-448Normal Isotopologue
46.005308
9
N2O-456Normal Isotopologue
44.998096
6
N2O-546Normal Isotopologue
44.998096
6
COAll Isotopologues
CO-26Normal Isotopologue
27.994915
1
CO-27Normal Isotopologue
28.99913
6
CO-28Normal Isotopologue
29.999161
1
CO-36Normal Isotopologue
28.99827
2
CO-37Normal Isotopologue
30.002485
12
CO-38Normal Isotopologue
31.002516
2
CH4All Isotopologues
CH4-211Normal Isotopologue
16.0313
1
CH4-212Normal Isotopologue
17.037475
3
CH4-311Normal Isotopologue
17.034655
2
CH4-312Normal Isotopologue
18.04083
6
O2All Isotopologues
O2-66Normal Isotopologue
31.98983
1
O2-67Normal Isotopologue
32.994045
6
O2-68Normal Isotopologue
33.994076
1
O2-CIAfunCKDMT100Predefined Model
O2-MPM2020Predefined Model
O2-MPM89Predefined Model
O2-PWR2021Predefined Model
O2-PWR2022Predefined Model
O2-PWR98Predefined Model
O2-SelfContStandardTypePredefined Model
O2-TRE05Predefined Model
O2-v0v0CKDMT100Predefined Model
O2-v1v0CKDMT100Predefined Model
O2-visCKDMT252Predefined Model
NOAll Isotopologues
NO-46Normal Isotopologue
29.997989
3
NO-48Normal Isotopologue
32.002234
3
NO-56Normal Isotopologue
30.995023
2
SO2All Isotopologues
SO2-626Normal Isotopologue
63.961901
1
SO2-628Normal Isotopologue
65.966146
1
SO2-636Normal Isotopologue
64.961286
4
SO2-646Normal Isotopologue
65.957695
1
NO2All Isotopologues
NO2-646Normal Isotopologue
45.992904
3
NO2-648Normal Isotopologue
47.997149
3
NO2-656Normal Isotopologue
46.989938
2
NH3All Isotopologues
NH3-4111Normal Isotopologue
17.026549
3
NH3-4112Normal Isotopologue
18
-1
NH3-5111Normal Isotopologue
18.023583
2
HNO3All Isotopologues
HNO3-146Normal Isotopologue
62.995644
6
HNO3-156Normal Isotopologue
63.992678
4
OHAll Isotopologues
OH-61Normal Isotopologue
17.00274
2
OH-62Normal Isotopologue
18.008915
3
OH-81Normal Isotopologue
19.006986
2
HFAll Isotopologues
HF-19Normal Isotopologue
20.006229
4
HF-29Normal Isotopologue
21.012404
6
HClAll Isotopologues
HCl-15Normal Isotopologue
35.976678
8
HCl-17Normal Isotopologue
37.973729
8
HCl-25Normal Isotopologue
36.982853
12
HCl-27Normal Isotopologue
38.979904
12
HBrAll Isotopologues
HBr-11Normal Isotopologue
81.924115
8
HBr-19Normal Isotopologue
79.92616
8
HBr-21Normal Isotopologue
82.930289
12
HBr-29Normal Isotopologue
80.932336
12
HIAll Isotopologues
HI-17Normal Isotopologue
127.912297
12
HI-27Normal Isotopologue
128.918472
18
ClOAll Isotopologues
ClO-56Normal Isotopologue
50.963768
4
ClO-76Normal Isotopologue
52.960819
4
OCSAll Isotopologues
OCS-622Normal Isotopologue
59.966986
1
OCS-623Normal Isotopologue
60.966371
4
OCS-624Normal Isotopologue
61.96278
1
OCS-632Normal Isotopologue
60.970341
2
OCS-634Normal Isotopologue
62.966137
2
OCS-822Normal Isotopologue
61.971231
1
H2COAll Isotopologues
H2CO-126Normal Isotopologue
30.010565
1
H2CO-128Normal Isotopologue
32.014811
1
H2CO-136Normal Isotopologue
31.01392
2
HDCOAll Isotopologues
HDCO-26Normal Isotopologue
31
-1
D2COAll Isotopologues
D2CO-26Normal Isotopologue
32
-1
HOClAll Isotopologues
HOCl-165Normal Isotopologue
51.971593
8
HOCl-167Normal Isotopologue
53.968644
8
N2All Isotopologues
N2-44Normal Isotopologue
28.006148
1
N2-45Normal Isotopologue
29.003182
6
N2-CIAfunCKDMT252Predefined Model
N2-CIArotCKDMT252Predefined Model
N2-SelfContMPM93Predefined Model
N2-SelfContPWR2021Predefined Model
N2-SelfContStandardTypePredefined Model
HCNAll Isotopologues
HCN-124Normal Isotopologue
27.010899
6
HCN-125Normal Isotopologue
28.007933
4
HCN-134Normal Isotopologue
28.014254
12
HCN-224Normal Isotopologue
28
-1
CH3ClAll Isotopologues
CH3Cl-215Normal Isotopologue
49.992328
4
CH3Cl-217Normal Isotopologue
51.989379
4
H2O2All Isotopologues
H2O2-1661Normal Isotopologue
34.00548
1
C2H2All Isotopologues
C2H2-1221Normal Isotopologue
26.01565
1
C2H2-1222Normal Isotopologue
27.021825
6
C2H2-1231Normal Isotopologue
27.019005
8
C2H6All Isotopologues
C2H6-1221Normal Isotopologue
30.04695
1
C2H6-1231Normal Isotopologue
31.050305
2
PH3All Isotopologues
PH3-1111Normal Isotopologue
33.997241
2
COF2All Isotopologues
COF2-269Normal Isotopologue
65.991722
1
COF2-369Normal Isotopologue
66.995078
2
SF6All Isotopologues
SF6-29Normal Isotopologue
145.962494
1
H2SAll Isotopologues
H2S-121Normal Isotopologue
33.987721
1
H2S-122Normal Isotopologue
35
-1
H2S-131Normal Isotopologue
34.987105
4
H2S-141Normal Isotopologue
35.983515
1
HCOOHAll Isotopologues
HCOOH-126Normal Isotopologue
46.00548
4
HCOOH-136Normal Isotopologue
47.008835
8
DCOOHAll Isotopologues
DCOOH-266Normal Isotopologue
47
-1
HCOODAll Isotopologues
HCOOD-266Normal Isotopologue
47
-1
HO2All Isotopologues
HO2-166Normal Isotopologue
32.997655
2
OAll Isotopologues
O-6Normal Isotopologue
15.994915
1
ClONO2All Isotopologues
ClONO2-5646Normal Isotopologue
96.956672
12
ClONO2-7646Normal Isotopologue
98.953723
12
NO+All Isotopologues
NO+-46Normal Isotopologue
29.997989
3
HOBrAll Isotopologues
HOBr-161Normal Isotopologue
97.91903
8
HOBr-169Normal Isotopologue
95.921076
8
C2H4All Isotopologues
C2H4-221Normal Isotopologue
28.0313
1
C2H4-231Normal Isotopologue
29.034655
2
CH3OHAll Isotopologues
CH3OH-2161Normal Isotopologue
32.026215
2
CH3BrAll Isotopologues
CH3Br-211Normal Isotopologue
95.939764
4
CH3Br-219Normal Isotopologue
93.941811
4
CH3CNAll Isotopologues
CH3CN-2124Normal Isotopologue
41.026549
3
CH3CN-2125Normal Isotopologue
42
-1
CH3CN-2134Normal Isotopologue
42
-1
CH3CN-3124Normal Isotopologue
42
-1
CH2DCNAll Isotopologues
CH2DCN-224Normal Isotopologue
42
-1
CF4All Isotopologues
CF4-29Normal Isotopologue
87.993616
1
C4H2All Isotopologues
C4H2-2211Normal Isotopologue
50.01565
1
HC3NAll Isotopologues
HC3N-12224Normal Isotopologue
51.010899
6
HC3N-12225Normal Isotopologue
52
-1
HC3N-12234Normal Isotopologue
52
-1
HC3N-12324Normal Isotopologue
52
-1
HC3N-13224Normal Isotopologue
52
-1
HC3N-22224Normal Isotopologue
52
-1
H2All Isotopologues
H2-11Normal Isotopologue
2.01565
1
H2-12Normal Isotopologue
3.021825
6
CSAll Isotopologues
CS-22Normal Isotopologue
43.97207
1
CS-23Normal Isotopologue
44.971456
4
CS-24Normal Isotopologue
45.967866
1
CS-32Normal Isotopologue
44.975425
2
SO3All Isotopologues
SO3-26Normal Isotopologue
79.956815
1
C2N2All Isotopologues
C2N2-4224Normal Isotopologue
52.006148
1
COCl2All Isotopologues
COCl2-2655Normal Isotopologue
97.93262
1
COCl2-2657Normal Isotopologue
99.929672
16
SOAll Isotopologues
SO-26Normal Isotopologue
47.966986
1
SO-28Normal Isotopologue
49.971231
1
SO-46Normal Isotopologue
49.962782
1
CS2All Isotopologues
CS2-222Normal Isotopologue
75.94414
1
CS2-223Normal Isotopologue
76.943526
4
CS2-224Normal Isotopologue
77.939936
1
CS2-232Normal Isotopologue
76.947495
2
CH3All Isotopologues
CH3-2111Normal Isotopologue
15.023475
1
C3H4All Isotopologues
H2SO4All Isotopologues
H2SO4-126Normal Isotopologue
98
-1
HNCAll Isotopologues
HNC-142Normal Isotopologue
27
-1
HNC-143Normal Isotopologue
28
-1
HNC-152Normal Isotopologue
28
-1
HNC-242Normal Isotopologue
28
-1
BrOAll Isotopologues
BrO-16Normal Isotopologue
97
-1
BrO-96Normal Isotopologue
95
-1
OClOAll Isotopologues
OClO-656Normal Isotopologue
67
-1
OClO-676Normal Isotopologue
69
-1
C3H8All Isotopologues
C3H8-21Normal Isotopologue
54
-1
HeAll Isotopologues
He-4Normal Isotopologue
4
-1
Cl2O2All Isotopologues
Cl2O2-565Normal Isotopologue
102
-1
Cl2O2-765Normal Isotopologue
104
-1
HAll Isotopologues
H-1Normal Isotopologue
1
-1
ArAll Isotopologues
Ar-8Normal Isotopologue
39.948
-1
C2F6All Isotopologues
C3F8All Isotopologues
C4F10All Isotopologues
C5F12All Isotopologues
C6F14All Isotopologues
C8F18All Isotopologues
cC4F8All Isotopologues
CCl4All Isotopologues
CFC11All Isotopologues
CFC113All Isotopologues
CFC114All Isotopologues
CFC115All Isotopologues
CFC12All Isotopologues
CH2Cl2All Isotopologues
CH3CCl3All Isotopologues
CHCl3All Isotopologues
Halon1211All Isotopologues
Halon1301All Isotopologues
Halon2402All Isotopologues
HCFC141bAll Isotopologues
HCFC142bAll Isotopologues
HCFC22All Isotopologues
HFC125All Isotopologues
HFC134aAll Isotopologues
HFC143aAll Isotopologues
HFC152aAll Isotopologues
HFC227eaAll Isotopologues
HFC23All Isotopologues
HFC236faAll Isotopologues
HFC245faAll Isotopologues
HFC32All Isotopologues
HFC365mfcAll Isotopologues
NF3All Isotopologues
NF3-4999Normal Isotopologue
70.998286
3
H3+All Isotopologues
H3+-111Normal Isotopologue
3.023475
1
S2All Isotopologues
S2-22Normal Isotopologue
63.94414
1
COFClAll Isotopologues
COFCl-2695Normal Isotopologue
81.962172
8
COFCl-2697Normal Isotopologue
83.959223
8
HONOAll Isotopologues
HONO-1646Normal Isotopologue
47.000729
6
ClNO2All Isotopologues
ClNO2-5466Normal Isotopologue
80.961757
12
ClNO2-7466Normal Isotopologue
82.958808
12
SO2F2All Isotopologues
HFC4310meeAll Isotopologues
GeH4All Isotopologues
GeH4-011Normal Isotopologue
73.95555
1
GeH4-211Normal Isotopologue
75.95338
1
GeH4-311Normal Isotopologue
76.954764
10
GeH4-411Normal Isotopologue
77.952479
1
GeH4-611Normal Isotopologue
79.952703
1
CH3IAll Isotopologues
CH3I-217Normal Isotopologue
141.927947
6
CH3FAll Isotopologues
CH3F-219Normal Isotopologue
34.021878
2
CH3F-319Normal Isotopologue
35.025234
4
AsH3All Isotopologues
C6H6All Isotopologues
liquidcloudAll Isotopologues
liquidcloud-ELL07Predefined Model
icecloudAll Isotopologues
rainAll Isotopologues
free_electronsAll Isotopologues
particlesAll Isotopologues
AlOAll Isotopologues
AlO-76Normal Isotopologue
42.9809
1
unusedAll Isotopologues
And in short:
H2O,H2O-161,H2O-162,H2O-171,H2O-172,H2O-181,H2O-182,H2O-262,H2O-ForeignContCKDMT320,H2O-ForeignContCKDMT350,H2O-ForeignContCKDMT400,H2O-ForeignContCKDMT430,H2O-ForeignContStandardType,H2O-MPM89,H2O-PWR2021,H2O-PWR2022,H2O-PWR98,H2O-SelfContCKDMT320,H2O-SelfContCKDMT350,H2O-SelfContCKDMT400,H2O-SelfContCKDMT430,H2O-SelfContStandardType,CO2,CO2-626,CO2-627,CO2-628,CO2-636,CO2-637,CO2-638,CO2-727,CO2-737,CO2-827,CO2-828,CO2-837,CO2-838,CO2-CKDMT252,O3,O3-666,O3-667,O3-668,O3-676,O3-686,N2O,N2O-446,N2O-447,N2O-448,N2O-456,N2O-546,CO,CO-26,CO-27,CO-28,CO-36,CO-37,CO-38,CH4,CH4-211,CH4-212,CH4-311,CH4-312,O2,O2-66,O2-67,O2-68,O2-CIAfunCKDMT100,O2-MPM2020,O2-MPM89,O2-PWR2021,O2-PWR2022,O2-PWR98,O2-SelfContStandardType,O2-TRE05,O2-v0v0CKDMT100,O2-v1v0CKDMT100,O2-visCKDMT252,NO,NO-46,NO-48,NO-56,SO2,SO2-626,SO2-628,SO2-636,SO2-646,NO2,NO2-646,NO2-648,NO2-656,NH3,NH3-4111,NH3-4112,NH3-5111,HNO3,HNO3-146,HNO3-156,OH,OH-61,OH-62,OH-81,HF,HF-19,HF-29,HCl,HCl-15,HCl-17,HCl-25,HCl-27,HBr,HBr-11,HBr-19,HBr-21,HBr-29,HI,HI-17,HI-27,ClO,ClO-56,ClO-76,OCS,OCS-622,OCS-623,OCS-624,OCS-632,OCS-634,OCS-822,H2CO,H2CO-126,H2CO-128,H2CO-136,HDCO,HDCO-26,D2CO,D2CO-26,HOCl,HOCl-165,HOCl-167,N2,N2-44,N2-45,N2-CIAfunCKDMT252,N2-CIArotCKDMT252,N2-SelfContMPM93,N2-SelfContPWR2021,N2-SelfContStandardType,HCN,HCN-124,HCN-125,HCN-134,HCN-224,CH3Cl,CH3Cl-215,CH3Cl-217,H2O2,H2O2-1661,C2H2,C2H2-1221,C2H2-1222,C2H2-1231,C2H6,C2H6-1221,C2H6-1231,PH3,PH3-1111,COF2,COF2-269,COF2-369,SF6,SF6-29,H2S,H2S-121,H2S-122,H2S-131,H2S-141,HCOOH,HCOOH-126,HCOOH-136,DCOOH,DCOOH-266,HCOOD,HCOOD-266,HO2,HO2-166,O,O-6,ClONO2,ClONO2-5646,ClONO2-7646,NO+,NO+-46,HOBr,HOBr-161,HOBr-169,C2H4,C2H4-221,C2H4-231,CH3OH,CH3OH-2161,CH3Br,CH3Br-211,CH3Br-219,CH3CN,CH3CN-2124,CH3CN-2125,CH3CN-2134,CH3CN-3124,CH2DCN,CH2DCN-224,CF4,CF4-29,C4H2,C4H2-2211,HC3N,HC3N-12224,HC3N-12225,HC3N-12234,HC3N-12324,HC3N-13224,HC3N-22224,H2,H2-11,H2-12,CS,CS-22,CS-23,CS-24,CS-32,SO3,SO3-26,C2N2,C2N2-4224,COCl2,COCl2-2655,COCl2-2657,SO,SO-26,SO-28,SO-46,CS2,CS2-222,CS2-223,CS2-224,CS2-232,CH3,CH3-2111,C3H4,H2SO4,H2SO4-126,HNC,HNC-142,HNC-143,HNC-152,HNC-242,BrO,BrO-16,BrO-96,OClO,OClO-656,OClO-676,C3H8,C3H8-21,He,He-4,Cl2O2,Cl2O2-565,Cl2O2-765,H,H-1,Ar,Ar-8,C2F6,C3F8,C4F10,C5F12,C6F14,C8F18,cC4F8,CCl4,CFC11,CFC113,CFC114,CFC115,CFC12,CH2Cl2,CH3CCl3,CHCl3,Halon1211,Halon1301,Halon2402,HCFC141b,HCFC142b,HCFC22,HFC125,HFC134a,HFC143a,HFC152a,HFC227ea,HFC23,HFC236fa,HFC245fa,HFC32,HFC365mfc,NF3,NF3-4999,H3+,H3+-111,S2,S2-22,COFCl,COFCl-2695,COFCl-2697,HONO,HONO-1646,ClNO2,ClNO2-5466,ClNO2-7466,SO2F2,HFC4310mee,GeH4,GeH4-011,GeH4-211,GeH4-311,GeH4-411,GeH4-611,CH3I,CH3I-217,CH3F,CH3F-219,CH3F-319,AsH3,C6H6,liquidcloud,liquidcloud-ELL07,icecloud,rain,free_electrons,particles,AlO,AlO-76,unused,
- abs_xfit_dataReadSpeciesSplitCatalog(self, abs_xfit_data: XsecRecords = self.abs_xfit_data, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String, ignore_missing: Index = 0) None
Reads HITRAN Crosssection coefficients
Reads coefficient files for HITRAN Xsec species defined in
abs_species.Tip
A common and perhaps more convenient alternative to this method is
ReadCatalogData().If you have downloaded the ARTS catalog data -
arts-cat-data- and set the environment variableARTS_DATA_PATHto point to the location of this data, you can use that method to automagically read the data more easily than calling this method directly.Author: Oliver Lemke
- Parameters:
abs_xfit_data (~pyarts3.arts.XsecRecords, optional) – Fitting model coefficients for cross section species. Defaults to
self.abs_xfit_data. [OUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (String) – Basepath to the files. [IN]
ignore_missing (~pyarts3.arts.Index, optional) – Ignore missing files (0: no, 1: yes). Defaults to
0[IN]
- atm_disort_settings_agendaExecute(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, atm_disort_settings_agenda: Agenda = self.atm_disort_settings_agenda) CxxWorkspace
Executes
atm_disort_settings_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]atm_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor atmospheric calculations. Defaults toself.atm_disort_settings_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- atm_disort_settings_agendaExecuteOperator(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, atm_disort_settings_agenda_operator: DisortSettingsAgendaOperator) None
Executes an operator emulating
atm_disort_settings_agenda, see it, and alsoDisortSettingsAgendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]atm_disort_settings_agenda_operator (DisortSettingsAgendaOperator) – Operator for
atm_disort_settings_agenda. [IN]
- atm_disort_settings_agendaSetOperator(self, atm_disort_settings_agenda: Agenda = self.atm_disort_settings_agenda, f: DisortSettingsAgendaOperator) None
Set
atm_disort_settings_agendato exclusively use provided external operator. SeeDisortSettingsAgendaOperatorfor more details.Author:
Automatically Generated- Parameters:
atm_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor atmospheric calculations. Defaults toself.atm_disort_settings_agenda. [OUT]f (DisortSettingsAgendaOperator) – Operator for
atm_disort_settings_agenda. [IN]
- atm_fieldAbsoluteMagneticField(self, atm_field: AtmField = self.atm_field) None
Set the magnetic field to use the magnitude field functional.
The input field must be a
GeodeticField3for all three parameters to call this method.The main purpose of this method is to retrieve the magnitude rather than the vector field.
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]
- atm_fieldAbsoluteWindField(self, atm_field: AtmField = self.atm_field) None
Set the wind field to use the magnitude field functional.
The input field must be a
GeodeticField3for all three parameters to call this method.The main purpose of this method is to retrieve the magnitude rather than the vector field.
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]
- atm_fieldAppendAuto(self, atm_field: AtmField = self.atm_field, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0, load_isot: Index = 0, load_nlte: Index = 0) None
Append data to the atmospheric field based on available absorption data.
It is recommended to use
atm_fieldRead()rather than this method directly.This method scans available data and calls (in order) the methods below if that data is available on the workspace. It is not possible to reproduce this method call by manually calling each method below because that would require defining the relevant data fields.
Wraps:
atm_fieldAppendLineSpeciesData()if the workspace containsabs_bandsatm_fieldAppendLineIsotopologueData()ifload_isotis true and if the workspace containsabs_bandsatm_fieldAppendLineLevelData()ifload_nlteis true and if the workspace containsabs_bandsatm_fieldAppendTagsSpeciesData()if the workspace containsabs_speciesatm_fieldAppendLookupTableSpeciesData()if the workspace containsabs_lookup_dataatm_fieldAppendCIASpeciesData()if the workspace containsabs_cia_dataatm_fieldAppendXsecSpeciesData()if the workspace containsabs_xfit_dataatm_fieldAppendPredefSpeciesData()if the workspace containsabs_predef_data
See these individually for more details.
Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]load_isot (~pyarts3.arts.Index, optional) – Whether or not to load isotopologue data. Defaults to
0[IN]load_nlte (~pyarts3.arts.Index, optional) – Whether or not to load NLTE data. Defaults to
0[IN]
- atm_fieldAppendBaseData(self, atm_field: AtmField = self.atm_field, basename: String, extrapolation: String = Linear, deal_with_field_component: String = Throw, replace_existing: Index = 1, allow_missing_pressure: Index = 0, allow_missing_temperature: Index = 0, pressure_log_interp: Index = 1) None
Append base data to the atmospheric field
This will look at the valid
basenamefor files matching base data. The base data file names are of the form“<…>t.xml”
“<…>p.xml”
“<…>wind_u.xml”
“<…>wind_v.xml”
“<…>wind_w.xml”
“<…>mag_u.xml”
“<…>mag_v.xml”
“<…>mag_w.xml”
If any of these files are found, they are appended to the atmospheric field.
See
InterpolationExtrapolationfor validextrapolation.See
MissingFieldComponentErrorfor validdeal_with_field_component.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.The
allow_missing_pressureandallow_missing_temperatureare used to determine if the method should throw if the pressure or temperature is missing.Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]deal_with_field_component (~pyarts3.arts.String, optional) – How to deal with the field component. Defaults to
"Throw"[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
1[IN]allow_missing_pressure (~pyarts3.arts.Index, optional) – Whether or not to allow missing pressure data. Defaults to
0[IN]allow_missing_temperature (~pyarts3.arts.Index, optional) – Whether or not to allow missing temperature data. Defaults to
0[IN]pressure_log_interp (~pyarts3.arts.Index, optional) – Whether or not to use log interpolation for pressure data. Defaults to
1[IN]
- atm_fieldAppendCIASpeciesData(self, atm_field: AtmField = self.atm_field, abs_cia_data: CIARecords = self.abs_cia_data, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append species data to the atmospheric field based on collision-induced absorption data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the short-name form: “species1.xml” “species2.xml” (e.g., “H2O.xml” “CO2.xml”). SeeSpeciesEnumfor valid short names.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_cia_data (~pyarts3.arts.CIARecords, optional) – HITRAN Collision-Induced Absorption (CIA) Data. Defaults to
self.abs_cia_data. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendLineIsotopologueData(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append isotopologue ratio data to the atmospheric field based on line data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the form: “species-n.xml” (e.g., “H2O-161.xml”). Seeabs_speciesSet()for valid isotopologue names.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendLineLevelData(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append NLTE data to the atmospheric field based on line data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the form: “species-n QN1 N1 N1 QN2 N2 N2.xml” (e.g., “O2-66 J 1 1 N 0 0.xml”). Seeabs_speciesSet()for valid isotopologue names andQuantumLevelIdentifierfor constructing quantum numbers identifiers.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendLineSpeciesData(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append species data to the atmospheric field based on line data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). SeeSpeciesEnumfor valid short names.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendLookupTableSpeciesData(self, atm_field: AtmField = self.atm_field, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append species data to the atmospheric field based on absorption lookup table data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). SeeSpeciesEnumfor valid short names.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendPredefSpeciesData(self, atm_field: AtmField = self.atm_field, abs_predef_data: PredefinedModelData = self.abs_predef_data, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append species data to the atmospheric field based on absorption predefined model data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the short-name form: “species-MODEL.xml” (e.g., “H2O-ForeignContCKDMT400.xml”). SeeSpeciesEnumfor valid short names. Will also append H2O VMR if available as some predefined models requires it.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendTagsSpeciesData(self, atm_field: AtmField = self.atm_field, abs_species: ArrayOfSpeciesTag = self.abs_species, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append species data to the atmospheric field based on
abs_species.This will look at the valid
basenamefor files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). SeeSpeciesEnumfor valid short names.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_species (~pyarts3.arts.ArrayOfSpeciesTag, optional) – Tag groups for gas absorption. Defaults to
self.abs_species. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldAppendXsecSpeciesData(self, atm_field: AtmField = self.atm_field, abs_xfit_data: XsecRecords = self.abs_xfit_data, basename: String, extrapolation: String = Linear, missing_is_zero: Index = 0, replace_existing: Index = 0) None
Append species data to the atmospheric field based on absorption cross-section fit data.
This will look at the valid
basenamefor files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). SeeSpeciesEnumfor valid short names.See
InterpolationExtrapolationfor validextrapolation.The
missing_is_zerosets missing data to zero.The
replace_existingis used to determine if the data should be replaced if it already exists in the atmospheric field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_xfit_data (~pyarts3.arts.XsecRecords, optional) – Fitting model coefficients for cross section species. Defaults to
self.abs_xfit_data. [IN]basename (String) – The base name of the files. [IN]
extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]replace_existing (~pyarts3.arts.Index, optional) – Whether or not to replace existing data. Defaults to
0[IN]
- atm_fieldFitNonLTE(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, freq_grid: AscendingGrid = self.freq_grid, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, surf_field: SurfaceField = self.surf_field, pol: Stokvec = [1, 0, 0, 0], levels: ArrayOfQuantumLevelIdentifier, key: AtmKey = "t", iteration_limit: Index = 100, dzen: Numeric = 5, convergence_limit: Numeric = 1e-06, consider_limb: Index = 1, collision_data: QuantumIdentifierGriddedField1Map, azi: Numeric = 0, altitude_extrapolation: InterpolationExtrapolation = "Linear") None
Fits non-LTE atmospheric field values
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.atm_profileFromGrid() 6 ws.atm_profileFitNonLTE() 7 ws.atm_fieldFromProfile()
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]pol (~pyarts3.arts.Stokvec, optional) – The polarization selection vector (use the default unless you know what you are doing). Defaults to
1 0 0 0[IN]levels (ArrayOfQuantumLevelIdentifier) – The order of the energy levels. [IN]
key (~pyarts3.arts.AtmKey, optional) – Key to find the
GeodeticField3in the atmospheric field. Defaults tot[IN]iteration_limit (~pyarts3.arts.Index, optional) – Maximum number of iterations. Defaults to
100[IN]dzen (~pyarts3.arts.Numeric, optional) – The zenith angle limit for the internal call to
zen_gridProfilePseudo2D(). Defaults to5[IN]convergence_limit (~pyarts3.arts.Numeric, optional) – Convergence criterion for the energy level distribution. Defaults to
1e-06[IN]consider_limb (~pyarts3.arts.Index, optional) – Whether to add extra limb points in
zen_gridProfilePseudo2D(). Defaults to1[IN]collision_data (QuantumIdentifierGriddedField1Map) – Collision data for the transitions - for \(C_{ij}\) and \(C_{ji}\). [IN]
azi (~pyarts3.arts.Numeric, optional) – The azimuth of the radiation. Defaults to
0[IN]altitude_extrapolation (~pyarts3.arts.InterpolationExtrapolation, optional) – Extrapolation method along the altitude grid. Defaults to
Linear[IN]
- atm_fieldFromModelState(self, atm_field: AtmField = self.atm_field, model_state_vec: Vector = self.model_state_vec, model_state_targets: JacobianTargets = self.model_state_targets) None
Sets
atm_fieldto the state of the model.Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]
- atm_fieldFromProfile(self, atm_field: AtmField = self.atm_field, atm_profile: ArrayOfAtmPoint = self.atm_profile, alt_grid: AscendingGrid = self.alt_grid, altitude_extrapolation: InterpolationExtrapolation = "Linear") None
Sets the atmospheric field to be the 1D atmospheric profile.
The top of the atmosphere is the last value of the altitude grid.
All atmospheric points in the profile must contain the same set of parameters.
Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [OUT]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]altitude_extrapolation (~pyarts3.arts.InterpolationExtrapolation, optional) – Extrapolation method along the altitude grid. Defaults to
Linear[IN]
- atm_fieldHydrostaticPressure(self, atm_field: AtmField = self.atm_field, gravity_operator: NumericTernaryOperator = self.gravity_operator, alt_grid: AscendingGrid = self.alt_grid, p0: GeodeticField2 | Numeric, fixed_specific_gas_constant: Numeric = -1, fixed_atmospheric_temperature: Numeric = -1, hydrostatic_option: String = HydrostaticEquation) None
Add the hydrostatic pressure to the atmospheric field
The field must already be able to compute temperature as a function of altitude, latitude, and longitude.
If a positive
fixed_specific_gas_constantis not provided, the field must also consist of correct volume mixing ratios so that the mass of an average molecule can be computed.The first altitude in
alt_gridis used as the altitude of thep0grid. The extrapolation outside of this range simply uses the formalism of the selecthydrostatic_option.Note
The gradient changes only at the grid points of the
alt_grid. Please make it dense enough to avoid missing features. A recommendation is to extract thealt_griddirectly from the temperature field.Also be aware that missing VMRs for important species, e.g., \(\textrm{N}_2\) or \(\textrm{O}_2\), will lead to incorrect results. The mean molecular mass need these VMRs, so if the VMRs are missing, the pressure will not be correct either.
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]gravity_operator (~pyarts3.arts.NumericTernaryOperator, optional) – The gravity operator. Defaults to
self.gravity_operator. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]p0 (GeodeticField2 | Numeric) – Lowest altitude pressure field. \(P_0\) above. [IN]
fixed_specific_gas_constant (~pyarts3.arts.Numeric, optional) – Specific gas constant if larger than 0. Defaults to
-1[IN]fixed_atmospheric_temperature (~pyarts3.arts.Numeric, optional) – Constant atmospheric temperature if larger than 0. Defaults to
-1[IN]hydrostatic_option (~pyarts3.arts.String, optional) – Computational option for levels. See
HydrostaticPressureOptionfor valid options. Defaults to"HydrostaticEquation"[IN]
- atm_fieldIGRF(self, atm_field: AtmField = self.atm_field, time: Time = 2026-09-18 06:17:58.836904182) None
Use IGRF to compute the magnetic field at each point.
The IGRF model is a model of the Earth’s magnetic field. It is based on spherical harmonics and is only valid for a limited time period.
The IGRF model is available via Alken et al. [1].
Note
The IGRF model is added as a functional object to the atmospheric field. If you need to retrieve the magnetic field, you must convert it to another type, use
atm_fieldSchmidthFieldFromIGRF(), which have been designed to support retrievals of the magnetic field via Legendre coefficients, or useatm_fieldAbsoluteMagneticField(), which allow returning the magnitude of the magnetic field.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]time (~pyarts3.arts.Time, optional) – Time of data to use. Defaults to
2026-09-18 06:14:09.252355711[IN]
- atm_fieldInit(self, atm_field: AtmField = self.atm_field, toa: Numeric, default_isotopologue: String = Builtin) None
Initialize the atmospheric field with some altitude and isotopologue ratios
See
IsoRatioOptionfor validdefault_isotopologue.Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [OUT]toa (Numeric) – Top of atmosphere altitude [m]. [IN]
default_isotopologue (~pyarts3.arts.String, optional) – Default option for the isotopologue ratios. Defaults to
"Builtin"[IN]
- atm_fieldInitializeNonLTE(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, normalization: Numeric = 0) None
Initialize the non-LTE atmospheric field from the LTE temperature field.
Note that the bands have to be 1-line long to work.
This is because of how non-LTE is implemented in ARTS.
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]normalization (~pyarts3.arts.Numeric, optional) – Normalization factor for the non-LTE field - all species of same isotopologue will be summed to this value (non-positive means no normalization). Defaults to
0[IN]
- atm_fieldRead(self, atm_field: AtmField = self.atm_field, toa: Numeric, pressure_log_interp: Index = 1, missing_is_zero: Index = 0, load_nlte: Index = 0, load_isot: Index = 0, extrapolation: String = Linear, default_isotopologue: String = Builtin, deal_with_field_component: String = Throw, basename: String, allow_missing_temperature: Index = 0, allow_missing_pressure: Index = 0) None
The standard method to read atmospheric data files from a directory
Common use case (requires having set the ENV variables, as described in the documentation):
1ws.atm_fieldRead( 2 toa=100e3, basename="planets/Earth/afgl/tropical/", missing_is_zero=1 3)
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.atm_fieldInit() 6 ws.atm_fieldAppendBaseData() 7 ws.atm_fieldAppendAuto()
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [OUT]toa (Numeric) – Top of atmosphere altitude [m]. [IN]
pressure_log_interp (~pyarts3.arts.Index, optional) – Whether or not to use log interpolation for pressure data. Defaults to
1[IN]missing_is_zero (~pyarts3.arts.Index, optional) – Whether or not to zero-out missing data. Defaults to
0[IN]load_nlte (~pyarts3.arts.Index, optional) – Whether or not to load NLTE data. Defaults to
0[IN]load_isot (~pyarts3.arts.Index, optional) – Whether or not to load isotopologue data. Defaults to
0[IN]extrapolation (~pyarts3.arts.String, optional) – The extrapolation to use. Defaults to
"Linear"[IN]default_isotopologue (~pyarts3.arts.String, optional) – Default option for the isotopologue ratios. Defaults to
"Builtin"[IN]deal_with_field_component (~pyarts3.arts.String, optional) – How to deal with the field component. Defaults to
"Throw"[IN]basename (String) – The base name of the files. [IN]
allow_missing_temperature (~pyarts3.arts.Index, optional) – Whether or not to allow missing temperature data. Defaults to
0[IN]allow_missing_pressure (~pyarts3.arts.Index, optional) – Whether or not to allow missing pressure data. Defaults to
0[IN]
- atm_fieldSchmidthFieldFromIGRF(self, atm_field: AtmField = self.atm_field, time: Time = 2026-09-18 06:17:58.836911266) None
For forward calculations, this should be similar to
atm_fieldIGRF().What it does different is that it is 1) not a direct computations matching the IGRF field, instead averaging the Legendre coefficient matrices.
What it does very different is that it supports retrievals of the magnetic field Legendre coefficients.
This is very much a WIP and not well tested.
The IGRF model is available via Alken et al. [1].
Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]time (~pyarts3.arts.Time, optional) – Time of IGRF data to use. Defaults to
2026-09-18 06:14:09.252369457[IN]
- atm_fieldSetData(self, atm_field: AtmField = self.atm_field, alt_grid: AscendingGrid = self.alt_grid, lat_grid: LatGrid = self.lat_grid, lon_grid: LonGrid = self.lon_grid, key: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope, data: SortedGriddedField3, extrapolation: InterpolationExtrapolation = "Linear") None
Set the data of a single atmospheric key onto the grids of the workspace.
The data of
keyends up onalt_gridxlat_gridxlon_grid, sampled fromdataon the grids thatdatacarries.The methods that append to
atm_fieldread their data from files or from built-in models. This one instead takes it from the workspace, which is what makes it possible to build anatm_fieldout of data that was computed or assembled during a run, and to put every key of a field on the same grids.extrapolationapplies to all six ends of the three grids. It is also what allowsdatato be sampled outside the grids it carries, so a grid that is narrower than the workspace grids needs an extrapolation method that reaches. A grid holding a single point is always extrapolated asNearest, there being nothing to extrapolate from in that dimension.Author: Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat_grid (~pyarts3.arts.LatGrid, optional) – An ascending list of
lat. Often related to a field or a profile. Defaults toself.lat_grid. [IN]lon_grid (~pyarts3.arts.LonGrid, optional) – An ascending list of
lon. Often related to a field or a profile. Defaults toself.lon_grid. [IN]key (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – Key of the data to set. [IN]
data (SortedGriddedField3) – Data on its own altitude, latitude and longitude grids. [IN]
extrapolation (~pyarts3.arts.InterpolationExtrapolation, optional) – Extrapolation method for all three grids. Defaults to
Linear[IN]
- atm_fieldWindIncludePlanetRotation(self, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, planet_rotation_period: Numeric) None
Add planetary rotation to the wind field u-component.
This is added as
\[\delta u = \frac{2 \pi}{R} \left(\frac{a}{\sqrt{1 - e^2 \sin^2\theta}} + z\right) \cos\theta,\]where \(R\) is the rotation period of the planet, \(\theta\) is the latitude, \(a\) is the equatorial radius of the planet, \(e\) is the eccentricity of the planet, and \(z\) is the altitude.
Authors: Patrick Eriksson, Richard Larsson
- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]planet_rotation_period (Numeric) – The rotation period of the planet in seconds. [IN]
- atm_pathFromPath(self, atm_path: ArrayOfAtmPoint = self.atm_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field) None
Gets the atmospheric points along the path.
Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]
- atm_pathFromProfile(self, atm_path: ArrayOfAtmPoint = self.atm_path, atm_profile: ArrayOfAtmPoint = self.atm_profile) None
Set
atm_path = atm_profile.This is purely compositional and it is better to use pure python code if need this functionality in your own control-flow.
Author: Richard Larsson
- Parameters:
atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [OUT]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]
- atm_pointExtract(self, atm_point: AtmPoint = self.atm_point, atm_field: AtmField = self.atm_field, alt: Numeric = self.alt, lat: Numeric = self.lat, lon: Numeric = self.lon) None
Extract an atmospheric point from the atmospheric field.
This is the single-point version of
atm_profileExtract(), which extracts a fullatm_profilealongalt_grid.Author: Richard Larsson
- Parameters:
atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]alt (~pyarts3.arts.Numeric, optional) – A single altitude in the atmosphere. Defaults to
self.alt. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]
- atm_pointInit(self, atm_point: AtmPoint = self.atm_point, default_isotopologue: String = Builtin) None
Initialize an atmospheric point with some isotopologue ratios
See
IsoRatioOptionfor validdefault_isotopologue.Author: Richard Larsson
- Parameters:
atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [OUT]default_isotopologue (~pyarts3.arts.String, optional) – Default option for the isotopologue ratios. Defaults to
"Builtin"[IN]
- atm_profileExtract(self, atm_profile: ArrayOfAtmPoint = self.atm_profile, atm_field: AtmField = self.atm_field, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon) None
Extract an atmospheric profile from the atmospheric field.
Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]
- atm_profileFitNonLTE(self, atm_profile: ArrayOfAtmPoint = self.atm_profile, abs_bands: AbsorptionBands = self.abs_bands, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, surf_field: SurfaceField = self.surf_field, freq_grid: AscendingGrid = self.freq_grid, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, collision_data: QuantumIdentifierGriddedField1Map, levels: ArrayOfQuantumLevelIdentifier, pol: Stokvec = [1, 0, 0, 0], azi: Numeric = 0, dzen: Numeric = 5, convergence_limit: Numeric = 1e-06, iteration_limit: Index = 100, consider_limb: Index = 1) None
Fits non-LTE distributions to the level data.
The spectral flux is computed from the pseudo-2D assumption.
This method fits non-LTE distributions to the level data in the atmospheric field. It only works for absorption band data that is separated by single-lines-per-band, and will produce nonsense for overlapping line data. If the lines overlap, the method will keep introducing more-and-more energy into the system, meaning that the method will not converge or turn to some extreme stable state.
The statistical equilibrium equation is given by finding valid set of energy level distribution \(n\) such that for all valid energy level combination of upper levels \(i\) and lower levels \(j\) the rate of change is zero for some \(n\) that satisfies the equation
\[\frac{d n_i}{dt} = \sum_{j > i} \left[ n_j A_{ji} - \left( n_i B_{ij} - n_j B_{ji} \right) J_{ij} \right] - \sum_{j < i} \left[ n_i A_{ij} - \left( n_j B_{ji} - n_i B_{ij} \right) J_{ij} \right] + \sum_{j} \left[ n_j C_{ji} - n_i C_{ij} \right],\]where \(A_{ij}\) is the spontaneous emission rate, \(B_{ij}\) is the stimulated emission rate, \(B_{ij}\) is the photon absorption rate, \(J_{ij}\) is the line-integrated flux, and \(C_{ij}\) is the collisional rate.
Generally, you need \(n\) to compute \(J_{ij}\), making the problem non-linear. Thus an iterative process is used to find the solution. The iteration is considered converged when the relative change in the energy level distribution is below the convergence criterion. Alternatively, the iteration is halted if the iteration count limit is breached.
The method used here is based on Yamada, T. et al. [43]
Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]collision_data (QuantumIdentifierGriddedField1Map) – Collision data for the transitions - for \(C_{ij}\) and \(C_{ji}\). [IN]
levels (ArrayOfQuantumLevelIdentifier) – The order of the energy levels. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization selection vector (use the default unless you know what you are doing). Defaults to
1 0 0 0[IN]azi (~pyarts3.arts.Numeric, optional) – The azimuth of the radiation. Defaults to
0[IN]dzen (~pyarts3.arts.Numeric, optional) – The zenith angle limit for the internal call to
zen_gridProfilePseudo2D(). Defaults to5[IN]convergence_limit (~pyarts3.arts.Numeric, optional) – Convergence criterion for the energy level distribution. Defaults to
1e-06[IN]iteration_limit (~pyarts3.arts.Index, optional) – Maximum number of iterations. Defaults to
100[IN]consider_limb (~pyarts3.arts.Index, optional) – Whether to add extra limb points in
zen_gridProfilePseudo2D(). Defaults to1[IN]
- atm_profileFromGrid(self, atm_profile: ArrayOfAtmPoint = self.atm_profile, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, atm_field: AtmField = self.atm_field, key: AtmKey = "t") None
Extract an atmospheric profile and its grids.
The key is used to find a
GeodeticField3in the atmospheric field. Its grids must form a profile. The profile is extracted and returned. The grids are returned as well.Author: Richard Larsson
Used by wrapper method
- Parameters:
atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [OUT]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [OUT]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [OUT]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]key (~pyarts3.arts.AtmKey, optional) – Key to find the
GeodeticField3in the atmospheric field. Defaults tot[IN]
- disort_settingsCosmicMicrowaveBackgroundRadiation(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid) None
Space radiation into Disort is isotropic cosmic background radiation.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- disort_settingsDeltaMPlus(self, disort_settings: DisortSettings = self.disort_settings) None
Computes spectral delta-M-plus scaling from the phase moments.
For every frequency and layer, this derives the removed forward-scattering fraction and normalized Gaussian-peak moments. The stored phase coefficients must include moments through degree
disort_settings.legendre_polynomial_dimension + 1. Uselegendre_degreeFromDisortSettingsDeltaMPlus()when producing scattering input.Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsDownwellingObserver(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda, pol: Stokvec = [1, 0, 0, 0]) None
Set the downwelling boundary condition using the observer agenda.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [IN]pol (~pyarts3.arts.Stokvec, optional) – The polarization state to select. The dot-product of this and
spectral_radis used. Defaults to1 0 0 0[IN]
- disort_settingsInit(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension) None
Perform Disort calculations for spectral flux.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]
- disort_settingsLayerNonThermalEmissionLinearInTau(self, disort_settings: DisortSettings = self.disort_settings, atm_path: ArrayOfAtmPoint = self.atm_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, freq_grid: AscendingGrid = self.freq_grid) None
Same as
disort_settingsLayerThermalEmissionLinearInTau()but considers non-LTEThis is WIP and should not be used.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- disort_settingsLayerThermalEmissionLinearInTau(self, disort_settings: DisortSettings = self.disort_settings, atm_path: ArrayOfAtmPoint = self.atm_path, freq_grid: AscendingGrid = self.freq_grid) None
Use a source function that changes linearly in optical thickness.
Note that you must have set the optical thickness before calling this.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- disort_settingsLegendreCoefficientsFromPath(self, disort_settings: DisortSettings = self.disort_settings, spectral_phamat_spectral_path: ArrayOfSpecmatMatrix = self.spectral_phamat_spectral_path) None
Sets the legendre coefficients from the path-variable.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]spectral_phamat_spectral_path (~pyarts3.arts.ArrayOfSpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation. Defaults to
self.spectral_phamat_spectral_path. [IN]
- disort_settingsNoFractionalScattering(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off fractional scattering in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoLayerThermalEmission(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off source radiation in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoLegendre(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off Legendre coefficients in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoSingleScatteringAlbedo(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off single albedo scattering in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoSpaceEmission(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off boundary condition from space for Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoSun(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off solar radiation in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoSurfaceEmission(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off surface boundary condition for Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsNoSurfaceScattering(self, disort_settings: DisortSettings = self.disort_settings) None
Turns off BDRF in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]
- disort_settingsOpticalThicknessFromPath(self, disort_settings: DisortSettings = self.disort_settings, ray_path: ArrayOfPropagationPathPoint = self.ray_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, min_optical_depth: Numeric = 1e-11) None
Get optical thickness from path.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]min_optical_depth (~pyarts3.arts.Numeric, optional) – The minimum increase in optical thickness per level. The DISORT algorithm employed is numerically unstable if the change between levels is too small. Defaults to
1e-11[IN]
- disort_settingsSetSun(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, sun: Sun = self.sun, ray_point: PropagationPathPoint = self.ray_point) None
Uses Set the FOV to the sun input for Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]sun (~pyarts3.arts.Sun, optional) – A sun. Defaults to
self.sun. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]
- disort_settingsSingleScatteringAlbedoFromPath(self, disort_settings: DisortSettings = self.disort_settings, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_propmat_scat_path: ArrayOfPropmatVector = self.spectral_propmat_scat_path, spectral_absvec_scat_path: ArrayOfStokvecVector = self.spectral_absvec_scat_path) None
Sets the single scattering albedo from the path-variable.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]spectral_propmat_scat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path for scattering. Defaults to
self.spectral_propmat_scat_path. [IN]spectral_absvec_scat_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – The absorption vector of totally random orientation particles along the propagation path using spectral representation. Defaults to
self.spectral_absvec_scat_path. [IN]
- disort_settingsSubsurfaceEmissionByTemperature(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, subsurf_profile: ArrayOfSubsurfacePoint = self.subsurf_profile) None
Subsurface boundary emission into Disort is based on temperature.
Sets both upper and lower bounds.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]subsurf_profile (~pyarts3.arts.ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. Defaults to
self.subsurf_profile. [IN]
- disort_settingsSubsurfaceLayerThermalEmissionLinearInTau(self, disort_settings: DisortSettings = self.disort_settings, subsurf_profile: ArrayOfSubsurfacePoint = self.subsurf_profile, freq_grid: AscendingGrid = self.freq_grid) None
Use a source function that changes linearly in optical thickness.
Note that you must have set the optical thickness before calling this.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]subsurf_profile (~pyarts3.arts.ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. Defaults to
self.subsurf_profile. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- disort_settingsSubsurfaceScalarAbsorption(self, disort_settings: DisortSettings = self.disort_settings, ray_path: ArrayOfPropagationPathPoint = self.ray_path, subsurf_profile: ArrayOfSubsurfacePoint = self.subsurf_profile, min_optical_depth: Numeric = 1e-11) None
Get optical thickness from subsurface path.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]subsurf_profile (~pyarts3.arts.ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. Defaults to
self.subsurf_profile. [IN]min_optical_depth (~pyarts3.arts.Numeric, optional) – The minimum increase in optical thickness per level. The DISORT algorithm employed is numerically unstable if the change between levels is too small. Defaults to
1e-11[IN]
- disort_settingsSubsurfaceScalarSingleScatteringAlbedo(self, disort_settings: DisortSettings = self.disort_settings, subsurf_profile: ArrayOfSubsurfacePoint = self.subsurf_profile) None
Turns off single albedo scattering in Disort calculations.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]subsurf_profile (~pyarts3.arts.ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. Defaults to
self.subsurf_profile. [IN]
- disort_settingsSurfaceCoxMunk(self, disort_settings: DisortSettings = self.disort_settings, wind_speed: Numeric = 12, refractive_index: Numeric = 1.34, shadowing: Index = 0, azimuth_quadrature_points: Index = 100) None
Sets a Cox-Munk ocean surface BRDF and computes its DISORT cosine Fourier modes.
All parameters are frequency independent. Set
shadowingto 0 or 1.Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]wind_speed (~pyarts3.arts.Numeric, optional) – Wind speed in m/s. Defaults to
12[IN]refractive_index (~pyarts3.arts.Numeric, optional) – Relative refractive index. Defaults to
1.34[IN]shadowing (~pyarts3.arts.Index, optional) – Whether to apply Cox-Munk facet shadowing (0 or 1). Defaults to
0[IN]azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceCoxMunkSpectral(self, disort_settings: DisortSettings = self.disort_settings, wind_speed: Numeric = 12, refractive_index: Vector, shadowing: Index = 0, azimuth_quadrature_points: Index = 100) None
Sets a Cox-Munk ocean BRDF with a spectrally varying refractive index.
The refractive-index vector must have one value per frequency. Wind speed and shadowing are frequency independent. Set
shadowingto 0 or 1.Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]wind_speed (~pyarts3.arts.Numeric, optional) – Wind speed in m/s. Defaults to
12[IN]refractive_index (Vector) – Spectral relative refractive index. [IN]
shadowing (~pyarts3.arts.Index, optional) – Whether to apply Cox-Munk facet shadowing (0 or 1). Defaults to
0[IN]azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceEmissionByTemperature(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field) None
Surface radiation into Disort is isotropic from surface temperature.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- disort_settingsSurfaceHapke(self, disort_settings: DisortSettings = self.disort_settings, opposition_amplitude: Numeric = 1, opposition_width: Numeric = 0.06, single_scattering_albedo: Numeric = 0.6, azimuth_quadrature_points: Index = 100) None
Sets a Hapke surface BRDF and computes its DISORT cosine Fourier modes.
The raw physical BRDF is converted to the Fourier convention used by
DisortSettings. All parameters are frequency independent.Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]opposition_amplitude (~pyarts3.arts.Numeric, optional) – Opposition-effect amplitude. Defaults to
1[IN]opposition_width (~pyarts3.arts.Numeric, optional) – Opposition-effect angular width parameter. Defaults to
0.06[IN]single_scattering_albedo (~pyarts3.arts.Numeric, optional) – Surface-particle single-scattering albedo. Defaults to
0.6[IN]azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceHapkeSpectral(self, disort_settings: DisortSettings = self.disort_settings, opposition_amplitude: Vector, opposition_width: Vector, single_scattering_albedo: Vector, azimuth_quadrature_points: Index = 100) None
Sets a spectrally varying Hapke surface BRDF.
Each parameter vector must have one value per frequency in
DisortSettings.Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]opposition_amplitude (Vector) – Spectral opposition-effect amplitude. [IN]
opposition_width (Vector) – Spectral opposition-effect angular width parameter. [IN]
single_scattering_albedo (Vector) – Spectral surface-particle single-scattering albedo. [IN]
azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceLambertian(self, disort_settings: DisortSettings = self.disort_settings, value: Numeric | Vector) None
Sets the surface to Lambertian.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]value (Numeric | Vector) – The value of the BDRF in all directions (Numeric for constant, Vector for spectral). [IN]
- disort_settingsSurfaceRPV(self, disort_settings: DisortSettings = self.disort_settings, rho0: Numeric = 0.027, kappa: Numeric = 0.647, asymmetry: Numeric = -0.169, hotspot: Numeric = 0.1, azimuth_quadrature_points: Index = 100) None
Sets an RPV surface BRDF and computes its DISORT cosine Fourier modes.
All parameters are frequency independent.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]rho0 (~pyarts3.arts.Numeric, optional) – RPV amplitude. Defaults to
0.027[IN]kappa (~pyarts3.arts.Numeric, optional) – RPV Minnaert exponent. Defaults to
0.647[IN]asymmetry (~pyarts3.arts.Numeric, optional) – Henyey-Greenstein asymmetry parameter. Defaults to
-0.169[IN]hotspot (~pyarts3.arts.Numeric, optional) – Hot-spot strength. Defaults to
0.1[IN]azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceRPVSpectral(self, disort_settings: DisortSettings = self.disort_settings, rho0: Vector, kappa: Vector, asymmetry: Vector, hotspot: Vector, azimuth_quadrature_points: Index = 100) None
Sets a spectrally varying RPV surface BRDF.
Each parameter vector must have one value per frequency in
DisortSettings.Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]rho0 (Vector) – Spectral RPV amplitude. [IN]
kappa (Vector) – Spectral RPV Minnaert exponent. [IN]
asymmetry (Vector) – Spectral Henyey-Greenstein asymmetry parameter. [IN]
hotspot (Vector) – Spectral hot-spot strength. [IN]
azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceRossLi(self, disort_settings: DisortSettings = self.disort_settings, isotropic: Numeric = 0.091, volumetric: Numeric = 0.02, geometric: Numeric = 0.01, hotspot_angle: Numeric = 1.5, azimuth_quadrature_points: Index = 100) None
Sets a Ross-Li surface BRDF and computes its DISORT cosine Fourier modes.
All kernel weights and the hot-spot angle are frequency independent.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]isotropic (~pyarts3.arts.Numeric, optional) – Isotropic kernel weight. Defaults to
0.091[IN]volumetric (~pyarts3.arts.Numeric, optional) – Ross-Thick volumetric kernel weight. Defaults to
0.02[IN]geometric (~pyarts3.arts.Numeric, optional) – Li-Sparse geometric kernel weight. Defaults to
0.01[IN]hotspot_angle (~pyarts3.arts.Numeric, optional) – Hot-spot angular width in degrees. Defaults to
1.5[IN]azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settingsSurfaceRossLiSpectral(self, disort_settings: DisortSettings = self.disort_settings, isotropic: Vector, volumetric: Vector, geometric: Vector, hotspot_angle: Numeric = 1.5, azimuth_quadrature_points: Index = 100) None
Sets a Ross-Li surface BRDF with spectrally varying kernel weights.
Each kernel-weight vector must have one value per frequency. The hot-spot angle is frequency independent.
Author: Richard Larsson
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [INOUT]isotropic (Vector) – Spectral isotropic kernel weight. [IN]
volumetric (Vector) – Spectral Ross-Thick volumetric kernel weight. [IN]
geometric (Vector) – Spectral Li-Sparse geometric kernel weight. [IN]
hotspot_angle (~pyarts3.arts.Numeric, optional) – Hot-spot angular width in degrees. Defaults to
1.5[IN]azimuth_quadrature_points (~pyarts3.arts.Index, optional) – Number of azimuth quadrature points used for each Fourier coefficient. Defaults to
100[IN]
- disort_settings_agendaExecute(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda) CxxWorkspace
Executes
disort_settings_agenda, see it for more detailsAuthor:
Automatically GeneratedUsed by wrapper methods
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- disort_settings_agendaExecuteOperator(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_settings_agenda_operator: DisortSettingsAgendaOperator) None
Executes an operator emulating
disort_settings_agenda, see it, and alsoDisortSettingsAgendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_settings_agenda_operator (DisortSettingsAgendaOperator) – Operator for
disort_settings_agenda. [IN]
- disort_settings_agendaSetOperator(self, disort_settings_agenda: Agenda = self.disort_settings_agenda, f: DisortSettingsAgendaOperator) None
Set
disort_settings_agendato exclusively use provided external operator. SeeDisortSettingsAgendaOperatorfor more details.Author:
Automatically Generated- Parameters:
disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [OUT]f (DisortSettingsAgendaOperator) – Operator for
disort_settings_agenda. [IN]
- disort_settings_agendaSetup(self, disort_settings_agenda: Agenda = self.disort_settings_agenda, layer_emission_setting: String = LinearInTau, scattering_setting: String = None, space_setting: String = CosmicMicrowaveBackgroundRadiation, sun_setting: String = None, surf_setting: String = Thermal, surf_lambertian_value: Vector = , min_optical_depth: Numeric = 1e-11) None
Setup for Disort standard calculations.
This method allows setting up
disort_settings_agendaby named options. A description of the options is given below.Author: Richard Larsson
- Parameters:
disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [OUT]layer_emission_setting (~pyarts3.arts.String, optional) – Layer emission settings. Defaults to
"LinearInTau"[IN]scattering_setting (~pyarts3.arts.String, optional) – Scattering settings. Defaults to
"None"[IN]space_setting (~pyarts3.arts.String, optional) – Space settings. Defaults to
"CosmicMicrowaveBackgroundRadiation"[IN]sun_setting (~pyarts3.arts.String, optional) – Sun settings. Defaults to
"None"[IN]surf_setting (~pyarts3.arts.String, optional) – Surface settings. Defaults to
"Thermal"[IN]surf_lambertian_value (~pyarts3.arts.Vector, optional) – Surface lambertian value (must be the size of the frequency grid; used only when surface is set to a Lambertian variant). Defaults to
[][IN]min_optical_depth (~pyarts3.arts.Numeric, optional) – The minimum increase in optical thickness per level. The DISORT algorithm employed is numerically unstable if the change between levels is too small. Defaults to
1e-11[IN]
Extra
There are 144 possible combinations for calling the
disort_settings_agendaSetupmethod.Below, these are all listed with the generated agenda-call order for each combination in full.
Before that, a concise overview of what each option does is available by the types in this table:
Input variable
pyarts class
layer_emission_settingscattering_settingspace_settingsun_settingsurf_settingdisort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="None", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendamin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="None", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Thermal", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="ThermalLambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpeciesDeltaMPlus", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surf_setting="Lambertian", surf_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)Shares the global
atm_fieldShares the global
spectral_propmat_agendaShares the global
spectral_propmat_scat_spectral_agendaShares the global
sunShares the global
surf_fieldmin_optical_depth = min_optical_depth
value = lambertian_reflection
- disort_settings_agendaSubsurfaceSetup(self, disort_settings_agenda: Agenda = self.disort_settings_agenda, sun_setting: String = None, min_optical_depth: Numeric = 1e-11) None
Setup for Disort subsurface calculations.
This method allows setting up
disort_settings_agendaby named options. A description of the options is given below.Author: Richard Larsson
- Parameters:
disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [OUT]sun_setting (~pyarts3.arts.String, optional) – Sun settings. Defaults to
"None"[IN]min_optical_depth (~pyarts3.arts.Numeric, optional) – The minimum increase in optical thickness per level. The DISORT algorithm employed is numerically unstable if the change between levels is too small. Defaults to
1e-11[IN]
- disort_settings_downwelling_wrapper_agendaExecute(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, disort_settings_downwelling_wrapper_agenda: Agenda = self.disort_settings_downwelling_wrapper_agenda) CxxWorkspace
Executes
disort_settings_downwelling_wrapper_agenda, see it for more detailsAuthor:
Automatically GeneratedUsed by wrapper method
- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]disort_settings_downwelling_wrapper_agenda (~pyarts3.arts.Agenda, optional) – An wrapper agenda for calling
disort_settings_agenda. Defaults toself.disort_settings_downwelling_wrapper_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- disort_settings_downwelling_wrapper_agendaExecuteOperator(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, disort_settings_downwelling_wrapper_agenda_operator: disort_settings_downwelling_wrapper_agendaOperator) None
Executes an operator emulating
disort_settings_downwelling_wrapper_agenda, see it, and alsodisort_settings_downwelling_wrapper_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]disort_settings_downwelling_wrapper_agenda_operator (disort_settings_downwelling_wrapper_agendaOperator) – Operator for
disort_settings_downwelling_wrapper_agenda. [IN]
- disort_settings_downwelling_wrapper_agendaSet(self, disort_settings_downwelling_wrapper_agenda: Agenda = self.disort_settings_downwelling_wrapper_agenda, option: String = Standard) None
Set
disort_settings_downwelling_wrapper_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
disort_settings_downwelling_wrapper_agenda (~pyarts3.arts.Agenda, optional) – An wrapper agenda for calling
disort_settings_agenda. Defaults toself.disort_settings_downwelling_wrapper_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"Standard"[IN]
Valid options
These are the valid options for the
disort_settings_downwelling_wrapper_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.disort_settings_downwelling_wrapper_agendaSet(option="Standard")Shares the global
spectral_rad_observer_agendapol = [1, 0, 0, 0]
- disort_settings_downwelling_wrapper_agendaSetOperator(self, disort_settings_downwelling_wrapper_agenda: Agenda = self.disort_settings_downwelling_wrapper_agenda, f: disort_settings_downwelling_wrapper_agendaOperator) None
Set
disort_settings_downwelling_wrapper_agendato exclusively use provided external operator. Seedisort_settings_downwelling_wrapper_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
disort_settings_downwelling_wrapper_agenda (~pyarts3.arts.Agenda, optional) – An wrapper agenda for calling
disort_settings_agenda. Defaults toself.disort_settings_downwelling_wrapper_agenda. [OUT]f (disort_settings_downwelling_wrapper_agendaOperator) – Operator for
disort_settings_downwelling_wrapper_agenda. [IN]
- disort_spectral_flux_fieldCalc(self, disort_spectral_flux_field: DisortFlux = self.disort_spectral_flux_field, disort_settings: DisortSettings = self.disort_settings) None
Perform Disort calculations for spectral flux.
Author: Richard Larsson
Used by wrapper method
- Parameters:
disort_spectral_flux_field (~pyarts3.arts.DisortFlux, optional) – The spectral flux field from Disort. Defaults to
self.disort_spectral_flux_field. [OUT]disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [IN]
- disort_spectral_flux_fieldCoupledCalc(self, disort_spectral_flux_field: DisortFlux = self.disort_spectral_flux_field, atm_disort_settings: DisortSettings = self.atm_disort_settings, subsurf_disort_settings: DisortSettings = self.subsurf_disort_settings, tolerance: Numeric = 1e-04, max_iterations: Index = 20, relaxation: Numeric = 0.5) None
Perform Disort calculations for spectral flux.
This effectively executed
disort_spectral_flux_fieldCalc()for both atmospheric and subsurface calculations based on their settings. It then couples the two fields by setting the lower boundary of the atmospheric field to the upper boundary of the subsurface field, and vice versa (in a relaxed linear interpolation way). The coupling is iterated until the change in the coupled boundary is below some relative tolerance or a maximum number of iterations is reached.Author: Richard Larsson
Used by wrapper method
- Parameters:
disort_spectral_flux_field (~pyarts3.arts.DisortFlux, optional) – The spectral flux field from Disort. Defaults to
self.disort_spectral_flux_field. [OUT]atm_disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations for atmospheric conditions. Defaults to
self.atm_disort_settings. [IN]subsurf_disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations for subsurface conditions. Defaults to
self.subsurf_disort_settings. [IN]tolerance (~pyarts3.arts.Numeric, optional) – Maximum relative change to be considered in the coupling. Defaults to
1e-04[IN]max_iterations (~pyarts3.arts.Index, optional) – Maximum iterations in the coupling. Defaults to
20[IN]relaxation (~pyarts3.arts.Numeric, optional) – The rate of approach to the coupled boundary. Defaults to
0.5[IN]
- disort_spectral_flux_fieldCoupledProfiles(self, disort_spectral_flux_field: DisortFlux = self.disort_spectral_flux_field, alt_grid: AscendingGrid = self.alt_grid, atm_disort_settings_agenda: Agenda = self.atm_disort_settings_agenda, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, subsurf_disort_settings_agenda: Agenda = self.subsurf_disort_settings_agenda, surf_field: SurfaceField = self.surf_field, tolerance: Numeric = 1e-04, relaxation: Numeric = 0.5, max_iterations: Index = 20) None
Use Disort for calculations of spectral flux field.
The subsurface and atmosphere is computed separately before being coupled at each frequency.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.CoupledAtmosphereAndSubsurfaceDisortSettings() 6 ws.disort_spectral_flux_fieldCoupledCalc()
Author: Richard Larsson
- Parameters:
disort_spectral_flux_field (~pyarts3.arts.DisortFlux, optional) – The spectral flux field from Disort. Defaults to
self.disort_spectral_flux_field. [OUT]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]atm_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor atmospheric calculations. Defaults toself.atm_disort_settings_agenda. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]subsurf_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor subsurface calculations. Defaults toself.subsurf_disort_settings_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]tolerance (~pyarts3.arts.Numeric, optional) – Maximum relative change to be considered in the coupling. Defaults to
1e-04[IN]relaxation (~pyarts3.arts.Numeric, optional) – The rate of approach to the coupled boundary. Defaults to
0.5[IN]max_iterations (~pyarts3.arts.Index, optional) – Maximum iterations in the coupling. Defaults to
20[IN]
- disort_spectral_flux_fieldFromAgenda(self, disort_spectral_flux_field: DisortFlux = self.disort_spectral_flux_field, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Use Disort for calculations of spectral flux field.
The agenda is used to setup Disort, i.e., to compute the
disort_settingsthat governs how the solver is run.Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.disort_settings_agendaExecute() 6 ws.disort_spectral_flux_fieldCalc()
Authors: Richard Larsson,
Automatically GeneratedUsed by wrapper method
- Parameters:
disort_spectral_flux_field (~pyarts3.arts.DisortFlux, optional) – The spectral flux field from Disort. Defaults to
self.disort_spectral_flux_field. [OUT]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- disort_spectral_flux_fieldProfile(self, disort_spectral_flux_field: DisortFlux = self.disort_spectral_flux_field, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, max_stepsize: Numeric = self.max_stepsize, surf_field: SurfaceField = self.surf_field) None
Extract a 1D path through the atmosphere and calculate spectral flux using Disort.
This wrapper helps setting up a downlooking ray path through the atmosphere to form the basis for the agenda to setup the Disort calculations.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pathGeometricDownlooking() 6 ws.disort_spectral_flux_fieldFromAgenda()
Authors: Richard Larsson,
Automatically Generated- Parameters:
disort_spectral_flux_field (~pyarts3.arts.DisortFlux, optional) – The spectral flux field from Disort. Defaults to
self.disort_spectral_flux_field. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- disort_spectral_rad_fieldApplyUnit(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, ray_point: PropagationPathPoint = self.ray_point, spectral_rad_transform_operator: SpectralRadianceTransformOperator = self.spectral_rad_transform_operator) None
Convert units of the Disort spectral radiance field.
Author: Richard Larsson
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [INOUT]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]spectral_rad_transform_operator (~pyarts3.arts.SpectralRadianceTransformOperator, optional) – The spectral radiance transform operator. Defaults to
self.spectral_rad_transform_operator. [IN]
- disort_spectral_rad_fieldCalc(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, disort_settings: DisortSettings = self.disort_settings, azi_grid: AziGrid = 0) None
Perform Disort calculations for spectral radiance.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldCalcCdisort(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, disort_settings: DisortSettings = self.disort_settings, atm_path: ArrayOfAtmPoint = self.atm_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, surf_field: SurfaceField = self.surf_field, azi_grid: AziGrid = 0) None
Perform CDisort calculations for spectral radiance.
CDisort is only included for testing and comparisons with our own disort implementation.
Author: Oliver Lemke
Used by wrapper method
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldCoupledCalc(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, atm_disort_settings: DisortSettings = self.atm_disort_settings, subsurf_disort_settings: DisortSettings = self.subsurf_disort_settings, azi_grid: AziGrid = 0, tolerance: Numeric = 1e-04, max_iterations: Index = 20, relaxation: Numeric = 0.5) None
Perform Disort calculations for spectral radiance.
This effectively executed
disort_spectral_rad_fieldCalc()for both atmospheric and subsurface calculations based on their settings. It then couples the two fields by setting the lower boundary of the atmospheric field to the upper boundary of the subsurface field, and vice versa (in a relaxed linear interpolation way). The coupling is iterated until the change in the coupled boundary is below some relative tolerance or a maximum number of iterations is reached.Author: Richard Larsson
Used by wrapper method
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]atm_disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations for atmospheric conditions. Defaults to
self.atm_disort_settings. [IN]subsurf_disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations for subsurface conditions. Defaults to
self.subsurf_disort_settings. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]tolerance (~pyarts3.arts.Numeric, optional) – Maximum relative change to be considered in the coupling. Defaults to
1e-04[IN]max_iterations (~pyarts3.arts.Index, optional) – Maximum iterations in the coupling. Defaults to
20[IN]relaxation (~pyarts3.arts.Numeric, optional) – The rate of approach to the coupled boundary. Defaults to
0.5[IN]
- disort_spectral_rad_fieldCoupledProfiles(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, alt_grid: AscendingGrid = self.alt_grid, atm_disort_settings_agenda: Agenda = self.atm_disort_settings_agenda, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, subsurf_disort_settings_agenda: Agenda = self.subsurf_disort_settings_agenda, surf_field: SurfaceField = self.surf_field, tolerance: Numeric = 1e-04, relaxation: Numeric = 0.5, max_iterations: Index = 20, azi_grid: AziGrid = 0) None
Use Disort for calculations of spectral radiance field.
The subsurface and atmosphere is computed separately before being coupled at each frequency.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.CoupledAtmosphereAndSubsurfaceDisortSettings() 6 ws.disort_spectral_rad_fieldCoupledCalc()
Author: Richard Larsson
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]atm_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor atmospheric calculations. Defaults toself.atm_disort_settings_agenda. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]subsurf_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor subsurface calculations. Defaults toself.subsurf_disort_settings_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]tolerance (~pyarts3.arts.Numeric, optional) – Maximum relative change to be considered in the coupling. Defaults to
1e-04[IN]relaxation (~pyarts3.arts.Numeric, optional) – The rate of approach to the coupled boundary. Defaults to
0.5[IN]max_iterations (~pyarts3.arts.Index, optional) – Maximum iterations in the coupling. Defaults to
20[IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldDepthProfile(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, ray_point: PropagationPathPoint = self.ray_point, depth_profile: DescendingGrid, azi_grid: AziGrid = 0) None
Sets a ray path from a point and depth profile and calculates spectral radiance using Disort.
This wrapper helps setting up a downlooking ray path to form the basis for the agenda to setup the Disort calculations.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pathFromPointAndDepth() 6 ws.disort_spectral_rad_fieldFromAgenda()
Authors: Richard Larsson,
Automatically Generated- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]depth_profile (DescendingGrid) – List of depths. [IN]
azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldFromAgenda(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, azi_grid: AziGrid = 0) None
Use Disort for clearsky calculations of spectral radiance field.
The agenda is used to setup Disort, i.e., to compute the
disort_settingsthat governs how the solver is run.Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.disort_settings_agendaExecute() 6 ws.disort_spectral_rad_fieldCalc()
Authors: Richard Larsson,
Automatically GeneratedUsed by wrapper methods
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldFromAgendaCdisort(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, atm_field: AtmField = self.atm_field, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, surf_field: SurfaceField = self.surf_field, azi_grid: AziGrid = 0) None
Use the disort settings agenda to calculate spectral radiance
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.disort_settings_agendaExecute() 6 ws.atm_pathFromPath() 7 ws.freq_grid_pathFromPath() 8 ws.disort_spectral_rad_fieldCalcCdisort()
Authors: Oliver Lemke, Richard Larsson,
Automatically GeneratedUsed by wrapper method
- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldProfile(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, max_stepsize: Numeric = self.max_stepsize, surf_field: SurfaceField = self.surf_field, azi_grid: AziGrid = 0) None
Extract a 1D path through the atmosphere and calculate spectral radiance using Disort.
This wrapper helps setting up a downlooking ray path through the atmosphere to form the basis for the agenda to setup the Disort calculations.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pathGeometricDownlooking() 6 ws.disort_spectral_rad_fieldFromAgenda()
Authors: Richard Larsson,
Automatically Generated- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- disort_spectral_rad_fieldProfileCdisort(self, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, max_stepsize: Numeric = self.max_stepsize, surf_field: SurfaceField = self.surf_field, azi_grid: AziGrid = 0) None
Extract a 1D path through the atmospheric field and calculate spectral radiance using Disort
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pathGeometricDownlooking() 6 ws.disort_spectral_rad_fieldFromAgendaCdisort()
Authors: Oliver Lemke, Richard Larsson,
Automatically Generated- Parameters:
disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- flux_profileIntegrate(self, flux_profile: Vector | None = None, spectral_flux_profile: Matrix = self.spectral_flux_profile, freq_grid: AscendingGrid = self.freq_grid) None
Computes the spectral flux
Author: Richard Larsson
- Parameters:
flux_profile (Vector) – The spectral flux profile. Defaults to create and/or use
self.flux_profile. [OUT]spectral_flux_profile (~pyarts3.arts.Matrix, optional) – An altitude profile of spectral flux. Defaults to
self.spectral_flux_profile. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- freqWindShift(self, freq: Numeric = self.freq, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point) None
Same as
freq_gridWindShift()but for single frequency values.Author: Richard Larsson
- Parameters:
freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [INOUT]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [OUT]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]
- freq_gridFitNonLTE(self, freq_grid: AscendingGrid = self.freq_grid, abs_bands: AbsorptionBands = self.abs_bands, df: Numeric, nf: Index = 401) None
Frequency grid useful for
atm_profileFitNonLTE().This method creates a frequency grid around the line-center of each absorption line in the
abs_bandsvariable.Note
For all sorted absorption line centers \(f_i\), the following should be true:
\[f_{i -1} + \delta f < f_i < f_{i + 1} - \delta f\]That is, the frequency ranges are not allowed to overlap.
Author: Richard Larsson
- Parameters:
freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [OUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]df (Numeric) – Frequency grid around the line-center. The range will cover \(f_i \pm \left(1-\delta f\right)\forall i\) of each absorption line \(i\), where this variable is \(\delta f\). [IN]
nf (~pyarts3.arts.Index, optional) – Number of frequency points per line. The step between frequency grid points will be \(2\frac{\delta f}{N - 1}\), where this is \(N\). Defaults to
401[IN]
- freq_gridFromSingleFrequency(self, freq_grid: AscendingGrid = self.freq_grid, freq: Numeric = self.freq) None
Composition method, creates a frequency grid from a single frequency.
Author: Richard Larsson
- Parameters:
freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]
- freq_gridWindShift(self, freq_grid: AscendingGrid = self.freq_grid, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point) None
Applies wind shift to the
freq_gridfor the local frequency grid.Also sets
freq_wind_shift_jac.If the wind is 0 or nan, the
freq_gridremains unchanged.Author: Richard Larsson
- Parameters:
freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [INOUT]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [OUT]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]
- freq_grid_pathFromPath(self, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path) None
Gets the frequency grids along the path.
The derivative transformation for wind parameters is also returned.
See
spectral_propmat_jacWindFix()for use of the wind shift data.Author: Richard Larsson
Used by wrapper method
- Parameters:
freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [OUT]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]
- gravity_operatorCentralMass(self, gravity_operator: NumericTernaryOperator = self.gravity_operator, surf_field: SurfaceField = self.surf_field, mass: Numeric) None
Sets a gravity operator from the gravitational constant and the mass of the planet
Gets the ellispoid from
surf_fieldAuthor: Richard Larsson
- Parameters:
gravity_operator (~pyarts3.arts.NumericTernaryOperator, optional) – The gravity operator. Defaults to
self.gravity_operator. [OUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]mass (Numeric) – Gravitation constant so that the gravity at radius \(r\) is \(GM / r^2\). [IN]
- init(self, arg: str, /) None
- init(self, name: str, typename: str) None
Overloaded function.
init(self, arg: str, /) -> Noneinit(self, name: str, typename: str) -> None
Initiate the variable to the named type.
- inversion_iterate_agendaExecute(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_jac: Matrix = self.measurement_jac, model_state_targets: JacobianTargets = self.model_state_targets, jac_targets: JacobianTargets = self.jac_targets, model_state_vec: Vector = self.model_state_vec, inversion_iterate_agenda: Agenda = self.inversion_iterate_agenda) CxxWorkspace
Executes
inversion_iterate_agenda, see it for more detailsWarning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author:
Automatically Generated- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]inversion_iterate_agenda (~pyarts3.arts.Agenda, optional) – Evaluate a retrieval state. See
oemCalc(). Defaults toself.inversion_iterate_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- inversion_iterate_agendaExecuteOperator(self, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_jac: Matrix = self.measurement_jac, model_state_targets: JacobianTargets = self.model_state_targets, jac_targets: JacobianTargets = self.jac_targets, model_state_vec: Vector = self.model_state_vec, inversion_iterate_agenda_operator: inversion_iterate_agendaOperator) None
Executes an operator emulating
inversion_iterate_agenda, see it, and alsoinversion_iterate_agendaOperator, for more detailsWarning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author:
Automatically Generated- Parameters:
atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]inversion_iterate_agenda_operator (inversion_iterate_agendaOperator) – Operator for
inversion_iterate_agenda. [IN]
- inversion_iterate_agendaSet(self, inversion_iterate_agenda: Agenda = self.inversion_iterate_agenda, option: String = Full) None
Set
inversion_iterate_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
inversion_iterate_agenda (~pyarts3.arts.Agenda, optional) – Evaluate a retrieval state. See
oemCalc(). Defaults toself.inversion_iterate_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"Full"[IN]
Valid options
These are the valid options for the
inversion_iterate_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.inversion_iterate_agendaSet(option="Full")
- inversion_iterate_agendaSetOperator(self, inversion_iterate_agenda: Agenda = self.inversion_iterate_agenda, f: inversion_iterate_agendaOperator) None
Set
inversion_iterate_agendato exclusively use provided external operator. Seeinversion_iterate_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
inversion_iterate_agenda (~pyarts3.arts.Agenda, optional) – Evaluate a retrieval state. See
oemCalc(). Defaults toself.inversion_iterate_agenda. [OUT]f (inversion_iterate_agendaOperator) – Operator for
inversion_iterate_agenda. [IN]
- jac_targetsAddAtmosphere(self, jac_targets: JacobianTargets = self.jac_targets, target: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope, d: Numeric = 0.1) None
Sets an atmospheric target.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]target (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – The target of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddErrorPolyFit(self, jac_targets: JacobianTargets = self.jac_targets, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, t: Vector, sensor_elem: Index, polyorder: Index = 0) None
Set a measurement error to polynomial fit.
This is a generic error that is simply added to
measurement_vecas if\[y = y_0 + \epsilon(p_0,\; p_1,\; \cdots,\; p_n),\]where \(y\) represents
measurement_vecand \(y_0\) is the measurement vector without any errors)Order 0 means constant: \(y = y_0 + a\)
Order 1 means linear: \(y = y_0 + a + b t\)
and so on. The derivatives that are added to the
model_state_vecare those with regards to a, b, etc..Note
The rule for the
sensor_elemGIN is a bit complex. Generally, methods such asmeasurement_sensorAddSimple()will simply add a single unique frequency grid to all the differentSensorObselthat they add to themeasurement_sensor. The GINsensor_elemis 0 for the first unique frequency grid, 1 for the second, and so on. SeeArrayOfSensorObselmember methods in python for help identifying and manipulating how many unique frequency grids are available inmeasurement_sensor.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]t (Vector) – The grid of \(y\). As \(t\) above. [IN]
sensor_elem (Index) – The sensor element whose frequency grid to use. [IN]
polyorder (~pyarts3.arts.Index, optional) – The order of the polynomial fit. Maximum \(n\) above. Defaults to
0[IN]
- jac_targetsAddLineParameter(self, jac_targets: JacobianTargets = self.jac_targets, band: QuantumIdentifier, line: Index, parameter: LineByLineVariable, d: Numeric = 0) None
Add a spectroscopic line parameter to
jac_targets.The target selects one line in an
AbsorptionBandsband and one of its fundamental parameters, such as line center, lower-state energy, or Einstein coefficient. The line index is zero-based.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]band (QuantumIdentifier) – Band containing the line. [IN]
line (Index) – Zero-based line index. [IN]
parameter (LineByLineVariable) – Line parameter. [IN]
d (~pyarts3.arts.Numeric, optional) – Perturbation used by numerical derivative consumers. Defaults to
0[IN]
- jac_targetsAddLineShapeParameter(self, jac_targets: JacobianTargets = self.jac_targets, band: QuantumIdentifier, line: Index, species: SpeciesEnum, parameter: LineShapeModelVariable, coefficient: LineShapeModelCoefficient, d: Numeric = 0) None
Add a line-shape model coefficient to
jac_targets.The target selects a broadening species, line-shape parameter, and temperature model coefficient for one line in an
AbsorptionBandsband. The line index is zero-based.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]band (QuantumIdentifier) – Band containing the line. [IN]
line (Index) – Zero-based line index. [IN]
species (SpeciesEnum) – Broadening species. [IN]
parameter (LineShapeModelVariable) – Line-shape parameter. [IN]
coefficient (LineShapeModelCoefficient) – Temperature-model coefficient. [IN]
d (~pyarts3.arts.Numeric, optional) – Perturbation used by numerical derivative consumers. Defaults to
0[IN]
- jac_targetsAddMagneticField(self, jac_targets: JacobianTargets = self.jac_targets, component: String, d: Numeric = 0.1) None
Set magnetic field derivative.
See
FieldComponentfor validcomponent.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]component (String) – The component to use [u, v, w]. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddOverlappingMagneticField(self, jac_targets: JacobianTargets = self.jac_targets) None
Set magnetic field derivative for overlapping fields.
An overlapping field means that the derivative is computed but that the x-component of the jacobian is at the same position as another Jacobian target.
The reason for this method is that it allows representing the (signed) absolute magnetic field derivative as a combination of the three magnetic field components.
To call this method, you first have added 1 component of the magnetic field derivative, and then you call this method to add the second and third component.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]
- jac_targetsAddOverlappingWindField(self, jac_targets: JacobianTargets = self.jac_targets) None
Set wind field derivative for overlapping fields.
An overlapping field means that the derivative is computed but that the x-component of the jacobian is at the same position as another Jacobian target.
The reason for this method is that it allows representing the (signed) absolute wind speed derivative as a combination of the three wind field components.
To call this method, you first have added 1 component of the wind field derivative, and then you call this method to add the second and third component.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]
- jac_targetsAddPressure(self, jac_targets: JacobianTargets = self.jac_targets, d: Numeric = 0.1) None
Set pressure derivative.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddSensorFrequencyPolyOffset(self, jac_targets: JacobianTargets = self.jac_targets, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, d: Numeric = 0.1, sensor_elem: Index, polyorder: Index = 0) None
Set sensor frequency derivative to use polynomial fitting offset
Order 0 means constant: \(f := f_0 + a\)
Order 1 means linear: \(f := f_0 + a + b f_0\)
and so on. The derivatives that are added to the
model_state_vecare those with regards to a, b, etc..Note
The rule for the
sensor_elemGIN is a bit complex. Generally, methods such asmeasurement_sensorAddSimple()will simply add a single unique frequency grid to all the differentSensorObselthat they add to themeasurement_sensor. The GINsensor_elemis 0 for the first unique frequency grid, 1 for the second, and so on. SeeArrayOfSensorObselmember methods in python for help identifying and manipulating how many unique frequency grids are available inmeasurement_sensor.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]sensor_elem (Index) – The sensor element whose frequency grid to use. [IN]
polyorder (~pyarts3.arts.Index, optional) – The order of the polynomial fit. Defaults to
0[IN]
- jac_targetsAddSpeciesIsotopologueRatio(self, jac_targets: JacobianTargets = self.jac_targets, species: SpeciesIsotope, d: Numeric = 0.1) None
Set isotopologue ratio derivative
See
SpeciesIsotopefor validspeciesAuthor: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]species (SpeciesIsotope) – The species isotopologue of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddSpeciesVMR(self, jac_targets: JacobianTargets = self.jac_targets, species: SpeciesEnum, d: Numeric = 0.1) None
Set volume mixing ratio derivative.
See
SpeciesEnumfor validspeciesAuthor: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]species (SpeciesEnum) – The species of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddSubsurface(self, jac_targets: JacobianTargets = self.jac_targets, target: SubsurfaceKey | SubsurfacePropertyTag, d: Numeric = 0.1) None
Sets a subsurface target
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]target (SubsurfaceKey | SubsurfacePropertyTag) – The target of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddSurface(self, jac_targets: JacobianTargets = self.jac_targets, target: SurfaceKey | SurfacePropertyTag, d: Numeric = 0.1) None
Sets a surface target
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]target (SurfaceKey | SurfacePropertyTag) – The target of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddTemperature(self, jac_targets: JacobianTargets = self.jac_targets, d: Numeric = 0.1) None
Set temperature derivative.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsAddWindField(self, jac_targets: JacobianTargets = self.jac_targets, component: String, d: Numeric = 0.1) None
Set wind field derivative.
Note that the derivatives from methods that takes the frequency will return their derivatives as if these were frequency derivatives.
See
FieldComponentfor validcomponentAuthor: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]component (String) – The component to use [u, v, w]. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]
- jac_targetsFinalize(self, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, abs_bands: AbsorptionBands = self.abs_bands, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor) None
Finalize
jac_targets.The finalization computes the size of the required
model_state_vec. It is thus necessary if anyoemCalc()or other functionality that requires the building of an actual Jacobian matrix.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]
- jac_targetsInit(self, jac_targets: JacobianTargets = self.jac_targets) None
Initialize or reset the
jac_targets.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [OUT]
- jac_targetsOff(self, jac_targets: JacobianTargets = self.jac_targets) None
Turns off
jac_targetsAuthor: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [OUT]
- jac_targetsToggleLogRelAtmTarget(self, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, key: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) None
Toggles logarithmic/relative or absolute retrievals.
This means to take the logarithm of the relative value.
If the target is in logarithmic/relative mode, it becomes absolute. If the target is not in logarithmic/relative mode, it becomes logarithmic/relative.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]key (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – Key to toggle. [IN]
- jac_targetsToggleLogRelSubsurfaceTarget(self, jac_targets: JacobianTargets = self.jac_targets, subsurf_field: SubsurfaceField = self.subsurf_field, key: SubsurfaceKey) None
Toggles logarithmic/relative or absolute retrievals.
This means to take the logarithm of the relative value.
If the target is in logarithmic/relative mode, it becomes absolute. If the target is not in logarithmic/relative mode, it becomes logarithmic/relative.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]key (SubsurfaceKey) – Key to toggle. [IN]
- jac_targetsToggleLogRelSurfaceTarget(self, jac_targets: JacobianTargets = self.jac_targets, surf_field: SurfaceField = self.surf_field, key: SurfaceKey | SurfacePropertyTag) None
Toggles logarithmic/relative or absolute retrievals.
This means to take the logarithm of the relative value.
If the target is in logarithmic/relative mode, it becomes absolute. If the target is not in logarithmic/relative mode, it becomes logarithmic/relative.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]key (SurfaceKey | SurfacePropertyTag) – Key to toggle. [IN]
- jac_targetsToggleLogarithmicAtmTarget(self, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, key: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) None
Toggles logarithmic or absolute retrievals.
If the target is in logarithmic mode, it becomes absolute. If the target is not in logarithmic mode, it becomes logarithmic.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]key (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – Key to toggle. [IN]
- jac_targetsToggleLogarithmicSubsurfaceTarget(self, jac_targets: JacobianTargets = self.jac_targets, subsurf_field: SubsurfaceField = self.subsurf_field, key: SubsurfaceKey) None
Toggles logarithmic or absolute retrievals.
If the target is in logarithmic mode, it becomes absolute. If the target is not in logarithmic mode, it becomes logarithmic.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]key (SubsurfaceKey) – Key to toggle. [IN]
- jac_targetsToggleLogarithmicSurfaceTarget(self, jac_targets: JacobianTargets = self.jac_targets, surf_field: SurfaceField = self.surf_field, key: SurfaceKey | SurfacePropertyTag) None
Toggles logarithmic or absolute retrievals.
If the target is in logarithmic mode, it becomes absolute. If the target is not in logarithmic mode, it becomes logarithmic.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]key (SurfaceKey | SurfacePropertyTag) – Key to toggle. [IN]
- jac_targetsToggleRelativeAtmTarget(self, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, key: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) None
Toggles relative or absolute retrievals.
If the target is in relative mode, it becomes absolute. If the target is not in relative mode, it becomes relative.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]key (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – Key to toggle. [IN]
- jac_targetsToggleRelativeHumidityAtmTarget(self, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, water_equivalent_pressure_operator: NumericUnaryOperator = self.water_equivalent_pressure_operator, key: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope, nonnegative: Index = 1) None
Toggles relative humidity or absolute retrievals.
If the target is in relative humidity mode, it becomes absolute. If the target is not in relative humidity mode, it becomes relative humidity.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]water_equivalent_pressure_operator (~pyarts3.arts.NumericUnaryOperator, optional) – The water equivalent pressure operator. Defaults to
self.water_equivalent_pressure_operator. [IN]key (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – Key to toggle. [IN]
nonnegative (~pyarts3.arts.Index, optional) – Whether or not to zero-out negative values. Defaults to
1[IN]
- jac_targetsToggleRelativeSubsurfaceTarget(self, jac_targets: JacobianTargets = self.jac_targets, subsurf_field: SubsurfaceField = self.subsurf_field, key: SubsurfaceKey) None
Toggles relative or absolute retrievals.
If the target is in relative mode, it becomes absolute. If the target is not in relative mode, it becomes relative.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]key (SubsurfaceKey) – Key to toggle. [IN]
- jac_targetsToggleRelativeSurfaceTarget(self, jac_targets: JacobianTargets = self.jac_targets, surf_field: SurfaceField = self.surf_field, key: SurfaceKey | SurfacePropertyTag) None
Toggles relative or absolute retrievals.
If the target is in relative mode, it becomes absolute. If the target is not in relative mode, it becomes relative.
Overwrites all other functional toggles.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]key (SurfaceKey | SurfacePropertyTag) – Key to toggle. [IN]
- legendre_degreeFromDisortSettings(self, legendre_degree: Index = self.legendre_degree, disort_settings: DisortSettings = self.disort_settings) None
Sets
legendre_degreetodisort_settingslegendre_polynomial_dimensionMethod is purely for convenience and composition.
Author: Richard Larsson
- Parameters:
legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [OUT]disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [IN]
- legendre_degreeFromDisortSettingsDeltaMPlus(self, legendre_degree: Index = self.legendre_degree, disort_settings: DisortSettings = self.disort_settings) None
Sets
legendre_degreefor DISORT delta-M-plus input.This requests two phase moments beyond the reduced DISORT Legendre dimension, which are required to derive the Gaussian forward-peak width.
Author: Richard Larsson
- Parameters:
legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [OUT]disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [IN]
- measurement_inversion_agendaExecute(self, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_jac: Matrix = self.measurement_jac, model_state_targets: JacobianTargets = self.model_state_targets, jac_targets: JacobianTargets = self.jac_targets, measurement_inversion_agenda: Agenda = self.measurement_inversion_agenda) CxxWorkspace
Executes
measurement_inversion_agenda, see it for more detailsWarning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author:
Automatically Generated- Parameters:
measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]measurement_inversion_agenda (~pyarts3.arts.Agenda, optional) – Simulate the fitted measurement for the current physical model. Defaults to
self.measurement_inversion_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- measurement_inversion_agendaExecuteOperator(self, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_jac: Matrix = self.measurement_jac, model_state_targets: JacobianTargets = self.model_state_targets, jac_targets: JacobianTargets = self.jac_targets, measurement_inversion_agenda_operator: measurement_inversion_agendaOperator) None
Executes an operator emulating
measurement_inversion_agenda, see it, and alsomeasurement_inversion_agendaOperator, for more detailsWarning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author:
Automatically Generated- Parameters:
measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]measurement_inversion_agenda_operator (measurement_inversion_agendaOperator) – Operator for
measurement_inversion_agenda. [IN]
- measurement_inversion_agendaSet(self, measurement_inversion_agenda: Agenda = self.measurement_inversion_agenda, option: String = LowMemory) None
Set
measurement_inversion_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
measurement_inversion_agenda (~pyarts3.arts.Agenda, optional) – Simulate the fitted measurement for the current physical model. Defaults to
self.measurement_inversion_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"LowMemory"[IN]
Valid options
These are the valid options for the
measurement_inversion_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.measurement_inversion_agendaSet(option="LowMemory")Shares the global
abs_bandsShares the global
atm_fieldShares the global
measurement_sensorShares the global
model_state_vecShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_transform_operatorShares the global
subsurf_fieldShares the global
surf_fieldkernel = “Low Memory”
measurement_inversion_agendaSet(option="HighPerformance")Shares the global
abs_bandsShares the global
atm_fieldShares the global
measurement_sensorShares the global
model_state_vecShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_transform_operatorShares the global
subsurf_fieldShares the global
surf_fieldkernel = “High Performance”
- measurement_inversion_agendaSetOperator(self, measurement_inversion_agenda: Agenda = self.measurement_inversion_agenda, f: measurement_inversion_agendaOperator) None
Set
measurement_inversion_agendato exclusively use provided external operator. Seemeasurement_inversion_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
measurement_inversion_agenda (~pyarts3.arts.Agenda, optional) – Simulate the fitted measurement for the current physical model. Defaults to
self.measurement_inversion_agenda. [OUT]f (measurement_inversion_agendaOperator) – Operator for
measurement_inversion_agenda. [IN]
- measurement_jacAtmosphereTransformation(self, measurement_jac: Matrix = self.measurement_jac, model_state_vec: Vector = self.model_state_vec, atm_field: AtmField = self.atm_field, jac_targets: JacobianTargets = self.jac_targets) None
Applies transformations to the atmospheric state Jacobian
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- measurement_jacBandTransformation(self, measurement_jac: Matrix = self.measurement_jac, model_state_vec: Vector = self.model_state_vec, abs_bands: AbsorptionBands = self.abs_bands, jac_targets: JacobianTargets = self.jac_targets) None
Applies transformations to the line-by-line state Jacobian
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- measurement_jacSensorTransformation(self, measurement_jac: Matrix = self.measurement_jac, model_state_vec: Vector = self.model_state_vec, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, jac_targets: JacobianTargets = self.jac_targets) None
Applies transformations to the measurement sensor state Jacobian
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- measurement_jacSubsurfaceTransformation(self, measurement_jac: Matrix = self.measurement_jac, model_state_vec: Vector = self.model_state_vec, subsurf_field: SubsurfaceField = self.subsurf_field, jac_targets: JacobianTargets = self.jac_targets) None
Applies transformations to the subsurface state Jacobian
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- measurement_jacSurfaceTransformation(self, measurement_jac: Matrix = self.measurement_jac, model_state_vec: Vector = self.model_state_vec, surf_field: SurfaceField = self.surf_field, jac_targets: JacobianTargets = self.jac_targets) None
Applies transformations to the surface state Jacobian
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- measurement_jacTransformations(self, measurement_jac: Matrix = self.measurement_jac, abs_bands: AbsorptionBands = self.abs_bands, atm_field: AtmField = self.atm_field, jac_targets: JacobianTargets = self.jac_targets, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, model_state_vec: Vector = self.model_state_vec, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field) None
Apply all transformations to the Jacobian related to states in
model_state_vecFromData()Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.measurement_jacAtmosphereTransformation() 6 ws.measurement_jacSurfaceTransformation() 7 ws.measurement_jacSubsurfaceTransformation() 8 ws.measurement_jacBandTransformation() 9 ws.measurement_jacSensorTransformation()
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- measurement_sensorAddCamera(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, pos: Vector3, los: Vector2, pol: Stokvec = [1, 0, 0, 0], n_h: Index, n_w: Index, ccd_h: Numeric, ccd_w: Numeric, focal_length: Numeric, aperture_diameter: Numeric, focus_distance: Numeric) None
Adds a simple thin-lens camera model to the measurement sensor.
The camera is described by a CCD array of
n_hxn_wpixels with physical dimensionsccd_hxccd_w(in meters), a lens with the givenfocal_lengthandaperture_diameter, and afocus_distancethat determines the in-focus plane distance from the lens.Each pixel maps to a unique line-of-sight direction computed via the thin-lens equation. The image distance (lens-to-CCD) is derived from the thin-lens formula:
\[d_i = \frac{f \cdot d_o}{d_o - f}\]where
fis the focal length andd_ois the focus distance.The angular offset of pixel
(ih, iw)from the CCD center is:\[\Delta\theta_{zen} = -\arctan\!\left(\frac{\Delta y}{d_i}\right),\quad \Delta\theta_{azi} = -\arctan\!\left(\frac{\Delta x}{d_i}\right)\](negated because the CCD image is inverted by the lens).
A Dirac weight is assigned per pixel per frequency channel, yielding
n_h x n_w x nfreqobservation elements. All observation elements share the same frequency grid and the same PosLos grid (one entry per pixel).Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]pos (Vector3) – Observer position [alt, lat, lon]. [IN]
los (Vector2) – Central pixel line of sight [zenith, azimuth]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – Polarization Stokes weight per pixel. Defaults to
1 0 0 0[IN]n_h (Index) – Number of pixels along the CCD height (rows). [IN]
n_w (Index) – Number of pixels along the CCD width (columns). [IN]
ccd_h (Numeric) – Physical height of the CCD in meters. [IN]
ccd_w (Numeric) – Physical width of the CCD in meters. [IN]
focal_length (Numeric) – Focal length of the lens in meters. [IN]
aperture_diameter (Numeric) – Diameter of the lens aperture in meters. [IN]
focus_distance (Numeric) – Distance to the in-focus plane in meters (must be > focal_length). [IN]
- measurement_sensorAddGaussianZenith(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, pos: Vector3, los: Vector2, pol: Stokvec = [1, 0, 0, 0], dzen_grid: AscendingGrid, std_zen: Numeric) None
Add a sensor to
measurement_sensorthat has a Gaussian zenith response.Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]pos (Vector3) – A position [alt, lat, lon]. [IN]
los (Vector2) – A line of sight [zenith, azimuth]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]dzen_grid (AscendingGrid) – The delta zenith grid for the Gaussian response. [IN]
std_zen (Numeric) – The standard deviation for the Gaussian response. [IN]
- measurement_sensorAddRawSensor(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, pos: Vector3, los: Vector2, raw_sensor_perturbation: SortedGriddedField1 | SortedGriddedField2 | SortedGriddedField3 | SortedGriddedField4 | SortedGriddedField5 | SortedGriddedField6 | StokvecSortedGriddedField1 | StokvecSortedGriddedField2 | StokvecSortedGriddedField3 | StokvecSortedGriddedField4 | StokvecSortedGriddedField5 | StokvecSortedGriddedField6, normalize: Index = 0) None
Adds sensor elements from a raw perturbation of the sensor
The perturbation is a gridded field of up to 6-dimensions. The input frequency grid determines how many elements are added to the sensor. The cartesian perturbation is added to the sensor’s position, line of sight, and frequency grid.
The order of the dimensions are:
Frequency (
"dfreq")Zenith angle (
"dzen")Azimuth angle (
"dazi")Altitude (
"dalt")Latitude (
"dlat")Longitude (
"dlon")
The quoted strings must be used as the grid names of the gridded field.
Note
It is OK to have fewer than 6 dimensions, the missing dimensions will be assumed to have a size of 1. Since the data is exhaustive, the missing dimensions will not affect the output. What does matter is that the order of the dimensions do not change from the one above.
Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]pos (Vector3) – A position [alt, lat, lon]. [IN]
los (Vector2) – A line of sight [zenith, azimuth]. [IN]
raw_sensor_perturbation (SortedGriddedField1 | SortedGriddedField2 | SortedGriddedField3 | SortedGriddedField4 | SortedGriddedField5 | SortedGriddedField6 | StokvecSortedGriddedField1 | StokvecSortedGriddedField2 | StokvecSortedGriddedField3 | StokvecSortedGriddedField4 | StokvecSortedGriddedField5 | StokvecSortedGriddedField6) – The sensor perturbation grid. [IN]
normalize (~pyarts3.arts.Index, optional) – Whether or not to normalize the perturbation to 1.0 for each element. Defaults to
0[IN]
- measurement_sensorAddSimple(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, pos: Vector3, los: Vector2, pol: Stokvec = [1, 0, 0, 0]) None
Adds a sensor with a dirac channel opening around the frequency grid.
All elements share position, line-of-sight, and frequency grid.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]pos (Vector3) – A position [alt, lat, lon]. [IN]
los (Vector2) – A line of sight [zenith, azimuth]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]
- measurement_sensorAddSimpleGaussian(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, std: Numeric, pos: Vector3, los: Vector2, pol: Stokvec = [1, 0, 0, 0]) None
Adds a sensor with a Gaussian channel opening around the frequency grid.
All elements share position, line-of-sight, and frequency grid.
Note that this means you only get “half” a Gaussian channel for the outermost channels.
The I component’s distribution is normalized to 1 or 0 by itself, while the Q, U, and V components’ hypotenuse are normalized to 1 or 0 together.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]std (Numeric) – The standard deviations of the channels. [IN]
pos (Vector3) – A position [alt, lat, lon]. [IN]
los (Vector2) – A line of sight [zenith, azimuth]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]
- measurement_sensorAddSimpleRadar(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, radar_range_limits: Matrix = self.radar_range_limits, freq_grid: AscendingGrid = self.freq_grid, pos: Vector3, los: Vector2, pol: Stokvec = [0.5, 0.5, 0, 0], range_bins: AscendingGrid) None
Adds range-resolved pencil-beam radar observation elements.
For every frequency in
freq_grid, one observation element is appended for every interval inrange_bins. The ordering is frequency first and range bin second, matching the ARTS2yRadarconvention. All generated elements share their frequency and position/LOS grids. The matching limits are appended toradar_range_limits, andmeasurement_sensor_metareceives one range grid per frequency.The receiving polarization is a Stokes dot-product vector. For example,
[0.5, 0.5, 0, 0]is the old ARTS polarization index 5 (vertical linear).Authors: Patrick Eriksson, OpenAI Codex
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]radar_range_limits (~pyarts3.arts.Matrix, optional) – Range-gate limits for active-radar measurements. Defaults to
self.radar_range_limits. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]pos (Vector3) – Radar position [altitude, latitude, longitude]. [IN]
los (Vector2) – Radar viewing direction [zenith, azimuth]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – Receiving-polarization Stokes weights. Defaults to
0.5 0.5 0 0[IN]range_bins (AscendingGrid) – Common range-bin edges. [IN]
- measurement_sensorAddVectorGaussian(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, std: Vector, pos: Vector3, los: Vector2, pol: Stokvec = [1, 0, 0, 0]) None
Adds a sensor with a Gaussian channel opening around the frequency grid.
All elements share position, line-of-sight, and frequency grid.
Note that this means you only get “half” a Gaussian channel for the outermost channels.
The I component’s distribution is normalized to 1 or 0 by itself, while the Q, U, and V components’ hypotenuse are normalized to 1 or 0 together.
Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]std (Vector) – The standard deviations of the channels. [IN]
pos (Vector3) – A position [alt, lat, lon]. [IN]
los (Vector2) – A line of sight [zenith, azimuth]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]
- measurement_sensorFromModelState(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, model_state_vec: Vector = self.model_state_vec, model_state_targets: JacobianTargets = self.model_state_targets) None
Update
measurement_sensorfrommodel_state_vec.Author: Richard Larsson
Used by wrapper method
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]
- measurement_sensorFromPredefined(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, pos: Vector3, los: Vector2, sensor: PredefinedSensor, n: Index = 5, channels: Vector = ) None
Create a code-defined, predefined instrument using the ARTS3 sensor builder.
The method replaces
measurement_sensorandmeasurement_sensor_meta. It constructs the selected heterodyne channels, applies their channel-specific polarizations, and uses a pencil-beam antenna atposandlos.See
PredefinedSensorfor the available sensor styles and their descriptions. The optionalchannelslist contains one-based instrument channel numbers. An empty list selects all channels.The integer
ncontrols sampling for parametric channel definitions. Sensors with compiled tabulated responses use their fixed frequency grids instead.Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [OUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [OUT]pos (Vector3) – Observer position [altitude, latitude, longitude]. [IN]
los (Vector2) – Observer line of sight [zenith, azimuth]. [IN]
sensor (PredefinedSensor) – Code-defined sensor style; see
PredefinedSensor. [IN]n (~pyarts3.arts.Index, optional) – Frequency samples per parametric baseband interval. Defaults to
5[IN]channels (~pyarts3.arts.Vector, optional) – Optional one-based instrument channel selection. Defaults to
[][IN]
- measurement_sensorInit(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta) None
Initialize
measurement_sensorandmeasurement_sensor_metato empty.Author: Richard Larsson
Used by wrapper methods
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [OUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [OUT]
- measurement_sensorSimple(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, pos: Vector3, pol: Stokvec = [1, 0, 0, 0], los: Vector2) None
Creates a single simple Dirac-opening sensor
This means that the sensor has no bandwidth per channel, i.e., only one frequency point is used to simulate the spectral radiance before being averaged into a channel.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.measurement_sensorInit() 6 ws.measurement_sensorAddSimple()
Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [OUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]pos (Vector3) – A position [alt, lat, lon]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]los (Vector2) – A line of sight [zenith, azimuth]. [IN]
- measurement_sensorSimpleGaussian(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, std: Numeric, pos: Vector3, pol: Stokvec = [1, 0, 0, 0], los: Vector2) None
Creates a single simple Gaussian-opening sensor.
This means that the sensor has a Gaussian bandwidth per channel. That is, multiple frequency points are used to simulate the spectral radiance before being averaged into a channel. The bandwidth of each channel is the same.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.measurement_sensorInit() 6 ws.measurement_sensorAddSimpleGaussian()
Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [OUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]std (Numeric) – The standard deviations of the channels. [IN]
pos (Vector3) – A position [alt, lat, lon]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]los (Vector2) – A line of sight [zenith, azimuth]. [IN]
- measurement_sensorVectorGaussian(self, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, freq_grid: AscendingGrid = self.freq_grid, std: Vector, pos: Vector3, pol: Stokvec = [1, 0, 0, 0], los: Vector2) None
Creates a single simple Gaussian-opening sensor.
This means that the sensor has a Gaussian bandwidth per channel. That is, multiple frequency points are used to simulate the spectral radiance before being averaged into a channel. The bandwidth of each channel is independent.
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.measurement_sensorInit() 6 ws.measurement_sensorAddVectorGaussian()
Author: Richard Larsson
- Parameters:
measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [OUT]measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]std (Vector) – The standard deviations of the channels. [IN]
pos (Vector3) – A position [alt, lat, lon]. [IN]
pol (~pyarts3.arts.Stokvec, optional) – The polarization whose dot-product with the spectral radiance becomes the measurement. Defaults to
1 0 0 0[IN]los (Vector2) – A line of sight [zenith, azimuth]. [IN]
- measurement_sensor_metaFromMeasurementVec(self, measurement_sensor_meta: ArrayOfSensorMetaInfo = self.measurement_sensor_meta, measurement_vec: Vector = self.measurement_vec) None
Fill
measurement_sensor_metagridded field data frommeasurement_vec.Each element in
measurement_sensor_metadescribes a contiguous block ofmeasurement_vec. This method copies those slices into the data tensor of each gridded field, making the structured per-sensor data directly accessible. The start index of each block is derived from the cumulativecount()of preceding elements.Author: Richard Larsson
- Parameters:
measurement_sensor_meta (~pyarts3.arts.ArrayOfSensorMetaInfo, optional) – Metadata describing each sensor’s block in
measurement_vec. Defaults toself.measurement_sensor_meta. [INOUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [IN]
- measurement_vecAddError(self, measurement_vec: Vector = self.measurement_vec, measurement_jac: Matrix = self.measurement_jac, measurement_vec_error: Vector = self.measurement_vec_error, measurement_jac_error: Matrix = self.measurement_jac_error) None
Add the measurement error to the measurement. Conditionally, also to the Jacobian.
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [INOUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [INOUT]measurement_vec_error (~pyarts3.arts.Vector, optional) – The error
measurement_vec. Defaults toself.measurement_vec_error. [IN]measurement_jac_error (~pyarts3.arts.Matrix, optional) – The partial derivatives of the
measurement_vec_error. Defaults toself.measurement_jac_error. [IN]
- measurement_vecFromOperatorPath(self, measurement_vec: Vector = self.measurement_vec, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, spectral_rad_operator: SpectralRadianceOperator = self.spectral_rad_operator, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda) None
Sets measurement vector by looping over all sensor elements
The core calculations happens inside the
spectral_rad_operator.Author: Richard Larsson
- Parameters:
measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [OUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]spectral_rad_operator (~pyarts3.arts.SpectralRadianceOperator, optional) – The spectral radiance operator. Defaults to
self.spectral_rad_operator. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]
- measurement_vecFromRadarSingleScattering(self, measurement_vec: Vector = self.measurement_vec, measurement_jac: Matrix = self.measurement_jac, radar_aux: Matrix = self.radar_aux, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, radar_range_limits: Matrix = self.radar_range_limits, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, transmitted_stokes: Stokvec = [1, 1, 0, 0], range_mode: String = Legacy, unit: String = 1, ze_tref: Numeric = 273.15, k2: Numeric = -1, dbze_min: Numeric = -99, pext_scaling: Numeric = 1, aux_vars: ArrayOfString = []) None
Deterministic polarized single-scattering active-radar forward model.
This is the ARTS3 counterpart of the ARTS2
yRadarandiyRadarSingleScatworkflow. It calculates particle backscatter and two-way polarized attenuation by gases and particles along the propagation paths ofmeasurement_sensor. Surface clutter and multiple scattering are not included.Each element of
measurement_sensoris paired with the corresponding row ofradar_range_limits. This keepsmeasurement_vecandmeasurement_jacin the standard retrieval layout: one sensor observation element produces one measurement. Usemeasurement_sensorAddSimpleRadar()for the common frequency/polarization/range-bin arrangement.range_modemay be"Altitude"[m],"Distance"[m one way],"RoundTripTime"[s, including path group refractive indices], or"Legacy"(the ARTS2 rule: altitude if the largest edge exceeds 1, otherwise round-trip time).The output unit may be
"1"(backscatter coefficient, 1/(m sr)),"Ze"(mm6/m3), or"dBZe". A negativek2derives the liquid-water dielectric factor atze_trefusing the Liebe-93 parameterization, as in ARTS2.pext_scalingscales only particulate extinction, not particle backscatter.Atmospheric entries in finalized
jac_targetsare differentiated through the complete range-gated calculation, including gas and particle attenuation and particle backscatter. The perturbation stored on each target is used; a scale-aware default is selected when it is zero. Gas propagation derivatives come fromspectral_propmat_agenda, scattering derivatives come fromscat_species, and their ordered two-way transmission product is propagated analytically through rtepack. There is no production finite-difference loop.Allowed auxiliary quantities are
"Radiative background","Backscattering","Abs species extinction", and"Particle extinction". They are returned as rows ofradar_auxin the requested order.Authors: Patrick Eriksson, OpenAI Codex
- Parameters:
measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]radar_aux (~pyarts3.arts.Matrix, optional) – Auxiliary active-radar quantities. Defaults to
self.radar_aux. [OUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]radar_range_limits (~pyarts3.arts.Matrix, optional) – Range-gate limits for active-radar measurements. Defaults to
self.radar_range_limits. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]transmitted_stokes (~pyarts3.arts.Stokvec, optional) – Transmitted Stokes vector; its I component must equal one. Defaults to
1 1 0 0[IN]range_mode (~pyarts3.arts.String, optional) – Range coordinate: Altitude, Distance, RoundTripTime, or Legacy. Defaults to
"Legacy"[IN]unit (~pyarts3.arts.String, optional) – Output unit: 1, Ze, or dBZe. Defaults to
"1"[IN]ze_tref (~pyarts3.arts.Numeric, optional) – Liquid-water reference temperature [K] for automatic k2. Defaults to
273.15[IN]k2 (~pyarts3.arts.Numeric, optional) – Reference dielectric factor squared; negative selects Liebe-93. Defaults to
-1[IN]dbze_min (~pyarts3.arts.Numeric, optional) – Lower clipping value for dBZe. Defaults to
-99[IN]pext_scaling (~pyarts3.arts.Numeric, optional) – Multiplicative factor for particulate extinction (0 to 2). Defaults to
1[IN]aux_vars (~pyarts3.arts.ArrayOfString, optional) – Requested auxiliary quantities. Defaults to
[][IN]
- measurement_vecFromSensor(self, measurement_vec: Vector = self.measurement_vec, measurement_jac: Matrix = self.measurement_jac, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_transform_operator: SpectralRadianceTransformOperator = self.spectral_rad_transform_operator, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda, kernel: String = Low Memory) None
Sets measurement vector by looping over all sensor elements
The core calculations happens inside the
spectral_rad_observer_agenda.Tip
The default kernel is a low memory option. It also has the lowest startup cost. If your calculations are slow and requires multiple calls to the
spectral_rad_observer_agenda, consider switching to the “High Performance” kernel, which is \(O(N+M)\) compared to the low-memory option \(O(N \times M)\).Author: Richard Larsson
- Parameters:
measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_transform_operator (~pyarts3.arts.SpectralRadianceTransformOperator, optional) – The spectral radiance transform operator. Defaults to
self.spectral_rad_transform_operator. [IN]spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [IN]kernel (~pyarts3.arts.String, optional) – The kernel to use for the spectral radiance calculations. See type information for options. Defaults to
"Low Memory"[IN]
- measurement_vec_errorFromModelState(self, measurement_vec_error: Vector = self.measurement_vec_error, measurement_jac_error: Matrix = self.measurement_jac_error, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, model_state_targets: JacobianTargets = self.model_state_targets, jac_targets: JacobianTargets = self.jac_targets, model_state_vec: Vector = self.model_state_vec) None
Set the error and its Jacobian from the state of the model.
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
measurement_vec_error (~pyarts3.arts.Vector, optional) – The error
measurement_vec. Defaults toself.measurement_vec_error. [OUT]measurement_jac_error (~pyarts3.arts.Matrix, optional) – The partial derivatives of the
measurement_vec_error. Defaults toself.measurement_jac_error. [OUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]
- measurement_vec_error_covmatConstant(self, measurement_vec_error_covmat: CovarianceMatrix = self.measurement_vec_error_covmat, measurement_vec: Vector = self.measurement_vec, value: Numeric) None
Sets a constant measurement vector error covariance matrix.
The size comes from the nonempty workspace
measurement_vec. Use this primitive helper beforeoemInitFromData(), which consumes both variables. For data already owned byoem, useoemMeasurementCovmatConstant()instead.Author: Richard Larsson
- Parameters:
measurement_vec_error_covmat (~pyarts3.arts.CovarianceMatrix, optional) – Covariance matrix for observation uncertainties. Defaults to
self.measurement_vec_error_covmat. [OUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [IN]value (Numeric) – The value of the covariance matrix diagonal. [IN]
- measurement_vec_fitFromMeasurement(self, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_vec: Vector = self.measurement_vec) None
Sets the fitted measurement vector to the current measurement vector.
Author: Richard Larsson
- Parameters:
measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [IN]
- model_state_vecFromAtmosphere(self, model_state_vec: Vector = self.model_state_vec, atm_field: AtmField = self.atm_field, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vec’s atmospheric part.Author: Richard Larsson
Used by wrapper method
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- model_state_vecFromBands(self, model_state_vec: Vector = self.model_state_vec, abs_bands: AbsorptionBands = self.abs_bands, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vec’s absorption line part.Author: Richard Larsson
Used by wrapper method
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- model_state_vecFromData(self, model_state_vec: Vector = self.model_state_vec, abs_bands: AbsorptionBands = self.abs_bands, atm_field: AtmField = self.atm_field, jac_targets: JacobianTargets = self.jac_targets, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field) None
Get
model_state_vecfrom available dataWrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.model_state_vecInit() 6 ws.model_state_vecFromAtmosphere() 7 ws.model_state_vecFromSurface() 8 ws.model_state_vecFromSubsurface() 9 ws.model_state_vecFromBands() 10 ws.model_state_vecFromSensor()
Author: Richard Larsson
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [OUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- model_state_vecFromRadarOnionPeeling(self, model_state_vec: Vector = self.model_state_vec, measurement_vec_fit: Vector = self.measurement_vec_fit, measurement_jac: Matrix = self.measurement_jac, atm_field: AtmField = self.atm_field, measurement_vec: Vector = self.measurement_vec, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, radar_range_limits: Matrix = self.radar_range_limits, jac_targets: JacobianTargets = self.jac_targets, surf_field: SurfaceField = self.surf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, transmitted_stokes: Stokvec = [1, 1, 0, 0], range_mode: String = Legacy, unit: String = 1, ze_tref: Numeric = 273.15, k2: Numeric = -1, dbze_min: Numeric = -99, pext_scaling: Numeric = 1, measurement_noise_floor: Numeric = -1e+99, state_min: Numeric = 0, state_max: Numeric = 1e+99, max_step: Numeric = 1e+99, tolerance: Numeric = 1e-06, max_iterations: Index = 12, max_sweeps: Index = 8) None
Retrieve an atmospheric radar profile by analytical onion peeling.
Range gates are processed from the sensor outwards. At each gate, the strongest not-yet-peeled atmospheric state coordinate is updated by a bounded Newton iteration. The forward value and derivative are provided by
measurement_vecFromRadarSingleScattering(), so gaseous and particulate attenuation, ARO polarization, non-commuting outgoing/return propagation matrices, sensor polarization, and range-bin integration are identical to the standard radar forward model.Unlike the ARTS2 implementation, this method does not create or consume a large dBZe/temperature inversion table. Scattering properties are evaluated directly through
scat_species.jac_targetsdefines the retrieved state, including its grids and transformations. All targets must currently be atmospheric targets. The returnedmodel_state_vec, updatedatm_field,measurement_vec_fit, andmeasurement_jacare mutually consistent and can be used directly as the initial state and forward/Jacobian inputs of OEM.Observations at or below
measurement_noise_floorare ignored.state_min,state_max, andmax_stepapply in model-state coordinates, after any target transformation. Gates with no sensitivity to an unpeeled state coordinate are left unused. A non-convergent gate is reported as an error. This formulation is not restricted to the old two-species liquid/ice layout; phase selection may instead be expressed by the scattering-species properties and atmospheric state chosen by the caller.Authors: Patrick Eriksson, OpenAI Codex
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [OUT]measurement_vec_fit (~pyarts3.arts.Vector, optional) – As
measurement_vec, but fitted to the model. Defaults toself.measurement_vec_fit. [OUT]measurement_jac (~pyarts3.arts.Matrix, optional) – The first order partial derivatives of the
measurement_vec. Defaults toself.measurement_jac. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [OUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]radar_range_limits (~pyarts3.arts.Matrix, optional) – Range-gate limits for active-radar measurements. Defaults to
self.radar_range_limits. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]transmitted_stokes (~pyarts3.arts.Stokvec, optional) – Transmitted Stokes vector; its I component must equal one. Defaults to
1 1 0 0[IN]range_mode (~pyarts3.arts.String, optional) – Range coordinate: Altitude, Distance, RoundTripTime, or Legacy. Defaults to
"Legacy"[IN]unit (~pyarts3.arts.String, optional) – Forward and observation unit: 1, Ze, or dBZe. Defaults to
"1"[IN]ze_tref (~pyarts3.arts.Numeric, optional) – Liquid-water reference temperature [K] for automatic k2. Defaults to
273.15[IN]k2 (~pyarts3.arts.Numeric, optional) – Reference dielectric factor squared; negative selects Liebe-93. Defaults to
-1[IN]dbze_min (~pyarts3.arts.Numeric, optional) – Lower clipping value for dBZe. Defaults to
-99[IN]pext_scaling (~pyarts3.arts.Numeric, optional) – Multiplicative factor for particulate extinction (0 to 2). Defaults to
1[IN]measurement_noise_floor (~pyarts3.arts.Numeric, optional) – Measurements at or below this value are ignored. Defaults to
-1e+99[IN]state_min (~pyarts3.arts.Numeric, optional) – Lower bound in model-state coordinates. Defaults to
0[IN]state_max (~pyarts3.arts.Numeric, optional) – Upper bound in model-state coordinates. Defaults to
1e+99[IN]max_step (~pyarts3.arts.Numeric, optional) – Maximum absolute Newton step in model-state coordinates. Defaults to
1e+99[IN]tolerance (~pyarts3.arts.Numeric, optional) – Relative gate-fit convergence tolerance. Defaults to
1e-06[IN]max_iterations (~pyarts3.arts.Index, optional) – Maximum Newton iterations per gate. Defaults to
12[IN]max_sweeps (~pyarts3.arts.Index, optional) – Maximum repeated outward sweeps for interpolating state grids. Defaults to
8[IN]
- model_state_vecFromSensor(self, model_state_vec: Vector = self.model_state_vec, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vec’s sensor part.Author: Richard Larsson
Used by wrapper method
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- model_state_vecFromSubsurface(self, model_state_vec: Vector = self.model_state_vec, subsurf_field: SubsurfaceField = self.subsurf_field, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vec’s subsurface part.Author: Richard Larsson
Used by wrapper method
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- model_state_vecFromSurface(self, model_state_vec: Vector = self.model_state_vec, surf_field: SurfaceField = self.surf_field, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vec’s surface part.Author: Richard Larsson
Used by wrapper method
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- model_state_vecInit(self, model_state_vec: Vector = self.model_state_vec, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vecto the sizejac_targetsdemand.Author: Richard Larsson
Used by wrapper method
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [OUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- model_state_vecPerturbations(self, model_state_vec: Vector = self.model_state_vec, jac_targets: JacobianTargets = self.jac_targets) None
Sets
model_state_vecto the sizejac_targetsdemand.Then fills it with the perturbations from the
jac_targets.Author: Richard Larsson
- Parameters:
model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [OUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- nlte_line_flux_profileIntegrate(self, nlte_line_flux_profile: QuantumIdentifierVectorMap = self.nlte_line_flux_profile, spectral_flux_profile: Matrix = self.spectral_flux_profile, abs_bands: AbsorptionBands = self.abs_bands, atm_profile: ArrayOfAtmPoint = self.atm_profile, freq_grid: AscendingGrid = self.freq_grid) None
Integrate the spectral flux profile to get the line non-LTE flux
Author: Richard Larsson
- Parameters:
nlte_line_flux_profile (~pyarts3.arts.QuantumIdentifierVectorMap, optional) – A per-line flux profile. Defaults to
self.nlte_line_flux_profile. [OUT]spectral_flux_profile (~pyarts3.arts.Matrix, optional) – An altitude profile of spectral flux. Defaults to
self.spectral_flux_profile. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- oemAddAtmosphere(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, target: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Sets an atmospheric target.
This method wraps
jac_targetsAddAtmosphere()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]target (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – The target of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddErrorPolyFit(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, t: Vector, sensor_elem: Index, polyorder: Index = 0, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set a measurement error to polynomial fit.
This is a generic error that is simply added to
measurement_vecas if\[y = y_0 + \epsilon(p_0,\; p_1,\; \cdots,\; p_n),\]where \(y\) represents
measurement_vecand \(y_0\) is the measurement vector without any errors)Order 0 means constant: \(y = y_0 + a\)
Order 1 means linear: \(y = y_0 + a + b t\)
and so on. The derivatives that are added to the
model_state_vecare those with regards to a, b, etc..Note
The rule for the
sensor_elemGIN is a bit complex. Generally, methods such asmeasurement_sensorAddSimple()will simply add a single unique frequency grid to all the differentSensorObselthat they add to themeasurement_sensor. The GINsensor_elemis 0 for the first unique frequency grid, 1 for the second, and so on. SeeArrayOfSensorObselmember methods in python for help identifying and manipulating how many unique frequency grids are available inmeasurement_sensor.This method wraps
jac_targetsAddErrorPolyFit()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]t (Vector) – The grid of \(y\). As \(t\) above. [IN]
sensor_elem (Index) – The sensor element whose frequency grid to use. [IN]
polyorder (~pyarts3.arts.Index, optional) – The order of the polynomial fit. Maximum \(n\) above. Defaults to
0[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddMagneticField(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, component: String, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set magnetic field derivative.
See
FieldComponentfor validcomponent.This method wraps
jac_targetsAddMagneticField()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]component (String) – The component to use [u, v, w]. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddOverlappingMagneticField(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set magnetic field derivative for overlapping fields.
An overlapping field means that the derivative is computed but that the x-component of the jacobian is at the same position as another Jacobian target.
The reason for this method is that it allows representing the (signed) absolute magnetic field derivative as a combination of the three magnetic field components.
To call this method, you first have added 1 component of the magnetic field derivative, and then you call this method to add the second and third component.
This method wraps
jac_targetsAddOverlappingMagneticField()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddOverlappingWindField(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set wind field derivative for overlapping fields.
An overlapping field means that the derivative is computed but that the x-component of the jacobian is at the same position as another Jacobian target.
The reason for this method is that it allows representing the (signed) absolute wind speed derivative as a combination of the three wind field components.
To call this method, you first have added 1 component of the wind field derivative, and then you call this method to add the second and third component.
This method wraps
jac_targetsAddOverlappingWindField()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddPressure(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set pressure derivative.
This method wraps
jac_targetsAddPressure()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddSensorFrequencyPolyOffset(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, d: Numeric = 0.1, sensor_elem: Index, polyorder: Index = 0, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set sensor frequency derivative to use polynomial fitting offset
Order 0 means constant: \(f := f_0 + a\)
Order 1 means linear: \(f := f_0 + a + b f_0\)
and so on. The derivatives that are added to the
model_state_vecare those with regards to a, b, etc..Note
The rule for the
sensor_elemGIN is a bit complex. Generally, methods such asmeasurement_sensorAddSimple()will simply add a single unique frequency grid to all the differentSensorObselthat they add to themeasurement_sensor. The GINsensor_elemis 0 for the first unique frequency grid, 1 for the second, and so on. SeeArrayOfSensorObselmember methods in python for help identifying and manipulating how many unique frequency grids are available inmeasurement_sensor.This method wraps
jac_targetsAddSensorFrequencyPolyOffset()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]sensor_elem (Index) – The sensor element whose frequency grid to use. [IN]
polyorder (~pyarts3.arts.Index, optional) – The order of the polynomial fit. Defaults to
0[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddSpeciesIsotopologueRatio(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, species: SpeciesIsotope, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set isotopologue ratio derivative
See
SpeciesIsotopefor validspeciesThis method wraps
jac_targetsAddSpeciesIsotopologueRatio()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]species (SpeciesIsotope) – The species isotopologue of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddSpeciesVMR(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, species: SpeciesEnum, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set volume mixing ratio derivative.
See
SpeciesEnumfor validspeciesThis method wraps
jac_targetsAddSpeciesVMR()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]species (SpeciesEnum) – The species of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddSubsurface(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, target: SubsurfaceKey | SubsurfacePropertyTag, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Sets a subsurface target
This method wraps
jac_targetsAddSubsurface()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]target (SubsurfaceKey | SubsurfacePropertyTag) – The target of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddSurface(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, target: SurfaceKey | SurfacePropertyTag, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Sets a surface target
This method wraps
jac_targetsAddSurface()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]target (SurfaceKey | SurfacePropertyTag) – The target of interest. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddTemperature(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set temperature derivative.
This method wraps
jac_targetsAddTemperature()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAddWindField(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem, component: String, d: Numeric = 0.1, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Set wind field derivative.
Note that the derivatives from methods that takes the frequency will return their derivatives as if these were frequency derivatives.
See
FieldComponentfor validcomponentThis method wraps
jac_targetsAddWindField()together with adding the covariance matrices, tooem.covmat_diagonal_blocksfor assembly byoemFinalizeDiagonal().The input covariance matrices must fit the size of the later computed model state represented by
jac_targets. The inverse block is optional.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]component (String) – The component to use [u, v, w]. [IN]
d (~pyarts3.arts.Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to
0.1[IN]matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemAveragingKernelCalc(self, oem: OptimalEstimationData = self.oem) None
Calculate the averaging kernel matrix.
This is done by describing the sensitivity of the
oemCalc()retrieval with respect to the true state of the system. A prerequisite for the calculation of the averaging kernel matrix is a successfuloemCalc()calculation in which theoem.measurement_jacand the gain matrixoem.measurement_gain_mathave been calculated.The result is \(\mathbf{A}=\mathbf{G}\mathbf{J}\), using the gain and Jacobian in the retrieved coordinates; see Gain, averaging kernel, and retrieval uncertainty.
Author: Simon Pfreundschuh
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemBasisCalc(self, oem: OptimalEstimationData = self.oem, full_matrices: Index = 1) None
Compute matched state and measurement bases and their information spectrum.
Uses
oem.measurement_jac,oem.model_state_covmat, andoem.measurement_vec_error_covmatat their current linearization point. With \(\mathbf{S}_a=\mathbf{L}_a\mathbf{L}_a^{\top}\) and \(\mathbf{S}_\epsilon=\mathbf{L}_\epsilon\mathbf{L}_\epsilon^{\top}\), compute\[\mathbf{L}_\epsilon^{-1}\mathbf{J}\mathbf{L}_a =\mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^{\top},\qquad \mathbf{B}_{\rm full}=\mathbf{L}_a\mathbf{V},\qquad \mathbf{C}_{\rm full}=\mathbf{U}^{\top}\mathbf{L}_\epsilon^{-1}.\]With full_matrices=1 (the default), both bases are square and invertible, including all null-space directions. This step discards no information: the full prior is \(\mathbf{B}_{\rm full}\mathbf{B}_{\rm full}^{\top}\), and the full measurement noise is \(\mathbf{C}_{\rm full}^{-1}\mathbf{C}_{\rm full}^{-\top}\).
oem.basis_singular_valuesstores the descending singular values of the whitened Jacobian. The bases and spectrum must be kept together; mode signs and rotations within repeated singular values are not unique.Use
oemBasisReduce()afterwards to truncate these basis inputs ofoemCalcReduced()in place. Save copies before selection if you need to restore removed modes without repeating the decomposition. Skip selection for a change of coordinates without any reduction.Set full_matrices=0 for economical bases: both retain min(m,n) singular modes, so their shapes are n by min(m,n) and min(m,n) by m. This avoids square dense bases in the larger dimension. It omits only the additional null-space vectors of the supplied linearization. For m < n, the state basis no longer reconstructs the full prior covariance; omitted state directions retain prior uncertainty. Nonlinear models can acquire sensitivity to omitted directions away from this linearization. oemBasisReduce can further truncate these bases.
This preparation does not run an agenda or change its inputs. Covariance components use diagonal scaling or Cholesky, without forming covariance inverses. The full SVD and bases require dense storage, including a state-square and a measurement-square basis. There is no configured memory cutoff. Recompute all three outputs when the chosen linearization or covariance assumptions change. See Reduced optimal estimation.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]full_matrices (~pyarts3.arts.Index, optional) – Keep both complete null spaces (1), or use economical min(m,n)-mode bases (0). Defaults to
1[IN]
- oemBasisReduce(self, oem: OptimalEstimationData = self.oem, rank: Index = -1, max_lost_dofs: Numeric = -1, max_lost_information_bits: Numeric = -1) None
Select leading modes from the full bases prepared by
oemBasisCalc().Truncates
oem.model_state_basis_matto its first rank columns andoem.measurement_basis_matto its first \(q=\min(r,m)\) rows in place. Both reduced covariances are identity. No SVD or covariance factorization is repeated. The fulloem.basis_singular_valuesspectrum stays unchanged so the reported losses include all modes discarded since construction.By default rank=-1 removes modes with zero computed information. Set max_lost_dofs and/or max_lost_information_bits to allow weak modes to be discarded as well. These bound the totals over all discarded modes:
\[\Delta d_s=\sum_{i>r}\frac{s_i^2}{1+s_i^2},\qquad \Delta H=\frac12\sum_{i>r}\log_2(1+s_i^2).\]The smallest rank meeting all supplied limits is selected. An unset limit is -1; with no limits, the information-bit limit is zero. At least one state mode is retained, even when all modes are uninformative. Roundoff can give a mathematically null mode a small nonzero value; a positive loss budget permits discarding it. Alternatively, set a positive rank to retain exactly that many state modes, without loss limits.
oem.basis_lost_dofsandoem.basis_lost_information_bitsreport the actual discarded totals, including when rank is explicit. They describe the supplied linearization and do not bound nonlinear retrieval errors. Retaining all informative modes preserves the linear Gaussian posterior. Omitted state directions retain prior uncertainty. See Reduced optimal estimation.The inputs must come from the same
oemBasisCalc()call, optionally already truncated by this method. Dimension and spectrum checks cannot detect mixing decompositions. Selection can only remove modes: restore saved copies or rerunoemBasisCalc()to increase rank or meet a stricter loss limit requiring removed modes.Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]rank (~pyarts3.arts.Index, optional) – Retained state modes, or -1 to remove uninformative modes automatically. Defaults to
-1[IN]max_lost_dofs (~pyarts3.arts.Numeric, optional) – Maximum total discarded DOFS, or -1 to leave this limit unset. Defaults to
-1[IN]max_lost_information_bits (~pyarts3.arts.Numeric, optional) – Maximum total discarded information in bits, or -1 to leave this limit unset. Defaults to
-1[IN]
- oemCalc(self, oem: OptimalEstimationData = self.oem, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, jac_targets: JacobianTargets = self.jac_targets, inversion_iterate_agenda: Agenda = self.inversion_iterate_agenda, settings: OptimalEstimationSettings = OptimalEstimationSettings(method=gn, max_iter=10, stop_dx=0.01, max_start_cost=inf, cg_tolerance=1e-10, cg_max_iter=0, lm=LevenbergMarquardtSettings(initial_damping=10, decrease_factor=2, increase_factor=2, maximum_damping=100, damping_threshold=1, convergence_damping_limit=0, maximum_trials=100), display_progress=0, clear_matrices=false)) None
Retrieve a model state by optimal estimation (oemCalc).
The settings argument contains all calculation controls described below. It defaults to OptimalEstimationSettings (Gauss-Newton, 10 iterations). Both full and reduced calculations validate settings before preparing data. Damping controls are in settings.lm; its maximum_trials limits linear solves per LM outer iteration, including stationarity checks.
Unchecked OEM data is validated before covariance preparation or output changes. Successful validation is reused on subsequent calls. Call
oemCheck()to force revalidation after in-place edits.See Configuring an optimal-estimation retrieval for a practical guide to selecting methods, damping, covariances, and interpreting the retrieval diagnostics. The equations and notation are defined in Optimal estimation.
The cost function to minimise, including a normalisation with length of
oem.measurement_vec, is:\[\chi^2 = \chi^2_y + \chi^2_x\]where:
\[\chi^2_y = \frac{1}{m} \left(\vec{y}-\vec{y}_f\right)^\top \mathbf{S}_\epsilon^{-1} \left(\vec{y}-\vec{y}_f\right)\]\[\chi^2_x = \frac{1}{m} \left(\vec{x}-\vec{x}_a\right)^\top \mathbf{S}_a^{-1} \left(\vec{x}-\vec{x}_a\right)\]where:
Variable
ARTS parameter
Meaning
\(\vec{x}\)
oem.model_state_vecThe model state vector. All model states that are allowed to vary.
\(\vec{x}_a\)
oem.model_state_vec_aprioriThe a priori model state vector.
\(\vec{y}\)
oem.measurement_vecThe measurement vector. This is the measurement that the oemCalc is trying to fit.
\(\vec{y}_f\)
oem.measurement_vec_fitThe fitted measurement vector. The simulated measurement vector for the model state vector.
\(\mathbf{J}\)
oem.measurement_jacThe derivative of the simulated measurement with respect to the retrieved state.
\(\mathbf{S}_\epsilon\)
oem.measurement_vec_error_covmatThe error covariance matrix of the measurement vector.
\(\mathbf{S}_a\)
oem.model_state_covmatThe a priori covariance matrix of the model state vector.
All methods minimize the same objective, including the prior term. Linear methods take one Gauss-Newton step and assume a linear forward model. Gauss-Newton iterates local linearizations. Levenberg-Marquardt (LM) adds adaptive damping to control the step size; zero damping gives a Gauss-Newton step. Methods without an
_msuffix solve in state space. The_mmethods solve in measurement space, either directly (li_m,gn_m) or with CG (li_cg_m,gn_cg_m). The_cgmethods use conjugate gradient; LM and LM-CG use state space.The two input covariance matrices contain variances on their diagonals, in the coordinates and ordering of their corresponding vectors. They must be finite, symmetric, and positive definite. They are not precision (inverse covariance) matrices. Changing covariance weights changes the retrieval’s statistical assumptions, whereas numerical normalization only rescales the linear solve. oemCalc prepares the covariances before iteration and reuses unchanged preparation on subsequent calls. This changes neither the objective nor the selected method. See Configuring an optimal-estimation retrieval for covariance storage and preparation behavior.
Description of the special input arguments:
method:"li": A linear problem is assumed and a single iteration is performed."li_cg": A linear problem is assumed and solved using the CG solver."li_m": Linear, direct solve in measurement space."gn_m": Gauss-Newton, direct solve in measurement space."li_cg_m": Linear, using CG in measurement space; consider when there are fewer measurements than states."gn": Non-linear, with Gauss-Newton iteration scheme."gn_cg": Non-linear, with Gauss-Newton and conjugate gradient solver."gn_cg_m": Gauss-Newton, using CG in measurement space."lm": Non-linear, with Levenberg-Marquardt (LM) iteration scheme."lm_cg": Non-linear, with Levenberg-Marquardt (LM) iteration scheme and conjugate gradient solver.
"ml"and"ml_cg"are aliases for"lm"and"lm_cg". They retain the prior term.max_start_cost:Skip inversion when the total cost at the starting state exceeds this value. The default is infinity. A value <= 0 disables the limit and can leave the starting cost as NaN for non-LM methods when progress output is off.
oem.model_state_covmat_normalization:Optional numerical scales for state increments. Empty disables normalization (the default); otherwise provide one finite positive value per state element. Prior standard deviations, the square roots of the diagonal of
oem.model_state_covmat, are a useful starting point. This leaves the mathematical objective and vector coordinates unchanged. Unsupported for measurement-space methods li_m, gn_m, li_cg_m and gn_cg_m.oem.measurement_vec_normalization:Empty disables measurement-space scaling (the default). Otherwise supply one finite positive standard-deviation scale per measurement, used as \(D_{ii}\) in \(\mathbf{D}^{-1}(\mathbf{J}\mathbf{S}_a\mathbf{J}^{\top} +\mathbf{S}_\epsilon)\mathbf{D}^{-1}\). Only li_m, gn_m, li_cg_m and gn_cg_m support this setting. Use oemMeasurementCovmatNormalization to compute noise standard deviations; calling that method alone does not enable scaling.
max_iter:Positive maximum number of outer iterations; default 10. All
livariants always take one step. LM can evaluate several trial states within an outer iteration.stop_dx:Positive finite convergence threshold; default 0.01. State-space methods test the absolute state-step/half-gradient inner product divided by the number of states (Rodgers 5.31); measurement-space methods use the state-space half-Hessian-weighted squared state-step norm divided by that number (Rodgers 5.30). These are the measures in State-step convergence measures. LM can also establish numerical stationarity using an undamped step when cost reductions approach floating-point resolution; this is independent of the damping gate on the ordinary state-step criterion. This does not set the inner CG tolerance, which is controlled by cg_tolerance (default 1e-10).
settings.lm:Python users can pass
LevenbergMarquardtSettingsdirectly to configure damping by name, for example:damping = pyarts3.arts.LevenbergMarquardtSettings(initial_damping=20.0) ws.oemCheck() ws.oemCalc(settings=pyarts3.arts.OptimalEstimationSettings(method="lm", lm=damping))
The default is
LevenbergMarquardtSettings(). Its named fields areinitial_damping=10,decrease_factor=2,increase_factor=2,maximum_damping=100,damping_threshold=1, andconvergence_damping_limit=0, withmaximum_trials=100linear solves per outer iteration. Usedescribe()for their meanings and Configuring an optimal-estimation retrieval for tuning guidance. Python construction and field edits validate the settings; oemCalc validates them before LM runs. The object supports workspace and XML storage directly. A six-value Python sequence initializes the damping controls, leaving maximum_trials at its default. Direct and CG variants use the same controls and prior-precision damping defined in Levenberg–Marquardt damping.clear_matrices:Set to 1 to skip computing
oem.measurement_gain_matand return it andoem.measurement_jacempty. The default is 0. The Jacobian is still needed internally during retrieval.display_progress:Set to 1 for iteration output, or 0 (default) for silent operation. Diagnostics and LM history are recorded independently of this flag.
oem_diagnosticsis anOptimalEstimationDiagnosticswithstatus,initial_cost,final_cost,measurement_cost,iterations,lm_ga_history, anderrors. Costs are per measurement and NaN when unavailable.iterationsis an Index, initially zero.The
OptimalEstimationStatusenum distinguishesNotRun,Converged,IterationLimit,LinearSolverLimit,DampingLimit,Error, andStartCostLimit.Convergedincludes LM numerical stationarity. Linear methods may returnIterationLimitafter their single step even at the exact solution.oem.diagnostics.lm_ga_historyrecords starting and updated LM damping, with unused trailing entries set to NaN; it is empty for non-LM methods.oem.diagnostics.errorscontains caught errors and warnings. Inner CG exhaustion rejects the step and records a warning. GN/LI stop withLinearSolverLimit; LM retries with increased damping and reports that status if its final attempt also exhausts CG.cg_max_iter=0uses a budget of max(1000, 2 * system dimension) per solve; a positive value sets an explicit budget. The dimension is that of the selected state- or measurement-space system (reduced dimensions for oemCalcReduced).Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Patrick Eriksson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]inversion_iterate_agenda (~pyarts3.arts.Agenda, optional) – Evaluate a retrieval state. See
oemCalc(). Defaults toself.inversion_iterate_agenda. [IN]settings (~pyarts3.arts.OptimalEstimationSettings, optional) – Algorithm, limits, tolerances, LM damping and output controls. Defaults to
OptimalEstimationSettings(method=gn, max_iter=10, stop_dx=0.01, max_start_cost=inf, cg_tolerance=1e-10, cg_max_iter=0, lm=LevenbergMarquardtSettings(initial_damping=10, decrease_factor=2, increase_factor=2, maximum_damping=100, damping_threshold=1, convergence_damping_limit=0, maximum_trials=100), display_progress=0, clear_matrices=false)[IN]
- oemCalcReduced(self, oem: OptimalEstimationData = self.oem, atm_field: AtmField = self.atm_field, abs_bands: AbsorptionBands = self.abs_bands, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, jac_targets: JacobianTargets = self.jac_targets, inversion_iterate_agenda: Agenda = self.inversion_iterate_agenda, settings: OptimalEstimationSettings = OptimalEstimationSettings(method=gn, max_iter=10, stop_dx=0.01, max_start_cost=inf, cg_tolerance=1e-10, cg_max_iter=0, lm=LevenbergMarquardtSettings(initial_damping=10, decrease_factor=2, increase_factor=2, maximum_damping=100, damping_threshold=1, convergence_damping_limit=0, maximum_trials=100), display_progress=0, clear_matrices=false)) None
Run oemCalc in reduced state and measurement coordinates.
Unchecked OEM data is validated before covariance preparation or output changes. Successful validation is reused on subsequent calls. Call
oemCheck()to force revalidation after in-place edits.Supply both model_state_basis_mat \(\mathbf{B}\) (full states by reduced states) and measurement_basis_mat \(\mathbf{C}\) (reduced measurements by full measurements). Columns of \(\mathbf{B}\) and rows of \(\mathbf{C}\) must respectively be linearly independent. Use an identity matrix to leave either space unchanged. The physical agenda and its real targets operate on the full state \(\vec{x}=\vec{x}_a+\mathbf{B}\vec{z}\). Only the solver uses \(\mathbf{J}_r=\mathbf{C}\mathbf{J}\mathbf{B}\), prior covariance \((\mathbf{B}^{\top}\mathbf{S}_a^{-1}\mathbf{B})^{-1}\), and measurement covariance \(\mathbf{C}\mathbf{S}_\epsilon\mathbf{C}^{\top}\). The starting state must lie in this affine subspace, or be empty to start at the prior. Full-size input fit/Jacobian caches must describe that start.
All oemCalc methods are available. LM damping is \(\mathbf{B}^{\top}\operatorname{diag}(\mathbf{S}_a^{-1})\mathbf{B}\). stop_dx uses the reduced state dimension. Normalization vectors, when supplied, must have reduced dimensions; the same method restrictions as oemCalc apply. Full forward simulations and Jacobians are still computed. Returned state, fit and Jacobian remain full-size; the gain is \(\mathbf{B}\mathbf{G}_r\mathbf{C}\). Initial/final diagnostic costs and max_start_cost use the full residual and original measurement count, including discarded measurements. Iteration progress and convergence use the reduced objective. Errors during iteration or final-state restoration appear in
oem_diagnosticswith statusError.pyarts3.retrieval.information_from_workspace(...).reduction(...)supplies both matrices from leading singular modes. Its loss estimates and posterior covariance are local linear quantities. Reduction can discard information; discarded state modes retain prior uncertainty, not zero uncertainty. See Reduced optimal estimation for the mathematics and limits of lossless reduction.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Patrick Eriksson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]inversion_iterate_agenda (~pyarts3.arts.Agenda, optional) – Evaluate a retrieval state. See
oemCalc(). Defaults toself.inversion_iterate_agenda. [IN]settings (~pyarts3.arts.OptimalEstimationSettings, optional) – Algorithm, limits, tolerances, LM damping and output controls. Defaults to
OptimalEstimationSettings(method=gn, max_iter=10, stop_dx=0.01, max_start_cost=inf, cg_tolerance=1e-10, cg_max_iter=0, lm=LevenbergMarquardtSettings(initial_damping=10, decrease_factor=2, increase_factor=2, maximum_damping=100, damping_threshold=1, convergence_damping_limit=0, maximum_trials=100), display_progress=0, clear_matrices=false)[IN]
- oemCheck(self, oem: OptimalEstimationData = self.oem, jac_targets: JacobianTargets = self.jac_targets) None
Validate
oemagainst the finalizedjac_targets.Checks numerical inputs, covariance dimensions and validity, optional stored modeling results, bases and normalization vectors, and agreement with the state size of the target mapping. Sets oem.checked to true on success.
On failure, leaves oem unchecked and throws a report of all detected problems. Does not consume inputs or run the forward model. Checks again even if oem is already checked, so it can also validate in-place edits. Call after setup or structural edits, before
oemCalc()oroemCalcReduced(). Repeated calculations can reuse checked data without calling this method again.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- oemClearAuxiliary(self, oem: OptimalEstimationData = self.oem) None
Release recomputable products and caches in oem; retain inputs, current state, bases and diagnostics.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemFinalizeDiagonal(self, oem: OptimalEstimationData = self.oem, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, abs_bands: AbsorptionBands = self.abs_bands, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor) None
Finalize the retrieval setup.
Calls
jac_targetsFinalize()to determine target sizes and state-vector offsets, then adds the per-target covariance blocks collected in oem.covmat_diagonal_blocks by the oemAdd methods. “Diagonal” refers to their positions on the block diagonal; the matrices inside those blocks may be correlated. Add cross-target correlations afterwards withoemStateCovmatCorrelateConstant(). Finally callsoemCheck(): observations, prior and measurement-error covariance must already be set in oem. Success marks oem checked; validation failure leaves it unchecked and reports the missing or invalid data. This method does not select an oemCalc method.If target offsets are needed to calculate the prior or a forward model before this step, call
jac_targetsFinalize()first. This only finalizes the mapping;oemFinalizeDiagonal()completes and checks the numerical retrieval setup.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]
- oemInit(self, jac_targets: JacobianTargets = self.jac_targets, oem: OptimalEstimationData = self.oem) None
Start an empty OEM setup and reset
jac_targets.Initializes
oem, including its owned pending covariance blocks. Call before adding retrieval targets with oemAdd methods. UseoemInitFromData()instead when supplying an already constructed numerical problem without resetting targets.Author: Richard Larsson
- Parameters:
jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [OUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [OUT]
- oemInitFromData(self, oem: OptimalEstimationData = self.oem, model_state_vec: Vector = self.model_state_vec, measurement_vec: Vector = self.measurement_vec, model_state_covmat: CovarianceMatrix = self.model_state_covmat, measurement_vec_error_covmat: CovarianceMatrix = self.measurement_vec_error_covmat) None
Initialize
oemfrom a complete numerical input problem.Consumes
model_state_vecas the prior,measurement_vecas the observations,model_state_covmatandmeasurement_vec_error_covmat, leaving them empty. Both covariances must cover their respective vectors; dimensions are checked before any input is consumed. Replaces the entire OEM object and leaves it unchecked. Use oem.check() for numerical validation.No physical fields or target mappings are changed. Fitted measurements and Jacobians are modeling results and are not imported. The initial current state is empty, so the calculation starts from the prior. Use
oemInit()and the oemAdd methods instead to construct a problem through target-based builders.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [OUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [INOUT]model_state_covmat (~pyarts3.arts.CovarianceMatrix, optional) – Covariance matrix of a priori distribution. Defaults to
self.model_state_covmat. [INOUT]measurement_vec_error_covmat (~pyarts3.arts.CovarianceMatrix, optional) – Covariance matrix for observation uncertainties. Defaults to
self.measurement_vec_error_covmat. [INOUT]
- oemMeasurementBasisCalc(self, oem: OptimalEstimationData = self.oem) None
Construct a measurement-only projection by grouping proportional Jacobian rows.
Compares every state derivative in each row of
oem.measurement_jac. Rows are divided by their signed largest-magnitude entry and grouped when all resulting entries match exactly. Opposite signs and different amplitudes can belong to the same group. No approximate similarity threshold is used. All-zero rows form one group. With no matching rows, the result is a sparse identity.For diagonal
oem.measurement_vec_error_covmat, with variances \(\sigma_i^2\) and row amplitudes \(a_i\), each group produces one noise-normalized measurement:\[C_{g i}=\frac{a_i/\sigma_i^2} {\sqrt{\sum_{k\in g}a_k^2/\sigma_k^2}},\quad i\in g.\]Other entries are zero. The
Sparseresult stores one entry per channel. The state basis and covariances are unchanged. For measurement-only retrieval, use an identityoem.model_state_basis_matwithoemCalcReduced().For correlated noise, define \(T_{ig}=a_i\) for channels in group g and zero otherwise. The result is \(\mathbf C=\mathbf T^\top\mathbf S_\epsilon^{-1}\), computed by a covariance solve, not by constructing an inverse. This result can be dense and its projected noise covariance need not be identity. Keeping correlations is necessary even when Jacobian rows match exactly.
These combinations preserve the state-dependent likelihood of the supplied linear Gaussian model. For nonlinear models, this is a local statement at the supplied Jacobian. Floating-point row normalization can fail to recognize mathematically proportional rows. General linear dependencies between distinct row directions are left to
oemBasisCalc()andoemBasisReduce(). This method does not set their singular spectrum or loss outputs; its groups are not singular modes and must not be passed tooemBasisReduce(). No agenda runs and no Jacobian is recomputed.Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemMeasurementCovmatAdd(self, oem: OptimalEstimationData = self.oem, matrix: BlockMatrix, inverse: BlockMatrix = []) None
Append a diagonal block to the measurement covariance in oem.
The block can be dense or sparse and may contain correlated measurements. An optional inverse block is retained. If measurements have been initialized, the accumulated covariance size must not exceed their count. Complete coverage and covariance validity are checked before calculation. Use oemMeasurementCovmatInit to replace an earlier block layout.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]matrix (BlockMatrix) – Covariance block for the next contiguous measurements. [IN]
inverse (~pyarts3.arts.BlockMatrix, optional) – Optional inverse of this block. Defaults to
pyarts3.arts.BlockMatrix()[IN]
- oemMeasurementCovmatConstant(self, oem: OptimalEstimationData = self.oem, value: Numeric) None
Sets a constant measurement vector error covariance matrix.
The size is taken from oem.measurement_vec, which must be nonempty. Supply observations with
oemSetMeasurement()before calling this method.Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]value (Numeric) – The value of the covariance matrix diagonal. [IN]
- oemMeasurementCovmatInit(self, oem: OptimalEstimationData = self.oem) None
Clear the measurement covariance in oem, preserving all other data.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemMeasurementCovmatNormalization(self, oem: OptimalEstimationData = self.oem) None
Returns measurement noise standard deviations \(D_{ii}=\sqrt{S_{\epsilon,ii}}\).
Stores these scales in oem.measurement_vec_normalization for measurement-space methods. The scaled system matrix is \(\mathbf{D}^{-1}(\mathbf{J}\mathbf{S}_a\mathbf{J}^{\top} +\mathbf{S}_\epsilon)\mathbf{D}^{-1}\). This does not change the statistical objective and is not full whitening for correlated measurement errors.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemObservationErrorCalc(self, oem: OptimalEstimationData = self.oem) None
Calculates the covariance matrix describing the error due to uncertainties in the observation system.
The uncertainties of the observation system are described by
oem.measurement_vec_error_covmat, which must be set by the user to include the relevant contributions from the measurement and the forward model.Prerequisite for the calculation of
measurement_vec_error_covmat_observation_systemis a successfuloemCalc()computation where also the gain matrix has been computed.The result is \(\mathbf{S}_{\rm obs}=\mathbf{G}\mathbf{S}_\epsilon\mathbf{G}^{\top}\). This is the observation contribution, not the full posterior covariance; see Gain, averaging kernel, and retrieval uncertainty for the assumptions and decomposition.
Author: Simon Pfreundschuh
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemRestoreApriori(self, abs_bands: AbsorptionBands = self.abs_bands, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, atm_field: AtmField = self.atm_field, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, oem: OptimalEstimationData = self.oem, jac_targets: JacobianTargets = self.jac_targets) None
Restore retrieved physical quantities from oem.model_state_vec_apriori.
Applies the finalized Jacobian target mappings, including state-coordinate transformations. The OEM data is const: the previous fitted state, Jacobian, results, diagnostics and covariance preparation remain unchanged. No forward calculation is performed. Use this before preparing the next measurement’s retrieval from the same physical prior.
Author: Richard Larsson
- Parameters:
abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [INOUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [INOUT]oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- oemSetApriori(self, oem: OptimalEstimationData = self.oem, model_state_vec: Vector = self.model_state_vec) None
Replace the prior in
oemby consumingmodel_state_vec.Use
model_state_vecFromData()first to obtain a prior from the physical model, or supply the numerical vector directly. Leaves the source vector empty. A changed size makes oem unchecked; an unchanged size preserves its checked status. Observations, covariances, bases, current state and modeling results are retained. When changing dimensions, update the associated data before calling oem.check() again.Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [INOUT]
- oemSetMeasurement(self, oem: OptimalEstimationData = self.oem, measurement_vec: Vector = self.measurement_vec) None
Replace the observations in
oemby consumingmeasurement_vec.Leaves the source vector empty. A changed size makes oem unchecked; an unchanged size preserves its checked status. Covariances, prior, bases and modeling results are retained. When changing dimensions, update the associated data before calling oem.check() again.
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]measurement_vec (~pyarts3.arts.Vector, optional) – The measurement vector for, e.g., a sensor. Defaults to
self.measurement_vec. [INOUT]
- oemSmoothingErrorCalc(self, oem: OptimalEstimationData = self.oem) None
Calculates the covariance matrix describing the error due to smoothing.
The calculation of
model_state_covmat_smoothing_erroralso requires the averaging kernel matrixoem.measurement_averaging_kernelto be computed after a successful oemCalc calculation.The result is \(\mathbf{S}_{\rm smooth}=(\mathbf{I}-\mathbf{A})\mathbf{S}_a(\mathbf{I}-\mathbf{A})^{\top}\); see Gain, averaging kernel, and retrieval uncertainty for its relation to posterior covariance.
Author: Simon Pfreundschuh
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- oemStateCovmatCorrelateConstant(self, oem: OptimalEstimationData = self.oem, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, target1: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope, target2: AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope, correlation: Numeric) None
Correlate matching grid points of two atmospheric retrieval targets with a constant coefficient.
Requires finalized targets, identical physical grids and diagonal marginal covariances, with one state coordinate per grid point. The cross covariance is correlation times the product of the existing standard deviations. The coefficient is the same at every grid point; the covariance can vary with the marginal variances. Different grid points are not cross-correlated. Marginal variances are unchanged. The coefficient refers to retrieval coordinates: for logarithmic water it correlates temperature with log-water.
The coefficient must be finite and strictly between -1 and 1. An existing cross block for this pair is replaced; zero removes it. The complete candidate covariance is validated before assignment. Failure leaves the input unchanged; success discards cached inverses. Other existing correlations are preserved.
Warning
Automatic size constraints are not checked for this method. Group-invariant checks on read-only inputs still apply.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]target1 (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – First atmospheric target. [IN]
target2 (AtmKey | QuantumLevelIdentifier | ScatteringSpeciesProperty | SpeciesEnum | SpeciesIsotope) – Second atmospheric target. [IN]
correlation (Numeric) – Constant correlation coefficient in retrieval coordinates. [IN]
- oemStateCovmatInit(self, oem: OptimalEstimationData = self.oem) None
Initialises an empty model state covariance matrix.
Author: Richard Larsson
- Parameters:
oem (~pyarts3.arts.OptimalEstimationData, optional) – Numerical problem and results for
oemCalc()andoemCalcReduced(). Defaults toself.oem. [INOUT]
- ray_pathAddGeometricAltitudeGridCrossings(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, alt_grid: AscendingGrid = self.alt_grid, surf_field: SurfaceField = self.surf_field) None
Fill the path with with points that crosses the
alt_gridAlso checks that only crossings of the
alt_gridare inray_pathupon exit.The intent is to use this only with methods that work on altitude profiles.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- ray_pathAddGeometricGridCrossings(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, atm_key: AtmKey = "t") None
Fill the path with with points that crosses the grid of the atmspheric field.
The atmospheric field parameter must be gridded. Only grids with size() > 1 are considered.
Points are added where the ray path crosses any of the three grids in pure geometrical manner.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]atm_key (~pyarts3.arts.AtmKey, optional) – The atmospheric field key for which the grid is expected if adding grid crossings is desired. Defaults to
t[IN]
- ray_pathAddLimbPoint(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, surf_field: SurfaceField = self.surf_field) None
Add the limb point to the ray path
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- ray_pathFillGeometricHalfStep(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize) None
Fill the path with geometric step points.
If two path points are more than
max_stepsizeapart, additional points are added at half the distance between these two points.This process is repeated until there are no more neighboring points for which the premise is true.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]
- ray_pathFillGeometricStepwise(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize) None
Fill the path with geometric step points.
If two path points are more than
max_stepsizeapart, additional points are added by propagating one of the points towards the other with a step length ofmax_stepsize.This process is repeated until there are no more neighboring points for which the premise is true.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]
- ray_pathFixUpdownAzimuth(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Fix azimuth angle errors that can occur for 180 and 0 degrees zenith.
These only matter for polarized radiative transfer.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]
- ray_pathFromPointAndDepth(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, ray_point: PropagationPathPoint = self.ray_point, depth_profile: DescendingGrid) None
Create a depth profile ray path from a point.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]depth_profile (DescendingGrid) – List of depths. [IN]
- ray_pathGeometric(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize, pos: Vector3, los: Vector2, surf_search_accuracy: Numeric = 0.1, as_observer: Index = 1, add_limb: Index = 0, remove_non_atm: Index = 1, fix_updown_azi: Index = 1, surf_safe_search: Index = 1) None
Get a geometric radiation path
The path is defined by the origo and the line of sight.
The
posis either at the end or at the beginning of the path depending on theas_observerflag. A value that evaluates to true means that it is at the end of the path. Ifas_observeris true, thelosis therefore looking backwards along the path. Basically,as_observertrue means thatposandlosbehaves as sensor pos and los.The
max_stepsizeis the maximum step length in meters. The path is first created between the two extremes of either space and/or surface. Afterwards, there are additional points added everymax_stepsizemeters between these points until no more fits (the last step is shorter or exactlymax_stepsize).Upon closing the method, the following options are available to modify the output:
If
add_limbis true, the limb point is added to the path at the end. It is computed using bisections to ensure that the zenith angle of the tangent point is as close to 90 degrees as it can numerically be.If
remove_non_atmis true, all points that are not in the atmosphere are removed. It is recommended to remove these points as multiple methods will either perform poorly or not at all with these points present.If
fix_updown_aziis true, the azimuthal angle of the path is fixed to the initial azimuthal angle of the path. Because calculations of the azimuth angle makes use of IEEE atan2, some paths may produce bad angles if this is turned off.Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]pos (Vector3) – The origo of the radiation path. [IN]
los (Vector2) – The line of sight of the radiation path. [IN]
surf_search_accuracy (~pyarts3.arts.Numeric, optional) – The accuracy within which the surface intersection is counted as a hit. Defaults to
0.1[IN]as_observer (~pyarts3.arts.Index, optional) – Whether or not the path is as seen by the sensor or by the radiation (see text). Defaults to
1[IN]add_limb (~pyarts3.arts.Index, optional) – Whether or not to add the limb point. Defaults to
0[IN]remove_non_atm (~pyarts3.arts.Index, optional) – Whether or not to keep only atmospheric points. Defaults to
1[IN]fix_updown_azi (~pyarts3.arts.Index, optional) – Whether or not to attempt fix a potential issue with the path azimuthal angle. Defaults to
1[IN]surf_safe_search (~pyarts3.arts.Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to
1[IN]
- ray_pathGeometricDownlooking(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, lat: Numeric = self.lat, lon: Numeric = self.lon, max_stepsize: Numeric = self.max_stepsize) None
Wraps
ray_pathGeometric()for straight downlooking paths from the top-of-the-atmosphere altitudeAuthor: Richard Larsson
Used by wrapper methods
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]
- ray_pathGeometricUplooking(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, lat: Numeric = self.lat, lon: Numeric = self.lon, max_stepsize: Numeric = self.max_stepsize) None
Wraps
ray_pathGeometric()for straight uplooking paths from the surface altitude at the positionAuthor: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]
- ray_pathInit(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, pos: Vector3, los: Vector2, as_sensor: Index = 1) None
Initialize the ray path with a single point.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]pos (Vector3) – The start position. [IN]
los (Vector2) – The start line-of-sight. [IN]
as_sensor (~pyarts3.arts.Index, optional) – Whether or not the position is the sensor position or the observer position. Defaults to
1[IN]
- ray_pathRemoveNearby(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, surf_field: SurfaceField = self.surf_field, min_distance: Numeric, first: Index = 0) None
Remove points that are too close to each other.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]min_distance (Numeric) – The minimum distance between points. [IN]
first (~pyarts3.arts.Index, optional) – Whether to remove the first or second point. Defaults to
0[IN]
- ray_pathRemoveNonAtm(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Remove non-atmospheric points to the ray path
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]
- ray_pathRemoveNonGeometricGridCrossings(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, atm_key: AtmKey) None
Remove all non-geometric grid crossings from the ray path.
The atmospheric field parameter must be gridded. All points overlapping with any of the three grids are kept.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]atm_key (AtmKey) – The atmospheric key. [IN]
- ray_pathSetGeometricExtremes(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, surf_search_accuracy: Numeric = 0.1, surf_safe_search: Index = 1) None
Add the geometric extremes to the ray path.
Author: Richard Larsson
- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]surf_search_accuracy (~pyarts3.arts.Numeric, optional) – The accuracy within which the surface intersection is counted as a hit. Defaults to
0.1[IN]surf_safe_search (~pyarts3.arts.Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to
1[IN]
- ray_path_fieldFluxProfile(self, ray_path_field: ArrayOfArrayOfPropagationPathPoint = self.ray_path_field, atm_field: AtmField = self.atm_field, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, azi: Numeric = 0, dzen: Numeric = 180, atm_key: AtmKey = "t") None
Adds observers that covers all zenith angles for each altitude point.
By default, up-looking from surface, downlooking from top of atmosphere and limb looking just hitting the surface and just missing the surface are added.
In addition to these, all up-looking ppoints will have additional observers for max
dzenresolution and all downlooking points will have additional observers for maxdzenresolution.Additional work is requires if proper coverage of the limb is required
Author: Richard Larsson
- Parameters:
ray_path_field (~pyarts3.arts.ArrayOfArrayOfPropagationPathPoint, optional) – A list of
ray_pathintended to build up a field of observations. Defaults toself.ray_path_field. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]azi (~pyarts3.arts.Numeric, optional) – Azimuth angle for the observer. Defaults to
0[IN]dzen (~pyarts3.arts.Numeric, optional) – The minimum step coverage in zenith angles. Defaults to
180[IN]atm_key (~pyarts3.arts.AtmKey, optional) – The altitude profile key in the atmosphere. Defaults to
t[IN]
- ray_path_fieldFromObserverAgenda(self, ray_path_field: ArrayOfArrayOfPropagationPathPoint = self.ray_path_field, ray_path_observers: ArrayOfPropagationPathPoint = self.ray_path_observers, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda) None
Create a ray path field from a set of observers.
Author: Richard Larsson
- Parameters:
ray_path_field (~pyarts3.arts.ArrayOfArrayOfPropagationPathPoint, optional) – A list of
ray_pathintended to build up a field of observations. Defaults toself.ray_path_field. [OUT]ray_path_observers (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up the observers of a propagation path. Defaults to
self.ray_path_observers. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]
- ray_path_observer_agendaExecute(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda) CxxWorkspace
Executes
ray_path_observer_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- ray_path_observer_agendaExecuteOperator(self, ray_path: ArrayOfPropagationPathPoint = self.ray_path, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, ray_path_observer_agenda_operator: ray_path_observer_agendaOperator) None
Executes an operator emulating
ray_path_observer_agenda, see it, and alsoray_path_observer_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]ray_path_observer_agenda_operator (ray_path_observer_agendaOperator) – Operator for
ray_path_observer_agenda. [IN]
- ray_path_observer_agendaSet(self, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, option: String = GeometricDefault) None
Set
ray_path_observer_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"GeometricDefault"[IN]
Valid options
These are the valid options for the
ray_path_observer_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.ray_path_observer_agendaSet(option="GeometricDefault")Shares the global
atm_fieldShares the global
max_stepsizeShares the global
surf_fieldas_sensor = 1
ray_pathInit(), using: pos =obs_pos, los =obs_lossurf_search_accuracy = 0.1
surf_safe_search = 1
ray_path_observer_agendaSet(option="GeometricProfile")Shares the global
alt_gridShares the global
atm_fieldShares the global
surf_fieldas_sensor = 1
ray_pathInit(), using: pos =obs_pos, los =obs_lossurf_search_accuracy = 0.1
surf_safe_search = 1
- ray_path_observer_agendaSetGeometric(self, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, max_step_option: String = step, surf_search_accuracy: Numeric = 0.1, remove_nearby: Numeric = 0, atm_key: AtmKey = "t", surf_safe_search: Index = 1, remove_nearby_first: Index = 1, add_crossings: Index = 0, remove_non_crossings: Index = 0, fix_updown_azi: Index = 1, add_limb: Index = 0, remove_non_atm: Index = 1) None
Set
ray_path_observer_agendafrom programmable geometric settings.The default settings essentially call the default settings for
ray_pathGeometric().Options:
max_step_option: Choose the maximum distance between two points. Setmax_stepsizefor the distance.surf_search_accuracyandsurf_safe_search: The accuracy to search for surface intersections and whether or not to do it at all.remove_nearbyandremove_nearby_first: The minimum distance between points, ignored if 0 or less. The second option tells which point to remove if they are too close.atm_keyandadd_crossingsandremove_non_crossings: The atmospheric field key for which the grid is expected if adding grid crossings is desired. The other two options tell whether to add all grid points or remove non-crossings. The removal happens after the filling of the path.fix_updown_azi: Fix the azimuth angle when looking at 0 or 180 degrees.add_limb: Add the limb point.remove_non_atm: Remove points in space or in the subsurface.
Author: Richard Larsson
- Parameters:
ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [OUT]max_step_option (~pyarts3.arts.String, optional) – Option for max stepping. See
ray_path_observer_agendaSetGeometricMaxStep. Defaults to"step"[IN]surf_search_accuracy (~pyarts3.arts.Numeric, optional) – The accuracy to search for surface intersections. Defaults to
0.1[IN]remove_nearby (~pyarts3.arts.Numeric, optional) – The minimum distance between points, ignored if 0 or less. Defaults to
0[IN]atm_key (~pyarts3.arts.AtmKey, optional) – The atmospheric field key for which the grid is expected if adding grid crossings is desired. Defaults to
t[IN]surf_safe_search (~pyarts3.arts.Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to
1[IN]remove_nearby_first (~pyarts3.arts.Index, optional) – Which point (first or second) to remove if they are too close. Defaults to
1[IN]add_crossings (~pyarts3.arts.Index, optional) – Add all grid crossings. Defaults to
0[IN]remove_non_crossings (~pyarts3.arts.Index, optional) – Remove non-crossings. Defaults to
0[IN]fix_updown_azi (~pyarts3.arts.Index, optional) – Fix the azimuth angle when looking at 0 or 180 degrees. Defaults to
1[IN]add_limb (~pyarts3.arts.Index, optional) – Add the limb point. Defaults to
0[IN]remove_non_atm (~pyarts3.arts.Index, optional) – Remove non-atmospheric points. Defaults to
1[IN]
- ray_path_observer_agendaSetOperator(self, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, f: ray_path_observer_agendaOperator) None
Set
ray_path_observer_agendato exclusively use provided external operator. Seeray_path_observer_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [OUT]f (ray_path_observer_agendaOperator) – Operator for
ray_path_observer_agenda. [IN]
- ray_path_observersFieldProfilePseudo2D(self, ray_path_observers: ArrayOfPropagationPathPoint = self.ray_path_observers, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, lat: Numeric = self.lat, lon: Numeric = self.lon, azi: Numeric = 0, nup: Index, nlimb: Index, ndown: Index) None
Get a list of observer positions and line of sights to represent observing all angles of a profile.
Three observer types are added:
Downward looking. At the top-of-atmosphere, cover [zen+e, 180] degrees zenith.
Limb looking. At top of the atmosphere, cover [90, zen-e] degrees zenith.
Upward looking. At the surface, cover [0, 90] degrees zenith.
Here zen is the surface tangent zenith angle from the top of the atmosphere. e indicates the smallest possible numerical offset from that angle in the signed direction.
Note
Each position has their zenith angle coverage linearly separated in degrees. To avoid the top-of-atmosphere limb singularity and bottom of atmosphere limb overlap, the limb zentih angle grid is divided into nlimb+1 segments. The 90 degree angle is then discarded.
See also
pyarts3.plots.ArrayOfPropagationPathPoint.plot()for a visualization of the geometry.Author: Richard Larsson
- Parameters:
ray_path_observers (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up the observers of a propagation path. Defaults to
self.ray_path_observers. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]azi (~pyarts3.arts.Numeric, optional) – Azimuth angle for the observer. Defaults to
0[IN]nup (Index) – Number of upward looking observers (min 2). [IN]
nlimb (Index) – Number of limb looking observers (min 2). [IN]
ndown (Index) – Number of downward looking observers (min 2). [IN]
- ray_path_observersFluxProfile(self, ray_path_observers: ArrayOfPropagationPathPoint = self.ray_path_observers, atm_field: AtmField = self.atm_field, azi: Numeric = 0, n: Index, atm_key: AtmKey = "t") None
Add \(n\) observers per altitude point.
The number \(n\) must be uneven and larger than 2.
Author: Richard Larsson
- Parameters:
ray_path_observers (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up the observers of a propagation path. Defaults to
self.ray_path_observers. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]azi (~pyarts3.arts.Numeric, optional) – Azimuth angle for the observer. Defaults to
0[IN]n (Index) – Number of limb looking observers (min 2). \(n\) above. [IN]
atm_key (~pyarts3.arts.AtmKey, optional) – The altitude profile key in the atmosphere. Defaults to
t[IN]
- ray_path_observersFromSensor(self, ray_path_observers: ArrayOfPropagationPathPoint = self.ray_path_observers, ray_path_observers_weights: Vector | None = None, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, idx: Index = 0, pol: Stokvec = [1, 0, 0, 0]) None
Extract position and line of sights for a sensor.
This is a simple wrapper method useful in conjunction with
ray_path_fieldFromObserverAgenda()to get the sensor geometry. TheThe output
ray_path_observers_weightscontains the weights for the ray path observers. It will have the dimension ofray_path_observersand sum to 1. The values will be the summed weights of the sensor element atidxat the chosenpolpolarization.Author: Richard Larsson
- Parameters:
ray_path_observers (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up the observers of a propagation path. Defaults to
self.ray_path_observers. [OUT]ray_path_observers_weights (Vector) – The weights for the ray path field. Defaults to create and/or use
self.ray_path_observers_weights. [OUT]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]idx (~pyarts3.arts.Index, optional) – The index of the sensor element to extract. Defaults to
0[IN]pol (~pyarts3.arts.Stokvec, optional) – The polarization to extract. Defaults to
1 0 0 0[IN]
- ray_path_suns_pathFromPathObserver(self, ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint = self.ray_path_suns_path, surf_field: SurfaceField = self.surf_field, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, ray_path: ArrayOfPropagationPathPoint = self.ray_path, suns: ArrayOfSun = self.suns, angle_cut: Numeric = 0, refinement: Index = 1, just_hit: Index = 0) None
Wraps
sun_pathFromObserverAgenda()for all paths to all suns.Author: Richard Larsson
- Parameters:
ray_path_suns_path (~pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint, optional) – A list of paths to the suns from the ray path. Defaults to
self.ray_path_suns_path. [OUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]suns (~pyarts3.arts.ArrayOfSun, optional) – A list of
Sun. Defaults toself.suns. [IN]angle_cut (~pyarts3.arts.Numeric, optional) – The angle delta-cutoff in the iterative solver [0.0, …]. Defaults to
0[IN]refinement (~pyarts3.arts.Index, optional) – The refinement of the search algorithm (twice the power of this is the resolution). Defaults to
1[IN]just_hit (~pyarts3.arts.Index, optional) – Whether or not it is enough to just hit the sun or if better accuracy is needed. Defaults to
0[IN]
- ray_path_zeeman_magnetic_fieldFromPath(self, ray_path_zeeman_magnetic_field: ArrayOfVector3 | None = None, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path) None
Sets a path of Zeeman effect magnetic field properties.
This will return a list of magnetic field properties along the path. The magnetic properties in Zeeman coordinates are the absolute strength [H], the angle between the magnetic field and the line of sight [theta], and the the rotation of the magnetic field in the plane perpendicular to the line of sight [eta].
This is mostly a convenience method to allow diagnostic plotting of the magnetic field along the path.
Author: Richard Larsson
- Parameters:
ray_path_zeeman_magnetic_field (ArrayOfVector3) – Along-the-path [H, theta, eta]. Defaults to create and/or use
self.ray_path_zeeman_magnetic_field. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]
- ray_pointBackground(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Sets
ray_pointto the expected background point ofray_pathAuthor: Richard Larsson
Used by wrapper methods
- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- ray_pointForeground(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Sets
ray_pointto the expected foreground point ofray_pathAuthor: Richard Larsson
Used by wrapper method
- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- ray_pointHighestFromPath(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Sets
ray_pointto the highest altitude point ofray_path.Author: Richard Larsson
- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- ray_pointLowestFromPath(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Sets
ray_pointto the lowest altitude point ofray_path.Author: Richard Larsson
- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- ray_pointPastGeometric(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize, surf_search_accuracy: Numeric = 0.1, surf_safe_search: Index = 1) None
Gets the previous geometric point along
ray_pathAuthor: Richard Larsson
- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]surf_search_accuracy (~pyarts3.arts.Numeric, optional) – The accuracy within which the surface intersection is counted as a hit. Defaults to
0.1[IN]surf_safe_search (~pyarts3.arts.Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to
1[IN]
- ray_pointPastRefractive(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize, single_dispersion: Numeric = self.single_dispersion, surf_search_accuracy: Numeric = 0.1, surf_safe_search: Index = 1) None
Gets the previous refractive point along
ray_pathThis basically wraps
ray_pointPastGeometric()but sets the zenith angle to the refracted zenith angle, i.e.,\[\theta_{refracted} = \arcsin\left(\frac{n_{current}}{n_{next}}\sin(\theta_{current})\right)\]Author: Richard Larsson
- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [IN]surf_search_accuracy (~pyarts3.arts.Numeric, optional) – The accuracy within which the surface intersection is counted as a hit. Defaults to
0.1[IN]surf_safe_search (~pyarts3.arts.Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to
1[IN]
- ray_point_back_propagation_agendaExecute(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path, single_dispersion: Numeric = self.single_dispersion, single_propmat: Propmat = self.single_propmat, max_stepsize: Numeric = self.max_stepsize, ray_point_back_propagation_agenda: Agenda = self.ray_point_back_propagation_agenda) CxxWorkspace
Executes
ray_point_back_propagation_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [IN]single_propmat (~pyarts3.arts.Propmat, optional) – A propagation matrix at a single
freqpoint. Defaults toself.single_propmat. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]ray_point_back_propagation_agenda (~pyarts3.arts.Agenda, optional) – Gets the next past point along a propagation path. Defaults to
self.ray_point_back_propagation_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- ray_point_back_propagation_agendaExecuteOperator(self, ray_point: PropagationPathPoint = self.ray_point, ray_path: ArrayOfPropagationPathPoint = self.ray_path, single_dispersion: Numeric = self.single_dispersion, single_propmat: Propmat = self.single_propmat, max_stepsize: Numeric = self.max_stepsize, ray_point_back_propagation_agenda_operator: ray_point_back_propagation_agendaOperator) None
Executes an operator emulating
ray_point_back_propagation_agenda, see it, and alsoray_point_back_propagation_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [IN]single_propmat (~pyarts3.arts.Propmat, optional) – A propagation matrix at a single
freqpoint. Defaults toself.single_propmat. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]ray_point_back_propagation_agenda_operator (ray_point_back_propagation_agendaOperator) – Operator for
ray_point_back_propagation_agenda. [IN]
- ray_point_back_propagation_agendaSet(self, ray_point_back_propagation_agenda: Agenda = self.ray_point_back_propagation_agenda, option: String = GeometricStepwise) None
Set
ray_point_back_propagation_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
ray_point_back_propagation_agenda (~pyarts3.arts.Agenda, optional) – Gets the next past point along a propagation path. Defaults to
self.ray_point_back_propagation_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"GeometricStepwise"[IN]
Valid options
These are the valid options for the
ray_point_back_propagation_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.ray_point_back_propagation_agendaSet(option="GeometricStepwise")Shares the global
atm_fieldShares the global
surf_fieldsurf_search_accuracy = 0.1
surf_safe_search = 1
Ignore(), using: input =single_dispersionIgnore(), using: input =single_propmat
ray_point_back_propagation_agendaSet(option="RefractiveStepwise")Shares the global
atm_fieldShares the global
surf_fieldsurf_search_accuracy = 0.1
surf_safe_search = 1
Ignore(), using: input =single_propmat
- ray_point_back_propagation_agendaSetOperator(self, ray_point_back_propagation_agenda: Agenda = self.ray_point_back_propagation_agenda, f: ray_point_back_propagation_agendaOperator) None
Set
ray_point_back_propagation_agendato exclusively use provided external operator. Seeray_point_back_propagation_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
ray_point_back_propagation_agenda (~pyarts3.arts.Agenda, optional) – Gets the next past point along a propagation path. Defaults to
self.ray_point_back_propagation_agenda. [OUT]f (ray_point_back_propagation_agendaOperator) – Operator for
ray_point_back_propagation_agenda. [IN]
- readxml(self, file: str) str
Read variable from file.
- Parameters:
file (str) – A file that can be read.
- Raises:
RuntimeError – For any failure to read.
- Returns:
file – The file path found (may differ from input due to environment variables).
- Return type:
- savexml(self, file: str, type: str = 'ascii', clobber: bool = True) str
Saves variable to file.
- Parameters:
file (str) – The path to which the file is written. Note that several of the options might modify the name or write more files.
type (str, optional) – Type of file to save. See
FileTypefor options. Defaults is “ascii”.clobber (bool, optional) – Overwrite existing files or add new file with modified name? Defaults is True.
- Raises:
RuntimeError – For any failure to write.
- Returns:
file – The file saved. May differ from input.
- Return type:
- scat_speciesInit(self, scat_species: ArrayOfScatteringSpecies = self.scat_species) None
Initialize scattering species.
Author: Richard Larsson
- Parameters:
scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [OUT]
- single_dispersionAddGasMicrowavesEarth(self, single_dispersion: Numeric = self.single_dispersion, atm_point: AtmPoint = self.atm_point, k1: Numeric = 7.76e-07, k2: Numeric = 7.04e-07, k3: Numeric = 0.003739) None
Add microwave gas refractivity for an Earth-like atmosphere.
This is the non-dispersive Bevis et al. (1994) model used by ARTS 2. It depends on pressure, temperature, and the H2O volume-mixing ratio in
atm_point. H2O is optional and a missing H2O entry gives the dry-air value.The added value is \(n-1\), matching the convention consumed by
ray_point_back_propagation_agendawith itsRefractiveStepwiseoption. The expression is\[n - 1 = \frac{k_1 (P-e) + (k_2 + k_3/T)e}{T},\]where \(e\) is the water-vapour partial pressure. The default coefficients are adjusted for pressure in Pa.
This method contributes refractivity only. It does not add absorption to
single_propmator derivatives tosingle_dispersion_jac.Authors: Patrick Eriksson, Richard Larsson
- Parameters:
single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [INOUT]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]k1 (~pyarts3.arts.Numeric, optional) – Dry-air coefficient [K/Pa]. Defaults to
7.76e-07[IN]k2 (~pyarts3.arts.Numeric, optional) – Water-vapour coefficient [K/Pa]. Defaults to
7.04e-07[IN]k3 (~pyarts3.arts.Numeric, optional) – Water-vapour coefficient [K^2/Pa]. Defaults to
0.003739[IN]
- single_dispersionAddGasMicrowavesGeneral(self, single_dispersion: Numeric = self.single_dispersion, atm_point: AtmPoint = self.atm_point) None
Add microwave gas refractivity for a planetary atmosphere.
This is the non-dispersive Newell and Baird (1965) mixture model used by ARTS 2. It supports N2, O2, CO2, H2, He, and H2O. Every species is optional: only supported species present in
atm_pointcontribute. Their VMRs are normalized by the sum of the supported VMRs that are present. If none are present, the method adds zero refractivity.Reference refractivities are scaled from 273.15 K and 760 Torr to the pressure and temperature in
atm_point. The added value is \(n-1\), matching the convention consumed byray_point_back_propagation_agendawith itsRefractiveStepwiseoption.This method contributes refractivity only. It does not add absorption to
single_propmator derivatives tosingle_dispersion_jac.Authors: Jana Mendrok, Richard Larsson
- Parameters:
single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [INOUT]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]
- single_dispersionAddWaterVisibleNIRHarvey98(self, single_dispersion: Numeric = self.single_dispersion, freq: Numeric = self.freq, atm_point: AtmPoint = self.atm_point, water_mass_density: Numeric = -1, check_validity: Index = 1) None
Add the Harvey et al. (1998) water/steam refractivity to
single_dispersion.The model covers the real refractive index in the visible and near infrared. The added value is \(n-1\), matching the convention consumed by
ray_point_back_propagation_agendawhen it uses itsRefractiveStepwiseoption.By default, the water mass density is derived from the H2O VMR, pressure, temperature, and isotopologue masses in
atm_point. Setwater_mass_densityto a non-negative value to use an explicit density instead. An explicit value is useful for liquid-water calculations.This method only contributes refractivity. It does not add absorption to
single_propmator derivatives tosingle_dispersion_jac.Authors: Manfred Brath, Richard Larsson
- Parameters:
single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [INOUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]water_mass_density (~pyarts3.arts.Numeric, optional) – Water mass density [kg/m3]. A negative value derives it from the H2O VMR in atm_point. Defaults to
-1[IN]check_validity (~pyarts3.arts.Index, optional) – Enforce the published temperature, density, and wavelength validity ranges. Defaults to
1[IN]
- single_propmatAddVoigtLTE(self, single_propmat: Propmat = self.single_propmat, single_propmat_jac: PropmatVector = self.single_propmat_jac, single_dispersion: Numeric = self.single_dispersion, single_dispersion_jac: Vector = self.single_dispersion_jac, freq: Numeric = self.freq, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, abs_bands: AbsorptionBands = self.abs_bands, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point, no_negative_absorption: Index = 1) None
Add line-by-line absorption to the propagation matrix.
See Line-by-line Absorption for details.
This is only for LTE lines in Voigt.
Author: Richard Larsson
- Parameters:
single_propmat (~pyarts3.arts.Propmat, optional) – A propagation matrix at a single
freqpoint. Defaults toself.single_propmat. [INOUT]single_propmat_jac (~pyarts3.arts.PropmatVector, optional) – A propagation matrix Jacobian at a single
freqpoint. Defaults toself.single_propmat_jac. [INOUT]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [INOUT]single_dispersion_jac (~pyarts3.arts.Vector, optional) – A dispersion Jacobian at a single
freqpoint. Defaults toself.single_dispersion_jac. [INOUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]no_negative_absorption (~pyarts3.arts.Index, optional) – Turn off to allow individual absorbers to have negative absorption. Defaults to
1[IN]
- single_propmatInit(self, single_propmat: Propmat = self.single_propmat, single_propmat_jac: PropmatVector = self.single_propmat_jac, single_nlte_srcvec: Stokvec = self.single_nlte_srcvec, single_nlte_srcvec_jac: StokvecVector = self.single_nlte_srcvec_jac, single_dispersion: Numeric = self.single_dispersion, single_dispersion_jac: Vector = self.single_dispersion_jac, jac_targets: JacobianTargets = self.jac_targets) None
Initialize single-point propagation matrix fields.
Author: Richard Larsson
- Parameters:
single_propmat (~pyarts3.arts.Propmat, optional) – A propagation matrix at a single
freqpoint. Defaults toself.single_propmat. [OUT]single_propmat_jac (~pyarts3.arts.PropmatVector, optional) – A propagation matrix Jacobian at a single
freqpoint. Defaults toself.single_propmat_jac. [OUT]single_nlte_srcvec (~pyarts3.arts.Stokvec, optional) – A non-LTE source vector at a single
freqpoint. Defaults toself.single_nlte_srcvec. [OUT]single_nlte_srcvec_jac (~pyarts3.arts.StokvecVector, optional) – A non-LTE source vector Jacobian at a single
freqpoint. Defaults toself.single_nlte_srcvec_jac. [OUT]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [OUT]single_dispersion_jac (~pyarts3.arts.Vector, optional) – A dispersion Jacobian at a single
freqpoint. Defaults toself.single_dispersion_jac. [OUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- single_propmat_agendaExecute(self, single_propmat: Propmat = self.single_propmat, single_nlte_srcvec: Stokvec = self.single_nlte_srcvec, single_dispersion: Numeric = self.single_dispersion, single_propmat_jac: PropmatVector = self.single_propmat_jac, single_nlte_srcvec_jac: StokvecVector = self.single_nlte_srcvec_jac, single_dispersion_jac: Vector = self.single_dispersion_jac, freq: Numeric = self.freq, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, ray_point: PropagationPathPoint = self.ray_point, atm_point: AtmPoint = self.atm_point, single_propmat_agenda: Agenda = self.single_propmat_agenda) CxxWorkspace
Executes
single_propmat_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
single_propmat (~pyarts3.arts.Propmat, optional) – A propagation matrix at a single
freqpoint. Defaults toself.single_propmat. [OUT]single_nlte_srcvec (~pyarts3.arts.Stokvec, optional) – A non-LTE source vector at a single
freqpoint. Defaults toself.single_nlte_srcvec. [OUT]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [OUT]single_propmat_jac (~pyarts3.arts.PropmatVector, optional) – A propagation matrix Jacobian at a single
freqpoint. Defaults toself.single_propmat_jac. [OUT]single_nlte_srcvec_jac (~pyarts3.arts.StokvecVector, optional) – A non-LTE source vector Jacobian at a single
freqpoint. Defaults toself.single_nlte_srcvec_jac. [OUT]single_dispersion_jac (~pyarts3.arts.Vector, optional) – A dispersion Jacobian at a single
freqpoint. Defaults toself.single_dispersion_jac. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- single_propmat_agendaExecuteOperator(self, single_propmat: Propmat = self.single_propmat, single_nlte_srcvec: Stokvec = self.single_nlte_srcvec, single_dispersion: Numeric = self.single_dispersion, single_propmat_jac: PropmatVector = self.single_propmat_jac, single_nlte_srcvec_jac: StokvecVector = self.single_nlte_srcvec_jac, single_dispersion_jac: Vector = self.single_dispersion_jac, freq: Numeric = self.freq, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, ray_point: PropagationPathPoint = self.ray_point, atm_point: AtmPoint = self.atm_point, single_propmat_agenda_operator: single_propmat_agendaOperator) None
Executes an operator emulating
single_propmat_agenda, see it, and alsosingle_propmat_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
single_propmat (~pyarts3.arts.Propmat, optional) – A propagation matrix at a single
freqpoint. Defaults toself.single_propmat. [OUT]single_nlte_srcvec (~pyarts3.arts.Stokvec, optional) – A non-LTE source vector at a single
freqpoint. Defaults toself.single_nlte_srcvec. [OUT]single_dispersion (~pyarts3.arts.Numeric, optional) – A dispersion at a single
freqpoint. Defaults toself.single_dispersion. [OUT]single_propmat_jac (~pyarts3.arts.PropmatVector, optional) – A propagation matrix Jacobian at a single
freqpoint. Defaults toself.single_propmat_jac. [OUT]single_nlte_srcvec_jac (~pyarts3.arts.StokvecVector, optional) – A non-LTE source vector Jacobian at a single
freqpoint. Defaults toself.single_nlte_srcvec_jac. [OUT]single_dispersion_jac (~pyarts3.arts.Vector, optional) – A dispersion Jacobian at a single
freqpoint. Defaults toself.single_dispersion_jac. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]single_propmat_agenda_operator (single_propmat_agendaOperator) – Operator for
single_propmat_agenda. [IN]
- single_propmat_agendaSetGasMicrowavesEarth(self, single_propmat_agenda: Agenda = self.single_propmat_agenda, k1: Numeric = 7.76e-07, k2: Numeric = 7.04e-07, k3: Numeric = 0.003739) None
Configure
single_propmat_agendafor Earth microwave gas refraction.The agenda initializes all single-frequency propagation quantities and adds the Earth microwave gas refractivity. Pair it with
ray_point_back_propagation_agendaSet(option="RefractiveStepwise")and a frequency-dependent propagation method such asspectral_radClearskyEmissionFrequencyDependentPropagation().The resulting agenda contains no absorption model. Build a custom
single_propmat_agendawhen absorption and refraction are both needed.Authors: Patrick Eriksson, Richard Larsson
- Parameters:
single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [OUT]k1 (~pyarts3.arts.Numeric, optional) – Dry-air coefficient [K/Pa]. Defaults to
7.76e-07[IN]k2 (~pyarts3.arts.Numeric, optional) – Water-vapour coefficient [K/Pa]. Defaults to
7.04e-07[IN]k3 (~pyarts3.arts.Numeric, optional) – Water-vapour coefficient [K^2/Pa]. Defaults to
0.003739[IN]
- single_propmat_agendaSetGasMicrowavesGeneral(self, single_propmat_agenda: Agenda = self.single_propmat_agenda) None
Configure
single_propmat_agendafor planetary microwave gas refraction.The agenda initializes all single-frequency propagation quantities and adds the general microwave gas-mixture refractivity. Pair it with
ray_point_back_propagation_agendaSet(option="RefractiveStepwise")and a frequency-dependent propagation method such asspectral_radClearskyEmissionFrequencyDependentPropagation().The resulting agenda contains no absorption model. Build a custom
single_propmat_agendawhen absorption and refraction are both needed.Authors: Jana Mendrok, Richard Larsson
- Parameters:
single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [OUT]
- single_propmat_agendaSetOperator(self, single_propmat_agenda: Agenda = self.single_propmat_agenda, f: single_propmat_agendaOperator) None
Set
single_propmat_agendato exclusively use provided external operator. Seesingle_propmat_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [OUT]f (single_propmat_agendaOperator) – Operator for
single_propmat_agenda. [IN]
- single_propmat_agendaSetWaterVisibleNIRHarvey98(self, single_propmat_agenda: Agenda = self.single_propmat_agenda, water_mass_density: Numeric = -1, check_validity: Index = 1) None
Configure
single_propmat_agendafor Harvey98 water/steam refraction.The agenda initializes all single-frequency propagation quantities and then adds Harvey98 water refractivity. Pair it with
ray_point_back_propagation_agendaSet(option="RefractiveStepwise")and a frequency-dependent propagation method such asspectral_radClearskyEmissionFrequencyDependentPropagation().The resulting agenda contains no absorption model. Build a custom
single_propmat_agendaif absorption and Harvey98 refraction are both needed.Authors: Manfred Brath, Richard Larsson
- Parameters:
single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [OUT]water_mass_density (~pyarts3.arts.Numeric, optional) – Water mass density [kg/m3]. A negative value derives it from the H2O VMR in atm_point. Defaults to
-1[IN]check_validity (~pyarts3.arts.Index, optional) – Enforce the published temperature, density, and wavelength validity ranges. Defaults to
1[IN]
- single_radClearskyEmissionPropagation(self, single_rad: Stokvec = self.single_rad, single_rad_jac: StokvecVector = self.single_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq: Numeric = self.freq, jac_targets: JacobianTargets = self.jac_targets, single_rad_space_agenda: Agenda = self.single_rad_space_agenda, single_rad_surface_agenda: Agenda = self.single_rad_surface_agenda, single_propmat_agenda: Agenda = self.single_propmat_agenda, ray_point_back_propagation_agenda: Agenda = self.ray_point_back_propagation_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, max_stepsize: Numeric = self.max_stepsize, polarization: Propmat = [0, 0, 0, 0, 0, 0, 0], max_tau: Numeric = 0.01, cutoff_tau: Numeric = 14, hse_derivative: Index = 0, N: Index = 1) None
Computes the spectral radiance for a single frequency using clear-sky emission propagation.
The path is built based on current optical properties and the radiative transfer equation is solved along the path. This means that the path is not precomputed but built on-the-fly, allowing per-frequency refraction.
Author: Richard Larsson
- Parameters:
single_rad (~pyarts3.arts.Stokvec, optional) – Single value version of
spectral_rad. Defaults toself.single_rad. [OUT]single_rad_jac (~pyarts3.arts.StokvecVector, optional) – Single value version of
spectral_rad_jac. Defaults toself.single_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]single_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space for a single frequency. Defaults to
self.single_rad_space_agenda. [IN]single_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of the surface for a single frequency. Defaults to
self.single_rad_surface_agenda. [IN]single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [IN]ray_point_back_propagation_agenda (~pyarts3.arts.Agenda, optional) – Gets the next past point along a propagation path. Defaults to
self.ray_point_back_propagation_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]polarization (~pyarts3.arts.Propmat, optional) – Delta of the dispersion in polarizized form. The dot-product of this and the propagation matrix is added to the internal
single_dispersionvariable. Defaults to0 0 0 0 0 0 0[IN]max_tau (~pyarts3.arts.Numeric, optional) – The maximum optical thickness per step, min of local
PropmatA divided bymax_tauandmax_stepsizeis passed toray_point_back_propagation_agendaExecute(). Note that this is an approximation that will fail for highly non-linear absorption profiles. As implemented, it takes too long steps if going from low to high absorption, and too short steps when going from high to low absorption. See it as an approximation. Defaults to0.01[IN]cutoff_tau (~pyarts3.arts.Numeric, optional) – Cutoff optical thickness for terminating the integration, computed as total
PropmatA times distance. If exceeded, the atmosphere is considered opaque and the temperature at that coordinate is used for the background radiation. If not exceeded, the actual background is considered. Note that errors will be large if exp(-cutoff_tau) is not small. Defaults to14[IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]N (~pyarts3.arts.Index, optional) – Number of points to reserve in the ray path. Defaults to
1[IN]
- single_radFromVector(self, single_rad: Stokvec = self.single_rad, single_rad_jac: StokvecVector = self.single_rad_jac, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, index: Index = 0) None
Composition method to extract a single spectral radiance from a vector.
Author: Richard Larsson
- Parameters:
single_rad (~pyarts3.arts.Stokvec, optional) – Single value version of
spectral_rad. Defaults toself.single_rad. [OUT]single_rad_jac (~pyarts3.arts.StokvecVector, optional) – Single value version of
spectral_rad_jac. Defaults toself.single_rad_jac. [OUT]spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [IN]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [IN]index (~pyarts3.arts.Index, optional) – Index into the first dimension of the spectral radiance. Defaults to
0[IN]
- single_rad_space_agendaExecute(self, single_rad: Stokvec = self.single_rad, single_rad_jac: StokvecVector = self.single_rad_jac, freq: Numeric = self.freq, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, single_rad_space_agenda: Agenda = self.single_rad_space_agenda) CxxWorkspace
Executes
single_rad_space_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
single_rad (~pyarts3.arts.Stokvec, optional) – Single value version of
spectral_rad. Defaults toself.single_rad. [OUT]single_rad_jac (~pyarts3.arts.StokvecVector, optional) – Single value version of
spectral_rad_jac. Defaults toself.single_rad_jac. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]single_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space for a single frequency. Defaults to
self.single_rad_space_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- single_rad_space_agendaExecuteOperator(self, single_rad: Stokvec = self.single_rad, single_rad_jac: StokvecVector = self.single_rad_jac, freq: Numeric = self.freq, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, single_rad_space_agenda_operator: single_rad_space_agendaOperator) None
Executes an operator emulating
single_rad_space_agenda, see it, and alsosingle_rad_space_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
single_rad (~pyarts3.arts.Stokvec, optional) – Single value version of
spectral_rad. Defaults toself.single_rad. [OUT]single_rad_jac (~pyarts3.arts.StokvecVector, optional) – Single value version of
spectral_rad_jac. Defaults toself.single_rad_jac. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]single_rad_space_agenda_operator (single_rad_space_agendaOperator) – Operator for
single_rad_space_agenda. [IN]
- single_rad_space_agendaSet(self, single_rad_space_agenda: Agenda = self.single_rad_space_agenda, option: String = WrapGrid) None
Set
single_rad_space_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
single_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space for a single frequency. Defaults to
self.single_rad_space_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"WrapGrid"[IN]
Valid options
These are the valid options for the
single_rad_space_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.single_rad_space_agendaSet(option="WrapGrid")Shares the global
spectral_rad_space_agendaindex = 0
- single_rad_space_agendaSetOperator(self, single_rad_space_agenda: Agenda = self.single_rad_space_agenda, f: single_rad_space_agendaOperator) None
Set
single_rad_space_agendato exclusively use provided external operator. Seesingle_rad_space_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
single_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space for a single frequency. Defaults to
self.single_rad_space_agenda. [OUT]f (single_rad_space_agendaOperator) – Operator for
single_rad_space_agenda. [IN]
- single_rad_surface_agendaExecute(self, single_rad: Stokvec = self.single_rad, single_rad_jac: StokvecVector = self.single_rad_jac, freq: Numeric = self.freq, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, single_rad_surface_agenda: Agenda = self.single_rad_surface_agenda) CxxWorkspace
Executes
single_rad_surface_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
single_rad (~pyarts3.arts.Stokvec, optional) – Single value version of
spectral_rad. Defaults toself.single_rad. [OUT]single_rad_jac (~pyarts3.arts.StokvecVector, optional) – Single value version of
spectral_rad_jac. Defaults toself.single_rad_jac. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]single_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of the surface for a single frequency. Defaults to
self.single_rad_surface_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- single_rad_surface_agendaExecuteOperator(self, single_rad: Stokvec = self.single_rad, single_rad_jac: StokvecVector = self.single_rad_jac, freq: Numeric = self.freq, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, single_rad_surface_agenda_operator: single_rad_surface_agendaOperator) None
Executes an operator emulating
single_rad_surface_agenda, see it, and alsosingle_rad_surface_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
single_rad (~pyarts3.arts.Stokvec, optional) – Single value version of
spectral_rad. Defaults toself.single_rad. [OUT]single_rad_jac (~pyarts3.arts.StokvecVector, optional) – Single value version of
spectral_rad_jac. Defaults toself.single_rad_jac. [OUT]freq (~pyarts3.arts.Numeric, optional) – A single frequency. Unit: Hz. Defaults to
self.freq. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]single_rad_surface_agenda_operator (single_rad_surface_agendaOperator) – Operator for
single_rad_surface_agenda. [IN]
- single_rad_surface_agendaSet(self, single_rad_surface_agenda: Agenda = self.single_rad_surface_agenda, option: String = WrapGrid) None
Set
single_rad_surface_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
single_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of the surface for a single frequency. Defaults to
self.single_rad_surface_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"WrapGrid"[IN]
Valid options
These are the valid options for the
single_rad_surface_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.single_rad_surface_agendaSet(option="WrapGrid")Shares the global
spectral_rad_surface_agendaindex = 0
- single_rad_surface_agendaSetOperator(self, single_rad_surface_agenda: Agenda = self.single_rad_surface_agenda, f: single_rad_surface_agendaOperator) None
Set
single_rad_surface_agendato exclusively use provided external operator. Seesingle_rad_surface_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
single_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of the surface for a single frequency. Defaults to
self.single_rad_surface_agenda. [OUT]f (single_rad_surface_agendaOperator) – Operator for
single_rad_surface_agenda. [IN]
- spectral_flux_profileFromPathField(self, spectral_flux_profile: Matrix = self.spectral_flux_profile, ray_path_field: ArrayOfArrayOfPropagationPathPoint = self.ray_path_field, atm_field: AtmField = self.atm_field, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, freq_grid: AscendingGrid = self.freq_grid, alt_grid: AscendingGrid = self.alt_grid, rte_option: TransmittanceOption = self.rte_option) None
Computes the spectral flux from a field of paths.
Author: Richard Larsson
- Parameters:
spectral_flux_profile (~pyarts3.arts.Matrix, optional) – An altitude profile of spectral flux. Defaults to
self.spectral_flux_profile. [OUT]ray_path_field (~pyarts3.arts.ArrayOfArrayOfPropagationPathPoint, optional) – A list of
ray_pathintended to build up a field of observations. Defaults toself.ray_path_field. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]
- spectral_flux_profileFromSpectralRadianceField(self, spectral_flux_profile: Matrix = self.spectral_flux_profile, spectral_rad_field: GriddedSpectralField6 = self.spectral_rad_field, pol: Stokvec = [1, 0, 0, 0]) None
Computes the spectral flux. The input field must be a profile.
Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_flux_profile (~pyarts3.arts.Matrix, optional) – An altitude profile of spectral flux. Defaults to
self.spectral_flux_profile. [OUT]spectral_rad_field (~pyarts3.arts.GriddedSpectralField6, optional) – The spectral radiance field. Defaults to
self.spectral_rad_field. [IN]pol (~pyarts3.arts.Stokvec, optional) – Polarization vector for the spectral flux profile. Defaults to
1 0 0 0[IN]
- spectral_flux_profilePseudo2D(self, spectral_flux_profile: Matrix = self.spectral_flux_profile, alt_grid: AscendingGrid = self.alt_grid, atm_profile: ArrayOfAtmPoint = self.atm_profile, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, surf_field: SurfaceField = self.surf_field, pol: Stokvec = [1, 0, 0, 0], dzen: Numeric = 1, consider_limb: Index = 1, azi: Numeric = 0) None
Computes the spectral flux profile using pseudo-2D geometry
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.zen_gridProfilePseudo2D() 6 ws.spectral_rad_fieldProfilePseudo2D() 7 ws.spectral_flux_profileFromSpectralRadianceField()
Author: Richard Larsson
- Parameters:
spectral_flux_profile (~pyarts3.arts.Matrix, optional) – An altitude profile of spectral flux. Defaults to
self.spectral_flux_profile. [OUT]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]pol (~pyarts3.arts.Stokvec, optional) – Polarization vector for the spectral flux profile. Defaults to
1 0 0 0[IN]dzen (~pyarts3.arts.Numeric, optional) – The zenith grid max step size. Defaults to
1[IN]consider_limb (~pyarts3.arts.Index, optional) – Whether or not special care is given to the limb. Defaults to
1[IN]azi (~pyarts3.arts.Numeric, optional) – The azimuth. Defaults to
0[IN]
- spectral_propmatAddCIA(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, select_species: SpeciesEnum = self.select_species, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, abs_cia_data: CIARecords = self.abs_cia_data, T_extrapolfac: Numeric = 0.5, ignore_errors: Index = 0) None
Add absorption coefficients for HITRAN collision induced absorption (CIA).
This interpolates the cross sections from
abs_cia_data. If too few temperature grid-points are available, its polynomial order of interpolation decreases to the maximum allowed. Otherwise, both frequency and temperature are interpolated using third order polynomials.Given that the interpolation is \(\vec{x}_{ij} = f\left(T, \vec{f}\right)\), where the
atm_pointtemperature is \(T\) and \(f\) is thefreq_grid, \(i\) is an index into theabs_cia_dataand \(j\) is an index into the underlyingCIARecorddata structure, the absorption coefficient from CIA is given by\[vec{\alpha}_\mathbf{CIA} = \sum_i n_{i,0} n_{i,1} \sum_j vec{x}_{ij}\]where \(n_{i,0}\) and \(n_{i,1}\) are number densities of the two species involved in the CIA.
The input
T_extrapolfacsets a limit on the interpolation along the temperature grid of the data. If the temperature grid is \([T_0, T_1, \cdots, T_{n-1}, T_n]\), then this method throws an error if\[T < T_0 - \Delta T_e \left(T_1 - T_0\right)\]or
\[T > T_n + \Delta T_e \left(T_n - T_{n-1}\right)\]where \(\Delta T_e\) is the extrapolation factor given by
T_extrapolfac. If this happens to you and you believe you can use the computations anyways, setT_extrapolfacto a very large or infinite value.The frequency grid interpolation is limited to within the range of the available data. Any point in
freq_gridoutside this range will simply be ignored. The frequency interpolation can thus not fail.Note
ignore_errorscan be set to 1 to suppress runtime errors, but any error will result in NaN values in the output. This is useful if you want to debug your results, but not if you want to use them.Author: Stefan Buehler, Oliver Lemke
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]abs_cia_data (~pyarts3.arts.CIARecords, optional) – HITRAN Collision-Induced Absorption (CIA) Data. Defaults to
self.abs_cia_data. [IN]T_extrapolfac (~pyarts3.arts.Numeric, optional) – Temperature extrapolation factor (relative to grid spacing). \(\Delta T_e\) in text above. Defaults to
0.5[IN]ignore_errors (~pyarts3.arts.Index, optional) – Set to 1 to suppress runtime errors (and return NAN values instead). Defaults to
0[IN]
- spectral_propmatAddFaraday(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, freq_grid: AscendingGrid = self.freq_grid, select_species: SpeciesEnum = self.select_species, jac_targets: JacobianTargets = self.jac_targets, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point) None
Calculates absorption matrix describing Faraday rotation.
Faraday rotation is a change of polarization state of an electromagnetic wave propagating through charged matter by interaction with a magnetic field. Hence, this method requires that the magnetic field is non-zero and that the electron density is held by
atm_point(SpeciesEnum:free_electrons).Faraday rotation affects Stokes parameters 2 and 3 (but not intensity!).
Like all
spectral_propmat-modifying methods, the method is additive, i.e., does not overwrite the propagation matrixspectral_propmat, but adds further contributions.Author: Patrick Eriksson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]
- spectral_propmatAddLines(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_nlte_srcvec: StokvecVector = self.spectral_nlte_srcvec, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_nlte_srcvec_jac: StokvecMatrix = self.spectral_nlte_srcvec_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, abs_bands: AbsorptionBands = self.abs_bands, abs_ecs_data: LinemixingEcsData = self.abs_ecs_data, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point, no_negative_absorption: Index = 1) None
Add line-by-line absorption to the propagation matrix.
See Line-by-line Absorption for details.
Author: Richard Larsson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_nlte_srcvec (~pyarts3.arts.StokvecVector, optional) – The part of the source vector that is due to non-LTE. Defaults to
self.spectral_nlte_srcvec. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]spectral_nlte_srcvec_jac (~pyarts3.arts.StokvecMatrix, optional) – Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets. Defaults toself.spectral_nlte_srcvec_jac. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]abs_ecs_data (~pyarts3.arts.LinemixingEcsData, optional) – Error-corrected sudden data. Defaults to
self.abs_ecs_data. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]no_negative_absorption (~pyarts3.arts.Index, optional) – Turn off to allow individual absorbers to have negative absorption. Defaults to
1[IN]
- spectral_propmatAddLookup(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, abs_lookup_data: AbsorptionLookupTables = self.abs_lookup_data, atm_point: AtmPoint = self.atm_point, no_negative_absorption: Index = 1, p_interp_order: Index = 7, t_interp_order: Index = 7, water_interp_order: Index = 7, f_interp_order: Index = 7, extpolfac: Numeric = 0.5) None
Add line-by-line absorption to the propagation matrix.
See Lookup-table Absorption for details.
Author: Richard Larsson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]abs_lookup_data (~pyarts3.arts.AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. Defaults to
self.abs_lookup_data. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]no_negative_absorption (~pyarts3.arts.Index, optional) – Turn off to allow individual absorbers to have negative absorption. Defaults to
1[IN]p_interp_order (~pyarts3.arts.Index, optional) – Interpolation order for pressure. Defaults to
7[IN]t_interp_order (~pyarts3.arts.Index, optional) – Interpolation order for temperature. Defaults to
7[IN]water_interp_order (~pyarts3.arts.Index, optional) – Interpolation order for water vapor. Defaults to
7[IN]f_interp_order (~pyarts3.arts.Index, optional) – Interpolation order for frequency. Defaults to
7[IN]extpolfac (~pyarts3.arts.Numeric, optional) – Extrapolation factor. Defaults to
0.5[IN]
- spectral_propmatAddPredefined(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, abs_predef_data: PredefinedModelData = self.abs_predef_data, select_species: SpeciesEnum = self.select_species, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point) None
Adds all of the predefined models in
abs_speciesto the spectral_propmatOnly supports temperature and wind speed derivatives
Available models
Model name
Description and limitations
Reference(s)
H2O-ForeignContCKDMT320Foreign continua.
Use water cutoff of 25 cm-1 andH2O-SelfContCKDMT320.[2]
H2O-ForeignContCKDMT350MT CKD 3.5 foreign continua.
Use water cutoff of 25 cm-1 andH2O-SelfContCKDMT350.[2]
H2O-ForeignContCKDMT400MT CKD 4 foreign continua.
Use water cutoff of 25 cm-1 andH2O-SelfContCKDMT400.
Requires an external data source.H2O-ForeignContCKDMT430MT CKD 4.3 foreign continua.
Use water cutoff of 25 cm-1 andH2O-SelfContCKDMT430.
Requires an external data source.H2O-ForeignContStandardTypeWater microwave continua for foreign species.
Rosenkranz [35]
H2O-MPM89Microwave water absorption model.
Liebe [17]
H2O-PWR2021Microwave water absorption model
developed by P.W. Rosenkranz.Rosenkranz [36].
H2O-PWR2022Microwave water absorption model
developed by P.W. Rosenkranz.Rosenkranz [36].
H2O-PWR98Microwave water absorption model.
Rosenkranz [35]
H2O-SelfContCKDMT320Self continua.
Use water cutoff of 25 cm-1 andH2O-ForeignContCKDMT320.[2]
H2O-SelfContCKDMT350MT CKD 3.5 self continua.
Use water cutoff of 25 cm-1 andH2O-ForeignContCKDMT350.[2]
H2O-SelfContCKDMT400MT CKD 4 self continua.
Use water cutoff of 25 cm-1 andH2O-ForeignContCKDMT400.
Requires an external data source.H2O-SelfContCKDMT430MT CKD 4.3 self continua.
Use water cutoff of 25 cm-1 andH2O-ForeignContCKDMT430.
Requires an external data source.H2O-SelfContStandardTypeWater microwave continua for self.
Rosenkranz [35]
CO2-CKDMT252MT CKD absorption for CO2 version 2.52.
[2]
O2-CIAfunCKDMT100CIA for oxygen from MT CKD.
O2-MPM202060 GHz and 118 GHz lines only.
Do not include the v 0 0 oxygen band manually.Makarov et al. [19]
O2-MPM89Oxygen microwave absorption model.
Liebe et al. [16]
O2-PWR2021Oxygen microwave absorption model
developed by P.W. Rosenkranz.Rosenkranz [35]
O2-PWR2022Oxygen microwave absorption model
developed by P.W. Rosenkranz.Rosenkranz [35]
O2-PWR98Oxygen microwave absorption model.
Rosenkranz [34] and Liebe et al. [18] and
M.J. Schwartz, Ph.D. thesis, M.I.T. (1997) and
ROTHMAN et al. [37].O2-SelfContStandardTypeMicrowave continua term.
O2-TRE05Oxygen microwave absorption model.
O2-v0v0CKDMT100CKD_MT 1.00 implementation of oxygen
collision-induced fundamental model.O2-v1v0CKDMT100MT CKD.
O2-visCKDMT252MT CKD.
N2-CIAfunCKDMT252MT CKD.
N2-CIArotCKDMT252MT CKD.
N2-SelfContMPM93Microwave nitrogen absorption continua
from MPM93 model.Liebe et al. [16]
N2-SelfContPWR2021Microwave nitrogen absorption continua
developed by P.W. Rosenkranz.
This includes O2-N2 and O2-O2 CIA (only applicable to Earth).Rosenkranz [35]
N2-SelfContStandardTypeMicrowave nitrogen absorption continua.
Rosenkranz [34]
liquidcloud-ELL07Water droplet absorption.
Ellison [8]
Author: Richard Larsson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]abs_predef_data (~pyarts3.arts.PredefinedModelData, optional) – This contains predefined model data. Defaults to
self.abs_predef_data. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]
- spectral_propmatAddVoigtLTE(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_dispersion: Vector | None = None, spectral_dispersion_jac: Matrix | None = None, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, abs_bands: AbsorptionBands = self.abs_bands, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point, no_negative_absorption: Index = 1) None
Add line-by-line absorption to the propagation matrix.
See Line-by-line Absorption for details.
This is only for LTE lines in Voigt.
Author: Richard Larsson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]spectral_dispersion (Vector) – Dispersion vector - only the main component (i.e., -imag(A) of the
Propmat). Defaults to create and/or useself.spectral_dispersion. [OUT]spectral_dispersion_jac (Matrix) – Dispersion Jacobian matrix - only the main component (i.e., -imag(A) of the
Propmat). Defaults to create and/or useself.spectral_dispersion_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]no_negative_absorption (~pyarts3.arts.Index, optional) – Turn off to allow individual absorbers to have negative absorption. Defaults to
1[IN]
- spectral_propmatAddXsecFit(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, select_species: SpeciesEnum = self.select_species, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, abs_xfit_data: XsecRecords = self.abs_xfit_data, force_p: Numeric = -1, force_t: Numeric = -1) None
Calculate absorption cross sections per tag group for HITRAN xsec species.
This broadens the cross section data from
abs_xfit_dataand interpolates it onto the currentfreq_grid.Author: Oliver Lemke
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]abs_xfit_data (~pyarts3.arts.XsecRecords, optional) – Fitting model coefficients for cross section species. Defaults to
self.abs_xfit_data. [IN]force_p (~pyarts3.arts.Numeric, optional) – Positive value forces constant pressure [Pa]. Defaults to
-1[IN]force_t (~pyarts3.arts.Numeric, optional) – Positive value forces constant temperature [K]. Defaults to
-1[IN]
- spectral_propmatInit(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_nlte_srcvec: StokvecVector = self.spectral_nlte_srcvec, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_nlte_srcvec_jac: StokvecMatrix = self.spectral_nlte_srcvec_jac, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid) None
Initialize
spectral_propmat,spectral_nlte_srcvec, and their derivatives to zeroes.This method must be used inside
spectral_propmat_agendaand then be called first.Authors: Oliver Lemke, Richard Larsson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [OUT]spectral_nlte_srcvec (~pyarts3.arts.StokvecVector, optional) – The part of the source vector that is due to non-LTE. Defaults to
self.spectral_nlte_srcvec. [OUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [OUT]spectral_nlte_srcvec_jac (~pyarts3.arts.StokvecMatrix, optional) – Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets. Defaults toself.spectral_nlte_srcvec_jac. [OUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- spectral_propmatMemoryIntensiveAddVoigtLTE(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_dispersion: Vector | None = None, spectral_dispersion_jac: Matrix | None = None, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, abs_bands: AbsorptionBands = self.abs_bands, atm_point: AtmPoint = self.atm_point, ray_point: PropagationPathPoint = self.ray_point, no_negative_absorption: Index = 1) None
Add line-by-line absorption to the propagation matrix.
See Line-by-line Absorption for details.
This is only for LTE lines in Voigt.
Author: Richard Larsson
- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [INOUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]spectral_dispersion (Vector) – Dispersion vector - only the main component (i.e., -imag(A) of the
Propmat). Defaults to create and/or useself.spectral_dispersion. [OUT]spectral_dispersion_jac (Matrix) – Dispersion Jacobian matrix - only the main component (i.e., -imag(A) of the
Propmat). Defaults to create and/or useself.spectral_dispersion_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]abs_bands (~pyarts3.arts.AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. Defaults to
self.abs_bands. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]no_negative_absorption (~pyarts3.arts.Index, optional) – Turn off to allow individual absorbers to have negative absorption. Defaults to
1[IN]
- spectral_propmat_agendaAuto(self, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, use_abs_lookup_data: Index = 0, T_extrapolfac: Numeric = 0.5, ignore_errors: Index = 0, no_negative_absorption: Index = 1, force_p: Numeric = -1, force_t: Numeric = -1, p_interp_order: Index = 7, t_interp_order: Index = 7, water_interp_order: Index = 7, f_interp_order: Index = 7, extpolfac: Numeric = 0.5) None
Sets the
spectral_propmat_agendaautomatically from absorption data on the workspace, and species tag meta information.The following methods are considered for addition to the agenda:
If
use_abs_lookup_dataevaluates to true, lookup table calculations, viaspectral_propmatAddLookup(), are used instead ofspectral_propmatAddLines().Note that the signature of this method changes depending on the input methods. This is important because several generic input parameters are used in the methods. Please see the individual methods for more information.
Author: Richard Larsson
- Parameters:
spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [OUT]use_abs_lookup_data (~pyarts3.arts.Index, optional) – Whether or not to use the lookup table instead of pure line-by-line calculations. Defaults to
0[IN]T_extrapolfac (~pyarts3.arts.Numeric, optional) – See
spectral_propmatAddCIA(). Defaults to0.5[IN]ignore_errors (~pyarts3.arts.Index, optional) – See
spectral_propmatAddCIA(). Defaults to0[IN]no_negative_absorption (~pyarts3.arts.Index, optional) – See
spectral_propmatAddLines(),spectral_propmatAddLookup(). Defaults to1[IN]force_p (~pyarts3.arts.Numeric, optional) – See
spectral_propmatAddXsecFit(). Defaults to-1[IN]force_t (~pyarts3.arts.Numeric, optional) – See
spectral_propmatAddXsecFit(). Defaults to-1[IN]p_interp_order (~pyarts3.arts.Index, optional) – See
spectral_propmatAddLookup(). Defaults to7[IN]t_interp_order (~pyarts3.arts.Index, optional) – See
spectral_propmatAddLookup(). Defaults to7[IN]water_interp_order (~pyarts3.arts.Index, optional) – See
spectral_propmatAddLookup(). Defaults to7[IN]f_interp_order (~pyarts3.arts.Index, optional) – See
spectral_propmatAddLookup(). Defaults to7[IN]extpolfac (~pyarts3.arts.Numeric, optional) – See
spectral_propmatAddLookup(). Defaults to0.5[IN]
- spectral_propmat_agendaExecute(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_nlte_srcvec: StokvecVector = self.spectral_nlte_srcvec, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_nlte_srcvec_jac: StokvecMatrix = self.spectral_nlte_srcvec_jac, freq_grid: AscendingGrid = self.freq_grid, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, ray_point: PropagationPathPoint = self.ray_point, atm_point: AtmPoint = self.atm_point, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda) CxxWorkspace
Executes
spectral_propmat_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [OUT]spectral_nlte_srcvec (~pyarts3.arts.StokvecVector, optional) – The part of the source vector that is due to non-LTE. Defaults to
self.spectral_nlte_srcvec. [OUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [OUT]spectral_nlte_srcvec_jac (~pyarts3.arts.StokvecMatrix, optional) – Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets. Defaults toself.spectral_nlte_srcvec_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_propmat_agendaExecuteOperator(self, spectral_propmat: PropmatVector = self.spectral_propmat, spectral_nlte_srcvec: StokvecVector = self.spectral_nlte_srcvec, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_nlte_srcvec_jac: StokvecMatrix = self.spectral_nlte_srcvec_jac, freq_grid: AscendingGrid = self.freq_grid, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac, jac_targets: JacobianTargets = self.jac_targets, select_species: SpeciesEnum = self.select_species, ray_point: PropagationPathPoint = self.ray_point, atm_point: AtmPoint = self.atm_point, spectral_propmat_agenda_operator: spectral_propmat_agendaOperator) None
Executes an operator emulating
spectral_propmat_agenda, see it, and alsospectral_propmat_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat (~pyarts3.arts.PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. Defaults to
self.spectral_propmat. [OUT]spectral_nlte_srcvec (~pyarts3.arts.StokvecVector, optional) – The part of the source vector that is due to non-LTE. Defaults to
self.spectral_nlte_srcvec. [OUT]spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [OUT]spectral_nlte_srcvec_jac (~pyarts3.arts.StokvecMatrix, optional) – Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets. Defaults toself.spectral_nlte_srcvec_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]select_species (~pyarts3.arts.SpeciesEnum, optional) – Species selection. Defaults to
self.select_species. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]spectral_propmat_agenda_operator (spectral_propmat_agendaOperator) – Operator for
spectral_propmat_agenda. [IN]
- spectral_propmat_agendaSet(self, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, option: String) None
Set
spectral_propmat_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [OUT]option (String) – Choice of generated agenda. [IN]
Valid options
These are the valid options for the
spectral_propmat_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_propmat_agendaSet(option="Empty")Ignore(), using: input =freq_wind_shift_jacIgnore(), using: input =select_species
- spectral_propmat_agendaSetOperator(self, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, f: spectral_propmat_agendaOperator) None
Set
spectral_propmat_agendato exclusively use provided external operator. Seespectral_propmat_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [OUT]f (spectral_propmat_agendaOperator) – Operator for
spectral_propmat_agenda. [IN]
- spectral_propmat_and_atm_path_agendaExecute(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, atm_path: ArrayOfAtmPoint = self.atm_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda) CxxWorkspace
Executes
spectral_propmat_and_atm_path_agenda, see it for more detailsAuthor:
Automatically GeneratedUsed by wrapper methods
- Parameters:
spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [OUT]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [OUT]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [OUT]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [OUT]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [OUT]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [OUT]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_propmat_and_atm_path_agendaExecuteOperator(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, atm_path: ArrayOfAtmPoint = self.atm_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, spectral_propmat_and_atm_path_agenda_operator: spectral_propmat_and_atm_path_agendaOperator) None
Executes an operator emulating
spectral_propmat_and_atm_path_agenda, see it, and alsospectral_propmat_and_atm_path_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [OUT]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [OUT]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [OUT]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [OUT]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [OUT]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [OUT]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]spectral_propmat_and_atm_path_agenda_operator (spectral_propmat_and_atm_path_agendaOperator) – Operator for
spectral_propmat_and_atm_path_agenda. [IN]
- spectral_propmat_and_atm_path_agendaSet(self, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, option: String = Default) None
Set
spectral_propmat_and_atm_path_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"Default"[IN]
Valid options
These are the valid options for the
spectral_propmat_and_atm_path_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_propmat_and_atm_path_agendaSet(option="Default")Shares the global
spectral_propmat_agendaIgnore(), using: input =surf_field
spectral_propmat_and_atm_path_agendaSet(option="AdaptiveHalfPath")Shares the global
max_stepsizeShares the global
spectral_propmat_agendamax_tau = 0.1
cutoff_tau = 3
spectral_propmat_and_atm_path_agendaSet(option="Profile2Path")Shares the global
alt_gridShares the global
atm_profileShares the global
spectral_nlte_srcvec_jac_profileShares the global
spectral_nlte_srcvec_profileShares the global
spectral_propmat_jac_profileShares the global
spectral_propmat_profileIgnore(), using: input =jac_targetsIgnore(), using: input =surf_field
- spectral_propmat_and_atm_path_agendaSetAdaptive(self, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, max_tau: Numeric = 0.1, cutoff_tau: Numeric = 3) None
Sets the
spectral_propmat_and_atm_path_agendato adaptive mode with the provided parameters.Author: Richard Larsson
- Parameters:
spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [OUT]max_tau (~pyarts3.arts.Numeric, optional) – Maximum allowed optical thickness per step. Defaults to
0.1[IN]cutoff_tau (~pyarts3.arts.Numeric, optional) – Cutoff optical thickness for stopping the adaptive stepping. Defaults to
3[IN]
- spectral_propmat_and_atm_path_agendaSetOperator(self, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, f: spectral_propmat_and_atm_path_agendaOperator) None
Set
spectral_propmat_and_atm_path_agendato exclusively use provided external operator. Seespectral_propmat_and_atm_path_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [OUT]f (spectral_propmat_and_atm_path_agendaOperator) – Operator for
spectral_propmat_and_atm_path_agenda. [IN]
- spectral_propmat_jacWindFix(self, spectral_propmat_jac: PropmatMatrix = self.spectral_propmat_jac, spectral_nlte_srcvec_jac: StokvecMatrix = self.spectral_nlte_srcvec_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, freq_wind_shift_jac: Vector3 = self.freq_wind_shift_jac) None
Fix for the wind field derivative.
The
spectral_propmat_agendawill set the wind derivatives to those of the frequency derivative if this method is not used. This will cause the wind field to be treated as a frequency derivative, meaning nooemCalc()or other functionality that requires the Jacobian matrix to be calculated will work.Author: Richard Larsson
- Parameters:
spectral_propmat_jac (~pyarts3.arts.PropmatMatrix, optional) – Partial derivative of the
spectral_propmatwith regards tojac_targets. Defaults toself.spectral_propmat_jac. [INOUT]spectral_nlte_srcvec_jac (~pyarts3.arts.StokvecMatrix, optional) – Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets. Defaults toself.spectral_nlte_srcvec_jac. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_wind_shift_jac (~pyarts3.arts.Vector3, optional) – The frequency wind shift Jacobian. Defaults to
self.freq_wind_shift_jac. [IN]
- spectral_propmat_pathAddAdaptiveHalfPath(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize, max_tau: Numeric = 0.1, cutoff_tau: Numeric = 3) None
Same as
spectral_propmat_pathFromPath()but with adaptive path.The path is filled with extra points if a single frequency point has an optical thickness larger than
max_tauin a single step. The step size is halved until the optical thickness is below the limit, and additional points are added to the path parameters.As a bailout, the step size is not allowed to be smaller than
max_stepsize, albeit at least 3 points are added if any point is added.Note that the input
Author: Richard Larsson
- Parameters:
spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [INOUT]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [INOUT]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [INOUT]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [INOUT]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [INOUT]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [INOUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [INOUT]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]max_tau (~pyarts3.arts.Numeric, optional) – Maximum allowed optical thickness per step. Defaults to
0.1[IN]cutoff_tau (~pyarts3.arts.Numeric, optional) – Cutoff optical thickness for stopping the adaptive stepping. Defaults to
3[IN]
- spectral_propmat_pathAddScattering(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_propmat_scat_path: ArrayOfPropmatVector = self.spectral_propmat_scat_path) None
Adds the scattering part of the propagation matrix to the rest along the path.
The calculations are in parallel if the program is not in parallel already.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [INOUT]spectral_propmat_scat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path for scattering. Defaults to
self.spectral_propmat_scat_path. [IN]
- spectral_propmat_pathFromPath(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, jac_targets: JacobianTargets = self.jac_targets, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path) None
Gets the propagation matrix and non-LTE source term along the path.
The calculations are in parallel if the program is not in parallel already.
Also outputs the
freq_grid_pathas a side effect (of wind).Author: Richard Larsson
- Parameters:
spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [OUT]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [OUT]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [OUT]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [OUT]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]
- spectral_propmat_path_species_splitFromPath(self, spectral_propmat_path_species_split: ArrayOfArrayOfPropmatVector | None = None, spectral_nlte_srcvec_path_species_split: ArrayOfArrayOfStokvecVector | None = None, spectral_propmat_jac_path_species_split: ArrayOfArrayOfPropmatMatrix | None = None, spectral_nlte_srcvec_jac_path_species_split: ArrayOfArrayOfStokvecMatrix | None = None, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, jac_targets: JacobianTargets = self.jac_targets, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path, select_species_list: ArrayOfSpeciesEnum = self.select_species_list) None
As
spectral_propmat_pathFromPath()but the output is split between the species in theselect_species_list.The outer dimension of the output arrays are the size of the species selection list. The inner dimensions are as per
spectral_propmat_pathFromPath().Author: Richard Larsson
- Parameters:
spectral_propmat_path_species_split (ArrayOfArrayOfPropmatVector) – Propagation matrix for selected species. Defaults to create and/or use
self.spectral_propmat_path_species_split. [OUT]spectral_nlte_srcvec_path_species_split (ArrayOfArrayOfStokvecVector) – Non-LTE source vector for selected species. Defaults to create and/or use
self.spectral_nlte_srcvec_path_species_split. [OUT]spectral_propmat_jac_path_species_split (ArrayOfArrayOfPropmatMatrix) – Jacobian of propagation matrix for selected species. Defaults to create and/or use
self.spectral_propmat_jac_path_species_split. [OUT]spectral_nlte_srcvec_jac_path_species_split (ArrayOfArrayOfStokvecMatrix) – Jacobian of non-LTE source vector for selected species. Defaults to create and/or use
self.spectral_nlte_srcvec_jac_path_species_split. [OUT]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of
freq_wind_shift_jacfor a ray path. Defaults toself.freq_wind_shift_jac_path. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]select_species_list (~pyarts3.arts.ArrayOfSpeciesEnum, optional) – Species selection when multiple species must be chosen. Defaults to
self.select_species_list. [IN]
- spectral_propmat_scatAddSpectralScatteringSpeciesTRO(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, spectral_absvec_scat: StokvecVector = self.spectral_absvec_scat, spectral_phamat_spectral: SpecmatMatrix = self.spectral_phamat_spectral, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, scat_species: ArrayOfScatteringSpecies = self.scat_species) None
Adds
scat_speciesresults for totally random oriented spectral calculations tospectral_propmat_scatand co.Author: Richard Larsson
- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [INOUT]spectral_absvec_scat (~pyarts3.arts.StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_absvec_scat. [INOUT]spectral_phamat_spectral (~pyarts3.arts.SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_phamat_spectral. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]
- spectral_propmat_scatAirSimple(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point) None
Add simple air to
spectral_propmat_scat.Authors: Jon Petersen, Richard Larsson
- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]
- spectral_propmat_scatInit(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, freq_grid: AscendingGrid = self.freq_grid) None
Initialize
spectral_propmat_scatto zeroes.This method must be used inside
spectral_propmat_scat_agendaand then be called first.Author: Richard Larsson
- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- spectral_propmat_scatSpectralInit(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, spectral_absvec_scat: StokvecVector = self.spectral_absvec_scat, spectral_phamat_spectral: SpecmatMatrix = self.spectral_phamat_spectral, freq_grid: AscendingGrid = self.freq_grid, legendre_degree: Index = self.legendre_degree) None
Initialize
spectral_propmat_scatand co to zeroes.This method must be used inside
spectral_propmat_scat_spectral_agendaand then be called first.Author: Richard Larsson
- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [OUT]spectral_absvec_scat (~pyarts3.arts.StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_absvec_scat. [OUT]spectral_phamat_spectral (~pyarts3.arts.SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_phamat_spectral. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [IN]
- spectral_propmat_scat_agendaExecute(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, spectral_propmat_scat_agenda: Agenda = self.spectral_propmat_scat_agenda) CxxWorkspace
Executes
spectral_propmat_scat_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]spectral_propmat_scat_agenda (~pyarts3.arts.Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. Defaults to
self.spectral_propmat_scat_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_propmat_scat_agendaExecuteOperator(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, spectral_propmat_scat_agenda_operator: spectral_propmat_scat_agendaOperator) None
Executes an operator emulating
spectral_propmat_scat_agenda, see it, and alsospectral_propmat_scat_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]spectral_propmat_scat_agenda_operator (spectral_propmat_scat_agendaOperator) – Operator for
spectral_propmat_scat_agenda. [IN]
- spectral_propmat_scat_agendaSet(self, spectral_propmat_scat_agenda: Agenda = self.spectral_propmat_scat_agenda, option: String = AirSimple) None
Set
spectral_propmat_scat_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_propmat_scat_agenda (~pyarts3.arts.Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. Defaults to
self.spectral_propmat_scat_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"AirSimple"[IN]
Valid options
These are the valid options for the
spectral_propmat_scat_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_propmat_scat_agendaSet(option="AirSimple")
- spectral_propmat_scat_agendaSetOperator(self, spectral_propmat_scat_agenda: Agenda = self.spectral_propmat_scat_agenda, f: spectral_propmat_scat_agendaOperator) None
Set
spectral_propmat_scat_agendato exclusively use provided external operator. Seespectral_propmat_scat_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_propmat_scat_agenda (~pyarts3.arts.Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. Defaults to
self.spectral_propmat_scat_agenda. [OUT]f (spectral_propmat_scat_agendaOperator) – Operator for
spectral_propmat_scat_agenda. [IN]
- spectral_propmat_scat_pathFromPath(self, spectral_propmat_scat_path: ArrayOfPropmatVector = self.spectral_propmat_scat_path, spectral_propmat_scat_agenda: Agenda = self.spectral_propmat_scat_agenda, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, atm_path: ArrayOfAtmPoint = self.atm_path) None
Gets the propagation matrix for scattering along the path.
The calculations are in parallel if the program is not in parallel already.
Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_propmat_scat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path for scattering. Defaults to
self.spectral_propmat_scat_path. [OUT]spectral_propmat_scat_agenda (~pyarts3.arts.Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. Defaults to
self.spectral_propmat_scat_agenda. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]
- spectral_propmat_scat_pathFromSpectralAgenda(self, spectral_propmat_scat_path: ArrayOfPropmatVector = self.spectral_propmat_scat_path, spectral_absvec_scat_path: ArrayOfStokvecVector = self.spectral_absvec_scat_path, spectral_phamat_spectral_path: ArrayOfSpecmatMatrix = self.spectral_phamat_spectral_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, atm_path: ArrayOfAtmPoint = self.atm_path, legendre_degree: Index = self.legendre_degree, spectral_propmat_scat_spectral_agenda: Agenda = self.spectral_propmat_scat_spectral_agenda) None
Compute
spectral_propmat_scat_pathand co for a path.Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_propmat_scat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path for scattering. Defaults to
self.spectral_propmat_scat_path. [OUT]spectral_absvec_scat_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – The absorption vector of totally random orientation particles along the propagation path using spectral representation. Defaults to
self.spectral_absvec_scat_path. [OUT]spectral_phamat_spectral_path (~pyarts3.arts.ArrayOfSpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation. Defaults to
self.spectral_phamat_spectral_path. [OUT]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [IN]spectral_propmat_scat_spectral_agenda (~pyarts3.arts.Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. Defaults to
self.spectral_propmat_scat_spectral_agenda. [IN]
- spectral_propmat_scat_spectral_agendaExecute(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, spectral_absvec_scat: StokvecVector = self.spectral_absvec_scat, spectral_phamat_spectral: SpecmatMatrix = self.spectral_phamat_spectral, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, legendre_degree: Index = self.legendre_degree, spectral_propmat_scat_spectral_agenda: Agenda = self.spectral_propmat_scat_spectral_agenda) CxxWorkspace
Executes
spectral_propmat_scat_spectral_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [OUT]spectral_absvec_scat (~pyarts3.arts.StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_absvec_scat. [OUT]spectral_phamat_spectral (~pyarts3.arts.SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_phamat_spectral. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [IN]spectral_propmat_scat_spectral_agenda (~pyarts3.arts.Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. Defaults to
self.spectral_propmat_scat_spectral_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_propmat_scat_spectral_agendaExecuteOperator(self, spectral_propmat_scat: PropmatVector = self.spectral_propmat_scat, spectral_absvec_scat: StokvecVector = self.spectral_absvec_scat, spectral_phamat_spectral: SpecmatMatrix = self.spectral_phamat_spectral, freq_grid: AscendingGrid = self.freq_grid, atm_point: AtmPoint = self.atm_point, legendre_degree: Index = self.legendre_degree, spectral_propmat_scat_spectral_agenda_operator: spectral_propmat_scat_spectral_agendaOperator) None
Executes an operator emulating
spectral_propmat_scat_spectral_agenda, see it, and alsospectral_propmat_scat_spectral_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_propmat_scat (~pyarts3.arts.PropmatVector, optional) – This contains the propagation matrix for scattering for the current path point. Defaults to
self.spectral_propmat_scat. [OUT]spectral_absvec_scat (~pyarts3.arts.StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_absvec_scat. [OUT]spectral_phamat_spectral (~pyarts3.arts.SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. Defaults to
self.spectral_phamat_spectral. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_point (~pyarts3.arts.AtmPoint, optional) – An atmospheric point in ARTS. Defaults to
self.atm_point. [IN]legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [IN]spectral_propmat_scat_spectral_agenda_operator (spectral_propmat_scat_spectral_agendaOperator) – Operator for
spectral_propmat_scat_spectral_agenda. [IN]
- spectral_propmat_scat_spectral_agendaSet(self, spectral_propmat_scat_spectral_agenda: Agenda = self.spectral_propmat_scat_spectral_agenda, option: String = FromSpeciesTRO) None
Set
spectral_propmat_scat_spectral_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_propmat_scat_spectral_agenda (~pyarts3.arts.Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. Defaults to
self.spectral_propmat_scat_spectral_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"FromSpeciesTRO"[IN]
Valid options
These are the valid options for the
spectral_propmat_scat_spectral_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_propmat_scat_spectral_agendaSet(option="FromSpeciesTRO")
- spectral_propmat_scat_spectral_agendaSetOperator(self, spectral_propmat_scat_spectral_agenda: Agenda = self.spectral_propmat_scat_spectral_agenda, f: spectral_propmat_scat_spectral_agendaOperator) None
Set
spectral_propmat_scat_spectral_agendato exclusively use provided external operator. Seespectral_propmat_scat_spectral_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_propmat_scat_spectral_agenda (~pyarts3.arts.Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. Defaults to
self.spectral_propmat_scat_spectral_agenda. [OUT]f (spectral_propmat_scat_spectral_agendaOperator) – Operator for
spectral_propmat_scat_spectral_agenda. [IN]
- spectral_radApplyForwardUnit(self, spectral_rad: StokvecVector = self.spectral_rad, freq_grid: AscendingGrid = self.freq_grid, ray_point: PropagationPathPoint = self.ray_point, spectral_rad_transform_operator: SpectralRadianceTransformOperator = self.spectral_rad_transform_operator) None
Helper to call
spectral_radApplyUnit()when you do not havespectral_rad_jac.Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]spectral_rad_transform_operator (~pyarts3.arts.SpectralRadianceTransformOperator, optional) – The spectral radiance transform operator. Defaults to
self.spectral_rad_transform_operator. [IN]
- spectral_radApplyUnit(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, ray_point: PropagationPathPoint = self.ray_point, spectral_rad_transform_operator: SpectralRadianceTransformOperator = self.spectral_rad_transform_operator) None
Applies a unit to
spectral_rad, returning a new fieldSee
SpectralRadianceUnitTypefor valid use cases and limitations.This effectively wraps the local creation of a
SpectralRadianceTransformOperatorcall.Warning
This is a destructive method. Any use of it means that it is undefined behavior to use
spectral_radorspectral_rad_jacin future methods.Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [INOUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]spectral_rad_transform_operator (~pyarts3.arts.SpectralRadianceTransformOperator, optional) – The spectral radiance transform operator. Defaults to
self.spectral_rad_transform_operator. [IN]
- spectral_radApplyUnitFromSpectralRadiance(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, spectral_rad_transform_operator: SpectralRadianceTransformOperator = self.spectral_rad_transform_operator) None
Helper method for calling
spectral_radApplyUnit().It is common that
ray_pathis defined but notray_point. This method simply is a convenience wrapper for that use case.Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointForeground() 6 ws.spectral_radApplyUnit()
Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [INOUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [INOUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]spectral_rad_transform_operator (~pyarts3.arts.SpectralRadianceTransformOperator, optional) – The spectral radiance transform operator. Defaults to
self.spectral_rad_transform_operator. [IN]
- spectral_radClearskyBackgroundTransmission(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, rte_option: TransmittanceOption = self.rte_option, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, spectral_rad_bkg: StokvecVector = self.spectral_rad_bkg, spectral_rad_bkg_jac: StokvecMatrix = self.spectral_rad_bkg_jac, surf_field: SurfaceField = self.surf_field, hse_derivative: Index = 0) None
Computes clearsky transmission of spectral radiances
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointBackground() 6 ws.spectral_propmat_and_atm_path_agendaExecute() 7 ws.spectral_tramat_pathFromPath() 8 ws.spectral_radCumulativeTransmission() 9 ws.spectral_rad_jacFromBackground() 10 ws.spectral_rad_jacAddPathPropagation()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]spectral_rad_bkg (~pyarts3.arts.StokvecVector, optional) – Spectral radiance from the background. Defaults to
self.spectral_rad_bkg. [IN]spectral_rad_bkg_jac (~pyarts3.arts.StokvecMatrix, optional) – Spectral radiance derivative from the background. Defaults to
self.spectral_rad_bkg_jac. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_radClearskyEmission(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, rte_option: TransmittanceOption = self.rte_option, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field, hse_derivative: Index = 0) None
Computes clearsky emission of spectral radiances
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointBackground() 6 ws.spectral_rad_bkgAgendasAtEndOfPath() 7 ws.spectral_propmat_and_atm_path_agendaExecute() 8 ws.spectral_tramat_pathFromPath() 9 ws.spectral_rad_srcvec_pathFromPropmat() 10 ws.spectral_radStepByStepEmission() 11 ws.spectral_rad_jacFromBackground() 12 ws.spectral_rad_jacAddPathPropagation()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_radClearskyEmissionFrequencyDependentPropagation(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, spectral_ray_path: ArrayOfArrayOfPropagationPathPoint | None = None, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, single_rad_space_agenda: Agenda = self.single_rad_space_agenda, single_rad_surface_agenda: Agenda = self.single_rad_surface_agenda, single_propmat_agenda: Agenda = self.single_propmat_agenda, ray_point_back_propagation_agenda: Agenda = self.ray_point_back_propagation_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, max_stepsize: Numeric = self.max_stepsize, polarization: Propmat = [0, 0, 0, 0, 0, 0, 0], max_tau: Numeric = 0.01, cutoff_tau: Numeric = 14, hse_derivative: Index = 0, N: Index = 1) None
Wraps
single_radClearskyEmissionPropagation()for a vector of frequencies.Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]spectral_ray_path (ArrayOfArrayOfPropagationPathPoint) – The ray paths for each frequency. Defaults to create and/or use
self.spectral_ray_path. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]single_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space for a single frequency. Defaults to
self.single_rad_space_agenda. [IN]single_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of the surface for a single frequency. Defaults to
self.single_rad_surface_agenda. [IN]single_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives. Defaults to
self.single_propmat_agenda. [IN]ray_point_back_propagation_agenda (~pyarts3.arts.Agenda, optional) – Gets the next past point along a propagation path. Defaults to
self.ray_point_back_propagation_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to
self.max_stepsize. [IN]polarization (~pyarts3.arts.Propmat, optional) – Delta of the dispersion in polarizized form. The dot-product of this and the propagation matrix is added to the internal
single_dispersionvariable. Defaults to0 0 0 0 0 0 0[IN]max_tau (~pyarts3.arts.Numeric, optional) – The maximum optical thickness per step, min of local
PropmatA divided bymax_tauandmax_stepsizeis passed toray_point_back_propagation_agendaExecute(). Note that this is an approximation that will fail for highly non-linear absorption profiles. As implemented, it takes too long steps if going from low to high absorption, and too short steps when going from high to low absorption. See it as an approximation. Defaults to0.01[IN]cutoff_tau (~pyarts3.arts.Numeric, optional) – Cutoff optical thickness for terminating the integration, computed as total
PropmatA times distance. If exceeded, the atmosphere is considered opaque and the temperature at that coordinate is used for the background radiation. If not exceeded, the actual background is considered. Note that errors will be large if exp(-cutoff_tau) is not small. Defaults to14[IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]N (~pyarts3.arts.Index, optional) – Number of points to reserve in the ray path. Defaults to
1[IN]
- spectral_radClearskyEmissionParFreq(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field, hse_derivative: Index = 0) None
Computes clearsky emission of spectral radiances
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointBackground() 6 ws.spectral_rad_bkgAgendasAtEndOfPath() 7 ws.spectral_propmat_and_atm_path_agendaExecute() 8 ws.spectral_radSetToBackground() 9 ws.spectral_radSinglePathEmissionFrequencyLoop()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_radClearskyRayleighScattering(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint = self.ray_path_suns_path, rte_option: TransmittanceOption = self.rte_option, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, spectral_propmat_scat_agenda: Agenda = self.spectral_propmat_scat_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, suns: ArrayOfSun = self.suns, surf_field: SurfaceField = self.surf_field, hse_derivative: Index = 0, depolarization_factor: Numeric = 0) None
Computes clearsky emission of spectral radiances with solar Rayleigh scattering
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointBackground() 6 ws.spectral_rad_bkgAgendasAtEndOfPath() 7 ws.spectral_propmat_and_atm_path_agendaExecute() 8 ws.spectral_propmat_scat_pathFromPath() 9 ws.spectral_propmat_pathAddScattering() 10 ws.spectral_tramat_pathFromPath() 11 ws.spectral_rad_srcvec_pathFromPropmat() 12 ws.spectral_rad_scat_pathSunsFirstOrderRayleigh() 13 ws.spectral_rad_srcvec_pathAddScattering() 14 ws.spectral_radStepByStepEmission() 15 ws.spectral_rad_jacFromBackground() 16 ws.spectral_rad_jacAddPathPropagation()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_path_suns_path (~pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint, optional) – A list of paths to the suns from the ray path. Defaults to
self.ray_path_suns_path. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]spectral_propmat_scat_agenda (~pyarts3.arts.Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. Defaults to
self.spectral_propmat_scat_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]suns (~pyarts3.arts.ArrayOfSun, optional) – A list of
Sun. Defaults toself.suns. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]depolarization_factor (~pyarts3.arts.Numeric, optional) – The depolarization factor to use. Defaults to
0[IN]
- spectral_radClearskyScattering(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, legendre_degree: Index = self.legendre_degree, ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint = self.ray_path_suns_path, rte_option: TransmittanceOption = self.rte_option, scat_species: ArrayOfScatteringSpecies = self.scat_species, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, spectral_propmat_scat_spectral_agenda: Agenda = self.spectral_propmat_scat_spectral_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, suns: ArrayOfSun = self.suns, surf_field: SurfaceField = self.surf_field, hse_derivative: Index = 0) None
Computes clearsky spectral radiances with first-order solar scattering from scat_species
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointBackground() 6 ws.spectral_rad_bkgAgendasAtEndOfPath() 7 ws.spectral_propmat_and_atm_path_agendaExecute() 8 ws.spectral_propmat_scat_pathFromSpectralAgenda() 9 ws.spectral_propmat_pathAddScattering() 10 ws.spectral_tramat_pathFromPath() 11 ws.spectral_rad_srcvec_pathFromPropmat() 12 ws.spectral_rad_srcvec_pathCorrectScattering() 13 ws.spectral_rad_scat_pathSunsFirstOrder() 14 ws.spectral_rad_srcvec_pathAddScattering() 15 ws.spectral_radStepByStepEmission() 16 ws.spectral_rad_jacFromBackground() 17 ws.spectral_rad_jacAddPathPropagation()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]legendre_degree (~pyarts3.arts.Index, optional) – The degree of a Legendre polynomial. Defaults to
self.legendre_degree. [IN]ray_path_suns_path (~pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint, optional) – A list of paths to the suns from the ray path. Defaults to
self.ray_path_suns_path. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]spectral_propmat_scat_spectral_agenda (~pyarts3.arts.Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. Defaults to
self.spectral_propmat_scat_spectral_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]suns (~pyarts3.arts.ArrayOfSun, optional) – A list of
Sun. Defaults toself.suns. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_radClearskyTransmission(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_field: AtmField = self.atm_field, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, rte_option: TransmittanceOption = self.rte_option, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field, hse_derivative: Index = 0) None
Computes clearsky transmission of spectral radiances
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pointBackground() 6 ws.spectral_rad_bkgAgendasAtEndOfPath() 7 ws.spectral_propmat_and_atm_path_agendaExecute() 8 ws.spectral_tramat_pathFromPath() 9 ws.spectral_radCumulativeTransmission() 10 ws.spectral_rad_jacFromBackground() 11 ws.spectral_rad_jacAddPathPropagation()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [INOUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_radCumulativeTransmission(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac_path: StokvecTensor3 = self.spectral_rad_jac_path, spectral_tramat_path: TransmittanceMatrix = self.spectral_tramat_path, spectral_rad_bkg: StokvecVector = self.spectral_rad_bkg) None
Gets the spectral radiance from the path transmission.
Also get the Jacobian of the spectral radiance with regards to the path parameters.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac_path (~pyarts3.arts.StokvecTensor3, optional) – Spectral radiance derivative along the propagation path. Defaults to
self.spectral_rad_jac_path. [OUT]spectral_tramat_path (~pyarts3.arts.TransmittanceMatrix, optional) – Transmission matrices and derivatives along the propagation path. Defaults to
self.spectral_tramat_path. [IN]spectral_rad_bkg (~pyarts3.arts.StokvecVector, optional) – Spectral radiance from the background. Defaults to
self.spectral_rad_bkg. [IN]
- spectral_radDefaultTransmission(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets) None
Sets default
spectral_radandspectral_rad_jacfor transmission.The Jacobian variable is all 0s, the background is [1 0 0 0] everywhere
Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- spectral_radFromDisort(self, spectral_rad: StokvecVector = self.spectral_rad, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, ray_point: PropagationPathPoint = self.ray_point) None
Extract spectral radiance from the Disort field at the ray path point.
Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]
- spectral_radMonteCarlo(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, mc_seed: Index = 0, mc_min_iter: Index = 100, mc_max_iter: Index = 10000, mc_max_scatorder: Index = 20, mc_std_err: Numeric = 0, mc_max_time: Numeric = 0) None
Computes pencil-beam spectral radiance with passive Monte Carlo.
This is the observer-level interface used by
spectral_rad_observer_agendaand therefore bymeasurement_vecFromSensor(). Frequency, polarization, and antenna weighting are owned bymeasurement_sensor, so this method deliberately uses a pencil beam internally. One Monte Carlo calculation is performed for every frequency infreq_grid.Atmospheric, surface, and subsurface Jacobians use common-random-number forward perturbations in model-state space. Sensor frequency and geometry Jacobians are added by the predefined observer agenda. Spectroscopic targets are perturbed inside the propagation-matrix call using the returned propagation and NLTE source derivatives, without modifying global catalogue state.
Author: OpenAI Codex
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]mc_seed (~pyarts3.arts.Index, optional) – Base random seed; the frequency index is added to it. Defaults to
0[IN]mc_min_iter (~pyarts3.arts.Index, optional) – Minimum histories per frequency. Defaults to
100[IN]mc_max_iter (~pyarts3.arts.Index, optional) – Maximum histories per frequency. Defaults to
10000[IN]mc_max_scatorder (~pyarts3.arts.Index, optional) – Maximum scattering order. Defaults to
20[IN]mc_std_err (~pyarts3.arts.Numeric, optional) – Absolute standard-error threshold; zero disables it. Defaults to
0[IN]mc_max_time (~pyarts3.arts.Numeric, optional) – Wall-clock limit per frequency [s]; zero disables it. Defaults to
0[IN]
- spectral_radSetToBackground(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, spectral_rad_bkg: StokvecVector = self.spectral_rad_bkg, spectral_rad_bkg_jac: StokvecMatrix = self.spectral_rad_bkg_jac) None
Set the spectral radiance to the background values.
Note
This method is compositional and useful inside other agendas or meta-methods.
Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]spectral_rad_bkg (~pyarts3.arts.StokvecVector, optional) – Spectral radiance from the background. Defaults to
self.spectral_rad_bkg. [IN]spectral_rad_bkg_jac (~pyarts3.arts.StokvecMatrix, optional) – Spectral radiance derivative from the background. Defaults to
self.spectral_rad_bkg_jac. [IN]
- spectral_radSinglePathEmissionFrequencyLoop(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, jac_targets: JacobianTargets = self.jac_targets, ray_path: ArrayOfPropagationPathPoint = self.ray_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, atm_path: ArrayOfAtmPoint = self.atm_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, surf_field: SurfaceField = self.surf_field, atm_field: AtmField = self.atm_field, hse_derivative: Index = 0) None
Computes the spectral radiance by looping over frequencies for a single path.
Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [INOUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [INOUT]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [IN]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [IN]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_radStepByStepEmission(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac_path: StokvecTensor3 = self.spectral_rad_jac_path, spectral_tramat_path: TransmittanceMatrix = self.spectral_tramat_path, spectral_rad_srcvec_path: SourceVector = self.spectral_rad_srcvec_path, spectral_rad_bkg: StokvecVector = self.spectral_rad_bkg) None
Gets the spectral radiance from the path.
This uses a step-by-step solver to propagate background radiation along the path.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac_path (~pyarts3.arts.StokvecTensor3, optional) – Spectral radiance derivative along the propagation path. Defaults to
self.spectral_rad_jac_path. [OUT]spectral_tramat_path (~pyarts3.arts.TransmittanceMatrix, optional) – Transmission matrices and derivatives along the propagation path. Defaults to
self.spectral_tramat_path. [IN]spectral_rad_srcvec_path (~pyarts3.arts.SourceVector, optional) – Source vectors along the propagation path. Defaults to
self.spectral_rad_srcvec_path. [IN]spectral_rad_bkg (~pyarts3.arts.StokvecVector, optional) – Spectral radiance from the background. Defaults to
self.spectral_rad_bkg. [IN]
- spectral_radSubsurfaceDisortEmission(self, spectral_rad: StokvecVector = self.spectral_rad, disort_settings: DisortSettings = self.disort_settings, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_spectral_rad_field: DisortRadiance = self.disort_spectral_rad_field, disort_quadrature: ZenGriddedField1 = self.disort_quadrature, atm_field: AtmField = self.atm_field, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, disort_settings_downwelling_wrapper_agenda: Agenda = self.disort_settings_downwelling_wrapper_agenda, freq_grid: AscendingGrid = self.freq_grid, ray_point: PropagationPathPoint = self.ray_point, subsurf_field: SubsurfaceField = self.subsurf_field, surf_field: SurfaceField = self.surf_field, depth_profile: DescendingGrid, azi_grid: AziGrid = 0) None
Get the spectral radiance from subsurface emission simulated using Disort
Wrapper calling Methods (in order):
Equivalent (mostly) Python code:
1ws = pyarts.Workspace() 2 3# ... 4 5 ws.ray_pathFromPointAndDepth() 6 ws.disort_settings_downwelling_wrapper_agendaExecute() 7 ws.disort_spectral_rad_fieldCalc() 8 ws.spectral_radFromDisort()
Authors: Richard Larsson,
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]disort_spectral_rad_field (~pyarts3.arts.DisortRadiance, optional) – The spectral radiance field from Disort. Defaults to
self.disort_spectral_rad_field. [OUT]disort_quadrature (~pyarts3.arts.ZenGriddedField1, optional) – The quadrature angles for Disort with accompying weights. Defaults to
self.disort_quadrature. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]disort_settings_downwelling_wrapper_agenda (~pyarts3.arts.Agenda, optional) – An wrapper agenda for calling
disort_settings_agenda. Defaults toself.disort_settings_downwelling_wrapper_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]depth_profile (DescendingGrid) – List of depths. [IN]
azi_grid (~pyarts3.arts.AziGrid, optional) – The azimuthal angles. Defaults to
0[IN]
- spectral_radSubsurfaceDisortEmissionWithJacobian(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, disort_settings_agenda: Agenda = self.disort_settings_agenda, disort_settings_downwelling_wrapper_agenda: Agenda = self.disort_settings_downwelling_wrapper_agenda, depth_profile: DescendingGrid) None
Gets the spectral radiance from the path.
The Jacobian is computed by perturbations. Sensor and absorption data are not considered as part of the perturbations.
The method wraps calling
spectral_radSubsurfaceDisortEmission()by perturbingmodel_state_vecfor Jacobian calculations usingmodel_state_vecPerturbations().Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]disort_settings_agenda (~pyarts3.arts.Agenda, optional) – An agenda for setting up Disort. Defaults to
self.disort_settings_agenda. [IN]disort_settings_downwelling_wrapper_agenda (~pyarts3.arts.Agenda, optional) – An wrapper agenda for calling
disort_settings_agenda. Defaults toself.disort_settings_downwelling_wrapper_agenda. [IN]depth_profile (DescendingGrid) – List of depths. [IN]
- spectral_radSunOrCosmicBackground(self, spectral_rad: StokvecVector = self.spectral_rad, freq_grid: AscendingGrid = self.freq_grid, sun_path: ArrayOfPropagationPathPoint = self.sun_path, sun: Sun = self.sun, surf_field: SurfaceField = self.surf_field) None
Get the spectral radiance of a sun or of the cosmic background if the sun is not hit.
Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]sun_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A path to a sun if it is visible. Defaults to
self.sun_path. [IN]sun (~pyarts3.arts.Sun, optional) – A sun. Defaults to
self.sun. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- spectral_radSunsOrCosmicBackground(self, spectral_rad: StokvecVector = self.spectral_rad, freq_grid: AscendingGrid = self.freq_grid, ray_point: PropagationPathPoint = self.ray_point, suns: ArrayOfSun = self.suns, surf_field: SurfaceField = self.surf_field) None
Get the spectral radiance of a sun or of the cosmic background if no sun is hit.
Note
Only the first sun is used if multiple suns are defined, so it is advantageous to have sorted
sunsby distance before running this code. If you only have one sun, this is of course not an issue but you could consider usingspectral_radSunOrCosmicBackground()instead.Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]suns (~pyarts3.arts.ArrayOfSun, optional) – A list of
Sun. Defaults toself.suns. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]
- spectral_radSurfaceBlackbody(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point) None
Set surface spectral radiance from Planck function of the surface temperature.
\[\begin{split}\vec{I} = \left[ \begin{array}{c} \frac{2h\vec{\nu}^3}{c^2} \frac{1}{e^{\frac{h\vec{\nu}}{kT_s}} - 1} \\ 0 \\ 0 \\ 0 \end{array}\right],\end{split}\]where \(T_s\) is the surface temperature extracted at the input
ray_point. \(\nu\) is the frequency grid.Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]
- spectral_radSurfaceReflectance(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda, spectral_rad_closed_surface_agenda: Agenda = self.spectral_rad_closed_surface_agenda, spectral_surf_refl_agenda: Agenda = self.spectral_surf_refl_agenda) None
Set surface spectral radiance to use sub-surface emission and Fresnel reflectance.
The input path point must be close to the surface.
The
spectral_rad_closed_surface_agendashould produce the surface emission, though pure surface emission is fine.The surface field must contain the surface refractive index. The refractive index lives under the
SurfacePropertyTagkey “scalar refractive index”.Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [IN]spectral_rad_closed_surface_agenda (~pyarts3.arts.Agenda, optional) – A closed surface agenda. Defaults to
self.spectral_rad_closed_surface_agenda. [IN]spectral_surf_refl_agenda (~pyarts3.arts.Agenda, optional) – An agenda to compute the surface reflectance. Defaults to
self.spectral_surf_refl_agenda. [IN]
- spectral_radUniformCosmicBackground(self, spectral_rad: StokvecVector = self.spectral_rad, freq_grid: AscendingGrid = self.freq_grid) None
Background spectral radiance is from a uniform cosmic background temperature.
\[\begin{split}\vec{I} = \left[ \begin{array}{c} \frac{2h\vec{\nu}^3}{c^2} \frac{1}{e^{\frac{h\vec{\nu}}{kT_c}} - 1} \\ 0 \\ 0 \\ 0 \end{array}\right],\end{split}\]where \(T_c\) is the cosmic microwave background temperature. \(\nu\) is the frequency grid.
Author: Richard Larsson
- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]
- spectral_rad_bkgAgendasAtEndOfPath(self, spectral_rad_bkg: StokvecVector = self.spectral_rad_bkg, spectral_rad_bkg_jac: StokvecMatrix = self.spectral_rad_bkg_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda) None
Computes the background radiation.
This method checks the back of the ray path and calls
spectral_rad_space_agendaandspectral_rad_surface_agendaas needed.If the back of the path is still in the atmosphere, an error is raised. As is it if the background position is unknown.
Tip
To access subsurface emission, the
spectral_rad_surface_agendamust be able to handle subsurface emission. It will likely need the surface emission agenda as well, but that would be circular. Therefore, please consider usingspectral_rad_closed_surface_agendato compute the surface emission without invoking recursion.Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad_bkg (~pyarts3.arts.StokvecVector, optional) – Spectral radiance from the background. Defaults to
self.spectral_rad_bkg. [OUT]spectral_rad_bkg_jac (~pyarts3.arts.StokvecMatrix, optional) – Spectral radiance derivative from the background. Defaults to
self.spectral_rad_bkg_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]
- spectral_rad_closed_surface_agendaExecute(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_closed_surface_agenda: Agenda = self.spectral_rad_closed_surface_agenda) CxxWorkspace
Executes
spectral_rad_closed_surface_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_closed_surface_agenda (~pyarts3.arts.Agenda, optional) – A closed surface agenda. Defaults to
self.spectral_rad_closed_surface_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_rad_closed_surface_agendaExecuteOperator(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_closed_surface_agenda_operator: SpectralRadianceSurfaceAgendaOperator) None
Executes an operator emulating
spectral_rad_closed_surface_agenda, see it, and alsoSpectralRadianceSurfaceAgendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_closed_surface_agenda_operator (SpectralRadianceSurfaceAgendaOperator) – Operator for
spectral_rad_closed_surface_agenda. [IN]
- spectral_rad_closed_surface_agendaSet(self, spectral_rad_closed_surface_agenda: Agenda = self.spectral_rad_closed_surface_agenda, option: String = Blackbody) None
Set
spectral_rad_closed_surface_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_rad_closed_surface_agenda (~pyarts3.arts.Agenda, optional) – A closed surface agenda. Defaults to
self.spectral_rad_closed_surface_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"Blackbody"[IN]
Valid options
These are the valid options for the
spectral_rad_closed_surface_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_rad_closed_surface_agendaSet(option="Blackbody")Ignore(), using: input =subsurf_field
- spectral_rad_closed_surface_agendaSetOperator(self, spectral_rad_closed_surface_agenda: Agenda = self.spectral_rad_closed_surface_agenda, f: SpectralRadianceSurfaceAgendaOperator) None
Set
spectral_rad_closed_surface_agendato exclusively use provided external operator. SeeSpectralRadianceSurfaceAgendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_rad_closed_surface_agenda (~pyarts3.arts.Agenda, optional) – A closed surface agenda. Defaults to
self.spectral_rad_closed_surface_agenda. [OUT]f (SpectralRadianceSurfaceAgendaOperator) – Operator for
spectral_rad_closed_surface_agenda. [IN]
- spectral_rad_fieldFromOperatorPath(self, spectral_rad_field: GriddedSpectralField6 = self.spectral_rad_field, spectral_rad_operator: SpectralRadianceOperator = self.spectral_rad_operator, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, freq_grid: AscendingGrid = self.freq_grid, zen_grid: ZenGrid = self.zen_grid, azi_grid: AziGrid) None
Computes the spectral radiance field using
ray_path_observer_agenda.Each point is in computed individually, so there will be zenith x azimuth x altitude x latitude x longitude x frequency number of calculations. The positional arguments are taken from
spectral_rad_operator.If the code is not already in parallel operation mode when this method is called, the first 5 dimensions are computed in parallel.
Author: Richard Larsson
- Parameters:
spectral_rad_field (~pyarts3.arts.GriddedSpectralField6, optional) – The spectral radiance field. Defaults to
self.spectral_rad_field. [OUT]spectral_rad_operator (~pyarts3.arts.SpectralRadianceOperator, optional) – The spectral radiance operator. Defaults to
self.spectral_rad_operator. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]zen_grid (~pyarts3.arts.ZenGrid, optional) – A single zenith angle grid. Defaults to
self.zen_grid. [IN]azi_grid (AziGrid) – The azimuth grid. [IN]
- spectral_rad_fieldFromOperatorPlanarGeometric(self, spectral_rad_field: GriddedSpectralField6 = self.spectral_rad_field, spectral_rad_operator: SpectralRadianceOperator = self.spectral_rad_operator, freq_grid: AscendingGrid = self.freq_grid, zen_grid: ZenGrid = self.zen_grid, azi_grid: AziGrid) None
Computes the spectral radiance field assuming planar geometric paths
A planar geometric path is just defined by a 1D atmospheric profile. If the
spectral_rad_operatorcontains more than one latitude and/or longitude point, their altitude profiles are treated independently.Limitations:
The zenith grid is not allowed to contain the value 90 degrees.
Author: Richard Larsson
- Parameters:
spectral_rad_field (~pyarts3.arts.GriddedSpectralField6, optional) – The spectral radiance field. Defaults to
self.spectral_rad_field. [OUT]spectral_rad_operator (~pyarts3.arts.SpectralRadianceOperator, optional) – The spectral radiance operator. Defaults to
self.spectral_rad_operator. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]zen_grid (~pyarts3.arts.ZenGrid, optional) – A single zenith angle grid. Defaults to
self.zen_grid. [IN]azi_grid (AziGrid) – The azimuth grid. [IN]
- spectral_rad_fieldProfilePseudo2D(self, spectral_rad_field: GriddedSpectralField6 = self.spectral_rad_field, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, atm_profile: ArrayOfAtmPoint = self.atm_profile, surf_field: SurfaceField = self.surf_field, freq_grid: AscendingGrid = self.freq_grid, zen_grid: ZenGrid = self.zen_grid, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, azi: Numeric = 0) None
Computes the spectral radiance field assuming a profile and a pseudo-2D path.
A profile is defined as having space blackbody emission from the top and surface temperature blackbody emissision from the surface.
Limb paths are only considered when the zenith angle misses the next lower level using the same mechanism as in
zen_gridProfilePseudo2D().Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad_field (~pyarts3.arts.GriddedSpectralField6, optional) – The spectral radiance field. Defaults to
self.spectral_rad_field. [OUT]spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to
self.spectral_propmat_agenda. [IN]atm_profile (~pyarts3.arts.ArrayOfAtmPoint, optional) – A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface. Defaults toself.atm_profile. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]zen_grid (~pyarts3.arts.ZenGrid, optional) – A single zenith angle grid. Defaults to
self.zen_grid. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]azi (~pyarts3.arts.Numeric, optional) – The azimuth. Defaults to
0[IN]
- spectral_rad_jacAddPathPropagation(self, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, spectral_rad_jac_path: StokvecTensor3 = self.spectral_rad_jac_path, jac_targets: JacobianTargets = self.jac_targets, atm_field: AtmField = self.atm_field, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Adds the propagation variables to
spectral_rad_jac.Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [INOUT]spectral_rad_jac_path (~pyarts3.arts.StokvecTensor3, optional) – Spectral radiance derivative along the propagation path. Defaults to
self.spectral_rad_jac_path. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- spectral_rad_jacAddSensorJacobianPerturbations(self, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, spectral_rad: StokvecVector = self.spectral_rad, measurement_sensor: ArrayOfSensorObsel = self.measurement_sensor, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda) None
Adds sensor properties to the
spectral_rad_jac.This is done via perturbation based on the input delta values to the sensor Jacobian targets and a callback to
spectral_rad_observer_agendawith a modifiedjac_targets, making it safe to use this method insidespectral_rad_observer_agenda.Author: Richard Larsson
- Parameters:
spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [INOUT]spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [IN]measurement_sensor (~pyarts3.arts.ArrayOfSensorObsel, optional) – A list of sensor elements that fully describe one or more observing sensor(s). Defaults to
self.measurement_sensor. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [IN]
- spectral_rad_jacEmpty(self, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets) None
Set the radiation derivative to empty.
Size : (
jac_targets,freq_grid)Author: Richard Larsson
- Parameters:
spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- spectral_rad_jacFromBackground(self, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, spectral_rad_bkg_jac: StokvecMatrix = self.spectral_rad_bkg_jac, spectral_tramat_path: TransmittanceMatrix = self.spectral_tramat_path) None
Sets
spectral_rad_jacfrom the background values.Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]spectral_rad_bkg_jac (~pyarts3.arts.StokvecMatrix, optional) – Spectral radiance derivative from the background. Defaults to
self.spectral_rad_bkg_jac. [IN]spectral_tramat_path (~pyarts3.arts.TransmittanceMatrix, optional) – Transmission matrices and derivatives along the propagation path. Defaults to
self.spectral_tramat_path. [IN]
- spectral_rad_observer_agendaExecute(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda) CxxWorkspace
Executes
spectral_rad_observer_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_rad_observer_agendaExecuteOperator(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, ray_path: ArrayOfPropagationPathPoint = self.ray_path, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, obs_pos: Vector3 = self.obs_pos, obs_los: Vector2 = self.obs_los, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_observer_agenda_operator: spectral_rad_observer_agendaOperator) None
Executes an operator emulating
spectral_rad_observer_agenda, see it, and alsospectral_rad_observer_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]obs_pos (~pyarts3.arts.Vector3, optional) – The position of an observer of spectral radiance. Defaults to
self.obs_pos. [IN]obs_los (~pyarts3.arts.Vector2, optional) – The line-of-sight of the observer of spectral radiance. Defaults to
self.obs_los. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_observer_agenda_operator (spectral_rad_observer_agendaOperator) – Operator for
spectral_rad_observer_agenda. [IN]
- spectral_rad_observer_agendaSet(self, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda, option: String = Emission) None
Set
spectral_rad_observer_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"Emission"[IN]
Valid options
These are the valid options for the
spectral_rad_observer_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_rad_observer_agendaSet(option="Emission")Shares the global
measurement_sensorShares the global
ray_path_observer_agendaShares the global
rte_optionShares the global
spectral_propmat_and_atm_path_agendaShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_space_agendaShares the global
spectral_rad_surface_agendahse_derivative = 0
spectral_rad_observer_agendaSet(option="EmissionAdaptiveHalfsteps")Shares the global
max_stepsizeShares the global
measurement_sensorShares the global
ray_path_observer_agendaShares the global
spectral_propmat_agendaShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_space_agendaShares the global
spectral_rad_surface_agendamax_tau = 0.1
cutoff_tau = 3
hse_derivative = 0
spectral_rad_observer_agendaSet(option="EmissionNoSensor")Shares the global
ray_path_observer_agendaShares the global
rte_optionShares the global
spectral_propmat_and_atm_path_agendaShares the global
spectral_rad_space_agendaShares the global
spectral_rad_surface_agendahse_derivative = 0
spectral_rad_observer_agendaSet(option="MonteCarlo")Shares the global
measurement_sensorShares the global
ray_path_observer_agendaShares the global
scat_speciesShares the global
spectral_propmat_agendaShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_space_agendaShares the global
spectral_rad_surface_agendamc_seed = 0
mc_min_iter = 100
mc_max_iter = 10000
mc_max_scatorder = 20
mc_std_err = 0
mc_max_time = 0
- spectral_rad_observer_agendaSetOperator(self, spectral_rad_observer_agenda: Agenda = self.spectral_rad_observer_agenda, f: spectral_rad_observer_agendaOperator) None
Set
spectral_rad_observer_agendato exclusively use provided external operator. Seespectral_rad_observer_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_rad_observer_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen from the input position and environment. Defaults to
self.spectral_rad_observer_agenda. [OUT]f (spectral_rad_observer_agendaOperator) – Operator for
spectral_rad_observer_agenda. [IN]
- spectral_rad_operatorClearsky1D(self, spectral_rad_operator: SpectralRadianceOperator = self.spectral_rad_operator, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, cia_extrapolation: Numeric = 0, cia_robust: Index = 0) None
Set up a 1D spectral radiance operator
The operator is set up to compute the spectral radiance at any point as seen from a 1D atmospheric profile.
This method will share line-by-line,cross-section, collision-induced absorption, and predefined model data with the workspace (if they exist already when this method is called).
Author: Richard Larsson
- Parameters:
spectral_rad_operator (~pyarts3.arts.SpectralRadianceOperator, optional) – The spectral radiance operator. Defaults to
self.spectral_rad_operator. [OUT]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]cia_extrapolation (~pyarts3.arts.Numeric, optional) – The extrapolation distance for cia. Defaults to
0[IN]cia_robust (~pyarts3.arts.Index, optional) – The robustness of the cia extrapolation. Defaults to
0[IN]
- spectral_rad_scat_pathSunsFirstOrder(self, spectral_rad_scat_path: ArrayOfStokvecVector = self.spectral_rad_scat_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint = self.ray_path_suns_path, suns: ArrayOfSun = self.suns, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, scat_species: ArrayOfScatteringSpecies = self.scat_species, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, rte_option: TransmittanceOption = self.rte_option, hse_derivative: Index = 0) None
Compute first-order solar scattering from
scat_speciesalongray_path.Unlike
spectral_rad_scat_pathSunsFirstOrderRayleigh(), both the scattering coefficient and the polarized phase matrix come fromscat_species. This supports gas, particulate, and mixed scattering species.Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad_scat_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Spectral radiance scattered into the propagation path. Defaults to
self.spectral_rad_scat_path. [OUT]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]ray_path_suns_path (~pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint, optional) – A list of paths to the suns from the ray path. Defaults to
self.ray_path_suns_path. [IN]suns (~pyarts3.arts.ArrayOfSun, optional) – A list of
Sun. Defaults toself.suns. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]scat_species (~pyarts3.arts.ArrayOfScatteringSpecies, optional) – The scattering species. Defaults to
self.scat_species. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_rad_scat_pathSunsFirstOrderRayleigh(self, spectral_rad_scat_path: ArrayOfStokvecVector = self.spectral_rad_scat_path, spectral_propmat_scat_path: ArrayOfPropmatVector = self.spectral_propmat_scat_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint = self.ray_path_suns_path, suns: ArrayOfSun = self.suns, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, spectral_propmat_and_atm_path_agenda: Agenda = self.spectral_propmat_and_atm_path_agenda, rte_option: TransmittanceOption = self.rte_option, depolarization_factor: Numeric = 0, hse_derivative: Index = 0) None
Add
sunstospectral_rad_srcvec_path.Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad_scat_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Spectral radiance scattered into the propagation path. Defaults to
self.spectral_rad_scat_path. [OUT]spectral_propmat_scat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path for scattering. Defaults to
self.spectral_propmat_scat_path. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]ray_path_suns_path (~pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint, optional) – A list of paths to the suns from the ray path. Defaults to
self.ray_path_suns_path. [IN]suns (~pyarts3.arts.ArrayOfSun, optional) – A list of
Sun. Defaults toself.suns. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to
self.atm_field. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]spectral_propmat_and_atm_path_agenda (~pyarts3.arts.Agenda, optional) – Computes several path parameters along the path. Defaults to
self.spectral_propmat_and_atm_path_agenda. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]depolarization_factor (~pyarts3.arts.Numeric, optional) – The depolarization factor to use. Defaults to
0[IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- spectral_rad_space_agendaExecute(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda) CxxWorkspace
Executes
spectral_rad_space_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_rad_space_agendaExecuteOperator(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, spectral_rad_space_agenda_operator: spectral_rad_space_agendaOperator) None
Executes an operator emulating
spectral_rad_space_agenda, see it, and alsospectral_rad_space_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]spectral_rad_space_agenda_operator (spectral_rad_space_agendaOperator) – Operator for
spectral_rad_space_agenda. [IN]
- spectral_rad_space_agendaSet(self, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, option: String = UniformCosmicBackground) None
Set
spectral_rad_space_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"UniformCosmicBackground"[IN]
Valid options
These are the valid options for the
spectral_rad_space_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_rad_space_agendaSet(option="UniformCosmicBackground")spectral_rad_space_agendaSet(option="SunOrCosmicBackground")Shares the global
sunsShares the global
surf_field
spectral_rad_space_agendaSet(option="Transmission")
- spectral_rad_space_agendaSetOperator(self, spectral_rad_space_agenda: Agenda = self.spectral_rad_space_agenda, f: spectral_rad_space_agendaOperator) None
Set
spectral_rad_space_agendato exclusively use provided external operator. Seespectral_rad_space_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_rad_space_agenda (~pyarts3.arts.Agenda, optional) – Gets spectral radiance as seen of space. Defaults to
self.spectral_rad_space_agenda. [OUT]f (spectral_rad_space_agendaOperator) – Operator for
spectral_rad_space_agenda. [IN]
- spectral_rad_srcvec_pathAddScattering(self, spectral_rad_srcvec_path: SourceVector = self.spectral_rad_srcvec_path, spectral_rad_scat_path: ArrayOfStokvecVector = self.spectral_rad_scat_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path) None
Adds the scattering part of the source vector to the rest along the path.
The calculations are in parallel if the program is not in parallel already.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad_srcvec_path (~pyarts3.arts.SourceVector, optional) – Source vectors along the propagation path. Defaults to
self.spectral_rad_srcvec_path. [INOUT]spectral_rad_scat_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Spectral radiance scattered into the propagation path. Defaults to
self.spectral_rad_scat_path. [IN]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]
- spectral_rad_srcvec_pathCorrectScattering(self, spectral_rad_srcvec_path: SourceVector = self.spectral_rad_srcvec_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_propmat_scat_path: ArrayOfPropmatVector = self.spectral_propmat_scat_path, spectral_absvec_scat_path: ArrayOfStokvecVector = self.spectral_absvec_scat_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, atm_path: ArrayOfAtmPoint = self.atm_path) None
Remove thermal emission incorrectly associated with nonabsorbing scattering extinction.
Call this after
spectral_rad_srcvec_pathFromPropmat()when scattering has been added tospectral_propmat_path. True particulate absorption inspectral_absvec_scat_pathretains its thermal source.Author: Richard Larsson
Used by wrapper method
- Parameters:
spectral_rad_srcvec_path (~pyarts3.arts.SourceVector, optional) – Source vectors along the propagation path. Defaults to
self.spectral_rad_srcvec_path. [INOUT]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]spectral_propmat_scat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path for scattering. Defaults to
self.spectral_propmat_scat_path. [IN]spectral_absvec_scat_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – The absorption vector of totally random orientation particles along the propagation path using spectral representation. Defaults to
self.spectral_absvec_scat_path. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]
- spectral_rad_srcvec_pathFromPropmat(self, spectral_rad_srcvec_path: SourceVector = self.spectral_rad_srcvec_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, atm_path: ArrayOfAtmPoint = self.atm_path, jac_targets: JacobianTargets = self.jac_targets) None
Gets the source term along the path.
Per
Stokvecelement (single frequency, single temperature, single derivative target), the source term is computed as:\[\vec{J} = B(T, f) + \mathbf{K}^{-1} \vec{S}\]and the Jacobian is computed as:
\[\frac{\partial \vec{J}}{\partial x} = \frac{\partial B(T, f)}{\partial x} - \mathbf{K}^{-1} \left( \frac{\partial \mathbf{K}}{\partial x} \mathbf{K}^{-1} - \frac{\partial \vec{S}}{\partial x} \right)\]where:
Variable
Extracted from ARTS parameter
Meaning
\(\vec{J}\)
The spectral radiance source term along the path.
\(B(T, f)\)
None- this is computed locallyThe Planck function at the temperature and frequency.
\(\mathbf{K}\)
The propagation matrix along the path.
\(\vec{S}\)
The non-LTE source vector along the path.
\(\frac{\partial \vec{J}}{\partial x}\)
The Jacobian of the spectral radiance source term with respect to the
jac_targets.\(\frac{\partial B(T, f)}{\partial x}\)
None- this is computed locallyThe Jacobian of the Planck function with respect to the
jac_targets. Only tempertature is supported.\(\frac{\partial \mathbf{K}}{\partial x}\)
The Jacobian of the propagation matrix with respect to the
jac_targets.\(\frac{\partial \vec{S}}{\partial x}\)
The Jacobian of the non-LTE source vector with respect to the
jac_targets.\(x\)
The targets for the Jacobian computation.
\(T\)
The temperature at the atmospheric point along the path.
\(f\)
The frequency grid at the atmospheric point along the path.
The output dimensions are:
spectral_rad_srcvec_path:freq_gridxray_path,freq_gridxray_pathxjac_targets(target count)
Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_rad_srcvec_path (~pyarts3.arts.SourceVector, optional) – Source vectors along the propagation path. Defaults to
self.spectral_rad_srcvec_path. [OUT]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to
self.spectral_nlte_srcvec_path. [IN]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [IN]spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to
self.spectral_nlte_srcvec_jac_path. [IN]freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All
freq_gridalong the propagation path. Defaults toself.freq_grid_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- spectral_rad_surface_agendaExecute(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda) CxxWorkspace
Executes
spectral_rad_surface_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_rad_surface_agendaExecuteOperator(self, spectral_rad: StokvecVector = self.spectral_rad, spectral_rad_jac: StokvecMatrix = self.spectral_rad_jac, freq_grid: AscendingGrid = self.freq_grid, jac_targets: JacobianTargets = self.jac_targets, ray_point: PropagationPathPoint = self.ray_point, surf_field: SurfaceField = self.surf_field, subsurf_field: SubsurfaceField = self.subsurf_field, spectral_rad_surface_agenda_operator: SpectralRadianceSurfaceAgendaOperator) None
Executes an operator emulating
spectral_rad_surface_agenda, see it, and alsoSpectralRadianceSurfaceAgendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_rad (~pyarts3.arts.StokvecVector, optional) – A spectral radiance vector. Defaults to
self.spectral_rad. [OUT]spectral_rad_jac (~pyarts3.arts.StokvecMatrix, optional) – Jacobian of
spectral_radwith respect tojac_targets. Defaults toself.spectral_rad_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]spectral_rad_surface_agenda_operator (SpectralRadianceSurfaceAgendaOperator) – Operator for
spectral_rad_surface_agenda. [IN]
- spectral_rad_surface_agendaSet(self, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, option: String = Blackbody) None
Set
spectral_rad_surface_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [OUT]option (~pyarts3.arts.String, optional) – Choice of generated agenda. Defaults to
"Blackbody"[IN]
Valid options
These are the valid options for the
spectral_rad_surface_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_rad_surface_agendaSet(option="Blackbody")Ignore(), using: input =subsurf_field
spectral_rad_surface_agendaSet(option="Transmission")Ignore(), using: input =surf_fieldIgnore(), using: input =subsurf_field
spectral_rad_surface_agendaSet(option="SurfaceReflectance")Shares the global
atm_fieldShares the global
spectral_rad_closed_surface_agendaShares the global
spectral_rad_observer_agendaShares the global
spectral_surf_refl_agenda
- spectral_rad_surface_agendaSetOperator(self, spectral_rad_surface_agenda: Agenda = self.spectral_rad_surface_agenda, f: SpectralRadianceSurfaceAgendaOperator) None
Set
spectral_rad_surface_agendato exclusively use provided external operator. SeeSpectralRadianceSurfaceAgendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_rad_surface_agenda (~pyarts3.arts.Agenda, optional) – Computes spectral radiance as seen of the surface. Defaults to
self.spectral_rad_surface_agenda. [OUT]f (SpectralRadianceSurfaceAgendaOperator) – Operator for
spectral_rad_surface_agenda. [IN]
- spectral_rad_transform_operatorSet(self, spectral_rad_transform_operator: SpectralRadianceTransformOperator = self.spectral_rad_transform_operator, option: SpectralRadianceUnitType) None
Creates a
SpectralRadianceTransformOperatorfrom aSpectralRadianceUnitType.Author: Richard Larsson
- Parameters:
spectral_rad_transform_operator (~pyarts3.arts.SpectralRadianceTransformOperator, optional) – The spectral radiance transform operator. Defaults to
self.spectral_rad_transform_operator. [OUT]option (SpectralRadianceUnitType) – The type of the spectral radiance transform operator to create. See
SpectralRadianceUnitTypefor valid values and what they do. [IN]
- spectral_surf_reflFlatRealFresnel(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets) None
Set the surface reflectance to the flat real Fresnel reflectance
\[\begin{split}\begin{array}{lcr} \theta_2 &=& \arcsin\left(\frac{\Re{n_1}}{\Re{n_2}}\sin{\theta_1}\right)\\[5pt] R_v &=& \frac{n_2\cos\left(\theta_1\right) - n_1\cos\left(\theta_2\right)} {n_2\cos\left(\theta_1\right) + n_1\cos\left(\theta_2\right)}\\[5pt] R_h &=& \frac{n_1\cos\left(\theta_1\right) - n_2\cos\left(\theta_2\right)} {n_1\cos\left(\theta_1\right) + n_2\cos\left(\theta_2\right)}, \end{array}\end{split}\]where \(\theta_1\) is the angle of incidence, \(\theta_2\) is the angle of refraction, and \(n_1\) and \(n_2\) are the refractive indices of the two media.
We get \(n_1\) and \(\theta_1\) from the
ray_pointand extracts \(n_2\) from thesurf_fieldparameter"scalar refractive index".The reflectance matrix is
\[\begin{split}\mathbf{R} = \frac{1}{2}\left[ \begin{array}{cccc} R_v\overline{R_v} + R_h\overline{R_h} & R_v\overline{R_v} - R_h\overline{R_h} & 0 & 0 \\ R_v\overline{R_v} - R_h\overline{R_h} & R_v\overline{R_v} + R_h\overline{R_h} & 0 & 0 \\ 0 & 0 & \Re\left(R_h\overline{R_v} + R_v\overline{R_h}\right) & \Im\left(R_h\overline{R_v} - R_v\overline{R_h}\right) \\ 0 & 0 & \Im\left(R_v\overline{R_h} - R_h\overline{R_v}\right) & \Re\left(R_h\overline{R_v} + R_v\overline{R_h}\right) \\ \end{array}\right]\end{split}\]Author: Richard Larsson
- Parameters:
spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to
self.spectral_surf_refl. [OUT]spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to
self.spectral_surf_refl_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- spectral_surf_reflFlatScalar(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets) None
Set the surface reflectance to the flat real Fresnel reflectance
We get \(r\) from the
surf_fieldparameter"flat scalar reflectance".The reflectance matrix is
\[\begin{split}\mathbf{R} = \left[ \begin{array}{cccc} r&0&0&0\\ 0&r&0&0\\ 0&0&r&0\\ 0&0&0&r\\ \end{array}\right]\end{split}\]Author: Richard Larsson
- Parameters:
spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to
self.spectral_surf_refl. [OUT]spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to
self.spectral_surf_refl_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]
- spectral_surf_reflTelsem(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets, telsem_atlas: TelsemAtlas = self.telsem_atlas, max_distance: Numeric = -1) None
Compute polarized specular land reflectance with TELSEM2.
The atlas selects the surface emissivity from the ray point’s latitude and longitude and interpolates it in frequency and incidence angle. Set
max_distanceto a positive angular distance in degrees to permit nearest land-cell lookup; the default requires the requested cell to exist.Author: The ARTS developers
- Parameters:
spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to
self.spectral_surf_refl. [OUT]spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to
self.spectral_surf_refl_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]telsem_atlas (~pyarts3.arts.TelsemAtlas, optional) – TELSEM monthly land-surface emissivity atlas. Defaults to
self.telsem_atlas. [IN]max_distance (~pyarts3.arts.Numeric, optional) – Maximum nearest-atlas-cell distance [degrees], or a negative value to disable nearest lookup. Defaults to
-1[IN]
- spectral_surf_reflTessem(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets, tessem_neth: TessemNN = self.tessem_neth, tessem_netv: TessemNN = self.tessem_netv) None
Compute polarized specular ocean reflectance with TESSEM2.
The method reads surface temperature from the canonical
tentry and the properties"wind speed"[m/s] and"salinity"[kg/kg] fromsurf_field. Spatially varying fields and surface Jacobian targets for all three inputs are supported. Kirchhoff-consistent emission is supplied by the closed-surface agenda used byspectral_radSurfaceReflectance().Author: The ARTS developers
- Parameters:
spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to
self.spectral_surf_refl. [OUT]spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to
self.spectral_surf_refl_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]tessem_neth (~pyarts3.arts.TessemNN, optional) – TESSEM neural network for horizontal-polarization emissivity. Defaults to
self.tessem_neth. [IN]tessem_netv (~pyarts3.arts.TessemNN, optional) – TESSEM neural network for vertical-polarization emissivity. Defaults to
self.tessem_netv. [IN]
- spectral_surf_refl_agendaExecute(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets, spectral_surf_refl_agenda: Agenda = self.spectral_surf_refl_agenda) CxxWorkspace
Executes
spectral_surf_refl_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to
self.spectral_surf_refl. [OUT]spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to
self.spectral_surf_refl_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]spectral_surf_refl_agenda (~pyarts3.arts.Agenda, optional) – An agenda to compute the surface reflectance. Defaults to
self.spectral_surf_refl_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- spectral_surf_refl_agendaExecuteOperator(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets, spectral_surf_refl_agenda_operator: spectral_surf_refl_agendaOperator) None
Executes an operator emulating
spectral_surf_refl_agenda, see it, and alsospectral_surf_refl_agendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to
self.spectral_surf_refl. [OUT]spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to
self.spectral_surf_refl_jac. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to
self.ray_point. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]spectral_surf_refl_agenda_operator (spectral_surf_refl_agendaOperator) – Operator for
spectral_surf_refl_agenda. [IN]
- spectral_surf_refl_agendaSet(self, spectral_surf_refl_agenda: Agenda = self.spectral_surf_refl_agenda, option: String) None
Set
spectral_surf_refl_agendato a specific predefined optionAuthor:
Automatically Generated- Parameters:
spectral_surf_refl_agenda (~pyarts3.arts.Agenda, optional) – An agenda to compute the surface reflectance. Defaults to
self.spectral_surf_refl_agenda. [OUT]option (String) – Choice of generated agenda. [IN]
Valid options
These are the valid options for the
spectral_surf_refl_agendaSetmethod. The listed method calls describe the order of the agenda calls for eachoption.spectral_surf_refl_agendaSet(option="FlatScalar")spectral_surf_refl_agendaSet(option="FlatRealFresnel")spectral_surf_refl_agendaSet(option="Tessem")Shares the global
tessem_nethShares the global
tessem_netv
spectral_surf_refl_agendaSet(option="Telsem")Shares the global
telsem_atlasmax_distance = -1
- spectral_surf_refl_agendaSetOperator(self, spectral_surf_refl_agenda: Agenda = self.spectral_surf_refl_agenda, f: spectral_surf_refl_agendaOperator) None
Set
spectral_surf_refl_agendato exclusively use provided external operator. Seespectral_surf_refl_agendaOperatorfor more details.Author:
Automatically Generated- Parameters:
spectral_surf_refl_agenda (~pyarts3.arts.Agenda, optional) – An agenda to compute the surface reflectance. Defaults to
self.spectral_surf_refl_agenda. [OUT]f (spectral_surf_refl_agendaOperator) – Operator for
spectral_surf_refl_agenda. [IN]
- spectral_tramat_pathFromPath(self, spectral_tramat_path: TransmittanceMatrix = self.spectral_tramat_path, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path, surf_field: SurfaceField = self.surf_field, jac_targets: JacobianTargets = self.jac_targets, rte_option: TransmittanceOption = self.rte_option, hse_derivative: Index = 0) None
Gets the transmission matrix in layers along the path.
The assumption is that each path variable forms a layer from the ray path. So there is a reduction in size by one. A demand therefore is that there are at least 2 points in the path.
The derivatives first dimensions are also 2, the first for the derivative wrt the level before and one for the level after.
Author: Richard Larsson
Used by wrapper methods
- Parameters:
spectral_tramat_path (~pyarts3.arts.TransmittanceMatrix, optional) – Transmission matrices and derivatives along the propagation path. Defaults to
self.spectral_tramat_path. [OUT]spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to
self.spectral_propmat_path. [IN]spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to
self.spectral_propmat_jac_path. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to
self.atm_path. [IN]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to
self.jac_targets. [IN]rte_option (~pyarts3.arts.TransmittanceOption, optional) – The radiative transfer equation (RTE) option. Defaults to
self.rte_option. [IN]hse_derivative (~pyarts3.arts.Index, optional) – Flag to compute the hypsometric distance derivatives. Defaults to
0[IN]
- subsurf_disort_settings_agendaExecute(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, subsurf_disort_settings_agenda: Agenda = self.subsurf_disort_settings_agenda) CxxWorkspace
Executes
subsurf_disort_settings_agenda, see it for more detailsAuthor:
Automatically Generated- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]subsurf_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor subsurface calculations. Defaults toself.subsurf_disort_settings_agenda. [IN]
- Returns:
opt – The internal workspace, cleaned from all input/output.
- Return type:
- subsurf_disort_settings_agendaExecuteOperator(self, disort_settings: DisortSettings = self.disort_settings, freq_grid: AscendingGrid = self.freq_grid, ray_path: ArrayOfPropagationPathPoint = self.ray_path, disort_quadrature_dimension: Index = self.disort_quadrature_dimension, disort_fourier_mode_dimension: Index = self.disort_fourier_mode_dimension, disort_legendre_polynomial_dimension: Index = self.disort_legendre_polynomial_dimension, subsurf_disort_settings_agenda_operator: DisortSettingsAgendaOperator) None
Executes an operator emulating
subsurf_disort_settings_agenda, see it, and alsoDisortSettingsAgendaOperator, for more detailsAuthor:
Automatically Generated- Parameters:
disort_settings (~pyarts3.arts.DisortSettings, optional) – Contains the full settings of spectral Disort calculations. Defaults to
self.disort_settings. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]disort_quadrature_dimension (~pyarts3.arts.Index, optional) – The quadrature size for Disort. Defaults to
self.disort_quadrature_dimension. [IN]disort_fourier_mode_dimension (~pyarts3.arts.Index, optional) – The number of Fourier modes for Disort. Defaults to
self.disort_fourier_mode_dimension. [IN]disort_legendre_polynomial_dimension (~pyarts3.arts.Index, optional) – The number of input Legendre polynimials for Disort. Defaults to
self.disort_legendre_polynomial_dimension. [IN]subsurf_disort_settings_agenda_operator (DisortSettingsAgendaOperator) – Operator for
subsurf_disort_settings_agenda. [IN]
- subsurf_disort_settings_agendaSetOperator(self, subsurf_disort_settings_agenda: Agenda = self.subsurf_disort_settings_agenda, f: DisortSettingsAgendaOperator) None
Set
subsurf_disort_settings_agendato exclusively use provided external operator. SeeDisortSettingsAgendaOperatorfor more details.Author:
Automatically Generated- Parameters:
subsurf_disort_settings_agenda (~pyarts3.arts.Agenda, optional) – A specialization of
disort_settings_agendafor subsurface calculations. Defaults toself.subsurf_disort_settings_agenda. [OUT]f (DisortSettingsAgendaOperator) – Operator for
subsurf_disort_settings_agenda. [IN]
- subsurf_fieldFromModelState(self, subsurf_field: SubsurfaceField = self.subsurf_field, model_state_vec: Vector = self.model_state_vec, model_state_targets: JacobianTargets = self.model_state_targets) None
Sets
subsurf_fieldto the state of the model.Author: Richard Larsson
Used by wrapper method
- Parameters:
subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]
- subsurf_profileFromPath(self, subsurf_profile: ArrayOfSubsurfacePoint = self.subsurf_profile, subsurf_field: SubsurfaceField = self.subsurf_field, ray_path: ArrayOfPropagationPathPoint = self.ray_path) None
Extract a subsurface profile from a ray path.
Author: Richard Larsson
- Parameters:
subsurf_profile (~pyarts3.arts.ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. Defaults to
self.subsurf_profile. [OUT]subsurf_field (~pyarts3.arts.SubsurfaceField, optional) – The sub-surface field. Defaults to
self.subsurf_field. [IN]ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to
self.ray_path. [IN]
- sunBlackbody(self, sun: Sun = self.sun, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, radius: Numeric = 696324200, distance: Numeric = 149597870700, temperature: Numeric = 5772) None
Set
sunto blackbody.Note
For a Sol-like sun there are huge differences in the UV-range between the actual sun spectrum and the blackbody spectrum with the effective temperature of the sun. The blackbody sun strongly overestimates the UV radiation.
Authors: Jon Petersen, Richard Larsson
- Parameters:
sun (~pyarts3.arts.Sun, optional) – A sun. Defaults to
self.sun. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]radius (~pyarts3.arts.Numeric, optional) – The radius of the sun in meter. Default is the radius of our sun. . Defaults to
696324200[IN]distance (~pyarts3.arts.Numeric, optional) – The average distance between the sun and the planet in meter. Default value is set to 1 a.u. . Defaults to
149597870700[IN]temperature (~pyarts3.arts.Numeric, optional) – The effective temperature of the suns photosphere in Kelvin. Default is the temperature of our sun - 5772 Kelvin . Defaults to
5772[IN]
- sunFromGrid(self, sun: Sun = self.sun, freq_grid: AscendingGrid = self.freq_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, sun_spectrum_raw: GriddedField2, radius: Numeric = 696324200, distance: Numeric = 149597870700, temperature: Numeric = 5772, description: String = A sun) None
Extracts a sun spectrum from a field of such data.
The method allows to obtain the sun spectrum by interpolation from a field of such data. The sun spectrum is expected to be stored as the irradiance at the suns photosphere.
Unit:
GriddedField2: [W m-2 Hz-1]
Vector
freq_grid[Hz]Vector
stokes_dim[1]
Dimensions: [
freq_grid, stokes_dim]This method performs an interpolation onto the
freq_grid. The point offreq_gridthat are outside the data frequency grid are initialized according to planck’s law of the temperature variable. Hence, a temperature of 0 means 0s the edges of thefreq_grid.Authors: Jon Petersen, Richard Larsson
- Parameters:
sun (~pyarts3.arts.Sun, optional) – A sun. Defaults to
self.sun. [OUT]freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to
self.freq_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]sun_spectrum_raw (GriddedField2) – A raw spectrum. [IN]
radius (~pyarts3.arts.Numeric, optional) – The radius of the sun in meter. Default is the radius of our sun. . Defaults to
696324200[IN]distance (~pyarts3.arts.Numeric, optional) – The average distance between the sun and the planet in meter. Default value is set to 1 a.u. . Defaults to
149597870700[IN]temperature (~pyarts3.arts.Numeric, optional) – The effective temperature of the suns photosphere in Kelvin. Default is the temperature of our sun - 5772 Kelvin . Defaults to
5772[IN]description (~pyarts3.arts.String, optional) – A description of the sun. Defaults to
"A sun"[IN]
- sun_pathFromObserverAgenda(self, sun_path: ArrayOfPropagationPathPoint = self.sun_path, surf_field: SurfaceField = self.surf_field, ray_path_observer_agenda: Agenda = self.ray_path_observer_agenda, sun: Sun = self.sun, pos: Vector3, angle_cut: Numeric = 0, refinement: Index = 1, just_hit: Index = 0) None
Find a path that hits the sun if possible
The algorithm finds the pair of angles with the least error in regards to angular zenith and azimuth offset from the sun. It uses this pair of angles to compute said path. The algorithm is iterative. It first finds the geometric pair of angles pointing at the sun. It then computes the path, using the space-facing path point’s pointing offset relative to the sun to change the angles in the four directions (up, left, right, down) until it finds a better solution. If no better solution is found, the algorithm it refines the angular search to half for every level of refinement above 1, it then stops.
Note that special care is taken to eliminate surface intersections so that part of the sun may still be hit if it is above the horizon. If the sun is entirerly below the horizon, the path will point close to the horizon.
The two control parameters are the
angle_cutandjust_hit. Theangle_cutis the limit in degrees to which the algorithm should search for a better solution. Thejust_hitis a flag that just returns the first time a path hits the sun.Author: Richard Larsson
- Parameters:
sun_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A path to a sun if it is visible. Defaults to
self.sun_path. [OUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]ray_path_observer_agenda (~pyarts3.arts.Agenda, optional) – Gets the propagation path as it is observed. Defaults to
self.ray_path_observer_agenda. [IN]sun (~pyarts3.arts.Sun, optional) – A sun. Defaults to
self.sun. [IN]pos (Vector3) – An observer position [alt, lat, lon]. [IN]
angle_cut (~pyarts3.arts.Numeric, optional) – The angle delta-cutoff in the iterative solver [0.0, …]. Defaults to
0[IN]refinement (~pyarts3.arts.Index, optional) – The refinement of the search algorithm (twice the power of this is the resolution). Defaults to
1[IN]just_hit (~pyarts3.arts.Index, optional) – Whether or not it is enough to just hit the sun or if better accuracy is needed. Defaults to
0[IN]
- surf_fieldEarth(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Earth reference ellipsoids.
The reference ellipsoid is set to model the Earth.
See
EarthEllipsoidfor validmodelAuthor: Patrick Eriksson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldEuropa(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Europa reference ellipsoids.
The reference ellipsoid is set to model the Europa.
See
EuropaEllipsoidfor validmodel.Author: Richard Larsson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldFromModelState(self, surf_field: SurfaceField = self.surf_field, model_state_vec: Vector = self.model_state_vec, model_state_targets: JacobianTargets = self.model_state_targets) None
Sets
surf_fieldto the state of the model.Author: Richard Larsson
Used by wrapper method
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [INOUT]model_state_vec (~pyarts3.arts.Vector, optional) – A state vector of the model. Defaults to
self.model_state_vec. [IN]model_state_targets (~pyarts3.arts.JacobianTargets, optional) – Complete mapping from
model_state_vecto physical model fields and measurement errors. Defaults toself.model_state_targets. [IN]
- surf_fieldGanymede(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Ganymede reference ellipsoids.
See
GanymedeEllipsoidfor validmodel.Author: Takayoshi Yamada
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldInit(self, surf_field: SurfaceField = self.surf_field, a: Numeric, b: Numeric, surf_elevation: Numeric = 0) None
Manual setting of the reference ellipsoid.
The two values of the reference ellipsoid are set manually. The two arguments correspond directly to first and second element of reference ellipsoid.
Author: Patrick Eriksson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]a (Numeric) – Average or equatorial radius. [IN]
b (Numeric) – Average or polar radius. [IN]
surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldIo(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Io reference ellipsoids.
The reference ellipsoid is set to model the Io.
See
IoEllipsoidfor validmodel.Author: Richard Larsson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldJupiter(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Jupiter reference ellipsoids.
The reference ellipsoid is set to model the Jupiter.
See
JupiterEllipsoidfor validmodel.Author: Patrick Eriksson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldMars(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Mars reference ellipsoids.
The reference ellipsoid is set to model the Mars.
See
MarsEllipsoidfor validmodel.Author: Patrick Eriksson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldMoon(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Moon reference ellipsoids.
The reference ellipsoid is set to model the Moon.
See
MoonEllipsoidfor validmodel.Author: Patrick Eriksson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldPlanet(self, surf_field: SurfaceField = self.surf_field, option: String, surf_elevation: Numeric = 0) None
Initialize the surface field with the ellipsoid of a planet.
See
PlanetOrMoonTypefor validoption.Author: Richard Larsson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]option (String) – Choice of planet or moon. [IN]
surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- surf_fieldVenus(self, surf_field: SurfaceField = self.surf_field, model: String = Sphere, surf_elevation: Numeric = 0) None
Venus reference ellipsoids.
The reference ellipsoid is set to model the Venus.
See
VenusEllipsoidfor validmodel.Author: Patrick Eriksson
- Parameters:
surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [OUT]model (~pyarts3.arts.String, optional) – Model ellipsoid to use. Options listed above. Defaults to
"Sphere"[IN]surf_elevation (~pyarts3.arts.Numeric, optional) – Surface elevation over the full field. Defaults to
0[IN]
- swap(self, other: CxxWorkspace) None
Swap the workspace for another.
- telsem_atlasReadAscii(self, telsem_atlas: TelsemAtlas = self.telsem_atlas, filename: String, month: Index = 0) None
Read one original TELSEM2 monthly atlas file.
Author: The ARTS developers
- Parameters:
telsem_atlas (~pyarts3.arts.TelsemAtlas, optional) – TELSEM monthly land-surface emissivity atlas. Defaults to
self.telsem_atlas. [OUT]filename (String) – Path to a TELSEM2 ASCII atlas file. [IN]
month (~pyarts3.arts.Index, optional) – Month represented by the atlas (0 if unspecified). Defaults to
0[IN]
- tessem_nnReadAscii(self, tessem_nn: TessemNN | None = None, filename: String) None
Read an original TESSEM2 neural-network parameter file.
Author: The ARTS developers
- water_equivalent_pressure_operatorMK05(self, water_equivalent_pressure_operator: NumericUnaryOperator = self.water_equivalent_pressure_operator, only_liquid: Index = 0) None
Calculate equivalent water pressure according to Murphy and Koop, 2005
Default is setting the saturation pressure to the one with respect to water at temperatures >= 0C, and to the one with respect to ice for <0C. The GIN
only_liquidallows you to apply the liquid value at all temperatures.The saturation pressure with respect to liquid and ice water is calculated according to Eq. 10 and 7, respectively, of: Murphy, D. M., & Koop, T. (2005). Review of the vapour pressures of ice and supercooled water for atmospheric applications. Quarterly Journal of the Royal Meteorological Society, 131(608), 1539-1565.
Authors: Patrick Eriksson, Richard Larsson
- Parameters:
water_equivalent_pressure_operator (~pyarts3.arts.NumericUnaryOperator, optional) – The water equivalent pressure operator. Defaults to
self.water_equivalent_pressure_operator. [OUT]only_liquid (~pyarts3.arts.Index, optional) – Set to 1 to use liquid saturation pressure at all temperatures. Defaults to
0[IN]
- zen_gridProfilePseudo2D(self, zen_grid: ZenGrid = self.zen_grid, surf_field: SurfaceField = self.surf_field, alt_grid: AscendingGrid = self.alt_grid, lat: Numeric = self.lat, lon: Numeric = self.lon, dzen: Numeric = 1, azi: Numeric = 0, consider_limb: Index = 1) None
A custom zenith grid for
spectral_rad_fieldProfilePseudo2D()Author: Richard Larsson
Used by wrapper method
- Parameters:
zen_grid (~pyarts3.arts.ZenGrid, optional) – A single zenith angle grid. Defaults to
self.zen_grid. [OUT]surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to
self.surf_field. [IN]alt_grid (~pyarts3.arts.AscendingGrid, optional) – An ascending list of
alt. Often related to a field or a profile. Defaults toself.alt_grid. [IN]lat (~pyarts3.arts.Numeric, optional) – A single latitude. Defaults to
self.lat. [IN]lon (~pyarts3.arts.Numeric, optional) – A single longitude. Defaults to
self.lon. [IN]dzen (~pyarts3.arts.Numeric, optional) – The zenith grid max step size. Defaults to
1[IN]azi (~pyarts3.arts.Numeric, optional) – The azimuth. Defaults to
0[IN]consider_limb (~pyarts3.arts.Index, optional) – Whether or not special care is given to the limb. Defaults to
1[IN]
Static Methods
- fromxml(file: str) CxxWorkspace
Create variable from file.
- Parameters:
file (str) – A file that can be read
- Raises:
RuntimeError – For any failure to read.
Attributes
- abs_bands: AbsorptionBands
Bands of absorption lines for line-by-line (LBL) calculations.
See methods that consume this variable for more details on its content.
Also see Line-by-line Absorption for more information on LBL calculations.
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Modified by workspace agenda
Related workspace variables
- abs_cia_data: CIARecords
HITRAN Collision-Induced Absorption (CIA) Data.
This variable holds HITRAN CIA data (binary absorption cross-sections). The data itself is described in Richard et al. [30].
The binary absorption cross-sections have to be multiplied with the densities of both molecules to get a scalar absorption coefficient.
Dimensions:
The length of this array should be equal to the number of pairs of molecules that have CIA data available. Some methods that split the data might not work as intended otherwise.
See also Collision-induced Absorption for more information on CIA calculations.
Input to workspace methods
Output from workspace methods
Related workspace variables
- abs_ecs_data: LinemixingEcsData
Error-corrected sudden data
Dimensions: [num Isotopologues] [num Species]
Used in line-by-line calculations requiring ECS data.
Default value
pyarts3.arts.LinemixingEcsData()Input to workspace methods
Modified by workspace methods
Output from workspace method
Related workspace variables
- abs_lookup_data: AbsorptionLookupTables
Absorption lookup table for scalar gas absorption coefficients.
Precomputing this table replaces the need for the calculation of scalar gas line-by-line absorption.
See Lookup-table Absorption for more information on lookup table calculations.
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Related workspace variables
- abs_predef_data: PredefinedModelData
This contains predefined model data.
Can currently only contain data for new MT CKD models of water.
See Predefined Absorption Models for more information on predefined model calculations.
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Related workspace variables
- abs_species: ArrayOfSpeciesTag
Tag groups for gas absorption.
This allows the user to set up groups of species tags that are used to load the correct data.
It is only used to let data-reading methods know which species they should read from the available input files.
Input to workspace methods
Output from workspace methods
Related workspace variables
- abs_xfit_data: XsecRecords
Fitting model coefficients for cross section species.
Dimensions: [ n_species ]
XsecRecord:
fitcoeffs:
Fit model coefficients as an
ArrayOfGriddedField2Dimensions: [ n_bands ]
GriddedField2: [ n_band_frequencies, n_coeffs ]
The fit model:
z = p00 + p10*x + p01*y + p20*x^2
z = Xsec [m^2]
x = T / T0
y = P / P0
T0 = 1 [K]
P0 = 1 [Pa]
fitcoeffs(:, 0) p00 [m^2]
fitcoeffs(:, 1) p10 [m^2]
fitcoeffs(:, 2) p01 [m^2]
fitcoeffs(:, 3) p20 [m^2]
fitminpressures:
Minimum pressure available in source xsec data to generate the fit coefficients.
Dimensions: [ n_bands ]
fitmaxpressures:
Maximum pressure available in source xsec data to generate the fit coefficients.
Dimensions: [ n_bands ]
fitmintemperatures:
Minimum temperature available in source xsec data to generate the fit coefficients.
Dimensions: [ n_bands ]
fitmaxtemperatures:
Maximum temperature available in source xsec data to generate the fit coefficients.
Dimensions: [ n_bands ]
fitminpressures, fitmaxpressures, fitmintemperatures and fitmaxtemperatures are not used to apply the model and solely serve for informational purposes.
See also Polynomial Cross-section Absorption for more information on these calculations.
Input to workspace methods
Output from workspace methods
Related workspace variables
- alt: Numeric
A single altitude in the atmosphere.
Unit: m
Default value
0Input to workspace method
Related workspace variable
- alt_grid: AscendingGrid
An ascending list of
alt. Often related to a field or a profile.Unit: m
Note
There is no global grid system in ARTS, so beware of the local nature of all grids.
Effective local shape
[NALT]
Input to workspace methods
Output from workspace method
Related workspace variables
- atm_disort_settings: DisortSettings
Contains the full settings of spectral Disort calculations for atmospheric conditions.
Effective local shape
[NFREQ, unnamed, NQUADRATURE, unnamed, NFOURIER]
Input to workspace methods
Output from workspace method
Related workspace variables
- atm_disort_settings_agenda: Agenda
A specialization of
disort_settings_agendafor atmospheric calculations.See also
subsurf_disort_settings_agendafor a similar agenda for subsurface calculations..Execution and customization
You can execute
atm_disort_settings_agendadirectly from the workspace by callingatm_disort_settings_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
DisortSettingsAgendaOperator. See it,atm_disort_settings_agendaSetOperator(), andatm_disort_settings_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Input to workspace methods
Output from workspace method
Related workspace variables
- atm_field: AtmField
An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS.
The atmospheric field defines the altitude of the top-of-the-atmosphere, as well as the variables that are required for the radiative transfer calculations along a path through the atmosphere. The field can be accessed at any altitude, latitude, longitude path that is within the atmosphere to access the relevant atmospheric point data (
atm_point).Note that constraints on the various field parameters may be imposed by extrapolation limitations on the field parameter itself, causing some or large swaths of the atmosphere to be inaccessible.
The atmospheric field may, but does not have to, consist of the following:
Temperature - Atmospheric temperatures in Kelvin
Pressure - Atmospheric pressure in Pascal
Wind - Atmospheric wind field in meters per second
Magnetic Field - Magnetic field in Tesla
Species content - Usually the volume-mixing ratio of various species, with some exceptions. See
SpeciesEnumfor more details.Isotopologue ratios - The isotopologue ratios of various species. See
SpeciesIsotopefor more details.Non-local thermodynamics ratios - Unitless [pure-style] OR Kelvin [vibrational-style] ratios replacing the Boltzman distribution used in the LTE calculations.
Scattering species content - See user guide for more information. This is custom data to aid scattering calculations.
For more information, see The atmosphere.
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Input to workspace agendas
Modified by workspace agenda
Related workspace variables
- atm_path: ArrayOfAtmPoint
Atmospheric points along the propagation path.
See
atm_pointfor information about atmospheric pointsUsage: Output of radiative transfer methods.
Effective local shape
[NPATH]
Input to workspace methods
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- atm_point: AtmPoint
An atmospheric point in ARTS.
The atmospheric point consists of all the relevant atmospheric field data at a discrete point in the atmosphere. It is often extracted from an
AtmFieldat a single altitude-latitude-longitude but may of course be generated manually.See
atm_fieldfor the data that may be available in the atmospheric point.For more information, see The atmosphere.
Input to workspace methods
Output from workspace methods
Input to workspace agendas
Related workspace variables
- atm_profile: ArrayOfAtmPoint
A special case atmospheric profile in ARTS for 1D/2D calculations, see
atm_fieldfor the common interface.This exists to interface between the fully 3D atmospheric field native to ARTS and various 1D and 2D solvers that make use of profiles for fixed geometries.
The atmospheric profile consists of all the relevant atmospheric field data at a discrete profile in the atmosphere. It is often extracted from an
AtmFieldat a single latitude-longitude coordinate but may of course be generated manually.See
atm_fieldfor the data that may be available in the atmospheric point.The size of the profile is the same as
alt_grid.For more information, see The atmosphere.
Effective local shape
[NALT]
Input to workspace methods
Modified by workspace method
Output from workspace methods
Related workspace variables
- disort_fourier_mode_dimension: Index
The number of Fourier modes for Disort.
Input to workspace methods
Input to workspace agendas
Related workspace variables
- disort_legendre_polynomial_dimension: Index
The number of input Legendre polynimials for Disort.
Input to workspace methods
Input to workspace agendas
Related workspace variables
- disort_quadrature: ZenGriddedField1
The quadrature angles for Disort with accompying weights.
Size is
disort_quadrature_dimensionor zenith angle grid ofdisort_spectral_rad_field.Output from workspace methods
Related workspace variables
- disort_quadrature_dimension: Index
The quadrature size for Disort.
Input to workspace methods
Input to workspace agendas
Related workspace variables
- disort_settings: DisortSettings
Contains the full settings of spectral Disort calculations.
Effective local shape
[NFREQ, NLAYER, NQUADRATURE, NDISORT_LEGENDRE, NFOURIER]
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Output from workspace agendas
Related workspace variables
- disort_settings_agenda: Agenda
An agenda for setting up Disort.
See
disort_settings_agendaSetup()for prepared agenda settings.The only intent of this Agenda is to simplify the setup of Disort for different scenarios. The output of this Agenda is just that setting.
Execution and customization
You can execute
disort_settings_agendadirectly from the workspace by callingdisort_settings_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
DisortSettingsAgendaOperator. See it,disort_settings_agendaSetOperator(), anddisort_settings_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Input to workspace methods
Output from workspace methods
Input to workspace agenda
Related workspace variables
- disort_settings_downwelling_wrapper_agenda: Agenda
An wrapper agenda for calling
disort_settings_agenda.This agenda wraps the
disort_settings_agendato provide a simpler interface for the common case of calculating downwelling radiation. The idea is that a call todisort_settings_agendais made, and then a follow-up calculation of the down-welling radiation is done to set the boundary condition at the top of the tau-range covered by the ray path.One use-case is to use this agenda to give downwelling atmospheric radiation as a boundary condition to subsurface radiance calculation.
Execution and customization
See
disort_settings_downwelling_wrapper_agendaSet()for builtin options that selects execution options.You can execute
disort_settings_downwelling_wrapper_agendadirectly from the workspace by callingdisort_settings_downwelling_wrapper_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
disort_settings_downwelling_wrapper_agendaOperator. See it,disort_settings_downwelling_wrapper_agendaSetOperator(), anddisort_settings_downwelling_wrapper_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
spectral_rad_observer_agendapol = [1, 0, 0, 0]
Input to workspace methods
Output from workspace methods
Related workspace variables
- disort_spectral_flux_field: DisortFlux
The spectral flux field from Disort.
Effective local shape
Output from workspace methods
Related workspace variables
- disort_spectral_rad_field: DisortRadiance
The spectral radiance field from Disort.
Effective local shape
[NFREQ, NLAYER, NAZIMUTH, NZENITH]
Input to workspace method
Modified by workspace method
Output from workspace methods
Related workspace variables
- freq: Numeric
A single frequency. Unit: Hz.
Input to workspace methods
Modified by workspace method
Input to workspace agendas
Related workspace variables
- freq_grid: AscendingGrid
A frequency grid. Unit: Hz.
Note
There is no global grid system in ARTS, so beware of the local nature of all grids.
Effective local shape
[NFREQ]
Input to workspace methods
Modified by workspace method
Output from workspace methods
Input to workspace agendas
Related workspace variables
- freq_grid_path: ArrayOfAscendingGrid
All
freq_gridalong the propagation path.Effective local shape
Input to workspace methods
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- freq_wind_shift_jac: Vector3
The frequency wind shift Jacobian.
Used because all methods inside
spectral_propmat_agendawork on the frequency grid, not on the actual wind speed for the sake of wind shift Jacobian calculations.The order is
\[\begin{split}\left[ \begin{array}{c} \frac{\partial f}{\partial u} \\ \frac{\partial f}{\partial v} \\ \frac{\partial f}{\partial w} \end{array} \right]\end{split}\]Default value
0 0 0Input to workspace methods
Output from workspace methods
Input to workspace agendas
Related workspace variables
- freq_wind_shift_jac_path: ArrayOfVector3
A list of
freq_wind_shift_jacfor a ray path.Effective local shape
[NPATH]
Input to workspace methods
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- gravity_operator: NumericTernaryOperator
The gravity operator.
Usage: gravity =
gravity_operator(alt,lat,lon).Parameters
- altNumeric
Altitude in meters.
- latNumeric
Latitude in degrees.
- lonNumeric
Longitude in degrees.
Returns
- gravityNumeric
The gravity in \(\textrm{m/s}^2\).
Input to workspace method
Output from workspace method
- inversion_iterate_agenda: Agenda
Evaluate a retrieval state. See
oemCalc().model_state_targetsalways contains the complete state mapping used byUpdateModelStates()and measurement-error values.jac_targetscontains the derivative targets, or is empty for a value-only evaluation.Execution and customization
See
inversion_iterate_agendaSet()for builtin options that selects execution options.You can execute
inversion_iterate_agendadirectly from the workspace by callinginversion_iterate_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
inversion_iterate_agendaOperator. See it,inversion_iterate_agendaSetOperator(), andinversion_iterate_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
measurement_inversion_agenda
Input to workspace methods
Output from workspace methods
- jac_targets: JacobianTargets
A list of targets for the Jacobian Matrix calculations.
See
JacobianTargetTypefor more information. The targets are sorted by their type. A target must have information about its position in the target count, as well as the number of parameters it contributes to themodel_state_vec. It must know these things because it is able to map data between themodel_state_vecand the actual model field, e.g., theatm_field, thesurf_field, thesubsurf_field, theabs_bands, themeasurement_sensor, etc.Effective local shape
Default value
pyarts3.arts.JacobianTargets()Input to workspace methods
Modified by workspace methods
Output from workspace methods
Input to workspace agendas
Related workspace variables
- lat: Numeric
A single latitude.
Units: degrees
Default value
0Input to workspace methods
Output from workspace method
Related workspace variable
- lat_grid: LatGrid
An ascending list of
lat. Often related to a field or a profile.Units: degrees
Note
There is no global grid system in ARTS, so beware of the local nature of all grids.
Effective local shape
[NLAT]
Input to workspace method
Related workspace variables
- legendre_degree: Index
The degree of a Legendre polynomial.
Effective local shape
Input to workspace methods
Output from workspace methods
Input to workspace agenda
- lon: Numeric
A single longitude.
Units: degrees
Default value
0Input to workspace methods
Output from workspace method
Related workspace variable
- lon_grid: LonGrid
An ascending list of
lon. Often related to a field or a profile.Units: degrees
Note
There is no global grid system in ARTS, so beware of the local nature of all grids.
Effective local shape
[NLON]
Input to workspace method
Related workspace variables
- max_stepsize: Numeric
A control parameter for stepping through layers in ray tracing.
Default value
1000Input to workspace methods
Input to workspace agenda
- mc_antenna: MCAntenna
Transmit and receive antenna pattern for Monte Carlo calculations.
Input to workspace methods
- mc_error: Stokvec
Standard error of
mc_spectral_rad.Output from workspace method
- mc_iteration_count: Index
Number of photon histories used by
MCGeneral().Output from workspace method
- mc_spectral_rad: Stokvec
Passive Monte Carlo spectral radiance at one frequency.
Output from workspace method
Related workspace variables
- measurement_inversion_agenda: Agenda
Simulate the fitted measurement for the current physical model.
Apply
UpdateModelStates()before this helper, as the predefinedinversion_iterate_agendadoes.model_state_targetssupplies the full mapping for measurement-error values.jac_targetscontrols all derivatives; when it is empty,measurement_jacis empty. Both target sets are read-only.Execution and customization
See
measurement_inversion_agendaSet()for builtin options that selects execution options.You can execute
measurement_inversion_agendadirectly from the workspace by callingmeasurement_inversion_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
measurement_inversion_agendaOperator. See it,measurement_inversion_agendaSetOperator(), andmeasurement_inversion_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
abs_bandsShares the global
atm_fieldShares the global
measurement_sensorShares the global
model_state_vecShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_transform_operatorShares the global
subsurf_fieldShares the global
surf_fieldkernel = “Low Memory”
Input to workspace method
Output from workspace methods
- measurement_jac: Matrix
The first order partial derivatives of the
measurement_vec.This variable represents the matrix
\[\mathbf{J} = \frac{\partial \vec{y}} {\partial \vec{x}},\]where \(\vec{y}\) is the
measurement_vecand \(\vec{x}\) is themodel_state_vec. Please refer to those variables for more information. This workspace variable belongs to forward calculations and state mapping.oemCalc()andoemCalcReduced()return their result inoem.measurement_jac; they do not replace this independent workspace variable.Effective local shape
Modified by workspace methods
Output from workspace methods
Output from workspace agendas
Related workspace variables
- measurement_jac_error: Matrix
The partial derivatives of the
measurement_vec_error.This is otherwise the same as
measurement_jac. See it for more details.Effective local shape
Input to workspace method
Output from workspace method
Related workspace variables
- measurement_sensor: ArrayOfSensorObsel
A list of sensor elements that fully describe one or more observing sensor(s).
Size is number of elements of the sensor(s). These should correspond to what the sensor actually measures, e.g., the number of channels in a spectrometer, separate elements as a function of polarization, time, etc.
The frequency grid is shared between multiple sensor elements, so that the frequency grid identifies a sensor. Two sensor elements are considered to be from the same sensor if they share the same frequency grid. This is important for the inversion process, as it is used to determine how to compute the
measurement_jacandmeasurement_vec_error_covmat. Seemeasurement_sensor_metafor more information about how the sensor elements are structured.The size of this variable should be the same as
measurement_vec.Effective local shape
[NMEAS]
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Modified by workspace agenda
Related workspace variable
- measurement_sensor_meta: ArrayOfSensorMetaInfo
Metadata describing each sensor’s block in
measurement_vec.Each element corresponds to one
measurement_sensorAdd*call and describes how its contiguous block ofmeasurement_sensor/measurement_vecentries maps to a structured gridded field.The start index of each block is not stored explicitly; it is the cumulative sum of
count()from preceding elements.An entry can carry the observation time of its block. This is used to retain the acquisition-time grouping independently of the flattened measurement vector ordering.
Modified by workspace methods
Output from workspace methods
- measurement_vec: Vector
The measurement vector for, e.g., a sensor.
This is the core variable describing the measured data, or the model of measured data. It is the vector that is used in the inversion process to retrieve a model state vector.
This must often be the same size as
measurement_sensor.The notation in ARTS, for the purpose of
oemCalc(), is that\[\vec{y} = \mathbf{F}\left(\vec{x}\right) + \vec{y}_\epsilon\left(\vec{x}\right) + \epsilon\]where \(\mathbf{F}\) is the forward model function of the physics of the simulation space, \(\vec{x}\) is the
model_state_vec, \(\vec{y}_\epsilon\) is themeasurement_vec_error, and \(\epsilon\) are any additional errors, such as random noise.Throughout ARTS,
measurement_vechave different contextual meanings. These are:\(\vec{y}\) - the measured data by a sensor, i.e., the vector of observations.
\(\vec{y} - \epsilon\) - e.g., the best fit to measured data,
measurement_vec_fit.\(\mathbf{F}\left(\vec{x}\right)\) - i.e., the physical model of the measurement.
Effective local shape
[NMEAS]
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Related workspace variables
- measurement_vec_error: Vector
The error
measurement_vec.This must often be the same size as
measurement_sensor.See
measurement_vecfor more details. In that notation, this is \(\vec{y}_\epsilon\).Effective local shape
[NMEAS]
Input to workspace method
Output from workspace method
Related workspace variables
- measurement_vec_error_covmat: CovarianceMatrix
Covariance matrix for observation uncertainties.
Effective local shape
Modified by workspace method
Output from workspace method
Related workspace variables
- measurement_vec_fit: Vector
As
measurement_vec, but fitted to the model.This must often be the same size as
measurement_sensor.See
measurement_vecfor more details. In that notation, and in the notation ofoemCalc(), \(\vec{y}_f \approx \vec{y} - \epsilon\). Or at least this should be the case depending on how good of a fit of \(\vec{x}\) has been produced and if the measurement can be understood properly.Tip
It is often useful to present \(\vec{y} - \vec{y}_\epsilon\) and \(\vec{y}_f - \vec{y}_\epsilon\) instead of \(\vec{y}_f\) and \(\vec{y}\) directly. This removes the known measurement error from both the data and the fit, showing the physical signal from the target rather than known sensor noise.
This workspace variable belongs to forward calculations and state mapping.
oemCalc()andoemCalcReduced()return their result inoem.measurement_vec_fit; they do not replace this independent workspace variable.Effective local shape
[NMEAS]
Default value
[]Output from workspace methods
Output from workspace agendas
Related workspace variables
- model_state_covmat: CovarianceMatrix
Covariance matrix of a priori distribution.
Effective local shape
Modified by workspace method
Related workspace variable
- model_state_targets: JacobianTargets
Complete mapping from
model_state_vecto physical model fields and measurement errors.During
oemCalc(), this always contains the full retrieval targets. The separatejac_targetsmay be empty to disable derivatives without disabling state updates.Effective local shape
Input to workspace methods
Input to workspace agendas
- model_state_vec: Vector
A state vector of the model.
This represents the chosen state of the model. In the notation of
measurement_vecandoemCalc(), \(\vec{x}\) is themodel_state_vec.To choose the state of the model, you must setup
jac_targetsto include the state parameters you want to be able to change. This workspace variable belongs to forward calculations and state mapping.oemCalc()andoemCalcReduced()return their result inoem.model_state_vec; they do not replace this independent workspace variable.Effective local shape
[NSTATE]
Default value
[]Input to workspace methods
Modified by workspace methods
Output from workspace methods
Input to workspace agenda
Related workspace variables
- nlte_line_flux_profile: QuantumIdentifierVectorMap
A per-line flux profile.
Output from workspace method
Related workspace variables
- obs_los: Vector2
The line-of-sight of the observer of spectral radiance.
Most likely only makes sense in combination with
obs_pos.Input to workspace methods
Input to workspace agendas
Related workspace variables
- obs_pos: Vector3
The position of an observer of spectral radiance.
Most likely only makes sense in combination with
obs_los.Input to workspace methods
Input to workspace agendas
Related workspace variables
- oem: OptimalEstimationData
Numerical problem and results for
oemCalc()andoemCalcReduced().Use
oemInit()to move the primitive state, measurement, fit and Jacobian into this object. Covariance helpers and oemFinalizeDiagonal fill its covariance members. Basis helpers retain their spectrum and losses here. The physical fields and Jacobian targets remain in the workspace.The state basis B has shape (NSTATE, NSTATE_REDUCED), and the measurement basis C has shape (NMEAS_REDUCED, NMEAS). The full sizes are read from the prior and observation vectors, even when the current state or fit is empty. Reduced sizes are zero until the corresponding bases are set.
Effective local shape
[NSTATE, NMEAS, NSTATE_REDUCED, NMEAS_REDUCED]
Input to workspace method
Modified by workspace methods
Output from workspace methods
- radar_aux: Matrix
Auxiliary active-radar quantities.
Rows follow the requested auxiliary-variable names and columns follow
measurement_vec.Effective local shape
Output from workspace method
Related workspace variables
- radar_error: StokvecVector
Component-wise standard error of
radar_signalfor each range bin.Output from workspace method
Related workspace variables
- radar_range_limits: Matrix
Range-gate limits for active-radar measurements.
The matrix has one row per element of
measurement_sensorand two columns holding the lower and upper edge. The coordinate represented by the limits is selected by the radar forward method (altitude, one-way distance, or round-trip time).Input to workspace methods
Modified by workspace method
Related workspace variables
- radar_signal: StokvecVector
Monte Carlo radar return with one Stokes vector per range bin.
Output from workspace method
Related workspace variables
- ray_path: ArrayOfPropagationPathPoint
A list path points making up a propagation path.
Effective local shape
[NPATH]
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Input to workspace agendas
Modified by workspace agenda
Output from workspace agendas
Related workspace variables
- ray_path_field: ArrayOfArrayOfPropagationPathPoint
A list of
ray_pathintended to build up a field of observations.This is used by some methods to set up representative fields to help speed up computations.
Input to workspace method
Output from workspace methods
Related workspace variables
- ray_path_observer_agenda: Agenda
Gets the propagation path as it is observed.
The intent of this agenda is to provide a propagation path as seen from the observer position and line of sight.
Tip
The perhaps easiest way to set this agenda up is to use the
ray_path_observer_agendaSetGeometric()method.Execution and customization
See
ray_path_observer_agendaSet()for builtin options that selects execution options.You can execute
ray_path_observer_agendadirectly from the workspace by callingray_path_observer_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
ray_path_observer_agendaOperator. See it,ray_path_observer_agendaSetOperator(), andray_path_observer_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
atm_fieldShares the global
max_stepsizeShares the global
surf_fieldas_sensor = 1
ray_pathInit(), using: pos =obs_pos, los =obs_lossurf_search_accuracy = 0.1
surf_safe_search = 1
Input to workspace methods
Output from workspace methods
Related workspace variables
- ray_path_observers: ArrayOfPropagationPathPoint
A list path points making up the observers of a propagation path.
These can be used directly for
obs_posandobs_losInput to workspace method
Output from workspace methods
Related workspace variables
- ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint
A list of paths to the suns from the ray path.
Dimensions:
ray_pathxsunsxsun_pathInput to workspace methods
Output from workspace method
Related workspace variables
- ray_point: PropagationPathPoint
A single path point.
This consists of
The altitude in meters as a
Numeric.The latitude in degrees as a
Numeric.The longitude in degrees as a
Numeric.The zenith angle in degrees as a
Numeric.The azimuth angle in degrees as a
Numeric.The
PathPositionTypeof the path if it moves forward along its line of sight.The
PathPositionTypeof the of the path at its current position.Bulk refractive index at the path point as a
Numeric.Group refractive index at the path point as a
Numeric.
Input to workspace methods
Output from workspace methods
Input to workspace agendas
Output from workspace agenda
Related workspace variables
- ray_point_back_propagation_agenda: Agenda
Gets the next past point along a propagation path.
ray_pathmust have a point already. This point is propagated backwards.It is up to internal methods if they respect
single_dispersionor not.It is up to internal methods if they respect
max_stepsizeor not.The
RefractiveStepwiseoption consumessingle_dispersion. It can, for example, be paired withsingle_propmat_agendaSetGasMicrowavesEarth(),single_propmat_agendaSetGasMicrowavesGeneral(), orsingle_propmat_agendaSetWaterVisibleNIRHarvey98().A special exception may be made for a 1-size
ray_paththat is in space or at the surface, where the next point may be the same point as the input.The end of the path is reached when the last point in
ray_pathis atPathPositionTypespaceorsurface.Execution and customization
See
ray_point_back_propagation_agendaSet()for builtin options that selects execution options.You can execute
ray_point_back_propagation_agendadirectly from the workspace by callingray_point_back_propagation_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
ray_point_back_propagation_agendaOperator. See it,ray_point_back_propagation_agendaSetOperator(), andray_point_back_propagation_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
atm_fieldShares the global
surf_fieldsurf_search_accuracy = 0.1
surf_safe_search = 1
Ignore(), using: input =single_dispersionIgnore(), using: input =single_propmat
Input to workspace methods
Output from workspace methods
Related workspace variables
- rte_option: TransmittanceOption
The radiative transfer equation (RTE) option.
Default value
linsrcInput to workspace methods
- scat_species: ArrayOfScatteringSpecies
The scattering species
Input to workspace methods
Output from workspace method
Related workspace variables
- select_species: SpeciesEnum
Species selection.
When Bath is selected, all species are used. Otherwise, this variable should control so that only the selected species is used.
Default value
AIRInput to workspace methods
Input to workspace agendas
Related workspace variable
- select_species_list: ArrayOfSpeciesEnum
Species selection when multiple species must be chosen.
Input to workspace method
- single_dispersion: Numeric
A dispersion at a single
freqpoint.Input to workspace methods
Modified by workspace methods
Output from workspace methods
Input to workspace agenda
Output from workspace agenda
Related workspace variables
- single_dispersion_jac: Vector
A dispersion Jacobian at a single
freqpoint.Effective local shape
[NTARGET]
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- single_nlte_srcvec: Stokvec
A non-LTE source vector at a single
freqpoint.See
spectral_propmatfor more information.Output from workspace methods
Output from workspace agenda
Related workspace variables
- single_nlte_srcvec_jac: StokvecVector
A non-LTE source vector Jacobian at a single
freqpoint.See
spectral_propmat_jacfor more information.Effective local shape
[NTARGET]
Output from workspace methods
Output from workspace agenda
Related workspace variables
- single_propmat: Propmat
A propagation matrix at a single
freqpoint.See
spectral_propmatfor more information.Input to workspace methods
Modified by workspace method
Output from workspace methods
Input to workspace agenda
Output from workspace agenda
Related workspace variables
- single_propmat_agenda: Agenda
Computes the propagation matrix, the non-LTE source vector, the dispersion, and their derivatives.
The intent of this agenda is to be the workhorse for the propagation matrix calculations that are happening deep in your ARTS method calls. The methods in question here only compute a single frequency point at a time.
If you do not need single-frequency-point calculations, consider using
spectral_propmat_agendainstead as it will likely be more efficient.Convenience setters provide
single_dispersionfor microwave gases in Earth or planetary atmospheres and for visible/near-infrared water or steam.Execution and customization
You can execute
single_propmat_agendadirectly from the workspace by callingsingle_propmat_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
single_propmat_agendaOperator. See it,single_propmat_agendaSetOperator(), andsingle_propmat_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Input to workspace methods
Output from workspace methods
Related workspace variables
- single_propmat_jac: PropmatVector
A propagation matrix Jacobian at a single
freqpoint.See
spectral_propmat_jacfor more information.Effective local shape
[NTARGET]
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- single_rad: Stokvec
Single value version of
spectral_rad.Output from workspace methods
Output from workspace agendas
Related workspace variables
- single_rad_jac: StokvecVector
Single value version of
spectral_rad_jac.Effective local shape
[NSTATE]
Output from workspace methods
Output from workspace agendas
Related workspace variables
- single_rad_space_agenda: Agenda
Gets spectral radiance as seen of space for a single frequency.
Otherwise same as
spectral_rad_space_agenda.Execution and customization
See
single_rad_space_agendaSet()for builtin options that selects execution options.You can execute
single_rad_space_agendadirectly from the workspace by callingsingle_rad_space_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
single_rad_space_agendaOperator. See it,single_rad_space_agendaSetOperator(), andsingle_rad_space_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
spectral_rad_space_agendaindex = 0
Input to workspace methods
Output from workspace methods
Related workspace variables
- single_rad_surface_agenda: Agenda
Gets spectral radiance as seen of the surface for a single frequency.
Otherwise same as
spectral_rad_surface_agenda.Execution and customization
See
single_rad_surface_agendaSet()for builtin options that selects execution options.You can execute
single_rad_surface_agendadirectly from the workspace by callingsingle_rad_surface_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
single_rad_surface_agendaOperator. See it,single_rad_surface_agendaSetOperator(), andsingle_rad_surface_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
spectral_rad_surface_agendaindex = 0
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_absvec_scat: StokvecVector
The absorption vector of totally random orientation particles at a single point along a path using spectral representation
Effective local shape
[NFREQ]
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_absvec_scat_path: ArrayOfStokvecVector
The absorption vector of totally random orientation particles along the propagation path using spectral representation
Effective local shape
Input to workspace methods
Output from workspace method
Related workspace variables
- spectral_flux_profile: Matrix
An altitude profile of spectral flux.
Effective local shape
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_nlte_srcvec: StokvecVector
The part of the source vector that is due to non-LTE.
This is closely related to
spectral_propmat.Given the level source term:
\[\vec{J} = \mathbf{K}^{-1} \left(\vec{\alpha}B + \vec{J}_n + \cdots\right),\]this variable holds \(\vec{J}_n\). Here, \(\vec{\alpha}\) is the first column of \(\mathbf{K}\), which is from the
spectral_propmatvariable. \(B\) is the Planck function. The ellipsis denotes other terms that can come from more sources, such as scattering and/or transmitting equipment.The unit is in
spectral_radper meter.Effective local shape
[NFREQ]
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_nlte_srcvec_jac: StokvecMatrix
Partial derivative of the
spectral_nlte_srcvecwith regards tojac_targets.The units are
spectral_rad_jacper meter.Effective local shape
Modified by workspace methods
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix
Additional non-LTE derivative along the propagation path
Effective local shape
Input to workspace methods
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_nlte_srcvec_jac_profile: ArrayOfStokvecMatrix
Additional non-LTE derivative in a propagation profile
Note
Polarization is considered but if the profile is polarized, using it in anyways will yield invalid results.
Effective local shape
Input to workspace method
Output from workspace method
Related workspace variables
- spectral_nlte_srcvec_path: ArrayOfStokvecVector
Additional non-LTE along the propagation path
Effective local shape
Input to workspace methods
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_nlte_srcvec_profile: ArrayOfStokvecVector
Additional non-LTE in a propagation profile
Note
Polarization is considered but if the profile is polarized, using it in anyways will yield invalid results.
Effective local shape
Input to workspace method
Output from workspace method
Related workspace variables
- spectral_phamat_spectral: SpecmatMatrix
The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation
Effective local shape
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_phamat_spectral_path: ArrayOfSpecmatMatrix
The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation
Effective local shape
Input to workspace method
Output from workspace method
Related workspace variables
- spectral_propmat: PropmatVector
This contains the fully polarized propagation matrix for the current path point.
The propagation matrix can be used to computed the transmission matrix as:
\[\mathbf{T} = \exp\left(-\mathbf{K} r\right),\]where \(\mathbf{K}\) is the propagation matrix, and \(r\) is some distance over which it is considered constant.
The unit is [1 / m].
Effective local shape
[NFREQ]
Modified by workspace methods
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_propmat_agenda: Agenda
Computes the propagation matrix, the non-LTE source vector, and their derivatives.
The intent of this agenda is to be the workhorse for the propagation matrix calculations that are happening deep in your ARTS method calls.
Tip
Use
spectral_propmat_agendaAuto()after having defined your absorption data to create this agenda. It covers most use-cases.Execution and customization
See
spectral_propmat_agendaSet()for builtin options that selects execution options.You can execute
spectral_propmat_agendadirectly from the workspace by callingspectral_propmat_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_propmat_agendaOperator. See it,spectral_propmat_agendaSetOperator(), andspectral_propmat_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_propmat_and_atm_path_agenda: Agenda
Computes several path parameters along the path.
The main use of this agenda is to allow adapting the path points based on spectral parameters.
Execution and customization
See
spectral_propmat_and_atm_path_agendaSet()for builtin options that selects execution options.You can execute
spectral_propmat_and_atm_path_agendadirectly from the workspace by callingspectral_propmat_and_atm_path_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_propmat_and_atm_path_agendaOperator. See it,spectral_propmat_and_atm_path_agendaSetOperator(), andspectral_propmat_and_atm_path_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
spectral_propmat_agendaIgnore(), using: input =surf_field
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_propmat_jac: PropmatMatrix
Partial derivative of the
spectral_propmatwith regards tojac_targets.The units depend on what is set in
jac_targets[1 / m / jacobian target’s unit].Effective local shape
Modified by workspace methods
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_propmat_jac_path: ArrayOfPropmatMatrix
Propagation derivative matrices along the propagation path
Effective local shape
Input to workspace methods
Modified by workspace method
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_propmat_jac_profile: ArrayOfPropmatMatrix
Propagation derivative matrices in a propagation profile
Note
Polarization is considered but if the profile is polarized, using it in anyways will yield invalid results.
Effective local shape
Input to workspace method
Output from workspace method
Related workspace variables
- spectral_propmat_path: ArrayOfPropmatVector
Propagation matrices along the propagation path
Effective local shape
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_propmat_profile: ArrayOfPropmatVector
Propagation matrices in a propagation profile
Note
Polarization is considered but if the profile is polarized, using it in anyways will yield invalid results.
Effective local shape
Input to workspace method
Output from workspace method
Related workspace variables
- spectral_propmat_scat: PropmatVector
This contains the propagation matrix for scattering for the current path point.
This needs to be used when scattering into the line of sight is considered. And it needs then to also be added to the
spectral_propmat, which you should see for more information.The unit is [1 / m].
Effective local shape
[NFREQ]
Modified by workspace methods
Output from workspace methods
Output from workspace agendas
Related workspace variables
- spectral_propmat_scat_agenda: Agenda
Computes the part of the propagation matrix that relates to scattering.
Execution and customization
See
spectral_propmat_scat_agendaSet()for builtin options that selects execution options.You can execute
spectral_propmat_scat_agendadirectly from the workspace by callingspectral_propmat_scat_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_propmat_scat_agendaOperator. See it,spectral_propmat_scat_agendaSetOperator(), andspectral_propmat_scat_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_propmat_scat_path: ArrayOfPropmatVector
Propagation matrices along the propagation path for scattering
Effective local shape
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_propmat_scat_spectral_agenda: Agenda
Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix.
Execution and customization
See
spectral_propmat_scat_spectral_agendaSet()for builtin options that selects execution options.You can execute
spectral_propmat_scat_spectral_agendadirectly from the workspace by callingspectral_propmat_scat_spectral_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_propmat_scat_spectral_agendaOperator. See it,spectral_propmat_scat_spectral_agendaSetOperator(), andspectral_propmat_scat_spectral_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
scat_species
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_rad: StokvecVector
A spectral radiance vector.
This is the representation of the spectral radiances at discrete frequencies for a discrete viewing direction.
The unit of spectral radiance is [W / m \(^2\) sr Hz].
Note that there are conversion routines that changes this unit, e.g.,
spectral_radApplyUnit(). After conversion, the use ofspectral_radin any method no marked as safe for different units, will lead to undefined behavior with possibly bad values being computed.Effective local shape
[NFREQ]
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Output from workspace agendas
Related workspace variables
- spectral_rad_bkg: StokvecVector
Spectral radiance from the background
Effective local shape
[NFREQ]
Input to workspace methods
Output from workspace method
Related workspace variables
- spectral_rad_bkg_jac: StokvecMatrix
Spectral radiance derivative from the background
Effective local shape
Input to workspace methods
Output from workspace method
Related workspace variables
- spectral_rad_closed_surface_agenda: Agenda
A closed surface agenda.
It behave exactly like
spectral_rad_surface_agenda. It exists to allow chaining surface agendas. The idea is that the mainspectral_rad_surface_agendavariable is the first interface and can chain into another surface agenda - this one.Thus this agenda must be “closed”. It cannot call another
spectral_rad_surface_agenda, whereasspectral_rad_surface_agendacan call this agenda. Imagine a chain where thespectral_rad_surface_agendagets the reflectance from a land surface model and calls thespectral_rad_observer_agendato compute the downwelling radiation at the surface. It can in turn callspectral_rad_closed_surface_agendato get the upwelling radiation from the surface that is being emitted. That’s the type of use case this agenda is made for and why it exists!Execution and customization
See
spectral_rad_closed_surface_agendaSet()for builtin options that selects execution options.You can execute
spectral_rad_closed_surface_agendadirectly from the workspace by callingspectral_rad_closed_surface_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
SpectralRadianceSurfaceAgendaOperator. See it,spectral_rad_closed_surface_agendaSetOperator(), andspectral_rad_closed_surface_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Ignore(), using: input =subsurf_field
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_rad_field: GriddedSpectralField6
The spectral radiance field.
spectral_radbut for a field.Effective local shape
[NALT, NLAT, NLON, NZENITH, NAZIMUTH, NFREQ]
Input to workspace method
Output from workspace methods
Related workspace variables
- spectral_rad_jac: StokvecMatrix
Jacobian of
spectral_radwith respect tojac_targets.The size of this variable should be the local
jac_targetsas rows times the size of the localspectral_radas columns.Effective local shape
Input to workspace method
Modified by workspace methods
Output from workspace methods
Output from workspace agendas
Related workspace variables
- spectral_rad_jac_path: StokvecTensor3
Spectral radiance derivative along the propagation path
Effective local shape
Input to workspace method
Output from workspace methods
Related workspace variables
- spectral_rad_observer_agenda: Agenda
Computes spectral radiance as seen from the input position and environment.
The intent of this agenda is to provide the spectral radiance as seen from the observer position and line of sight.
It also outputs the
ray_pathas seen from the observer position and line of sight. This is useful in-case a call to the destructivespectral_radApplyUnitFromSpectralRadiance()is warranted.Execution and customization
See
spectral_rad_observer_agendaSet()for builtin options that selects execution options.You can execute
spectral_rad_observer_agendadirectly from the workspace by callingspectral_rad_observer_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_rad_observer_agendaOperator. See it,spectral_rad_observer_agendaSetOperator(), andspectral_rad_observer_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Shares the global
measurement_sensorShares the global
ray_path_observer_agendaShares the global
rte_optionShares the global
spectral_propmat_and_atm_path_agendaShares the global
spectral_rad_observer_agendaShares the global
spectral_rad_space_agendaShares the global
spectral_rad_surface_agendahse_derivative = 0
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_rad_operator: SpectralRadianceOperator
The spectral radiance operator.
This is a class that can compute the spectral radiance along a path for a single viewing direction and frequency.
It provides several methods to get the path of the spectral radiance.
Effective local shape
Input to workspace methods
Output from workspace method
Related workspace variables
- spectral_rad_scat_path: ArrayOfStokvecVector
Spectral radiance scattered into the propagation path
Effective local shape
Input to workspace method
Output from workspace methods
Related workspace variables
- spectral_rad_space_agenda: Agenda
Gets spectral radiance as seen of space.
This agenda calculates the spectral radiance as seen of space. One common use-case is to provide a background spectral radiance.
The input path point should be as if it is looking at space.
Execution and customization
See
spectral_rad_space_agendaSet()for builtin options that selects execution options.You can execute
spectral_rad_space_agendadirectly from the workspace by callingspectral_rad_space_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_rad_space_agendaOperator. See it,spectral_rad_space_agendaSetOperator(), andspectral_rad_space_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_rad_srcvec_path: SourceVector
Source vectors along the propagation path
The dimensions of the internal arrays are:
Jacobian:
freq_gridxray_pathxjac_targets(target count)
Effective local shape
Input to workspace method
Modified by workspace methods
Output from workspace method
Related workspace variables
- spectral_rad_surface_agenda: Agenda
Computes spectral radiance as seen of the surface.
This agenda calculates the spectral radiance as seen of the surface. One common use-case us to provide a background spectral radiance.
The input path point should be as if it is looking at the surface.
Subsurface calculations are also supported through this agenda, but might require setting
spectral_rad_closed_surface_agendaas well.Execution and customization
See
spectral_rad_surface_agendaSet()for builtin options that selects execution options.You can execute
spectral_rad_surface_agendadirectly from the workspace by callingspectral_rad_surface_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
SpectralRadianceSurfaceAgendaOperator. See it,spectral_rad_surface_agendaSetOperator(), andspectral_rad_surface_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Default value
Ignore(), using: input =subsurf_field
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_rad_transform_operator: SpectralRadianceTransformOperator
The spectral radiance transform operator
This is responsible for things like converting the spectral radiance into a different unit, e.g., from [W / m \(^2\) sr Hz] to Kelvin.
Default value
<SpectralRadianceTransformOperator::unit>Input to workspace methods
Output from workspace method
Related workspace variables
- spectral_surf_refl: MuelmatVector
Spectral surface reflectance.
Shape:
freq_gridEffective local shape
[NFREQ]
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_surf_refl_agenda: Agenda
An agenda to compute the surface reflectance.
Execution and customization
See
spectral_surf_refl_agendaSet()for builtin options that selects execution options.You can execute
spectral_surf_refl_agendadirectly from the workspace by callingspectral_surf_refl_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
spectral_surf_refl_agendaOperator. See it,spectral_surf_refl_agendaSetOperator(), andspectral_surf_refl_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Input to workspace methods
Output from workspace methods
Related workspace variables
- spectral_surf_refl_jac: MuelmatMatrix
Spectral surface reflectance jacobian.
Shape:
jac_targets- target count xfreq_gridEffective local shape
Output from workspace methods
Output from workspace agenda
Related workspace variables
- spectral_tramat_path: TransmittanceMatrix
Transmission matrices and derivatives along the propagation path.
The inner dimensions depends on
rte_optionandjac_targets.The object should have these sizes internally: - Transmission matrices:
freq_gridxray_path- Jacobian matrices:freq_gridxray_pathxjac_targets(target count) - Linear evolution operators:freq_gridxray_path(ifrte_optionrequires it) - Linear evolution operator Jacobians:freq_gridxray_pathxjac_targets(target count - ifrte_optionrequires it) - Cumulated transmission matrices:freq_gridxray_path(ifjac_targetshas any elements)Effective local shape
Input to workspace methods
Output from workspace method
Related workspace variables
- subsurf_disort_settings: DisortSettings
Contains the full settings of spectral Disort calculations for subsurface conditions.
Effective local shape
[NFREQ, unnamed, NQUADRATURE, unnamed, NFOURIER]
Input to workspace methods
Output from workspace method
Related workspace variables
- subsurf_disort_settings_agenda: Agenda
A specialization of
disort_settings_agendafor subsurface calculations.See also
atm_disort_settings_agendafor a similar agenda for atmospheric calculations.Execution and customization
You can execute
subsurf_disort_settings_agendadirectly from the workspace by callingsubsurf_disort_settings_agendaExecute().As all agendas in ARTS, it is also customizable via its operator helper class:
DisortSettingsAgendaOperator. See it,subsurf_disort_settings_agendaSetOperator(), andsubsurf_disort_settings_agendaExecuteOperator()for more details.Also see the
arts_agenda()decorator for how to fully define an agenda in python.Agenda output
Agenda input
Input to workspace methods
Output from workspace method
Related workspace variables
- subsurf_field: SubsurfaceField
The sub-surface field.
This contains global subsurface properties, such as temperature. It also contains many properties that are used by specific subsurface-related methods.
It is a 3D field with
alt,lat, andlondimensions.For more information, see The subsurface.
Default value
"bottom_depth": 1.7976931348623157e+308Input to workspace methods
Modified by workspace methods
Input to workspace agendas
Modified by workspace agenda
Related workspace variables
- subsurf_profile: ArrayOfSubsurfacePoint
A profile of subsurface points. Supposed to be ordered from top to bottom.
For more information, see The subsurface.
Effective local shape
[NDEPTH]
Input to workspace methods
Output from workspace method
Related workspace variables
- sun: Sun
A sun.
Input to workspace methods
Output from workspace methods
Related workspace variables
- sun_path: ArrayOfPropagationPathPoint
A path to a sun if it is visible.
A related variable is
ray_pathSize is number of path points for the sun.
Input to workspace method
Output from workspace method
Related workspace variables
- suns: ArrayOfSun
A list of
Sun.Size is number of suns.
Input to workspace methods
Related workspace variable
- surf_field: SurfaceField
The surface field.
This contains the global surface values, such as elevation and temperature but also entirely abstract properties and types that are used by specific surface-related methods.
It is a 2D field with
lat, andlondimensions.For more information, see The surface and planet.
Input to workspace methods
Modified by workspace methods
Output from workspace methods
Input to workspace agendas
Modified by workspace agenda
Related workspace variables
- telsem_atlas: TelsemAtlas
TELSEM monthly land-surface emissivity atlas.
Input to workspace method
Output from workspace method
- tessem_neth: TessemNN
TESSEM neural network for horizontal-polarization emissivity.
Input to workspace method
- tessem_netv: TessemNN
TESSEM neural network for vertical-polarization emissivity.
Input to workspace method
- water_equivalent_pressure_operator: NumericUnaryOperator
The water equivalent pressure operator.
Usage: psat = water_equivalent_pressure_operator(temperature).
Parameters
- temperatureNumeric
Temperature in Kelvin.
Returns
- psatNumeric
The water equivalent pressure in Pascal.
Input to workspace method
Output from workspace method
- zen_grid: ZenGrid
A single zenith angle grid.
Units: degrees
Note
There is no global grid system in ARTS, so beware of the local nature of all grids.
Effective local shape
[NZENITH]
Input to workspace methods
Output from workspace method
Related workspace variables
Operators
- __eq__(value, /)
Return self==value.
- __ge__(value, /)
Return self>=value.
- __gt__(value, /)
Return self>value.
- __hash__()
Return hash(self).
- __init__(self) None
- __init__(self, arg: CxxWorkspace) None
- __init__(self, with_defaults: bool = True) None
- __le__(value, /)
Return self<=value.
- __lt__(value, /)
Return self<value.
- __ne__(value, /)
Return self!=value.