It describe how to build a modelling solution with the Simple Water Budget component of JGrass-NewAGE. Se the companion documentation regarding the component itself
1. Bancheri
MODELING SOLUTION
JGrass-NewAGE: Water budget
Marialaura Bancheri
Correspondence:
marialaura.bancheri@unitn.it
Dipartimento di Ingegneria Civile
Ambientale e Meccanica, Trento,
Mesiano di Povo, Trento, IT
Full list of author information is
available at the end of the article
Abstract
This pages illustrate a modeling solution, i.e. a composition of components that
perform a modeling task. In particular, this modeling solution solves the water budget
equation, according to di↵erent models chosen by the end-user. This modeling solution
includes the solution of the water budget equation, a calibration procedure and a
verification procedure. The water budget simulations were done using the WaterBudget
component, which is perfectly integrated in the NewAge System, and it is fed by other
components, like the one providing the evapotranspiration.The calibration procedure
allowed to estimate site-specific parameters of the models in order to fit measured data.
To this aim, we used the LUCA calibration algorithm , which is a part of the OMS core
and is able to optimize parameters of any OMS component. Eventually, the verification
was performed by using several goodness of fit estimator, such as the Kling-Gupta
E ciency (KGE) and the root mean square (RMSE) deviations.
@Version:
0.1
@Date:
2015-11-13
@License:
GPL v. 3
@Inputs:
• The time series of the rainfall [mm];
• the time series of the evapotranspiration [mm];
• the time series of the discharge [m3
/s];
• the value of the area of the basin [km2
];
• the value of the coe cient of the non linear reservoir model [-];
• the value of the exponent of the non linear reservoir model[-];
• the maximum value of the soil moisture [mm];
• the value of the recharge rate of the considered layer [mm];
• the value of the product on the porosity and the depth of the root zone.
@Outputs:
• The time series of the water storage;
• the time series of the discharge;
• the time series of the the actual evapotranspiration;
• the time series of the drainage from the layer.
@References:
• Bancheri
Keywords: OMS; JGrass-NewAGE Modeling Solution
Code Information
Code repository
This points to the .sim file that builds the modeling solution:
• Water budget .sim file: https://drive.google.com/file/d/0B2jvkPOc4ZvnT1pJYlhjUDh1X1E
view?usp=sharing
2. Bancheri Page 2 of 5
• LUCA calibration file: https://drive.google.com/file/d/0B2jvkPOc4ZvnUmdNRl9MNjV4UkU/
view?usp=sharing
List of model components used
• WaterBudget
• LUCA
All the .jar file are available at: https://drive.google.com/folderview?id=0B2jvkPOc4ZvnbTZkTUJnbi1pe
usp=sharing
Users’ Info
This contains point to the document that the Info more usable by users than de-
velopers, i.e. information about the code usage https://github.com/Mariolina88/
TravelTimeComponents/tree/master/src/main/java/waterBudget
To whom address questions
marialaura.bancheri@unitn.it
Authors of documentation
Marialaura Bancheri (marialaura.bancheri@unitn.it)
This documentation is released under Creative Commons 4.0 Attribution International
3. Bancheri Page 3 of 5
Overall scope of the Modeling Solution
This modeling solution estimates the water budget, simulates the discharge and the actual
evapotranspiration, according to the model chosen. The equation solved is:
dS
dt
= J Q AET (1)
where S is the water storage, J is the precipitation, Q the discharge and AET is the actual
evapotranspiration. Both the discharge and the actual evepotranspiration can be given
values or estimated from the S, according to di↵erent models, i.e.:
Q = aSb
(2)
AET =
S
Smax
ET (3)
where ET is the potential evapotranspiration. Also the soil moisture can be modeled,
considering the porosity (n) and the depth of the root zone (Z). In this case, the equation
solved is:
nZ
ds
dt
= J Q AET (4)
The component, given the maximum recharge rate of the lower layer (Re), is also able
to estimate the drainage toward the deeper layers and, thus, the direct runo↵ from the
considered layer. The values of the parameters a, b , Smax, nZ and Re can be optimized
in order to fit the measured discharge data. To this aim, we used the LUCA calibration
algorithm proposed in (? ), which is a multiple-objective, stepwise, automated procedure.
It is based on two elements: a search algorithm and the objective function(s) to evaluate
model performance. The used global searching algorithm is the Shu✏ed Complex Evolu-
tion ((? )), which synthesizes deterministic and probabilistic concepts, controlled random
search, competitive evolution, and complex shu✏ing approaches. As objective function
we used the Kling-Gupta E ciency (KGE). KGE, presented in (? ) is able to synthesize
in one objective function three di↵erent components from measured (M) and simulated
(S) data: (i) correlation coe cient (r), (ii) variability error (a = S/ M ) and (iii) bias
error (b=µS/µM ) ; µM are the mean values of measured and simulated time series, and
S and M are the standard deviations of measured and simulated time series.
KGE = 1
p
(r 1)2 + (a 1)2 + (b 1)2 (5)
The calibration procedure for the parameters follows these steps:
• The entire dataset of available measurements is divided in two parts, one for the
calibration and one for the validation;
• Parameters a, b , Smax, nZ and Re are optimized using the calibration period;
• The validation dataset is used to estimate the GOF indices.
Components diagram
The WaterBudget package (figure1) is perfectly integrated in the NewAge System. Model
input depends on the selected model and on observations (rainfall, discharge and potential
4. Bancheri Page 4 of 5
ET). The component, once parameters are assigned, can be used for simulate the water
storage, the runo↵ and AET in points. However, for the scope of parameters calibration,
it can be connected to the NewAge and OMS3 calibration algorithms, for maximizing the
various goodness of fit estimators.
Figure 1 Modeling Solution for the calibration of the parameters
Sim File Snippets
The following part contains relevant code snippets that explain the peculiarities of this
sim file.
import static oms3.SimBuilder .instance as OMS3
import static oms3.SimBuilder .*
def home=oms_prj
def statID =132
luca = OMS3.luca_run(name:"Luca",
{
// Define the path of the outputs
outputstrategy (dir: "$oms_prj/output", scheme:SIMPLE)
model () {
components {
// Define the components
}
parameter{
// Define the parameters
// input , output , startDate , andDate
}
connect {
// Define the connections between the components
}
}
// Calibration rounds
rounds 2
5. Bancheri Page 5 of 5
// Calibration start and end dates
run_start "2002 -01 -01"
calibration_start "2002 -01 -01"
run_end "2003 -01 -01"
// step definitions
step {
parameter {
// parameters to optimize
"ws_a" (lower :0.1 , upper :1000 , calib_strategy :MEAN)
"ws_b" (lower :1, upper :8, calib_strategy :MEAN)
"ws_s_max" (lower :0.00000001 , upper :0.01 , calib_strategy :MEAN)
"ws_nZ" (lower :0.1 , upper :1, calib_strategy :MEAN)
"ws_Re" (lower :0.0001 , upper :1, calib_strategy :MEAN)
}
// objective function
objfunc(method: NS , timestep:RAW , invalidDataValue : -9999) {
sim(file: "${home }/ output/output.csv" , table:"table", column
:"value_1")
obs(file:"${home }/ data /209/ Q_mm_ok.csv", table:"table", column
:"value_209")
}
// numer of ecexutions
max_exec 100
}})
Data necessary to reproduce the MS
The following link is for the download of the input data necessaries to execute the modeling
solution :
https://drive.google.com/drive/folders/0B2jvkPOc4ZvnX05WSGl4a04yc0k
The following link is for the download of the OMS project for LWRB component:
https://drive.google.com/folderview?id=0B2jvkPOc4ZvnWklxZktxQlhDcHM&usp=
sharing