A GLM simulation is configured via the main “namelist” (nml) text file called glm3.nml. The key elements of this file are depicted as "blocks" in the above image and each block of configuration options & parameters is summarised in detail in the below table. For a summary of the notation and nomenclature refer to the 2019 GMD paper.
The first block IS compulsory, with the following variables that may be set :
| Variable Name | Symbol | Description | Type | Units | Options | Default |
|---|---|---|---|---|---|---|
sim_name |
Title of simulation | [string] | 'lake' | |||
max_layers |
$$N_{MAX}$$ | Maximum number of layers | [integer] | - | 500 | |
min_layer_vol |
$$\Delta V_{min}$$ | Minimum layer volume | [real] | $$m^3$$ | ||
min_layer_thick |
$$\Delta z_{min}$$ | Minimum thickness of a layer (m) | [real] | $$m$$ | ||
max_layer_thick |
$$\Delta z_{max}$$ | Maximum thickness of a layer (m) | [real] | $$m$$ | ||
density_model |
$$\Theta_{\rho}$$ | Switch to set the density equation | [integer] | - | $$\rho[T,S] \longleftarrow \left\{ \begin{array}{ll} \textrm{TEOS-10: }&\Theta_{\rho}=1 \\ \textrm{UNESCO(1981): }&\Theta_{\rho}=2\\ \textrm{custom: }&\Theta_{\rho}=3+ \end{array} \right.$$ | 1 |
non_avg |
$$\Theta_{bc}$$ | Switch to configure flow boundary condition temporal interpolation | [boolean] | - | $$Q_{inf}^{t} = \left\{ \begin{array}{ll} Q_{inf}^{t} & \Theta_{bc}=T \\ (Q_{inf}^{t}+Q_{inf}^{t-1})/2 & \Theta_{bc}=F \end{array} \right.$$ | .true. |
EXAMPLE:
&glm_setup
sim_name = 'Example Simulation #1'
max_layers = 500
min_layer_thick = 0.15
max_layer_thick = 1.50
min_layer_vol = 0.025
density_model = 1
non_avg = .true.
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
surface_mixing |
$$\Theta_{mix}$$ | Switch to select the options of the surface mixing model | [integer] | $$ \left\{ \begin{array}{ll} \textrm{No surface mixing }&\Theta_{mix}=0 \\ \textrm{xxxxx }&\Theta_{mix}=1\\ \textrm{xxxxx }&\Theta_{mix}=2 \end{array} \right.$$ | 1 |
coef_mix_conv |
$$C_{K}$$ | Mixing efficiency - convective overturn | [real] | ||
coef_wind_stir |
$$C_{W}$$ | Mixing efficiency - wind stirring | [real] | ||
coef_mix_shear |
$$C_{S}$$ | Mixing efficiency - shear production | [real] | ||
coef_mix_turb |
$$C_{T}$$ | Mixing efficiency - unsteady turbulence effects | [real] | ||
coef_mix_KH |
$$C_{KH}$$ | Mixing efficiency - Kelvin-Helmholtz billowing | [real] | ||
deep_mixing |
$$\Theta_{deep}$$ | Switch to select the options of the deep (hypolimnetic) mixing model | [integer] | $$ \left\{ \begin{array}{ll} \textrm{No deep mixing: }D_z=0&\Theta_{deep}=0 \\ \textrm{Constant diffusivity: }D_z=C_{HYP}&\Theta_{deep}=1\\ \textrm{Weinstock model: }D_z=f(N^2,C_{HYP},...)&\Theta_{deep}=2 \end{array} \right.$$ | ? |
coef_mix_hyp |
$$C_{HYP}$$ | Mixing efficiency - hypolimnetic turbulence | [real] | ||
diff |
$$D_{\epsilon}$$ | Background (molecular) diffusivity in the hypolimnion | [real] |
EXAMPLE:
&mixing
surface_mixing = 1
coef_mix_conv = 0.125
coef_wind_stir = 0.23
coef_mix_shear = 0.2
coef_mix_turb = 0.51
coef_mix_KH = 0.3
deep_mixing = 2
coef_mix_hyp = 0.5
diff = 0.
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
wq_lib |
$$\Theta_{wq}$$ | Water quality model selection | [string] | $$ \left\{ \begin{array}{ll} \textrm{FABM} & \Theta_{wq}=\textrm{'FABM'} \\ \textrm{AED2} & \Theta_{wq}=\textrm{'AED2'} \\ \end{array} \right.$$ | AED2 |
wq_nml_file |
Filename of WQ configuration file | [string] | add filename in quotes, can include directorys | './aed2.nml' | |
bioshade_feedback |
$$\Theta_{kw}$$ | Switch to enable \(K_{w}\) to be updated by the WQ model | [boolean] | $$K_{w}[t,z] = \left\{ \begin{array}{ll} K_{w} & \Theta_{kw}=F \\ K_{w}+K_{ss}+K_{dom}+K_{pom}+K_{phy} & \Theta_{kw}=T \\ \end{array} \right.$$ | ? |
mobility_off |
Switch to enable settling within the WQ model | [boolean] | .true. & .false. | .false. | |
ode_method |
$$\Theta_{ode}$$ | Method to use for ODE solution of water quality module | [integer] | tbc | 1 |
split_factor |
Factor weighting implicit vs explicit numerical solution of the WQ model | [real] | 0-1 | 1 | |
repair_state |
$$\Theta_{repair}$$ | Switch to correct negative or out of range WQ variables | [boolean] | .true. or .false. | .true. |
EXAMPLE:
&wq_setup
wq_lib = 'aed2'
wq_nml_file = 'aed2/aed2.nml'
ode_method = 1
split_factor = 1
bioshade_feedback = .true.
repair_state = .true.
mobility_off = .false.
/
This configuration block IS compulsory
| Variable Name | Symbol | Description | Type | Units | Options/Comment | Default |
|---|---|---|---|---|---|---|
lake_name |
Site name | [string] | - | - | - | |
latitude |
$$Lat$$ | Latitude, positive North | [real] | $$^{\circ} N$$ | 0 | |
longitude |
$$Long$$ | Longitude, positive East | [real] | $$^{\circ} E$$ | 0 | |
base_elev |
$$H_{0}$$ | Elevation of the bottom-most point of the lake | [real] | \(m\) above datum | ||
crest_elev |
$$H_{crest}$$ | Elevation of a weir crest, where overflow begins | [real] | \(m\) above datum | ||
bsn_len |
$$L_{crest}$$ | Length of the lake basin, at crest height | [real] | $$m$$ | ||
bsn_wid |
$$W_{crest}$$ | Width of the lake basin, at crest height | [real] | $$m$$ | ||
bsn_vals |
$$N_{BSN}$$ | Number of points being provided to described the hyposgraphic details | [real] | - | ||
H |
$$H[b]$$ | Comma-separated list of lake elevations | [array] | \(m\) above datum | ||
A |
$$A[b]$$ | Comma-separated list of lake areas | [array] | $$m^2$$ |
EXAMPLE:
&morphometry
lake_name = 'Example Lake'
latitude = 32
longitude = 35
base_elev = -252.9
crest_elev = -203.9
bsn_len = 21000
bsn_wid = 13000
bsn_vals = 45
! H(m) & A(m2), both have length bsn_vals
H = -252.9, -251.9, -250.9, -249.9, -248.9, -247.9, -246.9, -245.9,
-244.9, -243.9, -242.9, -241.9, -240.9, -239.9, -238.9,
-237.9, -236.9, -235.9, -234.9, -233.9, -232.9, -231.9,
-230.9, -229.9, -228.9, -227.9, -226.9, -225.9, -224.9,
-223.9, -222.9, -221.9, -220.9, -219.9, -218.9, -217.9,
-216.9, -215.9, -214.9, -213.9, -212.9, -211.9, -208.9,
-207.9, -203.9
A = 0, 9250000, 15200000, 17875000, 21975000, 26625000, 31700000, 33950000,
38250000, 41100000, 46800000, 51675000, 55725000, 60200000, 64675000,
69600000, 74475000, 79850000, 85400000, 90975000, 96400000, 102000000,
107000000, 113000000, 118000000, 123000000, 128000000, 132000000, 136000000,
139000000, 143000000, 146000000, 148000000, 150000000, 151000000, 153000000,
155000000, 157000000, 158000000, 160000000, 161000000, 162000000, 167000000,
170000000, 173000000
/
This configuration block IS compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
timefmt |
$$\Theta_{time}$$ | Time configuration switch | [Integer] | $$ \left\{ \begin{array}{ll} t = t_{0} ... t_{N_{\Delta t}};\ N_d = t_{N_{\Delta t}} - t_{0} & \Theta_{time}=2 \\ t = t_{0} ... (t_{0}+N_d);\ t_{N_{\Delta t}} = t_{0}+N_d & \Theta_{time}=3 \\ \end{array} \right.$$ | ? |
start |
$$t_{0}$$ | Start time/date of simulation | [string, format = "yyyy-mm-dd hh:mm:ss"] | Required | - |
stop |
$$t_{N_{\Delta t}}$$ | End time/date of simulation | [string, format = "yyyy-mm-dd hh:mm:ss"] | Used when (\(\Theta_{time}=2\)) | - |
dt |
$$\Delta t$$ | Time step (\(sec\)) | [real] | Required | 3600 |
num_days |
$$N_d$$ | Number of days to simulate | [integer] | Used when (\(\Theta_{time}=3\)) | - |
timezone |
$$TZ$$ | UTC time zone | [real] | +0 |
EXAMPLE:
&time
timefmt = 3 ! Choose 2 (start/stop) or 3 (num_days)
start = '1997-01-01 00:00:00'
stop = '1999-01-01 00:00:00'
dt = 3600.0
num_days = 730
!timezone = 7.0
/
This configuration block is NOT compulsory
| Variable Name | Description | Type | Options | Default |
|---|---|---|---|---|
out_dir |
Directory to write the output files | [string] | ./ | |
out_fn |
Filename of the main NetCDF output file | [string] | output | |
nsave |
Frequency to write to the NetCDF and CSV point files | [integer] | 1 | |
csv_lake_fname |
Filename for the daily summary file | [string] | lake | |
csv_point_nlevs |
Number of specific level/depth csv files to be created | [real] | 0 | |
csv_point_fname |
Name to be appended to specified depth CSV files | [string] | 'WQ_' | |
csv_point_frombot |
Comma separated list identify whether each output point listed in csv_point_at is relative to the bottom (ie heights) or the surface (ie depths) | [real] | .true. | |
csv_point_at |
Height or Depth of points to output at (comma separated list) | [real] | 0 | |
csv_point_nvars |
Number of variables to output into the csv files | [integer] | ||
csv_point_vars |
Comma separated list of variable names | [string] | temp; salt; ... | |
csv_outlet_allinone |
Switch to create an optional outlet file combining all outlets | [boolean] | .true. & .false. | .false. |
csv_outlet_fname |
Name to be appended to each of the outlet CSV files | [string] | ||
csv_outlet_nvars |
Number of variables to be written into the outlet file(s) | [integer] | 0 | |
csv_outlet_vars |
Comma separated list of variable names to be included in the output file(s) | [string] | ||
csv_ovrflw_fname |
Filename to be used for recording the overflow details | [string] |
EXAMPLE:
&output
out_dir = 'output'
out_fn = 'output'
nsave = 6
!-- General summary file
csv_lake_fname = 'lake'
!-- Depth specific outputs
csv_point_nlevs = 2
csv_point_fname = 'WQ_'
csv_point_at = 5,30 ! a file will be produced for 5m and 30m heights from bottom
csv_point_nvars = 7
csv_point_vars = 'temp',
'salt',
'OXY_oxy',
'SIL_rsi',
'NIT_amm',
'NIT_nit',
'PHS_frp'
!-- Combined outlet file & overflow
csv_outlet_allinone = .false.
csv_outlet_fname = 'outlet_'
csv_outlet_nvars = 4
csv_outlet_vars = 'flow',
'temp',
'salt',
'OXY_oxy',
csv_ovrflw_fname = "overflow"
/
This configuration block IS compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
lake_depth |
$$h_S[t=0]$$ | Initial lake height/depth (m) | [real] | ||
num_depths |
Number of depths provided for initial profiles | [integer] | |||
the_depths |
The depths of the initial profile points (m) as a comma-separated list | [real] | |||
the_temps |
$$T[t=0,z]$$ | The temperature (C) at each of the initial profile points (comma-separated list) | [real] | ||
the_sals |
$$S[t=0,z]$$ | The salinity (ppt) at each of the initial profile points (comma-separated list) | [real] | ||
num_wq_vars |
Number of non GLM (ie FABM or AED2) variables to be initialised | [integer] | Note these values override initialisations done by FABM or AED2 | 0 | |
wq_names |
Names of non GLM (ie FABM or AED2) variables to be initialised (comma-separated list) | [string] | - | ||
wq_init_vals |
$$C[t=0,z,\mathbb{C}]$$ | Array of WQ variable initial data (rows = vars; cols = depths) | [real] | 0 |
EXAMPLE:
&init_profiles
lake_depth = 43
num_depths = 3
the_depths = 1, 20, 40
!-- GLM
the_temps = 18.0, 18.0, 18.0
the_sals = 0.5, 0.5, 0.5
!-- WQ
num_wq_vars = 6
wq_names = 'OGM_don',
'OGM_pon',
'OGM_dop',
'OGM_pop',
'OGM_doc',
'OGM_poc'
wq_init_vals = 1.1, 1.2, 1.3, 1.2, 1.3,
2.1, 2.2, 2.3, 1.2, 1.3,
3.1, 3.2, 3.3, 1.2, 1.3,
4.1, 4.2, 4.3, 1.2, 1.3,
5.1, 5.2, 5.3, 1.2, 1.3,
6.1, 6.2, 6.3, 1.2, 1.3
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
light_mode |
$$\Theta_{light}$$ | Switch to configure the approach to light penetration | [integer] | 1 | |
Kw |
$$K_w$$ | Light extinction coefficient (\(m^{-1}\)) | [real] | Used when \(\Theta_{light}=0\) | |
Kw_file |
- | Name of file with Kw time-series included | [string] | - | |
n_bands |
$$N_{SW}$$ | Number of light bandwidths to simulate | [integer] | Used when \(\Theta_{light}=1\) | 4 |
light_extc |
$$K_w_l$$ | Comma-separated list of light extinction coefficients for each waveband | [real] | ||
energy_frac |
$$f_l$$ | Comma-separated list of energy fraction captured by each waveband | [real] | ||
Benthic_Imin |
$$f_{BEN}_{crit}$$ | Critical fraction of incident light reaching the benthos | [real] |
EXAMPLE:
&light
light_mode = 0
Kw = 0.57
n_bands = 4
light_extc = 1.0, 0.5, 2.0, 4.0
energy_frac = 0.51, 0.45, 0.035, 0.005
Benthic_Imin = 10
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
AP |
$$p$$ | Atmospheric pressure (hPa) | [real] | ||
Oz |
$$Oz$$ | Ozone concentration (atm-cm) | [real] | ||
WatVap |
$$W$$ | Total Precipitable water vapor (atm-cm) | [real] | ||
AOD500 |
$$AOD_{500}$$ | Dimensionless Aerosol Optical Depth at wavelength 500 nm | [real] | ||
AOD380 |
$$AOD_{380}$$ | Dimensionless Aerosol Optical Depth at wavelength 380 nm | [real] | ||
Albedo |
$$\alpha_{SW}$$ | Albedo of the surface used for Bird Model insolation calculation | [real] | 0.2 |
EXAMPLE:
&bird_model
AP = 973
Oz = 0.279
WatVap = 1.1
AOD500 = 0.033
AOD380 = 0.038
Albedo = 0.2
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
sed_heat_Ksoil |
$$K_{soil}$$ | heat conductivity of soil/sediment | [real] | - | |
sed_temp_depth |
$$\delta z_{soil}$$ | Depth of soil/sediment layer below the lake bottom, used for heat flux calculation | [real] | ||
sed_temp_mean |
$$T_{z_{mean}}$$ | Annual mean sediment temperature | [real] | comma-separated list if \(N_{SZ}>1\) | |
sed_temp_amplitude |
$$\delta T_z$$ | Amplitude of temperature variation experienced in the sediment over one year | [real] | comma-separated list if \(N_{SZ}>1\) | |
sed_temp_peak_doy |
$$d_{T_{z}}$$ | Day of the year where the sediment temperature peaks | [integer] | comma-separated list if \(N_{SZ}>1\) | |
benthic_mode |
$$\Theta_{benthic}$$ | Switch to configure which mode of benthic interaction to apply | [integer] | $$ \left\{ \begin{array}{ll} \textrm{Bottom layer only } & \Theta_{benthic}=0 \\ \textrm{Bottom layer & layer flanks } & \Theta_{benthic}=1 \\ \textrm{Sediment zones } & \Theta_{benthic}=2 \\ \textrm{tbc} & \Theta_{benthic}=3 \end{array} \right.$$ | |
n_zones |
$$N_{SZ}$$ | Number of sediment zones to simulate | [integer] | Required for benthic_mode (\(\Theta_{benthic}\)) \(= 2\) or \(3\) | 0 |
zone_heights |
$$h_z[1 ... N_{SZ}]$$ | Upper height of zone boundary | [real] | Required for benthic_mode (\(\Theta_{benthic}\)) \(= 2\) or \(3\) | |
sed_reflectivity |
$$\alpha_{sed}$$ | Sediment reflectivity | [real] | 0 | |
sed_roughness |
$$d_{SS_{z}}$$ | TBC | [real] |
EXAMPLE:
&sediment
sed_heat_Ksoil = 0.0
sed_temp_depth = 0.2
sed_temp_mean = 5,10,20
sed_temp_amplitude = 6,8,10
sed_temp_peak_doy = 80, 70, 60
benthic_mode = 1
n_zones = 3
zone_heights = 10., 20., 50.
sed_reflectivity = 0.1, 0.01, 0.01
sed_roughness = 0.1, 0.01, 0.01
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
snow_albedo_factor |
$$f_{\alpha}$$ | Scaling factor used to as a multiplier to scale the snow/ice albedo estimate | [real] | 1 | |
snow_rho_min |
$$\rho_{s,min}$$ | Minimum snow density allowable (\(kg\ m^{-3}\)) | [real] | 50 | |
snow_rho_max |
$$\rho_{s,max}$$ | Maximum snow density allowable (\(kg\ m^{-3}\)) | [real] | 300 |
EXAMPLE:
&snowice
snow_albedo_factor = 1.0
snow_rho_min = 50
snow_rho_max = 300
/
This configuration block is NOT compulsory
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
met_sw |
$$\Theta_{met}$$ | Switch to enable the surface heating module | [boolean] | .true. OR .false. | .true. |
| Input meterological data | |||||
meteo_fl |
- | Filename of the meterological file | [string] | Include path and filename | - |
subdaily |
$$\Theta_{subdaily}$$ | Switch to indicate the meteorological data is provided with sub-daily resolution, at an interval equivalent to \(\Delta t\) | [boolean] | .true. OR .false. | |
time_fmt |
- | Time format of the 1st column in the inflow_fl | [string] | 'YYYY-MM-DD hh:mm:ss' | |
| SW & LW radiation | |||||
rad_mode |
$$\Theta_{rad}$$ | Switch to configure which incoming radiation option to use | [integer] | $$ \left\{ \begin{array}{ll} \textrm{1 } & \Theta_{rad}=1 \\ \textrm{1 } & \Theta_{rad}=2 \\ \textrm{1 } & \Theta_{rad}=3 \\ \textrm{1 } & \Theta_{rad}=4 \\ \textrm{1 } & \Theta_{rad}=5 \end{array} \right.$$ | |
albedo_mode |
$$\Theta_{\alpha}$$ | Switch to configure which albedo calculation option is used | [integer] | $$ \left\{ \begin{array}{ll} \textrm{Hamilton & Schladow } & \Theta_{\alpha}=1 \\ \textrm{Briegleb et al } & \Theta_{\alpha}=2 \\ \textrm{Yajima & Yamamoto } & \Theta_{\alpha}=3 \end{array} \right.$$ | |
sw_factor |
$$f_{SW}$$ | Scaling factor to adjust the shortwave radiation data provided in the meteo_fl (\(\phi_{SW_x}\)) | [real] | 1 | |
lw_type |
$$\Theta_{lw}$$ | Switch to configure which input approach is being used for longwave/cloud data in the meteo_fl | [string] | $$ \left\{ \begin{array}{ll} \textrm{Incident longwave } & \Theta_{lw}=\textrm{'LW_IN'} \\ \textrm{Net longwave } & \Theta_{lw}=\textrm{'LW_NET'} \\ \textrm{Cloud cover} & \Theta_{lw}=\textrm{'LW_CC'} \end{array} \right.$$ | |
cloud_mode |
$$\Theta_{cloud}$$ | Switch to configure which atmospheric emmissivity calculation option is used | [integer] | $$ \left\{ \begin{array}{ll} \textrm{Idso and Jackson } & \Theta_{cloud}=1 \\ \textrm{Swinbank } & \Theta_{cloud}=2 \\ \textrm{Brutsaert } & \Theta_{cloud}=3 \\ \textrm{Yajima & Yamamoto} & \Theta_{cloud}=4 \end{array} \right.$$ | |
lw_factor |
$$f_{LW}$$ | Scaling factor to adjust the longwave (or cloud) data provided in the meteo_fl (\(C_x\)) | [real] | 1 | |
| Sensible & latent heat | |||||
atm_stab |
$$\Theta_{atmstab}$$ | Switch to configure which approach to atmospheric stability is used | [integer] | $$ \left\{ \begin{array}{ll} \textrm{Neutral conditions } & \Theta_{atmstab}=0 \\ \textrm{1 } & \Theta_{atmstab}=1 \\ \textrm{1 } & \Theta_{atmstab}=2 \end{array} \right.$$ | |
rh_factor |
$$f_{RH}$$ | Scaling factor to adjust the relative humidity data provided in the meteo_fl (\(RH_x\)) | [real] | 1 | |
at_factor |
$$f_{AT}$$ | Scaling factor to adjust the air temperature data provided in the meteo_fl (\(AT_x\)) | [real] | 1 | |
ce |
$$C_E$$ | Bulk aerodynamic transfer coefficient for latent heat flux | [real] | 0.0013 | |
ch |
$$C_H$$ | Bulk aerodynamic transfer coefficient for sensible heat flux | [real] | 0.0013 | |
| Rainfall & local runoff ("run-in") | |||||
rain_sw |
$$\Theta_{rain}$$ | Switch to configure rainfall input concentrations | [boolean] | .true. OR .false. | |
rain_factor |
$$f_R$$ | Scaling factor to adjust the rainfall data provided in the meteo_fl (\(R_x\)) | [real] | 1 | |
catchrain |
$$\Theta_{runin}$$ | Switch that configures runoff from exposed banks of lake area | [boolean] | .true. OR .false. | .false. |
rain_threshold |
$$R_L$$ | Daily rainfall amount (m) required before runoff from exposed banks occurs | [real] | ||
runoff_coef |
$$f_{ro}$$ | Conversion fraction of infiltration excess rainfall to runoff in exposed lake banks | [real] | ||
| Wind & wind-sheltering | |||||
cd |
$$C_D$$ | Bulk aerodynamic transfer coefficient for momentum | [real] | 0.0013 | |
wind_factor |
$$f_U$$ | Scaling factor to adjust the windspeed data provided in the meteo_fl (\(U_x\)) | [real] | 1 | |
fetch_mode |
$$\Theta_{fetch}$$ | Switch to configure which wind-sheltering/fetch option to use | [integer] | $$ \left\{ \begin{array}{ll} \textrm{No sheltering } & \Theta_{fetch}=0 \\ \textrm{Area-based scaling } & \Theta_{fetch}=1 \\ \textrm{Markfort length-scale } & \Theta_{fetch}=2 \\ \textrm{User input scaling table } & \Theta_{fetch}=3 \end{array} \right.$$ | 0 | Aws |
$$A_{WS}$$ | ... | [real] | Required for fetch_mode (\(\Theta_{fetch}\)) \(= 1\) | ? |
Xws |
$$x_{WS}$$ | ... | [real] | Required for fetch_mode (\(\Theta_{fetch}\)) \(= 2\) | ? |
num_dir |
- | Number of wind direction reference points being read in | [integer] | Required for fetch_mode (\(\Theta_{fetch}\)) \(= 2\) or \(3\) | - |
wind_dir |
$$\Phi_{wind}[1...]$$ | Wind directions used for wind-sheltering effects | [real] | Required for fetch_mode (\(\Theta_{fetch}\)) \(= 2\) or \(3\) | - |
fetch_scale |
$$f_{WS}[\Phi_{wind}]$$ | Direction specific wind-sheltering scaling factors | [real] | Required for fetch_mode (\(\Theta_{fetch}\)) \(= 2\) or \(3\) | 1 |
EXAMPLE:
&meteorology
!-- Met forcing options
met_sw = .true.
lw_type = 'LW_IN'
rain_sw = .false.
atm_stab = 0
fetch_mode = 0
!rad_mode = 1
albedo_mode = 1
cloud_mode = 4
!-- BC file details
subdaily = .true.
meteo_fl = 'bcs/met_hourly.csv'
wind_factor = 0.9
!-- Parameters
ce = 0.0013
ch = 0.0013
cd = 0.0013
!catchrain = .true.
!rain_threshold = 0.001
!runoff_coef = 0.0
/
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
num_inflows |
$$N_{INF}$$ | Number of inflows to be simulated in this simulation | [integer] | 0 | |
names_of_strms |
- | Names of each inflow | [string] | comma-separated list if \(N_{INF}>1\) | - |
subm_flag |
$$\Theta_{subm_I}$$ | Switch indicating if the inflow I is entering as a submerged input | [boolean] | .true. OR .false. comma-separated list if \(N_{INTF}>1\) |
.false. |
strm_hf_angle |
$$\alpha{inf}$$ | Angle describing the width of an inflow river channel ("half angle") | [real] | comma-separated list if \(N_{INF}>1\) | |
strmbd_slope |
$$\Phi_{inf}$$ | Slope of the streambed / river thalweg for each river (degrees) | [real] | comma-separated list if \(N_{INF}>1\) | |
strmbd_drag |
$$C_{D_{inf}}$$ | Drag coefficient of the river inflow thalweg, to calculate entrainment during insertion | [real] | comma-separated list if \(N_{INF}>1\) | |
coef_inf_entrain |
$$C_{entrain}$$ | - | [real] | comma-separated list if \(N_{INF}>1\) | |
inflow_factor |
$$f_{inf_{I}}$$ | Scaling factor that can be applied to adjust the provided input data | [real] | comma-separated list if \(N_{INF}>1\) | 1 |
inflow_fl |
- | Filename(s) of the inflow CSV boundary condition files | [string] | comma-separated list if \(N_{INF}>1\) | - |
inflow_varnum |
- | Number of variables being listed in the columns of inflow_fl (comma-separated list) | [integer] | Can include GLM variables including flow, temp and salt, plus WQ variables. | 0 |
inflow_vars |
- | Names of the variables in the inflow_fl | [string] | Provide variables in the order as they are in the file. | |
time_fmt |
- | Time format of the 1st column in the inflow_fl | [string] | 'YYYY-MM-DD hh:mm:ss' |
EXAMPLE:
&inflow
num_inflows = 6
names_of_strms = 'Inflow1','Inflow2','Inflow3','Inflow4','Inflow5','Inflow6'
subm_flag = .false.,.false.,.false.,.true.,.false.,.false.
strm_hf_angle = 85.0, 85.0, 85.0, 85.0, 85.0, 85.0
strmbd_slope = 4., 4., 4., 4., 4., 4.
strmbd_drag = 0.0160, 0.0160, 0.0160, 0.0160, 0.0160, 0.0160,
inflow_factor = 1.0,1.0,1.0,1.0,1.0,1.0
inflow_fl = 'bcs/inflow_1.csv',
'bcs/inflow_2.csv',
'bcs/inflow_3.csv',
'bcs/inflow_4.csv',
'bcs/inflow_5.csv',
'bcs/inflow_6.csv'
inflow_varnum = 3
inflow_vars = 'FLOW','TEMP','SALT'
coef_inf_entrain = 0.
!time_fmt = 'YYYY-MM-DD hh:mm:ss'
/
| Variable Name | Symbol | Description | Type | Options | Default |
|---|---|---|---|---|---|
num_outlet |
$$N_{OUTF}$$ | Number of outflows (including withdrawals, outlets or offtakes) to be included in this simulation | [integer] | - | 0 |
outflow_fl |
- | Filename of the file containing the outflow time-series, \(Q_{outf_x}\) | [string] | - | - |
time_fmt |
- | Time format of the 1st column in the outflow_fl | [string] | 'YYYY-MM-DD hh:mm:ss' | |
outflow_factor |
$$f_{outf}$$ | Scaling factor used as a multiplier for outflows, such that: \(Q_{outf}=f_{outf}Q_{outf_x}\) | [real] | comma-separated list if \(N_{OUTF}>1\) | 1 |
outflow_thick_limit |
$$\delta_{outf_{max}}$$ | Maximum vertical limit of withdrawal entrainment | [real] | comma-separated list if \(N_{OUTF}>1\) | - |
single_layer_draw |
$$\Theta_{outf_{single}}$$ | Switch to only limit withdrawal entrainment and force outflows from layer at the outlet elevation height | [boolean] | .true. OR .false. comma-separated list if \(N_{OUTF}>1\) |
.false. |
flt_off_sw |
$$\Theta_{flt_O}$$ | Switch to indicate if the outflows are floating offtakes (taking water from near the surface) | [boolean] | .true. OR .false. comma-separated list if \(N_{OUTF}>1\) |
- |
outlet_type |
$$\Theta_{outf}$$ | Switch to configure approach of each withdrawal (comma-separated list if \(N_{OUTF}>1\)) | [integer] | $$ \left\{ \begin{array}{ll} \textrm{Fixed outlet height } & \Theta_{outf}=1 \\ \textrm{Floating offtake} & \Theta_{outf}=2 \\ \textrm{Adaptive offtake, low oxy avoidance } & \Theta_{outf}=3 \\ \textrm{Adaptive offtake, isotherm following } & \Theta_{outf}=4 \\ \textrm{Adaptive offtake, temp time-series } & \Theta_{outf}=5 \\ \end{array} \right.$$ | 1 |
| Normal Withdrawals | |||||
outl_elvs |
$$h_{outf_O}$$ | Outlet elevations (\(m\)) | [real] | comma-separated list if \(N_{OUTF}>1\) | 0 |
bsn_len_outl |
$$L_{outf_O}$$ | Basin length at the outlet height(s) (\(m\)) | [real] | comma-separated list if \(N_{OUTF}>1\) | |
bsn_wid_outl |
$$W_{outf_O}$$ | Basin width at the outlet heights (\(m\)) | [real] | comma-separated list if \(N_{OUTF}>1\) | |
| Adaptive withdrawals | |||||
crit_O2 |
- | TBC | [integer] | - | - |
crit_O2_dep |
- | [integer] | - | - | |
crit_O2_days |
- | [integer] | - | - | |
outlet_crit |
- | [integer] | - | - | |
O2name |
- | [string] | - | - | |
O2idx |
- | [string] | - | - | target_temp |
- | [real] | - | - | min_lake_temp |
- | [real] | - | - | fac_range_upper |
- | [real] | - | - | fac_range_lower |
- | [real] | - | - | mix_withdraw |
- | [boolean] | - | - | coupl_oxy_sw |
- | [boolean] | - | - |
withdrTemp_fl |
- | Filename of the file containing the temperature time-series the adaptive withdrawal is targeting | [string] | Required if outlet_type (\(\Theta_{outf}\)) \(=5\) | - |
| Seepage | |||||
seepage |
$$\Theta_{seep}$$ | Switch to enable the seepage of water from the lake bottom | [boolean] | .true. OR .false. | .false. |
seepage_rate |
\(G\) or \(K_{seep}\) | Seepage rate of water, or, soil hydraulic conductivity (\(m\ day^{-1}\)) | [real] | -ve seepage_rate is taken as \(G\); +ve seepage_rate is taken as \(K_{seep}\) |
0 |
| Weir overflow | |||||
crest_width |
$$W_{weir}$$ | Width of weir (at crest height) where lake overflows (\(m\)) | [real] | - | 0 |
crest_factor |
$$C_{D_{weir}}$$ | Drag coefficient associated with the weir crest, used to compute the overflow discharge rate, \(Q_{weir}\) | [real] | Applies only when the crest elevation is configured to be less than the maximum elevation of the domain (\(H_{crest} < H_{max}\)) |
0 |
EXAMPLE:
&outflow
num_outlet = 1
!flt_off_sw = .false.
outlet_type = 1
outl_elvs = -215.5
bsn_len_outl = 18000
bsn_wid_outl = 11000
outflow_fl = 'bcs/outflow.csv'
outflow_factor = 1.0
!seepage = .true.
!seepage_rate = 0.01
/
GLM control file -> (English version, please rename to glm.nml for use).
GLM control file -> (Español version, please rename to glm.nml for use).