Initialization¶
Contents
Initialization¶
CWatM needs to have estimates of the initial state of the internal storage variables, e.g. the amount of water stored in snow, soil, groundwater etc.
There are two possibilities:
The initial state of the internal storage variables are unknown and a first guess has to be used e.g. all storage variables are half filled.
The initial state is known from a previous run, where the variables are stored at a certain time step. This is called warm start
The warm start is usful for:
using a long pre-run to find the steady-state storage of the groundwater storage and use it as initial value
using the stored variables to shorten the warm-up period
using the stored variables to restart every day with the values from the previous day (forecasting mode)
Example of soil moisture¶
The next figure shows the impact of different initial condition on the soil moisture of the lower soil. In one of the simulations the soil is initially almost completely saturated. In another simulation the soil is completely dry and the third simulation starts with initial conditions in between the two extremes.
In the beginning the effect of different initial condition can be seen clearly. But after one year the three curves converge. The memory of the lower soil goes back for about one year.
For all the initial condition apart from groundwater, lakes and reservoirs the memory is about 12 month.
Figure: Simulation of soil moisture in the lower soil with different initial conditions
For the groundwater zone a longer warm-up period is needed, because of the slow response of groundwater. Here a rather fast reacting groundwater storage is shown with the three curves coverge after two years. We propose a warm-up of several decades. The longer the better.
Figure: Simulation of groundwater storage with different initial conditions
Cold start¶
For a cold start the values of the storage variables are unknown and set to a “first” guess. A list of variables and their default value for a cold start is given below in: Initial conditions
Set up a cold start in the settingsfile¶
In the settings file the option: load_initial has to be set on False
145#-------------------------------------------------------
146[INITITIAL CONDITIONS]
147#-------------------------------------------------------
148
149# for a warm start initial variables a loaded
150# e.g for a start on 01/01/2010 load variable from 31/12/2009
151load_initial = False
152initLoad = $(FILE_PATHS:PathRoot)/init/Rhine_19891231.nc
Note
It is possible to exclude the warming up period of your model run for further analysis of results by setting the SpinUp option
[TIME-RELATED_CONSTANTS]
SpinUp = 01/01/1995
Storing initial variables¶
In the settings file the option save_initial has to be set to True
The name of the initial netCDF4 file has to be put in initsave
and one or more dates have to be specified in StepInit
154# saving variables from this run, to initiate a warm start next run
155# StepInit = saving date, can be more than one: 10/01/1973 20/01/1973
156save_initial = False
157initSave = $(FILE_PATHS:PathRoot)/init/Rhine
158StepInit = 31/12/1989 31/12/2010
Warm start¶
CWatM can write internal variables to a netCDF file for choosen timesteps. These netCDF files can be used as the initial conditions for a suceeding simulation.
This is useful for establishing a steady-state after a long-term run and then using this steady-state for succeding simulations or for an every day run (forecasting mode)
Warning
If the parameters are changed after a run(especially the groundwater, lakes and reservoir parameters) the stored initial values do not represent the conditions of the storage variables. Stored initial conditions should not be used as initial values for a model run with another set of parameters. If you do this during calibration, you will not be able to reproduce the calibration results!
Set up a cold start in the settingsfile¶
In the settings file the option: load_initial has to be set on True And define the name of the netcdf4 file in initLoad
Note
Use the initial values of the previous day here. E.g. if you run the model from 01/01/2006 use the inital condition from 31/12/2005
145#-------------------------------------------------------
146[INITITIAL CONDITIONS]
147#-------------------------------------------------------
148
149# for a warm start initial variables a loaded
150# e.g for a start on 01/01/2010 load variable from 31/12/2009
151load_initial = False
152initLoad = $(FILE_PATHS:PathRoot)/init/Rhine_19891231.nc
Initial conditions¶
No. |
Variable |
Description |
Default value |
Number of maps |
|---|---|---|---|---|
1 |
SnowCover |
Snow cover for up to 7 zones |
0 |
7 |
2 |
FrostIndex |
Degree days frost threshold |
0 |
1 |
3 |
Forest state |
Interception storage |
0 |
1 |
Top water layer |
0 |
1 |
||
Soil storage for 3 soil layers |
0 |
3 |
||
4 |
Grassland state |
Interception storage |
0 |
1 |
Top water layer |
0 |
1 |
||
Soil storage for 3 soil layers |
0 |
3 |
||
5 |
Paddy irrigation state |
Interception storage |
0 |
1 |
Top water layer |
0 |
1 |
||
Soil storage for 3 soil layers |
0 |
3 |
||
6 |
Irrigation state |
Interception storage |
0 |
1 |
Top water layer |
0 |
1 |
||
Soil storage for 3 soil layers |
0 |
3 |
||
7 |
Sealed area state |
Interception storage |
0 |
1 |
8 |
Groundwater |
Groundwater storage |
0 |
1 |
9 |
Runoff concentration |
10 layers of runoff concentration |
0 |
10 |
10 |
Routing |
Channel storage |
0.2 * total cross section |
1 |
Routing |
Riverbed exchange |
0 |
1 |
|
Routing |
Discharge |
depending on ini channel stor. |
1 |
|
11 |
Lakes and Reservoirs |
Lake inflow |
from HydroLakes database |
1 |
Lake outflow |
same as lake inflow |
1 |
||
Lake&Res outflow to other lakes&res |
same as lake inflow |
1 |
||
Lake storage |
based on inflow and lake area |
1 |
||
Reservoir storage |
0.5 * max. reservoir storage |
1 |
||
Small lake storage |
based on inflow and lake area |
1 |
||
Small lake inflow |
from HydroLakes database |
1 |
||
Small lake outflow |
same as small lake inflow |
1 |

