CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
refraction.hpp File Reference
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <format>
#include <stdexcept>
#include "toolbox.hpp"

Classes

struct  astro::earth::refraction::Params
 Atmospheric conditions for refraction calculations. More...

Namespaces

namespace  astro
namespace  astro::earth
namespace  astro::earth::refraction
namespace  astro::earth::refraction::detail

Enumerations

enum class  astro::earth::refraction::Model : uint8_t { astro::earth::refraction::BENNETT , astro::earth::refraction::SAEMUNDSSON }
 Atmospheric refraction model selector. More...

Functions

auto astro::earth::refraction::detail::apply_tp_correction (const toolbox::AngleDeg &r_native, const Params &params) -> toolbox::AngleDeg
 Apply the standard temperature/pressure correction to a native refraction value.
auto astro::earth::refraction::detail::validate_params (const Params &params) -> void
 Validate refraction parameters are finite and above the numerical pole at −273°C.
auto astro::earth::refraction::bennett (const toolbox::AngleDeg &apparent_alt) -> toolbox::AngleDeg
 Bennett's formula for atmospheric refraction from apparent altitude.
auto astro::earth::refraction::saemundsson (const toolbox::AngleDeg &true_alt) -> toolbox::AngleDeg
 Saemundsson's formula for atmospheric refraction from true (geometric) altitude.
auto astro::earth::refraction::at_horizon (const Params &params={}) -> toolbox::AngleDeg
 Compute the refraction at the apparent horizon (apparent altitude = 0°).

Variables

constexpr double astro::earth::refraction::NATIVE_TEMPERATURE_C
 Native temperature for the refraction models, in degrees Celsius.
constexpr double astro::earth::refraction::NATIVE_PRESSURE_HPA
 Native pressure for the refraction models, in hectopascals.
constexpr double astro::earth::refraction::NATIVE_TEMPERATURE_K
 The 283 K numerator in the T/P correction factor, derived from 10°C = 273 + 10 K.
constexpr double astro::earth::refraction::SAEMUNDSSON_HORIZON_TOL_DEG
 Iteration tolerance for Saemundsson's horizon refraction, in degrees.
constexpr std::size_t astro::earth::refraction::SAEMUNDSSON_HORIZON_MAX_ITER
 Maximum number of iterations for Saemundsson's horizon solve.