/// <summary> /// Creates a base AusFarm simulation spec from the Farm4Prophet spec. /// </summary> /// <param name="paddock">The farm paddock</param> /// <returns>The created AusFarm spec</returns> private static AusFarmSpec CreateBaseSimulation(FarmSystem farm) { FarmSystem copyOfFarm = farm; AusFarmSpec runnableSim = new AusFarmSpec(); runnableSim.Name = "BaseSim"; runnableSim.StartDate = DateTime.MaxValue; //=========================================================== // May be appropriate here to decide which simulation template // will be used based on the requirement for crops and animals. //=========================================================== runnableSim.SimTemplateType = farm.SimTemplateType; /* sample dates used to initialise the run times? if (farm.SoilWaterSampleDate < runnableSim.StartDate) runnableSim.StartDate = farm.SoilWaterSampleDate; if (farm.SoilNitrogenSampleDate != DateTime.MinValue && farm.SoilNitrogenSampleDate < runnableSim.StartDate) runnableSim.StartDate = farm.SoilNitrogenSampleDate; */ //if (sow != null && sow.Date < shortSimulation.StartDate) // shortSimulation.StartDate = sow.Date; if (farm.StartSeasonDate < runnableSim.StartDate) runnableSim.StartDate = farm.StartSeasonDate; runnableSim.OnFarmSoilTypes.AddRange(copyOfFarm.OnFarmSoilTypes); runnableSim.OnFarmPaddocks.AddRange(copyOfFarm.OnFarmPaddocks); runnableSim.LiveStock = copyOfFarm.LiveStock; runnableSim.StationNumber = copyOfFarm.StationNumber; runnableSim.CroppingRegion = copyOfFarm.CroppingRegion; return runnableSim; }
/// <summary> /// Creates a base AusFarm simulation spec from the Farm4Prophet spec. /// </summary> /// <param name="paddock">The farm paddock</param> /// <returns>The created AusFarm spec</returns> private static AusFarmSpec CreateBaseSimulation(FarmSystem farm) { FarmSystem copyOfFarm = farm; AusFarmSpec runnableSim = new AusFarmSpec(); runnableSim.Name = "BaseSim"; runnableSim.StartDate = DateTime.MaxValue; //=========================================================== // May be appropriate here to decide which simulation template // will be used based on the requirement for crops and animals. //=========================================================== runnableSim.SimTemplateType = farm.SimTemplateType; /* sample dates used to initialise the run times? * if (farm.SoilWaterSampleDate < runnableSim.StartDate) * runnableSim.StartDate = farm.SoilWaterSampleDate; * if (farm.SoilNitrogenSampleDate != DateTime.MinValue && * farm.SoilNitrogenSampleDate < runnableSim.StartDate) * runnableSim.StartDate = farm.SoilNitrogenSampleDate; */ //if (sow != null && sow.Date < shortSimulation.StartDate) // shortSimulation.StartDate = sow.Date; if (farm.StartSeasonDate < runnableSim.StartDate) { runnableSim.StartDate = farm.StartSeasonDate; } runnableSim.OnFarmSoilTypes.AddRange(copyOfFarm.OnFarmSoilTypes); runnableSim.OnFarmPaddocks.AddRange(copyOfFarm.OnFarmPaddocks); runnableSim.LiveStock = copyOfFarm.LiveStock; runnableSim.StationNumber = copyOfFarm.StationNumber; runnableSim.CroppingRegion = copyOfFarm.CroppingRegion; return(runnableSim); }