Derived type for managing SPC input.
More...
|
| procedure | initialize (this, dis, id, input_mempath, iout, name_model, packnameflow, dvn, input_fname) |
| | Initialize the SPC type.
|
| procedure | allocate_scalars (this) |
| | Allocate package scalars.
|
| procedure | allocate_arrays (this) |
| | Allocate package arrays.
|
| procedure | get_value (this, ientry, nbound_flow) |
| | Get the data value from this package.
|
| procedure | apply_input_values (this) |
| | Apply current input mempath values to dblvec, then echo them.
|
| procedure | spc_rp (this) |
| | Read and prepare stress period data.
|
| procedure | spc_ad (this, nbound_flowpack, budtxt) |
| | Advance.
|
| procedure | spc_da (this) |
| | Deallocate variables.
|
| procedure | check_flow_package (this, nbound_flowpack, budtxt) |
| | Check flow package consistency.
|
|
| character(len=lenmodelname) | name_model = '' |
| | the name of the model that contains this package
|
| character(len=lenpackagename) | packname = '' |
| | name of the package
|
| character(len=lenpackagename) | packnameflow = '' |
| | name of the corresponding flow package
|
| character(len=lenvarname) | depvarname = '' |
| | name of the dependent variable (CONCENTRATION or TEMPERATURE)
|
| character(len=lenmempath) | memorypath = '' |
| | the location in the memory manager where the variables are stored
|
| character(len=lenmempath) | input_mempath = '' |
| | input memory path for SPC data
|
| character(len=linelength) | input_fname = '' |
| | SPC input file name.
|
| integer(i4b), pointer | id => null() |
| | id number for this spc package
|
| integer(i4b), pointer | iout => null() |
| | unit number for output
|
| integer(i4b), pointer | maxbound => null() |
| | length of dblvec
|
| integer(i4b), pointer | iprpak => null() |
| | flag for printing input
|
| logical(lgp), pointer | readasarrays => null() |
| | flag for reading concentrations as an array
|
| logical(lgp) | ts_active = .false. |
| | .true. if timeseries or time-array series are active
|
| real(dp), dimension(:), pointer, contiguous | dblvec => null() |
| | vector of floats read from file
|
| class(disbasetype), pointer | dis => null() |
| | model discretization object
|
This derived type reads pre-loaded values from the SPC input memory path and provides concentrations or temperatures to the SSM package for individual GWF stress packages.
Definition at line 34 of file TspSpc.f90.
◆ allocate_arrays()
| procedure tspspcmodule::tspspctype::allocate_arrays |
( |
class(tspspctype) | this | ) |
|
◆ allocate_scalars()
| procedure tspspcmodule::tspspctype::allocate_scalars |
( |
class(tspspctype) | this | ) |
|
◆ apply_input_values()
| procedure tspspcmodule::tspspctype::apply_input_values |
( |
class(tspspctype), intent(inout) | this | ) |
|
Array mode copies the depvarname array into dblvec. List mode's dblvec is already a permanent, BNDNO-indexed alias into the input context, so there is nothing to copy.
- Parameters
-
| [in,out] | this | TspSpcType object |
Definition at line 58 of file TspSpc.f90.
◆ check_flow_package()
| procedure tspspcmodule::tspspctype::check_flow_package |
( |
class(tspspctype), intent(inout) | this, |
|
|
integer(i4b), intent(in) | nbound_flowpack, |
|
|
character(len=*), intent(in) | budtxt ) |
Check that MAXBOUND is not less than nbound_flowpack and that readasarrays is consistent with the flow package type.
- Parameters
-
| [in,out] | this | TspSpcType object |
Definition at line 62 of file TspSpc.f90.
◆ get_value()
| procedure tspspcmodule::tspspctype::get_value |
( |
class(tspspctype) | this, |
|
|
integer(i4b), intent(in) | ientry, |
|
|
integer(i4b), intent(in) | nbound_flow ) |
Get the floating point value from the dblvec array.
- Parameters
-
| this | TspSpcType object |
| [in] | ientry | index of the data to return |
| [in] | nbound_flow | size of bound list in flow package |
Definition at line 57 of file TspSpc.f90.
◆ initialize()
| procedure tspspcmodule::tspspctype::initialize |
( |
class(tspspctype) | this, |
|
|
class(disbasetype), intent(in), pointer | dis, |
|
|
integer(i4b), intent(in) | id, |
|
|
character(len=*), intent(in) | input_mempath, |
|
|
integer(i4b), intent(in) | iout, |
|
|
character(len=*), intent(in) | name_model, |
|
|
character(len=*), intent(in) | packnameflow, |
|
|
character(len=*), intent(in) | dvn, |
|
|
character(len=*), intent(in) | input_fname ) |
Initialize the SPC object using input context data.
- Parameters
-
| this | TspSpcType |
| [in] | dis | discretization package |
| [in] | id | id number for this spc package |
| [in] | input_mempath | input memory path |
| [in] | iout | unit number for output |
| [in] | name_model | model name |
| [in] | packnameflow | name of corresponding flow package |
| [in] | dvn | dependent variable name (CONCENTRATION or TEMPERATURE) |
| [in] | input_fname | SPC input file name |
Definition at line 54 of file TspSpc.f90.
◆ spc_ad()
| procedure tspspcmodule::tspspctype::spc_ad |
( |
class(tspspctype), intent(inout) | this, |
|
|
integer(i4b), intent(in) | nbound_flowpack, |
|
|
character(len=*), intent(in) | budtxt ) |
Apply advanced input values at each time step.
- Parameters
-
| [in,out] | this | TspSpcType object |
Definition at line 60 of file TspSpc.f90.
◆ spc_da()
| procedure tspspcmodule::tspspctype::spc_da |
( |
class(tspspctype) | this | ) |
|
◆ spc_rp()
| procedure tspspcmodule::tspspctype::spc_rp |
( |
class(tspspctype), intent(inout) | this | ) |
|
Copies input period data into dblvec when new data has been loaded for this stress period.
- Parameters
-
| [in,out] | this | TspSpcType object |
Definition at line 59 of file TspSpc.f90.
◆ dblvec
| real(dp), dimension(:), pointer, contiguous tspspcmodule::tspspctype::dblvec => null() |
◆ depvarname
| character(len=lenvarname) tspspcmodule::tspspctype::depvarname = '' |
◆ dis
| class(disbasetype), pointer tspspcmodule::tspspctype::dis => null() |
◆ id
| integer(i4b), pointer tspspcmodule::tspspctype::id => null() |
◆ input_fname
| character(len=linelength) tspspcmodule::tspspctype::input_fname = '' |
◆ input_mempath
| character(len=lenmempath) tspspcmodule::tspspctype::input_mempath = '' |
◆ iout
| integer(i4b), pointer tspspcmodule::tspspctype::iout => null() |
◆ iprpak
| integer(i4b), pointer tspspcmodule::tspspctype::iprpak => null() |
◆ maxbound
| integer(i4b), pointer tspspcmodule::tspspctype::maxbound => null() |
◆ memorypath
| character(len=lenmempath) tspspcmodule::tspspctype::memorypath = '' |
◆ name_model
| character(len=lenmodelname) tspspcmodule::tspspctype::name_model = '' |
◆ packname
| character(len=lenpackagename) tspspcmodule::tspspctype::packname = '' |
◆ packnameflow
| character(len=lenpackagename) tspspcmodule::tspspctype::packnameflow = '' |
◆ readasarrays
| logical(lgp), pointer tspspcmodule::tspspctype::readasarrays => null() |
◆ ts_active
| logical(lgp) tspspcmodule::tspspctype::ts_active = .false. |
The documentation for this type was generated from the following file:
- /home/runner/work/modflow6/modflow6/src/Model/ModelUtilities/TspSpc.f90