diff --git a/src/lisflood/Lisflood_dynamic.py b/src/lisflood/Lisflood_dynamic.py
index e5ffe47d..f12c64fb 100644
--- a/src/lisflood/Lisflood_dynamic.py
+++ b/src/lisflood/Lisflood_dynamic.py
@@ -209,7 +209,6 @@ def splitlanduse(array1, array2=None, array3=None):
# # Total channel storage [m3] = Volume in main channel (ChanM3Kin) + volume above bankfull (Chan2M3Kin - Chan2M3Start)
# # at t+dt
-
self.TotalCrossSectionArea = self.ChanM3 * self.InvChanLength
# Total river channel cross-section area at t+dt
@@ -240,7 +239,6 @@ def splitlanduse(array1, array2=None, array3=None):
#self.DischargeM3Out += np.where(self.AtLastPointC ,self.ChanQ * self.DtSec,0)
self.DischargeM3Out += np.where(self.AtLastPointC, self.ChanQAvg * self.DtSec, 0)
# Cumulative outflow out of map
- # cmcheck - we should use ChanQAvg here not ChanQ
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
# Calculate water level
diff --git a/src/lisflood/Lisflood_initial.py b/src/lisflood/Lisflood_initial.py
index 346c1dff..e77b418b 100644
--- a/src/lisflood/Lisflood_initial.py
+++ b/src/lisflood/Lisflood_initial.py
@@ -49,6 +49,7 @@
from .hydrological_modules.surface_routing import surface_routing
from .hydrological_modules.reservoir import Reservoir
from .hydrological_modules.lakes import lakes
+from .hydrological_modules.mctconfluence import mctconfluence
from .hydrological_modules.polder import polder
from .hydrological_modules.waterabstraction import waterabstraction
from .hydrological_modules.indicatorcalc import indicatorcalc
@@ -138,6 +139,7 @@ def __init__(self):
self.surface_routing_module = surface_routing(self)
self.reservoir_module = Reservoir(self) # get_reservoir(option['reservoirHanazaki'])
self.lakes_module = lakes(self)
+ self.mctconfluence_module = mctconfluence(self)
self.polder_module = polder(self)
self.waterabstraction_module = waterabstraction(self)
self.indicatorcalc_module = indicatorcalc(self)
@@ -189,10 +191,12 @@ def __init__(self):
self.snow_module.initial()
self.frost_module.initial()
+
self.leafarea_module.initial()
- self.soilloop_module.initial()
+ self.soilloop_module.initial()
self.soil_module.initial()
+
self.routing_module.initial()
self.groundwater_module.initial()
@@ -201,6 +205,8 @@ def __init__(self):
self.inflow_module.initial()
self.surface_routing_module.initial()
+ # At this point LddChan and LddKinematic do not have any structure reservoirs/lakes MCT confluence
+
self.reservoir_module.initial()
self.lakes_module.initial()
self.polder_module.initial()
@@ -209,17 +215,28 @@ def __init__(self):
self.structures_module.initial()
# Structures such as reservoirs and lakes are modelled by interrupting the channel flow paths
+ # At this point LddKinematic and LddChan have pits upstream of (structures) reservoirs and lakes
+
+ if option.get('MCTRoutingInterface'):
+ self.mctconfluence_module.initial()
+ # initialising MCT confluence points and adding MCT confluence sinks to the LDD
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
self.routing_module.initialSecond()
# CHANNEL INITIAL SPLIT UP IN SECOND CHANNEL
+
self.surface_routing_module.initialSecond()
+ # MCT confluence must be in the LddKinematic at this point
+ self.routing_module.initialKinematicWave()
+
if option.get('MCTRouting'):
self.routing_module.initialMCT()
# initialising Muskingum-Cunge-Todini routing for channel
+ if option.get('MCTRoutingInterface'):
+ self.mctconfluence_module.dynamic_init()
self.evapowater_module.initial()
self.riceirrigation_module.initial()
diff --git a/src/lisflood/global_modules/add1.py b/src/lisflood/global_modules/add1.py
index 76237671..97245f13 100755
--- a/src/lisflood/global_modules/add1.py
+++ b/src/lisflood/global_modules/add1.py
@@ -183,7 +183,7 @@ def loadsetclone(name):
# settings x is first
# setclone row col cellsize xupleft yupleft
try:
- setclone(int(coord[1]), int(coord[0]), float(coord[2]), float(coord[3]), float(coord[4])) # CM: pcraster
+ setclone(int(coord[1]), int(coord[0]), float(coord[2]), float(coord[3]), float(coord[4])) # pcraster
except:
rem = "["+str(coord[0])+" "+ str(coord[1])+" "+ str(coord[2])+" "+ str(coord[3])+" "+str(coord[4])+"]"
msg = "Maskmap: " + rem + \
@@ -357,7 +357,7 @@ def loadmap_base(name, pcr=False, lddflag=False, timestampflag='exact', averagey
:param name: name of key in Settings.xml input file containing path and name of the map file (as string)
:param pcr: flag for output maps in pcraster format
- :param lddflag: flag for local drain direction map (CM??)
+ :param lddflag: flag for local drain direction map
:param timestampflag: look for exact time stamp in netcdf file ('exact') or for the closest (left) time stamp available ('closest')
:param averageyearflag: if True, use "average year" netcdf file over the entire model simulation period
:param force_load_with_nans: if True, loads the map without checking for nan values inside area Map.
@@ -709,11 +709,11 @@ def readnetcdf(name, time, timestampflag='exact', averageyearflag=False):
t_steps = nf1.variables['time'][:] # get values for timesteps ([ 0., 24., 48., 72., 96.])
t_unit = nf1.variables['time'].units # get unit (u'hours since 2015-01-01 06:00:00')
t_cal = get_calendar_type(nf1)
- # CM: get year from time unit in case average year is used
+ # get year from time unit in case average year is used
if averageyearflag:
- # CM: get date of the first step in netCDF file containing average year values
+ # get date of the first step in netCDF file containing average year values
first_date = num2date(t_steps[0], t_unit, t_cal)
- # CM: get year of the first step in netCDF file containing average year values
+ # get year of the first step in netCDF file containing average year values
t_ref_year = first_date.year
settings = LisSettings.instance()
binding = settings.binding
@@ -733,7 +733,7 @@ def readnetcdf(name, time, timestampflag='exact', averageyearflag=False):
try:
currentDate = currentDate.replace(year=t_ref_year)
except:
- # CM: if simulation year is leap and average year is not, switch 29/2 with 28/2
+ # if simulation year is leap and average year is not, switch 29/2 with 28/2
currentDate = currentDate.replace(day=28)
currentDate = currentDate.replace(year=t_ref_year)
@@ -747,9 +747,9 @@ def readnetcdf(name, time, timestampflag='exact', averageyearflag=False):
msg = "Date " + str(currentDate) + " not stored in " + filename
raise LisfloodError(msg)
elif (timestampflag == 'closest'):
- # CM: get the closest value
+ # get the closest value
current_ncdf_step_new = takeClosest(t_steps, current_ncdf_step)
- # CM: set current_ncdf_step to the closest available time step in netCDF file
+ # set current_ncdf_step to the closest available time step in netCDF file
current_ncdf_step = current_ncdf_step_new
# get index of timestep in netCDF file corresponding to current simulation date
diff --git a/src/lisflood/global_modules/checkers.py b/src/lisflood/global_modules/checkers.py
index 33bc1c24..058e667b 100755
--- a/src/lisflood/global_modules/checkers.py
+++ b/src/lisflood/global_modules/checkers.py
@@ -26,7 +26,7 @@
from ..hydrological_modules import (surface_routing, evapowater, snow, routing, leafarea, inflow, waterlevel,
waterbalance, wateruse, waterabstraction, lakes, riceirrigation, indicatorcalc,
landusechange, frost, groundwater, miscInitial, soilloop, soil,
- reservoir, transmission)
+ reservoir, transmission, mctconfluence)
class ModulesInputs:
diff --git a/src/lisflood/global_modules/default_options.py b/src/lisflood/global_modules/default_options.py
index 94181f80..9b1fc742 100644
--- a/src/lisflood/global_modules/default_options.py
+++ b/src/lisflood/global_modules/default_options.py
@@ -10,6 +10,7 @@
'MonteCarlo': False,
'SplitRouting': False,
'MCTRouting': False,
+ 'MCTRoutingInterface': False,
'TemperatureInKelvin': False,
'TransLoss': False,
'TransientLandUseChange': False,
@@ -1288,6 +1289,7 @@
'repwateruseGauges': False,
'repwateruseSites': False,
'riceIrrigation': False,
+ 'simulateCalibrationPoints': False,
'simulateLakes': False,
'simulatePF': False,
'simulatePolders': False,
diff --git a/src/lisflood/global_modules/netcdf.py b/src/lisflood/global_modules/netcdf.py
index bb7d7cdb..6e25fe24 100644
--- a/src/lisflood/global_modules/netcdf.py
+++ b/src/lisflood/global_modules/netcdf.py
@@ -530,8 +530,8 @@ def write_netcdf_header(settings,
# time coordinates and associated values
if frequency is not None: # output file with "time" dimension
n_steps = len(rep_steps)
- #Get initial and final dates for data to be stored in nerCDF file
- # CM: Create time stamps for each step stored in netCDF file
+ # Get initial and final dates for data to be stored in nerCDF file
+ # Create time stamps for each step stored in netCDF file
all_dates = np.array([start_date + datetime.timedelta(days=(int(d)-1)*DtDay) for d in rep_steps])
all_steps = np.array(rep_steps)
if frequency == "all":
@@ -556,16 +556,16 @@ def write_netcdf_header(settings,
time = nf1.createVariable('time', float, ('time'))
time.standard_name = 'time'
time.calendar = binding["calendar_type"]
- # CM: select the time unit according to model time step
+ # select the time unit according to model time step
DtDay_in_sec = DtDay * 86400
if DtDay_in_sec >= 86400:
# Daily model time steps or larger
time.units = 'days since %s' % start_date.strftime("%Y-%m-%d %H:%M:%S.0")
elif DtDay_in_sec >= 3600 and DtDay_in_sec < 86400:
- # CM: hours to days model time steps
+ # hours to days model time steps
time.units = 'hours since %s' % start_date.strftime("%Y-%m-%d %H:%M:%S.0")
elif DtDay_in_sec >= 60 and DtDay_in_sec <3600:
- # CM: minutes to hours model time step
+ # minutes to hours model time step
time.units = 'minutes since %s' % start_date.strftime("%Y-%m-%d %H:%M:%S.0")
nf1.variables["time"][:] = date2num(time_stamps, time.units, time.calendar)
diff --git a/src/lisflood/global_modules/settings.py b/src/lisflood/global_modules/settings.py
index d60a93bd..9cfd2df0 100755
--- a/src/lisflood/global_modules/settings.py
+++ b/src/lisflood/global_modules/settings.py
@@ -507,7 +507,7 @@ def _out_dir(user_settings):
else:
pathout = pathout.replace(pathout[a1:a2 + 1], s2)
- # CM: output folder
+ # output folder
return pathout
@staticmethod
@@ -790,13 +790,13 @@ def inttodate(int_in, ref_date, binding=None):
settings = LisSettings.instance()
binding = settings.binding
- # CM: get model time step as float form 'DtSec' in Settings.xml file
+ # get model time step as float form 'DtSec' in Settings.xml file
DtSec = float(binding['DtSec'])
- # CM: compute fraction of day corresponding to model time step as float
+ # compute fraction of day corresponding to model time step as float
DtDay = DtSec / 86400.
# Time step, expressed as fraction of day (same as self.var.DtSec and self.var.DtDay)
- # CM: compute date corresponding to intIn steps from reference date refDate
+ # compute date corresponding to intIn steps from reference date refDate
stepDate = ref_date + datetime.timedelta(days=(int_in * DtDay))
return stepDate
diff --git a/src/lisflood/global_modules/stateVar.py b/src/lisflood/global_modules/stateVar.py
index ce17e659..704c6955 100755
--- a/src/lisflood/global_modules/stateVar.py
+++ b/src/lisflood/global_modules/stateVar.py
@@ -20,7 +20,7 @@
from .add1 import *
-# CM: new-style class in Python 2.x
+# new-style class in Python 2.x
class stateVar(object):
"""
diff --git a/src/lisflood/hydrological_modules/inflow.py b/src/lisflood/hydrological_modules/inflow.py
index ebbe712d..e24cf55e 100755
--- a/src/lisflood/hydrological_modules/inflow.py
+++ b/src/lisflood/hydrological_modules/inflow.py
@@ -54,6 +54,7 @@ def initial(self):
# ************************************************************
settings = LisSettings.instance()
option = settings.options
+
if option['inflow']:
self.var.InflowPoints = loadmap('InflowPoints') #1D array size is pixels belonging to basin mask
@@ -110,7 +111,7 @@ def dynamic_init(self):
settings = LisSettings.instance()
option = settings.options
if option['inflow']:
- self.var.QDelta = (self.var.QInM3 - self.var.QInM3Old) * self.var.InvNoRoutSteps
+ self.var.QDeltaM3 = (self.var.QInM3 - self.var.QInM3Old) * self.var.InvNoRoutSteps
# difference between old and new inlet flow per sub step
# in order to calculate the amount of inlet flow in the routing loop
@@ -146,6 +147,6 @@ def dynamic_inloop(self, NoRoutingExecuted):
if option['inflow']:
- self.var.QInDt = (self.var.QInM3Old + (NoRoutingExecuted + 1) * self.var.QDelta) * self.var.InvNoRoutSteps
+ self.var.QInM3Dt = (self.var.QInM3Old + (NoRoutingExecuted + 1) * self.var.QDeltaM3) * self.var.InvNoRoutSteps
# flow from inlets per sub step
- self.var.QinADDEDM3 += self.var.QInDt
+ self.var.QinADDEDM3 += self.var.QInM3Dt
diff --git a/src/lisflood/hydrological_modules/kinematic_wave_parallel.py b/src/lisflood/hydrological_modules/kinematic_wave_parallel.py
index 1f4d5fd2..dbb50b02 100755
--- a/src/lisflood/hydrological_modules/kinematic_wave_parallel.py
+++ b/src/lisflood/hydrological_modules/kinematic_wave_parallel.py
@@ -74,6 +74,7 @@ def streamLookups(flow_dir, land_mask):
'''
Compute the downstream lookup vector for a D8 water flow channel network,
i.e. the adjecency list of the directed graph describing flow direction from each pixel.
+ Each land_mask pixel is assigned a unique id from 0 to numpix-1, numbered by row
Arguments:
flow_dir (numpy.ndarray): LISFLOOD flow matrix values (FLOW_CODE).
land_mask (numpy.ndarray): land mask on coordinate mesh.
@@ -82,12 +83,20 @@ def streamLookups(flow_dir, land_mask):
upstream lookup (numpy.ndarray): each row gives the immediately upstream pixels (-1 = fill value); size = num_pixels, max_ups_pixs <= 8
'''
flow_dir[~land_mask] = 8 # exceeds number of rows of IX_ADDS
+ # assign 8 to all pixels not belonging to land_mask
num_pixs = land_mask.sum()
+ # count number of pixels in land_mask
+
# Create 2D array of indices of land pixels (each index is unique)
# The IDs are numbered from 0 to num_pixs-1
land_points = -np.ones(land_mask.shape, int)
land_points[land_mask] = np.arange(num_pixs, dtype=int)
+ # every land pixel has now a unique id (pixel id)
+
downstream_lookup, upstream_lookup = kwpt.upDownLookups(flow_dir, np.ascontiguousarray(land_mask).astype(np.uint8), land_points, num_pixs, IX_ADDS)
+ # downstream_lookup[i] = index of the cell receiving flow from node i
+ # upstream_lookup[i, :] = indices of all cells draining into node i
+
max_num_ups_pixs = max(1, np.any(upstream_lookup != -1, 0).sum()) # maximum number of upstreams pixels
return downstream_lookup, np.ascontiguousarray(upstream_lookup[:,:max_num_ups_pixs]).astype(int)
diff --git a/src/lisflood/hydrological_modules/mct.py b/src/lisflood/hydrological_modules/mct.py
index 99f0ad22..c45cd38f 100644
--- a/src/lisflood/hydrological_modules/mct.py
+++ b/src/lisflood/hydrological_modules/mct.py
@@ -20,11 +20,13 @@ def __init__(
dt, # computation time step for routing [s]
river_router, # class
mapping_mct, # MCT pixels mapping
+ CalibPointsIds, # calibration points pixels ids
):
# Process flow direction matrix: downstream and upstream lookups, and routing orders
flow_dir = decodeFlowMatrix(rebuildFlowMatrix(compressed_encoded_ldd, land_mask))
self.downstream_lookup, self.upstream_lookup = streamLookups(flow_dir, land_mask)
+ # Inside streamLookups each land_mask pixel is assigned a unique id from 0 to numpix-1, numbered by row
self.num_upstream_pixels = (self.upstream_lookup != -1).sum(1).astype(int) # astype for cython import in windows (to avoid 'long long' buffer dtype mismatch)
# Routing order: decompose domain into batches; within each batch, pixels can be routed in parallel
self._setMCTRoutingOrders()
@@ -37,6 +39,7 @@ def __init__(
self.dt = dt
self.river_router = river_router
self.mapping_mct = mapping_mct
+ self.CalibPointsIds = CalibPointsIds
def _setMCTRoutingOrders(self):
@@ -103,6 +106,7 @@ def routing(
PrevCm0, # Courant number in input: at time t; in output: at time t+dt
PrevDm0, # Reynolds number in input: at time t; in output: at time t+dt
ChanM3, # V11 as output
+ self.CalibPointsIds, # inflow points used by the calibration suite
)
@@ -130,6 +134,7 @@ def mct_routing(
PrevCm0, # Courant number in input: at time t; in output: at time t+dt
PrevDm0, # Reynolds number in input: at time t; in output: at time t+dt
ChanM3, # V11 as output
+ CalibPointsIds, # inflow points used by the calibration suite
):
"""This function implements Muskingum-Cunge-Todini routing method
MCT routing is calculated on MCT pixels only but gets inflow from both Kinematic/Split and MCT upstream pixels.
@@ -160,6 +165,7 @@ def mct_routing(
mctpix = mct_pixels_ordered[index]
# Find the corresponding pixel id in the full LDD
kinpix = mapping_mct[mctpix]
+
# Find id of upstream contributing pixels (from full LDD)
upstream_pixels = upstream_lookup[kinpix]
@@ -167,11 +173,24 @@ def mct_routing(
q00 = 0.0
q0m = 0.0
q01 = 0.0
+
+ ql = SideflowChanMCT[kinpix] # Sideflow during step dt
+
for ups_ix in range(num_upstream_pixels[kinpix]):
ups_pix = upstream_pixels[ups_ix] # upstream pixel id
- q00 += ChanQ_0[ups_pix] # Inflow (x) to the pixel at previous step t (instant)
- q0m += ChanQAvgDt[ups_pix] # Average inflow (x) to the pixel at previous step t (average)
- q01 += ChanQ[ups_pix] # Inflow (x) at current step t+dt (instant)
+
+ #####################################################################################################
+ # Check if there is a calibration point within the contributing pixels
+ if np.any(CalibPointsIds == ups_pix):
+ # this upstream pixel is a calibration point - add to sideflow
+ ql += ChanQAvgDt[ups_pix]
+ # Sideflow during step dt including contribution from calibration pixel
+ else:
+ # not a calibration point - go as usual
+ q00 += ChanQ_0[ups_pix] # Inflow (x) to the pixel at previous step t (instant)
+ q0m += ChanQAvgDt[ups_pix] # Average inflow (x) to the pixel at previous step t (average)
+ q01 += ChanQ[ups_pix] # Inflow (x) at current step t+dt (instant)
+ #####################################################################################################
# get outflow from the pixel at previous step t
q10 = ChanQ_0[kinpix] # Outflow (x+dx) from the pixel at previous step t (instant)
@@ -181,7 +200,6 @@ def mct_routing(
Cm0 = PrevCm0[kinpix] # Courant number at the end of previous step t
Dm0 = PrevDm0[kinpix] # Reynolds number at the end of previous step t
- ql = SideflowChanMCT[kinpix] # Sideflow during step dt
# static data
xpix = ChanLength[kinpix] # Channel length
@@ -243,8 +261,8 @@ def MCTRouting_single(
# check for negative and zero discharge values
# zero outflow is not allowed
- if q11 < 0: # cmcheck <=0 #tpk
- q11 = 0 #tpk
+ if q11 < 0:
+ q11 = 0
# calc reference discharge at time t
# qm0 = (I(t)+O(t))/2
@@ -255,14 +273,14 @@ def MCTRouting_single(
# reference I discharge at x=0
qmx0 = (q00 + q01) / 2.0
- if qmx0 <= eps : # cmcheck ==0 #tpk
- qmx0 = eps #tpk
+ if qmx0 <= eps :
+ qmx0 = eps
hmx0 = hoq(qmx0, s0, Balv, ANalv, Nalv)
# reference O discharge at x=1
qmx1 = (q10 + q11) / 2.0
- if qmx1 <= eps: # cmcheck ==0 #tpk
- qmx1 = eps #tpk
+ if qmx1 <= eps:
+ qmx1 = eps
hmx1 = hoq(qmx1, s0, Balv, ANalv, Nalv)
# Calc riverbed slope correction factor
@@ -274,14 +292,13 @@ def MCTRouting_single(
# Calc reference discharge time t+dt
# Q(t+dt)=(I(t+dt)+O'(t+dt))/2
qm1 = (q01 + q11) / 2.0
- # cm
- if qm1 <= eps : # cmcheck ==0 #tpk
- qm1 = eps #tpk
- # cm
+ if qm1 <= eps :
+ qm1 = eps
+
hm1 = hoq(qm1, s0, Balv, ANalv, Nalv)
dummy, Ax1, Bx1, Px1, ck1 = qoh(hm1, s0, Balv, ANalv, Nalv)
- if ck1 <= eps: #tpk
- ck1 = eps #tpk
+ if ck1 <= eps:
+ ck1 = eps
# Calc correcting factor Beta at time t+dt
Beta1 = ck1 / (qm1 / Ax1)
@@ -297,19 +314,18 @@ def MCTRouting_single(
c3 = (1 - Cm0 + Dm0) / den * (Cm1 / Cm0)
c4 = (2 * Cm1) / den
- # cmcheck
# Calc outflow q11 at time t+1
# Mass balance equation without lateral flow
# q11 = c1 * q01 + c2 * q00 + c3 * q10
# Mass balance equation that takes into consideration the lateral flow
q11 = c1 * q01 + c2 * q00 + c3 * q10 + c4 * ql
- if q11 < 0: # cmcheck <=0 #tpk
- q11 = 0 #tpk
+ if q11 < 0:
+ q11 = 0
#### end of for loop
- # # cmcheck
+ # debug
# calc_t = xpix / ck1
# if calc_t < dt:
# print('xpix/ck1 < dt')
@@ -327,17 +343,16 @@ def MCTRouting_single(
V11 = (1 - Dm1) * dt / (2 * Cm1) * q01 + (1 + Dm1) * dt / (2 * Cm1) * q11
# V11 = k1 * (x1 * q01 + (1. - x1) * q11) # MUST be the same as above!
- if V11 < 0 : #tpk
- V11 = 0 #tpk
+ if V11 < 0 :
+ V11 = 0
- ### calc integration on the control volume (pixel)
+ # calc integration on the control volume (pixel)
# calc average discharge outflow q1m for MCT channels during routing sub step dt
# Calculate average outflow using water balance for MCT channel grid cell over sub-routing step
q1mm = q0mm + ql + (V00 - V11) / dt
- # cmcheck
# q1m cannot be smaller than eps or it will cause instability
- if q1mm < 0: # cmcheck <=0
+ if q1mm < 0:
q1mm = 0
###if ql < 0: ql = 0
# prevent water abstraction or open water evaporation from drying out the channel and keep extracting water
diff --git a/src/lisflood/hydrological_modules/mctconfluence.py b/src/lisflood/hydrological_modules/mctconfluence.py
new file mode 100755
index 00000000..0d413a7e
--- /dev/null
+++ b/src/lisflood/hydrological_modules/mctconfluence.py
@@ -0,0 +1,169 @@
+"""
+
+Copyright 2019 European Union
+
+Licensed under the EUPL, Version 1.2 or as soon they will be approved by the European Commission
+subsequent versions of the EUPL (the "Licence");
+
+You may not use this work except in compliance with the Licence.
+You may obtain a copy of the Licence at:
+
+https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the Licence is distributed on an "AS IS" basis,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the Licence for the specific language governing permissions and limitations under the Licence.
+
+"""
+
+from __future__ import print_function, absolute_import
+from pcraster import Scalar, numpy2pcr, pcr2numpy,downstream, boolean,lddrepair,ifthenelse,lddmask
+from nine import range
+import numpy as np
+from ..global_modules.settings import LisSettings, MaskInfo
+from ..global_modules.add1 import loadmap, compressArray, decompress, makenumpy
+from ..global_modules.errors import LisfloodWarning
+from . import HydroModule
+
+
+class mctconfluence(HydroModule):
+ """
+ This module handles the initialization and dynamic simulation of the interface between Kinematic and MCT cells.
+ If MCT routing is enabled, when a Kinematic pixel flows into an MCT pixel, this module injects Kinematic channel
+ discharge to the MCT downstream grid cell as lateral flow.
+
+ Attributes:
+ -----------
+ var (object): An object containing all the variables used within the mctconfluence module.
+
+ Methods:
+ --------
+ initial(): Sets up the initial conditions and parameters for the simulation,
+ including confluence locations.
+ dynamic_inloop(NoRoutingExecuted: int): Performs dynamic calculations within the routing
+ loop to simulate the kinematic to MCT interface.
+ """
+
+ module_name = 'MCTConfluence'
+
+ def __init__(self, mctconfluence_variable):
+ self.var = mctconfluence_variable
+
+ def __init__(self, mctconfluence_variable):
+ """
+ Initializes the MCT confluence module with a given variable object.
+
+ Parameters:
+ -----------
+ mctconfluence_variable: object
+ An object containing the variables needed for the MCT confluence simulation.
+ """
+
+ self.var = mctconfluence_variable
+
+ def initial(self):
+ """
+ Initiates the MCT confluence module by loading the necessary data and maps.
+ """
+
+ settings = LisSettings.instance()
+ option = settings.options
+ binding = settings.binding
+ maskinfo = MaskInfo.instance()
+ if option['MCTRouting'] and option['MCTRoutingInterface']:
+
+ inArPcr = decompress(np.arange(maskinfo.info.mapC[0], dtype="int32")) # pcr
+ # Assign a number to each non-missing pixel as cell id, starting from 0
+ inAr = compressArray(inArPcr) #np
+
+ down = (compressArray(downstream(self.var.LddStructuresChan, inArPcr))).astype("int32") # np
+ # assign to each pixel the cell id of the pixel it is contributing to
+ # LddStructuresChan do not contain structures, LddStructuresKinematic is same as LddStructuresChan
+
+ LddKinematic = lddmask(self.var.LddStructuresChan, self.var.IsChannelKinematicPcr)
+ # Mask of LddKinematic with only kinematic cells and no structures
+ # Sinks are added at the last Kin pixel before confluence with MCT pixels
+
+ maskKinematic = (compressArray(LddKinematic) == 5)
+
+ # find location of KIN pixels (only) in LddKin that are upstream of the confluence with an MCT pixel
+ maskKinematic[compressArray(self.var.AtLastPoint) == 1] = False
+ # remove sinks that are outlets
+ # this does NOT include sinks upstream of structures (lakes, reservoirs) and outlets
+ maskKinematicPcr = boolean(decompress(maskKinematic))
+
+ self.var.LddChan = ifthenelse(maskKinematicPcr, 5, self.var.LddChan)
+ self.var.LddKinematic = ifthenelse(maskKinematicPcr, 5, self.var.LddKinematic)
+ # Adding sinks to Ldd at the last KIN pixels upstream of the confluence with an MCT pixel to LddChan and LddKinematic
+ # This is similar to what is done in structures
+ # At this point LddChan and LddKinematic have sinks upstteam of structures and of a Kin-MCT confluence and outlets
+
+ self.var.KinematicUpsOfMCTConfluence = np.where(maskKinematic, down, 0)
+ # find last KIN pixels upstream of the confluence with an MCT pixel and assign it the id of the downstream MCT pixel
+
+ mctconfluence = maskinfo.in_zero()
+ mctconfluence[np.isin(inAr, self.var.KinematicUpsOfMCTConfluence[self.var.KinematicUpsOfMCTConfluence != 0])] = 1
+ # for each element in KinematicUpsOfMCTConfluence (they are Kinematic cells), get the value of the downstream cell,
+ # then find the position ix of that same value in inAr (vector with numbering of all cells) this is the position of the MCT confluence cell,
+ # read the inAr value and put 1 in the corrisponding position in mctconfluence
+ # identify location of MCT pixels that receive a contribution from an upstream KIN pixel
+
+ mctconfluence = np.where(self.var.IsStructureChan, 0, mctconfluence)
+ # remove the MCT cells with a structure (reservoir/lake) on them
+
+ self.var.MCTConfluenceSitesC = mctconfluence
+ self.var.MCTConfluenceSitesCC = np.compress(mctconfluence > 0, mctconfluence)
+ self.var.MCTConfluenceIndex = np.nonzero(mctconfluence)[0]
+
+
+ def dynamic_init(self):
+ """ Initialization of the dynamic part of the MCT confluence module
+ init mct confluence before sub step routing
+ """
+ settings = LisSettings.instance()
+ option = settings.options
+ maskinfo = MaskInfo.instance()
+ if option['MCTRouting'] and option['MCTRoutingInterface']:
+ lateralflow = np.bincount(self.var.KinematicUpsOfMCTConfluence, weights=self.var.ChanQAvgDt)[self.var.MCTConfluenceIndex]
+ # contribution to the MCT pixel from upstream Kinematic pixels
+ self.var.QInConfM3Old = maskinfo.in_zero()
+ np.put(self.var.QInConfM3Old, self.var.MCTConfluenceIndex, lateralflow * self.var.DtSec)
+
+
+ def dynamic_inloop(self, NoRoutingExecuted: int):
+ """
+ Performs the dynamic simulation of Kin-MCT confluence within the routing loop. This method
+ injects upstream discharge to the downstream grid cell as lateral inflow.
+
+ Parameters:
+ -----------
+ NoRoutingExecuted: integer
+ The number of routing sub-steps that have been executed. This parameter is used to manage
+ the accumulation of inflow and outflow over the routing steps.
+ """
+
+ settings = LisSettings.instance()
+ option = settings.options
+ maskinfo = MaskInfo.instance()
+
+ if option['MCTRouting'] and option['MCTRoutingInterface'] and not option['InitLisflood']:
+
+ lateralflow = np.bincount(self.var.KinematicUpsOfMCTConfluence, weights=self.var.ChanQAvgDt)[self.var.MCTConfluenceIndex] #same as Qin
+ # contribution to the MCT pixel from upstream Kinematic pixels
+
+ self.var.QInConfM3 = maskinfo.in_zero()
+ np.put(self.var.QInConfM3, self.var.MCTConfluenceIndex, lateralflow * self.var.DtSec)
+ self.var.QDeltaConfM3 = (self.var.QInConfM3 - self.var.QInConfM3Old) * self.var.InvNoRoutSteps
+ # difference between old and new lateral flow per sub step
+ # in order to calculate the amount of lateral flow in the routing loop
+
+ self.var.QConfM3Dt = (self.var.QInConfM3Old + (NoRoutingExecuted + 1) * self.var.QDeltaConfM3) * self.var.InvNoRoutSteps
+ # output to the MCT confluence cell
+
+ self.var.QInConfM3Old = self.var.QInConfM3.copy()
+ # save the lateral flow for next step
+
+
+
+
diff --git a/src/lisflood/hydrological_modules/reservoir.py b/src/lisflood/hydrological_modules/reservoir.py
index 26d0b72a..4d32e597 100755
--- a/src/lisflood/hydrological_modules/reservoir.py
+++ b/src/lisflood/hydrological_modules/reservoir.py
@@ -24,6 +24,7 @@
from pcraster.operations import ifthen, boolean, defined, lookupscalar
import numpy as np
+import pcraster
from ..global_modules.settings import LisSettings, MaskInfo
from ..global_modules.add1 import loadmap, compressArray, decompress, makenumpy
@@ -52,7 +53,7 @@ class Reservoir(HydroModule):
dynamic_inloop(NoRoutingExecuted: int): Performs dynamic calculations within the routing
loop to simulate inflow, storage, and controlled outflow from the reservoirs.
- Referenecs:
+ References:
-----------
Hanazaki, R., Yamazaki, D., Yoshimura, K.: Development of a Reservoir Flood Control Scheme for
Global Flood Models, Journal of Advances in Modeling Earth Systems, 14,
@@ -126,6 +127,15 @@ def initial(self):
# (following logic of 'old' code the inflow into these reservoirs is
# always zero, so either change this or leave them out!)
ReservoirSitePcr = ifthen((defined(ReservoirSitePcr) & boolean(decompress(self.var.IsChannel))), ReservoirSitePcr)
+
+ # # PCRaster part
+ # # -----------------------
+ # IsStructureReservoir = pcraster.boolean(ReservoirSitePcr)
+ # # additional structure map only for reservoirs to calculate water balance
+ # self.var.IsUpsOfStructureReservoir = pcraster.downstream(self.var.LddChan, pcraster.cover(IsStructureReservoir, 0))
+ # # Get all pixels just upstream of reservoirs
+ # # -----------------------
+
# RESERVOIR CHARACTERISTICS
diff --git a/src/lisflood/hydrological_modules/routing.py b/src/lisflood/hydrological_modules/routing.py
index feb2fc7d..797163b1 100644
--- a/src/lisflood/hydrological_modules/routing.py
+++ b/src/lisflood/hydrological_modules/routing.py
@@ -16,7 +16,7 @@
"""
from __future__ import print_function, absolute_import
-from pcraster import lddmask, accuflux, boolean, downstream, pit, path, lddrepair, ifthenelse, cover, nominal, uniqueid, \
+from pcraster import lddmask, accuflux, boolean, scalar, downstream, pit, path, lddrepair, ifthenelse, cover, nominal, uniqueid, \
catchment, upstream, pcr2numpy
import warnings
@@ -30,6 +30,7 @@
from .transmission import transmission
from .kinematic_wave_parallel import kinematicWave, kwpt
from .mct import MCTWave
+from .mctconfluence import mctconfluence
from ..global_modules.settings import LisSettings, MaskInfo
from ..global_modules.errors import LisfloodWarning
@@ -50,7 +51,8 @@ class routing(HydroModule):
'ChanBottomWMult', 'ChanDepthTMult', 'ChanSMult'],
'SplitRouting': ['CrossSection2AreaInitValue', 'PrevSideflowInitValue', 'CalChanMan2'],
'dynamicWave': ['ChannelsDynamic'],
- 'MCTRouting': ['ChannelsMCT', 'ChanGradMaxMCT', 'PrevCmMCTInitValue', 'PrevDmMCTInitValue', 'CalChanMan3']}
+ 'MCTRouting': ['ChannelsMCT', 'ChanGradMaxMCT', 'PrevCmMCTInitValue', 'PrevDmMCTInitValue', 'CalChanMan3'],
+ 'simulateCalibrationPoints': ['CalibrationPoints']}
module_name = 'Routing'
def __init__(self, routing_variable):
@@ -61,6 +63,7 @@ def __init__(self, routing_variable):
self.polder_module = polder(self.var)
self.inflow_module = inflow(self.var)
self.transmission_module = transmission(self.var)
+ self.mctconfluence_module = mctconfluence(self.var)
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
@@ -140,6 +143,7 @@ def initial(self):
self.var.LddToChan = lddrepair(ifthenelse(self.var.IsChannelPcr, 5, self.var.Ldd)) #pcr
self.var.LddToChanNp=compressArray(self.var.LddToChan) #np
# Routing of runoff (incl. groundwater) to the river channel
+ # LDD for routing runoff (incl. groundwater) to the channel
if option['dynamicWave']:
pass
@@ -174,6 +178,45 @@ def initial(self):
self.var.LddKinematic = self.var.LddChan
self.var.LddKinematicNp = compressArray(self.var.LddKinematic) # np
+ # At this point, LddChan and LddKinematic do not have sinks at reservoirs/lakes or MCT confluences
+ # LddMCT does not exist yet
+
+ # ************************************************************
+ # ***** MCT DRAINAGE NETWORK GEOMETRY - LDD *****************
+ # ************************************************************
+
+ # This is done here to be able to add MCT confluence pixels to structures
+ if option['MCTRouting']:
+
+ self.var.IsChannelMCTPcr = boolean(loadmap('ChannelsMCT', pcr=True)) # pcr
+ # load mask of MCT river grid cells
+ self.var.IsChannelMCT = np.bool8(compressArray(self.var.IsChannelMCTPcr)) # bool
+
+ # even if MCT is active, it should be deactivated if there is no MCT cell in the domain
+ if self.var.IsChannelMCT.sum() == 0:
+ warnings.warn(LisfloodWarning('There are no MCT grid cell. MCT routing is deactivated'))
+ option['MCTRouting'] = False
+ option['MCTRoutingInterface'] = False
+ # rebuild lists of reported files with MCTRouting = False
+ settings.build_reportedmaps_dicts()
+
+ if option['MCTRouting'] and not option['InitLisflood']:
+
+ self.var.IsChannelMCTPcr = boolean(decompress(self.var.IsChannelMCT)) # pcr
+ # Identify channel pixels where Muskingum-Cunge-Todini is used
+
+ self.var.mctmask = np.bool8(pcr2numpy(self.var.IsChannelMCTPcr,0))
+ # Create a mask with cells using MCT
+
+ self.var.IsChannelKinematicPcr = (self.var.IsChannelPcr == 1) & (self.var.IsChannelMCTPcr == 0) #pcr
+ self.var.IsChannelKinematic = np.bool8(compressArray(self.var.IsChannelKinematicPcr)) #np
+ # Identify channel pixels where Kinematic wave is used instead of MCT
+
+
+ # ************************************************************
+ # ***** MCT DRAINAGE NETWORK GEOMETRY - LDD *****************
+ # ************************************************************
+
self.var.AtLastPoint = boolean(pit(self.var.Ldd)) #pcr
# Assign True to each of the grid cells where there are outlet points
# Function 'pit' assigns a unique number starting from 1 to pit cells (ldd=5) in the Ldd
@@ -238,16 +281,21 @@ def initial(self):
ChanDepthThreshold * (self.var.ChanUpperWidth + self.var.ChanBottomWidth)
# Area (sq m) of bank full discharge cross-section [m2] (trapezoid area equation)
- # cmcheck - TotalCrossSectionAreaHalfBankFull is not 1/2 TotalCrossSectionAreaBankFull it's trapezoid
# ChanUpperWidthHalfBankFull = self.var.ChanBottomWidth + 2 * self.var.ChanSdXdY * 0.5 * ChanDepthThreshold
# TotalCrossSectionAreaHalfBankFull = 0.5 * \
# 0.5 * ChanDepthThreshold * (ChanUpperWidthHalfBankFull + self.var.ChanBottomWidth)
# Cross-sectional area at half bankfull [m2]
+ # TotalCrossSectionAreaHalfBankFull is not 1/2 TotalCrossSectionAreaBankFull it's trapezoid
# This can be used to initialise channel flow (see below)
BankFullPerc = loadmap('BankFullPerc')
TotalCrossSectionAreaHalfBankFull = BankFullPerc * self.var.TotalCrossSectionAreaBankFull
# set BankFullPerc to 0.5 for half bankfull
+ # Channel volume initialization for MCT cells
+ # TotalCrossSectionAreaHalfBankFull = np.where(self.var.IsChannelKinematic, TotalCrossSectionAreaHalfBankFull, 0.01 * self.var.TotalCrossSectionAreaBankFull)
+ # set initial volume in MCT cells to 1% of bankfull
+ # not used now but it could be used in the future
+
TotalCrossSectionAreaInitValue = loadmap('TotalCrossSectionAreaInitValue')
self.var.TotalCrossSectionArea = np.where(TotalCrossSectionAreaInitValue == -9999, TotalCrossSectionAreaHalfBankFull, TotalCrossSectionAreaInitValue)
# Total cross-sectional area [m2]: if initial value in binding equals -9999 the value at half bankfull is used,
@@ -424,7 +472,6 @@ def initial(self):
# Cumulative inflow volume from inflow hydrographs [m3]
self.var.sumDis = maskinfo.in_zero()
self.var.sumIn = maskinfo.in_zero()
- # cmcheck - non so se sostituita da self.var.sumInWB
self.var.sumInWB = maskinfo.in_zero()
def initialSecond(self):
@@ -448,7 +495,6 @@ def initialSecond(self):
# Manning's roughtness coefficient n for second line of routing
AlpTermChan2 = (ChanMan2 / (np.sqrt(self.var.ChanGrad))) ** self.var.Beta
self.var.ChannelAlpha2 = (AlpTermChan2 * (self.var.ChanWettedPerimeterAlpha ** self.var.AlpPow)).astype(float)
- #cmcheck -> using channel wetted perimeter of half bankfull ChanWettedPerimeterAlpha ?
self.var.InvChannelAlpha2 = 1 / self.var.ChannelAlpha2
# calculating second Alpha for second (virtual) channel
@@ -487,6 +533,14 @@ def initialSecond(self):
self.var.ChanQKin = (self.var.ChanM3Kin * self.var.InvChanLength * self.var.InvChannelAlpha) ** (self.var.InvBeta)
# (Real) outflow from main channel when second line of routing is active (= using riverbed Manning coeff 2)
+ def initialKinematicWave(self):
+ """ Initialization of the parallel kinematic wave router for Kinematic routing and SplitRouting:
+ main channel-only routing if self.var.ChannelAlpha2 is None; else split-routing(main channel + floodplains).
+ Initialization uses LDD for kinematic routing (LddKinematic)
+ """
+ settings = LisSettings.instance()
+ option = settings.options
+ flags = settings.flags
# ************************************************************
# ***** INITIALISE PARALLEL KINEMATIC WAVE ROUTER ************
@@ -495,6 +549,7 @@ def initialSecond(self):
# Initialise parallel kinematic wave router: main channel-only routing if self.var.ChannelAlpha2 is None; else split-routing(main channel + floodplains)
# Initialization includes LDD for kinematic routing
maskinfo = MaskInfo.instance()
+
self.river_router = kinematicWave(compressArray(self.var.LddKinematic), ~maskinfo.info.mask, self.var.ChannelAlpha,
self.var.Beta, self.var.ChanLength, self.var.DtRouting,
alpha_floodplains=self.var.ChannelAlpha2, flagnancheck=flags['nancheck'])
@@ -505,7 +560,7 @@ def initialSecond(self):
if option['InitLisflood'] and option['repMBTs']:
# Calculate initial water storage in rivers (no lakes no reservoirs)
# self.var.StorageStepINIT= self.var.ChanM3Kin
- self.var.StorageStepINIT = self.var.ChanM3
+ self.var.StorageStepINIT = self.var.ChanM3.copy()
# Initial water volume in river channels
self.var.DischargeM3StructuresIni = maskinfo.in_zero()
if option['simulateReservoirs']:
@@ -515,7 +570,7 @@ def initialSecond(self):
self.var.StorageStepINIT = np.take(np.bincount(self.var.Catchments, weights=self.var.StorageStepINIT), self.var.Catchments)
if not option['InitLisflood'] and option['repMBTs']:
- self.var.StorageStepINIT = self.var.ChanM3
+ self.var.StorageStepINIT = self.var.ChanM3.copy()
# DisStructure = np.where(self.var.IsUpsOfStructureKinematicC, self.var.ChanQ * self.var.DtRouting, 0)
DisStructure = np.where(self.var.IsUpsOfStructureChanC, self.var.ChanQ * self.var.DtRouting, 0)
if not(option['SplitRouting']):
@@ -553,29 +608,13 @@ def initialMCT(self):
# ************************************************************
# ***** INITIALISATION FOR MCT ROUTING ************
# ************************************************************
-
- # even if MCT is active, it should be deactivated if there is no MCT cell in the domain
- if option['MCTRouting']:
- self.var.IsChannelMCTPcr = boolean(loadmap('ChannelsMCT', pcr=True)) #pcr
- self.var.IsChannelMCT = np.bool8(compressArray(self.var.IsChannelMCTPcr)) #bool
- if self.var.IsChannelMCT.sum()==0:
- warnings.warn(LisfloodWarning('There are no MCT grid cell. MCT routing is deactivated'))
- option['MCTRouting'] = False
- # rebuild lists of reported files with MCTRouting = False
- settings.build_reportedmaps_dicts()
if option['MCTRouting'] and not option['InitLisflood']:
maskinfo = MaskInfo.instance()
- self.var.IsChannelMCTPcr = boolean(decompress(self.var.IsChannelMCT)) # pcr
- # Identify channel pixels where Muskingum-Cunge-Todini is used
-
- self.var.mctmask = np.bool8(pcr2numpy(self.var.IsChannelMCTPcr,0))
- # Create a mask with cells using MCT
-
- self.var.IsChannelKinematicPcr = (self.var.IsChannelPcr == 1) & (self.var.IsChannelMCTPcr == 0) #pcr
- self.var.IsChannelKinematic = np.bool8(compressArray(self.var.IsChannelKinematicPcr)) #np
- # Identify channel pixels where Kinematic wave is used instead of MCT
+ # self.var.IsChannelKinematicPcr = (self.var.IsChannelPcr == 1) & (self.var.IsChannelMCTPcr == 0) #pcr
+ # self.var.IsChannelKinematic = np.bool8(compressArray(self.var.IsChannelKinematicPcr)) #np
+ # # Identify channel pixels where Kinematic wave is used instead of MCT
self.var.LddMCT = lddmask(self.var.LddChan, self.var.IsChannelMCTPcr) #pcr
# Ldd for MCT routing
@@ -591,7 +630,6 @@ def initialMCT(self):
self.var.ChanGrad[MCT_slope_mask] = ChanGradMaxMCT
# set max channel slope for MCT pixels
- # cmcheck
# This could become a calibration parameter if we want to use MCT+SplitRouting
self.var.ChanManMCT = (self.var.ChanMan / self.var.CalChanMan) * loadmap('CalChanMan3')
# Mannings coefficient for MCT pixels (same as second line of split routing)
@@ -603,12 +641,30 @@ def initialMCT(self):
self.var.PrevDm0 = np.where(PrevDmMCT == -9999, maskinfo.in_zero(), PrevDmMCT) #np
# Reynolds number (Dm) for MCT at previous time step t0
+
+ # ************************************************************
+ # ***** CALIBRATION POINTS ********
+ # ************************************************************
+ CalibPoints = maskinfo.in_zero()
+ if option['simulateCalibrationPoints']:
+ CalibPoints = loadmap('CalibrationPoints') # 1D array size all catchment pixels
+ # read location of calibration points
+
+ inAr = np.arange(maskinfo.info.mapC[0], dtype="int32") # np
+ # Assign a number to each non-missing pixel as cell id, by row starting from 0
+ CalibPointsIds = inAr[CalibPoints > 0]
+ # pixel id of calibration points
+
+
# ************************************************************
# ***** INITIALISE MUSKINGUM-CUNGE-TODINI WAVE ROUTER ********
# ************************************************************
mct_ldd = self.compress_mct(compressArray(self.var.LddMCT))
# Compress LddMCT to array with MCT pixels only
+ # mct_CalInflowPoints = self.compress_mct(self.var.CalInflowPoints)
+ # # Compress CalInflowPoints to array with MCT pixels only
+
mapping_mct = self.compress_mct(range(len(self.var.ChanLength)))
# create mapping from global domain pixels index to MCT pixels index
@@ -622,7 +678,8 @@ def initialMCT(self):
self.var.ChanSdXdY, # Riverbed side slope
self.var.DtRouting, # computation time step for routing [s]
self.river_router, # class
- mapping_mct # MCT pixels mapping
+ mapping_mct, # MCT pixels mapping
+ CalibPointsIds, # id of calibrationn points in full LDD
)
@@ -644,6 +701,7 @@ def dynamic(self, NoRoutingExecuted):
self.inflow_module.dynamic_inloop(NoRoutingExecuted)
self.transmission_module.dynamic_inloop(NoRoutingExecuted)
+
# ************************************************************
# ***** CHANNEL FLOW ROUTING: KINEMATIC WAVE ****************
# ************************************************************
@@ -666,7 +724,7 @@ def dynamic(self, NoRoutingExecuted):
SideflowChanM3 -= self.var.WUseAddM3Dt
# Water use abstraction from rivers - withdrawal [m3]
if option['inflow']:
- SideflowChanM3 += self.var.QInDt
+ SideflowChanM3 += self.var.QInM3Dt
# Flow volume from inlets per sub step [m3]
if option['TransLoss']:
SideflowChanM3 -= self.var.TransLossM3Dt
@@ -694,7 +752,7 @@ def dynamic(self, NoRoutingExecuted):
if (NoRoutingExecuted<1):
self.var.AddedTRUN = np.take(np.bincount(self.var.Catchments, weights=self.var.ToChanM3RunoffDt.copy()),self.var.Catchments)
if option['inflow']:
- self.var.AddedTRUN += np.take(np.bincount(self.var.Catchments, weights=self.var.QInDt),self.var.Catchments)
+ self.var.AddedTRUN += np.take(np.bincount(self.var.Catchments, weights=self.var.QInM3Dt),self.var.Catchments)
if option['openwaterevapo']:
self.var.AddedTRUN -= np.take(np.bincount(self.var.Catchments, weights=self.var.EvaAddM3Dt.copy()),self.var.Catchments)
if option['wateruse']:
@@ -702,7 +760,7 @@ def dynamic(self, NoRoutingExecuted):
else:
self.var.AddedTRUN += np.take(np.bincount(self.var.Catchments, weights=self.var.ToChanM3RunoffDt.copy()),self.var.Catchments)
if option['inflow']:
- self.var.AddedTRUN += np.take(np.bincount(self.var.Catchments, weights=self.var.QInDt),self.var.Catchments)
+ self.var.AddedTRUN += np.take(np.bincount(self.var.Catchments, weights=self.var.QInM3Dt),self.var.Catchments)
if option['openwaterevapo']:
self.var.AddedTRUN -= np.take(np.bincount(self.var.Catchments, weights=self.var.EvaAddM3Dt.copy()),self.var.Catchments)
if option['wateruse']:
@@ -770,7 +828,6 @@ def dynamic(self, NoRoutingExecuted):
# Total channel storage [m3] = Volume in main channel (ChanM3Kin) + volume above bankfull in second line (Chan2M3Kin - Chan2M3Start)
# Total channel storage V at the end of computation step t+dt for full section (instant)
- # cmcheck
ChanQAvgDt = np.maximum(self.var.ChanQKinAvgDt + self.var.Chan2QKinAvgDt - self.var.QLimit, 0)
# (real) total outflow (at x+dx) at time t+dt end of step for the full cross-section (instant)
# Main channel routing and above bankfull routing from second line of routing
@@ -781,9 +838,6 @@ def dynamic(self, NoRoutingExecuted):
# This is calculated for MCT grid cell only but takes the output of kinematic or split routing.
# First, Kinematic/Split routing is solved on all pixels (including MCT pixels) then results are updated
# for the MCT pixels.
-
- # Sideflow contribution to MCT grid cells expressed in [m3/s]
- SideflowChanMCT = np.where(self.var.IsChannelMCT, SideflowChanM3 * self.var.InvDtRouting, 0) #Ql
# Grab outflow at the end of the previous routing step t for all pixels) - current state of the MCT pixel
ChanQ_0 = self.var.ChanQ.copy() # Outflow (x+dx) at time t (end of previous routing step) (instant) -> used to calc q00
@@ -795,6 +849,18 @@ def dynamic(self, NoRoutingExecuted):
self.var.ChanM3 = ChanM3
self.var.ChanQAvgDt = ChanQAvgDt # -> used to calc q0m
+ # MCT CONFLUENCE
+ # This needs to be here because we need to grab the input to MCT pixels from the outflow at the end of routing step of kinematic pixels
+ if option['MCTRoutingInterface']:
+ self.mctconfluence_module.dynamic_inloop(NoRoutingExecuted)
+ # calculate sideflow from MCT confluence pixels
+ SideflowChanM3 += self.var.QConfM3Dt
+ # MCT confluence pixels outflow volume per routing sub step [m3]
+
+ # Sideflow contribution to MCT grid cells expressed in [m3/s]
+ SideflowChanMCT = np.where(self.var.IsChannelMCT, SideflowChanM3 * self.var.InvDtRouting, 0) #Ql
+ # SideflowChanMCTM3 = np.where(self.var.IsChannelMCT, SideflowChanM3, 0)
+
# Solve MCT routing and update current state at MCT pixels
self.mct_river_router.routing(
ChanQ_0, # -> used to calc q00
diff --git a/src/lisflood/hydrological_modules/soil.py b/src/lisflood/hydrological_modules/soil.py
index e3233d74..79115160 100644
--- a/src/lisflood/hydrological_modules/soil.py
+++ b/src/lisflood/hydrological_modules/soil.py
@@ -422,7 +422,7 @@ def splitlanduse(array1, array2=None, array3=None):
# ***** INITIAL VALUES
# ************************************************************
# Inputs in waterbalance model and/or initial assumption
- # CMmod
+
# DSLRInit = defsoil('DSLRInitValue', 'DSLRForestInitValue','DSLRIrrigationInitValue')
diff --git a/src/lisflood/hydrological_modules/structures.py b/src/lisflood/hydrological_modules/structures.py
index 44dbeaa8..66feb771 100755
--- a/src/lisflood/hydrological_modules/structures.py
+++ b/src/lisflood/hydrological_modules/structures.py
@@ -45,13 +45,13 @@ def initial(self):
"""
self.var.LddStructuresKinematic = self.var.LddKinematic #pcr map
LddStructuresKinematicNp = compressArray(self.var.LddStructuresKinematic)
- # Unmodified version of LddKinematic is needed to connect inflow and outflow points
- # of each structure (called LddStructuresKinematic now)
+ # Unmodified version of LddKinematic is needed for MCT confluence
+ # Legacy not used keeping for consistency
self.var.LddStructuresChan = self.var.LddChan #pcr map
LddStructuresChanNp = compressArray(self.var.LddStructuresChan)
- # Unmodified version of LddChan is needed to connect inflow and outflow points
- # of each structure (called LddStructuresChan now)
+ # Unmodified version of LddChan is used in evapowater, indicatorcalc and waterabstreaction
+ # It is neded to identify MCT confluences
settings = LisSettings.instance()
option = settings.options
@@ -62,7 +62,7 @@ def initial(self):
cover(boolean(decompress(self.var.IsStructureKinematic)), boolean(0))
)
# Downstream assigns to result the expression value of the neighbouring downstream cell
- # Over is used to cover missing values on an expression with values taken from one or more different expression(s)
+ # Cover is used to cover missing values on an expression with values taken from one or more different expression(s)
# Decompress is numpy2pcr
# Find location of pixels immediately upstream of a structure on the LddKinematic
@@ -72,12 +72,13 @@ def initial(self):
)
# Find location of pixels immediately upstream of a structure on the LddChan
- self.var.IsUpsOfStructureKinematicC = compressArray(IsUpsOfStructureKinematic) #np compressed array
- # Location of pixels immediately upstream of a structure on the LddKinematic
- self.var.IsUpsOfStructureChanC = compressArray(IsUpsOfStructureChan) #np compressed array
- # Location of pixels immediately upstream of a structure on the LddChan
-
self.var.LddKinematic = lddrepair(ifthenelse(IsUpsOfStructureKinematic, 5, self.var.LddKinematic)) #pcr map
# Update LddKinematic by adding a pit in the pixel immediately upstream of a structure
self.var.LddChan = lddrepair(ifthenelse(IsUpsOfStructureChan, 5, self.var.LddChan)) #pcr map
# Update LddChan by adding a pit in the pixel immediately upstream of a structure
+ # At this point LddKinematic and LddChan have pits upstream of (structures) reservoirs and lakes but not at MCT interface pixels
+
+ self.var.IsUpsOfStructureKinematicC = compressArray(IsUpsOfStructureKinematic) #np compressed array
+ # Location of pixels immediately upstream of a structure on the LddKinematic
+ self.var.IsUpsOfStructureChanC = compressArray(IsUpsOfStructureChan) #np compressed array
+ # Location of pixels immediately upstream of a structure on the LddChan
diff --git a/src/lisflood/hydrological_modules/surface_routing.py b/src/lisflood/hydrological_modules/surface_routing.py
index c736bee2..a0145121 100644
--- a/src/lisflood/hydrological_modules/surface_routing.py
+++ b/src/lisflood/hydrological_modules/surface_routing.py
@@ -45,7 +45,7 @@ def initial(self):
""" initial part of the surface_routing module
"""
maskinfo = MaskInfo.instance()
- # CM mod
+
OFM3OtherInit = loadmap('OFOtherInitValue')
OFM3ForestInit = loadmap('OFForestInitValue')
OFM3DirectInit = loadmap('OFDirectInitValue')
@@ -56,7 +56,6 @@ def initial(self):
# self.var.WaterDepth = self.var.WaterDepthInit.copy()
# initial overland flow water depth [mm]
# for initial water in CHANNEL see CHANNEL GEOMETRY section below!
- ## end CM mod
self.var.OFM3Other = makenumpy(OFM3OtherInit)
self.var.OFM3Forest = makenumpy(OFM3ForestInit)
@@ -94,8 +93,6 @@ def initial(self):
self.var.OFQOther = ((self.var.OFM3Other * self.var.InvPixelLength * self.var.InvOFAlpha.values[self.var.dim_runoff[1].index('Other')])**(self.var.InvBeta)).astype(float)
self.var.OFQForest = ((self.var.OFM3Forest * self.var.InvPixelLength * self.var.InvOFAlpha.values[self.var.dim_runoff[1].index('Forest')])**(self.var.InvBeta)).astype(float)
- # cmcheck
- # do I need to initialise from self.var.OFQDirect?
# Initial average overland discharge [m3 s-1]
self.var.OFQDirectAvg = maskinfo.in_zero()
self.var.OFQOtherAvg = maskinfo.in_zero()
@@ -206,13 +203,10 @@ def dynamic(self):
self.var.M3all = self.var.OFM3Direct + self.var.OFM3Other + self.var.OFM3Forest
# Total overland flow storage [m3]
- # cmcheck
- # this should be calculated using the average flow
self.var.OFToChanM3 = np.where(self.var.IsChannel, self.var.QallAvg * self.var.DtSec, 0)
# self.var.OFToChanM3 = np.where(self.var.IsChannel, self.var.Qall * self.var.DtSec, 0)
# Overland flow in channel pixels (in [m3])is added to channel
-
self.var.WaterDepth = self.var.M3all * self.var.M3toMM
# Update water depth [mm]
diff --git a/src/lisflood/hydrological_modules/waterabstraction.py b/src/lisflood/hydrological_modules/waterabstraction.py
index 4676b400..0449a4a8 100644
--- a/src/lisflood/hydrological_modules/waterabstraction.py
+++ b/src/lisflood/hydrological_modules/waterabstraction.py
@@ -135,7 +135,7 @@ def initial(self):
else:
if option['useWaterDemandAveYear']:
raise LisfloodError("TransientWaterDemandChange option must be turned on to use average year water demand (useWaterDemandAveYear)")
- # CM: using information on water demand from NetCDF files, only loaded once in init, not in dynamic
+ # using information on water demand from NetCDF files, only loaded once in init, not in dynamic
self.var.DomesticDemandMM = loadmap('DomesticDemandMaps', timestampflag='closest') * self.var.DtDay
self.var.IndustrialDemandMM = loadmap('IndustrialDemandMaps', timestampflag='closest') * self.var.DtDay
self.var.LivestockDemandMM = loadmap('LivestockDemandMaps', timestampflag='closest') * self.var.DtDay
@@ -681,7 +681,7 @@ def dynamic(self):
# ************************************************************
# 19. update state variables ***
# ************************************************************
- # CM Update state variables for changes to W1a[2] and W1b[2]
+ # Update state variables for changes to W1a[2] and W1b[2]
veg = "Irrigated_prescribed"
iveg,ilanduse,_ = self.var.get_landuse_and_indexes_from_vegetation_GLOBAL(veg)
diff --git a/src/lisflood/hydrological_modules/waterbalance.py b/src/lisflood/hydrological_modules/waterbalance.py
index 723d4ed4..f77b43f8 100755
--- a/src/lisflood/hydrological_modules/waterbalance.py
+++ b/src/lisflood/hydrological_modules/waterbalance.py
@@ -91,7 +91,7 @@ def initial(self):
# self.var.IsUpsOfStructureKinematic, self.var.ChanQ * self.var.DtRouting), scalar(0.0))
# DisStructure = np.where(self.var.IsUpsOfStructureKinematicC, self.var.ChanQ * self.var.DtRouting, 0)
- DisStructure = np.where(self.var.IsUpsOfStructureChanC, self.var.ChanQAvgDt * self.var.DtRouting, 0)
+ DisStructure = np.where(self.var.IsUpsOfStructureChanC, self.var.ChanQAvgDt * self.var.DtRouting, 0) #np
# Average Discharge upstream of structure locations (coded as pits) in [m3/time step]
# Needed for mass balance error calculations (see comment to calculation of WaterInit below)
# Inclusion of DischargeM3Structures: adding this corrects a (relatively small) offset that occurs otherwise
@@ -99,10 +99,11 @@ def initial(self):
# calculation of structur influence happens before routing, therefore the initial state is used at the structure onece to often
# (because it is not routed yet to the structure)
- # CM
+ # DisStructure = np.where(self.var.IsUpsOfStructureReservoir, self.var.ChanQAvgDt * self.var.DtRouting, 0)
+
if option['simulateLakes']:
# DisStructure += np.where(compressArray(self.var.IsUpsOfStructureLake), 0.5 * self.var.ChanQ * self.var.DtRouting, 0)
- DisStructure += np.where(compressArray(self.var.IsUpsOfStructureLake), 0.5 * self.var.ChanQAvgDt * self.var.DtRouting, 0)
+ DisStructure += np.where(compressArray(self.var.IsUpsOfStructureLake), 0.5 * self.var.ChanQAvgDt * self.var.DtRouting, 0) #np
# DisStructure += cover(ifthen(self.var.IsUpsOfStructureLake,
# 0.5 * self.var.ChanQ * self.var.DtRouting), scalar(0.0))
@@ -246,11 +247,12 @@ def dynamic(self):
# added cumulative transmission loss
# DisStru = np.where(self.var.IsUpsOfStructureKinematicC, self.var.ChanQ * self.var.DtRouting, 0)
- DisStru = np.where(self.var.IsUpsOfStructureChanC, self.var.ChanQAvgDt * self.var.DtRouting, 0)
+ DisStru = np.where(self.var.IsUpsOfStructureChanC, self.var.ChanQAvgDt * self.var.DtRouting, 0) #np
# using average discharge
+ # At this point self.var.IsUpsOfStructureChanC only includes structures (reservoirs and lakes)
DisStru[self.var.AtLastPointC == 1 ] = 0 # this line avoids double-counting when a reservoir or a lake is located at the outlet of the cacthment
- DischargeM3Structures = np.take(np.bincount(self.var.Catchments, weights=DisStru), self.var.Catchments)
+ DischargeM3Structures = np.take(np.bincount(self.var.Catchments, weights=DisStru), self.var.Catchments) #np
# on the last time step lakes and reservoirs calculated with the previous routing results
# so the last (now routed) discharge has to be added to the mass balance
# (-> the calculation odf the structures is done before the routing)
@@ -276,7 +278,6 @@ def dynamic(self):
# Needed for mass balance error calculations, because of double counting of structure
# storage and water in the channel.
-
# Mass balance:
self.var.MBError = self.var.WaterInit + WaterIn - WaterStored - WaterOut - DischargeM3Structures
# Total mass balance error per catchment [cu m]. Mass balance error is computed for each computational time step.
@@ -287,6 +288,8 @@ def dynamic(self):
self.var.WaterInit = WaterStored + DischargeM3Structures
+
+
if option['TransientLandUseChange'] and (self.var.DynamicLandCoverDelta > 0.0):
self.var.WaterInit = WaterStored_nextstep + DischargeM3Structures
# update the water storage
diff --git a/src/lisflood/main.py b/src/lisflood/main.py
index 13b274e1..903657f3 100755
--- a/src/lisflood/main.py
+++ b/src/lisflood/main.py
@@ -144,7 +144,7 @@ def lisfloodexe(lissettings=None):
except:
print(calendar(binding["timestepInit"], binding['calendar_type']))
- # CM: print start step and end step for reporting model state maps
+ # print start step and end step for reporting model state maps
print("Start Rep Step - End Rep Step: ", report_steps['rep'][0], " - ", report_steps['rep'][-1])
print("Start Rep Date - End Rep Date: ",
inttodate(calendar(report_steps['rep'][0] - 1, binding['calendar_type']), calendar(binding['CalendarDayStart'], binding['calendar_type'])),
diff --git a/src/lisfloodSettings_reference.xml b/src/lisfloodSettings_reference.xml
index 8c45ae72..928ca2b2 100644
--- a/src/lisfloodSettings_reference.xml
+++ b/src/lisfloodSettings_reference.xml
@@ -46,10 +46,12 @@ You can use builtin path variables in this template and reference to other paths
+
+
# use inflow data
@@ -1723,6 +1725,13 @@ You can use builtin path variables in this template and reference to other paths
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
OPTIONAL: observed or simulated input hydrographs as time series [cu m / s]
@@ -5639,6 +5648,13 @@ You can use builtin path variables in this template and reference to other paths
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
Observed or simulated input hydrographs as
diff --git a/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml b/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml
index 0ef0ddbe..0ee70ecb 100644
--- a/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml
+++ b/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml
@@ -44,11 +44,13 @@ You can use builtin path variables in this template and reference to other paths
-
-
+
+
+
-
+
+
# use inflow data
@@ -88,7 +90,7 @@ You can use builtin path variables in this template and reference to other paths
# report mass balance
-
+
#-----------------------------------------------------------
# report maps
@@ -287,19 +289,19 @@ You can use builtin path variables in this template and reference to other paths
-
+
Reference day and time
-
+
timestep [seconds]
-
+
17280 5 times subrouting
21600 6 hours
@@ -308,14 +310,14 @@ You can use builtin path variables in this template and reference to other paths
-
+
01/01/YEAR_START 12:00
Number of first time step in simulation
-
+
01/01/YEAR_END 06:00
Number of last time step in simulation
@@ -469,7 +471,7 @@ You can use builtin path variables in this template and reference to other paths
-
+
default: 3.0 [-]
$(PathParams)/CalChanMan3
@@ -1476,7 +1478,7 @@ You can use builtin path variables in this template and reference to other paths
-
+
Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
total cross-sectional area
@@ -1629,7 +1631,7 @@ You can use builtin path variables in this template and reference to other paths
-
+
Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be 0)
Default: 0.001
@@ -1652,6 +1654,13 @@ You can use builtin path variables in this template and reference to other paths
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
OPTIONAL: observed or simulated input hydrographs as
@@ -5418,6 +5427,13 @@ LFBINDING: MORE LOW-LEVEL CONTROL OVER MODEL IN- AND OUTPUT
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
Observed or simulated input hydrographs as
diff --git a/tests/data/LF_MCT_UseCase/maps/basin_p1.nc b/tests/data/LF_MCT_UseCase/maps/basin_p1.nc
new file mode 100644
index 00000000..8f5b9605
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/basin_p1.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/basin_p6.nc b/tests/data/LF_MCT_UseCase/maps/basin_p6.nc
new file mode 100644
index 00000000..cce1461d
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/basin_p6.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/basin_up.nc b/tests/data/LF_MCT_UseCase/maps/basin_up.nc
new file mode 100644
index 00000000..0b3fc031
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/basin_up.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/chanmct_conf.nc b/tests/data/LF_MCT_UseCase/maps/chanmct_conf.nc
new file mode 100644
index 00000000..d5ff8c3d
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/chanmct_conf.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/chanmct_outlet_at_conf.nc b/tests/data/LF_MCT_UseCase/maps/chanmct_outlet_at_conf.nc
new file mode 100644
index 00000000..9ae85785
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/chanmct_outlet_at_conf.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/chanmct_sink_at_conf.nc b/tests/data/LF_MCT_UseCase/maps/chanmct_sink_at_conf.nc
new file mode 100644
index 00000000..c79498d4
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/chanmct_sink_at_conf.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/chanmct_start_in_5.nc b/tests/data/LF_MCT_UseCase/maps/chanmct_start_in_5.nc
new file mode 100644
index 00000000..f952d29b
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/chanmct_start_in_5.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/ec_ldd_sink_in_p6.nc b/tests/data/LF_MCT_UseCase/maps/ec_ldd_sink_in_p6.nc
new file mode 100644
index 00000000..bdecec43
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/ec_ldd_sink_in_p6.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/ec_ldd_sink_up.nc b/tests/data/LF_MCT_UseCase/maps/ec_ldd_sink_up.nc
new file mode 100644
index 00000000..2ce990d6
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/ec_ldd_sink_up.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/interbasin_for_p2.nc b/tests/data/LF_MCT_UseCase/maps/interbasin_for_p2.nc
new file mode 100644
index 00000000..95c04b42
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/interbasin_for_p2.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/mask_one_up_inflow.nc b/tests/data/LF_MCT_UseCase/maps/mask_one_up_inflow.nc
new file mode 100644
index 00000000..c1c9a72a
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/mask_one_up_inflow.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/outlets.csv b/tests/data/LF_MCT_UseCase/maps/outlets.csv
new file mode 100644
index 00000000..d47997c3
--- /dev/null
+++ b/tests/data/LF_MCT_UseCase/maps/outlets.csv
@@ -0,0 +1,10 @@
+ID,X,Y
+1,4307500,2377500
+2,4292500,2377500
+3,4302500,2377500
+4,4302500,2372500
+5,4297500,2372500
+6,4312500,2377500
+7,4287500,2372500
+8,4282500,2367500
+9,4292500,2372500
diff --git a/tests/data/LF_MCT_UseCase/maps/p2.nc b/tests/data/LF_MCT_UseCase/maps/p2.nc
new file mode 100644
index 00000000..c1c9a72a
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/p2.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/p7.nc b/tests/data/LF_MCT_UseCase/maps/p7.nc
new file mode 100644
index 00000000..9343e881
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/p7.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/p8.nc b/tests/data/LF_MCT_UseCase/maps/p8.nc
new file mode 100644
index 00000000..89b4ab18
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/p8.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/point_p1.nc b/tests/data/LF_MCT_UseCase/maps/point_p1.nc
new file mode 100644
index 00000000..66afeb07
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/point_p1.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/point_p6.nc b/tests/data/LF_MCT_UseCase/maps/point_p6.nc
new file mode 100644
index 00000000..56462b34
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/point_p6.nc differ
diff --git a/tests/data/LF_MCT_UseCase/maps/point_up.nc b/tests/data/LF_MCT_UseCase/maps/point_up.nc
new file mode 100644
index 00000000..354b2ffc
Binary files /dev/null and b/tests/data/LF_MCT_UseCase/maps/point_up.nc differ
diff --git a/tests/data/LF_MCT_UseCase/settings/mct_cold_interface.xml b/tests/data/LF_MCT_UseCase/settings/mct_cold_interface.xml
new file mode 100644
index 00000000..3b47e491
--- /dev/null
+++ b/tests/data/LF_MCT_UseCase/settings/mct_cold_interface.xml
@@ -0,0 +1,6154 @@
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # modelling and reporting options
+ #-----------------------------------------------------------
+
+
+
+ # options to turn hydrological modules on/off
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # use inflow data
+
+
+ # option to compute indicators
+
+
+ # option to initialize Lisflood
+
+
+
+ # option to read/write NetCDF
+
+
+
+
+ # option to Report PaddyRiceDebug information in CSV file for debugging Paddy Rice Water Abstraction issue on dry Channels
+
+
+ #-----------------------------------------------------------
+ # report time series
+ #-----------------------------------------------------------
+ # report discharge TS
+
+
+ # report gauges and sites
+ # sites (pixel average)
+
+
+ # gauges (catchment average)
+
+
+
+
+ # report reservoirs and lakes
+
+
+
+ # report mass balance
+
+
+ #-----------------------------------------------------------
+ # report maps
+ #-----------------------------------------------------------
+ # report state maps
+
+
+ # report end maps
+
+
+ # report output maps
+ # forcings
+
+
+
+
+
+
+ # dicharge
+
+
+
+
+
+ # variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Surface runoff
+ #Surface runoff + UZ [mm]
+ #Surface runoff + UZ [mm] + LZ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ netCDF parameters
+ **************************************************************
+
+
+
+ !-- Optimization of netCDF I/O through chunking and caching.
+
+ The option "NetCDFTimeChunks" may take the following values:
+ - "-1" : Load everything upfront
+ - "[positive integer number]" : Chunk size defined by user
+ - "auto" : Let xarray to decide
+
+
+
+
+ The option "MapsCaching" may take the following values:
+ - "True" : Cache maps during execution
+ - "False" : No caching
+
+
+
+ **************************************************************
+ PARALLELIZED KINEMATIC ROUTING
+ **************************************************************
+
+
+
+
+ The option "OutputMapsChunks" may take the following values:
+ - "[positive integer number]" : Dump outputs to disk every X steps (default 1)
+
+
+
+
+ The option "OutputMapsDataType" sets the output data type and may take the following values:
+ - "float64"
+ - "float32"
+
+
+
+ **************************************************************
+ PARALLELISATION WITH NUMBA (USED IN ROUTING AND SOILLOOP)
+ **************************************************************
+
+
+
+
+ !-- Parallelisation of using Numba runtime compiled library .
+ The option "numCPUs_parallelNumba" may take the following values:
+ - "0" : set to NUMBA_NUM_THREADS Environment Variable
+ (if NUMBA_NUM_THREADS is not set, will take the number of CPU cores determined by python's multiprocessing.cpu_count())
+ - "1" : serial execution (not parallel)
+ - "2", "3", ... : manual setting of the number of parallel threads.
+ (if exceeding NUMBA_NUM_THREADS, the value is set to NUMBA_NUM_THREADS) -->
+
+
+
+ **************************************************************
+ AREA AND OUTLETS
+ **************************************************************
+
+
+
+
+ MAPSDIR
+ Root directory (tables and parameters)
+ $(SettingsPath)/..
+
+
+
+
+
+ Clone map
+ col row cellsize xupleft yupleft
+ or pcraster maps or netcdf maps
+
+
+
+
+ 4307500 2377500 outlet
+ 4307500 2377500 4292500 2377500 4302500 2377500 4302500 2372500 4297500 2372500 4312500 2377500 4287500 2372500 4282500 2367500
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+ lat lon (lat2 lon2 ...)
+ or pcraster maps or netcdf maps
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+ This is needed when using projected coordinates
+
+
+
+
+
+
+ **************************************************************
+ TIME-RELATED CONSTANTS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Reference day and time
+
+
+
+
+
+ timestep [seconds]
+
+
+
+
+
+ 17280 5 times subrouting
+ 21600 6 hours
+ Sub time step used for kinematic and MCT wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ 01/01/YEAR_START 12:00
+ Number of first time step in simulation
+
+
+
+
+
+ 01/01/YEAR_END 06:00
+ Number of last time step in simulation
+
+
+
+
+
+ low value to limit testing time
+
+
+
+
+
+ 1..9999
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ MONTE CARLO, KALMAN FILTER
+ **************************************************************
+
+
+
+
+ Number of sample to use in MonteCarlo simulations
+
+
+
+
+
+ Number of cores of the computer to use in MonteCarlo simulations
+ This only works with Linux, if set to 1 no forking will be used
+
+
+
+
+
+
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ CALIBRATION PARAMETERS
+ with .nc format: than working with smaller sub-areas is possible
+ **************************************************************
+
+
+
+ default: 10
+ $(PathParams)/params_UpperZoneTimeConstant
+ Time constant for water in upper zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 100
+ $(PathParams)/params_LowerZoneTimeConstant
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 0.5
+ $(PathParams)/GwPercValue
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ default: 0.0
+ $(PathParams)/GwLoss
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+ default: 10
+ $(PathParams)/params_LZThreshold
+ threshold value [mm] of the water storage in the lower groundwater zone.
+ If the water storage in the lower groundwater zone decreases below LZThreshold,
+ the flow from the lower zone to the nearby rivers (base-flow) stops.
+
+
+
+
+
+ default: 0.7 [-]
+ $(PathParams)/b_Xinanjiang
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ default: 3.5 [-]
+ $(PathParams)/PowerPrefFlow
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+ default: 2.0 [-]
+ $(PathParams)/CalChanMan1
+ Multiplier [-] applied to Channel Manning's n
+
+
+
+
+
+ default: 4.0 [mm C-1 day-1]
+ $(PathParams)/SnowMeltCoef
+ SRM: 0.45 cm C-1 day-1 ( = 4.50 mm C-1 day-1), Kwadijk: 18 mm C-1 month-1 (= 0.59 mm C-1 day-1)
+ See also Martinec et al., 1998.
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan2
+ Multiplier [-] applied to Channel Manning's n for second line of routing
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan3
+ Multiplier [-] applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ default: 1.0 [-]
+ $(PathParams)/LakeMultiplier
+ Multiplier applied to the lake parameter A
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow (`ReservoirFloodOutflow`) that defines the inflow
+ value that switches, when exceeded, the reservoir routine to flood control mode.
+ It can be a map (NetCDF), a table (TXT) or a float. Negative values will be replaced by
+ the default value of 0.3
+ Units: -
+ Range: 0.1 - 0.5
+ Default: 0.3
+
+
+
+
+
+ default: 5.0 [mm/day] (not included in calibration)
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+ default: 2.0
+ $(PathParams)/params_QSplitMult
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanBottomWMult
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanDepthTMult
+ Multiplier [] applied to ChanDepthThreshold
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanSMult
+ Multiplier [] applied to ChanSdXdY
+
+
+
+
+
+
+
+ **************************************************************
+ FILE PATHS
+ **************************************************************
+
+
+
+
+ RUNDIR
+ Output path (org=$(PathRoot)/out)
+
+
+
+
+
+ INITDIR
+ Path of the initial value maps e.g. lzavin.map (org=$(PathRoot)/outPo)
+
+
+
+
+
+ Static maps path
+
+
+
+
+
+ Inflow path
+
+
+
+
+
+ Calibration parameter path
+
+
+
+
+
+ Tables path
+
+
+
+
+
+ Maps instead of tables path
+
+
+
+
+
+ Maps instead of tables for soil hydraulics path
+
+
+
+
+
+ Maps for transient land use changes every 5 years
+
+
+
+
+
+ Maps for land use fractions and related land use maps
+
+
+
+
+
+ Water use maps path
+
+
+
+
+
+ FORCINGSDIR
+ Meteo path
+
+
+
+
+
+ Leaf Area Index maps path
+
+
+
+
+
+ variable water fraction maps path
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ if init. condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ Cold start: 0
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ Cold start: 0
+ cumulative interception [mm]
+
+
+
+
+
+ Cold start: 0
+ PRERUNDIR/uz.end.nc
+ water in upper store [mm]
+
+
+
+
+
+ Cold start: 1
+ days since last rainfall [days]
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lz.end.nc
+ water in lower store [mm]
+ Cold start: -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ Cold start: -9999: use half bankfull
+
+
+
+
+
+ PRERUNDIR/tha.end.nc
+ initial soil moisture content layer 1a (superficial soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thb.end.nc
+ initial soil moisture content layer 1b (upper soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thc.end.nc
+ initial soil moisture content layer 2 (lower soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ Cold start: -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ Cold start: -9999: use 0
+
+
+
+
+
+ Initial lake level [m]
+ Cold start: -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzf.end.nc
+ water in upper groundwater store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thfa.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfb.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfc.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzi.end.nc
+ water in groundwater upper store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thia.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thib.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thic.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IMPERVIOUS AREAS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+
+
+ **************************************************************
+ CUMULATIVE FLUXES REQUIRED WHEN COMPUTING THE PRE-RUN IN CHUNKS
+ **************************************************************
+
+
+
+
+ Cumulative inflow to the lower groundwater zone
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ LZInflowCumEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flux from second to third soil layer, other land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBOtherEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flux from second to third soil layer, forest land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBForestEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flux from second to third soil layer, irrigation land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBIrrigationEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative discharge
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ CumQEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative number of days from the start of the prerun
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ TimeSinceStartPrerunChunkEnd: required for the warm start of the pre-run
+
+
+
+
+
+
+ **************************************************************
+ PREFIXES OF METEO AND VEGETATION RELATED VARIABLES
+ **************************************************************
+
+
+
+
+ prefix precipitation maps
+
+
+
+
+
+ prefix average temperature maps
+
+
+
+
+
+ prefix E0 maps
+
+
+
+
+
+ prefix ES0 maps
+
+
+
+
+
+ prefix ET0 maps
+
+
+
+
+
+ prefix LAI maps
+
+
+
+
+
+ prefix LAI forest maps
+
+
+
+
+
+ prefix LAI irrigation maps
+
+
+
+
+
+ prefix domestic water use maps
+
+
+
+
+
+ prefix livestock water use maps
+
+
+
+
+
+ prefix energy water use maps
+
+
+
+
+
+ prefix industry water use maps
+
+
+
+
+
+ prefix variable water fraction
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier [-] applied to potential precipitation rates
+
+
+
+
+
+ Multiplier [-] applied to potential evapo(transpi)ration rates
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier [-] applied to precipitation that falls as snow
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ IRRIGATION AND WATER ABSTRACTION RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+
+ default: 0.75
+ Field application irrigation efficiency [-]: max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency [-]: around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor [-] to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1) [-]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1) [-]
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1) [-]
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1) [-]
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Default : 0.2
+ $(PathRoot)/leakage.map
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1) [-]
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1) [-]
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1) [-]
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1) [-]
+ scenruse.map
+
+
+
+
+
+ Irrigation crop coefficient [-]
+
+
+
+
+
+ Irrigation crop group number [-]
+
+
+
+
+
+ Population [units]
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use UpperZoneTimeConstant, LowerZoneTimeConstant,
+ GwPercValue as calibration constants
+ - calibrate on GwLossFraction if necessary
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cell length]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+
+ Fraction of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+
+ kinematic wave parameter beta [-]: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ VARIABLES RELATED TO OPTIONS
+ These all need to have some (real or bogus) value,
+ even for options that are not actually used!
+ **************************************************************
+
+
+
+ **************************************************************
+ RESERVOIR OPTION
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Initial reservoir fill fraction [-]
+ Cold start: -9999 sets initial fill to normal storage limit
+ if you're not using the reservoir option, enter some bogus value
+
+
+
+
+
+
+
+ **************************************************************
+ LAKE OPTION
+ **************************************************************
+
+
+
+
+ Cold start: -9999
+ Estimate of average net inflow into lake (=inflow - evaporation) [cu m / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ POLDER OPTION
+ **************************************************************
+
+
+
+
+ Weir constant [-] (Do not change!)
+
+
+
+
+
+ Initial water level in polder [m]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE OPTION
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ test_chanmct_all
+ test_chanmct_2
+ chanmct_single
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be 0)
+ Default: 0.001
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (OPTIONAL)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs [cu m / s]
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ OPTIONAL: observed or simulated input hydrographs as
+ time series [cu m / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING OPTION
+ **************************************************************
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF soil layer 1a, other fraction
+
+
+
+
+
+ Reported pF soil layer 1b, other fraction
+
+
+
+
+
+ Reported pF soil layer 2, other fraction
+
+
+
+
+
+ Reported pF soil layer 1a, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1b, forest fraction
+
+
+
+
+
+ Reported pF layer 2, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1a, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 1b, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 2, irrigation fraction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is necessary when using projected coordinates (x,y)
+
+
+
+
+
+
+
+
+
+
+ Clone map
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+
+
+ **************************************************************
+ TIMESTEP RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Calendar day is back!
+ Calendar day number of 1st day in model run
+ e.g. 1st of January: 1; 1st of June 151 (or 152 in leap year)
+ Needed to read out LAI tables correctly
+
+
+
+
+
+ timestep [seconds] (60*60*24)
+
+
+
+
+
+ Sub time step used for kinematic wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ Number of first time step in simulation
+
+
+
+
+
+ Number of last time step in simulation
+
+
+
+
+
+ Number of days used for internal spin-up (fluxes computations during prerun)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier applied to potential precipitation rates [-]
+
+
+
+
+
+ Multiplier applied to potential evapo(transpi)ration rates [-]
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient [-] for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier applied to precipitation that falls as snow
+
+
+
+
+
+ Snowmelt coefficient [mm C-1 day-1)]
+ See also Martinec et al., 1998.
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [deg C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ INFILTRATION PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use all other parameters as calibration constants
+
+
+
+
+
+ Time constant for water in upper zone [days]
+
+
+
+
+
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+
+ water use daily maps with a (in this case negative) volume of water [cu m/s]
+
+
+
+
+
+ table with days for each water use maps
+ 1st column: range of days; 2nd column: suffix of wuse map
+
+
+
+
+
+ Percentage of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+ maximum number of loops for calculating evaporation
+ = distance water is taken to satisfy the need of evaporation from open water
+
+
+
+
+
+ Reported evaporation from open water [mm]
+
+
+
+
+
+ Time series of upstream water evaporation from open water at gauging stations
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+
+ Multiplier applied to Channel Manning's n
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for second routing line
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ Multiplier applied to ChanDepthThreshold
+
+
+
+
+
+ Multiplier applied to ChanSdXdY
+
+
+
+
+
+ kinematic wave parameter: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOR THE WATER BALANCE MODEL
+ (can be either maps or single values)
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lzavin
+ Reported map of average percolation rate from upper to
+ lower groundwater zone (reported for end of simulation) [mm/day]
+
+
+
+
+
+ PRERUNDIR/avgdis
+ CHANNEL split routing in two lines
+ Average discharge map [m3/s]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, other land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, forest land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, irrigated land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ if init condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ water in groundwater lower store [mm]
+ -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ -9999: use half bankfull
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for forest fraction
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ cumulative depression storage [mm]
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for irrigation
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+
+ **************************************************************
+ CUMULATIVE FLUXES REQUIRED WHEN COMPUTING THE PRE-RUN IN CHUNKS
+ **************************************************************
+
+
+
+ Cumulative inflow to the lower groundwater zone
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ LZInflowCumEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flow from second to third soil layer, other land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBOtherEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flow from second to third soil layer, forest land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBForestEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flow from second to third soil layer, irrigation land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBIrrigationEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative discharge
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ CumQEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative number of days from the start of the prerun
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ NetTimeSinceStartPrerunChunkEnd: required for the warm start of the pre-run
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT METEOROLOGICAL AND VEGETATION TIMESERIES AS MAPS
+ **************************************************************
+
+
+
+
+ precipitation [mm/day]
+
+
+
+
+
+ average daily temperature [C]
+
+
+
+
+
+ daily reference evaporation (free water) [mm/day]
+
+
+
+
+
+ daily reference evaporation (soil) [mm/day]
+
+
+
+
+
+ daily reference evapotranspiration (crop) [mm/day]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT WATER USE MAPS AND PARAMETERS
+ **************************************************************
+
+
+
+
+ Domestic water abstraction daily maps [mm]
+
+
+
+
+
+ Livestock water abstraction daily maps [mm]
+
+
+
+
+
+ Energy water abstraction daily maps [mm]
+
+
+
+
+
+ Industry water abstraction daily maps [mm]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1)
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1)
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1)
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1)
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1)
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1)
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1)
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1
+ scenruse.map
+
+
+
+
+
+
+ Field application irrigation efficiency max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency, around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Irrigation crop coefficient
+
+
+
+
+
+ Irrigation crop group number
+
+
+
+
+
+ Population
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ RICE IRRIGATION
+ **************************************************************
+
+
+
+
+
+ water amount in mm per day
+ 10 mm for 10 days (total 10cm water)
+
+
+
+
+
+ FAO: percolation for heavy clay soils: PERC = 2 mm/day
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT MAPS
+ **************************************************************
+
+
+
+
+ Reported discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported discharge [cu m/s] at the end of a timestep
+
+
+
+
+
+ Reported discharge [cu m/s] but cut by a discharge mask map
+
+
+
+
+
+ Reported water level [m] % False by default
+
+
+
+
+
+
+
+ STATE VARIABLES AT SELECTED TIME STEPS
+ ONLY FOR INITIALISATION OF SUCCEEDING RUNS
+ REPORTING TIME STEPS SET THROUGH "ReportSteps" OPTION
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+
+ Reported cross section area 2nd line of routing [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lowerupper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported transpiration maps, other fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, forest fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, irrigated fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, weighted sum over the fractions of each pixel [mm]
+
+
+
+
+
+
+
+ "END" MAPS, AKA REPORTED OUTPUT MAPS CALLED "END"
+ Same as above, but always at last time step
+ Support for these "end" maps will most likely be
+ discontinued some time soon
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported lake level [m]
+
+
+
+
+
+ Reported lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Reported lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Reported lake storage [m3]
+
+
+
+
+
+
+ Reported reservoir filling [-]
+
+
+
+
+
+ Reported cross section area 2nd line of rounting [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Reported average discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1c (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL DRIVING METEOROLOGICAL VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+ Note reporting is done as a quantity per time step, not as
+ an intensity (as in meteo input!)
+
+
+
+
+ Precipitation [mm per time step]
+
+
+
+
+
+ Average DAILY temperature [degrees C]
+
+
+
+
+
+ Potential reference evapotranspiration [mm per time step]
+
+
+
+
+
+ Potential evaporation from bare soil surface [mm per time step]
+
+
+
+
+
+ Potential evaporation from open water surface [mm per time step]
+
+
+
+
+
+
+
+ INDIVIDUAL STATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported total water storage [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct runoff fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surfac
+
+
+
+
+
+ Reported channel cross-section area [m2]
+
+
+
+
+
+ Reported snow cover [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage, other fraction [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage, forest fraction [mm]
+
+
+
+
+
+ Reported interception storage, irrigation fraction [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported interception (depression) storage, direct runoff (impervious) fraction [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL RATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported rain (excluding snow)[mm]
+
+
+
+
+
+ Reported snow (excluding rain)[mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported actual evapotranspiration [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, irrigation fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), other fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), forest fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), weighted sum over the fraction of each pixel [mm]
+
+
+
+
+
+ Reported available groundwater LZ+ GWLoss [mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported fast runoff = surface + UZ [mm]
+
+
+
+
+
+ Reported GWloss [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported total runoff that enters the channel: groundwater + surface runoff [mm]
+
+
+
+
+
+ Reported Direct Runoff [mm]
+
+
+
+
+
+ Reported FlowVelocityMSecMaps [m/s]
+
+
+
+
+
+ Reported TravelDistance [m]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported leaf drainage Forest[mm]
+
+
+
+
+
+ Reported interception forest [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported transpiration forest [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ MISCELLANEOUS OUTPUT MAPS AND TIME SERIES
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (reported at sites) [mm/day]
+
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (average for upstream area of each gauge) [mm/day]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress [days]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress for forest fraction [days]
+
+
+
+
+
+ Reported soil transpiration reduction factor [-] for other landuse
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+ Reported soil transpiration reduction factor [-]
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT TIME SERIES
+ **************************************************************
+
+
+
+
+ Reported average discharge over the model time step [cu m/s]
+
+
+
+
+
+ Reported instantaneous discharge at the end of routing sub-step [cu m/s]
+
+
+
+
+
+ Reported average discharge on the last routing sub-step [cu m/s]
+
+
+
+
+
+ Reported water level [m]
+
+
+
+
+
+
+ OUTPUT AT SITES: STATE VARIABLES
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ OUTPUT AT SITES: RATE VARIABLES
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation from interception storage [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AVERAGE VALUES OF METEOROLOGICAL FORCING VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repMeteoUpsGauges option is activated)
+
+
+
+
+ Precipitation [mm/time step]
+
+
+
+
+
+ Average temperature [deg C]
+
+
+
+
+
+ Reference evapotranspiration [mm/time step]
+
+
+
+
+
+ Potential soil evaporation [mm/time step]
+
+
+
+
+
+ Potential open water evaporation [mm/time step]
+
+
+
+
+
+ ESActPixel+self.var.TaPixel+self.var.TaInterceptionAll+self.var.EvaAddM3*self.var.M3toMM
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL STATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repStateUpsGauges option is activated)
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture upper layer [mm3/mm3]
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL RATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repRateUpsGauges option is activated)
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Snow melt [mm]
+
+
+
+
+
+ Interception [mm]
+
+
+
+
+
+ Actual transpiration [mm]
+
+
+
+
+
+ Actual evaporation [mm]
+
+
+
+
+
+ Evaporation from interception storage [mm]
+
+
+
+
+
+ Leaf drainage [mm]
+
+
+
+
+
+ Infiltration [mm]
+
+
+
+
+
+ Preferential flow [mm]
+
+
+
+
+
+ Percolation upper to lower soil layer [mm]
+
+
+
+
+
+ Seepage from lower soil layer to groundwater [mm]
+
+
+
+
+
+ Surface runoff [mm]
+
+
+
+
+
+ Outflow from upper groundwater zone (to channel) [mm]
+
+
+
+
+
+ Outflow from lower groundwater zone (to channel) [mm]
+
+
+
+
+
+ Total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+ NUMERICS
+
+
+
+
+ Reported mass balance error at outlet [cu m]
+
+
+
+
+
+ Reported mass balance error at outlet (as mm water slice)
+
+
+
+
+
+ Reported mass balance error due to the split routing module, for each catchment [m3]
+
+
+
+
+
+ Reported discharge error at the outlet as a consequence of the mass balance error within the split routing module, for each catchment [m3/s]
+
+
+
+
+
+ Reported ratio between the mass balance error and the water volume storage, for each catchment [m3/m3]
+
+
+
+
+
+ Average value of the sum of the fractions within a catchment: this value must be 1.0 in order to avoid mass balace errors! [-]
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of sub-steps needed for soil moisture
+ routine
+
+
+
+
+
+
+
+ **************************************************************
+ BASE INPUT MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ **************************************************************
+ TOPOGRAPHY MAPS
+ **************************************************************
+
+
+
+
+ $(PathMaps)/ldd.map
+ local drain direction map (1-9)
+
+
+
+
+
+ slope gradient [-] (0.50 -> tangent=0.5, angle=26.5 degrees)
+
+
+
+
+
+ Elevation standard deviation [m], i.e. altitude difference elevation within pixel.
+ Used for sub-pixel modelling of snow accumulation
+ and melt
+
+
+
+
+
+ outlets.map
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+
+
+
+
+
+ map with monitoring sites (1,2,3 etc)
+
+
+
+
+
+ optional map with pixel length [m], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+ optional map with pixel area [m2], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+
+
+ **************************************************************
+ SOIL PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Soil depth for 1st layer: 1a (superficial layer)
+ Minimum Soil Depth [mm] for superficial soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b (upper layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2 (lower layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 1st layer: 1a
+ Minimum Soil Depth [mm] for upper soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b
+ Minimum Soil Depth [mm] for lower soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2
+ Minimum Soil Depth [mm] for lower soil layer 300
+
+
+
+
+
+
+
+
+ **************************************************************
+ LAND USE RELATED MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ $(PathMapsLanduse)/fracsealed
+ urban area (0-1)
+
+
+
+
+
+ stack of Direct Runoff fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracforest
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of forest fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracwater
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of water fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracother
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of other fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracirrigated
+ irrigated area fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of Irrigation fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracDrained.map
+ drained fraction from irrigated area (0-1)
+
+
+
+
+
+ rice fraction of a pixel (0-1)
+
+
+
+
+
+ stack of rice fraction maps (0-1)
+
+
+
+
+
+ groundwater used fraction of a pixel (0-1)
+
+
+
+
+
+ NonConventionalWaterUsed (0-1)
+
+
+
+
+
+ lake and reservoir water used, fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMaps)/eflow.map
+ EFlowThreshold is map with m3/s discharge, e.g. the 10th percentile discharge of the baseline run
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Variable Channel NoSubStepChannel
+ **************************************************************
+
+
+
+
+ UpArea do be included in max. celerity
+
+
+
+
+
+ variable Number of sub steps for the kinematic wave routing
+
+
+
+
+ **************************************************************
+ CHANNEL MAPS
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels and 0 at
+ all other pixels
+ IMPORTANT: IF NON-CHANNEL PIXELS HAVE MISSING VALUES
+ THEN THIS MAY RESULT IN INCORRECT RESULTS
+
+
+
+
+
+ Channel gradient (fraction, dy/dx)
+
+
+
+
+
+ Channel Manning's n [m^(1/3) s^(-1)]
+
+
+
+
+
+ Channel length [m]
+
+
+
+
+
+ Channel bottom width [m]
+
+
+
+
+
+ Channel side slope, expressed as gradient
+ !! expressed as dx/dy !!! (NOT dy/dx, which would perhaps be more logical)
+
+
+
+
+
+ Floodplain Width [m]
+
+
+
+
+
+ Bankfull channel depth [m]
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES)
+ Each parameter is defined for upper (1a and 1b) and
+ lower (2) soil layers
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 2 (lower soil layer)
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES) for Forest
+ Each parameter is defined for 1a and 1b
+ Normal parameter is taken for the lower soil layer
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3]
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this) for soil layer 1a (superficial soil layer)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ RESERVOIRS (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Map with location of reservoirs (number)
+
+
+
+
+
+ Initial reservoir storage (fraction)
+
+
+
+
+
+ Input tables
+
+
+
+
+ Total reservoir storage capacity
+ Units: m³
+
+
+
+
+
+ Reservoir inflow associated with the 100-year return period.
+ It is modified by a calibration parameter (`ReservoirFloodOutflowFactor`) to
+ define the inflow above which the reservoir switches to flood control mode
+ Units: m³/s
+
+
+
+
+
+ NReservoir average inflow used to define the normal reservoir release
+ Units: m³/s
+
+
+
+
+
+ Minimum reservoir release:
+ Units: m³/s
+
+
+
+
+ Output time series
+
+
+
+
+ name of output TSS file with Reservoir Inflow
+
+
+
+
+
+ name of output TSS file with Reservoir Outflow
+
+
+
+
+
+ name of output TSS file with Reservoir Filling
+
+
+
+
+
+ name of output TSS file with Reservoir storage [m3]
+
+
+
+
+
+
+ name of output map(s) with Reservoir Filling
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow that defines a flood event, i.e., the
+ reservoir routine switches to flood control mode.
+
+
+
+
+
+
+
+ **************************************************************
+ LAKES (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Map with location of lakes
+
+
+
+
+
+ Initial lake level [m]
+ -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Estimate of average net inflow into lake (=inflow - evaporation) [m3 / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+ Input tables
+
+
+
+
+ Lake surface area [m2]
+
+
+
+
+
+ Lake parameter A [m/s]
+
+
+
+
+
+ Multiplier applied to the lake parameter A
+
+
+
+
+ Output time series
+
+
+
+
+ Output timeseries file with lake inflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake outflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake level [m]
+
+
+
+
+
+ Output map(s) with lake level [m]
+
+
+
+
+
+ Output map with lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Output map with lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+
+
+ **************************************************************
+ POLDERS(if used)
+ **************************************************************
+
+
+
+
+
+ Weir constant (fixed) [-]
+
+
+
+
+
+ Map with polder locations
+
+
+
+
+
+ Initial water level in polders [m]
+
+
+
+
+
+ Polder maximum storage capacity [cu m]
+
+
+
+
+
+ Area of polder [sq m]
+
+
+
+
+
+ Width of polder outlet/inlet [m]
+
+
+
+
+
+ Polder bottom level, measured from channel bottom [m]
+
+
+
+
+
+ Time step at which polder opens in case of regulated polder (use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ Time step at which water stored in polder is released again(use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ name of output TSS file with polder flux [cu m / s]. Positive for flow from channel to polder, negative for polder to channel
+
+
+
+
+
+ name of output TSS file with polder level [m]
+
+
+
+
+
+ name of output map(s) with polder level
+
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (if used)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ Observed or simulated input hydrographs as
+ time series [m3 / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE(if used)
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+ Boolean map with value 1 at channel pixels where dynamic wave is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Channel bottom level [m]
+
+
+
+
+
+ Nominal map with channel cross section IDs
+
+
+
+
+
+ Table with cross section parameters (H,A,P)
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be >0.001)
+
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING (if used)
+ **************************************************************
+
+
+
+ PF PARAMETERS
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, VALUES AT SITES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, AVERAGE VALUES UPSTREAM OF GAUGES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Ad'a addition
+ **************************************************************
+
+
+
+
+ threshold value below which there is no outflow to the channel [mm]
+
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cells]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+ **************************************************************
+ Water demand output maps
+ **************************************************************
+
+
+
+
+ day of the year when the yearly endcalculation is done e.g. 31/10/xxxx = 304
+
+
+
+
+
+
+ TotalAbstractionFromGroundwater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm] summed up for water regions
+
+
+
+
+
+ Total Abstraction From SurfaceWater and Groundwater [mm] summed up for water regions, montly values
+
+
+
+
+
+ TotalPaddyRiceIrrigationAbstraction [m3]
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions (this is the official EU WEI+): consumption / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Abstraction; for water regions: abstraction / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Demand; for water regions: demand / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions
+
+
+
+
+
+
+ Internal available water
+
+
+
+
+
+ External available water
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Reservoir and Lake storage in m3 at end of month
+
+
+
+
+
+ Reservoir and Lake abstraction in m3
+
+
+
+
+
+ Irrigation water shortage in m3 for month
+
+
+
+
+
+ Surface water availability in m3 for potential irrigation for each day
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly Water Dependency Index (0-1) (De Roo 2015)
+ WDI = Upstream Inflow Actually Used / Total Water Demand
+ Values close to 1 give extreme dependency on upstream water
+
+
+
+
+
+ Monthly Water Security Index (0-1) (De Roo 2015)
+ WSI = Upstream Inflow Actually Used / Upstream Inflow Available
+ Values close to 1 give extreme vulnerability to upstream water
+
+
+
+
+
+ Monthly Water Sustainability Index (0-1) (De Roo 2015)
+ WTI = 1-SurfaceWaterDeficit / TotalWaterDemand
+ Values of 1 indicate complete sustainable conditions, no water deficit
+ Values less than 1 indicate that considerable deep groundwater resources or desalinated water is used
+
+
+
+
+
+ Monthly Falkenmark 1 Index (tochanm3)
+
+
+
+
+
+ Monthly Falkenmark 2 Index (tochanm3+reservoirlakeabstraction)
+
+
+
+
+
+ Monthly Falkenmark 3 Index (tochanm3+reservoirlakeabstraction+externalinflow)
+
+
+
+
+
+
+ Abstraction from groundwater in m3 per timestep
+
+
+
+
+
+ Abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region Total Abstraction From Lakes and Reservoirs in m3, per timestep
+
+
+
+
+
+ Lake Abstraction per timestep in m3
+
+
+
+
+
+ ReservoirAbstraction per timestep in M3
+
+
+
+
+
+ ReservoirStorage in M3
+
+
+
+
+
+ LakeStorage in M3
+
+
+
+
+
+ AreatotalIrrigationUseM3
+
+
+
+
+
+ FractionAbstractedFromChannels
+
+
+
+
+
+ EFlowIndicator (1 on day with ChanQ smaller than EflowThreshold, 0 on normal days)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Peter's addition
+ **************************************************************
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+
+
+
+
+ areamap MaskMap;
+ timer StepStart StepEnd 1;
+ ReportSteps=$(ReportSteps);
+
+
+
+
+
diff --git a/tests/data/LF_MCT_UseCase/settings/mct_inflow_calib.xml b/tests/data/LF_MCT_UseCase/settings/mct_inflow_calib.xml
new file mode 100644
index 00000000..a0ac4ff4
--- /dev/null
+++ b/tests/data/LF_MCT_UseCase/settings/mct_inflow_calib.xml
@@ -0,0 +1,6164 @@
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # modelling and reporting options
+ #-----------------------------------------------------------
+
+
+
+ # options to turn hydrological modules on/off
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # use inflow data
+
+
+ # option to compute indicators
+
+
+ # option to initialize Lisflood
+
+
+
+
+ # option to read/write NetCDF
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # report time series
+ #-----------------------------------------------------------
+ # report discharge TS
+
+
+ # report gauges and sites
+ # sites (pixel average)
+
+
+ # gauges (catchment average)
+
+
+
+
+ # report reservoirs and lakes
+
+
+
+ # report mass balance
+
+
+ #-----------------------------------------------------------
+ # report maps
+ #-----------------------------------------------------------
+ # report state maps
+
+
+ # report end maps
+
+
+ # report output maps
+ # forcings
+
+
+
+
+
+
+ # dicharge
+
+
+
+
+
+ # variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Surface runoff
+ #Surface runoff + UZ [mm]
+ #Surface runoff + UZ [mm] + LZ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ netCDF parameters
+ **************************************************************
+
+
+
+
+ !-- Optimization of netCDF I/O through chunking and caching.
+
+ The option "NetCDFTimeChunks" may take the following values:
+ - "-1" : Load everything upfront
+ - "[positive integer number]" : Chunk size defined by user
+ - "auto" : Let xarray to decide
+
+
+
+
+ The option "MapsCaching" may take the following values:
+ - "True" : Cache maps during execution
+ - "False" : No caching
+
+
+
+ **************************************************************
+ PARALLELIZED KINEMATIC ROUTING
+ **************************************************************
+
+
+
+
+ The option "OutputMapsChunks" may take the following values:
+ - "[positive integer number]" : Dump outputs to disk every X steps (default 1)
+
+
+
+
+ The option "OutputMapsDataType" sets the output data type and may take the following values:
+ - "float64"
+ - "float32"
+
+
+
+ **************************************************************
+ PARALLELISATION WITH NUMBA (USED IN ROUTING AND SOILLOOP)
+ **************************************************************
+
+
+
+
+ !-- Parallelisation of using Numba runtime compiled library .
+ The option "numCPUs_parallelNumba" may take the following values:
+ - "0" : set to NUMBA_NUM_THREADS Environment Variable
+ (if NUMBA_NUM_THREADS is not set, will take the number of CPU cores determined by python's multiprocessing.cpu_count())
+ - "1" : serial execution (not parallel)
+ - "2", "3", ... : manual setting of the number of parallel threads.
+ (if exceeding NUMBA_NUM_THREADS, the value is set to NUMBA_NUM_THREADS) -->
+
+
+
+ **************************************************************
+ AREA AND OUTLETS
+ **************************************************************
+
+
+
+
+ MAPSDIR
+ Root directory (tables and parameters)
+ $(SettingsPath)/..
+
+
+
+
+
+ Clone map
+ col row cellsize xupleft yupleft
+ or pcraster maps or netcdf maps
+
+
+
+
+ 4297500 2372500 inflow point
+ 4307500 2377500 outlet
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+ lat lon (lat2 lon2 ...)
+ or pcraster maps or netcdf maps
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+ This is needed when using projected coordinates
+
+
+
+
+
+
+ **************************************************************
+ TIME-RELATED CONSTANTS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Reference day and time
+
+
+
+
+
+ timestep [seconds]
+
+
+
+
+
+ 17280 5 times subrouting
+ 21600 6 hours
+ Sub time step used for kinematic and MCT wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ 01/01/YEAR_START 12:00
+ Number of first time step in simulation
+
+
+
+
+
+ 01/01/YEAR_END 06:00
+ Number of last time step in simulation
+
+
+
+
+
+ low value to limit testing time
+
+
+
+
+
+ 1..9999
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ MONTE CARLO, KALMAN FILTER
+ **************************************************************
+
+
+
+
+ Number of sample to use in MonteCarlo simulations
+
+
+
+
+
+ Number of cores of the computer to use in MonteCarlo simulations
+ This only works with Linux, if set to 1 no forking will be used
+
+
+
+
+
+
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ CALIBRATION PARAMETERS
+ with .nc format: than working with smaller sub-areas is possible
+ **************************************************************
+
+
+
+ default: 10
+ $(PathParams)/params_UpperZoneTimeConstant
+ Time constant for water in upper zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 100
+ $(PathParams)/params_LowerZoneTimeConstant
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 0.5
+ $(PathParams)/GwPercValue
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ default: 0.0
+ $(PathParams)/GwLoss
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+ default: 10
+ $(PathParams)/params_LZThreshold
+ threshold value [mm] of the water storage in the lower groundwater zone.
+ If the water storage in the lower groundwater zone decreases below LZThreshold,
+ the flow from the lower zone to the nearby rivers (base-flow) stops.
+
+
+
+
+
+ default: 0.7 [-]
+ $(PathParams)/b_Xinanjiang
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ default: 3.5 [-]
+ $(PathParams)/PowerPrefFlow
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+ default: 2.0 [-]
+ $(PathParams)/CalChanMan1
+ Multiplier [-] applied to Channel Manning's n
+
+
+
+
+
+ default: 4.0 [mm C-1 day-1]
+ $(PathParams)/SnowMeltCoef
+ SRM: 0.45 cm C-1 day-1 ( = 4.50 mm C-1 day-1), Kwadijk: 18 mm C-1 month-1 (= 0.59 mm C-1 day-1)
+ See also Martinec et al., 1998.
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan2
+ Multiplier [-] applied to Channel Manning's n for second line of routing
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan3
+ Multiplier [-] applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ default: 1.0 [-]
+ $(PathParams)/LakeMultiplier
+ Multiplier applied to the lake parameter A
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow (`ReservoirFloodOutflow`) that defines the inflow
+ value that switches, when exceeded, the reservoir routine to flood control mode.
+ It can be a map (NetCDF), a table (TXT) or a float. Negative values will be replaced by
+ the default value of 0.3
+ Units: -
+ Range: 0.1 - 0.5
+ Default: 0.3
+
+
+
+
+
+ default: 5.0 [mm/day] (not included in calibration)
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+ default: 2.0
+ $(PathParams)/params_QSplitMult
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanBottomWMult
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanDepthTMult
+ Multiplier [] applied to ChanDepthThreshold
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanSMult
+ Multiplier [] applied to ChanSdXdY
+
+
+
+
+
+
+
+ **************************************************************
+ FILE PATHS
+ **************************************************************
+
+
+
+
+ RUNDIR
+ Output path (org=$(PathRoot)/out)
+
+
+
+
+
+ INITDIR
+ Path of the initial value maps e.g. lzavin.map (org=$(PathRoot)/outPo)
+
+
+
+
+
+ Static maps path
+
+
+
+
+
+ Inflow path
+
+
+
+
+
+ Calibration parameter path
+
+
+
+
+
+ Tables path
+
+
+
+
+
+ Maps instead of tables path
+
+
+
+
+
+ Maps instead of tables for soil hydraulics path
+
+
+
+
+
+ Maps for transient land use changes every 5 years
+
+
+
+
+
+ Maps for land use fractions and related land use maps
+
+
+
+
+
+ Water use maps path
+
+
+
+
+
+ FORCINGSDIR
+ Meteo path
+
+
+
+
+
+ Leaf Area Index maps path
+
+
+
+
+
+ variable water fraction maps path
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ if init. condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ Cold start: 0
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ Cold start: 0
+ cumulative interception [mm]
+
+
+
+
+
+ Cold start: 0
+ PRERUNDIR/uz.end.nc
+ water in upper store [mm]
+
+
+
+
+
+ Cold start: 1
+ days since last rainfall [days]
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lz.end.nc
+ water in lower store [mm]
+ Cold start: -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ Cold start: -9999: use half bankfull
+
+
+
+
+
+ PRERUNDIR/tha.end.nc
+ initial soil moisture content layer 1a (superficial soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thb.end.nc
+ initial soil moisture content layer 1b (upper soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thc.end.nc
+ initial soil moisture content layer 2 (lower soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ Cold start: -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ Cold start: -9999: use 0
+
+
+
+
+
+ Initial lake level [m]
+ Cold start: -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzf.end.nc
+ water in upper groundwater store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thfa.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfb.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfc.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzi.end.nc
+ water in groundwater upper store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thia.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thib.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thic.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IMPERVIOUS AREAS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+
+
+ **************************************************************
+ CUMULATIVE FLUXES REQUIRED WHEN COMPUTING THE PRE-RUN IN CHUNKS
+ **************************************************************
+
+
+
+
+ Cumulative inflow to the lower groundwater zone
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ LZInflowCumEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flux from second to third soil layer, other land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBOtherEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flux from second to third soil layer, forest land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBForestEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flux from second to third soil layer, irrigation land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBIrrigationEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative discharge
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ CumQEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative number of days from the start of the prerun
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ TimeSinceStartPrerunChunkEnd: required for the warm start of the pre-run
+
+
+
+
+
+
+
+ **************************************************************
+ PREFIXES OF METEO AND VEGETATION RELATED VARIABLES
+ **************************************************************
+
+
+
+
+ prefix precipitation maps
+
+
+
+
+
+ prefix average temperature maps
+
+
+
+
+
+ prefix E0 maps
+
+
+
+
+
+ prefix ES0 maps
+
+
+
+
+
+ prefix ET0 maps
+
+
+
+
+
+ prefix LAI maps
+
+
+
+
+
+ prefix LAI forest maps
+
+
+
+
+
+ prefix LAI irrigation maps
+
+
+
+
+
+ prefix domestic water use maps
+
+
+
+
+
+ prefix livestock water use maps
+
+
+
+
+
+ prefix energy water use maps
+
+
+
+
+
+ prefix industry water use maps
+
+
+
+
+
+ prefix variable water fraction
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier [-] applied to potential precipitation rates
+
+
+
+
+
+ Multiplier [-] applied to potential evapo(transpi)ration rates
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier [-] applied to precipitation that falls as snow
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ IRRIGATION AND WATER ABSTRACTION RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+
+ default: 0.75
+ Field application irrigation efficiency [-]: max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency [-]: around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor [-] to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1) [-]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1) [-]
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1) [-]
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1) [-]
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Default : 0.2
+ $(PathRoot)/leakage.map
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1) [-]
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1) [-]
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1) [-]
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1) [-]
+ scenruse.map
+
+
+
+
+
+ Irrigation crop coefficient [-]
+
+
+
+
+
+ Irrigation crop group number [-]
+
+
+
+
+
+ Population [units]
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use UpperZoneTimeConstant, LowerZoneTimeConstant,
+ GwPercValue as calibration constants
+ - calibrate on GwLossFraction if necessary
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cell length]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+
+ Fraction of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+
+ kinematic wave parameter beta [-]: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ VARIABLES RELATED TO OPTIONS
+ These all need to have some (real or bogus) value,
+ even for options that are not actually used!
+ **************************************************************
+
+
+
+ **************************************************************
+ RESERVOIR OPTION
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Initial reservoir fill fraction [-]
+ Cold start: -9999 sets initial fill to normal storage limit
+ if you're not using the reservoir option, enter some bogus value
+
+
+
+
+
+
+
+ **************************************************************
+ LAKE OPTION
+ **************************************************************
+
+
+
+
+ Cold start: -9999
+ Estimate of average net inflow into lake (=inflow - evaporation) [cu m / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ POLDER OPTION
+ **************************************************************
+
+
+
+
+ Weir constant [-] (Do not change!)
+
+
+
+
+
+ Initial water level in polder [m]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE OPTION
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ test_chanmct_all
+ test_chanmct_2
+ chanmct_single
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be 0)
+ Default: 0.001
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (OPTIONAL)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs [cu m / s]
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ OPTIONAL: observed or simulated input hydrographs as
+ time series [cu m / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING OPTION
+ **************************************************************
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF soil layer 1a, other fraction
+
+
+
+
+
+ Reported pF soil layer 1b, other fraction
+
+
+
+
+
+ Reported pF soil layer 2, other fraction
+
+
+
+
+
+ Reported pF soil layer 1a, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1b, forest fraction
+
+
+
+
+
+ Reported pF layer 2, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1a, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 1b, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 2, irrigation fraction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is necessary when using projected coordinates (x,y)
+
+
+
+
+
+
+
+
+
+
+ Clone map
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+
+
+ **************************************************************
+ TIMESTEP RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Calendar day is back!
+ Calendar day number of 1st day in model run
+ e.g. 1st of January: 1; 1st of June 151 (or 152 in leap year)
+ Needed to read out LAI tables correctly
+
+
+
+
+
+ timestep [seconds] (60*60*24)
+
+
+
+
+
+ Sub time step used for kinematic wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ Number of first time step in simulation
+
+
+
+
+
+ Number of last time step in simulation
+
+
+
+
+
+ Number of days used for internal spin-up (fluxes computations during prerun)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier applied to potential precipitation rates [-]
+
+
+
+
+
+ Multiplier applied to potential evapo(transpi)ration rates [-]
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient [-] for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier applied to precipitation that falls as snow
+
+
+
+
+
+ Snowmelt coefficient [mm C-1 day-1)]
+ See also Martinec et al., 1998.
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [deg C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ INFILTRATION PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use all other parameters as calibration constants
+
+
+
+
+
+ Time constant for water in upper zone [days]
+
+
+
+
+
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+
+ water use daily maps with a (in this case negative) volume of water [cu m/s]
+
+
+
+
+
+ table with days for each water use maps
+ 1st column: range of days; 2nd column: suffix of wuse map
+
+
+
+
+
+ Percentage of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+ maximum number of loops for calculating evaporation
+ = distance water is taken to satisfy the need of evaporation from open water
+
+
+
+
+
+ Reported evaporation from open water [mm]
+
+
+
+
+
+ Time series of upstream water evaporation from open water at gauging stations
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+
+ Multiplier applied to Channel Manning's n
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for second routing line
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ Multiplier applied to ChanDepthThreshold
+
+
+
+
+
+ Multiplier applied to ChanSdXdY
+
+
+
+
+
+ kinematic wave parameter: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOR THE WATER BALANCE MODEL
+ (can be either maps or single values)
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lzavin
+ Reported map of average percolation rate from upper to
+ lower groundwater zone (reported for end of simulation) [mm/day]
+
+
+
+
+
+ PRERUNDIR/avgdis
+ CHANNEL split routing in two lines
+ Average discharge map [m3/s]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, other land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, forest land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, irrigated land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ if init condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ water in groundwater lower store [mm]
+ -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ -9999: use half bankfull
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for forest fraction
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ cumulative depression storage [mm]
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for irrigation
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ CUMULATIVE FLUXES REQUIRED WHEN COMPUTING THE PRE-RUN IN CHUNKS
+ **************************************************************
+
+
+
+ Cumulative inflow to the lower groundwater zone
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ LZInflowCumEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flow from second to third soil layer, other land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBOtherEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flow from second to third soil layer, forest land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBForestEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative flow from second to third soil layer, irrigation land cover fraction
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ cumSeepTopToSubBIrrigationEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative discharge
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ CumQEnd: required for the warm start of the pre-run
+
+
+
+
+
+ Cumulative number of days from the start of the prerun
+ 0: this is appropriate for the cold start of the pre-run, the cold start of the run, the warm start of the run
+ NetTimeSinceStartPrerunChunkEnd: required for the warm start of the pre-run
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT METEOROLOGICAL AND VEGETATION TIMESERIES AS MAPS
+ **************************************************************
+
+
+
+
+ precipitation [mm/day]
+
+
+
+
+
+ average daily temperature [C]
+
+
+
+
+
+ daily reference evaporation (free water) [mm/day]
+
+
+
+
+
+ daily reference evaporation (soil) [mm/day]
+
+
+
+
+
+ daily reference evapotranspiration (crop) [mm/day]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT WATER USE MAPS AND PARAMETERS
+ **************************************************************
+
+
+
+
+ Domestic water abstraction daily maps [mm]
+
+
+
+
+
+ Livestock water abstraction daily maps [mm]
+
+
+
+
+
+ Energy water abstraction daily maps [mm]
+
+
+
+
+
+ Industry water abstraction daily maps [mm]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1)
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1)
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1)
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1)
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1)
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1)
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1)
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1
+ scenruse.map
+
+
+
+
+
+
+ Field application irrigation efficiency max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency, around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Irrigation crop coefficient
+
+
+
+
+
+ Irrigation crop group number
+
+
+
+
+
+ Population
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ RICE IRRIGATION
+ **************************************************************
+
+
+
+
+
+ water amount in mm per day
+ 10 mm for 10 days (total 10cm water)
+
+
+
+
+
+ FAO: percolation for heavy clay soils: PERC = 2 mm/day
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT MAPS
+ **************************************************************
+
+
+
+
+ Reported discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported discharge [cu m/s] at the end of a timestep
+
+
+
+
+
+ Reported discharge [cu m/s] but cut by a discharge mask map
+
+
+
+
+
+ Reported water level [m] % False by default
+
+
+
+
+
+
+ STATE VARIABLES AT SELECTED TIME STEPS
+ ONLY FOR INITIALISATION OF SUCCEEDING RUNS
+ REPORTING TIME STEPS SET THROUGH "ReportSteps" OPTION
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+
+ Reported cross section area 2nd line of routing [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lowerupper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported transpiration maps, other fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, forest fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, irrigated fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, weighted sum over the fractions of each pixel [mm]
+
+
+
+
+
+
+
+
+ "END" MAPS, AKA REPORTED OUTPUT MAPS CALLED "END"
+ Same as above, but always at last time step
+ Support for these "end" maps will most likely be
+ discontinued some time soon
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported lake level [m]
+
+
+
+
+
+ Reported lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Reported lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Reported lake storage [m3]
+
+
+
+
+
+
+ Reported reservoir filling [-]
+
+
+
+
+
+ Reported cross section area 2nd line of rounting [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Reported average discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1c (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL DRIVING METEOROLOGICAL VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+ Note reporting is done as a quantity per time step, not as
+ an intensity (as in meteo input!)
+
+
+
+
+ Precipitation [mm per time step]
+
+
+
+
+
+ Average DAILY temperature [degrees C]
+
+
+
+
+
+ Potential reference evapotranspiration [mm per time step]
+
+
+
+
+
+ Potential evaporation from bare soil surface [mm per time step]
+
+
+
+
+
+ Potential evaporation from open water surface [mm per time step]
+
+
+
+
+
+
+
+ INDIVIDUAL STATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported total water storage [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct runoff fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surfac
+
+
+
+
+
+ Reported channel cross-section area [m2]
+
+
+
+
+
+ Reported snow cover [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage, other fraction [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage, forest fraction [mm]
+
+
+
+
+
+ Reported interception storage, irrigation fraction [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported interception (depression) storage, direct runoff (impervious) fraction [mm]
+
+
+
+
+
+
+ INDIVIDUAL RATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported rain (excluding snow)[mm]
+
+
+
+
+
+ Reported snow (excluding rain)[mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported actual evapotranspiration [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, irrigation fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), other fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), forest fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), weighted sum over the fraction of each pixel [mm]
+
+
+
+
+
+ Reported available groundwater LZ+ GWLoss [mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported fast runoff = surface + UZ [mm]
+
+
+
+
+
+ Reported GWloss [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported total runoff that enters the channel: groundwater + surface runoff [mm]
+
+
+
+
+
+ Reported Direct Runoff [mm]
+
+
+
+
+
+ Reported FlowVelocityMSecMaps [m/s]
+
+
+
+
+
+ Reported TravelDistance [m]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported leaf drainage Forest[mm]
+
+
+
+
+
+ Reported interception forest [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported transpiration forest [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+
+ MISCELLANEOUS OUTPUT MAPS AND TIME SERIES
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (reported at sites) [mm/day]
+
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (average for upstream area of each gauge) [mm/day]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress [days]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress for forest fraction [days]
+
+
+
+
+
+ Reported soil transpiration reduction factor [-] for other landuse
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+ Reported soil transpiration reduction factor [-]
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT TIME SERIES
+ **************************************************************
+
+
+
+
+ Reported average discharge over the model time step [cu m/s]
+
+
+
+
+
+ Reported instantaneous discharge at the end of routing sub-step [cu m/s]
+
+
+
+
+
+ Reported average discharge on the last routing sub-step [cu m/s]
+
+
+
+
+
+ Reported water level [m]
+
+
+
+
+
+
+ OUTPUT AT SITES: STATE VARIABLES
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ OUTPUT AT SITES: RATE VARIABLES
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation from interception storage [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AVERAGE VALUES OF METEOROLOGICAL FORCING VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repMeteoUpsGauges option is activated)
+
+
+
+
+ Precipitation [mm/time step]
+
+
+
+
+
+ Average temperature [deg C]
+
+
+
+
+
+ Reference evapotranspiration [mm/time step]
+
+
+
+
+
+ Potential soil evaporation [mm/time step]
+
+
+
+
+
+ Potential open water evaporation [mm/time step]
+
+
+
+
+
+ ESActPixel+self.var.TaPixel+self.var.TaInterceptionAll+self.var.EvaAddM3*self.var.M3toMM
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL STATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repStateUpsGauges option is activated)
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture upper layer [mm3/mm3]
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL RATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repRateUpsGauges option is activated)
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Snow melt [mm]
+
+
+
+
+
+ Interception [mm]
+
+
+
+
+
+ Actual transpiration [mm]
+
+
+
+
+
+ Actual evaporation [mm]
+
+
+
+
+
+ Evaporation from interception storage [mm]
+
+
+
+
+
+ Leaf drainage [mm]
+
+
+
+
+
+ Infiltration [mm]
+
+
+
+
+
+ Preferential flow [mm]
+
+
+
+
+
+ Percolation upper to lower soil layer [mm]
+
+
+
+
+
+ Seepage from lower soil layer to groundwater [mm]
+
+
+
+
+
+ Surface runoff [mm]
+
+
+
+
+
+ Outflow from upper groundwater zone (to channel) [mm]
+
+
+
+
+
+ Outflow from lower groundwater zone (to channel) [mm]
+
+
+
+
+
+ Total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+ NUMERICS
+
+
+
+
+ Reported mass balance error at outlet [cu m]
+
+
+
+
+
+ Reported mass balance error at outlet (as mm water slice)
+
+
+
+
+
+ Reported mass balance error due to the split routing module, for each catchment [m3]
+
+
+
+
+
+ Reported discharge error at the outlet as a consequence of the mass balance error within the split routing module, for each catchment [m3/s]
+
+
+
+
+
+ Reported ratio between the mass balance error and the water volume storage, for each catchment [m3/m3]
+
+
+
+
+
+ Average value of the sum of the fractions within a catchment: this value must be 1.0 in order to avoid mass balace errors! [-]
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of sub-steps needed for soil moisture
+ routine
+
+
+
+
+
+
+
+
+ **************************************************************
+ BASE INPUT MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ **************************************************************
+ TOPOGRAPHY MAPS
+ **************************************************************
+
+
+
+
+ $(PathMaps)/ldd.map
+ local drain direction map (1-9)
+
+
+
+
+
+ slope gradient [-] (0.50 -> tangent=0.5, angle=26.5 degrees)
+
+
+
+
+
+ Elevation standard deviation [m], i.e. altitude difference elevation within pixel.
+ Used for sub-pixel modelling of snow accumulation
+ and melt
+
+
+
+
+
+ outlets.map
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+
+
+
+
+
+ map with monitoring sites (1,2,3 etc)
+
+
+
+
+
+ optional map with pixel length [m], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+ optional map with pixel area [m2], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+
+
+ **************************************************************
+ SOIL PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Soil depth for 1st layer: 1a (superficial layer)
+ Minimum Soil Depth [mm] for superficial soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b (upper layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2 (lower layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 1st layer: 1a
+ Minimum Soil Depth [mm] for upper soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b
+ Minimum Soil Depth [mm] for lower soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2
+ Minimum Soil Depth [mm] for lower soil layer 300
+
+
+
+
+
+
+
+
+ **************************************************************
+ LAND USE RELATED MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ $(PathMapsLanduse)/fracsealed
+ urban area (0-1)
+
+
+
+
+
+ stack of Direct Runoff fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracforest
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of forest fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracwater
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of water fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracother
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of other fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracirrigated
+ irrigated area fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of Irrigation fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracDrained.map
+ drained fraction from irrigated area (0-1)
+
+
+
+
+
+ rice fraction of a pixel (0-1)
+
+
+
+
+
+ stack of rice fraction maps (0-1)
+
+
+
+
+
+ groundwater used fraction of a pixel (0-1)
+
+
+
+
+
+ NonConventionalWaterUsed (0-1)
+
+
+
+
+
+ lake and reservoir water used, fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMaps)/eflow.map
+ EFlowThreshold is map with m3/s discharge, e.g. the 10th percentile discharge of the baseline run
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Variable Channel NoSubStepChannel
+ **************************************************************
+
+
+
+
+ UpArea do be included in max. celerity
+
+
+
+
+
+ variable Number of sub steps for the kinematic wave routing
+
+
+
+
+ **************************************************************
+ CHANNEL MAPS
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels and 0 at
+ all other pixels
+ IMPORTANT: IF NON-CHANNEL PIXELS HAVE MISSING VALUES
+ THEN THIS MAY RESULT IN INCORRECT RESULTS
+
+
+
+
+
+ Channel gradient (fraction, dy/dx)
+
+
+
+
+
+ Channel Manning's n [m^(1/3) s^(-1)]
+
+
+
+
+
+ Channel length [m]
+
+
+
+
+
+ Channel bottom width [m]
+
+
+
+
+
+ Channel side slope, expressed as gradient
+ !! expressed as dx/dy !!! (NOT dy/dx, which would perhaps be more logical)
+
+
+
+
+
+ Floodplain Width [m]
+
+
+
+
+
+ Bankfull channel depth [m]
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES)
+ Each parameter is defined for upper (1a and 1b) and
+ lower (2) soil layers
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 2 (lower soil layer)
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES) for Forest
+ Each parameter is defined for 1a and 1b
+ Normal parameter is taken for the lower soil layer
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3]
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this) for soil layer 1a (superficial soil layer)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ RESERVOIRS (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Map with location of reservoirs (number)
+
+
+
+
+
+ Initial reservoir storage (fraction)
+
+
+
+
+
+ Input tables
+
+
+
+
+ Total reservoir storage capacity
+ Units: m³
+
+
+
+
+
+ Reservoir inflow associated with the 100-year return period.
+ It is modified by a calibration parameter (`ReservoirFloodOutflowFactor`) to
+ define the inflow above which the reservoir switches to flood control mode
+ Units: m³/s
+
+
+
+
+
+ NReservoir average inflow used to define the normal reservoir release
+ Units: m³/s
+
+
+
+
+
+ Minimum reservoir release:
+ Units: m³/s
+
+
+
+
+ Output time series
+
+
+
+
+ name of output TSS file with Reservoir Inflow
+
+
+
+
+
+ name of output TSS file with Reservoir Outflow
+
+
+
+
+
+ name of output TSS file with Reservoir Filling
+
+
+
+
+
+ name of output TSS file with Reservoir storage [m3]
+
+
+
+
+
+
+ name of output map(s) with Reservoir Filling
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow that defines a flood event, i.e., the
+ reservoir routine switches to flood control mode.
+
+
+
+
+
+
+
+ **************************************************************
+ LAKES (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Map with location of lakes
+
+
+
+
+
+ Initial lake level [m]
+ -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Estimate of average net inflow into lake (=inflow - evaporation) [m3 / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+ Input tables
+
+
+
+
+ Lake surface area [m2]
+
+
+
+
+
+ Lake parameter A [m/s]
+
+
+
+
+
+ Multiplier applied to the lake parameter A
+
+
+
+
+ Output time series
+
+
+
+
+ Output timeseries file with lake inflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake outflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake level [m]
+
+
+
+
+
+ Output map(s) with lake level [m]
+
+
+
+
+
+ Output map with lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Output map with lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+
+
+ **************************************************************
+ POLDERS(if used)
+ **************************************************************
+
+
+
+
+
+ Weir constant (fixed) [-]
+
+
+
+
+
+ Map with polder locations
+
+
+
+
+
+ Initial water level in polders [m]
+
+
+
+
+
+ Polder maximum storage capacity [cu m]
+
+
+
+
+
+ Area of polder [sq m]
+
+
+
+
+
+ Width of polder outlet/inlet [m]
+
+
+
+
+
+ Polder bottom level, measured from channel bottom [m]
+
+
+
+
+
+ Time step at which polder opens in case of regulated polder (use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ Time step at which water stored in polder is released again(use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ name of output TSS file with polder flux [cu m / s]. Positive for flow from channel to polder, negative for polder to channel
+
+
+
+
+
+ name of output TSS file with polder level [m]
+
+
+
+
+
+ name of output map(s) with polder level
+
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (if used)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ Observed or simulated input hydrographs as
+ time series [m3 / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE(if used)
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+ Boolean map with value 1 at channel pixels where dynamic wave is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Channel bottom level [m]
+
+
+
+
+
+ Nominal map with channel cross section IDs
+
+
+
+
+
+ Table with cross section parameters (H,A,P)
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be >0.001)
+
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING (if used)
+ **************************************************************
+
+
+
+ PF PARAMETERS
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, VALUES AT SITES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, AVERAGE VALUES UPSTREAM OF GAUGES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Ad'a addition
+ **************************************************************
+
+
+
+
+ threshold value below which there is no outflow to the channel [mm]
+
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cells]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+ **************************************************************
+ Water demand output maps
+ **************************************************************
+
+
+
+
+ day of the year when the yearly endcalculation is done e.g. 31/10/xxxx = 304
+
+
+
+
+
+
+ TotalAbstractionFromGroundwater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm] summed up for water regions
+
+
+
+
+
+ Total Abstraction From SurfaceWater and Groundwater [mm] summed up for water regions, montly values
+
+
+
+
+
+ TotalPaddyRiceIrrigationAbstraction [m3]
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions (this is the official EU WEI+): consumption / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Abstraction; for water regions: abstraction / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Demand; for water regions: demand / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions
+
+
+
+
+
+ Internal available water
+
+
+
+
+
+ External available water
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Reservoir and Lake storage in m3 at end of month
+
+
+
+
+
+ Reservoir and Lake abstraction in m3
+
+
+
+
+
+ Irrigation water shortage in m3 for month
+
+
+
+
+
+ Surface water availability in m3 for potential irrigation for each day
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly Water Dependency Index (0-1) (De Roo 2015)
+ WDI = Upstream Inflow Actually Used / Total Water Demand
+ Values close to 1 give extreme dependency on upstream water
+
+
+
+
+
+ Monthly Water Security Index (0-1) (De Roo 2015)
+ WSI = Upstream Inflow Actually Used / Upstream Inflow Available
+ Values close to 1 give extreme vulnerability to upstream water
+
+
+
+
+
+ Monthly Water Sustainability Index (0-1) (De Roo 2015)
+ WTI = 1-SurfaceWaterDeficit / TotalWaterDemand
+ Values of 1 indicate complete sustainable conditions, no water deficit
+ Values less than 1 indicate that considerable deep groundwater resources or desalinated water is used
+
+
+
+
+
+ Monthly Falkenmark 1 Index (tochanm3)
+
+
+
+
+
+ Monthly Falkenmark 2 Index (tochanm3+reservoirlakeabstraction)
+
+
+
+
+
+ Monthly Falkenmark 3 Index (tochanm3+reservoirlakeabstraction+externalinflow)
+
+
+
+
+
+
+ Abstraction from groundwater in m3 per timestep
+
+
+
+
+
+ Abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region Total Abstraction From Lakes and Reservoirs in m3, per timestep
+
+
+
+
+
+ Lake Abstraction per timestep in m3
+
+
+
+
+
+ ReservoirAbstraction per timestep in M3
+
+
+
+
+
+ ReservoirStorage in M3
+
+
+
+
+
+ LakeStorage in M3
+
+
+
+
+
+ AreatotalIrrigationUseM3
+
+
+
+
+
+ FractionAbstractedFromChannels
+
+
+
+
+
+ EFlowIndicator (1 on day with ChanQ smaller than EflowThreshold, 0 on normal days)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Peter's addition
+ **************************************************************
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+
+
+
+
+ areamap MaskMap;
+ timer StepStart StepEnd 1;
+ ReportSteps=$(ReportSteps);
+
+
+
+
+
diff --git a/tests/data/LF_MCT_UseCase/settings/mct_warm_endmaps_interface.xml b/tests/data/LF_MCT_UseCase/settings/mct_warm_endmaps_interface.xml
new file mode 100644
index 00000000..d6921e63
--- /dev/null
+++ b/tests/data/LF_MCT_UseCase/settings/mct_warm_endmaps_interface.xml
@@ -0,0 +1,5992 @@
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # modelling and reporting options
+ #-----------------------------------------------------------
+
+
+
+ # options to turn hydrological modules on/off
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # use inflow data
+
+
+ # option to compute indicators
+
+
+ # option to initialize Lisflood
+
+
+
+ # option to read/write NetCDF
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # report time series
+ #-----------------------------------------------------------
+ # report discharge TS
+
+
+ # report gauges and sites
+ # sites (pixel average)
+
+
+ # gauges (catchment average)
+
+
+
+
+ # report reservoirs and lakes
+
+
+
+ # report mass balance
+
+
+ #-----------------------------------------------------------
+ # report maps
+ #-----------------------------------------------------------
+ # report state maps
+
+
+ # report end maps
+
+
+ # report output maps
+ # forcings
+
+
+
+
+
+
+ # dicharge
+
+
+
+
+
+ # variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Surface runoff
+ #Surface runoff + UZ [mm]
+ #Surface runoff + UZ [mm] + LZ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ netCDF parameters
+ **************************************************************
+
+
+
+
+ !-- Optimization of netCDF I/O through chunking and caching.
+
+ The option "NetCDFTimeChunks" may take the following values:
+ - "-1" : Load everything upfront
+ - "[positive integer number]" : Chunk size defined by user
+ - "auto" : Let xarray to decide
+
+
+
+
+ The option "MapsCaching" may take the following values:
+ - "True" : Cache maps during execution
+ - "False" : No caching
+
+
+
+ **************************************************************
+ PARALLELIZED KINEMATIC ROUTING
+ **************************************************************
+
+
+
+
+ The option "OutputMapsChunks" may take the following values:
+ - "[positive integer number]" : Dump outputs to disk every X steps (default 1)
+
+
+
+
+ The option "OutputMapsDataType" sets the output data type and may take the following values:
+ - "float64"
+ - "float32"
+
+
+
+ **************************************************************
+ PARALLELISATION WITH NUMBA (USED IN ROUTING AND SOILLOOP)
+ **************************************************************
+
+
+
+
+ !-- Parallelisation of using Numba runtime compiled library .
+ The option "numCPUs_parallelNumba" may take the following values:
+ - "0" : set to NUMBA_NUM_THREADS Environment Variable
+ (if NUMBA_NUM_THREADS is not set, will take the number of CPU cores determined by python's multiprocessing.cpu_count())
+ - "1" : serial execution (not parallel)
+ - "2", "3", ... : manual setting of the number of parallel threads.
+ (if exceeding NUMBA_NUM_THREADS, the value is set to NUMBA_NUM_THREADS) -->
+
+
+
+
+ **************************************************************
+ AREA AND OUTLETS
+ **************************************************************
+
+
+
+
+ MAPSDIR
+ Root directory (tables and parameters)
+ $(SettingsPath)/..
+
+
+
+
+
+ Clone map
+ col row cellsize xupleft yupleft
+ or pcraster maps or netcdf maps
+
+
+
+
+
+ 4307500 2377500 outlet
+ 4307500 2377500 4292500 2377500 4302500 2377500 4302500 2372500 4297500 2372500 4312500 2377500 4287500 2372500 4282500 2367500
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+ lat lon (lat2 lon2 ...)
+ or pcraster maps or netcdf maps
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+ This is needed when using projected coordinates
+
+
+
+
+ **************************************************************
+ TIME-RELATED CONSTANTS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Reference day and time
+
+
+
+
+
+ timestep [seconds]
+
+
+
+
+
+ 17280 5 times subrouting
+ 21600 6 hours
+ Sub time step used for kinematic and MCT wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ 01/01/YEAR_START 12:00
+ Number of first time step in simulation
+
+
+
+
+
+ 01/01/YEAR_END 06:00
+ Number of last time step in simulation
+
+
+
+
+
+ low value to limit testing time
+
+
+
+
+
+ 1..9999
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+ **************************************************************
+ MONTE CARLO, KALMAN FILTER
+ **************************************************************
+
+
+
+
+ Number of sample to use in MonteCarlo simulations
+
+
+
+
+
+ Number of cores of the computer to use in MonteCarlo simulations
+ This only works with Linux, if set to 1 no forking will be used
+
+
+
+
+
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+ **************************************************************
+ CALIBRATION PARAMETERS
+ with .nc format: than working with smaller sub-areas is possible
+ **************************************************************
+
+
+
+ default: 10
+ $(PathParams)/params_UpperZoneTimeConstant
+ Time constant for water in upper zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 100
+ $(PathParams)/params_LowerZoneTimeConstant
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 0.5
+ $(PathParams)/GwPercValue
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ default: 0.0
+ $(PathParams)/GwLoss
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+ default: 10
+ $(PathParams)/params_LZThreshold
+ threshold value [mm] of the water storage in the lower groundwater zone.
+ If the water storage in the lower groundwater zone decreases below LZThreshold,
+ the flow from the lower zone to the nearby rivers (base-flow) stops.
+
+
+
+
+
+ default: 0.7 [-]
+ $(PathParams)/b_Xinanjiang
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ default: 3.5 [-]
+ $(PathParams)/PowerPrefFlow
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+ default: 2.0 [-]
+ $(PathParams)/CalChanMan1
+ Multiplier [-] applied to Channel Manning's n
+
+
+
+
+
+ default: 4.0 [mm C-1 day-1]
+ $(PathParams)/SnowMeltCoef
+ SRM: 0.45 cm C-1 day-1 ( = 4.50 mm C-1 day-1), Kwadijk: 18 mm C-1 month-1 (= 0.59 mm C-1 day-1)
+ See also Martinec et al., 1998.
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan2
+ Multiplier [-] applied to Channel Manning's n for second line of routing
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan3
+ Multiplier [-] applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ default: 1.0 [-]
+ $(PathParams)/LakeMultiplier
+ Multiplier applied to the lake parameter A
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow (`ReservoirFloodOutflow`) that defines the inflow
+ value that switches, when exceeded, the reservoir routine to flood control mode.
+ It can be a map (NetCDF), a table (TXT) or a float. Negative values will be replaced by
+ the default value of 0.3
+ Units: -
+ Range: 0.1 - 0.5
+ Default: 0.3
+
+
+
+
+
+ default: 5.0 [mm/day] (not included in calibration)
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+ default: 2.0
+ $(PathParams)/params_QSplitMult
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanBottomWMult
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanDepthTMult
+ Multiplier [] applied to ChanDepthThreshold
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanSMult
+ Multiplier [] applied to ChanSdXdY
+
+
+
+
+
+
+ **************************************************************
+ FILE PATHS
+ **************************************************************
+
+
+
+
+ RUNDIR
+ Output path (org=$(PathRoot)/out)
+
+
+
+
+
+ INITDIR
+ Path of the initial value maps e.g. lzavin.map (org=$(PathRoot)/outPo)
+
+
+
+
+
+ Static maps path
+
+
+
+
+
+ Inflow path
+
+
+
+
+
+ Calibration parameter path
+
+
+
+
+
+ Tables path
+
+
+
+
+
+ Maps instead of tables path
+
+
+
+
+
+ Maps instead of tables for soil hydraulics path
+
+
+
+
+
+ Maps for transient land use changes every 5 years
+
+
+
+
+
+ Maps for land use fractions and related land use maps
+
+
+
+
+
+ Water use maps path
+
+
+
+
+
+ FORCINGSDIR
+ Meteo path
+
+
+
+
+
+ Leaf Area Index maps path
+
+
+
+
+
+ variable water fraction maps path
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ if init. condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ Cold start: 0
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ Cold start: 0
+ cumulative interception [mm]
+
+
+
+
+
+ Cold start: 0
+ PRERUNDIR/uz.end.nc
+ water in upper store [mm]
+
+
+
+
+
+ Cold start: 1
+ days since last rainfall [days]
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lz.end.nc
+ water in lower store [mm]
+ Cold start: -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ Cold start: -9999: use half bankfull
+
+
+
+
+
+ PRERUNDIR/tha.end.nc
+ initial soil moisture content layer 1a (superficial soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thb.end.nc
+ initial soil moisture content layer 1b (upper soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thc.end.nc
+ initial soil moisture content layer 2 (lower soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ Cold start: -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ Cold start: -9999: use 0
+
+
+
+
+
+ Initial lake level [m]
+ Cold start: -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzf.end.nc
+ water in upper groundwater store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thfa.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfb.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfc.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzi.end.nc
+ water in groundwater upper store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thia.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thib.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thic.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IMPERVIOUS AREAS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+
+
+ **************************************************************
+ PREFIXES OF METEO AND VEGETATION RELATED VARIABLES
+ **************************************************************
+
+
+
+
+ prefix precipitation maps
+
+
+
+
+
+ prefix average temperature maps
+
+
+
+
+
+ prefix E0 maps
+
+
+
+
+
+ prefix ES0 maps
+
+
+
+
+
+ prefix ET0 maps
+
+
+
+
+
+ prefix LAI maps
+
+
+
+
+
+ prefix LAI forest maps
+
+
+
+
+
+ prefix LAI irrigation maps
+
+
+
+
+
+ prefix domestic water use maps
+
+
+
+
+
+ prefix livestock water use maps
+
+
+
+
+
+ prefix energy water use maps
+
+
+
+
+
+ prefix industry water use maps
+
+
+
+
+
+ prefix variable water fraction
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier [-] applied to potential precipitation rates
+
+
+
+
+
+ Multiplier [-] applied to potential evapo(transpi)ration rates
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier [-] applied to precipitation that falls as snow
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+ **************************************************************
+ IRRIGATION AND WATER ABSTRACTION RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+ default: 0.75
+ Field application irrigation efficiency [-]: max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency [-]: around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor [-] to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1) [-]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1) [-]
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1) [-]
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1) [-]
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Default : 0.2
+ $(PathRoot)/leakage.map
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1) [-]
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1) [-]
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1) [-]
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1) [-]
+ scenruse.map
+
+
+
+
+
+
+ Irrigation crop coefficient [-]
+
+
+
+
+
+ Irrigation crop group number [-]
+
+
+
+
+
+ Population [units]
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use UpperZoneTimeConstant, LowerZoneTimeConstant,
+ GwPercValue as calibration constants
+ - calibrate on GwLossFraction if necessary
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cell length]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+ Fraction of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+ kinematic wave parameter beta [-]: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ VARIABLES RELATED TO OPTIONS
+ These all need to have some (real or bogus) value,
+ even for options that are not actually used!
+ **************************************************************
+
+
+
+ **************************************************************
+ RESERVOIR OPTION
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Initial reservoir fill fraction [-]
+ Cold start: -9999 sets initial fill to normal storage limit
+ if you're not using the reservoir option, enter some bogus value
+
+
+
+
+
+
+
+ **************************************************************
+ LAKE OPTION
+ **************************************************************
+
+
+
+
+ Cold start: -9999
+ Estimate of average net inflow into lake (=inflow - evaporation) [cu m / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+
+
+
+ **************************************************************
+ POLDER OPTION
+ **************************************************************
+
+
+
+
+ Weir constant [-] (Do not change!)
+
+
+
+
+
+ Initial water level in polder [m]
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE OPTION
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ test_chanmct_all
+ test_chanmct_2
+ chanmct_single
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be 0)
+ Default: 0.001
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (OPTIONAL)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs [cu m / s]
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ OPTIONAL: observed or simulated input hydrographs as
+ time series [cu m / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING OPTION
+ **************************************************************
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF soil layer 1a, other fraction
+
+
+
+
+
+ Reported pF soil layer 1b, other fraction
+
+
+
+
+
+ Reported pF soil layer 2, other fraction
+
+
+
+
+
+ Reported pF soil layer 1a, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1b, forest fraction
+
+
+
+
+
+ Reported pF layer 2, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1a, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 1b, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 2, irrigation fraction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is necessary when using projected coordinates (x,y)
+
+
+
+
+
+
+
+
+
+
+ Clone map
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+
+
+ **************************************************************
+ TIMESTEP RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Calendar day is back!
+ Calendar day number of 1st day in model run
+ e.g. 1st of January: 1; 1st of June 151 (or 152 in leap year)
+ Needed to read out LAI tables correctly
+
+
+
+
+
+ timestep [seconds] (60*60*24)
+
+
+
+
+
+ Sub time step used for kinematic wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ Number of first time step in simulation
+
+
+
+
+
+ Number of last time step in simulation
+
+
+
+
+
+ Number of days used for internal spin-up (fluxes computations during prerun)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier applied to potential precipitation rates [-]
+
+
+
+
+
+ Multiplier applied to potential evapo(transpi)ration rates [-]
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient [-] for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier applied to precipitation that falls as snow
+
+
+
+
+
+ Snowmelt coefficient [mm C-1 day-1)]
+ See also Martinec et al., 1998.
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [deg C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+ **************************************************************
+ INFILTRATION PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use all other parameters as calibration constants
+
+
+
+
+
+ Time constant for water in upper zone [days]
+
+
+
+
+
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+ water use daily maps with a (in this case negative) volume of water [cu m/s]
+
+
+
+
+
+ table with days for each water use maps
+ 1st column: range of days; 2nd column: suffix of wuse map
+
+
+
+
+
+ Percentage of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+ maximum number of loops for calculating evaporation
+ = distance water is taken to satisfy the need of evaporation from open water
+
+
+
+
+
+ Reported evaporation from open water [mm]
+
+
+
+
+
+ Time series of upstream water evaporation from open water at gauging stations
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+
+ Multiplier applied to Channel Manning's n
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for second routing line
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ Multiplier applied to ChanDepthThreshold
+
+
+
+
+
+ Multiplier applied to ChanSdXdY
+
+
+
+
+
+ kinematic wave parameter: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOR THE WATER BALANCE MODEL
+ (can be either maps or single values)
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lzavin
+ Reported map of average percolation rate from upper to
+ lower groundwater zone (reported for end of simulation) [mm/day]
+
+
+
+
+
+ PRERUNDIR/avgdis
+ CHANNEL split routing in two lines
+ Average discharge map [m3/s]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, other land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, forest land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, irrigated land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ if init condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ water in groundwater lower store [mm]
+ -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ -9999: use half bankfull
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for forest fraction
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ cumulative depression storage [mm]
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for irrigation
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT METEOROLOGICAL AND VEGETATION TIMESERIES AS MAPS
+ **************************************************************
+
+
+
+
+ precipitation [mm/day]
+
+
+
+
+
+ average daily temperature [C]
+
+
+
+
+
+ daily reference evaporation (free water) [mm/day]
+
+
+
+
+
+ daily reference evaporation (soil) [mm/day]
+
+
+
+
+
+ daily reference evapotranspiration (crop) [mm/day]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT WATER USE MAPS AND PARAMETERS
+ **************************************************************
+
+
+
+
+ Domestic water abstraction daily maps [mm]
+
+
+
+
+
+ Livestock water abstraction daily maps [mm]
+
+
+
+
+
+ Energy water abstraction daily maps [mm]
+
+
+
+
+
+ Industry water abstraction daily maps [mm]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1)
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1)
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1)
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1)
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1)
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1)
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1)
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1
+ scenruse.map
+
+
+
+
+
+
+ Field application irrigation efficiency max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency, around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Irrigation crop coefficient
+
+
+
+
+
+ Irrigation crop group number
+
+
+
+
+
+ Population
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ RICE IRRIGATION
+ **************************************************************
+
+
+
+
+ water amount in mm per day
+ 10 mm for 10 days (total 10cm water)
+
+
+
+
+
+ FAO: percolation for heavy clay soils: PERC = 2 mm/day
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT MAPS
+ **************************************************************
+
+
+
+
+ Reported discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported discharge [cu m/s] at the end of a timestep
+
+
+
+
+
+ Reported discharge [cu m/s] but cut by a discharge mask map
+
+
+
+
+
+ Reported water level [m] % False by default
+
+
+
+
+
+
+
+ STATE VARIABLES AT SELECTED TIME STEPS
+ ONLY FOR INITIALISATION OF SUCCEEDING RUNS
+ REPORTING TIME STEPS SET THROUGH "ReportSteps" OPTION
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+
+ Reported cross section area 2nd line of routing [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lowerupper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported transpiration maps, other fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, forest fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, irrigated fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, weighted sum over the fractions of each pixel [mm]
+
+
+
+
+
+
+
+ "END" MAPS, AKA REPORTED OUTPUT MAPS CALLED "END"
+ Same as above, but always at last time step
+ Support for these "end" maps will most likely be
+ discontinued some time soon
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported lake level [m]
+
+
+
+
+
+ Reported lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Reported lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Reported lake storage [m3]
+
+
+
+
+
+
+ Reported reservoir filling [-]
+
+
+
+
+
+ Reported cross section area 2nd line of rounting [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Reported average discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1c (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL DRIVING METEOROLOGICAL VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+ Note reporting is done as a quantity per time step, not as
+ an intensity (as in meteo input!)
+
+
+
+
+ Precipitation [mm per time step]
+
+
+
+
+
+ Average DAILY temperature [degrees C]
+
+
+
+
+
+ Potential reference evapotranspiration [mm per time step]
+
+
+
+
+
+ Potential evaporation from bare soil surface [mm per time step]
+
+
+
+
+
+ Potential evaporation from open water surface [mm per time step]
+
+
+
+
+
+
+
+ INDIVIDUAL STATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported total water storage [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct runoff fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surfac
+
+
+
+
+
+ Reported channel cross-section area [m2]
+
+
+
+
+
+ Reported snow cover [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage, other fraction [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage, forest fraction [mm]
+
+
+
+
+
+ Reported interception storage, irrigation fraction [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported interception (depression) storage, direct runoff (impervious) fraction [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL RATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported rain (excluding snow)[mm]
+
+
+
+
+
+ Reported snow (excluding rain)[mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported actual evapotranspiration [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, irrigation fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), other fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), forest fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), weighted sum over the fraction of each pixel [mm]
+
+
+
+
+
+ Reported available groundwater LZ+ GWLoss [mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported fast runoff = surface + UZ [mm]
+
+
+
+
+
+ Reported GWloss [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported total runoff that enters the channel: groundwater + surface runoff [mm]
+
+
+
+
+
+ Reported Direct Runoff [mm]
+
+
+
+
+
+ Reported FlowVelocityMSecMaps [m/s]
+
+
+
+
+
+ Reported TravelDistance [m]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported leaf drainage Forest[mm]
+
+
+
+
+
+ Reported interception forest [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported transpiration forest [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ MISCELLANEOUS OUTPUT MAPS AND TIME SERIES
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (reported at sites) [mm/day]
+
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (average for upstream area of each gauge) [mm/day]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress [days]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress for forest fraction [days]
+
+
+
+
+
+ Reported soil transpiration reduction factor [-] for other landuse
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+ Reported soil transpiration reduction factor [-]
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT TIME SERIES
+ **************************************************************
+
+
+
+
+ Reported average discharge over the model time step [cu m/s]
+
+
+
+
+
+ Reported instantaneous discharge at the end of routing sub-step [cu m/s]
+
+
+
+
+
+ Reported average discharge on the last routing sub-step [cu m/s]
+
+
+
+
+
+ Reported water level [m]
+
+
+
+
+
+
+ OUTPUT AT SITES: STATE VARIABLES
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ OUTPUT AT SITES: RATE VARIABLES
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation from interception storage [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AVERAGE VALUES OF METEOROLOGICAL FORCING VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repMeteoUpsGauges option is activated)
+
+
+
+
+ Precipitation [mm/time step]
+
+
+
+
+
+ Average temperature [deg C]
+
+
+
+
+
+ Reference evapotranspiration [mm/time step]
+
+
+
+
+
+ Potential soil evaporation [mm/time step]
+
+
+
+
+
+ Potential open water evaporation [mm/time step]
+
+
+
+
+
+ ESActPixel+self.var.TaPixel+self.var.TaInterceptionAll+self.var.EvaAddM3*self.var.M3toMM
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL STATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repStateUpsGauges option is activated)
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture upper layer [mm3/mm3]
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL RATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repRateUpsGauges option is activated)
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Snow melt [mm]
+
+
+
+
+
+ Interception [mm]
+
+
+
+
+
+ Actual transpiration [mm]
+
+
+
+
+
+ Actual evaporation [mm]
+
+
+
+
+
+ Evaporation from interception storage [mm]
+
+
+
+
+
+ Leaf drainage [mm]
+
+
+
+
+
+ Infiltration [mm]
+
+
+
+
+
+ Preferential flow [mm]
+
+
+
+
+
+ Percolation upper to lower soil layer [mm]
+
+
+
+
+
+ Seepage from lower soil layer to groundwater [mm]
+
+
+
+
+
+ Surface runoff [mm]
+
+
+
+
+
+ Outflow from upper groundwater zone (to channel) [mm]
+
+
+
+
+
+ Outflow from lower groundwater zone (to channel) [mm]
+
+
+
+
+
+ Total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+ NUMERICS
+
+
+
+
+ Reported mass balance error at outlet [cu m]
+
+
+
+
+
+ Reported mass balance error at outlet (as mm water slice)
+
+
+
+
+
+ Reported mass balance error due to the split routing module, for each catchment [m3]
+
+
+
+
+
+ Reported discharge error at the outlet as a consequence of the mass balance error within the split routing module, for each catchment [m3/s]
+
+
+
+
+
+ Reported ratio between the mass balance error and the water volume storage, for each catchment [m3/m3]
+
+
+
+
+
+ Average value of the sum of the fractions within a catchment: this value must be 1.0 in order to avoid mass balace errors! [-]
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of sub-steps needed for soil moisture
+ routine
+
+
+
+
+
+
+
+ **************************************************************
+ BASE INPUT MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ **************************************************************
+ TOPOGRAPHY MAPS
+ **************************************************************
+
+
+
+
+ $(PathMaps)/ldd.map
+ local drain direction map (1-9)
+
+
+
+
+
+ slope gradient [-] (0.50 -> tangent=0.5, angle=26.5 degrees)
+
+
+
+
+
+ Elevation standard deviation [m], i.e. altitude difference elevation within pixel.
+ Used for sub-pixel modelling of snow accumulation
+ and melt
+
+
+
+
+
+ outlets.map
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+
+
+
+
+
+ map with monitoring sites (1,2,3 etc)
+
+
+
+
+
+ optional map with pixel length [m], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+ optional map with pixel area [m2], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+
+
+ **************************************************************
+ SOIL PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Soil depth for 1st layer: 1a (superficial layer)
+ Minimum Soil Depth [mm] for superficial soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b (upper layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2 (lower layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 1st layer: 1a
+ Minimum Soil Depth [mm] for upper soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b
+ Minimum Soil Depth [mm] for lower soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2
+ Minimum Soil Depth [mm] for lower soil layer 300
+
+
+
+
+
+
+
+ **************************************************************
+ LAND USE RELATED MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ $(PathMapsLanduse)/fracsealed
+ urban area (0-1)
+
+
+
+
+
+ stack of Direct Runoff fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracforest
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of forest fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracwater
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of water fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracother
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of other fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracirrigated
+ irrigated area fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of Irrigation fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracDrained.map
+ drained fraction from irrigated area (0-1)
+
+
+
+
+
+ rice fraction of a pixel (0-1)
+
+
+
+
+
+ stack of rice fraction maps (0-1)
+
+
+
+
+
+ groundwater used fraction of a pixel (0-1)
+
+
+
+
+
+ NonConventionalWaterUsed (0-1)
+
+
+
+
+
+ lake and reservoir water used, fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMaps)/eflow.map
+ EFlowThreshold is map with m3/s discharge, e.g. the 10th percentile discharge of the baseline run
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+
+
+ **************************************************************
+ Variable Channel NoSubStepChannel
+ **************************************************************
+
+
+
+
+ UpArea do be included in max. celerity
+
+
+
+
+
+ variable Number of sub steps for the kinematic wave routing
+
+
+
+
+ **************************************************************
+ CHANNEL MAPS
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels and 0 at
+ all other pixels
+ IMPORTANT: IF NON-CHANNEL PIXELS HAVE MISSING VALUES
+ THEN THIS MAY RESULT IN INCORRECT RESULTS
+
+
+
+
+
+ Channel gradient (fraction, dy/dx)
+
+
+
+
+
+ Channel Manning's n [m^(1/3) s^(-1)]
+
+
+
+
+
+ Channel length [m]
+
+
+
+
+
+ Channel bottom width [m]
+
+
+
+
+
+ Channel side slope, expressed as gradient
+ !! expressed as dx/dy !!! (NOT dy/dx, which would perhaps be more logical)
+
+
+
+
+
+ Floodplain Width [m]
+
+
+
+
+
+ Bankfull channel depth [m]
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES)
+ Each parameter is defined for upper (1a and 1b) and
+ lower (2) soil layers
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 2 (lower soil layer)
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES) for Forest
+ Each parameter is defined for 1a and 1b
+ Normal parameter is taken for the lower soil layer
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3]
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this) for soil layer 1a (superficial soil layer)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+
+
+ **************************************************************
+ RESERVOIRS (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Map with location of reservoirs (number)
+
+
+
+
+
+ Initial reservoir storage (fraction)
+
+
+
+
+
+ Input tables
+
+
+
+
+ Total reservoir storage capacity
+ Units: m³
+
+
+
+
+
+ Reservoir inflow associated with the 100-year return period.
+ It is modified by a calibration parameter (`ReservoirFloodOutflowFactor`) to
+ define the inflow above which the reservoir switches to flood control mode
+ Units: m³/s
+
+
+
+
+
+ NReservoir average inflow used to define the normal reservoir release
+ Units: m³/s
+
+
+
+
+
+ Minimum reservoir release:
+ Units: m³/s
+
+
+
+
+ Output time series
+
+
+
+
+ name of output TSS file with Reservoir Inflow
+
+
+
+
+
+ name of output TSS file with Reservoir Outflow
+
+
+
+
+
+ name of output TSS file with Reservoir Filling
+
+
+
+
+
+ name of output TSS file with Reservoir storage [m3]
+
+
+
+
+
+
+ name of output map(s) with Reservoir Filling
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow that defines a flood event, i.e., the
+ reservoir routine switches to flood control mode.
+
+
+
+
+
+
+
+ **************************************************************
+ LAKES (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Map with location of lakes
+
+
+
+
+
+ Initial lake level [m]
+ -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Estimate of average net inflow into lake (=inflow - evaporation) [m3 / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+ Input tables
+
+
+
+
+ Lake surface area [m2]
+
+
+
+
+
+ Lake parameter A [m/s]
+
+
+
+
+
+ Multiplier applied to the lake parameter A
+
+
+
+
+ Output time series
+
+
+
+
+ Output timeseries file with lake inflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake outflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake level [m]
+
+
+
+
+
+ Output map(s) with lake level [m]
+
+
+
+
+
+ Output map with lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Output map with lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+
+
+ **************************************************************
+ POLDERS(if used)
+ **************************************************************
+
+
+
+
+
+ Weir constant (fixed) [-]
+
+
+
+
+
+ Map with polder locations
+
+
+
+
+
+ Initial water level in polders [m]
+
+
+
+
+
+ Polder maximum storage capacity [cu m]
+
+
+
+
+
+ Area of polder [sq m]
+
+
+
+
+
+ Width of polder outlet/inlet [m]
+
+
+
+
+
+ Polder bottom level, measured from channel bottom [m]
+
+
+
+
+
+ Time step at which polder opens in case of regulated polder (use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ Time step at which water stored in polder is released again(use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ name of output TSS file with polder flux [cu m / s]. Positive for flow from channel to polder, negative for polder to channel
+
+
+
+
+
+ name of output TSS file with polder level [m]
+
+
+
+
+
+ name of output map(s) with polder level
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (if used)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ Observed or simulated input hydrographs as
+ time series [m3 / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE(if used)
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+ Boolean map with value 1 at channel pixels where dynamic wave is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Channel bottom level [m]
+
+
+
+
+
+ Nominal map with channel cross section IDs
+
+
+
+
+
+ Table with cross section parameters (H,A,P)
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be >0.001)
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING (if used)
+ **************************************************************
+
+
+
+ PF PARAMETERS
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, VALUES AT SITES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, AVERAGE VALUES UPSTREAM OF GAUGES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+
+ **************************************************************
+ Ad'a addition
+ **************************************************************
+
+
+
+
+ threshold value below which there is no outflow to the channel [mm]
+
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cells]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+ **************************************************************
+ Water demand output maps
+ **************************************************************
+
+
+
+
+ day of the year when the yearly endcalculation is done e.g. 31/10/xxxx = 304
+
+
+
+
+
+
+ TotalAbstractionFromGroundwater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm] summed up for water regions
+
+
+
+
+
+ Total Abstraction From SurfaceWater and Groundwater [mm] summed up for water regions, montly values
+
+
+
+
+
+ TotalPaddyRiceIrrigationAbstraction [m3]
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions (this is the official EU WEI+): consumption / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Abstraction; for water regions: abstraction / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Demand; for water regions: demand / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions
+
+
+
+
+
+ Internal available water
+
+
+
+
+
+ External available water
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Reservoir and Lake storage in m3 at end of month
+
+
+
+
+
+ Reservoir and Lake abstraction in m3
+
+
+
+
+
+ Irrigation water shortage in m3 for month
+
+
+
+
+
+ Surface water availability in m3 for potential irrigation for each day
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly Water Dependency Index (0-1) (De Roo 2015)
+ WDI = Upstream Inflow Actually Used / Total Water Demand
+ Values close to 1 give extreme dependency on upstream water
+
+
+
+
+
+ Monthly Water Security Index (0-1) (De Roo 2015)
+ WSI = Upstream Inflow Actually Used / Upstream Inflow Available
+ Values close to 1 give extreme vulnerability to upstream water
+
+
+
+
+
+ Monthly Water Sustainability Index (0-1) (De Roo 2015)
+ WTI = 1-SurfaceWaterDeficit / TotalWaterDemand
+ Values of 1 indicate complete sustainable conditions, no water deficit
+ Values less than 1 indicate that considerable deep groundwater resources or desalinated water is used
+
+
+
+
+
+ Monthly Falkenmark 1 Index (tochanm3)
+
+
+
+
+
+ Monthly Falkenmark 2 Index (tochanm3+reservoirlakeabstraction)
+
+
+
+
+
+ Monthly Falkenmark 3 Index (tochanm3+reservoirlakeabstraction+externalinflow)
+
+
+
+
+
+
+ Abstraction from groundwater in m3 per timestep
+
+
+
+
+
+ Abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region Total Abstraction From Lakes and Reservoirs in m3, per timestep
+
+
+
+
+
+ Lake Abstraction per timestep in m3
+
+
+
+
+
+ ReservoirAbstraction per timestep in M3
+
+
+
+
+
+ ReservoirStorage in M3
+
+
+
+
+
+ LakeStorage in M3
+
+
+
+
+
+ AreatotalIrrigationUseM3
+
+
+
+
+
+ FractionAbstractedFromChannels
+
+
+
+
+
+ EFlowIndicator (1 on day with ChanQ smaller than EflowThreshold, 0 on normal days)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Peter's addition
+ **************************************************************
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+
+
+
+
+ areamap MaskMap;
+ timer StepStart StepEnd 1;
+ ReportSteps=$(ReportSteps);
+
+
+
+
+
diff --git a/tests/data/LF_MCT_UseCase/settings/mct_warm_interface.xml b/tests/data/LF_MCT_UseCase/settings/mct_warm_interface.xml
new file mode 100644
index 00000000..ac54343a
--- /dev/null
+++ b/tests/data/LF_MCT_UseCase/settings/mct_warm_interface.xml
@@ -0,0 +1,5993 @@
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # modelling and reporting options
+ #-----------------------------------------------------------
+
+
+
+ # options to turn hydrological modules on/off
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # use inflow data
+
+
+ # option to compute indicators
+
+
+ # option to initialize Lisflood
+
+
+
+ # option to read/write NetCDF
+
+
+
+
+
+
+ #-----------------------------------------------------------
+ # report time series
+ #-----------------------------------------------------------
+ # report discharge TS
+
+
+ # report gauges and sites
+ # sites (pixel average)
+
+
+ # gauges (catchment average)
+
+
+
+
+ # report reservoirs and lakes
+
+
+
+ # report mass balance
+
+
+ #-----------------------------------------------------------
+ # report maps
+ #-----------------------------------------------------------
+ # report state maps
+
+
+ # report end maps
+
+
+ # report output maps
+ # forcings
+
+
+
+
+
+
+ # dicharge
+
+
+
+
+
+ # variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Surface runoff
+ #Surface runoff + UZ [mm]
+ #Surface runoff + UZ [mm] + LZ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ netCDF parameters
+ **************************************************************
+
+
+
+
+ !-- Optimization of netCDF I/O through chunking and caching.
+
+ The option "NetCDFTimeChunks" may take the following values:
+ - "-1" : Load everything upfront
+ - "[positive integer number]" : Chunk size defined by user
+ - "auto" : Let xarray to decide
+
+
+
+
+ The option "MapsCaching" may take the following values:
+ - "True" : Cache maps during execution
+ - "False" : No caching
+
+
+
+ **************************************************************
+ PARALLELIZED KINEMATIC ROUTING
+ **************************************************************
+
+
+
+
+ The option "OutputMapsChunks" may take the following values:
+ - "[positive integer number]" : Dump outputs to disk every X steps (default 1)
+
+
+
+
+ The option "OutputMapsDataType" sets the output data type and may take the following values:
+ - "float64"
+ - "float32"
+
+
+
+ **************************************************************
+ PARALLELISATION WITH NUMBA (USED IN ROUTING AND SOILLOOP)
+ **************************************************************
+
+
+
+
+ !-- Parallelisation of using Numba runtime compiled library .
+ The option "numCPUs_parallelNumba" may take the following values:
+ - "0" : set to NUMBA_NUM_THREADS Environment Variable
+ (if NUMBA_NUM_THREADS is not set, will take the number of CPU cores determined by python's multiprocessing.cpu_count())
+ - "1" : serial execution (not parallel)
+ - "2", "3", ... : manual setting of the number of parallel threads.
+ (if exceeding NUMBA_NUM_THREADS, the value is set to NUMBA_NUM_THREADS) -->
+
+
+
+
+ **************************************************************
+ AREA AND OUTLETS
+ **************************************************************
+
+
+
+
+ MAPSDIR
+ Root directory (tables and parameters)
+ $(SettingsPath)/..
+
+
+
+
+
+ Clone map
+ col row cellsize xupleft yupleft
+ or pcraster maps or netcdf maps
+
+
+
+
+
+ 4307500 2377500 outlet
+ 4307500 2377500 4292500 2377500 4302500 2377500 4302500 2372500 4297500 2372500 4312500 2377500 4287500 2372500 4282500 2367500
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+ lat lon (lat2 lon2 ...)
+ or pcraster maps or netcdf maps
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+ This is needed when using projected coordinates
+
+
+
+
+ **************************************************************
+ TIME-RELATED CONSTANTS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Reference day and time
+
+
+
+
+
+ timestep [seconds]
+
+
+
+
+
+ 17280 5 times subrouting
+ 21600 6 hours
+ Sub time step used for kinematic and MCT wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ 01/01/YEAR_START 12:00
+ Number of first time step in simulation
+
+
+
+
+
+ 01/01/YEAR_END 06:00
+ Number of last time step in simulation
+
+
+
+
+
+ low value to limit testing time
+
+
+
+
+
+ 1..9999
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+ **************************************************************
+ MONTE CARLO, KALMAN FILTER
+ **************************************************************
+
+
+
+
+ Number of sample to use in MonteCarlo simulations
+
+
+
+
+
+ Number of cores of the computer to use in MonteCarlo simulations
+ This only works with Linux, if set to 1 no forking will be used
+
+
+
+
+
+ Time steps at which to write model state maps (i.e. only
+ those maps that would be needed to define initial conditions
+ for succeeding model run)
+
+
+
+
+
+
+
+ **************************************************************
+ CALIBRATION PARAMETERS
+ with .nc format: than working with smaller sub-areas is possible
+ **************************************************************
+
+
+
+ default: 10
+ $(PathParams)/params_UpperZoneTimeConstant
+ Time constant for water in upper zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 100
+ $(PathParams)/params_LowerZoneTimeConstant
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ default: 0.5
+ $(PathParams)/GwPercValue
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ default: 0.0
+ $(PathParams)/GwLoss
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+ default: 10
+ $(PathParams)/params_LZThreshold
+ threshold value [mm] of the water storage in the lower groundwater zone.
+ If the water storage in the lower groundwater zone decreases below LZThreshold,
+ the flow from the lower zone to the nearby rivers (base-flow) stops.
+
+
+
+
+
+ default: 0.7 [-]
+ $(PathParams)/b_Xinanjiang
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ default: 3.5 [-]
+ $(PathParams)/PowerPrefFlow
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+ default: 2.0 [-]
+ $(PathParams)/CalChanMan1
+ Multiplier [-] applied to Channel Manning's n
+
+
+
+
+
+ default: 4.0 [mm C-1 day-1]
+ $(PathParams)/SnowMeltCoef
+ SRM: 0.45 cm C-1 day-1 ( = 4.50 mm C-1 day-1), Kwadijk: 18 mm C-1 month-1 (= 0.59 mm C-1 day-1)
+ See also Martinec et al., 1998.
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan2
+ Multiplier [-] applied to Channel Manning's n for second line of routing
+
+
+
+
+
+ default: 3.0 [-]
+ $(PathParams)/CalChanMan3
+ Multiplier [-] applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ default: 1.0 [-]
+ $(PathParams)/LakeMultiplier
+ Multiplier applied to the lake parameter A
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow (`ReservoirFloodOutflow`) that defines the inflow
+ value that switches, when exceeded, the reservoir routine to flood control mode.
+ It can be a map (NetCDF), a table (TXT) or a float. Negative values will be replaced by
+ the default value of 0.3
+ Units: -
+ Range: 0.1 - 0.5
+ Default: 0.3
+
+
+
+
+
+ default: 5.0 [mm/day] (not included in calibration)
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+ default: 2.0
+ $(PathParams)/params_QSplitMult
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanBottomWMult
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanDepthTMult
+ Multiplier [] applied to ChanDepthThreshold
+
+
+
+
+
+ default: 1.0
+ $(PathParams)/params_ChanSMult
+ Multiplier [] applied to ChanSdXdY
+
+
+
+
+
+
+ **************************************************************
+ FILE PATHS
+ **************************************************************
+
+
+
+
+ RUNDIR
+ Output path (org=$(PathRoot)/out)
+
+
+
+
+
+ INITDIR
+ Path of the initial value maps e.g. lzavin.map (org=$(PathRoot)/outPo)
+
+
+
+
+
+ Static maps path
+
+
+
+
+
+ Inflow path
+
+
+
+
+
+ Calibration parameter path
+
+
+
+
+
+ Tables path
+
+
+
+
+
+ Maps instead of tables path
+
+
+
+
+
+ Maps instead of tables for soil hydraulics path
+
+
+
+
+
+ Maps for transient land use changes every 5 years
+
+
+
+
+
+ Maps for land use fractions and related land use maps
+
+
+
+
+
+ Water use maps path
+
+
+
+
+
+ FORCINGSDIR
+ Meteo path
+
+
+
+
+
+ Leaf Area Index maps path
+
+
+
+
+
+ variable water fraction maps path
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ if init. condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Cold start: 0
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ Cold start: 0
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ Cold start: 0
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ Cold start: 0
+ cumulative interception [mm]
+
+
+
+
+
+ Cold start: 0
+ PRERUNDIR/uz.end.nc
+ water in upper store [mm]
+
+
+
+
+
+ Cold start: 1
+ days since last rainfall [days]
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lz.end.nc
+ water in lower store [mm]
+ Cold start: -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ Cold start: -9999: use half bankfull
+
+
+
+
+
+ PRERUNDIR/tha.end.nc
+ initial soil moisture content layer 1a (superficial soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thb.end.nc
+ initial soil moisture content layer 1b (upper soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thc.end.nc
+ initial soil moisture content layer 2 (lower soil layer) [mm3/mm3]
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ Cold start: -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ Cold start: -9999: use 0
+
+
+
+
+
+ Initial lake level [m]
+ Cold start: -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ Cold start: -9999 sets initial value
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzf.end.nc
+ water in upper groundwater store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thfa.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfb.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thfc.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+ PRERUNDIR/uzi.end.nc
+ water in groundwater upper store [mm]
+ Cold start: 0
+
+
+
+
+
+ days since last rainfall
+ Cold start: 1
+
+
+
+
+
+ PRERUNDIR/thia.end.nc
+ initial soil moisture content [mm3/mm3] layer 1a (superficial soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thib.end.nc
+ initial soil moisture content [mm3/mm3] layer 1b (upper soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+ PRERUNDIR/thic.end.nc
+ initial soil moisture content [mm3/mm3] layer 2 (lower soil layer)
+ Cold start: -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IMPERVIOUS AREAS
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+ Cold start: 0
+
+
+
+
+
+
+
+ **************************************************************
+ PREFIXES OF METEO AND VEGETATION RELATED VARIABLES
+ **************************************************************
+
+
+
+
+ prefix precipitation maps
+
+
+
+
+
+ prefix average temperature maps
+
+
+
+
+
+ prefix E0 maps
+
+
+
+
+
+ prefix ES0 maps
+
+
+
+
+
+ prefix ET0 maps
+
+
+
+
+
+ prefix LAI maps
+
+
+
+
+
+ prefix LAI forest maps
+
+
+
+
+
+ prefix LAI irrigation maps
+
+
+
+
+
+ prefix domestic water use maps
+
+
+
+
+
+ prefix livestock water use maps
+
+
+
+
+
+ prefix energy water use maps
+
+
+
+
+
+ prefix industry water use maps
+
+
+
+
+
+ prefix variable water fraction
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier [-] applied to potential precipitation rates
+
+
+
+
+
+ Multiplier [-] applied to potential evapo(transpi)ration rates
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier [-] applied to precipitation that falls as snow
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+ **************************************************************
+ IRRIGATION AND WATER ABSTRACTION RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+ default: 0.75
+ Field application irrigation efficiency [-]: max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency [-]: around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor [-] to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1) [-]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1) [-]
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1) [-]
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1) [-]
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Default : 0.2
+ $(PathRoot)/leakage.map
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1) [-]
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1) [-]
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1) [-]
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1) [-]
+ scenruse.map
+
+
+
+
+
+
+ Irrigation crop coefficient [-]
+
+
+
+
+
+ Irrigation crop group number [-]
+
+
+
+
+
+ Population [units]
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+ ?
+
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use UpperZoneTimeConstant, LowerZoneTimeConstant,
+ GwPercValue as calibration constants
+ - calibrate on GwLossFraction if necessary
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cell length]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+ Fraction of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+ kinematic wave parameter beta [-]: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient [-] (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ VARIABLES RELATED TO OPTIONS
+ These all need to have some (real or bogus) value,
+ even for options that are not actually used!
+ **************************************************************
+
+
+
+ **************************************************************
+ RESERVOIR OPTION
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Initial reservoir fill fraction [-]
+ Cold start: -9999 sets initial fill to normal storage limit
+ if you're not using the reservoir option, enter some bogus value
+
+
+
+
+
+
+
+ **************************************************************
+ LAKE OPTION
+ **************************************************************
+
+
+
+
+ Cold start: -9999
+ Estimate of average net inflow into lake (=inflow - evaporation) [cu m / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+
+
+
+ **************************************************************
+ POLDER OPTION
+ **************************************************************
+
+
+
+
+ Weir constant [-] (Do not change!)
+
+
+
+
+
+ Initial water level in polder [m]
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE OPTION
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ test_chanmct_all
+ test_chanmct_2
+ chanmct_single
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be 0)
+ Default: 0.001
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (OPTIONAL)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs [cu m / s]
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ OPTIONAL: observed or simulated input hydrographs as
+ time series [cu m / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING OPTION
+ **************************************************************
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF soil layer 1a, other fraction
+
+
+
+
+
+ Reported pF soil layer 1b, other fraction
+
+
+
+
+
+ Reported pF soil layer 2, other fraction
+
+
+
+
+
+ Reported pF soil layer 1a, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1b, forest fraction
+
+
+
+
+
+ Reported pF layer 2, forest fraction
+
+
+
+
+
+ Reported pF soil layer 1a, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 1b, irrigation fraction
+
+
+
+
+
+ Reported pF soil layer 2, irrigation fraction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is necessary when using projected coordinates (x,y)
+
+
+
+
+
+
+
+
+
+
+ Clone map
+
+
+
+
+
+ netcdf template used to copy metadata information for writing netcdf
+
+
+
+
+
+ latitude map to be used for snow/ice modelling
+
+
+
+
+
+
+
+ **************************************************************
+ TIMESTEP RELATED PARAMETERS
+ **************************************************************
+
+
+
+
+ Calendar convention
+
+
+
+
+
+ Calendar day is back!
+ Calendar day number of 1st day in model run
+ e.g. 1st of January: 1; 1st of June 151 (or 152 in leap year)
+ Needed to read out LAI tables correctly
+
+
+
+
+
+ timestep [seconds] (60*60*24)
+
+
+
+
+
+ Sub time step used for kinematic wave channel routing [seconds]
+ Within the model,the smallest out of DtSecChannel and DtSec is used
+
+
+
+
+
+ Number of first time step in simulation
+
+
+
+
+
+ Number of last time step in simulation
+
+
+
+
+
+ Number of days used for internal spin-up (fluxes computations during prerun)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO EVAPO(TRANSPI)RATION AND Interception
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave all these parameters at their default values.
+ in some very special cases CalEvaporation may be set to some
+ value other than one
+
+
+
+
+
+ Multiplier applied to potential precipitation rates [-]
+
+
+
+
+
+ Multiplier applied to potential evapo(transpi)ration rates [-]
+
+
+
+
+
+ Time constant for water in interception store [days]
+
+
+
+
+
+ Average extinction coefficient [-] for the diffuse radiation flux
+ varies with crop from 0.4 to 1.1 (Goudriaan (1977))
+
+
+
+
+
+ Critical amount of available water (expressed in [mm/day]!), above which 'Days Since Last Rain' parameter is
+ set to 1
+
+
+
+
+
+ maximum depression storage for water on impervious surface
+ which is not immediatly causing surface runoff [mm]
+
+
+
+
+
+
+
+ **************************************************************
+ SNOW AND FROST RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - estimate SnowFactor from prior data (if available), otherwise use 1
+ - use SnowMeltCoef as a calibration constant
+ - leave all other parameters at default
+
+
+
+
+
+ Multiplier applied to precipitation that falls as snow
+
+
+
+
+
+ Snowmelt coefficient [mm C-1 day-1)]
+ See also Martinec et al., 1998.
+
+
+
+
+
+ range [mm C-1 day-1] of the seasonal variation
+ SnowMeltCoef is the average value
+
+
+
+
+
+ Average temperature [deg C] at which snow melts
+
+
+
+
+
+ Average temperature [deg C] below which precipitation is snow
+
+
+
+
+
+ Temperature lapse rate with altitude [deg C / m]
+
+
+
+
+
+ Daily decay coefficient [day-1], (Handbook of Hydrology, p. 7.28)
+
+
+
+
+
+ Snow depth reduction coefficient, [cm-1], (HH, p. 7.28)
+
+
+
+
+
+ Snow water equivalent, (based on snow density of 450 kg/m3) (e.g. Tarboton and Luce, 1996)
+
+
+
+
+
+ Degree Days Frost Threshold (stops infiltration, percolation and capillary rise)
+ Molnau and Bissel found a value 56-85 for NW USA.
+
+
+
+
+
+
+
+ **************************************************************
+ INFILTRATION PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Power in Xinanjiang distribution function [-]
+
+
+
+
+
+ Power that controls increase of proportion of preferential
+ flow with increased soil moisture storage [-]
+
+
+
+
+
+
+
+ **************************************************************
+ GROUNDWATER RELATED PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - leave GwLossFraction at 0 unless prior information show groundwater loss
+ is important
+ - use all other parameters as calibration constants
+
+
+
+
+
+ Time constant for water in upper zone [days]
+
+
+
+
+
+ Time constant for water in lower zone [days]
+ This is the average time a water 'particle' remains in the reservoir
+ if we had a stationary system (average inflow=average outflow)
+
+
+
+
+
+ Maximum rate of percolation going from the Upper to the Lower
+ response box [mm/day]
+
+
+
+
+
+ Maximum percolation rate from the lower groundwater zone [mm/days]. GWLoss
+ it’s lost beyond the catchment boundaries or to deep groundwater systems.
+ A value of 0 (closed lower boundary) is recommended as a starting value.
+
+
+
+
+
+
+
+ **************************************************************
+ EVAPORATION FROM OPEN WATER
+ **************************************************************
+
+
+
+
+ water use daily maps with a (in this case negative) volume of water [cu m/s]
+
+
+
+
+
+ table with days for each water use maps
+ 1st column: range of days; 2nd column: suffix of wuse map
+
+
+
+
+
+ Percentage of maximum extend of water
+
+
+
+
+
+ Mask with Lakes from GLWD database
+
+
+
+
+
+ maximum number of loops for calculating evaporation
+ = distance water is taken to satisfy the need of evaporation from open water
+
+
+
+
+
+ Reported evaporation from open water [mm]
+
+
+
+
+
+ Time series of upstream water evaporation from open water at gauging stations
+
+
+
+
+
+
+
+ **************************************************************
+ TRANSMISSION LOSS PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use TransSub as calibration constant leave all other parameters at default values
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ Transmission loss function parameter
+
+
+
+
+
+ PBchange
+ downstream area taking into account for transmission loss
+
+
+
+
+
+ upstream area
+
+
+
+
+
+
+
+ **************************************************************
+ ROUTING PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - Use CalChanMan as calibration constant to fine-tune timing of
+ channel routing, leave all other parameters at default values
+
+
+
+
+
+ Multiplier applied to Channel Manning's n
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for second routing line
+
+
+
+
+
+ Multiplier applied to Channel Manning's n for MCT routing
+
+
+
+
+
+ Multiplier applied to average Q to split into a second line of routing
+
+
+
+
+
+ Multiplier applied to ChanBottomWidth
+
+
+
+
+
+ Multiplier applied to ChanDepthThreshold
+
+
+
+
+
+ Multiplier applied to ChanSdXdY
+
+
+
+
+
+ kinematic wave parameter: 0.6 is for broad sheet flow
+
+
+
+
+
+ Reference depth of overland flow [mm], used to compute
+ overland flow Alpha for kin. wave
+
+
+
+
+
+ Percentage [-] used to compute the TotalCrossSectionAreaHalfBankFull in the initialisation of the
+ total cross-sectional area
+ default: 0.5
+
+
+
+
+
+ Minimum slope gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+ Minimum channel gradient (for kin. wave: slope cannot be 0)
+
+
+
+
+
+
+
+ **************************************************************
+ PARAMETERS RELATED TO NUMERICS
+ **************************************************************
+
+ Important: do not change, default value of 0.4 generally combines
+ sufficient numerical accuracy within a limited number of sub-steps
+
+
+
+
+
+ Minimum value for Courant condition in soil moisture routine. Always less than or equal to 1.
+ Small values result in improved numerical accuracy, at the expense of increased
+ computing time (more sub-steps needed). If reported time series of soil moisture contain
+ large jumps, lowering CourantCrit should fix this
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOR THE WATER BALANCE MODEL
+ (can be either maps or single values)
+ **************************************************************
+
+
+
+
+ PRERUNDIR/lzavin
+ Reported map of average percolation rate from upper to
+ lower groundwater zone (reported for end of simulation) [mm/day]
+
+
+
+
+
+ PRERUNDIR/avgdis
+ CHANNEL split routing in two lines
+ Average discharge map [m3/s]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, other land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, forest land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ Reported infiltration from the soil layer 2 to soil layer 3, irrigated land cover fraction, average flux over the simulation period [mm]
+
+
+
+
+
+ if init condition are stored as netCDF with different time steps
+ this variable indicates which time step to use
+ Either as date e.g. 1/1/2010 or as number e.g. 5
+
+
+
+
+
+ Initial overland flow storage [m3], direct runoff fraction
+
+
+
+
+
+ Initial overland flow storage [m3], other fraction
+
+
+
+
+
+ Initial overland flow storage [m3], forest fraction
+
+
+
+
+
+ initial snow depth in snow zone A [mm]
+
+
+
+
+
+ initial snow depth in snow zone B [mm]
+
+
+
+
+
+ initial snow depth in snow zone C [mm]
+
+
+
+
+
+ initial Frost Index value [degC/day]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall
+
+
+
+
+
+
+
+ **************************************************************
+ The following variables can also be initialized in the model
+ internally. if you want this to happen set them to bogus value
+ of -9999
+ **************************************************************
+
+
+
+
+ water in groundwater lower store [mm]
+ -9999: use steady-state storage
+
+
+
+
+
+ initial cross-sectional area of flow in channel[m2]
+ -9999: use half bankfull
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial channel cross-section area [m2] for 2nd routing channel
+ -9999: use 0
+
+
+
+
+
+ initial lateral inflow for 1st line of routing [m2/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow discharge at the end of previous step (instantaneous) [m3/s]
+ -9999: use 0
+
+
+
+
+
+ Outflow average discharge on previous routing sub-step (average) [m3/s]
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+ Courant number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 1
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+ Cold start: -9999 sets initial value to 0
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS FOREST
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for forest fraction
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+ cumulative depression storage [mm]
+
+
+
+
+
+
+
+ **************************************************************
+ INITIAL CONDITIONS IRRIGATION
+ (maps or single values)
+ **************************************************************
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ water in groundwater upper store [mm]
+
+
+
+
+
+ days since last rainfall for irrigation
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1a (superficial layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 1b (upper layer)
+ -9999: use field capacity values
+
+
+
+
+
+ initial soil moisture content [mm3/mm3] layer 2 (lower layer)
+ -9999: use field capacity values
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT METEOROLOGICAL AND VEGETATION TIMESERIES AS MAPS
+ **************************************************************
+
+
+
+
+ precipitation [mm/day]
+
+
+
+
+
+ average daily temperature [C]
+
+
+
+
+
+ daily reference evaporation (free water) [mm/day]
+
+
+
+
+
+ daily reference evaporation (soil) [mm/day]
+
+
+
+
+
+ daily reference evapotranspiration (crop) [mm/day]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+ leaf area index [m2/m2]
+
+
+
+
+
+
+
+ **************************************************************
+ INPUT WATER USE MAPS AND PARAMETERS
+ **************************************************************
+
+
+
+
+ Domestic water abstraction daily maps [mm]
+
+
+
+
+
+ Livestock water abstraction daily maps [mm]
+
+
+
+
+
+ Energy water abstraction daily maps [mm]
+
+
+
+
+
+ Industry water abstraction daily maps [mm]
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for livestock water use (0-1)
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for industrial water use (0-1)
+
+
+
+
+
+ # Consumptive Use (1-Recycling ratio) for energy water use (0-1)
+ # Source: Torcellini et al. (2003) "Consumptive Use for US Power Production"
+ # map advised by Neil Edwards, Energy Industry
+ # the UK and small French rivers the consumptive use varies between 1:2 and 1:3, so 0.33-0.50
+ # For plants along big rivers like Rhine and Danube the 0.025 is ok
+ EnergyConsumptiveUseFraction=0.025
+
+
+
+
+
+ Consumptive Use (1-Recycling ratio) for domestic water use (0-1)
+ Source: EEA (2005) State of Environment
+
+
+
+
+
+ Fraction of leakage of public water supply (0=no leakage, 1=100% leakage)
+
+
+
+
+
+ The water that is lost from leakage (lost) (0-1)
+
+
+
+
+
+ Leakage reduction fraction (e.g. 50% = 0.5 as compared to current Leakage) (baseline=0, maximum=1)
+
+
+
+
+
+ Water savings fraction (e.g. 10% = 0.1 as compared to current Use (baseline=0, maximum=1)
+ scenwsav.map
+
+
+
+
+
+ Fraction of water re-used in industry (e.g. 50% = 0.5 = half of the water is re-used, used twice (baseline=0, maximum=1
+ scenruse.map
+
+
+
+
+
+
+ Field application irrigation efficiency max 1, ~0.90 drip irrigation, ~0.75 sprinkling
+
+
+
+
+
+ conveyance efficiency, around 0.80 for average channel
+
+
+
+
+
+ IrrigationType (value between 0 and 1) is used here to distinguish between additional adding water until fieldcapacity (value set to 1) or not (value set to 0)
+
+
+
+
+
+ Factor to irrigation water demand
+ More than the transpiration is added e.g to prevent salinisation
+
+
+
+
+
+ Annual amount (m3) of treated wastewater reused for irrigation
+
+
+
+
+
+ Number of days over which the annual amount of treated wastewater for irrigation is used
+
+
+
+
+
+ Irrigation crop coefficient
+
+
+
+
+
+ Irrigation crop group number
+
+
+
+
+
+ Population
+
+
+
+
+
+ Population
+
+
+
+
+
+ Land Use Mask
+
+
+
+
+
+ Reported water use [cu m/s], depending on the availability of discharge
+
+
+
+
+
+ Time series of upstream water use at gauging stations
+
+
+
+
+
+ Number of sub-steps needed for water use
+ routine
+
+
+
+
+
+ maximum number of loops for calculating the use of water
+ = distance water is taken for water consuption
+
+
+
+
+
+ percentage of water which remains in the channel
+ e.g. 0.2 -> 20 percent of discharge is not taken out
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ RICE IRRIGATION
+ **************************************************************
+
+
+
+
+ water amount in mm per day
+ 10 mm for 10 days (total 10cm water)
+
+
+
+
+
+ FAO: percolation for heavy clay soils: PERC = 2 mm/day
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+ map with starting day of the year
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT MAPS
+ **************************************************************
+
+
+
+
+ Reported discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported Topsoil moisture [%]
+
+
+
+
+
+ Reported discharge [cu m/s] at the end of a timestep
+
+
+
+
+
+ Reported discharge [cu m/s] but cut by a discharge mask map
+
+
+
+
+
+ Reported water level [m] % False by default
+
+
+
+
+
+
+
+ STATE VARIABLES AT SELECTED TIME STEPS
+ ONLY FOR INITIALISATION OF SUCCEEDING RUNS
+ REPORTING TIME STEPS SET THROUGH "ReportSteps" OPTION
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+
+ Reported cross section area 2nd line of routing [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lowerupper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported transpiration maps, other fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, forest fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, irrigated fraction [mm]
+
+
+
+
+
+ Reported transpiration maps, weighted sum over the fractions of each pixel [mm]
+
+
+
+
+
+
+
+ "END" MAPS, AKA REPORTED OUTPUT MAPS CALLED "END"
+ Same as above, but always at last time step
+ Support for these "end" maps will most likely be
+ discontinued some time soon
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surface
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surface
+
+
+
+
+
+ Reported chan cross-section area [m2]
+
+
+
+
+
+ Reported snow cover in snow zone A [mm]
+
+
+
+
+
+ Reported snow cover in snow zone B [mm]
+
+
+
+
+
+ Reported snow cover in snow zone C [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported lake level [m]
+
+
+
+
+
+ Reported lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Reported lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Reported lake storage [m3]
+
+
+
+
+
+
+ Reported reservoir filling [-]
+
+
+
+
+
+ Reported cross section area 2nd line of rounting [m2]
+
+
+
+
+
+ Reported channel side flow [m2/s]
+
+
+
+
+
+ Reported istantaneous discharge at end of computation step [cu m/s] ChanQ
+
+
+
+
+
+ Reported average discharge over last routing sub-step used to initialise lakes [cu m/s] ChanQAvgDt
+
+
+
+
+
+ Reported average discharge [cu m/s] (average over the model timesteps) (AvgDis)
+
+
+
+
+
+ Courant number at previous step for MCT routing
+
+
+
+
+
+ Reynolds number at previous step for MCT routing
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ cumulative interception [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1c (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL DRIVING METEOROLOGICAL VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+ Note reporting is done as a quantity per time step, not as
+ an intensity (as in meteo input!)
+
+
+
+
+ Precipitation [mm per time step]
+
+
+
+
+
+ Average DAILY temperature [degrees C]
+
+
+
+
+
+ Potential reference evapotranspiration [mm per time step]
+
+
+
+
+
+ Potential evaporation from bare soil surface [mm per time step]
+
+
+
+
+
+ Potential evaporation from open water surface [mm per time step]
+
+
+
+
+
+
+
+ INDIVIDUAL STATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported storage in lower response box [mm]
+
+
+
+
+
+ Reported total water storage [mm]
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported water depth [m]
+
+
+
+
+
+ Reported overland flow water volume [m3] for direct runoff fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for other fraction on catchment surfac
+
+
+
+
+
+ Reported overland flow water volume [m3] for forest fraction on catchment surfac
+
+
+
+
+
+ Reported channel cross-section area [m2]
+
+
+
+
+
+ Reported snow cover [mm]
+
+
+
+
+
+ Reported frost index [degC/day]
+
+
+
+
+
+ Reported interception storage, other fraction [mm]
+
+
+
+
+
+
+ Reported days since last rain
+
+
+
+
+
+ Reported interception storage, forest fraction [mm]
+
+
+
+
+
+ Reported interception storage, irrigation fraction [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a (superficial layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b (upper layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 (lower layer) [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+ Reported interception (depression) storage, direct runoff (impervious) fraction [mm]
+
+
+
+
+
+
+
+ INDIVIDUAL RATE VARIABLES (AT EVERY TIME STEP)
+ ONLY IF REPORTING OF EACH RESPECTIVE VARIABLE IS
+ SWITCHED ON (DEFAULT: ALL SWITCHED OFF)
+
+
+
+
+ Reported rain (excluding snow)[mm]
+
+
+
+
+
+ Reported snow (excluding rain)[mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported actual evapotranspiration [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1a to soil layer 1b, irrigation fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, other fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, forest fraction [mm]
+
+
+
+
+
+ Reported percolation from soil layer 1b to soil layer 2, irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), other fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), forest fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), irrigation fraction [mm]
+
+
+
+
+
+ Reported seepage to groundwater(from soil layer 2 to groundwater), weighted sum over the fraction of each pixel [mm]
+
+
+
+
+
+ Reported available groundwater LZ+ GWLoss [mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported fast runoff = surface + UZ [mm]
+
+
+
+
+
+ Reported GWloss [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported total runoff that enters the channel: groundwater + surface runoff [mm]
+
+
+
+
+
+ Reported Direct Runoff [mm]
+
+
+
+
+
+ Reported FlowVelocityMSecMaps [m/s]
+
+
+
+
+
+ Reported TravelDistance [m]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+
+ Reported evaporation of intercepted water [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported leaf drainage Forest[mm]
+
+
+
+
+
+ Reported interception forest [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported transpiration forest [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+ Reported volumetric soil moisture content for
+ soil layer 1a [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 1b [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported volumetric soil moisture content for both
+ soil layer 2 [V/V] [mm3/mm3]
+
+
+
+
+
+ Reported storage in upper response box [mm]
+
+
+
+
+
+
+
+ MISCELLANEOUS OUTPUT MAPS AND TIME SERIES
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (reported at sites) [mm/day]
+
+
+
+
+
+ Time series of average percolation rate from upper to
+ lower groundwater zone (average for upstream area of each gauge) [mm/day]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress [days]
+
+
+
+
+
+ Reported number of days in simulation with soil moisture stress for forest fraction [days]
+
+
+
+
+
+ Reported soil transpiration reduction factor [-] for other landuse
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+ Reported soil transpiration reduction factor [-]
+ values below 1 indicate soil moisture stress
+
+
+
+
+
+
+
+ **************************************************************
+ REPORTED OUTPUT TIME SERIES
+ **************************************************************
+
+
+
+
+ Reported average discharge over the model time step [cu m/s]
+
+
+
+
+
+ Reported instantaneous discharge at the end of routing sub-step [cu m/s]
+
+
+
+
+
+ Reported average discharge on the last routing sub-step [cu m/s]
+
+
+
+
+
+ Reported water level [m]
+
+
+
+
+
+
+ OUTPUT AT SITES: STATE VARIABLES
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1a [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 1b [cu mm / cu mm]
+
+
+
+
+
+ Soil moisture layer 2 [cu mm / cu mm]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ OUTPUT AT SITES: RATE VARIABLES
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Reported snowmelt [mm]
+
+
+
+
+
+ Reported interception [mm]
+
+
+
+
+
+ Reported transpiration [mm]
+
+
+
+
+
+ Reported soil evaporation [mm]
+
+
+
+
+
+ Reported evaporation from interception storage [mm]
+
+
+
+
+
+ Reported leaf drainage [mm]
+
+
+
+
+
+ Reported infiltration [mm]
+
+
+
+
+
+ Reported preferential flow [mm]
+
+
+
+
+
+ Reported percolation from 1st to 2nd soil layer [mm]
+
+
+
+
+
+ Reported seepage to groundwater[mm]
+
+
+
+
+
+ Reported surface runoff [mm]
+
+
+
+
+
+ Reported upper zone outflow [mm]
+
+
+
+
+
+ Reported lower zone outflow [mm]
+
+
+
+
+
+ Reported total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AVERAGE VALUES OF METEOROLOGICAL FORCING VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repMeteoUpsGauges option is activated)
+
+
+
+
+ Precipitation [mm/time step]
+
+
+
+
+
+ Average temperature [deg C]
+
+
+
+
+
+ Reference evapotranspiration [mm/time step]
+
+
+
+
+
+ Potential soil evaporation [mm/time step]
+
+
+
+
+
+ Potential open water evaporation [mm/time step]
+
+
+
+
+
+ ESActPixel+self.var.TaPixel+self.var.TaInterceptionAll+self.var.EvaAddM3*self.var.M3toMM
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL STATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repStateUpsGauges option is activated)
+
+
+
+
+ Water depth on soil surface [mm]
+
+
+
+
+
+ Depth of snow cover on soil surface [mm]
+
+
+
+
+
+ Water stored as interception [mm]
+
+
+
+
+
+ Soil moisture upper layer [mm3/mm3]
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+
+
+
+
+ Soil moisture lower layer [mm3/mm3]
+
+
+
+
+
+ Storage in upper groundwater zone [mm]
+
+
+
+
+
+ Storage in lower groundwater zone [mm]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+ Frost index [degC/day]
+
+
+
+
+
+ Days since last rain [days]
+
+
+
+
+
+
+
+ AVERAGE VALUES OF MODEL RATE VARIABLES
+ UPSTREAM OF GAUGES
+ (only if repRateUpsGauges option is activated)
+
+
+
+
+ Rain (excluding snow) [mm]
+
+
+
+
+
+ Snow (excluding rain) [mm]
+
+
+
+
+
+ Snow melt [mm]
+
+
+
+
+
+ Interception [mm]
+
+
+
+
+
+ Actual transpiration [mm]
+
+
+
+
+
+ Actual evaporation [mm]
+
+
+
+
+
+ Evaporation from interception storage [mm]
+
+
+
+
+
+ Leaf drainage [mm]
+
+
+
+
+
+ Infiltration [mm]
+
+
+
+
+
+ Preferential flow [mm]
+
+
+
+
+
+ Percolation upper to lower soil layer [mm]
+
+
+
+
+
+ Seepage from lower soil layer to groundwater [mm]
+
+
+
+
+
+ Surface runoff [mm]
+
+
+
+
+
+ Outflow from upper groundwater zone (to channel) [mm]
+
+
+
+
+
+ Outflow from lower groundwater zone (to channel) [mm]
+
+
+
+
+
+ Total runoff [mm]
+
+
+
+
+
+ Reported percolation from upper to lower groundwater zone [mm]
+
+
+
+
+
+ Reported loss from lower zone [mm]
+
+
+
+
+
+
+
+ NUMERICS
+
+
+
+
+ Reported mass balance error at outlet [cu m]
+
+
+
+
+
+ Reported mass balance error at outlet (as mm water slice)
+
+
+
+
+
+ Reported mass balance error due to the split routing module, for each catchment [m3]
+
+
+
+
+
+ Reported discharge error at the outlet as a consequence of the mass balance error within the split routing module, for each catchment [m3/s]
+
+
+
+
+
+ Reported ratio between the mass balance error and the water volume storage, for each catchment [m3/m3]
+
+
+
+
+
+ Average value of the sum of the fractions within a catchment: this value must be 1.0 in order to avoid mass balace errors! [-]
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of cells with Theta lower than
+ residual soil moisture content
+ (should ALWAYS be zero, if not something is
+ seriously wrong!!!)
+ TEST ONLY!! REMOVE OR HIDE IN FINAL VERSION!!
+
+
+
+
+
+ Number of sub-steps needed for soil moisture
+ routine
+
+
+
+
+
+
+
+ **************************************************************
+ BASE INPUT MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ **************************************************************
+ TOPOGRAPHY MAPS
+ **************************************************************
+
+
+
+
+ $(PathMaps)/ldd.map
+ local drain direction map (1-9)
+
+
+
+
+
+ slope gradient [-] (0.50 -> tangent=0.5, angle=26.5 degrees)
+
+
+
+
+
+ Elevation standard deviation [m], i.e. altitude difference elevation within pixel.
+ Used for sub-pixel modelling of snow accumulation
+ and melt
+
+
+
+
+
+ outlets.map
+ Nominal map with gauge locations (i.e cells for which simulated discharge
+ is written to file(1,2,3 etc)
+
+
+
+
+
+ map with monitoring sites (1,2,3 etc)
+
+
+
+
+
+ optional map with pixel length [m], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+ optional map with pixel area [m2], only needed in case map attributes
+ are not in [m] (e.g. lat / lon systems)
+
+
+
+
+
+
+
+ **************************************************************
+ SOIL PARAMETERS
+ **************************************************************
+
+ Suggested parameterisation strategy:
+
+ - use b_Xinanjiang and PowerPrefFlow as calibration constants
+
+
+
+
+
+ Soil depth for 1st layer: 1a (superficial layer)
+ Minimum Soil Depth [mm] for superficial soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b (upper layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2 (lower layer)
+ Minimum Soil Depth [mm] for second soil layer
+
+
+
+
+
+ Soil depth for 1st layer: 1a
+ Minimum Soil Depth [mm] for upper soil layer
+ For Europe it is 50 mm
+ For Africa it is 200 mm
+
+
+
+
+
+ Soil depth for 2nd layer: 1b
+ Minimum Soil Depth [mm] for lower soil layer
+
+
+
+
+
+ Soil depth for 2nd layer: 2
+ Minimum Soil Depth [mm] for lower soil layer 300
+
+
+
+
+
+
+
+ **************************************************************
+ LAND USE RELATED MAPS AND TABLES
+ **************************************************************
+
+
+
+
+ $(PathMapsLanduse)/fracsealed
+ urban area (0-1)
+
+
+
+
+
+ stack of Direct Runoff fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracforest
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of forest fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracwater
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of water fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracother
+ forest fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of other fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracirrigated
+ irrigated area fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMapsLandUseChange)/
+ stack of Irrigation fraction maps (0-1)
+
+
+
+
+
+ $(PathMapsLanduse)/fracDrained.map
+ drained fraction from irrigated area (0-1)
+
+
+
+
+
+ rice fraction of a pixel (0-1)
+
+
+
+
+
+ stack of rice fraction maps (0-1)
+
+
+
+
+
+ groundwater used fraction of a pixel (0-1)
+
+
+
+
+
+ NonConventionalWaterUsed (0-1)
+
+
+
+
+
+ lake and reservoir water used, fraction of a pixel (0-1)
+
+
+
+
+
+ $(PathMaps)/eflow.map
+ EFlowThreshold is map with m3/s discharge, e.g. the 10th percentile discharge of the baseline run
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+ table with crop coefficient for each land use; values ranging from 0.75 to 1.25;
+ source: Supit, p.83 CFET
+
+
+
+
+
+ table with crop group number; table 6.1 and 6.2 in WOFOST 6.0, Supit, 1994: p. 86
+
+
+
+
+
+ $(PathMapsTables)/manngs_2000_250m.map
+ table with Manning's roughness [m^(1/3) s^(-1)] for each CORINE landcover class
+
+
+
+
+
+
+
+ **************************************************************
+ Variable Channel NoSubStepChannel
+ **************************************************************
+
+
+
+
+ UpArea do be included in max. celerity
+
+
+
+
+
+ variable Number of sub steps for the kinematic wave routing
+
+
+
+
+ **************************************************************
+ CHANNEL MAPS
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels and 0 at
+ all other pixels
+ IMPORTANT: IF NON-CHANNEL PIXELS HAVE MISSING VALUES
+ THEN THIS MAY RESULT IN INCORRECT RESULTS
+
+
+
+
+
+ Channel gradient (fraction, dy/dx)
+
+
+
+
+
+ Channel Manning's n [m^(1/3) s^(-1)]
+
+
+
+
+
+ Channel length [m]
+
+
+
+
+
+ Channel bottom width [m]
+
+
+
+
+
+ Channel side slope, expressed as gradient
+ !! expressed as dx/dy !!! (NOT dy/dx, which would perhaps be more logical)
+
+
+
+
+
+ Floodplain Width [m]
+
+
+
+
+
+ Bankfull channel depth [m]
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES)
+ Each parameter is defined for upper (1a and 1b) and
+ lower (2) soil layers
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-]
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 2 (lower soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 2 (lower soil layer)
+
+
+
+
+
+
+
+ **************************************************************
+ TABLES WITH TOPSOIL SOIL PHYSICAL PARAMETERS (HYPRES) for Forest
+ Each parameter is defined for 1a and 1b
+ Normal parameter is taken for the lower soil layer
+ **************************************************************
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Soil moisture content at saturation [V/V] [mm3/mm3]
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Residual soil moisture content [V/V] [mm3/mm3] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this) for soil layer 1a (superficial soil layer)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Pore-size index (Van Genuchten m and n are calculated from this)
+ Lambda is acually 1-n [-] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Van Genuchten parameter Alpha [1/cm] for soil layer 1b (upper soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1a (superficial soil layer)
+
+
+
+
+
+ Saturated conductivity [mm/day] for soil layer 1b (upper soil layer)
+
+
+
+
+
+
+
+ **************************************************************
+ RESERVOIRS (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Sub time step used for reservoir simulation [s]. Within the model,
+ the smallest out of DtSecReservoirs and DtSec is used.
+
+
+
+
+
+ Map with location of reservoirs (number)
+
+
+
+
+
+ Initial reservoir storage (fraction)
+
+
+
+
+
+ Input tables
+
+
+
+
+ Total reservoir storage capacity
+ Units: m³
+
+
+
+
+
+ Reservoir inflow associated with the 100-year return period.
+ It is modified by a calibration parameter (`ReservoirFloodOutflowFactor`) to
+ define the inflow above which the reservoir switches to flood control mode
+ Units: m³/s
+
+
+
+
+
+ NReservoir average inflow used to define the normal reservoir release
+ Units: m³/s
+
+
+
+
+
+ Minimum reservoir release:
+ Units: m³/s
+
+
+
+
+ Output time series
+
+
+
+
+ name of output TSS file with Reservoir Inflow
+
+
+
+
+
+ name of output TSS file with Reservoir Outflow
+
+
+
+
+
+ name of output TSS file with Reservoir Filling
+
+
+
+
+
+ name of output TSS file with Reservoir storage [m3]
+
+
+
+
+
+
+ name of output map(s) with Reservoir Filling
+
+
+
+
+
+ Fraction of the total reservoir storage above which the reservoirs enters
+ the flood control zone.
+
+
+
+
+
+ Factor of the 100-year return inflow that defines a flood event, i.e., the
+ reservoir routine switches to flood control mode.
+
+
+
+
+
+
+
+ **************************************************************
+ LAKES (if used )
+ Input maps
+ **************************************************************
+
+
+
+
+ Map with location of lakes
+
+
+
+
+
+ Initial lake level [m]
+ -9999 sets initial value to steady-state level
+
+
+
+
+
+ Lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+ Estimate of average net inflow into lake (=inflow - evaporation) [m3 / s]
+ Used to calculated steady-state lake level in case LakeInitialLevelValue
+ is set to -9999
+
+
+
+
+ Input tables
+
+
+
+
+ Lake surface area [m2]
+
+
+
+
+
+ Lake parameter A [m/s]
+
+
+
+
+
+ Multiplier applied to the lake parameter A
+
+
+
+
+ Output time series
+
+
+
+
+ Output timeseries file with lake inflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake outflow [m3 /s]
+
+
+
+
+
+ Output timeseries file with lake level [m]
+
+
+
+
+
+ Output map(s) with lake level [m]
+
+
+
+
+
+ Output map with lake inflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value equal to PrevDischarge (ChanQ(t))
+
+
+
+
+
+ Output map with lake outflow at previous routing sub-step (ChanQ(t-1)) [m3/s]
+ -9999 sets initial value
+
+
+
+
+
+
+
+ **************************************************************
+ POLDERS(if used)
+ **************************************************************
+
+
+
+
+
+ Weir constant (fixed) [-]
+
+
+
+
+
+ Map with polder locations
+
+
+
+
+
+ Initial water level in polders [m]
+
+
+
+
+
+ Polder maximum storage capacity [cu m]
+
+
+
+
+
+ Area of polder [sq m]
+
+
+
+
+
+ Width of polder outlet/inlet [m]
+
+
+
+
+
+ Polder bottom level, measured from channel bottom [m]
+
+
+
+
+
+ Time step at which polder opens in case of regulated polder (use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ Time step at which water stored in polder is released again(use bogus value of -9999 in table in case of unregulated polder)
+
+
+
+
+
+ name of output TSS file with polder flux [cu m / s]. Positive for flow from channel to polder, negative for polder to channel
+
+
+
+
+
+ name of output TSS file with polder level [m]
+
+
+
+
+
+ name of output map(s) with polder level
+
+
+
+
+
+
+
+ **************************************************************
+ INFLOW HYDROGRAPH (if used)
+ **************************************************************
+
+
+
+
+ OPTIONAL: nominal map with locations of (measured)
+ inflow hydrographs
+
+
+
+
+
+ location of calibration points
+ OPTIONAL: nominal map with locations of calibration points
+
+
+
+
+
+ Observed or simulated input hydrographs as
+ time series [m3 / s]
+ Note that identifiers in time series correspond to
+ InflowPoints map (also optional)
+
+
+
+
+
+
+
+ **************************************************************
+ DYNAMIC WAVE(if used)
+ **************************************************************
+
+
+
+
+ Critical Courant number for dynamic wave
+ value between 0-1 (smaller values result in greater numerical accuracy,
+ but also increase computational time)
+
+
+
+
+
+ Constant head [m] at most downstream pixel (relative to altitude
+ at most downstream pixel)
+
+
+
+
+
+ Boolean map with value 1 at channel pixels where dynamic wave is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Channel bottom level [m]
+
+
+
+
+
+ Nominal map with channel cross section IDs
+
+
+
+
+
+ Table with cross section parameters (H,A,P)
+
+
+
+
+
+
+
+ **************************************************************
+ MUSKINGUM-CUNGE-TODINI OPTION
+ **************************************************************
+
+
+
+
+ Boolean map with value 1 at channel pixels where MCT is
+ used, and 0 at all other pixels
+
+
+
+
+
+ Maximum channel gradient for channels using MCT routing [-] (for MCT wave: slope cannot be >0.001)
+
+
+
+
+
+
+
+ **************************************************************
+ PF REPORTING (if used)
+ **************************************************************
+
+
+
+ PF PARAMETERS
+
+
+
+
+ Maximum capillary head [cm]. This value is used if Theta equals residual soil
+ moisture content (value of HeadMax is arbitrary). Only needed for pF computation,
+ otherwise doesn't influence model results at all)
+
+
+
+
+ PF MAPS
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, VALUES AT SITES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+ PF TIMESERIES, AVERAGE VALUES UPSTREAM OF GAUGES
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+ Reported pF upper soil layer [-]
+
+
+
+
+
+ Reported pF lower soil layer [-]
+
+
+
+
+
+
+
+ **************************************************************
+ Ad'a addition
+ **************************************************************
+
+
+
+
+ threshold value below which there is no outflow to the channel [mm]
+
+
+
+
+
+ length of the window used to smooth the LZ zone [number of cells]
+
+
+
+
+
+ map of aquifers (0/1), used to smoothen LZ near extraction areas
+
+
+
+
+
+
+
+ **************************************************************
+ Water demand output maps
+ **************************************************************
+
+
+
+
+ day of the year when the yearly endcalculation is done e.g. 31/10/xxxx = 304
+
+
+
+
+
+
+ TotalAbstractionFromGroundwater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm]
+
+
+
+
+
+ TotalAbstractionFromSurfaceWater [mm] summed up for water regions
+
+
+
+
+
+ Total Abstraction From SurfaceWater and Groundwater [mm] summed up for water regions, montly values
+
+
+
+
+
+ TotalPaddyRiceIrrigationAbstraction [m3]
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions (this is the official EU WEI+): consumption / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Abstraction; for water regions: abstraction / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Demand; for water regions: demand / internal and external availability
+
+
+
+
+
+ Water Exploitation Index - Consumption; for water regions
+
+
+
+
+
+ Internal available water
+
+
+
+
+
+ External available water
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Region Water Consumption
+
+
+
+
+
+ Reservoir and Lake storage in m3 at end of month
+
+
+
+
+
+ Reservoir and Lake abstraction in m3
+
+
+
+
+
+ Irrigation water shortage in m3 for month
+
+
+
+
+
+ Surface water availability in m3 for potential irrigation for each day
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly evapotranspiration deficit in mm
+
+
+
+
+
+ Monthly Water Dependency Index (0-1) (De Roo 2015)
+ WDI = Upstream Inflow Actually Used / Total Water Demand
+ Values close to 1 give extreme dependency on upstream water
+
+
+
+
+
+ Monthly Water Security Index (0-1) (De Roo 2015)
+ WSI = Upstream Inflow Actually Used / Upstream Inflow Available
+ Values close to 1 give extreme vulnerability to upstream water
+
+
+
+
+
+ Monthly Water Sustainability Index (0-1) (De Roo 2015)
+ WTI = 1-SurfaceWaterDeficit / TotalWaterDemand
+ Values of 1 indicate complete sustainable conditions, no water deficit
+ Values less than 1 indicate that considerable deep groundwater resources or desalinated water is used
+
+
+
+
+
+ Monthly Falkenmark 1 Index (tochanm3)
+
+
+
+
+
+ Monthly Falkenmark 2 Index (tochanm3+reservoirlakeabstraction)
+
+
+
+
+
+ Monthly Falkenmark 3 Index (tochanm3+reservoirlakeabstraction+externalinflow)
+
+
+
+
+
+
+ Abstraction from groundwater in m3 per timestep
+
+
+
+
+
+ Abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region abstraction from surface water in m3 per timestep
+
+
+
+
+
+ Region Total Abstraction From Lakes and Reservoirs in m3, per timestep
+
+
+
+
+
+ Lake Abstraction per timestep in m3
+
+
+
+
+
+ ReservoirAbstraction per timestep in M3
+
+
+
+
+
+ ReservoirStorage in M3
+
+
+
+
+
+ LakeStorage in M3
+
+
+
+
+
+ AreatotalIrrigationUseM3
+
+
+
+
+
+ FractionAbstractedFromChannels
+
+
+
+
+
+ EFlowIndicator (1 on day with ChanQ smaller than EflowThreshold, 0 on normal days)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ **************************************************************
+ Peter's addition
+ **************************************************************
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+ [mm]
+
+
+
+
+
+
+
+
+
+ areamap MaskMap;
+ timer StepStart StepEnd 1;
+ ReportSteps=$(ReportSteps);
+
+
+
+
+
diff --git a/tests/test_mct_dyn_inflow_calib.py b/tests/test_mct_dyn_inflow_calib.py
new file mode 100644
index 00000000..fb045d09
--- /dev/null
+++ b/tests/test_mct_dyn_inflow_calib.py
@@ -0,0 +1,141 @@
+from __future__ import absolute_import
+import os
+import datetime
+import shutil
+import pytest
+
+from lisfloodutilities.compare.nc import NetCDFComparator
+from lisfloodutilities.compare.pcr import TSSComparator
+
+from lisflood.main import lisfloodexe
+from lisflood.global_modules.settings import LisSettings
+
+from .test_utils import setoptions, mk_path_out
+
+
+class TestInflow():
+
+ case_dir = os.path.join(os.path.dirname(__file__), 'data', 'LF_MCT_UseCase')
+
+ def run(self, date_start, date_end, dtsec, type):
+ # generate inflow (inflow.tss) one pixel upstream of inflow point
+ out_path_ref = os.path.join(self.case_dir, 'reference_mct_dyn')
+ out_path_run = os.path.join(self.case_dir, 'reference_mct_dyn', 'inflow_'+type)
+ settings_file = os.path.join(self.case_dir, 'settings', 'mct_inflow_calib.xml')
+ settings = setoptions(settings_file,
+ opts_to_unset = ['inflow'],
+ opts_to_set=['simulateCalibrationPoints', 'MCTRoutingInterface'],
+ vars_to_set={'StepStart': date_start,
+ 'StepEnd': date_end,
+ 'CalendarDayStart': date_start,
+ 'DtSec' : dtsec,
+ # 'DtSecChannel' : dtsec, # single routing step
+ 'BankFullPerc': '0.1',
+ 'MaskMap': '$(PathRoot)/maps/mask.nc',
+ 'Gauges': '4292500 2377500', # one cell upstream of inflow point (p2)
+ 'ChanqavgdtTS': out_path_run+'/inflow.tss', # use chanqavgdt as inflow
+ 'PathOut': out_path_run,
+ 'ChannelsMCT': '$(PathRoot)/maps/chanmct_conf',
+ 'ChanGradMaxMCT': '0.00005',
+ 'CalChanMan3': '5.0',
+ 'CalibrationPoints': "$(PathRoot)/maps/inflow.nc",
+ })
+ mk_path_out(out_path_ref)
+ mk_path_out(out_path_run)
+ lisfloodexe(settings)
+
+ # generate control run at inflow point
+ out_path_run = os.path.join(self.case_dir, 'reference_mct_dyn', 'inflow_'+type)
+ settings_file = os.path.join(self.case_dir, 'settings', 'mct_inflow_calib.xml')
+ settings = setoptions(settings_file,
+ opts_to_unset = ['inflow'],
+ opts_to_set=['simulateCalibrationPoints', 'MCTRoutingInterface'],
+ vars_to_set={'StepStart': date_start,
+ 'StepEnd': date_end,
+ 'CalendarDayStart': date_start,
+ 'DtSec' : dtsec,
+ # 'DtSecChannel': dtsec, # single routing step
+ 'BankFullPerc': '0.1',
+ 'MaskMap': '$(PathRoot)/maps/mask.nc',
+ # 'Gauges': '4322500 2447500 4447500 2422500', # inflow and outlet
+ 'Gauges': '4297500 2372500', # inflow point (p5)
+ 'PathOut': out_path_run,
+ 'ChannelsMCT': '$(PathRoot)/maps/chanmct_conf',
+ 'ChanGradMaxMCT': '0.00005',
+ 'CalChanMan3': '5.0',
+ # 'CalibrationPoints': "$(PathRoot)/maps/inflow.nc",
+ })
+
+ lisfloodexe(settings)
+
+ # run with inflow from dynamic reference and generate outflow at inflow point
+ out_path_ref = os.path.join(self.case_dir, 'reference_mct_dyn', 'inflow_'+type)
+ out_path_run = os.path.join(self.case_dir, self.run_type)
+ settings_file = os.path.join(self.case_dir, 'settings', 'mct_inflow_calib.xml')
+ settings = setoptions(settings_file,
+ opts_to_set=['inflow','simulateCalibrationPoints', 'MCTRoutingInterface'],
+ vars_to_set={'StepStart': date_start,
+ 'StepEnd': date_end,
+ 'CalendarDayStart': date_start,
+ 'DtSec' : dtsec,
+ # 'DtSecChannel': dtsec, # single routing step
+ 'BankFullPerc': '0.1',
+ 'MaskMap': '$(PathRoot)/maps/interbasin_mask.nc',
+ 'InflowPoints': '$(PathRoot)/maps/inflow.nc',
+ 'QInTS': out_path_ref+'/inflow.tss',
+ # 'Gauges': '4322500 2447500 4447500 2422500', # inflow and outlet
+ 'Gauges': '4297500 2372500', # inflow point (p5)
+ 'PathOut': out_path_run,
+ 'ChannelsMCT': '$(PathRoot)/maps/chanmct_conf',
+ 'ChanGradMaxMCT': '0.00005',
+ 'CalChanMan3': '5.0',
+ # 'CalibrationPoints': "$(PathRoot)/maps/inflow.nc",
+ })
+ mk_path_out(out_path_run)
+ lisfloodexe(settings)
+
+ # set precision for the test and number of steps to skip at the beginning of the time series
+ atol = 2.0
+ rtol = 0.01
+ init_steps_to_skip = 5
+ comparator = TSSComparator(atol,rtol,init_skip_steps = init_steps_to_skip)
+
+ # test when DtSec = DtSecChannel
+ reference = os.path.join(out_path_ref, 'disWin.tss')
+ output_tss = os.path.join(out_path_run, 'disWin.tss')
+ comparator.compare_files(reference, output_tss)
+
+ # test when DtSec != DtSecChannel
+ reference = os.path.join(out_path_ref, 'chanqWin.tss')
+ output_tss = os.path.join(out_path_run, 'chanqWin.tss')
+ comparator.compare_files(reference, output_tss)
+
+ # test when DtSec != DtSecChannel
+ reference = os.path.join(out_path_ref, 'chanqavgdt.tss')
+ output_tss = os.path.join(out_path_run, 'chanqavgdt.tss')
+ comparator.compare_files(reference, output_tss)
+
+ # def teardown_method(self, type):
+ # print('Cleaning directories')
+ #
+ # ref_path = os.path.join(self.case_dir, 'reference_mct_dyn')
+ # if os.path.exists(ref_path) and os.path.isdir(ref_path):
+ # shutil.rmtree(ref_path, ignore_errors=True)
+ #
+ # out_path = os.path.join(self.case_dir, self.run_type)
+ # if os.path.exists(out_path) and os.path.isdir(out_path):
+ # shutil.rmtree(out_path, ignore_errors=True)
+
+
+class TestInflowShort(TestInflow):
+
+ run_type = 'short'
+
+ # def test_mct_inflow_daily(self):
+ # self.run("02/01/2016 06:00", "30/01/2016 06:00", 86400,'daily')
+ def test_mct_inflow_6h(self):
+ self.run("01/03/2016 06:00", "30/03/2016 06:00", 21600,'6h')
+
+ # cleaning folders
+ # def cleaning(self,):
+ # self.teardown_method()
diff --git a/tests/test_mct_warmstart_calib.py b/tests/test_mct_warmstart_calib.py
new file mode 100644
index 00000000..35bee7a9
--- /dev/null
+++ b/tests/test_mct_warmstart_calib.py
@@ -0,0 +1,250 @@
+"""
+
+Copyright 2019-2020 European Union
+
+Licensed under the EUPL, Version 1.2 or as soon they will be approved by the European Commission subsequent versions of the EUPL (the "Licence");
+
+You may not use this work except in compliance with the Licence.
+You may obtain a copy of the Licence at:
+
+https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt
+
+Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the Licence for the specific language governing permissions and limitations under the Licence.
+
+"""
+
+from __future__ import absolute_import
+import os
+import shutil
+from datetime import datetime, timedelta
+import glob
+
+import pytest
+
+from lisfloodutilities.compare.nc import NetCDFComparator
+from lisfloodutilities.compare.pcr import TSSComparator
+
+from lisflood.main import lisfloodexe
+
+from .test_utils import setoptions, mk_path_out
+
+
+class TestWarmStartMCTcalib():
+
+ case_dir = os.path.join(os.path.dirname(__file__), 'data', 'LF_MCT_UseCase')
+
+ settings_files = {
+ 'cold': os.path.join(case_dir, 'settings', 'mct_cold_interface.xml'),
+ 'warm': os.path.join(case_dir, 'settings', 'mct_warm_interface.xml'),
+ 'warm_endmaps': os.path.join(case_dir, 'settings', 'mct_warm_endmaps_interface.xml')
+ }
+
+ def test_mctcal_only_warmstart_daily_using_end_maps(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '02/01/2016 06:00'
+ step_end = '31/03/2016 06:00'
+ dt_sec = 86400
+ dt_sec_channel = 86400
+ report_steps = '9496..9861'
+ self.run_warmstart_by_dtsec('mct_endmaps', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def test_mctcal_only_warmstart_daily(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '02/01/2016 06:00'
+ step_end = '31/03/2016 06:00'
+ dt_sec = 86400
+ dt_sec_channel = 86400
+ report_steps = '9496..9861'
+ self.run_warmstart_by_dtsec('mct', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def test_mctcal_and_reservoirs_warmstart_daily(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '02/01/2016 06:00'
+ step_end = '31/03/2016 06:00'
+ dt_sec = 86400
+ dt_sec_channel = 86400
+ report_steps = '9496..9861'
+ self.run_warmstart_by_dtsec('mct_reservoirs', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def test_mctcal_and_lakes_warmstart_daily(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '02/01/2016 06:00'
+ step_end = '31/03/2016 06:00'
+ dt_sec = 86400
+ dt_sec_channel = 3600
+ report_steps = '9496..9861'
+ self.run_warmstart_by_dtsec('mct_lakes', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def test_mctcal_only_warmstart_6h(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '01/03/2016 06:00'
+ step_end = '31/05/2016 06:00'
+ dt_sec = 21600
+ dt_sec_channel = 3600
+ report_steps = '38220..38830'
+ self.run_warmstart_by_dtsec('mct', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def test_mctcal_and_reservoirs_warmstart_6h(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '01/03/2016 06:00'
+ step_end = '31/05/2016 06:00'
+ dt_sec = 21600
+ dt_sec_channel = 3600
+ report_steps = '38220..38830'
+ self.run_warmstart_by_dtsec('mct_reservoirs', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def test_mctcal_and_lakes_warmstart_6h(self):
+ calendar_day_start = '02/01/1990 06:00'
+ step_start = '01/03/2016 06:00'
+ step_end = '31/05/2016 06:00'
+ dt_sec = 21600
+ dt_sec_channel = 3600
+ report_steps = '38220..38830'
+ self.run_warmstart_by_dtsec('mct_lakes', dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps=report_steps)
+
+ def run_warmstart_by_dtsec(self, mct_case, dt_sec, dt_sec_channel, step_end, step_start, calendar_day_start, report_steps='1..9999'):
+
+ mk_path_out(os.path.join(self.case_dir, 'out'))
+
+ check_every = 13 # steps
+
+ self.path_out_reference = os.path.join(self.case_dir, 'out', 'longrun_reference{}'.format(dt_sec))
+
+ if mct_case == 'mct':
+ opts_to_set = ['repStateMaps','TransLoss','MCTRoutingInterface','simulateCalibrationPoints']
+ opts_to_unset = ['repMBTs', 'simulateReservoirs', 'simulateLakes']
+ warm_settings_file = 'warm'
+ if mct_case == 'mct_endmaps':
+ opts_to_set = ['repEndMaps','TransLoss','simulateCalibrationPoints','MCTRoutingInterface']
+ opts_to_unset = ['repMBTs', 'simulateReservoirs', 'simulateLakes']
+ warm_settings_file = 'warm_endmaps'
+ check_every = 0 # check only at the end
+ elif mct_case == 'mct_reservoirs':
+ opts_to_set = ['repStateMaps', 'simulateReservoirs','TransLoss','simulateCalibrationPoints','MCTRoutingInterface']
+ opts_to_unset = ['repEndMaps','repMBTs', 'simulateLakes']
+ warm_settings_file = 'warm'
+ elif mct_case == 'mct_lakes':
+ opts_to_set = ['repStateMaps', 'simulateLakes','openwaterevapo','TransLoss','simulateCalibrationPoints','MCTRoutingInterface']
+ opts_to_unset = ['repEndMaps','repMBTs', 'simulateReservoirs']
+ warm_settings_file = 'warm'
+
+ settings_longrun = setoptions(self.settings_files['cold'],
+ opts_to_set=opts_to_set,
+ opts_to_unset=opts_to_unset,
+ vars_to_set={'StepStart': step_start,
+ 'StepEnd': step_end,
+ 'CalendarDayStart': calendar_day_start,
+ 'PathOut': self.path_out_reference,
+ 'ReportSteps': report_steps,
+ 'DtSec': dt_sec,
+ 'DtSecChannel': dt_sec_channel,
+ 'ChannelsMCT' : '$(PathRoot)/maps/chanmct_conf',
+ 'ChanGradMaxMCT': '0.00005',
+ 'CalChanMan3': '5.0',
+ 'CalibrationPoints': "$(PathRoot)/maps/inflow.nc",
+ 'TransSub': 0.3})
+ # ** execute
+ mk_path_out(self.path_out_reference)
+ lisfloodexe(settings_longrun)
+
+
+ # warm run (1. Cold start)
+ run_number = 1
+ cold_start_step_end = step_start
+
+ self.path_out = os.path.join(self.case_dir, 'out', 'run{}_{}'.format(dt_sec, run_number))
+
+ settings_coldstart = setoptions(self.settings_files['cold'],
+ opts_to_set=opts_to_set,
+ opts_to_unset=opts_to_unset,
+ vars_to_set={'StepStart': step_start,
+ 'StepEnd': cold_start_step_end,
+ 'CalendarDayStart': calendar_day_start,
+ 'PathOut': self.path_out,
+ 'ReportSteps': report_steps,
+ 'DtSec': dt_sec,
+ 'DtSecChannel': dt_sec_channel,
+ 'ChannelsMCT': '$(PathRoot)/maps/chanmct_conf',
+ 'ChanGradMaxMCT': '0.00005',
+ 'CalChanMan3': '5.0',
+ 'CalibrationPoints': "$(PathRoot)/maps/inflow.nc",
+ 'TransSub': 0.3})
+ # ** execute
+ mk_path_out(self.path_out)
+ lisfloodexe(settings_coldstart)
+
+ # warm run (2. single step warm start/stop with initial conditions from previous run)
+ prev_settings = settings_coldstart
+ warm_step_start = prev_settings.step_end_dt + timedelta(seconds=dt_sec)
+ warm_step_end = warm_step_start
+ timestep_init = prev_settings.step_end_dt.strftime('%d/%m/%Y %H:%M')
+
+ # run only 5*13 steps to speed up computation
+ # checking 5 steps every 'check_every' steps
+ # need to run 5*check_every steps in total
+ if check_every > 0:
+ step_limit = warm_step_start + 5*check_every*timedelta(seconds=dt_sec)
+ else:
+ step_limit = settings_longrun.step_end_dt
+ print('running until {}'.format(step_limit))
+
+ nc_comparator = NetCDFComparator(settings_longrun.maskpath)
+ tss_comparator = TSSComparator(array_equal=True)
+ settings_warmstart = None
+ while warm_step_start <= step_limit:
+ run_number += 1
+ path_init = prev_settings.output_dir
+ self.path_out = (os.path.join(self.case_dir, 'out', 'run{}_{}'.format(dt_sec, run_number)))
+
+ settings_warmstart = setoptions(self.settings_files[warm_settings_file],
+ opts_to_set=opts_to_set,
+ opts_to_unset=opts_to_unset,
+ vars_to_set={'StepStart': warm_step_start.strftime('%d/%m/%Y %H:%M'),
+ 'StepEnd': warm_step_end.strftime('%d/%m/%Y %H:%M'),
+ 'CalendarDayStart': calendar_day_start,
+ 'PathOut': self.path_out,
+ 'PathInit': path_init,
+ 'timestepInit': timestep_init,
+ 'ReportSteps': report_steps,
+ 'DtSec': dt_sec,
+ 'DtSecChannel': dt_sec_channel,
+ 'ChannelsMCT': '$(PathRoot)/maps/chanmct_conf',
+ 'ChanGradMaxMCT': '0.00005',
+ 'CalChanMan3': '5.0',
+ 'CalibrationPoints': "$(PathRoot)/maps/inflow.nc",
+ 'TransSub': 0.3})
+ # ** execute
+ mk_path_out(self.path_out)
+ lisfloodexe(settings_warmstart)
+
+ # checking values at current timestep (using datetime)
+ if (check_every > 0) and not (run_number % check_every):
+ # ****** compare *******
+ # compare every 13 timesteps to speed up test
+ timestep_dt = settings_warmstart.step_end_dt # NetCDFComparator takes datetime.datetime as timestep
+ timestep = settings_warmstart.step_end_int
+ nc_comparator.compare_dirs(self.path_out, self.path_out_reference, timestep=timestep_dt)
+ tss_comparator.compare_dirs(self.path_out, self.path_out_reference, timestep=timestep)
+
+ # setup for next warm start/stop
+ prev_settings = settings_warmstart
+ warm_step_start = prev_settings.step_end_dt + timedelta(seconds=dt_sec)
+ warm_step_end = warm_step_start
+ timestep_init = prev_settings.step_end_dt.strftime('%d/%m/%Y %H:%M')
+
+ # check at the end of the whole period on the last path_out when check_every is zero
+ if check_every == 0:
+ timestep_dt = settings_warmstart.step_end_dt # NetCDFComparator takes datetime.datetime as timestep
+ timestep = settings_warmstart.step_end_int
+ nc_comparator.compare_dirs(self.path_out, self.path_out_reference, timestep=timestep_dt)
+ tss_comparator.compare_dirs(self.path_out, self.path_out_reference, timestep=timestep)
+
+
+ def teardown_method(self):
+ print('Cleaning directories')
+ folders_list = glob.glob(os.path.join(os.path.dirname(__file__), self.case_dir, 'out/run*')) + \
+ glob.glob(os.path.join(os.path.dirname(__file__), self.case_dir, 'out/longrun_reference*'))
+ for folder in folders_list:
+ shutil.rmtree(folder)
\ No newline at end of file