Models
The only model structure implemented so far is GSM-Socont.
Common options
All models have the following options that can be provided at model creation:
solver
: choice of the solver to use; the options are:heun_explicit
(default),runge_kutta
, andeuler_explicit
.record_all
(default False): when True, the model will record all fluxes and state values for each time step. This slows down the computations and create large output files. Therefore, it should not be enabled during the calibration phase, but only when one needs to analyse the behaviour of the model in details. When False, the model will output the catchment discharge and some selected timeseries.land_cover_types
: a list of the land cover types to use (e.g.,glacier
). See the section on the spatial structure.land_cover_names
: a list of the land cover names to use. Each element must match the land cover types explained above. The names are used in the model to distinguish similar land cover types, for example when using a bare-ice glacier and a debris-covered glacier. See the section on the spatial structure.
For example:
socont = models.Socont(solver="heun_explicit", record_all=False)
GSM-Socont
GSM-Socont is a conceptual glacio-hydrological model described in Schaefli2005.
Some basic properties are given in the following table.
Spatial structure |
semi-lumped (elevation bands) |
---|---|
Time step |
daily |
Specific options
The implemented GSM-Socont version comes with some options:
soil_storage_nb
: 1 or 2. This is the number of soil reservoirs to consider (the second one represents the baseflow).surface_runoff
:socont_runoff
(the original non-linear quick reservoir) orlinear_storage
(a classic linear storage).
Parameters
It has the parameters listed below.
Component |
Name |
Def. value, range |
Unit |
Comments |
---|---|---|---|---|
Precipitation (snow/rain transition) |
|
0
[-2, 2]
|
°C |
Temperature below which precipitation is 100% snow.
The snow/rain transition is linear between transition_start and transition_end
Optional parameter.
Full name: snow_rain_transition: transition_start
|
… |
|
2
[0, 4]
|
°C |
Temperature above which precipitation is 100% liquid.
Optional parameter.
Full name: snow_rain_transition: transition_end
|
Snow |
|
–
[1, 12]
|
mm/d/°C |
Degree day snow melting factor. asnow in Schaefli2005
Full name: snowpack: degree_day_factor
|
… |
|
0
[0, 5]
|
°C |
Temperature above which the snow starts to melt.
Optional parameter.
Full name: snowpack: melting_temperature
|
Glacier |
|
–
[5, 20]
|
mm/d/°C |
With <name> being the provided name of the land cover (e.g. glacier_debris)
and <i> the number of similar land cover provided.
For example: a_ice_glacier_debris or a_ice_1.
Degree day ice melting factor. aice in Schaefli2005
Full name: <name>: degree_day_factor
|
… |
|
0
[0, 5]
|
°C |
Temperature above which the ice starts to melt.
Optional parameter.
Full name: <name>: melting_temperature, with <name> being the provided name of
the land cover (e.g. glacier_debris)
|
Glacier area lumped reservoir |
|
–
[0.05, 0.25]
|
1/d |
Response factor for the glacier area lumped reservoir receiving rain and
snowmelt water. Similar to ksnow in Schaefli2005, but different units.
Full name: glacier_area_rain_snowmelt_storage: response_factor
|
… |
|
–
[0.05, 1]
|
1/d |
Response factor for the glacier area lumped reservoir receiving ice melt water.
Similar to kice in Schaefli2005, but different units.
Full name: glacier_area_icemelt_storage: response_factor
|
Quick runoff (non-linear version) |
|
–
[100, 30000]
|
m^(4/3)/s |
Parameter to calibrate.
Full name: surface_runoff: runoff_coefficient
|
… |
|
–
[0, 90]
|
° |
Mean slope of the catchment. Should be based on data.
Full name: surface_runoff: slope
|
Quick runoff (linear version) |
|
–
[0.05, 1]
|
1/d |
Response factor for the quick reservoir.
Full name: surface_runoff: response_factor
|
Slow reservoir |
|
–
[10, 3000]
|
mm |
Maximum storage capacity of the reservoir.
Full name: slow_reservoir: capacity
|
… |
|
–
[0.001, 1]
|
1/d |
Response factor for the slow reservoir. Same as k in Schaefli2005,
but different units.
Full name: slow_reservoir: response_factor
|
Baseflow (optional) |
|
–
[0, 10]
|
mm/d |
Percolation rate from the first slow reservoir to the baseflow reservoir
Full name: slow_reservoir: percolation_rate
|
… |
|
–
[0.001, 1]
|
1/d |
Response factor for the baseflow reservoir.
Full name: slow_reservoir_2: response_factor
|
The pre-defined constraints on the parameters are defined below.
References
Schaefli, B., Hingray, B., Niggli, M., & Musy, A. (2005). A conceptual glacio-hydrological model for high mountainous catchments. Hydrology and Earth System Sciences Discussions, 9(1), 95–109. https://doi.org/10.5194/hessd-2-73-2005