ARTS
2.2.66
|
This file contains functions related to the DISORT interface. More...
#include <stdexcept>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include "array.h"
#include "agenda_class.h"
#include "messages.h"
#include "xml_io.h"
#include "logic.h"
#include "check_input.h"
#include "auto_md.h"
#include "interpolation.h"
Go to the source code of this file.
Functions | |
void | dtauc_ssalbCalc (Workspace &ws, VectorView dtauc, VectorView ssalb, const Agenda &opt_prop_part_agenda, const Agenda &propmat_clearsky_agenda, const Agenda &spt_calc_agenda, ConstTensor4View pnd_field, ConstTensor3View t_field, ConstTensor3View z_field, ConstVectorView p_grid, ConstTensor4View vmr_field, ConstVectorView f_mono) |
dtauc_ssalbCalc More... | |
void | phase_functionCalc (MatrixView phase_function, const ArrayOfSingleScatteringData &scat_data_array_mono, ConstTensor4View pnd_field) |
phase_functionCalc More... | |
void | pmomCalc (MatrixView pmom, ConstMatrixView phase_function, ConstVectorView scat_angle_grid, const Index n_legendre, const Verbosity &verbosity) |
pmomCalc More... | |
Numeric | planck2 (const Numeric &f, const Numeric &t) |
planck More... | |
Variables | |
const Numeric | PI |
const Numeric | PLANCK_CONST |
const Numeric | SPEED_OF_LIGHT |
const Numeric | BOLTZMAN_CONST |
This file contains functions related to the DISORT interface.
Definition in file disort.cc.
void dtauc_ssalbCalc | ( | Workspace & | ws, |
VectorView | dtauc, | ||
VectorView | ssalb, | ||
const Agenda & | opt_prop_part_agenda, | ||
const Agenda & | propmat_clearsky_agenda, | ||
const Agenda & | spt_calc_agenda, | ||
ConstTensor4View | pnd_field, | ||
ConstTensor3View | t_field, | ||
ConstTensor3View | z_field, | ||
ConstVectorView | p_grid, | ||
ConstTensor4View | vmr_field, | ||
ConstVectorView | f_mono | ||
) |
dtauc_ssalbCalc
Calculates layer averaged cloud optical depth (dtauc) and single scattering albedo (ssalb). These variables are required as input for the DISORT subroutine
ws | Current workspace |
dtauc | optical depths for all layers |
ssalb | single scattering albedos for all layers |
opt_prop_part_agenda | use arts -d for docu |
propmat_clearsky_agenda | use arts -d |
spt_calc_agenda | use arts -d |
pnd_field | use arts -d |
t_field | use arts -d |
z_field | use arts -d |
p_grid | use arts -d |
vmr_field | use arts -d |
f_index | use arts -d |
Definition at line 68 of file disort.cc.
References abs, joker, ConstTensor4View::nbooks(), ConstVectorView::nelem(), ConstTensor4View::npages(), opt_prop_part_agendaExecute(), propmat_clearsky_agendaExecute(), and spt_calc_agendaExecute().
void phase_functionCalc | ( | MatrixView | phase_function, |
const ArrayOfSingleScatteringData & | scat_data_array_mono, | ||
ConstTensor4View | pnd_field | ||
) |
phase_functionCalc
Calculates layer averaged normalized phase functions from the phase matrix in SingleScatteringData. The scattering angle grid is taken from the data. It is required that all particle types include the same scattering angle grid (FIXME: Include angle interpolation)
phase_function | normalized phase function |
scat_data_array_mono | use arts -d for docu |
pnd_field | use arts -d for docu |
Definition at line 189 of file disort.cc.
References ConstMatrixView::ncols(), Array< base >::nelem(), ConstTensor4View::npages(), and PI.
planck
Calculates the Planck function for a single temperature.
Comment by CE: Copied here from physics_funcs.cc, because I cannot include physics.h in m_disort.cc. The problem is that the definition of complex is not compatible with f2c.h
Note that this expression gives the intensity for both polarisations.
f | frequency |
t | temperature |
Definition at line 364 of file disort.cc.
References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.
void pmomCalc | ( | MatrixView | pmom, |
ConstMatrixView | phase_function, | ||
ConstVectorView | scat_angle_grid, | ||
const Index | n_legendre, | ||
const Verbosity & | verbosity | ||
) |
pmomCalc
Calculates Legendre polynomials of phase functions for each layer. The Legendre polynomial are required as input for DISORT.
pmom | Legendre polynomial of phase functions |
phase_function | Normalized phase function |
scat_angle_grid | Scattering angle grid corresponding to phase functions |
n_legendre | Number of Legendre polynomials to be calculated |
Definition at line 255 of file disort.cc.
References abs, CREATE_OUT1, gridpos(), interp(), interpweights(), joker, Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), and PI.
const Numeric PI |
Referenced by phase_functionCalc(), and pmomCalc().