protected void ExtractGFSFileLatLon(double latitude, double longitude, int observationTime, int forcastHours) { string GfsFileName = BuildFilename(observationTime, forcastHours); string slat = Math.Round(latitude).ToString("00"); string slon = Math.Round(longitude).ToString("000"); ObservationDate = DateTime.Today.AddHours(observationTime); ForcastDate = ObservationDate.AddHours(forcastHours); DateTime t0 = DateTime.Today.AddHours(observationTime).AddHours(forcastHours); #if OS_WIN_64 string args = $"./resources/{GfsFileName} -s -lon {slat} {slon}"; string filePath = string.Format(@".\resources\weatherData\gfs{0:0000}{1:00}{2:00}{3:00}-{4}-{5}.grid", t0.Year, t0.Month, t0.Day, t0.Hour, slat, slon); if (!Directory.Exists(@".\resources\weatherData\")) { Directory.CreateDirectory(@".\resources\weatherData\"); } #else string args = $"./resources/{GfsFileName} -s -lon {slat} {slon}"; string filePath = string.Format(@"./resources/weatherData/gfs{0:0000}{1:00}{2:00}{3:00}-{4}-{5}.grid", t0.Year, t0.Month, t0.Day, t0.Hour, slat, slon); if (!Directory.Exists(@"./resources/weatherData/")) { Directory.CreateDirectory(@"./resources/WeatherData/"); } #endif if (File.Exists(filePath)) { File.Delete(filePath); } StreamWriter gfsStreamW = File.CreateText(filePath); Process extract = new Process() { StartInfo = new ProcessStartInfo() { UseShellExecute = false, Arguments = args.ToString(), #if OS_WIN_64 FileName = @".\Process\wgrib2_win_64.exe", #elif OS_LIN_64 FileName = @"./Process/wgrib2_lin_64", #elif OS_LIN_ARM FileName = @"./Process/wgrib2_arm64", #endif CreateNoWindow = true, RedirectStandardOutput = true, } }; extract.Start(); gfsStreamW.Write(extract.StandardOutput.ReadToEnd()); extract.WaitForExit(); gfsStreamW.Flush(); gfsStreamW.Close(); ParseFile(filePath); }
public SerializableHighLowSet getSerializableHighLowSet() { SerializableHighLowSet serializableObject = new SerializableHighLowSet(); serializableObject.ObservationDate = ObservationDate.ToString("yyyy-MM-dd"); serializableObject.HighTemp = HighTemp; serializableObject.LowTemp = LowTemp; serializableObject.HighHeatIndex = HighHeatIndex; serializableObject.LowHeatIndex = LowHeatIndex; serializableObject.HighWindChill = HighWindChill; serializableObject.LowWindChill = LowWindChill; serializableObject.HighWindSpeed = HighWindSpeed; serializableObject.HighHumidity = HighHumidity; serializableObject.LowHumidity = LowHumidity; serializableObject.HighDewPoint = HighDewPoint; serializableObject.LowDewPoint = LowDewPoint; serializableObject.HighPressure = HighPressure; serializableObject.LowPressure = LowPressure; serializableObject.DayRain = DayRain; serializableObject.HighRainRate = HighRainRate; return(serializableObject); }
public SerializableObservationFull getSerializableObservationFull() { SerializableObservationFull serializableObject = new SerializableObservationFull(); serializableObject.ObservationDate = ObservationDate.ToString("yyyy-MM-dd HH:mm"); serializableObject.UTCObservationDate = ObservationDate.ToUniversalTime().ToString("yyyy-MM-dd HH:mm"); serializableObject.Temperature = Temperature; serializableObject.HiTemperature = HiTemperature; serializableObject.HiTemperatureTime = HiTemperatureTime.ToString("yyyy-MM-dd HH:mm"); serializableObject.LowTemperature = LowTemperature; serializableObject.LowTemperatureTime = LowTemperatureTime.ToString("yyyy-MM-dd HH:mm"); serializableObject.WindChill = WindChill; serializableObject.LowWindChill = LowWindChill; serializableObject.LowWindChillTime = LowWindChillTime.ToString("yyyy-MM-dd HH:mm"); serializableObject.HeatIndex = HeatIndex; serializableObject.HiHeatIndex = HiHeatIndex; serializableObject.HiHeatIndexTime = HiHeatIndexTime.ToString("yyyy-MM-dd HH:mm"); serializableObject.WindSpeed = WindSpeed; serializableObject.TenMinAvgWindSpeed = TenMinAvgWindSpeed; serializableObject.HiWindSpeed = HiWindSpeed; serializableObject.HiWindSpeedTime = HiWindSpeedTime.ToString("yyyy-MM-dd HH:mm"); serializableObject.WindDirection = WindDirection; serializableObject.WindDirectionLetter = WindDirectionLetter; serializableObject.Humidity = Humidity; serializableObject.DewPoint = DewPoint; serializableObject.Pressure = Pressure; serializableObject.TodayRain = TodayRain; serializableObject.StormRain = StormRain; serializableObject.MonthRain = MonthRain; serializableObject.YearRain = YearRain; serializableObject.RainRate = RainRate; serializableObject.HiRainRate = HiRainRate; if (HiRainRate != 0) { serializableObject.HiRainRateTime = HiRainRateTime.ToString("yyyy-MM-dd HH:mm"); } return(serializableObject); }
public SerializableObservationHistorical getSerializableObservationHistorical() { SerializableObservationHistorical serializableObject = new SerializableObservationHistorical(); serializableObject.ObservationDate = ObservationDate.ToString("yyyy-MM-dd HH:mm"); serializableObject.Temperature = Temperature; serializableObject.WindChill = WindChill; serializableObject.HeatIndex = HeatIndex; serializableObject.WindSpeed = WindSpeed; serializableObject.TenMinAvgWindSpeed = TenMinAvgWindSpeed; serializableObject.WindDirection = WindDirection; serializableObject.WindDirectionLetter = WindDirectionLetter; serializableObject.Humidity = Humidity; serializableObject.DewPoint = DewPoint; serializableObject.Pressure = Pressure; serializableObject.TodayRain = TodayRain; serializableObject.StormRain = StormRain; serializableObject.MonthRain = MonthRain; serializableObject.YearRain = YearRain; serializableObject.RainRate = RainRate; return(serializableObject); }
public void ResetSettings() { ObservationDate.ResetSettings(); RegistrationDate.ResetSettings(); ChangeDate.ResetSettings(); }
public override bool IsSettingsDefault() { return(ObservationDate.IsSettingsDefault() && RegistrationDate.IsSettingsDefault() && ChangeDate.IsSettingsDefault()); }