public class EarthStandardAtmosphereRefraction extends Object implements AtmosphericRefractionModel
Refraction angle is 0 at zenith, about 1 arcminute at 45°, and 34 arcminutes at the horizon for optical wavelengths.
Refraction angle is computed according to Saemundssen formula quoted by Meeus. For reference, see Astronomical Algorithms (1998), 2nd ed, (ISBN 0-943396-61-1), chap. 15.
This formula is about 30 arcseconds of accuracy very close to the horizon, as variable atmospheric effects become very important.
Local pressure and temperature can be set to correct refraction at the viewpoint.
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_CORRECTION_FACTOR
Default correction factor value.
|
static double |
DEFAULT_PRESSURE
Default local pressure at viewpoint (Pa).
|
static double |
DEFAULT_TEMPERATURE
Default local temperature at viewpoint (K).
|
static double |
STANDARD_ATM_PRESSURE
NIST standard atmospheric pressure (Pa).
|
static double |
STANDARD_ATM_TEMPERATURE
NIST standard atmospheric temperature (K).
|
Constructor and Description |
---|
EarthStandardAtmosphereRefraction()
Creates a new default instance.
|
EarthStandardAtmosphereRefraction(double pressure,
double temperature)
Creates an instance given a specific pressure and temperature.
|
Modifier and Type | Method and Description |
---|---|
double |
getPressure()
Get the local pressure at the evaluation location.
|
double |
getRefraction(double trueElevation)
Compute the refraction angle from the true (geometrical) elevation.
|
double |
getTemperature()
Get the local temperature at the evaluation location.
|
void |
setPressure(double pressure)
Set the local pressure at the evaluation location
|
void |
setTemperature(double temperature)
Set the local temperature at the evaluation location
|
public static final double DEFAULT_CORRECTION_FACTOR
public static final double DEFAULT_PRESSURE
public static final double DEFAULT_TEMPERATURE
public static final double STANDARD_ATM_PRESSURE
public static final double STANDARD_ATM_TEMPERATURE
public EarthStandardAtmosphereRefraction()
public EarthStandardAtmosphereRefraction(double pressure, double temperature)
pressure
- in Pascals (Pa)temperature
- in Kelvin (K)public double getPressure()
public void setPressure(double pressure)
Otherwise the default value for the local pressure is set to DEFAULT_PRESSURE
.
pressure
- the pressure to set (Pa)public double getTemperature()
public void setTemperature(double temperature)
Otherwise the default value for the local temperature is set to DEFAULT_TEMPERATURE
.
temperature
- the temperature to set (K)public double getRefraction(double trueElevation)
AtmosphericRefractionModel
getRefraction
in interface AtmosphericRefractionModel
trueElevation
- true elevation (rad)Copyright © 2002-2021 CS GROUP. All rights reserved.