ARTS  2.4.0(git:4fb77825)
propmat_field.h File Reference

Implements a propagation matrix field. More...

#include "energylevelmap.h"
#include "field.h"
#include "transmissionmatrix.h"

Go to the source code of this file.

Typedefs

typedef Field3D< TransmissionMatrixFieldOfTransmissionMatrix
 
typedef Field3D< PropagationMatrixFieldOfPropagationMatrix
 
typedef Field3D< StokesVectorFieldOfStokesVector
 

Functions

void field_of_propagation (Workspace &ws, FieldOfPropagationMatrix &propmat_field, FieldOfStokesVector &absorption_field, FieldOfStokesVector &additional_source_field, const Index &stokes_dim, const Vector &f_grid, const Vector &p_grid, const Tensor3 &z_field, const Tensor3 &t_field, const EnergyLevelMap &nlte_field, const Tensor4 &vmr_field, const ArrayOfRetrievalQuantity &jacobian_quantities, const Agenda &propmat_clearsky_agenda)
 Creates a field of propagation matrices, absorption vectors, and source vectors. More...
 
FieldOfTransmissionMatrix transmat_field_calc_from_propmat_field (const FieldOfPropagationMatrix &propmat_field, const Numeric &r=1.0)
 Get a field of transmission matrices from the propagation matrix field. More...
 
void emission_from_propmat_field (Workspace &ws, ArrayOfRadiationVector &lvl_rad, ArrayOfRadiationVector &src_rad, ArrayOfTransmissionMatrix &lyr_tra, ArrayOfTransmissionMatrix &tot_tra, const FieldOfPropagationMatrix &propmat_field, const FieldOfStokesVector &absorption_field, const FieldOfStokesVector &additional_source_field, const Vector &f_grid, const Tensor3 &t_field, const EnergyLevelMap &nlte_field, const Ppath &ppath, const Agenda &iy_main_agenda, const Agenda &iy_space_agenda, const Agenda &iy_surface_agenda, const Agenda &iy_cloudbox_agenda, const Tensor3 &surface_props_data, const Verbosity &verbosity)
 Computes the radiation and transmission from fields of atmospheric propagation. More...
 

Detailed Description

Implements a propagation matrix field.

Author
Richard Larsson
Date
2019-02-26

This file contains internal code to speed up propagation field calculations by sacrificing memory and by interpolating from potentially coarser resolution.

Definition in file propmat_field.h.

Typedef Documentation

◆ FieldOfPropagationMatrix

◆ FieldOfStokesVector

Definition at line 39 of file propmat_field.h.

◆ FieldOfTransmissionMatrix

Function Documentation

◆ emission_from_propmat_field()

void emission_from_propmat_field ( Workspace ws,
ArrayOfRadiationVector lvl_rad,
ArrayOfRadiationVector src_rad,
ArrayOfTransmissionMatrix lyr_tra,
ArrayOfTransmissionMatrix tot_tra,
const FieldOfPropagationMatrix propmat_field,
const FieldOfStokesVector absorption_field,
const FieldOfStokesVector additional_source_field,
const Vector f_grid,
const Tensor3 t_field,
const EnergyLevelMap nlte_field,
const Ppath ppath,
const Agenda iy_main_agenda,
const Agenda iy_space_agenda,
const Agenda iy_surface_agenda,
const Agenda iy_cloudbox_agenda,
const Tensor3 surface_props_data,
const Verbosity verbosity 
)

Computes the radiation and transmission from fields of atmospheric propagation.

Only for 1D atmospheres for now.

Computes The forward simulations by interpolating the fields of radiative properties to the selected propagation path.

Not well-tested.

Parameters
[in]wsA workspace
[out]lvl_radLevel by level radiation
[out]src_radLevel by level source function
[out]lyr_traLayered transmission
[out]tot_traTotal transmission from layer to background
[in]propmat_field3D field of propagation matrices
[in]absorption_fieldA 3D field of absorption vectors
[in]additional_source_fieldA 3D field of source vectors
[in]f_gridAs WSV
[in]t_fieldAs WSV
[in]nlte_fieldAs WSV
[in]ppathAs WSV
[in]iy_main_agendaAs WSA
[in]iy_space_agendaAs WSA
[in]iy_surface_agendaAs WSA
[in]iy_cloudbox_agendaAs WSA
[in]surface_props_dataAs WSV
[in]verbosityLevel of verbosity in underlying calls

Definition at line 122 of file propmat_field.cc.

References cumulative_transmission(), ARTS::Var::f_grid(), get_iy_of_background(), get_stepwise_blackbody_radiation(), interp_atmfield_by_gp(), ARTS::Var::iy(), ARTS::Var::iy_cloudbox_agenda(), ARTS::Var::iy_main_agenda(), ARTS::Var::iy_space_agenda(), ARTS::Var::iy_surface_agenda(), ARTS::Var::nlte_field(), ns, ARTS::Var::ppath(), stepwise_source(), stepwise_transmission(), ARTS::Var::surface_props_data(), swap(), ARTS::Var::t_field(), update_radiation_vector(), and ARTS::Var::verbosity().

◆ field_of_propagation()

void field_of_propagation ( Workspace ws,
FieldOfPropagationMatrix propmat_field,
FieldOfStokesVector absorption_field,
FieldOfStokesVector additional_source_field,
const Index stokes_dim,
const Vector f_grid,
const Vector p_grid,
const Tensor3 z_field,
const Tensor3 t_field,
const EnergyLevelMap nlte_field,
const Tensor4 vmr_field,
const ArrayOfRetrievalQuantity jacobian_quantities,
const Agenda propmat_clearsky_agenda 
)

Creates a field of propagation matrices, absorption vectors, and source vectors.

Parameters
[in]wsA workspace
[out]propmat_fieldA 3D field of propagation matrices
[out]absorption_fieldA 3D field of absorption vectors
[out]additional_source_fieldA 3D field of source vectors
[in]stokes_dimAs WSV
[in]f_gridAs WSV
[in]p_gridAs WSV
[in]z_fieldAs WSV
[in]t_fieldAs WSV
[in]nlte_fieldAs WSV
[in]vmr_fieldAs WSV
[in]jacobian_quantitiesAs WSV
[in]propmat_clearsky_agendaAs WSA

Definition at line 35 of file propmat_field.cc.

References ARTS::Var::f_grid(), ARTS::Var::jacobian_quantities(), ARTS::Var::propmat_clearsky_agenda(), ARTS::Var::stokes_dim(), and ARTS::Var::z_field().

◆ transmat_field_calc_from_propmat_field()

FieldOfTransmissionMatrix transmat_field_calc_from_propmat_field ( const FieldOfPropagationMatrix propmat_field,
const Numeric r = 1.0 
)

Get a field of transmission matrices from the propagation matrix field.

Parameters
[in]propmat_fieldA 3D field of propagation matrices
[in]rThe distance
Returns
FieldOfTransmissionMatrix

Definition at line 109 of file propmat_field.cc.

References Field3D< base >::ncols(), Field3D< base >::npages(), and Field3D< base >::nrows().