MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
Loading...
Searching...
No Matches
tspspcmodule::tspspctype Type Reference

Derived type for managing SPC input. More...

Collaboration diagram for tspspcmodule::tspspctype:
Collaboration graph

Public Member Functions

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.

Public Attributes

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

Detailed Description

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.

Member Function/Subroutine Documentation

◆ allocate_arrays()

procedure tspspcmodule::tspspctype::allocate_arrays ( class(tspspctype) this)
Parameters
thisTspSpcType object

Definition at line 56 of file TspSpc.f90.

◆ allocate_scalars()

procedure tspspcmodule::tspspctype::allocate_scalars ( class(tspspctype) this)
Parameters
thisTspSpcType object

Definition at line 55 of file TspSpc.f90.

◆ 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]thisTspSpcType 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]thisTspSpcType 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
thisTspSpcType object
[in]ientryindex of the data to return
[in]nbound_flowsize 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
thisTspSpcType
[in]disdiscretization package
[in]idid number for this spc package
[in]input_mempathinput memory path
[in]ioutunit number for output
[in]name_modelmodel name
[in]packnameflowname of corresponding flow package
[in]dvndependent variable name (CONCENTRATION or TEMPERATURE)
[in]input_fnameSPC 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]thisTspSpcType object

Definition at line 60 of file TspSpc.f90.

◆ spc_da()

procedure tspspcmodule::tspspctype::spc_da ( class(tspspctype) this)
Parameters
thisTspSpcType object

Definition at line 61 of file TspSpc.f90.

◆ 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]thisTspSpcType object

Definition at line 59 of file TspSpc.f90.

Member Data Documentation

◆ dblvec

real(dp), dimension(:), pointer, contiguous tspspcmodule::tspspctype::dblvec => null()

Definition at line 49 of file TspSpc.f90.

◆ depvarname

character(len=lenvarname) tspspcmodule::tspspctype::depvarname = ''

Definition at line 39 of file TspSpc.f90.

◆ dis

class(disbasetype), pointer tspspcmodule::tspspctype::dis => null()

Definition at line 50 of file TspSpc.f90.

◆ id

integer(i4b), pointer tspspcmodule::tspspctype::id => null()

Definition at line 43 of file TspSpc.f90.

◆ input_fname

character(len=linelength) tspspcmodule::tspspctype::input_fname = ''

Definition at line 42 of file TspSpc.f90.

◆ input_mempath

character(len=lenmempath) tspspcmodule::tspspctype::input_mempath = ''

Definition at line 41 of file TspSpc.f90.

◆ iout

integer(i4b), pointer tspspcmodule::tspspctype::iout => null()

Definition at line 44 of file TspSpc.f90.

◆ iprpak

integer(i4b), pointer tspspcmodule::tspspctype::iprpak => null()

Definition at line 46 of file TspSpc.f90.

◆ maxbound

integer(i4b), pointer tspspcmodule::tspspctype::maxbound => null()

Definition at line 45 of file TspSpc.f90.

◆ memorypath

character(len=lenmempath) tspspcmodule::tspspctype::memorypath = ''

Definition at line 40 of file TspSpc.f90.

◆ name_model

character(len=lenmodelname) tspspcmodule::tspspctype::name_model = ''

Definition at line 36 of file TspSpc.f90.

◆ packname

character(len=lenpackagename) tspspcmodule::tspspctype::packname = ''

Definition at line 37 of file TspSpc.f90.

◆ packnameflow

character(len=lenpackagename) tspspcmodule::tspspctype::packnameflow = ''

Definition at line 38 of file TspSpc.f90.

◆ readasarrays

logical(lgp), pointer tspspcmodule::tspspctype::readasarrays => null()

Definition at line 47 of file TspSpc.f90.

◆ ts_active

logical(lgp) tspspcmodule::tspspctype::ts_active = .false.

Definition at line 48 of file TspSpc.f90.


The documentation for this type was generated from the following file:
  • /home/runner/work/modflow6/modflow6/src/Model/ModelUtilities/TspSpc.f90