Exemple #1
0
        //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");
            }
        }