![]() |
MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
|


Public Member Functions | |
| procedure | pcp_allocate_scalars (this) |
| Allocate scalar members. | |
| procedure | allocate_arrays (this, nodelist, auxvar) |
| Allocate package arrays. | |
| procedure | source_options (this) |
| Source options specific to PCPType. | |
| procedure | source_dimensions (this) |
| Source the dimensions for this package. | |
| procedure | log_pcp_options (this, found_readasarrays) |
| Log options specific to SwfPcpType. | |
| procedure | read_initial_attr (this) |
| Part of allocate and read. | |
| procedure | bnd_rp (this) |
| Read and Prepare. | |
| procedure | bnd_ck (this) |
| Ensure precipitation is positive. | |
| procedure | bnd_cf (this) |
| Formulate the HCOF and RHS terms. | |
| procedure | bnd_fc (this, rhs, ia, idxglo, matrix_sln) |
| Copy rhs and hcof into solution rhs and amat. | |
| procedure | bnd_da (this) |
| Deallocate memory. | |
| procedure | define_listlabel (this) |
| Define the list heading that is written to iout when PRINT_INPUT option is used. | |
| procedure | bound_value (this, col, row) |
| Return requested boundary value. | |
| procedure | default_nodelist (this) |
| Assign default nodelist when READASARRAYS is specified. | |
| procedure, public | bnd_obs_supported (this) |
| Overrides BndTypebnd_obs_supported(). | |
| procedure, public | bnd_df_obs (this) |
| Implements bnd_df_obs. | |
| procedure | bnd_df (this, neq, dis) |
| @ brief Define boundary package options and dimensions | |
| procedure, public | bnd_df (this, neq, dis) |
| @ brief Define boundary package options and dimensions | |
| procedure | bnd_ad (this) |
| Advance the package one time step. | |
| procedure | bnd_ad (this) |
| @ brief Advance the boundary package | |
| procedure | bnd_rp (this) |
| procedure | bnd_rp (this) |
| @ brief Allocate and read method for package | |
| procedure | bnd_rp_log (this) |
| Write the input list to the listing file if requested. | |
| procedure, public | bnd_rp_log (this) |
| Log period input for a boundary package. | |
| procedure | validate_ifno (this, ifno_val, nfeatures, nboundchk, feature_label, blockname) |
| @ brief Validate a list-input row's IFNO and update the per-feature coverage counter | |
| procedure | report_ifno_coverage (this, nboundchk, nfeatures, feature_label, blockname, check_missing) |
| @ brief Report missing or duplicate list-input rows for each feature | |
| procedure | bnd_da (this) |
| @ brief Deallocate package memory | |
| procedure | bnd_da (this) |
| @ brief Deallocate package memory | |
| procedure | allocate_scalars (this) |
| @ brief Allocate package scalars | |
| procedure | allocate_scalars (this) |
| @ brief Allocate package scalars | |
| procedure | allocate_scalars (this) |
| @ brief Allocate package scalars | |
| procedure | allocate_arrays (this, nodelist, auxvar) |
| @ brief Allocate package arrays | |
| procedure | allocate_arrays (this, nodelist, auxvar) |
| @ brief Allocate package arrays | |
| procedure | allocate_featureauxvar (this) |
| Point the per-feature auxiliary variable array at the input context's permanent, feature-indexed AUX array. For packages with PACKAGEDATA AUX variables only. A live alias, permuted from row order to IFNO order, skipping out-of-range IFNO. | |
| procedure | source_options (this) |
| @ brief Source package options from input context | |
| procedure | log_options (this, found, sfacauxname) |
| @ brief Log package options | |
| procedure | source_dimensions (this) |
| @ brief Source package dimensions from input context | |
| procedure | cellid_to_nlist (this) |
| @ brief Update package nodelist | |
| procedure | nodeu_to_nlist (this) |
| @ brief Update package nodelist | |
| procedure | layarr_to_nlist (this) |
| Update the nodelist based on layer number variable input. | |
| procedure | default_nodelist (this) |
| Assign default nodelist when READASARRAYS is specified. | |
| procedure | check_cellid (this, ii, cellid, mshape, ndim) |
| @ brief Check for valid cellid | |
| procedure | write_lstfile (this) |
| @ brief Log package stress period input | |
| procedure | bound_value (this, col, row) |
| @ brief Return a bound value | |
| procedure | bnd_ac (this, moffset, sparse) |
| @ brief Add boundary package connection to matrix | |
| procedure | bnd_mc (this, moffset, matrix_sln) |
| @ brief Map boundary package connection to matrix | |
| procedure | bnd_ar (this) |
| @ brief Allocate and read method for boundary package | |
| procedure | bnd_ck (this) |
| @ brief Check boundary package period data | |
| procedure | bnd_reset (this) |
| @ brief Reset bnd package before formulating | |
| procedure | bnd_cf (this) |
| @ brief Formulate the package hcof and rhs terms. | |
| procedure | bnd_fc (this, rhs, ia, idxglo, matrix_sln) |
| @ brief Copy hcof and rhs terms into solution. | |
| procedure | bnd_fn (this, rhs, ia, idxglo, matrix_sln) |
| @ brief Add Newton-Raphson terms for package into solution. | |
| procedure | bnd_nur (this, neqpak, x, xtemp, dx, inewtonur, dxmax, locmax) |
| @ brief Apply Newton-Raphson under-relaxation for package. | |
| procedure | bnd_cc (this, innertot, kiter, iend, icnvgmod, cpak, ipak, dpak) |
| @ brief Convergence check for package. | |
| procedure | bnd_cq (this, x, flowja, iadv) |
| @ brief Calculate advanced package flows. | |
| procedure | bnd_bd (this, model_budget) |
| @ brief Add package flows to model budget. | |
| procedure | bnd_ot_model_flows (this, icbcfl, ibudfl, icbcun, imap) |
| @ brief Output package flow terms. | |
| procedure | bnd_ot_package_flows (this, icbcfl, ibudfl) |
| @ brief Output advanced package flow terms. | |
| procedure | bnd_ot_dv (this, idvsave, idvprint) |
| @ brief Output advanced package dependent-variable terms. | |
| procedure | bnd_ot_bdsummary (this, kstp, kper, iout, ibudfl) |
| @ brief Output advanced package budget summary. | |
| procedure | bnd_dt (this) |
| Submit an ATS time step request (no-op by default). | |
| procedure | bnd_fp (this) |
| Final processing at end of simulation (no-op by default). | |
| procedure | pack_initialize (this) |
| @ brief Allocate and initialize select package members | |
| procedure | read_options (this) |
| @ brief Read additional options for package | |
| procedure | read_dimensions (this) |
| @ brief Read dimensions for package | |
| procedure | read_initial_attr (this) |
| @ brief Read initial parameters for package | |
| procedure | bnd_options (this, option, found) |
| @ brief Read additional options for package | |
| procedure | bnd_cq_simrate (this, hnew, flowja, imover) |
| @ brief Calculate simrate. | |
| procedure | bnd_cq_simtomvr (this, flowja) |
| @ brief Calculate flow to the mover. | |
| procedure | set_pointers (this, neq, ibound, xnew, xold, flowja) |
| @ brief Set pointers to model variables | |
| procedure | define_listlabel (this) |
| @ brief Define the list label for the package | |
| procedure | copy_boundname (this) |
| @ brief Copy boundnames into boundnames_cst | |
| procedure, public | bnd_obs_supported (this) |
| Determine if observations are supported. | |
| procedure, public | bnd_df_obs (this) |
| Define the observation types available in the package. | |
| procedure, public | bnd_bd_obs (this) |
| Save observations for the package. | |
| procedure, public | bnd_ot_obs (this) |
| Output observations for the package. | |
| procedure, public | bnd_rp_obs (this) |
| Read and prepare observations for a package. | |
| procedure, public | bnd_rp_ts (this) |
| Assign time series links for the package. | |
| procedure, public | bnd_activate_viscosity (this) |
| Activate viscosity terms. | |
| procedure | set_names (this, ibcnum, name_model, pakname, ftype, input_mempath) |
| @ brief Set package names | |
| procedure | da (this) |
| @ brief Deallocate package scalars | |
| procedure | read_check_ionper (this) |
| @ brief Check ionper | |
| procedure | get_block_data (this, tags, lfound, varinames) |
| @ brief Read griddata block for a package | |
Public Attributes | |
| real(dp), dimension(:), pointer, contiguous | precipitation => null() |
| boundary precipitation array | |
| type(swfdfwtype), pointer | dfw |
| type(swfcxstype), pointer | cxs |
| integer(i4b), pointer | iper |
| logical(lgp), pointer | readarraygrid |
| logical(lgp), pointer | readasarrays |
| logical(lgp), pointer | ts_active |
| .true. if TS6 files are configured in OPTIONS | |
| integer(i4b), dimension(:, :), pointer, contiguous | cellid => null() |
| input user cellid list | |
| integer(i4b), dimension(:), pointer, contiguous | nodeulist => null() |
| input user nodelist | |
| integer(i4b), dimension(:), pointer, contiguous | pkg_ifno => null() |
| advanced feature index | |
| real(dp), dimension(:, :), pointer, contiguous | featureauxvar => null() |
| advanced per-feature AUX array | |
| character(len=lenlistlabel), pointer | listlabel => null() |
| title of table written for RP | |
| character(len=lenpackagename) | text = '' |
| text string for package flow term | |
| character(len=lenauxname), dimension(:), pointer, contiguous | auxname => null() |
| vector of auxname | |
| type(characterstringtype), dimension(:), pointer, contiguous | auxname_cst => null() |
| copy of vector auxname that can be stored in memory manager | |
| character(len=lenboundname), dimension(:), pointer, contiguous | boundname => null() |
| vector of boundnames | |
| type(characterstringtype), dimension(:), pointer, contiguous | boundname_cst => null() |
| copy of vector boundname that can be stored in memory manager | |
| integer(i4b), pointer | isadvpak => null() |
| flag indicating package is advanced (1) or not (0) | |
| integer(i4b), pointer | ibcnum => null() |
| consecutive package number for this boundary condition | |
| integer(i4b), pointer | maxbound => null() |
| max number of boundaries | |
| integer(i4b), pointer | nbound => null() |
| number of boundaries for current stress period | |
| integer(i4b), pointer | ncolbnd => null() |
| number of columns of the bound array | |
| integer(i4b), pointer | iscloc => null() |
| bound column to scale with SFAC | |
| integer(i4b), pointer | naux => null() |
| number of auxiliary variables | |
| integer(i4b), pointer | inamedbound => null() |
| flag to read boundnames | |
| integer(i4b), pointer | iauxmultcol => null() |
| column to use as multiplier for column iscloc | |
| integer(i4b), pointer | npakeq => null() |
| number of equations in this package (normally 0 unless package adds rows to matrix) | |
| integer(i4b), pointer | ioffset => null() |
| offset of this package in the model | |
| integer(i4b), dimension(:), pointer, contiguous | nodelist => null() |
| vector of reduced node numbers | |
| integer(i4b), dimension(:), pointer, contiguous | noupdateauxvar => null() |
| override auxvars from being updated | |
| real(dp), dimension(:, :), pointer, contiguous | bound => null() |
| array of package specific boundary numbers | |
| real(dp), dimension(:), pointer, contiguous | hcof => null() |
| diagonal contribution | |
| real(dp), dimension(:), pointer, contiguous | rhs => null() |
| right-hand side contribution | |
| real(dp), dimension(:, :), pointer, contiguous | auxvar => null() |
| auxiliary variable array | |
| real(dp), dimension(:), pointer, contiguous | simvals => null() |
| simulated values | |
| real(dp), dimension(:), pointer, contiguous | simtomvr => null() |
| simulated to mover values | |
| integer(i4b), pointer | imover => null() |
| flag indicating if the mover is active in the package | |
| type(packagemovertype), pointer | pakmvrobj => null() |
| mover object for package | |
| integer(i4b), pointer | ivsc => null() |
| flag indicating if viscosity is active in the model | |
| real(dp), dimension(:), pointer, contiguous | condinput => null() |
| stores user-specified conductance values | |
| type(timeseriesmanagertype), pointer | tsmanager => null() |
| time series manager | |
| type(timearrayseriesmanagertype), pointer | tasmanager => null() |
| time array series manager | |
| integer(i4b) | indxconvertflux = 0 |
| indxconvertflux is column of bound to multiply by area to convert flux to rate | |
| logical(lgp) | allowtimearrayseries = .false. |
| integer(i4b), pointer | inobspkg => null() |
| unit number for obs package | |
| type(obstype), pointer | obs => null() |
| observation package | |
| integer(i4b), pointer | neq |
| number of equations for model | |
| integer(i4b), dimension(:), pointer, contiguous | ibound => null() |
| model ibound array | |
| real(dp), dimension(:), pointer, contiguous | xnew => null() |
| model dependent variable (head) for this time step | |
| real(dp), dimension(:), pointer, contiguous | xold => null() |
| model dependent variable for last time step | |
| real(dp), dimension(:), pointer, contiguous | flowja => null() |
| model intercell flows | |
| integer(i4b), dimension(:), pointer, contiguous | icelltype => null() |
| pointer to icelltype array in NPF | |
| character(len=lenmempath) | ictmempath = '' |
| memory path to the icelltype data (for GWF this is in NPF) | |
| type(tabletype), pointer | inputtab => null() |
| input table object | |
| type(tabletype), pointer | outputtab => null() |
| output table object for package flows writtent to the model listing file | |
| type(tabletype), pointer | errortab => null() |
| package error table | |
| character(len=lenmodelname) | name_model = '' |
| the name of the model that contains this package | |
| character(len=lenpackagename) | packname = '' |
| name of the package | |
| character(len=lenmempath) | memorypath = '' |
| the location in the memory manager where the variables are stored | |
| character(len=lenmempath) | memorypathmodel = '' |
| the location in the memory manager where the variables of the parent model are stored | |
| character(len=lenmempath) | input_mempath = '' |
| input context mempath | |
| character(len=linelength), pointer | input_fname => null() |
| input file name | |
| character(len=lenftype) | filtyp = '' |
| file type (CHD, DRN, RIV, etc.) | |
| character(len=lenftype), pointer | package_type => null() |
| package type (same as filtyp) stored in memory manager | |
| integer(i4b), pointer | id => null() |
| consecutive package number in model | |
| integer(i4b), pointer | inunit => null() |
| unit number for input file | |
| integer(i4b), pointer | iout => null() |
| unit number for writing package output | |
| integer(i4b), pointer | inewton => null() |
| newton flag | |
| integer(i4b), pointer | iasym => null() |
| package causes matrix asymmetry | |
| integer(i4b), pointer | iprpak => null() |
| integer flag to echo input | |
| integer(i4b), pointer | iprflow => null() |
| flag to print simulated flows | |
| integer(i4b), pointer | ipakcb => null() |
| output flows (-1, 0, 1) - save_flows | |
| integer(i4b), pointer | ionper => null() |
| stress period for next data | |
| integer(i4b), pointer | lastonper => null() |
| last value of ionper (for checking) | |
| type(blockparsertype) | parser |
| parser object for reading blocks of information | |
| class(disbasetype), pointer | dis => null() |
| model discretization object | |
Private Member Functions | |
| procedure, private | reach_length_pointer (this) |
| procedure, private | pak_setup_outputtab (this) |
| @ brief Setup output table for package | |
| procedure, private | bnd_store_user_cond (this, nlist, rlist, condinput) |
| @ brief Store user-specified conductances when vsc is active | |
Private Attributes | |
| logical, pointer, private | read_as_arrays |
Definition at line 36 of file swf-pcp.f90.
|
inherited |
Allocate and initialize base boundary package arrays. This method only needs to be overridden if additional arrays are defined for a specific package.
| this | BndExtType object |
| nodelist | package nodelist |
| auxvar | package aux variable array |
Definition at line 54 of file BoundaryPackageExt.f90.
|
inherited |
Allocate and initialize base boundary package arrays. This method only needs to be overridden if additional arrays are defined for a specific package.
| this | BndType object |
| nodelist | package nodelist |
| auxvar | package aux variable array |
Definition at line 139 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::allocate_arrays | ( | class(swfpcptype) | this, |
| integer(i4b), dimension(:), optional, pointer, contiguous | nodelist, | ||
| real(dp), dimension(:, :), optional, pointer, contiguous | auxvar ) |
Definition at line 47 of file swf-pcp.f90.
|
inherited |
| this | BndExtType object |
Definition at line 55 of file BoundaryPackageExt.f90.
|
inherited |
Allocate and initialize base boundary package scalars. This method only needs to be overridden if additional scalars are defined for a specific package.
| this | BndExtType object |
Definition at line 53 of file BoundaryPackageExt.f90.
|
inherited |
Allocate and initialize base boundary package scalars. This method only needs to be overridden if additional scalars are defined for a specific package.
| this | BndType object |
Definition at line 138 of file BoundaryPackage.f90.
|
inherited |
Allocate and initialize base numerical package scalars.
| this | NumericalPackageType object |
Definition at line 54 of file NumericalPackage.f90.
|
inherited |
Add boundary package connection to the matrix for packages that add connections to the coefficient matrix. An example would be the GWF model MAW package. Base implementation that must be extended.
| [in,out] | this | BndType object |
| [in] | moffset | solution matrix model offset |
| [in,out] | sparse | sparse object |
Definition at line 116 of file BoundaryPackage.f90.
|
inherited |
Method to activate addition of viscosity terms when package type is DRN, GHB, or RIV (method not needed by other packages at this point)
| [in,out] | this | BndType object |
Definition at line 164 of file BoundaryPackage.f90.
|
inherited |
Does not call thisTsManagerad()/thisTasManagerad() – those managers are unused by this type (see bndext_df).
Definition at line 47 of file BoundaryPackageExt.f90.
|
inherited |
Advance data in the boundary package. The method sets advances time series, time array series, and observation data. A boundary package only needs to override this method if additional data needs to be advanced.
| this | BndType object |
Definition at line 120 of file BoundaryPackage.f90.
|
inherited |
Generic method to allocate and read static data for model boundary packages. A boundary package only needs to override this method if input data varies from the standard boundary package.
| [in,out] | this | BndType object |
Definition at line 118 of file BoundaryPackage.f90.
|
inherited |
Add the flow between package and the model (ratin and ratout) to the model budget. This method only needs to be overridden if a different calculation needs to be made.
| this | BndType object | |
| [in,out] | model_budget | model budget object |
Definition at line 129 of file BoundaryPackage.f90.
|
inherited |
Method to save simulated values for the boundary package. This method will need to be overridden for boundary packages with more observations than the calculate flow term (simvals) and to-mover.
| this | BndType object |
Definition at line 155 of file BoundaryPackage.f90.
|
inherited |
Perform additional convergence checks on the flow between the package and the model it is attached to. This additional convergence check is applied to packages that solve their own continuity equation as part of the formulate step at the beginning of a Picard iteration. A boundary package only needs to override this method if a specific boundary package solves its own continuity equation. Example packages that implement this additional convergence check is the CSUB, SFR, LAK, and UZF packages.
| [in,out] | this | BndType object |
| [in] | innertot | total number of inner iterations |
| [in] | kiter | Picard iteration number |
| [in] | iend | flag indicating if this is the last Picard iteration |
| [in] | icnvgmod | flag inficating if the model has met specific convergence criteria |
| [in,out] | cpak | string for user node |
| [in,out] | ipak | location of the maximum dependent variable change |
| [in,out] | dpak | maximum dependent variable change |
Definition at line 127 of file BoundaryPackage.f90.
|
inherited |
Formulate the hcof and rhs terms for the package that will be added to the coefficient matrix and right-hand side vector. Base implementation that must be extended by each model boundary package.
| this | BndType object |
Definition at line 123 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::bnd_cf | ( | class(swfpcptype) | this | ) |
Skip if no precipitation. Otherwise, calculate hcof and rhs
Definition at line 54 of file swf-pcp.f90.
|
inherited |
Check the boundary package period data. Base implementation that must be extended by each model boundary package.
| [in,out] | this | BndType object |
Definition at line 121 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::bnd_ck | ( | class(swfpcptype), intent(inout) | this | ) |
Definition at line 53 of file swf-pcp.f90.
|
inherited |
Calculate the flow between connected advanced package control volumes. Only advanced boundary packages need to override this method.
| [in,out] | this | BndType object |
| [in] | x | current dependent-variable value |
| [in,out] | flowja | flow between two connected control volumes |
| [in] | iadv | flag that indicates if this is an advance package |
Definition at line 128 of file BoundaryPackage.f90.
|
inherited |
Calculate the flow between package and the model (for example, GHB and groundwater cell) and store in the simvals variable. This method only needs to be overridden if a different calculation needs to be made.
| this | BndType object | |
| [in] | hnew | current dependent-variable value |
| [in,out] | flowja | flow between package and model |
| [in] | imover | flag indicating if the mover package is active |
Definition at line 145 of file BoundaryPackage.f90.
|
inherited |
Calculate the flow between package and the model that is sent to the mover package and store in the simtomvr variable. This method only needs to be overridden if a different calculation needs to be made.
| this | BndType object | |
| [in,out] | flowja | flow between package and model |
Definition at line 146 of file BoundaryPackage.f90.
|
inherited |
| this | BndExtType object |
Definition at line 52 of file BoundaryPackageExt.f90.
|
inherited |
Deallocate base boundary package scalars and arrays. This method only needs to be overridden if additional variables are defined for a specific package.
| this | BndType object |
Definition at line 136 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::bnd_da | ( | class(swfpcptype) | this | ) |
Definition at line 56 of file swf-pcp.f90.
|
inherited |
Define base boundary package options and dimensions for a model boundary package.
| [in,out] | this | BndExtType object |
| [in,out] | neq | number of equations |
| dis | discretization object |
Definition at line 46 of file BoundaryPackageExt.f90.
|
inherited |
Define base boundary package options and dimensions for a model boundary package.
| [in,out] | this | BndType object |
| [in,out] | neq | number of equations |
| dis | discretization object |
Definition at line 115 of file BoundaryPackage.f90.
|
inherited |
Method to define the observation types available in a boundary package. This method should be overridden if observations are supported in a boundary package.
| this | BndType object |
Definition at line 154 of file BoundaryPackage.f90.
| procedure, public swfpcpmodule::swfpcptype::bnd_df_obs | ( | class(swfpcptype) | this | ) |
Store observation type supported by PCP package. Overrides BndTypebnd_df_obs
Definition at line 63 of file swf-pcp.f90.
|
inherited |
| this | BndType object |
Definition at line 134 of file BoundaryPackage.f90.
|
inherited |
Add the hcof and rhs terms for the boundary package to the coefficient matrix and right-hand side vector. A boundary package only needs to override this method if it is different for a specific boundary package.
| this | BndType object | |
| [in,out] | rhs | right-hand side vector for model |
| [in] | ia | solution CRS row pointers |
| [in] | idxglo | mapping vector for model (local) to solution (global) |
| matrix_sln | solution coefficient matrix |
Definition at line 124 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::bnd_fc | ( | class(swfpcptype) | this, |
| real(dp), dimension(:), intent(inout) | rhs, | ||
| integer(i4b), dimension(:), intent(in) | ia, | ||
| integer(i4b), dimension(:), intent(in) | idxglo, | ||
| class(matrixbasetype), pointer | matrix_sln ) |
Definition at line 55 of file swf-pcp.f90.
|
inherited |
Calculate and add the Newton-Raphson terms for the boundary package to the coefficient matrix and right-hand side vector. A boundary package only needs to override this method if a specific boundary package needs to add Newton-Raphson terms.
| this | BndType object | |
| [in,out] | rhs | right-hand side vector for model |
| [in] | ia | solution CRS row pointers |
| [in] | idxglo | mapping vector for model (local) to solution (global) |
| matrix_sln | solution coefficient matrix |
Definition at line 125 of file BoundaryPackage.f90.
|
inherited |
| this | BndType object |
Definition at line 135 of file BoundaryPackage.f90.
|
inherited |
Map boundary package connection to the matrix for packages that add connections to the coefficient matrix. An example would be the GWF model MAW package. Base implementation that must be extended.
| [in,out] | this | BndType object |
| [in] | moffset | solution matrix model offset |
| matrix_sln | global system matrix |
Definition at line 117 of file BoundaryPackage.f90.
|
inherited |
Apply Newton-Raphson under-relaxation for a boundary package. A boundary package only needs to override this method if a specific boundary package needs to apply Newton-Raphson under-relaxation. An example is the MAW package which adds rows to the system of equations and may need to have the dependent-variable constrained by the bottom of the model.
| [in,out] | this | BndType object |
| [in] | neqpak | number of equations in the package |
| [in,out] | x | dependent variable |
| [in] | xtemp | previous dependent variable |
| [in,out] | dx | change in dependent variable |
| [in,out] | inewtonur | flag indicating if newton-raphson under-relaxation should be applied |
| [in,out] | dxmax | maximum change in the dependent variable |
| [in,out] | locmax | location of the maximum change in the dependent variable |
Definition at line 126 of file BoundaryPackage.f90.
|
inherited |
Function to determine if observations are supported by the boundary package. By default, observations are not supported. This method should be overridden if observations are supported in a boundary package.
| this | BndType object |
Definition at line 153 of file BoundaryPackage.f90.
| procedure, public swfpcpmodule::swfpcptype::bnd_obs_supported | ( | class(swfpcptype) | this | ) |
Definition at line 62 of file swf-pcp.f90.
|
inherited |
Read additional options for a boundary package. This method should be overridden options in addition to the base options are implemented in a boundary package.
| [in,out] | this | BndType object |
| [in,out] | option | option keyword string |
| [in,out] | found | boolean indicating if the option was found |
Definition at line 144 of file BoundaryPackage.f90.
|
inherited |
Output advanced boundary package budget summary. This method only needs to be overridden for advanced packages that save budget summaries to the model listing file.
| this | BndType object | |
| [in] | kstp | time step number |
| [in] | kper | period number |
| [in] | iout | flag and unit number for the model listing file |
| [in] | ibudfl | flag indicating budget should be written |
Definition at line 133 of file BoundaryPackage.f90.
|
inherited |
Output advanced boundary package dependent-variable terms. This method only needs to be overridden for advanced packages that save dependent variable terms for each control volume.
| this | BndType object | |
| [in] | idvsave | flag and unit number for dependent-variable output |
| [in] | idvprint | flag indicating if dependent-variable should be written to the model listing file |
Definition at line 132 of file BoundaryPackage.f90.
|
inherited |
Output flow terms between the boundary package and model to a binary file and/or print flows to the model listing file. This method should not need to be overridden.
| this | BndType object | |
| [in] | icbcfl | flag for cell-by-cell output |
| [in] | ibudfl | flag indication if cell-by-cell data should be saved |
| [in] | icbcun | unit number for cell-by-cell output |
| [in] | imap | mapping vector that converts the 1 to nbound values to lake number, maw number, etc. |
Definition at line 130 of file BoundaryPackage.f90.
|
inherited |
Method to output simulated values for the boundary package. This method should not need to be overridden.
| this | BndType object |
Definition at line 156 of file BoundaryPackage.f90.
|
inherited |
Output advanced boundary package flow terms. This method only needs to be overridden for advanced packages that save flow terms than contribute to the continuity equation for each control volume.
| this | BndType object | |
| [in] | icbcfl | flag and unit number for cell-by-cell output |
| [in] | ibudfl | flag indication if cell-by-cell data should be saved |
Definition at line 131 of file BoundaryPackage.f90.
|
inherited |
| this | BndType object |
Definition at line 122 of file BoundaryPackage.f90.
|
inherited |
| [in,out] | this | BndExtType object |
Definition at line 48 of file BoundaryPackageExt.f90.
|
inherited |
Generic method to read and prepare period data for model boundary packages. A boundary package only needs to override this method if period data varies from the standard boundary package.
| [in,out] | this | BndType object |
Definition at line 119 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::bnd_rp | ( | class(swfpcptype), intent(inout) | this | ) |
Read itmp and read new boundaries if itmp > 0
Definition at line 52 of file swf-pcp.f90.
|
inherited |
Called from model control files after bnd_rp(), which ensures bound_value() dispatches to the correct derived type.
Definition at line 49 of file BoundaryPackageExt.f90.
|
inherited |
Write stress period input to the listing file if requested. This default implementation is a no-op; BndExtType overrides it.
Definition at line 158 of file BoundaryPackage.f90.
|
inherited |
Method to read and prepare observations for a boundary package This method should not need to be overridden for most boundary packages.
| [in,out] | this | BndType object |
Definition at line 157 of file BoundaryPackage.f90.
|
inherited |
Assign the time series links for the boundary package. This method will need to be overridden for boundary packages that support time series.
Definition at line 161 of file BoundaryPackage.f90.
|
privateinherited |
VSC will update boundary package conductance values. Because viscosity can change every stress period, but user-specified conductances may not, the base user-input should be stored in backup array so that viscosity-updated conductances may be recalculated every stress period/time step
| [in,out] | this | BndType object |
Definition at line 167 of file BoundaryPackage.f90.
|
inherited |
Return a bound value associated with an ncolbnd index and row. This function should be overridden in the derived package class.
| [in,out] | this | BndExtType object |
Definition at line 65 of file BoundaryPackageExt.f90.
| procedure swfpcpmodule::swfpcptype::bound_value | ( | class(swfpcptype), intent(inout) | this, |
| integer(i4b), intent(in) | col, | ||
| integer(i4b), intent(in) | row ) |
Definition at line 58 of file swf-pcp.f90.
|
inherited |
Convert period updated cellids to node numbers.
| this | BndExtType object |
Definition at line 59 of file BoundaryPackageExt.f90.
|
inherited |
| this | BndExtType object | |
| [in] | mshape | model shape |
| [in] | ndim | size of mshape |
Definition at line 63 of file BoundaryPackageExt.f90.
|
inherited |
boundnames_cst is an array of type(CharacterStringType), which can be stored in the MemoryManager.
| [in,out] | this | BndType object |
Definition at line 149 of file BoundaryPackage.f90.
|
inherited |
Deallocate and initialize base numerical package scalars.
| this | NumericalPackageType object |
Definition at line 55 of file NumericalPackage.f90.
|
inherited |
Equivalent to reading layer number array as CONSTANT 1
Definition at line 62 of file BoundaryPackageExt.f90.
| procedure swfpcpmodule::swfpcptype::default_nodelist | ( | class(swfpcptype) | this | ) |
Definition at line 59 of file swf-pcp.f90.
|
inherited |
Method defined the list label for the boundary package. This method needs to be overridden by each boundary package.
| [in,out] | this | BndType object |
Definition at line 148 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::define_listlabel | ( | class(swfpcptype), intent(inout) | this | ) |
Definition at line 57 of file swf-pcp.f90.
|
inherited |
Generic method to read data in the GRIDDATA block for a package.
| this | NumericalPackageType object | |
| [in] | tags | vector with variable tags |
| [in,out] | lfound | boolean vector indicating of a variable tag was found |
| [in] | varinames | optional vector of variable names |
Definition at line 57 of file NumericalPackage.f90.
|
inherited |
This is a module scoped routine to check for I<filtyp> input. If array input was provided, INI<filtyp> and I<filtyp> will be allocated in the input context. If the read state variable INI<filtyp> is set to 1 during this period update, I<filtyp> input was read and is used here to update the nodelist.
| this | BndExtType object |
Definition at line 61 of file BoundaryPackageExt.f90.
|
inherited |
| [in,out] | this | BndExtType object |
Definition at line 57 of file BoundaryPackageExt.f90.
| procedure swfpcpmodule::swfpcptype::log_pcp_options | ( | class(swfpcptype), intent(inout) | this, |
| logical(lgp), intent(in) | found_readasarrays ) |
Definition at line 50 of file swf-pcp.f90.
|
inherited |
Convert period user nodes to reduced nodes. Inactive cells are excluded by the input loader.
| this | BndExtType object |
Definition at line 60 of file BoundaryPackageExt.f90.
|
inherited |
Allocate and initialize select base boundary package members. This method needs to be overridden by a package if it is needed for a specific package.
| this | BndType object |
Definition at line 140 of file BoundaryPackage.f90.
|
privateinherited |
Setup output table for a boundary package that is used to output package to model flow terms to the model listing file.
| [in,out] | this | BndType object |
Definition at line 150 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::pcp_allocate_scalars | ( | class(swfpcptype), intent(inout) | this | ) |
Definition at line 46 of file swf-pcp.f90.
|
private |
| this | this instance |
Definition at line 60 of file swf-pcp.f90.
|
inherited |
Generic method to read and check ionperiod, which is used to determine if new period data should be read from the input file. The check of ionperiod also makes sure periods are increasing in subsequent period data blocks.
| [in,out] | this | NumericalPackageType object |
Definition at line 56 of file NumericalPackage.f90.
|
inherited |
Read base dimensions for boundary packages. This method should not need to be overridden unless more than MAXBOUND is specified in the DIMENSIONS block.
| [in,out] | this | BndType object |
Definition at line 142 of file BoundaryPackage.f90.
|
inherited |
Read initial parameters for a boundary package. This method is not needed for most boundary packages. The SFR package is an example of a package that has overridden this method.
| [in,out] | this | BndType object |
Definition at line 143 of file BoundaryPackage.f90.
| procedure swfpcpmodule::swfpcptype::read_initial_attr | ( | class(swfpcptype), intent(inout) | this | ) |
Definition at line 51 of file swf-pcp.f90.
|
inherited |
Read base options for boundary packages.
| [in,out] | this | BndType object |
Definition at line 141 of file BoundaryPackage.f90.
|
inherited |
Set check_missing=.false. for an optional block where not every feature is expected to have a row (duplicates are still reported).
Definition at line 51 of file BoundaryPackageExt.f90.
|
inherited |
Method to assign the filtyp (ftype), the model name, and package name for a package. This method also creates the memoryPath and memoryPathModel that is used by the memory manager when variables are allocated.
| [in,out] | this | NumericalPackageType object |
| [in] | ibcnum | unique package number |
| [in] | name_model | name of the model |
| [in] | pakname | name of the package |
| [in] | ftype | package type |
Definition at line 53 of file NumericalPackage.f90.
|
inherited |
Set pointers to model variables so that a package has access to these variables. This base method should not need to be overridden.
| this | BndType object |
| neq | number of equations in the model |
| ibound | model idomain |
| xnew | current dependent variable |
| xold | previous dependent variable |
| flowja | connection flow terms |
Definition at line 147 of file BoundaryPackage.f90.
|
inherited |
| [in,out] | this | BndExtType object |
Definition at line 58 of file BoundaryPackageExt.f90.
| procedure swfpcpmodule::swfpcptype::source_dimensions | ( | class(swfpcptype), intent(inout) | this | ) |
Definition at line 49 of file swf-pcp.f90.
|
inherited |
| [in,out] | this | BndExtType object |
Definition at line 56 of file BoundaryPackageExt.f90.
| procedure swfpcpmodule::swfpcptype::source_options | ( | class(swfpcptype), intent(inout) | this | ) |
Definition at line 48 of file swf-pcp.f90.
|
inherited |
Returns the validated feature index, or 0 if out of range (an error is logged; the caller should skip further processing for the row).
Definition at line 50 of file BoundaryPackageExt.f90.
|
inherited |
Log period based input. This routine requires a package specific bound_value() routine to report accurate bound values.
| this | BndExtType object |
Definition at line 64 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 94 of file BoundaryPackage.f90.
|
inherited |
Definition at line 51 of file BoundaryPackage.f90.
|
inherited |
Definition at line 53 of file BoundaryPackage.f90.
|
inherited |
Definition at line 78 of file BoundaryPackage.f90.
|
inherited |
Definition at line 75 of file BoundaryPackage.f90.
|
inherited |
Definition at line 55 of file BoundaryPackage.f90.
|
inherited |
Definition at line 57 of file BoundaryPackage.f90.
|
inherited |
Definition at line 40 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 88 of file BoundaryPackage.f90.
| type(swfcxstype), pointer swfpcpmodule::swfpcptype::cxs |
Definition at line 42 of file swf-pcp.f90.
| type(swfdfwtype), pointer swfpcpmodule::swfpcptype::dfw |
Definition at line 41 of file swf-pcp.f90.
|
inherited |
Definition at line 50 of file NumericalPackage.f90.
|
inherited |
Definition at line 112 of file BoundaryPackage.f90.
|
inherited |
Definition at line 44 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 33 of file NumericalPackage.f90.
|
inherited |
Definition at line 105 of file BoundaryPackage.f90.
|
inherited |
Definition at line 76 of file BoundaryPackage.f90.
|
inherited |
Definition at line 41 of file NumericalPackage.f90.
|
inherited |
Definition at line 69 of file BoundaryPackage.f90.
|
inherited |
Definition at line 62 of file BoundaryPackage.f90.
|
inherited |
Definition at line 102 of file BoundaryPackage.f90.
|
inherited |
Definition at line 106 of file BoundaryPackage.f90.
|
inherited |
Definition at line 107 of file BoundaryPackage.f90.
|
inherited |
Definition at line 37 of file NumericalPackage.f90.
|
inherited |
Definition at line 83 of file BoundaryPackage.f90.
|
inherited |
Definition at line 68 of file BoundaryPackage.f90.
|
inherited |
Definition at line 93 of file BoundaryPackage.f90.
|
inherited |
Definition at line 40 of file NumericalPackage.f90.
|
inherited |
Definition at line 97 of file BoundaryPackage.f90.
|
inherited |
Definition at line 32 of file NumericalPackage.f90.
|
inherited |
Definition at line 31 of file NumericalPackage.f90.
|
inherited |
Definition at line 110 of file BoundaryPackage.f90.
|
inherited |
Definition at line 38 of file NumericalPackage.f90.
|
inherited |
Definition at line 71 of file BoundaryPackage.f90.
|
inherited |
Definition at line 45 of file NumericalPackage.f90.
|
inherited |
Definition at line 39 of file NumericalPackage.f90.
|
inherited |
Definition at line 44 of file NumericalPackage.f90.
|
inherited |
Definition at line 35 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 43 of file NumericalPackage.f90.
|
inherited |
Definition at line 42 of file NumericalPackage.f90.
|
inherited |
Definition at line 61 of file BoundaryPackage.f90.
|
inherited |
Definition at line 66 of file BoundaryPackage.f90.
|
inherited |
Definition at line 87 of file BoundaryPackage.f90.
|
inherited |
Definition at line 46 of file NumericalPackage.f90.
|
inherited |
Definition at line 49 of file BoundaryPackage.f90.
|
inherited |
Definition at line 63 of file BoundaryPackage.f90.
|
inherited |
Definition at line 28 of file NumericalPackage.f90.
|
inherited |
Definition at line 29 of file NumericalPackage.f90.
|
inherited |
Definition at line 26 of file NumericalPackage.f90.
|
inherited |
Definition at line 67 of file BoundaryPackage.f90.
|
inherited |
Definition at line 64 of file BoundaryPackage.f90.
|
inherited |
Definition at line 65 of file BoundaryPackage.f90.
|
inherited |
Definition at line 101 of file BoundaryPackage.f90.
|
inherited |
Definition at line 73 of file BoundaryPackage.f90.
|
inherited |
Definition at line 41 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 74 of file BoundaryPackage.f90.
|
inherited |
Definition at line 70 of file BoundaryPackage.f90.
|
inherited |
Definition at line 98 of file BoundaryPackage.f90.
|
inherited |
Definition at line 111 of file BoundaryPackage.f90.
|
inherited |
Definition at line 34 of file NumericalPackage.f90.
|
inherited |
Definition at line 27 of file NumericalPackage.f90.
|
inherited |
Definition at line 84 of file BoundaryPackage.f90.
|
inherited |
Definition at line 49 of file NumericalPackage.f90.
|
inherited |
Definition at line 43 of file BoundaryPackageExt.f90.
| real(dp), dimension(:), pointer, contiguous swfpcpmodule::swfpcptype::precipitation => null() |
Definition at line 37 of file swf-pcp.f90.
|
private |
Definition at line 38 of file swf-pcp.f90.
|
inherited |
Definition at line 36 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 37 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 77 of file BoundaryPackage.f90.
|
inherited |
Definition at line 80 of file BoundaryPackage.f90.
|
inherited |
Definition at line 79 of file BoundaryPackage.f90.
|
inherited |
Definition at line 92 of file BoundaryPackage.f90.
|
inherited |
Definition at line 50 of file BoundaryPackage.f90.
|
inherited |
Definition at line 38 of file BoundaryPackageExt.f90.
|
inherited |
Definition at line 91 of file BoundaryPackage.f90.
|
inherited |
Definition at line 103 of file BoundaryPackage.f90.
|
inherited |
Definition at line 104 of file BoundaryPackage.f90.