Initialization

Initialization

CWatM needs estimates of the initial state of 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 is 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 conditions on soil moisture in 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.

At first, the effects of different initial conditions are clearly visible. But after one year the three curves converge. The memory of the lower soil extends back about 1 year.

For all initial conditions other than groundwater, lakes, and reservoirs, the memory is about 12 months.

_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 due to the groundwater’s slow response. Here, a rather fast-reacting groundwater storage is shown, with the three curves converging 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 chosen timesteps. These netCDF files can be used as the initial conditions for a succeeding simulation.

This is useful for establishing a steady-state after a long-term run and then using this steady-state for succeeding simulations or for an everyday 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 reflect 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