Initialization

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:

  1. 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.

  2. 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.

_images/init_soilmoisture.jpg

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.

_images/init_groundwater.jpg

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