![]() |
MODFLOW 6
version 6.8.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 , advanced = 5 } |
| 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... | |
| 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 |
Definition at line 28 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 305 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 865 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 915 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 930 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 882 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 897 of file LoadContext.f90.

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

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

| subroutine loadcontextmodule::destroy | ( | class(loadcontexttype) | this | ) |
Definition at line 653 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 716 of file LoadContext.f90.


|
private |
Definition at line 685 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 466 of file LoadContext.f90.

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

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


| subroutine loadcontextmodule::keystring_member_names | ( | class(loadcontexttype) | this, |
| character(len=linelength), dimension(:), intent(out), allocatable | member_names, | ||
| integer(i4b), intent(out) | nmembers | ||
| ) |
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 787 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 639 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 1024 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 1005 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 988 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 974 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 953 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 417 of file LoadContext.f90.
