Data Types | |
type | aquifertype |
type | basintype |
type | branchtype |
type | changeoutvartype |
type | classbasintype |
type | classtype |
type | cropdatatype |
type | cropirrdatatype |
type | damtype |
type | depositiontype |
type | floodtype |
type | glaciertype |
type | iceseasonratingcurvetype |
type | irrigationtype |
type | lakebasintype |
type | lakesectiontype |
type | modparidtype |
type | newlaketype |
type | npcloadtype |
type | outlettype |
type | outvaridtype |
type | pathtype |
type | pointsourcedatatype |
type | pointsourcetype |
type | riverratingtype |
type | rrcqtype |
type | rrcw0type |
type | rrcwtype |
type | sectorratingcurvetype |
type | sedimentmanagementtype |
type | simulationconfigurationtype |
type | soilleakagedatatype |
type | sourceapptype |
type | stateconfigurationtype |
type | statedimensiontype |
type | t1loadtype |
type | timeinformationtype |
type | updatetype |
type | watertransfertype |
type | wetlandtype |
Functions/Subroutines | |
subroutine | allocate_outvar (nout, noutclass) |
subroutine | set_accload_to_zero () |
subroutine | accumulate_class_load (isub, varindex, values) |
subroutine | accumulate_basin_load (isub, varindex, values) |
subroutine | deallocate_modvar (n) |
subroutine | deallocate_glacier () |
subroutine | allocate_modelparameters (ns, nregpar) |
subroutine | allocate_basinvariables (ns) |
subroutine | initialize_simulation_configuration () |
subroutine | allocate_initialize_modeloptions () |
character(len=2) function | substance_name (i) |
subroutine | set_update_method_names () |
subroutine | find_next_watertransfer (i, lastwt, wtindex) |
subroutine | find_next_pointsource (isb, lastps, nps, psdata, nextps) |
subroutine | set_xobsoutvarindex () |
subroutine | initiate_xobsinformation (array, n) |
subroutine | save_xobsinformation (n, var2, ns) |
subroutine | set_recharge_discharge_classes (n, indata) |
subroutine | calculate_class_discharge_divisor () |
logical function | isdischargeclass (j) |
logical function | isfirstdischargeclass (j) |
subroutine | set_soildepth_classdata (nlayer, depth, geoclassdata) |
subroutine | set_class_current_soildepth (nlayer, slc, depth) |
subroutine | set_coded_classes (dim, array, ilakearg, olakearg, lriverarg, mriverarg, iwetarg, owetarg) |
real function, dimension(nsubst) | get_current_soilleakage_memory (icl, isub, nsubst) |
subroutine | initiate_cropdata () |
subroutine | set_cropdataindex (n, id, reg, cindex) |
subroutine | find_croppart (i, j, kcrop, row, part) |
integer function | get_current_petmodel (i) |
logical function | endofday (ts) |
integer function | get_pseudo_dayno (dn, latitude) |
logical function | in_season_end (begjd, endjd) |
logical function | in_season_period (begjd, period) |
subroutine | get_class_wet_deposition (i, ns, iluse, veg, conc) |
subroutine | set_class_deposition (i, ns, iluse, veg, source) |
integer function | get_deposition_vegindex (isubst, idep, veg, iluse) |
integer function | get_deposition_timeindex (isubst, idep) |
subroutine | find_lbtype (isub, ldtype) |
subroutine | find_lakebasins (isub, status) |
subroutine | check_connected_subbasins (i2, i3, isource, ibranch) |
logical function | is_upstream_lakebasin (ldtype) |
subroutine | sum_upstream_area (n, areasum) |
Variables | |
character(len=24), parameter | model_version_string = '5.29.0' |
Miscellaneous constant parameters | |
integer, parameter | max_classoutvar = 11 |
integer, parameter | some_basinoutvar = 23 |
integer, parameter | max_noutvar = 10000 |
integer, parameter | maxsoillayers = 3 |
integer, parameter | max_pstype = 8 |
integer, parameter | max_subid = 9999999 |
integer, parameter | maxlakesections = 10 |
real, parameter | missing_value = -9999. |
real, parameter | def_min = -1.1E38 |
real, parameter | def_max = 1.1E38 |
real, parameter | realzero = 1.E-37 |
double precision, parameter | doublezero = 1.D-307 |
real, parameter | pi = 3.1415927 |
real, parameter | solar = 0.0820 |
real, parameter | cwater = 4.2 |
real, parameter | cice = 2.1 |
real, parameter | lfreezing = 335. |
real, parameter | lfreezing2 = 335000. |
real, parameter | lfusion = 334000. |
real, parameter | kice = 2.2 |
real, parameter | icedensity = 917. |
real, parameter | dice = 0.917 |
real, parameter | waterdensity = 1000. |
Model parameter dependence type parameters | |
These codes are used for identifying which model parameter-array to find a specific parameter in. | |
integer, parameter | m_gpar = 1 |
integer, parameter | m_spar = 2 |
integer, parameter | m_lpar = 3 |
integer, parameter | m_bpar = 4 |
integer, parameter | m_rpar = 5 |
integer, parameter | m_ldpar = 6 |
integer, parameter | m_mpar = 7 |
integer, parameter | nregiondivisions = 6 |
Output variable type parameters; code for accumulation of data | |
These codes are used to define how a period value of a variable is calculated. | |
integer, parameter | i_sum = 0 |
integer, parameter | i_mean = 1 |
integer, parameter | i_wmean = 2 |
integer, parameter | i_wmean2 = 3 |
integer, parameter | i_end = 4 |
Output variable type parameters; code for class type | |
These codes are used to define if class values can be had. | |
integer, parameter | i_notdef = 0 |
integer, parameter | i_class = 1 |
Output variable type parameters; code for base area for upstream output calculation | |
These codes are used to define how to calculate upstream value. | |
integer, parameter | i_basin = 1 |
integer, parameter | i_land = 2 |
integer, parameter | i_scale3 = 3 |
integer, parameter | i_scale12 = 4 |
integer, parameter | i_scale9 = 5 |
integer, parameter | i_scale6 = 6 |
Output variable observation type parameters; code for observation variable | |
integer, parameter | i_recvar = 1 |
integer, parameter | i_regrec = 2 |
integer, parameter | i_otherrec = 3 |
Global simulation time variables for the time resolution | |
These variables are used to retrieve the simulation time resolution set by the info file. | |
integer | simtimestep = 0 |
character(len=4) | simtimeunit = '?' |
Variables for configuration of simulation | |
HYSS make available variables to hold information on the configuration of the simulation. | |
integer | i_in |
integer | i_on |
integer | i_sp |
integer | i_pp |
integer | i_t1 |
integer | i_t2 |
integer | i_oc |
integer | i_ss |
integer | i_ae |
integer | i_dsi |
integer | i_asi |
integer, parameter | max_substances = 11 |
logical | simulatesubstances |
type(simulationconfigurationtype) | simulate |
type(stateconfigurationtype) | conduct |
logical | irrunlimited |
logical | soiliniwet |
logical | conductxoms |
logical | conductwb |
logical | conductregest |
logical | conductbasinpetmodel |
logical | conductbasinlocsoil |
logical | conductwarning |
logical | conducticecurve |
logical | conductdamconstruction |
integer, parameter | p_snowfall = 1 |
integer, parameter | p_snowmelt = 2 |
integer, parameter | p_lakeriverice = 3 |
integer, parameter | p_petmodel = 4 |
integer, parameter | p_deepgroundwater = 5 |
integer, parameter | p_swtemperature = 6 |
integer, parameter | p_snowevap = 7 |
integer, parameter | p_growthstart = 8 |
integer, parameter | p_floodplain = 9 |
integer, parameter | p_snowdensity = 10 |
integer, parameter | p_glacierini = 11 |
integer, parameter | p_infiltration = 12 |
integer, parameter | p_erosion = 13 |
integer, parameter | p_wetland = 14 |
integer, parameter | p_soilleakage = 15 |
integer, parameter | p_snowfalldist = 16 |
integer, parameter | p_frozensoil = 17 |
integer, parameter | p_snowheat = 18 |
integer, parameter | p_surfacerunoff = 19 |
integer, parameter | p_connectivity = 20 |
integer, parameter | p_siltation = 21 |
integer, parameter | p_siltation2 = 22 |
integer, parameter | p_sedresusp = 23 |
integer, parameter | p_rivermodel = 24 |
integer, parameter | p_diffusesource = 25 |
integer, parameter | p_t2rivermodel = 26 |
integer, parameter | p_redischarge = 27 |
integer, parameter | p_t1model = 28 |
integer, parameter | p_snowpackreset = 29 |
integer, parameter | num_modelprocess = 29 |
character(len=17), dimension(:), allocatable | modeloptionname |
integer, dimension(:), allocatable | modeloption |
integer, dimension(num_modelprocess) | maxmodelsinoption |
character(len=64), dimension(0:maxmodelsinoption(p_petmodel) -1) | petmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowfall) -1) | snowfallmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowfalldist) -1) | snowfalldistmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowmelt) -1) | snowmeltmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_lakeriverice) -1) | lakerivericemodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_deepgroundwater) -1) | deepgroundwatermodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_swtemperature) -1) | swtemperaturemodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowevap) -1) | snowevapmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_growthstart) -1) | growthstartmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_floodplain) -1) | floodplainmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowdensity) -1) | snowdensitymodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_glacierini) -1) | glacierinimodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_infiltration) -1) | infiltrationmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_erosion) -1) | erosionmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_wetland) -1) | wetlandmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_soilleakage) -1) | soilleakmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_frozensoil) -1) | frozensoilmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowheat) -1) | snowheatmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_surfacerunoff) -1) | surfacerunoffmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_connectivity) -1) | connectivitymodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_siltation) -1) | siltationmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_siltation2) -1) | siltation2modelnames |
character(len=64), dimension(0:maxmodelsinoption(p_sedresusp) -1) | sedresuspmodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_rivermodel) -1) | rivermodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_diffusesource) -1) | diffusesourcemodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_t2rivermodel) -1) | t2rivermodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_redischarge) -1) | redischargemodelnames |
character(len=64), dimension(0:maxmodelsinoption(p_t1model) -1) | t1modelnames |
character(len=64), dimension(0:maxmodelsinoption(p_snowpackreset) -1) | snowpackresetmodelnames |
Variables for input data | |
HYSS make available variables to hold input data for simulation, both static geographical data and time series data for forcing the model and for evaluation. Variables ending with suffix i are dependent on subbasin. | |
real, dimension(:), allocatable | tempi |
real, dimension(:), allocatable | preci |
real, dimension(:), allocatable | qobsi |
real, dimension(:), allocatable | wobsi |
real, dimension(:), allocatable | xobsi |
real, dimension(:), allocatable | xoregobsi |
real, dimension(:), allocatable | xcgobsi |
integer, dimension(:), allocatable | wobsindex |
integer, dimension(:,:), allocatable | xobsindex |
integer, dimension(:,:), allocatable | xoregindex |
integer, dimension(:,:,:), allocatable | xcgobsindex |
real, dimension(:), allocatable | snowfraci |
real, dimension(:), allocatable | shortwavei |
real, dimension(:), allocatable | windi |
real, dimension(:), allocatable | uwindi |
real, dimension(:), allocatable | vwindi |
real, dimension(:), allocatable | humidi |
real, dimension(:), allocatable | tmini |
real, dimension(:), allocatable | tmaxi |
type(basintype), dimension(:), allocatable | basin |
real, dimension(:), allocatable | upstreamarea |
real, dimension(:), allocatable | landarea |
real, dimension(:), allocatable | tobselevation |
real, dimension(:,:), allocatable | tilefraction |
type(damtype), dimension(:), allocatable | dam |
type(newlaketype), dimension(:), allocatable | slake |
type(lakebasintype), dimension(:), allocatable | lakebasin |
type(newlaketype), dimension(:), allocatable | elake |
type(lakesectiontype), dimension(:,:), allocatable | lakesectiondata |
type(pathtype), dimension(:), allocatable | path |
type(pathtype), dimension(:), allocatable | pathsubid |
type(branchtype), dimension(:), allocatable | branchdata |
type(branchtype), dimension(:), allocatable | branchsubid |
type(glaciertype), dimension(:), allocatable | glacier |
type(aquifertype), dimension(:), allocatable | aquifer |
type(npcloadtype), dimension(:), allocatable | load |
type(depositiontype) | deposition |
type(depositiontype), dimension(:), allocatable | deposition2 |
type(t1loadtype), dimension(:), allocatable | tload |
type(pointsourcedatatype), dimension(:), allocatable | psinfo |
type(pointsourcetype), dimension(:), allocatable | psload |
type(pointsourcedatatype), dimension(:), allocatable | absinfo |
type(pointsourcetype), dimension(:), allocatable | absload |
type(classbasintype), dimension(:,:), allocatable | classbasin |
real, dimension(:,:,:), allocatable | classbasin_wsf |
type(classtype), dimension(:), allocatable | classdata |
type(cropdatatype), dimension(:), allocatable | cropdata |
type(cropirrdatatype), dimension(:), allocatable | cropirrdata |
type(irrigationtype), dimension(:), allocatable | irrigationsystem |
type(watertransfertype), dimension(:), allocatable | watertransfer |
type(wetlandtype), dimension(:,:), allocatable | wetland |
type(floodtype), dimension(:), allocatable | flooding |
type(soilleakagedatatype) | soilleak |
type(riverratingtype), dimension(:), allocatable | rrcdata |
integer, dimension(:), allocatable | petmodel |
integer, dimension(:,:), allocatable | cropindex |
integer, dimension(:), allocatable | damindex |
integer, dimension(:), allocatable | lakeindex |
integer, dimension(:), allocatable | glacierindex |
integer, dimension(:), allocatable | lakebasinindex |
integer, dimension(:), allocatable | floodindex |
integer, dimension(:), allocatable | branchindex |
logical, dimension(:), allocatable | tloadexist |
Variables for configuration of model set-up | |
HYSS make available variables to hold information on the configuration of the model set-up. | |
integer, parameter | i_open = 1 |
integer, parameter | i_forest = 2 |
integer, parameter | i_water = 3 |
real, dimension(:,:), allocatable | soildepth |
real, dimension(:,:), allocatable | soilthick |
type(statedimensiontype) | statesize |
integer | nsub |
integer | numsubstances |
integer | ncrop |
integer | nluse |
integer | nsoil |
integer | nclass |
integer | num_classgroup |
integer | numrotations |
integer | nrechargeclasses |
integer | ndischargeclasses |
integer, dimension(:), allocatable | rechargeclasses |
integer, dimension(:), allocatable | dischargeclasses |
real, dimension(:,:), allocatable | rechargefraction |
real, dimension(:), allocatable | disdivisor |
integer, dimension(:), allocatable | regiondivision |
integer, dimension(nregiondivisions) | nregions |
integer | naquifers |
integer | nglaciers |
integer | nwtransfer |
integer | npsused = 0 |
integer | nabsused = 0 |
integer, parameter | nrivertypes = 2 |
integer, parameter | nlaketypes = 2 |
integer, parameter | olake_model = 1 |
integer, parameter | ilake_model = 2 |
integer, parameter | lriver_model = 11 |
integer, parameter | mriver_model = 12 |
integer, parameter | iwet_model = 13 |
integer, parameter | owet_model = 14 |
integer, parameter | glacier_model = 3 |
integer, parameter | traveltime_model = 5 |
integer, parameter | rzleak_model = 6 |
integer, dimension(:,:), allocatable | classmodel |
integer | slc_olake |
integer | slc_ilake |
integer | slc_lriver |
integer | slc_mriver |
integer | slc_iwet |
integer | slc_owet |
Time variables | |
HYSS make available variables to hold information on time | |
type(timeinformationtype) | current_time |
integer | seconds_per_timestep |
integer | timesteps_per_day |
logical | firstoutstep |
Output variables | |
HYSS make available variables to hold output values and information on output variables. | |
logical | conductload |
integer | max_basinoutvar |
integer | num_basinsource |
integer | max_outvar |
integer | max_xobsoutvar |
type(outvaridtype), dimension(:), allocatable | outvarid |
integer, dimension(:), allocatable | xobsoutvarindex |
integer, dimension(:), allocatable | outvarxobsindex |
integer | noutvar |
integer | noutvarclass |
logical, dimension(:), allocatable | outvarstatus |
real, dimension(:,:), allocatable | outvar |
integer, dimension(:), allocatable | outvarindex |
integer, dimension(:), allocatable | outvarclassindex |
real, dimension(:,:,:), allocatable | outvarclassdata |
real, dimension(:,:,:), allocatable | outvarclassfraction |
type(sourceapptype) | accload |
type(changeoutvartype), dimension(:), allocatable | changecritvar |
integer, dimension(:), allocatable | obsfuncoutvar |
character(len=6), dimension(max_classoutvar), parameter | classloadheadings = ['WetAtm','DryAtm','Fertil','PDecay','RuralA','GrwSIn','IrrSrc','Runoff','RzLay3','RfLay3','RhLay3'] |
character(len=6), dimension(some_basinoutvar+1), parameter | basinloadheadings = ['RuralB','Rgrwmr','Wtrans','Rgrwol','A ','B ','C ','D ','E ','F ','G ','H ','I ','J ','K ','L ','MA ','M ','N ','O ','P ','Q ','R ','S '] |
Model parameter variables | |
HYSS make available variables to hold information on and values for model parameters. | |
integer | max_par |
type(modparidtype), dimension(:), allocatable | modparid |
real, dimension(:), allocatable | genpar |
real, dimension(:,:), allocatable | basinpar |
real, dimension(:,:), allocatable, target | landpar |
real, dimension(:,:), allocatable, target | soilpar |
real, dimension(:,:), allocatable, target | regpar |
real, dimension(:,:), allocatable, target | monthpar |
real, dimension(:,:), allocatable | lakedatapar_ini |
real, dimension(:,:), allocatable | lakedatapar |
integer, dimension(:,:), allocatable | lakedataparindex |
Parameters for updating; code and dimension. | |
Several updating methods exist. These can be used separately or together. | |
integer, parameter | i_quseobs = 1 |
integer, parameter | i_tpcorr = 2 |
integer, parameter | i_wendupd = 3 |
integer, parameter | i_qar = 4 |
integer, parameter | i_war = 5 |
integer, parameter | i_tncorr = 6 |
integer, parameter | i_tnloccorr = 7 |
integer, parameter | i_tploccorr = 8 |
integer, parameter | i_cuseobs = 9 |
integer, parameter | dim_update = 9 |
Variables for updating | |
HYSS make available variables to hold information on updating. Several different updating functions exist. | |
logical, dimension(dim_update) | doupdate |
integer | wobsvarindex |
type(updatetype), dimension(dim_update) | useinupdate |
Declaration of model data types and variables.
This is the interface between the model and the simulation system "HYSS". NOTE: everything is public
The module modvar contains data types, constants, variables, and procedures that are HYSS provide for the model. It also holds procedures for allocating and setting its variables and to locate data in them.
The constants define specific numbers, dimensions of arrays, and codes for accumulation period, model parameter dependence and updating methods.
The variables are for holding input data on model set-up, substance modelled, forcing data of current time step, state variables that are common for hydrological models, variables of (current) time, size of model set-up, settings for the model run (e.g. output, model parameter values, updating information), and variables for temporary state transformation.
subroutine modvar::accumulate_basin_load | ( | integer, intent(in) | isub, |
integer, intent(in) | varindex, | ||
real, dimension(numsubstances), intent(in) | values | ||
) |
Accumulate load of variable given by varindex for accumulation of classloads.
subroutine modvar::accumulate_class_load | ( | integer, intent(in) | isub, |
integer, intent(in) | varindex, | ||
real, dimension(numsubstances,nclass), intent(in) | values | ||
) |
Accumulate load of variable given by varindex for accumulation of classloads.
subroutine modvar::allocate_basinvariables | ( | integer, intent(in) | ns | ) |
Allocate variables for subbasin information.
Consequences Module variables for indata are allocated.
[in] | ns | number of subbasins |
subroutine modvar::allocate_initialize_modeloptions |
Allocate and set model optional structure variable. Use only small letters.
Consequences Module variables for model options are allocated.
subroutine modvar::allocate_modelparameters | ( | integer, intent(in) | ns, |
integer, intent(out) | nregpar | ||
) |
Allocate the model parameter variables.
Consequences Six module variables for model parameters are allocated.
[in] | ns | number of subbasins |
[out] | nregpar | number of regional parameters |
Algorithm
Calculate number of model parameters of each dependence type
Allocate variables for holding model parameter values
Initialize variables to zero
subroutine modvar::allocate_outvar | ( | integer, intent(in) | nout, |
integer, intent(in) | noutclass | ||
) |
Allocate variables for sending output from model to HYSS.
Consequences Module variables outvar, outvarclassdata, outvarclassfraction, accdata (slcclass and basin) may be allocated.
[in] | nout | number of output variables to be calculated |
[in] | noutclass | number of output variables to be calculated for classes |
[in] | noutclass | Maximum number of sources types to basin (3 (ruralB,grw,trans) + max_pstypes) |
subroutine modvar::calculate_class_discharge_divisor |
Initiate variable used for calculation of discharge class.
subroutine modvar::check_connected_subbasins | ( | integer, intent(in) | i2, |
integer, intent(in) | i3, | ||
integer, intent(out) | isource, | ||
integer, intent(out) | ibranch | ||
) |
Get direct connection between two subbasins. 0 for no direct connection.
[in] | i2 | index of subbasin |
[in] | i3 | index of subbasin |
[out] | isource | index of upstream subbasin |
[out] | ibranch | index of branch (1=main,2=branch) |
Set upstream lakebasin flag
subroutine modvar::deallocate_glacier |
Deallocate glacier arrays.
Consequences Module variables glacier is deallocated.
subroutine modvar::deallocate_modvar | ( | integer, intent(in) | n | ) |
Deallocate modvar arrays.
Consequences A lot of memory is freed.
[in] | n | Number of subbasins |
logical function modvar::endofday | ( | integer, intent(in) | ts | ) |
Checks if last time step of the day.
[in] | ts | timestep of day (tsofday) |
subroutine modvar::find_croppart | ( | integer, intent(in) | i, |
integer, intent(in) | j, | ||
integer, intent(in) | kcrop, | ||
integer, intent(out) | row, | ||
real, intent(out) | part | ||
) |
Finds the corresponding row in CropData for the given crop and the fraction of the classarea its occupying.
[in] | i | index of current subbasin |
[in] | j | index of current class |
[in] | kcrop | main (1) or secondary (2) crop |
[out] | row | row in CropData for this crop |
[out] | part | fraction of classarea for this crop |
Algorithm
For main crop: get the row from cropindex, areafraction is 1
For secondary crop: get the row from cropindex and areafraction from classbasin
subroutine modvar::find_lakebasins | ( | integer, intent(in) | isub, |
logical, dimension(nsub), intent(out) | status | ||
) |
Find subbasins with lakebasins beloning to this lake.
[in] | isub | index of subbasin of current lake |
[out] | status | status of lake basins |
Set lakebasin subasins found
subroutine modvar::find_lbtype | ( | integer, intent(in) | isub, |
integer, intent(out) | ldtype | ||
) |
Get lake data type for lakebasin. 0 for no lake/lakebasin.
[in] | isub | index of subbasin |
[out] | ldtype | ldtype according to lakedata |
Set upstream lakebasin flag
subroutine modvar::find_next_pointsource | ( | integer, intent(in) | isb, |
integer, intent(in) | lastps, | ||
integer, intent(in) | nps, | ||
type(pointsourcedatatype), dimension(nps), intent(in) | psdata, | ||
integer, intent(out) | nextps | ||
) |
Find (next) point source (index) for current subbasin.
[in] | isb | Index of subbasin |
[in] | lastps | Index of last point source found |
[in] | nps | Number of point sources |
[in] | psdata | Point source/abstraction data information |
[out] | nextps | Index of next point source |
subroutine modvar::find_next_watertransfer | ( | integer, intent(in) | i, |
integer, intent(in) | lastwt, | ||
integer, intent(out) | wtindex | ||
) |
Find (new) water transfer (index) for current subbasin.
[in] | i | Index of subbasin |
[in] | lastwt | Index of last water transfer found |
[out] | wtindex | Index of next water transfer |
subroutine modvar::get_class_wet_deposition | ( | integer, intent(in) | i, |
integer, intent(in) | ns, | ||
integer, intent(in) | iluse, | ||
integer, intent(in) | veg, | ||
real, dimension(ns), intent(out) | conc | ||
) |
Get class dry deposition of class.
[in] | i | index of current subbasin |
[in] | ns | number of substances, array dimension |
[in] | iluse | index landuse |
[in] | veg | vegetation type: 1=open,2=forest,3=water |
[out] | conc | wet deposition concentration (mg/L for IN) |
integer function modvar::get_current_petmodel | ( | integer, intent(in) | i | ) |
Get the pet model for the current subbasin.
[in] | i | current subbasin |
real function, dimension(nsubst) modvar::get_current_soilleakage_memory | ( | integer, intent(in) | icl, |
integer, intent(in) | isub, | ||
integer, intent(in) | nsubst | ||
) |
Gets current soil leakage concentration.
[in] | icl | current class |
[in] | isub | current subbasin |
[in] | nsubst | number of substances |
Monthly soilleakage concentrations
Or monthly soilleakage load
Or constant soilleakage load or concentration
Or monthly soilleakage load or concentration
integer function modvar::get_deposition_timeindex | ( | integer, intent(in) | isubst, |
integer, intent(in) | idep | ||
) |
Get time index of deposition for class.
integer function modvar::get_deposition_vegindex | ( | integer, intent(in) | isubst, |
integer, intent(in) | idep, | ||
integer, intent(in) | veg, | ||
integer, intent(in) | iluse | ||
) |
Get vegetation index of deposition for class.
integer function modvar::get_pseudo_dayno | ( | integer, intent(in) | dn, |
real, intent(in) | latitude | ||
) |
Calculate pseudo daynumber starting July 1 on southern hemisphere.
[in] | dn | Julian day number (1=1 Jan) |
[in] | latitude | latitude in degrees [-90,90] |
logical function modvar::in_season_end | ( | integer, intent(in) | begjd, |
integer, intent(in) | endjd | ||
) |
Function to check day in given period End is a fixed dayno. It is not assumed to be larger than begin day, but can be. A smaller end than begin assume the period is over new year.
[in] | begjd | julian day number of beginning of season |
[in] | endjd | julian day number of ending of season |
logical function modvar::in_season_period | ( | integer, intent(in) | begjd, |
integer, intent(in) | period | ||
) |
Function to check day in given period End dayno is varying with leapyear. Begin dayno assumed less than 366.
[in] | begjd | julian day number of beginning of season |
[in] | period | length of period in days |
subroutine modvar::initialize_simulation_configuration |
Initialize model simulation configuration variable with default values
subroutine modvar::initiate_cropdata |
Initiate CropData variables to zero.
Consequences Module variable cropdata are set.
subroutine modvar::initiate_xobsinformation | ( | integer, dimension(:,:), intent(inout), allocatable | array, |
integer, intent(in) | n | ||
) |
Initiate information about other observation series than PTQ.
Consequences Module index array (xobsindex) is allocated and initialized. For ASCII files (netcdf
[in,out] | array | Index array |
[in] | n | Number of subbasins/outregions |
logical function modvar::is_upstream_lakebasin | ( | integer, intent(in) | ldtype | ) |
Check for upstream lakebasin.
[in] | ldtype | ldtype according to lakedata |
Set upstream lakebasin flag
logical function modvar::isdischargeclass | ( | integer, intent(in) | j | ) |
Check if class is discharge class.
[in] | j | class index |
logical function modvar::isfirstdischargeclass | ( | integer, intent(in) | j | ) |
Check if class is discharge class, and the one with lowest index.
[in] | j | class index |
subroutine modvar::save_xobsinformation | ( | integer, intent(in) | n, |
integer, dimension(n,2), intent(in) | var2, | ||
integer, intent(in) | ns | ||
) |
Save information about finding other observation series.
Consequences Module index array (xobsindex) is set.
[in] | n | Number of columns in Xobs |
[in] | var2 | Variables and subid for Xobs columns |
[in] | ns | Number of subbasins |
subroutine modvar::set_accload_to_zero |
Set variables for accumulation of loads to zero to (re)start accumulation.
subroutine modvar::set_class_current_soildepth | ( | integer, intent(in) | nlayer, |
integer, intent(in) | slc, | ||
real, dimension(nlayer), intent(in) | depth | ||
) |
Calculate the soil layer depth and thicknesses for a class, based on given soil depths.
Consequences Module variable soildepth and soilthick are allocated and set.
[in] | nlayer | number of soil layers |
[in] | slc | class index |
[in] | depth | soil layer depth (m) |
subroutine modvar::set_class_deposition | ( | integer, intent(in) | i, |
integer, intent(in) | ns, | ||
integer, intent(in) | iluse, | ||
integer, intent(in) | veg, | ||
real, dimension(ns), intent(out) | source | ||
) |
Set class dry deposition of class.
[in] | i | index of current subbasin |
[in] | ns | number of substances, array dimension |
[in] | iluse | index landuse |
[in] | veg | vegetation type: 1=open,2=forest,3=water |
[out] | source | dry deposition (kg/km2/timestep) |
subroutine modvar::set_coded_classes | ( | integer, intent(in) | dim, |
real, dimension(dim), intent(in) | array, | ||
integer, intent(out), optional | ilakearg, | ||
integer, intent(out), optional | olakearg, | ||
integer, intent(out), optional | lriverarg, | ||
integer, intent(out), optional | mriverarg, | ||
integer, intent(out), optional | iwetarg, | ||
integer, intent(out), optional | owetarg | ||
) |
Find special coded classes.
Consequences Module variable slc_ilake, slc_olake, slc_lriver slc_mriver, slc_iwet, and slc_owet are set, as is classmodel.
[in] | dim | nclass |
[in] | array | special class column from GeoClass/ClassData |
[out] | ilakearg | class index for ilake |
[out] | olakearg | class index for olake |
[out] | lriverarg | class index for local river |
[out] | mriverarg | class index for main river |
[out] | iwetarg | class index for iwet |
[out] | owetarg | class index for owet |
Algorithm
Set special model code for all classes
Set coded surface water classes for SourceApp
subroutine modvar::set_cropdataindex | ( | integer, intent(in) | n, |
integer, dimension(n), intent(in) | id, | ||
integer, dimension(n), intent(in) | reg, | ||
integer, dimension(:,:), intent(inout), allocatable | cindex | ||
) |
Set the index variable for CropData.
Consequences Module variable cropindex may be allocated.
[in] | n | number of crops/rows in CropData |
[in] | id | cropid |
[in] | reg | region |
[in,out] | cindex | cropindex |
subroutine modvar::set_recharge_discharge_classes | ( | integer, intent(in) | n, |
real, dimension(n), intent(in) | indata | ||
) |
Calculate and set recharge and discharge classes ClassData.
Consequences Module variable rechargeclasses, nrechargeclasses, dischargeclasses and ndischargeclasses may be allocated and set.
[in] | n | number of classes, nclass |
[in] | indata | data on recharge/discharge |
subroutine modvar::set_soildepth_classdata | ( | integer, intent(in) | nlayer, |
real, dimension(nlayer), intent(in) | depth, | ||
type(classtype) | geoclassdata | ||
) |
Calculate and set the soil layer depth from GeoClass.
Consequences Module variable classdatasoildepth is set.
[in] | nlayer | number of soil layers |
[in] | depth | soil layer depth (m) |
geoclassdata | variable holding class characteristics |
subroutine modvar::set_update_method_names |
Set update method names.
Consequences Module variable useinupdate are set.
subroutine modvar::set_xobsoutvarindex |
Set variable for finding xobs in outvarid and the opposite Consequences Module index arrays are set.
character(len=2) function modvar::substance_name | ( | integer, intent(in) | i | ) |
Allocate and set substance variable
[in] | i | Index of substance |
subroutine modvar::sum_upstream_area | ( | integer, intent(in) | n, |
real, dimension(n), intent(out) | areasum | ||
) |
Subroutine for summation of the area upstream of the outlet of all subbasins of the catchment. Uses modvar variables: basin, branchdata, branchindex and path.
[in] | n | number of subbasins |
[out] | areasum | upstream area (m2) |
type(pointsourcedatatype), dimension(:), allocatable modvar::absinfo |
Information of abstraction as time series.
type(pointsourcetype), dimension(:), allocatable modvar::absload |
Abstraction as time series.
type(sourceapptype) modvar::accload |
Variable for accumulation of load for later source apportionment.
type(aquifertype), dimension(:), allocatable modvar::aquifer |
Aquifer characteristics.
type(basintype), dimension(:), allocatable modvar::basin |
Basin characteristics.
character(len=6), dimension(some_basinoutvar+1), parameter modvar::basinloadheadings = ['RuralB','Rgrwmr','Wtrans','Rgrwol','A ','B ','C ','D ','E ','F ','G ','H ','I ','J ','K ','L ','MA ','M ','N ','O ','P ','Q ','R ','S '] |
heading for load-files
real, dimension(:,:), allocatable modvar::basinpar |
parameter values for each subbasin
type(branchtype), dimension(:), allocatable modvar::branchdata |
Subbasin branch coupling with index.
integer, dimension(:), allocatable modvar::branchindex |
Index find branched subbasins.
type(branchtype), dimension(:), allocatable modvar::branchsubid |
Subbasin branch coupling with subid (read from file)
type(changeoutvartype), dimension(:), allocatable modvar::changecritvar |
variable to tell which variables to use for criteria calculation instead of those given as input
real, parameter modvar::cice = 2.1 |
Heat capacity of ice, kJ/kg/C.
type(classbasintype), dimension(:,:), allocatable modvar::classbasin |
Basic subbasin characteristics that is class dependent.
real, dimension(:,:,:), allocatable modvar::classbasin_wsf |
Windstrahl coefficient for snow distribution for class, subbasin, and wind direction.
type(classtype), dimension(:), allocatable modvar::classdata |
Class characteristics.
character(len=6), dimension(max_classoutvar), parameter modvar::classloadheadings = ['WetAtm','DryAtm','Fertil','PDecay','RuralA','GrwSIn','IrrSrc','Runoff','RzLay3','RfLay3','RhLay3'] |
heading for load-files
integer, dimension(:,:), allocatable modvar::classmodel |
Type of class and substance model for class.
type(stateconfigurationtype) modvar::conduct |
configuration of states for simulation
logical modvar::conductbasinlocsoil |
Flag for using different rural flow to soil (locsoil) for each basin.
logical modvar::conductbasinpetmodel |
Flag for using different petmodel for each basin.
logical modvar::conductdamconstruction |
Status for building or removing dams during simulation period.
logical modvar::conducticecurve |
Status for using river water level ice curves, default is TRUE.
logical modvar::conductload |
flag for calculation of NP etc. load for source apportionment
logical modvar::conductregest |
Flag for activation of regional parameter estimation.
logical modvar::conductwarning |
Status for warning output to hyss.log.
logical modvar::conductwb |
Status if water balance output should be calculated and written.
logical modvar::conductxoms |
Status if XobsXOMN or XobsXOSN-files should be read.
character(len=64), dimension(0:maxmodelsinoption(p_connectivity)-1) modvar::connectivitymodelnames |
Connectivity names.
type(cropdatatype), dimension(:), allocatable modvar::cropdata |
Crop characteristics.
integer, dimension(:,:), allocatable modvar::cropindex |
Index find cropdata for class/region.
type(cropirrdatatype), dimension(:), allocatable modvar::cropirrdata |
Crop characteristics regarding irrigation.
type(timeinformationtype) modvar::current_time |
Current date and other information on current time.
real, parameter modvar::cwater = 4.2 |
Heat capacity of water, kJ/kg/C.
type(damtype), dimension(:), allocatable modvar::dam |
Dam characteristics.
integer, dimension(:), allocatable modvar::damindex |
Index find dam for subbasin.
character(len=64), dimension(0:maxmodelsinoption(p_deepgroundwater)-1) modvar::deepgroundwatermodelnames |
Deepgroundwater names.
real, parameter modvar::def_max = 1.1E38 |
default maximum value for state variables
real, parameter modvar::def_min = -1.1E38 |
default minimum value for state variables
type(depositiontype) modvar::deposition |
Loads of nitrogen from atmospheric deposition.
type(depositiontype), dimension(:), allocatable modvar::deposition2 |
Atmospheric deposition of substances (numsubstances)
real, parameter modvar::dice = 0.917 |
Density of ice, kg/dm3, g/cm3.
character(len=64), dimension(0:maxmodelsinoption(p_diffusesource)-1) modvar::diffusesourcemodelnames |
diffuse source model names
integer, parameter modvar::dim_update = 9 |
Number of updating methods (for array dimension)
integer, dimension(:), allocatable modvar::dischargeclasses |
Class index of discharge classes.
real, dimension(:), allocatable modvar::disdivisor |
Fraction of basin area that is discharge classes.
double precision, parameter modvar::doublezero = 1.D-307 |
Value of zero in double precision.
logical, dimension(dim_update) modvar::doupdate |
status of update functions
type(newlaketype), dimension(:), allocatable modvar::elake |
Lake characteristics, multibasin lakes.
character(len=64), dimension(0:maxmodelsinoption(p_erosion)-1) modvar::erosionmodelnames |
Erosion names.
logical modvar::firstoutstep |
Flag for first timestep with print out.
integer, dimension(:), allocatable modvar::floodindex |
Index find floodplain for subbasin.
type(floodtype), dimension(:), allocatable modvar::flooding |
Flood water bodies characteristics.
character(len=64), dimension(0:maxmodelsinoption(p_floodplain)-1) modvar::floodplainmodelnames |
Floodplain names.
character(len=64), dimension(0:maxmodelsinoption(p_frozensoil)-1) modvar::frozensoilmodelnames |
frozensoil names
real, dimension(:), allocatable modvar::genpar |
parameter values, general for whole model set up
type(glaciertype), dimension(:), allocatable modvar::glacier |
Glacier characteristics.
integer, parameter modvar::glacier_model = 3 |
Class model code for glacier soil model.
integer, dimension(:), allocatable modvar::glacierindex |
Index find glacier for subbasin.
character(len=64), dimension(0:maxmodelsinoption(p_glacierini)-1) modvar::glacierinimodelnames |
Glacierini names.
character(len=64), dimension(0:maxmodelsinoption(p_growthstart)-1) modvar::growthstartmodelnames |
Growthstart names.
real, dimension(:), allocatable modvar::humidi |
Relative humidity [0-1] for current time step.
integer modvar::i_ae |
index of variable, (suspended) algae (nitrogen)
integer modvar::i_asi |
index of variable, (suspended) algae (silica)
integer, parameter modvar::i_basin = 1 |
Type of output variable, represent whole subbasin area.
integer, parameter modvar::i_class = 1 |
Type of output variable, calculated from class values.
integer, parameter modvar::i_cuseobs = 9 |
Code for updating method, subbasin outflow concentration replacement.
integer modvar::i_dsi |
index of variable, dissolved silica
integer, parameter modvar::i_end = 4 |
Type of output variable, value as is the last timestep of the period.
integer, parameter modvar::i_forest = 2 |
Vegetation type code for forested land classes.
integer modvar::i_in |
index of variable, inorganic nitrogen
integer, parameter modvar::i_land = 2 |
Type of output variable, represent land area.
integer, parameter modvar::i_mean = 1 |
Type of output variable, mean over period.
integer, parameter modvar::i_notdef = 0 |
Type of output variable, set once, not class dependent.
integer modvar::i_oc |
index of variable, (dissolved) organic carbon
integer modvar::i_on |
index of variable, organic nitrogen
integer, parameter modvar::i_open = 1 |
Vegetation type code for open land classes.
integer, parameter modvar::i_otherrec = 3 |
Type of output variable, observation variable (other), aka rout.
integer modvar::i_pp |
index of variable, particulate phosphorus
integer, parameter modvar::i_qar = 4 |
Code for updating method, subbasin outflow Q-station AR-updating.
integer, parameter modvar::i_quseobs = 1 |
Code for updating method, subbasin outflow Q-station updating.
integer, parameter modvar::i_recvar = 1 |
Type of output variable, observation variable (all in Xobs at a start)
integer, parameter modvar::i_regrec = 2 |
Type of output variable, observation variable (all in Xoregobs at a start), aka qrin.
integer, parameter modvar::i_scale12 = 4 |
Type of output variable, scaling factor 10^12.
integer, parameter modvar::i_scale3 = 3 |
Type of output variable, scaling factor 10^3.
integer, parameter modvar::i_scale6 = 6 |
Type of output variable, scaling factor 10^6.
integer, parameter modvar::i_scale9 = 5 |
Type of output variable, scaling factor 10^9.
integer modvar::i_sp |
index of variable, soluble (reactive) phosphorus, i.e. phosphate
integer modvar::i_ss |
index of variable, suspended sediments
integer, parameter modvar::i_sum = 0 |
Type of output variable, sum over period.
integer modvar::i_t1 |
index of variable, conservative substance 1
integer modvar::i_t2 |
index of variable, tracer 2, water temperature
integer, parameter modvar::i_tncorr = 6 |
Code for updating method, updating of total nitrogen out of subbasin.
integer, parameter modvar::i_tnloccorr = 7 |
Code for updating method, updating of total nitrogen locally out of subbasin.
integer, parameter modvar::i_tpcorr = 2 |
Code for updating method, updating of total phosphorus out of subbasin.
integer, parameter modvar::i_tploccorr = 8 |
Code for updating method, updating of total phosphorus locally out of subbasin.
integer, parameter modvar::i_war = 5 |
Code for updating method, subbasin outflow Q updating based on AR on w-error.
integer, parameter modvar::i_water = 3 |
Vegetation type code for water classes.
integer, parameter modvar::i_wendupd = 3 |
Code for updating method, updating of outlet lake water stage at end of time step.
integer, parameter modvar::i_wmean = 2 |
Type of output variable, weighted mean over period.
integer, parameter modvar::i_wmean2 = 3 |
Type of output variable, weighted mean over period.
real, parameter modvar::icedensity = 917. |
Density of ice, kg/m3.
integer, parameter modvar::ilake_model = 2 |
Class model code for internal lake, ilake.
character(len=64), dimension(0:maxmodelsinoption(p_infiltration)-1) modvar::infiltrationmodelnames |
Infiltration names.
type(irrigationtype), dimension(:), allocatable modvar::irrigationsystem |
Irrigation characteristics.
logical modvar::irrunlimited |
If true, simulate unlimited irrigation, else withdraw from actual sources.
integer, parameter modvar::iwet_model = 13 |
Class model code for internal wetland, iwet.
real, parameter modvar::kice = 2.2 |
Thermal conductivity of ice, W/m/K (freshwater blackice)
type(lakebasintype), dimension(:), allocatable modvar::lakebasin |
Lakebasin characteristics.
integer, dimension(:), allocatable modvar::lakebasinindex |
Index find lakebasin for subbasin.
real, dimension(:,:), allocatable modvar::lakedatapar |
current parameter values for lakes (from LakeData.txt and par.txt)
real, dimension(:,:), allocatable modvar::lakedatapar_ini |
parameter values from LakeData.txt
integer, dimension(:,:), allocatable modvar::lakedataparindex |
table giving for each subbasin ilake and olake the row where the lake-related parameters are to be found in lakedatapar
integer, dimension(:), allocatable modvar::lakeindex |
Index find lake for subbasin.
character(len=64), dimension(0:maxmodelsinoption(p_lakeriverice)-1) modvar::lakerivericemodelnames |
Lakerivericemodel names.
type(lakesectiontype), dimension(:,:), allocatable modvar::lakesectiondata |
Lake section data (laketype 1)
real, dimension(:), allocatable modvar::landarea |
land area [m2] (including floodplains, excluding wetlands)
real, dimension(:,:), allocatable, target modvar::landpar |
parameter values for each land use
real, parameter modvar::lfreezing = 335. |
Latent heat of freezing, kJ/kg (for ice and snow)
real, parameter modvar::lfreezing2 = 335000. |
Latent heat of freezing, J/kg (for ice and snow)
real, parameter modvar::lfusion = 334000. |
Latent heat of fusion, J/kg (for liqfrac of soil)
type(npcloadtype), dimension(:), allocatable modvar::load |
Loads of nitrogen and phosphorus from point sources and local diffuse load.
integer, parameter modvar::lriver_model = 11 |
Class model code for local stream, lriver.
integer, parameter modvar::m_bpar = 4 |
Code for basin dependent parameter type.
integer, parameter modvar::m_gpar = 1 |
Code for general parameter type.
integer, parameter modvar::m_ldpar = 6 |
Code for lake specific parameter imported from LakeData.txt.
integer, parameter modvar::m_lpar = 3 |
Code for land use dependent parameter type.
integer, parameter modvar::m_mpar = 7 |
Code for monthly dependent parameters.
integer, parameter modvar::m_rpar = 5 |
Code for parameter region dependent parameter type.
integer, parameter modvar::m_spar = 2 |
Code for soil type dependent parameter type.
integer modvar::max_basinoutvar |
Number of basin load output variables, some_basinoutvar + ps + ruralb.
integer, parameter modvar::max_classoutvar = 11 |
Number of class load output variables.
integer, parameter modvar::max_noutvar = 10000 |
Maximum output variables to be calculated.
integer modvar::max_outvar |
number of defined output variables, set in define_output_variables
integer modvar::max_par |
maximum number of defined model parameters
integer, parameter modvar::max_pstype = 8 |
Maximum number of point sources types.
integer, parameter modvar::max_subid = 9999999 |
Maximum value of subid.
integer, parameter modvar::max_substances = 11 |
maximum number of substances that can be simulated
integer modvar::max_xobsoutvar |
number of output variables that is Xobs variables, set in define_output_variables
integer, parameter modvar::maxlakesections = 10 |
Maximum number of lake type 1 sections for connectivity (fill-and-spill) model.
integer, dimension(num_modelprocess) modvar::maxmodelsinoption |
integer, parameter modvar::maxsoillayers = 3 |
Maximum number of soil layers.
real, parameter modvar::missing_value = -9999. |
Value used for missing value.
character(len=24), parameter modvar::model_version_string = '5.29.0' |
String with model version number.
integer, dimension(:), allocatable modvar::modeloption |
character(len=17), dimension(:), allocatable modvar::modeloptionname |
type(modparidtype), dimension(:), allocatable modvar::modparid |
information of model parameters for this model
real, dimension(:,:), allocatable, target modvar::monthpar |
parameter values for each month
integer, parameter modvar::mriver_model = 12 |
Class model code for main river, mriver.
integer modvar::nabsused = 0 |
Number of abstractions with time series.
integer modvar::naquifers |
Number of aquifers.
integer modvar::nclass |
Number of slc-classes GeoClass.
integer modvar::ncrop |
Number of crops (rows) in CropData.txt.
integer modvar::ndischargeclasses |
Number of discharge classes.
integer modvar::nglaciers |
Number of glaciers.
integer, parameter modvar::nlaketypes = 2 |
integer modvar::nluse |
Number of land uses in GeoClass. (max number)
integer modvar::noutvar |
number of used output variables to be set
integer modvar::noutvarclass |
number of used output variables for classes to be set
integer modvar::npsused = 0 |
Number of pointsources with time series.
integer modvar::nrechargeclasses |
Number of recharge classes.
integer, parameter modvar::nregiondivisions = 6 |
integer, dimension(nregiondivisions) modvar::nregions |
Number of parameter regions in parregion.
integer, parameter modvar::nrivertypes = 2 |
integer modvar::nsoil |
Number of soil types in GeoClass. (max number)
integer modvar::nsub |
Number of subbasins in current run.
integer modvar::num_basinsource |
Maximum number of sources types to basin (3 (ruralB,grw,trans) + max_pstypes)
integer modvar::num_classgroup |
Number of class groups in GeoClass.
integer, parameter modvar::num_modelprocess = 29 |
integer modvar::numrotations |
Number of crop rotation class groups.
integer modvar::numsubstances |
Number of substances currently modelled.
integer modvar::nwtransfer |
Number of water transfers (in MgmtData)
integer, dimension(:), allocatable modvar::obsfuncoutvar |
index to find outvar for special variables used for regional obsfunc calculations
integer, parameter modvar::olake_model = 1 |
Class model code for outlet lake, olake.
real, dimension(:,:), allocatable modvar::outvar |
variable to save output for print out in
real, dimension(:,:,:), allocatable modvar::outvarclassdata |
class values for variable to save output for
real, dimension(:,:,:), allocatable modvar::outvarclassfraction |
class weights(area fractions) for variable to save output for
integer, dimension(:), allocatable modvar::outvarclassindex |
index to find outvar for idindex for class output (max_outvar)
type(outvaridtype), dimension(:), allocatable modvar::outvarid |
information of output variables for this model
integer, dimension(:), allocatable modvar::outvarindex |
index to find outvar for idindex for subbasin output (max_outvar)
logical, dimension(:), allocatable modvar::outvarstatus |
status of outvar to calculate for print out (max_outvar)
integer, dimension(:), allocatable modvar::outvarxobsindex |
integer, parameter modvar::owet_model = 14 |
Class model code for outlet wetland, owet.
integer, parameter modvar::p_connectivity = 20 |
integer, parameter modvar::p_deepgroundwater = 5 |
integer, parameter modvar::p_diffusesource = 25 |
integer, parameter modvar::p_erosion = 13 |
integer, parameter modvar::p_floodplain = 9 |
integer, parameter modvar::p_frozensoil = 17 |
integer, parameter modvar::p_glacierini = 11 |
integer, parameter modvar::p_growthstart = 8 |
integer, parameter modvar::p_infiltration = 12 |
integer, parameter modvar::p_lakeriverice = 3 |
integer, parameter modvar::p_petmodel = 4 |
integer, parameter modvar::p_redischarge = 27 |
integer, parameter modvar::p_rivermodel = 24 |
integer, parameter modvar::p_sedresusp = 23 |
integer, parameter modvar::p_siltation = 21 |
integer, parameter modvar::p_siltation2 = 22 |
integer, parameter modvar::p_snowdensity = 10 |
integer, parameter modvar::p_snowevap = 7 |
integer, parameter modvar::p_snowfall = 1 |
integer, parameter modvar::p_snowfalldist = 16 |
integer, parameter modvar::p_snowheat = 18 |
integer, parameter modvar::p_snowmelt = 2 |
integer, parameter modvar::p_snowpackreset = 29 |
integer, parameter modvar::p_soilleakage = 15 |
integer, parameter modvar::p_surfacerunoff = 19 |
integer, parameter modvar::p_swtemperature = 6 |
integer, parameter modvar::p_t1model = 28 |
integer, parameter modvar::p_t2rivermodel = 26 |
integer, parameter modvar::p_wetland = 14 |
type(pathtype), dimension(:), allocatable modvar::path |
Subbasin coupling with index.
type(pathtype), dimension(:), allocatable modvar::pathsubid |
Subbasin coupling with subid (read from file)
integer, dimension(:), allocatable modvar::petmodel |
PET model given for subbasin.
character(len=64), dimension(0:maxmodelsinoption(p_petmodel)-1) modvar::petmodelnames |
PETmodel names.
real, parameter modvar::pi = 3.1415927 |
Mathematical constant pi.
real, dimension(:), allocatable modvar::preci |
Precipitaion data for current time step.
type(pointsourcedatatype), dimension(:), allocatable modvar::psinfo |
Information of point sources as time series.
type(pointsourcetype), dimension(:), allocatable modvar::psload |
Load of point sources as time series.
real, dimension(:), allocatable modvar::qobsi |
Runoff data for current time step.
real, parameter modvar::realzero = 1.E-37 |
Value of zero in real.
integer, dimension(:), allocatable modvar::rechargeclasses |
Class index of recharge classes.
real, dimension(:,:), allocatable modvar::rechargefraction |
Fraction of runoff from subbasin's recharge classes that goes to discharge classes (typically wetlands) of the subbasin (nclass,nsub)
character(len=64), dimension(0:maxmodelsinoption(p_redischarge)-1) modvar::redischargemodelnames |
Recharge/discharge model.
integer, dimension(:), allocatable modvar::regiondivision |
parameter region division for each parameter (nregpar)
real, dimension(:,:), allocatable, target modvar::regpar |
parameter values for each parregion
character(len=64), dimension(0:maxmodelsinoption(p_rivermodel)-1) modvar::rivermodelnames |
river flow model names
type(riverratingtype), dimension(:), allocatable modvar::rrcdata |
integer, parameter modvar::rzleak_model = 6 |
Class model code for root zone leakage soil model.
integer modvar::seconds_per_timestep |
Number of seconds for one time step.
character(len=64), dimension(0:maxmodelsinoption(p_sedresusp)-1) modvar::sedresuspmodelnames |
sedimentation/resuspension names
real, dimension(:), allocatable modvar::shortwavei |
Shortwave (downwards) radiation [MJ/m2/ts] for current time step.
character(len=64), dimension(0:maxmodelsinoption(p_siltation2)-1) modvar::siltation2modelnames |
siltation names
character(len=64), dimension(0:maxmodelsinoption(p_siltation)-1) modvar::siltationmodelnames |
siltation names
integer modvar::simtimestep = 0 |
Simulation timestep.
character(len=4) modvar::simtimeunit = '?' |
Simulation timeunit.
type(simulationconfigurationtype) modvar::simulate |
configuration of simulation
logical modvar::simulatesubstances |
status of substance simulations (numsubstances>0)
type(newlaketype), dimension(:), allocatable modvar::slake |
Lake characteristics, single olakes.
integer modvar::slc_ilake |
Class index for local lake.
integer modvar::slc_iwet |
Class index for iwet, internal wetland.
integer modvar::slc_lriver |
Class index for local river.
integer modvar::slc_mriver |
Class index for main river.
integer modvar::slc_olake |
Class index for outlet lake.
integer modvar::slc_owet |
Class index for owet, outlet wetland.
character(len=64), dimension(0:maxmodelsinoption(p_snowdensity)-1) modvar::snowdensitymodelnames |
Snowdensity names.
character(len=64), dimension(0:maxmodelsinoption(p_snowevap)-1) modvar::snowevapmodelnames |
Snowevap names.
character(len=64), dimension(0:maxmodelsinoption(p_snowfalldist)-1) modvar::snowfalldistmodelnames |
Snowfall distribution model names.
character(len=64), dimension(0:maxmodelsinoption(p_snowfall)-1) modvar::snowfallmodelnames |
Snowfallmodel names.
real, dimension(:), allocatable modvar::snowfraci |
Precipitation snowfall fraction [-] for current time step.
character(len=64), dimension(0:maxmodelsinoption(p_snowheat)-1) modvar::snowheatmodelnames |
snowheat names
character(len=64), dimension(0:maxmodelsinoption(p_snowmelt)-1) modvar::snowmeltmodelnames |
Snowmeltmodel names.
character(len=64), dimension(0:maxmodelsinoption(p_snowpackreset)-1) modvar::snowpackresetmodelnames |
Snow pack reset model options.
real, dimension(:,:), allocatable modvar::soildepth |
Lower border of soil layers (m) (layer,class)
logical modvar::soiliniwet |
If true, initiate soil water to porosity, else filed capacity.
type(soilleakagedatatype) modvar::soilleak |
Soil leakage concentrations.
character(len=64), dimension(0:maxmodelsinoption(p_soilleakage)-1) modvar::soilleakmodelnames |
Soil leakage model names.
real, dimension(:,:), allocatable, target modvar::soilpar |
parameter values for each soil type
real, dimension(:,:), allocatable modvar::soilthick |
Thickness of soil layers (m) (layer,class)
real, parameter modvar::solar = 0.0820 |
Solar constant, MJ/m2/min.
integer, parameter modvar::some_basinoutvar = 23 |
Number of basin load output variables except point sources and ruralB.
type(statedimensiontype) modvar::statesize |
dimensions of states for simulation
character(len=64), dimension(0:maxmodelsinoption(p_surfacerunoff)-1) modvar::surfacerunoffmodelnames |
surfacerunoff names
character(len=64), dimension(0:maxmodelsinoption(p_swtemperature)-1) modvar::swtemperaturemodelnames |
Swtemperature names.
character(len=64), dimension(0:maxmodelsinoption(p_t1model)-1) modvar::t1modelnames |
T1 model.
character(len=64), dimension(0:maxmodelsinoption(p_t2rivermodel)-1) modvar::t2rivermodelnames |
T2 river flow model names.
real, dimension(:), allocatable modvar::tempi |
Temperature data for current time step.
real, dimension(:,:), allocatable modvar::tilefraction |
Tile fraction of area in tile group (nsub,ntilegroups)
integer modvar::timesteps_per_day |
Number of time steps per day.
type(t1loadtype), dimension(:), allocatable modvar::tload |
Load of general substance T1 from point source.
logical, dimension(:), allocatable modvar::tloadexist |
Index find tload for subbasin.
real, dimension(:), allocatable modvar::tmaxi |
Daily maximum air temperature for current time step.
real, dimension(:), allocatable modvar::tmini |
Daily minimum air temperature for current time step.
real, dimension(:), allocatable modvar::tobselevation |
Forcing data informations, elevation of Tobs.
integer, parameter modvar::traveltime_model = 5 |
Class model code for travel time soil model.
real, dimension(:), allocatable modvar::upstreamarea |
area of upstream subbasins
type(updatetype), dimension(dim_update) modvar::useinupdate |
update status for each method
real, dimension(:), allocatable modvar::uwindi |
u-component winds speed [m/s] for current time step (west to east)
real, dimension(:), allocatable modvar::vwindi |
v-component winds speed [m/s] for current time step (south to north)
real, parameter modvar::waterdensity = 1000. |
Density of (unfrozen) water, kg/m3.
type(watertransfertype), dimension(:), allocatable modvar::watertransfer |
Water transfer characteristics.
type(wetlandtype), dimension(:,:), allocatable modvar::wetland |
River wetland characteristics (local and main river)
character(len=64), dimension(0:maxmodelsinoption(p_wetland)-1) modvar::wetlandmodelnames |
Wetland names.
real, dimension(:), allocatable modvar::windi |
Winds speed [m/s] for current time step.
real, dimension(:), allocatable modvar::wobsi |
Lake water level data for current time step.
integer, dimension(:), allocatable modvar::wobsindex |
Index for finding variables in wobsi.
integer modvar::wobsvarindex |
variable (outvarid-index) to be used for updating wend and war
real, dimension(:), allocatable modvar::xcgobsi |
Class observations for current time step.
integer, dimension(:,:,:), allocatable modvar::xcgobsindex |
Index for finding variables in xcgobsi.
real, dimension(:), allocatable modvar::xobsi |
Other observations for current time step.
integer, dimension(:,:), allocatable modvar::xobsindex |
Index for finding variables in xobsi.
integer, dimension(:), allocatable modvar::xobsoutvarindex |
integer, dimension(:,:), allocatable modvar::xoregindex |
Index for finding variables in xoregobsi.
real, dimension(:), allocatable modvar::xoregobsi |
Other outregion observations for current time step.