![]() |
MODFLOW 6
version 6.9.0.dev0
USGS Modular Hydrologic Model
|
This module contains the LoadContextModule. More...
Data Types | |
| type | readstatevartype |
| Pointer type for read state variable. More... | |
| interface | setptr |
| type | loadcontexttype |
| derived type for boundary package input context More... | |
Enumerations | |
| enum | { load_undef = 0 , list = 1 , layerarray = 2 , gridarray = 3 , keystring = 4 } |
| enum | { context_undef = 0 , root = 1 , sim = 2 , model = 3 , modelpkg = 4 , stresspkg = 5 , exchange = 6 } |
Functions/Subroutines | |
| subroutine | init (this, mf6_input, blockname, named_bound) |
| init loader context object More... | |
| subroutine | allocate_scalars (this) |
| allocate scalars More... | |
| subroutine | allocate_arrays (this) |
| allocate arrays More... | |
| subroutine | allocate_param (this, idt) |
| allocate a package dynamic input parameter More... | |
| subroutine | tags (this, params, nparam, input_name, create) |
| get in scope package params More... | |
| logical(lgp) function | in_scope (this, mf6_input, blockname, tagname) |
| establish if input parameter is in scope for package load More... | |
| subroutine | set_params (this) |
| set set of in scope parameters for package More... | |
| character(len=lenvarname) function | rsv_alloc (this, mf6varname) |
| allocate a read state variable More... | |
| subroutine | destroy (this) |
| destroy input context object More... | |
| type(inputparamdefinitiontype) function, pointer | find_setting_aggregate (mf6_input, rec_cols, nrec_col) |
| Return the KEYSTRING aggregate for the SETTING token in rec_cols, or null(). More... | |
| subroutine | expand_record_submembers (mf6_input, rec_idt, member_names, nmembers) |
| Append sub-member column names from a RECORD compound entry to member_names. More... | |
| logical(lgp) function, public | is_keystring_period (mf6_input) |
| Return .true. if mf6_input's PERIOD block uses keystring dispatch. More... | |
| logical(lgp) function, public | has_dimensions_block (mf6_input) |
| Return .true. if mf6_input is a keystring PERIOD dispatch paired with a DIMENSIONS block (e.g. SPC) rather than PACKAGEDATA. More... | |
| logical(lgp) function, public | is_cellid_addressed (mf6_input) |
| Return .true. if mf6_input is a keystring PERIOD dispatch whose leading column is CELLID (e.g. TVK/TVS) rather than a stable integer feature number. More... | |
| subroutine | keystring_member_names (this, member_names, nmembers) |
| Return keystring member column names for the PERIOD block. More... | |
| character(len=lenvarname) function, public | rsv_name (mf6varname) |
| create read state variable name More... | |
| subroutine | allocate_charstr1d (strlen, nrow, varname, mempath) |
| allocate character string type array More... | |
| subroutine | allocate_int1d (nrow, varname, mempath) |
| allocate int1d More... | |
| subroutine | allocate_int2d (ncol, nrow, varname, mempath) |
| allocate int2d More... | |
| subroutine | allocate_dbl1d (nrow, varname, mempath) |
| allocate dbl1d More... | |
| subroutine | allocate_dbl2d (ncol, nrow, varname, mempath) |
| allocate dbl2d More... | |
| subroutine | sum_named_bounds (named_bound, mempath, total) |
| sum named dimension variables from mempath More... | |
| subroutine | setval (intptr, varname, mempath) |
| allocate intptr and update from input contextset intptr to varname More... | |
| subroutine | setptr_int (intptr, varname, mempath) |
| set intptr to varname More... | |
| subroutine | setptr_charstr1d (charstr1d, varname, mempath, strlen) |
| set charstr1d pointer to varname More... | |
| subroutine | setptr_auxvar (auxvar, mempath) |
| set auxvar pointer More... | |
This module creates a load context for IDM generic loaders (ListLoadType, LayerArrayLoadType, GridArrayLoadType) that supports consistent package side access. It also determines in scope parameters for the generic dynamic loaders and all structarray based static loads.
|
private |
| Enumerator | |
|---|---|
| load_undef | undefined load type |
| list | list (structarray) based load |
| layerarray | readasarrays load |
| gridarray | readarraygrid load |
| keystring | basic keystring period block load |
Definition at line 30 of file LoadContext.f90.
|
private |
Definition at line 38 of file LoadContext.f90.
| subroutine loadcontextmodule::allocate_arrays | ( | class(loadcontexttype) | this | ) |
call this routine after input parameters have been allocated, e.g. after load_params() with create has been called for array based loaders or after all mem_create_vector() calls have been made for list based load.
Definition at line 319 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_charstr1d | ( | integer(i4b), intent(in) | strlen, |
| integer(i4b), intent(in) | nrow, | ||
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
| [in] | strlen | string number of characters |
| [in] | nrow | integer array number of rows |
| [in] | varname | variable name |
| [in] | mempath | variable mempath |
Definition at line 920 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_dbl1d | ( | integer(i4b), intent(in) | nrow, |
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
| [in] | nrow | integer array number of rows |
| [in] | varname | variable name |
| [in] | mempath | variable mempath |
Definition at line 970 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_dbl2d | ( | integer(i4b), intent(in) | ncol, |
| integer(i4b), intent(in) | nrow, | ||
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
| [in] | ncol | integer array number of cols |
| [in] | nrow | integer array number of rows |
| [in] | varname | variable name |
| [in] | mempath | variable mempath |
Definition at line 985 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_int1d | ( | integer(i4b), intent(in) | nrow, |
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
| [in] | nrow | integer array number of rows |
| [in] | varname | variable name |
| [in] | mempath | variable mempath |
Definition at line 937 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_int2d | ( | integer(i4b), intent(in) | ncol, |
| integer(i4b), intent(in) | nrow, | ||
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
| [in] | ncol | integer array number of cols |
| [in] | nrow | integer array number of rows |
| [in] | varname | variable name |
| [in] | mempath | variable mempath |
Definition at line 952 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_param | ( | class(loadcontexttype) | this, |
| type(inputparamdefinitiontype), pointer | idt | ||
| ) |
Definition at line 361 of file LoadContext.f90.

| subroutine loadcontextmodule::allocate_scalars | ( | class(loadcontexttype) | this | ) |
Definition at line 228 of file LoadContext.f90.

| subroutine loadcontextmodule::destroy | ( | class(loadcontexttype) | this | ) |
Definition at line 662 of file LoadContext.f90.
| subroutine loadcontextmodule::expand_record_submembers | ( | type(modflowinputtype), intent(in) | mf6_input, |
| type(inputparamdefinitiontype), intent(in), pointer | rec_idt, | ||
| character(len=linelength), dimension(:), intent(inout), allocatable | member_names, | ||
| integer(i4b), intent(inout) | nmembers | ||
| ) |
Definition at line 730 of file LoadContext.f90.


|
private |
Definition at line 699 of file LoadContext.f90.


| logical(lgp) function, public loadcontextmodule::has_dimensions_block | ( | type(modflowinputtype), intent(in) | mf6_input | ) |
Definition at line 795 of file LoadContext.f90.


| logical(lgp) function loadcontextmodule::in_scope | ( | class(loadcontexttype) | this, |
| type(modflowinputtype), intent(in) | mf6_input, | ||
| character(len=*), intent(in) | blockname, | ||
| character(len=*), intent(in) | tagname | ||
| ) |
Definition at line 478 of file LoadContext.f90.

|
private |
Definition at line 109 of file LoadContext.f90.

| logical(lgp) function, public loadcontextmodule::is_cellid_addressed | ( | type(modflowinputtype), intent(in) | mf6_input | ) |
Definition at line 818 of file LoadContext.f90.


| logical(lgp) function, public loadcontextmodule::is_keystring_period | ( | type(modflowinputtype), intent(in) | mf6_input | ) |
Definition at line 764 of file LoadContext.f90.


|
private |
Column order follows the KEYSTRING aggregate definition token list, which is the single authoritative source of order — independent of the order in which individual params appear in param_dfns. For each token in the aggregate:
Definition at line 842 of file LoadContext.f90.

| character(len=lenvarname) function loadcontextmodule::rsv_alloc | ( | class(loadcontexttype) | this, |
| character(len=*), intent(in) | mf6varname | ||
| ) |
Create and set a read state variable, e.g. 'INRECHARGE', which are updated per iper load as follows: -1: unset, not in use 0: not read in most recent period block 1: numeric input read in most recent period block 2: time series input read in most recent period block
Definition at line 648 of file LoadContext.f90.

| character(len=lenvarname) function, public loadcontextmodule::rsv_name | ( | character(len=*), intent(in) | mf6varname | ) |
| subroutine loadcontextmodule::set_params | ( | class(loadcontexttype) | this | ) |
| subroutine loadcontextmodule::setptr_auxvar | ( | real(dp), dimension(:, :), intent(inout), pointer, contiguous | auxvar, |
| character(len=*), intent(in) | mempath | ||
| ) |
Definition at line 1079 of file LoadContext.f90.
| subroutine loadcontextmodule::setptr_charstr1d | ( | type(characterstringtype), dimension(:), intent(inout), pointer, contiguous | charstr1d, |
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath, | ||
| integer(i4b), intent(in) | strlen | ||
| ) |
Definition at line 1060 of file LoadContext.f90.
| subroutine loadcontextmodule::setptr_int | ( | integer(i4b), intent(inout), pointer | intptr, |
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
Definition at line 1043 of file LoadContext.f90.
| subroutine loadcontextmodule::setval | ( | integer(i4b), intent(inout), pointer | intptr, |
| character(len=*), intent(in) | varname, | ||
| character(len=*), intent(in) | mempath | ||
| ) |
Definition at line 1029 of file LoadContext.f90.

| subroutine loadcontextmodule::sum_named_bounds | ( | character(len=*), dimension(:), intent(in) | named_bound, |
| character(len=*), intent(in) | mempath, | ||
| integer(i4b), intent(inout) | total | ||
| ) |
Loops over each name in named_bound and accumulates its value from mempath into total. Variables not present in mempath are silently skipped.
Definition at line 1008 of file LoadContext.f90.


| subroutine loadcontextmodule::tags | ( | class(loadcontexttype) | this, |
| character(len=linelength), dimension(:), intent(inout), allocatable | params, | ||
| integer(i4b), intent(inout) | nparam, | ||
| character(len=*), intent(in) | input_name, | ||
| logical(lgp), intent(in), optional | create | ||
| ) |
set input array to tagnames of in scope params, optionally allocate the parameters based on datatype.
Definition at line 429 of file LoadContext.f90.
