![]() |
MODFLOW 6
version 6.9.0.dev0
USGS Modular Hydrologic Model
|
This module contains the storage package methods. More...
Data Types | |
| type | gwfstotype |
| type | defaultstorageformulationtype |
| Default storage formulation. More... | |
Functions/Subroutines | |
| subroutine, public | sto_cr (stoobj, name_model, mempath, inunit, iout) |
| @ brief Create a new package object More... | |
| subroutine | sto_ar (this, dis, ibound) |
| @ brief Allocate and read method for package More... | |
| subroutine | sto_rp (this) |
| @ brief Read and prepare method for package More... | |
| subroutine | sto_ad (this) |
| @ brief Advance the package More... | |
| subroutine | sto_fc (this, kiter, hold, hnew, matrix_sln, idxglo, rhs) |
| @ brief Fill A and right-hand side for the package More... | |
| subroutine | default_storage_fc (this, kiter, matrix_sln, rhs, idxglo, h_old, h_new) |
| Fill coefficients for the default storage formulation. More... | |
| subroutine | fc_default_sto (this, n, matrix_sln, rhs, idxglo, hold, hnew) |
| Default storage FC. More... | |
| subroutine | sto_fn (this, kiter, hold, hnew, matrix_sln, idxglo, rhs) |
| @ brief Fill Newton-Raphson terms in A and right-hand side for the package More... | |
| subroutine | default_storage_fn (this, kiter, matrix_sln, rhs, idxglo, h_old, h_new) |
| Fill newton terms for the default storage formulation. More... | |
| subroutine | fn_default_sto (this, n, matrix_sln, rhs, idxglo, hold, hnew) |
| subroutine | sto_cq (this, flowja, hnew, hold) |
| @ brief Calculate flows for package More... | |
| subroutine | default_storage_cq (this, flowja, h_new, h_old) |
| Calculate flows for the default storage formulation. More... | |
| logical(lgp) function | default_storage_is_active (this, n) |
| The default formulation uses the claim mask, not is_active. More... | |
| subroutine | default_storage_bd (this, isuppress_output, model_budget) |
| Default storage budget is handled directly by sto_bd. More... | |
| subroutine | default_storage_save_flows (this, iprint, ibinun) |
| Default storage flows are saved directly by sto_save_model_flows. More... | |
| subroutine | cq_default_sto (this, n, flowja, hnew, hold) |
| Standard flow calculation for the storage. More... | |
| subroutine | sto_bd (this, isuppress_output, model_budget) |
| @ brief Model budget calculation for package More... | |
| subroutine | sto_save_model_flows (this, icbcfl, icbcun) |
| @ brief Save model flows for package More... | |
| subroutine | sto_da (this) |
| @ brief Deallocate package memory More... | |
| subroutine | allocate_scalars (this) |
| @ brief Allocate scalars More... | |
| subroutine | allocate_arrays (this, nodes) |
| @ brief Allocate package arrays More... | |
| subroutine | source_options (this) |
| @ brief Source input options for package More... | |
| subroutine | log_options (this, found) |
| @ brief Log found options for package More... | |
| subroutine | source_data (this) |
| @ brief Source input data for package More... | |
| subroutine | save_old_ss_sy (this) |
| @ brief Save old storage property values More... | |
| subroutine | add_sto_formulation (this, sto_form, form_id) |
Variables | |
| character(len=lenbudtxt), dimension(2) | budtxt = [' STO-SS', ' STO-SY'] |
This module contains the methods used to add the effects of storage on the groundwater flow equation. The contribution of specific storage and specific yield can be represented.
| subroutine gwfstomodule::add_sto_formulation | ( | class(gwfstotype), intent(inout) | this, |
| class(gwfstoformulationtype), pointer | sto_form, | ||
| integer(i4b) | form_id | ||
| ) |
| [in,out] | this | this NPF instance |
| sto_form | the alternative storage calculator | |
| form_id | the id for the flow formulation |
Definition at line 1209 of file gwf-sto.f90.
| subroutine gwfstomodule::allocate_arrays | ( | class(gwfstotype), target | this, |
| integer(i4b), intent(in) | nodes | ||
| ) |
Allocate and initialize STO package arrays.
| this | GwfStoType object | |
| [in] | nodes | active model nodes |
Definition at line 914 of file gwf-sto.f90.
| subroutine gwfstomodule::allocate_scalars | ( | class(gwfstotype) | this | ) |
Allocate and initialize scalars for the STO package. The base numerical package allocate scalars method is also called.
| this | GwfStoType object |
Definition at line 880 of file gwf-sto.f90.
| subroutine gwfstomodule::cq_default_sto | ( | class(gwfstotype), intent(inout) | this, |
| integer(i4b), intent(in) | n, | ||
| real(dp), dimension(:), intent(inout) | flowja, | ||
| real(dp), dimension(:), intent(in) | hnew, | ||
| real(dp), dimension(:), intent(in) | hold | ||
| ) |
Definition at line 630 of file gwf-sto.f90.

| subroutine gwfstomodule::default_storage_bd | ( | class(defaultstorageformulationtype), intent(inout) | this, |
| integer(i4b), intent(in) | isuppress_output, | ||
| type(budgettype), intent(inout) | model_budget | ||
| ) |
| [in,out] | this | default formulation |
| [in] | isuppress_output | flag to suppress model output |
| [in,out] | model_budget | model budget object |
Definition at line 613 of file gwf-sto.f90.
| subroutine gwfstomodule::default_storage_cq | ( | class(defaultstorageformulationtype), intent(inout) | this, |
| real(dp), dimension(:), intent(inout) | flowja, | ||
| real(dp), dimension(:), intent(in) | h_new, | ||
| real(dp), dimension(:), intent(in) | h_old | ||
| ) |
Runs over all cells and stores the standard STO change in storage, skipping cells claimed by an exclusive formulation.
| [in,out] | this | default formulation |
| [in,out] | flowja | connection flows |
| [in] | h_new | current head |
| [in] | h_old | previous head |
Definition at line 585 of file gwf-sto.f90.
| subroutine gwfstomodule::default_storage_fc | ( | class(defaultstorageformulationtype), intent(inout) | this, |
| integer(i4b), intent(in) | kiter, | ||
| class(matrixbasetype), intent(inout), pointer | matrix_sln, | ||
| real(dp), dimension(:), intent(inout) | rhs, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| real(dp), dimension(:), intent(in) | h_old, | ||
| real(dp), dimension(:), intent(in) | h_new | ||
| ) |
Runs over all cells and fills the standard STO terms, skipping cells claimed by an exclusive formulation.
| [in,out] | this | default formulation |
| [in] | kiter | outer iteration number |
| [in,out] | matrix_sln | A matrix |
| [in,out] | rhs | right-hand side |
| [in] | idxglo | global index model to solution |
| [in] | h_old | previous heads |
| [in] | h_new | current heads |
Definition at line 300 of file gwf-sto.f90.
| subroutine gwfstomodule::default_storage_fn | ( | class(defaultstorageformulationtype), intent(inout) | this, |
| integer(i4b), intent(in) | kiter, | ||
| class(matrixbasetype), intent(inout), pointer | matrix_sln, | ||
| real(dp), dimension(:), intent(inout) | rhs, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| real(dp), dimension(:), intent(in) | h_old, | ||
| real(dp), dimension(:), intent(in) | h_new | ||
| ) |
Runs over all cells and fills the standard STO newton terms, skipping cells claimed by an exclusive formulation.
| [in,out] | this | default formulation |
| [in] | kiter | outer iteration number |
| [in,out] | matrix_sln | A matrix |
| [in,out] | rhs | right-hand side |
| [in] | idxglo | global index model to solution |
| [in] | h_old | previous heads |
| [in] | h_new | current heads |
Definition at line 453 of file gwf-sto.f90.
| logical(lgp) function gwfstomodule::default_storage_is_active | ( | class(defaultstorageformulationtype), intent(inout) | this, |
| integer(i4b), intent(in) | n | ||
| ) |
| [in,out] | this | default formulation |
| [in] | n | node number |
Definition at line 604 of file gwf-sto.f90.
| subroutine gwfstomodule::default_storage_save_flows | ( | class(defaultstorageformulationtype), intent(inout) | this, |
| integer(i4b), intent(in) | iprint, | ||
| integer(i4b), intent(in) | ibinun | ||
| ) |
| [in,out] | this | default formulation |
| [in] | iprint | print flag |
| [in] | ibinun | cell-by-cell file unit number |
Definition at line 622 of file gwf-sto.f90.
| subroutine gwfstomodule::fc_default_sto | ( | class(gwfstotype) | this, |
| integer(i4b), intent(in) | n, | ||
| class(matrixbasetype), intent(inout), pointer | matrix_sln, | ||
| real(dp), dimension(:), intent(inout) | rhs, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| real(dp), dimension(:), intent(in) | hold, | ||
| real(dp), dimension(:), intent(in) | hnew | ||
| ) |
| this | GwfStoType object |
Definition at line 323 of file gwf-sto.f90.

| subroutine gwfstomodule::fn_default_sto | ( | class(gwfstotype), intent(inout) | this, |
| integer(i4b), intent(in) | n, | ||
| class(matrixbasetype), intent(inout), pointer | matrix_sln, | ||
| real(dp), dimension(:), intent(inout) | rhs, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| real(dp), dimension(:), intent(in) | hold, | ||
| real(dp), dimension(:), intent(in) | hnew | ||
| ) |
| subroutine gwfstomodule::log_options | ( | class(gwfstotype) | this, |
| type(gwfstoparamfoundtype), intent(in) | found | ||
| ) |
Log options block for STO package.
| this | GwfStoType object |
Definition at line 1030 of file gwf-sto.f90.
| subroutine gwfstomodule::save_old_ss_sy | ( | class(gwfstotype) | this | ) |
Save ss and sy values from the previous time step for use with storage integration when integratechanges is non-zero.
| this | GwfStoType object |
Definition at line 1180 of file gwf-sto.f90.
| subroutine gwfstomodule::source_data | ( | class(gwfstotype) | this | ) |
Source griddata block parameters for STO package.
| this | GwfStoType object |
Definition at line 1084 of file gwf-sto.f90.

| subroutine gwfstomodule::source_options | ( | class(gwfstotype) | this | ) |
Source options block parameters for STO package.
| this | GwfStoType object |
Definition at line 968 of file gwf-sto.f90.

| subroutine gwfstomodule::sto_ad | ( | class(gwfstotype) | this | ) |
Advance data in the STO package.
| this | GwfStoType object |
Definition at line 236 of file gwf-sto.f90.
| subroutine gwfstomodule::sto_ar | ( | class(gwfstotype) | this, |
| class(disbasetype), intent(in), pointer | dis, | ||
| integer(i4b), dimension(:), pointer, contiguous | ibound | ||
| ) |
Method to allocate and read static data for the STO package.
| this | GwfStoType object | |
| [in] | dis | model discretization object |
| ibound | model ibound array |
Definition at line 135 of file gwf-sto.f90.

| subroutine gwfstomodule::sto_bd | ( | class(gwfstotype) | this, |
| integer(i4b), intent(in) | isuppress_output, | ||
| type(budgettype), intent(inout) | model_budget | ||
| ) |
Budget calculation for the STO package components. Components include specific storage and specific yield storage.
| this | GwfStoType object | |
| [in] | isuppress_output | flag to suppress model output |
| [in,out] | model_budget | model budget object |
Definition at line 730 of file gwf-sto.f90.

| subroutine gwfstomodule::sto_cq | ( | class(gwfstotype) | this, |
| real(dp), dimension(:), intent(inout), contiguous | flowja, | ||
| real(dp), dimension(:), intent(in), contiguous | hnew, | ||
| real(dp), dimension(:), intent(in), contiguous | hold | ||
| ) |
Flow calculation for the STO package components. Components include specific storage and specific yield storage.
| this | GwfStoType object | |
| [in,out] | flowja | connection flows |
| [in] | hnew | current head |
| [in] | hold | previous head |
Definition at line 552 of file gwf-sto.f90.
| subroutine, public gwfstomodule::sto_cr | ( | type(gwfstotype), pointer | stoobj, |
| character(len=*), intent(in) | name_model, | ||
| character(len=*), intent(in) | mempath, | ||
| integer(i4b), intent(in) | inunit, | ||
| integer(i4b), intent(in) | iout | ||
| ) |
Create a new storage (STO) object
| stoobj | GwfStoType object | |
| [in] | name_model | name of model |
| [in] | mempath | input context mem path |
| [in] | inunit | package input file unit |
| [in] | iout | model listing file unit |
Definition at line 108 of file gwf-sto.f90.

| subroutine gwfstomodule::sto_da | ( | class(gwfstotype) | this | ) |
Deallocate STO package scalars and arrays.
| this | GwfStoType object |
Definition at line 821 of file gwf-sto.f90.
| subroutine gwfstomodule::sto_fc | ( | class(gwfstotype) | this, |
| integer(i4b), intent(in) | kiter, | ||
| real(dp), dimension(:), intent(in) | hold, | ||
| real(dp), dimension(:), intent(in) | hnew, | ||
| class(matrixbasetype), pointer | matrix_sln, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| real(dp), dimension(:), intent(inout) | rhs | ||
| ) |
Fill the coefficient matrix and right-hand side with the STO package terms.
| this | GwfStoType object | |
| [in] | kiter | outer iteration number |
| [in] | hold | previous heads |
| [in] | hnew | current heads |
| matrix_sln | A matrix | |
| [in] | idxglo | global index model to solution |
| [in,out] | rhs | right-hand side |
Definition at line 258 of file gwf-sto.f90.

| subroutine gwfstomodule::sto_fn | ( | class(gwfstotype) | this, |
| integer(i4b), intent(in) | kiter, | ||
| real(dp), dimension(:), intent(in) | hold, | ||
| real(dp), dimension(:), intent(in) | hnew, | ||
| class(matrixbasetype), pointer | matrix_sln, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| real(dp), dimension(:), intent(inout) | rhs | ||
| ) |
Fill the coefficient matrix and right-hand side with STO package with Newton-Raphson terms.
| this | GwfStoType object | |
| [in] | kiter | outer iteration number |
| [in] | hold | previous heads |
| [in] | hnew | current heads |
| matrix_sln | A matrix | |
| [in] | idxglo | global index model to solution |
| [in,out] | rhs | right-hand side |
Definition at line 422 of file gwf-sto.f90.
| subroutine gwfstomodule::sto_rp | ( | class(gwfstotype) | this | ) |
Method to read and prepare stress period data for the STO package.
| this | GwfStoType object |
Definition at line 183 of file gwf-sto.f90.

| subroutine gwfstomodule::sto_save_model_flows | ( | class(gwfstotype) | this, |
| integer(i4b), intent(in) | icbcfl, | ||
| integer(i4b), intent(in) | icbcun | ||
| ) |
Save cell-by-cell budget terms for the STO package.
| this | GwfStoType object | |
| [in] | icbcfl | flag to output budget data |
| [in] | icbcun | cell-by-cell file unit number |
Definition at line 768 of file gwf-sto.f90.
| character(len=lenbudtxt), dimension(2) gwfstomodule::budtxt = [' STO-SS', ' STO-SY'] |
Definition at line 31 of file gwf-sto.f90.