ARTS  2.2.66
disort.cc File Reference

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"
Include dependency graph for disort.cc:

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
 

Detailed Description

This file contains functions related to the DISORT interface.

Author
Claudia Emde claud.nosp@m.ia.e.nosp@m.mde@d.nosp@m.lr.d.nosp@m.e
Date
Tue Feb 7 10:08:28 2006

Definition in file disort.cc.

Function Documentation

◆ dtauc_ssalbCalc()

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

Parameters
wsCurrent workspace
dtaucoptical depths for all layers
ssalbsingle scattering albedos for all layers
opt_prop_part_agendause arts -d for docu
propmat_clearsky_agendause arts -d
spt_calc_agendause arts -d
pnd_fielduse arts -d
t_fielduse arts -d
z_fielduse arts -d
p_griduse arts -d
vmr_fielduse arts -d
f_indexuse arts -d
Author
Claudia Emde
Date
2006-02-10

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

◆ phase_functionCalc()

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)

Parameters
phase_functionnormalized phase function
scat_data_array_monouse arts -d for docu
pnd_fielduse arts -d for docu
Author
Claudia Emde
Date
2006-02-10

Definition at line 189 of file disort.cc.

References ConstMatrixView::ncols(), Array< base >::nelem(), ConstTensor4View::npages(), and PI.

◆ planck2()

Numeric planck2 ( const Numeric f,
const Numeric t 
)

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.

Returns
blackbody radiation
Parameters
ffrequency
ttemperature
Author
Patrick Eriksson
Date
2000-04-08

Definition at line 364 of file disort.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.

◆ pmomCalc()

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.

Parameters
pmomLegendre polynomial of phase functions
phase_functionNormalized phase function
scat_angle_gridScattering angle grid corresponding to phase functions
n_legendreNumber of Legendre polynomials to be calculated
Author
Claudia Emde
Date
2006-02-10

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.

Variable Documentation

◆ BOLTZMAN_CONST

const Numeric BOLTZMAN_CONST

Referenced by planck2().

◆ PI

const Numeric PI

Referenced by phase_functionCalc(), and pmomCalc().

◆ PLANCK_CONST

const Numeric PLANCK_CONST

Referenced by planck2().

◆ SPEED_OF_LIGHT

const Numeric SPEED_OF_LIGHT

Referenced by planck2().