MODFLOW 6  version 6.6.0.dev0
USGS Modular Hydrologic Model
prtfmimodule::prtfmitype Type Reference
Inheritance diagram for prtfmimodule::prtfmitype:
Inheritance graph
Collaboration diagram for prtfmimodule::prtfmitype:
Collaboration graph

Public Attributes

double precision, dimension(:), allocatable, public sourceflows
 
double precision, dimension(:), allocatable, public sinkflows
 
double precision, dimension(:), allocatable, public storageflows
 
double precision, dimension(:), allocatable, public boundaryflows
 

Private Member Functions

procedure fmi_ad
 
procedure fmi_df => prtfmi_df
 
procedure, private accumulate_flows
 
procedure advance_bfr
 
procedure advance_hfr
 
procedure allocate_arrays
 
procedure allocate_gwfpackages
 
procedure allocate_scalars
 
procedure deallocate_gwfpackages
 
procedure finalize_bfr
 
procedure finalize_hfr
 
procedure fmi_ar
 
procedure fmi_da
 
procedure get_package_index
 
procedure initialize_bfr
 
procedure initialize_gwfterms_from_bfr
 
procedure initialize_gwfterms_from_gwfbndlist
 
procedure initialize_hfr
 
procedure read_options
 
procedure read_packagedata
 
procedure set_names
 
procedure da
 
procedure read_check_ionper
 
procedure get_block_data
 

Private Attributes

character(len=lenpackagename) text = ''
 text string for package More...
 
logical, pointer flows_from_file => null()
 if .false., then flows come from GWF through GWF-Model exg More...
 
type(listtype), pointer gwfbndlist => null()
 list of gwf stress packages More...
 
integer(i4b), pointer iflowsupdated => null()
 flows were updated for this time step More...
 
integer(i4b), dimension(:), pointer, contiguous ibound => null()
 pointer to Model ibound More...
 
real(dp), dimension(:), pointer, contiguous gwfflowja => null()
 pointer to the GWF flowja array More...
 
real(dp), dimension(:, :), pointer, contiguous gwfspdis => null()
 pointer to npf specific discharge array More...
 
real(dp), dimension(:), pointer, contiguous gwfhead => null()
 pointer to the GWF head array More...
 
real(dp), dimension(:), pointer, contiguous gwfsat => null()
 pointer to the GWF saturation array More...
 
integer(i4b), dimension(:), pointer, contiguous ibdgwfsat0 => null()
 mark cells with saturation = 0 to exclude from dispersion More...
 
integer(i4b), pointer idryinactive => null()
 mark cells with an additional flag to exclude from deactivation (gwe will simulate conduction through dry cells) More...
 
real(dp), dimension(:), pointer, contiguous gwfstrgss => null()
 pointer to flow model QSTOSS More...
 
real(dp), dimension(:), pointer, contiguous gwfstrgsy => null()
 pointer to flow model QSTOSY More...
 
integer(i4b), pointer igwfstrgss => null()
 indicates if gwfstrgss is available More...
 
integer(i4b), pointer igwfstrgsy => null()
 indicates if gwfstrgsy is available More...
 
integer(i4b), pointer iubud => null()
 unit number GWF budget file More...
 
integer(i4b), pointer iuhds => null()
 unit number GWF head file More...
 
integer(i4b), pointer iumvr => null()
 unit number GWF mover budget file More...
 
integer(i4b), pointer nflowpack => null()
 number of GWF flow packages More...
 
integer(i4b), dimension(:), pointer, contiguous igwfmvrterm => null()
 flag to indicate that gwf package is a mover term More...
 
type(budgetfilereadertype) bfr
 budget file reader More...
 
type(headfilereadertype) hfr
 head file reader More...
 
type(packagebudgettype), dimension(:), allocatable gwfpackages
 used to get flows between a package and gwf More...
 
type(budgetobjecttype), pointer mvrbudobj => null()
 pointer to the mover budget budget object More...
 
character(len=16), dimension(:), allocatable flowpacknamearray
 array of boundary package names (e.g. LAK-1, SFR-3, etc.) More...
 
character(len=lenvarname) depvartype = ''
 
character(len=lenmodelname) name_model = ''
 the name of the model that contains this package More...
 
character(len=lenpackagename) packname = ''
 name of the package More...
 
character(len=lenmempath) memorypath = ''
 the location in the memory manager where the variables are stored More...
 
character(len=lenmempath) memorypathmodel = ''
 the location in the memory manager where the variables of the parent model are stored More...
 
character(len=lenmempath) input_mempath = ''
 input context mempath More...
 
character(len=linelength), pointer input_fname => null()
 input file name More...
 
character(len=lenftype) filtyp = ''
 file type (CHD, DRN, RIV, etc.) More...
 
character(len=lenftype), pointer package_type => null()
 package type (same as filtyp) stored in memory manager More...
 
integer(i4b), pointer id => null()
 consecutive package number in model More...
 
integer(i4b), pointer inunit => null()
 unit number for input file More...
 
integer(i4b), pointer iout => null()
 unit number for writing package output More...
 
integer(i4b), pointer inewton => null()
 newton flag More...
 
integer(i4b), pointer iasym => null()
 package causes matrix asymmetry More...
 
integer(i4b), pointer iprpak => null()
 integer flag to echo input More...
 
integer(i4b), pointer iprflow => null()
 flag to print simulated flows More...
 
integer(i4b), pointer ipakcb => null()
 output flows (-1, 0, 1) - save_flows More...
 
integer(i4b), pointer ionper => null()
 stress period for next data More...
 
integer(i4b), pointer lastonper => null()
 last value of ionper (for checking) More...
 
type(blockparsertype) parser
 parser object for reading blocks of information More...
 
class(disbasetype), pointer dis => null()
 model discretization object More...
 

Detailed Description

Definition at line 19 of file prt-fmi.f90.

Member Function/Subroutine Documentation

◆ accumulate_flows()

procedure, private prtfmimodule::prtfmitype::accumulate_flows
private

Definition at line 30 of file prt-fmi.f90.

◆ advance_bfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::advance_bfr
privateinherited

Definition at line 51 of file FlowModelInterface.f90.

◆ advance_hfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::advance_hfr
privateinherited

Definition at line 52 of file FlowModelInterface.f90.

◆ allocate_arrays()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::allocate_arrays
privateinherited

Definition at line 53 of file FlowModelInterface.f90.

◆ allocate_gwfpackages()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::allocate_gwfpackages
privateinherited

Definition at line 54 of file FlowModelInterface.f90.

◆ allocate_scalars()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::allocate_scalars
privateinherited

Definition at line 55 of file FlowModelInterface.f90.

◆ da()

procedure numericalpackagemodule::numericalpackagetype::da
privateinherited

Definition at line 55 of file NumericalPackage.f90.

◆ deallocate_gwfpackages()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::deallocate_gwfpackages
privateinherited

Definition at line 56 of file FlowModelInterface.f90.

◆ finalize_bfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::finalize_bfr
privateinherited

Definition at line 57 of file FlowModelInterface.f90.

◆ finalize_hfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::finalize_hfr
privateinherited

Definition at line 58 of file FlowModelInterface.f90.

◆ fmi_ad()

procedure prtfmimodule::prtfmitype::fmi_ad
private

Definition at line 28 of file prt-fmi.f90.

◆ fmi_ar()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::fmi_ar
privateinherited

Definition at line 59 of file FlowModelInterface.f90.

◆ fmi_da()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::fmi_da
privateinherited

Definition at line 60 of file FlowModelInterface.f90.

◆ fmi_df()

procedure prtfmimodule::prtfmitype::fmi_df
private

Definition at line 29 of file prt-fmi.f90.

◆ get_block_data()

procedure numericalpackagemodule::numericalpackagetype::get_block_data
privateinherited

Definition at line 57 of file NumericalPackage.f90.

◆ get_package_index()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::get_package_index
privateinherited

Definition at line 62 of file FlowModelInterface.f90.

◆ initialize_bfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::initialize_bfr
privateinherited

Definition at line 63 of file FlowModelInterface.f90.

◆ initialize_gwfterms_from_bfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::initialize_gwfterms_from_bfr
privateinherited

Definition at line 64 of file FlowModelInterface.f90.

◆ initialize_gwfterms_from_gwfbndlist()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::initialize_gwfterms_from_gwfbndlist
privateinherited

Definition at line 65 of file FlowModelInterface.f90.

◆ initialize_hfr()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::initialize_hfr
privateinherited

Definition at line 66 of file FlowModelInterface.f90.

◆ read_check_ionper()

procedure numericalpackagemodule::numericalpackagetype::read_check_ionper
privateinherited

Definition at line 56 of file NumericalPackage.f90.

◆ read_options()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::read_options
privateinherited

Definition at line 67 of file FlowModelInterface.f90.

◆ read_packagedata()

procedure flowmodelinterfacemodule::flowmodelinterfacetype::read_packagedata
privateinherited

Definition at line 68 of file FlowModelInterface.f90.

◆ set_names()

procedure numericalpackagemodule::numericalpackagetype::set_names
privateinherited

Definition at line 53 of file NumericalPackage.f90.

Member Data Documentation

◆ bfr

type(budgetfilereadertype) flowmodelinterfacemodule::flowmodelinterfacetype::bfr
privateinherited

Definition at line 42 of file FlowModelInterface.f90.

42  type(BudgetFileReaderType) :: bfr !< budget file reader

◆ boundaryflows

double precision, dimension(:), allocatable, public prtfmimodule::prtfmitype::boundaryflows

Definition at line 24 of file prt-fmi.f90.

24  double precision, allocatable, public :: BoundaryFlows(:) ! cell boundary flows array

◆ depvartype

character(len=lenvarname) flowmodelinterfacemodule::flowmodelinterfacetype::depvartype = ''
privateinherited

Definition at line 47 of file FlowModelInterface.f90.

47  character(len=LENVARNAME) :: depvartype = ''

◆ dis

class(disbasetype), pointer numericalpackagemodule::numericalpackagetype::dis => null()
privateinherited

Definition at line 50 of file NumericalPackage.f90.

50  class(DisBaseType), pointer :: dis => null() !< model discretization object

◆ filtyp

character(len=lenftype) numericalpackagemodule::numericalpackagetype::filtyp = ''
privateinherited

Definition at line 33 of file NumericalPackage.f90.

33  character(len=LENFTYPE) :: filtyp = '' !< file type (CHD, DRN, RIV, etc.)

◆ flowpacknamearray

character(len=16), dimension(:), allocatable flowmodelinterfacemodule::flowmodelinterfacetype::flowpacknamearray
privateinherited

Definition at line 46 of file FlowModelInterface.f90.

46  character(len=16), dimension(:), allocatable :: flowpacknamearray !< array of boundary package names (e.g. LAK-1, SFR-3, etc.)

◆ flows_from_file

logical, pointer flowmodelinterfacemodule::flowmodelinterfacetype::flows_from_file => null()
privateinherited

Definition at line 23 of file FlowModelInterface.f90.

23  logical, pointer :: flows_from_file => null() !< if .false., then flows come from GWF through GWF-Model exg

◆ gwfbndlist

type(listtype), pointer flowmodelinterfacemodule::flowmodelinterfacetype::gwfbndlist => null()
privateinherited

Definition at line 24 of file FlowModelInterface.f90.

24  type(ListType), pointer :: gwfbndlist => null() !< list of gwf stress packages

◆ gwfflowja

real(dp), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::gwfflowja => null()
privateinherited

Definition at line 27 of file FlowModelInterface.f90.

27  real(DP), dimension(:), pointer, contiguous :: gwfflowja => null() !< pointer to the GWF flowja array

◆ gwfhead

real(dp), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::gwfhead => null()
privateinherited

Definition at line 29 of file FlowModelInterface.f90.

29  real(DP), dimension(:), pointer, contiguous :: gwfhead => null() !< pointer to the GWF head array

◆ gwfpackages

type(packagebudgettype), dimension(:), allocatable flowmodelinterfacemodule::flowmodelinterfacetype::gwfpackages
privateinherited

Definition at line 44 of file FlowModelInterface.f90.

44  type(PackageBudgetType), dimension(:), allocatable :: gwfpackages !< used to get flows between a package and gwf

◆ gwfsat

real(dp), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::gwfsat => null()
privateinherited

Definition at line 30 of file FlowModelInterface.f90.

30  real(DP), dimension(:), pointer, contiguous :: gwfsat => null() !< pointer to the GWF saturation array

◆ gwfspdis

real(dp), dimension(:, :), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::gwfspdis => null()
privateinherited

Definition at line 28 of file FlowModelInterface.f90.

28  real(DP), dimension(:, :), pointer, contiguous :: gwfspdis => null() !< pointer to npf specific discharge array

◆ gwfstrgss

real(dp), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::gwfstrgss => null()
privateinherited

Definition at line 33 of file FlowModelInterface.f90.

33  real(DP), dimension(:), pointer, contiguous :: gwfstrgss => null() !< pointer to flow model QSTOSS

◆ gwfstrgsy

real(dp), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::gwfstrgsy => null()
privateinherited

Definition at line 34 of file FlowModelInterface.f90.

34  real(DP), dimension(:), pointer, contiguous :: gwfstrgsy => null() !< pointer to flow model QSTOSY

◆ hfr

type(headfilereadertype) flowmodelinterfacemodule::flowmodelinterfacetype::hfr
privateinherited

Definition at line 43 of file FlowModelInterface.f90.

43  type(HeadFileReaderType) :: hfr !< head file reader

◆ iasym

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iasym => null()
privateinherited

Definition at line 41 of file NumericalPackage.f90.

41  integer(I4B), pointer :: iasym => null() !< package causes matrix asymmetry

◆ ibdgwfsat0

integer(i4b), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::ibdgwfsat0 => null()
privateinherited

Definition at line 31 of file FlowModelInterface.f90.

31  integer(I4B), dimension(:), pointer, contiguous :: ibdgwfsat0 => null() !< mark cells with saturation = 0 to exclude from dispersion

◆ ibound

integer(i4b), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::ibound => null()
privateinherited

Definition at line 26 of file FlowModelInterface.f90.

26  integer(I4B), dimension(:), pointer, contiguous :: ibound => null() !< pointer to Model ibound

◆ id

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::id => null()
privateinherited

Definition at line 37 of file NumericalPackage.f90.

37  integer(I4B), pointer :: id => null() !< consecutive package number in model

◆ idryinactive

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::idryinactive => null()
privateinherited

Definition at line 32 of file FlowModelInterface.f90.

32  integer(I4B), pointer :: idryinactive => null() !< mark cells with an additional flag to exclude from deactivation (gwe will simulate conduction through dry cells)

◆ iflowsupdated

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::iflowsupdated => null()
privateinherited

Definition at line 25 of file FlowModelInterface.f90.

25  integer(I4B), pointer :: iflowsupdated => null() !< flows were updated for this time step

◆ igwfmvrterm

integer(i4b), dimension(:), pointer, contiguous flowmodelinterfacemodule::flowmodelinterfacetype::igwfmvrterm => null()
privateinherited

Definition at line 41 of file FlowModelInterface.f90.

41  integer(I4B), dimension(:), pointer, contiguous :: igwfmvrterm => null() !< flag to indicate that gwf package is a mover term

◆ igwfstrgss

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::igwfstrgss => null()
privateinherited

Definition at line 35 of file FlowModelInterface.f90.

35  integer(I4B), pointer :: igwfstrgss => null() !< indicates if gwfstrgss is available

◆ igwfstrgsy

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::igwfstrgsy => null()
privateinherited

Definition at line 36 of file FlowModelInterface.f90.

36  integer(I4B), pointer :: igwfstrgsy => null() !< indicates if gwfstrgsy is available

◆ inewton

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::inewton => null()
privateinherited

Definition at line 40 of file NumericalPackage.f90.

40  integer(I4B), pointer :: inewton => null() !< newton flag

◆ input_fname

character(len=linelength), pointer numericalpackagemodule::numericalpackagetype::input_fname => null()
privateinherited

Definition at line 32 of file NumericalPackage.f90.

32  character(len=LINELENGTH), pointer :: input_fname => null() !< input file name

◆ input_mempath

character(len=lenmempath) numericalpackagemodule::numericalpackagetype::input_mempath = ''
privateinherited

Definition at line 31 of file NumericalPackage.f90.

31  character(len=LENMEMPATH) :: input_mempath = '' !< input context mempath

◆ inunit

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::inunit => null()
privateinherited

Definition at line 38 of file NumericalPackage.f90.

38  integer(I4B), pointer :: inunit => null() !< unit number for input file

◆ ionper

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::ionper => null()
privateinherited

Definition at line 45 of file NumericalPackage.f90.

45  integer(I4B), pointer :: ionper => null() !< stress period for next data

◆ iout

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iout => null()
privateinherited

Definition at line 39 of file NumericalPackage.f90.

39  integer(I4B), pointer :: iout => null() !< unit number for writing package output

◆ ipakcb

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::ipakcb => null()
privateinherited

Definition at line 44 of file NumericalPackage.f90.

44  integer(I4B), pointer :: ipakcb => null() !< output flows (-1, 0, 1) - save_flows

◆ iprflow

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iprflow => null()
privateinherited

Definition at line 43 of file NumericalPackage.f90.

43  integer(I4B), pointer :: iprflow => null() !< flag to print simulated flows

◆ iprpak

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::iprpak => null()
privateinherited

Definition at line 42 of file NumericalPackage.f90.

42  integer(I4B), pointer :: iprpak => null() !< integer flag to echo input

◆ iubud

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::iubud => null()
privateinherited

Definition at line 37 of file FlowModelInterface.f90.

37  integer(I4B), pointer :: iubud => null() !< unit number GWF budget file

◆ iuhds

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::iuhds => null()
privateinherited

Definition at line 38 of file FlowModelInterface.f90.

38  integer(I4B), pointer :: iuhds => null() !< unit number GWF head file

◆ iumvr

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::iumvr => null()
privateinherited

Definition at line 39 of file FlowModelInterface.f90.

39  integer(I4B), pointer :: iumvr => null() !< unit number GWF mover budget file

◆ lastonper

integer(i4b), pointer numericalpackagemodule::numericalpackagetype::lastonper => null()
privateinherited

Definition at line 46 of file NumericalPackage.f90.

46  integer(I4B), pointer :: lastonper => null() !< last value of ionper (for checking)

◆ memorypath

character(len=lenmempath) numericalpackagemodule::numericalpackagetype::memorypath = ''
privateinherited

Definition at line 28 of file NumericalPackage.f90.

28  character(len=LENMEMPATH) :: memoryPath = '' !< the location in the memory manager where the variables are stored

◆ memorypathmodel

character(len=lenmempath) numericalpackagemodule::numericalpackagetype::memorypathmodel = ''
privateinherited

Definition at line 29 of file NumericalPackage.f90.

29  character(len=LENMEMPATH) :: memoryPathModel = '' !< the location in the memory manager where the variables

◆ mvrbudobj

type(budgetobjecttype), pointer flowmodelinterfacemodule::flowmodelinterfacetype::mvrbudobj => null()
privateinherited

Definition at line 45 of file FlowModelInterface.f90.

45  type(BudgetObjectType), pointer :: mvrbudobj => null() !< pointer to the mover budget budget object

◆ name_model

character(len=lenmodelname) numericalpackagemodule::numericalpackagetype::name_model = ''
privateinherited

Definition at line 26 of file NumericalPackage.f90.

26  character(len=LENMODELNAME) :: name_model = '' !< the name of the model that contains this package

◆ nflowpack

integer(i4b), pointer flowmodelinterfacemodule::flowmodelinterfacetype::nflowpack => null()
privateinherited

Definition at line 40 of file FlowModelInterface.f90.

40  integer(I4B), pointer :: nflowpack => null() !< number of GWF flow packages

◆ package_type

character(len=lenftype), pointer numericalpackagemodule::numericalpackagetype::package_type => null()
privateinherited

Definition at line 34 of file NumericalPackage.f90.

34  character(len=LENFTYPE), pointer :: package_type => null() !< package type (same as filtyp) stored in memory manager

◆ packname

character(len=lenpackagename) numericalpackagemodule::numericalpackagetype::packname = ''
privateinherited

Definition at line 27 of file NumericalPackage.f90.

27  character(len=LENPACKAGENAME) :: packName = '' !< name of the package

◆ parser

type(blockparsertype) numericalpackagemodule::numericalpackagetype::parser
privateinherited

Definition at line 49 of file NumericalPackage.f90.

49  type(BlockParserType) :: parser !< parser object for reading blocks of information

◆ sinkflows

double precision, dimension(:), allocatable, public prtfmimodule::prtfmitype::sinkflows

Definition at line 22 of file prt-fmi.f90.

22  double precision, allocatable, public :: SinkFlows(:) ! cell sink flows array

◆ sourceflows

double precision, dimension(:), allocatable, public prtfmimodule::prtfmitype::sourceflows

Definition at line 21 of file prt-fmi.f90.

21  double precision, allocatable, public :: SourceFlows(:) ! cell source flows array

◆ storageflows

double precision, dimension(:), allocatable, public prtfmimodule::prtfmitype::storageflows

Definition at line 23 of file prt-fmi.f90.

23  double precision, allocatable, public :: StorageFlows(:) ! cell storage flows array

◆ text

character(len=lenpackagename) flowmodelinterfacemodule::flowmodelinterfacetype::text = ''
privateinherited

Definition at line 22 of file FlowModelInterface.f90.

22  character(len=LENPACKAGENAME) :: text = '' !< text string for package

The documentation for this type was generated from the following file: