Blog

Rainfall and snowmelt


openLISEM is an event based model that needs detailed rainfall intensity data over short timeintervals (such as 5-15 minutes). The rainfall units are always mm/h. There are two ways to enter rainfall (or snowmelt data): you use a combination of raingauge data and a map with corrsponding zones, or you use directly rainfall intensity maps (e.g. derived from satellite data or interpolated rainfall map series). Rainfall data is stored in a separate directory so that different rain storms can be used with the same spatial database.

RAINGAUGES AND RAINFALL ID MAP

Raingauge data is entered as a text file with the timeinterval in the first column and the rainfall data in columns 2-n. The timeinterval does not need to be regular. An example:

rainfall1

id_map

 

 

The value used is from the timeinterval from the previous line to the current line: e.g. 14.4 mm/h from minute 35 to minute 40. Station 1 and station 2 correspond with the input map ID.map that has two regions ’1′ and ’2′. These regions are replaced with the value from the rainfall text file in the present timestep: e.g. in timestep 37 min 10 sec the rainfall map has a value 14.40 in region 1 and 10.4 in region 2.

NOTE: make sure the openLISEM timestep is smaller than the rainfall file time interval.

RAINFALL MAPS

openLISEM can also read rainfall maps. These need to be PCRaster format maps with the same header and size as the rest of the database. A series of maps has to be provided in the rainfall directory. These maps can have any names but it is easier to use the PCRaster convention of using a counter as extention. That way the rainfall series can be shown in PCRaster as a mapseries. Also in this option a rainfall text file is given that looks as follows:

rainfall2

invdist_map

 

If you use satellite data some resampling has to be done because of the difference in resolution between the openLISEM database (generally < 100 m and the satellite imagery is e.g. 3 km). Below you see an example of a Meteosat Second Generation Multi-sensor Precipitation Estimate (MSGMSE) 15 min rainfall image for the 72 km2 Ribera Secca catchment in Capeverde. The Meteosat image has 15 pixels in this catchment which can be resampled directly (left) or by nearest neighbourhood (right).

trmm_capeverde

Apart from satellite data a PCRaster script could be used to produce interpolated maps, e.g. by inverse distance interpolation. The basic PCRaster script for this is:

binding
[... your code]
dynamic
P_stat = timeinputscalar(rainfall.tss, stations.map);
# get the rainfall values at the stations
idp = 2;
# inverse distance weight 2
Pinterpol = inversedistance(mask gt 0, P_stat, idp, 0, 0);
# inverse distance interpolation with power 2
report rain = Pinterpol*mask;
# restrict to area mask

where rainfall.tss is the rain station file and stations.map is a map with 0 and two points 1 and 2 where the stations are. The script produces a series of maps called “rain0000.001″, “rain0000.002″ etc.

SNOWMELT

Snowmelt works in the same way as rainfall, a snowmeltID.map is supplied and a text file giving the rate of snowmelt in mm/h. It is assumed however that the snowmelt is directly supplied to the soil, without interception and also without splash detachment.