/// <summary> // If we haven't checked in a long enough time (10 minutes ?!?) // get temperature and pressure. /// </summary> public void prepareRefractionData(bool calculateRefraction) { const int freqOCFetchMinutes = 10; initOCH(); if (!calculateRefraction) { refractionOption = RefractionOption.NoRefraction; return; } DateTime now = DateTime.Now; int month = now.Month - 1; onSurface.Temperature = averageTemperatures[month]; onSurface.Pressure = averagePressures[month]; if (och != null && now.Subtract(lastOCFetch).TotalMinutes > freqOCFetchMinutes) { try { double timeSinceLastUpdate = och.TimeSinceLastUpdate("Temperature"); if (timeSinceLastUpdate > (freqOCFetchMinutes * 60)) { onSurface.Temperature = och.Temperature; onSurface.Pressure = och.Pressure; refractionOption = RefractionOption.LocationRefraction; lastOCFetch = now; } } catch { } } }
public void init() { if (_initialized) { return; } siteLatitude = ascomutils.DMSToDegrees("30:35:50.43"); siteLongitude = ascomutils.DMSToDegrees("34:45:43.86"); siteElevation = 882.9; novas31.MakeOnSurface(siteLatitude, siteLongitude, siteElevation, 0.0, 0.0, ref onSurface); refractionOption = Astrometry.RefractionOption.LocationRefraction; _initialized = true; }