//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //:: It is the main Function to start ::: //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: private void RunBtn_Click(object sender, EventArgs e) { frmParent.BusyState(); var CheckedModels = ModelChk.CheckedItems.OfType <string>().ToList(); var CheckedSens = ScenarioChk.CheckedItems.OfType <string>().ToList(); if (CruModel.Checked) { CheckedModels = new List <string>() { "ObservedData" }; CheckedSens = new List <string>() { "ObservedCru" }; } else if (ObserveModel.Checked) { CheckedModels = new List <string>() { "ObservedData" }; CheckedSens = new List <string>() { "ObservedUser" }; } try { commentLbl.Text = "Starting..."; var fileFolders = ""; if (DirectRb.Checked) { fileFolders = DirectFilesTxt.Text; MainRun(fileFolders, false); } else { var parentFolder = ManualFilesTxt.Text; foreach (var model in CheckedModels) { var modelDirectory = parentFolder + @"\" + model; Directory.CreateDirectory(modelDirectory); foreach (var senario in CheckedSens) { var senarioDirectory = modelDirectory + @"\" + senario; Directory.CreateDirectory(senarioDirectory); if (Precipitation.Checked) { var pcpDirectory = senarioDirectory + @"\pcp"; Directory.CreateDirectory(pcpDirectory); MainRun(pcpDirectory, true); } if (Temperature.Checked) { var tmpDirectory = senarioDirectory + @"\tmp"; Directory.CreateDirectory(tmpDirectory); MainRun(tmpDirectory, false); } } } } var inputs = ""; var models = CheckedModels.Cast <object>().Aggregate("", (current, model) => current + (model + ",")); models = models.Length > 0? models.Remove(models.Length - 1):models; var sens = CheckedSens.Cast <object>().Aggregate("", (current, sen) => current + (sen + ",")); sens = sens.Length > 0? sens.Remove(sens.Length - 1):sens; inputs += "Main Database Folder : " + Environment.NewLine + ManualFilesTxt.Text + Environment.NewLine; inputs += "Historic Climate Data : " + Environment.NewLine + CruModel.Checked + Environment.NewLine; inputs += "Future Climate Models : " + Environment.NewLine + models + Environment.NewLine; inputs += "Carbon Emission Scenarios : " + Environment.NewLine + sens + Environment.NewLine; inputs += "Precipitation : " + Environment.NewLine + Precipitation.Checked + Environment.NewLine; inputs += "Temperature : " + Environment.NewLine + Temperature.Checked + Environment.NewLine; inputs += "Output Folder : " + Environment.NewLine + OutputTxt.Text + Environment.NewLine; inputs += "Simulation File : " + Environment.NewLine + AnomalyTxt.Text + Environment.NewLine; inputs += "Measured File : " + Environment.NewLine + MeasuredTxt.Text + Environment.NewLine; inputs += "Correction Method : " + Environment.NewLine + (RatioRb.Checked ? RatioRb.Text : PlusRb.Text) + Environment.NewLine; File.WriteAllText(ManualFilesTxt.Text.Replace(@"\UserDatabase", @"\Bias-Corrected").Replace(@"\DownScaling", @"\Bias-Corrected") + "/inputs.txt", inputs); MessageBox.Show("End!"); commentLbl.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.Message); } frmParent.ReadyState(); }
private void RunBtn_Click(object sender, EventArgs e) { var msg = @"We recommend to run (interpolate) the module for each variable (precipitation or temperature) separately. Extents numbers must contain 0.25 or 0.75 decimals. Do you want to continue?"; if (MessageBox.Show(msg, "Check Your input data!", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes) { var CheckedModels = ModelChk.CheckedItems.OfType <string>().ToList(); var CheckedSens = ScenarioChk.CheckedItems.OfType <string>().ToList(); if (CruModel.Checked) { CheckedModels = new List <string>() { "ObservedData" }; CheckedSens = new List <string>() { "ObservedCru" }; } else if (ObserveModel.Checked) { CheckedModels = new List <string>() { "ObservedData" }; CheckedSens = new List <string>() { "ObservedUser" }; } frmParent.BusyState(); Directory.CreateDirectory(curentDir + @"\backup"); File.Copy(curentDir + @"\positionDB.mdb", curentDir + @"\backup\" + DateTime.Now.Ticks + "-positionDB.mdb", true); //try //{ var fileFolders = ""; if (DirectRb.Checked) { fileFolders = DirectFilesTxt.Text; MainRun(fileFolders); } else { var parentFolder = ManualFilesTxt.Text; foreach (var model in CheckedModels) { var modelDirectory = parentFolder + @"\" + model; Directory.CreateDirectory(modelDirectory); foreach (var senario in CheckedSens) { var senarioDirectory = modelDirectory + @"\" + senario; Directory.CreateDirectory(senarioDirectory); if (Precipitation.Checked) { var pcpDirectory = senarioDirectory + @"\pcp"; Directory.CreateDirectory(pcpDirectory); MainRun(pcpDirectory); } if (Temperature.Checked) { var tmpDirectory = senarioDirectory + @"\tmp"; Directory.CreateDirectory(tmpDirectory); MainRun(tmpDirectory); } } } } var inputs = ""; var models = CheckedModels.Cast <object>().Aggregate("", (current, model) => current + (model + ",")); models = models.Length > 0? models.Remove(models.Length - 1):models; var sens = CheckedSens.Cast <object>().Aggregate("", (current, sen) => current + (sen + ",")); sens = sens.Length > 0? sens.Remove(sens.Length - 1):sens; inputs += "Main Database Folder : " + Environment.NewLine + ManualFilesTxt.Text + Environment.NewLine; inputs += "Historic Climate Data : " + Environment.NewLine + CruModel.Checked + Environment.NewLine; inputs += "Future Climate Models : " + Environment.NewLine + models + Environment.NewLine; inputs += "Carbon Emission Scenarios : " + Environment.NewLine + sens + Environment.NewLine; inputs += "Precipitation : " + Environment.NewLine + Precipitation.Checked + Environment.NewLine; inputs += "Temperature : " + Environment.NewLine + Temperature.Checked + Environment.NewLine; inputs += "Latitude From : " + Environment.NewLine + LatFrom.Text + Environment.NewLine; inputs += "Latitude To : " + Environment.NewLine + LatTo.Text + Environment.NewLine; inputs += "Longitude From : " + Environment.NewLine + LongFrom.Text + Environment.NewLine; inputs += "Longitude To : " + Environment.NewLine + LongTo.Text + Environment.NewLine; inputs += "Considering Elevation : " + elevChk.Checked + Environment.NewLine; inputs += "Current Grid Size : " + stepTxt.Text + Environment.NewLine; File.WriteAllText(ManualFilesTxt.Text.Replace("UserDatabase", "Interpolation").Replace("Bias-Corrected", "Interpolation") + "/inputs.txt", inputs); MessageBox.Show("End!"); //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message); //} frmParent.ReadyState(); } }