MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
gwf-lak.f90 File Reference

Go to the source code of this file.

Data Types

type  lakmodule::laktabtype
 
type  lakmodule::laktype
 

Modules

module  lakmodule
 

Functions/Subroutines

subroutine, public lakmodule::lak_create (packobj, id, ibcnum, inunit, iout, namemodel, pakname)
 Create a new LAK Package and point bndobj to the new package. More...
 
subroutine lakmodule::lak_allocate_scalars (this)
 Allocate scalar members. More...
 
subroutine lakmodule::lak_allocate_arrays (this)
 Allocate scalar members. More...
 
subroutine lakmodule::lak_read_lakes (this)
 Read the dimensions for this package. More...
 
subroutine lakmodule::lak_read_lake_connections (this)
 Read the lake connections for this package. More...
 
subroutine lakmodule::lak_read_tables (this)
 Read the lake tables for this package. More...
 
subroutine lakmodule::laktables_to_vectors (this, laketables)
 Copy the laketables structure data into flattened vectors that are stored in the memory manager. More...
 
subroutine lakmodule::lak_read_table (this, ilak, filename, laketable)
 Read the lake table for this package. More...
 
subroutine lakmodule::lak_read_outlets (this)
 Read the lake outlets for this package. More...
 
subroutine lakmodule::lak_read_dimensions (this)
 Read the dimensions for this package. More...
 
subroutine lakmodule::lak_read_initial_attr (this)
 Read the initial parameters for this package. More...
 
subroutine lakmodule::lak_linear_interpolation (this, n, x, y, z, v)
 Perform linear interpolation of two vectors. More...
 
subroutine lakmodule::lak_calculate_sarea (this, ilak, stage, sarea)
 Calculate the surface area of a lake at a given stage. More...
 
subroutine lakmodule::lak_calculate_warea (this, ilak, stage, warea, hin)
 Calculate the wetted area of a lake at a given stage. More...
 
subroutine lakmodule::lak_calculate_conn_warea (this, ilak, iconn, stage, head, wa)
 Calculate the wetted area of a lake connection at a given stage. More...
 
subroutine lakmodule::lak_calculate_vol (this, ilak, stage, volume)
 Calculate the volume of a lake at a given stage. More...
 
subroutine lakmodule::lak_calculate_conductance (this, ilak, stage, conductance)
 Calculate the total conductance for a lake at a provided stage. More...
 
subroutine lakmodule::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 lakmodule::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 lakmodule::lak_calculate_exchange (this, ilak, stage, totflow)
 Calculate the total groundwater-lake flow at a provided stage. More...
 
subroutine lakmodule::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 lakmodule::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 lakmodule::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 lakmodule::lak_calculate_rainfall (this, ilak, stage, ra)
 Calculate the rainfall for a lake. More...
 
subroutine lakmodule::lak_calculate_runoff (this, ilak, ro)
 Calculate runoff to a lake. More...
 
subroutine lakmodule::lak_calculate_inflow (this, ilak, qin)
 Calculate specified inflow to a lake. More...
 
subroutine lakmodule::lak_calculate_external (this, ilak, ex)
 Calculate the external flow terms to a lake. More...
 
subroutine lakmodule::lak_calculate_withdrawal (this, ilak, avail, wr)
 Calculate the withdrawal from a lake subject to an available volume. More...
 
subroutine lakmodule::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 lakmodule::lak_calculate_outlet_inflow (this, ilak, outinf)
 Calculate the outlet inflow to a lake. More...
 
subroutine lakmodule::lak_calculate_outlet_outflow (this, ilak, stage, avail, outoutf)
 Calculate the outlet outflow from a lake. More...
 
subroutine lakmodule::lak_get_internal_inlet (this, ilak, outinf)
 Get the outlet inflow to a lake from another lake. More...
 
subroutine lakmodule::lak_get_internal_outlet (this, ilak, outoutf)
 Get the outlet from a lake to another lake. More...
 
subroutine lakmodule::lak_get_external_outlet (this, ilak, outoutf)
 Get the outlet outflow from a lake to an external boundary. More...
 
subroutine lakmodule::lak_get_external_mover (this, ilak, outoutf)
 Get the mover outflow from a lake to an external boundary. More...
 
subroutine lakmodule::lak_get_internal_mover (this, ilak, outoutf)
 Get the mover outflow from a lake to another lake. More...
 
subroutine lakmodule::lak_get_outlet_tomover (this, ilak, outoutf)
 Get the outlet to mover from a lake. More...
 
subroutine lakmodule::lak_vol2stage (this, ilak, vol, stage)
 Determine the stage from a provided volume. More...
 
integer(i4b) function lakmodule::lak_check_valid (this, itemno)
 Determine if a valid lake or outlet number has been specified. More...
 
subroutine lakmodule::lak_set_stressperiod (this, itemno)
 Set a stress period attribute for lakweslls(itemno) using keywords. More...
 
subroutine lakmodule::lak_set_attribute_error (this, ilak, keyword, msg)
 Issue a parameter error for lakweslls(ilak) More...
 
subroutine lakmodule::lak_options (this, option, found)
 Set options specific to LakType. More...
 
subroutine lakmodule::lak_ar (this)
 Allocate and Read. More...
 
subroutine lakmodule::lak_rp (this)
 Read and Prepare. More...
 
subroutine lakmodule::lak_ad (this)
 Add package connection to matrix. More...
 
subroutine lakmodule::lak_cf (this)
 Formulate the HCOF and RHS terms. More...
 
subroutine lakmodule::lak_fc (this, rhs, ia, idxglo, matrix_sln)
 Copy rhs and hcof into solution rhs and amat. More...
 
subroutine lakmodule::lak_fn (this, rhs, ia, idxglo, matrix_sln)
 Fill newton terms. More...
 
subroutine lakmodule::lak_cc (this, innertot, kiter, iend, icnvgmod, cpak, ipak, dpak)
 Final convergence check for package. More...
 
subroutine lakmodule::lak_cq (this, x, flowja, iadv)
 Calculate flows. More...
 
subroutine lakmodule::lak_ot_package_flows (this, icbcfl, ibudfl)
 Output LAK package flow terms. More...
 
subroutine lakmodule::lak_ot_model_flows (this, icbcfl, ibudfl, icbcun, imap)
 Write flows to binary file and/or print flows to budget. More...
 
subroutine lakmodule::lak_ot_dv (this, idvsave, idvprint)
 Save LAK-calculated values to binary file. More...
 
subroutine lakmodule::lak_ot_bdsummary (this, kstp, kper, iout, ibudfl)
 Write LAK budget to listing file. More...
 
subroutine lakmodule::lak_da (this)
 Deallocate objects. More...
 
subroutine lakmodule::define_listlabel (this)
 Define the list heading that is written to iout when PRINT_INPUT option is used. More...
 
subroutine lakmodule::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 lakmodule::lak_obs_supported (this)
 Procedures related to observations (type-bound) More...
 
subroutine lakmodule::lak_df_obs (this)
 Store observation type supported by LAK package. Overrides BndTypebnd_df_obs. More...
 
subroutine lakmodule::lak_bd_obs (this)
 Calculate observations this time step and call ObsTypeSaveOneSimval for each LakType observation. More...
 
subroutine lakmodule::lak_rp_obs (this)
 Process each observation. More...
 
subroutine lakmodule::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 lakmodule::lak_accumulate_chterm (this, ilak, rrate, chratin, chratout)
 Accumulate constant head terms for budget. More...
 
subroutine lakmodule::lak_bound_update (this)
 Store the lake head and connection conductance in the bound array. More...
 
subroutine lakmodule::lak_solve (this, update)
 Solve for lake stage. More...
 
subroutine lakmodule::lak_bisection (this, n, ibflg, hlak, temporary_stage, dh, residual)
 @ brief Lake package bisection method More...
 
subroutine lakmodule::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 lakmodule::lak_calculate_residual (this, n, hlak, resid, headp)
 Calculate the residual for a lake given a passed stage. More...
 
subroutine lakmodule::lak_setup_budobj (this)
 Set up the budget object that stores all the lake flows. More...
 
subroutine lakmodule::lak_fill_budobj (this)
 Copy flow terms into thisbudobj. More...
 
subroutine lakmodule::lak_setup_tableobj (this)
 Set up the table object that is used to write the lak stage data. More...
 
subroutine lakmodule::lak_activate_density (this)
 Activate addition of density terms. More...
 
subroutine lakmodule::lak_activate_viscosity (this)
 Activate viscosity terms. More...
 
subroutine lakmodule::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) lakmodule::ftype = 'LAK'
 
character(len=lenpackagename) lakmodule::text = ' LAK'