MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
Data Types | |
type | laktabtype |
type | laktype |
Functions/Subroutines | |
subroutine, public | lak_create (packobj, id, ibcnum, inunit, iout, namemodel, pakname) |
Create a new LAK Package and point bndobj to the new package. More... | |
subroutine | lak_allocate_scalars (this) |
Allocate scalar members. More... | |
subroutine | lak_allocate_arrays (this) |
Allocate scalar members. More... | |
subroutine | lak_read_lakes (this) |
Read the dimensions for this package. More... | |
subroutine | lak_read_lake_connections (this) |
Read the lake connections for this package. More... | |
subroutine | lak_read_tables (this) |
Read the lake tables for this package. More... | |
subroutine | laktables_to_vectors (this, laketables) |
Copy the laketables structure data into flattened vectors that are stored in the memory manager. More... | |
subroutine | lak_read_table (this, ilak, filename, laketable) |
Read the lake table for this package. More... | |
subroutine | lak_read_outlets (this) |
Read the lake outlets for this package. More... | |
subroutine | lak_read_dimensions (this) |
Read the dimensions for this package. More... | |
subroutine | lak_read_initial_attr (this) |
Read the initial parameters for this package. More... | |
subroutine | lak_linear_interpolation (this, n, x, y, z, v) |
Perform linear interpolation of two vectors. More... | |
subroutine | lak_calculate_sarea (this, ilak, stage, sarea) |
Calculate the surface area of a lake at a given stage. More... | |
subroutine | lak_calculate_warea (this, ilak, stage, warea, hin) |
Calculate the wetted area of a lake at a given stage. More... | |
subroutine | lak_calculate_conn_warea (this, ilak, iconn, stage, head, wa) |
Calculate the wetted area of a lake connection at a given stage. More... | |
subroutine | lak_calculate_vol (this, ilak, stage, volume) |
Calculate the volume of a lake at a given stage. More... | |
subroutine | lak_calculate_conductance (this, ilak, stage, conductance) |
Calculate the total conductance for a lake at a provided stage. More... | |
subroutine | lak_calculate_cond_head (this, iconn, stage, head, vv) |
Calculate the controlling lake stage or groundwater head used to calculate the conductance for a lake connection from a provided stage and groundwater head. More... | |
subroutine | lak_calculate_conn_conductance (this, ilak, iconn, stage, head, cond) |
Calculate the conductance for a lake connection at a provided stage and groundwater head. More... | |
subroutine | lak_calculate_exchange (this, ilak, stage, totflow) |
Calculate the total groundwater-lake flow at a provided stage. More... | |
subroutine | lak_calculate_conn_exchange (this, ilak, iconn, stage, head, flow, gwfhcof, gwfrhs) |
Calculate the groundwater-lake flow at a provided stage and groundwater head. More... | |
subroutine | lak_estimate_conn_exchange (this, iflag, ilak, iconn, idry, stage, head, flow, source, gwfhcof, gwfrhs) |
Calculate the groundwater-lake flow at a provided stage and groundwater head. More... | |
subroutine | lak_calculate_storagechange (this, ilak, stage, stage0, delt, dvr) |
Calculate the storage change in a lake based on provided stages and a passed delt. More... | |
subroutine | lak_calculate_rainfall (this, ilak, stage, ra) |
Calculate the rainfall for a lake. More... | |
subroutine | lak_calculate_runoff (this, ilak, ro) |
Calculate runoff to a lake. More... | |
subroutine | lak_calculate_inflow (this, ilak, qin) |
Calculate specified inflow to a lake. More... | |
subroutine | lak_calculate_external (this, ilak, ex) |
Calculate the external flow terms to a lake. More... | |
subroutine | lak_calculate_withdrawal (this, ilak, avail, wr) |
Calculate the withdrawal from a lake subject to an available volume. More... | |
subroutine | lak_calculate_evaporation (this, ilak, stage, avail, ev) |
Calculate the evaporation from a lake at a provided stage subject to an available volume. More... | |
subroutine | lak_calculate_outlet_inflow (this, ilak, outinf) |
Calculate the outlet inflow to a lake. More... | |
subroutine | lak_calculate_outlet_outflow (this, ilak, stage, avail, outoutf) |
Calculate the outlet outflow from a lake. More... | |
subroutine | lak_get_internal_inlet (this, ilak, outinf) |
Get the outlet inflow to a lake from another lake. More... | |
subroutine | lak_get_internal_outlet (this, ilak, outoutf) |
Get the outlet from a lake to another lake. More... | |
subroutine | lak_get_external_outlet (this, ilak, outoutf) |
Get the outlet outflow from a lake to an external boundary. More... | |
subroutine | lak_get_external_mover (this, ilak, outoutf) |
Get the mover outflow from a lake to an external boundary. More... | |
subroutine | lak_get_internal_mover (this, ilak, outoutf) |
Get the mover outflow from a lake to another lake. More... | |
subroutine | lak_get_outlet_tomover (this, ilak, outoutf) |
Get the outlet to mover from a lake. More... | |
subroutine | lak_vol2stage (this, ilak, vol, stage) |
Determine the stage from a provided volume. More... | |
integer(i4b) function | lak_check_valid (this, itemno) |
Determine if a valid lake or outlet number has been specified. More... | |
subroutine | lak_set_stressperiod (this, itemno) |
Set a stress period attribute for lakweslls(itemno) using keywords. More... | |
subroutine | lak_set_attribute_error (this, ilak, keyword, msg) |
Issue a parameter error for lakweslls(ilak) More... | |
subroutine | lak_options (this, option, found) |
Set options specific to LakType. More... | |
subroutine | lak_ar (this) |
Allocate and Read. More... | |
subroutine | lak_rp (this) |
Read and Prepare. More... | |
subroutine | lak_ad (this) |
Add package connection to matrix. More... | |
subroutine | lak_cf (this) |
Formulate the HCOF and RHS terms. More... | |
subroutine | lak_fc (this, rhs, ia, idxglo, matrix_sln) |
Copy rhs and hcof into solution rhs and amat. More... | |
subroutine | lak_fn (this, rhs, ia, idxglo, matrix_sln) |
Fill newton terms. More... | |
subroutine | lak_cc (this, innertot, kiter, iend, icnvgmod, cpak, ipak, dpak) |
Final convergence check for package. More... | |
subroutine | lak_cq (this, x, flowja, iadv) |
Calculate flows. More... | |
subroutine | lak_ot_package_flows (this, icbcfl, ibudfl) |
Output LAK package flow terms. More... | |
subroutine | lak_ot_model_flows (this, icbcfl, ibudfl, icbcun, imap) |
Write flows to binary file and/or print flows to budget. More... | |
subroutine | lak_ot_dv (this, idvsave, idvprint) |
Save LAK-calculated values to binary file. More... | |
subroutine | lak_ot_bdsummary (this, kstp, kper, iout, ibudfl) |
Write LAK budget to listing file. More... | |
subroutine | lak_da (this) |
Deallocate objects. More... | |
subroutine | define_listlabel (this) |
Define the list heading that is written to iout when PRINT_INPUT option is used. More... | |
subroutine | lak_set_pointers (this, neq, ibound, xnew, xold, flowja) |
Set pointers to model arrays and variables so that a package has access to these things. More... | |
logical function | lak_obs_supported (this) |
Procedures related to observations (type-bound) More... | |
subroutine | lak_df_obs (this) |
Store observation type supported by LAK package. Overrides BndTypebnd_df_obs. More... | |
subroutine | lak_bd_obs (this) |
Calculate observations this time step and call ObsTypeSaveOneSimval for each LakType observation. More... | |
subroutine | lak_rp_obs (this) |
Process each observation. More... | |
subroutine | lak_process_obsid (obsrv, dis, inunitobs, iout) |
This procedure is pointed to by ObsDataTypeProcesssIdPtr. It processes the ID string of an observation definition for LAK package observations. More... | |
subroutine | lak_accumulate_chterm (this, ilak, rrate, chratin, chratout) |
Accumulate constant head terms for budget. More... | |
subroutine | lak_bound_update (this) |
Store the lake head and connection conductance in the bound array. More... | |
subroutine | lak_solve (this, update) |
Solve for lake stage. More... | |
subroutine | lak_bisection (this, n, ibflg, hlak, temporary_stage, dh, residual) |
@ brief Lake package bisection method More... | |
subroutine | lak_calculate_available (this, n, hlak, avail, ra, ro, qinf, ex, headp) |
Calculate the available volumetric rate for a lake given a passed stage. More... | |
subroutine | lak_calculate_residual (this, n, hlak, resid, headp) |
Calculate the residual for a lake given a passed stage. More... | |
subroutine | lak_setup_budobj (this) |
Set up the budget object that stores all the lake flows. More... | |
subroutine | lak_fill_budobj (this) |
Copy flow terms into thisbudobj. More... | |
subroutine | lak_setup_tableobj (this) |
Set up the table object that is used to write the lak stage data. More... | |
subroutine | lak_activate_density (this) |
Activate addition of density terms. More... | |
subroutine | lak_activate_viscosity (this) |
Activate viscosity terms. More... | |
subroutine | lak_calculate_density_exchange (this, iconn, stage, head, cond, botl, flow, gwfhcof, gwfrhs) |
Calculate the groundwater-lake density exchange terms. More... | |
Variables | |
character(len=lenftype) | ftype = 'LAK' |
character(len=lenpackagename) | text = ' LAK' |
subroutine lakmodule::define_listlabel | ( | class(laktype), intent(inout) | this | ) |
Definition at line 4335 of file gwf-lak.f90.
|
private |
Definition at line 4865 of file gwf-lak.f90.
subroutine lakmodule::lak_activate_density | ( | class(laktype), intent(inout) | this | ) |
Definition at line 5994 of file gwf-lak.f90.
|
private |
Method to activate addition of viscosity terms for a LAK package reach.
[in,out] | this | LakType object |
Definition at line 6017 of file gwf-lak.f90.
subroutine lakmodule::lak_ad | ( | class(laktype) | this | ) |
Definition at line 3404 of file gwf-lak.f90.
|
private |
Definition at line 388 of file gwf-lak.f90.
|
private |
Definition at line 328 of file gwf-lak.f90.
subroutine lakmodule::lak_ar | ( | class(laktype), intent(inout) | this | ) |
Create new LAK package and point bndobj to the new package
Definition at line 3247 of file gwf-lak.f90.
|
private |
subroutine lakmodule::lak_bisection | ( | class(laktype), intent(inout) | this, |
integer(i4b), intent(in) | n, | ||
integer(i4b), intent(inout) | ibflg, | ||
real(dp), intent(in) | hlak, | ||
real(dp), intent(inout) | temporary_stage, | ||
real(dp), intent(inout) | dh, | ||
real(dp), intent(inout) | residual | ||
) |
Use bisection method to find lake stage that reduces the residual
[in] | n | lake number |
[in,out] | ibflg | bisection flag |
[in] | hlak | lake stage |
[in,out] | temporary_stage | temporary lake stage |
[in,out] | dh | lake stage change |
[in,out] | residual | lake residual |
Definition at line 5298 of file gwf-lak.f90.
|
private |
Definition at line 4895 of file gwf-lak.f90.
|
private |
Definition at line 5346 of file gwf-lak.f90.
|
private |
Definition at line 2177 of file gwf-lak.f90.
|
private |
Definition at line 2156 of file gwf-lak.f90.
|
private |
|
private |
Definition at line 2296 of file gwf-lak.f90.
|
private |
subroutine lakmodule::lak_calculate_density_exchange | ( | class(laktype), intent(inout) | this, |
integer(i4b), intent(in) | iconn, | ||
real(dp), intent(in) | stage, | ||
real(dp), intent(in) | head, | ||
real(dp), intent(in) | cond, | ||
real(dp), intent(in) | botl, | ||
real(dp), intent(inout) | flow, | ||
real(dp), intent(inout) | gwfhcof, | ||
real(dp), intent(inout) | gwfrhs | ||
) |
Arguments are as follows: iconn : lak-gwf connection number stage : lake stage head : gwf head cond : conductance botl : bottom elevation of this connection flow : calculated flow, updated here with density terms gwfhcof : gwf head coefficient, updated here with density terms gwfrhs : gwf right-hand-side value, updated here with density terms
Member variable used here denseterms : shape (3, MAXBOUND), filled by buoyancy package col 1 is relative density of lake (denselak / denseref) col 2 is relative density of gwf cell (densegwf / denseref) col 3 is elevation of gwf cell
Definition at line 6057 of file gwf-lak.f90.
|
private |
|
private |
Definition at line 2272 of file gwf-lak.f90.
|
private |
Definition at line 2470 of file gwf-lak.f90.
|
private |
Definition at line 2458 of file gwf-lak.f90.
|
private |
Definition at line 2535 of file gwf-lak.f90.
|
private |
Definition at line 2556 of file gwf-lak.f90.
|
private |
Definition at line 2424 of file gwf-lak.f90.
subroutine lakmodule::lak_calculate_residual | ( | class(laktype), intent(inout) | this, |
integer(i4b), intent(in) | n, | ||
real(dp), intent(in) | hlak, | ||
real(dp), intent(inout) | resid, | ||
real(dp), intent(in), optional | headp | ||
) |
Definition at line 5411 of file gwf-lak.f90.
|
private |
Definition at line 2446 of file gwf-lak.f90.
|
private |
|
private |
Definition at line 2402 of file gwf-lak.f90.
|
private |
|
private |
Definition at line 2024 of file gwf-lak.f90.
|
private |
Definition at line 2486 of file gwf-lak.f90.
|
private |
Definition at line 3648 of file gwf-lak.f90.
subroutine lakmodule::lak_cf | ( | class(laktype) | this | ) |
|
private |
Definition at line 2816 of file gwf-lak.f90.
subroutine lakmodule::lak_cq | ( | class(laktype), intent(inout) | this, |
real(dp), dimension(:), intent(in) | x, | ||
real(dp), dimension(:), intent(inout), contiguous | flowja, | ||
integer(i4b), intent(in), optional | iadv | ||
) |
Definition at line 3944 of file gwf-lak.f90.
subroutine, public lakmodule::lak_create | ( | class(bndtype), pointer | packobj, |
integer(i4b), intent(in) | id, | ||
integer(i4b), intent(in) | ibcnum, | ||
integer(i4b), intent(in) | inunit, | ||
integer(i4b), intent(in) | iout, | ||
character(len=*), intent(in) | namemodel, | ||
character(len=*), intent(in) | pakname | ||
) |
Definition at line 290 of file gwf-lak.f90.
subroutine lakmodule::lak_da | ( | class(laktype) | this | ) |
Definition at line 4171 of file gwf-lak.f90.
|
private |
|
private |
Definition at line 2359 of file gwf-lak.f90.
|
private |
Definition at line 3554 of file gwf-lak.f90.
subroutine lakmodule::lak_fill_budobj | ( | class(laktype) | this | ) |
Definition at line 5745 of file gwf-lak.f90.
|
private |
Definition at line 3589 of file gwf-lak.f90.
|
private |
Definition at line 2673 of file gwf-lak.f90.
|
private |
Definition at line 2654 of file gwf-lak.f90.
|
private |
Definition at line 2614 of file gwf-lak.f90.
|
private |
Definition at line 2694 of file gwf-lak.f90.
|
private |
Definition at line 2635 of file gwf-lak.f90.
|
private |
Definition at line 2715 of file gwf-lak.f90.
subroutine lakmodule::lak_linear_interpolation | ( | class(laktype), intent(inout) | this, |
integer(i4b), intent(in) | n, | ||
real(dp), dimension(n), intent(in) | x, | ||
real(dp), dimension(n), intent(in) | y, | ||
real(dp), intent(in) | z, | ||
real(dp), intent(inout) | v | ||
) |
|
private |
Return true because LAK package supports observations. Overrides BndTypebnd_obs_supported()
Definition at line 4391 of file gwf-lak.f90.
subroutine lakmodule::lak_options | ( | class(laktype), intent(inout) | this, |
character(len=*), intent(inout) | option, | ||
logical(lgp), intent(inout) | found | ||
) |
lak_options overrides BndTypebnd_options
Definition at line 3091 of file gwf-lak.f90.
subroutine lakmodule::lak_ot_bdsummary | ( | class(laktype) | this, |
integer(i4b), intent(in) | kstp, | ||
integer(i4b), intent(in) | kper, | ||
integer(i4b), intent(in) | iout, | ||
integer(i4b), intent(in) | ibudfl | ||
) |
this | LakType object | |
[in] | kstp | time step number |
[in] | kper | period number |
[in] | iout | flag and unit number for the model listing file |
[in] | ibudfl | flag indicating budget should be written |
Definition at line 4156 of file gwf-lak.f90.
|
private |
Definition at line 4085 of file gwf-lak.f90.
subroutine lakmodule::lak_ot_model_flows | ( | class(laktype) | this, |
integer(i4b), intent(in) | icbcfl, | ||
integer(i4b), intent(in) | ibudfl, | ||
integer(i4b), intent(in) | icbcun, | ||
integer(i4b), dimension(:), intent(in), optional | imap | ||
) |
Definition at line 4072 of file gwf-lak.f90.
subroutine lakmodule::lak_ot_package_flows | ( | class(laktype) | this, |
integer(i4b), intent(in) | icbcfl, | ||
integer(i4b), intent(in) | ibudfl | ||
) |
Definition at line 4046 of file gwf-lak.f90.
subroutine lakmodule::lak_process_obsid | ( | type(observetype), intent(inout) | obsrv, |
class(disbasetype), intent(in) | dis, | ||
integer(i4b), intent(in) | inunitobs, | ||
integer(i4b), intent(in) | iout | ||
) |
Definition at line 4813 of file gwf-lak.f90.
subroutine lakmodule::lak_read_dimensions | ( | class(laktype), intent(inout) | this | ) |
Definition at line 1583 of file gwf-lak.f90.
subroutine lakmodule::lak_read_initial_attr | ( | class(laktype), intent(inout) | this | ) |
Definition at line 1667 of file gwf-lak.f90.
subroutine lakmodule::lak_read_lake_connections | ( | class(laktype), intent(inout) | this | ) |
Definition at line 683 of file gwf-lak.f90.
|
private |
Definition at line 452 of file gwf-lak.f90.
subroutine lakmodule::lak_read_outlets | ( | class(laktype), intent(inout) | this | ) |
|
private |
subroutine lakmodule::lak_read_tables | ( | class(laktype), intent(inout) | this | ) |
|
private |
Read itmp and read new boundaries if itmp > 0
Definition at line 3270 of file gwf-lak.f90.
|
private |
Only done the first stress period since boundaries are fixed for the simulation
Definition at line 4661 of file gwf-lak.f90.
subroutine lakmodule::lak_set_attribute_error | ( | class(laktype), intent(inout) | this, |
integer(i4b), intent(in) | ilak, | ||
character(len=*), intent(in) | keyword, | ||
character(len=*), intent(in) | msg | ||
) |
Read itmp and new boundaries if itmp > 0
Definition at line 3069 of file gwf-lak.f90.
|
private |
Definition at line 4360 of file gwf-lak.f90.
subroutine lakmodule::lak_set_stressperiod | ( | class(laktype), intent(inout) | this, |
integer(i4b), intent(in) | itemno | ||
) |
subroutine lakmodule::lak_setup_budobj | ( | class(laktype) | this | ) |
Definition at line 5493 of file gwf-lak.f90.
|
private |
The terms listed here must correspond in number and order to the ones written to the stage table in the lak_ot method
Definition at line 5933 of file gwf-lak.f90.
|
private |
Definition at line 4920 of file gwf-lak.f90.
|
private |
Definition at line 2735 of file gwf-lak.f90.
subroutine lakmodule::laktables_to_vectors | ( | class(laktype), intent(inout) | this, |
type(laktabtype), dimension(:), intent(in), contiguous | laketables | ||
) |
Definition at line 1120 of file gwf-lak.f90.
|
private |
Definition at line 43 of file gwf-lak.f90.
|
private |
Definition at line 44 of file gwf-lak.f90.