22 int daylightSaving = isDaylightSaving ? 1 : 0;
24 double julianDateOfFullMoon =
PAMacros.
FullMoon(daylightSaving, zoneCorrectionHours, localDateDay, localDateMonth, localDateYear);
27 double integerDay = gDateOfFullMoonDay.Floor();
30 double utOfFullMoonHours = gDateOfFullMoonDay - integerDay;
32 double localCivilDateDay =
PAMacros.
UniversalTime_LocalCivilDay(utOfFullMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfFullMoonMonth, gDateOfFullMoonYear);
33 int localCivilDateMonth =
PAMacros.
UniversalTime_LocalCivilMonth(utOfFullMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfFullMoonMonth, gDateOfFullMoonYear);
34 int localCivilDateYear =
PAMacros.
UniversalTime_LocalCivilYear(utOfFullMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfFullMoonMonth, gDateOfFullMoonYear);
38 string status = eclipseOccurrence;
41 int eventDateYear = localCivilDateYear;
69 public (
double lunarEclipseCertainDateDay,
double lunarEclipseCertainDateMonth,
double lunarEclipseCertainDateYear,
double utStartPenPhaseHour,
double utStartPenPhaseMinutes,
double utStartUmbralPhaseHour,
double utStartUmbralPhaseMinutes,
double utStartTotalPhaseHour,
double utStartTotalPhaseMinutes,
double utMidEclipseHour,
double utMidEclipseMinutes,
double utEndTotalPhaseHour,
double utEndTotalPhaseMinutes,
double utEndUmbralPhaseHour,
double utEndUmbralPhaseMinutes,
double utEndPenPhaseHour,
double utEndPenPhaseMinutes,
double eclipseMagnitude)
LunarEclipseCircumstances(
double localDateDay,
int localDateMonth,
int localDateYear,
bool isDaylightSaving,
int zoneCorrectionHours)
71 int daylightSaving = isDaylightSaving ? 1 : 0;
73 double julianDateOfFullMoon =
PAMacros.
FullMoon(daylightSaving, zoneCorrectionHours, localDateDay, localDateMonth, localDateYear);
75 double integerDay = gDateOfFullMoonDay.Floor();
78 double utOfFullMoonHours = gDateOfFullMoonDay - integerDay;
80 double localCivilDateDay =
PAMacros.
UniversalTime_LocalCivilDay(utOfFullMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfFullMoonMonth, gDateOfFullMoonYear);
81 int localCivilDateMonth =
PAMacros.
UniversalTime_LocalCivilMonth(utOfFullMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfFullMoonMonth, gDateOfFullMoonYear);
82 int localCivilDateYear =
PAMacros.
UniversalTime_LocalCivilYear(utOfFullMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfFullMoonMonth, gDateOfFullMoonYear);
84 double utMaxEclipse =
PAMacros.
UTMaxLunarEclipse(localDateDay, localDateMonth, localDateYear, daylightSaving, zoneCorrectionHours);
92 double eclipseMagnitude1 =
PAMacros.
MagLunarEclipse(localDateDay, localDateMonth, localDateYear, daylightSaving, zoneCorrectionHours);
119 double eclipseMagnitude = (eclipseMagnitude1 == -99.0) ? -99.0 : Math.Round(eclipseMagnitude1, 2);
121 return (
lunarEclipseCertainDateDay,
lunarEclipseCertainDateMonth,
lunarEclipseCertainDateYear,
utStartPenPhaseHour,
utStartPenPhaseMinutes,
utStartUmbralPhaseHour,
utStartUmbralPhaseMinutes,
utStartTotalPhaseHour,
utStartTotalPhaseMinutes,
utMidEclipseHour,
utMidEclipseMinutes,
utEndTotalPhaseHour,
utEndTotalPhaseMinutes,
utEndUmbralPhaseHour,
utEndUmbralPhaseMinutes,
utEndPenPhaseHour,
utEndPenPhaseMinutes, eclipseMagnitude);
135 int daylightSaving = isDaylightSaving ? 1 : 0;
137 double julianDateOfNewMoon =
PAMacros.
NewMoon(daylightSaving, zoneCorrectionHours, localDateDay, localDateMonth, localDateYear);
139 double integerDay = gDateOfNewMoonDay.Floor();
142 double utOfNewMoonHours = gDateOfNewMoonDay - integerDay;
144 double localCivilDateDay =
PAMacros.
UniversalTime_LocalCivilDay(utOfNewMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfNewMoonMonth, gDateOfNewMoonYear);
145 int localCivilDateMonth =
PAMacros.
UniversalTime_LocalCivilMonth(utOfNewMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfNewMoonMonth, gDateOfNewMoonYear);
146 int localCivilDateYear =
PAMacros.
UniversalTime_LocalCivilYear(utOfNewMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfNewMoonMonth, gDateOfNewMoonYear);
150 string status = eclipseOccurrence;
153 int eventDateYear = localCivilDateYear;
173 public (
double solarEclipseCertainDateDay,
int solarEclipseCertainDateMonth,
int solarEclipseCertainDateYear,
double utFirstContactHour,
double utFirstContactMinutes,
double utMidEclipseHour,
double utMidEclipseMinutes,
double utLastContactHour,
double utLastContactMinutes,
double eclipseMagnitude)
SolarEclipseCircumstances(
double localDateDay,
int localDateMonth,
int localDateYear,
bool isDaylightSaving,
int zoneCorrectionHours,
double geogLongitudeDeg,
double geogLatitudeDeg)
175 int daylightSaving = isDaylightSaving ? 1 : 0;
177 double julianDateOfNewMoon =
PAMacros.
NewMoon(daylightSaving, zoneCorrectionHours, localDateDay, localDateMonth, localDateYear);
179 double integerDay = gDateOfNewMoonDay.Floor();
182 double utOfNewMoonHours = gDateOfNewMoonDay - integerDay;
183 double localCivilDateDay =
PAMacros.
UniversalTime_LocalCivilDay(utOfNewMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfNewMoonMonth, gDateOfNewMoonYear);
184 int localCivilDateMonth =
PAMacros.
UniversalTime_LocalCivilMonth(utOfNewMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfNewMoonMonth, gDateOfNewMoonYear);
185 int localCivilDateYear =
PAMacros.
UniversalTime_LocalCivilYear(utOfNewMoonHours, 0.0, 0.0, daylightSaving, zoneCorrectionHours, integerDay, gDateOfNewMoonMonth, gDateOfNewMoonYear);
187 double utMaxEclipse =
PAMacros.
UTMaxSolarEclipse(localDateDay, localDateMonth, localDateYear, daylightSaving, zoneCorrectionHours, geogLongitudeDeg, geogLatitudeDeg);
188 double utFirstContact =
PAMacros.
UTFirstContactSolarEclipse(localDateDay, localDateMonth, localDateYear, daylightSaving, zoneCorrectionHours, geogLongitudeDeg, geogLatitudeDeg);
189 double utLastContact =
PAMacros.
UTLastContactSolarEclipse(localDateDay, localDateMonth, localDateYear, daylightSaving, zoneCorrectionHours, geogLongitudeDeg, geogLatitudeDeg);
190 double magnitude =
PAMacros.
MagSolarEclipse(localDateDay, localDateMonth, localDateYear, daylightSaving, zoneCorrectionHours, geogLongitudeDeg, geogLatitudeDeg);
205 double eclipseMagnitude = (magnitude == -99.0) ? -99.0 : Math.Round(magnitude, 3);