Program Listing for File eop.h¶
↰ Return to documentation for file (include/lupnt/data/eop.h
)
#pragma once
#include <lupnt/core/constants.h>
#include <memory>
#include <mutex>
#include <string>
namespace lupnt {
// Struct to hold EOP data
struct EopFileData {
VecXi years;
VecXi months;
VecXi days;
VecXd mjds_utc;
VecXd x;
VecXd y;
VecXd ut1_utc;
VecXd lod;
VecXd dpsi;
VecXd deps;
VecXd xErr;
VecXd yErr;
VecXd ut1_utc_err;
VecXd lod_err;
VecXd dpsi_err;
VecXd deps_err;
};
struct EopData {
Real x_pole;
Real y_pole;
Real ut1_utc;
Real lod;
Real dpsi;
Real deps;
Real dx_pole;
Real dy_pole;
Real tai_utc;
};
void LoadEopFileData(const std::filesystem::path& filepath);
// Function to manage IERS time and polar motion data
EopData GetEopData(Real mjd_utc);
Real GetUt1UtcDifference(Real mjd_utc);
} // namespace lupnt