Package PumpPotential for vle-2.0.2

The PumpPotential package provide two models called PumpPotential and AvailableWater and their corresponding configurations in order to facilitate the use of the model.
The PumpPotential model estimates the maximum daily water amount a pump can extract.
The AvailableWater model manage a temporary water tank where the irrigation water can be taken from.

Table of Contents

  1. Package dependencies
  2. Atomic model PumpPotential
    1. Configuring a PumpPotential Model
      1. Dynamics settings
      2. Parameters settings
      3. Input settings
      4. Output settings
      5. Observation settings
      6. Available configurations
    2. Details
  3. Atomic model AvailableWater
    1. Configuring a AvailableWater Model
      1. Dynamics settings
      2. Parameters settings
      3. Input settings
      4. Output settings
      5. Observation settings
      6. Available configurations
    2. Details

Package dependencies

List of required external packages (with link to distribution when available).


Atomic model PumpPotential

The PumpPotential model (using extension class DiscreteTimeDyn) estimate water flows from daily groundwater height and electricity duration.

Configuring a PumpPotential Model

Dynamics settings

To define the dynamic:

  • library : PumpPotential
  • name : PumpPotential

Parameters settings

List and information about all possible parameters (name, type, ismandatory, description with default value).

See documentation of DiscreteTimeDyn to get all available extension parameters (for example time_step)

Parameter name Type Is mandatory? Description
Altitude double [] default:100 soil surface altitude (m above sea level)
WellDepth double [] default:100 well depth (m below soil surface)
CoeffA double [] default:79.9308 coefficient A of the PumpFlow equation (m3 of water/m ground depth/h)
CoeffB double [] default:-0.728 coefficient B of the PumpFlow equation (-)
CoeffC double [] default:1 coefficient C of the PumpFlow equation (-)
Sy double [] default:0.005 Specific yield (-)
GWpixelArea double [] default:10000 surface of the groundwater pixel (m2)

Input settings

List and information about all possible input ports (name, type, description with units).

for model using extension discrete-time also include sync info

  • H : groundwater level (m above sea level) (double) (nosync)
  • PumpingDuration : electricity availability (hour/day) (double) (sync)

Output settings

List and information about all possible output ports (name, type, description with units).

  • WaterTableDepth : water table depth (m below soil surface) (double)
  • PumpFlow : maximum pump flow (m3 of water/hour) (double)
  • PumpMaxVol : maximum water volume reachable by the pump (m3 of water) (double)
  • AvailableWater : maximum available water (m3 of water /day) (double)

Observation settings

List and information about all possible observation ports (name, type, description with units).

  • WaterTableDepth : water table depth (m below soil surface) (double)
  • PumpFlow : maximum pump flow (m3 of water/hour) (double)
  • PumpMaxVol : maximum water volume reachable by the pump (m3 of water) (double)
  • AvailableWater : maximum available water (m3 of water /day) (double)

Available configurations

  • PumpPotential/PumpPotential : set all parameters with default values

Details

State variables equations

\[WaterTableDepth(t)=\max\left( \begin{array}{@{}ll@{}} 1.0 \\ Altitude - H(t-1) \end{array}\right) \label{eq:WaterTableDepth}\]

\[PumpFlow(t)=\left\{ \begin{array}{@{}ll@{}} 0.0, & \text{if}\ WaterTableDepth(t)>WellDepth \\ \max\left( \begin{array}{@{}ll@{}} 0.0 \\ CoeffA * WaterTableDepth(t)^{CoeffB} \end{array}\right), & \text{otherwise} \end{array}\right. \label{eq:PumpFlow}\]

\[PumpMaxVol(t)=\max\left( \begin{array}{@{}ll@{}} 0 \\ (WellDepth - WaterTableDepth(t)) * Sy * GWpixelArea \end{array}\right) \label{eq:PumpMaxVol}\]

\[AvailableWater(t)=\min\left( \begin{array}{@{}ll@{}} PumpMaxVol(t) \\ \max\left( \begin{array}{@{}ll@{}} 0.0 \\ PumpFlow(t) * PumpingDuration(t) * CoeffC \end{array}\right) \end{array}\right) \label{eq:AvailableWater}\]


Atomic model AvailableWater

The AvailableWater model (using extension class DiscreteTimeDyn) estimate ….

Configuring a AvailableWater Model

Dynamics settings

To define the dynamic:

  • library : PumpPotential
  • name : AvailableWater

Parameters settings

List and information about all possible parameters (name, type, ismandatory, description with default value).

See documentation of DiscreteTimeDyn to get all available extension parameters (for example time_step)

Parameter name Type Is mandatory? Description
n integer [] default:1 maximum number of days for water storage

Input settings

List and information about all possible input ports (name, type, description with units).

for model using extension discrete-time also include sync info

  • GWVol : groundwater volume (m3 of water) (double) (nosync)
  • Irrigation : daily irrigation (m3 of water) (double) (nosync)
  • PumpFlow : maximum available water (m3 of water /day) (double) (sync)

Output settings

List and information about all possible output ports (name, type, description with units).

  • CurrentAvailableWater : maximum available water (m3 of water /day) (double)

Observation settings

List and information about all possible observation ports (name, type, description with units).

  • CurrentAvailableWater : maximum available water (m3 of water /day) (double)

Available configurations

List and information about all configuration metadata files

  • PumpPotential/AvailableWater : set all parameters with default values

Details

State variables equations

A buffer of size n stores the last n values of PumpFlow. When Irrigation(-1) > 0, all values in this buffer are reset to 0.

\(tmp\_CurrentAvailableWater(t) = sum\{buffer\}\) \(tmp\_CurrentAvailableWater = min\{tmp\_CurrentAvailableWater, GWVol(-1)\}\)

\(CurrentAvailableWater(t) = tmp\_CurrentAvailableWater/2.0\)