CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
delta_t.hpp File Reference
#include <array>
#include <chrono>
#include <cmath>
#include <format>
#include <ranges>
#include <cassert>
#include <cstdint>
#include <utility>
#include <optional>
#include <iterator>
#include <algorithm>
#include <stdexcept>
#include "ymd.hpp"
#include "datetime.hpp"

Classes

struct  astro::delta_t::algo1::Algo1Coefficients
 The coefficients of algorithm 1. More...

Namespaces

namespace  astro
namespace  astro::delta_t
namespace  astro::delta_t::algo1
namespace  astro::delta_t::algo2
namespace  astro::delta_t::algo3
namespace  astro::delta_t::algo4
namespace  astro::delta_t::algo5

Enumerations

enum class  astro::delta_t::Model : uint8_t {
  astro::delta_t::ALGO1 , astro::delta_t::ALGO2 , astro::delta_t::ALGO3 , astro::delta_t::ALGO4 ,
  astro::delta_t::ALGO5
}
 A selectable ΔT algorithm. More...

Functions

constexpr auto astro::delta_t::algo1::find_coefficients (const int32_t year) -> std::optional< std::pair< Algo1Coefficients, Algo1Coefficients > >
 Get the coefficients of algorithm 1. Returns std::nullopt if not found.
constexpr auto astro::delta_t::algo1::compute (const double year) -> double
 Compute ΔT for a decimal Gregorian year using algorithm 1.
constexpr auto astro::delta_t::algo2::compute (const double year) noexcept -> double
 Compute ΔT for a decimal Gregorian year using algorithm 2.
constexpr auto astro::delta_t::algo3::compute (const double year) -> double
 Compute ΔT for a decimal Gregorian year using algorithm 3.
constexpr auto astro::delta_t::algo4::compute (const double year) -> double
 Compute ΔT for a decimal Gregorian year using algorithm 4.
constexpr auto astro::delta_t::algo5::compute (const double year) noexcept -> double
 Compute ΔT for a decimal Gregorian year using algorithm 5.
constexpr auto astro::delta_t::compute (const Model model, const double year) -> double
 Evaluate a selected ΔT model at a decimal Gregorian year.
constexpr auto astro::delta_t::compute (const double year) noexcept -> double
 Compute ΔT for a decimal Gregorian year using the default model.
constexpr auto astro::delta_t::compute (const Model model, const calendar::Datetime &dt) -> double
 Evaluate a selected ΔT model at a valid calendar datetime.
constexpr auto astro::delta_t::compute (const calendar::Datetime &dt) -> double
 Evaluate Algo 5 at a valid calendar datetime.
constexpr auto astro::delta_t::ut1_to_tt (const Model model, const calendar::Datetime &ut1_dt) -> calendar::Datetime
 Convert UT1 to TT with one ΔT evaluation at the UT1 datetime.
constexpr auto astro::delta_t::ut1_to_tt (const calendar::Datetime &ut1_dt) -> calendar::Datetime
 Convert a calendar::Datetime in UT1 to a new calendar::Datetime in TT.
constexpr auto astro::delta_t::tt_to_ut1 (const Model model, const calendar::Datetime &tt_dt) -> calendar::Datetime
 Convert TT to modelled UT1 with one ΔT evaluation at the TT datetime.
constexpr auto astro::delta_t::tt_to_ut1 (const calendar::Datetime &tt_dt) -> calendar::Datetime
 Convert a calendar::Datetime in TT to a new calendar::Datetime in UT1.

Variables

constexpr Model astro::delta_t::DEFAULT_MODEL
 Default for operations with a selectable ΔT model; fixed-Algo5 shortcuts stay fixed.
constexpr double astro::delta_t::ALGO1_START_JDE_TT
constexpr double astro::delta_t::ALGO3_END_JDE_TT
constexpr double astro::delta_t::ALGO4_END_JDE_TT
constexpr double astro::delta_t::algo1::MINIMUM_YEAR
constexpr std::array< Algo1Coefficients, 20 > astro::delta_t::algo1::ALGO1_COEFFICIENTS
constexpr double astro::delta_t::algo3::MAXIMUM_YEAR_EXCLUSIVE
constexpr double astro::delta_t::algo5::LAST_OBSERVATION_YEAR
 The decimal year of the last Bulletin A observation in the training data; also the boundary between the fitted and the extrapolated segments.