USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::AtmosModel Class Reference
[Radiometric And Photometric Correction]

Isotropic atmos scattering model. More...

#include <AtmosModel.h>

Inherited by Isis::Isotropic1, and Isis::Isotropic2.

List of all members.

Public Member Functions

 AtmosModel (Pvl &pvl, PhotoModel &pmodel)
 Create an AtmosModel object.
virtual ~AtmosModel ()
 Empty destructor.
void CalcAtmEffect (double pha, double inc, double ema, double *pstd, double *trans, double *trans0, double *sbar, double *transs)
 Calculate the atmospheric scattering effect using photometric angle information.
virtual void SetStandardConditions (bool standard)
 Used to calculate atmosphere at standard conditions.
void GenerateAhTable ()
 This method computes the values of the atmospheric Ah table and sets the properties of the atmospheric Ah spline.
void GenerateHahgTables ()
 This method computes the values of the atmospheric Hahg and Hahg0 tables and sets the properties of the atmospheric Hahg and Hahg0 splines.
void GenerateHahgTablesShadow ()
 This method is a modified version of the GenerateHahgTables method and is used solely for shadow modeling.
void SetAtmosAtmSwitch (const int atmswitch)
 Set the switch that controls the function that will be integrated.
void SetAtmosBha (const double bha)
 Set the Anisotropic Atmospheric function parameter.
void SetAtmosHga (const double hga)
 Set the Hapke atmospheric function parameter.
void SetAtmosInc (const double inc)
 Set the incidence angle.
void SetAtmosNulneg (const string nulneg)
 Set the Atmospheric function parameter.
void SetAtmosPhi (const double phi)
 Set the azimuth angle.
void SetAtmosTau (const double tau)
 Set the Atmospheric function parameter.
void SetAtmosTauref (const double tauref)
 Set the Atmospheric function parameter.
void SetAtmosWha (const double wha)
 Set the Atmospheric function parameter.
void SetAtmosHnorm (const double hnorm)
 Set the Atmospheric function parameter.
void SetAtmosIord (const string offset)
 Set additive offset in fit.
void SetAtmosEstTau (const string esttau)
 Estimate the optical depth tau using shadows.
string AlgorithmName () const
 Return atmospheric algorithm name.
bool AtmosAdditiveOffset () const
 Allow additive offset in fit?
double AtmosHnorm () const
 Return atmospheric Hnorm value.
double AtmosBha () const
 Return atmospheric Bha value.
double AtmosTau () const
 Return atmospheric Tau value.
double AtmosWha () const
 Return atmospheric Wha value.
double AtmosHga () const
 Return atmospheric Hga value.
double AtmosTauref () const
 Return atmospheric Tauref value.
bool AtmosNulneg () const
 Return atmospheric Nulneg value.
double AtmosAb () const
 Return atmospheric Ab value.
double AtmosHahgsb () const
 Return atmospheric Hahgsb value.
int AtmosNinc () const
 Return atmospheric Ninc value.
double AtmosMunot () const
 Return atmospheric Munot value.
vector< double > AtmosIncTable ()
 Return atmospheric IncTable value.
vector< double > AtmosAhTable ()
 Return atmospheric AhTable value.
vector< double > AtmosHahgtTable ()
 Return atmospheric HahgtTable value.
vector< double > AtmosHahgt0Table ()
 Return atmospheric Hahgt0Table value.
NumericalApproximation AtmosAhSpline ()
 If GenerateAhTable() has been called this returns a clamped cubic spline of the data set (p_atmosIncTable, p_atmosAhTable) with first derivatives of the endpoints equal to 1.0e30.
NumericalApproximation AtmosHahgtSpline ()
 If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosIncTable, p_atmosHahgtTable) with first derivatives of the endpoints equal to 1.0e30.
NumericalApproximation AtmosHahgt0Spline ()
 If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosIncTable, p_atmosHahgt0Table) with first derivatives of the endpoints equal to 1.0e30.

Static Public Member Functions

static double G11Prime (double tau)
 Perform Chandra and Van de Hulst's series approximation for the g'11 function needed in second order scattering theory.
static double Ei (double x) throw (iException &)
 This routine computes the exponential integral, Ei(x).
static double En (unsigned int n, double x) throw (iException &)
 This routine evaluates the generalized exponential integral, En(x).

Protected Member Functions

virtual void AtmosModelAlgorithm (double phase, double incidence, double emission)=0
void SetAlgorithmName (string name)
void SetAtmosNulneg (bool nulneg)
void SetAtmosIord (bool offset)
void SetAtmosEstTau (bool esttau)
void SetOldTau (double tau)
void SetOldWha (double wha)
PhotoModelGetPhotoModel () const
bool StandardConditions () const
bool TauOrWhaChanged () const
 Checks whether tau or wha have changed.
double Eulgam () const

Protected Attributes

int p_atmosAtmSwitch
int p_atmosNinc
double p_atmosBha
double p_atmosBhasave
double p_atmosHgasave
double p_atmosTauref
double p_atmosTausave
double p_atmosWhasave
double p_pstd
 Pure atmospheric-scattering term.
double p_trans
 Transmission of surface reflected light through the atmosphere overall.
double p_trans0
 Transmission of surface reflected light through the atmosphere with no scatterings in the atmosphere.
double p_transs
 Transmission of light that must be subtracted from the flat surface model to get the shadow model.
double p_sbar
 Illumination of the ground by the sky.
double p_atmosHga
double p_atmosTau
double p_atmosWha
double p_atmosAb
double p_atmosHnorm
 Atmospheric shell thickness normalized to planet radius.
bool p_atmosAddOffset
 Allow additive offset in fit.
bool p_atmosEstTau
 Estimate optical depth tau using shadows.
vector< double > p_atmosIncTable
vector< double > p_atmosAhTable
double p_atmosHahgsb
vector< double > p_atmosHahgtTable
vector< double > p_atmosHahgt0Table
double p_atmosInc
double p_atmosPhi
double p_atmosMunot
double p_atmosSini
double p_atmosCosphi
double p_atmosEulgam
NumericalApproximation p_atmosAhSpline
 Spline object for the atmospheric Ah Table. Properties are set in GenerateAhTable().
NumericalApproximation p_atmosHahgtSpline
 Spline object for the atmospheric Hahg Table. Properties are set in GenerateHahgTables().
NumericalApproximation p_atmosHahgt0Spline
 Spline object for the atmospheric Hahg0 Table. Properties are set in GenerateHahgTables().

Friends

class NumericalAtmosApprox

Detailed Description

Isotropic atmos scattering model.

Author:
1998-12-21 Randy Kirk

Constructor & Destructor Documentation

Isis::AtmosModel::AtmosModel ( Pvl pvl,
PhotoModel pmodel 
)
virtual Isis::AtmosModel::~AtmosModel (  )  [inline, virtual]

Empty destructor.


Member Function Documentation

string Isis::AtmosModel::AlgorithmName (  )  const [inline]

Return atmospheric algorithm name.

double Isis::AtmosModel::AtmosAb (  )  const [inline]

Return atmospheric Ab value.

References p_atmosAb.

bool Isis::AtmosModel::AtmosAdditiveOffset (  )  const [inline]

Allow additive offset in fit?

References p_atmosAddOffset.

NumericalApproximation Isis::AtmosModel::AtmosAhSpline (  )  [inline]

If GenerateAhTable() has been called this returns a clamped cubic spline of the data set (p_atmosIncTable, p_atmosAhTable) with first derivatives of the endpoints equal to 1.0e30.

Otherwise, it is a natural cubic spline with an empty data set.

Returns:
NumericalApproximation Cubic spline

References p_atmosAhSpline.

vector<double> Isis::AtmosModel::AtmosAhTable (  )  [inline]

Return atmospheric AhTable value.

References p_atmosAhTable.

double Isis::AtmosModel::AtmosBha (  )  const [inline]

Return atmospheric Bha value.

References p_atmosBha.

double Isis::AtmosModel::AtmosHahgsb (  )  const [inline]

Return atmospheric Hahgsb value.

References p_atmosHahgsb.

NumericalApproximation Isis::AtmosModel::AtmosHahgt0Spline (  )  [inline]

If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosIncTable, p_atmosHahgt0Table) with first derivatives of the endpoints equal to 1.0e30.

Otherwise, it is a natural cubic spline with an empty data set.

Returns:
NumericalApproximation Cubic spline

References p_atmosHahgt0Spline.

vector<double> Isis::AtmosModel::AtmosHahgt0Table (  )  [inline]

Return atmospheric Hahgt0Table value.

References p_atmosHahgt0Table.

NumericalApproximation Isis::AtmosModel::AtmosHahgtSpline (  )  [inline]

If GenerateHahgTables() has been called this returns a clamped cubic spline of the data set (p_atmosIncTable, p_atmosHahgtTable) with first derivatives of the endpoints equal to 1.0e30.

Otherwise, it is a natural cubic spline with an empty data set.

Returns:
NumericalApproximation Cubic spline

References p_atmosHahgtSpline.

vector<double> Isis::AtmosModel::AtmosHahgtTable (  )  [inline]

Return atmospheric HahgtTable value.

References p_atmosHahgtTable.

double Isis::AtmosModel::AtmosHga (  )  const [inline]

Return atmospheric Hga value.

References p_atmosHga.

Referenced by Isis::NumericalAtmosApprox::InrFunc2Bint().

double Isis::AtmosModel::AtmosHnorm (  )  const [inline]

Return atmospheric Hnorm value.

References p_atmosHnorm.

vector<double> Isis::AtmosModel::AtmosIncTable (  )  [inline]

Return atmospheric IncTable value.

References p_atmosIncTable.

virtual void Isis::AtmosModel::AtmosModelAlgorithm ( double  phase,
double  incidence,
double  emission 
) [protected, pure virtual]

Implemented in Isis::Isotropic1, and Isis::Isotropic2.

Referenced by CalcAtmEffect().

double Isis::AtmosModel::AtmosMunot (  )  const [inline]

Return atmospheric Munot value.

References p_atmosMunot.

int Isis::AtmosModel::AtmosNinc (  )  const [inline]

Return atmospheric Ninc value.

References p_atmosNinc.

bool Isis::AtmosModel::AtmosNulneg (  )  const [inline]

Return atmospheric Nulneg value.

double Isis::AtmosModel::AtmosTau (  )  const [inline]

Return atmospheric Tau value.

References p_atmosTau.

Referenced by Isis::NumericalAtmosApprox::InrFunc2Bint(), and TauOrWhaChanged().

double Isis::AtmosModel::AtmosTauref (  )  const [inline]

Return atmospheric Tauref value.

References p_atmosTauref.

double Isis::AtmosModel::AtmosWha (  )  const [inline]

Return atmospheric Wha value.

References p_atmosWha.

Referenced by GenerateHahgTables(), GenerateHahgTablesShadow(), and TauOrWhaChanged().

void Isis::AtmosModel::CalcAtmEffect ( double  pha,
double  inc,
double  ema,
double *  pstd,
double *  trans,
double *  trans0,
double *  sbar,
double *  transs 
)

Calculate the atmospheric scattering effect using photometric angle information.

Parameters:
pha phase angle
inc incidence angle
ema emission angle
pstd pure atmospheric-scattering term
trans transmission of surface reflected light through the atmosphere overall
trans0 transmission of surface reflected light through the atmosphere with no scatterings in the atmosphere
sbar illumination of the ground by the sky
Exceptions:
Isis::iException::User "Invalid photometric angles"

References AtmosModelAlgorithm(), p_pstd, p_sbar, p_trans, p_trans0, and p_transs.

double Isis::AtmosModel::Ei ( double  x  )  throw (iException &) [static]

This routine computes the exponential integral, Ei(x).

This is defined as

\[ Ei(x) = - \int_{-x}^{\infty} \frac{e^{-t}}{t}\mathrm{d}t = \int_{-\infty}^{x} \frac{e^{t}}{t}\mathrm{d}t \]

for x > 0.

For small x, this method uses the power series,

\[ Ei(x) = \gamma + \ln x + \frac{x}{1*1!} + \frac{x^2}{2*2!} + ... \]

where $ \gamma = 0.5772156649... $ is Euler's constant, and for large x, the asymptotic series is used,

\[ Ei(x) \sim \frac{e^x}{x} (1 + \frac{1!}{x} + \frac{2!}{x^2} + ...) \]

See also:
mathworld.wolfram.com/ExponentialIntegral.html
Parameters:
x Value at which the exponential integral will be computed, x > 0.0
Returns:
double The exponential integral for the given x.
Exceptions:
Isis::iException::Programmer "Invalid arguments. Definition requires x > 0.0."
Isis::iException::Math "Power series failed to converge"

References _FILEINFO_, Isis::iException::Math, Isis::iException::Message(), Isis::iException::Programmer, sum, and x.

Referenced by Isis::Isotropic2::AtmosModelAlgorithm().

double Isis::AtmosModel::En ( unsigned int  n,
double  x 
) throw (iException &) [static]

This routine evaluates the generalized exponential integral, En(x).

This is defined as

\[ E_n(x) = \int_{1}^{\infty} \frac{e^{-xt}}{t^n}\mathrm{d}t \mathrm{ for } x \in \mathbb{R }, n \in \mathbb{Z } \mathrm{such that } x \ge 0.0, n \ge 0 \]

Notice that if x = 0, then the equation is not defined for n = 0 or n = 1, as these will result in $ E_n(x) = \infty $.

This method uses the following for cases:

  • For n > 1 and x = 0.0,

    \[ E_n(0) = \frac{1}{n-1} \]

  • For n = 0 and x > 0.0,

    \[ E_0(x) = \frac{e^{-x}}{x} \]

  • For $ x >\sim 1.0 $, Lentz's continued fraction algorithm is used,

    \[ E_n(x) = e^{-x}(\frac{1}{x + n - \frac{1*n}{x + n + 2 - \frac{2(n+1)}{x + n + 4 - ...}}}) \]

  • For $ 0.0 < x <\sim 1.0 $, series representation is used,

    \[ E_n(x) = \frac{(-x)^{n-1}}{(n-1)!}[- \ln x + \psi (n)] - \sum_{m=0, m \neq n-1}^{\infty}\frac{(-x)^m}{(m-n+1)m!} \]

    where $ \psi (1) = \gamma $ and $ \psi (n) = - \gamma + \sum_{m=1}^{n-1} \frac{1}{m}$ and $ \gamma = 0.5772156649... $ is Euler's constant.

The parameter n is of type unsigned int since n cannot be negative.

The routine allows fast evaluation of En(x) to any accuracy, $\epsilon$, within the reach of your machine's word length for floating-point numbers. The only modification required for increased accuracy is to supply Euler's constant with enough significant digits.

See also:
mathworld.wolfram.com/En-Function.html
Parameters:
n Integer value at which the exponential integral will be evaluated (n >= 0)
x The exponential integral En(x) will be evaluated
Returns:
double Value of the exponential integral for the give n and x.
Exceptions:
Isis::iException::Programmer "Invalid arguments. Definition requires (x > 0.0 and n >=0 ) or (x >= 0.0 and n > 1)." @throws Isis::iException::Math "Continued fraction failed to converge" @throws Isis::iException::Math "Series representation failed to converge"

References _FILEINFO_, a, c, d, delta, Isis::iException::Math, Isis::iException::Message(), Isis::iException::Programmer, and x.

Referenced by Isis::Isotropic2::AtmosModelAlgorithm(), Isis::Isotropic1::AtmosModelAlgorithm(), and G11Prime().

double Isis::AtmosModel::Eulgam (  )  const [inline, protected]
double Isis::AtmosModel::G11Prime ( double  tau  )  [static]

Perform Chandra and Van de Hulst's series approximation for the g'11 function needed in second order scattering theory.

Parameters:
tau normal optical depth of atmosphere
Returns:
double Value of the g'11 function evaluated at the given tau

References En(), MAX, Isis::PI(), and sum.

Referenced by Isis::Isotropic2::AtmosModelAlgorithm().

void Isis::AtmosModel::GenerateAhTable (  ) 

This method computes the values of the atmospheric Ah table and sets the properties of the atmospheric Ah spline.

It obtains the hemispheric albedo by integrating the photometric function times mu over mu = 0 to 1 and then over phi = 0 to 2*pi to calculate the hemispheric reflectance Ah needed for the photometric model with atmosphere. The Trapezoid rule is applied to the table of Ah to obtain bihemispheric albedo Ab. The parameter p_atmosAtmSwitch is set to 0 to integrate Ah.

References Isis::NumericalApproximation::AddData(), Isis::PhotoModel::AlgorithmName(), Isis::NumericalApproximation::CubicClamped, Isis::NumericalAtmosApprox::OuterFunction, p_atmosAb, p_atmosAhSpline, p_atmosAhTable, p_atmosAtmSwitch, p_atmosInc, p_atmosIncTable, p_atmosMunot, p_atmosNinc, p_atmosSini, Isis::PI(), Isis::NumericalApproximation::Reset(), Isis::NumericalAtmosApprox::RombergsMethod(), Isis::NumericalApproximation::SetCubicClampedEndptDeriv(), Isis::NumericalApproximation::SetInterpType(), sub(), and Isis::iString::UpCase().

void Isis::AtmosModel::GenerateHahgTables (  ) 

This method computes the values of the atmospheric Hahg and Hahg0 tables and sets the properties of the atmospheric Hahg and Hahg0 splines.

It integrates functions involving the single particle phase function (assumed to be Hapke Henyey-Greenstein) over mu = 0 to 1 and then over phi = 0 to 2*pi to calculate the corrections needed for the anisotropic photometric model with atmosphere. The Trapezoid rule is applied to the table of Ah to obtain bihemispheric albedo Ab. The parameter p_atmosAtmSwitch is set to 1, 2, 3 to evaluate the 3 required integrals.

References Isis::NumericalApproximation::AddData(), AtmosWha(), Isis::NumericalApproximation::CubicClamped, Isis::NumericalAtmosApprox::OuterFunction, p_atmosAtmSwitch, p_atmosHahgsb, p_atmosHahgt0Spline, p_atmosHahgt0Table, p_atmosHahgtSpline, p_atmosHahgtTable, p_atmosInc, p_atmosIncTable, p_atmosMunot, p_atmosNinc, p_atmosSini, Isis::PI(), Isis::NumericalApproximation::Reset(), Isis::NumericalAtmosApprox::RombergsMethod(), Isis::NumericalApproximation::SetCubicClampedEndptDeriv(), Isis::NumericalApproximation::SetInterpType(), and sub().

void Isis::AtmosModel::GenerateHahgTablesShadow (  ) 

This method is a modified version of the GenerateHahgTables method and is used solely for shadow modeling.

Unlike the GenerateHahgTables method, this method does not tabulate the first or third integrals. It only evaluates the middle integral that corrects the sbar variable (illumination of the ground by the sky).

References AtmosWha(), Isis::NumericalAtmosApprox::OuterFunction, p_atmosAtmSwitch, p_atmosHahgsb, p_atmosInc, p_atmosMunot, p_atmosSini, Isis::PI(), Isis::NumericalApproximation::Reset(), Isis::NumericalAtmosApprox::RombergsMethod(), and sub().

PhotoModel* Isis::AtmosModel::GetPhotoModel (  )  const [inline, protected]
void Isis::AtmosModel::SetAlgorithmName ( string  name  )  [inline, protected]
void Isis::AtmosModel::SetAtmosAtmSwitch ( const int  atmswitch  ) 

Set the switch that controls the function that will be integrated.

This method is only used for testing the methods in this class. This parameter is limited to the values 0, 1, 2, and 3.

Parameters:
atmswitch Internal atmospheric function parameter, there is no default
Exceptions:
Isis::iException::User "Invalid value of atmospheric atmswitch"

References _FILEINFO_, Isis::iException::Message(), p_atmosAtmSwitch, and Isis::iException::User.

void Isis::AtmosModel::SetAtmosBha ( const double  bha  ) 

Set the Anisotropic Atmospheric function parameter.

This is the coefficient of the single particle Legendre phase function. This parameter is limited to values that are >=-1 and <=1.

Parameters:
bha Anisotropic atmospheric function parameter, default is 0.85
Exceptions:
Isis::iException::User "Invalid value of atmospheric bha"

References _FILEINFO_, Isis::iException::Message(), p_atmosBha, and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosEstTau ( bool  esttau  )  [inline, protected]

References p_atmosEstTau.

void Isis::AtmosModel::SetAtmosEstTau ( const string  esttau  ) 

Estimate the optical depth tau using shadows.

Author:
Janet Barrett (12/16/2011)
Parameters:
esttau true/false

References _FILEINFO_, Isis::iException::Message(), Isis::iString::UpCase(), and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosHga ( const double  hga  ) 

Set the Hapke atmospheric function parameter.

This is the coefficient of the single particle Henyey-Greenstein phase function. This parameter is limited to values that are >-1 and <1.

Parameters:
hga Hapke atmospheric function parameter, default is 0.68
Exceptions:
Isis::iException::User "Invalid value of atmospheric hga"

References _FILEINFO_, Isis::iException::Message(), p_atmosHga, and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosHnorm ( const double  hnorm  ) 

Set the Atmospheric function parameter.

This is the atmospheric shell thickness normalized to the planet radius and is used to modify angles to get more accurate path lengths near the terminator (ratio of scale height to the planetary radius). This parameter is limited to values that are >=0.

Parameters:
hnorm Atmospheric function parameter, default is 0.003

References _FILEINFO_, Isis::iException::Message(), p_atmosHnorm, and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosInc ( const double  inc  ) 

Set the incidence angle.

This method is only used for testing the methods in this class. This parameter is limited to values >=0 and <=90.

Parameters:
inc Internal atmospheric function parameter, there is no default
Exceptions:
Isis::iException::User "Invalid value of atmospheric inc"

References _FILEINFO_, Isis::iException::Message(), p_atmosInc, p_atmosMunot, p_atmosSini, Isis::PI(), and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosIord ( bool  offset  )  [inline, protected]

References p_atmosAddOffset.

void Isis::AtmosModel::SetAtmosIord ( const string  offset  ) 

Set additive offset in fit.

Author:
Sharmila Prasad (8/18/2011)
Parameters:
offset true/false

References _FILEINFO_, Isis::iException::Message(), Isis::iString::UpCase(), and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosNulneg ( bool  nulneg  )  [inline, protected]
void Isis::AtmosModel::SetAtmosNulneg ( const string  nulneg  ) 

Set the Atmospheric function parameter.

This determines if negative values after removal of atmospheric effects will be set to NULL. This parameter is limited to values of YES or NO.

Parameters:
nulneg Atmospheric function parameter, default is NO
Exceptions:
Isis::iException::User "Invalid value of atmospheric nulneg"

References _FILEINFO_, Isis::iException::Message(), Isis::iString::UpCase(), and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosPhi ( const double  phi  ) 

Set the azimuth angle.

This method is only used for testing the methods in this class. This parameter is limited to values >=0 and <=360.

Parameters:
phi Internal atmospheric function parameter, there is no default
Exceptions:
Isis::iException::User "Invalid value of atmospheric phi"

References _FILEINFO_, Isis::iException::Message(), p_atmosCosphi, p_atmosPhi, Isis::PI(), and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosTau ( const double  tau  ) 

Set the Atmospheric function parameter.

This specifies the normal optical depth of the atmosphere. This parameter is limited to values that are >=0.

Parameters:
tau Atmospheric function parameter, default is 0.28
Exceptions:
Isis::iException::User "Invalid value of atmospheric tau"

References _FILEINFO_, Isis::iException::Message(), p_atmosTau, and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosTauref ( const double  tauref  ) 

Set the Atmospheric function parameter.

This specifies the reference optical depth of the atmosphere to which the image will be normalized. This parameter is limited to values that are >=0.

Parameters:
tauref Atmospheric function parameter, default is 0.0
Exceptions:
Isis::iException::User "Invalid value of atmospheric tauref"

References _FILEINFO_, Isis::iException::Message(), p_atmosTauref, and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetAtmosWha ( const double  wha  ) 

Set the Atmospheric function parameter.

This is the single- scattering albedo of atmospheric particles. This parameter is limited to values that are >0 and <=1.

Parameters:
wha Atmospheric function parameter, default is 0.95
Exceptions:
Isis::iException::User "Invalid value of atmospheric wha"

References _FILEINFO_, Isis::iException::Message(), p_atmosWha, and Isis::iException::User.

Referenced by AtmosModel().

void Isis::AtmosModel::SetOldTau ( double  tau  )  [inline, protected]
void Isis::AtmosModel::SetOldWha ( double  wha  )  [inline, protected]
void Isis::AtmosModel::SetStandardConditions ( bool  standard  )  [virtual]

Used to calculate atmosphere at standard conditions.

References p_atmosTau, p_atmosTauref, and p_atmosTausave.

bool Isis::AtmosModel::StandardConditions (  )  const [inline, protected]
bool Isis::AtmosModel::TauOrWhaChanged (  )  const [protected]

Checks whether tau or wha have changed.

Returns:
bool True if either have changed.

References AtmosTau(), and AtmosWha().

Referenced by Isis::Isotropic2::AtmosModelAlgorithm(), and Isis::Isotropic1::AtmosModelAlgorithm().


Friends And Related Function Documentation

friend class NumericalAtmosApprox [friend]

Member Data Documentation

double Isis::AtmosModel::p_atmosAb [protected]

Allow additive offset in fit.

Referenced by AtmosAdditiveOffset(), AtmosModel(), and SetAtmosIord().

Spline object for the atmospheric Ah Table. Properties are set in GenerateAhTable().

Referenced by AtmosAhSpline(), and GenerateAhTable().

double Isis::AtmosModel::p_atmosBha [protected]

Referenced by AtmosBha(), AtmosModel(), and SetAtmosBha().

Referenced by AtmosModel().

double Isis::AtmosModel::p_atmosCosphi [protected]

Estimate optical depth tau using shadows.

Referenced by AtmosModel(), and SetAtmosEstTau().

double Isis::AtmosModel::p_atmosEulgam [protected]

Referenced by AtmosModel(), and Eulgam().

double Isis::AtmosModel::p_atmosHahgsb [protected]

Spline object for the atmospheric Hahg0 Table. Properties are set in GenerateHahgTables().

Referenced by AtmosHahgt0Spline(), and GenerateHahgTables().

Spline object for the atmospheric Hahg Table. Properties are set in GenerateHahgTables().

Referenced by AtmosHahgtSpline(), and GenerateHahgTables().

double Isis::AtmosModel::p_atmosHga [protected]

Referenced by AtmosHga(), AtmosModel(), and SetAtmosHga().

Referenced by AtmosModel().

double Isis::AtmosModel::p_atmosHnorm [protected]

Atmospheric shell thickness normalized to planet radius.

Referenced by AtmosHnorm(), AtmosModel(), Isis::Isotropic2::AtmosModelAlgorithm(), Isis::Isotropic1::AtmosModelAlgorithm(), and SetAtmosHnorm().

double Isis::AtmosModel::p_atmosInc [protected]
double Isis::AtmosModel::p_atmosMunot [protected]
double Isis::AtmosModel::p_atmosPhi [protected]
double Isis::AtmosModel::p_atmosSini [protected]
double Isis::AtmosModel::p_atmosTau [protected]
double Isis::AtmosModel::p_atmosTauref [protected]
double Isis::AtmosModel::p_atmosWha [protected]

Referenced by AtmosModel().

double Isis::AtmosModel::p_pstd [protected]
double Isis::AtmosModel::p_sbar [protected]
double Isis::AtmosModel::p_trans [protected]

Transmission of surface reflected light through the atmosphere overall.

Referenced by AtmosModel(), Isis::Isotropic2::AtmosModelAlgorithm(), Isis::Isotropic1::AtmosModelAlgorithm(), and CalcAtmEffect().

double Isis::AtmosModel::p_trans0 [protected]

Transmission of surface reflected light through the atmosphere with no scatterings in the atmosphere.

Referenced by AtmosModel(), Isis::Isotropic2::AtmosModelAlgorithm(), Isis::Isotropic1::AtmosModelAlgorithm(), and CalcAtmEffect().

double Isis::AtmosModel::p_transs [protected]

Transmission of light that must be subtracted from the flat surface model to get the shadow model.

Referenced by AtmosModel(), Isis::Isotropic2::AtmosModelAlgorithm(), Isis::Isotropic1::AtmosModelAlgorithm(), and CalcAtmEffect().


The documentation for this class was generated from the following files: