ARTS  1.0.222
Functions | Variables
m_los.cc File Reference

This file contains functions associated with 1D line-of-sight (LOS) calculations. More...

#include <cmath>
#include "arts.h"
#include "atm_funcs.h"
#include "complex.h"
#include "matpackI.h"
#include "los.h"
#include "math_funcs.h"
#include "messages.h"
#include "auto_wsv.h"
#include "auto_md.h"

Go to the source code of this file.

Functions

bool any_ground (const ArrayOfIndex &ground)
 Checks if any of the pencil beam spectra corresponds to a ground reflection. More...
 
void los_geometric (Vector &z, Vector &psi, Numeric &l_step, const Numeric &z_plat, const Numeric &za, const Numeric &atm_limit, const Numeric &r_geoid)
 Core function for geometric LOS calculations. More...
 
void los_refraction (Vector &z, Vector &psi, Numeric &l_step, const Numeric &z_plat, const Numeric &za, const Numeric &atm_limit, const Numeric &r_geoid, const Vector &, const Vector &z_abs, const Index &, const Index &refr_lfac, const Vector &refr_index, const Numeric &c)
 Core function for LOS calculations with refraction. More...
 
void los_1za (Vector &z, Vector &psi, Numeric &l_step, Index &ground, Index &start, Index &stop, Numeric &z_tan, const Numeric &z_plat, const Numeric &za, const Numeric &l_step_max, const Numeric &z_ground, const Numeric &r_geoid, const Vector &p_abs, const Vector &z_abs, const Index &refr, const Index &refr_lfac, const Vector &refr_index)
 Performs the LOS calculations for one zenith angle. More...
 
void y_rte (Vector &y, const Los &los, ConstVectorView f_mono, ConstVectorView y_space, const ArrayOfMatrix &source, const ArrayOfMatrix &trans, ConstVectorView e_ground, const Numeric &t_ground, const Index &z_start, const Index &z_end)
 
void y_tau (Vector &y, const Los &los, const ArrayOfMatrix &trans, ConstVectorView e_ground, const Index &z_start, const Index &z_end)
 
void r_geoidStd (Numeric &r_geoid)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void r_geoidWGS84 (Numeric &r_geoid, const Numeric &latitude, const Numeric &obsdirection)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void groundOff (Numeric &z_ground, Numeric &t_ground, Vector &e_ground, const Vector &z_abs)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void groundSet (Numeric &z_ground, Numeric &t_ground, Vector &e_ground, const Vector &p_abs, const Vector &t_abs, const Vector &z_abs, const Vector &f_mono, const Numeric &z, const Numeric &e)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void groundAtBottom (Numeric &z_ground, Numeric &t_ground, Vector &e_ground, const Vector &t_abs, const Vector &z_abs, const Vector &f_mono, const Numeric &e)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void groundFlatSea (Numeric &z_ground, Numeric &t_ground, Vector &e_ground, const Vector &p_abs, const Vector &t_abs, const Vector &z_abs, const Vector &f_mono, const Vector &za_pencil, const Numeric &z_plat, const Numeric &r_geoid, const Index &refr, const Vector &refr_index, const String &pol, const Numeric &t_skin)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void emissionOn (Index &emission)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void emissionOff (Index &emission)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void losCalc (Los &los, Vector &z_tan, const Numeric &z_plat, const Vector &za, const Numeric &l_step, const Vector &p_abs, const Vector &z_abs, const Index &refr, const Index &refr_lfac, const Vector &refr_index, const Numeric &z_ground, const Numeric &r_geoid)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void zaFromZtan (Vector &za, const String &, const Vector &z_tan, const Numeric &z_plat, const Vector &p_abs, const Vector &z_abs, const Index &refr, const Vector &refr_index, const Numeric &r_geoid, const Numeric &z_ground)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void zaFromDeltat (Vector &za, const String &, const Numeric &z_plat, const Vector &p_abs, const Vector &z_abs, const Numeric &l_step, const Index &refr, const Index &refr_lfac, const Vector &refr_index, const Numeric &r_geoid, const Numeric &z_ground, const Numeric &delta_t, const Vector &z_tan_lim)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void sourceCalc (ArrayOfMatrix &source, const Index &emission, const Los &los, const Vector &p_abs, const Vector &t_abs, const Vector &f_mono)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void transCalc (ArrayOfMatrix &trans, const Los &los, const Vector &p_abs, const Matrix &abs)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void y_spaceStd (Vector &y_space, const Vector &f, const String &choice)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void yCalc (Vector &y, const Index &emission, const Los &los, const Vector &f_mono, const Vector &y_space, const ArrayOfMatrix &source, const ArrayOfMatrix &trans, const Vector &e_ground, const Numeric &t_ground)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void sourcetransyCalcSaveMemory (Vector &y, const Index &emission, const Los &los, const Vector &p_abs, const Vector &t_abs, const Vector &f_mono, const Matrix &abs, const Vector &y_space, const Vector &e_ground, const Numeric &t_ground, const Index &f_chunksize)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void yTB (Vector &y, const Vector &f_mono, const Vector &za_pencil)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void yTRJ (Vector &y, const Vector &f_mono, const Vector &za_pencil)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void MatrixTRJ (Matrix &kout, const String &kout_name, const Vector &f_mono, const Vector &za_pencil, const Matrix &kin, const String &kin_name)
 Convert a matrix containing radiances to Rayleigh-Jeans BTs. More...
 
void MatrixTB (Matrix &kout, const String &kout_name, const Vector &f_mono, const Vector &za_pencil, const Matrix &kin, const String &kin_name)
 Convert a matrix containing radiances to Planck BTs. More...
 
void CoolingRates (Matrix &coolrate, const Numeric &lstep0, const Vector &p_abs, const Vector &z_abs, const Vector &t_abs, const Vector &f_mono, const Matrix &absorption, const Vector &za_pencil, const Index &refr, const Index &refr_lfac, const Vector &refr_index, const Numeric &r_geoid, const Numeric &z_ground, const Vector &e_ground, const Numeric &t_ground, const Vector &p_coolrate, const Numeric &lstep_limit)
 See the the online help (arts -d FUNCTION_NAME) More...
 

Variables

const Numeric PI
 
const Numeric DEG2RAD
 
const Numeric RAD2DEG
 
const Numeric COSMIC_BG_TEMP
 
const Numeric SUN_TEMP
 
const Numeric PLANCK_CONST
 
const Numeric BOLTZMAN_CONST
 
const Numeric SPEED_OF_LIGHT
 
const Numeric EARTH_GRAV_CONST
 
const Numeric AVOGADROS_NUMB
 

Detailed Description

This file contains functions associated with 1D line-of-sight (LOS) calculations.

Types of functions are:

  1. determination of LOS
  2. calculation of transmissions and source function along the LOS
  3. solving the radiative transfer equation

Functions in this file assumes LTE and no scattering. The LOS is defined by a structure of type LOS, defined in los.h.

Author
Patrick Eriksson
Date
2000-09-14

Definition in file m_los.cc.

Function Documentation

◆ any_ground()

bool any_ground ( const ArrayOfIndex ground)

Checks if any of the pencil beam spectra corresponds to a ground reflection.

This function is most likely called as any_ground( los.ground )

Returns
1 if any ground intersection, 0 otherwise
Parameters
groundarray of ground index/flag values
Author
Patrick Eriksson
Date
2000-12-12

Definition at line 86 of file m_los.cc.

◆ CoolingRates()

void CoolingRates ( Matrix coolrate,
const Numeric lstep0,
const Vector p_abs,
const Vector z_abs,
const Vector t_abs,
const Vector f_mono,
const Matrix absorption,
const Vector za_pencil,
const Index refr,
const Index refr_lfac,
const Vector refr_index,
const Numeric r_geoid,
const Numeric z_ground,
const Vector e_ground,
const Numeric t_ground,
const Vector p_coolrate,
const Numeric lstep_limit 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2003-12-02

Definition at line 1732 of file m_los.cc.

◆ emissionOff()

void emissionOff ( Index emission)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 1045 of file m_los.cc.

◆ emissionOn()

void emissionOn ( Index emission)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 1033 of file m_los.cc.

◆ groundAtBottom()

void groundAtBottom ( Numeric z_ground,
Numeric t_ground,
Vector e_ground,
const Vector t_abs,
const Vector z_abs,
const Vector f_mono,
const Numeric e 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 905 of file m_los.cc.

◆ groundFlatSea()

void groundFlatSea ( Numeric z_ground,
Numeric t_ground,
Vector e_ground,
const Vector p_abs,
const Vector t_abs,
const Vector z_abs,
const Vector f_mono,
const Vector za_pencil,
const Numeric z_plat,
const Numeric r_geoid,
const Index refr,
const Vector refr_index,
const String pol,
const Numeric t_skin 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2004-04-23

Definition at line 929 of file m_los.cc.

◆ groundOff()

void groundOff ( Numeric z_ground,
Numeric t_ground,
Vector e_ground,
const Vector z_abs 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-01-22

Definition at line 860 of file m_los.cc.

◆ groundSet()

void groundSet ( Numeric z_ground,
Numeric t_ground,
Vector e_ground,
const Vector p_abs,
const Vector t_abs,
const Vector z_abs,
const Vector f_mono,
const Numeric z,
const Numeric e 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 879 of file m_los.cc.

◆ los_1za()

void los_1za ( Vector z,
Vector psi,
Numeric l_step,
Index ground,
Index start,
Index stop,
Numeric z_tan,
const Numeric z_plat,
const Numeric za,
const Numeric l_step_max,
const Numeric z_ground,
const Numeric r_geoid,
const Vector p_abs,
const Vector z_abs,
const Index refr,
const Index refr_lfac,
const Vector refr_index 
)

Performs the LOS calculations for one zenith angle.

All observations geometries are handled.

Return values
zvertical altitudes of the LOS points
psithe angle in the observation plane between the vectors going from the sensor and the LOS point, respectively, to the centre of the earth geoid.angle from the sensor of the LOS points
l_stepdistance along the LOS between the points
groundground flag (0 = no ground intersection)
startstart index when solving the RTE
stopstop index when solving the RTE
Parameters
z_platplatform altitude
zazentith angles
l_step_maxthe user defined maximum step length along the LOS
atm_limitmaximum altitude of the absorption grid
z_groundaltitude of the ground (above the geoid)
r_geoidthe local geoid radius
p_absabsorption pressure grid
z_absabsorption altitude grid
refrrefraction flag
refr_lfacray tracing length factor
refr_indexrefrective index corresponding to p_refr
Author
Patrick Eriksson
Date
2001-02-18

Definition at line 372 of file m_los.cc.

◆ los_geometric()

void los_geometric ( Vector z,
Vector psi,
Numeric l_step,
const Numeric z_plat,
const Numeric za,
const Numeric atm_limit,
const Numeric r_geoid 
)

Core function for geometric LOS calculations.

All observations geometries are handled. The variables za and z_plat shall be treated as the "zenith angle" and the vertical altitude of the lowest point of the LOS.

The variable l_step should be set to before calling this function. The value of this variable is normally untouched, but when the distance between the starting point and the atmsopheric limit is smaller than the given value, l_step is adjusted.

Return values
zvertical altitudes of the LOS points
psithe angle in the observation plane between the vectors going from the sensor and the LOS point, respectively, to the centre of the earth geoid.angle from the sensor of the LOS points
l_stepdistance along the LOS between the points
Parameters
z_platplatform altitude
zazentith angles
atm_limitmaximum altitude of the absorption grid
r_geoidthe local geoid radius
Author
Patrick Eriksson
Date
2001-02-15

Definition at line 126 of file m_los.cc.

◆ los_refraction()

void los_refraction ( Vector z,
Vector psi,
Numeric l_step,
const Numeric z_plat,
const Numeric za,
const Numeric atm_limit,
const Numeric r_geoid,
const Vector ,
const Vector z_abs,
const Index ,
const Index refr_lfac,
const Vector refr_index,
const Numeric c 
)

Core function for LOS calculations with refraction.

See further los_geometric.

Return values
zvertical altitudes of the LOS points
psithe angle in the observation plane between the LOS points and the lowest point of the LOS
l_stepdistance along the LOS between the points
Parameters
z_platplatform altitude
zazentith angles
atm_limitmaximum altitude of the absorption grid
r_geoidthe local geoid radius
p_absabsorption pressure grid
z_absabsorption altitude grid
refrrefraction flag
refr_lfacray tracing length factor
refr_indexrefrective index corresponding to p_refr
cconstant for the LOS
Author
Patrick Eriksson
Date
2001-02-18

Definition at line 205 of file m_los.cc.

◆ losCalc()

void losCalc ( Los los,
Vector z_tan,
const Numeric z_plat,
const Vector za,
const Numeric l_step,
const Vector p_abs,
const Vector z_abs,
const Index refr,
const Index refr_lfac,
const Vector refr_index,
const Numeric z_ground,
const Numeric r_geoid 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-02-15

Definition at line 1058 of file m_los.cc.

◆ MatrixTB()

void MatrixTB ( Matrix kout,
const String kout_name,
const Vector f_mono,
const Vector za_pencil,
const Matrix kin,
const String kin_name 
)

Convert a matrix containing radiances to Planck BTs.

Author
Stefan, Viju, Sreerekha
Date
2001-05-02

Definition at line 1693 of file m_los.cc.

◆ MatrixTRJ()

void MatrixTRJ ( Matrix kout,
const String kout_name,
const Vector f_mono,
const Vector za_pencil,
const Matrix kin,
const String kin_name 
)

Convert a matrix containing radiances to Rayleigh-Jeans BTs.

Author
Stefan, Viju, Sreerekha
Date
2001-05-02

Definition at line 1658 of file m_los.cc.

◆ r_geoidStd()

void r_geoidStd ( Numeric r_geoid)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2000-?-?

Definition at line 816 of file m_los.cc.

◆ r_geoidWGS84()

void r_geoidWGS84 ( Numeric r_geoid,
const Numeric latitude,
const Numeric obsdirection 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2000-?-?

Definition at line 829 of file m_los.cc.

◆ sourceCalc()

void sourceCalc ( ArrayOfMatrix source,
const Index emission,
const Los los,
const Vector p_abs,
const Vector t_abs,
const Vector f_mono 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2000-?-?

Definition at line 1321 of file m_los.cc.

◆ sourcetransyCalcSaveMemory()

void sourcetransyCalcSaveMemory ( Vector y,
const Index emission,
const Los los,
const Vector p_abs,
const Vector t_abs,
const Vector f_mono,
const Matrix abs,
const Vector y_space,
const Vector e_ground,
const Numeric t_ground,
const Index f_chunksize 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Axel von Engeln and Oliver Lemke
Date
2003-07-30

Definition at line 1522 of file m_los.cc.

◆ transCalc()

void transCalc ( ArrayOfMatrix trans,
const Los los,
const Vector p_abs,
const Matrix abs 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2000-?-?

Definition at line 1390 of file m_los.cc.

◆ y_rte()

void y_rte ( Vector y,
const Los los,
ConstVectorView  f_mono,
ConstVectorView  y_space,
const ArrayOfMatrix source,
const ArrayOfMatrix trans,
ConstVectorView  e_ground,
const Numeric t_ground,
const Index z_start,
const Index z_end 
)
Author
Patrick Eriksson
Date
2000-??-??

Definition at line 678 of file m_los.cc.

◆ y_spaceStd()

void y_spaceStd ( Vector y_space,
const Vector f,
const String choice 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2000-?-?

Definition at line 1446 of file m_los.cc.

◆ y_tau()

void y_tau ( Vector y,
const Los los,
const ArrayOfMatrix trans,
ConstVectorView  e_ground,
const Index z_start,
const Index z_end 
)
Author
Patrick Eriksson
Date
2000-??-??

Definition at line 748 of file m_los.cc.

◆ yCalc()

void yCalc ( Vector y,
const Index emission,
const Los los,
const Vector f_mono,
const Vector y_space,
const ArrayOfMatrix source,
const ArrayOfMatrix trans,
const Vector e_ground,
const Numeric t_ground 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-03-30

Definition at line 1483 of file m_los.cc.

◆ yTB()

void yTB ( Vector y,
const Vector f_mono,
const Vector za_pencil 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2000-08-31

Definition at line 1624 of file m_los.cc.

◆ yTRJ()

void yTRJ ( Vector y,
const Vector f_mono,
const Vector za_pencil 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-08-28

Definition at line 1641 of file m_los.cc.

◆ zaFromDeltat()

void zaFromDeltat ( Vector za,
const String ,
const Numeric z_plat,
const Vector p_abs,
const Vector z_abs,
const Numeric l_step,
const Index refr,
const Index refr_lfac,
const Vector refr_index,
const Numeric r_geoid,
const Numeric z_ground,
const Numeric delta_t,
const Vector z_tan_lim 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Carlos Jimenez
Date
2000-04-09

Definition at line 1199 of file m_los.cc.

◆ zaFromZtan()

void zaFromZtan ( Vector za,
const String ,
const Vector z_tan,
const Numeric z_plat,
const Vector p_abs,
const Vector z_abs,
const Index refr,
const Vector refr_index,
const Numeric r_geoid,
const Numeric z_ground 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Carlos Jimenez
Date
2000-03-27

Definition at line 1134 of file m_los.cc.

Variable Documentation

◆ AVOGADROS_NUMB

const Numeric AVOGADROS_NUMB
extern

◆ BOLTZMAN_CONST

const Numeric BOLTZMAN_CONST
extern

◆ COSMIC_BG_TEMP

const Numeric COSMIC_BG_TEMP
extern

◆ DEG2RAD

const Numeric DEG2RAD
extern

◆ EARTH_GRAV_CONST

const Numeric EARTH_GRAV_CONST
extern

◆ PI

const Numeric PI
extern

◆ PLANCK_CONST

const Numeric PLANCK_CONST
extern

◆ RAD2DEG

const Numeric RAD2DEG
extern

◆ SPEED_OF_LIGHT

const Numeric SPEED_OF_LIGHT
extern

◆ SUN_TEMP

const Numeric SUN_TEMP
extern