Note: This is documentation for version 5.4 of Source. For a different version of Source, select the relevant space by using the Spaces menu in the toolbar above
SingleCatchmentScenario
This plugin was written by Joel Rahman to make it easier to use the Rainfall runoff calibration tools with only defining the area of the catchment to create a scenario.
General Info
License | As-is, use at your own risk |
Type | free, open-source |
Current version | 0.2 |
Plugin Description
Builds a geographic scenario with a single catchment, given an area.
Using the plugin
Once you have loaded the plugins and restarted Source, the plugin will be available in the project explorer:
Example Screenshot:
Sources
Source is available in the Source Community repository (https://bitbucket.org/ewater-ondemand/sourcecommunity) under SourcePlugins\SingleCatchmentScenario
using System; using System.Linq; using System.Windows.Forms; using RiverSystem; using RiverSystem.Catchments; using RiverSystem.Controls; using RiverSystem.TestingSupport; using TIME.Core; using TIME.Core.Metadata; using TIME.ScenarioManagement; Â namespace SingleCatchmentScenario { [Aka("Single Catchment Scenario Builder"), WorksWith(typeof(RiverSystemProject)), Author("Joel Rahman")] public partial class SingleCatchmentScenarioBuilder : Form, IScenarioCreation { public SingleCatchmentScenarioBuilder() { InitializeComponent(); } Â public AbstractScenario CreateScenario(Form parent, AbstractProject project) { ShowDialog(); RiverSystemScenario testScenario = TestHelperRiverSystem.getAPreconfiguredTestScenarioWithAWBM(1, (RiverSystemProject)project); Catchment c = testScenario.Network.Catchments.First() as Catchment; c.characteristics.areaInSquareMeters = CatchmentAreaControl.GetValue(CommonUnits.squareMetres); foreach (var fu in c.FunctionalUnits) fu.areaInSquareMeters = 0; c.FunctionalUnits.First().areaInSquareMeters = c.characteristics.areaInSquareMeters; testScenario.Name += " " + (project as RiverSystemProject).GetRSScenarios().Length + 1; return testScenario; } public string Description { get { return "Single catchment scenario for rainfall runoff modelling"; } } Â public string IconPath { get { return "/RiverSystem.Forms;component/Resources/river-operator.ico"; } } private void BuildButton_Click(object sender, EventArgs e) { Close(); } } }