Input data
Rameau relies on several input data to run a simulation.
Meteorological data
Meteorological data time series are required for each simulated watershed. Date frequency needs to be consistent between the provided rainfall, PET, temperature, and snowfall data. Mandatory fields are the rainfall and PET input data. Optional fields are the temperature and snowfall if snow accumulation and melting are to be taken into account.
Other data
Observed river flows and groundwater levels are required for parameter estimation and evaluation of the model. These data will be compared to the simulated time series.
Pumping data can also be provided if river and/or groundwater pumping are to be taken into account.
Missing data
For meteorological data, only constant date frequency is allowed (e.g. daily, hourly, etc.). Meteorological data must be strictly continuous (i.e. no gaps).
For the other input data, missing data are allowed. -2 is used to represent missing data in the observed river flow and 9999 in the observed groundwater level.
Dates of pumping, observed river flows and groundwater levels data do not necessarily need to be consistent either between each other or with the meteorological data. They do not have to be continuous. However, their dates must be consistent with the dates provided in the meteorological inputs to be taken into account in the simulation. If not, data will simply be ignored.
Time step
The model time step is inferred from the date frequency of the meteorological data. If only one date is provided, the default time step is one day.
If the time_step key is provided in the [input_format] table, this value
overrides the inferred date frequency of the meteorological data.
[input_format]
# Overrides the eventually inferred time step from rainfall data
time_step = { days = 10 }
Providing input data
In Rameau, input data are either provided through the Python API (see
InputCollection) or through text files. The format of these files is described
below.
Input data text format
In Rameau, input data can be stored in text files. The format of these files is:
A mandatory first header line in free format, which is not interpreted by the program.
A succession of data lines corresponding to a succession of time steps.
Each data line contains the same number of columns separated by either spaces or tabulations. Data are stored using a point as a decimal separator. Scientific format is allowed.
The first column contains either dates or data values. An example of file using dates is shown below:
Example of input data text file with dates
# Date 1 2 3
# 2000-01-01 0.2 0.4 0.5
# 2000-01-02 0.3 0.6 0.7
# 2000-01-03 0.3 0.6 0.7
In this case, column numbering starts from the second column. Authorized date formats are:
day first format (01/01/2000)
international format (2000-01-01)
Information about hours, minutes and seconds can either be omitted or present (e.g. 2000-01-01 00:00:00).
Now we have the same file but without dates:
Example of input data text file without dates
# 1 2 3
# 0.2 0.4 0.5
# 0.3 0.6 0.7
# 0.3 0.6 0.7
In this case, column numbering starts from the first column and dates need to be
inferred from the starting_date and time_step keys of the [input_format]
table of the TOML configuration file:
[input_format]
starting_date = 2000-01-01
time_step = { days = 1 }
If not provided, the default starting date is 1900-01-01 and the default time
step is one day. These information can also be provided using the Python API
with the input_format keyword when instantiating an InputCollection object through
the InputCollection.from_files method. See also InputFormat.
Column numbering starts from 1 and can be used to assign the data to the
watershed with the meteo.columns key in the TOML configuration file in
case of meteorological data (see below).
Rameau distinguishes two kind of input data: meteorological data and others.
Meteorological data
Meteorological data correspond to rainfall, PET, temperature, and snowfall.
For meteorological input data files, column numbers are entered for each
watershed as a list in the meteo.columns keys of the TOML configuration
file. Default value for the meteo.columns is the watershed position in the
order of appearance of the watershed in the tree configuration file.
The computed meteorological time series (rainfall, PET, snowfall, or
temperature) for a given watershed are derived from the weighted average of the
meteorological time series assigned to the meteo.columns key values using
the meteo.weights key values as weights. Default value for the
meteo.weights is one.
Let’s consider an example. We have the following tree configuration file:
Example of tree configuration file
Id Downstream
1 0
3 1
2 1
and the associated physical parameters in the TOML configuration file:
[watershed.1]
meteo.columns = [1, 2]
meteo.weights = [1, 0.5]
[watershed.2]
meteo.columns = [2, 3]
meteo.weights = [0.5, 1]
[watershed.3]
meteo.columns = [1, 3]
meteo.weights = [0.3, 0.8]
For the 2000-01-01 date, meteo values \(P_i\) for the watershed with id \(i\) will be:
Meteorological data in multiple files
By default, all the meteo data need to be stored in a single file. It is also
possible to store data in separate text files whose paths are stored in a master
text file. To do so, simply set to true the meteo_files key in the TOML
configuration file:
[input_format]
meteo_files = true
This master text file will be filled in the [files] table of the TOML
configuration file.
Let’s consider the two following precipitation data precip_A.txt and precip_B.txt stored in a directory named data:
precip_A.txt
# Date 1 2 3
# 2000-01-01 0.2 0.4 0.5
# 2000-01-02 0.3 0.6 0.7
# 2000-01-03 0.3 0.6 0.7
precip_B.txt
# Date 1 2 3
# 2000-01-04 1.2 1.4 1.5
# 2000-01-05 1.3 1.6 1.7
# 2000-01-06 1.3 1.6 1.7
Then the master text file precip.txt will be:
precip.txt
data/A.txt
data/B.txt
Note that dates are continuous and consistent between the two data files.
Other data
For the other input data files (observed river flow or groundwater level, pumping data, etc.), the column numbering starts from 1 in the file and corresponds to the order of appearance of the watershed in the tree configuration.
Considering the previous tree configuration file example, the time series under column 1 corresponds to the watershed with id 1, column 2 corresponds to the watershed with id 3, and column 3 corresponds to the watershed with id 2.
Specifying file paths
The [files] table contains a files key, which specifies the file paths
of the input data. rainfall and pet are required. An empty string means
no data for the input data type.
If a temperature data file path is provided, snow is automatically activated in the model. To disable snow, you must assign an empty string or comment the line.
Note that file paths for simulation initial states and tree configuration file are also provided here.
[files]
rainfall = "rainfall.csv"
pet = "pet.csv"
temperature = "temperature.csv"
snow = "snow.csv"
riverobs = "riverobs.csv"
groundwaterobs = "groundwaterobs.csv"
riverpumping = "riverpumping.csv"
groundwaterpumping = "groundwaterpumping.csv"
states = "states.csv"
tree = "tree.csv"