HYPE
Data Types | Functions/Subroutines | Variables
glacier_soilmodel Module Reference

Data Types

type  glaciertimeseries
 

Functions/Subroutines

subroutine, public soilmodel_3 (i, j, isoil, iluse, subid, pdayno, classarea, prec, cprec, temp, daylength, mintemp, maxtemp, swrad, radext, netrad, actvap, satvap, wind, rrcscorr, frozenstate, soilstate, miscstate, csrunoff, crunoffd, cropuptakein, nitrif, denitrif, epot, gwat, frostdepth, smdef, evap, cevap, crunoff1, crunoff2, crunoff3, glac_part, nonglac_part, snowfall, rainfall, cropsources, ruralaload, rgrwload, atmdepload, infiltrationflows, glacierflows, evapflows, runofflows, verticalflows, cverticalflows, horizontalflows, horizontalflows2, evapsnow, lruralflow, snowtemp, snowsurftemp, stressthreshold)
 
subroutine, public get_glacier_parameters (nc, arr)
 
subroutine, public initiate_glacier (nc, arr)
 
subroutine, public initiate_glacier_state (nc, arr, frozenstate)
 
real function calculate_glacier_area (i, classarea, vol)
 
subroutine, public calculate_glacier_massbalance (i, recMP, comMB, comMA)
 

Variables

real, dimension(2) glac_areavol_par2
 
real, dimension(:), allocatable glac_areavol_par1
 
type(glaciertimeseries), dimension(:), allocatable glaciertimeseriesdata
 
integer, parameter glaciertimeseriessteps = 731
 

Detailed Description

HYPE glacier soil model (glacier_model = 3)

Function/Subroutine Documentation

◆ calculate_glacier_area()

real function glacier_soilmodel::calculate_glacier_area ( integer, intent(in)  i,
real, intent(in)  classarea,
real, intent(in)  vol 
)
private

Calculate glacier area based on glacier area-volume relationship or class' area depending on glacier type.

Reference ModelDescription Chapter Land routines (Glaciers)

Parameters
[in]iindex of current subbasin
[in]classareaglacier class' area (m2)
[in]volglacier volume of current subbasin (m3)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ calculate_glacier_massbalance()

subroutine, public glacier_soilmodel::calculate_glacier_massbalance ( integer, intent(in)  i,
real, intent(in)  recMP,
real, intent(out)  comMB,
real, intent(out)  comMA 
)

Glacier mass for a requested obseration period.

"observation operator" for comparison with WGMS mass balance data

Parameters
[in]icurrent subbasin
[in]recmpmass balance period
[out]commbcomputed glacier mass balance
[out]commacomputed mass balance area
+ Here is the caller graph for this function:

◆ get_glacier_parameters()

subroutine, public glacier_soilmodel::get_glacier_parameters ( integer, intent(in)  nc,
integer, dimension(nc,2), intent(in)  arr 
)

Initialize glacier parameters.

Reference ModelDescription Chapter Land routines (Glaciers)

Parameters
[in]ncnumber of classes (nclass)
[in]arrclassmodels
+ Here is the caller graph for this function:

◆ initiate_glacier()

subroutine, public glacier_soilmodel::initiate_glacier ( integer, intent(in)  nc,
integer, dimension(nc,2), intent(in)  arr 
)

Initialize glacier parameters and variables.

Reference ModelDescription Chapter Land routines (Glaciers)

Parameters
[in]ncnumber of classes (nclass)
[in]arrclassmodels
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initiate_glacier_state()

subroutine, public glacier_soilmodel::initiate_glacier_state ( integer, intent(in)  nc,
integer, dimension(nc,2), intent(in)  arr,
type(snowicestatetype), intent(inout)  frozenstate 
)

Initialize glacier volume.

Reference ModelDescription Chapter Land routines (Glaciers)

Parameters
[in]ncnumber of classes (nclass)
[in]arrclassmodels
[in,out]frozenstateSnow and ice states
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ soilmodel_3()

subroutine, public glacier_soilmodel::soilmodel_3 ( integer, intent(in)  i,
integer, intent(in)  j,
integer, intent(in)  isoil,
integer, intent(in)  iluse,
integer, intent(in)  subid,
integer, intent(in)  pdayno,
real, intent(in)  classarea,
real, intent(in)  prec,
real, dimension(numsubstances), intent(in)  cprec,
real, intent(in)  temp,
real, intent(in)  daylength,
real, intent(in)  mintemp,
real, intent(in)  maxtemp,
real, intent(in)  swrad,
real, intent(in)  radext,
real, intent(in)  netrad,
real, intent(in)  actvap,
real, intent(in)  satvap,
real, intent(in)  wind,
real, intent(in)  rrcscorr,
type(snowicestatetype), intent(inout)  frozenstate,
type(soilstatetype), intent(inout)  soilstate,
type(miscstatetype), intent(inout)  miscstate,
real, dimension(numsubstances), intent(out)  csrunoff,
real, dimension (numsubstances), intent(out)  crunoffd,
real, intent(out)  cropuptakein,
real, intent(out)  nitrif,
real, dimension(maxsoillayers), intent(out)  denitrif,
real, intent(out)  epot,
real, intent(out)  gwat,
real, intent(out)  frostdepth,
real, intent(out)  smdef,
real, intent(out)  evap,
real, dimension(numsubstances), intent(out)  cevap,
real, dimension(numsubstances), intent(out)  crunoff1,
real, dimension(numsubstances), intent(out)  crunoff2,
real, dimension(numsubstances), intent(out)  crunoff3,
real, intent(out)  glac_part,
real, intent(out)  nonglac_part,
real, intent(out)  snowfall,
real, intent(out)  rainfall,
real, dimension(numsubstances,2), intent(inout)  cropsources,
real, dimension(numsubstances), intent(out)  ruralaload,
real, dimension(numsubstances), intent(inout)  rgrwload,
real, dimension(numsubstances), intent(inout)  atmdepload,
real, dimension(7), intent(out)  infiltrationflows,
real, dimension(2), intent(out)  glacierflows,
real, dimension(4), intent(out)  evapflows,
real, dimension(7), intent(out)  runofflows,
real, dimension(6), intent(out)  verticalflows,
real, dimension(numsubstances,2), intent(out)  cverticalflows,
real, dimension(3), intent(out)  horizontalflows,
real, dimension(maxsoillayers,nsub), intent(inout)  horizontalflows2,
real, intent(out)  evapsnow,
real, dimension(numsubstances,maxsoillayers), intent(out)  lruralflow,
real, intent(out)  snowtemp,
real, intent(out)  snowsurftemp,
real, intent(out)  stressthreshold 
)

Soilmodel for glacier land class Calculate glacier, snow and soil processes for a glacier land class.

Reference ModelDescription Chapter Land routines (Glaciers)

Parameters
[in]iindex for current subbasin
[in]jindex for current class
[in]isoilindex of soil type
[in]iluseindex of landuse
[in]subidsubbasin id
[in]pdaynopseudo dayno for use in soil model subroutines
[in]classareaclass area (km2)
[in]precprecipitation (mm/timestep)
[in]cprecconcentration of precipitation
[in]temptemperature
[in]daylengthday length (hours)
[in]mintempcurrent daily min temperature (C)
[in]maxtempcurrent daily max temperature (C)
[in]swraddownward shortwave radiation [MJ/m2/day]
[in]radextextraterrestrial solar radiation [MJ/m2/day]
[in]netradnet downward radiation [MJ/m2/day]
[in]actvapactual vapor pressure [kPa]
[in]satvapsaturated vapour pressure [kPa]
[in]windwind speed [m/s]
[in]rrcscorrcorrection of recession coefficients
[in,out]frozenstateSnow and ice states
[in,out]soilstateSoil states
[in,out]miscstateMisc states
[out]csrunoffconcentration surface flow
[out]crunoffdconcentration tile runoff
[out]cropuptakeincrop uptake of IN
[out]nitrifnitrification
[out]denitrifdenitrification
[out]epotpotential evaporation (mm/timestep)
[out]gwatgroundwater table (m)
[out]frostdepthsoil frost depth
[out]smdefsoil moisture deficit (mm)
[out]evapevapotranspiration
[out]cevapconcentration of evapotranspiration
[out]crunoff1concentration of runoff from soil layer 1 (mg/L)
[out]crunoff2concentration of runoff from soil layer 2 (mg/L)
[out]crunoff3concentration of runoff from soil layer 3 (mg/L)
[out]glac_partfraction of glacier (-)
[out]nonglac_partold fraction of class is snow field (-)
[out]snowfallPrecipitation as rain (mm)
[out]rainfallPrecipitation as snow (mm)
[in,out]cropsourcesLoad from fertiliser and residues (kg/timestep)
[out]ruralaloadLoad from rural households (kg/timestep)
[in,out]rgrwloadLoad from regional groundwater flow to soil (kg/timestep)
[in,out]atmdeploadLoad of atmospheric dry deposition (kg/timestep)
[out]infiltrationflowsseveral infiltration flows [mm]
[out]glacierflowsflow between snow plain snow and glacier when glacier grow, precipitation on glacier [m3]
[out]evapflowsevaporation from soillayers, snow and glacier [mm]
[out]runofflowsdifferent runoff flows:1-3=soil runoff sl 1-3,4-6=tile runoff sl 1-3,7=saturated surface runoff
[out]verticalflowsvertical flows:1-2=percolation,3-4=upwelling due to rural,5-6=upwelling due to reg. grw flows
[out]cverticalflowsconcentration of vertical flows:1-2=percolation
[out]horizontalflowshorizontal flows:1-3=recieved rural load flow
[in,out]horizontalflows2horizontal flows:1-3=division of regional groundwater flows to grwdown
[out]evapsnowevaporation from snow covered land (from snow and glacier)
[out]lruralflowload of rural flow
[out]snowtempsnowpack temperature
[out]snowsurftempsnow surface temperature
[out]stressthresholdstress threshold for irrigation
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ glac_areavol_par1

real, dimension(:), allocatable glacier_soilmodel::glac_areavol_par1
private

variable holding parameters for glacier area-volume relationship

◆ glac_areavol_par2

real, dimension(2) glacier_soilmodel::glac_areavol_par2
private

variable holding parameters for glacier area-volume relationship

◆ glaciertimeseriesdata

type(glaciertimeseries), dimension(:), allocatable glacier_soilmodel::glaciertimeseriesdata
private

◆ glaciertimeseriessteps

integer, parameter glacier_soilmodel::glaciertimeseriessteps = 731
private

two years (one leap year) maximum mass balance period