CxxWorkspace

class pyarts3.arts.CxxWorkspace(*args, **kwargs)

The core ARTS Workspace

Overview

Method

Ignore()

Ignore a workspace variable.

Method

OEM()

Inversion by the so called optimal estimation method (OEM).

Method

ReadCatalogData()

Reads split catalog data from a folder structure similar to arts-cat-data

Method

ReadXML()

Reads a workspace variable from an XML file.

Method

ReadXMLIndexed()

As ReadXML(), but reads indexed file names.

Method

RetrievalAddAtmosphere()

Sets an atmospheric target.

Method

RetrievalAddErrorPolyFit()

Set a measurement error to polynomial fit.

Method

RetrievalAddMagneticField()

Set magnetic field derivative.

Method

RetrievalAddOverlappingMagneticField()

Set magnetic field derivative for overlapping fields.

Method

RetrievalAddOverlappingWindField()

Set wind field derivative for overlapping fields.

Method

RetrievalAddPressure()

Set pressure derivative.

Method

RetrievalAddSensorFrequencyPolyOffset()

Set sensor frequency derivative to use polynomial fitting offset

Method

RetrievalAddSpeciesIsotopologueRatio()

Set isotopologue ratio derivative

Method

RetrievalAddSpeciesVMR()

Set volume mixing ratio derivative.

Method

RetrievalAddSubsurface()

Sets a subsurface target

Method

RetrievalAddSurface()

Sets a surface target

Method

RetrievalAddTemperature()

Set temperature derivative.

Method

RetrievalAddWindField()

Set wind field derivative.

Method

RetrievalFinalizeDiagonal()

Finalize the retrieval setup.

Method

RetrievalInit()

Initialize the retrieval setup.

Method

SpectralFluxDisort()

Integrate Disort spectral radiance.

Method

Touch()

As Ignore() but for agenda output.

Method

UpdateModelStates()

Update state of the model in preparation for a forward model run

Method

WignerInit()

Initialize the Wigner tables

Method

WignerUnload()

Unloads the Wigner tables from static data (see WignerInit())

Method

WriteBuiltinPartitionFunctionsXML()

Writes all the builtin partition functions to file.

Method

WriteXML()

Writes a workspace variable to an XML file.

Method

WriteXMLIndexed()

As WriteXML(), but creates indexed file names.

Method

absorption_bandsFromModelState()

Sets absorption_bands to the state of the model.

Method

absorption_bandsKeepID()

Keeps first band of ID

Method

absorption_bandsLineMixingAdaptation()

Adapts select band to use ordered Line mixing coefficients.

Method

absorption_bandsReadHITRAN()

Reads HITRAN data from a file.

Method

absorption_bandsReadSpeciesSplitARTSCAT()

Same as absorption_bandsReadSpeciesSplitCatalog() but for reading the old ARTSCAT format.

Method

absorption_bandsReadSpeciesSplitCatalog()

Reads all species in absorption_species from a basename

Method

absorption_bandsReadSplit()

Reads all xml-files in a given directory and puts them into absorption_bands.

Method

absorption_bandsSaveSplit()

Saves all bands in absorption_bands to a directory

Method

absorption_bandsSelectFrequencyByBand()

Remove all bands whose lines all strictly falls outside a frequency range

Method

absorption_bandsSelectFrequencyByLine()

Remove all lines that strictly falls outside a frequency range

Method

absorption_bandsSetNonLTE()

Set all bands to use non-LTE calculations.

Method

absorption_bandsSetZeeman()

Set the Zeeman splitting for lines within the frequency range

Method

absorption_cia_dataReadFromCIA()

Read data from a CIA data file for all CIA molecules defined

Method

absorption_cia_dataReadFromXML()

Read data from a CIA XML file and check that all CIA tags defined

Method

absorption_cia_dataReadSpeciesSplitCatalog()

Reads a species split CIA dataset.

Method

absorption_lookup_tableCalc()

Get absorption_lookup_table from available data.

Method

absorption_lookup_tableFromProfiles()

Compute the lookup table for all species in absorption_bands.

Method

absorption_lookup_tableInit()

Initialize an empty lookup table.

Method

absorption_lookup_tablePrecompute()

Precompute the lookup table for a single species, adding it to the map.

Method

absorption_lookup_tablePrecomputeAll()

Compute the lookup table for all species in absorption_bands.

Method

absorption_lookup_tableSimpleWide()

Set up a simple wide lookup table for all species in absorption_bands.

Method

absorption_predefined_model_dataAddWaterMTCKD400()

Sets the data for MT CKD 4.0 Water model

Method

absorption_predefined_model_dataInit()

Initialize the predefined model data

Method

absorption_predefined_model_dataReadSpeciesSplitCatalog()

Reads absorption_predefined_model_data catalog but only for absorption_species

Method

absorption_speciesDefineAll()

Sets absorption_species to contain all species in ARTS

Method

absorption_speciesSet()

Set absorption_species to the named species.

Method

absorption_xsec_fit_dataReadSpeciesSplitCatalog()

Reads HITRAN Crosssection coefficients

Method

atmospheric_fieldAbsoluteMagneticField()

Set the magnetic field to use the magnitude field functional.

Method

atmospheric_fieldAbsoluteWindField()

Set the wind field to use the magnitude field functional.

Method

atmospheric_fieldAppendAuto()

Append data to the atmospheric field based on available absorption data.

Method

atmospheric_fieldAppendBaseData()

Append base data to the atmospheric field

Method

atmospheric_fieldAppendCIASpeciesData()

Append species data to the atmospheric field based on collision-induced absorption data.

Method

atmospheric_fieldAppendLineIsotopologueData()

Append isotopologue ratio data to the atmospheric field based on line data.

Method

atmospheric_fieldAppendLineLevelData()

Append NLTE data to the atmospheric field based on line data.

Method

atmospheric_fieldAppendLineSpeciesData()

Append species data to the atmospheric field based on line data.

Method

atmospheric_fieldAppendLookupTableSpeciesData()

Append species data to the atmospheric field based on absorption lookup table data.

Method

atmospheric_fieldAppendPredefSpeciesData()

Append species data to the atmospheric field based on absorption predefined model data.

Method

atmospheric_fieldAppendTagsSpeciesData()

Append species data to the atmospheric field based on absorption_species.

Method

atmospheric_fieldAppendXsecSpeciesData()

Append species data to the atmospheric field based on absorption cross-section fit data.

Method

atmospheric_fieldFitNonLTE()

Fits non-LTE atmospheric field values

Method

atmospheric_fieldFromModelState()

Sets atmospheric_field to the state of the model.

Method

atmospheric_fieldFromProfile()

Sets the atmospheric field to be the 1D atmospheric profile.

Method

atmospheric_fieldHydrostaticPressure()

Add the hydrostatic pressure to the atmospheric field

Method

atmospheric_fieldIGRF()

Use IGRF to compute the magnetic field at each point.

Method

atmospheric_fieldInit()

Initialize the atmospheric field with some altitude and isotopologue ratios

Method

atmospheric_fieldInitializeNonLTE()

Initialize the non-LTE atmospheric field from the LTE temperature field.

Method

atmospheric_fieldRead()

Read atmospheric data files from a directory

Method

atmospheric_fieldSchmidthFieldFromIGRF()

For forward calculations, this should be similar to atmospheric_fieldIGRF().

Method

atmospheric_pointInit()

Initialize an atmospheric point with some isotopologue ratios

Method

atmospheric_profileExtract()

Extract an atmospheric profile from the atmospheric field.

Method

atmospheric_profileFitNonLTE()

Fits non-LTE distributions to the level data.

Method

atmospheric_profileFromGrid()

Extract an atmospheric profile and its grids.

Method

disort_settingsCosmicMicrowaveBackgroundRadiation()

Space radiation into Disort is isotropic cosmic background radiation.

Method

disort_settingsDownwellingObserver()

Set the downwelling boundary condition using the observer agenda.

Method

disort_settingsInit()

Perform Disort calculations for spectral flux.

Method

disort_settingsLayerNonThermalEmissionLinearInTau()

Same as disort_settingsLayerThermalEmissionLinearInTau() but considers non-LTE

Method

disort_settingsLayerThermalEmissionLinearInTau()

Use a source function that changes linearly in optical thickness.

Method

disort_settingsLegendreCoefficientsFromPath()

Sets the legendre coefficients from the path-variable.

Method

disort_settingsNoFractionalScattering()

Turns off fractional scattering in Disort calculations.

Method

disort_settingsNoLayerThermalEmission()

Turns off source radiation in Disort calculations.

Method

disort_settingsNoLegendre()

Turns off Legendre coefficients in Disort calculations.

Method

disort_settingsNoSingleScatteringAlbedo()

Turns off single albedo scattering in Disort calculations.

Method

disort_settingsNoSpaceEmission()

Turns off boundary condition from space for Disort calculations.

Method

disort_settingsNoSun()

Turns off solar radiation in Disort calculations.

Method

disort_settingsNoSurfaceEmission()

Turns boundary condition from surface for Disort calculations.

Method

disort_settingsNoSurfaceScattering()

Turns off BDRF in Disort calculations.

Method

disort_settingsOpticalThicknessFromPath()

Get optical thickness from path.

Method

disort_settingsSetSun()

Uses Set the FOV to the sun input for Disort calculations.

Method

disort_settingsSingleScatteringAlbedoFromPath()

Sets the single scattering albedo from the path-variable.

Method

disort_settingsSubsurfaceEmissionByTemperature()

Subsurface boundary emission into Disort is based on temperature.

Method

disort_settingsSubsurfaceLayerThermalEmissionLinearInTau()

Use a source function that changes linearly in optical thickness.

Method

disort_settingsSubsurfaceScalarAbsorption()

Get optical thickness from subsurface path.

Method

disort_settingsSubsurfaceScalarSingleScatteringAlbedo()

Turns off single albedo scattering in Disort calculations.

Method

disort_settingsSurfaceEmissionByTemperature()

Surface radiation into Disort is isotropic from surface temperature.

Method

disort_settingsSurfaceLambertian()

Sets the surface to Lambertian.

Method

disort_settings_agendaExecute()

Executes disort_settings_agenda, see it for more details

Method

disort_settings_agendaExecuteOperator()

Executes an operator emulating disort_settings_agenda, see it, and also disort_settings_agendaOperator, for more details

Method

disort_settings_agendaSetOperator()

Set disort_settings_agenda to exclusively use provided external operator. See disort_settings_agendaOperator for more details.

Method

disort_settings_agendaSetup()

Setup for Disort standard calculations.

Method

disort_settings_agendaSubsurfaceSetup()

Setup for Disort subsurface calculations.

Method

disort_settings_downwelling_wrapper_agendaExecute()

Executes disort_settings_downwelling_wrapper_agenda, see it for more details

Method

disort_settings_downwelling_wrapper_agendaExecuteOperator()

Executes an operator emulating disort_settings_downwelling_wrapper_agenda, see it, and also disort_settings_downwelling_wrapper_agendaOperator, for more details

Method

disort_settings_downwelling_wrapper_agendaSet()

Set disort_settings_downwelling_wrapper_agenda to a specific predefined option

Method

disort_settings_downwelling_wrapper_agendaSetOperator()

Set disort_settings_downwelling_wrapper_agenda to exclusively use provided external operator. See disort_settings_downwelling_wrapper_agendaOperator for more details.

Method

disort_spectral_flux_fieldCalc()

Perform Disort calculations for spectral flux.

Method

disort_spectral_flux_fieldFromAgenda()

Use Disort for clearsky calculations of spectral flux field.

Method

disort_spectral_flux_fieldProfile()

Extract a 1D path through the atmosphere and calculate spectral flux using Disort.

Method

disort_spectral_radiance_fieldApplyUnit()

Convert units of the Disort spectral radiance field.

Method

disort_spectral_radiance_fieldCalc()

Perform Disort calculations for spectral radiance.

Method

disort_spectral_radiance_fieldCalcCdisort()

Perform CDisort calculations for spectral radiance.

Method

disort_spectral_radiance_fieldDepthProfile()

Sets a ray path from a point and depth profile and calculates spectral radiance using Disort.

Method

disort_spectral_radiance_fieldFromAgenda()

Use Disort for clearsky calculations of spectral radiance field.

Method

disort_spectral_radiance_fieldFromAgendaCdisort()

Use the disort settings agenda to calculate spectral radiance

Method

disort_spectral_radiance_fieldProfile()

Extract a 1D path through the atmosphere and calculate spectral radiance using Disort.

Method

disort_spectral_radiance_fieldProfileCdisort()

Extract a 1D path through the atmospheric field and calculate spectral radiance using Disort

Method

ecs_dataAddMakarov2020()

Sets the O2-66 microwave band data for ECS.

Method

ecs_dataAddMeanAir()

Sets ECS data for air from other data if available.

Method

ecs_dataAddRodrigues1997()

Sets the CO2-626, CO2-628, and CO2-636 band data for ECS.

Method

ecs_dataAddTran2011()

Sets the CO2-626, CO2-628, and CO2-636 band data for ECS.

Method

ecs_dataInit()

Resets/initializes the ECS data.

Method

flux_profileIntegrate()

Computes the spectral flux

Method

frequency_gridFitNonLTE()

Frequency grid useful for atmospheric_profileFitNonLTE().

Method

frequency_gridWindShift()

Applies wind shift to the frequency_grid for the local frequency grid.

Method

get()

Gets the value of the variable with the given name.

Method

gravity_operatorCentralMass()

Sets a gravity operator from the gravitational constant and the mass of the planet

Method

has()

Checks if the workspace contains the variable.

Method

init()

Overloaded function.

Method

inversion_iterate_agendaExecute()

Executes inversion_iterate_agenda, see it for more details

Method

inversion_iterate_agendaExecuteOperator()

Executes an operator emulating inversion_iterate_agenda, see it, and also inversion_iterate_agendaOperator, for more details

Method

inversion_iterate_agendaSet()

Set inversion_iterate_agenda to a specific predefined option

Method

inversion_iterate_agendaSetOperator()

Set inversion_iterate_agenda to exclusively use provided external operator. See inversion_iterate_agendaOperator for more details.

Method

jacobian_targetsAddAtmosphere()

Sets an atmospheric target.

Method

jacobian_targetsAddErrorPolyFit()

Set a measurement error to polynomial fit.

Method

jacobian_targetsAddMagneticField()

Set magnetic field derivative.

Method

jacobian_targetsAddOverlappingMagneticField()

Set magnetic field derivative for overlapping fields.

Method

jacobian_targetsAddOverlappingWindField()

Set wind field derivative for overlapping fields.

Method

jacobian_targetsAddPressure()

Set pressure derivative.

Method

jacobian_targetsAddSensorFrequencyPolyOffset()

Set sensor frequency derivative to use polynomial fitting offset

Method

jacobian_targetsAddSpeciesIsotopologueRatio()

Set isotopologue ratio derivative

Method

jacobian_targetsAddSpeciesVMR()

Set volume mixing ratio derivative.

Method

jacobian_targetsAddSubsurface()

Sets a subsurface target

Method

jacobian_targetsAddSurface()

Sets a surface target

Method

jacobian_targetsAddTemperature()

Set temperature derivative.

Method

jacobian_targetsAddWindField()

Set wind field derivative.

Method

jacobian_targetsConditionalClear()

Clears jacobian_targets if do_jacobian evaluates false.

Method

jacobian_targetsFinalize()

Finalize jacobian_targets.

Method

jacobian_targetsInit()

Initialize or reset the jacobian_targets.

Method

jacobian_targetsOff()

Turns off jacobian_targets

Method

jacobian_targetsToggleLogRelAtmTarget()

Toggles logarithmic/relative or absolute retrievals.

Method

jacobian_targetsToggleLogRelSubsurfaceTarget()

Toggles logarithmic/relative or absolute retrievals.

Method

jacobian_targetsToggleLogRelSurfaceTarget()

Toggles logarithmic/relative or absolute retrievals.

Method

jacobian_targetsToggleLogarithmicAtmTarget()

Toggles logarithmic or absolute retrievals.

Method

jacobian_targetsToggleLogarithmicSubsurfaceTarget()

Toggles logarithmic or absolute retrievals.

Method

jacobian_targetsToggleLogarithmicSurfaceTarget()

Toggles logarithmic or absolute retrievals.

Method

jacobian_targetsToggleRelativeAtmTarget()

Toggles relative or absolute retrievals.

Method

jacobian_targetsToggleRelativeHumidityAtmTarget()

Toggles relative humidity or absolute retrievals.

Method

jacobian_targetsToggleRelativeSubsurfaceTarget()

Toggles relative or absolute retrievals.

Method

jacobian_targetsToggleRelativeSurfaceTarget()

Toggles relative or absolute retrievals.

Method

legendre_degreeFromDisortSettings()

Sets legendre_degree to disort_settings legendre_polynomial_dimension

Method

measurement_averaging_kernelCalc()

Calculate the averaging kernel matrix.

Method

measurement_inversion_agendaExecute()

Executes measurement_inversion_agenda, see it for more details

Method

measurement_inversion_agendaExecuteOperator()

Executes an operator emulating measurement_inversion_agenda, see it, and also measurement_inversion_agendaOperator, for more details

Method

measurement_inversion_agendaSet()

Set measurement_inversion_agenda to a specific predefined option

Method

measurement_inversion_agendaSetOperator()

Set measurement_inversion_agenda to exclusively use provided external operator. See measurement_inversion_agendaOperator for more details.

Method

measurement_jacobianAtmosphereTransformation()

Applies transformations to the atmospheric state Jacobian

Method

measurement_jacobianBandTransformation()

Applies transformations to the line-by-line state Jacobian

Method

measurement_jacobianSensorTransformation()

Applies transformations to the measurement sensor state Jacobian

Method

measurement_jacobianSubsurfaceTransformation()

Applies transformations to the subsurface state Jacobian

Method

measurement_jacobianSurfaceTransformation()

Applies transformations to the surface state Jacobian

Method

measurement_jacobianTransformations()

Apply all transformations to the Jacobian related to states in model_state_vectorFromData()

Method

measurement_sensorAddRawSensor()

Adds sensor elements from a raw perturbation of the sensor

Method

measurement_sensorAddSimple()

Adds a sensor with a dirac channel opening around the frequency grid.

Method

measurement_sensorAddSimpleGaussian()

Adds a sensor with a Gaussian channel opening around the frequency grid.

Method

measurement_sensorAddVectorGaussian()

Adds a sensor with a Gaussian channel opening around the frequency grid.

Method

measurement_sensorFromModelState()

Update measurement_sensor from model_state_vector.

Method

measurement_sensorInit()

Initialize measurement_sensor to empty.

Method

measurement_sensorMakeExclusive()

Make the measurement_sensor excluive.

Method

measurement_sensorSimple()

Creates a single simple Dirac-opening sensor

Method

measurement_sensorSimpleGaussian()

Creates a single simple Gaussian-opening sensor.

Method

measurement_sensorVectorGaussian()

Creates a single simple Gaussian-opening sensor.

Method

measurement_vectorConditionalAddError()

Add the measurement error to the measurement. Conditionally, also to the Jacobian.

Method

measurement_vectorFromOperatorPath()

Sets measurement vector by looping over all sensor elements

Method

measurement_vectorFromSensor()

Sets measurement vector by looping over all sensor elements

Method

measurement_vector_errorFromModelState()

Set the error and its Jacobian from the state of the model.

Method

measurement_vector_error_covariance_matrixConstant()

Sets a constant measurement vector error covariance matrix.

Method

measurement_vector_error_covariance_matrix_observation_systemCalc()

Calculates the covariance matrix describing the error due to uncertainties in the observation system.

Method

measurement_vector_fittedFromMeasurement()

Sets the fitted measurement vector to the current measurement vector.

Method

model_state_covariance_matrixAddSpeciesVMR()

Set a species model state covariance matrix element.

Method

model_state_covariance_matrixInit()

Initialises the model state covariance matrix to the identity matrix.

Method

model_state_covariance_matrix_smoothing_errorCalc()

Calculates the covariance matrix describing the error due to smoothing.

Method

model_state_vectorFromAtmosphere()

Sets model_state_vector’s atmospheric part.

Method

model_state_vectorFromBands()

Sets model_state_vector’s absorption line part.

Method

model_state_vectorFromData()

Get model_state_vector from available data

Method

model_state_vectorFromSensor()

Sets model_state_vector’s sensor part.

Method

model_state_vectorFromSubsurface()

Sets model_state_vector’s subsurface part.

Method

model_state_vectorFromSurface()

Sets model_state_vector’s surface part.

Method

model_state_vectorInit()

Sets model_state_vector to the size jacobian_targets demand.

Method

model_state_vectorPerturbations()

Sets model_state_vector to the size jacobian_targets demand.

Method

model_state_vector_aprioriFromData()

Get model_state_vector_apriori from available data

Method

model_state_vector_aprioriFromState()

Sets the a priori state of the model state vector to the current state.

Method

nlte_line_flux_profileIntegrate()

Integrate the spectral flux profile to get the line non-LTE flux

Method

propagation_matrixAddCIA()

Add absorption coefficients for HITRAN collision induced absorption (CIA).

Method

propagation_matrixAddFaraday()

Calculates absorption matrix describing Faraday rotation.

Method

propagation_matrixAddLines()

Add line-by-line absorption to the propagation matrix.

Method

propagation_matrixAddLookup()

Add line-by-line absorption to the propagation matrix.

Method

propagation_matrixAddPredefined()

Adds all of the predefined models in absorption_species to the propagation_matrix

Method

propagation_matrixAddXsecFit()

Calculate absorption cross sections per tag group for HITRAN xsec species.

Method

propagation_matrixInit()

Initialize propagation_matrix, propagation_matrix_source_vector_nonlte, and their derivatives to zeroes.

Method

propagation_matrix_agendaAuto()

Sets the propagation_matrix_agenda automatically from absorption data and species tag meta information.

Method

propagation_matrix_agendaExecute()

Executes propagation_matrix_agenda, see it for more details

Method

propagation_matrix_agendaExecuteOperator()

Executes an operator emulating propagation_matrix_agenda, see it, and also propagation_matrix_agendaOperator, for more details

Method

propagation_matrix_agendaSet()

Set propagation_matrix_agenda to a specific predefined option

Method

propagation_matrix_agendaSetOperator()

Set propagation_matrix_agenda to exclusively use provided external operator. See propagation_matrix_agendaOperator for more details.

Method

propagation_matrix_jacobianWindFix()

Fix for the wind field derivative.

Method

propagation_matrix_scatteringAddSpectralScatteringSpeciesTRO()

Adds scattering_species results for totally random oriented spectral calculations to

Method

propagation_matrix_scatteringAirSimple()

Add simple air to propagation_matrix_scattering.

Method

propagation_matrix_scatteringInit()

Initialize propagation_matrix_scattering to zeroes.

Method

propagation_matrix_scatteringSpectralInit()

Initialize propagation_matrix_scattering and co to zeroes.

Method

propagation_matrix_scattering_agendaExecute()

Executes propagation_matrix_scattering_agenda, see it for more details

Method

propagation_matrix_scattering_agendaExecuteOperator()

Executes an operator emulating propagation_matrix_scattering_agenda, see it, and also propagation_matrix_scattering_agendaOperator, for more details

Method

propagation_matrix_scattering_agendaSet()

Set propagation_matrix_scattering_agenda to a specific predefined option

Method

propagation_matrix_scattering_agendaSetOperator()

Set propagation_matrix_scattering_agenda to exclusively use provided external operator. See propagation_matrix_scattering_agendaOperator for more details.

Method

propagation_matrix_scattering_spectral_agendaExecute()

Executes propagation_matrix_scattering_spectral_agenda, see it for more details

Method

propagation_matrix_scattering_spectral_agendaExecuteOperator()

Executes an operator emulating propagation_matrix_scattering_spectral_agenda, see it, and also propagation_matrix_scattering_spectral_agendaOperator, for more details

Method

propagation_matrix_scattering_spectral_agendaSet()

Set propagation_matrix_scattering_spectral_agenda to a specific predefined option

Method

propagation_matrix_scattering_spectral_agendaSetOperator()

Set propagation_matrix_scattering_spectral_agenda to exclusively use provided external operator. See propagation_matrix_scattering_spectral_agendaOperator for more details.

Method

ray_pathAddGeometricGridCrossings()

Fill the path with with points that crosses the grid of the atmspheric field.

Method

ray_pathAddLimbPoint()

Add the limb point to the ray path

Method

ray_pathFillGeometricHalfStep()

Fill the path with geometric step points.

Method

ray_pathFillGeometricStepwise()

Fill the path with geometric step points.

Method

ray_pathFixUpdownAzimuth()

Fix azimuth angle errors that can occur for 180 and 0 degrees zenith.

Method

ray_pathFromPointAndDepth()

Create a depth profile ray path from a point.

Method

ray_pathGeometric()

Get a geometric radiation path

Method

ray_pathGeometricDownlooking()

Wraps ray_pathGeometric() for straight downlooking paths from the top-of-the-atmosphere altitude

Method

ray_pathGeometricUplooking()

Wraps ray_pathGeometric() for straight uplooking paths from the surface altitude at the position

Method

ray_pathInit()

Initialize the ray path with a single point.

Method

ray_pathRemoveNearby()

Remove points that are too close to each other.

Method

ray_pathRemoveNonAtm()

Remove non-atmospheric points to the ray path

Method

ray_pathRemoveNonGeometricGridCrossings()

Remove all non-geometric grid crossings from the ray path.

Method

ray_pathSetGeometricExtremes()

Add the geometric extremes to the ray path.

Method

ray_path_atmospheric_pointFromPath()

Gets the atmospheric points along the path.

Method

ray_path_atmospheric_pointFromProfile()

Set ray_path_atmospheric_point = atmospheric_profile.

Method

ray_path_fieldFluxProfile()

Adds observers that covers all zenith angles for each altitude point.

Method

ray_path_fieldFromObserverAgenda()

Create a ray path field from a set of observers.

Method

ray_path_frequency_gridFromPath()

Gets the frequency grids along the path.

Method

ray_path_observer_agendaExecute()

Executes ray_path_observer_agenda, see it for more details

Method

ray_path_observer_agendaExecuteOperator()

Executes an operator emulating ray_path_observer_agenda, see it, and also ray_path_observer_agendaOperator, for more details

Method

ray_path_observer_agendaSetGeometric()

Set ray_path_observer_agenda from programmable geometric settings.

Method

ray_path_observer_agendaSetOperator()

Set ray_path_observer_agenda to exclusively use provided external operator. See ray_path_observer_agendaOperator for more details.

Method

ray_path_observersFieldProfilePseudo2D()

Get a list of observer positions and line of sights to represent observing all angles of a profile.

Method

ray_path_observersFluxProfile()

Add \(n\) observers per altitude point.

Method

ray_path_pointBackground()

Sets ray_path_point to the expected background point of ray_path

Method

ray_path_pointForeground()

Sets ray_path_point to the expected foreground point of ray_path

Method

ray_path_pointHighestFromPath()

Sets ray_path_point to the highest altitude point of ray_path.

Method

ray_path_pointLowestFromPath()

Sets ray_path_point to the lowest altitude point of ray_path.

Method

ray_path_propagation_matrixAddScattering()

Adds the scattering part of the propagation matrix to the rest along the path.

Method

ray_path_propagation_matrixFromPath()

Gets the propagation matrix and non-LTE source term along the path.

Method

ray_path_propagation_matrix_scatteringFromPath()

Gets the propagation matrix for scattering along the path.

Method

ray_path_propagation_matrix_scatteringFromSpectralAgenda()

Compute ray_path_propagation_matrix_scattering and co for a path.

Method

ray_path_propagation_matrix_species_splitFromPath()

As ray_path_propagation_matrixFromPath() but the output is split between the species in the

Method

ray_path_spectral_radiance_scatteringSunsFirstOrderRayleigh()

Add suns to ray_path_spectral_radiance_source.

Method

ray_path_spectral_radiance_sourceAddScattering()

Adds the scattering part of the propagation matrix to the rest along the path.

Method

ray_path_spectral_radiance_sourceFromPropmat()

Gets the source term along the path.

Method

ray_path_suns_pathFromPathObserver()

Wraps sun_pathFromObserverAgenda() for all paths to all suns.

Method

ray_path_transmission_matrixFromPath()

Gets the transmission matrix in layers along the path.

Method

ray_path_transmission_matrix_cumulativeFromPath()

Sets ray_path_transmission_matrix_cumulative by forward iteration of ray_path_transmission_matrix

Method

ray_path_zeeman_magnetic_fieldFromPath()

Sets a path of Zeeman effect magnetic field properties.

Method

readxml()

Read variable from file.

Method

savexml()

Saves variable to file.

Method

scattering_speciesInit()

Initialize scattering species.

Method

set()

Set the variable to the new value.

Method

spectral_flux_profileFromPathField()

Computes the spectral flux from a field of paths.

Method

spectral_flux_profileFromSpectralRadianceField()

Computes the spectral flux. The input field must be a profile.

Method

spectral_flux_profilePseudo2D()

Computes the spectral flux profile using pseudo-2D geometry

Method

spectral_radianceApplyForwardUnit()

Helper to call spectral_radianceApplyUnit() when you do not have spectral_radiance_jacobian.

Method

spectral_radianceApplyUnit()

Applies a unit to spectral_radiance, returning a new field

Method

spectral_radianceApplyUnitFromSpectralRadiance()

Helper method for calling spectral_radianceApplyUnit().

Method

spectral_radianceClearskyBackgroundTransmission()

Computes clearsky transmission of spectral radiances

Method

spectral_radianceClearskyEmission()

Computes clearsky emission of spectral radiances

Method

spectral_radianceClearskyRayleighScattering()

Computes clearsky emission of spectral radiances with solar Rayleigh scattering

Method

spectral_radianceClearskyTransmission()

Computes clearsky transmission of spectral radiances

Method

spectral_radianceCumulativeTransmission()

Gets the spectral radiance from the path transmission.

Method

spectral_radianceDefaultTransmission()

Sets default spectral_radiance and spectral_radiance_jacobian for transmission.

Method

spectral_radianceFromDisort()

Extract spectral radiance from the Disort field at the ray path point.

Method

spectral_radianceIntegrateDisort()

Integrate Disort spectral radiance.

Method

spectral_radianceStepByStepEmission()

Gets the spectral radiance from the path.

Method

spectral_radianceSubsurfaceDisortEmission()

Get the spectral radiance from subsurface emission simulated using Disort

Method

spectral_radianceSubsurfaceDisortEmissionWithJacobian()

Gets the spectral radiance from the path.

Method

spectral_radianceSunOrCosmicBackground()

Get the spectral radiance of a sun or of the cosmic background if the sun is not hit.

Method

spectral_radianceSunsOrCosmicBackground()

Get the spectral radiance of a sun or of the cosmic background if no sun is hit.

Method

spectral_radianceSurfaceBlackbody()

Set surface spectral radiance from Planck function of the surface temperature.

Method

spectral_radianceSurfaceReflectance()

Set surface spectral radiance to use sub-surface emission and Fresnel reflectance.

Method

spectral_radianceUniformCosmicBackground()

Background spectral radiance is from a uniform cosmic background temperature.

Method

spectral_radiance_backgroundAgendasAtEndOfPath()

Computes the background radiation.

Method

spectral_radiance_fieldFromOperatorPath()

Computes the spectral radiance field using ray_path_observer_agenda.

Method

spectral_radiance_fieldFromOperatorPlanarGeometric()

Computes the spectral radiance field assuming planar geometric paths

Method

spectral_radiance_fieldProfilePseudo2D()

Computes the spectral radiance field assuming a profile and a pseudo-2D path.

Method

spectral_radiance_jacobianAddPathPropagation()

Adds the propagation variables to spectral_radiance_jacobian.

Method

spectral_radiance_jacobianAddSensorJacobianPerturbations()

Adds sensor properties to the spectral_radiance_jacobian.

Method

spectral_radiance_jacobianEmpty()

Set the radiation derivative to empty.

Method

spectral_radiance_jacobianFromBackground()

Sets spectral_radiance_jacobian from the background values.

Method

spectral_radiance_observer_agendaExecute()

Executes spectral_radiance_observer_agenda, see it for more details

Method

spectral_radiance_observer_agendaExecuteOperator()

Executes an operator emulating spectral_radiance_observer_agenda, see it, and also spectral_radiance_observer_agendaOperator, for more details

Method

spectral_radiance_observer_agendaSet()

Set spectral_radiance_observer_agenda to a specific predefined option

Method

spectral_radiance_observer_agendaSetOperator()

Set spectral_radiance_observer_agenda to exclusively use provided external operator. See spectral_radiance_observer_agendaOperator for more details.

Method

spectral_radiance_operatorClearsky1D()

Set up a 1D spectral radiance operator

Method

spectral_radiance_space_agendaExecute()

Executes spectral_radiance_space_agenda, see it for more details

Method

spectral_radiance_space_agendaExecuteOperator()

Executes an operator emulating spectral_radiance_space_agenda, see it, and also spectral_radiance_space_agendaOperator, for more details

Method

spectral_radiance_space_agendaSet()

Set spectral_radiance_space_agenda to a specific predefined option

Method

spectral_radiance_space_agendaSetOperator()

Set spectral_radiance_space_agenda to exclusively use provided external operator. See spectral_radiance_space_agendaOperator for more details.

Method

spectral_radiance_surface_agendaExecute()

Executes spectral_radiance_surface_agenda, see it for more details

Method

spectral_radiance_surface_agendaExecuteOperator()

Executes an operator emulating spectral_radiance_surface_agenda, see it, and also spectral_radiance_surface_agendaOperator, for more details

Method

spectral_radiance_surface_agendaSet()

Set spectral_radiance_surface_agenda to a specific predefined option

Method

spectral_radiance_surface_agendaSetOperator()

Set spectral_radiance_surface_agenda to exclusively use provided external operator. See spectral_radiance_surface_agendaOperator for more details.

Method

spectral_radiance_transform_operatorSet()

Creates a SpectralRadianceTransformOperator from a SpectralRadianceUnitType.

Method

subsurface_fieldFromModelState()

Sets subsurface_field to the state of the model.

Method

subsurface_profileFromPath()

Extract a subsurface profile from a ray path.

Method

sunBlackbody()

Set sun to blackbody.

Method

sunFromGrid()

Extracts a sun spectrum from a field of such data.

Method

sun_pathFromObserverAgenda()

Find a path that hits the sun if possible

Method

surface_fieldEarth()

Earth reference ellipsoids.

Method

surface_fieldEuropa()

Europa reference ellipsoids.

Method

surface_fieldFromModelState()

Sets surface_field to the state of the model.

Method

surface_fieldGanymede()

Ganymede reference ellipsoids.

Method

surface_fieldInit()

Manual setting of the reference ellipsoid.

Method

surface_fieldIo()

Io reference ellipsoids.

Method

surface_fieldJupiter()

Jupiter reference ellipsoids.

Method

surface_fieldMars()

Mars reference ellipsoids.

Method

surface_fieldMoon()

Moon reference ellipsoids.

Method

surface_fieldPlanet()

Initialize the surface field with the ellipsoid of a planet.

Method

surface_fieldVenus()

Venus reference ellipsoids.

Method

surface_reflectanceFlatRealFresnel()

Set the surface reflectance to the flat real Fresnel reflectance

Method

surface_reflectanceFlatScalar()

Set the surface reflectance to the flat real Fresnel reflectance

Method

surface_reflectance_agendaExecute()

Executes surface_reflectance_agenda, see it for more details

Method

surface_reflectance_agendaExecuteOperator()

Executes an operator emulating surface_reflectance_agenda, see it, and also surface_reflectance_agendaOperator, for more details

Method

surface_reflectance_agendaSet()

Set surface_reflectance_agenda to a specific predefined option

Method

surface_reflectance_agendaSetOperator()

Set surface_reflectance_agenda to exclusively use provided external operator. See surface_reflectance_agendaOperator for more details.

Method

swap()

Swap the workspace for andother.

Method

transmission_matrix_backgroundFromPathPropagationBack()

Sets transmission_matrix_background to back of ray_path_transmission_matrix_cumulative.

Method

transmission_matrix_backgroundFromPathPropagationFront()

Sets transmission_matrix_background to front of ray_path_transmission_matrix_cumulative.

Method

water_equivalent_pressure_operatorMK05()

Calculate equivalent water pressure according to Murphy and Koop, 2005

Method

zenith_gridProfilePseudo2D()

A custom zenith grid for spectral_radiance_fieldProfilePseudo2D()

Static Method

fromxml()

Create variable from file.

AbsorptionBands

absorption_bands

Bands of absorption lines for line-by-line (LBL) calculations.

ArrayOfCIARecord

absorption_cia_data

HITRAN Collision-Induced Absorption (CIA) Data.

AbsorptionLookupTables

absorption_lookup_table

Absorption lookup table for scalar gas absorption coefficients.

PredefinedModelData

absorption_predefined_model_data

This contains predefined model data.

ArrayOfArrayOfSpeciesTag

absorption_species

Tag groups for gas absorption.

StokvecVector

absorption_vector_scattering

The absorption vector of totally random orientation particles at a single point along a path using spectral representation

ArrayOfXsecRecord

absorption_xsec_fit_data

Fitting model coefficients for cross section species.

Numeric

altitude

A single altitude in the atmosphere.

AscendingGrid

altitude_grid

An ascending list of altitude. Often related to a field or a profile.

AtmField

atmospheric_field

An atmospheric field in ARTS.

AtmPoint

atmospheric_point

An atmospheric point in ARTS.

ArrayOfAtmPoint

atmospheric_profile

An atmospheric profile in ARTS.

JacobianTargetsDiagonalCovarianceMatrixMap

covariance_matrix_diagonal_blocks

A helper map for setting the covariance matrix.

Index

disort_fourier_mode_dimension

The number of Fourier modes for Disort.

Index

disort_legendre_polynomial_dimension

The number of input Legendre polynimials for Disort.

ZenithGriddedField1

disort_quadrature

The quadrature angles for Disort with accompying weights.

Index

disort_quadrature_dimension

The quadrature size for Disort.

DisortSettings

disort_settings

Contains the full settings of spectral Disort calculations.

Agenda

disort_settings_agenda

An agenda for setting up Disort.

Agenda

disort_settings_downwelling_wrapper_agenda

An wrapper agenda for calling disort_settings_agenda.

DisortFlux

disort_spectral_flux_field

The spectral flux field from Disort.

DisortRadiance

disort_spectral_radiance_field

The spectral radiance field from Disort.

Index

do_jacobian

A boolean calculations related to the measurement_jacobian should be ignored.

LinemixingEcsData

ecs_data

Error corrected sudden data

AscendingGrid

frequency_grid

A single frequency grid.

Vector3

frequency_grid_wind_shift_jacobian

The frequency grid wind shift Jacobian.

NumericTernaryOperator

gravity_operator

The gravity operator.

Agenda

inversion_iterate_agenda

Work in progress …

Index

inversion_iterate_agenda_counter

A counter for the inversion iterate agenda.

JacobianTargets

jacobian_targets

A list of targets for the Jacobian Matrix calculations.

Numeric

latitude

A single latitude.

LatGrid

latitude_grid

An ascending list of latitude. Often related to a field or a profile.

Index

legendre_degree

The degree of a Legendre polynimial.

Numeric

longitude

A single longitude.

LonGrid

longitude_grid

An ascending list of longitude. Often related to a field or a profile.

Matrix

measurement_averaging_kernel

Averaging kernel matrix.

Matrix

measurement_gain_matrix

Contribution function (or gain) matrix.

Agenda

measurement_inversion_agenda

This is a helper Agenda intended for use within inversion_iterate_agenda.

Matrix

measurement_jacobian

The first order partial derivatives of the measurement_vector.

Matrix

measurement_jacobian_error

The partial derivatives of the measurement_vector_error.

ArrayOfSensorObsel

measurement_sensor

A list of sensor elements.

Vector

measurement_vector

The measurment vector for, e.g., a sensor.

Vector

measurement_vector_error

The model measurment vector error for, e.g., a sensor.

CovarianceMatrix

measurement_vector_error_covariance_matrix

Covariance matrix for observation uncertainties.

Vector

measurement_vector_fitted

As measurement_vector, but fitted to the model.

CovarianceMatrix

model_state_covariance_matrix

Covariance matrix of a priori distribution.

Vector

model_state_vector

A state vector of the model.

Vector

model_state_vector_apriori

An apriori state vector of the model.

QuantumIdentifierVectorMap

nlte_line_flux_profile

A per-line flux profile.

SpecmatMatrix

phase_matrix_scattering_spectral

The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation

PropmatVector

propagation_matrix

This contains the fully polarized propagation matrix for the current path point.

Agenda

propagation_matrix_agenda

Computes the propagation matrix, the non-LTE source vector, and their derivatives.

PropmatMatrix

propagation_matrix_jacobian

Partial derivative of the propagation_matrix with regards to jacobian_targets.

PropmatVector

propagation_matrix_scattering

The propgation matrix of totally random orientation particles at a single point along a path using spectral representation

Agenda

propagation_matrix_scattering_agenda

Computes the part of the propagation matrix that relates to scattering.

Agenda

propagation_matrix_scattering_spectral_agenda

Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix.

StokvecVector

propagation_matrix_source_vector_nonlte

The part of the source vector that is due to non-LTE.

StokvecMatrix

propagation_matrix_source_vector_nonlte_jacobian

Partial derivative of the propagation_matrix_source_vector_nonlte with regards to jacobian_targets.

ArrayOfPropagationPathPoint

ray_path

A list path points making up a propagation path.

ArrayOfStokvecVector

ray_path_absorption_vector_scattering

The absorption vector of totally random orientation particles along the propagation path using spectral representation

ArrayOfAtmPoint

ray_path_atmospheric_point

Atmospheric points along the propagation path.

ArrayOfArrayOfPropagationPathPoint

ray_path_field

A list of ray_path intended to build up a field of observations.

ArrayOfAscendingGrid

ray_path_frequency_grid

All frequency_grid along the propagation path.

ArrayOfVector3

ray_path_frequency_grid_wind_shift_jacobian

A list of frequency_grid_wind_shift_jacobian for a ray path.

Agenda

ray_path_observer_agenda

Gets the propagation path as it is obeserved.

ArrayOfPropagationPathPoint

ray_path_observers

A list path points making up the observers of a propagation path.

ArrayOfSpecmatMatrix

ray_path_phase_matrix_scattering_spectral

The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation

PropagationPathPoint

ray_path_point

A single path point.

ArrayOfPropmatVector

ray_path_propagation_matrix

Propagation matrices along the propagation path

ArrayOfPropmatMatrix

ray_path_propagation_matrix_jacobian

Propagation derivative matrices along the propagation path

ArrayOfPropmatVector

ray_path_propagation_matrix_scattering

Propagation matrices along the propagation path for scattering

ArrayOfStokvecVector

ray_path_propagation_matrix_source_vector_nonlte

Additional non-LTE along the propagation path

ArrayOfStokvecMatrix

ray_path_propagation_matrix_source_vector_nonlte_jacobian

Additional non-LTE derivative along the propagation path

ArrayOfStokvecMatrix

ray_path_spectral_radiance_jacobian

Spectral radiance derivative along the propagation path

ArrayOfStokvecVector

ray_path_spectral_radiance_scattering

Spectral radiance scattered into the propagation path

ArrayOfStokvecVector

ray_path_spectral_radiance_source

Source vectors along the propagation path

ArrayOfStokvecMatrix

ray_path_spectral_radiance_source_jacobian

Source derivative vectors along the propagation path

ArrayOfArrayOfArrayOfPropagationPathPoint

ray_path_suns_path

A list of paths to the suns from the ray path.

ArrayOfMuelmatVector

ray_path_transmission_matrix

Transmission matrices along the propagation path.

ArrayOfMuelmatVector

ray_path_transmission_matrix_cumulative

Cumulative transmission matrices along the propagation path

ArrayOfMuelmatTensor3

ray_path_transmission_matrix_jacobian

Transmission derivative matrices along the propagation path.

ArrayOfScatteringSpecies

scattering_species

The scattering species

SpeciesEnum

select_species

Species selection.

ArrayOfSpeciesEnum

select_species_list

Species selection when multiple species must be chosen.

Matrix

spectral_flux_profile

An altitude profile of spectral flux.

StokvecVector

spectral_radiance

A spectral radiance vector.

StokvecVector

spectral_radiance_background

Spectral radiance from the background

StokvecMatrix

spectral_radiance_background_jacobian

Spectral radiance derivative from the background

Agenda

spectral_radiance_closed_surface_agenda

A closed surface agenda.

GriddedSpectralField6

spectral_radiance_field

The spectral radiance field.

StokvecMatrix

spectral_radiance_jacobian

Jacobian of spectral_radiance with respect to jacobian_targets.

Agenda

spectral_radiance_observer_agenda

Computes spectral radiance as seen from the input position and environment.

Vector2

spectral_radiance_observer_line_of_sight

The line-of-sight of the observer of spectral radiance.

Vector3

spectral_radiance_observer_position

The position of an observer of spectral radiance.

SpectralRadianceOperator

spectral_radiance_operator

The spectral radiance operator.

Agenda

spectral_radiance_space_agenda

Gets spectral radiance as seen of space.

Agenda

spectral_radiance_surface_agenda

Computes spectral radiance as seen of the surface.

SpectralRadianceTransformOperator

spectral_radiance_transform_operator

The spectral radiance transform operator

SubsurfaceField

subsurface_field

The sub-surface field.

ArrayOfSubsurfacePoint

subsurface_profile

A profile of subsurface points. Supposed to be ordered from top to bottom.

Sun

sun

A sun.

ArrayOfPropagationPathPoint

sun_path

A path to a sun if it is visible.

ArrayOfSun

suns

A list of Sun.

SurfaceField

surface_field

The surface field.

MuelmatVector

surface_reflectance

Spectral surface reflectance.

Agenda

surface_reflectance_agenda

An agenda to compute the surface reflectance.

MuelmatMatrix

surface_reflectance_jacobian

Spectral surface reflectance jacobian.

MuelmatVector

transmission_matrix_background

Transmittance from the background

NumericUnaryOperator

water_equivalent_pressure_operator

The water equivalent pressure operator.

WsvMap

wsv

The workspace variables

ZenithGrid

zenith_grid

A single zenith angle grid.

Operator

__eq__()

Return self==value.

Operator

__format__()

__format__(self, arg: str, /) -> str

Operator

__ge__()

Return self>=value.

Operator

__getstate__()

Helper for pickle.

Operator

__gt__()

Return self>value.

Operator

__hash__()

Return hash(self).

Operator

__init__()

__init__(self, with_defaults: bool = True) -> None

Operator

__iter__()

Allows iter(self)

Operator

__le__()

Return self<=value.

Operator

__lt__()

Return self<value.

Operator

__ne__()

Return self!=value.

Operator

__repr__()

__repr__(self) -> str

Operator

__str__()

__str__(self) -> str

Constructors

__init__(self) None
__init__(self, arg: pyarts3.arts.CxxWorkspace) None
__init__(self, with_defaults: bool = True) None

Methods

Ignore(self, input: object | None = None) 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]

OEM(self, model_state_vector: pyarts3.arts.Vector | None = None, measurement_vector_fitted: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, measurement_gain_matrix: pyarts3.arts.Matrix | None = None, oem_diagnostics: pyarts3.arts.Vector | None = None, lm_ga_history: pyarts3.arts.Vector | None = None, errors: pyarts3.arts.ArrayOfString | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, model_state_vector_apriori: pyarts3.arts.Vector | None = None, model_state_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None, measurement_vector: pyarts3.arts.Vector | None = None, measurement_vector_error_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None, inversion_iterate_agenda: pyarts3.arts.Agenda | None = None, method: pyarts3.arts.String | None = None, max_start_cost: pyarts3.arts.Numeric | None = None, model_state_covariance_matrix_normalization: pyarts3.arts.Vector | None = None, max_iter: pyarts3.arts.Index | None = None, stop_dx: pyarts3.arts.Numeric | None = None, lm_ga_settings: pyarts3.arts.Vector | None = None, clear_matrices: pyarts3.arts.Index | None = None, display_progress: pyarts3.arts.Index | None = None) None

Inversion by the so called optimal estimation method (OEM).

Work in progress …

The cost function to minimise, including a normalisation with length of measurement_vector, 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}\)

model_state_vector

The model state vector. All model states that are allowed to vary.

\(\vec{x}_a\)

model_state_vector_apriori

The a priori model state vector.

\(\vec{y}\)

measurement_vector

The measurement vector. This is the measurement that the OEM is trying to fit.

\(\vec{y}_f\)

measurement_vector_fitted

The fitted measurement vector. The simulated measurement vector for the model state vector.

\(\mathbf{S}_\epsilon\)

measurement_vector_error_covariance_matrix

The error covariance matrix of the measurement vector.

\(\mathbf{S}_a\)

model_state_covariance_matrix

The a priori covariance matrix of the model state vector.

The current implementation provides 3 methods for the minimization of the cost functional: Linear, Gauss-Newton and Levenberg-Marquardt. The Gauss-Newton minimizer attempts to find a minimum solution by fitting a quadratic function to the cost functional. The linear minimizer is a special case of the Gauss-Newton method, since for a linear forward model the exact solution of the minimization problem is obtained after the first step. The Levenberg-Marquardt method adaptively constrains the search region for the next iteration step by means of the so-called gamma-factor. This makes the method more suitable for strongly non-linear problems. If the gamma-factor is 0, Levenberg-Marquardt and Gauss-Newton method are identical. Each minimization method (li,gn,lm) has an indirect variant (li_cg,gn_cg,lm_cg), which uses the conjugate gradient solver for the linear system that has to be solved in each minimzation step. This of advantage for very large problems, that would otherwise require the computation of expensive matrix products.

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.

    • "gn": Non-linear, with Gauss-Newton iteration scheme.

    • "gn_cg": Non-linear, with Gauss-Newton and conjugate gradient solver.

    • "lm": Non-linear, with Levenberg-Marquardt (LM) iteration scheme.

    • "lm_cg": Non-linear, with Levenberg-Marquardt (LM) iteration scheme and conjugate gradient solver.

  • max_start_cost:

    No inversion is done if the cost matching the a priori state is above this value. If set to a negative value, all values are accepted. This argument also controls if the start cost is calculated. If set to <= 0, the start cost in oem_diagnostics is set to NaN when using “li” and “gn”.

  • x_norm:

    A normalisation vector for model_state_vector. A normalisation of model_state_vector can be needed due to limited numerical precision. If this vector is set to be empty no normalisation is done (defualt case). Otherwise, this must be a vector with same length as model_state_vector, just having values above zero. Elementwise division between model_state_vector and x_norm (x./x_norm) shall give a vector where all values are in the order of unity. Maybe the best way to set x_norm is x_norm = sqrt( diag( Sx ) ).

  • max_iter:

    Maximum number of iterations to perform. No effect for “li”.

  • stop_dx:n”

    Iteration stop criterion. The criterion used is the same as given in Rodgers' “Inverse Methods for Atmospheric Sounding”

  • lm_ga_settings:

    Settings controlling the gamma factor, part of the “LM” method. This is a vector of length 6, having the elements (0-based index):

    1. Start value.

    2. Fractional decrease after succesfull iteration.

    3. Fractional increase after unsuccessful iteration.

    4. Maximum allowed value. If the value is passed, the inversion is halted.

    5. Lower treshold. If the threshold is passed, gamma is set to zero. If gamma must be increased from zero, gamma is set to this value.

    6. Gamma limit. This is an additional stop criterion. Convergence is not considered until there has been one succesful iteration having a gamma <= this value.

    The default setting triggers an error if “lm” is selected.

  • clear matrices:

    With this flag set to 1, measurement_jacobian and measurement_gain_matrix are returned as empty matrices.

  • display_progress:

    Controls if there is any screen output. The overall report level is ignored by this WSM.

Author: Patrick Eriksson

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [INOUT]

  • measurement_vector_fitted (Vector, optional) – As measurement_vector, but fitted to the model. See measurement_vector_fitted, defaults to self.measurement_vector_fitted [INOUT]

  • measurement_jacobian (Matrix, optional) – The first order partial derivatives of the measurement_vector. See measurement_jacobian, defaults to self.measurement_jacobian [INOUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [INOUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [INOUT]

  • subsurface_field (SubsurfaceField, optional) – The sub-surface field. See subsurface_field, defaults to self.subsurface_field [INOUT]

  • measurement_gain_matrix (Matrix, optional) – Contribution function (or gain) matrix. See measurement_gain_matrix, defaults to self.measurement_gain_matrix [OUT]

  • oem_diagnostics (Vector) – Basic diagnostics of an OEM type inversion. Defaults to create and/or use self.oem_diagnostics : Vector. [OUT]

  • lm_ga_history (Vector) – The series of gamma values for a Marquardt-levenberg inversion. Defaults to create and/or use self.lm_ga_history : Vector. [OUT]

  • errors (ArrayOfString) – Errors encountered during OEM execution. Defaults to create and/or use self.errors : ArrayOfString. [OUT]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • model_state_vector_apriori (Vector, optional) – An apriori state vector of the model. See model_state_vector_apriori, defaults to self.model_state_vector_apriori [IN]

  • model_state_covariance_matrix (CovarianceMatrix, optional) – Covariance matrix of a priori distribution. See model_state_covariance_matrix, defaults to self.model_state_covariance_matrix [IN]

  • measurement_vector (Vector, optional) – The measurment vector for, e.g., a sensor. See measurement_vector, defaults to self.measurement_vector [IN]

  • measurement_vector_error_covariance_matrix (CovarianceMatrix, optional) – Covariance matrix for observation uncertainties. See measurement_vector_error_covariance_matrix, defaults to self.measurement_vector_error_covariance_matrix [IN]

  • inversion_iterate_agenda (Agenda, optional) – Work in progress … See inversion_iterate_agenda, defaults to self.inversion_iterate_agenda [IN]

  • method (String) – Iteration method. For this and all options below, see further above. [IN]

  • max_start_cost (Numeric, optional) – Maximum allowed value of cost function at start. Defaults to inf [IN]

  • model_state_covariance_matrix_normalization (Vector, optional) – Normalisation of Sx. Defaults to [] [IN]

  • max_iter (Index, optional) – Maximum number of iterations. Defaults to 10 [IN]

  • stop_dx (Numeric, optional) – Stop criterion for iterative inversions. Defaults to 0.01 [IN]

  • lm_ga_settings (Vector, optional) – Settings associated with the ga factor of the LM method. Defaults to [] [IN]

  • clear_matrices (Index, optional) – An option to save memory. Defaults to 0 [IN]

  • display_progress (Index, optional) – Flag to control if inversion diagnostics shall be printed on the screen. Defaults to 0 [IN]

ReadCatalogData(self, absorption_predefined_model_data: pyarts3.arts.PredefinedModelData | None = None, absorption_xsec_fit_data: pyarts3.arts.ArrayOfXsecRecord | None = None, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, ignore_missing: pyarts3.arts.Index | None = None) None

Reads split catalog data from a folder structure similar to arts-cat-data

Wraps:

Author: Richard Larsson

Parameters:
  • absorption_predefined_model_data (PredefinedModelData, optional) – This contains predefined model data. See absorption_predefined_model_data, defaults to self.absorption_predefined_model_data [OUT]

  • absorption_xsec_fit_data (ArrayOfXsecRecord, optional) – Fitting model coefficients for cross section species. See absorption_xsec_fit_data, defaults to self.absorption_xsec_fit_data [OUT]

  • absorption_cia_data (ArrayOfCIARecord, optional) – HITRAN Collision-Induced Absorption (CIA) Data. See absorption_cia_data, defaults to self.absorption_cia_data [OUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [OUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String, optional) – Absolute or relative path to the data. Defaults to "" [IN]

  • ignore_missing (Index, optional) – Ignore missing files instead of throwing an error. Defaults to 0 [IN]

ReadXML(self, output: object | None = None, filename: pyarts3.arts.String | None = None) 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 fromxml and readxml that 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) – Variable to be read. Defaults to create and/or use self.output : Any. [OUT]

  • filename (String) – Name of the XML file. [IN]

ReadXMLIndexed(self, output: object | None = None, file_index: pyarts3.arts.Index | None = None, filename: pyarts3.arts.String | None = None, digits: pyarts3.arts.Index | None = None) 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 filename shall here not include the .xml extension.

Note

ARTS groups, including those that are not workspace groups, generally have two methods called fromxml and readxml that 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 : Any. [OUT]

  • file_index (Index) – Index of the file to read. [IN]

  • filename (String) – File name. See above. [IN]

  • digits (Index, optional) – Equalize the widths of all numbers by padding with zeros as necessary. 0 means no padding (default). Defaults to 0 [IN]

RetrievalAddAtmosphere(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, target: pyarts3.arts.AtmKey | pyarts3.arts.SpeciesEnum | pyarts3.arts.SpeciesIsotope | pyarts3.arts.QuantumLevelIdentifier | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Sets an atmospheric target.

This method wraps jacobian_targetsAddAtmosphere() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
RetrievalAddErrorPolyFit(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, t: pyarts3.arts.Vector | None = None, sensor_elem: pyarts3.arts.Index | None = None, polyorder: pyarts3.arts.Index | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set a measurement error to polynomial fit.

This is a generic error that is simply added to measurement_vector as if

\[y = y_0 + \epsilon(p_0,\; p_1,\; \cdots,\; p_n),\]

where \(y\) represents measurement_vector and \(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_vector are those with regards to a, b, etc..

Note

The rule for the sensor_elem GIN is a bit complex. Generally, methods such as measurement_sensorAddSimple() will simply add a single unique frequency grid to all the different SensorObsel that they add to the measurement_sensor. The GIN sensor_elem is 0 for the first unique frequency grid, 1 for the second, and so on. See ArrayOfSensorObsel member methods in python for help identifying and manipulating how many unique frequency grids are available in measurement_sensor.

This method wraps jacobian_targetsAddErrorPolyFit() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, 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 (Index, optional) – The order of the polynomial fit. Maximum \(n\) above. Defaults to 0 [IN]

  • matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]

  • inverse (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddMagneticField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, component: pyarts3.arts.String | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set magnetic field derivative.

See FieldComponent for valid component.

This method wraps jacobian_targetsAddMagneticField() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • component (String) – The component to use [u, v, w]. [IN]

  • d (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 (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddOverlappingMagneticField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) 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 jacobian_targetsAddOverlappingMagneticField() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
RetrievalAddOverlappingWindField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) 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 jacobian_targetsAddOverlappingWindField() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
RetrievalAddPressure(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set pressure derivative.

This method wraps jacobian_targetsAddPressure() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • d (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 (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddSensorFrequencyPolyOffset(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, d: pyarts3.arts.Numeric | None = None, sensor_elem: pyarts3.arts.Index | None = None, polyorder: pyarts3.arts.Index | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) 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_vector are those with regards to a, b, etc..

Note

The rule for the sensor_elem GIN is a bit complex. Generally, methods such as measurement_sensorAddSimple() will simply add a single unique frequency grid to all the different SensorObsel that they add to the measurement_sensor. The GIN sensor_elem is 0 for the first unique frequency grid, 1 for the second, and so on. See ArrayOfSensorObsel member methods in python for help identifying and manipulating how many unique frequency grids are available in measurement_sensor.

This method wraps jacobian_targetsAddSensorFrequencyPolyOffset() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [IN]

  • d (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 (Index, optional) – The order of the polynomial fit. Defaults to 0 [IN]

  • matrix (BlockMatrix) – The covariance diagonal block matrix. [IN]

  • inverse (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddSpeciesIsotopologueRatio(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, species: pyarts3.arts.SpeciesIsotope | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set isotopologue ratio derivative

See SpeciesIsotope for valid species

This method wraps jacobian_targetsAddSpeciesIsotopologueRatio() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • species (SpeciesIsotope) – The species isotopologue of interest. [IN]

  • d (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 (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddSpeciesVMR(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, species: pyarts3.arts.SpeciesEnum | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set volume mixing ratio derivative.

See SpeciesEnum for valid species

This method wraps jacobian_targetsAddSpeciesVMR() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • species (SpeciesEnum) – The species of interest. [IN]

  • d (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 (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddSubsurface(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, target: pyarts3.arts.SubsurfaceKey | pyarts3.arts.SubsurfacePropertyTag | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Sets a subsurface target

This method wraps jacobian_targetsAddSubsurface() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
RetrievalAddSurface(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, target: pyarts3.arts.SurfaceKey | pyarts3.arts.SurfacePropertyTag | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Sets a surface target

This method wraps jacobian_targetsAddSurface() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
RetrievalAddTemperature(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set temperature derivative.

This method wraps jacobian_targetsAddTemperature() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • d (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 (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalAddWindField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, component: pyarts3.arts.String | None = None, d: pyarts3.arts.Numeric | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set wind field derivative.

Note that the derivatives from methods that takes the freqeuncy will return their derivatives as if these were frequency derivatives.

See FieldComponent for valid component

This method wraps jacobian_targetsAddWindField() together with adding the covariance matrices, to the covariance_matrix_diagonal_blocks, which are required to perform OEM().

The input covariance matrices must fit the size of the later computed model state represented by the jacobian_targets. The covariance matrix inverse

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • covariance_matrix_diagonal_blocks (JacobianTargetsDiagonalCovarianceMatrixMap, optional) – A helper map for setting the covariance matrix. See covariance_matrix_diagonal_blocks, defaults to self.covariance_matrix_diagonal_blocks [INOUT]

  • component (String) – The component to use [u, v, w]. [IN]

  • d (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 (BlockMatrix, optional) – The inverse covariance diagonal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

RetrievalFinalizeDiagonal(self, model_state_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None) None

Finalize the retrieval setup.

See jacobian_targetsFinalize() for more information.

Author: Richard Larsson

Parameters:
RetrievalInit(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, model_state_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None, covariance_matrix_diagonal_blocks: pyarts3.arts.JacobianTargetsDiagonalCovarianceMatrixMap | None = None) None

Initialize the retrieval setup.

Author: Richard Larsson

Parameters:
SpectralFluxDisort(self, spectral_flux_field_up: pyarts3.arts.Matrix | None = None, spectral_flux_field_down: pyarts3.arts.Matrix | None = None, disort_spectral_flux_field: pyarts3.arts.DisortFlux | None = None) None

Integrate Disort spectral radiance.

Author: Richard Larsson

Parameters:
  • spectral_flux_field_up (Matrix) – Upward spectral flux field. Defaults to create and/or use self.spectral_flux_field_up : Matrix. [OUT]

  • spectral_flux_field_down (Matrix) – Downward spectral flux field. Defaults to create and/or use self.spectral_flux_field_down : Matrix. [OUT]

  • disort_spectral_flux_field (DisortFlux, optional) – The spectral flux field from Disort. See disort_spectral_flux_field, defaults to self.disort_spectral_flux_field [IN]

Touch(self, input: object | 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 : Any. [OUT]

UpdateModelStates(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, model_state_vector: pyarts3.arts.Vector | None = None) 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.absorption_bandsFromModelState()
6 ws.surface_fieldFromModelState()
7 ws.subsurface_fieldFromModelState()
8 ws.atmospheric_fieldFromModelState()
9 ws.measurement_sensorFromModelState()

Author: Richard Larsson

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [INOUT]

  • subsurface_field (SubsurfaceField, optional) – The sub-surface field. See subsurface_field, defaults to self.subsurface_field [INOUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [INOUT]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

WignerInit(self, fast_wigner_stored_symbols: pyarts3.arts.Index | None = None, largest_wigner_symbol_parameter: pyarts3.arts.Index | None = None, symbol_type: pyarts3.arts.Index | None = None) 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 [11]. 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 (Index, optional) – Number of stored symbols possible before replacements. Defaults to 20000000 [IN]

  • largest_wigner_symbol_parameter (Index, optional) – Largest symbol used for initializing factorials (e.g., largest J or L). Defaults to 250 [IN]

  • symbol_type (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: pyarts3.arts.String | None = None, dir: pyarts3.arts.String | None = None, Tlow: pyarts3.arts.Numeric | None = None, Tupp: pyarts3.arts.Numeric | None = None, N: pyarts3.arts.Index | None = None) 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 FileType for valid output_file_format.

Author: Richard Larsson

Parameters:
  • output_file_format (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: pyarts3.arts.String | None = None, input: object | None = None, filename: pyarts3.arts.String | None = None, no_clobber: pyarts3.arts.Index | None = None) 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 FileType for valid output_file_format.

Note

ARTS groups, including those that are not workspace groups, generally have a method called savexml that 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 (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 (Index, optional) – 0: Overwrite existing files, 1: Use unique filenames. Defaults to 0 [IN]

WriteXMLIndexed(self, output_file_format: pyarts3.arts.String | None = None, file_index: pyarts3.arts.Index | None = None, input: object | None = None, filename: pyarts3.arts.String | None = None, digits: pyarts3.arts.Index | None = None) 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 filename shall here not include the .xml extension.

See FileType for valid output_file_format.

Note

ARTS groups, including those that are not workspace groups, generally have a method called savexml that 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 (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 (Index, optional) – Equalize the widths of all numbers by padding with zeros as necessary. 0 means no padding (default). Defaults to 0 [IN]

absorption_bandsFromModelState(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets absorption_bands to the state of the model.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

absorption_bandsKeepID(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, id: pyarts3.arts.QuantumIdentifier | None = None, line: pyarts3.arts.Index | None = None) None

Keeps first band of ID

If line is positive, also keep only the line of this index

Author: Richard Larsson

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • id (QuantumIdentifier) – Band to keep. [IN]

  • line (Index, optional) – Line to keep (if positive). Defaults to -1 [IN]

absorption_bandsLineMixingAdaptation(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, temperatures: pyarts3.arts.AscendingGrid | None = None, band_key: pyarts3.arts.QuantumIdentifier | None = None, rosenkranz_fit_order: pyarts3.arts.Index | None = None, polynomial_fit_degree: pyarts3.arts.Index | None = None) 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:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • temperatures (AscendingGrid) – The temperatures to use for the internal fitting. [IN]

  • band_key (QuantumIdentifier) – The band to adapt. [IN]

  • rosenkranz_fit_order (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 (Index, optional) – The highest order of the polynomial fit (2 means square, 3 means cubic, etc). Defaults to 3 [IN]

absorption_bandsReadHITRAN(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, file: pyarts3.arts.String | None = None, frequency_range: pyarts3.arts.Vector2 | None = None, line_strength_option: pyarts3.arts.String | None = None, compute_zeeman_parameters: pyarts3.arts.Index | None = None) 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_coefficient is 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:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [OUT]

  • file (String) – Filename. [IN]

  • frequency_range (Vector2, optional) – Frequency range selection. Defaults to -inf inf [IN]

  • line_strength_option (String, optional) – Whether the Hitran line strenght or the Hitran Einstein coefficient is used, the latter has historically been less reliable. Defaults to "S" [IN]

  • compute_zeeman_parameters (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]

absorption_bandsReadSpeciesSplitARTSCAT(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, ignore_missing: pyarts3.arts.Index | None = None, pure_species: pyarts3.arts.Index | None = None) None

Same as absorption_bandsReadSpeciesSplitCatalog() but for reading the old ARTSCAT format.

One key difference is that ARTSCAT were often stored in a single file per SpeciesEnum rather than per SpeciesIsotope, so the optional argument pure_species is available and evaluates to true by default to use SpeciesEnum. Switch this off to use the SpeciesIsotope instead.

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 absorption_bands. Or after minor changes, like removing absorption lines outside of some frequency span.

Author: Richard Larsson

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [OUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String) – Absolute or relative path to the directory. [IN]

  • ignore_missing (Index, optional) – Flag to ignore missing files instead of throwing an error. Defaults to 0 [IN]

  • pure_species (Index, optional) – Flag that when true uses SpeciesEnum instead of SpeciesIsotope for file names. Defaults to 1 [IN]

absorption_bandsReadSpeciesSplitCatalog(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, ignore_missing: pyarts3.arts.Index | None = None) None

Reads all species in absorption_species from a basename

basename follows the standard ARTS rules. For example if absorption_species contains only H2O-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:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [OUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String) – Absolute or relative path to the directory. [IN]

  • ignore_missing (Index, optional) – Ignore missing files instead of throwing an error. Defaults to 0 [IN]

absorption_bandsReadSplit(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, dir: pyarts3.arts.String | None = None) None

Reads all xml-files in a given directory and puts them into absorption_bands.

Note

The dir path has to be absolute or relative to the working path, the environment variables are not considered

Author: Richard Larsson

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [OUT]

  • dir (String) – Absolute or relative path to the directory. [IN]

absorption_bandsSaveSplit(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, dir: pyarts3.arts.String | None = None) None

Saves all bands in absorption_bands to a directory

This 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 dir path has to be absolute or relative to the working path, the environment variables are not considered

Author: Richard Larsson

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • dir (String) – Absolute or relative path to the directory. [IN]

absorption_bandsSelectFrequencyByBand(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, fmin: pyarts3.arts.Numeric | None = None, fmax: pyarts3.arts.Numeric | None = None) None

Remove all bands whose lines all strictly falls outside a frequency range

Authors: Richard Larsson, Oliver Lemke

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • fmin (Numeric, optional) – Minimum frequency to keep. Defaults to -inf [IN]

  • fmax (Numeric, optional) – Maximum frequency to keep. Defaults to inf [IN]

absorption_bandsSelectFrequencyByLine(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, fmin: pyarts3.arts.Numeric | None = None, fmax: pyarts3.arts.Numeric | None = None) 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:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

  • fmin (Numeric, optional) – Minimum frequency to keep. Defaults to -inf [IN]

  • fmax (Numeric, optional) – Maximum frequency to keep. Defaults to inf [IN]

absorption_bandsSetNonLTE(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None) None

Set all bands to use non-LTE calculations.

Author: Richard Larsson

Parameters:

absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [INOUT]

absorption_bandsSetZeeman(self, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, species: pyarts3.arts.SpeciesIsotope | None = None, fmin: pyarts3.arts.Numeric | None = None, fmax: pyarts3.arts.Numeric | None = None, on: pyarts3.arts.Index | None = None) None

Set the Zeeman splitting for lines within the frequency range

See SpeciesIsotope for valid species

Author: Richard Larsson

Parameters:
  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_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 (Index, optional) – On or off. Defaults to 1 [IN]

absorption_cia_dataReadFromCIA(self, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, catalogpath: pyarts3.arts.String | None = None) None

Read data from a CIA data file for all CIA molecules defined in absorption_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:
absorption_cia_dataReadFromXML(self, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, filename: pyarts3.arts.String | None = None) None

Read data from a CIA XML file and check that all CIA tags defined in absorption_species are present in the file.

The units of the data are described in absorption_cia_dataReadFromCIA().

Author: Oliver Lemke

Parameters:
absorption_cia_dataReadSpeciesSplitCatalog(self, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, ignore_missing: pyarts3.arts.Index | None = None) 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 SpeciesEnum names 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 variable ARTS_DATA_PATH to 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:
  • absorption_cia_data (ArrayOfCIARecord, optional) – HITRAN Collision-Induced Absorption (CIA) Data. See absorption_cia_data, defaults to self.absorption_cia_data [OUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String) – The path to the split catalog files. [IN]

  • ignore_missing (Index, optional) – Flag to continue in case nothing is found [0 throws, 1 continues]. Defaults to 0 [IN]

absorption_lookup_tableCalc(self, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, water_perturbation: pyarts3.arts.AscendingGrid | None = None, water_affected_species: pyarts3.arts.ArrayOfSpeciesEnum | None = None, temperature_perturbation: pyarts3.arts.AscendingGrid | None = None) None

Get absorption_lookup_table from available data.

This method will use the atmospheric_field and absorption_bands to calculate the absorption_lookup_table. The atmospheric field is first gridded using atmospheric_profileExtract().

Wrapper calling Methods (in order):

Equivalent (mostly) Python code:

1ws = pyarts.Workspace()
2
3# ...
4
5 ws.atmospheric_profileExtract()
6 ws.absorption_lookup_tableInit()
7 ws.absorption_lookup_tablePrecomputeAll()

Author: Richard Larsson

Parameters:
  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [OUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • water_perturbation (AscendingGrid, optional) – Water vapor perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

  • water_affected_species (ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to [] [IN]

  • temperature_perturbation (AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

absorption_lookup_tableFromProfiles(self, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, pressure_profile: pyarts3.arts.DescendingGrid | None = None, temperature_profile: pyarts3.arts.Vector | None = None, vmr_profiles: pyarts3.arts.SpeciesEnumVectors | None = None, temperature_perturbation: pyarts3.arts.AscendingGrid | None = None, water_perturbation: pyarts3.arts.AscendingGrid | None = None, water_affected_species: pyarts3.arts.ArrayOfSpeciesEnum | None = None, default_isotopologue_ratios: pyarts3.arts.String | None = None) None

Compute the lookup table for all species in absorption_bands.

Wraps absorption_lookup_tablePrecomputeAll() after creating a simple ray_path_atmospheric_point from the input data.

Unlike absorption_lookup_tablePrecomputeAll(), this method will initialize absorption_lookup_table

Author: Richard Larsson

Parameters:
  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.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 (AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

  • water_perturbation (AscendingGrid, optional) – Water vapor perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

  • water_affected_species (ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to [] [IN]

  • default_isotopologue_ratios (String, optional) – Default isotopologue ratio option to initialize the AtmPoint with. Defaults to "Builtin" [IN]

absorption_lookup_tableInit(self, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None) None

Initialize an empty lookup table.

Author: Richard Larsson

Used by wrapper method

Parameters:

absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [OUT]

absorption_lookup_tablePrecompute(self, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, temperature_perturbation: pyarts3.arts.AscendingGrid | None = None, water_perturbation: pyarts3.arts.AscendingGrid | None = None) None

Precompute the lookup table for a single species, adding it to the map.

Author: Richard Larsson

Parameters:
  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [INOUT]

  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [IN]

  • select_species (SpeciesEnum, optional) – Species selection. See select_species, defaults to self.select_species [IN]

  • temperature_perturbation (AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

  • water_perturbation (AscendingGrid, optional) – Water vapor perturbation to use for the lookup table (makes the species nonlinear). Defaults to pyarts3.arts.AscendingGrid() [IN]

absorption_lookup_tablePrecomputeAll(self, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, temperature_perturbation: pyarts3.arts.AscendingGrid | None = None, water_perturbation: pyarts3.arts.AscendingGrid | None = None, water_affected_species: pyarts3.arts.ArrayOfSpeciesEnum | None = None) None

Compute the lookup table for all species in absorption_bands.

Wraps absorption_lookup_tablePrecompute() for each species, passing water_perturbation along for those species that are water_affected_species.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [INOUT]

  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [IN]

  • temperature_perturbation (AscendingGrid, optional) – Temperature perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

  • water_perturbation (AscendingGrid, optional) – Water vapor perturbation to use for the lookup table. Defaults to pyarts3.arts.AscendingGrid() [IN]

  • water_affected_species (ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to [] [IN]

absorption_lookup_tableSimpleWide(self, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, water_affected_species: pyarts3.arts.ArrayOfSpeciesEnum | None = None, pressure_range: pyarts3.arts.Vector2 | None = None, temperature_range: pyarts3.arts.Vector2 | None = None, water_vmr_range: pyarts3.arts.Vector2 | None = None, isoratio_option: pyarts3.arts.String | None = None, vmr_value: pyarts3.arts.Numeric | None = None, atmospheric_steps: pyarts3.arts.Index | None = None, temperature_perturbation_steps: pyarts3.arts.Index | None = None, water_vmr_perturbation_steps: pyarts3.arts.Index | None = None) None

Set up a simple wide lookup table for all species in absorption_bands.

This method simply computes the profiles for Earth-like atmospheres (by defaults) and pass them into absorption_lookup_tableFromProfiles().

The pressure range is set up logarithmically and all other ranges are set linearly.

Author: Richard Larsson

Parameters:
  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [IN]

  • water_affected_species (ArrayOfSpeciesEnum, optional) – A list of absorption species that are affected by water vapor perturbations nonlinearly. Defaults to [] [IN]

  • pressure_range (Vector2, optional) – Pressure range to consider - in increasing order [Pa]. Defaults to 0.01 110000 [IN]

  • temperature_range (Vector2, optional) – Temperature range to consider - in increasing order [K]. Defaults to 150 350 [IN]

  • water_vmr_range (Vector2, optional) – Water VMR range to consider - in increasing order [vmr]. Defaults to 1e-04 0.15 [IN]

  • isoratio_option (String, optional) – Default isotopologue ratio option to initialize the AtmPoint with. Defaults to "Builtin" [IN]

  • vmr_value (Numeric, optional) – The VMR to use for the self-value broadening. Defaults to 1e-09 [IN]

  • atmospheric_steps (Index, optional) – Number of steps in the atmospheric profile. Defaults to 80 [IN]

  • temperature_perturbation_steps (Index, optional) – Number of steps in the temperature perturbation. Defaults to 15 [IN]

  • water_vmr_perturbation_steps (Index, optional) – Number of steps in the water vapor perturbation. Defaults to 15 [IN]

absorption_predefined_model_dataAddWaterMTCKD400(self, absorption_predefined_model_data: pyarts3.arts.PredefinedModelData | None = None, ref_temp: pyarts3.arts.Numeric | None = None, ref_press: pyarts3.arts.Numeric | None = None, ref_h2o_vmr: pyarts3.arts.Numeric | None = None, self_absco_ref: pyarts3.arts.Vector | None = None, for_absco_ref: pyarts3.arts.Vector | None = None, wavenumbers: pyarts3.arts.Vector | None = None, self_texp: pyarts3.arts.Vector | None = None) 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:
  • absorption_predefined_model_data (PredefinedModelData, optional) – This contains predefined model data. See absorption_predefined_model_data, defaults to self.absorption_predefined_model_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]

absorption_predefined_model_dataInit(self, absorption_predefined_model_data: pyarts3.arts.PredefinedModelData | None = None) None

Initialize the predefined model data

Author: Richard Larsson

Parameters:

absorption_predefined_model_data (PredefinedModelData, optional) – This contains predefined model data. See absorption_predefined_model_data, defaults to self.absorption_predefined_model_data [OUT]

absorption_predefined_model_dataReadSpeciesSplitCatalog(self, absorption_predefined_model_data: pyarts3.arts.PredefinedModelData | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, name_missing: pyarts3.arts.Index | None = None, ignore_missing: pyarts3.arts.Index | None = None) None

Reads absorption_predefined_model_data catalog but only for absorption_species

The file names are expected to be of the form:

<basename><Spec>-<Model>.xml

where <Spec> is the SpeciesEnum names of the species and <Model> is the model name. See absorption_speciesSet() for more information on how to define a species with a predefined model.

If name_missing is 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 variable ARTS_DATA_PATH to 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:
  • absorption_predefined_model_data (PredefinedModelData, optional) – This contains predefined model data. See absorption_predefined_model_data, defaults to self.absorption_predefined_model_data [OUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String) – The path to the split catalog files. [IN]

  • name_missing (Index, optional) – Flag to name models that are missing. Defaults to 1 [IN]

  • ignore_missing (Index, optional) – Flag to otherwise (if not name_missing is true) ignore missing models. Defaults to 0 [IN]

absorption_speciesDefineAll(self, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None) None

Sets absorption_species to contain all species in ARTS

Author: Richard Larsson

Parameters:

absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [OUT]

absorption_speciesSet(self, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, species: pyarts3.arts.ArrayOfString | None = None) None

Set absorption_species to 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:

  1. Joker. Example "H2O". Selects all Normal Isotopologue of the provided SpeciesEnum.

  2. Normal Isotopologue. Example "H2O-161". Selects a specific Normal Isotopologue.

  3. Predefined Model. Example "H2O-PWR2022". Selects a specific Predefined Model. For more information on Predefined Models, see propagation_matrixAddPredefined().

  4. CIA. Example "H2O-CIA-H2O". Selects collusion-induced absorption between the two species. Any two SpeciesEnum in combination is valid. The reverse combination is also valid and unique.

  5. 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. See download_arts_cat_data() for help to download and set it up.

Authors: Stefan Buehler, Richard Larsson

Parameters:
  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_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\)

H2O

Joker

H2O-161

Normal Isotopologue

18.010565

1

H2O-162

Normal Isotopologue

19.01674

6

H2O-171

Normal Isotopologue

19.01478

6

H2O-172

Normal Isotopologue

20.020956

36

H2O-181

Normal Isotopologue

20.014811

1

H2O-182

Normal Isotopologue

21.020985

6

H2O-262

Normal Isotopologue

20.022915

1

H2O-ForeignContCKDMT320

Predefined Model

H2O-ForeignContCKDMT350

Predefined Model

H2O-ForeignContCKDMT400

Predefined Model

H2O-ForeignContStandardType

Predefined Model

H2O-MPM89

Predefined Model

H2O-PWR2021

Predefined Model

H2O-PWR2022

Predefined Model

H2O-PWR98

Predefined Model

H2O-SelfContCKDMT320

Predefined Model

H2O-SelfContCKDMT350

Predefined Model

H2O-SelfContCKDMT400

Predefined Model

H2O-SelfContStandardType

Predefined Model

CO2

Joker

CO2-626

Normal Isotopologue

43.98983

1

CO2-627

Normal Isotopologue

44.994045

6

CO2-628

Normal Isotopologue

45.994076

1

CO2-636

Normal Isotopologue

44.993185

2

CO2-637

Normal Isotopologue

45.9974

12

CO2-638

Normal Isotopologue

46.997431

2

CO2-727

Normal Isotopologue

45.998262

1

CO2-737

Normal Isotopologue

47.001618

2

CO2-827

Normal Isotopologue

46.998291

6

CO2-828

Normal Isotopologue

47.998322

1

CO2-837

Normal Isotopologue

48.001646

12

CO2-838

Normal Isotopologue

49.001675

2

CO2-CKDMT252

Predefined Model

O3

Joker

O3-666

Normal Isotopologue

47.984745

1

O3-667

Normal Isotopologue

48.98896

6

O3-668

Normal Isotopologue

49.988991

1

O3-676

Normal Isotopologue

48.98896

6

O3-686

Normal Isotopologue

49.988991

1

N2O

Joker

N2O-446

Normal Isotopologue

44.001062

9

N2O-447

Normal Isotopologue

45.005278

54

N2O-448

Normal Isotopologue

46.005308

9

N2O-456

Normal Isotopologue

44.998096

6

N2O-546

Normal Isotopologue

44.998096

6

CO

Joker

CO-26

Normal Isotopologue

27.994915

1

CO-27

Normal Isotopologue

28.99913

6

CO-28

Normal Isotopologue

29.999161

1

CO-36

Normal Isotopologue

28.99827

2

CO-37

Normal Isotopologue

30.002485

12

CO-38

Normal Isotopologue

31.002516

2

CH4

Joker

CH4-211

Normal Isotopologue

16.0313

1

CH4-212

Normal Isotopologue

17.037475

3

CH4-311

Normal Isotopologue

17.034655

2

CH4-312

Normal Isotopologue

18.04083

6

O2

Joker

O2-66

Normal Isotopologue

31.98983

1

O2-67

Normal Isotopologue

32.994045

6

O2-68

Normal Isotopologue

33.994076

1

O2-CIAfunCKDMT100

Predefined Model

O2-MPM2020

Predefined Model

O2-MPM89

Predefined Model

O2-PWR2021

Predefined Model

O2-PWR2022

Predefined Model

O2-PWR98

Predefined Model

O2-SelfContStandardType

Predefined Model

O2-TRE05

Predefined Model

O2-v0v0CKDMT100

Predefined Model

O2-v1v0CKDMT100

Predefined Model

O2-visCKDMT252

Predefined Model

NO

Joker

NO-46

Normal Isotopologue

29.997989

3

NO-48

Normal Isotopologue

32.002234

3

NO-56

Normal Isotopologue

30.995023

2

SO2

Joker

SO2-626

Normal Isotopologue

63.961901

1

SO2-628

Normal Isotopologue

65.966146

1

SO2-636

Normal Isotopologue

64.961286

4

SO2-646

Normal Isotopologue

65.957695

1

NO2

Joker

NO2-646

Normal Isotopologue

45.992904

3

NO2-656

Normal Isotopologue

46.989938

2

NH3

Joker

NH3-4111

Normal Isotopologue

17.026549

3

NH3-4112

Normal Isotopologue

18

-1

NH3-5111

Normal Isotopologue

18.023583

2

HNO3

Joker

HNO3-146

Normal Isotopologue

62.995644

6

HNO3-156

Normal Isotopologue

63.99268

4

OH

Joker

OH-61

Normal Isotopologue

17.00274

2

OH-62

Normal Isotopologue

18.008915

3

OH-81

Normal Isotopologue

19.006986

2

HF

Joker

HF-19

Normal Isotopologue

20.006229

4

HF-29

Normal Isotopologue

21.012404

6

HCl

Joker

HCl-15

Normal Isotopologue

35.976678

8

HCl-17

Normal Isotopologue

37.973729

8

HCl-25

Normal Isotopologue

36.982853

12

HCl-27

Normal Isotopologue

38.979904

12

HBr

Joker

HBr-11

Normal Isotopologue

81.924115

8

HBr-19

Normal Isotopologue

79.92616

8

HBr-21

Normal Isotopologue

82.930289

12

HBr-29

Normal Isotopologue

80.932336

12

HI

Joker

HI-17

Normal Isotopologue

127.912297

12

HI-27

Normal Isotopologue

128.918472

18

ClO

Joker

ClO-56

Normal Isotopologue

50.963768

4

ClO-76

Normal Isotopologue

52.960819

4

OCS

Joker

OCS-622

Normal Isotopologue

59.966986

1

OCS-623

Normal Isotopologue

60.966371

4

OCS-624

Normal Isotopologue

61.96278

1

OCS-632

Normal Isotopologue

60.970341

2

OCS-634

Normal Isotopologue

62.966137

2

OCS-822

Normal Isotopologue

61.971231

1

H2CO

Joker

H2CO-126

Normal Isotopologue

30.010565

1

H2CO-128

Normal Isotopologue

32.014811

1

H2CO-136

Normal Isotopologue

31.01392

2

HDCO

Joker

HDCO-26

Normal Isotopologue

31

-1

D2CO

Joker

D2CO-26

Normal Isotopologue

32

-1

HOCl

Joker

HOCl-165

Normal Isotopologue

51.971593

8

HOCl-167

Normal Isotopologue

53.968644

8

N2

Joker

N2-44

Normal Isotopologue

28.006148

1

N2-45

Normal Isotopologue

29.003182

6

N2-CIAfunCKDMT252

Predefined Model

N2-CIArotCKDMT252

Predefined Model

N2-SelfContMPM93

Predefined Model

N2-SelfContPWR2021

Predefined Model

N2-SelfContStandardType

Predefined Model

HCN

Joker

HCN-124

Normal Isotopologue

27.010899

6

HCN-125

Normal Isotopologue

28.007933

4

HCN-134

Normal Isotopologue

28.014254

12

HCN-224

Normal Isotopologue

28

-1

CH3Cl

Joker

CH3Cl-215

Normal Isotopologue

49.992328

4

CH3Cl-217

Normal Isotopologue

51.989379

4

H2O2

Joker

H2O2-1661

Normal Isotopologue

34.00548

1

C2H2

Joker

C2H2-1221

Normal Isotopologue

26.01565

1

C2H2-1222

Normal Isotopologue

27.021825

6

C2H2-1231

Normal Isotopologue

27.019005

8

C2H6

Joker

C2H6-1221

Normal Isotopologue

30.04695

1

C2H6-1231

Normal Isotopologue

31.050305

2

PH3

Joker

PH3-1111

Normal Isotopologue

33.997238

2

COF2

Joker

COF2-269

Normal Isotopologue

65.991722

1

COF2-369

Normal Isotopologue

66.995083

2

SF6

Joker

SF6-29

Normal Isotopologue

145.962492

1

H2S

Joker

H2S-121

Normal Isotopologue

33.987721

1

H2S-122

Normal Isotopologue

35

-1

H2S-131

Normal Isotopologue

34.987105

4

H2S-141

Normal Isotopologue

35.983515

1

HCOOH

Joker

HCOOH-126

Normal Isotopologue

46.00548

4

HCOOH-136

Normal Isotopologue

47

-1

DCOOH

Joker

DCOOH-266

Normal Isotopologue

47

-1

HCOOD

Joker

HCOOD-266

Normal Isotopologue

47

-1

HO2

Joker

HO2-166

Normal Isotopologue

32.997655

2

O

Joker

O-6

Normal Isotopologue

15.994915

1

ClONO2

Joker

ClONO2-5646

Normal Isotopologue

96.956672

12

ClONO2-7646

Normal Isotopologue

98.953723

12

NO+

Joker

NO+-46

Normal Isotopologue

29.997989

3

HOBr

Joker

HOBr-161

Normal Isotopologue

97.919027

8

HOBr-169

Normal Isotopologue

95.921076

8

C2H4

Joker

C2H4-221

Normal Isotopologue

28.0313

1

C2H4-231

Normal Isotopologue

29.034655

2

CH3OH

Joker

CH3OH-2161

Normal Isotopologue

32.026215

2

CH3Br

Joker

CH3Br-211

Normal Isotopologue

95.939764

4

CH3Br-219

Normal Isotopologue

93.941811

4

CH3CN

Joker

CH3CN-2124

Normal Isotopologue

41.026549

3

CH3CN-2125

Normal Isotopologue

42

-1

CH3CN-2134

Normal Isotopologue

42

-1

CH3CN-3124

Normal Isotopologue

42

-1

CH2DCN

Joker

CH2DCN-224

Normal Isotopologue

42

-1

CF4

Joker

CF4-29

Normal Isotopologue

87.993616

1

C4H2

Joker

C4H2-2211

Normal Isotopologue

50.01565

1

HC3N

Joker

HC3N-12224

Normal Isotopologue

51.010899

6

HC3N-12225

Normal Isotopologue

52

-1

HC3N-12234

Normal Isotopologue

52

-1

HC3N-12324

Normal Isotopologue

52

-1

HC3N-13224

Normal Isotopologue

52

-1

HC3N-22224

Normal Isotopologue

52

-1

H2

Joker

H2-11

Normal Isotopologue

2.01565

1

H2-12

Normal Isotopologue

3.021825

6

CS

Joker

CS-22

Normal Isotopologue

43.971036

1

CS-23

Normal Isotopologue

44.970399

4

CS-24

Normal Isotopologue

45.966787

1

CS-32

Normal Isotopologue

44.974368

2

SO3

Joker

SO3-26

Normal Isotopologue

79.95682

1

C2N2

Joker

C2N2-4224

Normal Isotopologue

52.006148

1

COCl2

Joker

COCl2-2655

Normal Isotopologue

97.93262

1

COCl2-2657

Normal Isotopologue

99.92967

16

SO

Joker

SO-26

Normal Isotopologue

47.966986

1

SO-28

Normal Isotopologue

49.971231

1

SO-46

Normal Isotopologue

49.962782

1

CS2

Joker

CS2-222

Normal Isotopologue

75.94414

1

CS2-223

Normal Isotopologue

76.943256

4

CS2-224

Normal Isotopologue

77.93994

1

CS2-232

Normal Isotopologue

76.947495

2

CH3

Joker

C3H4

Joker

H2SO4

Joker

H2SO4-126

Normal Isotopologue

98

-1

HNC

Joker

HNC-142

Normal Isotopologue

27

-1

HNC-143

Normal Isotopologue

28

-1

HNC-152

Normal Isotopologue

28

-1

HNC-242

Normal Isotopologue

28

-1

BrO

Joker

BrO-16

Normal Isotopologue

97

-1

BrO-96

Normal Isotopologue

95

-1

OClO

Joker

OClO-656

Normal Isotopologue

67

-1

OClO-676

Normal Isotopologue

69

-1

C3H8

Joker

C3H8-21

Normal Isotopologue

54

-1

He

Joker

He-4

Normal Isotopologue

4

-1

Cl2O2

Joker

Cl2O2-565

Normal Isotopologue

102

-1

Cl2O2-765

Normal Isotopologue

104

-1

H

Joker

H-1

Normal Isotopologue

1

-1

Ar

Joker

Ar-8

Normal Isotopologue

39.948

-1

C2F6

Joker

C3F8

Joker

C4F10

Joker

C5F12

Joker

C6F14

Joker

C8F18

Joker

cC4F8

Joker

CCl4

Joker

CFC11

Joker

CFC113

Joker

CFC114

Joker

CFC115

Joker

CFC12

Joker

CH2Cl2

Joker

CH3CCl3

Joker

CHCl3

Joker

Halon1211

Joker

Halon1301

Joker

Halon2402

Joker

HCFC141b

Joker

HCFC142b

Joker

HCFC22

Joker

HFC125

Joker

HFC134a

Joker

HFC143a

Joker

HFC152a

Joker

HFC227ea

Joker

HFC23

Joker

HFC236fa

Joker

HFC245fa

Joker

HFC32

Joker

HFC365mfc

Joker

NF3

Joker

NF3-4999

Normal Isotopologue

70.998286

3

SO2F2

Joker

HFC4310mee

Joker

GeH4

Joker

GeH4-011

Normal Isotopologue

73.95555

1

GeH4-211

Normal Isotopologue

75.95338

1

GeH4-311

Normal Isotopologue

76.954764

10

GeH4-411

Normal Isotopologue

77.952479

1

GeH4-611

Normal Isotopologue

79.952703

1

CH3I

Joker

CH3I-217

Normal Isotopologue

141.927947

6

CH3F

Joker

CH3F-219

Normal Isotopologue

34.021878

2

liquidcloud

Joker

liquidcloud-ELL07

Predefined Model

icecloud

Joker

rain

Joker

free_electrons

Joker

particles

Joker

unused

Joker

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-ForeignContStandardType, H2O-MPM89, H2O-PWR2021, H2O-PWR2022, H2O-PWR98, H2O-SelfContCKDMT320, H2O-SelfContCKDMT350, H2O-SelfContCKDMT400, 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-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, 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, SO2F2, HFC4310mee, GeH4, GeH4-011, GeH4-211, GeH4-311, GeH4-411, GeH4-611, CH3I, CH3I-217, CH3F, CH3F-219, liquidcloud, liquidcloud-ELL07, icecloud, rain, free_electrons, particles, unused,

absorption_xsec_fit_dataReadSpeciesSplitCatalog(self, absorption_xsec_fit_data: pyarts3.arts.ArrayOfXsecRecord | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, ignore_missing: pyarts3.arts.Index | None = None) None

Reads HITRAN Crosssection coefficients

Reads coefficient files for HITRAN Xsec species defined in absorption_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 variable ARTS_DATA_PATH to 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:
  • absorption_xsec_fit_data (ArrayOfXsecRecord, optional) – Fitting model coefficients for cross section species. See absorption_xsec_fit_data, defaults to self.absorption_xsec_fit_data [OUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String) – Basepath to the files. [IN]

  • ignore_missing (Index, optional) – Ignore missing files (0: no, 1: yes). Defaults to 0 [IN]

atmospheric_fieldAbsoluteMagneticField(self, atmospheric_field: pyarts3.arts.AtmField | None = None) None

Set the magnetic field to use the magnitude field functional.

The input field must be a GeodeticField3 for 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:

atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

atmospheric_fieldAbsoluteWindField(self, atmospheric_field: pyarts3.arts.AtmField | None = None) None

Set the wind field to use the magnitude field functional.

The input field must be a GeodeticField3 for 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:

atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

atmospheric_fieldAppendAuto(self, atmospheric_field: pyarts3.arts.AtmField | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None, load_isot: pyarts3.arts.Index | None = None, load_nlte: pyarts3.arts.Index | None = None) None

Append data to the atmospheric field based on available absorption data.

It is recommended to use atmospheric_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:

See these individually for more details.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

  • load_isot (Index, optional) – Whether or not to load isotopologue data. Defaults to 0 [IN]

  • load_nlte (Index, optional) – Whether or not to load NLTE data. Defaults to 0 [IN]

atmospheric_fieldAppendBaseData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, deal_with_field_component: pyarts3.arts.String | None = None, replace_existing: pyarts3.arts.Index | None = None, allow_missing_pressure: pyarts3.arts.Index | None = None, allow_missing_temperature: pyarts3.arts.Index | None = None) None

Append base data to the atmospheric field

This will look at the valid basename for 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 InterpolationExtrapolation for valid extrapolation.

See MissingFieldComponentError for valid deal_with_field_component.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

The allow_missing_pressure and allow_missing_temperature are used to determine if the method should throw if the pressure or temperature is missing.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • deal_with_field_component (String, optional) – How to deal with the field component. Defaults to "Throw" [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 1 [IN]

  • allow_missing_pressure (Index, optional) – Whether or not to allow missing pressure data. Defaults to 0 [IN]

  • allow_missing_temperature (Index, optional) – Whether or not to allow missing temperature data. Defaults to 0 [IN]

atmospheric_fieldAppendCIASpeciesData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append species data to the atmospheric field based on collision-induced absorption data.

This will look at the valid basename for 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”). See SpeciesEnum for valid short names.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_cia_data (ArrayOfCIARecord, optional) – HITRAN Collision-Induced Absorption (CIA) Data. See absorption_cia_data, defaults to self.absorption_cia_data [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendLineIsotopologueData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append isotopologue ratio data to the atmospheric field based on line data.

This will look at the valid basename for files matching base data. The base data file names are of the form: “species-n.xml” (e.g., “H2O-161.xml”). See absorption_speciesSet() for valid isotopologue names.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendLineLevelData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append NLTE data to the atmospheric field based on line data.

This will look at the valid basename for 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”). See absorption_speciesSet() for valid isotopologue names and QuantumLevelIdentifier for constructing quantum numbers identifiers.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendLineSpeciesData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append species data to the atmospheric field based on line data.

This will look at the valid basename for files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). See SpeciesEnum for valid short names.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendLookupTableSpeciesData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append species data to the atmospheric field based on absorption lookup table data.

This will look at the valid basename for files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). See SpeciesEnum for valid short names.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendPredefSpeciesData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_predefined_model_data: pyarts3.arts.PredefinedModelData | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append species data to the atmospheric field based on absorption predefined model data.

This will look at the valid basename for files matching base data. The base data file names are of the short-name form: “species-MODEL.xml” (e.g., “H2O-ForeignContCKDMT400.xml”). See SpeciesEnum for valid short names. Will also append H2O VMR if available as some predefined models requires it.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_predefined_model_data (PredefinedModelData, optional) – This contains predefined model data. See absorption_predefined_model_data, defaults to self.absorption_predefined_model_data [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendTagsSpeciesData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append species data to the atmospheric field based on absorption_species.

This will look at the valid basename for files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). See SpeciesEnum for valid short names.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_species (ArrayOfArrayOfSpeciesTag, optional) – Tag groups for gas absorption. See absorption_species, defaults to self.absorption_species [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldAppendXsecSpeciesData(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_xsec_fit_data: pyarts3.arts.ArrayOfXsecRecord | None = None, basename: pyarts3.arts.String | None = None, extrapolation: pyarts3.arts.String | None = None, missing_is_zero: pyarts3.arts.Index | None = None, replace_existing: pyarts3.arts.Index | None = None) None

Append species data to the atmospheric field based on absorption cross-section fit data.

This will look at the valid basename for files matching base data. The base data file names are of the short-name form: “species.xml” (e.g., “H2O.xml”). See SpeciesEnum for valid short names.

See InterpolationExtrapolation for valid extrapolation.

The missing_is_zero sets missing data to zero.

The replace_existing is used to determine if the data should be replaced if it already exists in the atmospheric field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_xsec_fit_data (ArrayOfXsecRecord, optional) – Fitting model coefficients for cross section species. See absorption_xsec_fit_data, defaults to self.absorption_xsec_fit_data [IN]

  • basename (String) – The base name of the files. [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • replace_existing (Index, optional) – Whether or not to replace existing data. Defaults to 0 [IN]

atmospheric_fieldFitNonLTE(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, pol: pyarts3.arts.Stokvec | None = None, levels: pyarts3.arts.ArrayOfQuantumLevelIdentifier | None = None, key: pyarts3.arts.AtmKey | None = None, iteration_limit: pyarts3.arts.Index | None = None, dza: pyarts3.arts.Numeric | None = None, convergence_limit: pyarts3.arts.Numeric | None = None, consider_limb: pyarts3.arts.Index | None = None, collision_data: pyarts3.arts.QuantumIdentifierGriddedField1Map | None = None, azimuth: pyarts3.arts.Numeric | None = None, altitude_extrapolation: pyarts3.arts.InterpolationExtrapolation | None = None) None

Fits non-LTE atmospheric field values

Wrapper calling Methods (in order):

Equivalent (mostly) Python code:

1ws = pyarts.Workspace()
2
3# ...
4
5 ws.atmospheric_profileFromGrid()
6 ws.atmospheric_profileFitNonLTE()
7 ws.atmospheric_fieldFromProfile()

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • propagation_matrix_agenda (Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. See propagation_matrix_agenda, defaults to self.propagation_matrix_agenda [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • pol (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 (AtmKey, optional) – Key to find the GeodeticField3 in the atmospheric field. Defaults to t [IN]

  • iteration_limit (Index, optional) – Maximum number of iterations. Defaults to 100 [IN]

  • dza (Numeric, optional) – The zenith angle limit for the internal call to zenith_gridProfilePseudo2D(). Defaults to 5 [IN]

  • convergence_limit (Numeric, optional) – Convergence criterion for the energy level distribution. Defaults to 1e-06 [IN]

  • consider_limb (Index, optional) – Whether to add extra limb points in zenith_gridProfilePseudo2D(). Defaults to 1 [IN]

  • collision_data (QuantumIdentifierGriddedField1Map) – Collision data for the transitions - for \(C_{ij}\) and \(C_{ji}\). [IN]

  • azimuth (Numeric, optional) – The azimuth of the radiation. Defaults to 0 [IN]

  • altitude_extrapolation (InterpolationExtrapolation, optional) – Extrapolation method along the altitude grid. Defaults to Linear [IN]

atmospheric_fieldFromModelState(self, atmospheric_field: pyarts3.arts.AtmField | None = None, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets atmospheric_field to the state of the model.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

atmospheric_fieldFromProfile(self, atmospheric_field: pyarts3.arts.AtmField | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, altitude_extrapolation: pyarts3.arts.InterpolationExtrapolation | None = None) 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:
atmospheric_fieldHydrostaticPressure(self, atmospheric_field: pyarts3.arts.AtmField | None = None, gravity_operator: pyarts3.arts.NumericTernaryOperator | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, p0: pyarts3.arts.GeodeticField2 | pyarts3.arts.Numeric | None = None, fixed_specific_gas_constant: pyarts3.arts.Numeric | None = None, fixed_atmospheric_temperature: pyarts3.arts.Numeric | None = None, hydrostatic_option: pyarts3.arts.String | None = None) 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_constant is 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 altitude_grid is used as the altitude of the p0 grid. The extrapolation outside of this range simply uses the formalism of the select hydrostatic_option.

Note

The gradient changes only at the grid points of the altitude_grid. Please make it dense enough to avoid missing features. A recommendation is to extract the altitude_grid directly 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:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • gravity_operator (NumericTernaryOperator, optional) – The gravity operator. See gravity_operator, defaults to self.gravity_operator [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • p0 (GeodeticField2,Numeric) – Lowest altitude pressure field. \(P_0\) above. [IN]

  • fixed_specific_gas_constant (Numeric, optional) – Specific gas constant if larger than 0. Defaults to -1 [IN]

  • fixed_atmospheric_temperature (Numeric, optional) – Constant atmospheric temprature if larger than 0. Defaults to -1 [IN]

  • hydrostatic_option (String, optional) – Computational option for levels. See HydrostaticPressureOption for valid options. Defaults to "HydrostaticEquation" [IN]

atmospheric_fieldIGRF(self, atmospheric_field: pyarts3.arts.AtmField | None = None, time: pyarts3.arts.Time | None = None) 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 atmospheric_fieldSchmidthFieldFromIGRF(), which have been designed to support retrievals of the magnetic field via Legendre coefficients, or use atmospheric_fieldAbsoluteMagneticField(), which allow returning the magnitude of the magnetic field.

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • time (Time, optional) – Time of data to use. Defaults to 2025-10-01 13:10:07.300161248 [IN]

atmospheric_fieldInit(self, atmospheric_field: pyarts3.arts.AtmField | None = None, toa: pyarts3.arts.Numeric | None = None, default_isotopologue: pyarts3.arts.String | None = None) None

Initialize the atmospheric field with some altitude and isotopologue ratios

See IsoRatioOption for valid default_isotopologue.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [OUT]

  • toa (Numeric) – Top of atmosphere altitude [m]. [IN]

  • default_isotopologue (String, optional) – Default option for the isotopologue ratios. Defaults to "Builtin" [IN]

atmospheric_fieldInitializeNonLTE(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, normalization: pyarts3.arts.Numeric | None = None) 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:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • normalization (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]

atmospheric_fieldRead(self, atmospheric_field: pyarts3.arts.AtmField | None = None, toa: pyarts3.arts.Numeric | None = None, missing_is_zero: pyarts3.arts.Index | None = None, load_nlte: pyarts3.arts.Index | None = None, load_isot: pyarts3.arts.Index | None = None, extrapolation: pyarts3.arts.String | None = None, default_isotopologue: pyarts3.arts.String | None = None, deal_with_field_component: pyarts3.arts.String | None = None, basename: pyarts3.arts.String | None = None, allow_missing_temperature: pyarts3.arts.Index | None = None, allow_missing_pressure: pyarts3.arts.Index | None = None) None

Read atmospheric data files from a directory

Wrapper calling Methods (in order):

Equivalent (mostly) Python code:

1ws = pyarts.Workspace()
2
3# ...
4
5 ws.atmospheric_fieldInit()
6 ws.atmospheric_fieldAppendBaseData()
7 ws.atmospheric_fieldAppendAuto()

Author: Richard Larsson

Parameters:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [OUT]

  • toa (Numeric) – Top of atmosphere altitude [m]. [IN]

  • missing_is_zero (Index, optional) – Whether or not to zero-out missing data. Defaults to 0 [IN]

  • load_nlte (Index, optional) – Whether or not to load NLTE data. Defaults to 0 [IN]

  • load_isot (Index, optional) – Whether or not to load isotopologue data. Defaults to 0 [IN]

  • extrapolation (String, optional) – The extrapolation to use. Defaults to "Linear" [IN]

  • default_isotopologue (String, optional) – Default option for the isotopologue ratios. Defaults to "Builtin" [IN]

  • deal_with_field_component (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 (Index, optional) – Whether or not to allow missing temperature data. Defaults to 0 [IN]

  • allow_missing_pressure (Index, optional) – Whether or not to allow missing pressure data. Defaults to 0 [IN]

atmospheric_fieldSchmidthFieldFromIGRF(self, atmospheric_field: pyarts3.arts.AtmField | None = None, time: pyarts3.arts.Time | None = None) None

For forward calculations, this should be similar to atmospheric_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:
  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [INOUT]

  • time (Time, optional) – Time of IGRF data to use. Defaults to 2025-10-01 13:10:07.300164614 [IN]

atmospheric_pointInit(self, atmospheric_point: pyarts3.arts.AtmPoint | None = None, default_isotopologue: pyarts3.arts.String | None = None) None

Initialize an atmospheric point with some isotopologue ratios

See IsoRatioOption for valid default_isotopologue.

Author: Richard Larsson

Parameters:
  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [OUT]

  • default_isotopologue (String, optional) – Default option for the isotopologue ratios. Defaults to "Builtin" [IN]

atmospheric_profileExtract(self, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None) None

Extract an atmospheric profile from the atmospheric field.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

atmospheric_profileFitNonLTE(self, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, collision_data: pyarts3.arts.QuantumIdentifierGriddedField1Map | None = None, levels: pyarts3.arts.ArrayOfQuantumLevelIdentifier | None = None, pol: pyarts3.arts.Stokvec | None = None, azimuth: pyarts3.arts.Numeric | None = None, dza: pyarts3.arts.Numeric | None = None, convergence_limit: pyarts3.arts.Numeric | None = None, iteration_limit: pyarts3.arts.Index | None = None, consider_limb: pyarts3.arts.Index | None = None) 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. [38]

Author: Richard Larsson

Used by wrapper method

Parameters:
  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • propagation_matrix_agenda (Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. See propagation_matrix_agenda, defaults to self.propagation_matrix_agenda [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [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 (Stokvec, optional) – The polarization selection vector (use the default unless you know what you are doing). Defaults to 1 0 0 0 [IN]

  • azimuth (Numeric, optional) – The azimuth of the radiation. Defaults to 0 [IN]

  • dza (Numeric, optional) – The zenith angle limit for the internal call to zenith_gridProfilePseudo2D(). Defaults to 5 [IN]

  • convergence_limit (Numeric, optional) – Convergence criterion for the energy level distribution. Defaults to 1e-06 [IN]

  • iteration_limit (Index, optional) – Maximum number of iterations. Defaults to 100 [IN]

  • consider_limb (Index, optional) – Whether to add extra limb points in zenith_gridProfilePseudo2D(). Defaults to 1 [IN]

atmospheric_profileFromGrid(self, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, key: pyarts3.arts.AtmKey | None = None) None

Extract an atmospheric profile and its grids.

The key is used to find a GeodeticField3 in 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:
  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [OUT]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [OUT]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [OUT]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • key (AtmKey, optional) – Key to find the GeodeticField3 in the atmospheric field. Defaults to t [IN]

disort_settingsCosmicMicrowaveBackgroundRadiation(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) None

Space radiation into Disort is isotropic cosmic background radiation.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

disort_settingsDownwellingObserver(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None, pol: pyarts3.arts.Stokvec | None = None) None

Set the downwelling boundary condition using the observer agenda.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [IN]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • subsurface_field (SubsurfaceField, optional) – The sub-surface field. See subsurface_field, defaults to self.subsurface_field [IN]

  • spectral_radiance_observer_agenda (Agenda, optional) – Computes spectral radiance as seen from the input position and environment. See spectral_radiance_observer_agenda, defaults to self.spectral_radiance_observer_agenda [IN]

  • pol (Stokvec, optional) – The polarization state to select. The dot-product of this and spectral_radiance is used. Defaults to 1 0 0 0 [IN]

disort_settingsInit(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None) None

Perform Disort calculations for spectral flux.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [IN]

  • disort_quadrature_dimension (Index, optional) – The quadrature size for Disort. See disort_quadrature_dimension, defaults to self.disort_quadrature_dimension [IN]

  • disort_legendre_polynomial_dimension (Index, optional) – The number of input Legendre polynimials for Disort. See disort_legendre_polynomial_dimension, defaults to self.disort_legendre_polynomial_dimension [IN]

  • disort_fourier_mode_dimension (Index, optional) – The number of Fourier modes for Disort. See disort_fourier_mode_dimension, defaults to self.disort_fourier_mode_dimension [IN]

disort_settingsLayerNonThermalEmissionLinearInTau(self, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_propagation_matrix_source_vector_nonlte: pyarts3.arts.ArrayOfStokvecVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) None

Same as disort_settingsLayerThermalEmissionLinearInTau() but considers non-LTE

This is WIP and should not be used.

Author: Richard Larsson

Parameters:
disort_settingsLayerThermalEmissionLinearInTau(self, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) 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_settingsLegendreCoefficientsFromPath(self, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path_phase_matrix_scattering_spectral: pyarts3.arts.ArrayOfSpecmatMatrix | None = None) None

Sets the legendre coefficients from the path-variable.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • ray_path_phase_matrix_scattering_spectral (ArrayOfSpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation. See ray_path_phase_matrix_scattering_spectral, defaults to self.ray_path_phase_matrix_scattering_spectral [IN]

disort_settingsNoFractionalScattering(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off fractional scattering in Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoLayerThermalEmission(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off source radiation in Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoLegendre(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off Legendre coefficients in Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoSingleScatteringAlbedo(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off single albedo scattering in Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoSpaceEmission(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off boundary condition from space for Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoSun(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off solar radiation in Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoSurfaceEmission(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns boundary condition from surface for Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsNoSurfaceScattering(self, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Turns off BDRF in Disort calculations.

Author: Richard Larsson

Parameters:

disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

disort_settingsOpticalThicknessFromPath(self, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, min_optical_depth: pyarts3.arts.Numeric | None = None) None

Get optical thickness from path.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [IN]

  • ray_path_propagation_matrix (ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. See ray_path_propagation_matrix, defaults to self.ray_path_propagation_matrix [IN]

  • min_optical_depth (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: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, sun: pyarts3.arts.Sun | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None) None

Uses Set the FOV to the sun input for Disort calculations.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • sun (Sun, optional) – A sun. See sun, defaults to self.sun [IN]

  • ray_path_point (PropagationPathPoint, optional) – A single path point. See ray_path_point, defaults to self.ray_path_point [IN]

disort_settingsSingleScatteringAlbedoFromPath(self, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_propagation_matrix_scattering: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_absorption_vector_scattering: pyarts3.arts.ArrayOfStokvecVector | None = None) None

Sets the single scattering albedo from the path-variable.

Author: Richard Larsson

Parameters:
disort_settingsSubsurfaceEmissionByTemperature(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, subsurface_profile: pyarts3.arts.ArrayOfSubsurfacePoint | None = None) None

Subsurface boundary emission into Disort is based on temperature.

Sets both upper and lower bounds.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • subsurface_profile (ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. See subsurface_profile, defaults to self.subsurface_profile [IN]

disort_settingsSubsurfaceLayerThermalEmissionLinearInTau(self, disort_settings: pyarts3.arts.DisortSettings | None = None, subsurface_profile: pyarts3.arts.ArrayOfSubsurfacePoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) 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 (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • subsurface_profile (ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. See subsurface_profile, defaults to self.subsurface_profile [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

disort_settingsSubsurfaceScalarAbsorption(self, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, subsurface_profile: pyarts3.arts.ArrayOfSubsurfacePoint | None = None, min_optical_depth: pyarts3.arts.Numeric | None = None) None

Get optical thickness from subsurface path.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [IN]

  • subsurface_profile (ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. See subsurface_profile, defaults to self.subsurface_profile [IN]

  • min_optical_depth (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: pyarts3.arts.DisortSettings | None = None, subsurface_profile: pyarts3.arts.ArrayOfSubsurfacePoint | None = None) None

Turns off single albedo scattering in Disort calculations.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [INOUT]

  • subsurface_profile (ArrayOfSubsurfacePoint, optional) – A profile of subsurface points. Supposed to be ordered from top to bottom. See subsurface_profile, defaults to self.subsurface_profile [IN]

disort_settingsSurfaceEmissionByTemperature(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) None

Surface radiation into Disort is isotropic from surface temperature.

Author: Richard Larsson

Parameters:
disort_settingsSurfaceLambertian(self, disort_settings: pyarts3.arts.DisortSettings | None = None, value: pyarts3.arts.Numeric | pyarts3.arts.Vector | None = None) None

Sets the surface to Lambertian.

Author: Richard Larsson

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, 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_settings_agendaExecute(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None) None

Executes disort_settings_agenda, see it for more details

Author: Automatically Generated

Used by wrapper methods

Parameters:
  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [IN]

  • disort_quadrature_dimension (Index, optional) – The quadrature size for Disort. See disort_quadrature_dimension, defaults to self.disort_quadrature_dimension [IN]

  • disort_fourier_mode_dimension (Index, optional) – The number of Fourier modes for Disort. See disort_fourier_mode_dimension, defaults to self.disort_fourier_mode_dimension [IN]

  • disort_legendre_polynomial_dimension (Index, optional) – The number of input Legendre polynimials for Disort. See disort_legendre_polynomial_dimension, defaults to self.disort_legendre_polynomial_dimension [IN]

  • disort_settings_agenda (Agenda, optional) – An agenda for setting up Disort. See disort_settings_agenda, defaults to self.disort_settings_agenda [IN]

disort_settings_agendaExecuteOperator(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda_operator: pyarts3.arts.disort_settings_agendaOperator | None = None) None

Executes an operator emulating disort_settings_agenda, see it, and also disort_settings_agendaOperator, for more details

Author: Automatically Generated

Parameters:
disort_settings_agendaSetOperator(self, disort_settings_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.disort_settings_agendaOperator | None = None) None

Set disort_settings_agenda to exclusively use provided external operator. See disort_settings_agendaOperator for more details.

Author: Automatically Generated

Parameters:
disort_settings_agendaSetup(self, disort_settings_agenda: pyarts3.arts.Agenda | None = None, layer_emission_setting: pyarts3.arts.String | None = None, scattering_setting: pyarts3.arts.String | None = None, space_setting: pyarts3.arts.String | None = None, sun_setting: pyarts3.arts.String | None = None, surface_setting: pyarts3.arts.String | None = None, surface_lambertian_value: pyarts3.arts.Vector | None = None, min_optical_depth: pyarts3.arts.Numeric | None = None) None

Setup for Disort standard calculations.

This method allows setting up disort_settings_agenda by named options. A description of the options is given below.

Author: Richard Larsson

Parameters:
  • disort_settings_agenda (Agenda, optional) – An agenda for setting up Disort. See disort_settings_agenda, defaults to self.disort_settings_agenda [OUT]

  • layer_emission_setting (String, optional) – Layer emission settings. Defaults to "LinearInTau" [IN]

  • scattering_setting (String, optional) – Scattering settings. Defaults to "None" [IN]

  • space_setting (String, optional) – Space settings. Defaults to "CosmicMicrowaveBackgroundRadiation" [IN]

  • sun_setting (String, optional) – Sun settings. Defaults to "None" [IN]

  • surface_setting (String, optional) – Surface settings. Defaults to "Thermal" [IN]

  • surface_lambertian_value (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 (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 96 possible combinations for calling the disort_settings_agendaSetup method.

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 do is available by the types in this table:

Input variable

pyarts class

layer_emission_setting

disort_settings_agenda_setup_layer_emission_type

scattering_setting

disort_settings_agenda_setup_scattering_type

space_setting

disort_settings_agenda_setup_space_type

sun_setting

disort_settings_agenda_setup_sun_type

surface_setting

disort_settings_agenda_setup_surface_type


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="None", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTau", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="None", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="None", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="None", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="None", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="None", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Thermal", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="ThermalLambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)


disort_settings_agendaSetup(layer_emission_setting="LinearInTauNonLTE", scattering_setting="ScatteringSpecies", space_setting="CosmicMicrowaveBackgroundRadiation", sun_setting="Sun", surface_setting="Lambertian", surface_lambertian_value=lambertian_reflection, min_optical_depth=min_optical_depth)

disort_settings_agendaSubsurfaceSetup(self, disort_settings_agenda: pyarts3.arts.Agenda | None = None, sun_setting: pyarts3.arts.String | None = None, min_optical_depth: pyarts3.arts.Numeric | None = None, fading_bottom: pyarts3.arts.Index | None = None) None

Setup for Disort subsurface calculations.

This method allows setting up disort_settings_agenda by named options. A description of the options is given below.

Author: Richard Larsson

Parameters:
  • disort_settings_agenda (Agenda, optional) – An agenda for setting up Disort. See disort_settings_agenda, defaults to self.disort_settings_agenda [OUT]

  • sun_setting (String, optional) – Sun settings. Defaults to "None" [IN]

  • min_optical_depth (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]

  • fading_bottom (Index, optional) – If true, the bottom layer has no input from below (i.e., no emission or transmission from below). Defaults to 1 [IN]

disort_settings_downwelling_wrapper_agendaExecute(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, disort_settings_downwelling_wrapper_agenda: pyarts3.arts.Agenda | None = None) None

Executes disort_settings_downwelling_wrapper_agenda, see it for more details

Author: Automatically Generated

Used by wrapper method

Parameters:
disort_settings_downwelling_wrapper_agendaExecuteOperator(self, disort_settings: pyarts3.arts.DisortSettings | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, disort_settings_downwelling_wrapper_agenda_operator: pyarts3.arts.disort_settings_downwelling_wrapper_agendaOperator | None = None) None

Executes an operator emulating disort_settings_downwelling_wrapper_agenda, see it, and also disort_settings_downwelling_wrapper_agendaOperator, for more details

Author: Automatically Generated

Parameters:
disort_settings_downwelling_wrapper_agendaSet(self, disort_settings_downwelling_wrapper_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set disort_settings_downwelling_wrapper_agenda to a specific predefined option

Author: Automatically Generated

Parameters:

Valid options

These are the valid options for the disort_settings_downwelling_wrapper_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


disort_settings_downwelling_wrapper_agendaSet(option="Standard")

disort_settings_downwelling_wrapper_agendaSetOperator(self, disort_settings_downwelling_wrapper_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.disort_settings_downwelling_wrapper_agendaOperator | None = None) None

Set disort_settings_downwelling_wrapper_agenda to exclusively use provided external operator. See disort_settings_downwelling_wrapper_agendaOperator for more details.

Author: Automatically Generated

Parameters:
disort_spectral_flux_fieldCalc(self, disort_spectral_flux_field: pyarts3.arts.DisortFlux | None = None, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Perform Disort calculations for spectral flux.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • disort_spectral_flux_field (DisortFlux, optional) – The spectral flux field from Disort. See disort_spectral_flux_field, defaults to self.disort_spectral_flux_field [OUT]

  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [IN]

disort_spectral_flux_fieldFromAgenda(self, disort_spectral_flux_field: pyarts3.arts.DisortFlux | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Use Disort for clearsky calculations of spectral flux field.

The agenda is used to setup Disort, i.e., to compute the disort_settings that 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 Generated

Used by wrapper method

Parameters:
disort_spectral_flux_fieldProfile(self, disort_spectral_flux_field: pyarts3.arts.DisortFlux | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, max_step: pyarts3.arts.Numeric | None = None) 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 (DisortFlux, optional) – The spectral flux field from Disort. See disort_spectral_flux_field, defaults to self.disort_spectral_flux_field [OUT]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • disort_fourier_mode_dimension (Index, optional) – The number of Fourier modes for Disort. See disort_fourier_mode_dimension, defaults to self.disort_fourier_mode_dimension [IN]

  • disort_legendre_polynomial_dimension (Index, optional) – The number of input Legendre polynimials for Disort. See disort_legendre_polynomial_dimension, defaults to self.disort_legendre_polynomial_dimension [IN]

  • disort_quadrature_dimension (Index, optional) – The quadrature size for Disort. See disort_quadrature_dimension, defaults to self.disort_quadrature_dimension [IN]

  • disort_settings_agenda (Agenda, optional) – An agenda for setting up Disort. See disort_settings_agenda, defaults to self.disort_settings_agenda [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

disort_spectral_radiance_fieldApplyUnit(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, spectral_radiance_transform_operator: pyarts3.arts.SpectralRadianceTransformOperator | None = None) None

Convert units of the Disort spectral radiance field.

Author: Richard Larsson

Parameters:
disort_spectral_radiance_fieldCalc(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, disort_settings: pyarts3.arts.DisortSettings | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) None

Perform Disort calculations for spectral radiance.

Author: Richard Larsson

Used by wrapper methods

Parameters:
  • disort_spectral_radiance_field (DisortRadiance, optional) – The spectral radiance field from Disort. See disort_spectral_radiance_field, defaults to self.disort_spectral_radiance_field [OUT]

  • disort_quadrature (ZenithGriddedField1, optional) – The quadrature angles for Disort with accompying weights. See disort_quadrature, defaults to self.disort_quadrature [OUT]

  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [IN]

  • azimuth_grid (AzimuthGrid, optional) – The azimuthal angles. Defaults to 0 [IN]

disort_spectral_radiance_fieldCalcCdisort(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_fieldDepthProfile(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, depth_profile: pyarts3.arts.DescendingGrid | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_fieldFromAgenda()

Authors: Richard Larsson, Automatically Generated

Parameters:
disort_spectral_radiance_fieldFromAgenda(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) None

Use Disort for clearsky calculations of spectral radiance field.

The agenda is used to setup Disort, i.e., to compute the disort_settings that 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_radiance_fieldCalc()

Authors: Richard Larsson, Automatically Generated

Used by wrapper methods

Parameters:
disort_spectral_radiance_fieldFromAgendaCdisort(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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.ray_path_atmospheric_pointFromPath()
7 ws.ray_path_frequency_gridFromPath()
8 ws.disort_spectral_radiance_fieldCalcCdisort()

Authors: Oliver Lemke, Richard Larsson, Automatically Generated

Used by wrapper method

Parameters:
disort_spectral_radiance_fieldProfile(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, max_step: pyarts3.arts.Numeric | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_fieldFromAgenda()

Authors: Richard Larsson, Automatically Generated

Parameters:
  • disort_spectral_radiance_field (DisortRadiance, optional) – The spectral radiance field from Disort. See disort_spectral_radiance_field, defaults to self.disort_spectral_radiance_field [OUT]

  • disort_quadrature (ZenithGriddedField1, optional) – The quadrature angles for Disort with accompying weights. See disort_quadrature, defaults to self.disort_quadrature [OUT]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • disort_fourier_mode_dimension (Index, optional) – The number of Fourier modes for Disort. See disort_fourier_mode_dimension, defaults to self.disort_fourier_mode_dimension [IN]

  • disort_legendre_polynomial_dimension (Index, optional) – The number of input Legendre polynimials for Disort. See disort_legendre_polynomial_dimension, defaults to self.disort_legendre_polynomial_dimension [IN]

  • disort_quadrature_dimension (Index, optional) – The quadrature size for Disort. See disort_quadrature_dimension, defaults to self.disort_quadrature_dimension [IN]

  • disort_settings_agenda (Agenda, optional) – An agenda for setting up Disort. See disort_settings_agenda, defaults to self.disort_settings_agenda [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

  • azimuth_grid (AzimuthGrid, optional) – The azimuthal angles. Defaults to 0 [IN]

disort_spectral_radiance_fieldProfileCdisort(self, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, max_step: pyarts3.arts.Numeric | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_fieldFromAgendaCdisort()

Authors: Oliver Lemke, Richard Larsson, Automatically Generated

Parameters:
  • disort_spectral_radiance_field (DisortRadiance, optional) – The spectral radiance field from Disort. See disort_spectral_radiance_field, defaults to self.disort_spectral_radiance_field [OUT]

  • disort_quadrature (ZenithGriddedField1, optional) – The quadrature angles for Disort with accompying weights. See disort_quadrature, defaults to self.disort_quadrature [OUT]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • disort_fourier_mode_dimension (Index, optional) – The number of Fourier modes for Disort. See disort_fourier_mode_dimension, defaults to self.disort_fourier_mode_dimension [IN]

  • disort_legendre_polynomial_dimension (Index, optional) – The number of input Legendre polynimials for Disort. See disort_legendre_polynomial_dimension, defaults to self.disort_legendre_polynomial_dimension [IN]

  • disort_quadrature_dimension (Index, optional) – The quadrature size for Disort. See disort_quadrature_dimension, defaults to self.disort_quadrature_dimension [IN]

  • disort_settings_agenda (Agenda, optional) – An agenda for setting up Disort. See disort_settings_agenda, defaults to self.disort_settings_agenda [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

  • azimuth_grid (AzimuthGrid, optional) – The azimuthal angles. Defaults to 0 [IN]

ecs_dataAddMakarov2020(self, ecs_data: pyarts3.arts.LinemixingEcsData | None = None) None

Sets the O2-66 microwave band data for ECS.

This is based on the work of Makarov et al. [18].

Author: Richard Larsson

Parameters:

ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [INOUT]

ecs_dataAddMeanAir(self, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, vmrs: pyarts3.arts.Vector | None = None, species: pyarts3.arts.ArrayOfSpeciesEnum | None = None) None

Sets ECS data for air from other data if available.

Author: Richard Larsson

Parameters:
ecs_dataAddRodrigues1997(self, ecs_data: pyarts3.arts.LinemixingEcsData | None = None) None

Sets the CO2-626, CO2-628, and CO2-636 band data for ECS.

Sets N2 and O2 species.

This is based on the work of Rodrigues et al. [28].

Author: Richard Larsson

Parameters:

ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [INOUT]

ecs_dataAddTran2011(self, ecs_data: pyarts3.arts.LinemixingEcsData | None = None) None

Sets the CO2-626, CO2-628, and CO2-636 band data for ECS.

Sets CO2 species.

This is based on the work of Tran et al. [35].

Author: Richard Larsson

Parameters:

ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [INOUT]

ecs_dataInit(self, ecs_data: pyarts3.arts.LinemixingEcsData | None = None) None

Resets/initializes the ECS data.

Author: Richard Larsson

Parameters:

ecs_data (LinemixingEcsData, optional) – Error corrected sudden data. See ecs_data, defaults to self.ecs_data [OUT]

flux_profileIntegrate(self, flux_profile: pyarts3.arts.Vector | None = None, spectral_flux_profile: pyarts3.arts.Matrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) 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 : Vector. [OUT]

  • spectral_flux_profile (Matrix, optional) – An altitude profile of spectral flux. See spectral_flux_profile, defaults to self.spectral_flux_profile [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

frequency_gridFitNonLTE(self, frequency_grid: pyarts3.arts.AscendingGrid | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, df: pyarts3.arts.Numeric | None = None, nf: pyarts3.arts.Index | None = None) None

Frequency grid useful for atmospheric_profileFitNonLTE().

This method creates a frequency grid around the line-center of each absorption line in the absorption_bands variable.

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:
  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [OUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • df (Numeric) – Frequency grid around the line-center. The range will cover \(f_i\) pm left(1-delta fright)forall i` of each absorption line \(i\), where this variable is \(\delta f\). [IN]

  • nf (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]

frequency_gridWindShift(self, frequency_grid: pyarts3.arts.AscendingGrid | None = None, frequency_grid_wind_shift_jacobian: pyarts3.arts.Vector3 | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None) None

Applies wind shift to the frequency_grid for the local frequency grid.

Also sets frequency_grid_wind_shift_jacobian.

If the wind is 0 or nan, the frequency_grid remains unchanged.

Author: Richard Larsson

Parameters:
get(self, name: str) object

Gets the value of the variable with the given name.

gravity_operatorCentralMass(self, gravity_operator: pyarts3.arts.NumericTernaryOperator | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, mass: pyarts3.arts.Numeric | None = None) None

Sets a gravity operator from the gravitational constant and the mass of the planet

Gets the ellispoid from surface_field

Author: Richard Larsson

Parameters:
  • gravity_operator (NumericTernaryOperator, optional) – The gravity operator. See gravity_operator, defaults to self.gravity_operator [OUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • mass (Numeric) – Gravitation constant so that the gravity at radius \(r\) is \(GM / r^2\). [IN]

has(self, name: str) bool

Checks if the workspace contains the variable.

init(self, arg: str, /) None
init(self, name: str, typename: str) None

Overloaded function.

  1. init(self, arg: str, /) -> None

  2. init(self, name: str, typename: str) -> None

Initiate the variable to the named type.

inversion_iterate_agendaExecute(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, measurement_vector_fitted: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, model_state_vector: pyarts3.arts.Vector | None = None, do_jacobian: pyarts3.arts.Index | None = None, inversion_iterate_agenda_counter: pyarts3.arts.Index | None = None, inversion_iterate_agenda: pyarts3.arts.Agenda | None = None) None

Executes inversion_iterate_agenda, see it for more details

Author: Automatically Generated

Parameters:
inversion_iterate_agendaExecuteOperator(self, atmospheric_field: pyarts3.arts.AtmField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, measurement_vector_fitted: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, model_state_vector: pyarts3.arts.Vector | None = None, do_jacobian: pyarts3.arts.Index | None = None, inversion_iterate_agenda_counter: pyarts3.arts.Index | None = None, inversion_iterate_agenda_operator: pyarts3.arts.inversion_iterate_agendaOperator | None = None) None

Executes an operator emulating inversion_iterate_agenda, see it, and also inversion_iterate_agendaOperator, for more details

Author: Automatically Generated

Parameters:
inversion_iterate_agendaSet(self, inversion_iterate_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set inversion_iterate_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • inversion_iterate_agenda (Agenda, optional) – Work in progress … See inversion_iterate_agenda, defaults to self.inversion_iterate_agenda [OUT]

  • option (String, optional) – Choice of generated agenda. Defaults to "Full" [IN]

Valid options

These are the valid options for the inversion_iterate_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


inversion_iterate_agendaSet(option="Full")

inversion_iterate_agendaSetOperator(self, inversion_iterate_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.inversion_iterate_agendaOperator | None = None) None

Set inversion_iterate_agenda to exclusively use provided external operator. See inversion_iterate_agendaOperator for more details.

Author: Automatically Generated

Parameters:
jacobian_targetsAddAtmosphere(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, target: pyarts3.arts.AtmKey | pyarts3.arts.SpeciesEnum | pyarts3.arts.SpeciesIsotope | pyarts3.arts.QuantumLevelIdentifier | None = None, d: pyarts3.arts.Numeric | None = None) None

Sets an atmospheric target.

Author: Richard Larsson

Parameters:
jacobian_targetsAddErrorPolyFit(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, t: pyarts3.arts.Vector | None = None, sensor_elem: pyarts3.arts.Index | None = None, polyorder: pyarts3.arts.Index | None = None) None

Set a measurement error to polynomial fit.

This is a generic error that is simply added to measurement_vector as if

\[y = y_0 + \epsilon(p_0,\; p_1,\; \cdots,\; p_n),\]

where \(y\) represents measurement_vector and \(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_vector are those with regards to a, b, etc..

Note

The rule for the sensor_elem GIN is a bit complex. Generally, methods such as measurement_sensorAddSimple() will simply add a single unique frequency grid to all the different SensorObsel that they add to the measurement_sensor. The GIN sensor_elem is 0 for the first unique frequency grid, 1 for the second, and so on. See ArrayOfSensorObsel member methods in python for help identifying and manipulating how many unique frequency grids are available in measurement_sensor.

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, 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 (Index, optional) – The order of the polynomial fit. Maximum \(n\) above. Defaults to 0 [IN]

jacobian_targetsAddMagneticField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, component: pyarts3.arts.String | None = None, d: pyarts3.arts.Numeric | None = None) None

Set magnetic field derivative.

See FieldComponent for valid component.

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • component (String) – The component to use [u, v, w]. [IN]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddOverlappingMagneticField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) 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:

jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

jacobian_targetsAddOverlappingWindField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) 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:

jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

jacobian_targetsAddPressure(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, d: pyarts3.arts.Numeric | None = None) None

Set pressure derivative.

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddSensorFrequencyPolyOffset(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, d: pyarts3.arts.Numeric | None = None, sensor_elem: pyarts3.arts.Index | None = None, polyorder: pyarts3.arts.Index | None = None) 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_vector are those with regards to a, b, etc..

Note

The rule for the sensor_elem GIN is a bit complex. Generally, methods such as measurement_sensorAddSimple() will simply add a single unique frequency grid to all the different SensorObsel that they add to the measurement_sensor. The GIN sensor_elem is 0 for the first unique frequency grid, 1 for the second, and so on. See ArrayOfSensorObsel member methods in python for help identifying and manipulating how many unique frequency grids are available in measurement_sensor.

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [IN]

  • d (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 (Index, optional) – The order of the polynomial fit. Defaults to 0 [IN]

jacobian_targetsAddSpeciesIsotopologueRatio(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, species: pyarts3.arts.SpeciesIsotope | None = None, d: pyarts3.arts.Numeric | None = None) None

Set isotopologue ratio derivative

See SpeciesIsotope for valid species

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • species (SpeciesIsotope) – The species isotopologue of interest. [IN]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddSpeciesVMR(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, species: pyarts3.arts.SpeciesEnum | None = None, d: pyarts3.arts.Numeric | None = None) None

Set volume mixing ratio derivative.

See SpeciesEnum for valid species

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • species (SpeciesEnum) – The species of interest. [IN]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddSubsurface(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, target: pyarts3.arts.SubsurfaceKey | pyarts3.arts.SubsurfacePropertyTag | None = None, d: pyarts3.arts.Numeric | None = None) None

Sets a subsurface target

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • target (SubsurfaceKey,SubsurfacePropertyTag) – The target of interest. [IN]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddSurface(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, target: pyarts3.arts.SurfaceKey | pyarts3.arts.SurfacePropertyTag | None = None, d: pyarts3.arts.Numeric | None = None) None

Sets a surface target

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • target (SurfaceKey,SurfacePropertyTag) – The target of interest. [IN]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddTemperature(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, d: pyarts3.arts.Numeric | None = None) None

Set temperature derivative.

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsAddWindField(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, component: pyarts3.arts.String | None = None, d: pyarts3.arts.Numeric | None = None) None

Set wind field derivative.

Note that the derivatives from methods that takes the freqeuncy will return their derivatives as if these were frequency derivatives.

See FieldComponent for valid component

Author: Richard Larsson

Parameters:
  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [INOUT]

  • component (String) – The component to use [u, v, w]. [IN]

  • d (Numeric, optional) – The perturbation used in methods that cannot compute derivatives analytically. Defaults to 0.1 [IN]

jacobian_targetsConditionalClear(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, do_jacobian: pyarts3.arts.Index | None = None) None

Clears jacobian_targets if do_jacobian evaluates false.

Author: Richard Larsson

Parameters:
jacobian_targetsFinalize(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None) None

Finalize jacobian_targets.

The finalization computes the size of the required model_state_vector. It is thus necessary if any OEM() or other functionality that requires the building of an actual Jacobian matrix.

Author: Richard Larsson

Parameters:
jacobian_targetsInit(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Initialize or reset the jacobian_targets.

Author: Richard Larsson

Parameters:

jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [OUT]

jacobian_targetsOff(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Turns off jacobian_targets

Author: Richard Larsson

Parameters:

jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [OUT]

jacobian_targetsToggleLogRelAtmTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, key: pyarts3.arts.AtmKey | pyarts3.arts.SpeciesEnum | pyarts3.arts.SpeciesIsotope | pyarts3.arts.QuantumLevelIdentifier | pyarts3.arts.ScatteringSpeciesProperty | None = None) 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:
jacobian_targetsToggleLogRelSubsurfaceTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, key: pyarts3.arts.SubsurfaceKey | None = None) 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:
jacobian_targetsToggleLogRelSurfaceTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, key: pyarts3.arts.SurfaceKey | pyarts3.arts.SurfacePropertyTag | None = None) 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:
jacobian_targetsToggleLogarithmicAtmTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, key: pyarts3.arts.AtmKey | pyarts3.arts.SpeciesEnum | pyarts3.arts.SpeciesIsotope | pyarts3.arts.QuantumLevelIdentifier | pyarts3.arts.ScatteringSpeciesProperty | None = None) 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:
jacobian_targetsToggleLogarithmicSubsurfaceTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, key: pyarts3.arts.SubsurfaceKey | None = None) 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:
jacobian_targetsToggleLogarithmicSurfaceTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, key: pyarts3.arts.SurfaceKey | pyarts3.arts.SurfacePropertyTag | None = None) 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:
jacobian_targetsToggleRelativeAtmTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, key: pyarts3.arts.AtmKey | pyarts3.arts.SpeciesEnum | pyarts3.arts.SpeciesIsotope | pyarts3.arts.QuantumLevelIdentifier | pyarts3.arts.ScatteringSpeciesProperty | None = None) 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:
jacobian_targetsToggleRelativeHumidityAtmTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, water_equivalent_pressure_operator: pyarts3.arts.NumericUnaryOperator | None = None, key: pyarts3.arts.AtmKey | pyarts3.arts.SpeciesEnum | pyarts3.arts.SpeciesIsotope | pyarts3.arts.QuantumLevelIdentifier | pyarts3.arts.ScatteringSpeciesProperty | None = None, nonnegative: pyarts3.arts.Index | None = None) 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:
jacobian_targetsToggleRelativeSubsurfaceTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, key: pyarts3.arts.SubsurfaceKey | None = None) 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:
jacobian_targetsToggleRelativeSurfaceTarget(self, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, key: pyarts3.arts.SurfaceKey | pyarts3.arts.SurfacePropertyTag | None = None) 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:
legendre_degreeFromDisortSettings(self, legendre_degree: pyarts3.arts.Index | None = None, disort_settings: pyarts3.arts.DisortSettings | None = None) None

Sets legendre_degree to disort_settings legendre_polynomial_dimension

Method is purely for convenience and composition.

Author: Richard Larsson

Parameters:
  • legendre_degree (Index, optional) – The degree of a Legendre polynimial. See legendre_degree, defaults to self.legendre_degree [OUT]

  • disort_settings (DisortSettings, optional) – Contains the full settings of spectral Disort calculations. See disort_settings, defaults to self.disort_settings [IN]

measurement_averaging_kernelCalc(self, measurement_averaging_kernel: pyarts3.arts.Matrix | None = None, measurement_gain_matrix: pyarts3.arts.Matrix | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None) None

Calculate the averaging kernel matrix.

This is done by describing the sensitivity of the OEM() retrieval with respect to the true state of the system. A prerequisite for the calculation of the averaging kernel matrix is a successful OEM() calculation in which the measurement_jacobian and the gain matrix measurement_gain_matrix have been calculated.

Author: Simon Pfreundschuh

Parameters:
measurement_inversion_agendaExecute(self, measurement_vector_fitted: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, do_jacobian: pyarts3.arts.Index | None = None, measurement_inversion_agenda: pyarts3.arts.Agenda | None = None) None

Executes measurement_inversion_agenda, see it for more details

Author: Automatically Generated

Parameters:
measurement_inversion_agendaExecuteOperator(self, measurement_vector_fitted: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, do_jacobian: pyarts3.arts.Index | None = None, measurement_inversion_agenda_operator: pyarts3.arts.measurement_inversion_agendaOperator | None = None) None

Executes an operator emulating measurement_inversion_agenda, see it, and also measurement_inversion_agendaOperator, for more details

Author: Automatically Generated

Parameters:
measurement_inversion_agendaSet(self, measurement_inversion_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set measurement_inversion_agenda to a specific predefined option

Author: Automatically Generated

Parameters:

Valid options

These are the valid options for the measurement_inversion_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


measurement_inversion_agendaSet(option="Standard")

measurement_inversion_agendaSetOperator(self, measurement_inversion_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.measurement_inversion_agendaOperator | None = None) None

Set measurement_inversion_agenda to exclusively use provided external operator. See measurement_inversion_agendaOperator for more details.

Author: Automatically Generated

Parameters:
measurement_jacobianAtmosphereTransformation(self, measurement_jacobian: pyarts3.arts.Matrix | None = None, model_state_vector: pyarts3.arts.Vector | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Applies transformations to the atmospheric state Jacobian

Author: Richard Larsson

Used by wrapper method

Parameters:
measurement_jacobianBandTransformation(self, measurement_jacobian: pyarts3.arts.Matrix | None = None, model_state_vector: pyarts3.arts.Vector | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Applies transformations to the line-by-line state Jacobian

Author: Richard Larsson

Used by wrapper method

Parameters:
  • measurement_jacobian (Matrix, optional) – The first order partial derivatives of the measurement_vector. See measurement_jacobian, defaults to self.measurement_jacobian [INOUT]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

measurement_jacobianSensorTransformation(self, measurement_jacobian: pyarts3.arts.Matrix | None = None, model_state_vector: pyarts3.arts.Vector | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Applies transformations to the measurement sensor state Jacobian

Author: Richard Larsson

Used by wrapper method

Parameters:
measurement_jacobianSubsurfaceTransformation(self, measurement_jacobian: pyarts3.arts.Matrix | None = None, model_state_vector: pyarts3.arts.Vector | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Applies transformations to the subsurface state Jacobian

Author: Richard Larsson

Used by wrapper method

Parameters:
measurement_jacobianSurfaceTransformation(self, measurement_jacobian: pyarts3.arts.Matrix | None = None, model_state_vector: pyarts3.arts.Vector | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Applies transformations to the surface state Jacobian

Author: Richard Larsson

Used by wrapper method

Parameters:
measurement_jacobianTransformations(self, measurement_jacobian: pyarts3.arts.Matrix | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, model_state_vector: pyarts3.arts.Vector | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) None

Apply all transformations to the Jacobian related to states in model_state_vectorFromData()

Wrapper calling Methods (in order):

Equivalent (mostly) Python code:

1ws = pyarts.Workspace()
2
3# ...
4
5 ws.measurement_jacobianAtmosphereTransformation()
6 ws.measurement_jacobianSurfaceTransformation()
7 ws.measurement_jacobianSubsurfaceTransformation()
8 ws.measurement_jacobianBandTransformation()
9 ws.measurement_jacobianSensorTransformation()

Author: Richard Larsson

Parameters:
measurement_sensorAddRawSensor(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, pos: pyarts3.arts.Vector3 | None = None, los: pyarts3.arts.Vector2 | None = None, raw_sensor_perturbation: pyarts3.arts.StokvecSortedGriddedField1 | pyarts3.arts.StokvecSortedGriddedField2 | pyarts3.arts.StokvecSortedGriddedField3 | pyarts3.arts.StokvecSortedGriddedField4 | pyarts3.arts.StokvecSortedGriddedField5 | pyarts3.arts.StokvecSortedGriddedField6 | pyarts3.arts.SortedGriddedField1 | pyarts3.arts.SortedGriddedField2 | pyarts3.arts.SortedGriddedField3 | pyarts3.arts.SortedGriddedField4 | pyarts3.arts.SortedGriddedField5 | pyarts3.arts.SortedGriddedField6 | None = None, normalize: pyarts3.arts.Index | None = None) 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:

  1. Frequency ("df")

  2. Zenith angle ("dza")

  3. Azimuth angle ("daa")

  4. Altitude ("dalt")

  5. Latitude ("dlat")

  6. 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_sensorAddSimple(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, pos: pyarts3.arts.Vector3 | None = None, los: pyarts3.arts.Vector2 | None = None, pol: pyarts3.arts.Stokvec | None = None) 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 (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • pos (Vector3) – A position [alt, lat, lon]. [IN]

  • los (Vector2) – A line of sight [zenith, azimuth]. [IN]

  • pol (Stokvec, optional) – The polarization whos dot-product with the spectral radiance becomes the measurement. Defaults to 1 0 0 0 [IN]

measurement_sensorAddSimpleGaussian(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, std: pyarts3.arts.Numeric | None = None, pos: pyarts3.arts.Vector3 | None = None, los: pyarts3.arts.Vector2 | None = None, pol: pyarts3.arts.Stokvec | None = None) 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 (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_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 (Stokvec, optional) – The polarization whos dot-product with the spectral radiance becomes the measurement. Defaults to 1 0 0 0 [IN]

measurement_sensorAddVectorGaussian(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, std: pyarts3.arts.Vector | None = None, pos: pyarts3.arts.Vector3 | None = None, los: pyarts3.arts.Vector2 | None = None, pol: pyarts3.arts.Stokvec | None = None) 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 (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_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 (Stokvec, optional) – The polarization whos dot-product with the spectral radiance becomes the measurement. Defaults to 1 0 0 0 [IN]

measurement_sensorFromModelState(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Update measurement_sensor from model_state_vector.

Author: Richard Larsson

Used by wrapper method

Parameters:
measurement_sensorInit(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None) None

Initialize measurement_sensor to empty.

Author: Richard Larsson

Used by wrapper methods

Parameters:

measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [OUT]

measurement_sensorMakeExclusive(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, start: pyarts3.arts.Index | None = None, end: pyarts3.arts.Index | None = None) None

Make the measurement_sensor excluive.

This means that there will no overlapping frequency grids for any observation geometries.

Author: Richard Larsson

Parameters:
  • measurement_sensor (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [INOUT]

  • start (Index, optional) – The start index for measurement_sensor elements to exclude, negative means first element. Defaults to -1 [IN]

  • end (Index, optional) – The end index for measurement_sensor elements to exclude, negative means all element. Defaults to -1 [IN]

measurement_sensorSimple(self, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, pos: pyarts3.arts.Vector3 | None = None, pol: pyarts3.arts.Stokvec | None = None, los: pyarts3.arts.Vector2 | None = None) 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 (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • pos (Vector3) – A position [alt, lat, lon]. [IN]

  • pol (Stokvec, optional) – The polarization whos 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: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, std: pyarts3.arts.Numeric | None = None, pos: pyarts3.arts.Vector3 | None = None, pol: pyarts3.arts.Stokvec | None = None, los: pyarts3.arts.Vector2 | None = None) 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 (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • std (Numeric) – The standard deviations of the channels. [IN]

  • pos (Vector3) – A position [alt, lat, lon]. [IN]

  • pol (Stokvec, optional) – The polarization whos 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: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, std: pyarts3.arts.Vector | None = None, pos: pyarts3.arts.Vector3 | None = None, pol: pyarts3.arts.Stokvec | None = None, los: pyarts3.arts.Vector2 | None = None) 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 (ArrayOfSensorObsel, optional) – A list of sensor elements. See measurement_sensor, defaults to self.measurement_sensor [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • std (Vector) – The standard deviations of the channels. [IN]

  • pos (Vector3) – A position [alt, lat, lon]. [IN]

  • pol (Stokvec, optional) – The polarization whos 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_vectorConditionalAddError(self, measurement_vector: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, measurement_vector_error: pyarts3.arts.Vector | None = None, measurement_jacobian_error: pyarts3.arts.Matrix | None = None, do_jacobian: pyarts3.arts.Index | None = None) None

Add the measurement error to the measurement. Conditionally, also to the Jacobian.

Author: Richard Larsson

Parameters:
measurement_vectorFromOperatorPath(self, measurement_vector: pyarts3.arts.Vector | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, spectral_radiance_operator: pyarts3.arts.SpectralRadianceOperator | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None) None

Sets measurement vector by looping over all sensor elements

The core calculations happens inside the spectral_radiance_operator.

Author: Richard Larsson

Parameters:
measurement_vectorFromSensor(self, measurement_vector: pyarts3.arts.Vector | None = None, measurement_jacobian: pyarts3.arts.Matrix | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_transform_operator: pyarts3.arts.SpectralRadianceTransformOperator | None = None, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None) None

Sets measurement vector by looping over all sensor elements

The core calculations happens inside the spectral_radiance_observer_agenda.

Author: Richard Larsson

Parameters:
measurement_vector_errorFromModelState(self, measurement_vector_error: pyarts3.arts.Vector | None = None, measurement_jacobian_error: pyarts3.arts.Matrix | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, model_state_vector: pyarts3.arts.Vector | None = None) None

Set the error and its Jacobian from the state of the model.

Author: Richard Larsson

Parameters:
measurement_vector_error_covariance_matrixConstant(self, measurement_vector_error_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, value: pyarts3.arts.Numeric | None = None) None

Sets a constant measurement vector error covariance matrix.

Author: Richard Larsson

Parameters:
measurement_vector_error_covariance_matrix_observation_systemCalc(self, measurement_vector_error_covariance_matrix_observation_system: pyarts3.arts.Matrix | None = None, measurement_gain_matrix: pyarts3.arts.Matrix | None = None, measurement_vector_error_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None) None

Calculates the covariance matrix describing the error due to uncertainties in the observation system.

The uncertainties of the observation system are described by measurement_vector_error_covariance_matrix, 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_vector_error_covariance_matrix_observation_system is a successful OEM() computation where also the gain matrix has been computed.

Author: Simon Pfreundschuh

Parameters:
  • measurement_vector_error_covariance_matrix_observation_system (Matrix) – Covariance matrix describing the retrieval error due to uncertainties of the observation system. Defaults to create and/or use self.measurement_vector_error_covariance_matrix_observation_system : Matrix. [OUT]

  • measurement_gain_matrix (Matrix, optional) – Contribution function (or gain) matrix. See measurement_gain_matrix, defaults to self.measurement_gain_matrix [IN]

  • measurement_vector_error_covariance_matrix (CovarianceMatrix, optional) – Covariance matrix for observation uncertainties. See measurement_vector_error_covariance_matrix, defaults to self.measurement_vector_error_covariance_matrix [IN]

measurement_vector_fittedFromMeasurement(self, measurement_vector_fitted: pyarts3.arts.Vector | None = None, measurement_vector: pyarts3.arts.Vector | None = None) None

Sets the fitted measurement vector to the current measurement vector.

Author: Richard Larsson

Parameters:
model_state_covariance_matrixAddSpeciesVMR(self, model_state_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, species: pyarts3.arts.SpeciesEnum | None = None, matrix: pyarts3.arts.BlockMatrix | None = None, inverse: pyarts3.arts.BlockMatrix | None = None) None

Set a species model state covariance matrix element.

Author: Richard Larsson

Parameters:
  • model_state_covariance_matrix (CovarianceMatrix, optional) – Covariance matrix of a priori distribution. See model_state_covariance_matrix, defaults to self.model_state_covariance_matrix [INOUT]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • species (SpeciesEnum) – The species to set the covariance matrix for. [IN]

  • matrix (BlockMatrix) – The covariance diagoinal block matrix. [IN]

  • inverse (BlockMatrix, optional) – The inverse covariance diagoinal block matrix. Defaults to pyarts3.arts.BlockMatrix() [IN]

model_state_covariance_matrixInit(self, model_state_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None) None

Initialises the model state covariance matrix to the identity matrix.

Author: Richard Larsson

Parameters:

model_state_covariance_matrix (CovarianceMatrix, optional) – Covariance matrix of a priori distribution. See model_state_covariance_matrix, defaults to self.model_state_covariance_matrix [OUT]

model_state_covariance_matrix_smoothing_errorCalc(self, model_state_covariance_matrix_smoothing_error: pyarts3.arts.Matrix | None = None, measurement_averaging_kernel: pyarts3.arts.Matrix | None = None, model_state_covariance_matrix: pyarts3.arts.CovarianceMatrix | None = None) None

Calculates the covariance matrix describing the error due to smoothing.

The calculation of model_state_covariance_matrix_smoothing_error also requires the averaging kernel matrix measurement_averaging_kernel to be computed after a successful OEM calculation.

Author: Simon Pfreundschuh

Parameters:
  • model_state_covariance_matrix_smoothing_error (Matrix) – Covariance matrix describing the retrieval error due to smoothing. Defaults to create and/or use self.model_state_covariance_matrix_smoothing_error : Matrix. [OUT]

  • measurement_averaging_kernel (Matrix, optional) – Averaging kernel matrix. See measurement_averaging_kernel, defaults to self.measurement_averaging_kernel [IN]

  • model_state_covariance_matrix (CovarianceMatrix, optional) – Covariance matrix of a priori distribution. See model_state_covariance_matrix, defaults to self.model_state_covariance_matrix [IN]

model_state_vectorFromAtmosphere(self, model_state_vector: pyarts3.arts.Vector | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector’s atmospheric part.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [INOUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

model_state_vectorFromBands(self, model_state_vector: pyarts3.arts.Vector | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector’s absorption line part.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [INOUT]

  • absorption_bands (AbsorptionBands, optional) – Bands of absorption lines for line-by-line (LBL) calculations. See absorption_bands, defaults to self.absorption_bands [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

model_state_vectorFromData(self, model_state_vector: pyarts3.arts.Vector | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) None

Get model_state_vector from available data

Wrapper calling Methods (in order):

Equivalent (mostly) Python code:

 1ws = pyarts.Workspace()
 2
 3# ...
 4
 5 ws.model_state_vectorInit()
 6 ws.model_state_vectorFromAtmosphere()
 7 ws.model_state_vectorFromSurface()
 8 ws.model_state_vectorFromSubsurface()
 9 ws.model_state_vectorFromBands()
10 ws.model_state_vectorFromSensor()

Author: Richard Larsson

Used by wrapper method

Parameters:
model_state_vectorFromSensor(self, model_state_vector: pyarts3.arts.Vector | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector’s sensor part.

Author: Richard Larsson

Used by wrapper method

Parameters:
model_state_vectorFromSubsurface(self, model_state_vector: pyarts3.arts.Vector | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector’s subsurface part.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [INOUT]

  • subsurface_field (SubsurfaceField, optional) – The sub-surface field. See subsurface_field, defaults to self.subsurface_field [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

model_state_vectorFromSurface(self, model_state_vector: pyarts3.arts.Vector | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector’s surface part.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [INOUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

model_state_vectorInit(self, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector to the size jacobian_targets demand.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [OUT]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

model_state_vectorPerturbations(self, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets model_state_vector to the size jacobian_targets demand.

Then fills it with the perturbations from the jacobian_targets.

Author: Richard Larsson

Parameters:
  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [OUT]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

model_state_vector_aprioriFromData(self, model_state_vector_apriori: pyarts3.arts.Vector | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) None

Get model_state_vector_apriori from available data

Wrapper calling Methods (in order):

Equivalent (mostly) Python code:

1ws = pyarts.Workspace()
2
3# ...
4
5 ws.model_state_vectorFromData()
6 ws.model_state_vector_aprioriFromState()

Author: Richard Larsson

Parameters:
model_state_vector_aprioriFromState(self, model_state_vector_apriori: pyarts3.arts.Vector | None = None, model_state_vector: pyarts3.arts.Vector | None = None) None

Sets the a priori state of the model state vector to the current state.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • model_state_vector_apriori (Vector, optional) – An apriori state vector of the model. See model_state_vector_apriori, defaults to self.model_state_vector_apriori [OUT]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

nlte_line_flux_profileIntegrate(self, nlte_line_flux_profile: pyarts3.arts.QuantumIdentifierVectorMap | None = None, spectral_flux_profile: pyarts3.arts.Matrix | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) None

Integrate the spectral flux profile to get the line non-LTE flux

Author: Richard Larsson

Parameters:
propagation_matrixAddCIA(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, T_extrapolfac: pyarts3.arts.Numeric | None = None, ignore_errors: pyarts3.arts.Index | None = None) None

Add absorption coefficients for HITRAN collision induced absorption (CIA).

This interpolates the cross sections from absorption_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 atmospheric_point temperature is \(T\) and \(f\) is the frequency_grid, \(i\) is an index into the absorption_cia_data and \(j\) is an index into the underlying CIARecord data 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_extrapolfac sets 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, set T_extrapolfac to a very large or infinite value.

The frequnecy grid interpolation is limited to within the range of the available data. Any point in frequency_grid outside this range will simply be ignored. The frequency interpolation can thus not fail.

Note

ignore_errors can 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:
  • propagation_matrix (PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. See propagation_matrix, defaults to self.propagation_matrix [INOUT]

  • propagation_matrix_jacobian (PropmatMatrix, optional) – Partial derivative of the propagation_matrix with regards to jacobian_targets. See propagation_matrix_jacobian, defaults to self.propagation_matrix_jacobian [INOUT]

  • select_species (SpeciesEnum, optional) – Species selection. See select_species, defaults to self.select_species [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • absorption_cia_data (ArrayOfCIARecord, optional) – HITRAN Collision-Induced Absorption (CIA) Data. See absorption_cia_data, defaults to self.absorption_cia_data [IN]

  • T_extrapolfac (Numeric, optional) – Temperature extrapolation factor (relative to grid spacing). \(\Delta T_e\) in text above. Defaults to 0.5 [IN]

  • ignore_errors (Index, optional) – Set to 1 to suppress runtime errors (and return NAN values instead). Defaults to 0 [IN]

propagation_matrixAddFaraday(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None) 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 atmospheric_point (SpeciesEnum : free_electrons).

Faraday rotation affects Stokes parameters 2 and 3 (but not intensity!).

Like all propagation_matrix-modifying methods, the method is additive, i.e., does not overwrite the propagation matrix propagation_matrix, but adds further contributions.

Author: Patrick Eriksson

Parameters:
propagation_matrixAddLines(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_source_vector_nonlte: pyarts3.arts.StokvecVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, ecs_data: pyarts3.arts.LinemixingEcsData | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, no_negative_absorption: pyarts3.arts.Index | None = None) None

Add line-by-line absorption to the propagation matrix.

See Line-by-line Absorption for details.

Author: Richard Larsson

Parameters:
propagation_matrixAddLookup(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, absorption_lookup_table: pyarts3.arts.AbsorptionLookupTables | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, no_negative_absorption: pyarts3.arts.Index | None = None, p_interp_order: pyarts3.arts.Index | None = None, t_interp_order: pyarts3.arts.Index | None = None, water_interp_order: pyarts3.arts.Index | None = None, f_interp_order: pyarts3.arts.Index | None = None, extpolfac: pyarts3.arts.Numeric | None = None) None

Add line-by-line absorption to the propagation matrix.

See Lookup-table Absorption for details.

Author: Richard Larsson

Parameters:
  • propagation_matrix (PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. See propagation_matrix, defaults to self.propagation_matrix [INOUT]

  • propagation_matrix_jacobian (PropmatMatrix, optional) – Partial derivative of the propagation_matrix with regards to jacobian_targets. See propagation_matrix_jacobian, defaults to self.propagation_matrix_jacobian [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • select_species (SpeciesEnum, optional) – Species selection. See select_species, defaults to self.select_species [IN]

  • absorption_lookup_table (AbsorptionLookupTables, optional) – Absorption lookup table for scalar gas absorption coefficients. See absorption_lookup_table, defaults to self.absorption_lookup_table [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • no_negative_absorption (Index, optional) – Turn off to allow individual absorbers to have negative absorption. Defaults to 1 [IN]

  • p_interp_order (Index, optional) – Interpolation order for pressure. Defaults to 7 [IN]

  • t_interp_order (Index, optional) – Interpolation order for temperature. Defaults to 7 [IN]

  • water_interp_order (Index, optional) – Interpolation order for water vapor. Defaults to 7 [IN]

  • f_interp_order (Index, optional) – Interpolation order for frequency. Defaults to 7 [IN]

  • extpolfac (Numeric, optional) – Extrapolation factor. Defaults to 0.5 [IN]

propagation_matrixAddPredefined(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, absorption_predefined_model_data: pyarts3.arts.PredefinedModelData | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None) None

Adds all of the predefined models in absorption_species to the propagation_matrix

Only supports temperature and wind speed derivatives

Available models

Model name

Description and limitations

Reference(s)

H2O-ForeignContCKDMT320

Foreign continua.
Use water cutoff of 25 cm-1 and H2O-SelfContCKDMT320.

[2]

H2O-ForeignContCKDMT350

MT CKD 3.5 foreign continua.
Use water cutoff of 25 cm-1 and H2O-SelfContCKDMT350.

[2]

H2O-ForeignContCKDMT400

MT CKD 4 foreign continua.
Use water cutoff of 25 cm-1 and H2O-SelfContCKDMT350.
Requires an external data source.

Mlawer et al. [23] and [2]

H2O-ForeignContStandardType

Water microwave continua for foreign species.

Rosenkranz [30]

H2O-MPM89

Microwave water absorption model.

Liebe [16]

H2O-PWR2021

Microwave water absorption model
developed by P.W. Rosenkranz.

Rosenkranz [31].

H2O-PWR2022

Microwave water absorption model
developed by P.W. Rosenkranz.

Rosenkranz [31].

H2O-PWR98

Microwave water absorption model.

Rosenkranz [30]

H2O-SelfContCKDMT320

Self continua.
Use water cutoff of 25 cm-1 and H2O-ForeignContCKDMT320.

[2]

H2O-SelfContCKDMT350

MT CKD 3.5 self continua.
Use water cutoff of 25 cm-1 and H2O-ForeignContCKDMT350.

[2]

H2O-SelfContCKDMT400

MT CKD 4 self continua.
Use water cutoff of 25 cm-1 and H2O-SelfContCKDMT350.
Requires an external data source.

Mlawer et al. [23] and [2]

H2O-SelfContStandardType

Water microwave continua for self.

Rosenkranz [30]

CO2-CKDMT252

MT CKD absorption for CO2 version 2.52.

[2]

O2-CIAfunCKDMT100

CIA for oxygen from MT CKD.

[34] and [2]

O2-MPM2020

60 GHz and 118 GHz lines only.
Do not include the v 0 0 oxygen band manually.

Makarov et al. [18]

O2-MPM89

Oxygen microwave absorption model.

Liebe et al. [15]

O2-PWR2021

Oxygen microwave absorption model
developed by P.W. Rosenkranz.

Rosenkranz [30]

O2-PWR2022

Oxygen microwave absorption model
developed by P.W. Rosenkranz.

Rosenkranz [30]

O2-PWR98

Oxygen microwave absorption model.

Rosenkranz [29] and Liebe et al. [17] and
M.J. Schwartz, Ph.D. thesis, M.I.T. (1997) and
ROTHMAN et al. [32].

O2-SelfContStandardType

Microwave continua term.

Rosenkranz [29] and Liebe et al. [15]

O2-TRE05

Oxygen microwave absorption model.

Liebe et al. [15] and Tretyakov et al. [36]

O2-v0v0CKDMT100

CKD_MT 1.00 implementation of oxygen
collision-induced fundamental model.

[2] and [19] and Mlawer et al. [22]

O2-v1v0CKDMT100

MT CKD.

[2] and Mlawer et al. [22]

O2-visCKDMT252

MT CKD.

[2] and Greenblatt et al. [9]

N2-CIAfunCKDMT252

MT CKD.

[2] and Lafferty et al. [12]

N2-CIArotCKDMT252

MT CKD.

[2] and Borysow and Frommhold [5]

N2-SelfContMPM93

Microwave nitrogen absorption continua
from MPM93 model.

Liebe et al. [15]

N2-SelfContPWR2021

Microwave nitrogen absorption continua
developed by P.W. Rosenkranz.
This includes O2-N2 and O2-O2 CIA (only applicable to Earth).

Rosenkranz [30]

N2-SelfContStandardType

Microwave nitrogen absorption continua.

Rosenkranz [29]

liquidcloud-ELL07

Water droplet absorption.

Ellison [8]

Author: Richard Larsson

Parameters:
propagation_matrixAddXsecFit(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, absorption_xsec_fit_data: pyarts3.arts.ArrayOfXsecRecord | None = None, force_p: pyarts3.arts.Numeric | None = None, force_t: pyarts3.arts.Numeric | None = None) None

Calculate absorption cross sections per tag group for HITRAN xsec species.

This broadens the cross section data from absorption_xsec_fit_data and interpolates it onto the current frequency_grid.

Author: Oliver Lemke

Parameters:
  • propagation_matrix (PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. See propagation_matrix, defaults to self.propagation_matrix [INOUT]

  • propagation_matrix_jacobian (PropmatMatrix, optional) – Partial derivative of the propagation_matrix with regards to jacobian_targets. See propagation_matrix_jacobian, defaults to self.propagation_matrix_jacobian [INOUT]

  • select_species (SpeciesEnum, optional) – Species selection. See select_species, defaults to self.select_species [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • absorption_xsec_fit_data (ArrayOfXsecRecord, optional) – Fitting model coefficients for cross section species. See absorption_xsec_fit_data, defaults to self.absorption_xsec_fit_data [IN]

  • force_p (Numeric, optional) – Positive value forces constant pressure [Pa]. Defaults to -1 [IN]

  • force_t (Numeric, optional) – Positive value forces constant temperature [K]. Defaults to -1 [IN]

propagation_matrixInit(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_source_vector_nonlte: pyarts3.arts.StokvecVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.StokvecMatrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) None

Initialize propagation_matrix, propagation_matrix_source_vector_nonlte, and their derivatives to zeroes.

This method must be used inside propagation_matrix_agenda and then be called first.

Authors: Oliver Lemke, Richard Larsson

Parameters:
propagation_matrix_agendaAuto(self, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, absorption_species: pyarts3.arts.ArrayOfArrayOfSpeciesTag | None = None, absorption_bands: pyarts3.arts.AbsorptionBands | None = None, use_absorption_lookup_table: pyarts3.arts.Index | None = None, T_extrapolfac: pyarts3.arts.Numeric | None = None, ignore_errors: pyarts3.arts.Index | None = None, no_negative_absorption: pyarts3.arts.Index | None = None, force_p: pyarts3.arts.Numeric | None = None, force_t: pyarts3.arts.Numeric | None = None, p_interp_order: pyarts3.arts.Index | None = None, t_interp_order: pyarts3.arts.Index | None = None, water_interp_order: pyarts3.arts.Index | None = None, f_interp_order: pyarts3.arts.Index | None = None, extpolfac: pyarts3.arts.Numeric | None = None) None

Sets the propagation_matrix_agenda automatically from absorption data and species tag meta information.

The following methods are considered for addition to the agenda:

If use_absorption_lookup_table evaluates to true, lookup table calculations, via propagation_matrixAddLookup(), are used instead of propagation_matrixAddLines().

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:
propagation_matrix_agendaExecute(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_source_vector_nonlte: pyarts3.arts.StokvecVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, frequency_grid_wind_shift_jacobian: pyarts3.arts.Vector3 | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None) None

Executes propagation_matrix_agenda, see it for more details

Author: Automatically Generated

Parameters:
propagation_matrix_agendaExecuteOperator(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_source_vector_nonlte: pyarts3.arts.StokvecVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, frequency_grid_wind_shift_jacobian: pyarts3.arts.Vector3 | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, propagation_matrix_agenda_operator: pyarts3.arts.propagation_matrix_agendaOperator | None = None) None

Executes an operator emulating propagation_matrix_agenda, see it, and also propagation_matrix_agendaOperator, for more details

Author: Automatically Generated

Parameters:
propagation_matrix_agendaSet(self, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set propagation_matrix_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • propagation_matrix_agenda (Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. See propagation_matrix_agenda, defaults to self.propagation_matrix_agenda [OUT]

  • option (String) – Choice of generated agenda. [IN]

Valid options

These are the valid options for the propagation_matrix_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


propagation_matrix_agendaSet(option="Empty")

propagation_matrix_agendaSetOperator(self, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.propagation_matrix_agendaOperator | None = None) None

Set propagation_matrix_agenda to exclusively use provided external operator. See propagation_matrix_agendaOperator for more details.

Author: Automatically Generated

Parameters:
propagation_matrix_jacobianWindFix(self, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid_wind_shift_jacobian: pyarts3.arts.Vector3 | None = None) None

Fix for the wind field derivative.

The propagation_matrix_agenda will 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 no OEM() or other functionality that requires the Jacobian matrix to be calculated will work.

Author: Richard Larsson

Parameters:
propagation_matrix_scatteringAddSpectralScatteringSpeciesTRO(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, absorption_vector_scattering: pyarts3.arts.StokvecVector | None = None, phase_matrix_scattering_spectral: pyarts3.arts.SpecmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, scattering_species: pyarts3.arts.ArrayOfScatteringSpecies | None = None) None

Adds scattering_species results for totally random oriented spectral calculations to propagation_matrix_scattering and co.

Author: Richard Larsson

Parameters:
  • propagation_matrix_scattering (PropmatVector, optional) – The propgation matrix of totally random orientation particles at a single point along a path using spectral representation. See propagation_matrix_scattering, defaults to self.propagation_matrix_scattering [INOUT]

  • absorption_vector_scattering (StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. See absorption_vector_scattering, defaults to self.absorption_vector_scattering [INOUT]

  • phase_matrix_scattering_spectral (SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. See phase_matrix_scattering_spectral, defaults to self.phase_matrix_scattering_spectral [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • scattering_species (ArrayOfScatteringSpecies, optional) – The scattering species. See scattering_species, defaults to self.scattering_species [IN]

propagation_matrix_scatteringAirSimple(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None) None

Add simple air to propagation_matrix_scattering.

Authors: Jon Petersen, Richard Larsson

Parameters:
  • propagation_matrix_scattering (PropmatVector, optional) – The propgation matrix of totally random orientation particles at a single point along a path using spectral representation. See propagation_matrix_scattering, defaults to self.propagation_matrix_scattering [INOUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

propagation_matrix_scatteringInit(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) None

Initialize propagation_matrix_scattering to zeroes.

This method must be used inside propagation_matrix_scattering_agenda and then be called first.

Author: Richard Larsson

Parameters:
  • propagation_matrix_scattering (PropmatVector, optional) – The propgation matrix of totally random orientation particles at a single point along a path using spectral representation. See propagation_matrix_scattering, defaults to self.propagation_matrix_scattering [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

propagation_matrix_scatteringSpectralInit(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, absorption_vector_scattering: pyarts3.arts.StokvecVector | None = None, phase_matrix_scattering_spectral: pyarts3.arts.SpecmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, legendre_degree: pyarts3.arts.Index | None = None) None

Initialize propagation_matrix_scattering and co to zeroes.

This method must be used inside propagation_matrix_scattering_spectral_agenda and then be called first.

Author: Richard Larsson

Parameters:
  • propagation_matrix_scattering (PropmatVector, optional) – The propgation matrix of totally random orientation particles at a single point along a path using spectral representation. See propagation_matrix_scattering, defaults to self.propagation_matrix_scattering [OUT]

  • absorption_vector_scattering (StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. See absorption_vector_scattering, defaults to self.absorption_vector_scattering [OUT]

  • phase_matrix_scattering_spectral (SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. See phase_matrix_scattering_spectral, defaults to self.phase_matrix_scattering_spectral [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • legendre_degree (Index, optional) – The degree of a Legendre polynimial. See legendre_degree, defaults to self.legendre_degree [IN]

propagation_matrix_scattering_agendaExecute(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, propagation_matrix_scattering_agenda: pyarts3.arts.Agenda | None = None) None

Executes propagation_matrix_scattering_agenda, see it for more details

Author: Automatically Generated

Parameters:
  • propagation_matrix_scattering (PropmatVector, optional) – The propgation matrix of totally random orientation particles at a single point along a path using spectral representation. See propagation_matrix_scattering, defaults to self.propagation_matrix_scattering [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • propagation_matrix_scattering_agenda (Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. See propagation_matrix_scattering_agenda, defaults to self.propagation_matrix_scattering_agenda [IN]

propagation_matrix_scattering_agendaExecuteOperator(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, propagation_matrix_scattering_agenda_operator: pyarts3.arts.propagation_matrix_scattering_agendaOperator | None = None) None

Executes an operator emulating propagation_matrix_scattering_agenda, see it, and also propagation_matrix_scattering_agendaOperator, for more details

Author: Automatically Generated

Parameters:
propagation_matrix_scattering_agendaSet(self, propagation_matrix_scattering_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set propagation_matrix_scattering_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • propagation_matrix_scattering_agenda (Agenda, optional) – Computes the part of the propagation matrix that relates to scattering. See propagation_matrix_scattering_agenda, defaults to self.propagation_matrix_scattering_agenda [OUT]

  • option (String, optional) – Choice of generated agenda. Defaults to "AirSimple" [IN]

Valid options

These are the valid options for the propagation_matrix_scattering_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


propagation_matrix_scattering_agendaSet(option="AirSimple")

propagation_matrix_scattering_agendaSetOperator(self, propagation_matrix_scattering_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.propagation_matrix_scattering_agendaOperator | None = None) None

Set propagation_matrix_scattering_agenda to exclusively use provided external operator. See propagation_matrix_scattering_agendaOperator for more details.

Author: Automatically Generated

Parameters:
propagation_matrix_scattering_spectral_agendaExecute(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, absorption_vector_scattering: pyarts3.arts.StokvecVector | None = None, phase_matrix_scattering_spectral: pyarts3.arts.SpecmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, legendre_degree: pyarts3.arts.Index | None = None, propagation_matrix_scattering_spectral_agenda: pyarts3.arts.Agenda | None = None) None

Executes propagation_matrix_scattering_spectral_agenda, see it for more details

Author: Automatically Generated

Parameters:
  • propagation_matrix_scattering (PropmatVector, optional) – The propgation matrix of totally random orientation particles at a single point along a path using spectral representation. See propagation_matrix_scattering, defaults to self.propagation_matrix_scattering [OUT]

  • absorption_vector_scattering (StokvecVector, optional) – The absorption vector of totally random orientation particles at a single point along a path using spectral representation. See absorption_vector_scattering, defaults to self.absorption_vector_scattering [OUT]

  • phase_matrix_scattering_spectral (SpecmatMatrix, optional) – The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation. See phase_matrix_scattering_spectral, defaults to self.phase_matrix_scattering_spectral [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • legendre_degree (Index, optional) – The degree of a Legendre polynimial. See legendre_degree, defaults to self.legendre_degree [IN]

  • propagation_matrix_scattering_spectral_agenda (Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. See propagation_matrix_scattering_spectral_agenda, defaults to self.propagation_matrix_scattering_spectral_agenda [IN]

propagation_matrix_scattering_spectral_agendaExecuteOperator(self, propagation_matrix_scattering: pyarts3.arts.PropmatVector | None = None, absorption_vector_scattering: pyarts3.arts.StokvecVector | None = None, phase_matrix_scattering_spectral: pyarts3.arts.SpecmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, legendre_degree: pyarts3.arts.Index | None = None, propagation_matrix_scattering_spectral_agenda_operator: pyarts3.arts.propagation_matrix_scattering_spectral_agendaOperator | None = None) None

Executes an operator emulating propagation_matrix_scattering_spectral_agenda, see it, and also propagation_matrix_scattering_spectral_agendaOperator, for more details

Author: Automatically Generated

Parameters:
propagation_matrix_scattering_spectral_agendaSet(self, propagation_matrix_scattering_spectral_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set propagation_matrix_scattering_spectral_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • propagation_matrix_scattering_spectral_agenda (Agenda, optional) – Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix. See propagation_matrix_scattering_spectral_agenda, defaults to self.propagation_matrix_scattering_spectral_agenda [OUT]

  • option (String, optional) – Choice of generated agenda. Defaults to "FromSpeciesTRO" [IN]

Valid options

These are the valid options for the propagation_matrix_scattering_spectral_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


propagation_matrix_scattering_spectral_agendaSet(option="FromSpeciesTRO")

propagation_matrix_scattering_spectral_agendaSetOperator(self, propagation_matrix_scattering_spectral_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.propagation_matrix_scattering_spectral_agendaOperator | None = None) None

Set propagation_matrix_scattering_spectral_agenda to exclusively use provided external operator. See propagation_matrix_scattering_spectral_agendaOperator for more details.

Author: Automatically Generated

Parameters:
ray_pathAddGeometricGridCrossings(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, atm_key: pyarts3.arts.AtmKey | None = None) 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 (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • atm_key (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: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) None

Add the limb point to the ray path

Author: Richard Larsson

Parameters:
ray_pathFillGeometricHalfStep(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, max_step: pyarts3.arts.Numeric | None = None) None

Fill the path with geometric step points.

If two path points are more than max_step apart, 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 (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

ray_pathFillGeometricStepwise(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, max_step: pyarts3.arts.Numeric | None = None) None

Fill the path with geometric step points.

If two path points are more than max_step apart, additional points are added by propagating one of the points towards the other with a step length of max_step.

This process is repeated until there are no more neighboring points for which the premise is true.

Author: Richard Larsson

Parameters:
  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

ray_pathFixUpdownAzimuth(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) 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 (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

ray_pathFromPointAndDepth(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, depth_profile: pyarts3.arts.DescendingGrid | None = None) None

Create a depth profile ray path from a point.

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_pathGeometric(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, pos: pyarts3.arts.Vector3 | None = None, los: pyarts3.arts.Vector2 | None = None, max_step: pyarts3.arts.Numeric | None = None, surface_search_accuracy: pyarts3.arts.Numeric | None = None, as_observer: pyarts3.arts.Index | None = None, add_limb: pyarts3.arts.Index | None = None, remove_non_atm: pyarts3.arts.Index | None = None, fix_updown_azimuth: pyarts3.arts.Index | None = None, surface_safe_search: pyarts3.arts.Index | None = None) None

Get a geometric radiation path

The path is defined by the origo and the line of sight.

The pos is either at the end or at the beginning of the path depending on the as_observer flag. A value that evaluates to true means that it is at the end of the path. If as_observer is true, the los is therefore looking backwards along the path. Basically, as_observer true means that pos and los behaves as sensor pos and los.

The max_step is 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 every max_step meters between these points until no more fits (the last step is shorter or exactly max_step).

Upon closing the method, the following options are available to modify the output:

If add_limb is 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_atm is 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_azimuth is 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 (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • pos (Vector3) – The origo of the radiation path. [IN]

  • los (Vector2) – The line of sight of the radiation path. [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

  • surface_search_accuracy (Numeric, optional) – The accuracy within which the surface intersection is counted as a hit. Defaults to 0.1 [IN]

  • as_observer (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 (Index, optional) – Wheter or not to add the limb point. Defaults to 0 [IN]

  • remove_non_atm (Index, optional) – Wheter or not to keep only atmospheric points. Defaults to 1 [IN]

  • fix_updown_azimuth (Index, optional) – Whether or not to attempt fix a potential issue with the path azimuthal angle. Defaults to 1 [IN]

  • surface_safe_search (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: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, max_step: pyarts3.arts.Numeric | None = None) None

Wraps ray_pathGeometric() for straight downlooking paths from the top-of-the-atmosphere altitude

Author: Richard Larsson

Used by wrapper methods

Parameters:
  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

ray_pathGeometricUplooking(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, max_step: pyarts3.arts.Numeric | None = None) None

Wraps ray_pathGeometric() for straight uplooking paths from the surface altitude at the position

Author: Richard Larsson

Parameters:
  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • max_step (Numeric, optional) – The maximum step length. Defaults to 1000 [IN]

ray_pathInit(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, pos: pyarts3.arts.Vector3 | None = None, los: pyarts3.arts.Vector2 | None = None, as_sensor: pyarts3.arts.Index | None = None) None

Initialize the ray path with a single point.

Author: Richard Larsson

Parameters:
  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • pos (Vector3) – The start position. [IN]

  • los (Vector2) – The start line-of-sight. [IN]

  • as_sensor (Index, optional) – Whether or not the position is the sensor position or the observer position. Defaults to 1 [IN]

ray_pathRemoveNearby(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, min_distance: pyarts3.arts.Numeric | None = None, first: pyarts3.arts.Index | None = None) None

Remove points that are too close to each other.

Author: Richard Larsson

Parameters:
  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • min_distance (Numeric) – The minimum distance between points. [IN]

  • first (Index, optional) – Whether to remove the first or second point. Defaults to 0 [IN]

ray_pathRemoveNonAtm(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Remove non-atmospheric points to the ray path

Author: Richard Larsson

Parameters:

ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

ray_pathRemoveNonGeometricGridCrossings(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, atm_key: pyarts3.arts.AtmKey | None = None) 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 (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • atm_key (AtmKey) – The atmospheric key. [IN]

ray_pathSetGeometricExtremes(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, surface_search_accuracy: pyarts3.arts.Numeric | None = None, surface_safe_search: pyarts3.arts.Index | None = None) None

Add the geometric extremes to the ray path.

Author: Richard Larsson

Parameters:
  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [INOUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • surface_search_accuracy (Numeric, optional) – The accuracy within which the surface intersection is counted as a hit. Defaults to 0.1 [IN]

  • surface_safe_search (Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to 1 [IN]

ray_path_atmospheric_pointFromPath(self, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None) None

Gets the atmospheric points along the path.

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_path_atmospheric_pointFromProfile(self, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None) None

Set ray_path_atmospheric_point = atmospheric_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:
ray_path_fieldFluxProfile(self, ray_path_field: pyarts3.arts.ArrayOfArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, azimuth: pyarts3.arts.Numeric | None = None, dza: pyarts3.arts.Numeric | None = None, atm_key: pyarts3.arts.AtmKey | None = None) 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 dza resolution and all downlooking points will have additional observers for max dza resolution.

Additional work is requires if proper coverage of the limb is required

Author: Richard Larsson

Parameters:
  • ray_path_field (ArrayOfArrayOfPropagationPathPoint, optional) – A list of ray_path intended to build up a field of observations. See ray_path_field, defaults to self.ray_path_field [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • ray_path_observer_agenda (Agenda, optional) – Gets the propagation path as it is obeserved. See ray_path_observer_agenda, defaults to self.ray_path_observer_agenda [IN]

  • azimuth (Numeric, optional) – Azimuth angle for the observer. Defaults to 0 [IN]

  • dza (Numeric, optional) – The minimum step coverage in zenith angles. Defaults to 180 [IN]

  • atm_key (AtmKey, optional) – The altitude profile key in the atmosphere. Defaults to t [IN]

ray_path_fieldFromObserverAgenda(self, ray_path_field: pyarts3.arts.ArrayOfArrayOfPropagationPathPoint | None = None, ray_path_observers: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None) None

Create a ray path field from a set of observers.

Author: Richard Larsson

Parameters:
ray_path_frequency_gridFromPath(self, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path_frequency_grid_wind_shift_jacobian: pyarts3.arts.ArrayOfVector3 | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None) None

Gets the frequency grids along the path.

The derivative transformation for wind parameters is also returned.

See propagation_matrix_jacobianWindFix() for use of the wind shift data.

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_path_observer_agendaExecute(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, spectral_radiance_observer_position: pyarts3.arts.Vector3 | None = None, spectral_radiance_observer_line_of_sight: pyarts3.arts.Vector2 | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None) None

Executes ray_path_observer_agenda, see it for more details

Author: Automatically Generated

Parameters:
ray_path_observer_agendaExecuteOperator(self, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, spectral_radiance_observer_position: pyarts3.arts.Vector3 | None = None, spectral_radiance_observer_line_of_sight: pyarts3.arts.Vector2 | None = None, ray_path_observer_agenda_operator: pyarts3.arts.ray_path_observer_agendaOperator | None = None) None

Executes an operator emulating ray_path_observer_agenda, see it, and also ray_path_observer_agendaOperator, for more details

Author: Automatically Generated

Parameters:
ray_path_observer_agendaSetGeometric(self, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, max_step_option: pyarts3.arts.String | None = None, surface_search_accuracy: pyarts3.arts.Numeric | None = None, max_step: pyarts3.arts.Numeric | None = None, remove_nearby: pyarts3.arts.Numeric | None = None, atm_key: pyarts3.arts.AtmKey | None = None, surface_safe_search: pyarts3.arts.Index | None = None, remove_nearby_first: pyarts3.arts.Index | None = None, add_crossings: pyarts3.arts.Index | None = None, remove_non_crossings: pyarts3.arts.Index | None = None, fix_updown_azimuth: pyarts3.arts.Index | None = None, add_limb: pyarts3.arts.Index | None = None, remove_non_atm: pyarts3.arts.Index | None = None) None

Set ray_path_observer_agenda from programmable geometric settings.

The default settings essentially call the default settings for ray_pathGeometric().

Options:

  • max_step_option and max_step: Choose the maximum distance between two points. The first string tells the behavior, and the second the distance.

  • surface_search_accuracy and surface_safe_search: The accuracy to search for surface intersections and whether or not to do it at all.

  • remove_nearby and remove_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_key and add_crossings and remove_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_azimuth: 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 (Agenda, optional) – Gets the propagation path as it is obeserved. See ray_path_observer_agenda, defaults to self.ray_path_observer_agenda [OUT]

  • max_step_option (String, optional) – Option for max stepping. See ray_path_observer_agendaSetGeometricMaxStep. Defaults to "step" [IN]

  • surface_search_accuracy (Numeric, optional) – The accuracy to search for surface intersections. Defaults to 0.1 [IN]

  • max_step (Numeric, optional) – The distance to step in-case max stepping is required. Defaults to 1000 [IN]

  • remove_nearby (Numeric, optional) – The minimum distance between points, ignroed if 0 or less. Defaults to 0 [IN]

  • atm_key (AtmKey, optional) – The atmospheric field key for which the grid is expected if adding grid crossings is desired. Defaults to t [IN]

  • surface_safe_search (Index, optional) – Whether or not to search for the surface intersection in a safer but slower manner. Defaults to 1 [IN]

  • remove_nearby_first (Index, optional) – Which point (first or second) to remove if they are too close. Defaults to 1 [IN]

  • add_crossings (Index, optional) – Add all grid crossings. Defaults to 0 [IN]

  • remove_non_crossings (Index, optional) – Remove non-crossings. Defaults to 0 [IN]

  • fix_updown_azimuth (Index, optional) – Fix the azimuth angle when looking at 0 or 180 degrees. Defaults to 1 [IN]

  • add_limb (Index, optional) – Add the limb point. Defaults to 0 [IN]

  • remove_non_atm (Index, optional) – Remove non-atmospheric points. Defaults to 1 [IN]

ray_path_observer_agendaSetOperator(self, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.ray_path_observer_agendaOperator | None = None) None

Set ray_path_observer_agenda to exclusively use provided external operator. See ray_path_observer_agendaOperator for more details.

Author: Automatically Generated

Parameters:
ray_path_observersFieldProfilePseudo2D(self, ray_path_observers: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, azimuth: pyarts3.arts.Numeric | None = None, nup: pyarts3.arts.Index | None = None, nlimb: pyarts3.arts.Index | None = None, ndown: pyarts3.arts.Index | None = None) 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 [za+e, 180] degrees zenith.

  • Limb looking. At top of the atmosphere, cover [90, za-e] degrees zenith.

  • Upward looking. At the surface, cover [0, 90] degrees zenith.

Here za 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 (ArrayOfPropagationPathPoint, optional) – A list path points making up the observers of a propagation path. See ray_path_observers, defaults to self.ray_path_observers [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • ray_path_observer_agenda (Agenda, optional) – Gets the propagation path as it is obeserved. See ray_path_observer_agenda, defaults to self.ray_path_observer_agenda [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • azimuth (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: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, azimuth: pyarts3.arts.Numeric | None = None, n: pyarts3.arts.Index | None = None, atm_key: pyarts3.arts.AtmKey | None = None) None

Add \(n\) observers per altitude point.

The number \(n\) must be uneven and larger than 2.

Author: Richard Larsson

Parameters:
  • ray_path_observers (ArrayOfPropagationPathPoint, optional) – A list path points making up the observers of a propagation path. See ray_path_observers, defaults to self.ray_path_observers [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • azimuth (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 (AtmKey, optional) – The altitude profile key in the atmosphere. Defaults to t [IN]

ray_path_pointBackground(self, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Sets ray_path_point to the expected background point of ray_path

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_path_pointForeground(self, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Sets ray_path_point to the expected foreground point of ray_path

Author: Richard Larsson

Used by wrapper method

Parameters:
ray_path_pointHighestFromPath(self, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Sets ray_path_point to the highest altitude point of ray_path.

Author: Richard Larsson

Parameters:
ray_path_pointLowestFromPath(self, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Sets ray_path_point to the lowest altitude point of ray_path.

Author: Richard Larsson

Parameters:
ray_path_propagation_matrixAddScattering(self, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_propagation_matrix_scattering: pyarts3.arts.ArrayOfPropmatVector | None = None) 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 method

Parameters:
ray_path_propagation_matrixFromPath(self, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_propagation_matrix_source_vector_nonlte: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_propagation_matrix_jacobian: pyarts3.arts.ArrayOfPropmatMatrix | None = None, ray_path_propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path_frequency_grid_wind_shift_jacobian: pyarts3.arts.ArrayOfVector3 | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None) 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 ray_path_frequency_grid as a side effect (of wind).

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_path_propagation_matrix_scatteringFromPath(self, ray_path_propagation_matrix_scattering: pyarts3.arts.ArrayOfPropmatVector | None = None, propagation_matrix_scattering_agenda: pyarts3.arts.Agenda | None = None, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None) 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:
ray_path_propagation_matrix_scatteringFromSpectralAgenda(self, ray_path_propagation_matrix_scattering: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_absorption_vector_scattering: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_phase_matrix_scattering_spectral: pyarts3.arts.ArrayOfSpecmatMatrix | None = None, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, legendre_degree: pyarts3.arts.Index | None = None, propagation_matrix_scattering_spectral_agenda: pyarts3.arts.Agenda | None = None) None

Compute ray_path_propagation_matrix_scattering and co for a path.

Author: Richard Larsson

Parameters:
ray_path_propagation_matrix_species_splitFromPath(self, ray_path_propagation_matrix_species_split: pyarts3.arts.ArrayOfArrayOfPropmatVector | None = None, ray_path_propagation_matrix_source_vector_nonlte_species_split: pyarts3.arts.ArrayOfArrayOfStokvecVector | None = None, ray_path_propagation_matrix_jacobian_species_split: pyarts3.arts.ArrayOfArrayOfPropmatMatrix | None = None, ray_path_propagation_matrix_source_vector_nonlte_jacobian_species_split: pyarts3.arts.ArrayOfArrayOfStokvecMatrix | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path_frequency_grid_wind_shift_jacobian: pyarts3.arts.ArrayOfVector3 | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, select_species_list: pyarts3.arts.ArrayOfSpeciesEnum | None = None) None

As ray_path_propagation_matrixFromPath() but the output is split between the species in the select_species_list.

The outer dimension of the output arrays are the size of the species selection list. The inner dimensions are as per ray_path_propagation_matrixFromPath().

Author: Richard Larsson

Parameters:
ray_path_spectral_radiance_scatteringSunsFirstOrderRayleigh(self, ray_path_spectral_radiance_scattering: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_propagation_matrix_scattering: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_suns_path: pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint | None = None, suns: pyarts3.arts.ArrayOfSun | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, depolarization_factor: pyarts3.arts.Numeric | None = None, hse_derivative: pyarts3.arts.Index | None = None) None

Add suns to ray_path_spectral_radiance_source.

Author: Richard Larsson

Used by wrapper method

Parameters:
ray_path_spectral_radiance_sourceAddScattering(self, ray_path_spectral_radiance_source: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_spectral_radiance_scattering: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None) 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 method

Parameters:
ray_path_spectral_radiance_sourceFromPropmat(self, ray_path_spectral_radiance_source: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_spectral_radiance_source_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_propagation_matrix_source_vector_nonlte: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_propagation_matrix_jacobian: pyarts3.arts.ArrayOfPropmatMatrix | None = None, ray_path_propagation_matrix_source_vector_nonlte_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, ray_path_frequency_grid: pyarts3.arts.ArrayOfAscendingGrid | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Gets the source term along the path.

Per Stokvec element (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}\)

ray_path_spectral_radiance_source

The spectral radiance source term along the path.

\(B(T, f)\)

None - this is computed locally

The Planck function at the temperature and frequency.

\(\mathbf{K}\)

ray_path_propagation_matrix

The propagation matrix along the path.

\(\vec{S}\)

ray_path_propagation_matrix_source_vector_nonlte

The non-LTE source vector along the path.

\(\frac{\partial \vec{J}}{\partial x}\)

ray_path_spectral_radiance_source_jacobian

The Jacobian of the spectral radiance source term with respect to the jacobian_targets.

\(\frac{\partial B(T, f)}{\partial x}\)

None - this is computed locally

The Jacobian of the Planck function with respect to the jacobian_targets. Only tempertature is supported.

\(\frac{\partial \mathbf{K}}{\partial x}\)

ray_path_propagation_matrix_jacobian

The Jacobian of the propagation matrix with respect to the jacobian_targets.

\(\frac{\partial \vec{S}}{\partial x}\)

ray_path_propagation_matrix_source_vector_nonlte_jacobian

The Jacobian of the non-LTE source vector with respect to the jacobian_targets.

\(x\)

jacobian_targets

The targets for the Jacobian computation.

\(T\)

ray_path_atmospheric_point

The temperature at the atmospheric point along the path.

\(f\)

ray_path_frequency_grid

The frequency grid at the atmospheric point along the path.

The output dimensions are:

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_path_suns_pathFromPathObserver(self, ray_path_suns_path: pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, suns: pyarts3.arts.ArrayOfSun | None = None, angle_cut: pyarts3.arts.Numeric | None = None, refinement: pyarts3.arts.Index | None = None, just_hit: pyarts3.arts.Index | None = None) None

Wraps sun_pathFromObserverAgenda() for all paths to all suns.

Author: Richard Larsson

Parameters:
  • ray_path_suns_path (ArrayOfArrayOfArrayOfPropagationPathPoint, optional) – A list of paths to the suns from the ray path. See ray_path_suns_path, defaults to self.ray_path_suns_path [OUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • ray_path_observer_agenda (Agenda, optional) – Gets the propagation path as it is obeserved. See ray_path_observer_agenda, defaults to self.ray_path_observer_agenda [IN]

  • ray_path (ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. See ray_path, defaults to self.ray_path [IN]

  • suns (ArrayOfSun, optional) – A list of Sun. See suns, defaults to self.suns [IN]

  • angle_cut (Numeric, optional) – The angle delta-cutoff in the iterative solver [0.0, …]. Defaults to 0 [IN]

  • refinement (Index, optional) – The refinement of the search algorithm (twice the power of this is the resultion). Defaults to 1 [IN]

  • just_hit (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_transmission_matrixFromPath(self, ray_path_transmission_matrix: pyarts3.arts.ArrayOfMuelmatVector | None = None, ray_path_transmission_matrix_jacobian: pyarts3.arts.ArrayOfMuelmatTensor3 | None = None, ray_path_propagation_matrix: pyarts3.arts.ArrayOfPropmatVector | None = None, ray_path_propagation_matrix_jacobian: pyarts3.arts.ArrayOfPropmatMatrix | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, hse_derivative: pyarts3.arts.Index | None = None) 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:
ray_path_transmission_matrix_cumulativeFromPath(self, ray_path_transmission_matrix_cumulative: pyarts3.arts.ArrayOfMuelmatVector | None = None, ray_path_transmission_matrix: pyarts3.arts.ArrayOfMuelmatVector | None = None) None

Sets ray_path_transmission_matrix_cumulative by forward iteration of ray_path_transmission_matrix

Author: Richard Larsson

Used by wrapper methods

Parameters:
ray_path_zeeman_magnetic_fieldFromPath(self, ray_path_zeeman_magnetic_field: pyarts3.arts.ArrayOfVector3 | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_atmospheric_point: pyarts3.arts.ArrayOfAtmPoint | None = None) 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:
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:

str

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 FileType for 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:

str

scattering_speciesInit(self, scattering_species: pyarts3.arts.ArrayOfScatteringSpecies | None = None) None

Initialize scattering species.

Author: Richard Larsson

Parameters:

scattering_species (ArrayOfScatteringSpecies, optional) – The scattering species. See scattering_species, defaults to self.scattering_species [OUT]

set(self, name: str, value: object) None

Set the variable to the new value.

spectral_flux_profileFromPathField(self, spectral_flux_profile: pyarts3.arts.Matrix | None = None, ray_path_field: pyarts3.arts.ArrayOfArrayOfPropagationPathPoint | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None) None

Computes the spectral flux from a field of paths.

Author: Richard Larsson

Parameters:
spectral_flux_profileFromSpectralRadianceField(self, spectral_flux_profile: pyarts3.arts.Matrix | None = None, spectral_radiance_field: pyarts3.arts.GriddedSpectralField6 | None = None, pol: pyarts3.arts.Stokvec | None = None) None

Computes the spectral flux. The input field must be a profile.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • spectral_flux_profile (Matrix, optional) – An altitude profile of spectral flux. See spectral_flux_profile, defaults to self.spectral_flux_profile [OUT]

  • spectral_radiance_field (GriddedSpectralField6, optional) – The spectral radiance field. See spectral_radiance_field, defaults to self.spectral_radiance_field [IN]

  • pol (Stokvec, optional) – Polarization vector for the spectral flux profile. Defaults to 1 0 0 0 [IN]

spectral_flux_profilePseudo2D(self, spectral_flux_profile: pyarts3.arts.Matrix | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, pol: pyarts3.arts.Stokvec | None = None, dza: pyarts3.arts.Numeric | None = None, consider_limb: pyarts3.arts.Index | None = None, azimuth: pyarts3.arts.Numeric | None = None) 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.zenith_gridProfilePseudo2D()
6 ws.spectral_radiance_fieldProfilePseudo2D()
7 ws.spectral_flux_profileFromSpectralRadianceField()

Author: Richard Larsson

Parameters:
  • spectral_flux_profile (Matrix, optional) – An altitude profile of spectral flux. See spectral_flux_profile, defaults to self.spectral_flux_profile [OUT]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • propagation_matrix_agenda (Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. See propagation_matrix_agenda, defaults to self.propagation_matrix_agenda [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • pol (Stokvec, optional) – Polarization vector for the spectral flux profile. Defaults to 1 0 0 0 [IN]

  • dza (Numeric, optional) – The zenith grid max step size. Defaults to 1 [IN]

  • consider_limb (Index, optional) – Whether or not special care is given to the limb. Defaults to 1 [IN]

  • azimuth (Numeric, optional) – The azimuth. Defaults to 0 [IN]

spectral_radianceApplyForwardUnit(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, spectral_radiance_transform_operator: pyarts3.arts.SpectralRadianceTransformOperator | None = None) None

Helper to call spectral_radianceApplyUnit() when you do not have spectral_radiance_jacobian.

Author: Richard Larsson

Parameters:
spectral_radianceApplyUnit(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, spectral_radiance_transform_operator: pyarts3.arts.SpectralRadianceTransformOperator | None = None) None

Applies a unit to spectral_radiance, returning a new field

See SpectralRadianceUnitType for valid use cases and limitations.

This effectively wraps the local creation of a SpectralRadianceTransformOperator call.

Warning

This is a destructive method. Any use of it means that it is undefined behavior to use spectral_radiance or spectral_radiance_jacobian in future methods.

Author: Richard Larsson

Used by wrapper method

Parameters:
spectral_radianceApplyUnitFromSpectralRadiance(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, spectral_radiance_transform_operator: pyarts3.arts.SpectralRadianceTransformOperator | None = None) None

Helper method for calling spectral_radianceApplyUnit().

It is common that ray_path is defined but not ray_path_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_path_pointForeground()
6 ws.spectral_radianceApplyUnit()

Author: Richard Larsson

Parameters:
spectral_radianceClearskyBackgroundTransmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, spectral_radiance_background: pyarts3.arts.StokvecVector | None = None, spectral_radiance_background_jacobian: pyarts3.arts.StokvecMatrix | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, hse_derivative: pyarts3.arts.Index | None = None) 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_path_pointBackground()
 6 ws.ray_path_atmospheric_pointFromPath()
 7 ws.ray_path_frequency_gridFromPath()
 8 ws.ray_path_propagation_matrixFromPath()
 9 ws.ray_path_transmission_matrixFromPath()
10 ws.ray_path_transmission_matrix_cumulativeFromPath()
11 ws.transmission_matrix_backgroundFromPathPropagationBack()
12 ws.spectral_radianceCumulativeTransmission()
13 ws.spectral_radiance_jacobianFromBackground()
14 ws.spectral_radiance_jacobianAddPathPropagation()

Author: Richard Larsson

Parameters:
spectral_radianceClearskyEmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, hse_derivative: pyarts3.arts.Index | None = None) 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_path_pointBackground()
 6 ws.spectral_radiance_backgroundAgendasAtEndOfPath()
 7 ws.ray_path_atmospheric_pointFromPath()
 8 ws.ray_path_frequency_gridFromPath()
 9 ws.ray_path_propagation_matrixFromPath()
10 ws.ray_path_transmission_matrixFromPath()
11 ws.ray_path_transmission_matrix_cumulativeFromPath()
12 ws.ray_path_spectral_radiance_sourceFromPropmat()
13 ws.transmission_matrix_backgroundFromPathPropagationBack()
14 ws.spectral_radianceStepByStepEmission()
15 ws.spectral_radiance_jacobianFromBackground()
16 ws.spectral_radiance_jacobianAddPathPropagation()

Author: Richard Larsson

Parameters:
spectral_radianceClearskyRayleighScattering(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, propagation_matrix_scattering_agenda: pyarts3.arts.Agenda | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, ray_path_suns_path: pyarts3.arts.ArrayOfArrayOfArrayOfPropagationPathPoint | None = None, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, suns: pyarts3.arts.ArrayOfSun | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, hse_derivative: pyarts3.arts.Index | None = None, depolarization_factor: pyarts3.arts.Numeric | None = None) 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_path_pointBackground()
 6 ws.spectral_radiance_backgroundAgendasAtEndOfPath()
 7 ws.ray_path_atmospheric_pointFromPath()
 8 ws.ray_path_frequency_gridFromPath()
 9 ws.ray_path_propagation_matrixFromPath()
10 ws.ray_path_propagation_matrix_scatteringFromPath()
11 ws.ray_path_propagation_matrixAddScattering()
12 ws.ray_path_transmission_matrixFromPath()
13 ws.ray_path_transmission_matrix_cumulativeFromPath()
14 ws.ray_path_spectral_radiance_sourceFromPropmat()
15 ws.ray_path_spectral_radiance_scatteringSunsFirstOrderRayleigh()
16 ws.ray_path_spectral_radiance_sourceAddScattering()
17 ws.transmission_matrix_backgroundFromPathPropagationBack()
18 ws.spectral_radianceStepByStepEmission()
19 ws.spectral_radiance_jacobianFromBackground()
20 ws.spectral_radiance_jacobianAddPathPropagation()

Author: Richard Larsson

Parameters:
spectral_radianceClearskyTransmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, hse_derivative: pyarts3.arts.Index | None = None) 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_path_pointBackground()
 6 ws.spectral_radiance_backgroundAgendasAtEndOfPath()
 7 ws.ray_path_atmospheric_pointFromPath()
 8 ws.ray_path_frequency_gridFromPath()
 9 ws.ray_path_propagation_matrixFromPath()
10 ws.ray_path_transmission_matrixFromPath()
11 ws.ray_path_transmission_matrix_cumulativeFromPath()
12 ws.transmission_matrix_backgroundFromPathPropagationBack()
13 ws.spectral_radianceCumulativeTransmission()
14 ws.spectral_radiance_jacobianFromBackground()
15 ws.spectral_radiance_jacobianAddPathPropagation()

Author: Richard Larsson

Parameters:
spectral_radianceCumulativeTransmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, ray_path_spectral_radiance_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, ray_path_transmission_matrix: pyarts3.arts.ArrayOfMuelmatVector | None = None, ray_path_transmission_matrix_cumulative: pyarts3.arts.ArrayOfMuelmatVector | None = None, ray_path_transmission_matrix_jacobian: pyarts3.arts.ArrayOfMuelmatTensor3 | None = None, spectral_radiance_background: pyarts3.arts.StokvecVector | None = None) 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_radianceDefaultTransmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets default spectral_radiance and spectral_radiance_jacobian for transmission.

The Jacobian variable is all 0s, the background is [1 0 0 0] everywhere

Author: Richard Larsson

Parameters:
spectral_radianceFromDisort(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None) None

Extract spectral radiance from the Disort field at the ray path point.

Author: Richard Larsson

Used by wrapper method

Parameters:
spectral_radianceIntegrateDisort(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None) None

Integrate Disort spectral radiance.

Author: Richard Larsson

Parameters:
spectral_radianceStepByStepEmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, ray_path_spectral_radiance_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, ray_path_transmission_matrix: pyarts3.arts.ArrayOfMuelmatVector | None = None, ray_path_transmission_matrix_cumulative: pyarts3.arts.ArrayOfMuelmatVector | None = None, ray_path_transmission_matrix_jacobian: pyarts3.arts.ArrayOfMuelmatTensor3 | None = None, ray_path_spectral_radiance_source: pyarts3.arts.ArrayOfStokvecVector | None = None, ray_path_spectral_radiance_source_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, spectral_radiance_background: pyarts3.arts.StokvecVector | None = None) 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_radianceSubsurfaceDisortEmission(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, disort_settings: pyarts3.arts.DisortSettings | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, disort_spectral_radiance_field: pyarts3.arts.DisortRadiance | None = None, disort_quadrature: pyarts3.arts.ZenithGriddedField1 | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, disort_settings_downwelling_wrapper_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, depth_profile: pyarts3.arts.DescendingGrid | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_fieldCalc()
8 ws.spectral_radianceFromDisort()

Authors: Richard Larsson, Automatically Generated

Parameters:
spectral_radianceSubsurfaceDisortEmissionWithJacobian(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, disort_quadrature_dimension: pyarts3.arts.Index | None = None, disort_fourier_mode_dimension: pyarts3.arts.Index | None = None, disort_legendre_polynomial_dimension: pyarts3.arts.Index | None = None, disort_settings_agenda: pyarts3.arts.Agenda | None = None, disort_settings_downwelling_wrapper_agenda: pyarts3.arts.Agenda | None = None, depth_profile: pyarts3.arts.DescendingGrid | None = None) 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_radianceSubsurfaceDisortEmission() by perturbing model_state_vector for Jacobian calculations using model_state_vectorPerturbations().

Author: Richard Larsson

Parameters:
spectral_radianceSunOrCosmicBackground(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, sun_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, sun: pyarts3.arts.Sun | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) None

Get the spectral radiance of a sun or of the cosmic background if the sun is not hit.

Author: Richard Larsson

Parameters:
spectral_radianceSunsOrCosmicBackground(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, suns: pyarts3.arts.ArrayOfSun | None = None, surface_field: pyarts3.arts.SurfaceField | None = None) 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 suns by distance before running this code. If you only have one sun, this is of course not an issue but you could consider using spectral_radianceSunOrCosmicBackground() instead.

Author: Richard Larsson

Parameters:
spectral_radianceSurfaceBlackbody(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None) 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_path_point. \(\nu\) is the frequency grid.

Author: Richard Larsson

Parameters:
spectral_radianceSurfaceReflectance(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_closed_surface_agenda: pyarts3.arts.Agenda | None = None, surface_reflectance_agenda: pyarts3.arts.Agenda | None = None) 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_radiance_closed_surface_agenda should 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 SurfacePropertyTag key “scalar refractive index”.

Author: Richard Larsson

Parameters:
spectral_radianceUniformCosmicBackground(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None) 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_radiance_backgroundAgendasAtEndOfPath(self, spectral_radiance_background: pyarts3.arts.StokvecVector | None = None, spectral_radiance_background_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None) None

Computes the background radiation.

This method checks the back of the ray path and calls spectral_radiance_space_agenda and spectral_radiance_surface_agenda as 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_radiance_surface_agenda must be able to handle subsurface emission. It will likely need the surface emission agenda as well, but that would be circular. Therefore, please consider using spectral_radiance_closed_surface_agenda to compute the surface emission without invoking recursion.

Author: Richard Larsson

Used by wrapper methods

Parameters:
spectral_radiance_fieldFromOperatorPath(self, spectral_radiance_field: pyarts3.arts.GriddedSpectralField6 | None = None, spectral_radiance_operator: pyarts3.arts.SpectralRadianceOperator | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, zenith_grid: pyarts3.arts.ZenithGrid | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_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_radiance_fieldFromOperatorPlanarGeometric(self, spectral_radiance_field: pyarts3.arts.GriddedSpectralField6 | None = None, spectral_radiance_operator: pyarts3.arts.SpectralRadianceOperator | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, zenith_grid: pyarts3.arts.ZenithGrid | None = None, azimuth_grid: pyarts3.arts.AzimuthGrid | None = None) 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_radiance_operator contains 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_radiance_fieldProfilePseudo2D(self, spectral_radiance_field: pyarts3.arts.GriddedSpectralField6 | None = None, propagation_matrix_agenda: pyarts3.arts.Agenda | None = None, atmospheric_profile: pyarts3.arts.ArrayOfAtmPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, zenith_grid: pyarts3.arts.ZenithGrid | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, azimuth: pyarts3.arts.Numeric | None = None) 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 zenith_gridProfilePseudo2D().

Author: Richard Larsson

Used by wrapper method

Parameters:
  • spectral_radiance_field (GriddedSpectralField6, optional) – The spectral radiance field. See spectral_radiance_field, defaults to self.spectral_radiance_field [OUT]

  • propagation_matrix_agenda (Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. See propagation_matrix_agenda, defaults to self.propagation_matrix_agenda [IN]

  • atmospheric_profile (ArrayOfAtmPoint, optional) – An atmospheric profile in ARTS. See atmospheric_profile, defaults to self.atmospheric_profile [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • zenith_grid (ZenithGrid, optional) – A single zenith angle grid. See zenith_grid, defaults to self.zenith_grid [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • azimuth (Numeric, optional) – The azimuth. Defaults to 0 [IN]

spectral_radiance_jacobianAddPathPropagation(self, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, ray_path_spectral_radiance_jacobian: pyarts3.arts.ArrayOfStokvecMatrix | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Adds the propagation variables to spectral_radiance_jacobian.

Author: Richard Larsson

Used by wrapper methods

Parameters:
spectral_radiance_jacobianAddSensorJacobianPerturbations(self, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, spectral_radiance: pyarts3.arts.StokvecVector | None = None, measurement_sensor: pyarts3.arts.ArrayOfSensorObsel | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, spectral_radiance_observer_position: pyarts3.arts.Vector3 | None = None, spectral_radiance_observer_line_of_sight: pyarts3.arts.Vector2 | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None) None

Adds sensor properties to the spectral_radiance_jacobian.

This is done via perturbation based on the input delta values to the sensor Jacobian targets and a callback to spectral_radiance_observer_agenda with a modified jacobian_targets, making it safe to use this method inside spectral_radiance_observer_agenda.

Author: Richard Larsson

Parameters:
spectral_radiance_jacobianEmpty(self, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Set the radiation derivative to empty.

Size : (jacobian_targets, frequency_grid)

Author: Richard Larsson

Parameters:
spectral_radiance_jacobianFromBackground(self, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, spectral_radiance_background_jacobian: pyarts3.arts.StokvecMatrix | None = None, transmission_matrix_background: pyarts3.arts.MuelmatVector | None = None) None

Sets spectral_radiance_jacobian from the background values.

Author: Richard Larsson

Used by wrapper methods

Parameters:
spectral_radiance_observer_agendaExecute(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, spectral_radiance_observer_position: pyarts3.arts.Vector3 | None = None, spectral_radiance_observer_line_of_sight: pyarts3.arts.Vector2 | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None) None

Executes spectral_radiance_observer_agenda, see it for more details

Author: Automatically Generated

Parameters:
spectral_radiance_observer_agendaExecuteOperator(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, spectral_radiance_observer_position: pyarts3.arts.Vector3 | None = None, spectral_radiance_observer_line_of_sight: pyarts3.arts.Vector2 | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_observer_agenda_operator: pyarts3.arts.spectral_radiance_observer_agendaOperator | None = None) None

Executes an operator emulating spectral_radiance_observer_agenda, see it, and also spectral_radiance_observer_agendaOperator, for more details

Author: Automatically Generated

Parameters:
spectral_radiance_observer_agendaSet(self, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set spectral_radiance_observer_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • spectral_radiance_observer_agenda (Agenda, optional) – Computes spectral radiance as seen from the input position and environment. See spectral_radiance_observer_agenda, defaults to self.spectral_radiance_observer_agenda [OUT]

  • option (String, optional) – Choice of generated agenda. Defaults to "Emission" [IN]

Valid options

These are the valid options for the spectral_radiance_observer_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


spectral_radiance_observer_agendaSet(option="Emission")


spectral_radiance_observer_agendaSet(option="EmissionNoSensor")

spectral_radiance_observer_agendaSetOperator(self, spectral_radiance_observer_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.spectral_radiance_observer_agendaOperator | None = None) None

Set spectral_radiance_observer_agenda to exclusively use provided external operator. See spectral_radiance_observer_agendaOperator for more details.

Author: Automatically Generated

Parameters:
spectral_radiance_operatorClearsky1D(self, spectral_radiance_operator: pyarts3.arts.SpectralRadianceOperator | None = None, atmospheric_field: pyarts3.arts.AtmField | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, cia_extrapolation: pyarts3.arts.Numeric | None = None, cia_robust: pyarts3.arts.Index | None = None) 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_radiance_operator (SpectralRadianceOperator, optional) – The spectral radiance operator. See spectral_radiance_operator, defaults to self.spectral_radiance_operator [OUT]

  • atmospheric_field (AtmField, optional) – An atmospheric field in ARTS. See atmospheric_field, defaults to self.atmospheric_field [IN]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • cia_extrapolation (Numeric, optional) – The extrapolation distance for cia. Defaults to 0 [IN]

  • cia_robust (Index, optional) – The robustness of the cia extrapolation. Defaults to 0 [IN]

spectral_radiance_space_agendaExecute(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None) None

Executes spectral_radiance_space_agenda, see it for more details

Author: Automatically Generated

Parameters:
spectral_radiance_space_agendaExecuteOperator(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, spectral_radiance_space_agenda_operator: pyarts3.arts.spectral_radiance_space_agendaOperator | None = None) None

Executes an operator emulating spectral_radiance_space_agenda, see it, and also spectral_radiance_space_agendaOperator, for more details

Author: Automatically Generated

Parameters:
spectral_radiance_space_agendaSet(self, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set spectral_radiance_space_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • spectral_radiance_space_agenda (Agenda, optional) – Gets spectral radiance as seen of space. See spectral_radiance_space_agenda, defaults to self.spectral_radiance_space_agenda [OUT]

  • option (String, optional) – Choice of generated agenda. Defaults to "UniformCosmicBackground" [IN]

Valid options

These are the valid options for the spectral_radiance_space_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


spectral_radiance_space_agendaSet(option="UniformCosmicBackground")


spectral_radiance_space_agendaSet(option="SunOrCosmicBackground")


spectral_radiance_space_agendaSet(option="Transmission")

spectral_radiance_space_agendaSetOperator(self, spectral_radiance_space_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.spectral_radiance_space_agendaOperator | None = None) None

Set spectral_radiance_space_agenda to exclusively use provided external operator. See spectral_radiance_space_agendaOperator for more details.

Author: Automatically Generated

Parameters:
spectral_radiance_surface_agendaExecute(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None) None

Executes spectral_radiance_surface_agenda, see it for more details

Author: Automatically Generated

Parameters:
spectral_radiance_surface_agendaExecuteOperator(self, spectral_radiance: pyarts3.arts.StokvecVector | None = None, spectral_radiance_jacobian: pyarts3.arts.StokvecMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, spectral_radiance_surface_agenda_operator: pyarts3.arts.spectral_radiance_surface_agendaOperator | None = None) None

Executes an operator emulating spectral_radiance_surface_agenda, see it, and also spectral_radiance_surface_agendaOperator, for more details

Author: Automatically Generated

Parameters:
spectral_radiance_surface_agendaSet(self, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set spectral_radiance_surface_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • spectral_radiance_surface_agenda (Agenda, optional) – Computes spectral radiance as seen of the surface. See spectral_radiance_surface_agenda, defaults to self.spectral_radiance_surface_agenda [OUT]

  • option (String, optional) – Choice of generated agenda. Defaults to "Blackbody" [IN]

Valid options

These are the valid options for the spectral_radiance_surface_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


spectral_radiance_surface_agendaSet(option="Blackbody")


spectral_radiance_surface_agendaSet(option="Transmission")


spectral_radiance_surface_agendaSet(option="SurfaceReflectance")

spectral_radiance_surface_agendaSetOperator(self, spectral_radiance_surface_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.spectral_radiance_surface_agendaOperator | None = None) None

Set spectral_radiance_surface_agenda to exclusively use provided external operator. See spectral_radiance_surface_agendaOperator for more details.

Author: Automatically Generated

Parameters:
spectral_radiance_transform_operatorSet(self, spectral_radiance_transform_operator: pyarts3.arts.SpectralRadianceTransformOperator | None = None, option: pyarts3.arts.SpectralRadianceUnitType | None = None) None

Creates a SpectralRadianceTransformOperator from a SpectralRadianceUnitType.

Author: Richard Larsson

Parameters:
subsurface_fieldFromModelState(self, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets subsurface_field to the state of the model.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • subsurface_field (SubsurfaceField, optional) – The sub-surface field. See subsurface_field, defaults to self.subsurface_field [INOUT]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

subsurface_profileFromPath(self, subsurface_profile: pyarts3.arts.ArrayOfSubsurfacePoint | None = None, subsurface_field: pyarts3.arts.SubsurfaceField | None = None, ray_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None) None

Extract a subsurface profile from a ray path.

Author: Richard Larsson

Parameters:
sunBlackbody(self, sun: pyarts3.arts.Sun | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, radius: pyarts3.arts.Numeric | None = None, distance: pyarts3.arts.Numeric | None = None, temperature: pyarts3.arts.Numeric | None = None) None

Set sun to 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 (Sun, optional) – A sun. See sun, defaults to self.sun [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • radius (Numeric, optional) – The radius of the sun in meter. Default is the radius of our sun. . Defaults to 696324200 [IN]

  • distance (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 (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: pyarts3.arts.Sun | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, sun_spectrum_raw: pyarts3.arts.GriddedField2 | None = None, radius: pyarts3.arts.Numeric | None = None, distance: pyarts3.arts.Numeric | None = None, temperature: pyarts3.arts.Numeric | None = None, description: pyarts3.arts.String | None = None) 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 frequency_grid [Hz]

  • Vector stokes_dim [1]

Dimensions: [frequency_grid, stokes_dim]

This method performs an interpolation onto the frequency_grid. The point of frequency_grid that 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 the frequency_grid.

Authors: Jon Petersen, Richard Larsson

Parameters:
  • sun (Sun, optional) – A sun. See sun, defaults to self.sun [OUT]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • sun_spectrum_raw (GriddedField2) – A raw spectrum. [IN]

  • radius (Numeric, optional) – The radius of the sun in meter. Default is the radius of our sun. . Defaults to 696324200 [IN]

  • distance (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 (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 (String, optional) – A description of the sun. Defaults to "A sun" [IN]

sun_pathFromObserverAgenda(self, sun_path: pyarts3.arts.ArrayOfPropagationPathPoint | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_observer_agenda: pyarts3.arts.Agenda | None = None, sun: pyarts3.arts.Sun | None = None, pos: pyarts3.arts.Vector3 | None = None, angle_cut: pyarts3.arts.Numeric | None = None, refinement: pyarts3.arts.Index | None = None, just_hit: pyarts3.arts.Index | None = None) 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_cut and just_hit. The angle_cut is the limit in degrees to which the algorithm should search for a better solution. The just_hit is a flag that just returns the first time a path hits the sun.

Author: Richard Larsson

Parameters:
  • sun_path (ArrayOfPropagationPathPoint, optional) – A path to a sun if it is visible. See sun_path, defaults to self.sun_path [OUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • ray_path_observer_agenda (Agenda, optional) – Gets the propagation path as it is obeserved. See ray_path_observer_agenda, defaults to self.ray_path_observer_agenda [IN]

  • sun (Sun, optional) – A sun. See sun, defaults to self.sun [IN]

  • pos (Vector3) – An observer position [alt, lat, lon]. [IN]

  • angle_cut (Numeric, optional) – The angle delta-cutoff in the iterative solver [0.0, …]. Defaults to 0 [IN]

  • refinement (Index, optional) – The refinement of the search algorithm (twice the power of this is the resultion). Defaults to 1 [IN]

  • just_hit (Index, optional) – Whether or not it is enough to just hit the sun or if better accuracy is needed. Defaults to 0 [IN]

surface_fieldEarth(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Earth reference ellipsoids.

The reference ellipsoid is set to model the Earth.

See EarthEllipsoid for valid model

Author: Patrick Eriksson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldEuropa(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Europa reference ellipsoids.

The reference ellipsoid is set to model the Europa.

See EuropaEllipsoid for valid model.

Author: Richard Larsson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldFromModelState(self, surface_field: pyarts3.arts.SurfaceField | None = None, model_state_vector: pyarts3.arts.Vector | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Sets surface_field to the state of the model.

Author: Richard Larsson

Used by wrapper method

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [INOUT]

  • model_state_vector (Vector, optional) – A state vector of the model. See model_state_vector, defaults to self.model_state_vector [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

surface_fieldGanymede(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Ganymede reference ellipsoids.

See GanymedeEllipsoid for valid model.

Author: Takayoshi Yamada

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldInit(self, surface_field: pyarts3.arts.SurfaceField | None = None, a: pyarts3.arts.Numeric | None = None, b: pyarts3.arts.Numeric | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) 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:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • a (Numeric) – Average or equatorial radius. [IN]

  • b (Numeric) – Average or polar radius. [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldIo(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Io reference ellipsoids.

The reference ellipsoid is set to model the Io.

See IoEllipsoid for valid model.

Author: Richard Larsson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldJupiter(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Jupiter reference ellipsoids.

The reference ellipsoid is set to model the Jupiter.

See JupiterEllipsoid for valid model.

Author: Patrick Eriksson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldMars(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Mars reference ellipsoids.

The reference ellipsoid is set to model the Mars.

See MarsEllipsoid for valid model.

Author: Patrick Eriksson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldMoon(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Moon reference ellipsoids.

The reference ellipsoid is set to model the Moon.

See MoonEllipsoid for valid model.

Author: Patrick Eriksson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldPlanet(self, surface_field: pyarts3.arts.SurfaceField | None = None, option: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Initialize the surface field with the ellipsoid of a planet.

See PlanetOrMoonType for valid option.

Author: Richard Larsson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • option (String) – Choice of planet or moon. [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_fieldVenus(self, surface_field: pyarts3.arts.SurfaceField | None = None, model: pyarts3.arts.String | None = None, surface_elevation: pyarts3.arts.Numeric | None = None) None

Venus reference ellipsoids.

The reference ellipsoid is set to model the Venus.

See VenusEllipsoid for valid model.

Author: Patrick Eriksson

Parameters:
  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [OUT]

  • model (String, optional) – Model ellipsoid to use. Options listed above. Defaults to "Sphere" [IN]

  • surface_elevation (Numeric, optional) – Surface elevation over the full field. Defaults to 0 [IN]

surface_reflectanceFlatRealFresnel(self, surface_reflectance: pyarts3.arts.MuelmatVector | None = None, surface_reflectance_jacobian: pyarts3.arts.MuelmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) 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_path_point and extracts \(n_2\) from the surface_field parameter "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:
surface_reflectanceFlatScalar(self, surface_reflectance: pyarts3.arts.MuelmatVector | None = None, surface_reflectance_jacobian: pyarts3.arts.MuelmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) None

Set the surface reflectance to the flat real Fresnel reflectance

We get \(r\) from the surface_field parameter "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:
surface_reflectance_agendaExecute(self, surface_reflectance: pyarts3.arts.MuelmatVector | None = None, surface_reflectance_jacobian: pyarts3.arts.MuelmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, surface_reflectance_agenda: pyarts3.arts.Agenda | None = None) None

Executes surface_reflectance_agenda, see it for more details

Author: Automatically Generated

Parameters:
surface_reflectance_agendaExecuteOperator(self, surface_reflectance: pyarts3.arts.MuelmatVector | None = None, surface_reflectance_jacobian: pyarts3.arts.MuelmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, surface_reflectance_agenda_operator: pyarts3.arts.surface_reflectance_agendaOperator | None = None) None

Executes an operator emulating surface_reflectance_agenda, see it, and also surface_reflectance_agendaOperator, for more details

Author: Automatically Generated

Parameters:
surface_reflectance_agendaSet(self, surface_reflectance_agenda: pyarts3.arts.Agenda | None = None, option: pyarts3.arts.String | None = None) None

Set surface_reflectance_agenda to a specific predefined option

Author: Automatically Generated

Parameters:
  • surface_reflectance_agenda (Agenda, optional) – An agenda to compute the surface reflectance. See surface_reflectance_agenda, defaults to self.surface_reflectance_agenda [OUT]

  • option (String) – Choice of generated agenda. [IN]

Valid options

These are the valid options for the surface_reflectance_agendaSet method. The listed method calls describe the order of the agenda calls for each option.


surface_reflectance_agendaSet(option="FlatScalar")


surface_reflectance_agendaSet(option="FlatRealFresnel")

surface_reflectance_agendaSetOperator(self, surface_reflectance_agenda: pyarts3.arts.Agenda | None = None, f: pyarts3.arts.surface_reflectance_agendaOperator | None = None) None

Set surface_reflectance_agenda to exclusively use provided external operator. See surface_reflectance_agendaOperator for more details.

Author: Automatically Generated

Parameters:
swap(self, other: pyarts3.arts.CxxWorkspace) None

Swap the workspace for andother.

transmission_matrix_backgroundFromPathPropagationBack(self, transmission_matrix_background: pyarts3.arts.MuelmatVector | None = None, ray_path_transmission_matrix_cumulative: pyarts3.arts.ArrayOfMuelmatVector | None = None) None

Sets transmission_matrix_background to back of ray_path_transmission_matrix_cumulative.

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

Used by wrapper methods

Parameters:
transmission_matrix_backgroundFromPathPropagationFront(self, transmission_matrix_background: pyarts3.arts.MuelmatVector | None = None, ray_path_transmission_matrix_cumulative: pyarts3.arts.ArrayOfMuelmatVector | None = None) None

Sets transmission_matrix_background to front of ray_path_transmission_matrix_cumulative.

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:
water_equivalent_pressure_operatorMK05(self, water_equivalent_pressure_operator: pyarts3.arts.NumericUnaryOperator | None = None, only_liquid: pyarts3.arts.Index | None = None) 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_liquid allows 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 (NumericUnaryOperator, optional) – The water equivalent pressure operator. See water_equivalent_pressure_operator, defaults to self.water_equivalent_pressure_operator [OUT]

  • only_liquid (Index, optional) – Set to 1 to use liquid saturation pressure at all temperatures. Defaults to 0 [IN]

zenith_gridProfilePseudo2D(self, zenith_grid: pyarts3.arts.ZenithGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, altitude_grid: pyarts3.arts.AscendingGrid | None = None, latitude: pyarts3.arts.Numeric | None = None, longitude: pyarts3.arts.Numeric | None = None, dza: pyarts3.arts.Numeric | None = None, azimuth: pyarts3.arts.Numeric | None = None, consider_limb: pyarts3.arts.Index | None = None) None

A custom zenith grid for spectral_radiance_fieldProfilePseudo2D()

Author: Richard Larsson

Used by wrapper method

Parameters:
  • zenith_grid (ZenithGrid, optional) – A single zenith angle grid. See zenith_grid, defaults to self.zenith_grid [OUT]

  • surface_field (SurfaceField, optional) – The surface field. See surface_field, defaults to self.surface_field [IN]

  • altitude_grid (AscendingGrid, optional) – An ascending list of altitude. Often related to a field or a profile. See altitude_grid, defaults to self.altitude_grid [IN]

  • latitude (Numeric, optional) – A single latitude. See latitude, defaults to self.latitude [IN]

  • longitude (Numeric, optional) – A single longitude. See longitude, defaults to self.longitude [IN]

  • dza (Numeric, optional) – The zenith grid max step size. Defaults to 1 [IN]

  • azimuth (Numeric, optional) – The azimuth. Defaults to 0 [IN]

  • consider_limb (Index, optional) – Whether or not special care is given to the limb. Defaults to 1 [IN]

Static Methods

fromxml(file: str) pyarts3.arts.CxxWorkspace

Create variable from file.

Parameters:

file (str) – A file that can be read

Raises:

RuntimeError – For any failure to read.

Returns:

artstype – The variable created from the file.

Return type:

T

Attributes

absorption_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

absorption_cia_data: ArrayOfCIARecord

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. [26].

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

absorption_lookup_table: 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

absorption_predefined_model_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 method

Output from workspace methods

Related workspace variables

absorption_species: ArrayOfArrayOfSpeciesTag

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

absorption_vector_scattering: StokvecVector

The absorption vector of totally random orientation particles at a single point along a path using spectral representation

Modified by workspace method

Output from workspace methods

Output from workspace agenda

Related workspace variables

absorption_xsec_fit_data: ArrayOfXsecRecord

Fitting model coefficients for cross section species.

Dimensions: [ n_species ]

XsecRecord:

  • species: Name of species

  • version: Fit model version

  • fitcoeffs:

    • 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 ]

  • fitmintemperatures:

    • 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

altitude: Numeric

A single altitude in the atmosphere.

Unit: m

Default value

0

Related workspace variable

altitude_grid: AscendingGrid

An ascending list of altitude. 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.

Input to workspace methods

Output from workspace method

Related workspace variables

atmospheric_field: AtmField

An atmospheric field 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 (atmospheric_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 SpeciesEnum for more details.

  • Isotopologue ratios - The isotopologue ratios of various species. See SpeciesIsotope for 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

atmospheric_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 AtmField at a single altitude-latitude-longitude but may of course be generated manually.

See atmospheric_field for the data that may be available in the atmospheric point.

For more information, see The atmosphere.

Input to workspace methods

Output from workspace method

Input to workspace agendas

Related workspace variable

atmospheric_profile: ArrayOfAtmPoint

An atmospheric profile in ARTS.

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 AtmField at a single latitude-longitude coordinate but may of course be generated manually.

See atmospheric_field for the data that may be available in the atmospheric point.

The size of the profile is the same as altitude_grid.

For more information, see The atmosphere.

Input to workspace methods

Modified by workspace method

Output from workspace methods

covariance_matrix_diagonal_blocks: JacobianTargetsDiagonalCovarianceMatrixMap

A helper map for setting the covariance matrix.

Input to workspace method

Modified by workspace methods

Output from workspace method

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: ZenithGriddedField1

The quadrature angles for Disort with accompying weights.

Size is disort_quadrature_dimension or zenith angle grid of disort_spectral_radiance_field.

Input to workspace method

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.

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_agenda directly from the workspace by calling disort_settings_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: disort_settings_agendaOperator. See it, disort_settings_agendaSetOperator(), and disort_settings_agendaExecuteOperator() for more details.

Also see the arts_agenda property 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_agenda to provide a simpler interface for the common case of calculating downwelling radiation. The idea is that a call to disort_settings_agenda is 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_agenda directly from the workspace by calling disort_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(), and disort_settings_downwelling_wrapper_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Agenda output

Agenda input

Default value

  1. Shares the global spectral_radiance_observer_agenda

  2. disort_settings_agendaExecute()

  3. pol = [1, 0, 0, 0]

  4. disort_settingsDownwellingObserver()

Input to workspace methods

Output from workspace methods

Related workspace variables

disort_spectral_flux_field: DisortFlux

The spectral flux field from Disort.

Input to workspace method

Output from workspace methods

Related workspace variables

disort_spectral_radiance_field: DisortRadiance

The spectral radiance field from Disort.

Input to workspace methods

Modified by workspace method

Output from workspace methods

Related workspace variables

do_jacobian: Index

A boolean calculations related to the measurement_jacobian should be ignored.

This variable is limited to very few methods related to the inversion process for OEM(). Note that deep code of ARTS will ignore this variable, so it is not a global switch. Instead, it is used as a switch to clear the jacobian_targets variable, which is used to determine the size of the measurement_jacobian. It is important to be careful with this, as it will mess with the size of the measurement_jacobian and could thus lead to runtime errors being thrown in places where unexpected sizes are encountered.

Default value

1

Input to workspace methods

Input to workspace agendas

Related workspace variables

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

frequency_grid: AscendingGrid

A single frequency grid.

Units: Hz

Note

There is no global grid system in ARTS, so beware of the local nature of all grids.

Input to workspace methods

Modified by workspace method

Output from workspace method

Input to workspace agendas

Related workspace variables

frequency_grid_wind_shift_jacobian: Vector3

The frequency grid wind shift Jacobian.

Used because all methods inside propagation_matrix_agenda work 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 0

Input to workspace methods

Output from workspace method

Input to workspace agenda

Related workspace variables

gravity_operator: NumericTernaryOperator

The gravity operator.

Usage: gravity = gravity_operator ( altitude, latitude, longitude ).

Parameters

altitudeNumeric

Altitude in meters.

latitudeNumeric

Latitude in degrees.

longitudeNumeric

Longitude in degrees.

Returns

gravityNumeric

The gravity in \(\textrm{m/s}^2\).

Input to workspace method

Output from workspace method

inversion_iterate_agenda: Agenda

Work in progress …

See OEM().

Note

The output measurement_jacobian size may depend on the do_jacobian input.

Execution and customization

See inversion_iterate_agendaSet() for builtin options that selects execution options.

You can execute inversion_iterate_agenda directly from the workspace by calling inversion_iterate_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: inversion_iterate_agendaOperator. See it, inversion_iterate_agendaSetOperator(), and inversion_iterate_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. On output, the measurement vector and Jacobian must match expected size.

  2. On output, the model state vector and Jacobian must match expected size.

Agenda output

Agenda input

Default value

  1. Shares the global measurement_inversion_agenda

  2. UpdateModelStates()

  3. measurement_inversion_agendaExecute()

  4. Ignore(), using: input = inversion_iterate_agenda_counter

Input to workspace methods

Output from workspace methods

Related workspace variable

inversion_iterate_agenda_counter: Index

A counter for the inversion iterate agenda.

Default value

0

Input to workspace methods

Input to workspace agenda

jacobian_targets: JacobianTargets

A list of targets for the Jacobian Matrix calculations.

See JacobianTargetType for 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 the model_state_vector. It must know these things because it is able to map data between the model_state_vector and the actual model field, e.g., the atmospheric_field, the surface_field, the subsurface_field, the absorption_bands, the measurement_sensor, etc.

Default value

pyarts3.arts.JacobianTargets()

Input to workspace methods

Modified by workspace methods

Output from workspace methods

Input to workspace agendas

Related workspace variables

latitude: Numeric

A single latitude.

Units: degrees

Default value

0

Input to workspace methods

Output from workspace method

Related workspace variable

latitude_grid: LatGrid

An ascending list of latitude. 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.

Related workspace variables

legendre_degree: Index

The degree of a Legendre polynimial.

Input to workspace methods

Output from workspace method

Input to workspace agenda

longitude: Numeric

A single longitude.

Units: degrees

Default value

0

Input to workspace methods

Output from workspace method

Related workspace variable

longitude_grid: LonGrid

An ascending list of longitude. 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.

Related workspace variables

measurement_averaging_kernel: Matrix

Averaging kernel matrix.

This matrix is the partial derivative of the retrieved state vector with respect to the measurement_vector.

Usage: Used and set by inversion methods.

Input to workspace method

Output from workspace method

Related workspace variables

measurement_gain_matrix: Matrix

Contribution function (or gain) matrix.

This matrix is the partial derivative of the retrieved state vector with respect to the measurement_vector.

Usage: Used and set by inversion methods.

Input to workspace methods

Output from workspace method

Related workspace variables

measurement_inversion_agenda: Agenda

This is a helper Agenda intended for use within inversion_iterate_agenda.

It outputs the measurement_vector_fitted and measurement_jacobian for the current iteration of the inversion. The measurement_vector_fitted is the fitted measurement vector, i.e., the measurement vector that is expected to be observed given the current atmospheric_field, absorption_bands, measurement_sensor, and surface_field. It does not take these as explicit input but via the Workspace mechanism. Within the inversion_iterate_agenda, these will be the local variables.

What is special about this Agenda is that it enforces that the measurement_jacobian is empty on output if do_jacobian evaluates false. Do not use this Agenda if you do not mind having a non-empty measurement_jacobian on output even if do_jacobian evaluates false. Also do not use this Agenda if you wish to squeeze out performance, it does a lot of unnecessary checks and operations that are not always needed.

Execution and customization

See measurement_inversion_agendaSet() for builtin options that selects execution options.

You can execute measurement_inversion_agenda directly from the workspace by calling measurement_inversion_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: measurement_inversion_agendaOperator. See it, measurement_inversion_agendaSetOperator(), and measurement_inversion_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraint

  1. When do_jacobian evaluates as true, the measurement_jacobian must be non-empty.

Agenda output

Agenda input

Default value

  1. Shares the global absorption_bands

  2. Shares the global atmospheric_field

  3. Shares the global measurement_sensor

  4. Shares the global model_state_vector

  5. Shares the global spectral_radiance_observer_agenda

  6. Shares the global spectral_radiance_transform_operator

  7. Shares the global subsurface_field

  8. Shares the global surface_field

  9. Copies the global jacobian_targets

  10. measurement_vector_errorFromModelState()

  11. jacobian_targetsConditionalClear()

  12. measurement_vectorFromSensor()

  13. measurement_jacobianTransformations()

  14. measurement_vectorConditionalAddError()

  15. measurement_vector_fittedFromMeasurement()

Input to workspace method

Output from workspace methods

Related workspace variables

measurement_jacobian: Matrix

The first order partial derivatives of the measurement_vector.

This variable represents the matrix

\[\mathbf{J} = \frac{\partial \vec{y}} {\partial \vec{x}},\]

where \(\vec{y}\) is the measurement_vector and \(\vec{x}\) is the model_state_vector. The size of this variable should thus be the size of measurement_vector times the size of model_state_vector. Please refer to those variables for more information.

Input to workspace method

Modified by workspace methods

Output from workspace methods

Output from workspace agendas

Related workspace variables

measurement_jacobian_error: Matrix

The partial derivatives of the measurement_vector_error.

This is otherwise the same as measurement_jacobian. See it for more details.

Input to workspace method

Output from workspace method

Related workspace variables

measurement_sensor: ArrayOfSensorObsel

A list of sensor elements.

Size is number of elements of the sensor.

Input to workspace methods

Modified by workspace methods

Output from workspace methods

Modified by workspace agenda

Related workspace variables

measurement_vector: Vector

The measurment vector for, e.g., a sensor.

This must often be the same size as measurement_sensor.

The notation in ARTS, for the purpose of OEM(), 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_vector, \(\vec{y}_\epsilon\) is the measurement_vector_error, and \(\epsilon\) are any additional errors, such as random noise.

Throughout ARTS, measurement_vector have different contextual meanings. These are:

  1. \(\vec{y}\) - i.e., measured data.

  2. \(\vec{y} - \epsilon\) - e.g., the best fit to measured data, measurement_vector_fitted.

  3. \(\mathbf{F}\left(\vec{x}\right)\) - i.e., the physical model of the measurement.

Input to workspace methods

Modified by workspace method

Output from workspace methods

Related workspace variables

measurement_vector_error: Vector

The model measurment vector error for, e.g., a sensor.

This must often be the same size as measurement_sensor.

See measurement_vector for more details. In that notation, this is \(\vec{y}_\epsilon\).

Input to workspace method

Output from workspace method

Related workspace variables

measurement_vector_error_covariance_matrix: CovarianceMatrix

Covariance matrix for observation uncertainties.

Input to workspace methods

Output from workspace method

Related workspace variables

measurement_vector_fitted: Vector

As measurement_vector, but fitted to the model.

This must often be the same size as measurement_sensor.

See measurement_vector for more details. In that notation, and in the notation of OEM(), \(\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.

Default value

[]

Modified by workspace method

Output from workspace methods

Output from workspace agendas

Related workspace variables

model_state_covariance_matrix: CovarianceMatrix

Covariance matrix of a priori distribution.

Input to workspace methods

Modified by workspace method

Output from workspace methods

Related workspace variables

model_state_vector: Vector

A state vector of the model.

This represents the chosen state of the model. In the notation of measurement_vector and OEM(), \(\vec{x}\) is the model_state_vector.

To choose the state of the model, you must setup jacobian_targets to include the state parameters you want to be able to change.

Default value

[]

Input to workspace methods

Modified by workspace methods

Output from workspace methods

Input to workspace agenda

Related workspace variables

model_state_vector_apriori: Vector

An apriori state vector of the model.

See model_state_vector for more details. This is the state vector that is assumed to be the a priori state of the model. In normal circumstances, this is the state vector that is used to start the inversion process. In OEM(), this is \(\vec{x}_a\).

Input to workspace method

Output from workspace methods

Related workspace variables

nlte_line_flux_profile: QuantumIdentifierVectorMap

A per-line flux profile.

Output from workspace method

Related workspace variables

phase_matrix_scattering_spectral: SpecmatMatrix

The spectral phase matrix of totally random orientation particles at a single point along a path using spectral representation

Modified by workspace method

Output from workspace methods

Output from workspace agenda

Related workspace variables

propagation_matrix: 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].

Dimension: frequency_grid.

Modified by workspace methods

Output from workspace methods

Output from workspace agenda

Related workspace variables

propagation_matrix_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 propagation_matrix_agendaAuto() after having defined your absorption data to create this agenda. It covers most use-cases.

Execution and customization

See propagation_matrix_agendaSet() for builtin options that selects execution options.

You can execute propagation_matrix_agenda directly from the workspace by calling propagation_matrix_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: propagation_matrix_agendaOperator. See it, propagation_matrix_agendaSetOperator(), and propagation_matrix_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. On output, propagation_matrix has the size of frequency_grid.

  2. On output, propagation_matrix_source_vector_nonlte has the size of frequency_grid.

  3. On output, propagation_matrix_jacobian has the shape of the target-count of jacobian_targets times the size of frequency_grid.

  4. On output, propagation_matrix_source_vector_nonlte_jacobian has the shape of the target-count of jacobian_targets times the size of frequency_grid.

Agenda output

Agenda input

Input to workspace methods

Output from workspace methods

Related workspace variables

propagation_matrix_jacobian: PropmatMatrix

Partial derivative of the propagation_matrix with regards to jacobian_targets.

The units depend on what is set in jacobian_targets [1 / m / jacobian target’s unit].

Modified by workspace methods

Output from workspace methods

Output from workspace agenda

Related workspace variables

propagation_matrix_scattering: PropmatVector

The propgation matrix of totally random orientation particles at a single point along a path using spectral representation

Modified by workspace methods

Output from workspace methods

Output from workspace agendas

Related workspace variables

propagation_matrix_scattering_agenda: Agenda

Computes the part of the propagation matrix that relates to scattering.

Execution and customization

See propagation_matrix_scattering_agendaSet() for builtin options that selects execution options.

You can execute propagation_matrix_scattering_agenda directly from the workspace by calling propagation_matrix_scattering_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: propagation_matrix_scattering_agendaOperator. See it, propagation_matrix_scattering_agendaSetOperator(), and propagation_matrix_scattering_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraint

  1. On output, propagation_matrix_scattering has the size of frequency_grid.

Agenda output

Agenda input

Default value

  1. propagation_matrix_scatteringInit()

  2. propagation_matrix_scatteringAirSimple()

Input to workspace methods

Output from workspace methods

Related workspace variables

propagation_matrix_scattering_spectral_agenda: Agenda

Gets the scattering propagation matrix, the scattering absorption vector, and the scattering spectral phase matrix.

Execution and customization

See propagation_matrix_scattering_spectral_agendaSet() for builtin options that selects execution options.

You can execute propagation_matrix_scattering_spectral_agenda directly from the workspace by calling propagation_matrix_scattering_spectral_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: propagation_matrix_scattering_spectral_agendaOperator. See it, propagation_matrix_scattering_spectral_agendaSetOperator(), and propagation_matrix_scattering_spectral_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. On output, propagation_matrix_scattering has the size of frequency_grid.

  2. On output, absorption_vector_scattering has the size of frequency_grid.

  3. On output, phase_matrix_scattering_spectral has the shape of <legendre_degree + 1> times the size of frequency_grid.

Agenda output

Agenda input

Default value

  1. Shares the global scattering_species

  2. propagation_matrix_scatteringSpectralInit()

  3. propagation_matrix_scatteringAddSpectralScatteringSpeciesTRO()

Input to workspace methods

Output from workspace methods

Related workspace variables

propagation_matrix_source_vector_nonlte: StokvecVector

The part of the source vector that is due to non-LTE.

This is closely related to propagation_matrix.

Gven 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 propagation_matrix variable. \(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_radiance per meter.

Modified by workspace method

Output from workspace methods

Output from workspace agenda

Related workspace variables

propagation_matrix_source_vector_nonlte_jacobian: StokvecMatrix

Partial derivative of the propagation_matrix_source_vector_nonlte with regards to jacobian_targets.

The units are spectral_radiance_jacobian per meter.

Modified by workspace methods

Output from workspace methods

Output from workspace agenda

Related workspace variables

ray_path: ArrayOfPropagationPathPoint

A list path points making up a propagation path.

Input to workspace methods

Modified by workspace methods

Output from workspace methods

Input to workspace agendas

Output from workspace agendas

Related workspace variables

ray_path_absorption_vector_scattering: ArrayOfStokvecVector

The absorption vector of totally random orientation particles along the propagation path using spectral representation

Input to workspace method

Output from workspace method

Related workspace variables

ray_path_atmospheric_point: ArrayOfAtmPoint

Atmospheric points along the propagation path.

See atmospheric_point for information about atmospheric points

Dimension: [ ppath.np ]

Usage: Output of radiative transfer methods.

Input to workspace methods

Output from workspace methods

Related workspace variables

ray_path_field: ArrayOfArrayOfPropagationPathPoint

A list of ray_path intended 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_frequency_grid: ArrayOfAscendingGrid

All frequency_grid along the propagation path.

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_frequency_grid_wind_shift_jacobian: ArrayOfVector3

A list of frequency_grid_wind_shift_jacobian for a ray path.

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_observer_agenda: Agenda

Gets the propagation path as it is obeserved.

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

You can execute ray_path_observer_agenda directly from the workspace by calling ray_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(), and ray_path_observer_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Agenda output

Agenda input

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 spectral_radiance_observer_position and spectral_radiance_observer_line_of_sight

Input to workspace method

Output from workspace methods

Related workspace variables

ray_path_phase_matrix_scattering_spectral: ArrayOfSpecmatMatrix

The spectral phase matrix of totally random orientation particles along the propagation path using spectral representation

Input to workspace method

Output from workspace method

Related workspace variables

ray_path_point: PropagationPathPoint

A single path point.

This consists of

  1. The altitude in meters as a Numeric .

  2. The latitude in degrees as a Numeric .

  3. The longitude in degrees as a Numeric .

  4. The zenith angle in degrees as a Numeric .

  5. The azimuth angle in degrees as a Numeric .

  6. The PathPositionType of the path if it moves forward along its line of sight.

  7. The PathPositionType of the of the path at its current position.

  8. Bulk refractive index at the path point as a Numeric .

  9. Group refractive index at the path point as a Numeric .

Input to workspace methods

Output from workspace methods

Input to workspace agendas

Related workspace variables

ray_path_propagation_matrix: ArrayOfPropmatVector

Propagation matrices along the propagation path

Input to workspace methods

Modified by workspace method

Output from workspace method

Related workspace variables

ray_path_propagation_matrix_jacobian: ArrayOfPropmatMatrix

Propagation derivative matrices along the propagation path

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_propagation_matrix_scattering: ArrayOfPropmatVector

Propagation matrices along the propagation path for scattering

Input to workspace methods

Output from workspace methods

Related workspace variables

ray_path_propagation_matrix_source_vector_nonlte: ArrayOfStokvecVector

Additional non-LTE along the propagation path

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_propagation_matrix_source_vector_nonlte_jacobian: ArrayOfStokvecMatrix

Additional non-LTE derivative along the propagation path

Input to workspace method

Output from workspace method

Related workspace variables

ray_path_spectral_radiance_jacobian: ArrayOfStokvecMatrix

Spectral radiance derivative along the propagation path

Input to workspace method

Output from workspace methods

Related workspace variables

ray_path_spectral_radiance_scattering: ArrayOfStokvecVector

Spectral radiance scattered into the propagation path

Input to workspace method

Output from workspace method

Related workspace variables

ray_path_spectral_radiance_source: ArrayOfStokvecVector

Source vectors along the propagation path

Input to workspace method

Modified by workspace method

Output from workspace method

Related workspace variables

ray_path_spectral_radiance_source_jacobian: ArrayOfStokvecMatrix

Source derivative vectors along the propagation path

Input to workspace method

Output from workspace method

Related workspace variables

ray_path_suns_path: ArrayOfArrayOfArrayOfPropagationPathPoint

A list of paths to the suns from the ray path.

Dimensions: ray_path x suns x sun_path

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_transmission_matrix: ArrayOfMuelmatVector

Transmission matrices along the propagation path.

The outer dimension is the number of layers.

The inner dimension is the number of frequency points.

The order of the elements is such that index zero is closest to the obeserver.

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_transmission_matrix_cumulative: ArrayOfMuelmatVector

Cumulative transmission matrices along the propagation path

Input to workspace methods

Output from workspace method

Related workspace variables

ray_path_transmission_matrix_jacobian: ArrayOfMuelmatTensor3

Transmission derivative matrices along the propagation path.

The outer dimension is the number of layers.

The inner dimensions are the number of level derivatives, the number of jacbian targets, and the number of frequency points. The required number of level derivatives is determined by the appropriate method (a common value is 2, for the 2 levels surrounding a layer).

The order of the elements is such that index zero is closest to the obeserver.

Input to workspace methods

Output from workspace method

Related workspace variables

scattering_species: ArrayOfScatteringSpecies

The scattering species

Input to workspace method

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

AIR

Input to workspace methods

Input to workspace agenda

Related workspace variable

select_species_list: ArrayOfSpeciesEnum

Species selection when multiple species must be chosen.

Input to workspace method

spectral_flux_profile: Matrix

An altitude profile of spectral flux.

Input to workspace methods

Output from workspace methods

Related workspace variables

spectral_radiance: 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_radianceApplyUnit(). After conversion, the use of spectral_radiance in any method no marked as safe for different units, will lead to undefined behavior with possibly bad values being computed.

The size of this variable should be the size of the local frequency_grid.

Input to workspace method

Modified by workspace methods

Output from workspace methods

Output from workspace agendas

Related workspace variables

spectral_radiance_background: StokvecVector

Spectral radiance from the background

Shape: frequency_grid

Input to workspace methods

Output from workspace method

Related workspace variables

spectral_radiance_background_jacobian: StokvecMatrix

Spectral radiance derivative from the background

Shape: model_state_vector x frequency_grid

Input to workspace methods

Output from workspace method

Related workspace variables

spectral_radiance_closed_surface_agenda: Agenda

A closed surface agenda.

It behave exactly like spectral_radiance_surface_agenda. It exists to allow chaining surface agendas. The idea is that the main spectral_radiance_surface_agenda variable is the first interface and can chain into another surface agenda - this one.

Thus this agenda must be “closed”. It cannot call another spectral_radiance_surface_agenda, whereas spectral_radiance_surface_agenda can call this agenda. Imagine a chain where the spectral_radiance_surface_agenda gets the reflectance from a land surface model and calls the spectral_radiance_observer_agenda to compute the downwelling radiation at the surface. It can in turn call spectral_radiance_closed_surface_agenda to 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!

Agenda output

Agenda input

Default value

  1. spectral_radianceSurfaceBlackbody()

  2. Ignore(), using: input = subsurface_field

Input to workspace method

Related workspace variables

spectral_radiance_field: GriddedSpectralField6

The spectral radiance field.

spectral_radiance but for a field.

Dimensions are altitude_grid times latitude_grid times longitude_grid times zenith_grid times azimuth_grid times frequency_grid.

Input to workspace method

Output from workspace methods

Related workspace variables

spectral_radiance_jacobian: StokvecMatrix

Jacobian of spectral_radiance with respect to jacobian_targets.

The size of this variable should be the local jacobian_targets as rows times the size of the local spectral_radiance as columns.

Modified by workspace methods

Output from workspace methods

Output from workspace agendas

Related workspace variables

spectral_radiance_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_path as seen from the observer position and line of sight. This is useful in-case a call to the destructive spectral_radianceApplyUnitFromSpectralRadiance() is warranted.

Execution and customization

See spectral_radiance_observer_agendaSet() for builtin options that selects execution options.

You can execute spectral_radiance_observer_agenda directly from the workspace by calling spectral_radiance_observer_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: spectral_radiance_observer_agendaOperator. See it, spectral_radiance_observer_agendaSetOperator(), and spectral_radiance_observer_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. On output, spectral_radiance has the size of frequency_grid.

  2. On output, spectral_radiance_jacobian has the shape of the expected model_state_vector (i.e., the x-size of jacobian_targets) times the size of frequency_grid.

Agenda output

Agenda input

Default value

  1. Shares the global measurement_sensor

  2. Shares the global propagation_matrix_agenda

  3. Shares the global ray_path_observer_agenda

  4. Shares the global spectral_radiance_observer_agenda

  5. Shares the global spectral_radiance_space_agenda

  6. Shares the global spectral_radiance_surface_agenda

  7. ray_path_observer_agendaExecute()

  8. hse_derivative = 0

  9. spectral_radianceClearskyEmission()

  10. spectral_radiance_jacobianAddSensorJacobianPerturbations()

Input to workspace methods

Output from workspace methods

Related workspace variables

spectral_radiance_observer_line_of_sight: Vector2

The line-of-sight of the observer of spectral radiance.

Most likely only makes sense in combination with spectral_radiance_observer_position.

Input to workspace methods

Input to workspace agendas

Related workspace variables

spectral_radiance_observer_position: Vector3

The position of an observer of spectral radiance.

Most likely only makes sense in combination with spectral_radiance_observer_line_of_sight.

Input to workspace methods

Input to workspace agendas

Related workspace variables

spectral_radiance_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.

Input to workspace methods

Output from workspace method

Related workspace variables

spectral_radiance_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_radiance_space_agendaSet() for builtin options that selects execution options.

You can execute spectral_radiance_space_agenda directly from the workspace by calling spectral_radiance_space_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: spectral_radiance_space_agendaOperator. See it, spectral_radiance_space_agendaSetOperator(), and spectral_radiance_space_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. On output, spectral_radiance has the size of frequency_grid.

  2. On output, spectral_radiance_jacobian has the shape of the expected model_state_vector (i.e., the x-size of jacobian_targets) times the size of frequency_grid.

Agenda output

Agenda input

Default value

  1. spectral_radianceUniformCosmicBackground()

  2. spectral_radiance_jacobianEmpty()

  3. Ignore(), using: input = ray_path_point

Input to workspace methods

Output from workspace methods

Related workspace variables

spectral_radiance_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_radiance_closed_surface_agenda as well.

Execution and customization

See spectral_radiance_surface_agendaSet() for builtin options that selects execution options.

You can execute spectral_radiance_surface_agenda directly from the workspace by calling spectral_radiance_surface_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: spectral_radiance_surface_agendaOperator. See it, spectral_radiance_surface_agendaSetOperator(), and spectral_radiance_surface_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. On output, spectral_radiance has the size of frequency_grid.

  2. On output, spectral_radiance_jacobian has the shape of the expected model_state_vector (i.e., the x-size of jacobian_targets) times the size of frequency_grid.

Agenda output

Agenda input

Default value

  1. spectral_radianceSurfaceBlackbody()

  2. Ignore(), using: input = subsurface_field

Input to workspace methods

Output from workspace methods

Related workspace variables

spectral_radiance_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

subsurface_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 altitude, latitude, and longitude dimensions.

For more information, see The subsurface.

Default value

"bottom_depth": 1.7976931348623157e+308

Input to workspace methods

Modified by workspace methods

Input to workspace agendas

Modified by workspace agenda

subsurface_profile: ArrayOfSubsurfacePoint

A profile of subsurface points. Supposed to be ordered from top to bottom.

For more information, see The subsurface.

Input to workspace methods

Output from workspace method

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_path

Size is number of path points for the sun.

Input to workspace method

Output from workspace method

suns: ArrayOfSun

A list of Sun.

Size is number of suns.

Input to workspace methods

Related workspace variable

surface_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 latitude , and longitude dimensions.

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 variable

surface_reflectance: MuelmatVector

Spectral surface reflectance.

Shape: frequency_grid

Output from workspace methods

Output from workspace agenda

Related workspace variables

surface_reflectance_agenda: Agenda

An agenda to compute the surface reflectance.

Execution and customization

See surface_reflectance_agendaSet() for builtin options that selects execution options.

You can execute surface_reflectance_agenda directly from the workspace by calling surface_reflectance_agendaExecute().

As all agendas in ARTS, it is also customizable via its operator helper class: surface_reflectance_agendaOperator. See it, surface_reflectance_agendaSetOperator(), and surface_reflectance_agendaExecuteOperator() for more details.

Also see the arts_agenda property for how to fully define an agenda in python.

Constraints

  1. surface_reflectance match frequency_grid size

  2. surface_reflectance_jacobian match jacobian_targets target count and frequency_grid size

Agenda output

Agenda input

Input to workspace methods

Output from workspace methods

surface_reflectance_jacobian: MuelmatMatrix

Spectral surface reflectance jacobian.

Shape: jacobian_targets - target count x frequency_grid

Output from workspace methods

Output from workspace agenda

Related workspace variables

transmission_matrix_background: MuelmatVector

Transmittance from the background

Input to workspace method

Output from workspace methods

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

wsv: WsvMap

The workspace variables

zenith_grid: ZenithGrid

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.

Input to workspace methods

Output from workspace method

Related workspace variables

Operators

__eq__(value, /)

Return self==value.

__format__(self, arg: str, /) str
__ge__(value, /)

Return self>=value.

__getstate__()

Helper for pickle.

__gt__(value, /)

Return self>value.

__hash__()

Return hash(self).

__init__(self) None
__init__(self, arg: pyarts3.arts.CxxWorkspace) None
__init__(self, with_defaults: bool = True) None
__iter__(self) collections.abc.Iterator[tuple[str, pyarts3.arts.Wsv]]

Allows iter(self)

__le__(value, /)

Return self<=value.

__lt__(value, /)

Return self<value.

__ne__(value, /)

Return self!=value.

__repr__(self) str
__str__(self) str