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< TransmissionMatrix > FieldOfTransmissionMatrix
 
typedef Field3D< PropagationMatrix > FieldOfPropagationMatrix
 
typedef Field3D< StokesVector > FieldOfStokesVector
 

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().