Note: This is documentation for version 5.0 of Source. For a different version of Source go to the Space Directory.
Page tree
Skip to end of metadata
Go to start of metadata

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

LicenseAs-is, use at your own risk
Typefree, open-source
Current version0.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:


Source is available in the Source Community repository ( 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"),
     Author("Joel Rahman")]
    public partial class SingleCatchmentScenarioBuilder : Form, IScenarioCreation
        public SingleCatchmentScenarioBuilder()
        public AbstractScenario CreateScenario(Form parent, AbstractProject project)
            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)