4.5 Module Optimization
What if you have a situation where you only want to manipulate a time series in a given situation? Rather than making two workflows and only running one of them, you have the option to apply a conditional module instance in the original workflow.
The use of conditional modules can optimize the forecast experience, as it allows for more accurate dissemination of data for that scenario. While other types of modules could be applied conditionally, the best example is the use of a transformation module.
Examples:
1. Discharge from locks and power-generating reservoirs
2. Seasonal variation (Example: winter months November through March)
Conditional Transformation by Range
Conditional transformations use one of two types of triggers – Range or Periodic. Use the range trigger (because of the variability of the flow) for conditional transformations of discharge from locks or power-generating reservoirs. Using a range as a trigger means a variable has to reach a certain value within the range defined. Notice the lower and upper limits defined in the code below.
Conditional Transformation by Period
Periodic transformations are triggered by a set date and/or time. Once the current date or time meets the condition, the transformation will be applied. The module will continue to be applied until the date or time has passed the ending date set in the workflow. Winter is an example of when you might apply a periodic conditional transformation. Take for example the image below.
This example shows a transformation module instance applied from the beginning of October through the end of March. This transformation would be beneficial for accounting for snow in certain portions of the forecast area. You could also apply a conditional transformation to the time of year where you experience a lot of snow melt.
Think Tank
Are there other ways you could apply a module in a conditional situation? Chat with some of the team members in your office and come up with ideas of when to apply conditional modules and what type. Keep in mind that you must have a way to trigger these modules during that scenario. Use the module schemas found on CHPS 1 in the /awips/chps_local/schemas directory or look up the schemas on the Deltares Wiki for guidance.
Use the job sheet below to set up a conditional transformation.
Job Sheet: Creating a Conditional Transformation