Example #1
0
        /// <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 { }
            }
        }
Example #2
0
        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;
        }