///------------------------------------------------------------------------------------------------- /// <summary> Runs the model and allocated water to regions. /// </summary> /// /// /// <param name="InputData"> Information describing the input.</param> /// <param name="OutputData"> [out] Information describing the output.</param> /// <param name="AllocatedWater"> [out] The allocated water.</param> /// /// <returns> True if it succeeds, false if it fails.</returns> ///------------------------------------------------------------------------------------------------- public bool RunAndAllocate(RiverModelInput InputData, out RiverModelOutput OutputData, out RegionAvailableWater AllocatedWater) { bool result = false; AllocatedWater = null; OutputData = FRiverModel.Run(InputData); if (OutputData != null) { AllocatedWater = FAllocationModel.AllocateWater(OutputData); if (AllocatedWater != null) { result = true; } } return(result); }
///------------------------------------------------------------------------------------------------- /// <summary> Allocate water.</summary> /// /// <remarks> Uses the data output from a River Model to allocate available water to various regions for use.</remarks> /// /// <param name="OutputData"> Information describing the output.</param> /// /// <returns> A RegionAvailableWater.</returns> ///------------------------------------------------------------------------------------------------- public abstract RegionAvailableWater AllocateWater(RiverModelOutput OutputData);