Go to the documentation of this file.
39 opts.AddProgramDescription(std::string() +
40 "Converts from ICRS (solar system barycentric) coordinates to " +
41 "observed altitude, zenith coordinates for a given Julian date. " +
42 "Additional observing parameters can also be supplied for more " +
43 "accurate coordinate values");
47 opts.AddObserverPars();
63 std::printf(
"******************************************\n") ;
64 std::printf(
"* Results of ICRS -> Observed conversion *\n") ;
65 std::printf(
"******************************************\n") ;
66 std::printf(
"Observed Coordinates (output)\n") ;
67 std::printf(
" Azimuth : %f deg\n", observed_altaz.
XCoord().
Deg()) ;
68 std::printf(
" Zenith : %+f deg\n", observed_altaz.
YCoord().
Deg()) ;
69 std::printf(
" Altitude : %+f deg\n", 90.0-observed_altaz.
YCoord().
Deg()) ;
70 std::printf(
"ICRS Coordinates (input)\n") ;
71 std::printf(
" Right Ascension: %f deg\n", input_icrs.
XCoord().
Deg()) ;
72 std::printf(
" Declination : %+f deg\n", input_icrs.
YCoord().
Deg()) ;
73 std::printf(
" Julian Date : %f\n", date.
JD()) ;
74 std::printf(
"Apparent ICRS Coordinates\n");
75 std::printf(
" Right Ascension: %f deg\n", observed_icrs.
XCoord().
Deg());
76 std::printf(
" Declination : %f deg\n", observed_icrs.
YCoord().
Deg());
77 std::printf(
"Observer Info\n") ;
78 std::printf(
" Longitude : %f deg\n", observer.
Longitude_Deg()) ;
79 std::printf(
" Latitude : %+f deg\n", observer.
Latitude_Deg()) ;
80 std::printf(
" Elevation : %f meters\n", observer.
Elevation_m()) ;
81 std::printf(
" Pressure : %f hPa\n", observer.
Pressure_hPa()) ;
82 std::printf(
" Temperature : %f Celsius\n", observer.
Temperature_C()) ;
90 int main(
int argc,
char** argv)
93 if (opts.ParseCommandLine(argc, argv))
return 0;
104 CEObserver observer(opts.AsDouble(
"longitude"),
105 opts.AsDouble(
"latitude"),
106 opts.AsDouble(
"elevation"),
119 PrintResults(icrs_coords, obs_coords, obs_icrs_coords, observer, date);
double Elevation_m() const
Return altitude in meters above sea level.
RA, Dec (referenced at the barycenter of the solarsystem)
double Temperature_C() const
Return temperature in degrees Celsius.
double RelativeHumidity() const
Return relative humidity.
CEExecOptions DefineOpts()
void SetRelativeHumidity(const double &humidity=0.0)
Set the observer's relative humidity.
void SetWavelength_um(const double &new_wavelength_um)
Set the observer's observing wavelength (micrometers)
void SetPressure_hPa(const double &pressure=CppEphem::EstimatePressure_hPa(CppEphem::SeaLevelTemp_C()))
Set the observer's pressure.
double Pressure_hPa() const
Return atmospheric pressure in units of hPa.
void SetTemperature_C(const double &temp_C=CppEphem::SeaLevelTemp_C())
Set the observer's temperature (Celsius)
static void ICRS2Observed(const CESkyCoord &in_icrs, CESkyCoord *out_observed, const CEDate &date, const CEObserver &observer, CESkyCoord *observed_cirs=nullptr, CEAngle *hour_angle=nullptr)
ICRS -> OBSERVED coordinate conversion.
int main(int argc, char **argv)
Main.
double Latitude_Deg() const
Return geographic latitude in degrees.
double Deg(void) const
Return angle in degrees as a double.
double Longitude_Deg() const
Return observer geographic longitude in degrees.
virtual double JD() const
Get the Julian date represented by this object.
void PrintResults(const CESkyCoord &input_icrs, const CESkyCoord &observed_altaz, const CESkyCoord &observed_icrs, const CEObserver &observer, const CEDate &date)
static CEAngle Deg(const double &angle)
Return angle (radians) constructed from a degree angle.
virtual CEAngle XCoord(const CEDate &jd=CppEphem::julian_date_J2000()) const
Return x coordinate at given Julian date.
virtual CEAngle YCoord(const CEDate &jd=CppEphem::julian_date_J2000()) const
Return y coordinate at given Julian date.