Inflow

Inflow (and forecast) series are stored in historical.h5. They are standard EMPS-type timeseries. Due to normalization, the unit of the inflow series is not important. The shape is the important part. This makes it possible to use any unit for inflow series. Normalization allows for sharing the inflow series between different DETD modules without requiring any extra storage on disk for the input model.

As a convention, LTM-API expects the inflow series to be in m3/s. However, for the CLI version, it can be anything.

Inflow graph

Fig. 1: Visualization of an arbitrary inflow series

Normalization

A practical example. Given an inflow series with the following shape:

  • 10 m3/s for 2 weeks

  • 1 m3/s for 8 years, minus the 2 weeks

Over 8 EFI-years, the total number of days is 8 * 52 * 7 = 2912 days.

Total volume is (14 d * 10 m3/s) + (2898 d * 1 m3/s) = 3038 d * m3/s.

The inflow graph will be scaled to:

  • (2912/3038) * 10 m3/s = 9.5853 m3/s

  • (2912/3038) * 1 m3/s = 0.9585 m3/s

Note

The same calculation can be done with any other unit. Here is the same example using m3 as the unit. The important bit is to have a consistent time unit.

8-EFI years is (2912 days * 86400 seconds per day) = 251 596 800 seconds

Volume is (14 d * 86400 s * 10 m3/s) + (2898 d * 86400 s * 1 m3/s) = 262 483 200 m3

  • (251 596 800 s / 262 483 200 m3) * 10 m3/s = 9.5853 m3/s

  • (251 596 800 s / 262 483 200 m3) * 1 m3/s = 0.9585 m3/s

Inflow graph

Fig. 2: Visualization of an inflow series with 2 weeks with 10 m3/s inflow, while the remaining period has 1 m3/s of inflow.

Scaling

Scaling is done by multiplying the normalized inflow series with a scaling factor. A DETD module have 2 scaling factors, one for regulated inflow and one for unregulated inflow. For the API, reservoirs have the scalar regulated_inflow_scalar and plants have unregulated_inflow.

Utility-methods

pyltm has a submodule util. It contains methods to normalize, scale, and recalculate inflow series.