It describes the simple water budget component of JGrass-NewAGE. Water Budget is estimatedby integrating a non-lieanr partial differential equation. Information inside.
Blooming Together_ Growing a Community Garden Worksheet.docx
Jgrass newage-waterbudget
1. Bancheri
LINKERS
JGrass-NewAGE: WaterBudget component
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 teaches how to run the WaterBudget component inside the OMS 3
console. Some preliminary knowledge and installation of OMS is mandatory (see @Also
useful). This component deals with the water budget solution, for a defined layer. Given
the time series of the rainfall and of the potential evapotransipiration, the components
is able to estimate the water storage, to simulate the runoff and the actual
evapotranpiration for the considered layer, at different time-step. It also simulate the
possible drainage toward deeper layer. The package is perfectly integrated in the
JGrass-NewAge, and can be feeded by other components, like the one providing the
potential evapotranspiration and connected to calibration algorithms. Once parameters
are assigned according to the selected model, it can be used for the forecasting water
storage in a selected point.
@Version:
0.1
@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 coefficient 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.
@Doc Author: Marialaura Bancheri
@References:
• See References section below
Keywords: OMS; JGrass-NewAGE Component Description; Longwave radiation
estimation
2. Bancheri Page 2 of 11
Code Information
Executables
This link points to the jar file that, once downloaded can be used in the OMS console:
https://drive.google.com/folderview?id=0B2jvkPOc4ZvnbTZkTUJnbi1pem8&usp=
sharing
Developer Info
This contains point to the document that the Info more usable by developers than users,
i.e. information about the code internals, algorithms and the source code
https://github.com/Mariolina88/TravelTimeComponents/tree/master/src/main/
java/waterBudget
Also useful
To run JGrass-NewAGE it is necessary to know how to use the OMS console. Information
at: ”How to install and run the OMS console”,
http://www.javaforge.com/project/oms).
JGrasstools are required for preparing some input data (information at:
http://abouthydrology.blogspot.it/2012/11/udig-jgrasstools-resources-in-italian.
html
To visualize results you need a GIS. Use your preferred GIS, following its installation
instructions. To make statistics on the results, you can probably get benefits from R:
http://www.r-project.org/andfollowitsinstallationinstruction.
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 11
Component Description
This component solves the water budget, simulates the discharge and the actual evapo-
transpiration, 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 different 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 runoff from the
considered layer.
Detailed Inputs description
The input file should be in .csv format and each file must have the following structure:
• The first 3 rows with general information such as the date of the creation of the file
and the author;
• the fourth row contains the index of the column of the data (value index);
• the fifth row contains the ID of the station;
• the sixth row contains the information about the type of the input data (double);
• the seventh row specifies the date format (YYYY-MM-dd HH:mm).
All this information shown in the figure 1.
Figure 1 Heading of the .csv input file
4. Bancheri Page 4 of 11
The time series of rainfall
The rainfall is given in time series of [mm] for the investigated station .
The time series of the evapotranpiration
The evapotranpiration is given in time series of [mm] for the investigated station.
The time series of the discharge
The discharge is given in time series for the investigated station in [m3
/s]. The discharge
values are directly converted in to [mm], given the value of the area of the basin. This
values are needed in the case the user wants to solve the storage only using external
values, otherwise the component is able to simulate the discharge, using different models.
The value of the area of the basin
The value of the area of the basin is needed for the conversion of the different quantities
in [mm].
The value of the coefficient of the non linear reservoir model
The non linear reservoir model coefficient is given by the end user. It is adimensional and
can be obtained after calibration procedure.
The value of the exponent of the non linear reservoir model
The non linear reservoir model exponent is given by the end user. It is adimensional and
can be obtained after calibration procedure. Setting it equal to 1, it is possible to consider
a linear reservoir model.
The maximum value of the soil moisture
The value of the maximum soil moisture [mm] is needed for the simulation of the actual
ET, given the potential ET. In this way, since the AET is a function of the water storage,
it will be always less then the water storage value at the previous time-step.
The value of the recharge rate of the considered layer
In a model with more then one layer, the recharge rate of the lower layer is needed for
the computation of the part of the outflow that goes into direct runoff or infiltrates into
the layer.
The value of the product of the porosity and the depth of the root zone
This value is needed for the estimation of the soil moisture in the layer. All the quantities,
S, Q and AET, will be computed then from the soil moisture.
Detailed Outputs description
Water sorage
The water storage output is given as a time series at a given point. Its units are [mm].
Figure 2 shows the results of the simulation obtained using the data from a station in the
Adige river basin.
5. Bancheri Page 5 of 11
0 10000 20000 30000 40000
0.0000.0050.0100.0150.0200.0250.030
Water storage
Time[h]
S[mm]
Figure 2 Time series of water storage for a station in the Adige river basin.
Discharge
The discharge output is given as a time series at a given point. Its units are [mm]. Figure
3 shows the results of the discharge simulation obtained using the non linear reservoir
model.
6. Bancheri Page 6 of 11
0 10000 20000 30000 40000
0.00.51.01.5
Discharge
Time[h]
Q[mm]
Figure 3 Time series of discharge for a station in the Adige river basin.
Actual evapotranspiration
The actual evaotranspiration output is given as a time series at a given point. Its units
are [mm]. Figure 4 shows the results of the AET simulation obtained considering it a
function of the water storage.
7. Bancheri Page 7 of 11
0 10000 20000 30000 40000
0.00.20.40.60.81.0
Actual ET
Time[h]
AET[mm]
Figure 4 Time series of AET for a station in the Adige river basin.
Runoff
The runoff output is given as a time series at a given point. Its units are [mm]. Figure 5
shows the results of the runoff simulation, considering the maximum recharge rate of the
lower layer equal to 0.2 [mm].
8. Bancheri Page 8 of 11
0 10000 20000 30000 40000
0.00.20.40.60.81.01.2
Runoff from the layer
Time[h]
Qquick[mm]
Figure 5 Time series of runoff for a station in the Adige river basin.
Drainage
The drainage output is given as a time series at a given point. Its units are [mm]. Figure
6 shows the results of the runoff simulation, considering the maximum recharge rate of
the lower layer equal to 0.2 [mm].
9. Bancheri Page 9 of 11
0 10000 20000 30000 40000
0.000.050.100.150.20
Drainage toward the lower layers
Time[h]
R[mm]
Figure 6 Time series of drainage toward a deeper layer for a station in the Adige river basin.
Examples
The following .sim file is customized for the use of the WaterBudget component. The .sim
file can be downloaded from here:
https://drive.google.com/open?id=0B2jvkPOc4ZvnT1pJYlhjUDh1X1E
import static oms3.SimBuilder.instance as OMS3
def home = oms_prj
def statID =209
def startDate= "1994 -01 -01 00:00"
def endDate= "1998 -12 -31 00:00"
OMS3.sim {
resource "$oms_prj/lib/waterbudget -0.0.1 - SNAPSHOT -jar -with -
dependencies .jar"
model(while:" reader_data_J .doProcess") {
components {
" reader_data_J " "org. jgrasstools .gears.io. timedependent .
TimeSeriesIteratorReader "
" reader_data_Q " "org. jgrasstools .gears.io. timedependent .
TimeSeriesIteratorReader "
" reader_data_ET " "org.jgrasstools .gears.io. timedependent .
TimeSeriesIteratorReader "
"ws" "waterBudget. WaterBudget "
"writer_Out" "org. jgrasstools .gears.io. timedependent .
TimeSeriesIteratorWriter "
"writer_R" "org. jgrasstools .gears.io. timedependent .
TimeSeriesIteratorWriter "
}
parameter{
" reader_data_J .file" "${home }/ data/${statID }/ rainfall.
csv"
10. Bancheri Page 10 of 11
" reader_data_J .idfield" "ID"
" reader_data_J .tStart" "${startDate}"
" reader_data_J .tEnd" "${endDate}"
" reader_data_J .tTimestep" 60
" reader_data_J . fileNovalue " " -9999"
" reader_data_Q .file" "${home }/ data/${statID }/Q.csv"
" reader_data_Q .idfield" "ID"
" reader_data_Q .tStart" "${startDate}"
" reader_data_Q .tEnd" "${endDate}"
" reader_data_Q .tTimestep" 60
" reader_data_Q . fileNovalue " " -9999"
" reader_data_ET .file" "${home }/ data/${statID }/ET.csv"
" reader_data_ET .idfield" "ID"
" reader_data_ET .tStart" "${startDate}"
" reader_data_ET .tEnd" "${endDate}"
" reader_data_ET .tTimestep" 60
" reader_data_ET . fileNovalue " " -9999"
"ws. solver_model " "dp853"
"ws.Q_model" " NonLinearReservoir "
"ws.ET_model" "AET"
"ws.A" 115.4708483
"ws.a" 752.354367
"ws.b" 1.757444
"ws.s_max" 0.005704
"ws.nZ" 1
"ws.Re" 0.2
"ws.ID" "${statID}"
"ws.tStartDate" "${startDate}"
"ws.tEndDate" "${endDate}"
"writer_Out.file" "${home }/ output/Out_upper.csv"
"writer_Out.tStart" "${startDate}"
"writer_Out.tTimestep" 60
"writer_Out. fileNovalue " " -9999"
"writer_R.file" "${home }/ output/R_drain.csv"
"writer_R.tStart" "${startDate}"
"writer_R.tTimestep" 60
"writer_R.fileNovalue " " -9999"
}
connect {
" reader_data_J .outData" "ws. inPrecipvalues "
" reader_data_Q .outData" "ws. inDischargevalues "
" reader_data_ET .outData" "ws.inETvalues"
"ws. outHMUpperOut " "writer_Out.inData"
"ws.outHMR" "writer_R.inData"
}
}
}
Data and Project
The following link is for the download of the input data necessaries to execute the LWRB
component (as shown in the .sim file in the previous section ) :
https://drive.google.com/folderview?id=0B2jvkPOc4ZvnXy12eXdERUxLNDQ&usp=
sharing
The following link is for the download of the OMS project for LWRB component:
11. Bancheri Page 11 of 11
https://drive.google.com/folderview?id=0B2jvkPOc4ZvnOUp1RFd2QTBVOW8&usp=
sharing
%
References