HypSim

This function performs a hypothetical simulation with user specified values and returns user-requested result values from the simulation.

Description

Hypothetically simulate a portion of the workspace with user input values and return requested result values.

Type

LIST {NUMERIC}

Arguments

Type

Meaning

1

STRING

Subbasin name over which to perform the hypothetical simulation.
If there is no Subbasin with the given name, the string is taken to be the name of an object and a temporary Subbasin is created containing only that object.

An error will be issued if this subbasin contains a Data Object.

2

LIST { LIST { SLOT, NUMERIC, DATETIME } }

Fixed value(s) the user would like to set in each hypothetical simulation. Each item in the list is a list itself containing a slot, the value to set, and the timestep at which to set it.

3

LIST { LIST { SLOT, DATETIME } }

Output(s) to get back from the simulation - each output must specify the slot and the timestep from which to return a value

4

NUMERIC

The minimum number of timesteps before and after the current timestep which might be involved in the simulation. As part of hypothetical simulation RiverWare makes copies of the objects in the subbasin and this input is used to determine how much data should be copied from each object. One can usually set this value to 0 and RiverWare will use a heuristic to determine the range over which to copy data. If this function fails because there was not enough data on some object, then input a higher value.

Evaluation

When function is executed, a hypothetical simulation is initiated where the fixed values are set on the specified slots, the portion of the workspace specified by the Subbasin is simulated, and the values of the output slots are returned as a list.

Comments

This simulation is hypothetical in that none of the actual values on any objects in the workspace will be modified by hypothetical simulation within a rule. HypSim does not support accounting or optimization functionality.

HypSim was originally named HypotheticalSimulation.

 
HypSim("upper basin", {{Navajo.Outflow, 1000 "cfs", @"t"}, {FlamingGorge.Outflow, 1000 "cfs", @"t"}}, {{GreenColorado.Outflow, @"t + 1 Timesteps"}, {SanJuanColorado.Outflow, @"t + 2 Timesteps"}})
 
{2.83 "cms", 2.86 "cms"}