//estimation learning private void Experiment3PushBsm() { if (finished == 0) { DeleteFiles(); } var resourse = "b4.b4-131"; LogWrite("Pushing BSM to resourse " + resourse); //workflows = 5; steps = 1; int[] sizes = { 1, 3, 4, 5, 6 }; var bsmDescriptionReader = new DescriptionReader("bsm.wf"); _api.UploadFiles(bsmDescriptionReader.InputFiles); for (int i = 0; i < sizes.Length; i++) { StringBuilder sb = new StringBuilder(); //sb.Append(bsmDescriptionReader.Script); int stepDiffer = 0; for (int step = 1; step <= steps; step++) //foreach(var size in sizes) { var size = sizes[0]; //if (stepDiffer >= sizes.Length) stepDiffer = 0; sb.Append("[Resource = " + '"' + resourse + '"' + "]\n"); sb.Append("step MaskedFullBSM_" + stepDiffer + " runs bsm " + (stepDiffer > 0 ? " after MaskedFullBSM_" + (stepDiffer - 1) : "") + " \n (\n inMeasurement = measurementFile,\n inHirlam = hirlam" + size + ",\n swan = swanFile,\n inBSH = BSHFile,\n useAssimilation = true,\n useSWAN = true,\n useBSH = true,\n useOldProject = false,\n useMask = false,\n startCalcDate = \"09/01/2007 12:00:00\",\n inAssFields = assFields,\n inProject = projects,\n controlPoints = inControlPoints,\n deleteDirs = true,\n ForecastSize = " + size + " \n)\n"); stepDiffer++; } _api.Script = sb.ToString(); jobMonitor = _api.CreateMonitor(); jobMonitor.UpdatePeriod = 1000 * 5; jobMonitor.Active += JobMonitorOnActive; jobMonitor.Finished += (sender, jobDecriptionEventArgs) => { JobMonitorStandardFinished(sender, jobDecriptionEventArgs); CopyRows(); }; LogWrite(DateTime.Now.ToLongTimeString() + " " + steps + " bsm pushed: " + i + "/" + workflows + "; id:" + jobMonitor.JobId); LogWrite(_api.Script.Substring(0, 70)); jobMonitor.Run(); Statuses.Add(jobMonitor.JobId.ToString(), "Pushed"); LogWrite(DateTime.Now.ToLongTimeString() + " " + jobMonitor.JobId + " pushed"); } }