From 6e16a9acbc2ec712d5d7b870cd17bd8a100dded0 Mon Sep 17 00:00:00 2001 From: Marnix Kraus Date: Thu, 3 Oct 2024 16:30:46 +0200 Subject: [PATCH 1/8] Add option to generate mf6 classes by cli for user --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 9f5cf4e12..7e23015b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -90,6 +90,7 @@ doc = [ [project.scripts] get-modflow = "flopy.utils.get_modflow:cli_main" +generate-mf6-classes = "flopy.mf6.utils.generate_classes:cli_main" [project.urls] Documentation = "https://flopy.readthedocs.io" From e7923824e2785a1d5b136730b7a146ce6afbd4cd Mon Sep 17 00:00:00 2001 From: Marnix Kraus Date: Thu, 3 Oct 2024 16:30:54 +0200 Subject: [PATCH 2/8] Remove all dfn files, they will be downloaded on generate-mf6-classes --- flopy/mf6/data/dfn/common.dfn | 61 -- flopy/mf6/data/dfn/exg-gwegwe.dfn | 281 --------- flopy/mf6/data/dfn/exg-gwfgwe.dfn | 3 - flopy/mf6/data/dfn/exg-gwfgwf.dfn | 321 ----------- flopy/mf6/data/dfn/exg-gwfgwt.dfn | 3 - flopy/mf6/data/dfn/exg-gwfprt.dfn | 3 - flopy/mf6/data/dfn/exg-gwtgwt.dfn | 281 --------- flopy/mf6/data/dfn/flopy.dfn | 14 - flopy/mf6/data/dfn/gwe-adv.dfn | 11 - flopy/mf6/data/dfn/gwe-cnd.dfn | 101 ---- flopy/mf6/data/dfn/gwe-ctp.dfn | 213 ------- flopy/mf6/data/dfn/gwe-dis.dfn | 130 ----- flopy/mf6/data/dfn/gwe-disu.dfn | 286 ---------- flopy/mf6/data/dfn/gwe-disv.dfn | 213 ------- flopy/mf6/data/dfn/gwe-esl.dfn | 205 ------- flopy/mf6/data/dfn/gwe-est.dfn | 106 ---- flopy/mf6/data/dfn/gwe-fmi.dfn | 58 -- flopy/mf6/data/dfn/gwe-ic.dfn | 22 - flopy/mf6/data/dfn/gwe-lke.dfn | 481 ---------------- flopy/mf6/data/dfn/gwe-mve.dfn | 106 ---- flopy/mf6/data/dfn/gwe-mwe.dfn | 447 --------------- flopy/mf6/data/dfn/gwe-nam.dfn | 74 --- flopy/mf6/data/dfn/gwe-oc.dfn | 313 ---------- flopy/mf6/data/dfn/gwe-sfe.dfn | 480 ---------------- flopy/mf6/data/dfn/gwe-ssm.dfn | 122 ---- flopy/mf6/data/dfn/gwe-uze.dfn | 438 -------------- flopy/mf6/data/dfn/gwf-api.dfn | 96 ---- flopy/mf6/data/dfn/gwf-buy.dfn | 145 ----- flopy/mf6/data/dfn/gwf-chd.dfn | 222 -------- flopy/mf6/data/dfn/gwf-csub.dfn | 738 ------------------------ flopy/mf6/data/dfn/gwf-dis.dfn | 130 ----- flopy/mf6/data/dfn/gwf-disu.dfn | 286 ---------- flopy/mf6/data/dfn/gwf-disv.dfn | 213 ------- flopy/mf6/data/dfn/gwf-drn.dfn | 251 -------- flopy/mf6/data/dfn/gwf-evt.dfn | 295 ---------- flopy/mf6/data/dfn/gwf-evta.dfn | 206 ------- flopy/mf6/data/dfn/gwf-ghb.dfn | 232 -------- flopy/mf6/data/dfn/gwf-gnc.dfn | 100 ---- flopy/mf6/data/dfn/gwf-hfb.dfn | 75 --- flopy/mf6/data/dfn/gwf-ic.dfn | 22 - flopy/mf6/data/dfn/gwf-lak.dfn | 884 ---------------------------- flopy/mf6/data/dfn/gwf-maw.dfn | 762 ------------------------- flopy/mf6/data/dfn/gwf-mvr.dfn | 265 --------- flopy/mf6/data/dfn/gwf-nam.dfn | 99 ---- flopy/mf6/data/dfn/gwf-npf.dfn | 346 ----------- flopy/mf6/data/dfn/gwf-oc.dfn | 313 ---------- flopy/mf6/data/dfn/gwf-rch.dfn | 221 ------- flopy/mf6/data/dfn/gwf-rcha.dfn | 189 ------ flopy/mf6/data/dfn/gwf-riv.dfn | 243 -------- flopy/mf6/data/dfn/gwf-sfr.dfn | 919 ------------------------------ flopy/mf6/data/dfn/gwf-sto.dfn | 143 ----- flopy/mf6/data/dfn/gwf-uzf.dfn | 611 -------------------- flopy/mf6/data/dfn/gwf-vsc.dfn | 174 ------ flopy/mf6/data/dfn/gwf-wel.dfn | 276 --------- flopy/mf6/data/dfn/gwt-adv.dfn | 11 - flopy/mf6/data/dfn/gwt-api.dfn | 96 ---- flopy/mf6/data/dfn/gwt-cnc.dfn | 213 ------- flopy/mf6/data/dfn/gwt-dis.dfn | 130 ----- flopy/mf6/data/dfn/gwt-disu.dfn | 286 ---------- flopy/mf6/data/dfn/gwt-disv.dfn | 213 ------- flopy/mf6/data/dfn/gwt-dsp.dfn | 90 --- flopy/mf6/data/dfn/gwt-fmi.dfn | 58 -- flopy/mf6/data/dfn/gwt-ic.dfn | 22 - flopy/mf6/data/dfn/gwt-ist.dfn | 298 ---------- flopy/mf6/data/dfn/gwt-lkt.dfn | 460 --------------- flopy/mf6/data/dfn/gwt-mst.dfn | 96 ---- flopy/mf6/data/dfn/gwt-mvt.dfn | 106 ---- flopy/mf6/data/dfn/gwt-mwt.dfn | 427 -------------- flopy/mf6/data/dfn/gwt-nam.dfn | 74 --- flopy/mf6/data/dfn/gwt-oc.dfn | 313 ---------- flopy/mf6/data/dfn/gwt-sft.dfn | 460 --------------- flopy/mf6/data/dfn/gwt-src.dfn | 205 ------- flopy/mf6/data/dfn/gwt-ssm.dfn | 122 ---- flopy/mf6/data/dfn/gwt-uzt.dfn | 438 -------------- flopy/mf6/data/dfn/prt-dis.dfn | 130 ----- flopy/mf6/data/dfn/prt-disv.dfn | 213 ------- flopy/mf6/data/dfn/prt-fmi.dfn | 50 -- flopy/mf6/data/dfn/prt-mip.dfn | 41 -- flopy/mf6/data/dfn/prt-nam.dfn | 73 --- flopy/mf6/data/dfn/prt-oc.dfn | 381 ------------- flopy/mf6/data/dfn/prt-prp.dfn | 397 ------------- flopy/mf6/data/dfn/sim-nam.dfn | 244 -------- flopy/mf6/data/dfn/sim-tdis.dfn | 113 ---- flopy/mf6/data/dfn/sln-ems.dfn | 1 - flopy/mf6/data/dfn/sln-ims.dfn | 389 ------------- flopy/mf6/data/dfn/sln-pts.dfn | 178 ------ flopy/mf6/data/dfn/utl-ats.dfn | 85 --- flopy/mf6/data/dfn/utl-hpc.dfn | 40 -- flopy/mf6/data/dfn/utl-laktab.dfn | 70 --- flopy/mf6/data/dfn/utl-obs.dfn | 118 ---- flopy/mf6/data/dfn/utl-sfrtab.dfn | 60 -- flopy/mf6/data/dfn/utl-spc.dfn | 118 ---- flopy/mf6/data/dfn/utl-spca.dfn | 89 --- flopy/mf6/data/dfn/utl-spt.dfn | 118 ---- flopy/mf6/data/dfn/utl-spta.dfn | 89 --- flopy/mf6/data/dfn/utl-tas.dfn | 119 ---- flopy/mf6/data/dfn/utl-ts.dfn | 176 ------ flopy/mf6/data/dfn/utl-tvk.dfn | 131 ----- flopy/mf6/data/dfn/utl-tvs.dfn | 128 ----- 99 files changed, 20898 deletions(-) delete mode 100644 flopy/mf6/data/dfn/common.dfn delete mode 100644 flopy/mf6/data/dfn/exg-gwegwe.dfn delete mode 100644 flopy/mf6/data/dfn/exg-gwfgwe.dfn delete mode 100644 flopy/mf6/data/dfn/exg-gwfgwf.dfn delete mode 100644 flopy/mf6/data/dfn/exg-gwfgwt.dfn delete mode 100644 flopy/mf6/data/dfn/exg-gwfprt.dfn delete mode 100644 flopy/mf6/data/dfn/exg-gwtgwt.dfn delete mode 100644 flopy/mf6/data/dfn/flopy.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-adv.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-cnd.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-ctp.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-dis.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-disu.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-disv.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-esl.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-est.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-fmi.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-ic.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-lke.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-mve.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-mwe.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-nam.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-oc.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-sfe.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-ssm.dfn delete mode 100644 flopy/mf6/data/dfn/gwe-uze.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-api.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-buy.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-chd.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-csub.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-dis.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-disu.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-disv.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-drn.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-evt.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-evta.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-ghb.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-gnc.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-hfb.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-ic.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-lak.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-maw.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-mvr.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-nam.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-npf.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-oc.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-rch.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-rcha.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-riv.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-sfr.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-sto.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-uzf.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-vsc.dfn delete mode 100644 flopy/mf6/data/dfn/gwf-wel.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-adv.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-api.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-cnc.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-dis.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-disu.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-disv.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-dsp.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-fmi.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-ic.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-ist.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-lkt.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-mst.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-mvt.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-mwt.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-nam.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-oc.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-sft.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-src.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-ssm.dfn delete mode 100644 flopy/mf6/data/dfn/gwt-uzt.dfn delete mode 100644 flopy/mf6/data/dfn/prt-dis.dfn delete mode 100644 flopy/mf6/data/dfn/prt-disv.dfn delete mode 100644 flopy/mf6/data/dfn/prt-fmi.dfn delete mode 100644 flopy/mf6/data/dfn/prt-mip.dfn delete mode 100644 flopy/mf6/data/dfn/prt-nam.dfn delete mode 100644 flopy/mf6/data/dfn/prt-oc.dfn delete mode 100644 flopy/mf6/data/dfn/prt-prp.dfn delete mode 100644 flopy/mf6/data/dfn/sim-nam.dfn delete mode 100644 flopy/mf6/data/dfn/sim-tdis.dfn delete mode 100644 flopy/mf6/data/dfn/sln-ems.dfn delete mode 100644 flopy/mf6/data/dfn/sln-ims.dfn delete mode 100644 flopy/mf6/data/dfn/sln-pts.dfn delete mode 100644 flopy/mf6/data/dfn/utl-ats.dfn delete mode 100644 flopy/mf6/data/dfn/utl-hpc.dfn delete mode 100644 flopy/mf6/data/dfn/utl-laktab.dfn delete mode 100644 flopy/mf6/data/dfn/utl-obs.dfn delete mode 100644 flopy/mf6/data/dfn/utl-sfrtab.dfn delete mode 100644 flopy/mf6/data/dfn/utl-spc.dfn delete mode 100644 flopy/mf6/data/dfn/utl-spca.dfn delete mode 100644 flopy/mf6/data/dfn/utl-spt.dfn delete mode 100644 flopy/mf6/data/dfn/utl-spta.dfn delete mode 100644 flopy/mf6/data/dfn/utl-tas.dfn delete mode 100644 flopy/mf6/data/dfn/utl-ts.dfn delete mode 100644 flopy/mf6/data/dfn/utl-tvk.dfn delete mode 100644 flopy/mf6/data/dfn/utl-tvs.dfn diff --git a/flopy/mf6/data/dfn/common.dfn b/flopy/mf6/data/dfn/common.dfn deleted file mode 100644 index 0fd5220c2..000000000 --- a/flopy/mf6/data/dfn/common.dfn +++ /dev/null @@ -1,61 +0,0 @@ -# constants from bcoptions.tex that are used to construct mf6 input variable descriptions - -name auxnames -description defines an array of one or more auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided on this line; however, lists of information provided in subsequent blocks must have a column of data for each auxiliary variable name defined here. The number of auxiliary variables detected on this line determines the value for naux. Comments cannot be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary variables may not be used by the package, but they will be available for use by other parts of the program. The program will terminate with an error if auxiliary variables are specified on more than one line in the options block. - -name auxmultname -description name of auxiliary variable to be used as multiplier of {#1}. - -name boundname -description name of the {#1} cell. BOUNDNAME is an ASCII character variable that can contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be enclosed within single quotes. - -name boundnames -description keyword to indicate that boundary names may be provided with the list of {#1} cells. - -name print_input -description keyword to indicate that the list of {#1} information will be written to the listing file immediately after it is read. - -name print_head -description keyword to indicate that the list of {#1} {#2} will be printed to the listing file for every stress period in which ``HEAD PRINT'' is specified in Output Control. If there is no Output Control option and PRINT\_{#3} is specified, then {#2} are printed for the last time step of each stress period. - -name print_concentration -description keyword to indicate that the list of {#1} {#2} will be printed to the listing file for every stress period in which ``CONCENTRATION PRINT'' is specified in Output Control. If there is no Output Control option and PRINT\_{#3} is specified, then {#2} are printed for the last time step of each stress period. - -name print_temperature -description keyword to indicate that the list of {#1} {#2} will be printed to the listing file for every stress period in which ``TEMPERATURE PRINT'' is specified in Output Control. If there is no Output Control option and PRINT\_{#3} is specified, then {#2} are printed for the last time step of each stress period. - -name print_flows -description keyword to indicate that the list of {#1} flow rates will be printed to the listing file for every stress period time step in which ``BUDGET PRINT'' is specified in Output Control. If there is no Output Control option and ``PRINT\_FLOWS'' is specified, then flow rates are printed for the last time step of each stress period. - -name save_flows -description keyword to indicate that {#1} flow terms will be written to the file specified with ``BUDGET FILEOUT'' in Output Control. - -name timeseriesfile -description defines a time-series file defining time series that can be used to assign time-varying values. See the ``Time-Variable Input'' section for instructions on using the time-series capability. - -name timearrayseriesfile -description defines a time-array-series file defining a time-array series that can be used to assign time-varying values. See the Time-Variable Input section for instructions on using the time-array series capability. - -name timearrayserieslayered -description name of a time-array-series file defining a time-array series that can be used to assign time-varying values when input is read in array form. See the Time-Variable Input section for instructions on using the time-array series capability. Valid only when the READASARRAYS option is used. - -name maxbound -description integer value specifying the maximum number of {#1} cells that will be specified for use during any stress period. - -name obs6_filename -description name of input file to define observations for the {#1} package. See the ``Observation utility'' section for instructions for preparing observation input files. Tables \ref{table:gwf-obstypetable} and \ref{table:gwt-obstypetable} lists observation type(s) supported by the {#1} package. - -name no_newton -description keyword that deactivates the Newton-Raphson formulation for the {#1} Package. - -name cellid -description is the cell identifier, and depends on the type of grid that is used for the simulation. For a structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstructured discretization (DISU) input file, CELLID is the node number for the cell. - -name aux -description represents the values of the auxiliary variables for each {#1}. The values of auxiliary variables must be present for each {#1}. The values must be specified in the order of the auxiliary variables specified in the OPTIONS block. If the package supports time series and the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -name mover -description keyword to indicate that this instance of the {#1} Package can be used with the Water Mover (MVR) Package. When the MOVER option is specified, additional memory is allocated within the package to store the available, provided, and received water. - -name iper -description integer value specifying the starting stress period number for which the data specified in the PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater than zero. The IPER value assigned to a stress period block must be greater than the IPER value assigned for the previous PERIOD block. The information specified in the PERIOD block will continue to apply for all subsequent stress periods, unless the program encounters another PERIOD block. diff --git a/flopy/mf6/data/dfn/exg-gwegwe.dfn b/flopy/mf6/data/dfn/exg-gwegwe.dfn deleted file mode 100644 index 7b79ce7e7..000000000 --- a/flopy/mf6/data/dfn/exg-gwegwe.dfn +++ /dev/null @@ -1,281 +0,0 @@ -# --------------------- exg gwegwe options --------------------- -# flopy multi-package - -block options -name gwfmodelname1 -type string -reader urword -optional false -longname keyword to specify name of first corresponding GWF Model -description keyword to specify name of first corresponding GWF Model. In the simulation name file, the GWE6-GWE6 entry contains names for GWE Models (exgmnamea and exgmnameb). The GWE Model with the name exgmnamea must correspond to the GWF Model with the name gwfmodelname1. - -block options -name gwfmodelname2 -type string -reader urword -optional false -longname keyword to specify name of second corresponding GWF Model -description keyword to specify name of second corresponding GWF Model. In the simulation name file, the GWE6-GWE6 entry contains names for GWE Models (exgmnamea and exgmnameb). The GWE Model with the name exgmnameb must correspond to the GWF Model with the name gwfmodelname2. - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description an array of auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided. Most auxiliary variables will not be used by the GWF-GWF Exchange, but they will be available for use by other parts of the program. If an auxiliary variable with the name ``ANGLDEGX'' is found, then this information will be used as the angle (provided in degrees) between the connection face normal and the x axis, where a value of zero indicates that a normal vector points directly along the positive x axis. The connection face normal is a normal vector on the cell face shared between the cell in model 1 and the cell in model 2 pointing away from the model 1 cell. Additional information on ``ANGLDEGX'' is provided in the description of the DISU Package. If an auxiliary variable with the name ``CDIST'' is found, then this information will be used as the straight-line connection distance, including the vertical component, between the two cell centers. Both ANGLDEGX and CDIST are required if specific discharge is calculated for either of the groundwater models. - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'GWE Exchange'} - -block options -name print_input -type keyword -reader urword -optional true -longname keyword to print input to list file -description keyword to indicate that the list of exchange entries will be echoed to the listing file immediately after it is read. -mf6internal iprpak - -block options -name print_flows -type keyword -reader urword -optional true -longname keyword to print gwfgwf flows to list file -description keyword to indicate that the list of exchange flow rates will be printed to the listing file for every stress period in which ``SAVE BUDGET'' is specified in Output Control. -mf6internal iprflow - -block options -name save_flows -type keyword -reader urword -optional true -longname keyword to save GWFGWF flows -description keyword to indicate that cell-by-cell flow terms will be written to the budget file for each model provided that the Output Control for the models are set up with the ``BUDGET SAVE FILE'' option. -mf6internal ipakcb - -block options -name adv_scheme -type string -valid upstream central tvd -reader urword -optional true -longname advective scheme -description scheme used to solve the advection term. Can be upstream, central, or TVD. If not specified, upstream weighting is the default weighting scheme. - -block options -name cnd_xt3d_off -type keyword -shape -reader urword -optional true -longname deactivate xt3d -description deactivate the xt3d method for the dispersive flux and use the faster and less accurate approximation for this exchange. - -block options -name cnd_xt3d_rhs -type keyword -shape -reader urword -optional true -longname xt3d on right-hand side -description add xt3d dispersion terms to right-hand side, when possible, for this exchange. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name mve_filerecord -type record mve6 filein mve6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name mve6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an energy transport mover file. - -block options -name mve6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname mve6 input filename -description is the file name of the transport mover input file to apply to this exchange. Information for the transport mover are provided in the file provided with these keywords. - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description is the file name of the observations input file for this exchange. See the ``Observation utility'' section for instructions for preparing observation input files. Table \ref{table:gwe-obstypetable} lists observation type(s) supported by the GWE-GWE package. - -block options -name dev_interfacemodel_on -type keyword -reader urword -optional true -longname activate interface model on exchange -description activates the interface model mechanism for calculating the coefficients at (and possibly near) the exchange. This keyword should only be used for development purposes. -mf6internal dev_ifmod_on - -# --------------------- exg gwegwe dimensions --------------------- - -block dimensions -name nexg -type integer -reader urword -optional false -longname number of exchanges -description keyword and integer value specifying the number of GWE-GWE exchanges. - - -# --------------------- exg gwegwe exchangedata --------------------- - -block exchangedata -name exchangedata -type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname -shape (nexg) -reader urword -optional false -longname exchange data -description - -block exchangedata -name cellidm1 -type integer -in_record true -tagged false -reader urword -optional false -longname cellid of first cell -description is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. -numeric_index true - -block exchangedata -name cellidm2 -type integer -in_record true -tagged false -reader urword -optional false -longname cellid of second cell -description is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. -numeric_index true - -block exchangedata -name ihc -type integer -in_record true -tagged false -reader urword -optional false -longname integer flag for connection type -description is an integer flag indicating the direction between node n and all of its m connections. If IHC = 0 then the connection is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 then the connection is horizontal for a vertically staggered grid. - -block exchangedata -name cl1 -type double precision -in_record true -tagged false -reader urword -optional false -longname connection distance -description is the distance between the center of cell 1 and the its shared face with cell 2. - -block exchangedata -name cl2 -type double precision -in_record true -tagged false -reader urword -optional false -longname connection distance -description is the distance between the center of cell 2 and the its shared face with cell 1. - -block exchangedata -name hwva -type double precision -in_record true -tagged false -reader urword -optional false -longname horizontal cell width or area for vertical flow -description is the horizontal width of the flow connection between cell 1 and cell 2 if IHC $>$ 0, or it is the area perpendicular to flow of the vertical connection between cell 1 and cell 2 if IHC = 0. - -block exchangedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -longname auxiliary variables -description represents the values of the auxiliary variables for each GWEGWE Exchange. The values of auxiliary variables must be present for each exchange. The values must be specified in the order of the auxiliary variables specified in the OPTIONS block. -mf6internal auxvar - -block exchangedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname exchange boundname -description REPLACE boundname {'{#1}': 'GWE Exchange'} diff --git a/flopy/mf6/data/dfn/exg-gwfgwe.dfn b/flopy/mf6/data/dfn/exg-gwfgwe.dfn deleted file mode 100644 index fe5410261..000000000 --- a/flopy/mf6/data/dfn/exg-gwfgwe.dfn +++ /dev/null @@ -1,3 +0,0 @@ -# --------------------- exg gwfgwe options --------------------- - - diff --git a/flopy/mf6/data/dfn/exg-gwfgwf.dfn b/flopy/mf6/data/dfn/exg-gwfgwf.dfn deleted file mode 100644 index 0f68acead..000000000 --- a/flopy/mf6/data/dfn/exg-gwfgwf.dfn +++ /dev/null @@ -1,321 +0,0 @@ -# --------------------- exg gwfgwf options --------------------- -# flopy multi-package - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description an array of auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided. Most auxiliary variables will not be used by the GWF-GWF Exchange, but they will be available for use by other parts of the program. If an auxiliary variable with the name ``ANGLDEGX'' is found, then this information will be used as the angle (provided in degrees) between the connection face normal and the x axis, where a value of zero indicates that a normal vector points directly along the positive x axis. The connection face normal is a normal vector on the cell face shared between the cell in model 1 and the cell in model 2 pointing away from the model 1 cell. Additional information on ``ANGLDEGX'' and when it is required is provided in the description of the DISU Package. If an auxiliary variable with the name ``CDIST'' is found, then this information will be used in the calculation of specific discharge within model cells connected by the exchange. For a horizontal connection, CDIST should be specified as the horizontal distance between the cell centers, and should not include the vertical component. For vertical connections, CDIST should be specified as the difference in elevation between the two cell centers. Both ANGLDEGX and CDIST are required if specific discharge is calculated for either of the groundwater models. - - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'GWF Exchange'} - -block options -name print_input -type keyword -reader urword -optional true -longname keyword to print input to list file -description keyword to indicate that the list of exchange entries will be echoed to the listing file immediately after it is read. -mf6internal iprpak - -block options -name print_flows -type keyword -reader urword -optional true -longname keyword to print gwfgwf flows to list file -description keyword to indicate that the list of exchange flow rates will be printed to the listing file for every stress period in which ``SAVE BUDGET'' is specified in Output Control. -mf6internal iprflow - -block options -name save_flows -type keyword -reader urword -optional true -longname keyword to save GWFGWF flows -description keyword to indicate that cell-by-cell flow terms will be written to the budget file for each model provided that the Output Control for the models are set up with the ``BUDGET SAVE FILE'' option. -mf6internal ipakcb - -block options -name cell_averaging -type string -valid harmonic logarithmic amt-lmk -reader urword -optional true -longname conductance weighting option -description is a keyword and text keyword to indicate the method that will be used for calculating the conductance for horizontal cell connections. The text value for CELL\_AVERAGING can be ``HARMONIC'', ``LOGARITHMIC'', or ``AMT-LMK'', which means ``arithmetic-mean thickness and logarithmic-mean hydraulic conductivity''. If the user does not specify a value for CELL\_AVERAGING, then the harmonic-mean method will be used. - -block options -name cvoptions -type record variablecv dewatered -reader urword -optional true -longname vertical conductance options -description none - -block options -name variablecv -in_record true -type keyword -reader urword -longname keyword to activate VARIABLECV option -description keyword to indicate that the vertical conductance will be calculated using the saturated thickness and properties of the overlying cell and the thickness and properties of the underlying cell. If the DEWATERED keyword is also specified, then the vertical conductance is calculated using only the saturated thickness and properties of the overlying cell if the head in the underlying cell is below its top. If these keywords are not specified, then the default condition is to calculate the vertical conductance at the start of the simulation using the initial head and the cell properties. The vertical conductance remains constant for the entire simulation. - -block options -name dewatered -in_record true -type keyword -reader urword -optional true -longname keyword to activate DEWATERED option -description If the DEWATERED keyword is specified, then the vertical conductance is calculated using only the saturated thickness and properties of the overlying cell if the head in the underlying cell is below its top. - -block options -name newton -type keyword -reader urword -optional true -longname keyword to activate Newton-Raphson -description keyword that activates the Newton-Raphson formulation for groundwater flow between connected, convertible groundwater cells. Cells will not dry when this option is used. - -block options -name xt3d -type keyword -reader urword -optional true -longname keyword to activate XT3D -description keyword that activates the XT3D formulation between the cells connected with this GWF-GWF Exchange. - -block options -name gnc_filerecord -type record gnc6 filein gnc6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name gnc6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname gnc6 keyword -description keyword to specify that record corresponds to a ghost-node correction file. - -block options -name gnc6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname gnc6 input filename -description is the file name for ghost node correction input file. Information for the ghost nodes are provided in the file provided with these keywords. The format for specifying the ghost nodes is the same as described for the GNC Package of the GWF Model. This includes specifying OPTIONS, DIMENSIONS, and GNCDATA blocks. The order of the ghost nodes must follow the same order as the order of the cells in the EXCHANGEDATA block. For the GNCDATA, noden and all of the nodej values are assumed to be located in model 1, and nodem is assumed to be in model 2. - -block options -name mvr_filerecord -type record mvr6 filein mvr6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name mvr6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to a mover file. - -block options -name mvr6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname mvr6 input filename -description is the file name of the water mover input file to apply to this exchange. Information for the water mover are provided in the file provided with these keywords. The format for specifying the water mover information is the same as described for the Water Mover (MVR) Package of the GWF Model, with two exceptions. First, in the PACKAGES block, the model name must be included as a separate string before each package. Second, the appropriate model name must be included before package name 1 and package name 2 in the BEGIN PERIOD block. This allows providers and receivers to be located in both models listed as part of this exchange. - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description is the file name of the observations input file for this exchange. See the ``Observation utility'' section for instructions for preparing observation input files. Table \ref{table:gwf-obstypetable} lists observation type(s) supported by the GWF-GWF package. - -block options -name dev_interfacemodel_on -type keyword -reader urword -optional true -longname activate interface model on exchange -description activates the interface model mechanism for calculating the coefficients at (and possibly near) the exchange. This keyword should only be used for development purposes. -mf6internal dev_ifmod_on - -# --------------------- exg gwfgwf dimensions --------------------- - -block dimensions -name nexg -type integer -reader urword -optional false -longname number of exchanges -description keyword and integer value specifying the number of GWF-GWF exchanges. - - -# --------------------- exg gwfgwf exchangedata --------------------- - -block exchangedata -name exchangedata -type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname -shape (nexg) -reader urword -optional false -longname exchange data -description - -block exchangedata -name cellidm1 -type integer -in_record true -tagged false -reader urword -optional false -longname cellid of first cell -description is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. -numeric_index true - -block exchangedata -name cellidm2 -type integer -in_record true -tagged false -reader urword -optional false -longname cellid of second cell -description is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. -numeric_index true - -block exchangedata -name ihc -type integer -in_record true -tagged false -reader urword -optional false -longname integer flag for connection type -description is an integer flag indicating the direction between node n and all of its m connections. If IHC = 0 then the connection is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 then the connection is horizontal for a vertically staggered grid. - -block exchangedata -name cl1 -type double precision -in_record true -tagged false -reader urword -optional false -longname connection distance -description is the distance between the center of cell 1 and the its shared face with cell 2. - -block exchangedata -name cl2 -type double precision -in_record true -tagged false -reader urword -optional false -longname connection distance -description is the distance between the center of cell 2 and the its shared face with cell 1. - -block exchangedata -name hwva -type double precision -in_record true -tagged false -reader urword -optional false -longname horizontal cell width or area for vertical flow -description is the horizontal width of the flow connection between cell 1 and cell 2 if IHC $>$ 0, or it is the area perpendicular to flow of the vertical connection between cell 1 and cell 2 if IHC = 0. - -block exchangedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -longname auxiliary variables -description represents the values of the auxiliary variables for each GWFGWF Exchange. The values of auxiliary variables must be present for each exchange. The values must be specified in the order of the auxiliary variables specified in the OPTIONS block. -mf6internal auxvar - -block exchangedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname exchange boundname -description REPLACE boundname {'{#1}': 'GWF Exchange'} diff --git a/flopy/mf6/data/dfn/exg-gwfgwt.dfn b/flopy/mf6/data/dfn/exg-gwfgwt.dfn deleted file mode 100644 index 685852dd2..000000000 --- a/flopy/mf6/data/dfn/exg-gwfgwt.dfn +++ /dev/null @@ -1,3 +0,0 @@ -# --------------------- exg gwfgwt options --------------------- - - diff --git a/flopy/mf6/data/dfn/exg-gwfprt.dfn b/flopy/mf6/data/dfn/exg-gwfprt.dfn deleted file mode 100644 index 1008a7181..000000000 --- a/flopy/mf6/data/dfn/exg-gwfprt.dfn +++ /dev/null @@ -1,3 +0,0 @@ -# --------------------- exg gwfprt options --------------------- - - diff --git a/flopy/mf6/data/dfn/exg-gwtgwt.dfn b/flopy/mf6/data/dfn/exg-gwtgwt.dfn deleted file mode 100644 index 11af74961..000000000 --- a/flopy/mf6/data/dfn/exg-gwtgwt.dfn +++ /dev/null @@ -1,281 +0,0 @@ -# --------------------- exg gwtgwt options --------------------- -# flopy multi-package - -block options -name gwfmodelname1 -type string -reader urword -optional false -longname keyword to specify name of first corresponding GWF Model -description keyword to specify name of first corresponding GWF Model. In the simulation name file, the GWT6-GWT6 entry contains names for GWT Models (exgmnamea and exgmnameb). The GWT Model with the name exgmnamea must correspond to the GWF Model with the name gwfmodelname1. - -block options -name gwfmodelname2 -type string -reader urword -optional false -longname keyword to specify name of second corresponding GWF Model -description keyword to specify name of second corresponding GWF Model. In the simulation name file, the GWT6-GWT6 entry contains names for GWT Models (exgmnamea and exgmnameb). The GWT Model with the name exgmnameb must correspond to the GWF Model with the name gwfmodelname2. - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description an array of auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided. Most auxiliary variables will not be used by the GWT-GWT Exchange, but they will be available for use by other parts of the program. If an auxiliary variable with the name ``ANGLDEGX'' is found, then this information will be used as the angle (provided in degrees) between the connection face normal and the x axis, where a value of zero indicates that a normal vector points directly along the positive x axis. The connection face normal is a normal vector on the cell face shared between the cell in model 1 and the cell in model 2 pointing away from the model 1 cell. Additional information on ``ANGLDEGX'' is provided in the description of the DISU Package. ANGLDEGX must be specified if dispersion is simulated in the connected GWT models. - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'GWT Exchange'} - -block options -name print_input -type keyword -reader urword -optional true -longname keyword to print input to list file -description keyword to indicate that the list of exchange entries will be echoed to the listing file immediately after it is read. -mf6internal iprpak - -block options -name print_flows -type keyword -reader urword -optional true -longname keyword to print gwfgwf flows to list file -description keyword to indicate that the list of exchange flow rates will be printed to the listing file for every stress period in which ``SAVE BUDGET'' is specified in Output Control. -mf6internal iprflow - -block options -name save_flows -type keyword -reader urword -optional true -longname keyword to save GWFGWF flows -description keyword to indicate that cell-by-cell flow terms will be written to the budget file for each model provided that the Output Control for the models are set up with the ``BUDGET SAVE FILE'' option. -mf6internal ipakcb - -block options -name adv_scheme -type string -valid upstream central tvd -reader urword -optional true -longname advective scheme -description scheme used to solve the advection term. Can be upstream, central, or TVD. If not specified, upstream weighting is the default weighting scheme. - -block options -name dsp_xt3d_off -type keyword -shape -reader urword -optional true -longname deactivate xt3d -description deactivate the xt3d method for the dispersive flux and use the faster and less accurate approximation for this exchange. - -block options -name dsp_xt3d_rhs -type keyword -shape -reader urword -optional true -longname xt3d on right-hand side -description add xt3d dispersion terms to right-hand side, when possible, for this exchange. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name mvt_filerecord -type record mvt6 filein mvt6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name mvt6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to a transport mover file. - -block options -name mvt6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname mvt6 input filename -description is the file name of the transport mover input file to apply to this exchange. Information for the transport mover are provided in the file provided with these keywords. - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description is the file name of the observations input file for this exchange. See the ``Observation utility'' section for instructions for preparing observation input files. Table \ref{table:gwt-obstypetable} lists observation type(s) supported by the GWT-GWT package. - -block options -name dev_interfacemodel_on -type keyword -reader urword -optional true -longname activate interface model on exchange -description activates the interface model mechanism for calculating the coefficients at (and possibly near) the exchange. This keyword should only be used for development purposes. -mf6internal dev_ifmod_on - -# --------------------- exg gwtgwt dimensions --------------------- - -block dimensions -name nexg -type integer -reader urword -optional false -longname number of exchanges -description keyword and integer value specifying the number of GWT-GWT exchanges. - - -# --------------------- exg gwtgwt exchangedata --------------------- - -block exchangedata -name exchangedata -type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname -shape (nexg) -reader urword -optional false -longname exchange data -description - -block exchangedata -name cellidm1 -type integer -in_record true -tagged false -reader urword -optional false -longname cellid of first cell -description is the cellid of the cell in model 1 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM1 is the node number for the cell. -numeric_index true - -block exchangedata -name cellidm2 -type integer -in_record true -tagged false -reader urword -optional false -longname cellid of second cell -description is the cellid of the cell in model 2 as specified in the simulation name file. For a structured grid that uses the DIS input file, CELLIDM2 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLIDM2 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLIDM2 is the node number for the cell. -numeric_index true - -block exchangedata -name ihc -type integer -in_record true -tagged false -reader urword -optional false -longname integer flag for connection type -description is an integer flag indicating the direction between node n and all of its m connections. If IHC = 0 then the connection is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 then the connection is horizontal for a vertically staggered grid. - -block exchangedata -name cl1 -type double precision -in_record true -tagged false -reader urword -optional false -longname connection distance -description is the distance between the center of cell 1 and the its shared face with cell 2. - -block exchangedata -name cl2 -type double precision -in_record true -tagged false -reader urword -optional false -longname connection distance -description is the distance between the center of cell 2 and the its shared face with cell 1. - -block exchangedata -name hwva -type double precision -in_record true -tagged false -reader urword -optional false -longname horizontal cell width or area for vertical flow -description is the horizontal width of the flow connection between cell 1 and cell 2 if IHC $>$ 0, or it is the area perpendicular to flow of the vertical connection between cell 1 and cell 2 if IHC = 0. - -block exchangedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -longname auxiliary variables -description represents the values of the auxiliary variables for each GWTGWT Exchange. The values of auxiliary variables must be present for each exchange. The values must be specified in the order of the auxiliary variables specified in the OPTIONS block. -mf6internal auxvar - -block exchangedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname exchange boundname -description REPLACE boundname {'{#1}': 'GWT Exchange'} diff --git a/flopy/mf6/data/dfn/flopy.dfn b/flopy/mf6/data/dfn/flopy.dfn deleted file mode 100644 index f284b7bf3..000000000 --- a/flopy/mf6/data/dfn/flopy.dfn +++ /dev/null @@ -1,14 +0,0 @@ -name ts_filerecord -construct_package ts -construct_data timeseries -parameter_name timeseries - -name obs_filerecord -construct_package obs -construct_data continuous -parameter_name observations - -name tas_filerecord -construct_package tas -construct_data tas_array -parameter_name timearrayseries \ No newline at end of file diff --git a/flopy/mf6/data/dfn/gwe-adv.dfn b/flopy/mf6/data/dfn/gwe-adv.dfn deleted file mode 100644 index 682ed4a75..000000000 --- a/flopy/mf6/data/dfn/gwe-adv.dfn +++ /dev/null @@ -1,11 +0,0 @@ -# --------------------- gwe adv options --------------------- - -block options -name scheme -type string -valid central upstream tvd -reader urword -optional true -longname advective scheme -description scheme used to solve the advection term. Can be upstream, central, or TVD. If not specified, upstream weighting is the default weighting scheme. - diff --git a/flopy/mf6/data/dfn/gwe-cnd.dfn b/flopy/mf6/data/dfn/gwe-cnd.dfn deleted file mode 100644 index d9d51b301..000000000 --- a/flopy/mf6/data/dfn/gwe-cnd.dfn +++ /dev/null @@ -1,101 +0,0 @@ -# --------------------- gwe cnd options --------------------- - -block options -name xt3d_off -type keyword -shape -reader urword -optional true -longname deactivate xt3d -description deactivate the xt3d method and use the faster and less accurate approximation. This option may provide a fast and accurate solution under some circumstances, such as when flow aligns with the model grid, there is no mechanical dispersion, or when the longitudinal and transverse dispersivities are equal. This option may also be used to assess the computational demand of the XT3D approach by noting the run time differences with and without this option on. - -block options -name xt3d_rhs -type keyword -shape -reader urword -optional true -longname xt3d on right-hand side -description add xt3d terms to right-hand side, when possible. This option uses less memory, but may require more iterations. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwe cnd griddata --------------------- - -block griddata -name alh -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname longitudinal dispersivity in horizontal direction -description longitudinal dispersivity in horizontal direction. If flow is strictly horizontal, then this is the longitudinal dispersivity that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. - -block griddata -name alv -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname longitudinal dispersivity in vertical direction -description longitudinal dispersivity in vertical direction. If flow is strictly vertical, then this is the longitudinal dispsersivity value that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ALH. - -block griddata -name ath1 -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname transverse dispersivity in horizontal direction -description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the second ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the y direction. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. - -block griddata -name ath2 -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname transverse dispersivity in horizontal direction -description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the third ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the z direction. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH1. - -block griddata -name atv -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname transverse dispersivity when flow is in vertical direction -description transverse dispersivity when flow is in vertical direction. If flow is strictly vertical and directed in the z direction, then this value controls spreading in the x and y directions. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH2. - -block griddata -name ktw -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname thermal conductivity of the simulated fluid -description thermal conductivity of the simulated fluid. Note that the CND Package does not account for the tortuosity of the flow paths when solving for the conductive spread of heat. If tortuosity plays an important role in the thermal conductivity calculation, its effect should be reflected in the value specified for KTW. - -block griddata -name kts -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname thermal conductivity of the aquifer material -description thermal conductivity of the aquifer material - diff --git a/flopy/mf6/data/dfn/gwe-ctp.dfn b/flopy/mf6/data/dfn/gwe-ctp.dfn deleted file mode 100644 index d8dd2bc68..000000000 --- a/flopy/mf6/data/dfn/gwe-ctp.dfn +++ /dev/null @@ -1,213 +0,0 @@ -# --------------------- gwe ctp options --------------------- -# flopy multi-package - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Energy Transport'} - -block options -name auxmultname -type string -shape -reader urword -optional true -longname name of auxiliary variable for multiplier -description REPLACE auxmultname {'{#1}': 'temperature value'} - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'constant temperature'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'constant temperature'} -mf6internal iprflow - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'constant temperature'} -mf6internal ipakcb - -block options -name save_flows -type keyword -reader urword -optional true -longname save constant temperature flows to budget file -description REPLACE save_flows {'{#1}': 'constant temperature'} -mf6internal iprpak - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname time series keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'Constant Temperature'} - - -# --------------------- gwe ctp dimensions --------------------- - -block dimensions -name maxbound -type integer -reader urword -optional false -longname maximum number of constant temperatures -description REPLACE maxbound {'{#1}': 'constant temperatures'} - - -# --------------------- gwe ctp period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name stress_period_data -type recarray cellid temp aux boundname -shape (maxbound) -reader urword -longname -description -mf6internal spd - -block period -name cellid -type integer -shape (ncelldim) -tagged false -in_record true -reader urword -longname cell identifier -description REPLACE cellid {} - -block period -name temp -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname constant temperature value -description is the constant temperature value. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. -mf6internal tspvar - -block period -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -time_series true -longname auxiliary variables -description REPLACE aux {'{#1}': 'constant temperature'} -mf6internal auxvar - -block period -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname constant temperature name -description REPLACE boundname {'{#1}': 'constant temperature'} diff --git a/flopy/mf6/data/dfn/gwe-dis.dfn b/flopy/mf6/data/dfn/gwe-dis.dfn deleted file mode 100644 index 2326105aa..000000000 --- a/flopy/mf6/data/dfn/gwe-dis.dfn +++ /dev/null @@ -1,130 +0,0 @@ -# --------------------- gwe dis options --------------------- - -block options -name length_units -type string -reader urword -optional true -longname model length units -description is the length units used for this model. Values can be ``FEET'', ``METERS'', or ``CENTIMETERS''. If not specified, the default is ``UNKNOWN''. - -block options -name nogrb -type keyword -reader urword -optional true -longname do not write binary grid file -description keyword to deactivate writing of the binary grid file. - -block options -name xorigin -type double precision -reader urword -optional true -longname x-position of the model grid origin -description x-position of the lower-left corner of the model grid. A default value of zero is assigned if not specified. The value for XORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name yorigin -type double precision -reader urword -optional true -longname y-position of the model grid origin -description y-position of the lower-left corner of the model grid. If not specified, then a default value equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name angrot -type double precision -reader urword -optional true -longname rotation angle -description counter-clockwise rotation angle (in degrees) of the lower-left corner of the model grid. If not specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwe dis dimensions --------------------- - -block dimensions -name nlay -type integer -reader urword -optional false -longname number of layers -description is the number of layers in the model grid. -default_value 1 - -block dimensions -name nrow -type integer -reader urword -optional false -longname number of rows -description is the number of rows in the model grid. -default_value 2 - -block dimensions -name ncol -type integer -reader urword -optional false -longname number of columns -description is the number of columns in the model grid. -default_value 2 - -# --------------------- gwe dis griddata --------------------- - -block griddata -name delr -type double precision -shape (ncol) -reader readarray -longname spacing along a row -description is the column spacing in the row direction. -default_value 1.0 - -block griddata -name delc -type double precision -shape (nrow) -reader readarray -longname spacing along a column -description is the row spacing in the column direction. -default_value 1.0 - -block griddata -name top -type double precision -shape (ncol, nrow) -reader readarray -longname cell top elevation -description is the top elevation for each cell in the top model layer. -default_value 1.0 - -block griddata -name botm -type double precision -shape (ncol, nrow, nlay) -reader readarray -layered true -longname cell bottom elevation -description is the bottom elevation for each cell. -default_value 0. - -block griddata -name idomain -type integer -shape (ncol, nrow, nlay) -reader readarray -layered true -optional true -longname idomain existence array -description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. - - diff --git a/flopy/mf6/data/dfn/gwe-disu.dfn b/flopy/mf6/data/dfn/gwe-disu.dfn deleted file mode 100644 index 1b2035600..000000000 --- a/flopy/mf6/data/dfn/gwe-disu.dfn +++ /dev/null @@ -1,286 +0,0 @@ -# --------------------- gwe disu options --------------------- - -block options -name length_units -type string -reader urword -optional true -longname model length units -description is the length units used for this model. Values can be ``FEET'', ``METERS'', or ``CENTIMETERS''. If not specified, the default is ``UNKNOWN''. - -block options -name nogrb -type keyword -reader urword -optional true -longname do not write binary grid file -description keyword to deactivate writing of the binary grid file. - -block options -name xorigin -type double precision -reader urword -optional true -longname x-position origin of the model grid coordinate system -description x-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. A default value of zero is assigned if not specified. The value for XORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name yorigin -type double precision -reader urword -optional true -longname y-position origin of the model grid coordinate system -description y-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. If not specified, then a default value equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name angrot -type double precision -reader urword -optional true -longname rotation angle -description counter-clockwise rotation angle (in degrees) of the model grid coordinate system relative to a real-world coordinate system. If not specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name vertical_offset_tolerance -type double precision -reader urword -optional true -default_value 0.0 -longname vertical length dimension for top and bottom checking -description checks are performed to ensure that the top of a cell is not higher than the bottom of an overlying cell. This option can be used to specify the tolerance that is used for checking. If top of a cell is above the bottom of an overlying cell by a value less than this tolerance, then the program will not terminate with an error. The default value is zero. This option should generally not be used. -mf6internal voffsettol - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwe disu dimensions --------------------- - -block dimensions -name nodes -type integer -reader urword -optional false -longname number of layers -description is the number of cells in the model grid. - -block dimensions -name nja -type integer -reader urword -optional false -longname number of columns -description is the sum of the number of connections and NODES. When calculating the total number of connections, the connection between cell n and cell m is considered to be different from the connection between cell m and cell n. Thus, NJA is equal to the total number of connections, including n to m and m to n, and the total number of cells. - -block dimensions -name nvert -type integer -reader urword -optional true -longname number of vertices -description is the total number of (x, y) vertex pairs used to define the plan-view shape of each cell in the model grid. If NVERT is not specified or is specified as zero, then the VERTICES and CELL2D blocks below are not read. NVERT and the accompanying VERTICES and CELL2D blocks should be specified for most simulations. If the XT3D or SAVE\_SPECIFIC\_DISCHARGE options are specified in the NPF Package, then this information is required. - -# --------------------- gwe disu griddata --------------------- - -block griddata -name top -type double precision -shape (nodes) -reader readarray -longname cell top elevation -description is the top elevation for each cell in the model grid. - -block griddata -name bot -type double precision -shape (nodes) -reader readarray -longname cell bottom elevation -description is the bottom elevation for each cell. - -block griddata -name area -type double precision -shape (nodes) -reader readarray -longname cell surface area -description is the cell surface area (in plan view). - -block griddata -name idomain -type integer -shape (nodes) -reader readarray -layered false -optional true -longname idomain existence array -description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. IDOMAIN values of -1 cannot be specified for the DISU Package. - -# --------------------- gwe disu connectiondata --------------------- - -block connectiondata -name iac -type integer -shape (nodes) -reader readarray -longname number of cell connections -description is the number of connections (plus 1) for each cell. The sum of all the entries in IAC must be equal to NJA. - -block connectiondata -name ja -type integer -shape (nja) -reader readarray -longname grid connectivity -description is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWE cells and their connections to the other GWE cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. -numeric_index true -jagged_array iac - -block connectiondata -name ihc -type integer -shape (nja) -reader readarray -longname connection type -description is an index array indicating the direction between node n and all of its m connections. If IHC = 0 then cell n and cell m are connected in the vertical direction. Cell n overlies cell m if the cell number for n is less than m; cell m overlies cell n if the cell number for m is less than n. If IHC = 1 then cell n and cell m are connected in the horizontal direction. If IHC = 2 then cell n and cell m are connected in the horizontal direction, and the connection is vertically staggered. A vertically staggered connection is one in which a cell is horizontally connected to more than one cell in a horizontal connection. -jagged_array iac - -block connectiondata -name cl12 -type double precision -shape (nja) -reader readarray -longname connection lengths -description is the array containing connection lengths between the center of cell n and the shared face with each adjacent m cell. -jagged_array iac - -block connectiondata -name hwva -type double precision -shape (nja) -reader readarray -longname connection lengths -description is a symmetric array of size NJA. For horizontal connections, entries in HWVA are the horizontal width perpendicular to flow. For vertical connections, entries in HWVA are the vertical area for flow. Thus, values in the HWVA array contain dimensions of both length and area. Entries in the HWVA array have a one-to-one correspondence with the connections specified in the JA array. Likewise, there is a one-to-one correspondence between entries in the HWVA array and entries in the IHC array, which specifies the connection type (horizontal or vertical). Entries in the HWVA array must be symmetric; the program will terminate with an error if the value for HWVA for an n to m connection does not equal the value for HWVA for the corresponding n to m connection. -jagged_array iac - -block connectiondata -name angldegx -type double precision -optional true -shape (nja) -reader readarray -longname angle of face normal to connection -description is the angle (in degrees) between the horizontal x-axis and the outward normal to the face between a cell and its connecting cells. The angle varies between zero and 360.0 degrees, where zero degrees points in the positive x-axis direction, and 90 degrees points in the positive y-axis direction. ANGLDEGX is only needed if horizontal anisotropy is specified in the NPF Package, if the XT3D option is used in the NPF Package, or if the SAVE\_SPECIFIC\_DISCHARGE option is specified in the NPF Package. ANGLDEGX does not need to be specified if these conditions are not met. ANGLDEGX is of size NJA; values specified for vertical connections and for the diagonal position are not used. Note that ANGLDEGX is read in degrees, which is different from MODFLOW-USG, which reads a similar variable (ANGLEX) in radians. -jagged_array iac - -# --------------------- gwe disu vertices --------------------- - -block vertices -name vertices -type recarray iv xv yv -shape (nvert) -reader urword -optional false -longname vertices data -description - -block vertices -name iv -type integer -in_record true -tagged false -reader urword -optional false -longname vertex number -description is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. -numeric_index true - -block vertices -name xv -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for vertex -description is the x-coordinate for the vertex. - -block vertices -name yv -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for vertex -description is the y-coordinate for the vertex. - - -# --------------------- gwe disu cell2d --------------------- - -block cell2d -name cell2d -type recarray icell2d xc yc ncvert icvert -shape (nodes) -reader urword -optional false -longname cell2d data -description - -block cell2d -name icell2d -type integer -in_record true -tagged false -reader urword -optional false -longname cell2d number -description is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. -numeric_index true - -block cell2d -name xc -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for cell center -description is the x-coordinate for the cell center. - -block cell2d -name yc -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for cell center -description is the y-coordinate for the cell center. - -block cell2d -name ncvert -type integer -in_record true -tagged false -reader urword -optional false -longname number of cell vertices -description is the number of vertices required to define the cell. There may be a different number of vertices for each cell. - -block cell2d -name icvert -type integer -shape (ncvert) -in_record true -tagged false -reader urword -optional false -longname array of vertex numbers -description is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. -numeric_index true diff --git a/flopy/mf6/data/dfn/gwe-disv.dfn b/flopy/mf6/data/dfn/gwe-disv.dfn deleted file mode 100644 index ff91ef0cf..000000000 --- a/flopy/mf6/data/dfn/gwe-disv.dfn +++ /dev/null @@ -1,213 +0,0 @@ -# --------------------- gwe disv options --------------------- - -block options -name length_units -type string -reader urword -optional true -longname model length units -description is the length units used for this model. Values can be ``FEET'', ``METERS'', or ``CENTIMETERS''. If not specified, the default is ``UNKNOWN''. - -block options -name nogrb -type keyword -reader urword -optional true -longname do not write binary grid file -description keyword to deactivate writing of the binary grid file. - -block options -name xorigin -type double precision -reader urword -optional true -longname x-position origin of the model grid coordinate system -description x-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. A default value of zero is assigned if not specified. The value for XORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name yorigin -type double precision -reader urword -optional true -longname y-position origin of the model grid coordinate system -description y-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. If not specified, then a default value equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name angrot -type double precision -reader urword -optional true -longname rotation angle -description counter-clockwise rotation angle (in degrees) of the model grid coordinate system relative to a real-world coordinate system. If not specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwe disv dimensions --------------------- - -block dimensions -name nlay -type integer -reader urword -optional false -longname number of layers -description is the number of layers in the model grid. - -block dimensions -name ncpl -type integer -reader urword -optional false -longname number of cells per layer -description is the number of cells per layer. This is a constant value for the grid and it applies to all layers. - -block dimensions -name nvert -type integer -reader urword -optional false -longname number of columns -description is the total number of (x, y) vertex pairs used to characterize the horizontal configuration of the model grid. - -# --------------------- gwe disv griddata --------------------- - -block griddata -name top -type double precision -shape (ncpl) -reader readarray -longname model top elevation -description is the top elevation for each cell in the top model layer. - -block griddata -name botm -type double precision -shape (ncpl, nlay) -reader readarray -layered true -longname model bottom elevation -description is the bottom elevation for each cell. - -block griddata -name idomain -type integer -shape (ncpl, nlay) -reader readarray -layered true -optional true -longname idomain existence array -description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. - - -# --------------------- gwe disv vertices --------------------- - -block vertices -name vertices -type recarray iv xv yv -shape (nvert) -reader urword -optional false -longname vertices data -description - -block vertices -name iv -type integer -in_record true -tagged false -reader urword -optional false -longname vertex number -description is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. -numeric_index true - -block vertices -name xv -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for vertex -description is the x-coordinate for the vertex. - -block vertices -name yv -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for vertex -description is the y-coordinate for the vertex. - - -# --------------------- gwe disv cell2d --------------------- - -block cell2d -name cell2d -type recarray icell2d xc yc ncvert icvert -shape (ncpl) -reader urword -optional false -longname cell2d data -description - -block cell2d -name icell2d -type integer -in_record true -tagged false -reader urword -optional false -longname cell2d number -description is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. -numeric_index true - -block cell2d -name xc -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for cell center -description is the x-coordinate for the cell center. - -block cell2d -name yc -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for cell center -description is the y-coordinate for the cell center. - -block cell2d -name ncvert -type integer -in_record true -tagged false -reader urword -optional false -longname number of cell vertices -description is the number of vertices required to define the cell. There may be a different number of vertices for each cell. - -block cell2d -name icvert -type integer -shape (ncvert) -in_record true -tagged false -reader urword -optional false -longname array of vertex numbers -description is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices. -numeric_index true diff --git a/flopy/mf6/data/dfn/gwe-esl.dfn b/flopy/mf6/data/dfn/gwe-esl.dfn deleted file mode 100644 index 534db1b02..000000000 --- a/flopy/mf6/data/dfn/gwe-esl.dfn +++ /dev/null @@ -1,205 +0,0 @@ -# --------------------- gwe esl options --------------------- - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Energy Transport'} - -block options -name auxmultname -type string -shape -reader urword -optional true -longname name of auxiliary variable for multiplier -description REPLACE auxmultname {'{#1}': 'energy loading rate'} - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'energy source loading'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'energy source loading'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'energy source loading'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save well flows to budget file -description REPLACE save_flows {'{#1}': 'energy source loading'} - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'Energy Source Loading'} - -# --------------------- gwe esl dimensions --------------------- - -block dimensions -name maxbound -type integer -reader urword -optional false -longname maximum number of sources -description REPLACE maxbound {'{#1}': 'sources'} - - -# --------------------- gwe esl period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name stress_period_data -type recarray cellid senerrate aux boundname -shape (maxbound) -reader urword -longname -description - -block period -name cellid -type integer -shape (ncelldim) -tagged false -in_record true -reader urword -longname cell identifier -description REPLACE cellid {} - -block period -name senerrate -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname energy source loading rate -description is the energy source loading rate. A positive value indicates addition of energy and a negative value indicates removal of energy. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -time_series true -longname auxiliary variables -description REPLACE aux {'{#1}': 'energy source'} - -block period -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname well name -description REPLACE boundname {'{#1}': 'energy source'} diff --git a/flopy/mf6/data/dfn/gwe-est.dfn b/flopy/mf6/data/dfn/gwe-est.dfn deleted file mode 100644 index 22181237c..000000000 --- a/flopy/mf6/data/dfn/gwe-est.dfn +++ /dev/null @@ -1,106 +0,0 @@ -# --------------------- gwe est options --------------------- - -block options -name save_flows -type keyword -reader urword -optional true -longname save calculated flows to budget file -description REPLACE save_flows {'{#1}': 'EST'} - -block options -name zero_order_decay -type keyword -reader urword -optional true -longname activate zero-order decay -description is a text keyword to indicate that zero-order decay will occur. Use of this keyword requires that DECAY and DECAY\_SORBED (if sorption is active) are specified in the GRIDDATA block. - -block options -name latent_heat_vaporization -type keyword -reader urword -optional true -longname activate cooling associated with evaporation -description is a text keyword to indicate that cooling associated with evaporation will occur. Use of this keyword requires that LATHEATVAP are specified in the GRIDDATA block. While the EST package does not simulate evaporation, multiple other packages in a GWE simulation may. For example, evaporation may occur from the surface of streams or lakes. Owing to the energy consumed by the change in phase, the latent heat of vaporization is required. - -# --------------------- gwe est griddata --------------------- - -block griddata -name porosity -type double precision -shape (nodes) -reader readarray -layered true -longname porosity -description is the mobile domain porosity, defined as the mobile domain pore volume per mobile domain volume. The GWE model does not support the concept of an immobile domain in the context of heat transport. - -block griddata -name decay -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname aqueous phase decay rate coefficient -description is the rate coefficient for zero-order decay for the aqueous phase of the mobile domain. A negative value indicates heat (energy) production. The dimensions of decay for zero-order decay is energy per length cubed per time. Zero-order decay will have no effect on simulation results unless zero-order decay is specified in the options block. - -block griddata -name cps -type double precision -shape (nodes) -reader readarray -layered true -longname heat capacity of the aquifer material -description is the mass-based heat capacity of dry solids (aquifer material). For example, units of J/kg/C may be used (or equivalent). - -block griddata -name rhos -type double precision -shape (nodes) -reader readarray -layered true -longname density of aquifer material -description is a user-specified value of the density of aquifer material not considering the voids. Value will remain fixed for the entire simulation. For example, if working in SI units, values may be entered as kilograms per cubic meter. - -# --------------------- gwe est packagedata --------------------- - -block packagedata -name packagedata -type recarray cpw rhow latheatvap -shape -reader urword -longname -description - -block packagedata -name cpw -type double precision -shape -tagged false -in_record true -reader urword -longname heat capacity of water -description is the mass-based heat capacity of the simulated fluid. For example, units of J/kg/C may be used (or equivalent). - -block packagedata -name rhow -type double precision -shape -tagged false -in_record true -reader urword -longname density of water -description is a user-specified value of the density of water. Value will remain fixed for the entire simulation. For example, if working in SI units, values may be entered as kilograms per cubic meter. - - -block packagedata -name latheatvap -type double precision -shape -tagged false -in_record true -reader urword -longname latent heat of vaporization -description is the user-specified value for the latent heat of vaporization. For example, if working in SI units, values may be entered as kJ/kg. - diff --git a/flopy/mf6/data/dfn/gwe-fmi.dfn b/flopy/mf6/data/dfn/gwe-fmi.dfn deleted file mode 100644 index fb71131e6..000000000 --- a/flopy/mf6/data/dfn/gwe-fmi.dfn +++ /dev/null @@ -1,58 +0,0 @@ -# --------------------- gwe fmi options --------------------- - -block options -name save_flows -type keyword -reader urword -optional true -longname save calculated flow imbalance correction to budget file -description REPLACE save_flows {'{#1}': 'FMI'} - -block options -name flow_imbalance_correction -type keyword -reader urword -optional true -longname correct for flow imbalance -description correct for an imbalance in flows by assuming that any residual flow error comes in or leaves at the temperature of the cell. When this option is activated, the GWE Model budget written to the listing file will contain two additional entries: FLOW-ERROR and FLOW-CORRECTION. These two entries will be equal but opposite in sign. The FLOW-CORRECTION term is a mass flow that is added to offset the error caused by an imprecise flow balance. If these terms are not relatively small, the flow model should be rerun with stricter convergence tolerances. - -# --------------------- gwe fmi packagedata --------------------- - -block packagedata -name packagedata -type recarray flowtype filein fname -reader urword -optional false -longname flowtype list -description - -block packagedata -name flowtype -in_record true -type string -tagged false -reader urword -longname flow type -description is the word GWFBUDGET, GWFHEAD, GWFMOVER or the name of an advanced GWF stress package. If GWFBUDGET is specified, then the corresponding file must be a budget file from a previous GWF Model run. If an advanced GWF stress package name appears then the corresponding file must be the budget file saved by a LAK, SFR, MAW or UZF Package. - -block packagedata -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block packagedata -name fname -in_record true -type string -preserve_case true -tagged false -reader urword -longname file name -description is the name of the file containing flows. The path to the file should be included if the file is not located in the folder where the program was run. - diff --git a/flopy/mf6/data/dfn/gwe-ic.dfn b/flopy/mf6/data/dfn/gwe-ic.dfn deleted file mode 100644 index 6bd80b3de..000000000 --- a/flopy/mf6/data/dfn/gwe-ic.dfn +++ /dev/null @@ -1,22 +0,0 @@ -# --------------------- gwe ic options --------------------- - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwe ic griddata --------------------- - -block griddata -name strt -type double precision -shape (nodes) -reader readarray -layered true -longname starting temperature -description is the initial (starting) temperature---that is, the temperature at the beginning of the GWE Model simulation. STRT must be specified for all GWE Model simulations. One value is read for every model cell. -default_value 0.0 diff --git a/flopy/mf6/data/dfn/gwe-lke.dfn b/flopy/mf6/data/dfn/gwe-lke.dfn deleted file mode 100644 index b59b50420..000000000 --- a/flopy/mf6/data/dfn/gwe-lke.dfn +++ /dev/null @@ -1,481 +0,0 @@ -# --------------------- gwe lke options --------------------- -# flopy multi-package - -block options -name flow_package_name -type string -shape -reader urword -optional true -longname keyword to specify name of corresponding flow package -description keyword to specify the name of the corresponding flow package. If not specified, then the corresponding flow package must have the same name as this advanced transport package (the name associated with this package in the GWE name file). - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Energy Transport'} - -block options -name flow_package_auxiliary_name -type string -shape -reader urword -optional true -longname keyword to specify name of temperature auxiliary variable in flow package -description keyword to specify the name of an auxiliary variable in the corresponding flow package. If specified, then the simulated temperatures from this advanced transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced transport package are read from a file, then this option will have no effect. - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'lake'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'lake'} - -block options -name print_temperature -type keyword -reader urword -optional true -longname print calculated temperatures to listing file -description REPLACE print_temperature {'{#1}': 'lake', '{#2}': 'temperature', '{#3}': 'TEMPERATURE'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'lake'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save lake flows to budget file -description REPLACE save_flows {'{#1}': 'lake'} - -block options -name temperature_filerecord -type record temperature fileout tempfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name temperature -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname stage keyword -description keyword to specify that record corresponds to temperature. - -block options -name tempfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write temperature information. - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'LKE'} - - -# --------------------- gwe lke packagedata --------------------- - -block packagedata -name packagedata -type recarray lakeno strt ktf rbthcnd aux boundname -shape (maxbound) -reader urword -longname -description - -block packagedata -name lakeno -type integer -shape -tagged false -in_record true -reader urword -longname lake number for this entry -description integer value that defines the lake number associated with the specified PACKAGEDATA data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once. -numeric_index true - -block packagedata -name strt -type double precision -shape -tagged false -in_record true -reader urword -longname starting lake temperature -description real value that defines the starting temperature for the lake. - -block packagedata -name ktf -type double precision -shape -tagged false -in_record true -reader urword -longname boundary thermal conductivity -description is the thermal conductivity of the of the interface between the aquifer cell and the lake. - -block packagedata -name rbthcnd -type double precision -shape -tagged false -in_record true -reader urword -longname streambed thickness -description real value that defines the thickness of the lakebed material through which conduction occurs. Must be greater than 0. - -block packagedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -time_series true -optional true -longname auxiliary variables -description REPLACE aux {'{#1}': 'lake'} - -block packagedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname lake name -description REPLACE boundname {'{#1}': 'lake'} - - -# --------------------- gwe lke period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name lakeperioddata -type recarray lakeno laksetting -shape -reader urword -longname -description - -block period -name lakeno -type integer -shape -tagged false -in_record true -reader urword -longname lake number for this entry -description integer value that defines the lake number associated with the specified PERIOD data on the line. LAKENO must be greater than zero and less than or equal to NLAKES. -numeric_index true - -block period -name laksetting -type keystring status temperature rainfall evaporation runoff ext-inflow auxiliaryrecord -shape -tagged false -in_record true -reader urword -longname -description line of information that is parsed into a keyword and values. Keyword values that can be used to start the LAKSETTING string include: STATUS, TEMPERATURE, RAINFALL, EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign the temperature associated with the corresponding flow terms. Temperatures cannot be specified for all flow terms. For example, the Lake Package supports a ``WITHDRAWAL'' flow term. If this withdrawal term is active, then water will be withdrawn from the lake at the calculated temperature of the lake. - -block period -name status -type string -shape -tagged true -in_record true -reader urword -longname lake temperature status -description keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that temperature will be calculated for the lake. If a lake is inactive, then there will be no solute mass fluxes into or out of the lake and the inactive value will be written for the lake temperature. If a lake is constant, then the temperature for the lake will be fixed at the user specified value. - -block period -name temperature -type string -shape -tagged true -in_record true -time_series true -reader urword -longname lake temperature -description real or character value that defines the temperature for the lake. The specified TEMPERATURE is only applied if the lake is a constant temperature lake. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name rainfall -type string -shape -tagged true -in_record true -reader urword -time_series true -longname rainfall temperature -description real or character value that defines the rainfall temperature for the lake. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name evaporation -type string -shape -tagged true -in_record true -reader urword -time_series true -longname evaporation temperature -description real or character value that defines the temperature of evaporated water $(^{\circ}C)$ for the reach. If this temperature value is larger than the simulated temperature in the reach, then the evaporated water will be removed at the same temperature as the reach. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - - -block period -name runoff -type string -shape -tagged true -in_record true -reader urword -time_series true -longname runoff temperature -description real or character value that defines the temperature of runoff for the lake. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name ext-inflow -type string -shape -tagged true -in_record true -reader urword -time_series true -longname ext-inflow temperature -description real or character value that defines the temperature of external inflow for the lake. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name auxiliaryrecord -type record auxiliary auxname auxval -shape -tagged -in_record true -reader urword -longname -description - -block period -name auxiliary -type keyword -shape -in_record true -reader urword -longname -description keyword for specifying auxiliary variable. - -block period -name auxname -type string -shape -tagged false -in_record true -reader urword -longname -description name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the auxiliary variable names defined in the OPTIONS block the data are ignored. - -block period -name auxval -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname auxiliary variable value -description value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. diff --git a/flopy/mf6/data/dfn/gwe-mve.dfn b/flopy/mf6/data/dfn/gwe-mve.dfn deleted file mode 100644 index e67e76ba4..000000000 --- a/flopy/mf6/data/dfn/gwe-mve.dfn +++ /dev/null @@ -1,106 +0,0 @@ -# --------------------- gwe mve options --------------------- -# flopy subpackage mve_filerecord mve perioddata perioddata -# flopy parent_name_type parent_model_or_package MFModel/MFPackage - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'mover'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'lake'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save lake flows to budget file -description REPLACE save_flows {'{#1}': 'lake'} - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - - diff --git a/flopy/mf6/data/dfn/gwe-mwe.dfn b/flopy/mf6/data/dfn/gwe-mwe.dfn deleted file mode 100644 index c805b6533..000000000 --- a/flopy/mf6/data/dfn/gwe-mwe.dfn +++ /dev/null @@ -1,447 +0,0 @@ -# --------------------- gwe mwe options --------------------- -# flopy multi-package - -block options -name flow_package_name -type string -shape -reader urword -optional true -longname keyword to specify name of corresponding flow package -description keyword to specify the name of the corresponding flow package. If not specified, then the corresponding flow package must have the same name as this advanced transport package (the name associated with this package in the GWE name file). - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Energy Transport'} - -block options -name flow_package_auxiliary_name -type string -shape -reader urword -optional true -longname keyword to specify name of temperature auxiliary variable in flow package -description keyword to specify the name of an auxiliary variable in the corresponding flow package. If specified, then the simulated temperatures from this advanced transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced transport package are read from a file, then this option will have no effect. - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'well'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'well'} - -block options -name print_temperature -type keyword -reader urword -optional true -longname print calculated temperatures to listing file -description REPLACE print_temperature {'{#1}': 'well', '{#2}': 'temperature', '{#3}': 'TEMPERATURE'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'well'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save well flows to budget file -description REPLACE save_flows {'{#1}': 'well'} - -block options -name temperature_filerecord -type record temperature fileout tempfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name temperature -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname stage keyword -description keyword to specify that record corresponds to temperature. - -block options -name tempfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write temperature information. - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'MWE'} - - -# --------------------- gwe mwe packagedata --------------------- - -block packagedata -name packagedata -type recarray mawno strt ktf fthk aux boundname -shape (maxbound) -reader urword -longname -description - -block packagedata -name mawno -type integer -shape -tagged false -in_record true -reader urword -longname well number for this entry -description integer value that defines the well number associated with the specified PACKAGEDATA data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once. -numeric_index true - -block packagedata -name strt -type double precision -shape -tagged false -in_record true -reader urword -longname starting well temperature -description real value that defines the starting temperature for the well. - -block packagedata -name ktf -type double precision -shape -tagged false -in_record true -reader urword -longname thermal conductivity of the feature -description is the thermal conductivity of the of the interface between the aquifer cell and the feature. - -block packagedata -name fthk -type double precision -shape -tagged false -in_record true -reader urword -longname thickness of the well feature -description real value that defines the thickness of the material through which conduction occurs. Must be greater than 0. - -block packagedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -time_series true -optional true -longname auxiliary variables -description REPLACE aux {'{#1}': 'well'} - -block packagedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname well name -description REPLACE boundname {'{#1}': 'well'} - - -# --------------------- gwe mwe period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name mweperioddata -type recarray mawno mwesetting -shape -reader urword -longname -description - -block period -name mawno -type integer -shape -tagged false -in_record true -reader urword -longname well number for this entry -description integer value that defines the well number associated with the specified PERIOD data on the line. MAWNO must be greater than zero and less than or equal to NMAWWELLS. -numeric_index true - -block period -name mwesetting -type keystring status temperature rate auxiliaryrecord -shape -tagged false -in_record true -reader urword -longname -description line of information that is parsed into a keyword and values. Keyword values that can be used to start the MWESETTING string include: STATUS, TEMPERATURE, RAINFALL, EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign the temperature of associated with the corresponding flow terms. Temperatures cannot be specified for all flow terms. For example, the Multi-Aquifer Well Package supports a ``WITHDRAWAL'' flow term. If this withdrawal term is active, then water will be withdrawn from the well at the calculated temperature of the well. - -block period -name status -type string -shape -tagged true -in_record true -reader urword -longname well temperature status -description keyword option to define well status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that temperature will be calculated for the well. If a well is inactive, then there will be no solute mass fluxes into or out of the well and the inactive value will be written for the well temperature. If a well is constant, then the temperature for the well will be fixed at the user specified value. - -block period -name temperature -type string -shape -tagged true -in_record true -time_series true -reader urword -longname well temperature -description real or character value that defines the temperature for the well. The specified TEMPERATURE is only applied if the well is a constant temperature well. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name rate -type string -shape -tagged true -in_record true -reader urword -time_series true -longname well injection temperature -description real or character value that defines the injection solute temperature $^{\circ}C$ for the well. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name auxiliaryrecord -type record auxiliary auxname auxval -shape -tagged -in_record true -reader urword -longname -description - -block period -name auxiliary -type keyword -shape -in_record true -reader urword -longname -description keyword for specifying auxiliary variable. - -block period -name auxname -type string -shape -tagged false -in_record true -reader urword -longname -description name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the auxiliary variable names defined in the OPTIONS block the data are ignored. - -block period -name auxval -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname auxiliary variable value -description value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. diff --git a/flopy/mf6/data/dfn/gwe-nam.dfn b/flopy/mf6/data/dfn/gwe-nam.dfn deleted file mode 100644 index 31aa8fd84..000000000 --- a/flopy/mf6/data/dfn/gwe-nam.dfn +++ /dev/null @@ -1,74 +0,0 @@ -# --------------------- gwe nam options --------------------- - -block options -name list -type string -reader urword -optional true -preserve_case true -longname name of listing file -description is name of the listing file to create for this GWE model. If not specified, then the name of the list file will be the basename of the GWE model name file and the ``.lst'' extension. For example, if the GWE name file is called ``my.model.nam'' then the list file will be called ``my.model.lst''. - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'all model stress package'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'all model package'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save flows for all packages to budget file -description REPLACE save_flows {'{#1}': 'all model package'} - -# --------------------- gwe nam packages --------------------- - -block packages -name packages -type recarray ftype fname pname -reader urword -optional false -longname package list -description - -block packages -name ftype -in_record true -type string -tagged false -reader urword -longname package type -description is the file type, which must be one of the following character values shown in table~\ref{table:ftype-gwe}. Ftype may be entered in any combination of uppercase and lowercase. - -block packages -name fname -in_record true -type string -preserve_case true -tagged false -reader urword -longname file name -description is the name of the file containing the package input. The path to the file should be included if the file is not located in the folder where the program was run. - -block packages -name pname -in_record true -type string -tagged false -reader urword -optional true -longname user name for package -description is the user-defined name for the package. PNAME is restricted to 16 characters. No spaces are allowed in PNAME. PNAME character values are read and stored by the program for stress packages only. These names may be useful for labeling purposes when multiple stress packages of the same type are located within a single GWE Model. If PNAME is specified for a stress package, then PNAME will be used in the flow budget table in the listing file; it will also be used for the text entry in the cell-by-cell budget file. PNAME is case insensitive and is stored in all upper case letters. - diff --git a/flopy/mf6/data/dfn/gwe-oc.dfn b/flopy/mf6/data/dfn/gwe-oc.dfn deleted file mode 100644 index 74020a36b..000000000 --- a/flopy/mf6/data/dfn/gwe-oc.dfn +++ /dev/null @@ -1,313 +0,0 @@ -# --------------------- gwe oc options --------------------- - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name temperature_filerecord -type record temperature fileout temperaturefile -shape -reader urword -tagged true -optional true -longname -description - -block options -name temperature -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname temperature keyword -description keyword to specify that record corresponds to temperature. - -block options -name temperaturefile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write temperature information. - -block options -name temperatureprintrecord -type record temperature print_format formatrecord -shape -reader urword -optional true -longname -description - -block options -name print_format -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to indicate that a print format follows -description keyword to specify format for printing to the listing file. - -block options -name formatrecord -type record columns width digits format -shape -in_record true -reader urword -tagged -optional false -longname -description - -block options -name columns -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of columns -description number of columns for writing data. - -block options -name width -type integer -shape -in_record true -reader urword -tagged true -optional -longname width for each number -description width for writing each number. - -block options -name digits -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of digits -description number of digits to use for writing a number. - -block options -name format -type string -shape -in_record true -reader urword -tagged false -optional false -longname write format -description write format can be EXPONENTIAL, FIXED, GENERAL, or SCIENTIFIC. - - -# --------------------- gwe oc period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name saverecord -type record save rtype ocsetting -shape -reader urword -tagged false -optional true -longname -description - -block period -name save -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to save -description keyword to indicate that information will be saved this stress period. - -block period -name printrecord -type record print rtype ocsetting -shape -reader urword -tagged false -optional true -longname -description - -block period -name print -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to save -description keyword to indicate that information will be printed this stress period. - -block period -name rtype -type string -shape -in_record true -reader urword -tagged false -optional false -longname record type -description type of information to save or print. Can be BUDGET or TEMPERATURE. - -block period -name ocsetting -type keystring all first last frequency steps -shape -tagged false -in_record true -reader urword -longname -description specifies the steps for which the data will be saved. - -block period -name all -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for all time steps in period. - -block period -name first -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for first step in period. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name last -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for last step in period. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name frequency -type integer -shape -tagged true -in_record true -reader urword -longname -description save at the specified time step frequency. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name steps -type integer -shape ($ 0). HEAD\_LIMIT can be deactivated by specifying the text string `OFF'. The HEAD\_LIMIT option is based on the HEAD\_LIMIT functionality available in the MNW2~\citep{konikow2009} package for MODFLOW-2005. The HEAD\_LIMIT option has been included to facilitate backward compatibility with previous versions of MODFLOW but use of the RATE\_SCALING option instead of the HEAD\_LIMIT option is recommended. By default, HEAD\_LIMIT is `OFF'. - -block period -name shutoffrecord -type record shut_off minrate maxrate -shape -tagged -in_record true -reader urword -longname -description - -block period -name shut_off -type keyword -shape -in_record true -reader urword -longname shut off well -description keyword for activating well shut off capability. Subsequent values define the minimum and maximum pumping rate that a well must exceed to shutoff or reactivate a well, respectively, during a stress period. SHUT\_OFF is only applied to injection wells (RATE$<0$) and if HEAD\_LIMIT is specified (not set to `OFF'). If HEAD\_LIMIT is specified, SHUT\_OFF can be deactivated by specifying a minimum value equal to zero. The SHUT\_OFF option is based on the SHUT\_OFF functionality available in the MNW2~\citep{konikow2009} package for MODFLOW-2005. The SHUT\_OFF option has been included to facilitate backward compatibility with previous versions of MODFLOW but use of the RATE\_SCALING option instead of the SHUT\_OFF option is recommended. By default, SHUT\_OFF is not used. - -block period -name minrate -type double precision -shape -tagged false -in_record true -reader urword -longname minimum shutoff rate -description is the minimum rate that a well must exceed to shutoff a well during a stress period. The well will shut down during a time step if the flow rate to the well from the aquifer is less than MINRATE. If a well is shut down during a time step, reactivation of the well cannot occur until the next time step to reduce oscillations. MINRATE must be less than maxrate. - -block period -name maxrate -type double precision -shape -tagged false -in_record true -reader urword -longname maximum shutoff rate -description is the maximum rate that a well must exceed to reactivate a well during a stress period. The well will reactivate during a timestep if the well was shutdown during the previous time step and the flow rate to the well from the aquifer exceeds maxrate. Reactivation of the well cannot occur until the next time step if a well is shutdown to reduce oscillations. maxrate must be greater than MINRATE. - -block period -name rate_scalingrecord -type record rate_scaling pump_elevation scaling_length -shape -tagged -in_record true -reader urword -longname -description - -block period -name rate_scaling -type keyword -shape -in_record true -reader urword -longname rate scaling -description activate rate scaling. If RATE\_SCALING is specified, both PUMP\_ELEVATION and SCALING\_LENGTH must be specified. RATE\_SCALING cannot be used with HEAD\_LIMIT. RATE\_SCALING can be used for extraction or injection wells. For extraction wells, the extraction rate will start to decrease once the head in the well lowers to a level equal to the pump elevation plus the scaling length. If the head in the well drops below the pump elevation, then the extraction rate is calculated to be zero. For an injection well, the injection rate will begin to decrease once the head in the well rises above the specified pump elevation. If the head in the well rises above the pump elevation plus the scaling length, then the injection rate will be set to zero. - -block period -name pump_elevation -type double precision -shape -tagged false -in_record true -reader urword -longname pump elevation -description is the elevation of the multi-aquifer well pump (PUMP\_ELEVATION). PUMP\_ELEVATION should not be less than the bottom elevation (BOTTOM) of the multi-aquifer well. - -block period -name scaling_length -type double precision -shape -tagged false -in_record true -reader urword -longname -description height above the pump elevation (SCALING\_LENGTH). If the simulated well head is below this elevation (pump elevation plus the scaling length), then the pumping rate is reduced. - -block period -name auxiliaryrecord -type record auxiliary auxname auxval -shape -tagged -in_record true -reader urword -longname -description - -block period -name auxiliary -type keyword -shape -in_record true -reader urword -longname -description keyword for specifying auxiliary variable. - -block period -name auxname -type string -shape -tagged false -in_record true -reader urword -longname -description name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the auxiliary variable names defined in the OPTIONS block the data are ignored. - -block period -name auxval -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname auxiliary variable value -description value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. diff --git a/flopy/mf6/data/dfn/gwf-mvr.dfn b/flopy/mf6/data/dfn/gwf-mvr.dfn deleted file mode 100644 index a30a29b8c..000000000 --- a/flopy/mf6/data/dfn/gwf-mvr.dfn +++ /dev/null @@ -1,265 +0,0 @@ -# --------------------- gwf mvr options --------------------- -# flopy subpackage mvr_filerecord mvr perioddata perioddata -# flopy parent_name_type parent_model_or_package MFModel/MFPackage - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'MVR'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'MVR'} - -block options -name modelnames -type keyword -reader urword -optional true -longname precede all package names with model names -description keyword to indicate that all package names will be preceded by the model name for the package. Model names are required when the Mover Package is used with a GWF-GWF Exchange. The MODELNAME keyword should not be used for a Mover Package that is for a single GWF Model. - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -# --------------------- gwf mvr dimensions --------------------- - -block dimensions -name maxmvr -type integer -reader urword -optional false -longname maximum number of movers -description integer value specifying the maximum number of water mover entries that will specified for any stress period. - -block dimensions -name maxpackages -type integer -reader urword -optional false -longname number of packages to be used with the mover -description integer value specifying the number of unique packages that are included in this water mover input file. - - -# --------------------- gwf mvr packages --------------------- - -block packages -name packages -type recarray mname pname -reader urword -shape (npackages) -optional false -longname -description - -block packages -name mname -type string -reader urword -shape -tagged false -in_record true -optional true -longname -description name of model containing the package. Model names are assigned by the user in the simulation name file. - -block packages -name pname -type string -reader urword -shape -tagged false -in_record true -optional false -longname -description is the name of a package that may be included in a subsequent stress period block. The package name is assigned in the name file for the GWF Model. Package names are optionally provided in the name file. If they are not provided by the user, then packages are assigned a default value, which is the package acronym followed by a hyphen and the package number. For example, the first Drain Package is named DRN-1. The second Drain Package is named DRN-2, and so forth. - - -# --------------------- gwf mvr period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name perioddata -type recarray mname1 pname1 id1 mname2 pname2 id2 mvrtype value -shape (maxbound) -reader urword -longname -description - -block period -name mname1 -type string -reader urword -shape -tagged false -in_record true -optional true -longname -description name of model containing the package, PNAME1. - -block period -name pname1 -type string -shape -tagged false -in_record true -reader urword -longname provider package name -description is the package name for the provider. The package PNAME1 must be designated to provide water through the MVR Package by specifying the keyword ``MOVER'' in its OPTIONS block. - -block period -name id1 -type integer -shape -tagged false -in_record true -reader urword -longname provider reach -description is the identifier for the provider. For the standard boundary packages, the provider identifier is the number of the boundary as it is listed in the package input file. (Note that the order of these boundaries may change by stress period, which must be accounted for in the Mover Package.) So the first well has an identifier of one. The second is two, and so forth. For the advanced packages, the identifier is the reach number (SFR Package), well number (MAW Package), or UZF cell number. For the Lake Package, ID1 is the lake outlet number. Thus, outflows from a single lake can be routed to different streams, for example. -numeric_index true - -block period -name mname2 -type string -reader urword -shape -tagged false -in_record true -optional true -longname -description name of model containing the package, PNAME2. - -block period -name pname2 -type string -shape -tagged false -in_record true -reader urword -longname receiver package name -description is the package name for the receiver. The package PNAME2 must be designated to receive water from the MVR Package by specifying the keyword ``MOVER'' in its OPTIONS block. - -block period -name id2 -type integer -shape -tagged false -in_record true -reader urword -longname receiver reach -description is the identifier for the receiver. The receiver identifier is the reach number (SFR Package), Lake number (LAK Package), well number (MAW Package), or UZF cell number. -numeric_index true - -block period -name mvrtype -type string -shape -tagged false -in_record true -reader urword -longname mover type -description is the character string signifying the method for determining how much water will be moved. Supported values are ``FACTOR'' ``EXCESS'' ``THRESHOLD'' and ``UPTO''. These four options determine how the receiver flow rate, $Q_R$, is calculated. These options mirror the options defined for the cprior variable in the SFR package, with the term ``FACTOR'' being functionally equivalent to the ``FRACTION'' option for cprior. - -block period -name value -type double precision -shape -tagged false -in_record true -reader urword -longname mover value -description is the value to be used in the equation for calculating the amount of water to move. For the ``FACTOR'' option, VALUE is the $\alpha$ factor. For the remaining options, VALUE is the specified flow rate, $Q_S$. - diff --git a/flopy/mf6/data/dfn/gwf-nam.dfn b/flopy/mf6/data/dfn/gwf-nam.dfn deleted file mode 100644 index f4e6ba483..000000000 --- a/flopy/mf6/data/dfn/gwf-nam.dfn +++ /dev/null @@ -1,99 +0,0 @@ -# --------------------- gwf nam options --------------------- - -block options -name list -type string -reader urword -optional true -preserve_case true -longname name of listing file -description is name of the listing file to create for this GWF model. If not specified, then the name of the list file will be the basename of the GWF model name file and the '.lst' extension. For example, if the GWF name file is called ``my.model.nam'' then the list file will be called ``my.model.lst''. - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'all model stress package'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'all model package'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save flows for all packages to budget file -description REPLACE save_flows {'{#1}': 'all model package'} - -block options -name newtonoptions -type record newton under_relaxation -reader urword -optional true -longname newton keyword and options -description none - -block options -name newton -in_record true -type keyword -reader urword -longname keyword to activate Newton-Raphson formulation -description keyword that activates the Newton-Raphson formulation for groundwater flow between connected, convertible groundwater cells and stress packages that support calculation of Newton-Raphson terms for groundwater exchanges. Cells will not dry when this option is used. By default, the Newton-Raphson formulation is not applied. - -block options -name under_relaxation -in_record true -type keyword -reader urword -optional true -longname keyword to activate Newton-Raphson UNDER_RELAXATION option -description keyword that indicates whether the groundwater head in a cell will be under-relaxed when water levels fall below the bottom of the model below any given cell. By default, Newton-Raphson UNDER\_RELAXATION is not applied. - -# --------------------- gwf nam packages --------------------- - -block packages -name packages -type recarray ftype fname pname -reader urword -optional false -longname package list -description - -block packages -name ftype -in_record true -type string -tagged false -reader urword -longname package type -description is the file type, which must be one of the following character values shown in table~\ref{table:ftype-gwf}. Ftype may be entered in any combination of uppercase and lowercase. - -block packages -name fname -in_record true -type string -preserve_case true -tagged false -reader urword -longname file name -description is the name of the file containing the package input. The path to the file should be included if the file is not located in the folder where the program was run. - -block packages -name pname -in_record true -type string -tagged false -reader urword -optional true -longname user name for package -description is the user-defined name for the package. PNAME is restricted to 16 characters. No spaces are allowed in PNAME. PNAME character values are read and stored by the program for stress packages only. These names may be useful for labeling purposes when multiple stress packages of the same type are located within a single GWF Model. If PNAME is specified for a stress package, then PNAME will be used in the flow budget table in the listing file; it will also be used for the text entry in the cell-by-cell budget file. PNAME is case insensitive and is stored in all upper case letters. - diff --git a/flopy/mf6/data/dfn/gwf-npf.dfn b/flopy/mf6/data/dfn/gwf-npf.dfn deleted file mode 100644 index 23cb314c2..000000000 --- a/flopy/mf6/data/dfn/gwf-npf.dfn +++ /dev/null @@ -1,346 +0,0 @@ -# --------------------- gwf npf options --------------------- - -block options -name save_flows -type keyword -reader urword -optional true -longname keyword to save NPF flows -description keyword to indicate that budget flow terms will be written to the file specified with ``BUDGET SAVE FILE'' in Output Control. -mf6internal ipakcb - -block options -name print_flows -type keyword -reader urword -optional true -longname keyword to print NPF flows to listing file -description keyword to indicate that calculated flows between cells will be printed to the listing file for every stress period time step in which ``BUDGET PRINT'' is specified in Output Control. If there is no Output Control option and ``PRINT\_FLOWS'' is specified, then flow rates are printed for the last time step of each stress period. This option can produce extremely large list files because all cell-by-cell flows are printed. It should only be used with the NPF Package for models that have a small number of cells. -mf6internal iprflow - -block options -name alternative_cell_averaging -type string -valid logarithmic amt-lmk amt-hmk -reader urword -optional true -longname conductance weighting option -description is a text keyword to indicate that an alternative method will be used for calculating the conductance for horizontal cell connections. The text value for ALTERNATIVE\_CELL\_AVERAGING can be ``LOGARITHMIC'', ``AMT-LMK'', or ``AMT-HMK''. ``AMT-LMK'' signifies that the conductance will be calculated using arithmetic-mean thickness and logarithmic-mean hydraulic conductivity. ``AMT-HMK'' signifies that the conductance will be calculated using arithmetic-mean thickness and harmonic-mean hydraulic conductivity. If the user does not specify a value for ALTERNATIVE\_CELL\_AVERAGING, then the harmonic-mean method will be used. This option cannot be used if the XT3D option is invoked. -mf6internal cellavg - -block options -name thickstrt -type keyword -reader urword -optional true -longname keyword to activate THICKSTRT option -description indicates that cells having a negative ICELLTYPE are confined, and their cell thickness for conductance calculations will be computed as STRT-BOT rather than TOP-BOT. This option should be used with caution as it only affects conductance calculations in the NPF Package. -mf6internal ithickstrt - -block options -name cvoptions -type record variablecv dewatered -reader urword -optional true -longname vertical conductance options -description none - -block options -name variablecv -in_record true -type keyword -reader urword -longname keyword to activate VARIABLECV option -description keyword to indicate that the vertical conductance will be calculated using the saturated thickness and properties of the overlying cell and the thickness and properties of the underlying cell. If the DEWATERED keyword is also specified, then the vertical conductance is calculated using only the saturated thickness and properties of the overlying cell if the head in the underlying cell is below its top. If these keywords are not specified, then the default condition is to calculate the vertical conductance at the start of the simulation using the initial head and the cell properties. The vertical conductance remains constant for the entire simulation. -mf6internal ivarcv - -block options -name dewatered -in_record true -type keyword -reader urword -optional true -longname keyword to activate DEWATERED option -description If the DEWATERED keyword is specified, then the vertical conductance is calculated using only the saturated thickness and properties of the overlying cell if the head in the underlying cell is below its top. -mf6internal idewatcv - -block options -name perched -type keyword -reader urword -optional true -longname keyword to activate PERCHED option -description keyword to indicate that when a cell is overlying a dewatered convertible cell, the head difference used in Darcy's Law is equal to the head in the overlying cell minus the bottom elevation of the overlying cell. If not specified, then the default is to use the head difference between the two cells. -mf6internal iperched - -block options -name rewet_record -type record rewet wetfct iwetit ihdwet -reader urword -optional true -longname -description - -block options -name rewet -type keyword -in_record true -reader urword -optional false -longname keyword to activate rewetting -description activates model rewetting. Rewetting is off by default. -mf6internal irewet - -block options -name wetfct -type double precision -in_record true -reader urword -optional false -longname wetting factor to use for rewetting -description is a keyword and factor that is included in the calculation of the head that is initially established at a cell when that cell is converted from dry to wet. - -block options -name iwetit -type integer -in_record true -reader urword -optional false -longname interval to use for rewetting -description is a keyword and iteration interval for attempting to wet cells. Wetting is attempted every IWETIT iteration. This applies to outer iterations and not inner iterations. If IWETIT is specified as zero or less, then the value is changed to 1. - -block options -name ihdwet -type integer -in_record true -reader urword -optional false -longname flag to determine wetting equation -description is a keyword and integer flag that determines which equation is used to define the initial head at cells that become wet. If IHDWET is 0, h = BOT + WETFCT (hm - BOT). If IHDWET is not 0, h = BOT + WETFCT (THRESH). - -block options -name xt3doptions -type record xt3d rhs -reader urword -optional true -longname keyword to activate XT3D -description none - -block options -name xt3d -in_record true -type keyword -reader urword -longname keyword to activate XT3D -description keyword indicating that the XT3D formulation will be used. If the RHS keyword is also included, then the XT3D additional terms will be added to the right-hand side. If the RHS keyword is excluded, then the XT3D terms will be put into the coefficient matrix. Use of XT3D will substantially increase the computational effort, but will result in improved accuracy for anisotropic conductivity fields and for unstructured grids in which the CVFD requirement is violated. XT3D requires additional information about the shapes of grid cells. If XT3D is active and the DISU Package is used, then the user will need to provide in the DISU Package the angldegx array in the CONNECTIONDATA block and the VERTICES and CELL2D blocks. -mf6internal ixt3d - -block options -name rhs -in_record true -type keyword -reader urword -optional true -longname keyword to XT3D on right hand side -description If the RHS keyword is also included, then the XT3D additional terms will be added to the right-hand side. If the RHS keyword is excluded, then the XT3D terms will be put into the coefficient matrix. -mf6internal ixt3drhs - -block options -name save_specific_discharge -type keyword -reader urword -optional true -longname keyword to save specific discharge -description keyword to indicate that x, y, and z components of specific discharge will be calculated at cell centers and written to the budget file, which is specified with ``BUDGET SAVE FILE'' in Output Control. If this option is activated, then additional information may be required in the discretization packages and the GWF Exchange package (if GWF models are coupled). Specifically, ANGLDEGX must be specified in the CONNECTIONDATA block of the DISU Package; ANGLDEGX must also be specified for the GWF Exchange as an auxiliary variable. -mf6internal isavspdis - -block options -name save_saturation -type keyword -reader urword -optional true -longname keyword to save saturation -description keyword to indicate that cell saturation will be written to the budget file, which is specified with ``BUDGET SAVE FILE'' in Output Control. Saturation will be saved to the budget file as an auxiliary variable saved with the DATA-SAT text label. Saturation is a cell variable that ranges from zero to one and can be used by post processing programs to determine how much of a cell volume is saturated. If ICELLTYPE is 0, then saturation is always one. -mf6internal isavsat - -block options -name k22overk -type keyword -reader urword -optional true -longname keyword to indicate that specified K22 is a ratio -description keyword to indicate that specified K22 is a ratio of K22 divided by K. If this option is specified, then the K22 array entered in the NPF Package will be multiplied by K after being read. -mf6internal ik22overk - -block options -name k33overk -type keyword -reader urword -optional true -longname keyword to indicate that specified K33 is a ratio -description keyword to indicate that specified K33 is a ratio of K33 divided by K. If this option is specified, then the K33 array entered in the NPF Package will be multiplied by K after being read. -mf6internal ik33overk - -block options -name tvk_filerecord -type record tvk6 filein tvk6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name tvk6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname tvk keyword -description keyword to specify that record corresponds to a time-varying hydraulic conductivity (TVK) file. The behavior of TVK and a description of the input file is provided separately. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name tvk6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of TVK information -description defines a time-varying hydraulic conductivity (TVK) input file. Records in the TVK file can be used to change hydraulic conductivity properties at specified times or stress periods. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# dev options - -block options -name dev_no_newton -type keyword -reader urword -optional true -longname turn off Newton for unconfined cells -description turn off Newton for unconfined cells -mf6internal inewton - -block options -name dev_omega -type double precision -reader urword -optional true -longname set saturation omega value -description set saturation omega value -mf6internal satomega - -# --------------------- gwf npf griddata --------------------- - -block griddata -name icelltype -type integer -shape (nodes) -valid -reader readarray -layered true -optional -longname confined or convertible indicator -description flag for each cell that specifies how saturated thickness is treated. 0 means saturated thickness is held constant; $>$0 means saturated thickness varies with computed head when head is below the cell top; $<$0 means saturated thickness varies with computed head unless the THICKSTRT option is in effect. When THICKSTRT is in effect, a negative value for ICELLTYPE indicates that the saturated thickness value used in conductance calculations in the NPF Package will be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one. -default_value 0 - -block griddata -name k -type double precision -shape (nodes) -valid -reader readarray -layered true -optional -longname hydraulic conductivity (L/T) -description is the hydraulic conductivity. For the common case in which the user would like to specify the horizontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero. -default_value 1.0 - -block griddata -name k22 -type double precision -shape (nodes) -valid -reader readarray -layered true -optional true -longname hydraulic conductivity of second ellipsoid axis -description is the hydraulic conductivity of the second ellipsoid axis (or the ratio of K22/K if the K22OVERK option is specified); for an unrotated case this is the hydraulic conductivity in the y direction. If K22 is not included in the GRIDDATA block, then K22 is set equal to K. For a regular MODFLOW grid (DIS Package is used) in which no rotation angles are specified, K22 is the hydraulic conductivity along columns in the y direction. For an unstructured DISU grid, the user must assign principal x and y axes and provide the angle for each cell face relative to the assigned x direction. All included cells (IDOMAIN $>$ 0) must have a K22 value greater than zero. - -block griddata -name k33 -type double precision -shape (nodes) -valid -reader readarray -layered true -optional true -longname hydraulic conductivity of third ellipsoid axis (L/T) -description is the hydraulic conductivity of the third ellipsoid axis (or the ratio of K33/K if the K33OVERK option is specified); for an unrotated case, this is the vertical hydraulic conductivity. When anisotropy is applied, K33 corresponds to the K33 tensor component. All included cells (IDOMAIN $>$ 0) must have a K33 value greater than zero. - -block griddata -name angle1 -type double precision -shape (nodes) -valid -reader readarray -layered true -optional true -longname first anisotropy rotation angle (degrees) -description is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the first of three sequential rotations of the hydraulic conductivity ellipsoid. With the K11, K22, and K33 axes of the ellipsoid initially aligned with the x, y, and z coordinate axes, respectively, ANGLE1 rotates the ellipsoid about its K33 axis (within the x - y plane). A positive value represents counter-clockwise rotation when viewed from any point on the positive K33 axis, looking toward the center of the ellipsoid. A value of zero indicates that the K11 axis lies within the x - z plane. If ANGLE1 is not specified, default values of zero are assigned to ANGLE1, ANGLE2, and ANGLE3, in which case the K11, K22, and K33 axes are aligned with the x, y, and z axes, respectively. - -block griddata -name angle2 -type double precision -shape (nodes) -valid -reader readarray -layered true -optional true -longname second anisotropy rotation angle (degrees) -description is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the second of three sequential rotations of the hydraulic conductivity ellipsoid. Following the rotation by ANGLE1 described above, ANGLE2 rotates the ellipsoid about its K22 axis (out of the x - y plane). An array can be specified for ANGLE2 only if ANGLE1 is also specified. A positive value of ANGLE2 represents clockwise rotation when viewed from any point on the positive K22 axis, looking toward the center of the ellipsoid. A value of zero indicates that the K11 axis lies within the x - y plane. If ANGLE2 is not specified, default values of zero are assigned to ANGLE2 and ANGLE3; connections that are not user-designated as vertical are assumed to be strictly horizontal (that is, to have no z component to their orientation); and connection lengths are based on horizontal distances. - -block griddata -name angle3 -type double precision -shape (nodes) -valid -reader readarray -layered true -optional true -longname third anisotropy rotation angle (degrees) -description is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the third of three sequential rotations of the hydraulic conductivity ellipsoid. Following the rotations by ANGLE1 and ANGLE2 described above, ANGLE3 rotates the ellipsoid about its K11 axis. An array can be specified for ANGLE3 only if ANGLE1 and ANGLE2 are also specified. An array must be specified for ANGLE3 if ANGLE2 is specified. A positive value of ANGLE3 represents clockwise rotation when viewed from any point on the positive K11 axis, looking toward the center of the ellipsoid. A value of zero indicates that the K22 axis lies within the x - y plane. - -block griddata -name wetdry -type double precision -shape (nodes) -valid -reader readarray -layered true -optional true -longname wetdry threshold and factor -description is a combination of the wetting threshold and a flag to indicate which neighboring cells can cause a cell to become wet. If WETDRY $<$ 0, only a cell below a dry cell can cause the cell to become wet. If WETDRY $>$ 0, the cell below a dry cell and horizontally adjacent cells can cause a cell to become wet. If WETDRY is 0, the cell cannot be wetted. The absolute value of WETDRY is the wetting threshold. When the sum of BOT and the absolute value of WETDRY at a dry cell is equaled or exceeded by the head at an adjacent cell, the cell is wetted. WETDRY must be specified if ``REWET'' is specified in the OPTIONS block. If ``REWET'' is not specified in the options block, then WETDRY can be entered, and memory will be allocated for it, even though it is not used. diff --git a/flopy/mf6/data/dfn/gwf-oc.dfn b/flopy/mf6/data/dfn/gwf-oc.dfn deleted file mode 100644 index 29b6ae101..000000000 --- a/flopy/mf6/data/dfn/gwf-oc.dfn +++ /dev/null @@ -1,313 +0,0 @@ -# --------------------- gwf oc options --------------------- - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name head_filerecord -type record head fileout headfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name head -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to head. - -block options -name headfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write head information. - -block options -name headprintrecord -type record head print_format formatrecord -shape -reader urword -optional true -longname -description - -block options -name print_format -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to indicate that a print format follows -description keyword to specify format for printing to the listing file. - -block options -name formatrecord -type record columns width digits format -shape -in_record true -reader urword -tagged -optional false -longname -description - -block options -name columns -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of columns -description number of columns for writing data. - -block options -name width -type integer -shape -in_record true -reader urword -tagged true -optional -longname width for each number -description width for writing each number. - -block options -name digits -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of digits -description number of digits to use for writing a number. - -block options -name format -type string -shape -in_record true -reader urword -tagged false -optional false -longname write format -description write format can be EXPONENTIAL, FIXED, GENERAL, or SCIENTIFIC. - - -# --------------------- gwf oc period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name saverecord -type record save rtype ocsetting -shape -reader urword -tagged false -optional true -longname -description - -block period -name save -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to save -description keyword to indicate that information will be saved this stress period. - -block period -name printrecord -type record print rtype ocsetting -shape -reader urword -tagged false -optional true -longname -description - -block period -name print -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to save -description keyword to indicate that information will be printed this stress period. - -block period -name rtype -type string -shape -in_record true -reader urword -tagged false -optional false -longname record type -description type of information to save or print. Can be BUDGET or HEAD. - -block period -name ocsetting -type keystring all first last frequency steps -shape -tagged false -in_record true -reader urword -longname -description specifies the steps for which the data will be saved. - -block period -name all -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for all time steps in period. - -block period -name first -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for first step in period. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name last -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for last step in period. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name frequency -type integer -shape -tagged true -in_record true -reader urword -longname -description save at the specified time step frequency. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name steps -type integer -shape (0) when the cell is under confined conditions (head greater than or equal to the top of the cell). This option has no effect on cells that are marked as being always confined (ICONVERT=0). This option is identical to the approach used to calculate storage changes under confined conditions in MODFLOW-2005. - -block options -name tvs_filerecord -type record tvs6 filein tvs_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name tvs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname tvs keyword -description keyword to specify that record corresponds to a time-varying storage (TVS) file. The behavior of TVS and a description of the input file is provided separately. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name tvs_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of TVS information -description defines a time-varying storage (TVS) input file. Records in the TVS file can be used to change specific storage and specific yield properties at specified times or stress periods. - -# --------------------- gwf sto griddata --------------------- - -block griddata -name iconvert -type integer -shape (nodes) -valid -reader readarray -layered true -optional false -longname convertible indicator -description is a flag for each cell that specifies whether or not a cell is convertible for the storage calculation. 0 indicates confined storage is used. $>$0 indicates confined storage is used when head is above cell top and a mixed formulation of unconfined and confined storage is used when head is below cell top. -default_value 0 - -block griddata -name ss -type double precision -shape (nodes) -valid -reader readarray -layered true -optional false -longname specific storage -description is specific storage (or the storage coefficient if STORAGECOEFFICIENT is specified as an option). Specific storage values must be greater than or equal to 0. If the CSUB Package is included in the GWF model, specific storage must be zero for every cell. -default_value 1.e-5 - -block griddata -name sy -type double precision -shape (nodes) -valid -reader readarray -layered true -optional false -longname specific yield -description is specific yield. Specific yield values must be greater than or equal to 0. Specific yield does not have to be specified if there are no convertible cells (ICONVERT=0 in every cell). -default_value 0.15 - - -# --------------------- gwf sto period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name steady-state -type keyword -shape -valid -reader urword -optional true -longname steady state indicator -description keyword to indicate that stress period IPER is steady-state. Steady-state conditions will apply until the TRANSIENT keyword is specified in a subsequent BEGIN PERIOD block. If the CSUB Package is included in the GWF model, only the first and last stress period can be steady-state. - -block period -name transient -type keyword -shape -valid -reader urword -optional true -longname transient indicator -description keyword to indicate that stress period IPER is transient. Transient conditions will apply until the STEADY-STATE keyword is specified in a subsequent BEGIN PERIOD block. - diff --git a/flopy/mf6/data/dfn/gwf-uzf.dfn b/flopy/mf6/data/dfn/gwf-uzf.dfn deleted file mode 100644 index 1cc76d538..000000000 --- a/flopy/mf6/data/dfn/gwf-uzf.dfn +++ /dev/null @@ -1,611 +0,0 @@ -# --------------------- gwf uzf options --------------------- -# flopy multi-package -# package-type advanced-stress-package - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Flow'} - -block options -name auxmultname -type string -shape -reader urword -optional true -longname name of auxiliary variable for multiplier -description REPLACE auxmultname {'{#1}': 'GWF cell area used by UZF cell'} - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'UZF'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'UZF'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'UZF'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save well flows to budget file -description REPLACE save_flows {'{#1}': 'UZF'} - -block options -name wc_filerecord -type record water_content fileout wcfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name water_content -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname water_content keyword -description keyword to specify that record corresponds to unsaturated zone water contents. - -block options -name wcfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write water content information. - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -preserve_case true -type string -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name package_convergence_filerecord -type record package_convergence fileout package_convergence_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name package_convergence -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname package_convergence keyword -description keyword to specify that record corresponds to the package convergence comma spaced values file. - -block options -name package_convergence_filename -type string -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma spaced values output file to write package convergence information. - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'UZF'} - -block options -name mover -type keyword -tagged true -reader urword -optional true -longname -description REPLACE mover {'{#1}': 'UZF'} - -block options -name simulate_et -type keyword -tagged true -reader urword -optional true -longname -description keyword specifying that ET in the unsaturated (UZF) and saturated zones (GWF) will be simulated. ET can be simulated in the UZF cell and not the GWF cell by omitting keywords LINEAR\_GWET and SQUARE\_GWET. - -block options -name linear_gwet -type keyword -tagged true -reader urword -optional true -longname use linear evapotranspiration -description keyword specifying that groundwater ET will be simulated using the original ET formulation of MODFLOW-2005. - -block options -name square_gwet -type keyword -tagged true -reader urword -optional true -longname use square evapotranspiration -description keyword specifying that groundwater ET will be simulated by assuming a constant ET rate for groundwater levels between land surface (TOP) and land surface minus the ET extinction depth (TOP-EXTDP). Groundwater ET is smoothly reduced from the PET rate to zero over a nominal interval at TOP-EXTDP. - -block options -name simulate_gwseep -type keyword -tagged true -reader urword -optional true -deprecated 6.5.0 -longname activate seepage -description keyword specifying that groundwater discharge (GWSEEP) to land surface will be simulated. Groundwater discharge is nonzero when groundwater head is greater than land surface. This option is no longer recommended; a better approach is to use the Drain Package with discharge scaling as a way to handle seepage to land surface. The Drain Package with discharge scaling is described in Chapter 3 of the Supplemental Technical Information. - -block options -name unsat_etwc -type keyword -tagged true -reader urword -optional true -longname use PET for theta greater than extwc -description keyword specifying that ET in the unsaturated zone will be simulated as a function of the specified PET rate while the water content (THETA) is greater than the ET extinction water content (EXTWC). - -block options -name unsat_etae -type keyword -tagged true -reader urword -optional true -longname use root potential -description keyword specifying that ET in the unsaturated zone will be simulated using a capillary pressure based formulation. Capillary pressure is calculated using the Brooks-Corey retention function. - - -# --------------------- gwf uzf dimensions --------------------- - -block dimensions -name nuzfcells -type integer -reader urword -optional false -longname number of UZF cells -description is the number of UZF cells. More than one UZF cell can be assigned to a GWF cell; however, only one GWF cell can be assigned to a single UZF cell. If more than one UZF cell is assigned to a GWF cell, then an auxiliary variable should be used to reduce the surface area of the UZF cell with the AUXMULTNAME option. - -block dimensions -name ntrailwaves -type integer -reader urword -optional false -longname number of trailing waves -description is the number of trailing waves. A recommended value of 7 can be used for NTRAILWAVES. This value can be increased to lower mass balance error in the unsaturated zone. -default_value 7 - -block dimensions -name nwavesets -type integer -reader urword -optional false -longname number of wave sets -description is the number of wave sets. A recommended value of 40 can be used for NWAVESETS. This value can be increased if more waves are required to resolve variations in water content within the unsaturated zone. -default_value 40 - -# --------------------- gwf uzf packagedata --------------------- - -block packagedata -name packagedata -type recarray ifno cellid landflag ivertcon surfdep vks thtr thts thti eps boundname -shape (nuzfcells) -reader urword -longname -description - -block packagedata -name ifno -type integer -shape -tagged false -in_record true -reader urword -longname uzf id number for this entry -description integer value that defines the feature (UZF object) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NUZFCELLS. UZF information must be specified for every UZF cell or the program will terminate with an error. The program will also terminate with an error if information for a UZF cell is specified more than once. -numeric_index true - -block packagedata -name cellid -type integer -shape (ncelldim) -tagged false -in_record true -reader urword -longname cell identifier -description REPLACE cellid {} - -block packagedata -name landflag -type integer -shape -tagged false -in_record true -reader urword -longname land flag -description integer value set to one for land surface cells indicating that boundary conditions can be applied and data can be specified in the PERIOD block. A value of 0 specifies a non-land surface cell. - -block packagedata -name ivertcon -type integer -shape -tagged false -in_record true -reader urword -longname vertical connection flag -description integer value set to specify underlying UZF cell that receives water flowing to bottom of cell. If unsaturated zone flow reaches the water table before the cell bottom, then water is added to the GWF cell instead of flowing to the underlying UZF cell. A value of 0 indicates the UZF cell is not connected to an underlying UZF cell. -numeric_index true - -block packagedata -name surfdep -type double precision -shape -tagged false -in_record true -reader urword -longname surface depression depth -description is the surface depression depth of the UZF cell. - -block packagedata -name vks -type double precision -shape -tagged false -in_record true -reader urword -longname vertical saturated hydraulic conductivity -description is the saturated vertical hydraulic conductivity of the UZF cell. This value is used with the Brooks-Corey function and the simulated water content to calculate the partially saturated hydraulic conductivity. - -block packagedata -name thtr -type double precision -shape -tagged false -in_record true -reader urword -longname residual water content -description is the residual (irreducible) water content of the UZF cell. This residual water is not available to plants and will not drain into underlying aquifer cells. - -block packagedata -name thts -type double precision -shape -tagged false -in_record true -reader urword -longname saturated water content -description is the saturated water content of the UZF cell. The values for saturated and residual water content should be set in a manner that is consistent with the specific yield value specified in the Storage Package. The saturated water content must be greater than the residual content. - -block packagedata -name thti -type double precision -shape -tagged false -in_record true -reader urword -longname initial water content -description is the initial water content of the UZF cell. The value must be greater than or equal to the residual water content and less than or equal to the saturated water content. - -block packagedata -name eps -type double precision -shape -tagged false -in_record true -reader urword -longname Brooks-Corey exponent -description is the exponent used in the Brooks-Corey function. The Brooks-Corey function is used by UZF to calculated hydraulic conductivity under partially saturated conditions as a function of water content and the user-specified saturated hydraulic conductivity. - -block packagedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname well name -description REPLACE boundname {'{#1}': 'UZF cell'} - - -# --------------------- gwf uzf period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name perioddata -type recarray ifno finf pet extdp extwc ha hroot rootact aux -shape -reader urword -longname -description - -block period -name ifno -type integer -shape -tagged false -in_record true -reader urword -longname UZF id number -description integer value that defines the feature (UZF object) number associated with the specified PERIOD data on the line. -numeric_index true - -block period -name finf -type string -shape -tagged false -in_record true -time_series true -reader urword -longname infiltration rate -description real or character value that defines the applied infiltration rate of the UZF cell ($LT^{-1}$). If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name pet -type string -shape -tagged false -in_record true -reader urword -time_series true -longname potential ET rate -description real or character value that defines the potential evapotranspiration rate of the UZF cell and specified GWF cell. Evapotranspiration is first removed from the unsaturated zone and any remaining potential evapotranspiration is applied to the saturated zone. If IVERTCON is greater than zero then residual potential evapotranspiration not satisfied in the UZF cell is applied to the underlying UZF and GWF cells. PET is always specified, but is only used if SIMULATE\_ET is specified in the OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name extdp -type string -shape -tagged false -in_record true -reader urword -time_series true -longname extinction depth -description real or character value that defines the evapotranspiration extinction depth of the UZF cell. If IVERTCON is greater than zero and EXTDP extends below the GWF cell bottom then remaining potential evapotranspiration is applied to the underlying UZF and GWF cells. EXTDP is always specified, but is only used if SIMULATE\_ET is specified in the OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name extwc -type string -shape -tagged false -in_record true -reader urword -time_series true -longname extinction water content -description real or character value that defines the evapotranspiration extinction water content of the UZF cell. EXTWC is always specified, but is only used if SIMULATE\_ET and UNSAT\_ETWC are specified in the OPTIONS block. The evapotranspiration rate from the unsaturated zone will be set to zero when the calculated water content is at or less than this value. The value for EXTWC cannot be less than the residual water content, and if it is specified as being less than the residual water content it is set to the residual water content. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name ha -type string -shape -tagged false -in_record true -time_series true -reader urword -longname air entry potential -description real or character value that defines the air entry potential (head) of the UZF cell. HA is always specified, but is only used if SIMULATE\_ET and UNSAT\_ETAE are specified in the OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name hroot -type string -shape -tagged false -in_record true -reader urword -time_series true -longname root potential -description real or character value that defines the root potential (head) of the UZF cell. HROOT is always specified, but is only used if SIMULATE\_ET and UNSAT\_ETAE are specified in the OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name rootact -type string -shape -tagged false -in_record true -reader urword -time_series true -longname root activity function -description real or character value that defines the root activity function of the UZF cell. ROOTACT is the length of roots in a given volume of soil divided by that volume. Values range from 0 to about 3 $cm^{-2}$, depending on the plant community and its stage of development. ROOTACT is always specified, but is only used if SIMULATE\_ET and UNSAT\_ETAE are specified in the OPTIONS block. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -time_series true -optional true -longname auxiliary variables -description REPLACE aux {'{#1}': 'UZF'} diff --git a/flopy/mf6/data/dfn/gwf-vsc.dfn b/flopy/mf6/data/dfn/gwf-vsc.dfn deleted file mode 100644 index 0a6e74b9d..000000000 --- a/flopy/mf6/data/dfn/gwf-vsc.dfn +++ /dev/null @@ -1,174 +0,0 @@ -# --------------------- gwf vsc options --------------------- - -block options -name viscref -type double precision -reader urword -optional true -longname reference viscosity -description fluid reference viscosity used in the equation of state. This value is set to 1.0 if not specified as an option. -default_value 1.0 - -block options -name temperature_species_name -type string -shape -reader urword -optional true -longname auxspeciesname that corresponds to temperature -description string used to identify the auxspeciesname in PACKAGEDATA that corresponds to the temperature species. There can be only one occurrence of this temperature species name in the PACKAGEDATA block or the program will terminate with an error. This value has no effect if viscosity does not depend on temperature. - -block options -name thermal_formulation -type string -shape -reader urword -optional true -valid linear nonlinear -longname keyword to specify viscosity formulation for the temperature species -description may be used for specifying which viscosity formulation to use for the temperature species. Can be either LINEAR or NONLINEAR. The LINEAR viscosity formulation is the default. - -block options -name thermal_a2 -type double precision -reader urword -optional true -longname coefficient used in nonlinear viscosity function -description is an empirical parameter specified by the user for calculating viscosity using a nonlinear formulation. If A2 is not specified, a default value of 10.0 is assigned (Voss, 1984). -default_value 10. - -block options -name thermal_a3 -type double precision -reader urword -optional true -longname coefficient used in nonlinear viscosity function -description is an empirical parameter specified by the user for calculating viscosity using a nonlinear formulation. If A3 is not specified, a default value of 248.37 is assigned (Voss, 1984). -default_value 248.37 - -block options -name thermal_a4 -type double precision -reader urword -optional true -longname coefficient used in nonlinear viscosity function -description is an empirical parameter specified by the user for calculating viscosity using a nonlinear formulation. If A4 is not specified, a default value of 133.15 is assigned (Voss, 1984). -default_value 133.15 - -block options -name viscosity_filerecord -type record viscosity fileout viscosityfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name viscosity -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname viscosity keyword -description keyword to specify that record corresponds to viscosity. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name viscosityfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write viscosity information. The viscosity file has the same format as the head file. Viscosity values will be written to the viscosity file whenever heads are written to the binary head file. The settings for controlling head output are contained in the Output Control option. - - -# --------------------- gwf vsc dimensions --------------------- - -block dimensions -name nviscspecies -type integer -reader urword -optional false -longname number of species used in viscosity equation of state -description number of species used in the viscosity equation of state. If either concentrations or temperature (or both) are used to update viscosity then then nrhospecies needs to be at least one. - - -# --------------------- gwf vsc packagedata --------------------- - -block packagedata -name packagedata -type recarray iviscspec dviscdc cviscref modelname auxspeciesname -shape (nrhospecies) -reader urword -longname -description - -block packagedata -name iviscspec -type integer -shape -tagged false -in_record true -reader urword -longname species number for this entry -description integer value that defines the species number associated with the specified PACKAGEDATA data entered on each line. IVISCSPECIES must be greater than zero and less than or equal to NVISCSPECIES. Information must be specified for each of the NVISCSPECIES species or the program will terminate with an error. The program will also terminate with an error if information for a species is specified more than once. -numeric_index true - -block packagedata -name dviscdc -type double precision -shape -tagged false -in_record true -reader urword -longname slope of the line that defines the linear relationship between viscosity and temperature or between viscosity and concentration, depending on the type of species entered on each line. -description real value that defines the slope of the line defining the linear relationship between viscosity and temperature or between viscosity and concentration, depending on the type of species entered on each line. If the value of AUXSPECIESNAME entered on a line corresponds to TEMPERATURE\_SPECIES\_NAME (in the OPTIONS block), this value will be used when VISCOSITY\_FUNC is equal to LINEAR (the default) in the OPTIONS block. When VISCOSITY\_FUNC is set to NONLINEAR, a value for DVISCDC must be specified though it is not used. - -block packagedata -name cviscref -type double precision -shape -tagged false -in_record true -reader urword -longname reference temperature value or reference concentration value -description real value that defines the reference temperature or reference concentration value used for this species in the viscosity equation of state. If AUXSPECIESNAME entered on a line corresponds to TEMPERATURE\_SPECIES\_NAME (in the OPTIONS block), then CVISCREF refers to a reference temperature, otherwise it refers to a reference concentration. - -block packagedata -name modelname -type string -in_record true -tagged false -shape -reader urword -longname modelname -description name of a GWT model used to simulate a species that will be used in the viscosity equation of state. This name will have no effect if the simulation does not include a GWT model that corresponds to this GWF model. - -block packagedata -name auxspeciesname -type string -in_record true -tagged false -shape -reader urword -longname auxspeciesname -description name of an auxiliary variable in a GWF stress package that will be used for this species to calculate the viscosity values. If a viscosity value is needed by the Viscosity Package then it will use the temperature or concentration values associated with this AUXSPECIESNAME in the viscosity equation of state. For advanced stress packages (LAK, SFR, MAW, and UZF) that have an associated advanced transport package (LKT, SFT, MWT, and UZT), the FLOW\_PACKAGE\_AUXILIARY\_NAME option in the advanced transport package can be used to transfer simulated temperature or concentration(s) into the flow package auxiliary variable. In this manner, the Viscosity Package can calculate viscosity values for lakes, streams, multi-aquifer wells, and unsaturated zone flow cells using simulated concentrations. - diff --git a/flopy/mf6/data/dfn/gwf-wel.dfn b/flopy/mf6/data/dfn/gwf-wel.dfn deleted file mode 100644 index 5b9e82872..000000000 --- a/flopy/mf6/data/dfn/gwf-wel.dfn +++ /dev/null @@ -1,276 +0,0 @@ -# --------------------- gwf wel options --------------------- -# flopy multi-package -# package-type stress-package - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Flow'} - -block options -name auxmultname -type string -shape -reader urword -optional true -longname name of auxiliary variable for multiplier -description REPLACE auxmultname {'{#1}': 'well flow rate'} - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'well'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'well'} -mf6internal iprpak - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'well'} -mf6internal iprflow - -block options -name save_flows -type keyword -reader urword -optional true -longname save well flows to budget file -description REPLACE save_flows {'{#1}': 'well'} -mf6internal ipakcb - -block options -name auto_flow_reduce -type double precision -reader urword -optional true -longname cell fractional thickness for reduced pumping -description keyword and real value that defines the fraction of the cell thickness used as an interval for smoothly adjusting negative pumping rates to 0 in cells with head values less than or equal to the bottom of the cell. Negative pumping rates are adjusted to 0 or a smaller negative value when the head in the cell is equal to or less than the calculated interval above the cell bottom. AUTO\_FLOW\_REDUCE is set to 0.1 if the specified value is less than or equal to zero. By default, negative pumping rates are not reduced during a simulation. This AUTO\_FLOW\_REDUCE option only applies to wells in model cells that are marked as ``convertible'' (ICELLTYPE /= 0) in the Node Property Flow (NPF) input file. Reduction in flow will not occur for wells in cells marked as confined (ICELLTYPE = 0). -mf6internal flowred - -block options -name afrcsv_filerecord -type record auto_flow_reduce_csv fileout afrcsvfile -shape -reader urword -tagged true -optional true -longname -description -mf6internal afrcsv_rec - -block options -name auto_flow_reduce_csv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the AUTO\_FLOW\_REDUCE output option in which a new record is written for each well and for each time step in which the user-requested extraction rate is reduced by the program. -mf6internal afrcsv - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name afrcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write information about well extraction rates that have been reduced by the program. Entries are only written if the extraction rates are reduced. - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'Well'} - -block options -name mover -type keyword -tagged true -reader urword -optional true -longname -description REPLACE mover {'{#1}': 'Well'} - -# --------------------- gwf wel dimensions --------------------- - -block dimensions -name maxbound -type integer -reader urword -optional false -longname maximum number of wells -description REPLACE maxbound {'{#1}': 'wells'} - - -# --------------------- gwf wel period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name stress_period_data -type recarray cellid q aux boundname -shape (maxbound) -reader urword -longname -description -mf6internal spd - -block period -name cellid -type integer -shape (ncelldim) -tagged false -in_record true -reader urword -longname cell identifier -description REPLACE cellid {} - -block period -name q -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname well rate -description is the volumetric well rate. A positive value indicates recharge (injection) and a negative value indicates discharge (extraction). If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -time_series true -longname auxiliary variables -description REPLACE aux {'{#1}': 'well'} -mf6internal auxvar - -block period -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname well name -description REPLACE boundname {'{#1}': 'well'} diff --git a/flopy/mf6/data/dfn/gwt-adv.dfn b/flopy/mf6/data/dfn/gwt-adv.dfn deleted file mode 100644 index ef0a9eeaa..000000000 --- a/flopy/mf6/data/dfn/gwt-adv.dfn +++ /dev/null @@ -1,11 +0,0 @@ -# --------------------- gwt adv options --------------------- - -block options -name scheme -type string -valid central upstream tvd -reader urword -optional true -longname advective scheme -description scheme used to solve the advection term. Can be upstream, central, or TVD. If not specified, upstream weighting is the default weighting scheme. - diff --git a/flopy/mf6/data/dfn/gwt-api.dfn b/flopy/mf6/data/dfn/gwt-api.dfn deleted file mode 100644 index 62b81c829..000000000 --- a/flopy/mf6/data/dfn/gwt-api.dfn +++ /dev/null @@ -1,96 +0,0 @@ -# --------------------- gwt api options --------------------- - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'api boundary'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'api boundary'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'api boundary'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save api flows to budget file -description REPLACE save_flows {'{#1}': 'api boundary'} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'api boundary'} - -block options -name mover -type keyword -tagged true -reader urword -optional true -longname -description REPLACE mover {'{#1}': 'api boundary'} - -# --------------------- gwt api dimensions --------------------- - -block dimensions -name maxbound -type integer -reader urword -optional false -longname maximum number of user-defined api boundaries -description REPLACE maxbound {'{#1}': 'api boundary'} diff --git a/flopy/mf6/data/dfn/gwt-cnc.dfn b/flopy/mf6/data/dfn/gwt-cnc.dfn deleted file mode 100644 index 3a75ccb4c..000000000 --- a/flopy/mf6/data/dfn/gwt-cnc.dfn +++ /dev/null @@ -1,213 +0,0 @@ -# --------------------- gwt cnc options --------------------- -# flopy multi-package - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Transport'} - -block options -name auxmultname -type string -shape -reader urword -optional true -longname name of auxiliary variable for multiplier -description REPLACE auxmultname {'{#1}': 'concentration value'} - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'constant concentration'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'constant concentration'} -mf6internal iprflow - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'constant concentration'} -mf6internal ipakcb - -block options -name save_flows -type keyword -reader urword -optional true -longname save constant concentration flows to budget file -description REPLACE save_flows {'{#1}': 'constant concentration'} -mf6internal iprpak - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname time series keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'Constant Concentration'} - - -# --------------------- gwt cnc dimensions --------------------- - -block dimensions -name maxbound -type integer -reader urword -optional false -longname maximum number of constant concentrations -description REPLACE maxbound {'{#1}': 'constant concentrations'} - - -# --------------------- gwt cnc period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name stress_period_data -type recarray cellid conc aux boundname -shape (maxbound) -reader urword -longname -description -mf6internal spd - -block period -name cellid -type integer -shape (ncelldim) -tagged false -in_record true -reader urword -longname cell identifier -description REPLACE cellid {} - -block period -name conc -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname constant concentration value -description is the constant concentration value. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. -mf6internal tspvar - -block period -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -optional true -time_series true -longname auxiliary variables -description REPLACE aux {'{#1}': 'constant concentration'} -mf6internal auxvar - -block period -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname constant concentration name -description REPLACE boundname {'{#1}': 'constant concentration'} diff --git a/flopy/mf6/data/dfn/gwt-dis.dfn b/flopy/mf6/data/dfn/gwt-dis.dfn deleted file mode 100644 index ac03a5e1a..000000000 --- a/flopy/mf6/data/dfn/gwt-dis.dfn +++ /dev/null @@ -1,130 +0,0 @@ -# --------------------- gwt dis options --------------------- - -block options -name length_units -type string -reader urword -optional true -longname model length units -description is the length units used for this model. Values can be ``FEET'', ``METERS'', or ``CENTIMETERS''. If not specified, the default is ``UNKNOWN''. - -block options -name nogrb -type keyword -reader urword -optional true -longname do not write binary grid file -description keyword to deactivate writing of the binary grid file. - -block options -name xorigin -type double precision -reader urword -optional true -longname x-position of the model grid origin -description x-position of the lower-left corner of the model grid. A default value of zero is assigned if not specified. The value for XORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name yorigin -type double precision -reader urword -optional true -longname y-position of the model grid origin -description y-position of the lower-left corner of the model grid. If not specified, then a default value equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name angrot -type double precision -reader urword -optional true -longname rotation angle -description counter-clockwise rotation angle (in degrees) of the lower-left corner of the model grid. If not specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwt dis dimensions --------------------- - -block dimensions -name nlay -type integer -reader urword -optional false -longname number of layers -description is the number of layers in the model grid. -default_value 1 - -block dimensions -name nrow -type integer -reader urword -optional false -longname number of rows -description is the number of rows in the model grid. -default_value 2 - -block dimensions -name ncol -type integer -reader urword -optional false -longname number of columns -description is the number of columns in the model grid. -default_value 2 - -# --------------------- gwt dis griddata --------------------- - -block griddata -name delr -type double precision -shape (ncol) -reader readarray -longname spacing along a row -description is the column spacing in the row direction. -default_value 1.0 - -block griddata -name delc -type double precision -shape (nrow) -reader readarray -longname spacing along a column -description is the row spacing in the column direction. -default_value 1.0 - -block griddata -name top -type double precision -shape (ncol, nrow) -reader readarray -longname cell top elevation -description is the top elevation for each cell in the top model layer. -default_value 1.0 - -block griddata -name botm -type double precision -shape (ncol, nrow, nlay) -reader readarray -layered true -longname cell bottom elevation -description is the bottom elevation for each cell. -default_value 0. - -block griddata -name idomain -type integer -shape (ncol, nrow, nlay) -reader readarray -layered true -optional true -longname idomain existence array -description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. - - diff --git a/flopy/mf6/data/dfn/gwt-disu.dfn b/flopy/mf6/data/dfn/gwt-disu.dfn deleted file mode 100644 index 49fd5aa5e..000000000 --- a/flopy/mf6/data/dfn/gwt-disu.dfn +++ /dev/null @@ -1,286 +0,0 @@ -# --------------------- gwt disu options --------------------- - -block options -name length_units -type string -reader urword -optional true -longname model length units -description is the length units used for this model. Values can be ``FEET'', ``METERS'', or ``CENTIMETERS''. If not specified, the default is ``UNKNOWN''. - -block options -name nogrb -type keyword -reader urword -optional true -longname do not write binary grid file -description keyword to deactivate writing of the binary grid file. - -block options -name xorigin -type double precision -reader urword -optional true -longname x-position origin of the model grid coordinate system -description x-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. A default value of zero is assigned if not specified. The value for XORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name yorigin -type double precision -reader urword -optional true -longname y-position origin of the model grid coordinate system -description y-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. If not specified, then a default value equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name angrot -type double precision -reader urword -optional true -longname rotation angle -description counter-clockwise rotation angle (in degrees) of the model grid coordinate system relative to a real-world coordinate system. If not specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name vertical_offset_tolerance -type double precision -reader urword -optional true -default_value 0.0 -longname vertical length dimension for top and bottom checking -description checks are performed to ensure that the top of a cell is not higher than the bottom of an overlying cell. This option can be used to specify the tolerance that is used for checking. If top of a cell is above the bottom of an overlying cell by a value less than this tolerance, then the program will not terminate with an error. The default value is zero. This option should generally not be used. -mf6internal voffsettol - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwt disu dimensions --------------------- - -block dimensions -name nodes -type integer -reader urword -optional false -longname number of layers -description is the number of cells in the model grid. - -block dimensions -name nja -type integer -reader urword -optional false -longname number of columns -description is the sum of the number of connections and NODES. When calculating the total number of connections, the connection between cell n and cell m is considered to be different from the connection between cell m and cell n. Thus, NJA is equal to the total number of connections, including n to m and m to n, and the total number of cells. - -block dimensions -name nvert -type integer -reader urword -optional true -longname number of vertices -description is the total number of (x, y) vertex pairs used to define the plan-view shape of each cell in the model grid. If NVERT is not specified or is specified as zero, then the VERTICES and CELL2D blocks below are not read. NVERT and the accompanying VERTICES and CELL2D blocks should be specified for most simulations. If the XT3D or SAVE\_SPECIFIC\_DISCHARGE options are specified in the NPF Package, then this information is required. - -# --------------------- gwt disu griddata --------------------- - -block griddata -name top -type double precision -shape (nodes) -reader readarray -longname cell top elevation -description is the top elevation for each cell in the model grid. - -block griddata -name bot -type double precision -shape (nodes) -reader readarray -longname cell bottom elevation -description is the bottom elevation for each cell. - -block griddata -name area -type double precision -shape (nodes) -reader readarray -longname cell surface area -description is the cell surface area (in plan view). - -block griddata -name idomain -type integer -shape (nodes) -reader readarray -layered false -optional true -longname idomain existence array -description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. IDOMAIN values of -1 cannot be specified for the DISU Package. - -# --------------------- gwt disu connectiondata --------------------- - -block connectiondata -name iac -type integer -shape (nodes) -reader readarray -longname number of cell connections -description is the number of connections (plus 1) for each cell. The sum of all the entries in IAC must be equal to NJA. - -block connectiondata -name ja -type integer -shape (nja) -reader readarray -longname grid connectivity -description is a list of cell number (n) followed by its connecting cell numbers (m) for each of the m cells connected to cell n. The number of values to provide for cell n is IAC(n). This list is sequentially provided for the first to the last cell. The first value in the list must be cell n itself, and the remaining cells must be listed in an increasing order (sorted from lowest number to highest). Note that the cell and its connections are only supplied for the GWT cells and their connections to the other GWT cells. Also note that the JA list input may be divided such that every node and its connectivity list can be on a separate line for ease in readability of the file. To further ease readability of the file, the node number of the cell whose connectivity is subsequently listed, may be expressed as a negative number, the sign of which is subsequently converted to positive by the code. -numeric_index true -jagged_array iac - -block connectiondata -name ihc -type integer -shape (nja) -reader readarray -longname connection type -description is an index array indicating the direction between node n and all of its m connections. If IHC = 0 then cell n and cell m are connected in the vertical direction. Cell n overlies cell m if the cell number for n is less than m; cell m overlies cell n if the cell number for m is less than n. If IHC = 1 then cell n and cell m are connected in the horizontal direction. If IHC = 2 then cell n and cell m are connected in the horizontal direction, and the connection is vertically staggered. A vertically staggered connection is one in which a cell is horizontally connected to more than one cell in a horizontal connection. -jagged_array iac - -block connectiondata -name cl12 -type double precision -shape (nja) -reader readarray -longname connection lengths -description is the array containing connection lengths between the center of cell n and the shared face with each adjacent m cell. -jagged_array iac - -block connectiondata -name hwva -type double precision -shape (nja) -reader readarray -longname connection lengths -description is a symmetric array of size NJA. For horizontal connections, entries in HWVA are the horizontal width perpendicular to flow. For vertical connections, entries in HWVA are the vertical area for flow. Thus, values in the HWVA array contain dimensions of both length and area. Entries in the HWVA array have a one-to-one correspondence with the connections specified in the JA array. Likewise, there is a one-to-one correspondence between entries in the HWVA array and entries in the IHC array, which specifies the connection type (horizontal or vertical). Entries in the HWVA array must be symmetric; the program will terminate with an error if the value for HWVA for an n to m connection does not equal the value for HWVA for the corresponding n to m connection. -jagged_array iac - -block connectiondata -name angldegx -type double precision -optional true -shape (nja) -reader readarray -longname angle of face normal to connection -description is the angle (in degrees) between the horizontal x-axis and the outward normal to the face between a cell and its connecting cells. The angle varies between zero and 360.0 degrees, where zero degrees points in the positive x-axis direction, and 90 degrees points in the positive y-axis direction. ANGLDEGX is only needed if horizontal anisotropy is specified in the NPF Package, if the XT3D option is used in the NPF Package, or if the SAVE\_SPECIFIC\_DISCHARGE option is specified in the NPF Package. ANGLDEGX does not need to be specified if these conditions are not met. ANGLDEGX is of size NJA; values specified for vertical connections and for the diagonal position are not used. Note that ANGLDEGX is read in degrees, which is different from MODFLOW-USG, which reads a similar variable (ANGLEX) in radians. -jagged_array iac - -# --------------------- gwt disu vertices --------------------- - -block vertices -name vertices -type recarray iv xv yv -shape (nvert) -reader urword -optional true -longname vertices data -description - -block vertices -name iv -type integer -in_record true -tagged false -reader urword -optional false -longname vertex number -description is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. -numeric_index true - -block vertices -name xv -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for vertex -description is the x-coordinate for the vertex. - -block vertices -name yv -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for vertex -description is the y-coordinate for the vertex. - - -# --------------------- gwt disu cell2d --------------------- - -block cell2d -name cell2d -type recarray icell2d xc yc ncvert icvert -shape (nodes) -reader urword -optional true -longname cell2d data -description - -block cell2d -name icell2d -type integer -in_record true -tagged false -reader urword -optional false -longname cell2d number -description is the cell2d number. Records in the CELL2D block must be listed in consecutive order from 1 to NODES. -numeric_index true - -block cell2d -name xc -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for cell center -description is the x-coordinate for the cell center. - -block cell2d -name yc -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for cell center -description is the y-coordinate for the cell center. - -block cell2d -name ncvert -type integer -in_record true -tagged false -reader urword -optional false -longname number of cell vertices -description is the number of vertices required to define the cell. There may be a different number of vertices for each cell. - -block cell2d -name icvert -type integer -shape (ncvert) -in_record true -tagged false -reader urword -optional false -longname array of vertex numbers -description is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. -numeric_index true diff --git a/flopy/mf6/data/dfn/gwt-disv.dfn b/flopy/mf6/data/dfn/gwt-disv.dfn deleted file mode 100644 index b06062b6f..000000000 --- a/flopy/mf6/data/dfn/gwt-disv.dfn +++ /dev/null @@ -1,213 +0,0 @@ -# --------------------- gwt disv options --------------------- - -block options -name length_units -type string -reader urword -optional true -longname model length units -description is the length units used for this model. Values can be ``FEET'', ``METERS'', or ``CENTIMETERS''. If not specified, the default is ``UNKNOWN''. - -block options -name nogrb -type keyword -reader urword -optional true -longname do not write binary grid file -description keyword to deactivate writing of the binary grid file. - -block options -name xorigin -type double precision -reader urword -optional true -longname x-position origin of the model grid coordinate system -description x-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. A default value of zero is assigned if not specified. The value for XORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name yorigin -type double precision -reader urword -optional true -longname y-position origin of the model grid coordinate system -description y-position of the origin used for model grid vertices. This value should be provided in a real-world coordinate system. If not specified, then a default value equal to zero is used. The value for YORIGIN does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name angrot -type double precision -reader urword -optional true -longname rotation angle -description counter-clockwise rotation angle (in degrees) of the model grid coordinate system relative to a real-world coordinate system. If not specified, then a default value of 0.0 is assigned. The value for ANGROT does not affect the model simulation, but it is written to the binary grid file so that postprocessors can locate the grid in space. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwt disv dimensions --------------------- - -block dimensions -name nlay -type integer -reader urword -optional false -longname number of layers -description is the number of layers in the model grid. - -block dimensions -name ncpl -type integer -reader urword -optional false -longname number of cells per layer -description is the number of cells per layer. This is a constant value for the grid and it applies to all layers. - -block dimensions -name nvert -type integer -reader urword -optional false -longname number of columns -description is the total number of (x, y) vertex pairs used to characterize the horizontal configuration of the model grid. - -# --------------------- gwt disv griddata --------------------- - -block griddata -name top -type double precision -shape (ncpl) -reader readarray -longname model top elevation -description is the top elevation for each cell in the top model layer. - -block griddata -name botm -type double precision -shape (ncpl, nlay) -reader readarray -layered true -longname model bottom elevation -description is the bottom elevation for each cell. - -block griddata -name idomain -type integer -shape (ncpl, nlay) -reader readarray -layered true -optional true -longname idomain existence array -description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. - - -# --------------------- gwt disv vertices --------------------- - -block vertices -name vertices -type recarray iv xv yv -shape (nvert) -reader urword -optional false -longname vertices data -description - -block vertices -name iv -type integer -in_record true -tagged false -reader urword -optional false -longname vertex number -description is the vertex number. Records in the VERTICES block must be listed in consecutive order from 1 to NVERT. -numeric_index true - -block vertices -name xv -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for vertex -description is the x-coordinate for the vertex. - -block vertices -name yv -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for vertex -description is the y-coordinate for the vertex. - - -# --------------------- gwt disv cell2d --------------------- - -block cell2d -name cell2d -type recarray icell2d xc yc ncvert icvert -shape (ncpl) -reader urword -optional false -longname cell2d data -description - -block cell2d -name icell2d -type integer -in_record true -tagged false -reader urword -optional false -longname cell2d number -description is the CELL2D number. Records in the CELL2D block must be listed in consecutive order from the first to the last. -numeric_index true - -block cell2d -name xc -type double precision -in_record true -tagged false -reader urword -optional false -longname x-coordinate for cell center -description is the x-coordinate for the cell center. - -block cell2d -name yc -type double precision -in_record true -tagged false -reader urword -optional false -longname y-coordinate for cell center -description is the y-coordinate for the cell center. - -block cell2d -name ncvert -type integer -in_record true -tagged false -reader urword -optional false -longname number of cell vertices -description is the number of vertices required to define the cell. There may be a different number of vertices for each cell. - -block cell2d -name icvert -type integer -shape (ncvert) -in_record true -tagged false -reader urword -optional false -longname array of vertex numbers -description is an array of integer values containing vertex numbers (in the VERTICES block) used to define the cell. Vertices must be listed in clockwise order. Cells that are connected must share vertices. -numeric_index true diff --git a/flopy/mf6/data/dfn/gwt-dsp.dfn b/flopy/mf6/data/dfn/gwt-dsp.dfn deleted file mode 100644 index 0b425db95..000000000 --- a/flopy/mf6/data/dfn/gwt-dsp.dfn +++ /dev/null @@ -1,90 +0,0 @@ -# --------------------- gwt dsp options --------------------- - -block options -name xt3d_off -type keyword -shape -reader urword -optional true -longname deactivate xt3d -description deactivate the xt3d method and use the faster and less accurate approximation. This option may provide a fast and accurate solution under some circumstances, such as when flow aligns with the model grid, there is no mechanical dispersion, or when the longitudinal and transverse dispersivities are equal. This option may also be used to assess the computational demand of the XT3D approach by noting the run time differences with and without this option on. - -block options -name xt3d_rhs -type keyword -shape -reader urword -optional true -longname xt3d on right-hand side -description add xt3d terms to right-hand side, when possible. This option uses less memory, but may require more iterations. - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwt dsp griddata --------------------- - -block griddata -name diffc -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname effective molecular diffusion coefficient -description effective molecular diffusion coefficient. - -block griddata -name alh -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname longitudinal dispersivity in horizontal direction -description longitudinal dispersivity in horizontal direction. If flow is strictly horizontal, then this is the longitudinal dispersivity that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. - -block griddata -name alv -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname longitudinal dispersivity in vertical direction -description longitudinal dispersivity in vertical direction. If flow is strictly vertical, then this is the longitudinal dispsersivity value that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ALH. - -block griddata -name ath1 -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname transverse dispersivity in horizontal direction -description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the second ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the y direction. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. - -block griddata -name ath2 -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname transverse dispersivity in horizontal direction -description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the third ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the z direction. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH1. - -block griddata -name atv -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname transverse dispersivity when flow is in vertical direction -description transverse dispersivity when flow is in vertical direction. If flow is strictly vertical and directed in the z direction, then this value controls spreading in the x and y directions. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH2. diff --git a/flopy/mf6/data/dfn/gwt-fmi.dfn b/flopy/mf6/data/dfn/gwt-fmi.dfn deleted file mode 100644 index b12937179..000000000 --- a/flopy/mf6/data/dfn/gwt-fmi.dfn +++ /dev/null @@ -1,58 +0,0 @@ -# --------------------- gwt fmi options --------------------- - -block options -name save_flows -type keyword -reader urword -optional true -longname save calculated flow imbalance correction to budget file -description REPLACE save_flows {'{#1}': 'FMI'} - -block options -name flow_imbalance_correction -type keyword -reader urword -optional true -longname correct for flow imbalance -description correct for an imbalance in flows by assuming that any residual flow error comes in or leaves at the concentration of the cell. When this option is activated, the GWT Model budget written to the listing file will contain two additional entries: FLOW-ERROR and FLOW-CORRECTION. These two entries will be equal but opposite in sign. The FLOW-CORRECTION term is a mass flow that is added to offset the error caused by an imprecise flow balance. If these terms are not relatively small, the flow model should be rerun with stricter convergence tolerances. - -# --------------------- gwt fmi packagedata --------------------- - -block packagedata -name packagedata -type recarray flowtype filein fname -reader urword -optional false -longname flowtype list -description - -block packagedata -name flowtype -in_record true -type string -tagged false -reader urword -longname flow type -description is the word GWFBUDGET, GWFHEAD, GWFMOVER or the name of an advanced GWF stress package. If GWFBUDGET is specified, then the corresponding file must be a budget file from a previous GWF Model run. If an advanced GWF stress package name appears then the corresponding file must be the budget file saved by a LAK, SFR, MAW or UZF Package. - -block packagedata -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block packagedata -name fname -in_record true -type string -preserve_case true -tagged false -reader urword -longname file name -description is the name of the file containing flows. The path to the file should be included if the file is not located in the folder where the program was run. - diff --git a/flopy/mf6/data/dfn/gwt-ic.dfn b/flopy/mf6/data/dfn/gwt-ic.dfn deleted file mode 100644 index d6d113d5c..000000000 --- a/flopy/mf6/data/dfn/gwt-ic.dfn +++ /dev/null @@ -1,22 +0,0 @@ -# --------------------- gwt ic options --------------------- - -block options -name export_array_ascii -type keyword -reader urword -optional true -mf6internal export_ascii -longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. - -# --------------------- gwt ic griddata --------------------- - -block griddata -name strt -type double precision -shape (nodes) -reader readarray -layered true -longname starting concentration -description is the initial (starting) concentration---that is, concentration at the beginning of the GWT Model simulation. STRT must be specified for all GWT Model simulations. One value is read for every model cell. -default_value 0.0 diff --git a/flopy/mf6/data/dfn/gwt-ist.dfn b/flopy/mf6/data/dfn/gwt-ist.dfn deleted file mode 100644 index c39d95cc2..000000000 --- a/flopy/mf6/data/dfn/gwt-ist.dfn +++ /dev/null @@ -1,298 +0,0 @@ -# --------------------- gwt ist options --------------------- - -block options -name save_flows -type keyword -reader urword -optional true -longname save calculated flows to budget file -description REPLACE save_flows {'{#1}': 'IST'} - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name sorption -type keyword -reader urword -optional true -longname activate sorption -description is a text keyword to indicate that sorption will be activated. Use of this keyword requires that BULK\_DENSITY and DISTCOEF are specified in the GRIDDATA block. The linear sorption isotherm is the only isotherm presently supported in the IST Package. - -block options -name first_order_decay -type keyword -reader urword -optional true -longname activate first-order decay -description is a text keyword to indicate that first-order decay will occur. Use of this keyword requires that DECAY and DECAY\_SORBED (if sorption is active) are specified in the GRIDDATA block. - -block options -name zero_order_decay -type keyword -reader urword -optional true -longname activate zero-order decay -description is a text keyword to indicate that zero-order decay will occur. Use of this keyword requires that DECAY and DECAY\_SORBED (if sorption is active) are specified in the GRIDDATA block. - -block options -name cim_filerecord -type record cim fileout cimfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name cim -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname cim keyword -description keyword to specify that record corresponds to immobile concentration. - -block options -name cimfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write immobile concentrations. This file is a binary file that has the same format and structure as a binary head and concentration file. The value for the text variable written to the file is CIM. Immobile domain concentrations will be written to this file at the same interval as mobile domain concentrations are saved, as specified in the GWT Model Output Control file. - -block options -name cimprintrecord -type record cim print_format formatrecord -shape -reader urword -optional true -longname -description - -block options -name print_format -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to indicate that a print format follows -description keyword to specify format for printing to the listing file. - -block options -name formatrecord -type record columns width digits format -shape -in_record true -reader urword -tagged -optional false -longname -description - -block options -name columns -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of columns -description number of columns for writing data. - -block options -name width -type integer -shape -in_record true -reader urword -tagged true -optional -longname width for each number -description width for writing each number. - -block options -name digits -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of digits -description number of digits to use for writing a number. - -block options -name format -type string -shape -in_record true -reader urword -tagged false -optional false -longname write format -description write format can be EXPONENTIAL, FIXED, GENERAL, or SCIENTIFIC. - -# --------------------- gwt ist griddata --------------------- - -block griddata -name porosity -type double precision -shape (nodes) -reader readarray -layered true -longname porosity of the immobile domain -description porosity of the immobile domain specified as the immobile domain pore volume per immobile domain volume. - -block griddata -name volfrac -type double precision -shape (nodes) -reader readarray -layered true -longname volume fraction of this immobile domain -description fraction of the cell volume that consists of this immobile domain. The sum of all immobile domain volume fractions must be less than one. - -block griddata -name zetaim -type double precision -shape (nodes) -reader readarray -layered true -longname mass transfer rate coefficient between the mobile and immobile domains -description mass transfer rate coefficient between the mobile and immobile domains, in dimensions of per time. - -block griddata -name cim -type double precision -shape (nodes) -reader readarray -optional true -layered true -longname initial concentration of the immobile domain -description initial concentration of the immobile domain in mass per length cubed. If CIM is not specified, then it is assumed to be zero. - -block griddata -name decay -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname first rate coefficient -description is the rate coefficient for first or zero-order decay for the aqueous phase of the immobile domain. A negative value indicates solute production. The dimensions of decay for first-order decay is one over time. The dimensions of decay for zero-order decay is mass per length cubed per time. Decay will have no effect on simulation results unless either first- or zero-order decay is specified in the options block. - -block griddata -name decay_sorbed -type double precision -shape (nodes) -reader readarray -optional true -layered true -longname second rate coefficient -description is the rate coefficient for first or zero-order decay for the sorbed phase of the immobile domain. A negative value indicates solute production. The dimensions of decay\_sorbed for first-order decay is one over time. The dimensions of decay\_sorbed for zero-order decay is mass of solute per mass of aquifer per time. If decay\_sorbed is not specified and both decay and sorption are active, then the program will terminate with an error. decay\_sorbed will have no effect on simulation results unless the SORPTION keyword and either first- or zero-order decay are specified in the options block. - -block griddata -name bulk_density -type double precision -shape (nodes) -reader readarray -optional true -layered true -longname bulk density -description is the bulk density of this immobile domain in mass per length cubed. Bulk density is defined as the immobile domain solid mass per volume of the immobile domain. bulk\_density is not required unless the SORPTION keyword is specified in the options block. If the SORPTION keyword is not specified in the options block, bulk\_density will have no effect on simulation results. - -block griddata -name distcoef -type double precision -shape (nodes) -reader readarray -optional true -layered true -longname distribution coefficient -description is the distribution coefficient for the equilibrium-controlled linear sorption isotherm in dimensions of length cubed per mass. distcoef is not required unless the SORPTION keyword is specified in the options block. If the SORPTION keyword is not specified in the options block, distcoef will have no effect on simulation results. - diff --git a/flopy/mf6/data/dfn/gwt-lkt.dfn b/flopy/mf6/data/dfn/gwt-lkt.dfn deleted file mode 100644 index 6dbca6ffb..000000000 --- a/flopy/mf6/data/dfn/gwt-lkt.dfn +++ /dev/null @@ -1,460 +0,0 @@ -# --------------------- gwt lkt options --------------------- -# flopy multi-package - -block options -name flow_package_name -type string -shape -reader urword -optional true -longname keyword to specify name of corresponding flow package -description keyword to specify the name of the corresponding flow package. If not specified, then the corresponding flow package must have the same name as this advanced transport package (the name associated with this package in the GWT name file). - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Transport'} - -block options -name flow_package_auxiliary_name -type string -shape -reader urword -optional true -longname keyword to specify name of concentration auxiliary variable in flow package -description keyword to specify the name of an auxiliary variable in the corresponding flow package. If specified, then the simulated concentrations from this advanced transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced transport package are read from a file, then this option will have no effect. - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'lake'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'lake'} - -block options -name print_concentration -type keyword -reader urword -optional true -longname print calculated stages to listing file -description REPLACE print_concentration {'{#1}': 'lake', '{#2}': 'concentration', '{#3}': 'CONCENTRATION'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'lake'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save lake flows to budget file -description REPLACE save_flows {'{#1}': 'lake'} - -block options -name concentration_filerecord -type record concentration fileout concfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name concentration -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname stage keyword -description keyword to specify that record corresponds to concentration. - -block options -name concfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write concentration information. - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'LKT'} - - -# --------------------- gwt lkt packagedata --------------------- - -block packagedata -name packagedata -type recarray ifno strt aux boundname -shape (maxbound) -reader urword -longname -description - -block packagedata -name ifno -type integer -shape -tagged false -in_record true -reader urword -longname lake number for this entry -description integer value that defines the feature (lake) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NLAKES. Lake information must be specified for every lake or the program will terminate with an error. The program will also terminate with an error if information for a lake is specified more than once. -numeric_index true - -block packagedata -name strt -type double precision -shape -tagged false -in_record true -reader urword -longname starting lake concentration -description real value that defines the starting concentration for the lake. - -block packagedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -time_series true -optional true -longname auxiliary variables -description REPLACE aux {'{#1}': 'lake'} - -block packagedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname lake name -description REPLACE boundname {'{#1}': 'lake'} - - -# --------------------- gwt lkt period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name lakeperioddata -type recarray ifno laksetting -shape -reader urword -longname -description - -block period -name ifno -type integer -shape -tagged false -in_record true -reader urword -longname lake number for this entry -description integer value that defines the feature (lake) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NLAKES. -numeric_index true - -block period -name laksetting -type keystring status concentration rainfall evaporation runoff ext-inflow auxiliaryrecord -shape -tagged false -in_record true -reader urword -longname -description line of information that is parsed into a keyword and values. Keyword values that can be used to start the LAKSETTING string include: STATUS, CONCENTRATION, RAINFALL, EVAPORATION, RUNOFF, EXT-INFLOW, and AUXILIARY. These settings are used to assign the concentration of associated with the corresponding flow terms. Concentrations cannot be specified for all flow terms. For example, the Lake Package supports a ``WITHDRAWAL'' flow term. If this withdrawal term is active, then water will be withdrawn from the lake at the calculated concentration of the lake. - -block period -name status -type string -shape -tagged true -in_record true -reader urword -longname lake concentration status -description keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that concentration will be calculated for the lake. If a lake is inactive, then there will be no solute mass fluxes into or out of the lake and the inactive value will be written for the lake concentration. If a lake is constant, then the concentration for the lake will be fixed at the user specified value. - -block period -name concentration -type string -shape -tagged true -in_record true -time_series true -reader urword -longname lake concentration -description real or character value that defines the concentration for the lake. The specified CONCENTRATION is only applied if the lake is a constant concentration lake. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name rainfall -type string -shape -tagged true -in_record true -reader urword -time_series true -longname rainfall concentration -description real or character value that defines the rainfall solute concentration $(ML^{-3})$ for the lake. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name evaporation -type string -shape -tagged true -in_record true -reader urword -time_series true -longname evaporation concentration -description real or character value that defines the concentration of evaporated water $(ML^{-3})$ for the lake. If this concentration value is larger than the simulated concentration in the lake, then the evaporated water will be removed at the same concentration as the lake. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name runoff -type string -shape -tagged true -in_record true -reader urword -time_series true -longname runoff concentration -description real or character value that defines the concentration of runoff $(ML^{-3})$ for the lake. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name ext-inflow -type string -shape -tagged true -in_record true -reader urword -time_series true -longname ext-inflow concentration -description real or character value that defines the concentration of external inflow $(ML^{-3})$ for the lake. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name auxiliaryrecord -type record auxiliary auxname auxval -shape -tagged -in_record true -reader urword -longname -description - -block period -name auxiliary -type keyword -shape -in_record true -reader urword -longname -description keyword for specifying auxiliary variable. - -block period -name auxname -type string -shape -tagged false -in_record true -reader urword -longname -description name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the auxiliary variable names defined in the OPTIONS block the data are ignored. - -block period -name auxval -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname auxiliary variable value -description value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. diff --git a/flopy/mf6/data/dfn/gwt-mst.dfn b/flopy/mf6/data/dfn/gwt-mst.dfn deleted file mode 100644 index 06e5169f8..000000000 --- a/flopy/mf6/data/dfn/gwt-mst.dfn +++ /dev/null @@ -1,96 +0,0 @@ -# --------------------- gwt mst options --------------------- - -block options -name save_flows -type keyword -reader urword -optional true -longname save calculated flows to budget file -description REPLACE save_flows {'{#1}': 'MST'} - -block options -name first_order_decay -type keyword -reader urword -optional true -longname activate first-order decay -description is a text keyword to indicate that first-order decay will occur. Use of this keyword requires that DECAY and DECAY\_SORBED (if sorption is active) are specified in the GRIDDATA block. - -block options -name zero_order_decay -type keyword -reader urword -optional true -longname activate zero-order decay -description is a text keyword to indicate that zero-order decay will occur. Use of this keyword requires that DECAY and DECAY\_SORBED (if sorption is active) are specified in the GRIDDATA block. - -block options -name sorption -type string -valid linear freundlich langmuir -reader urword -optional true -longname activate sorption -description is a text keyword to indicate that sorption will be activated. Valid sorption options include LINEAR, FREUNDLICH, and LANGMUIR. Use of this keyword requires that BULK\_DENSITY and DISTCOEF are specified in the GRIDDATA block. If sorption is specified as FREUNDLICH or LANGMUIR then SP2 is also required in the GRIDDATA block. - -# --------------------- gwt mst griddata --------------------- - -block griddata -name porosity -type double precision -shape (nodes) -reader readarray -layered true -longname porosity -description is the mobile domain porosity, defined as the mobile domain pore volume per mobile domain volume. Additional information on porosity within the context of mobile and immobile domain transport simulations is included in the MODFLOW 6 Supplemental Technical Information document. - -block griddata -name decay -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname aqueous phase decay rate coefficient -description is the rate coefficient for first or zero-order decay for the aqueous phase of the mobile domain. A negative value indicates solute production. The dimensions of decay for first-order decay is one over time. The dimensions of decay for zero-order decay is mass per length cubed per time. decay will have no effect on simulation results unless either first- or zero-order decay is specified in the options block. - -block griddata -name decay_sorbed -type double precision -shape (nodes) -reader readarray -optional true -layered true -longname sorbed phase decay rate coefficient -description is the rate coefficient for first or zero-order decay for the sorbed phase of the mobile domain. A negative value indicates solute production. The dimensions of decay\_sorbed for first-order decay is one over time. The dimensions of decay\_sorbed for zero-order decay is mass of solute per mass of aquifer per time. If decay\_sorbed is not specified and both decay and sorption are active, then the program will terminate with an error. decay\_sorbed will have no effect on simulation results unless the SORPTION keyword and either first- or zero-order decay are specified in the options block. - -block griddata -name bulk_density -type double precision -shape (nodes) -reader readarray -optional true -layered true -longname bulk density -description is the bulk density of the aquifer in mass per length cubed. bulk\_density is not required unless the SORPTION keyword is specified. Bulk density is defined as the mobile domain solid mass per mobile domain volume. Additional information on bulk density is included in the MODFLOW 6 Supplemental Technical Information document. - -block griddata -name distcoef -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname distribution coefficient -description is the distribution coefficient for the equilibrium-controlled linear sorption isotherm in dimensions of length cubed per mass. distcoef is not required unless the SORPTION keyword is specified. - -block griddata -name sp2 -type double precision -shape (nodes) -reader readarray -layered true -optional true -longname second sorption parameter -description is the exponent for the Freundlich isotherm and the sorption capacity for the Langmuir isotherm. - diff --git a/flopy/mf6/data/dfn/gwt-mvt.dfn b/flopy/mf6/data/dfn/gwt-mvt.dfn deleted file mode 100644 index 4423589f9..000000000 --- a/flopy/mf6/data/dfn/gwt-mvt.dfn +++ /dev/null @@ -1,106 +0,0 @@ -# --------------------- gwt mvt options --------------------- -# flopy subpackage mvt_filerecord mvt perioddata perioddata -# flopy parent_name_type parent_model_or_package MFModel/MFPackage - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'mover'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'lake'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save lake flows to budget file -description REPLACE save_flows {'{#1}': 'lake'} - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - - diff --git a/flopy/mf6/data/dfn/gwt-mwt.dfn b/flopy/mf6/data/dfn/gwt-mwt.dfn deleted file mode 100644 index b2b434678..000000000 --- a/flopy/mf6/data/dfn/gwt-mwt.dfn +++ /dev/null @@ -1,427 +0,0 @@ -# --------------------- gwt mwt options --------------------- -# flopy multi-package - -block options -name flow_package_name -type string -shape -reader urword -optional true -longname keyword to specify name of corresponding flow package -description keyword to specify the name of the corresponding flow package. If not specified, then the corresponding flow package must have the same name as this advanced transport package (the name associated with this package in the GWT name file). - -block options -name auxiliary -type string -shape (naux) -reader urword -optional true -longname keyword to specify aux variables -description REPLACE auxnames {'{#1}': 'Groundwater Transport'} - -block options -name flow_package_auxiliary_name -type string -shape -reader urword -optional true -longname keyword to specify name of concentration auxiliary variable in flow package -description keyword to specify the name of an auxiliary variable in the corresponding flow package. If specified, then the simulated concentrations from this advanced transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced transport package are read from a file, then this option will have no effect. - -block options -name boundnames -type keyword -shape -reader urword -optional true -longname -description REPLACE boundnames {'{#1}': 'well'} - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'well'} - -block options -name print_concentration -type keyword -reader urword -optional true -longname print calculated concentrations to listing file -description REPLACE print_concentration {'{#1}': 'well', '{#2}': 'concentration', '{#3}': 'CONCENTRATION'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'well'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save well flows to budget file -description REPLACE save_flows {'{#1}': 'well'} - -block options -name concentration_filerecord -type record concentration fileout concfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name concentration -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname stage keyword -description keyword to specify that record corresponds to concentration. - -block options -name concfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write concentration information. - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the binary output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -block options -name obs_filerecord -type record obs6 filein obs6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name obs6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname obs keyword -description keyword to specify that record corresponds to an observations file. - -block options -name obs6_filename -type string -preserve_case true -in_record true -tagged false -reader urword -optional false -longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'MWT'} - - -# --------------------- gwt mwt packagedata --------------------- - -block packagedata -name packagedata -type recarray ifno strt aux boundname -shape (maxbound) -reader urword -longname -description - -block packagedata -name ifno -type integer -shape -tagged false -in_record true -reader urword -longname well number for this entry -description integer value that defines the feature (well) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. Well information must be specified for every well or the program will terminate with an error. The program will also terminate with an error if information for a well is specified more than once. -numeric_index true - -block packagedata -name strt -type double precision -shape -tagged false -in_record true -reader urword -longname starting well concentration -description real value that defines the starting concentration for the well. - -block packagedata -name aux -type double precision -in_record true -tagged false -shape (naux) -reader urword -time_series true -optional true -longname auxiliary variables -description REPLACE aux {'{#1}': 'well'} - -block packagedata -name boundname -type string -shape -tagged false -in_record true -reader urword -optional true -longname well name -description REPLACE boundname {'{#1}': 'well'} - - -# --------------------- gwt mwt period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name mwtperioddata -type recarray ifno mwtsetting -shape -reader urword -longname -description - -block period -name ifno -type integer -shape -tagged false -in_record true -reader urword -longname well number for this entry -description integer value that defines the feature (well) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NMAWWELLS. -numeric_index true - -block period -name mwtsetting -type keystring status concentration rate auxiliaryrecord -shape -tagged false -in_record true -reader urword -longname -description line of information that is parsed into a keyword and values. Keyword values that can be used to start the MWTSETTING string include: STATUS, CONCENTRATION, RATE, and AUXILIARY. These settings are used to assign the concentration associated with the corresponding flow terms. Concentrations cannot be specified for all flow terms. For example, the Multi-Aquifer Well Package supports a ``WITHDRAWAL'' flow term. If this withdrawal term is active, then water will be withdrawn from the well at the calculated concentration of the well. - -block period -name status -type string -shape -tagged true -in_record true -reader urword -longname well concentration status -description keyword option to define well status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that concentration will be calculated for the well. If a well is inactive, then there will be no solute mass fluxes into or out of the well and the inactive value will be written for the well concentration. If a well is constant, then the concentration for the well will be fixed at the user specified value. - -block period -name concentration -type string -shape -tagged true -in_record true -time_series true -reader urword -longname well concentration -description real or character value that defines the concentration for the well. The specified CONCENTRATION is only applied if the well is a constant concentration well. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name rate -type string -shape -tagged true -in_record true -reader urword -time_series true -longname well injection concentration -description real or character value that defines the injection solute concentration $(ML^{-3})$ for the well. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. - -block period -name auxiliaryrecord -type record auxiliary auxname auxval -shape -tagged -in_record true -reader urword -longname -description - -block period -name auxiliary -type keyword -shape -in_record true -reader urword -longname -description keyword for specifying auxiliary variable. - -block period -name auxname -type string -shape -tagged false -in_record true -reader urword -longname -description name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the auxiliary variable names defined in the OPTIONS block the data are ignored. - -block period -name auxval -type double precision -shape -tagged false -in_record true -reader urword -time_series true -longname auxiliary variable value -description value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. diff --git a/flopy/mf6/data/dfn/gwt-nam.dfn b/flopy/mf6/data/dfn/gwt-nam.dfn deleted file mode 100644 index a06795e24..000000000 --- a/flopy/mf6/data/dfn/gwt-nam.dfn +++ /dev/null @@ -1,74 +0,0 @@ -# --------------------- gwt nam options --------------------- - -block options -name list -type string -reader urword -optional true -preserve_case true -longname name of listing file -description is name of the listing file to create for this GWT model. If not specified, then the name of the list file will be the basename of the GWT model name file and the '.lst' extension. For example, if the GWT name file is called ``my.model.nam'' then the list file will be called ``my.model.lst''. - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'all model stress package'} - -block options -name print_flows -type keyword -reader urword -optional true -longname print calculated flows to listing file -description REPLACE print_flows {'{#1}': 'all model package'} - -block options -name save_flows -type keyword -reader urword -optional true -longname save flows for all packages to budget file -description REPLACE save_flows {'{#1}': 'all model package'} - -# --------------------- gwt nam packages --------------------- - -block packages -name packages -type recarray ftype fname pname -reader urword -optional false -longname package list -description - -block packages -name ftype -in_record true -type string -tagged false -reader urword -longname package type -description is the file type, which must be one of the following character values shown in table~\ref{table:ftype-gwt}. Ftype may be entered in any combination of uppercase and lowercase. - -block packages -name fname -in_record true -type string -preserve_case true -tagged false -reader urword -longname file name -description is the name of the file containing the package input. The path to the file should be included if the file is not located in the folder where the program was run. - -block packages -name pname -in_record true -type string -tagged false -reader urword -optional true -longname user name for package -description is the user-defined name for the package. PNAME is restricted to 16 characters. No spaces are allowed in PNAME. PNAME character values are read and stored by the program for stress packages only. These names may be useful for labeling purposes when multiple stress packages of the same type are located within a single GWT Model. If PNAME is specified for a stress package, then PNAME will be used in the flow budget table in the listing file; it will also be used for the text entry in the cell-by-cell budget file. PNAME is case insensitive and is stored in all upper case letters. - diff --git a/flopy/mf6/data/dfn/gwt-oc.dfn b/flopy/mf6/data/dfn/gwt-oc.dfn deleted file mode 100644 index a54fcbdd2..000000000 --- a/flopy/mf6/data/dfn/gwt-oc.dfn +++ /dev/null @@ -1,313 +0,0 @@ -# --------------------- gwt oc options --------------------- - -block options -name budget_filerecord -type record budget fileout budgetfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budget -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget. - -block options -name fileout -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an output filename is expected next. - -block options -name budgetfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write budget information. - -block options -name budgetcsv_filerecord -type record budgetcsv fileout budgetcsvfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name budgetcsv -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname budget keyword -description keyword to specify that record corresponds to the budget CSV. - -block options -name budgetcsvfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation. - -block options -name concentration_filerecord -type record concentration fileout concentrationfile -shape -reader urword -tagged true -optional true -longname -description - -block options -name concentration -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname concentration keyword -description keyword to specify that record corresponds to concentration. - -block options -name concentrationfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the output file to write conc information. - -block options -name concentrationprintrecord -type record concentration print_format formatrecord -shape -reader urword -optional true -longname -description - -block options -name print_format -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to indicate that a print format follows -description keyword to specify format for printing to the listing file. - -block options -name formatrecord -type record columns width digits format -shape -in_record true -reader urword -tagged -optional false -longname -description - -block options -name columns -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of columns -description number of columns for writing data. - -block options -name width -type integer -shape -in_record true -reader urword -tagged true -optional -longname width for each number -description width for writing each number. - -block options -name digits -type integer -shape -in_record true -reader urword -tagged true -optional -longname number of digits -description number of digits to use for writing a number. - -block options -name format -type string -shape -in_record true -reader urword -tagged false -optional false -longname write format -description write format can be EXPONENTIAL, FIXED, GENERAL, or SCIENTIFIC. - - -# --------------------- gwt oc period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name saverecord -type record save rtype ocsetting -shape -reader urword -tagged false -optional true -longname -description - -block period -name save -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to save -description keyword to indicate that information will be saved this stress period. - -block period -name printrecord -type record print rtype ocsetting -shape -reader urword -tagged false -optional true -longname -description - -block period -name print -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname keyword to save -description keyword to indicate that information will be printed this stress period. - -block period -name rtype -type string -shape -in_record true -reader urword -tagged false -optional false -longname record type -description type of information to save or print. Can be BUDGET or CONCENTRATION. - -block period -name ocsetting -type keystring all first last frequency steps -shape -tagged false -in_record true -reader urword -longname -description specifies the steps for which the data will be saved. - -block period -name all -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for all time steps in period. - -block period -name first -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for first step in period. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name last -type keyword -shape -in_record true -reader urword -longname -description keyword to indicate save for last step in period. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name frequency -type integer -shape -tagged true -in_record true -reader urword -longname -description save at the specified time step frequency. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. - -block period -name steps -type integer -shape ( Date: Thu, 3 Oct 2024 16:31:55 +0200 Subject: [PATCH 3/8] Remove mf6 package classes, they are created by generate-mf6-classes --- flopy/mf6/modflow/__init__.py | 106 --- flopy/mf6/modflow/mfems.py | 54 -- flopy/mf6/modflow/mfgnc.py | 292 ------ flopy/mf6/modflow/mfgwe.py | 135 --- flopy/mf6/modflow/mfgweadv.py | 67 -- flopy/mf6/modflow/mfgwecnd.py | 226 ----- flopy/mf6/modflow/mfgwectp.py | 358 -------- flopy/mf6/modflow/mfgwedis.py | 253 ------ flopy/mf6/modflow/mfgwedisu.py | 521 ----------- flopy/mf6/modflow/mfgwedisv.py | 352 -------- flopy/mf6/modflow/mfgweesl.py | 353 -------- flopy/mf6/modflow/mfgweest.py | 216 ----- flopy/mf6/modflow/mfgwefmi.py | 137 --- flopy/mf6/modflow/mfgwegwe.py | 493 ---------- flopy/mf6/modflow/mfgweic.py | 86 -- flopy/mf6/modflow/mfgwelke.py | 734 --------------- flopy/mf6/modflow/mfgwemve.py | 256 ------ flopy/mf6/modflow/mfgwemwe.py | 679 -------------- flopy/mf6/modflow/mfgwenam.py | 164 ---- flopy/mf6/modflow/mfgweoc.py | 433 --------- flopy/mf6/modflow/mfgwesfe.py | 736 --------------- flopy/mf6/modflow/mfgwessm.py | 219 ----- flopy/mf6/modflow/mfgweuze.py | 676 -------------- flopy/mf6/modflow/mfgwf.py | 143 --- flopy/mf6/modflow/mfgwfapi.py | 192 ---- flopy/mf6/modflow/mfgwfbuy.py | 256 ------ flopy/mf6/modflow/mfgwfchd.py | 366 -------- flopy/mf6/modflow/mfgwfcsub.py | 1111 ----------------------- flopy/mf6/modflow/mfgwfdis.py | 253 ------ flopy/mf6/modflow/mfgwfdisu.py | 521 ----------- flopy/mf6/modflow/mfgwfdisv.py | 352 -------- flopy/mf6/modflow/mfgwfdrn.py | 422 --------- flopy/mf6/modflow/mfgwfevt.py | 482 ---------- flopy/mf6/modflow/mfgwfevta.py | 360 -------- flopy/mf6/modflow/mfgwfghb.py | 385 -------- flopy/mf6/modflow/mfgwfgnc.py | 292 ------ flopy/mf6/modflow/mfgwfgwe.py | 70 -- flopy/mf6/modflow/mfgwfgwf.py | 540 ----------- flopy/mf6/modflow/mfgwfgwt.py | 70 -- flopy/mf6/modflow/mfgwfhfb.py | 163 ---- flopy/mf6/modflow/mfgwfic.py | 92 -- flopy/mf6/modflow/mfgwflak.py | 1351 --------------------------- flopy/mf6/modflow/mfgwfmaw.py | 1163 ------------------------ flopy/mf6/modflow/mfgwfmvr.py | 481 ---------- flopy/mf6/modflow/mfgwfnam.py | 193 ---- flopy/mf6/modflow/mfgwfnpf.py | 630 ------------- flopy/mf6/modflow/mfgwfoc.py | 432 --------- flopy/mf6/modflow/mfgwfprt.py | 70 -- flopy/mf6/modflow/mfgwfrch.py | 370 -------- flopy/mf6/modflow/mfgwfrcha.py | 340 ------- flopy/mf6/modflow/mfgwfriv.py | 396 -------- flopy/mf6/modflow/mfgwfsfr.py | 1407 ----------------------------- flopy/mf6/modflow/mfgwfsto.py | 257 ------ flopy/mf6/modflow/mfgwfuzf.py | 927 ------------------- flopy/mf6/modflow/mfgwfvsc.py | 315 ------- flopy/mf6/modflow/mfgwfwel.py | 450 --------- flopy/mf6/modflow/mfgwt.py | 135 --- flopy/mf6/modflow/mfgwtadv.py | 67 -- flopy/mf6/modflow/mfgwtapi.py | 192 ---- flopy/mf6/modflow/mfgwtcnc.py | 358 -------- flopy/mf6/modflow/mfgwtdis.py | 253 ------ flopy/mf6/modflow/mfgwtdisu.py | 521 ----------- flopy/mf6/modflow/mfgwtdisv.py | 352 -------- flopy/mf6/modflow/mfgwtdsp.py | 208 ----- flopy/mf6/modflow/mfgwtfmi.py | 137 --- flopy/mf6/modflow/mfgwtgwt.py | 489 ---------- flopy/mf6/modflow/mfgwtic.py | 86 -- flopy/mf6/modflow/mfgwtist.py | 473 ---------- flopy/mf6/modflow/mfgwtlkt.py | 715 --------------- flopy/mf6/modflow/mfgwtmst.py | 231 ----- flopy/mf6/modflow/mfgwtmvt.py | 256 ------ flopy/mf6/modflow/mfgwtmwt.py | 657 -------------- flopy/mf6/modflow/mfgwtnam.py | 164 ---- flopy/mf6/modflow/mfgwtoc.py | 433 --------- flopy/mf6/modflow/mfgwtsft.py | 713 --------------- flopy/mf6/modflow/mfgwtsrc.py | 353 -------- flopy/mf6/modflow/mfgwtssm.py | 221 ----- flopy/mf6/modflow/mfgwtuzt.py | 677 -------------- flopy/mf6/modflow/mfims.py | 843 ----------------- flopy/mf6/modflow/mfmvr.py | 481 ---------- flopy/mf6/modflow/mfmvt.py | 256 ------ flopy/mf6/modflow/mfnam.py | 350 ------- flopy/mf6/modflow/mfprt.py | 135 --- flopy/mf6/modflow/mfprtdis.py | 253 ------ flopy/mf6/modflow/mfprtdisv.py | 352 -------- flopy/mf6/modflow/mfprtfmi.py | 113 --- flopy/mf6/modflow/mfprtmip.py | 130 --- flopy/mf6/modflow/mfprtnam.py | 163 ---- flopy/mf6/modflow/mfprtoc.py | 550 ----------- flopy/mf6/modflow/mfprtprp.py | 628 ------------- flopy/mf6/modflow/mfpts.py | 327 ------- flopy/mf6/modflow/mfsimulation.py | 157 ---- flopy/mf6/modflow/mftdis.py | 199 ---- flopy/mf6/modflow/mfutlats.py | 214 ----- flopy/mf6/modflow/mfutlhpc.py | 96 -- flopy/mf6/modflow/mfutllaktab.py | 139 --- flopy/mf6/modflow/mfutlobs.py | 246 ----- flopy/mf6/modflow/mfutlsfrtab.py | 141 --- flopy/mf6/modflow/mfutlspc.py | 202 ----- flopy/mf6/modflow/mfutlspca.py | 170 ---- flopy/mf6/modflow/mfutlspt.py | 202 ----- flopy/mf6/modflow/mfutlspta.py | 170 ---- flopy/mf6/modflow/mfutltas.py | 251 ----- flopy/mf6/modflow/mfutlts.py | 335 ------- flopy/mf6/modflow/mfutltvk.py | 287 ------ flopy/mf6/modflow/mfutltvs.py | 291 ------ 106 files changed, 37770 deletions(-) delete mode 100644 flopy/mf6/modflow/__init__.py delete mode 100644 flopy/mf6/modflow/mfems.py delete mode 100644 flopy/mf6/modflow/mfgnc.py delete mode 100644 flopy/mf6/modflow/mfgwe.py delete mode 100644 flopy/mf6/modflow/mfgweadv.py delete mode 100644 flopy/mf6/modflow/mfgwecnd.py delete mode 100644 flopy/mf6/modflow/mfgwectp.py delete mode 100644 flopy/mf6/modflow/mfgwedis.py delete mode 100644 flopy/mf6/modflow/mfgwedisu.py delete mode 100644 flopy/mf6/modflow/mfgwedisv.py delete mode 100644 flopy/mf6/modflow/mfgweesl.py delete mode 100644 flopy/mf6/modflow/mfgweest.py delete mode 100644 flopy/mf6/modflow/mfgwefmi.py delete mode 100644 flopy/mf6/modflow/mfgwegwe.py delete mode 100644 flopy/mf6/modflow/mfgweic.py delete mode 100644 flopy/mf6/modflow/mfgwelke.py delete mode 100644 flopy/mf6/modflow/mfgwemve.py delete mode 100644 flopy/mf6/modflow/mfgwemwe.py delete mode 100644 flopy/mf6/modflow/mfgwenam.py delete mode 100644 flopy/mf6/modflow/mfgweoc.py delete mode 100644 flopy/mf6/modflow/mfgwesfe.py delete mode 100644 flopy/mf6/modflow/mfgwessm.py delete mode 100644 flopy/mf6/modflow/mfgweuze.py delete mode 100644 flopy/mf6/modflow/mfgwf.py delete mode 100644 flopy/mf6/modflow/mfgwfapi.py delete mode 100644 flopy/mf6/modflow/mfgwfbuy.py delete mode 100644 flopy/mf6/modflow/mfgwfchd.py delete mode 100644 flopy/mf6/modflow/mfgwfcsub.py delete mode 100644 flopy/mf6/modflow/mfgwfdis.py delete mode 100644 flopy/mf6/modflow/mfgwfdisu.py delete mode 100644 flopy/mf6/modflow/mfgwfdisv.py delete mode 100644 flopy/mf6/modflow/mfgwfdrn.py delete mode 100644 flopy/mf6/modflow/mfgwfevt.py delete mode 100644 flopy/mf6/modflow/mfgwfevta.py delete mode 100644 flopy/mf6/modflow/mfgwfghb.py delete mode 100644 flopy/mf6/modflow/mfgwfgnc.py delete mode 100644 flopy/mf6/modflow/mfgwfgwe.py delete mode 100644 flopy/mf6/modflow/mfgwfgwf.py delete mode 100644 flopy/mf6/modflow/mfgwfgwt.py delete mode 100644 flopy/mf6/modflow/mfgwfhfb.py delete mode 100644 flopy/mf6/modflow/mfgwfic.py delete mode 100644 flopy/mf6/modflow/mfgwflak.py delete mode 100644 flopy/mf6/modflow/mfgwfmaw.py delete mode 100644 flopy/mf6/modflow/mfgwfmvr.py delete mode 100644 flopy/mf6/modflow/mfgwfnam.py delete mode 100644 flopy/mf6/modflow/mfgwfnpf.py delete mode 100644 flopy/mf6/modflow/mfgwfoc.py delete mode 100644 flopy/mf6/modflow/mfgwfprt.py delete mode 100644 flopy/mf6/modflow/mfgwfrch.py delete mode 100644 flopy/mf6/modflow/mfgwfrcha.py delete mode 100644 flopy/mf6/modflow/mfgwfriv.py delete mode 100644 flopy/mf6/modflow/mfgwfsfr.py delete mode 100644 flopy/mf6/modflow/mfgwfsto.py delete mode 100644 flopy/mf6/modflow/mfgwfuzf.py delete mode 100644 flopy/mf6/modflow/mfgwfvsc.py delete mode 100644 flopy/mf6/modflow/mfgwfwel.py delete mode 100644 flopy/mf6/modflow/mfgwt.py delete mode 100644 flopy/mf6/modflow/mfgwtadv.py delete mode 100644 flopy/mf6/modflow/mfgwtapi.py delete mode 100644 flopy/mf6/modflow/mfgwtcnc.py delete mode 100644 flopy/mf6/modflow/mfgwtdis.py delete mode 100644 flopy/mf6/modflow/mfgwtdisu.py delete mode 100644 flopy/mf6/modflow/mfgwtdisv.py delete mode 100644 flopy/mf6/modflow/mfgwtdsp.py delete mode 100644 flopy/mf6/modflow/mfgwtfmi.py delete mode 100644 flopy/mf6/modflow/mfgwtgwt.py delete mode 100644 flopy/mf6/modflow/mfgwtic.py delete mode 100644 flopy/mf6/modflow/mfgwtist.py delete mode 100644 flopy/mf6/modflow/mfgwtlkt.py delete mode 100644 flopy/mf6/modflow/mfgwtmst.py delete mode 100644 flopy/mf6/modflow/mfgwtmvt.py delete mode 100644 flopy/mf6/modflow/mfgwtmwt.py delete mode 100644 flopy/mf6/modflow/mfgwtnam.py delete mode 100644 flopy/mf6/modflow/mfgwtoc.py delete mode 100644 flopy/mf6/modflow/mfgwtsft.py delete mode 100644 flopy/mf6/modflow/mfgwtsrc.py delete mode 100644 flopy/mf6/modflow/mfgwtssm.py delete mode 100644 flopy/mf6/modflow/mfgwtuzt.py delete mode 100644 flopy/mf6/modflow/mfims.py delete mode 100644 flopy/mf6/modflow/mfmvr.py delete mode 100644 flopy/mf6/modflow/mfmvt.py delete mode 100644 flopy/mf6/modflow/mfnam.py delete mode 100644 flopy/mf6/modflow/mfprt.py delete mode 100644 flopy/mf6/modflow/mfprtdis.py delete mode 100644 flopy/mf6/modflow/mfprtdisv.py delete mode 100644 flopy/mf6/modflow/mfprtfmi.py delete mode 100644 flopy/mf6/modflow/mfprtmip.py delete mode 100644 flopy/mf6/modflow/mfprtnam.py delete mode 100644 flopy/mf6/modflow/mfprtoc.py delete mode 100644 flopy/mf6/modflow/mfprtprp.py delete mode 100644 flopy/mf6/modflow/mfpts.py delete mode 100644 flopy/mf6/modflow/mfsimulation.py delete mode 100644 flopy/mf6/modflow/mftdis.py delete mode 100644 flopy/mf6/modflow/mfutlats.py delete mode 100644 flopy/mf6/modflow/mfutlhpc.py delete mode 100644 flopy/mf6/modflow/mfutllaktab.py delete mode 100644 flopy/mf6/modflow/mfutlobs.py delete mode 100644 flopy/mf6/modflow/mfutlsfrtab.py delete mode 100644 flopy/mf6/modflow/mfutlspc.py delete mode 100644 flopy/mf6/modflow/mfutlspca.py delete mode 100644 flopy/mf6/modflow/mfutlspt.py delete mode 100644 flopy/mf6/modflow/mfutlspta.py delete mode 100644 flopy/mf6/modflow/mfutltas.py delete mode 100644 flopy/mf6/modflow/mfutlts.py delete mode 100644 flopy/mf6/modflow/mfutltvk.py delete mode 100644 flopy/mf6/modflow/mfutltvs.py diff --git a/flopy/mf6/modflow/__init__.py b/flopy/mf6/modflow/__init__.py deleted file mode 100644 index 8748cf995..000000000 --- a/flopy/mf6/modflow/__init__.py +++ /dev/null @@ -1,106 +0,0 @@ -from .mfsimulation import MFSimulation # isort:skip -from .mfems import ModflowEms -from .mfgnc import ModflowGnc -from .mfgwe import ModflowGwe -from .mfgweadv import ModflowGweadv -from .mfgwecnd import ModflowGwecnd -from .mfgwectp import ModflowGwectp -from .mfgwedis import ModflowGwedis -from .mfgwedisu import ModflowGwedisu -from .mfgwedisv import ModflowGwedisv -from .mfgweesl import ModflowGweesl -from .mfgweest import ModflowGweest -from .mfgwefmi import ModflowGwefmi -from .mfgwegwe import ModflowGwegwe -from .mfgweic import ModflowGweic -from .mfgwelke import ModflowGwelke -from .mfgwemve import ModflowGwemve -from .mfgwemwe import ModflowGwemwe -from .mfgwenam import ModflowGwenam -from .mfgweoc import ModflowGweoc -from .mfgwesfe import ModflowGwesfe -from .mfgwessm import ModflowGwessm -from .mfgweuze import ModflowGweuze -from .mfgwf import ModflowGwf -from .mfgwfapi import ModflowGwfapi -from .mfgwfbuy import ModflowGwfbuy -from .mfgwfchd import ModflowGwfchd -from .mfgwfcsub import ModflowGwfcsub -from .mfgwfdis import ModflowGwfdis -from .mfgwfdisu import ModflowGwfdisu -from .mfgwfdisv import ModflowGwfdisv -from .mfgwfdrn import ModflowGwfdrn -from .mfgwfevt import ModflowGwfevt -from .mfgwfevta import ModflowGwfevta -from .mfgwfghb import ModflowGwfghb -from .mfgwfgnc import ModflowGwfgnc -from .mfgwfgwe import ModflowGwfgwe -from .mfgwfgwf import ModflowGwfgwf -from .mfgwfgwt import ModflowGwfgwt -from .mfgwfhfb import ModflowGwfhfb -from .mfgwfic import ModflowGwfic -from .mfgwflak import ModflowGwflak -from .mfgwfmaw import ModflowGwfmaw -from .mfgwfmvr import ModflowGwfmvr -from .mfgwfnam import ModflowGwfnam -from .mfgwfnpf import ModflowGwfnpf -from .mfgwfoc import ModflowGwfoc -from .mfgwfprt import ModflowGwfprt -from .mfgwfrch import ModflowGwfrch -from .mfgwfrcha import ModflowGwfrcha -from .mfgwfriv import ModflowGwfriv -from .mfgwfsfr import ModflowGwfsfr -from .mfgwfsto import ModflowGwfsto -from .mfgwfuzf import ModflowGwfuzf -from .mfgwfvsc import ModflowGwfvsc -from .mfgwfwel import ModflowGwfwel -from .mfgwt import ModflowGwt -from .mfgwtadv import ModflowGwtadv -from .mfgwtapi import ModflowGwtapi -from .mfgwtcnc import ModflowGwtcnc -from .mfgwtdis import ModflowGwtdis -from .mfgwtdisu import ModflowGwtdisu -from .mfgwtdisv import ModflowGwtdisv -from .mfgwtdsp import ModflowGwtdsp -from .mfgwtfmi import ModflowGwtfmi -from .mfgwtgwt import ModflowGwtgwt -from .mfgwtic import ModflowGwtic -from .mfgwtist import ModflowGwtist -from .mfgwtlkt import ModflowGwtlkt -from .mfgwtmst import ModflowGwtmst -from .mfgwtmvt import ModflowGwtmvt -from .mfgwtmwt import ModflowGwtmwt -from .mfgwtnam import ModflowGwtnam -from .mfgwtoc import ModflowGwtoc -from .mfgwtsft import ModflowGwtsft -from .mfgwtsrc import ModflowGwtsrc -from .mfgwtssm import ModflowGwtssm -from .mfgwtuzt import ModflowGwtuzt -from .mfims import ModflowIms -from .mfmvr import ModflowMvr -from .mfmvt import ModflowMvt -from .mfnam import ModflowNam -from .mfprt import ModflowPrt -from .mfprtdis import ModflowPrtdis -from .mfprtdisv import ModflowPrtdisv -from .mfprtfmi import ModflowPrtfmi -from .mfprtmip import ModflowPrtmip -from .mfprtnam import ModflowPrtnam -from .mfprtoc import ModflowPrtoc -from .mfprtprp import ModflowPrtprp -from .mfpts import ModflowPts -from .mfsimulation import MFSimulation -from .mftdis import ModflowTdis -from .mfutlats import ModflowUtlats -from .mfutlhpc import ModflowUtlhpc -from .mfutllaktab import ModflowUtllaktab -from .mfutlobs import ModflowUtlobs -from .mfutlsfrtab import ModflowUtlsfrtab -from .mfutlspc import ModflowUtlspc -from .mfutlspca import ModflowUtlspca -from .mfutlspt import ModflowUtlspt -from .mfutlspta import ModflowUtlspta -from .mfutltas import ModflowUtltas -from .mfutlts import ModflowUtlts -from .mfutltvk import ModflowUtltvk -from .mfutltvs import ModflowUtltvs diff --git a/flopy/mf6/modflow/mfems.py b/flopy/mf6/modflow/mfems.py deleted file mode 100644 index 93dcce544..000000000 --- a/flopy/mf6/modflow/mfems.py +++ /dev/null @@ -1,54 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage - - -class ModflowEms(mfpackage.MFPackage): - """ - ModflowEms defines a ems package. - - Parameters - ---------- - simulation : MFSimulation - Simulation that this package is a part of. Package is automatically - added to simulation when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - package_abbr = "ems" - _package_type = "ems" - dfn_file_name = "sln-ems.dfn" - - dfn = [ - [ - "header", - ["solution_package", "*"], - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "ems", filename, pname, loading_package, **kwargs - ) - - # set up variables - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgnc.py b/flopy/mf6/modflow/mfgnc.py deleted file mode 100644 index b40a6493a..000000000 --- a/flopy/mf6/modflow/mfgnc.py +++ /dev/null @@ -1,292 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGnc(mfpackage.MFPackage): - """ - ModflowGnc defines a gnc package. - - Parameters - ---------- - parent_model_or_package : MFModel/MFPackage - Parent_model_or_package that this package is a part of. Package is automatically - added to parent_model_or_package when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of GNC - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of GNC flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - explicit : boolean - * explicit (boolean) keyword to indicate that the ghost node correction - is applied in an explicit manner on the right-hand side of the - matrix. The explicit approach will likely require additional outer - iterations. If the keyword is not specified, then the correction will - be applied in an implicit manner on the left-hand side. The implicit - approach will likely converge better, but may require additional - memory. If the EXPLICIT keyword is not specified, then the BICGSTAB - linear acceleration option should be specified within the LINEAR - block of the Sparse Matrix Solver. - numgnc : integer - * numgnc (integer) is the number of GNC entries. - numalphaj : integer - * numalphaj (integer) is the number of contributing factors. - gncdata : [cellidn, cellidm, cellidsj, alphasj] - * cellidn ((integer, ...)) is the cellid of the cell, :math:`n`, in - which the ghost node is located. For a structured grid that uses the - DIS input file, CELLIDN is the layer, row, and column numbers of the - cell. For a grid that uses the DISV input file, CELLIDN is the layer - number and CELL2D number for the two cells. If the model uses the - unstructured discretization (DISU) input file, then CELLIDN is the - node number for the cell. This argument is an index variable, which - means that it should be treated as zero-based when working with FloPy - and Python. Flopy will automatically subtract one when loading index - variables and add one when writing index variables. - * cellidm ((integer, ...)) is the cellid of the connecting cell, - :math:`m`, to which flow occurs from the ghost node. For a structured - grid that uses the DIS input file, CELLIDM is the layer, row, and - column numbers of the cell. For a grid that uses the DISV input file, - CELLIDM is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * cellidsj ((integer, ...)) is the array of CELLIDS for the - contributing j cells, which contribute to the interpolated head value - at the ghost node. This item contains one CELLID for each of the - contributing cells of the ghost node. Note that if the number of - actual contributing cells needed by the user is less than NUMALPHAJ - for any ghost node, then a dummy CELLID of zero(s) should be inserted - with an associated contributing factor of zero. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, CELLID - is the layer number and cell2d number for the two cells. If the model - uses the unstructured discretization (DISU) input file, then CELLID - is the node number for the cell. This argument is an index variable, - which means that it should be treated as zero-based when working with - FloPy and Python. Flopy will automatically subtract one when loading - index variables and add one when writing index variables. - * alphasj (double) is the contributing factors for each contributing - node in CELLIDSJ. Note that if the number of actual contributing - cells is less than NUMALPHAJ for any ghost node, then dummy CELLIDS - should be inserted with an associated contributing factor of zero. - The sum of ALPHASJ should be less than one. This is because one minus - the sum of ALPHASJ is equal to the alpha term (alpha n in equation - 4-61 of the GWF Model report) that is multiplied by the head in cell - n. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - gncdata = ListTemplateGenerator(("gnc", "gncdata", "gncdata")) - package_abbr = "gnc" - _package_type = "gnc" - dfn_file_name = "gwf-gnc.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name explicit", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name numgnc", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name numalphaj", - "type integer", - "reader urword", - "optional false", - ], - [ - "block gncdata", - "name gncdata", - "type recarray cellidn cellidm cellidsj alphasj", - "shape (maxbound)", - "reader urword", - ], - [ - "block gncdata", - "name cellidn", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block gncdata", - "name cellidm", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block gncdata", - "name cellidsj", - "type integer", - "shape (numalphaj)", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block gncdata", - "name alphasj", - "type double precision", - "shape (numalphaj)", - "tagged false", - "in_record true", - "reader urword", - ], - ] - - def __init__( - self, - parent_model_or_package, - loading_package=False, - print_input=None, - print_flows=None, - explicit=None, - numgnc=None, - numalphaj=None, - gncdata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - parent_model_or_package, - "gnc", - filename, - pname, - loading_package, - **kwargs, - ) - - # set up variables - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.explicit = self.build_mfdata("explicit", explicit) - self.numgnc = self.build_mfdata("numgnc", numgnc) - self.numalphaj = self.build_mfdata("numalphaj", numalphaj) - self.gncdata = self.build_mfdata("gncdata", gncdata) - self._init_complete = True - - -class GncPackages(mfpackage.MFChildPackages): - """ - GncPackages is a container class for the ModflowGnc class. - - Methods - ------- - initialize - Initializes a new ModflowGnc package removing any sibling child - packages attached to the same parent package. See ModflowGnc init - documentation for definition of parameters. - append_package - Adds a new ModflowGwfgnc package to the container. See ModflowGwfgnc - init documentation for definition of parameters. - """ - - package_abbr = "gncpackages" - - def initialize( - self, - print_input=None, - print_flows=None, - explicit=None, - numgnc=None, - numalphaj=None, - gncdata=None, - filename=None, - pname=None, - ): - new_package = ModflowGnc( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - explicit=explicit, - numgnc=numgnc, - numalphaj=numalphaj, - gncdata=gncdata, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self.init_package(new_package, filename) - - def append_package( - self, - print_input=None, - print_flows=None, - explicit=None, - numgnc=None, - numalphaj=None, - gncdata=None, - filename=None, - pname=None, - ): - new_package = ModflowGwfgnc( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - explicit=explicit, - numgnc=numgnc, - numalphaj=numalphaj, - gncdata=gncdata, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self._append_package(new_package, filename) diff --git a/flopy/mf6/modflow/mfgwe.py b/flopy/mf6/modflow/mfgwe.py deleted file mode 100644 index b49806347..000000000 --- a/flopy/mf6/modflow/mfgwe.py +++ /dev/null @@ -1,135 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfmodel -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwe(mfmodel.MFModel): - """ - Modflowgwe defines a gwe model - - Parameters - ---------- - modelname : string - name of the model - model_nam_file : string - relative path to the model name file from model working folder - version : string - version of modflow - exe_name : string - model executable name - model_ws : string - model working folder path - sim : MFSimulation - Simulation that this model is a part of. Model is automatically - added to simulation when it is initialized. - list : string - * list (string) is name of the listing file to create for this GWE - model. If not specified, then the name of the list file will be the - basename of the GWE model name file and the ".lst" extension. For - example, if the GWE name file is called "my.model.nam" then the list - file will be called "my.model.lst". - print_input : boolean - * print_input (boolean) keyword to indicate that the list of all model - stress package information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of all model - package flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that all model package flow - terms will be written to the file specified with "BUDGET FILEOUT" in - Output Control. - packages : [ftype, fname, pname] - * ftype (string) is the file type, which must be one of the following - character values shown in table ref{table:ftype-gwe}. Ftype may be - entered in any combination of uppercase and lowercase. - * fname (string) is the name of the file containing the package input. - The path to the file should be included if the file is not located in - the folder where the program was run. - * pname (string) is the user-defined name for the package. PNAME is - restricted to 16 characters. No spaces are allowed in PNAME. PNAME - character values are read and stored by the program for stress - packages only. These names may be useful for labeling purposes when - multiple stress packages of the same type are located within a single - GWE Model. If PNAME is specified for a stress package, then PNAME - will be used in the flow budget table in the listing file; it will - also be used for the text entry in the cell-by-cell budget file. - PNAME is case insensitive and is stored in all upper case letters. - - Methods - ------- - load : (simulation : MFSimulationData, model_name : string, - namfile : string, version : string, exe_name : string, - model_ws : string, strict : boolean) : MFSimulation - a class method that loads a model from files - """ - - model_type = "gwe" - - def __init__( - self, - simulation, - modelname="model", - model_nam_file=None, - version="mf6", - exe_name="mf6", - model_rel_path=".", - list=None, - print_input=None, - print_flows=None, - save_flows=None, - **kwargs, - ): - super().__init__( - simulation, - model_type="gwe6", - modelname=modelname, - model_nam_file=model_nam_file, - version=version, - exe_name=exe_name, - model_rel_path=model_rel_path, - **kwargs, - ) - - self.name_file.list.set_data(list) - self.name_file.print_input.set_data(print_input) - self.name_file.print_flows.set_data(print_flows) - self.name_file.save_flows.set_data(save_flows) - - self.list = self.name_file.list - self.print_input = self.name_file.print_input - self.print_flows = self.name_file.print_flows - self.save_flows = self.name_file.save_flows - - @classmethod - def load( - cls, - simulation, - structure, - modelname="NewModel", - model_nam_file="modflowtest.nam", - version="mf6", - exe_name="mf6", - strict=True, - model_rel_path=".", - load_only=None, - ): - return mfmodel.MFModel.load_base( - cls, - simulation, - structure, - modelname, - model_nam_file, - "gwe6", - version, - exe_name, - strict, - model_rel_path, - load_only, - ) diff --git a/flopy/mf6/modflow/mfgweadv.py b/flopy/mf6/modflow/mfgweadv.py deleted file mode 100644 index bc1f70bb4..000000000 --- a/flopy/mf6/modflow/mfgweadv.py +++ /dev/null @@ -1,67 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage - - -class ModflowGweadv(mfpackage.MFPackage): - """ - ModflowGweadv defines a adv package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - scheme : string - * scheme (string) scheme used to solve the advection term. Can be - upstream, central, or TVD. If not specified, upstream weighting is - the default weighting scheme. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - package_abbr = "gweadv" - _package_type = "adv" - dfn_file_name = "gwe-adv.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name scheme", - "type string", - "valid central upstream tvd", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - scheme=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "adv", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.scheme = self.build_mfdata("scheme", scheme) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwecnd.py b/flopy/mf6/modflow/mfgwecnd.py deleted file mode 100644 index f8954199d..000000000 --- a/flopy/mf6/modflow/mfgwecnd.py +++ /dev/null @@ -1,226 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwecnd(mfpackage.MFPackage): - """ - ModflowGwecnd defines a cnd package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - xt3d_off : boolean - * xt3d_off (boolean) deactivate the xt3d method and use the faster and - less accurate approximation. This option may provide a fast and - accurate solution under some circumstances, such as when flow aligns - with the model grid, there is no mechanical dispersion, or when the - longitudinal and transverse dispersivities are equal. This option may - also be used to assess the computational demand of the XT3D approach - by noting the run time differences with and without this option on. - xt3d_rhs : boolean - * xt3d_rhs (boolean) add xt3d terms to right-hand side, when possible. - This option uses less memory, but may require more iterations. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - alh : [double] - * alh (double) longitudinal dispersivity in horizontal direction. If - flow is strictly horizontal, then this is the longitudinal - dispersivity that will be used. If flow is not strictly horizontal or - strictly vertical, then the longitudinal dispersivity is a function - of both ALH and ALV. If mechanical dispersion is represented (by - specifying any dispersivity values) then this array is required. - alv : [double] - * alv (double) longitudinal dispersivity in vertical direction. If flow - is strictly vertical, then this is the longitudinal dispsersivity - value that will be used. If flow is not strictly horizontal or - strictly vertical, then the longitudinal dispersivity is a function - of both ALH and ALV. If this value is not specified and mechanical - dispersion is represented, then this array is set equal to ALH. - ath1 : [double] - * ath1 (double) transverse dispersivity in horizontal direction. This - is the transverse dispersivity value for the second ellipsoid axis. - If flow is strictly horizontal and directed in the x direction (along - a row for a regular grid), then this value controls spreading in the - y direction. If mechanical dispersion is represented (by specifying - any dispersivity values) then this array is required. - ath2 : [double] - * ath2 (double) transverse dispersivity in horizontal direction. This - is the transverse dispersivity value for the third ellipsoid axis. If - flow is strictly horizontal and directed in the x direction (along a - row for a regular grid), then this value controls spreading in the z - direction. If this value is not specified and mechanical dispersion - is represented, then this array is set equal to ATH1. - atv : [double] - * atv (double) transverse dispersivity when flow is in vertical - direction. If flow is strictly vertical and directed in the z - direction, then this value controls spreading in the x and y - directions. If this value is not specified and mechanical dispersion - is represented, then this array is set equal to ATH2. - ktw : [double] - * ktw (double) thermal conductivity of the simulated fluid. Note that - the CND Package does not account for the tortuosity of the flow paths - when solving for the conductive spread of heat. If tortuosity plays - an important role in the thermal conductivity calculation, its effect - should be reflected in the value specified for KTW. - kts : [double] - * kts (double) thermal conductivity of the aquifer material - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - alh = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "alh")) - alv = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "alv")) - ath1 = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "ath1")) - ath2 = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "ath2")) - atv = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "atv")) - ktw = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "ktw")) - kts = ArrayTemplateGenerator(("gwe6", "cnd", "griddata", "kts")) - package_abbr = "gwecnd" - _package_type = "cnd" - dfn_file_name = "gwe-cnd.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name xt3d_off", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name xt3d_rhs", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block griddata", - "name alh", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name alv", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name ath1", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name ath2", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name atv", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name ktw", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name kts", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - xt3d_off=None, - xt3d_rhs=None, - export_array_ascii=None, - alh=None, - alv=None, - ath1=None, - ath2=None, - atv=None, - ktw=None, - kts=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "cnd", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.xt3d_off = self.build_mfdata("xt3d_off", xt3d_off) - self.xt3d_rhs = self.build_mfdata("xt3d_rhs", xt3d_rhs) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.alh = self.build_mfdata("alh", alh) - self.alv = self.build_mfdata("alv", alv) - self.ath1 = self.build_mfdata("ath1", ath1) - self.ath2 = self.build_mfdata("ath2", ath2) - self.atv = self.build_mfdata("atv", atv) - self.ktw = self.build_mfdata("ktw", ktw) - self.kts = self.build_mfdata("kts", kts) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwectp.py b/flopy/mf6/modflow/mfgwectp.py deleted file mode 100644 index c6193dcad..000000000 --- a/flopy/mf6/modflow/mfgwectp.py +++ /dev/null @@ -1,358 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwectp(mfpackage.MFPackage): - """ - ModflowGwectp defines a ctp package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of temperature value. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of constant temperature cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of constant - temperature information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of constant - temperature flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that constant temperature - flow terms will be written to the file specified with "BUDGET - FILEOUT" in Output Control. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of - constant temperatures cells that will be specified for use during any - stress period. - stress_period_data : [cellid, temp, aux, boundname] - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * temp (double) is the constant temperature value. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * aux (double) represents the values of the auxiliary variables for - each constant temperature. The values of auxiliary variables must be - present for each constant temperature. The values must be specified - in the order of the auxiliary variables specified in the OPTIONS - block. If the package supports time series and the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * boundname (string) name of the constant temperature cell. BOUNDNAME - is an ASCII character variable that can contain as many as 40 - characters. If BOUNDNAME contains spaces in it, then the entire name - must be enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwe6", "ctp", "options", "auxiliary")) - ts_filerecord = ListTemplateGenerator( - ("gwe6", "ctp", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwe6", "ctp", "options", "obs_filerecord") - ) - stress_period_data = ListTemplateGenerator( - ("gwe6", "ctp", "period", "stress_period_data") - ) - package_abbr = "gwectp" - _package_type = "ctp" - dfn_file_name = "gwe-ctp.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid temp aux boundname", - "shape (maxbound)", - "reader urword", - "mf6internal spd", - ], - [ - "block period", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name temp", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - "mf6internal tspvar", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "time_series true", - "mf6internal auxvar", - ], - [ - "block period", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - timeseries=None, - observations=None, - maxbound=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "ctp", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwedis.py b/flopy/mf6/modflow/mfgwedis.py deleted file mode 100644 index c2908e593..000000000 --- a/flopy/mf6/modflow/mfgwedis.py +++ /dev/null @@ -1,253 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwedis(mfpackage.MFPackage): - """ - ModflowGwedis defines a dis package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - length_units : string - * length_units (string) is the length units used for this model. Values - can be "FEET", "METERS", or "CENTIMETERS". If not specified, the - default is "UNKNOWN". - nogrb : boolean - * nogrb (boolean) keyword to deactivate writing of the binary grid - file. - xorigin : double - * xorigin (double) x-position of the lower-left corner of the model - grid. A default value of zero is assigned if not specified. The value - for XORIGIN does not affect the model simulation, but it is written - to the binary grid file so that postprocessors can locate the grid in - space. - yorigin : double - * yorigin (double) y-position of the lower-left corner of the model - grid. If not specified, then a default value equal to zero is used. - The value for YORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - angrot : double - * angrot (double) counter-clockwise rotation angle (in degrees) of the - lower-left corner of the model grid. If not specified, then a default - value of 0.0 is assigned. The value for ANGROT does not affect the - model simulation, but it is written to the binary grid file so that - postprocessors can locate the grid in space. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - nlay : integer - * nlay (integer) is the number of layers in the model grid. - nrow : integer - * nrow (integer) is the number of rows in the model grid. - ncol : integer - * ncol (integer) is the number of columns in the model grid. - delr : [double] - * delr (double) is the column spacing in the row direction. - delc : [double] - * delc (double) is the row spacing in the column direction. - top : [double] - * top (double) is the top elevation for each cell in the top model - layer. - botm : [double] - * botm (double) is the bottom elevation for each cell. - idomain : [integer] - * idomain (integer) is an optional array that characterizes the - existence status of a cell. If the IDOMAIN array is not specified, - then all model cells exist within the solution. If the IDOMAIN value - for a cell is 0, the cell does not exist in the simulation. Input and - output values will be read and written for the cell, but internal to - the program, the cell is excluded from the solution. If the IDOMAIN - value for a cell is 1, the cell exists in the simulation. If the - IDOMAIN value for a cell is -1, the cell does not exist in the - simulation. Furthermore, the first existing cell above will be - connected to the first existing cell below. This type of cell is - referred to as a "vertical pass through" cell. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - delr = ArrayTemplateGenerator(("gwe6", "dis", "griddata", "delr")) - delc = ArrayTemplateGenerator(("gwe6", "dis", "griddata", "delc")) - top = ArrayTemplateGenerator(("gwe6", "dis", "griddata", "top")) - botm = ArrayTemplateGenerator(("gwe6", "dis", "griddata", "botm")) - idomain = ArrayTemplateGenerator(("gwe6", "dis", "griddata", "idomain")) - package_abbr = "gwedis" - _package_type = "dis" - dfn_file_name = "gwe-dis.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name length_units", - "type string", - "reader urword", - "optional true", - ], - [ - "block options", - "name nogrb", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name yorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name angrot", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block dimensions", - "name nlay", - "type integer", - "reader urword", - "optional false", - "default_value 1", - ], - [ - "block dimensions", - "name nrow", - "type integer", - "reader urword", - "optional false", - "default_value 2", - ], - [ - "block dimensions", - "name ncol", - "type integer", - "reader urword", - "optional false", - "default_value 2", - ], - [ - "block griddata", - "name delr", - "type double precision", - "shape (ncol)", - "reader readarray", - "default_value 1.0", - ], - [ - "block griddata", - "name delc", - "type double precision", - "shape (nrow)", - "reader readarray", - "default_value 1.0", - ], - [ - "block griddata", - "name top", - "type double precision", - "shape (ncol, nrow)", - "reader readarray", - "default_value 1.0", - ], - [ - "block griddata", - "name botm", - "type double precision", - "shape (ncol, nrow, nlay)", - "reader readarray", - "layered true", - "default_value 0.", - ], - [ - "block griddata", - "name idomain", - "type integer", - "shape (ncol, nrow, nlay)", - "reader readarray", - "layered true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - length_units=None, - nogrb=None, - xorigin=None, - yorigin=None, - angrot=None, - export_array_ascii=None, - nlay=1, - nrow=2, - ncol=2, - delr=1.0, - delc=1.0, - top=1.0, - botm=0.0, - idomain=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "dis", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.length_units = self.build_mfdata("length_units", length_units) - self.nogrb = self.build_mfdata("nogrb", nogrb) - self.xorigin = self.build_mfdata("xorigin", xorigin) - self.yorigin = self.build_mfdata("yorigin", yorigin) - self.angrot = self.build_mfdata("angrot", angrot) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.nlay = self.build_mfdata("nlay", nlay) - self.nrow = self.build_mfdata("nrow", nrow) - self.ncol = self.build_mfdata("ncol", ncol) - self.delr = self.build_mfdata("delr", delr) - self.delc = self.build_mfdata("delc", delc) - self.top = self.build_mfdata("top", top) - self.botm = self.build_mfdata("botm", botm) - self.idomain = self.build_mfdata("idomain", idomain) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwedisu.py b/flopy/mf6/modflow/mfgwedisu.py deleted file mode 100644 index 2d21804ab..000000000 --- a/flopy/mf6/modflow/mfgwedisu.py +++ /dev/null @@ -1,521 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwedisu(mfpackage.MFPackage): - """ - ModflowGwedisu defines a disu package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - length_units : string - * length_units (string) is the length units used for this model. Values - can be "FEET", "METERS", or "CENTIMETERS". If not specified, the - default is "UNKNOWN". - nogrb : boolean - * nogrb (boolean) keyword to deactivate writing of the binary grid - file. - xorigin : double - * xorigin (double) x-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. A default value of zero is assigned if not specified. The - value for XORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - yorigin : double - * yorigin (double) y-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. If not specified, then a default value equal to zero is used. - The value for YORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - angrot : double - * angrot (double) counter-clockwise rotation angle (in degrees) of the - model grid coordinate system relative to a real-world coordinate - system. If not specified, then a default value of 0.0 is assigned. - The value for ANGROT does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - vertical_offset_tolerance : double - * vertical_offset_tolerance (double) checks are performed to ensure - that the top of a cell is not higher than the bottom of an overlying - cell. This option can be used to specify the tolerance that is used - for checking. If top of a cell is above the bottom of an overlying - cell by a value less than this tolerance, then the program will not - terminate with an error. The default value is zero. This option - should generally not be used. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - nodes : integer - * nodes (integer) is the number of cells in the model grid. - nja : integer - * nja (integer) is the sum of the number of connections and NODES. When - calculating the total number of connections, the connection between - cell n and cell m is considered to be different from the connection - between cell m and cell n. Thus, NJA is equal to the total number of - connections, including n to m and m to n, and the total number of - cells. - nvert : integer - * nvert (integer) is the total number of (x, y) vertex pairs used to - define the plan-view shape of each cell in the model grid. If NVERT - is not specified or is specified as zero, then the VERTICES and - CELL2D blocks below are not read. NVERT and the accompanying VERTICES - and CELL2D blocks should be specified for most simulations. If the - XT3D or SAVE_SPECIFIC_DISCHARGE options are specified in the NPF - Package, then this information is required. - top : [double] - * top (double) is the top elevation for each cell in the model grid. - bot : [double] - * bot (double) is the bottom elevation for each cell. - area : [double] - * area (double) is the cell surface area (in plan view). - idomain : [integer] - * idomain (integer) is an optional array that characterizes the - existence status of a cell. If the IDOMAIN array is not specified, - then all model cells exist within the solution. If the IDOMAIN value - for a cell is 0, the cell does not exist in the simulation. Input and - output values will be read and written for the cell, but internal to - the program, the cell is excluded from the solution. If the IDOMAIN - value for a cell is 1 or greater, the cell exists in the simulation. - IDOMAIN values of -1 cannot be specified for the DISU Package. - iac : [integer] - * iac (integer) is the number of connections (plus 1) for each cell. - The sum of all the entries in IAC must be equal to NJA. - ja : [integer] - * ja (integer) is a list of cell number (n) followed by its connecting - cell numbers (m) for each of the m cells connected to cell n. The - number of values to provide for cell n is IAC(n). This list is - sequentially provided for the first to the last cell. The first value - in the list must be cell n itself, and the remaining cells must be - listed in an increasing order (sorted from lowest number to highest). - Note that the cell and its connections are only supplied for the GWE - cells and their connections to the other GWE cells. Also note that - the JA list input may be divided such that every node and its - connectivity list can be on a separate line for ease in readability - of the file. To further ease readability of the file, the node number - of the cell whose connectivity is subsequently listed, may be - expressed as a negative number, the sign of which is subsequently - converted to positive by the code. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - ihc : [integer] - * ihc (integer) is an index array indicating the direction between node - n and all of its m connections. If IHC = 0 then cell n and cell m are - connected in the vertical direction. Cell n overlies cell m if the - cell number for n is less than m; cell m overlies cell n if the cell - number for m is less than n. If IHC = 1 then cell n and cell m are - connected in the horizontal direction. If IHC = 2 then cell n and - cell m are connected in the horizontal direction, and the connection - is vertically staggered. A vertically staggered connection is one in - which a cell is horizontally connected to more than one cell in a - horizontal connection. - cl12 : [double] - * cl12 (double) is the array containing connection lengths between the - center of cell n and the shared face with each adjacent m cell. - hwva : [double] - * hwva (double) is a symmetric array of size NJA. For horizontal - connections, entries in HWVA are the horizontal width perpendicular - to flow. For vertical connections, entries in HWVA are the vertical - area for flow. Thus, values in the HWVA array contain dimensions of - both length and area. Entries in the HWVA array have a one-to-one - correspondence with the connections specified in the JA array. - Likewise, there is a one-to-one correspondence between entries in the - HWVA array and entries in the IHC array, which specifies the - connection type (horizontal or vertical). Entries in the HWVA array - must be symmetric; the program will terminate with an error if the - value for HWVA for an n to m connection does not equal the value for - HWVA for the corresponding n to m connection. - angldegx : [double] - * angldegx (double) is the angle (in degrees) between the horizontal - x-axis and the outward normal to the face between a cell and its - connecting cells. The angle varies between zero and 360.0 degrees, - where zero degrees points in the positive x-axis direction, and 90 - degrees points in the positive y-axis direction. ANGLDEGX is only - needed if horizontal anisotropy is specified in the NPF Package, if - the XT3D option is used in the NPF Package, or if the - SAVE_SPECIFIC_DISCHARGE option is specified in the NPF Package. - ANGLDEGX does not need to be specified if these conditions are not - met. ANGLDEGX is of size NJA; values specified for vertical - connections and for the diagonal position are not used. Note that - ANGLDEGX is read in degrees, which is different from MODFLOW-USG, - which reads a similar variable (ANGLEX) in radians. - vertices : [iv, xv, yv] - * iv (integer) is the vertex number. Records in the VERTICES block must - be listed in consecutive order from 1 to NVERT. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * xv (double) is the x-coordinate for the vertex. - * yv (double) is the y-coordinate for the vertex. - cell2d : [icell2d, xc, yc, ncvert, icvert] - * icell2d (integer) is the cell2d number. Records in the CELL2D block - must be listed in consecutive order from 1 to NODES. This argument is - an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * xc (double) is the x-coordinate for the cell center. - * yc (double) is the y-coordinate for the cell center. - * ncvert (integer) is the number of vertices required to define the - cell. There may be a different number of vertices for each cell. - * icvert (integer) is an array of integer values containing vertex - numbers (in the VERTICES block) used to define the cell. Vertices - must be listed in clockwise order. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - top = ArrayTemplateGenerator(("gwe6", "disu", "griddata", "top")) - bot = ArrayTemplateGenerator(("gwe6", "disu", "griddata", "bot")) - area = ArrayTemplateGenerator(("gwe6", "disu", "griddata", "area")) - idomain = ArrayTemplateGenerator(("gwe6", "disu", "griddata", "idomain")) - iac = ArrayTemplateGenerator(("gwe6", "disu", "connectiondata", "iac")) - ja = ArrayTemplateGenerator(("gwe6", "disu", "connectiondata", "ja")) - ihc = ArrayTemplateGenerator(("gwe6", "disu", "connectiondata", "ihc")) - cl12 = ArrayTemplateGenerator(("gwe6", "disu", "connectiondata", "cl12")) - hwva = ArrayTemplateGenerator(("gwe6", "disu", "connectiondata", "hwva")) - angldegx = ArrayTemplateGenerator( - ("gwe6", "disu", "connectiondata", "angldegx") - ) - vertices = ListTemplateGenerator(("gwe6", "disu", "vertices", "vertices")) - cell2d = ListTemplateGenerator(("gwe6", "disu", "cell2d", "cell2d")) - package_abbr = "gwedisu" - _package_type = "disu" - dfn_file_name = "gwe-disu.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name length_units", - "type string", - "reader urword", - "optional true", - ], - [ - "block options", - "name nogrb", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name yorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name angrot", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name vertical_offset_tolerance", - "type double precision", - "reader urword", - "optional true", - "default_value 0.0", - "mf6internal voffsettol", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block dimensions", - "name nodes", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name nja", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name nvert", - "type integer", - "reader urword", - "optional true", - ], - [ - "block griddata", - "name top", - "type double precision", - "shape (nodes)", - "reader readarray", - ], - [ - "block griddata", - "name bot", - "type double precision", - "shape (nodes)", - "reader readarray", - ], - [ - "block griddata", - "name area", - "type double precision", - "shape (nodes)", - "reader readarray", - ], - [ - "block griddata", - "name idomain", - "type integer", - "shape (nodes)", - "reader readarray", - "layered false", - "optional true", - ], - [ - "block connectiondata", - "name iac", - "type integer", - "shape (nodes)", - "reader readarray", - ], - [ - "block connectiondata", - "name ja", - "type integer", - "shape (nja)", - "reader readarray", - "numeric_index true", - "jagged_array iac", - ], - [ - "block connectiondata", - "name ihc", - "type integer", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block connectiondata", - "name cl12", - "type double precision", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block connectiondata", - "name hwva", - "type double precision", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block connectiondata", - "name angldegx", - "type double precision", - "optional true", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block vertices", - "name vertices", - "type recarray iv xv yv", - "shape (nvert)", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name iv", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block vertices", - "name xv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name yv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name cell2d", - "type recarray icell2d xc yc ncvert icvert", - "shape (nodes)", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icell2d", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block cell2d", - "name xc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name yc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name ncvert", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icvert", - "type integer", - "shape (ncvert)", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - length_units=None, - nogrb=None, - xorigin=None, - yorigin=None, - angrot=None, - vertical_offset_tolerance=0.0, - export_array_ascii=None, - nodes=None, - nja=None, - nvert=None, - top=None, - bot=None, - area=None, - idomain=None, - iac=None, - ja=None, - ihc=None, - cl12=None, - hwva=None, - angldegx=None, - vertices=None, - cell2d=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "disu", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.length_units = self.build_mfdata("length_units", length_units) - self.nogrb = self.build_mfdata("nogrb", nogrb) - self.xorigin = self.build_mfdata("xorigin", xorigin) - self.yorigin = self.build_mfdata("yorigin", yorigin) - self.angrot = self.build_mfdata("angrot", angrot) - self.vertical_offset_tolerance = self.build_mfdata( - "vertical_offset_tolerance", vertical_offset_tolerance - ) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.nodes = self.build_mfdata("nodes", nodes) - self.nja = self.build_mfdata("nja", nja) - self.nvert = self.build_mfdata("nvert", nvert) - self.top = self.build_mfdata("top", top) - self.bot = self.build_mfdata("bot", bot) - self.area = self.build_mfdata("area", area) - self.idomain = self.build_mfdata("idomain", idomain) - self.iac = self.build_mfdata("iac", iac) - self.ja = self.build_mfdata("ja", ja) - self.ihc = self.build_mfdata("ihc", ihc) - self.cl12 = self.build_mfdata("cl12", cl12) - self.hwva = self.build_mfdata("hwva", hwva) - self.angldegx = self.build_mfdata("angldegx", angldegx) - self.vertices = self.build_mfdata("vertices", vertices) - self.cell2d = self.build_mfdata("cell2d", cell2d) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwedisv.py b/flopy/mf6/modflow/mfgwedisv.py deleted file mode 100644 index 8824727b3..000000000 --- a/flopy/mf6/modflow/mfgwedisv.py +++ /dev/null @@ -1,352 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwedisv(mfpackage.MFPackage): - """ - ModflowGwedisv defines a disv package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - length_units : string - * length_units (string) is the length units used for this model. Values - can be "FEET", "METERS", or "CENTIMETERS". If not specified, the - default is "UNKNOWN". - nogrb : boolean - * nogrb (boolean) keyword to deactivate writing of the binary grid - file. - xorigin : double - * xorigin (double) x-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. A default value of zero is assigned if not specified. The - value for XORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - yorigin : double - * yorigin (double) y-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. If not specified, then a default value equal to zero is used. - The value for YORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - angrot : double - * angrot (double) counter-clockwise rotation angle (in degrees) of the - model grid coordinate system relative to a real-world coordinate - system. If not specified, then a default value of 0.0 is assigned. - The value for ANGROT does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - nlay : integer - * nlay (integer) is the number of layers in the model grid. - ncpl : integer - * ncpl (integer) is the number of cells per layer. This is a constant - value for the grid and it applies to all layers. - nvert : integer - * nvert (integer) is the total number of (x, y) vertex pairs used to - characterize the horizontal configuration of the model grid. - top : [double] - * top (double) is the top elevation for each cell in the top model - layer. - botm : [double] - * botm (double) is the bottom elevation for each cell. - idomain : [integer] - * idomain (integer) is an optional array that characterizes the - existence status of a cell. If the IDOMAIN array is not specified, - then all model cells exist within the solution. If the IDOMAIN value - for a cell is 0, the cell does not exist in the simulation. Input and - output values will be read and written for the cell, but internal to - the program, the cell is excluded from the solution. If the IDOMAIN - value for a cell is 1, the cell exists in the simulation. If the - IDOMAIN value for a cell is -1, the cell does not exist in the - simulation. Furthermore, the first existing cell above will be - connected to the first existing cell below. This type of cell is - referred to as a "vertical pass through" cell. - vertices : [iv, xv, yv] - * iv (integer) is the vertex number. Records in the VERTICES block must - be listed in consecutive order from 1 to NVERT. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * xv (double) is the x-coordinate for the vertex. - * yv (double) is the y-coordinate for the vertex. - cell2d : [icell2d, xc, yc, ncvert, icvert] - * icell2d (integer) is the CELL2D number. Records in the CELL2D block - must be listed in consecutive order from the first to the last. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * xc (double) is the x-coordinate for the cell center. - * yc (double) is the y-coordinate for the cell center. - * ncvert (integer) is the number of vertices required to define the - cell. There may be a different number of vertices for each cell. - * icvert (integer) is an array of integer values containing vertex - numbers (in the VERTICES block) used to define the cell. Vertices - must be listed in clockwise order. Cells that are connected must - share vertices. This argument is an index variable, which means that - it should be treated as zero-based when working with FloPy and - Python. Flopy will automatically subtract one when loading index - variables and add one when writing index variables. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - top = ArrayTemplateGenerator(("gwe6", "disv", "griddata", "top")) - botm = ArrayTemplateGenerator(("gwe6", "disv", "griddata", "botm")) - idomain = ArrayTemplateGenerator(("gwe6", "disv", "griddata", "idomain")) - vertices = ListTemplateGenerator(("gwe6", "disv", "vertices", "vertices")) - cell2d = ListTemplateGenerator(("gwe6", "disv", "cell2d", "cell2d")) - package_abbr = "gwedisv" - _package_type = "disv" - dfn_file_name = "gwe-disv.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name length_units", - "type string", - "reader urword", - "optional true", - ], - [ - "block options", - "name nogrb", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name yorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name angrot", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block dimensions", - "name nlay", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name ncpl", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name nvert", - "type integer", - "reader urword", - "optional false", - ], - [ - "block griddata", - "name top", - "type double precision", - "shape (ncpl)", - "reader readarray", - ], - [ - "block griddata", - "name botm", - "type double precision", - "shape (ncpl, nlay)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name idomain", - "type integer", - "shape (ncpl, nlay)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block vertices", - "name vertices", - "type recarray iv xv yv", - "shape (nvert)", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name iv", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block vertices", - "name xv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name yv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name cell2d", - "type recarray icell2d xc yc ncvert icvert", - "shape (ncpl)", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icell2d", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block cell2d", - "name xc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name yc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name ncvert", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icvert", - "type integer", - "shape (ncvert)", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - length_units=None, - nogrb=None, - xorigin=None, - yorigin=None, - angrot=None, - export_array_ascii=None, - nlay=None, - ncpl=None, - nvert=None, - top=None, - botm=None, - idomain=None, - vertices=None, - cell2d=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "disv", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.length_units = self.build_mfdata("length_units", length_units) - self.nogrb = self.build_mfdata("nogrb", nogrb) - self.xorigin = self.build_mfdata("xorigin", xorigin) - self.yorigin = self.build_mfdata("yorigin", yorigin) - self.angrot = self.build_mfdata("angrot", angrot) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.nlay = self.build_mfdata("nlay", nlay) - self.ncpl = self.build_mfdata("ncpl", ncpl) - self.nvert = self.build_mfdata("nvert", nvert) - self.top = self.build_mfdata("top", top) - self.botm = self.build_mfdata("botm", botm) - self.idomain = self.build_mfdata("idomain", idomain) - self.vertices = self.build_mfdata("vertices", vertices) - self.cell2d = self.build_mfdata("cell2d", cell2d) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgweesl.py b/flopy/mf6/modflow/mfgweesl.py deleted file mode 100644 index 09f650242..000000000 --- a/flopy/mf6/modflow/mfgweesl.py +++ /dev/null @@ -1,353 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGweesl(mfpackage.MFPackage): - """ - ModflowGweesl defines a esl package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of energy loading rate. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of energy source loading cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of energy - source loading information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of energy - source loading flow rates will be printed to the listing file for - every stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that energy source loading - flow terms will be written to the file specified with "BUDGET - FILEOUT" in Output Control. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of - sources cells that will be specified for use during any stress - period. - stress_period_data : [cellid, senerrate, aux, boundname] - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * senerrate (double) is the energy source loading rate. A positive - value indicates addition of energy and a negative value indicates - removal of energy. If the Options block includes a TIMESERIESFILE - entry (see the "Time-Variable Input" section), values can be obtained - from a time series by entering the time-series name in place of a - numeric value. - * aux (double) represents the values of the auxiliary variables for - each energy source. The values of auxiliary variables must be present - for each energy source. The values must be specified in the order of - the auxiliary variables specified in the OPTIONS block. If the - package supports time series and the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), values - can be obtained from a time series by entering the time-series name - in place of a numeric value. - * boundname (string) name of the energy source cell. BOUNDNAME is an - ASCII character variable that can contain as many as 40 characters. - If BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwe6", "esl", "options", "auxiliary")) - ts_filerecord = ListTemplateGenerator( - ("gwe6", "esl", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwe6", "esl", "options", "obs_filerecord") - ) - stress_period_data = ListTemplateGenerator( - ("gwe6", "esl", "period", "stress_period_data") - ) - package_abbr = "gweesl" - _package_type = "esl" - dfn_file_name = "gwe-esl.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid senerrate aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block period", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name senerrate", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "time_series true", - ], - [ - "block period", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - timeseries=None, - observations=None, - maxbound=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "esl", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgweest.py b/flopy/mf6/modflow/mfgweest.py deleted file mode 100644 index 633605027..000000000 --- a/flopy/mf6/modflow/mfgweest.py +++ /dev/null @@ -1,216 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGweest(mfpackage.MFPackage): - """ - ModflowGweest defines a est package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that EST flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - zero_order_decay : boolean - * zero_order_decay (boolean) is a text keyword to indicate that zero- - order decay will occur. Use of this keyword requires that DECAY and - DECAY_SORBED (if sorption is active) are specified in the GRIDDATA - block. - latent_heat_vaporization : boolean - * latent_heat_vaporization (boolean) is a text keyword to indicate that - cooling associated with evaporation will occur. Use of this keyword - requires that LATHEATVAP are specified in the GRIDDATA block. While - the EST package does not simulate evaporation, multiple other - packages in a GWE simulation may. For example, evaporation may occur - from the surface of streams or lakes. Owing to the energy consumed by - the change in phase, the latent heat of vaporization is required. - porosity : [double] - * porosity (double) is the mobile domain porosity, defined as the - mobile domain pore volume per mobile domain volume. The GWE model - does not support the concept of an immobile domain in the context of - heat transport. - decay : [double] - * decay (double) is the rate coefficient for zero-order decay for the - aqueous phase of the mobile domain. A negative value indicates heat - (energy) production. The dimensions of decay for zero-order decay is - energy per length cubed per time. Zero-order decay will have no - effect on simulation results unless zero-order decay is specified in - the options block. - cps : [double] - * cps (double) is the mass-based heat capacity of dry solids (aquifer - material). For example, units of J/kg/C may be used (or equivalent). - rhos : [double] - * rhos (double) is a user-specified value of the density of aquifer - material not considering the voids. Value will remain fixed for the - entire simulation. For example, if working in SI units, values may be - entered as kilograms per cubic meter. - packagedata : [cpw, rhow, latheatvap] - * cpw (double) is the mass-based heat capacity of the simulated fluid. - For example, units of J/kg/C may be used (or equivalent). - * rhow (double) is a user-specified value of the density of water. - Value will remain fixed for the entire simulation. For example, if - working in SI units, values may be entered as kilograms per cubic - meter. - * latheatvap (double) is the user-specified value for the latent heat - of vaporization. For example, if working in SI units, values may be - entered as kJ/kg. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - porosity = ArrayTemplateGenerator(("gwe6", "est", "griddata", "porosity")) - decay = ArrayTemplateGenerator(("gwe6", "est", "griddata", "decay")) - cps = ArrayTemplateGenerator(("gwe6", "est", "griddata", "cps")) - rhos = ArrayTemplateGenerator(("gwe6", "est", "griddata", "rhos")) - packagedata = ListTemplateGenerator( - ("gwe6", "est", "packagedata", "packagedata") - ) - package_abbr = "gweest" - _package_type = "est" - dfn_file_name = "gwe-est.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name zero_order_decay", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name latent_heat_vaporization", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block griddata", - "name porosity", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name decay", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name cps", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name rhos", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block packagedata", - "name packagedata", - "type recarray cpw rhow latheatvap", - "shape", - "reader urword", - ], - [ - "block packagedata", - "name cpw", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rhow", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name latheatvap", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - zero_order_decay=None, - latent_heat_vaporization=None, - porosity=None, - decay=None, - cps=None, - rhos=None, - packagedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "est", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.zero_order_decay = self.build_mfdata( - "zero_order_decay", zero_order_decay - ) - self.latent_heat_vaporization = self.build_mfdata( - "latent_heat_vaporization", latent_heat_vaporization - ) - self.porosity = self.build_mfdata("porosity", porosity) - self.decay = self.build_mfdata("decay", decay) - self.cps = self.build_mfdata("cps", cps) - self.rhos = self.build_mfdata("rhos", rhos) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwefmi.py b/flopy/mf6/modflow/mfgwefmi.py deleted file mode 100644 index bea457970..000000000 --- a/flopy/mf6/modflow/mfgwefmi.py +++ /dev/null @@ -1,137 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwefmi(mfpackage.MFPackage): - """ - ModflowGwefmi defines a fmi package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that FMI flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - flow_imbalance_correction : boolean - * flow_imbalance_correction (boolean) correct for an imbalance in flows - by assuming that any residual flow error comes in or leaves at the - temperature of the cell. When this option is activated, the GWE Model - budget written to the listing file will contain two additional - entries: FLOW-ERROR and FLOW-CORRECTION. These two entries will be - equal but opposite in sign. The FLOW-CORRECTION term is a mass flow - that is added to offset the error caused by an imprecise flow - balance. If these terms are not relatively small, the flow model - should be rerun with stricter convergence tolerances. - packagedata : [flowtype, fname] - * flowtype (string) is the word GWFBUDGET, GWFHEAD, GWFMOVER or the - name of an advanced GWF stress package. If GWFBUDGET is specified, - then the corresponding file must be a budget file from a previous GWF - Model run. If an advanced GWF stress package name appears then the - corresponding file must be the budget file saved by a LAK, SFR, MAW - or UZF Package. - * fname (string) is the name of the file containing flows. The path to - the file should be included if the file is not located in the folder - where the program was run. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - packagedata = ListTemplateGenerator( - ("gwe6", "fmi", "packagedata", "packagedata") - ) - package_abbr = "gwefmi" - _package_type = "fmi" - dfn_file_name = "gwe-fmi.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_imbalance_correction", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block packagedata", - "name packagedata", - "type recarray flowtype filein fname", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name flowtype", - "in_record true", - "type string", - "tagged false", - "reader urword", - ], - [ - "block packagedata", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block packagedata", - "name fname", - "in_record true", - "type string", - "preserve_case true", - "tagged false", - "reader urword", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - flow_imbalance_correction=None, - packagedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "fmi", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.flow_imbalance_correction = self.build_mfdata( - "flow_imbalance_correction", flow_imbalance_correction - ) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwegwe.py b/flopy/mf6/modflow/mfgwegwe.py deleted file mode 100644 index 675a866d0..000000000 --- a/flopy/mf6/modflow/mfgwegwe.py +++ /dev/null @@ -1,493 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwegwe(mfpackage.MFPackage): - """ - ModflowGwegwe defines a gwegwe package. - - Parameters - ---------- - simulation : MFSimulation - Simulation that this package is a part of. Package is automatically - added to simulation when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - exgtype : - * is the exchange type (GWF-GWF or GWF-GWT). - exgmnamea : - * is the name of the first model that is part of this exchange. - exgmnameb : - * is the name of the second model that is part of this exchange. - gwfmodelname1 : string - * gwfmodelname1 (string) keyword to specify name of first corresponding - GWF Model. In the simulation name file, the GWE6-GWE6 entry contains - names for GWE Models (exgmnamea and exgmnameb). The GWE Model with - the name exgmnamea must correspond to the GWF Model with the name - gwfmodelname1. - gwfmodelname2 : string - * gwfmodelname2 (string) keyword to specify name of second - corresponding GWF Model. In the simulation name file, the GWE6-GWE6 - entry contains names for GWE Models (exgmnamea and exgmnameb). The - GWE Model with the name exgmnameb must correspond to the GWF Model - with the name gwfmodelname2. - auxiliary : [string] - * auxiliary (string) an array of auxiliary variable names. There is no - limit on the number of auxiliary variables that can be provided. Most - auxiliary variables will not be used by the GWF-GWF Exchange, but - they will be available for use by other parts of the program. If an - auxiliary variable with the name "ANGLDEGX" is found, then this - information will be used as the angle (provided in degrees) between - the connection face normal and the x axis, where a value of zero - indicates that a normal vector points directly along the positive x - axis. The connection face normal is a normal vector on the cell face - shared between the cell in model 1 and the cell in model 2 pointing - away from the model 1 cell. Additional information on "ANGLDEGX" is - provided in the description of the DISU Package. If an auxiliary - variable with the name "CDIST" is found, then this information will - be used as the straight-line connection distance, including the - vertical component, between the two cell centers. Both ANGLDEGX and - CDIST are required if specific discharge is calculated for either of - the groundwater models. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of GWE Exchange cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of exchange - entries will be echoed to the listing file immediately after it is - read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of exchange - flow rates will be printed to the listing file for every stress - period in which "SAVE BUDGET" is specified in Output Control. - save_flows : boolean - * save_flows (boolean) keyword to indicate that cell-by-cell flow terms - will be written to the budget file for each model provided that the - Output Control for the models are set up with the "BUDGET SAVE FILE" - option. - adv_scheme : string - * adv_scheme (string) scheme used to solve the advection term. Can be - upstream, central, or TVD. If not specified, upstream weighting is - the default weighting scheme. - cnd_xt3d_off : boolean - * cnd_xt3d_off (boolean) deactivate the xt3d method for the dispersive - flux and use the faster and less accurate approximation for this - exchange. - cnd_xt3d_rhs : boolean - * cnd_xt3d_rhs (boolean) add xt3d dispersion terms to right-hand side, - when possible, for this exchange. - filein : boolean - * filein (boolean) keyword to specify that an input filename is - expected next. - perioddata : {varname:data} or perioddata data - * Contains data for the mve package. Data can be stored in a dictionary - containing data for the mve package with variable names as keys and - package data as values. Data just for the perioddata variable is also - acceptable. See mve package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - dev_interfacemodel_on : boolean - * dev_interfacemodel_on (boolean) activates the interface model - mechanism for calculating the coefficients at (and possibly near) the - exchange. This keyword should only be used for development purposes. - nexg : integer - * nexg (integer) keyword and integer value specifying the number of - GWE-GWE exchanges. - exchangedata : [cellidm1, cellidm2, ihc, cl1, cl2, hwva, aux, boundname] - * cellidm1 ((integer, ...)) is the cellid of the cell in model 1 as - specified in the simulation name file. For a structured grid that - uses the DIS input file, CELLIDM1 is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, - CELLIDM1 is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM1 is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * cellidm2 ((integer, ...)) is the cellid of the cell in model 2 as - specified in the simulation name file. For a structured grid that - uses the DIS input file, CELLIDM2 is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, - CELLIDM2 is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM2 is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * ihc (integer) is an integer flag indicating the direction between - node n and all of its m connections. If IHC = 0 then the connection - is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 - then the connection is horizontal for a vertically staggered grid. - * cl1 (double) is the distance between the center of cell 1 and the its - shared face with cell 2. - * cl2 (double) is the distance between the center of cell 2 and the its - shared face with cell 1. - * hwva (double) is the horizontal width of the flow connection between - cell 1 and cell 2 if IHC > 0, or it is the area perpendicular to flow - of the vertical connection between cell 1 and cell 2 if IHC = 0. - * aux (double) represents the values of the auxiliary variables for - each GWEGWE Exchange. The values of auxiliary variables must be - present for each exchange. The values must be specified in the order - of the auxiliary variables specified in the OPTIONS block. - * boundname (string) name of the GWE Exchange cell. BOUNDNAME is an - ASCII character variable that can contain as many as 40 characters. - If BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwegwe", "options", "auxiliary")) - mve_filerecord = ListTemplateGenerator( - ("gwegwe", "options", "mve_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwegwe", "options", "obs_filerecord") - ) - exchangedata = ListTemplateGenerator( - ("gwegwe", "exchangedata", "exchangedata") - ) - package_abbr = "gwegwe" - _package_type = "gwegwe" - dfn_file_name = "exg-gwegwe.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name gwfmodelname1", - "type string", - "reader urword", - "optional false", - ], - [ - "block options", - "name gwfmodelname2", - "type string", - "reader urword", - "optional false", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name adv_scheme", - "type string", - "valid upstream central tvd", - "reader urword", - "optional true", - ], - [ - "block options", - "name cnd_xt3d_off", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name cnd_xt3d_rhs", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name mve_filerecord", - "type record mve6 filein mve6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package mve", - "construct_data perioddata", - "parameter_name perioddata", - ], - [ - "block options", - "name mve6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name mve6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name dev_interfacemodel_on", - "type keyword", - "reader urword", - "optional true", - "mf6internal dev_ifmod_on", - ], - [ - "block dimensions", - "name nexg", - "type integer", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name exchangedata", - "type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname", - "shape (nexg)", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cellidm1", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block exchangedata", - "name cellidm2", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block exchangedata", - "name ihc", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cl1", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cl2", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name hwva", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "mf6internal auxvar", - ], - [ - "block exchangedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - exgtype="GWE6-GWE6", - exgmnamea=None, - exgmnameb=None, - gwfmodelname1=None, - gwfmodelname2=None, - auxiliary=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - adv_scheme=None, - cnd_xt3d_off=None, - cnd_xt3d_rhs=None, - filein=None, - perioddata=None, - observations=None, - dev_interfacemodel_on=None, - nexg=None, - exchangedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "gwegwe", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.exgtype = exgtype - - self.exgmnamea = exgmnamea - - self.exgmnameb = exgmnameb - - simulation.register_exchange_file(self) - - self.gwfmodelname1 = self.build_mfdata("gwfmodelname1", gwfmodelname1) - self.gwfmodelname2 = self.build_mfdata("gwfmodelname2", gwfmodelname2) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.adv_scheme = self.build_mfdata("adv_scheme", adv_scheme) - self.cnd_xt3d_off = self.build_mfdata("cnd_xt3d_off", cnd_xt3d_off) - self.cnd_xt3d_rhs = self.build_mfdata("cnd_xt3d_rhs", cnd_xt3d_rhs) - self.filein = self.build_mfdata("filein", filein) - self._mve_filerecord = self.build_mfdata("mve_filerecord", None) - self._mve_package = self.build_child_package( - "mve", perioddata, "perioddata", self._mve_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.dev_interfacemodel_on = self.build_mfdata( - "dev_interfacemodel_on", dev_interfacemodel_on - ) - self.nexg = self.build_mfdata("nexg", nexg) - self.exchangedata = self.build_mfdata("exchangedata", exchangedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgweic.py b/flopy/mf6/modflow/mfgweic.py deleted file mode 100644 index 24fcfd4cb..000000000 --- a/flopy/mf6/modflow/mfgweic.py +++ /dev/null @@ -1,86 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGweic(mfpackage.MFPackage): - """ - ModflowGweic defines a ic package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - strt : [double] - * strt (double) is the initial (starting) temperature---that is, the - temperature at the beginning of the GWE Model simulation. STRT must - be specified for all GWE Model simulations. One value is read for - every model cell. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - strt = ArrayTemplateGenerator(("gwe6", "ic", "griddata", "strt")) - package_abbr = "gweic" - _package_type = "ic" - dfn_file_name = "gwe-ic.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block griddata", - "name strt", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "default_value 0.0", - ], - ] - - def __init__( - self, - model, - loading_package=False, - export_array_ascii=None, - strt=0.0, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "ic", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.strt = self.build_mfdata("strt", strt) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwelke.py b/flopy/mf6/modflow/mfgwelke.py deleted file mode 100644 index b0b96d659..000000000 --- a/flopy/mf6/modflow/mfgwelke.py +++ /dev/null @@ -1,734 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwelke(mfpackage.MFPackage): - """ - ModflowGwelke defines a lke package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - flow_package_name : string - * flow_package_name (string) keyword to specify the name of the - corresponding flow package. If not specified, then the corresponding - flow package must have the same name as this advanced transport - package (the name associated with this package in the GWE name file). - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - flow_package_auxiliary_name : string - * flow_package_auxiliary_name (string) keyword to specify the name of - an auxiliary variable in the corresponding flow package. If - specified, then the simulated temperatures from this advanced - transport package will be copied into the auxiliary variable - specified with this name. Note that the flow package must have an - auxiliary variable with this name or the program will terminate with - an error. If the flows for this advanced transport package are read - from a file, then this option will have no effect. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of lake cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of lake - information will be written to the listing file immediately after it - is read. - print_temperature : boolean - * print_temperature (boolean) keyword to indicate that the list of lake - temperature will be printed to the listing file for every stress - period in which "TEMPERATURE PRINT" is specified in Output Control. - If there is no Output Control option and PRINT_TEMPERATURE is - specified, then temperature are printed for the last time step of - each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of lake flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that lake flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - temperature_filerecord : [tempfile] - * tempfile (string) name of the binary output file to write temperature - information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - packagedata : [lakeno, strt, ktf, rbthcnd, aux, boundname] - * lakeno (integer) integer value that defines the lake number - associated with the specified PACKAGEDATA data on the line. LAKENO - must be greater than zero and less than or equal to NLAKES. Lake - information must be specified for every lake or the program will - terminate with an error. The program will also terminate with an - error if information for a lake is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * strt (double) real value that defines the starting temperature for - the lake. - * ktf (double) is the thermal conductivity of the of the interface - between the aquifer cell and the lake. - * rbthcnd (double) real value that defines the thickness of the lakebed - material through which conduction occurs. Must be greater than 0. - * aux (double) represents the values of the auxiliary variables for - each lake. The values of auxiliary variables must be present for each - lake. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * boundname (string) name of the lake cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - lakeperioddata : [lakeno, laksetting] - * lakeno (integer) integer value that defines the lake number - associated with the specified PERIOD data on the line. LAKENO must be - greater than zero and less than or equal to NLAKES. This argument is - an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * laksetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - LAKSETTING string include: STATUS, TEMPERATURE, RAINFALL, - EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign - the temperature associated with the corresponding flow terms. - Temperatures cannot be specified for all flow terms. For example, the - Lake Package supports a "WITHDRAWAL" flow term. If this withdrawal - term is active, then water will be withdrawn from the lake at the - calculated temperature of the lake. - status : [string] - * status (string) keyword option to define lake status. STATUS - can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is - ACTIVE, which means that temperature will be calculated for - the lake. If a lake is inactive, then there will be no solute - mass fluxes into or out of the lake and the inactive value - will be written for the lake temperature. If a lake is - constant, then the temperature for the lake will be fixed at - the user specified value. - temperature : [string] - * temperature (string) real or character value that defines the - temperature for the lake. The specified TEMPERATURE is only - applied if the lake is a constant temperature lake. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - rainfall : [string] - * rainfall (string) real or character value that defines the - rainfall temperature for the lake. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - evaporation : [string] - * evaporation (string) real or character value that defines the - temperature of evaporated water :math:`(^{\\circ}C)` for the - reach. If this temperature value is larger than the simulated - temperature in the reach, then the evaporated water will be - removed at the same temperature as the reach. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - runoff : [string] - * runoff (string) real or character value that defines the - temperature of runoff for the lake. Value must be greater - than or equal to zero. If the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), - values can be obtained from a time series by entering the - time-series name in place of a numeric value. - ext_inflow : [string] - * ext-inflow (string) real or character value that defines the - temperature of external inflow for the lake. Value must be - greater than or equal to zero. If the Options block includes - a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwe6", "lke", "options", "auxiliary")) - temperature_filerecord = ListTemplateGenerator( - ("gwe6", "lke", "options", "temperature_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwe6", "lke", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwe6", "lke", "options", "budgetcsv_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwe6", "lke", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwe6", "lke", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwe6", "lke", "packagedata", "packagedata") - ) - lakeperioddata = ListTemplateGenerator( - ("gwe6", "lke", "period", "lakeperioddata") - ) - package_abbr = "gwelke" - _package_type = "lke" - dfn_file_name = "gwe-lke.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name flow_package_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_package_auxiliary_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_temperature", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name temperature_filerecord", - "type record temperature fileout tempfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name temperature", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name tempfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray lakeno strt ktf rbthcnd aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block packagedata", - "name lakeno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name strt", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name ktf", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rbthcnd", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name lakeperioddata", - "type recarray lakeno laksetting", - "shape", - "reader urword", - ], - [ - "block period", - "name lakeno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name laksetting", - "type keystring status temperature rainfall evaporation runoff " - "ext-inflow auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name temperature", - "type string", - "shape", - "tagged true", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name rainfall", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name evaporation", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name runoff", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name ext-inflow", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - flow_package_name=None, - auxiliary=None, - flow_package_auxiliary_name=None, - boundnames=None, - print_input=None, - print_temperature=None, - print_flows=None, - save_flows=None, - temperature_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - timeseries=None, - observations=None, - packagedata=None, - lakeperioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "lke", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.flow_package_name = self.build_mfdata( - "flow_package_name", flow_package_name - ) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.flow_package_auxiliary_name = self.build_mfdata( - "flow_package_auxiliary_name", flow_package_auxiliary_name - ) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_temperature = self.build_mfdata( - "print_temperature", print_temperature - ) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.temperature_filerecord = self.build_mfdata( - "temperature_filerecord", temperature_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.lakeperioddata = self.build_mfdata( - "lakeperioddata", lakeperioddata - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwemve.py b/flopy/mf6/modflow/mfgwemve.py deleted file mode 100644 index 744439c1e..000000000 --- a/flopy/mf6/modflow/mfgwemve.py +++ /dev/null @@ -1,256 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwemve(mfpackage.MFPackage): - """ - ModflowGwemve defines a mve package within a gwe6 model. - - Parameters - ---------- - parent_model_or_package : MFModel/MFPackage - Parent_model_or_package that this package is a part of. Package is automatically - added to parent_model_or_package when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of mover - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of lake flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that lake flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwe6", "mve", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwe6", "mve", "options", "budgetcsv_filerecord") - ) - package_abbr = "gwemve" - _package_type = "mve" - dfn_file_name = "gwe-mve.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - ] - - def __init__( - self, - parent_model_or_package, - loading_package=False, - print_input=None, - print_flows=None, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - parent_model_or_package, - "mve", - filename, - pname, - loading_package, - **kwargs, - ) - - # set up variables - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self._init_complete = True - - -class GwemvePackages(mfpackage.MFChildPackages): - """ - GwemvePackages is a container class for the ModflowGwemve class. - - Methods - ------- - initialize - Initializes a new ModflowGwemve package removing any sibling child - packages attached to the same parent package. See ModflowGwemve init - documentation for definition of parameters. - append_package - Adds a new ModflowGwemve package to the container. See ModflowGwemve - init documentation for definition of parameters. - """ - - package_abbr = "gwemvepackages" - - def initialize( - self, - print_input=None, - print_flows=None, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - filename=None, - pname=None, - ): - new_package = ModflowGwemve( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - save_flows=save_flows, - budget_filerecord=budget_filerecord, - budgetcsv_filerecord=budgetcsv_filerecord, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self.init_package(new_package, filename) - - def append_package( - self, - print_input=None, - print_flows=None, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - filename=None, - pname=None, - ): - new_package = ModflowGwemve( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - save_flows=save_flows, - budget_filerecord=budget_filerecord, - budgetcsv_filerecord=budgetcsv_filerecord, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self._append_package(new_package, filename) diff --git a/flopy/mf6/modflow/mfgwemwe.py b/flopy/mf6/modflow/mfgwemwe.py deleted file mode 100644 index e38b85064..000000000 --- a/flopy/mf6/modflow/mfgwemwe.py +++ /dev/null @@ -1,679 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwemwe(mfpackage.MFPackage): - """ - ModflowGwemwe defines a mwe package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - flow_package_name : string - * flow_package_name (string) keyword to specify the name of the - corresponding flow package. If not specified, then the corresponding - flow package must have the same name as this advanced transport - package (the name associated with this package in the GWE name file). - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - flow_package_auxiliary_name : string - * flow_package_auxiliary_name (string) keyword to specify the name of - an auxiliary variable in the corresponding flow package. If - specified, then the simulated temperatures from this advanced - transport package will be copied into the auxiliary variable - specified with this name. Note that the flow package must have an - auxiliary variable with this name or the program will terminate with - an error. If the flows for this advanced transport package are read - from a file, then this option will have no effect. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of well cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of well - information will be written to the listing file immediately after it - is read. - print_temperature : boolean - * print_temperature (boolean) keyword to indicate that the list of well - temperature will be printed to the listing file for every stress - period in which "TEMPERATURE PRINT" is specified in Output Control. - If there is no Output Control option and PRINT_TEMPERATURE is - specified, then temperature are printed for the last time step of - each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of well flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that well flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - temperature_filerecord : [tempfile] - * tempfile (string) name of the binary output file to write temperature - information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - packagedata : [mawno, strt, ktf, fthk, aux, boundname] - * mawno (integer) integer value that defines the well number associated - with the specified PACKAGEDATA data on the line. MAWNO must be - greater than zero and less than or equal to NMAWWELLS. Well - information must be specified for every well or the program will - terminate with an error. The program will also terminate with an - error if information for a well is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * strt (double) real value that defines the starting temperature for - the well. - * ktf (double) is the thermal conductivity of the of the interface - between the aquifer cell and the feature. - * fthk (double) real value that defines the thickness of the material - through which conduction occurs. Must be greater than 0. - * aux (double) represents the values of the auxiliary variables for - each well. The values of auxiliary variables must be present for each - well. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * boundname (string) name of the well cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - mweperioddata : [mawno, mwesetting] - * mawno (integer) integer value that defines the well number associated - with the specified PERIOD data on the line. MAWNO must be greater - than zero and less than or equal to NMAWWELLS. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * mwesetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - MWESETTING string include: STATUS, TEMPERATURE, RAINFALL, - EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign - the temperature of associated with the corresponding flow terms. - Temperatures cannot be specified for all flow terms. For example, the - Multi-Aquifer Well Package supports a "WITHDRAWAL" flow term. If this - withdrawal term is active, then water will be withdrawn from the well - at the calculated temperature of the well. - status : [string] - * status (string) keyword option to define well status. STATUS - can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is - ACTIVE, which means that temperature will be calculated for - the well. If a well is inactive, then there will be no solute - mass fluxes into or out of the well and the inactive value - will be written for the well temperature. If a well is - constant, then the temperature for the well will be fixed at - the user specified value. - temperature : [string] - * temperature (string) real or character value that defines the - temperature for the well. The specified TEMPERATURE is only - applied if the well is a constant temperature well. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - rate : [string] - * rate (string) real or character value that defines the - injection solute temperature :math:`^{\\circ}C` for the well. - If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwe6", "mwe", "options", "auxiliary")) - temperature_filerecord = ListTemplateGenerator( - ("gwe6", "mwe", "options", "temperature_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwe6", "mwe", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwe6", "mwe", "options", "budgetcsv_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwe6", "mwe", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwe6", "mwe", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwe6", "mwe", "packagedata", "packagedata") - ) - mweperioddata = ListTemplateGenerator( - ("gwe6", "mwe", "period", "mweperioddata") - ) - package_abbr = "gwemwe" - _package_type = "mwe" - dfn_file_name = "gwe-mwe.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name flow_package_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_package_auxiliary_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_temperature", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name temperature_filerecord", - "type record temperature fileout tempfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name temperature", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name tempfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray mawno strt ktf fthk aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block packagedata", - "name mawno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name strt", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name ktf", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name fthk", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name mweperioddata", - "type recarray mawno mwesetting", - "shape", - "reader urword", - ], - [ - "block period", - "name mawno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name mwesetting", - "type keystring status temperature rate auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name temperature", - "type string", - "shape", - "tagged true", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name rate", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - flow_package_name=None, - auxiliary=None, - flow_package_auxiliary_name=None, - boundnames=None, - print_input=None, - print_temperature=None, - print_flows=None, - save_flows=None, - temperature_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - timeseries=None, - observations=None, - packagedata=None, - mweperioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "mwe", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.flow_package_name = self.build_mfdata( - "flow_package_name", flow_package_name - ) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.flow_package_auxiliary_name = self.build_mfdata( - "flow_package_auxiliary_name", flow_package_auxiliary_name - ) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_temperature = self.build_mfdata( - "print_temperature", print_temperature - ) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.temperature_filerecord = self.build_mfdata( - "temperature_filerecord", temperature_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.mweperioddata = self.build_mfdata("mweperioddata", mweperioddata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwenam.py b/flopy/mf6/modflow/mfgwenam.py deleted file mode 100644 index a012c6d9c..000000000 --- a/flopy/mf6/modflow/mfgwenam.py +++ /dev/null @@ -1,164 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwenam(mfpackage.MFPackage): - """ - ModflowGwenam defines a nam package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - list : string - * list (string) is name of the listing file to create for this GWE - model. If not specified, then the name of the list file will be the - basename of the GWE model name file and the ".lst" extension. For - example, if the GWE name file is called "my.model.nam" then the list - file will be called "my.model.lst". - print_input : boolean - * print_input (boolean) keyword to indicate that the list of all model - stress package information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of all model - package flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that all model package flow - terms will be written to the file specified with "BUDGET FILEOUT" in - Output Control. - packages : [ftype, fname, pname] - * ftype (string) is the file type, which must be one of the following - character values shown in table ref{table:ftype-gwe}. Ftype may be - entered in any combination of uppercase and lowercase. - * fname (string) is the name of the file containing the package input. - The path to the file should be included if the file is not located in - the folder where the program was run. - * pname (string) is the user-defined name for the package. PNAME is - restricted to 16 characters. No spaces are allowed in PNAME. PNAME - character values are read and stored by the program for stress - packages only. These names may be useful for labeling purposes when - multiple stress packages of the same type are located within a single - GWE Model. If PNAME is specified for a stress package, then PNAME - will be used in the flow budget table in the listing file; it will - also be used for the text entry in the cell-by-cell budget file. - PNAME is case insensitive and is stored in all upper case letters. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - packages = ListTemplateGenerator(("gwe6", "nam", "packages", "packages")) - package_abbr = "gwenam" - _package_type = "nam" - dfn_file_name = "gwe-nam.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name list", - "type string", - "reader urword", - "optional true", - "preserve_case true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block packages", - "name packages", - "type recarray ftype fname pname", - "reader urword", - "optional false", - ], - [ - "block packages", - "name ftype", - "in_record true", - "type string", - "tagged false", - "reader urword", - ], - [ - "block packages", - "name fname", - "in_record true", - "type string", - "preserve_case true", - "tagged false", - "reader urword", - ], - [ - "block packages", - "name pname", - "in_record true", - "type string", - "tagged false", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - list=None, - print_input=None, - print_flows=None, - save_flows=None, - packages=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "nam", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.list = self.build_mfdata("list", list) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.packages = self.build_mfdata("packages", packages) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgweoc.py b/flopy/mf6/modflow/mfgweoc.py deleted file mode 100644 index f188f4b29..000000000 --- a/flopy/mf6/modflow/mfgweoc.py +++ /dev/null @@ -1,433 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGweoc(mfpackage.MFPackage): - """ - ModflowGweoc defines a oc package within a gwe6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - temperature_filerecord : [temperaturefile] - * temperaturefile (string) name of the output file to write temperature - information. - temperatureprintrecord : [columns, width, digits, format] - * columns (integer) number of columns for writing data. - * width (integer) width for writing each number. - * digits (integer) number of digits to use for writing a number. - * format (string) write format can be EXPONENTIAL, FIXED, GENERAL, or - SCIENTIFIC. - saverecord : [rtype, ocsetting] - * rtype (string) type of information to save or print. Can be BUDGET or - TEMPERATURE. - * ocsetting (keystring) specifies the steps for which the data will be - saved. - all : [keyword] - * all (keyword) keyword to indicate save for all time steps in - period. - first : [keyword] - * first (keyword) keyword to indicate save for first step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - last : [keyword] - * last (keyword) keyword to indicate save for last step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - frequency : [integer] - * frequency (integer) save at the specified time step - frequency. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - steps : [integer] - * steps (integer) save for each step specified in STEPS. This - keyword may be used in conjunction with other keywords to - print or save results for multiple time steps. - printrecord : [rtype, ocsetting] - * rtype (string) type of information to save or print. Can be BUDGET or - TEMPERATURE. - * ocsetting (keystring) specifies the steps for which the data will be - saved. - all : [keyword] - * all (keyword) keyword to indicate save for all time steps in - period. - first : [keyword] - * first (keyword) keyword to indicate save for first step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - last : [keyword] - * last (keyword) keyword to indicate save for last step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - frequency : [integer] - * frequency (integer) save at the specified time step - frequency. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - steps : [integer] - * steps (integer) save for each step specified in STEPS. This - keyword may be used in conjunction with other keywords to - print or save results for multiple time steps. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwe6", "oc", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwe6", "oc", "options", "budgetcsv_filerecord") - ) - temperature_filerecord = ListTemplateGenerator( - ("gwe6", "oc", "options", "temperature_filerecord") - ) - temperatureprintrecord = ListTemplateGenerator( - ("gwe6", "oc", "options", "temperatureprintrecord") - ) - saverecord = ListTemplateGenerator(("gwe6", "oc", "period", "saverecord")) - printrecord = ListTemplateGenerator( - ("gwe6", "oc", "period", "printrecord") - ) - package_abbr = "gweoc" - _package_type = "oc" - dfn_file_name = "gwe-oc.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name temperature_filerecord", - "type record temperature fileout temperaturefile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name temperature", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name temperaturefile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name temperatureprintrecord", - "type record temperature print_format formatrecord", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_format", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name formatrecord", - "type record columns width digits format", - "shape", - "in_record true", - "reader urword", - "tagged", - "optional false", - ], - [ - "block options", - "name columns", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name width", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name digits", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name format", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name saverecord", - "type record save rtype ocsetting", - "shape", - "reader urword", - "tagged false", - "optional true", - ], - [ - "block period", - "name save", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name printrecord", - "type record print rtype ocsetting", - "shape", - "reader urword", - "tagged false", - "optional true", - ], - [ - "block period", - "name print", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name rtype", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block period", - "name ocsetting", - "type keystring all first last frequency steps", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name all", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name first", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name last", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name frequency", - "type integer", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name steps", - "type integer", - "shape ( - * is the exchange type (GWF-GWF or GWF-GWT). - exgmnamea : - * is the name of the first model that is part of this exchange. - exgmnameb : - * is the name of the second model that is part of this exchange. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - package_abbr = "gwfgwe" - _package_type = "gwfgwe" - dfn_file_name = "exg-gwfgwe.dfn" - - dfn = [ - [ - "header", - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - exgtype="GWF6-GWE6", - exgmnamea=None, - exgmnameb=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "gwfgwe", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.exgtype = exgtype - - self.exgmnamea = exgmnamea - - self.exgmnameb = exgmnameb - - simulation.register_exchange_file(self) - - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfgwf.py b/flopy/mf6/modflow/mfgwfgwf.py deleted file mode 100644 index f3cc9d867..000000000 --- a/flopy/mf6/modflow/mfgwfgwf.py +++ /dev/null @@ -1,540 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfgwf(mfpackage.MFPackage): - """ - ModflowGwfgwf defines a gwfgwf package. - - Parameters - ---------- - simulation : MFSimulation - Simulation that this package is a part of. Package is automatically - added to simulation when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - exgtype : - * is the exchange type (GWF-GWF or GWF-GWT). - exgmnamea : - * is the name of the first model that is part of this exchange. - exgmnameb : - * is the name of the second model that is part of this exchange. - auxiliary : [string] - * auxiliary (string) an array of auxiliary variable names. There is no - limit on the number of auxiliary variables that can be provided. Most - auxiliary variables will not be used by the GWF-GWF Exchange, but - they will be available for use by other parts of the program. If an - auxiliary variable with the name "ANGLDEGX" is found, then this - information will be used as the angle (provided in degrees) between - the connection face normal and the x axis, where a value of zero - indicates that a normal vector points directly along the positive x - axis. The connection face normal is a normal vector on the cell face - shared between the cell in model 1 and the cell in model 2 pointing - away from the model 1 cell. Additional information on "ANGLDEGX" and - when it is required is provided in the description of the DISU - Package. If an auxiliary variable with the name "CDIST" is found, - then this information will be used in the calculation of specific - discharge within model cells connected by the exchange. For a - horizontal connection, CDIST should be specified as the horizontal - distance between the cell centers, and should not include the - vertical component. For vertical connections, CDIST should be - specified as the difference in elevation between the two cell - centers. Both ANGLDEGX and CDIST are required if specific discharge - is calculated for either of the groundwater models. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of GWF Exchange cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of exchange - entries will be echoed to the listing file immediately after it is - read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of exchange - flow rates will be printed to the listing file for every stress - period in which "SAVE BUDGET" is specified in Output Control. - save_flows : boolean - * save_flows (boolean) keyword to indicate that cell-by-cell flow terms - will be written to the budget file for each model provided that the - Output Control for the models are set up with the "BUDGET SAVE FILE" - option. - cell_averaging : string - * cell_averaging (string) is a keyword and text keyword to indicate the - method that will be used for calculating the conductance for - horizontal cell connections. The text value for CELL_AVERAGING can be - "HARMONIC", "LOGARITHMIC", or "AMT-LMK", which means "arithmetic-mean - thickness and logarithmic-mean hydraulic conductivity". If the user - does not specify a value for CELL_AVERAGING, then the harmonic-mean - method will be used. - cvoptions : [dewatered] - * dewatered (string) If the DEWATERED keyword is specified, then the - vertical conductance is calculated using only the saturated thickness - and properties of the overlying cell if the head in the underlying - cell is below its top. - newton : boolean - * newton (boolean) keyword that activates the Newton-Raphson - formulation for groundwater flow between connected, convertible - groundwater cells. Cells will not dry when this option is used. - xt3d : boolean - * xt3d (boolean) keyword that activates the XT3D formulation between - the cells connected with this GWF-GWF Exchange. - gncdata : {varname:data} or gncdata data - * Contains data for the gnc package. Data can be stored in a dictionary - containing data for the gnc package with variable names as keys and - package data as values. Data just for the gncdata variable is also - acceptable. See gnc package documentation for more information. - perioddata : {varname:data} or perioddata data - * Contains data for the mvr package. Data can be stored in a dictionary - containing data for the mvr package with variable names as keys and - package data as values. Data just for the perioddata variable is also - acceptable. See mvr package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - dev_interfacemodel_on : boolean - * dev_interfacemodel_on (boolean) activates the interface model - mechanism for calculating the coefficients at (and possibly near) the - exchange. This keyword should only be used for development purposes. - nexg : integer - * nexg (integer) keyword and integer value specifying the number of - GWF-GWF exchanges. - exchangedata : [cellidm1, cellidm2, ihc, cl1, cl2, hwva, aux, boundname] - * cellidm1 ((integer, ...)) is the cellid of the cell in model 1 as - specified in the simulation name file. For a structured grid that - uses the DIS input file, CELLIDM1 is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, - CELLIDM1 is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM1 is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * cellidm2 ((integer, ...)) is the cellid of the cell in model 2 as - specified in the simulation name file. For a structured grid that - uses the DIS input file, CELLIDM2 is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, - CELLIDM2 is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM2 is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * ihc (integer) is an integer flag indicating the direction between - node n and all of its m connections. If IHC = 0 then the connection - is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 - then the connection is horizontal for a vertically staggered grid. - * cl1 (double) is the distance between the center of cell 1 and the its - shared face with cell 2. - * cl2 (double) is the distance between the center of cell 2 and the its - shared face with cell 1. - * hwva (double) is the horizontal width of the flow connection between - cell 1 and cell 2 if IHC > 0, or it is the area perpendicular to flow - of the vertical connection between cell 1 and cell 2 if IHC = 0. - * aux (double) represents the values of the auxiliary variables for - each GWFGWF Exchange. The values of auxiliary variables must be - present for each exchange. The values must be specified in the order - of the auxiliary variables specified in the OPTIONS block. - * boundname (string) name of the GWF Exchange cell. BOUNDNAME is an - ASCII character variable that can contain as many as 40 characters. - If BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwfgwf", "options", "auxiliary")) - gnc_filerecord = ListTemplateGenerator( - ("gwfgwf", "options", "gnc_filerecord") - ) - mvr_filerecord = ListTemplateGenerator( - ("gwfgwf", "options", "mvr_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwfgwf", "options", "obs_filerecord") - ) - exchangedata = ListTemplateGenerator( - ("gwfgwf", "exchangedata", "exchangedata") - ) - package_abbr = "gwfgwf" - _package_type = "gwfgwf" - dfn_file_name = "exg-gwfgwf.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name cell_averaging", - "type string", - "valid harmonic logarithmic amt-lmk", - "reader urword", - "optional true", - ], - [ - "block options", - "name cvoptions", - "type record variablecv dewatered", - "reader urword", - "optional true", - ], - [ - "block options", - "name variablecv", - "in_record true", - "type keyword", - "reader urword", - ], - [ - "block options", - "name dewatered", - "in_record true", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name newton", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xt3d", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name gnc_filerecord", - "type record gnc6 filein gnc6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package gnc", - "construct_data gncdata", - "parameter_name gncdata", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name gnc6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name gnc6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mvr_filerecord", - "type record mvr6 filein mvr6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package mvr", - "construct_data perioddata", - "parameter_name perioddata", - ], - [ - "block options", - "name mvr6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name mvr6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name dev_interfacemodel_on", - "type keyword", - "reader urword", - "optional true", - "mf6internal dev_ifmod_on", - ], - [ - "block dimensions", - "name nexg", - "type integer", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name exchangedata", - "type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname", - "shape (nexg)", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cellidm1", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block exchangedata", - "name cellidm2", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block exchangedata", - "name ihc", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cl1", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cl2", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name hwva", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "mf6internal auxvar", - ], - [ - "block exchangedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - exgtype="GWF6-GWF6", - exgmnamea=None, - exgmnameb=None, - auxiliary=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - cell_averaging=None, - cvoptions=None, - newton=None, - xt3d=None, - gncdata=None, - perioddata=None, - observations=None, - dev_interfacemodel_on=None, - nexg=None, - exchangedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "gwfgwf", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.exgtype = exgtype - - self.exgmnamea = exgmnamea - - self.exgmnameb = exgmnameb - - simulation.register_exchange_file(self) - - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.cell_averaging = self.build_mfdata( - "cell_averaging", cell_averaging - ) - self.cvoptions = self.build_mfdata("cvoptions", cvoptions) - self.newton = self.build_mfdata("newton", newton) - self.xt3d = self.build_mfdata("xt3d", xt3d) - self._gnc_filerecord = self.build_mfdata("gnc_filerecord", None) - self._gnc_package = self.build_child_package( - "gnc", gncdata, "gncdata", self._gnc_filerecord - ) - self._mvr_filerecord = self.build_mfdata("mvr_filerecord", None) - self._mvr_package = self.build_child_package( - "mvr", perioddata, "perioddata", self._mvr_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.dev_interfacemodel_on = self.build_mfdata( - "dev_interfacemodel_on", dev_interfacemodel_on - ) - self.nexg = self.build_mfdata("nexg", nexg) - self.exchangedata = self.build_mfdata("exchangedata", exchangedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfgwt.py b/flopy/mf6/modflow/mfgwfgwt.py deleted file mode 100644 index 0ae8b9735..000000000 --- a/flopy/mf6/modflow/mfgwfgwt.py +++ /dev/null @@ -1,70 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage - - -class ModflowGwfgwt(mfpackage.MFPackage): - """ - ModflowGwfgwt defines a gwfgwt package. - - Parameters - ---------- - simulation : MFSimulation - Simulation that this package is a part of. Package is automatically - added to simulation when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - exgtype : - * is the exchange type (GWF-GWF or GWF-GWT). - exgmnamea : - * is the name of the first model that is part of this exchange. - exgmnameb : - * is the name of the second model that is part of this exchange. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - package_abbr = "gwfgwt" - _package_type = "gwfgwt" - dfn_file_name = "exg-gwfgwt.dfn" - - dfn = [ - [ - "header", - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - exgtype="GWF6-GWT6", - exgmnamea=None, - exgmnameb=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "gwfgwt", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.exgtype = exgtype - - self.exgmnamea = exgmnamea - - self.exgmnameb = exgmnameb - - simulation.register_exchange_file(self) - - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfhfb.py b/flopy/mf6/modflow/mfgwfhfb.py deleted file mode 100644 index ea5c894bd..000000000 --- a/flopy/mf6/modflow/mfgwfhfb.py +++ /dev/null @@ -1,163 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfhfb(mfpackage.MFPackage): - """ - ModflowGwfhfb defines a hfb package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of horizontal - flow barriers will be written to the listing file immediately after - it is read. - maxhfb : integer - * maxhfb (integer) integer value specifying the maximum number of - horizontal flow barriers that will be entered in this input file. The - value of MAXHFB is used to allocate memory for the horizontal flow - barriers. - stress_period_data : [cellid1, cellid2, hydchr] - * cellid1 ((integer, ...)) identifier for the first cell. For a - structured grid that uses the DIS input file, CELLID1 is the layer, - row, and column numbers of the cell. For a grid that uses the DISV - input file, CELLID1 is the layer number and CELL2D number for the two - cells. If the model uses the unstructured discretization (DISU) input - file, then CELLID1 is the node numbers for the cell. The barrier is - located between cells designated as CELLID1 and CELLID2. For models - that use the DIS and DISV grid types, the layer number for CELLID1 - and CELLID2 must be the same. For all grid types, cells must be - horizontally adjacent or the program will terminate with an error. - This argument is an index variable, which means that it should be - treated as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * cellid2 ((integer, ...)) identifier for the second cell. See CELLID1 - for description of how to specify. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * hydchr (double) is the hydraulic characteristic of the horizontal- - flow barrier. The hydraulic characteristic is the barrier hydraulic - conductivity divided by the width of the horizontal-flow barrier. If - the hydraulic characteristic is negative, then the absolute value of - HYDCHR acts as a multiplier to the conductance between the two model - cells specified as containing the barrier. For example, if the value - for HYDCHR was specified as -1.5, the conductance calculated for the - two cells would be multiplied by 1.5. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - stress_period_data = ListTemplateGenerator( - ("gwf6", "hfb", "period", "stress_period_data") - ) - package_abbr = "gwfhfb" - _package_type = "hfb" - dfn_file_name = "gwf-hfb.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name maxhfb", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid1 cellid2 hydchr", - "shape (maxhfb)", - "reader urword", - ], - [ - "block period", - "name cellid1", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name cellid2", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name hydchr", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - ] - - def __init__( - self, - model, - loading_package=False, - print_input=None, - maxhfb=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "hfb", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.print_input = self.build_mfdata("print_input", print_input) - self.maxhfb = self.build_mfdata("maxhfb", maxhfb) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfic.py b/flopy/mf6/modflow/mfgwfic.py deleted file mode 100644 index 65efa5ab8..000000000 --- a/flopy/mf6/modflow/mfgwfic.py +++ /dev/null @@ -1,92 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwfic(mfpackage.MFPackage): - """ - ModflowGwfic defines a ic package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - strt : [double] - * strt (double) is the initial (starting) head---that is, head at the - beginning of the GWF Model simulation. STRT must be specified for all - simulations, including steady-state simulations. One value is read - for every model cell. For simulations in which the first stress - period is steady state, the values used for STRT generally do not - affect the simulation (exceptions may occur if cells go dry and (or) - rewet). The execution time, however, will be less if STRT includes - hydraulic heads that are close to the steady-state solution. A head - value lower than the cell bottom can be provided if a cell should - start as dry. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - strt = ArrayTemplateGenerator(("gwf6", "ic", "griddata", "strt")) - package_abbr = "gwfic" - _package_type = "ic" - dfn_file_name = "gwf-ic.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block griddata", - "name strt", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "default_value 1.0", - ], - ] - - def __init__( - self, - model, - loading_package=False, - export_array_ascii=None, - strt=1.0, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "ic", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.strt = self.build_mfdata("strt", strt) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwflak.py b/flopy/mf6/modflow/mfgwflak.py deleted file mode 100644 index 06ea7e5c4..000000000 --- a/flopy/mf6/modflow/mfgwflak.py +++ /dev/null @@ -1,1351 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwflak(mfpackage.MFPackage): - """ - ModflowGwflak defines a lak package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of lake cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of lake - information will be written to the listing file immediately after it - is read. - print_stage : boolean - * print_stage (boolean) keyword to indicate that the list of lake - stages will be printed to the listing file for every stress period in - which "HEAD PRINT" is specified in Output Control. If there is no - Output Control option and PRINT_STAGE is specified, then stages are - printed for the last time step of each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of lake flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that lake flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - stage_filerecord : [stagefile] - * stagefile (string) name of the binary output file to write stage - information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - package_convergence_filerecord : [package_convergence_filename] - * package_convergence_filename (string) name of the comma spaced values - output file to write package convergence information. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the LAK - Package can be used with the Water Mover (MVR) Package. When the - MOVER option is specified, additional memory is allocated within the - package to store the available, provided, and received water. - surfdep : double - * surfdep (double) real value that defines the surface depression depth - for VERTICAL lake-GWF connections. If specified, SURFDEP must be - greater than or equal to zero. If SURFDEP is not specified, a default - value of zero is used for all vertical lake-GWF connections. - maximum_iterations : integer - * maximum_iterations (integer) integer value that defines the maximum - number of Newton-Raphson iterations allowed for a lake. By default, - MAXIMUM_ITERATIONS is equal to 100. MAXIMUM_ITERATIONS would only - need to be increased from the default value if one or more lakes in a - simulation has a large water budget error. - maximum_stage_change : double - * maximum_stage_change (double) real value that defines the lake stage - closure tolerance. By default, MAXIMUM_STAGE_CHANGE is equal to - :math:`1 \\times 10^{-5}`. The MAXIMUM_STAGE_CHANGE would only need - to be increased or decreased from the default value if the water - budget error for one or more lakes is too small or too large, - respectively. - time_conversion : double - * time_conversion (double) real value that is used to convert user- - specified Manning's roughness coefficients or gravitational - acceleration used to calculate outlet flows from seconds to model - time units. TIME_CONVERSION should be set to 1.0, 60.0, 3,600.0, - 86,400.0, and 31,557,600.0 when using time units (TIME_UNITS) of - seconds, minutes, hours, days, or years in the simulation, - respectively. CONVTIME does not need to be specified if no lake - outlets are specified or TIME_UNITS are seconds. - length_conversion : double - * length_conversion (double) real value that is used to convert outlet - user-specified Manning's roughness coefficients or gravitational - acceleration used to calculate outlet flows from meters to model - length units. LENGTH_CONVERSION should be set to 3.28081, 1.0, and - 100.0 when using length units (LENGTH_UNITS) of feet, meters, or - centimeters in the simulation, respectively. LENGTH_CONVERSION does - not need to be specified if no lake outlets are specified or - LENGTH_UNITS are meters. - nlakes : integer - * nlakes (integer) value specifying the number of lakes that will be - simulated for all stress periods. - noutlets : integer - * noutlets (integer) value specifying the number of outlets that will - be simulated for all stress periods. If NOUTLETS is not specified, a - default value of zero is used. - ntables : integer - * ntables (integer) value specifying the number of lakes tables that - will be used to define the lake stage, volume relation, and surface - area. If NTABLES is not specified, a default value of zero is used. - packagedata : [ifno, strt, nlakeconn, aux, boundname] - * ifno (integer) integer value that defines the feature (lake) number - associated with the specified PACKAGEDATA data on the line. IFNO must - be greater than zero and less than or equal to NLAKES. Lake - information must be specified for every lake or the program will - terminate with an error. The program will also terminate with an - error if information for a lake is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * strt (double) real value that defines the starting stage for the - lake. - * nlakeconn (integer) integer value that defines the number of GWF - cells connected to this (IFNO) lake. There can only be one vertical - lake connection to each GWF cell. NLAKECONN must be greater than - zero. - * aux (double) represents the values of the auxiliary variables for - each lake. The values of auxiliary variables must be present for each - lake. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * boundname (string) name of the lake cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - connectiondata : [ifno, iconn, cellid, claktype, bedleak, belev, telev, - connlen, connwidth] - * ifno (integer) integer value that defines the feature (lake) number - associated with the specified CONNECTIONDATA data on the line. IFNO - must be greater than zero and less than or equal to NLAKES. Lake - connection information must be specified for every lake connection to - the GWF model (NLAKECONN) or the program will terminate with an - error. The program will also terminate with an error if connection - information for a lake connection to the GWF model is specified more - than once. This argument is an index variable, which means that it - should be treated as zero-based when working with FloPy and Python. - Flopy will automatically subtract one when loading index variables - and add one when writing index variables. - * iconn (integer) integer value that defines the GWF connection number - for this lake connection entry. ICONN must be greater than zero and - less than or equal to NLAKECONN for lake IFNO. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * claktype (string) character string that defines the lake-GWF - connection type for the lake connection. Possible lake-GWF connection - type strings include: VERTICAL--character keyword to indicate the - lake-GWF connection is vertical and connection conductance - calculations use the hydraulic conductivity corresponding to the - :math:`K_{33}` tensor component defined for CELLID in the NPF - package. HORIZONTAL--character keyword to indicate the lake-GWF - connection is horizontal and connection conductance calculations use - the hydraulic conductivity corresponding to the :math:`K_{11}` tensor - component defined for CELLID in the NPF package. EMBEDDEDH--character - keyword to indicate the lake-GWF connection is embedded in a single - cell and connection conductance calculations use the hydraulic - conductivity corresponding to the :math:`K_{11}` tensor component - defined for CELLID in the NPF package. EMBEDDEDV--character keyword - to indicate the lake-GWF connection is embedded in a single cell and - connection conductance calculations use the hydraulic conductivity - corresponding to the :math:`K_{33}` tensor component defined for - CELLID in the NPF package. Embedded lakes can only be connected to a - single cell (NLAKECONN = 1) and there must be a lake table associated - with each embedded lake. - * bedleak (string) real value or character string that defines the bed - leakance for the lake-GWF connection. BEDLEAK must be greater than or - equal to zero, equal to the DNODATA value (3.0E+30), or specified to - be NONE. If DNODATA or NONE is specified for BEDLEAK, the lake-GWF - connection conductance is solely a function of aquifer properties in - the connected GWF cell and lakebed sediments are assumed to be - absent. Warning messages will be issued if NONE is specified. - Eventually the ability to specify NONE will be deprecated and cause - MODFLOW 6 to terminate with an error. - * belev (double) real value that defines the bottom elevation for a - HORIZONTAL lake-GWF connection. Any value can be specified if - CLAKTYPE is VERTICAL, EMBEDDEDH, or EMBEDDEDV. If CLAKTYPE is - HORIZONTAL and BELEV is not equal to TELEV, BELEV must be greater - than or equal to the bottom of the GWF cell CELLID. If BELEV is equal - to TELEV, BELEV is reset to the bottom of the GWF cell CELLID. - * telev (double) real value that defines the top elevation for a - HORIZONTAL lake-GWF connection. Any value can be specified if - CLAKTYPE is VERTICAL, EMBEDDEDH, or EMBEDDEDV. If CLAKTYPE is - HORIZONTAL and TELEV is not equal to BELEV, TELEV must be less than - or equal to the top of the GWF cell CELLID. If TELEV is equal to - BELEV, TELEV is reset to the top of the GWF cell CELLID. - * connlen (double) real value that defines the distance between the - connected GWF CELLID node and the lake for a HORIZONTAL, EMBEDDEDH, - or EMBEDDEDV lake-GWF connection. CONLENN must be greater than zero - for a HORIZONTAL, EMBEDDEDH, or EMBEDDEDV lake-GWF connection. Any - value can be specified if CLAKTYPE is VERTICAL. - * connwidth (double) real value that defines the connection face width - for a HORIZONTAL lake-GWF connection. CONNWIDTH must be greater than - zero for a HORIZONTAL lake-GWF connection. Any value can be specified - if CLAKTYPE is VERTICAL, EMBEDDEDH, or EMBEDDEDV. - tables : [ifno, tab6_filename] - * ifno (integer) integer value that defines the feature (lake) number - associated with the specified TABLES data on the line. IFNO must be - greater than zero and less than or equal to NLAKES. The program will - terminate with an error if table information for a lake is specified - more than once or the number of specified tables is less than - NTABLES. This argument is an index variable, which means that it - should be treated as zero-based when working with FloPy and Python. - Flopy will automatically subtract one when loading index variables - and add one when writing index variables. - * tab6_filename (string) character string that defines the path and - filename for the file containing lake table data for the lake - connection. The TAB6_FILENAME file includes the number of entries in - the file and the relation between stage, volume, and surface area for - each entry in the file. Lake table files for EMBEDDEDH and EMBEDDEDV - lake-GWF connections also include lake-GWF exchange area data for - each entry in the file. Instructions for creating the TAB6_FILENAME - input file are provided in Lake Table Input File section. - outlets : [outletno, lakein, lakeout, couttype, invert, width, rough, - slope] - * outletno (integer) integer value that defines the outlet number - associated with the specified OUTLETS data on the line. OUTLETNO must - be greater than zero and less than or equal to NOUTLETS. Outlet - information must be specified for every outlet or the program will - terminate with an error. The program will also terminate with an - error if information for a outlet is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * lakein (integer) integer value that defines the lake number that - outlet is connected to. LAKEIN must be greater than zero and less - than or equal to NLAKES. This argument is an index variable, which - means that it should be treated as zero-based when working with FloPy - and Python. Flopy will automatically subtract one when loading index - variables and add one when writing index variables. - * lakeout (integer) integer value that defines the lake number that - outlet discharge from lake outlet OUTLETNO is routed to. LAKEOUT must - be greater than or equal to zero and less than or equal to NLAKES. If - LAKEOUT is zero, outlet discharge from lake outlet OUTLETNO is - discharged to an external boundary. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * couttype (string) character string that defines the outlet type for - the outlet OUTLETNO. Possible COUTTYPE strings include: SPECIFIED-- - character keyword to indicate the outlet is defined as a specified - flow. MANNING--character keyword to indicate the outlet is defined - using Manning's equation. WEIR--character keyword to indicate the - outlet is defined using a sharp weir equation. - * invert (double) real value that defines the invert elevation for the - lake outlet. Any value can be specified if COUTTYPE is SPECIFIED. If - the Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time series - by entering the time-series name in place of a numeric value. - * width (double) real value that defines the width of the lake outlet. - Any value can be specified if COUTTYPE is SPECIFIED. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * rough (double) real value that defines the roughness coefficient for - the lake outlet. Any value can be specified if COUTTYPE is not - MANNING. If the Options block includes a TIMESERIESFILE entry (see - the "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a numeric - value. - * slope (double) real value that defines the bed slope for the lake - outlet. Any value can be specified if COUTTYPE is not MANNING. If the - Options block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - perioddata : [number, laksetting] - * number (integer) integer value that defines the lake or outlet number - associated with the specified PERIOD data on the line. NUMBER must be - greater than zero and less than or equal to NLAKES for a lake number - and less than or equal to NOUTLETS for an outlet number. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * laksetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - LAKSETTING string include both keywords for lake settings and - keywords for outlet settings. Keywords for lake settings include: - STATUS, STAGE, RAINFALL, EVAPORATION, RUNOFF, INFLOW, WITHDRAWAL, and - AUXILIARY. Keywords for outlet settings include RATE, INVERT, WIDTH, - SLOPE, and ROUGH. - status : [string] - * status (string) keyword option to define lake status. STATUS - can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is - ACTIVE. - stage : [string] - * stage (string) real or character value that defines the stage - for the lake. The specified STAGE is only applied if the lake - is a constant stage lake. If the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), - values can be obtained from a time series by entering the - time-series name in place of a numeric value. - rainfall : [string] - * rainfall (string) real or character value that defines the - rainfall rate :math:`(LT^{-1})` for the lake. Value must be - greater than or equal to zero. If the Options block includes - a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - evaporation : [string] - * evaporation (string) real or character value that defines the - maximum evaporation rate :math:`(LT^{-1})` for the lake. - Value must be greater than or equal to zero. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - runoff : [string] - * runoff (string) real or character value that defines the - runoff rate :math:`(L^3 T^{-1})` for the lake. Value must be - greater than or equal to zero. If the Options block includes - a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - inflow : [string] - * inflow (string) real or character value that defines the - volumetric inflow rate :math:`(L^3 T^{-1})` for the lake. - Value must be greater than or equal to zero. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. By - default, inflow rates are zero for each lake. - withdrawal : [string] - * withdrawal (string) real or character value that defines the - maximum withdrawal rate :math:`(L^3 T^{-1})` for the lake. - Value must be greater than or equal to zero. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - rate : [string] - * rate (string) real or character value that defines the - extraction rate for the lake outflow. A positive value - indicates inflow and a negative value indicates outflow from - the lake. RATE only applies to outlets associated with active - lakes (STATUS is ACTIVE). A specified RATE is only applied if - COUTTYPE for the OUTLETNO is SPECIFIED. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. By - default, the RATE for each SPECIFIED lake outlet is zero. - invert : [string] - * invert (string) real or character value that defines the - invert elevation for the lake outlet. A specified INVERT - value is only used for active lakes if COUTTYPE for lake - outlet OUTLETNO is not SPECIFIED. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - width : [string] - * width (string) real or character value that defines the width - of the lake outlet. A specified WIDTH value is only used for - active lakes if COUTTYPE for lake outlet OUTLETNO is not - SPECIFIED. If the Options block includes a TIMESERIESFILE - entry (see the "Time-Variable Input" section), values can be - obtained from a time series by entering the time-series name - in place of a numeric value. - slope : [string] - * slope (string) real or character value that defines the bed - slope for the lake outlet. A specified SLOPE value is only - used for active lakes if COUTTYPE for lake outlet OUTLETNO is - MANNING. If the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be - obtained from a time series by entering the time-series name - in place of a numeric value. - rough : [string] - * rough (string) real value that defines the roughness - coefficient for the lake outlet. Any value can be specified - if COUTTYPE is not MANNING. If the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), - values can be obtained from a time series by entering the - time-series name in place of a numeric value. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "lak", "options", "auxiliary")) - stage_filerecord = ListTemplateGenerator( - ("gwf6", "lak", "options", "stage_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwf6", "lak", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwf6", "lak", "options", "budgetcsv_filerecord") - ) - package_convergence_filerecord = ListTemplateGenerator( - ("gwf6", "lak", "options", "package_convergence_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "lak", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "lak", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwf6", "lak", "packagedata", "packagedata") - ) - connectiondata = ListTemplateGenerator( - ("gwf6", "lak", "connectiondata", "connectiondata") - ) - tables = ListTemplateGenerator(("gwf6", "lak", "tables", "tables")) - outlets = ListTemplateGenerator(("gwf6", "lak", "outlets", "outlets")) - perioddata = ListTemplateGenerator(("gwf6", "lak", "period", "perioddata")) - package_abbr = "gwflak" - _package_type = "lak" - dfn_file_name = "gwf-lak.dfn" - - dfn = [ - ["header", "multi-package", "package-type advanced-stress-package"], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_stage", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name stage_filerecord", - "type record stage fileout stagefile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name stage", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name stagefile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name package_convergence_filerecord", - "type record package_convergence fileout " - "package_convergence_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name package_convergence", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name package_convergence_filename", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name surfdep", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name maximum_iterations", - "type integer", - "reader urword", - "optional true", - ], - [ - "block options", - "name maximum_stage_change", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name time_conversion", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name length_conversion", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name nlakes", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name noutlets", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name ntables", - "type integer", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray ifno strt nlakeconn aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block packagedata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name strt", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name nlakeconn", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block connectiondata", - "name connectiondata", - "type recarray ifno iconn cellid claktype bedleak belev telev " - "connlen connwidth", - "shape (sum(nlakeconn))", - "reader urword", - ], - [ - "block connectiondata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block connectiondata", - "name iconn", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block connectiondata", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name claktype", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name bedleak", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name belev", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name telev", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name connlen", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name connwidth", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block tables", - "name tables", - "type recarray ifno tab6 filein tab6_filename", - "shape (ntables)", - "reader urword", - ], - [ - "block tables", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block tables", - "name tab6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block tables", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block tables", - "name tab6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block outlets", - "name outlets", - "type recarray outletno lakein lakeout couttype invert width " - "rough slope", - "shape (noutlets)", - "reader urword", - ], - [ - "block outlets", - "name outletno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block outlets", - "name lakein", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block outlets", - "name lakeout", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block outlets", - "name couttype", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block outlets", - "name invert", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block outlets", - "name width", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block outlets", - "name rough", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block outlets", - "name slope", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name perioddata", - "type recarray number laksetting", - "shape", - "reader urword", - ], - [ - "block period", - "name number", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name laksetting", - "type keystring status stage rainfall evaporation runoff inflow " - "withdrawal rate invert width slope rough auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name stage", - "type string", - "shape", - "tagged true", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name rainfall", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name evaporation", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name runoff", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name inflow", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name withdrawal", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name rate", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name invert", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name rough", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name width", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name slope", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - boundnames=None, - print_input=None, - print_stage=None, - print_flows=None, - save_flows=None, - stage_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - package_convergence_filerecord=None, - timeseries=None, - observations=None, - mover=None, - surfdep=None, - maximum_iterations=None, - maximum_stage_change=None, - time_conversion=None, - length_conversion=None, - nlakes=None, - noutlets=None, - ntables=None, - packagedata=None, - connectiondata=None, - tables=None, - outlets=None, - perioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "lak", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_stage = self.build_mfdata("print_stage", print_stage) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.stage_filerecord = self.build_mfdata( - "stage_filerecord", stage_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self.package_convergence_filerecord = self.build_mfdata( - "package_convergence_filerecord", package_convergence_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.surfdep = self.build_mfdata("surfdep", surfdep) - self.maximum_iterations = self.build_mfdata( - "maximum_iterations", maximum_iterations - ) - self.maximum_stage_change = self.build_mfdata( - "maximum_stage_change", maximum_stage_change - ) - self.time_conversion = self.build_mfdata( - "time_conversion", time_conversion - ) - self.length_conversion = self.build_mfdata( - "length_conversion", length_conversion - ) - self.nlakes = self.build_mfdata("nlakes", nlakes) - self.noutlets = self.build_mfdata("noutlets", noutlets) - self.ntables = self.build_mfdata("ntables", ntables) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.connectiondata = self.build_mfdata( - "connectiondata", connectiondata - ) - self.tables = self.build_mfdata("tables", tables) - self.outlets = self.build_mfdata("outlets", outlets) - self.perioddata = self.build_mfdata("perioddata", perioddata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfmaw.py b/flopy/mf6/modflow/mfgwfmaw.py deleted file mode 100644 index b0fd0fe12..000000000 --- a/flopy/mf6/modflow/mfgwfmaw.py +++ /dev/null @@ -1,1163 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfmaw(mfpackage.MFPackage): - """ - ModflowGwfmaw defines a maw package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of multi-aquifer well cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of multi- - aquifer well information will be written to the listing file - immediately after it is read. - print_head : boolean - * print_head (boolean) keyword to indicate that the list of multi- - aquifer well heads will be printed to the listing file for every - stress period in which "HEAD PRINT" is specified in Output Control. - If there is no Output Control option and PRINT_HEAD is specified, - then heads are printed for the last time step of each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of multi- - aquifer well flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that multi-aquifer well flow - terms will be written to the file specified with "BUDGET FILEOUT" in - Output Control. - head_filerecord : [headfile] - * headfile (string) name of the binary output file to write head - information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - no_well_storage : boolean - * no_well_storage (boolean) keyword that deactivates inclusion of well - storage contributions to the multi-aquifer well package continuity - equation. - flow_correction : boolean - * flow_correction (boolean) keyword that activates flow corrections in - cases where the head in a multi-aquifer well is below the bottom of - the screen for a connection or the head in a convertible cell - connected to a multi-aquifer well is below the cell bottom. When flow - corrections are activated, unit head gradients are used to calculate - the flow between a multi-aquifer well and a connected GWF cell. By - default, flow corrections are not made. - flowing_wells : boolean - * flowing_wells (boolean) keyword that activates the flowing wells - option for the multi-aquifer well package. - shutdown_theta : double - * shutdown_theta (double) value that defines the weight applied to - discharge rate for wells that limit the water level in a discharging - well (defined using the HEAD_LIMIT keyword in the stress period - data). SHUTDOWN_THETA is used to control discharge rate oscillations - when the flow rate from the aquifer is less than the specified flow - rate from the aquifer to the well. Values range between 0.0 and 1.0, - and larger values increase the weight (decrease under-relaxation) - applied to the well discharge rate. The HEAD_LIMIT option has been - included to facilitate backward compatibility with previous versions - of MODFLOW but use of the RATE_SCALING option instead of the - HEAD_LIMIT option is recommended. By default, SHUTDOWN_THETA is 0.7. - shutdown_kappa : double - * shutdown_kappa (double) value that defines the weight applied to - discharge rate for wells that limit the water level in a discharging - well (defined using the HEAD_LIMIT keyword in the stress period - data). SHUTDOWN_KAPPA is used to control discharge rate oscillations - when the flow rate from the aquifer is less than the specified flow - rate from the aquifer to the well. Values range between 0.0 and 1.0, - and larger values increase the weight applied to the well discharge - rate. The HEAD_LIMIT option has been included to facilitate backward - compatibility with previous versions of MODFLOW but use of the - RATE_SCALING option instead of the HEAD_LIMIT option is recommended. - By default, SHUTDOWN_KAPPA is 0.0001. - mfrcsv_filerecord : [mfrcsvfile] - * mfrcsvfile (string) name of the comma-separated value (CSV) output - file to write information about multi-aquifer well extraction or - injection rates that have been reduced by the program. Entries are - only written if the extraction or injection rates are reduced. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the MAW - Package can be used with the Water Mover (MVR) Package. When the - MOVER option is specified, additional memory is allocated within the - package to store the available, provided, and received water. - nmawwells : integer - * nmawwells (integer) integer value specifying the number of multi- - aquifer wells that will be simulated for all stress periods. - packagedata : [ifno, radius, bottom, strt, condeqn, ngwfnodes, aux, - boundname] - * ifno (integer) integer value that defines the feature (well) number - associated with the specified PACKAGEDATA data on the line. IFNO must - be greater than zero and less than or equal to NMAWWELLS. Multi- - aquifer well information must be specified for every multi-aquifer - well or the program will terminate with an error. The program will - also terminate with an error if information for a multi-aquifer well - is specified more than once. This argument is an index variable, - which means that it should be treated as zero-based when working with - FloPy and Python. Flopy will automatically subtract one when loading - index variables and add one when writing index variables. - * radius (double) radius for the multi-aquifer well. The program will - terminate with an error if the radius is less than or equal to zero. - * bottom (double) bottom elevation of the multi-aquifer well. If - CONDEQN is SPECIFIED, THIEM, SKIN, or COMPOSITE, BOTTOM is set to the - cell bottom in the lowermost GWF cell connection in cases where the - specified well bottom is above the bottom of this GWF cell. If - CONDEQN is MEAN, BOTTOM is set to the lowermost GWF cell connection - screen bottom in cases where the specified well bottom is above this - value. The bottom elevation defines the lowest well head that will be - simulated when the NEWTON UNDER_RELAXATION option is specified in the - GWF model name file. The bottom elevation is also used to calculate - volumetric storage in the well. - * strt (double) starting head for the multi-aquifer well. The program - will terminate with an error if the starting head is less than the - specified well bottom. - * condeqn (string) character string that defines the conductance - equation that is used to calculate the saturated conductance for the - multi-aquifer well. Possible multi-aquifer well CONDEQN strings - include: SPECIFIED--character keyword to indicate the multi-aquifer - well saturated conductance will be specified. THIEM--character - keyword to indicate the multi-aquifer well saturated conductance will - be calculated using the Thiem equation, which considers the cell top - and bottom, aquifer hydraulic conductivity, and effective cell and - well radius. SKIN--character keyword to indicate that the multi- - aquifer well saturated conductance will be calculated using the cell - top and bottom, aquifer and screen hydraulic conductivity, and well - and skin radius. CUMULATIVE--character keyword to indicate that the - multi-aquifer well saturated conductance will be calculated using a - combination of the Thiem and SKIN equations. MEAN--character keyword - to indicate the multi-aquifer well saturated conductance will be - calculated using the aquifer and screen top and bottom, aquifer and - screen hydraulic conductivity, and well and skin radius. The - CUMULATIVE conductance equation is identical to the SKIN LOSSTYPE in - the Multi-Node Well (MNW2) package for MODFLOW-2005. The program will - terminate with an error condition if CONDEQN is SKIN or CUMULATIVE - and the calculated saturated conductance is less than zero; if an - error condition occurs, it is suggested that the THEIM or MEAN - conductance equations be used for these multi-aquifer wells. - * ngwfnodes (integer) integer value that defines the number of GWF - nodes connected to this (IFNO) multi-aquifer well. NGWFNODES must be - greater than zero. - * aux (double) represents the values of the auxiliary variables for - each multi-aquifer well. The values of auxiliary variables must be - present for each multi-aquifer well. The values must be specified in - the order of the auxiliary variables specified in the OPTIONS block. - If the package supports time series and the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), values - can be obtained from a time series by entering the time-series name - in place of a numeric value. - * boundname (string) name of the multi-aquifer well cell. BOUNDNAME is - an ASCII character variable that can contain as many as 40 - characters. If BOUNDNAME contains spaces in it, then the entire name - must be enclosed within single quotes. - connectiondata : [ifno, icon, cellid, scrn_top, scrn_bot, hk_skin, - radius_skin] - * ifno (integer) integer value that defines the feature (well) number - associated with the specified CONNECTIONDATA data on the line. IFNO - must be greater than zero and less than or equal to NMAWWELLS. Multi- - aquifer well connection information must be specified for every - multi-aquifer well connection to the GWF model (NGWFNODES) or the - program will terminate with an error. The program will also terminate - with an error if connection information for a multi-aquifer well - connection to the GWF model is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * icon (integer) integer value that defines the GWF connection number - for this multi-aquifer well connection entry. ICONN must be greater - than zero and less than or equal to NGWFNODES for multi-aquifer well - IFNO. This argument is an index variable, which means that it should - be treated as zero-based when working with FloPy and Python. Flopy - will automatically subtract one when loading index variables and add - one when writing index variables. - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. One or - more screened intervals can be connected to the same CELLID if - CONDEQN for a well is MEAN. The program will terminate with an error - if MAW wells using SPECIFIED, THIEM, SKIN, or CUMULATIVE conductance - equations have more than one connection to the same CELLID. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * scrn_top (double) value that defines the top elevation of the screen - for the multi-aquifer well connection. If CONDEQN is SPECIFIED, - THIEM, SKIN, or COMPOSITE, SCRN_TOP can be any value and is set to - the top of the cell. If CONDEQN is MEAN, SCRN_TOP is set to the - multi-aquifer well connection cell top if the specified value is - greater than the cell top. The program will terminate with an error - if the screen top is less than the screen bottom. - * scrn_bot (double) value that defines the bottom elevation of the - screen for the multi-aquifer well connection. If CONDEQN is - SPECIFIED, THIEM, SKIN, or COMPOSITE, SCRN_BOT can be any value and - is set to the bottom of the cell. If CONDEQN is MEAN, SCRN_BOT is set - to the multi-aquifer well connection cell bottom if the specified - value is less than the cell bottom. The program will terminate with - an error if the screen bottom is greater than the screen top. - * hk_skin (double) value that defines the skin (filter pack) hydraulic - conductivity (if CONDEQN for the multi-aquifer well is SKIN, - CUMULATIVE, or MEAN) or conductance (if CONDEQN for the multi-aquifer - well is SPECIFIED) for each GWF node connected to the multi-aquifer - well (NGWFNODES). If CONDEQN is SPECIFIED, HK_SKIN must be greater - than or equal to zero. HK_SKIN can be any value if CONDEQN is THIEM. - Otherwise, HK_SKIN must be greater than zero. If CONDEQN is SKIN, the - contrast between the cell transmissivity (the product of geometric - mean horizontal hydraulic conductivity and the cell thickness) and - the well transmissivity (the product of HK_SKIN and the screen - thicknesses) must be greater than one in node CELLID or the program - will terminate with an error condition; if an error condition occurs, - it is suggested that the HK_SKIN be reduced to a value less than K11 - and K22 in node CELLID or the THEIM or MEAN conductance equations be - used for these multi-aquifer wells. - * radius_skin (double) real value that defines the skin radius (filter - pack radius) for the multi-aquifer well. RADIUS_SKIN can be any value - if CONDEQN is SPECIFIED or THIEM. If CONDEQN is SKIN, CUMULATIVE, or - MEAN, the program will terminate with an error if RADIUS_SKIN is less - than or equal to the RADIUS for the multi-aquifer well. - perioddata : [ifno, mawsetting] - * ifno (integer) integer value that defines the well number associated - with the specified PERIOD data on the line. IFNO must be greater than - zero and less than or equal to NMAWWELLS. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * mawsetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - MAWSETTING string include: STATUS, FLOWING_WELL, RATE, WELL_HEAD, - HEAD_LIMIT, SHUT_OFF, RATE_SCALING, and AUXILIARY. - status : [string] - * status (string) keyword option to define well status. STATUS - can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is - ACTIVE. - flowing_wellrecord : [fwelev, fwcond, fwrlen] - * fwelev (double) elevation used to determine whether or not - the well is flowing. - * fwcond (double) conductance used to calculate the discharge - of a free flowing well. Flow occurs when the head in the well - is above the well top elevation (FWELEV). - * fwrlen (double) length used to reduce the conductance of the - flowing well. When the head in the well drops below the well - top plus the reduction length, then the conductance is - reduced. This reduction length can be used to improve the - stability of simulations with flowing wells so that there is - not an abrupt change in flowing well rates. - rate : [double] - * rate (double) is the volumetric pumping rate for the multi- - aquifer well. A positive value indicates recharge and a - negative value indicates discharge (pumping). RATE only - applies to active (STATUS is ACTIVE) multi-aquifer wells. If - the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. By default, the RATE for each multi-aquifer - well is zero. - well_head : [double] - * well_head (double) is the head in the multi-aquifer well. - WELL_HEAD is only applied to constant head (STATUS is - CONSTANT) and inactive (STATUS is INACTIVE) multi-aquifer - wells. If the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be - obtained from a time series by entering the time-series name - in place of a numeric value. The program will terminate with - an error if WELL_HEAD is less than the bottom of the well. - head_limit : [string] - * head_limit (string) is the limiting water level (head) in the - well, which is the minimum of the well RATE or the well - inflow rate from the aquifer. HEAD_LIMIT can be applied to - extraction wells (RATE < 0) or injection wells (RATE > 0). - HEAD_LIMIT can be deactivated by specifying the text string - 'OFF'. The HEAD_LIMIT option is based on the HEAD_LIMIT - functionality available in the MNW2 (Konikow et al., 2009) - package for MODFLOW-2005. The HEAD_LIMIT option has been - included to facilitate backward compatibility with previous - versions of MODFLOW but use of the RATE_SCALING option - instead of the HEAD_LIMIT option is recommended. By default, - HEAD_LIMIT is 'OFF'. - shutoffrecord : [minrate, maxrate] - * minrate (double) is the minimum rate that a well must exceed - to shutoff a well during a stress period. The well will shut - down during a time step if the flow rate to the well from the - aquifer is less than MINRATE. If a well is shut down during a - time step, reactivation of the well cannot occur until the - next time step to reduce oscillations. MINRATE must be less - than maxrate. - * maxrate (double) is the maximum rate that a well must exceed - to reactivate a well during a stress period. The well will - reactivate during a timestep if the well was shutdown during - the previous time step and the flow rate to the well from the - aquifer exceeds maxrate. Reactivation of the well cannot - occur until the next time step if a well is shutdown to - reduce oscillations. maxrate must be greater than MINRATE. - rate_scalingrecord : [pump_elevation, scaling_length] - * pump_elevation (double) is the elevation of the multi-aquifer - well pump (PUMP_ELEVATION). PUMP_ELEVATION should not be less - than the bottom elevation (BOTTOM) of the multi-aquifer well. - * scaling_length (double) height above the pump elevation - (SCALING_LENGTH). If the simulated well head is below this - elevation (pump elevation plus the scaling length), then the - pumping rate is reduced. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "maw", "options", "auxiliary")) - head_filerecord = ListTemplateGenerator( - ("gwf6", "maw", "options", "head_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwf6", "maw", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwf6", "maw", "options", "budgetcsv_filerecord") - ) - mfrcsv_filerecord = ListTemplateGenerator( - ("gwf6", "maw", "options", "mfrcsv_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "maw", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "maw", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwf6", "maw", "packagedata", "packagedata") - ) - connectiondata = ListTemplateGenerator( - ("gwf6", "maw", "connectiondata", "connectiondata") - ) - perioddata = ListTemplateGenerator(("gwf6", "maw", "period", "perioddata")) - package_abbr = "gwfmaw" - _package_type = "maw" - dfn_file_name = "gwf-maw.dfn" - - dfn = [ - ["header", "multi-package", "package-type advanced-stress-package"], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_head", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name head_filerecord", - "type record head fileout headfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name head", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name headfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name no_well_storage", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_correction", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name flowing_wells", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name shutdown_theta", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name shutdown_kappa", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name mfrcsv_filerecord", - "type record maw_flow_reduce_csv fileout mfrcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name maw_flow_reduce_csv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name mfrcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name nmawwells", - "type integer", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray ifno radius bottom strt condeqn ngwfnodes aux " - "boundname", - "shape (nmawwells)", - "reader urword", - ], - [ - "block packagedata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name radius", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name bottom", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name strt", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name condeqn", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name ngwfnodes", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block connectiondata", - "name connectiondata", - "type recarray ifno icon cellid scrn_top scrn_bot hk_skin " - "radius_skin", - "reader urword", - ], - [ - "block connectiondata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block connectiondata", - "name icon", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block connectiondata", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name scrn_top", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name scrn_bot", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name hk_skin", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block connectiondata", - "name radius_skin", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name perioddata", - "type recarray ifno mawsetting", - "shape", - "reader urword", - ], - [ - "block period", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name mawsetting", - "type keystring status flowing_wellrecord rate well_head " - "head_limit shutoffrecord rate_scalingrecord auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name flowing_wellrecord", - "type record flowing_well fwelev fwcond fwrlen", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name flowing_well", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name fwelev", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name fwcond", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name fwrlen", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name rate", - "type double precision", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name well_head", - "type double precision", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name head_limit", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name shutoffrecord", - "type record shut_off minrate maxrate", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name shut_off", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name minrate", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name maxrate", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name rate_scalingrecord", - "type record rate_scaling pump_elevation scaling_length", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name rate_scaling", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name pump_elevation", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name scaling_length", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - boundnames=None, - print_input=None, - print_head=None, - print_flows=None, - save_flows=None, - head_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - no_well_storage=None, - flow_correction=None, - flowing_wells=None, - shutdown_theta=None, - shutdown_kappa=None, - mfrcsv_filerecord=None, - timeseries=None, - observations=None, - mover=None, - nmawwells=None, - packagedata=None, - connectiondata=None, - perioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "maw", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_head = self.build_mfdata("print_head", print_head) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.head_filerecord = self.build_mfdata( - "head_filerecord", head_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self.no_well_storage = self.build_mfdata( - "no_well_storage", no_well_storage - ) - self.flow_correction = self.build_mfdata( - "flow_correction", flow_correction - ) - self.flowing_wells = self.build_mfdata("flowing_wells", flowing_wells) - self.shutdown_theta = self.build_mfdata( - "shutdown_theta", shutdown_theta - ) - self.shutdown_kappa = self.build_mfdata( - "shutdown_kappa", shutdown_kappa - ) - self.mfrcsv_filerecord = self.build_mfdata( - "mfrcsv_filerecord", mfrcsv_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.nmawwells = self.build_mfdata("nmawwells", nmawwells) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.connectiondata = self.build_mfdata( - "connectiondata", connectiondata - ) - self.perioddata = self.build_mfdata("perioddata", perioddata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfmvr.py b/flopy/mf6/modflow/mfgwfmvr.py deleted file mode 100644 index 1423f652a..000000000 --- a/flopy/mf6/modflow/mfgwfmvr.py +++ /dev/null @@ -1,481 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfmvr(mfpackage.MFPackage): - """ - ModflowGwfmvr defines a mvr package within a gwf6 model. This package - can only be used to move water between packages within a single model. - To move water between models use ModflowMvr. - - Parameters - ---------- - parent_model_or_package : MFModel/MFPackage - Parent_model_or_package that this package is a part of. Package is automatically - added to parent_model_or_package when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of MVR - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of MVR flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - modelnames : boolean - * modelnames (boolean) keyword to indicate that all package names will - be preceded by the model name for the package. Model names are - required when the Mover Package is used with a GWF-GWF Exchange. The - MODELNAME keyword should not be used for a Mover Package that is for - a single GWF Model. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - maxmvr : integer - * maxmvr (integer) integer value specifying the maximum number of water - mover entries that will specified for any stress period. - maxpackages : integer - * maxpackages (integer) integer value specifying the number of unique - packages that are included in this water mover input file. - packages : [mname, pname] - * mname (string) name of model containing the package. Model names are - assigned by the user in the simulation name file. - * pname (string) is the name of a package that may be included in a - subsequent stress period block. The package name is assigned in the - name file for the GWF Model. Package names are optionally provided in - the name file. If they are not provided by the user, then packages - are assigned a default value, which is the package acronym followed - by a hyphen and the package number. For example, the first Drain - Package is named DRN-1. The second Drain Package is named DRN-2, and - so forth. - perioddata : [mname1, pname1, id1, mname2, pname2, id2, mvrtype, value] - * mname1 (string) name of model containing the package, PNAME1. - * pname1 (string) is the package name for the provider. The package - PNAME1 must be designated to provide water through the MVR Package by - specifying the keyword "MOVER" in its OPTIONS block. - * id1 (integer) is the identifier for the provider. For the standard - boundary packages, the provider identifier is the number of the - boundary as it is listed in the package input file. (Note that the - order of these boundaries may change by stress period, which must be - accounted for in the Mover Package.) So the first well has an - identifier of one. The second is two, and so forth. For the advanced - packages, the identifier is the reach number (SFR Package), well - number (MAW Package), or UZF cell number. For the Lake Package, ID1 - is the lake outlet number. Thus, outflows from a single lake can be - routed to different streams, for example. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * mname2 (string) name of model containing the package, PNAME2. - * pname2 (string) is the package name for the receiver. The package - PNAME2 must be designated to receive water from the MVR Package by - specifying the keyword "MOVER" in its OPTIONS block. - * id2 (integer) is the identifier for the receiver. The receiver - identifier is the reach number (SFR Package), Lake number (LAK - Package), well number (MAW Package), or UZF cell number. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * mvrtype (string) is the character string signifying the method for - determining how much water will be moved. Supported values are - "FACTOR" "EXCESS" "THRESHOLD" and "UPTO". These four options - determine how the receiver flow rate, :math:`Q_R`, is calculated. - These options mirror the options defined for the cprior variable in - the SFR package, with the term "FACTOR" being functionally equivalent - to the "FRACTION" option for cprior. - * value (double) is the value to be used in the equation for - calculating the amount of water to move. For the "FACTOR" option, - VALUE is the :math:`\\alpha` factor. For the remaining options, VALUE - is the specified flow rate, :math:`Q_S`. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwf6", "mvr", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwf6", "mvr", "options", "budgetcsv_filerecord") - ) - packages = ListTemplateGenerator(("gwf6", "mvr", "packages", "packages")) - perioddata = ListTemplateGenerator(("gwf6", "mvr", "period", "perioddata")) - package_abbr = "gwfmvr" - _package_type = "mvr" - dfn_file_name = "gwf-mvr.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name modelnames", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block dimensions", - "name maxmvr", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name maxpackages", - "type integer", - "reader urword", - "optional false", - ], - [ - "block packages", - "name packages", - "type recarray mname pname", - "reader urword", - "shape (npackages)", - "optional false", - ], - [ - "block packages", - "name mname", - "type string", - "reader urword", - "shape", - "tagged false", - "in_record true", - "optional true", - ], - [ - "block packages", - "name pname", - "type string", - "reader urword", - "shape", - "tagged false", - "in_record true", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name perioddata", - "type recarray mname1 pname1 id1 mname2 pname2 id2 mvrtype value", - "shape (maxbound)", - "reader urword", - ], - [ - "block period", - "name mname1", - "type string", - "reader urword", - "shape", - "tagged false", - "in_record true", - "optional true", - ], - [ - "block period", - "name pname1", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name id1", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name mname2", - "type string", - "reader urword", - "shape", - "tagged false", - "in_record true", - "optional true", - ], - [ - "block period", - "name pname2", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name id2", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name mvrtype", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name value", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - ] - - def __init__( - self, - parent_model_or_package, - loading_package=False, - print_input=None, - print_flows=None, - modelnames=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - maxmvr=None, - maxpackages=None, - packages=None, - perioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - parent_model_or_package, - "mvr", - filename, - pname, - loading_package, - **kwargs, - ) - - # set up variables - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.modelnames = self.build_mfdata("modelnames", modelnames) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self.maxmvr = self.build_mfdata("maxmvr", maxmvr) - self.maxpackages = self.build_mfdata("maxpackages", maxpackages) - self.packages = self.build_mfdata("packages", packages) - self.perioddata = self.build_mfdata("perioddata", perioddata) - self._init_complete = True - - -class GwfmvrPackages(mfpackage.MFChildPackages): - """ - GwfmvrPackages is a container class for the ModflowGwfmvr class. - - Methods - ------- - initialize - Initializes a new ModflowGwfmvr package removing any sibling child - packages attached to the same parent package. See ModflowGwfmvr init - documentation for definition of parameters. - append_package - Adds a new ModflowGwfmvr package to the container. See ModflowGwfmvr - init documentation for definition of parameters. - """ - - package_abbr = "gwfmvrpackages" - - def initialize( - self, - print_input=None, - print_flows=None, - modelnames=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - maxmvr=None, - maxpackages=None, - packages=None, - perioddata=None, - filename=None, - pname=None, - ): - new_package = ModflowGwfmvr( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - modelnames=modelnames, - budget_filerecord=budget_filerecord, - budgetcsv_filerecord=budgetcsv_filerecord, - maxmvr=maxmvr, - maxpackages=maxpackages, - packages=packages, - perioddata=perioddata, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self.init_package(new_package, filename) - - def append_package( - self, - print_input=None, - print_flows=None, - modelnames=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - maxmvr=None, - maxpackages=None, - packages=None, - perioddata=None, - filename=None, - pname=None, - ): - new_package = ModflowGwfmvr( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - modelnames=modelnames, - budget_filerecord=budget_filerecord, - budgetcsv_filerecord=budgetcsv_filerecord, - maxmvr=maxmvr, - maxpackages=maxpackages, - packages=packages, - perioddata=perioddata, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self._append_package(new_package, filename) diff --git a/flopy/mf6/modflow/mfgwfnam.py b/flopy/mf6/modflow/mfgwfnam.py deleted file mode 100644 index ffbca4beb..000000000 --- a/flopy/mf6/modflow/mfgwfnam.py +++ /dev/null @@ -1,193 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfnam(mfpackage.MFPackage): - """ - ModflowGwfnam defines a nam package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - list : string - * list (string) is name of the listing file to create for this GWF - model. If not specified, then the name of the list file will be the - basename of the GWF model name file and the '.lst' extension. For - example, if the GWF name file is called "my.model.nam" then the list - file will be called "my.model.lst". - print_input : boolean - * print_input (boolean) keyword to indicate that the list of all model - stress package information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of all model - package flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that all model package flow - terms will be written to the file specified with "BUDGET FILEOUT" in - Output Control. - newtonoptions : [under_relaxation] - * under_relaxation (string) keyword that indicates whether the - groundwater head in a cell will be under-relaxed when water levels - fall below the bottom of the model below any given cell. By default, - Newton-Raphson UNDER_RELAXATION is not applied. - packages : [ftype, fname, pname] - * ftype (string) is the file type, which must be one of the following - character values shown in table ref{table:ftype-gwf}. Ftype may be - entered in any combination of uppercase and lowercase. - * fname (string) is the name of the file containing the package input. - The path to the file should be included if the file is not located in - the folder where the program was run. - * pname (string) is the user-defined name for the package. PNAME is - restricted to 16 characters. No spaces are allowed in PNAME. PNAME - character values are read and stored by the program for stress - packages only. These names may be useful for labeling purposes when - multiple stress packages of the same type are located within a single - GWF Model. If PNAME is specified for a stress package, then PNAME - will be used in the flow budget table in the listing file; it will - also be used for the text entry in the cell-by-cell budget file. - PNAME is case insensitive and is stored in all upper case letters. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - packages = ListTemplateGenerator(("gwf6", "nam", "packages", "packages")) - package_abbr = "gwfnam" - _package_type = "nam" - dfn_file_name = "gwf-nam.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name list", - "type string", - "reader urword", - "optional true", - "preserve_case true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name newtonoptions", - "type record newton under_relaxation", - "reader urword", - "optional true", - ], - [ - "block options", - "name newton", - "in_record true", - "type keyword", - "reader urword", - ], - [ - "block options", - "name under_relaxation", - "in_record true", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block packages", - "name packages", - "type recarray ftype fname pname", - "reader urword", - "optional false", - ], - [ - "block packages", - "name ftype", - "in_record true", - "type string", - "tagged false", - "reader urword", - ], - [ - "block packages", - "name fname", - "in_record true", - "type string", - "preserve_case true", - "tagged false", - "reader urword", - ], - [ - "block packages", - "name pname", - "in_record true", - "type string", - "tagged false", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - list=None, - print_input=None, - print_flows=None, - save_flows=None, - newtonoptions=None, - packages=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "nam", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.list = self.build_mfdata("list", list) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.newtonoptions = self.build_mfdata("newtonoptions", newtonoptions) - self.packages = self.build_mfdata("packages", packages) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfnpf.py b/flopy/mf6/modflow/mfgwfnpf.py deleted file mode 100644 index ad3798a87..000000000 --- a/flopy/mf6/modflow/mfgwfnpf.py +++ /dev/null @@ -1,630 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwfnpf(mfpackage.MFPackage): - """ - ModflowGwfnpf defines a npf package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that budget flow terms will - be written to the file specified with "BUDGET SAVE FILE" in Output - Control. - print_flows : boolean - * print_flows (boolean) keyword to indicate that calculated flows - between cells will be printed to the listing file for every stress - period time step in which "BUDGET PRINT" is specified in Output - Control. If there is no Output Control option and "PRINT_FLOWS" is - specified, then flow rates are printed for the last time step of each - stress period. This option can produce extremely large list files - because all cell-by-cell flows are printed. It should only be used - with the NPF Package for models that have a small number of cells. - alternative_cell_averaging : string - * alternative_cell_averaging (string) is a text keyword to indicate - that an alternative method will be used for calculating the - conductance for horizontal cell connections. The text value for - ALTERNATIVE_CELL_AVERAGING can be "LOGARITHMIC", "AMT-LMK", or "AMT- - HMK". "AMT-LMK" signifies that the conductance will be calculated - using arithmetic-mean thickness and logarithmic-mean hydraulic - conductivity. "AMT-HMK" signifies that the conductance will be - calculated using arithmetic-mean thickness and harmonic-mean - hydraulic conductivity. If the user does not specify a value for - ALTERNATIVE_CELL_AVERAGING, then the harmonic-mean method will be - used. This option cannot be used if the XT3D option is invoked. - thickstrt : boolean - * thickstrt (boolean) indicates that cells having a negative ICELLTYPE - are confined, and their cell thickness for conductance calculations - will be computed as STRT-BOT rather than TOP-BOT. This option should - be used with caution as it only affects conductance calculations in - the NPF Package. - cvoptions : [dewatered] - * dewatered (string) If the DEWATERED keyword is specified, then the - vertical conductance is calculated using only the saturated thickness - and properties of the overlying cell if the head in the underlying - cell is below its top. - perched : boolean - * perched (boolean) keyword to indicate that when a cell is overlying a - dewatered convertible cell, the head difference used in Darcy's Law - is equal to the head in the overlying cell minus the bottom elevation - of the overlying cell. If not specified, then the default is to use - the head difference between the two cells. - rewet_record : [wetfct, iwetit, ihdwet] - * wetfct (double) is a keyword and factor that is included in the - calculation of the head that is initially established at a cell when - that cell is converted from dry to wet. - * iwetit (integer) is a keyword and iteration interval for attempting - to wet cells. Wetting is attempted every IWETIT iteration. This - applies to outer iterations and not inner iterations. If IWETIT is - specified as zero or less, then the value is changed to 1. - * ihdwet (integer) is a keyword and integer flag that determines which - equation is used to define the initial head at cells that become wet. - If IHDWET is 0, h = BOT + WETFCT (hm - BOT). If IHDWET is not 0, h = - BOT + WETFCT (THRESH). - xt3doptions : [rhs] - * rhs (string) If the RHS keyword is also included, then the XT3D - additional terms will be added to the right-hand side. If the RHS - keyword is excluded, then the XT3D terms will be put into the - coefficient matrix. - save_specific_discharge : boolean - * save_specific_discharge (boolean) keyword to indicate that x, y, and - z components of specific discharge will be calculated at cell centers - and written to the budget file, which is specified with "BUDGET SAVE - FILE" in Output Control. If this option is activated, then additional - information may be required in the discretization packages and the - GWF Exchange package (if GWF models are coupled). Specifically, - ANGLDEGX must be specified in the CONNECTIONDATA block of the DISU - Package; ANGLDEGX must also be specified for the GWF Exchange as an - auxiliary variable. - save_saturation : boolean - * save_saturation (boolean) keyword to indicate that cell saturation - will be written to the budget file, which is specified with "BUDGET - SAVE FILE" in Output Control. Saturation will be saved to the budget - file as an auxiliary variable saved with the DATA-SAT text label. - Saturation is a cell variable that ranges from zero to one and can be - used by post processing programs to determine how much of a cell - volume is saturated. If ICELLTYPE is 0, then saturation is always - one. - k22overk : boolean - * k22overk (boolean) keyword to indicate that specified K22 is a ratio - of K22 divided by K. If this option is specified, then the K22 array - entered in the NPF Package will be multiplied by K after being read. - k33overk : boolean - * k33overk (boolean) keyword to indicate that specified K33 is a ratio - of K33 divided by K. If this option is specified, then the K33 array - entered in the NPF Package will be multiplied by K after being read. - perioddata : {varname:data} or tvk_perioddata data - * Contains data for the tvk package. Data can be stored in a dictionary - containing data for the tvk package with variable names as keys and - package data as values. Data just for the perioddata variable is also - acceptable. See tvk package documentation for more information. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - dev_no_newton : boolean - * dev_no_newton (boolean) turn off Newton for unconfined cells - dev_omega : double - * dev_omega (double) set saturation omega value - icelltype : [integer] - * icelltype (integer) flag for each cell that specifies how saturated - thickness is treated. 0 means saturated thickness is held constant; - >0 means saturated thickness varies with computed head when head is - below the cell top; <0 means saturated thickness varies with computed - head unless the THICKSTRT option is in effect. When THICKSTRT is in - effect, a negative value for ICELLTYPE indicates that the saturated - thickness value used in conductance calculations in the NPF Package - will be computed as STRT-BOT and held constant. If the THICKSTRT - option is not in effect, then negative values provided by the user - for ICELLTYPE are automatically reassigned by the program to a value - of one. - k : [double] - * k (double) is the hydraulic conductivity. For the common case in - which the user would like to specify the horizontal hydraulic - conductivity and the vertical hydraulic conductivity, then K should - be assigned as the horizontal hydraulic conductivity, K33 should be - assigned as the vertical hydraulic conductivity, and K22 and the - three rotation angles should not be specified. When more - sophisticated anisotropy is required, then K corresponds to the K11 - hydraulic conductivity axis. All included cells (IDOMAIN > 0) must - have a K value greater than zero. - k22 : [double] - * k22 (double) is the hydraulic conductivity of the second ellipsoid - axis (or the ratio of K22/K if the K22OVERK option is specified); for - an unrotated case this is the hydraulic conductivity in the y - direction. If K22 is not included in the GRIDDATA block, then K22 is - set equal to K. For a regular MODFLOW grid (DIS Package is used) in - which no rotation angles are specified, K22 is the hydraulic - conductivity along columns in the y direction. For an unstructured - DISU grid, the user must assign principal x and y axes and provide - the angle for each cell face relative to the assigned x direction. - All included cells (IDOMAIN > 0) must have a K22 value greater than - zero. - k33 : [double] - * k33 (double) is the hydraulic conductivity of the third ellipsoid - axis (or the ratio of K33/K if the K33OVERK option is specified); for - an unrotated case, this is the vertical hydraulic conductivity. When - anisotropy is applied, K33 corresponds to the K33 tensor component. - All included cells (IDOMAIN > 0) must have a K33 value greater than - zero. - angle1 : [double] - * angle1 (double) is a rotation angle of the hydraulic conductivity - tensor in degrees. The angle represents the first of three sequential - rotations of the hydraulic conductivity ellipsoid. With the K11, K22, - and K33 axes of the ellipsoid initially aligned with the x, y, and z - coordinate axes, respectively, ANGLE1 rotates the ellipsoid about its - K33 axis (within the x - y plane). A positive value represents - counter-clockwise rotation when viewed from any point on the positive - K33 axis, looking toward the center of the ellipsoid. A value of zero - indicates that the K11 axis lies within the x - z plane. If ANGLE1 is - not specified, default values of zero are assigned to ANGLE1, ANGLE2, - and ANGLE3, in which case the K11, K22, and K33 axes are aligned with - the x, y, and z axes, respectively. - angle2 : [double] - * angle2 (double) is a rotation angle of the hydraulic conductivity - tensor in degrees. The angle represents the second of three - sequential rotations of the hydraulic conductivity ellipsoid. - Following the rotation by ANGLE1 described above, ANGLE2 rotates the - ellipsoid about its K22 axis (out of the x - y plane). An array can - be specified for ANGLE2 only if ANGLE1 is also specified. A positive - value of ANGLE2 represents clockwise rotation when viewed from any - point on the positive K22 axis, looking toward the center of the - ellipsoid. A value of zero indicates that the K11 axis lies within - the x - y plane. If ANGLE2 is not specified, default values of zero - are assigned to ANGLE2 and ANGLE3; connections that are not user- - designated as vertical are assumed to be strictly horizontal (that - is, to have no z component to their orientation); and connection - lengths are based on horizontal distances. - angle3 : [double] - * angle3 (double) is a rotation angle of the hydraulic conductivity - tensor in degrees. The angle represents the third of three sequential - rotations of the hydraulic conductivity ellipsoid. Following the - rotations by ANGLE1 and ANGLE2 described above, ANGLE3 rotates the - ellipsoid about its K11 axis. An array can be specified for ANGLE3 - only if ANGLE1 and ANGLE2 are also specified. An array must be - specified for ANGLE3 if ANGLE2 is specified. A positive value of - ANGLE3 represents clockwise rotation when viewed from any point on - the positive K11 axis, looking toward the center of the ellipsoid. A - value of zero indicates that the K22 axis lies within the x - y - plane. - wetdry : [double] - * wetdry (double) is a combination of the wetting threshold and a flag - to indicate which neighboring cells can cause a cell to become wet. - If WETDRY < 0, only a cell below a dry cell can cause the cell to - become wet. If WETDRY > 0, the cell below a dry cell and horizontally - adjacent cells can cause a cell to become wet. If WETDRY is 0, the - cell cannot be wetted. The absolute value of WETDRY is the wetting - threshold. When the sum of BOT and the absolute value of WETDRY at a - dry cell is equaled or exceeded by the head at an adjacent cell, the - cell is wetted. WETDRY must be specified if "REWET" is specified in - the OPTIONS block. If "REWET" is not specified in the options block, - then WETDRY can be entered, and memory will be allocated for it, even - though it is not used. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - rewet_record = ListTemplateGenerator( - ("gwf6", "npf", "options", "rewet_record") - ) - tvk_filerecord = ListTemplateGenerator( - ("gwf6", "npf", "options", "tvk_filerecord") - ) - icelltype = ArrayTemplateGenerator( - ("gwf6", "npf", "griddata", "icelltype") - ) - k = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "k")) - k22 = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "k22")) - k33 = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "k33")) - angle1 = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "angle1")) - angle2 = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "angle2")) - angle3 = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "angle3")) - wetdry = ArrayTemplateGenerator(("gwf6", "npf", "griddata", "wetdry")) - package_abbr = "gwfnpf" - _package_type = "npf" - dfn_file_name = "gwf-npf.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name alternative_cell_averaging", - "type string", - "valid logarithmic amt-lmk amt-hmk", - "reader urword", - "optional true", - "mf6internal cellavg", - ], - [ - "block options", - "name thickstrt", - "type keyword", - "reader urword", - "optional true", - "mf6internal ithickstrt", - ], - [ - "block options", - "name cvoptions", - "type record variablecv dewatered", - "reader urword", - "optional true", - ], - [ - "block options", - "name variablecv", - "in_record true", - "type keyword", - "reader urword", - "mf6internal ivarcv", - ], - [ - "block options", - "name dewatered", - "in_record true", - "type keyword", - "reader urword", - "optional true", - "mf6internal idewatcv", - ], - [ - "block options", - "name perched", - "type keyword", - "reader urword", - "optional true", - "mf6internal iperched", - ], - [ - "block options", - "name rewet_record", - "type record rewet wetfct iwetit ihdwet", - "reader urword", - "optional true", - ], - [ - "block options", - "name rewet", - "type keyword", - "in_record true", - "reader urword", - "optional false", - "mf6internal irewet", - ], - [ - "block options", - "name wetfct", - "type double precision", - "in_record true", - "reader urword", - "optional false", - ], - [ - "block options", - "name iwetit", - "type integer", - "in_record true", - "reader urword", - "optional false", - ], - [ - "block options", - "name ihdwet", - "type integer", - "in_record true", - "reader urword", - "optional false", - ], - [ - "block options", - "name xt3doptions", - "type record xt3d rhs", - "reader urword", - "optional true", - ], - [ - "block options", - "name xt3d", - "in_record true", - "type keyword", - "reader urword", - "mf6internal ixt3d", - ], - [ - "block options", - "name rhs", - "in_record true", - "type keyword", - "reader urword", - "optional true", - "mf6internal ixt3drhs", - ], - [ - "block options", - "name save_specific_discharge", - "type keyword", - "reader urword", - "optional true", - "mf6internal isavspdis", - ], - [ - "block options", - "name save_saturation", - "type keyword", - "reader urword", - "optional true", - "mf6internal isavsat", - ], - [ - "block options", - "name k22overk", - "type keyword", - "reader urword", - "optional true", - "mf6internal ik22overk", - ], - [ - "block options", - "name k33overk", - "type keyword", - "reader urword", - "optional true", - "mf6internal ik33overk", - ], - [ - "block options", - "name tvk_filerecord", - "type record tvk6 filein tvk6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package tvk", - "construct_data tvk_perioddata", - "parameter_name perioddata", - ], - [ - "block options", - "name tvk6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name tvk6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block options", - "name dev_no_newton", - "type keyword", - "reader urword", - "optional true", - "mf6internal inewton", - ], - [ - "block options", - "name dev_omega", - "type double precision", - "reader urword", - "optional true", - "mf6internal satomega", - ], - [ - "block griddata", - "name icelltype", - "type integer", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional", - "default_value 0", - ], - [ - "block griddata", - "name k", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional", - "default_value 1.0", - ], - [ - "block griddata", - "name k22", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name k33", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name angle1", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name angle2", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name angle3", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name wetdry", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - print_flows=None, - alternative_cell_averaging=None, - thickstrt=None, - cvoptions=None, - perched=None, - rewet_record=None, - xt3doptions=None, - save_specific_discharge=None, - save_saturation=None, - k22overk=None, - k33overk=None, - perioddata=None, - export_array_ascii=None, - dev_no_newton=None, - dev_omega=None, - icelltype=0, - k=1.0, - k22=None, - k33=None, - angle1=None, - angle2=None, - angle3=None, - wetdry=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "npf", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.alternative_cell_averaging = self.build_mfdata( - "alternative_cell_averaging", alternative_cell_averaging - ) - self.thickstrt = self.build_mfdata("thickstrt", thickstrt) - self.cvoptions = self.build_mfdata("cvoptions", cvoptions) - self.perched = self.build_mfdata("perched", perched) - self.rewet_record = self.build_mfdata("rewet_record", rewet_record) - self.xt3doptions = self.build_mfdata("xt3doptions", xt3doptions) - self.save_specific_discharge = self.build_mfdata( - "save_specific_discharge", save_specific_discharge - ) - self.save_saturation = self.build_mfdata( - "save_saturation", save_saturation - ) - self.k22overk = self.build_mfdata("k22overk", k22overk) - self.k33overk = self.build_mfdata("k33overk", k33overk) - self._tvk_filerecord = self.build_mfdata("tvk_filerecord", None) - self._tvk_package = self.build_child_package( - "tvk", perioddata, "tvk_perioddata", self._tvk_filerecord - ) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.dev_no_newton = self.build_mfdata("dev_no_newton", dev_no_newton) - self.dev_omega = self.build_mfdata("dev_omega", dev_omega) - self.icelltype = self.build_mfdata("icelltype", icelltype) - self.k = self.build_mfdata("k", k) - self.k22 = self.build_mfdata("k22", k22) - self.k33 = self.build_mfdata("k33", k33) - self.angle1 = self.build_mfdata("angle1", angle1) - self.angle2 = self.build_mfdata("angle2", angle2) - self.angle3 = self.build_mfdata("angle3", angle3) - self.wetdry = self.build_mfdata("wetdry", wetdry) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfoc.py b/flopy/mf6/modflow/mfgwfoc.py deleted file mode 100644 index 906c319ad..000000000 --- a/flopy/mf6/modflow/mfgwfoc.py +++ /dev/null @@ -1,432 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfoc(mfpackage.MFPackage): - """ - ModflowGwfoc defines a oc package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - head_filerecord : [headfile] - * headfile (string) name of the output file to write head information. - headprintrecord : [columns, width, digits, format] - * columns (integer) number of columns for writing data. - * width (integer) width for writing each number. - * digits (integer) number of digits to use for writing a number. - * format (string) write format can be EXPONENTIAL, FIXED, GENERAL, or - SCIENTIFIC. - saverecord : [rtype, ocsetting] - * rtype (string) type of information to save or print. Can be BUDGET or - HEAD. - * ocsetting (keystring) specifies the steps for which the data will be - saved. - all : [keyword] - * all (keyword) keyword to indicate save for all time steps in - period. - first : [keyword] - * first (keyword) keyword to indicate save for first step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - last : [keyword] - * last (keyword) keyword to indicate save for last step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - frequency : [integer] - * frequency (integer) save at the specified time step - frequency. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - steps : [integer] - * steps (integer) save for each step specified in STEPS. This - keyword may be used in conjunction with other keywords to - print or save results for multiple time steps. - printrecord : [rtype, ocsetting] - * rtype (string) type of information to save or print. Can be BUDGET or - HEAD. - * ocsetting (keystring) specifies the steps for which the data will be - saved. - all : [keyword] - * all (keyword) keyword to indicate save for all time steps in - period. - first : [keyword] - * first (keyword) keyword to indicate save for first step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - last : [keyword] - * last (keyword) keyword to indicate save for last step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - frequency : [integer] - * frequency (integer) save at the specified time step - frequency. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - steps : [integer] - * steps (integer) save for each step specified in STEPS. This - keyword may be used in conjunction with other keywords to - print or save results for multiple time steps. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwf6", "oc", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwf6", "oc", "options", "budgetcsv_filerecord") - ) - head_filerecord = ListTemplateGenerator( - ("gwf6", "oc", "options", "head_filerecord") - ) - headprintrecord = ListTemplateGenerator( - ("gwf6", "oc", "options", "headprintrecord") - ) - saverecord = ListTemplateGenerator(("gwf6", "oc", "period", "saverecord")) - printrecord = ListTemplateGenerator( - ("gwf6", "oc", "period", "printrecord") - ) - package_abbr = "gwfoc" - _package_type = "oc" - dfn_file_name = "gwf-oc.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name head_filerecord", - "type record head fileout headfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name head", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name headfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name headprintrecord", - "type record head print_format formatrecord", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_format", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name formatrecord", - "type record columns width digits format", - "shape", - "in_record true", - "reader urword", - "tagged", - "optional false", - ], - [ - "block options", - "name columns", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name width", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name digits", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name format", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name saverecord", - "type record save rtype ocsetting", - "shape", - "reader urword", - "tagged false", - "optional true", - ], - [ - "block period", - "name save", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name printrecord", - "type record print rtype ocsetting", - "shape", - "reader urword", - "tagged false", - "optional true", - ], - [ - "block period", - "name print", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name rtype", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block period", - "name ocsetting", - "type keystring all first last frequency steps", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name all", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name first", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name last", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name frequency", - "type integer", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name steps", - "type integer", - "shape ( - * is the exchange type (GWF-GWF or GWF-GWT). - exgmnamea : - * is the name of the first model that is part of this exchange. - exgmnameb : - * is the name of the second model that is part of this exchange. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - package_abbr = "gwfprt" - _package_type = "gwfprt" - dfn_file_name = "exg-gwfprt.dfn" - - dfn = [ - [ - "header", - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - exgtype="GWF6-PRT6", - exgmnamea=None, - exgmnameb=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "gwfprt", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.exgtype = exgtype - - self.exgmnamea = exgmnamea - - self.exgmnameb = exgmnameb - - simulation.register_exchange_file(self) - - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfrch.py b/flopy/mf6/modflow/mfgwfrch.py deleted file mode 100644 index cb8f3d386..000000000 --- a/flopy/mf6/modflow/mfgwfrch.py +++ /dev/null @@ -1,370 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfrch(mfpackage.MFPackage): - """ - ModflowGwfrch defines a rch package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - fixed_cell : boolean - * fixed_cell (boolean) indicates that recharge will not be reassigned - to a cell underlying the cell specified in the list if the specified - cell is inactive. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of recharge. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of recharge cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of recharge - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of recharge - flow rates will be printed to the listing file for every stress - period time step in which "BUDGET PRINT" is specified in Output - Control. If there is no Output Control option and "PRINT_FLOWS" is - specified, then flow rates are printed for the last time step of each - stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that recharge flow terms - will be written to the file specified with "BUDGET FILEOUT" in Output - Control. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of - recharge cells cells that will be specified for use during any stress - period. - stress_period_data : [cellid, recharge, aux, boundname] - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * recharge (double) is the recharge flux rate (:math:`LT^{-1}`). This - rate is multiplied inside the program by the surface area of the cell - to calculate the volumetric recharge rate. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * aux (double) represents the values of the auxiliary variables for - each recharge. The values of auxiliary variables must be present for - each recharge. The values must be specified in the order of the - auxiliary variables specified in the OPTIONS block. If the package - supports time series and the Options block includes a TIMESERIESFILE - entry (see the "Time-Variable Input" section), values can be obtained - from a time series by entering the time-series name in place of a - numeric value. - * boundname (string) name of the recharge cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "rch", "options", "auxiliary")) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "rch", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "rch", "options", "obs_filerecord") - ) - stress_period_data = ListTemplateGenerator( - ("gwf6", "rch", "period", "stress_period_data") - ) - package_abbr = "gwfrch" - _package_type = "rch" - dfn_file_name = "gwf-rch.dfn" - - dfn = [ - ["header", "multi-package", "package-type stress-package"], - [ - "block options", - "name fixed_cell", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid recharge aux boundname", - "shape (maxbound)", - "reader urword", - "mf6internal spd", - ], - [ - "block period", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name recharge", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "time_series true", - "mf6internal auxvar", - ], - [ - "block period", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - fixed_cell=None, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - timeseries=None, - observations=None, - maxbound=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "rch", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.fixed_cell = self.build_mfdata("fixed_cell", fixed_cell) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfrcha.py b/flopy/mf6/modflow/mfgwfrcha.py deleted file mode 100644 index 84aefa86e..000000000 --- a/flopy/mf6/modflow/mfgwfrcha.py +++ /dev/null @@ -1,340 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwfrcha(mfpackage.MFPackage): - """ - ModflowGwfrcha defines a rcha package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - readasarrays : boolean - * readasarrays (boolean) indicates that array-based input will be used - for the Recharge Package. This keyword must be specified to use - array-based input. When READASARRAYS is specified, values must be - provided for every cell within a model layer, even those cells that - have an IDOMAIN value less than one. Values assigned to cells with - IDOMAIN values less than one are not used and have no effect on - simulation results. - fixed_cell : boolean - * fixed_cell (boolean) indicates that recharge will not be reassigned - to a cell underlying the cell specified in the list if the specified - cell is inactive. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of recharge. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of recharge - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of recharge - flow rates will be printed to the listing file for every stress - period time step in which "BUDGET PRINT" is specified in Output - Control. If there is no Output Control option and "PRINT_FLOWS" is - specified, then flow rates are printed for the last time step of each - stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that recharge flow terms - will be written to the file specified with "BUDGET FILEOUT" in Output - Control. - timearrayseries : {varname:data} or tas_array data - * Contains data for the tas package. Data can be stored in a dictionary - containing data for the tas package with variable names as keys and - package data as values. Data just for the timearrayseries variable is - also acceptable. See tas package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - irch : [integer] - * irch (integer) IRCH is the layer number that defines the layer in - each vertical column where recharge is applied. If IRCH is omitted, - recharge by default is applied to cells in layer 1. IRCH can only be - used if READASARRAYS is specified in the OPTIONS block. If IRCH is - specified, it must be specified as the first variable in the PERIOD - block or MODFLOW will terminate with an error. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - recharge : [double] - * recharge (double) is the recharge flux rate (:math:`LT^{-1}`). This - rate is multiplied inside the program by the surface area of the cell - to calculate the volumetric recharge rate. The recharge array may be - defined by a time-array series (see the "Using Time-Array Series in a - Package" section). - aux : [double] - * aux (double) is an array of values for auxiliary variable aux(iaux), - where iaux is a value from 1 to naux, and aux(iaux) must be listed as - part of the auxiliary variables. A separate array can be specified - for each auxiliary variable. If an array is not specified for an - auxiliary variable, then a value of zero is assigned. If the value - specified here for the auxiliary variable is the same as auxmultname, - then the recharge array will be multiplied by this array. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "rcha", "options", "auxiliary")) - tas_filerecord = ListTemplateGenerator( - ("gwf6", "rcha", "options", "tas_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "rcha", "options", "obs_filerecord") - ) - irch = ArrayTemplateGenerator(("gwf6", "rcha", "period", "irch")) - recharge = ArrayTemplateGenerator(("gwf6", "rcha", "period", "recharge")) - aux = ArrayTemplateGenerator(("gwf6", "rcha", "period", "aux")) - package_abbr = "gwfrcha" - _package_type = "rcha" - dfn_file_name = "gwf-rcha.dfn" - - dfn = [ - ["header", "multi-package", "package-type stress-package"], - [ - "block options", - "name readasarrays", - "type keyword", - "shape", - "reader urword", - "optional false", - "default_value True", - ], - [ - "block options", - "name fixed_cell", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name tas_filerecord", - "type record tas6 filein tas6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package tas", - "construct_data tas_array", - "parameter_name timearrayseries", - ], - [ - "block options", - "name tas6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name tas6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name irch", - "type integer", - "shape (ncol*nrow; ncpl)", - "reader readarray", - "numeric_index true", - "optional true", - ], - [ - "block period", - "name recharge", - "type double precision", - "shape (ncol*nrow; ncpl)", - "reader readarray", - "time_series true", - "default_value 1.e-3", - ], - [ - "block period", - "name aux", - "type double precision", - "shape (ncol*nrow; ncpl)", - "reader readarray", - "time_series true", - "optional true", - "mf6internal auxvar", - ], - ] - - def __init__( - self, - model, - loading_package=False, - readasarrays=True, - fixed_cell=None, - auxiliary=None, - auxmultname=None, - print_input=None, - print_flows=None, - save_flows=None, - timearrayseries=None, - observations=None, - irch=None, - recharge=1.0e-3, - aux=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "rcha", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.readasarrays = self.build_mfdata("readasarrays", readasarrays) - self.fixed_cell = self.build_mfdata("fixed_cell", fixed_cell) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._tas_filerecord = self.build_mfdata("tas_filerecord", None) - self._tas_package = self.build_child_package( - "tas", timearrayseries, "tas_array", self._tas_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.irch = self.build_mfdata("irch", irch) - self.recharge = self.build_mfdata("recharge", recharge) - self.aux = self.build_mfdata("aux", aux) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfriv.py b/flopy/mf6/modflow/mfgwfriv.py deleted file mode 100644 index 336cd9f93..000000000 --- a/flopy/mf6/modflow/mfgwfriv.py +++ /dev/null @@ -1,396 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfriv(mfpackage.MFPackage): - """ - ModflowGwfriv defines a riv package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of riverbed conductance. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of river cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of river - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of river flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that river flow terms will - be written to the file specified with "BUDGET FILEOUT" in Output - Control. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the River - Package can be used with the Water Mover (MVR) Package. When the - MOVER option is specified, additional memory is allocated within the - package to store the available, provided, and received water. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of - rivers cells that will be specified for use during any stress period. - stress_period_data : [cellid, stage, cond, rbot, aux, boundname] - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * stage (double) is the head in the river. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * cond (double) is the riverbed hydraulic conductance. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * rbot (double) is the elevation of the bottom of the riverbed. If the - Options block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - * aux (double) represents the values of the auxiliary variables for - each river. The values of auxiliary variables must be present for - each river. The values must be specified in the order of the - auxiliary variables specified in the OPTIONS block. If the package - supports time series and the Options block includes a TIMESERIESFILE - entry (see the "Time-Variable Input" section), values can be obtained - from a time series by entering the time-series name in place of a - numeric value. - * boundname (string) name of the river cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "riv", "options", "auxiliary")) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "riv", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "riv", "options", "obs_filerecord") - ) - stress_period_data = ListTemplateGenerator( - ("gwf6", "riv", "period", "stress_period_data") - ) - package_abbr = "gwfriv" - _package_type = "riv" - dfn_file_name = "gwf-riv.dfn" - - dfn = [ - ["header", "multi-package", "package-type stress-package"], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid stage cond rbot aux boundname", - "shape (maxbound)", - "reader urword", - "mf6internal spd", - ], - [ - "block period", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name stage", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name cond", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name rbot", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "time_series true", - "mf6internal auxvar", - ], - [ - "block period", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - timeseries=None, - observations=None, - mover=None, - maxbound=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "riv", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfsfr.py b/flopy/mf6/modflow/mfgwfsfr.py deleted file mode 100644 index 7b1ac67c3..000000000 --- a/flopy/mf6/modflow/mfgwfsfr.py +++ /dev/null @@ -1,1407 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfsfr(mfpackage.MFPackage): - """ - ModflowGwfsfr defines a sfr package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of stream reach cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of stream - reach information will be written to the listing file immediately - after it is read. - print_stage : boolean - * print_stage (boolean) keyword to indicate that the list of stream - reach stages will be printed to the listing file for every stress - period in which "HEAD PRINT" is specified in Output Control. If there - is no Output Control option and PRINT_STAGE is specified, then stages - are printed for the last time step of each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of stream - reach flow rates will be printed to the listing file for every stress - period time step in which "BUDGET PRINT" is specified in Output - Control. If there is no Output Control option and "PRINT_FLOWS" is - specified, then flow rates are printed for the last time step of each - stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that stream reach flow terms - will be written to the file specified with "BUDGET FILEOUT" in Output - Control. - stage_filerecord : [stagefile] - * stagefile (string) name of the binary output file to write stage - information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - package_convergence_filerecord : [package_convergence_filename] - * package_convergence_filename (string) name of the comma spaced values - output file to write package convergence information. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the SFR - Package can be used with the Water Mover (MVR) Package. When the - MOVER option is specified, additional memory is allocated within the - package to store the available, provided, and received water. - maximum_picard_iterations : integer - * maximum_picard_iterations (integer) integer value that defines the - maximum number of Streamflow Routing picard iterations allowed when - solving for reach stages and flows as part of the GWF formulate step. - Picard iterations are used to minimize differences in SFR package - results between subsequent GWF picard (non-linear) iterations as a - result of non-optimal reach numbering. If reaches are numbered in - order, from upstream to downstream, MAXIMUM_PICARD_ITERATIONS can be - set to 1 to reduce model run time. By default, - MAXIMUM_PICARD_ITERATIONS is equal to 100. - maximum_iterations : integer - * maximum_iterations (integer) integer value that defines the maximum - number of Streamflow Routing Newton-Raphson iterations allowed for a - reach. By default, MAXIMUM_ITERATIONS is equal to 100. - MAXIMUM_ITERATIONS would only need to be increased from the default - value if one or more reach in a simulation has a large water budget - error. - maximum_depth_change : double - * maximum_depth_change (double) real value that defines the depth - closure tolerance. By default, MAXIMUM_DEPTH_CHANGE is equal to - :math:`1 \\times 10^{-5}`. The MAXIMUM_STAGE_CHANGE would only need - to be increased or decreased from the default value if the water - budget error for one or more reach is too small or too large, - respectively. - unit_conversion : double - * unit_conversion (double) real value that is used to convert user- - specified Manning's roughness coefficients from seconds per - meters:math:`^{1/3}` to model length and time units. A constant of - 1.486 is used for flow units of cubic feet per second, and a constant - of 1.0 is used for units of cubic meters per second. The constant - must be multiplied by 86,400 when using time units of days in the - simulation. - length_conversion : double - * length_conversion (double) real value that is used to convert user- - specified Manning's roughness coefficients from meters to model - length units. LENGTH_CONVERSION should be set to 3.28081, 1.0, and - 100.0 when using length units (LENGTH_UNITS) of feet, meters, or - centimeters in the simulation, respectively. LENGTH_CONVERSION does - not need to be specified if LENGTH_UNITS are meters. - time_conversion : double - * time_conversion (double) real value that is used to convert user- - specified Manning's roughness coefficients from seconds to model time - units. TIME_CONVERSION should be set to 1.0, 60.0, 3,600.0, 86,400.0, - and 31,557,600.0 when using time units (TIME_UNITS) of seconds, - minutes, hours, days, or years in the simulation, respectively. - TIME_CONVERSION does not need to be specified if TIME_UNITS are - seconds. - nreaches : integer - * nreaches (integer) integer value specifying the number of stream - reaches. There must be NREACHES entries in the PACKAGEDATA block. - packagedata : [ifno, cellid, rlen, rwid, rgrd, rtp, rbth, rhk, man, ncon, - ustrf, ndv, aux, boundname] - * ifno (integer) integer value that defines the feature (reach) number - associated with the specified PACKAGEDATA data on the line. IFNO must - be greater than zero and less than or equal to NREACHES. Reach - information must be specified for every reach or the program will - terminate with an error. The program will also terminate with an - error if information for a reach is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. For - reaches that are not connected to an underlying GWF cell, a zero - should be specified for each grid dimension. For example, for a DIS - grid a CELLID of 0 0 0 should be specified. Reach-aquifer flow is not - calculated for unconnected reaches. The keyword NONE can be still be - specified to identify unconnected reaches for backward compatibility - with previous versions of MODFLOW 6 but eventually NONE will be - deprecated and will cause MODFLOW 6 to terminate with an error. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * rlen (double) real value that defines the reach length. RLEN must be - greater than zero. - * rwid (double) real value that defines the reach width. RWID must be - greater than zero. - * rgrd (double) real value that defines the stream gradient (slope) - across the reach. RGRD must be greater than zero. - * rtp (double) real value that defines the bottom elevation of the - reach. - * rbth (double) real value that defines the thickness of the reach - streambed. RBTH can be any value if the reach is not connected to an - underlying GWF cell. Otherwise, RBTH must be greater than zero. - * rhk (double) real or character value that defines the hydraulic - conductivity of the reach streambed. RHK can be any positive value if - the reach is not connected to an underlying GWF cell. Otherwise, RHK - must be greater than zero. If the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), values - can be obtained from a time series by entering the time-series name - in place of a numeric value. - * man (string) real or character value that defines the Manning's - roughness coefficient for the reach. MAN must be greater than zero. - If the Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time series - by entering the time-series name in place of a numeric value. - * ncon (integer) integer value that defines the number of reaches - connected to the reach. If a value of zero is specified for NCON an - entry for IFNO is still required in the subsequent CONNECTIONDATA - block. - * ustrf (double) real value that defines the fraction of upstream flow - from each upstream reach that is applied as upstream inflow to the - reach. The sum of all USTRF values for all reaches connected to the - same upstream reach must be equal to one and USTRF must be greater - than or equal to zero. If the Options block includes a TIMESERIESFILE - entry (see the "Time-Variable Input" section), values can be obtained - from a time series by entering the time-series name in place of a - numeric value. - * ndv (integer) integer value that defines the number of downstream - diversions for the reach. - * aux (double) represents the values of the auxiliary variables for - each stream reach. The values of auxiliary variables must be present - for each stream reach. The values must be specified in the order of - the auxiliary variables specified in the OPTIONS block. If the - package supports time series and the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), values - can be obtained from a time series by entering the time-series name - in place of a numeric value. - * boundname (string) name of the stream reach cell. BOUNDNAME is an - ASCII character variable that can contain as many as 40 characters. - If BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - crosssections : [ifno, tab6_filename] - * ifno (integer) integer value that defines the feature (reach) number - associated with the specified cross-section table file on the line. - IFNO must be greater than zero and less than or equal to NREACHES. - The program will also terminate with an error if table information - for a reach is specified more than once. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * tab6_filename (string) character string that defines the path and - filename for the file containing cross-section table data for the - reach. The TAB6_FILENAME file includes the number of entries in the - file and the station elevation data in terms of the fractional width - and the reach depth. Instructions for creating the TAB6_FILENAME - input file are provided in SFR Reach Cross-Section Table Input File - section. - connectiondata : [ifno, ic] - * ifno (integer) integer value that defines the feature (reach) number - associated with the specified CONNECTIONDATA data on the line. IFNO - must be greater than zero and less than or equal to NREACHES. Reach - connection information must be specified for every reach or the - program will terminate with an error. The program will also terminate - with an error if connection information for a reach is specified more - than once. This argument is an index variable, which means that it - should be treated as zero-based when working with FloPy and Python. - Flopy will automatically subtract one when loading index variables - and add one when writing index variables. - * ic (double_precision) integer value that defines the reach number of - the reach connected to the current reach and whether it is connected - to the upstream or downstream end of the reach. Negative IC numbers - indicate connected reaches are connected to the downstream end of the - current reach. Positive IC numbers indicate connected reaches are - connected to the upstream end of the current reach. The absolute - value of IC must be greater than zero and less than or equal to - NREACHES. IC should not be specified when NCON is zero but must be - specified otherwise. This argument is an index variable, which means - that it should be treated as zero-based when working with FloPy and - Python. Flopy will automatically subtract one when loading index - variables and add one when writing index variables. - diversions : [ifno, idv, iconr, cprior] - * ifno (integer) integer value that defines the feature (reach) number - associated with the specified DIVERSIONS data on the line. IFNO must - be greater than zero and less than or equal to NREACHES. Reach - diversion information must be specified for every reach with a NDV - value greater than 0 or the program will terminate with an error. The - program will also terminate with an error if diversion information - for a given reach diversion is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * idv (integer) integer value that defines the downstream diversion - number for the diversion for reach IFNO. IDV must be greater than - zero and less than or equal to NDV for reach IFNO. This argument is - an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * iconr (integer) integer value that defines the downstream reach that - will receive the diverted water. IDV must be greater than zero and - less than or equal to NREACHES. Furthermore, reach ICONR must be a - downstream connection for reach IFNO. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * cprior (string) character string value that defines the the - prioritization system for the diversion, such as when insufficient - water is available to meet all diversion stipulations, and is used in - conjunction with the value of FLOW value specified in the - STRESS_PERIOD_DATA section. Available diversion options include: (1) - CPRIOR = 'FRACTION', then the amount of the diversion is computed as - a fraction of the streamflow leaving reach IFNO (:math:`Q_{DS}`); in - this case, 0.0 :math:`\\le` DIVFLOW :math:`\\le` 1.0. (2) CPRIOR = - 'EXCESS', a diversion is made only if :math:`Q_{DS}` for reach IFNO - exceeds the value of DIVFLOW. If this occurs, then the quantity of - water diverted is the excess flow (:math:`Q_{DS} -` DIVFLOW) and - :math:`Q_{DS}` from reach IFNO is set equal to DIVFLOW. This - represents a flood-control type of diversion, as described by Danskin - and Hanson (2002). (3) CPRIOR = 'THRESHOLD', then if :math:`Q_{DS}` - in reach IFNO is less than the specified diversion flow DIVFLOW, no - water is diverted from reach IFNO. If :math:`Q_{DS}` in reach IFNO is - greater than or equal to DIVFLOW, DIVFLOW is diverted and - :math:`Q_{DS}` is set to the remainder (:math:`Q_{DS} -` DIVFLOW)). - This approach assumes that once flow in the stream is sufficiently - low, diversions from the stream cease, and is the 'priority' - algorithm that originally was programmed into the STR1 Package - (Prudic, 1989). (4) CPRIOR = 'UPTO' -- if :math:`Q_{DS}` in reach - IFNO is greater than or equal to the specified diversion flow - DIVFLOW, :math:`Q_{DS}` is reduced by DIVFLOW. If :math:`Q_{DS}` in - reach IFNO is less than DIVFLOW, DIVFLOW is set to :math:`Q_{DS}` and - there will be no flow available for reaches connected to downstream - end of reach IFNO. - perioddata : [ifno, sfrsetting] - * ifno (integer) integer value that defines the feature (reach) number - associated with the specified PERIOD data on the line. IFNO must be - greater than zero and less than or equal to NREACHES. This argument - is an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * sfrsetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - SFRSETTING string include: STATUS, BEDK, MANNING, STAGE, INFLOW, - RAINFALL, EVAPORATION, RUNOFF, DIVERSION, UPSTREAM_FRACTION, and - AUXILIARY. - status : [string] - * status (string) keyword option to define stream reach status. - STATUS can be ACTIVE, INACTIVE, or SIMPLE. The SIMPLE STATUS - option simulates streamflow using a user-specified stage for - a reach or a stage set to the top of the reach (depth = 0). - In cases where the simulated leakage calculated using the - specified stage exceeds the sum of inflows to the reach, the - stage is set to the top of the reach and leakage is set equal - to the sum of inflows. Upstream fractions should be changed - using the UPSTREAM_FRACTION SFRSETTING if the status for one - or more reaches is changed to ACTIVE or INACTIVE. For - example, if one of two downstream connections for a reach is - inactivated, the upstream fraction for the active and - inactive downstream reach should be changed to 1.0 and 0.0, - respectively, to ensure that the active reach receives all of - the downstream outflow from the upstream reach. By default, - STATUS is ACTIVE. - bedk : [string] - * bedk (string) real or character value that defines the - hydraulic conductivity of the reach streambed. BEDK can be - any positive value if the reach is not connected to an - underlying GWF cell. Otherwise, BEDK must be greater than - zero. If the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be - obtained from a time series by entering the time-series name - in place of a numeric value. - manning : [string] - * manning (string) real or character value that defines the - Manning's roughness coefficient for the reach. MANNING must - be greater than zero. If the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), - values can be obtained from a time series by entering the - time-series name in place of a numeric value. - stage : [string] - * stage (string) real or character value that defines the stage - for the reach. The specified STAGE is only applied if the - reach uses the simple routing option. If STAGE is not - specified for reaches that use the simple routing option, the - specified stage is set to the top of the reach. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - inflow : [string] - * inflow (string) real or character value that defines the - volumetric inflow rate for the streamflow routing reach. If - the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. By default, inflow rates are zero for each - reach. - rainfall : [string] - * rainfall (string) real or character value that defines the - volumetric rate per unit area of water added by precipitation - directly on the streamflow routing reach. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. By - default, rainfall rates are zero for each reach. - evaporation : [string] - * evaporation (string) real or character value that defines the - volumetric rate per unit area of water subtracted by - evaporation from the streamflow routing reach. A positive - evaporation rate should be provided. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. If - the volumetric evaporation rate for a reach exceeds the - sources of water to the reach (upstream and specified - inflows, rainfall, and runoff but excluding groundwater - leakage into the reach) the volumetric evaporation rate is - limited to the sources of water to the reach. By default, - evaporation rates are zero for each reach. - runoff : [string] - * runoff (string) real or character value that defines the - volumetric rate of diffuse overland runoff that enters the - streamflow routing reach. If the Options block includes a - TIMESERIESFILE entry (see the "Time-Variable Input" section), - values can be obtained from a time series by entering the - time-series name in place of a numeric value. If the - volumetric runoff rate for a reach is negative and exceeds - inflows to the reach (upstream and specified inflows, and - rainfall but excluding groundwater leakage into the reach) - the volumetric runoff rate is limited to inflows to the reach - and the volumetric evaporation rate for the reach is set to - zero. By default, runoff rates are zero for each reach. - diversionrecord : [idv, divflow] - * idv (integer) an integer value specifying which diversion of - reach IFNO that DIVFLOW is being specified for. Must be less - or equal to ndv for the current reach (IFNO). This argument - is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and - add one when writing index variables. - * divflow (double) real or character value that defines the - volumetric diversion (DIVFLOW) rate for the streamflow - routing reach. If the Options block includes a TIMESERIESFILE - entry (see the "Time-Variable Input" section), values can be - obtained from a time series by entering the time-series name - in place of a numeric value. - upstream_fraction : [double] - * upstream_fraction (double) real value that defines the - fraction of upstream flow (USTRF) from each upstream reach - that is applied as upstream inflow to the reach. The sum of - all USTRF values for all reaches connected to the same - upstream reach must be equal to one. - cross_sectionrecord : [tab6_filename] - * tab6_filename (string) character string that defines the path - and filename for the file containing cross-section table data - for the reach. The TAB6_FILENAME file includes the number of - entries in the file and the station elevation data in terms - of the fractional width and the reach depth. Instructions for - creating the TAB6_FILENAME input file are provided in SFR - Reach Cross-Section Table Input File section. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "sfr", "options", "auxiliary")) - stage_filerecord = ListTemplateGenerator( - ("gwf6", "sfr", "options", "stage_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwf6", "sfr", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwf6", "sfr", "options", "budgetcsv_filerecord") - ) - package_convergence_filerecord = ListTemplateGenerator( - ("gwf6", "sfr", "options", "package_convergence_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "sfr", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "sfr", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwf6", "sfr", "packagedata", "packagedata") - ) - crosssections = ListTemplateGenerator( - ("gwf6", "sfr", "crosssections", "crosssections") - ) - connectiondata = ListTemplateGenerator( - ("gwf6", "sfr", "connectiondata", "connectiondata") - ) - diversions = ListTemplateGenerator( - ("gwf6", "sfr", "diversions", "diversions") - ) - perioddata = ListTemplateGenerator(("gwf6", "sfr", "period", "perioddata")) - package_abbr = "gwfsfr" - _package_type = "sfr" - dfn_file_name = "gwf-sfr.dfn" - - dfn = [ - ["header", "multi-package", "package-type advanced-stress-package"], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_stage", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name stage_filerecord", - "type record stage fileout stagefile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name stage", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name stagefile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name package_convergence_filerecord", - "type record package_convergence fileout " - "package_convergence_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name package_convergence", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name package_convergence_filename", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name maximum_picard_iterations", - "type integer", - "reader urword", - "optional true", - ], - [ - "block options", - "name maximum_iterations", - "type integer", - "reader urword", - "optional true", - ], - [ - "block options", - "name maximum_depth_change", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name unit_conversion", - "type double precision", - "reader urword", - "optional true", - "deprecated 6.4.2", - ], - [ - "block options", - "name length_conversion", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name time_conversion", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name nreaches", - "type integer", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray ifno cellid rlen rwid rgrd rtp rbth rhk man ncon " - "ustrf ndv aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block packagedata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rlen", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rwid", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rgrd", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rtp", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rbth", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name rhk", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block packagedata", - "name man", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block packagedata", - "name ncon", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name ustrf", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block packagedata", - "name ndv", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block crosssections", - "name crosssections", - "type recarray ifno tab6 filein tab6_filename", - "shape", - "valid", - "optional false", - "reader urword", - ], - [ - "block crosssections", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block crosssections", - "name tab6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block crosssections", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block crosssections", - "name tab6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block connectiondata", - "name connectiondata", - "type recarray ifno ic", - "shape (maxbound)", - "reader urword", - ], - [ - "block connectiondata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block connectiondata", - "name ic", - "type integer", - "shape (ncon(ifno))", - "tagged false", - "in_record true", - "reader urword", - "optional true", - "numeric_index true", - "support_negative_index true", - ], - [ - "block diversions", - "name diversions", - "type recarray ifno idv iconr cprior", - "shape (maxbound)", - "reader urword", - ], - [ - "block diversions", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block diversions", - "name idv", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block diversions", - "name iconr", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block diversions", - "name cprior", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name perioddata", - "type recarray ifno sfrsetting", - "shape", - "reader urword", - ], - [ - "block period", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name sfrsetting", - "type keystring status bedk manning stage inflow rainfall " - "evaporation runoff diversionrecord upstream_fraction " - "cross_sectionrecord auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name bedk", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name manning", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name stage", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name inflow", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name rainfall", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name evaporation", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name runoff", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name diversionrecord", - "type record diversion idv divflow", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name diversion", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name idv", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name divflow", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name upstream_fraction", - "type double precision", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name cross_sectionrecord", - "type record cross_section tab6 filein tab6_filename", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name cross_section", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name tab6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name tab6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - boundnames=None, - print_input=None, - print_stage=None, - print_flows=None, - save_flows=None, - stage_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - package_convergence_filerecord=None, - timeseries=None, - observations=None, - mover=None, - maximum_picard_iterations=None, - maximum_iterations=None, - maximum_depth_change=None, - unit_conversion=None, - length_conversion=None, - time_conversion=None, - nreaches=None, - packagedata=None, - crosssections=None, - connectiondata=None, - diversions=None, - perioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "sfr", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_stage = self.build_mfdata("print_stage", print_stage) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.stage_filerecord = self.build_mfdata( - "stage_filerecord", stage_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self.package_convergence_filerecord = self.build_mfdata( - "package_convergence_filerecord", package_convergence_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.maximum_picard_iterations = self.build_mfdata( - "maximum_picard_iterations", maximum_picard_iterations - ) - self.maximum_iterations = self.build_mfdata( - "maximum_iterations", maximum_iterations - ) - self.maximum_depth_change = self.build_mfdata( - "maximum_depth_change", maximum_depth_change - ) - self.unit_conversion = self.build_mfdata( - "unit_conversion", unit_conversion - ) - self.length_conversion = self.build_mfdata( - "length_conversion", length_conversion - ) - self.time_conversion = self.build_mfdata( - "time_conversion", time_conversion - ) - self.nreaches = self.build_mfdata("nreaches", nreaches) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.crosssections = self.build_mfdata("crosssections", crosssections) - self.connectiondata = self.build_mfdata( - "connectiondata", connectiondata - ) - self.diversions = self.build_mfdata("diversions", diversions) - self.perioddata = self.build_mfdata("perioddata", perioddata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfsto.py b/flopy/mf6/modflow/mfgwfsto.py deleted file mode 100644 index 398b5572e..000000000 --- a/flopy/mf6/modflow/mfgwfsto.py +++ /dev/null @@ -1,257 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwfsto(mfpackage.MFPackage): - """ - ModflowGwfsto defines a sto package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that cell-by-cell flow terms - will be written to the file specified with "BUDGET SAVE FILE" in - Output Control. - storagecoefficient : boolean - * storagecoefficient (boolean) keyword to indicate that the SS array is - read as storage coefficient rather than specific storage. - ss_confined_only : boolean - * ss_confined_only (boolean) keyword to indicate that compressible - storage is only calculated for a convertible cell (ICONVERT>0) when - the cell is under confined conditions (head greater than or equal to - the top of the cell). This option has no effect on cells that are - marked as being always confined (ICONVERT=0). This option is - identical to the approach used to calculate storage changes under - confined conditions in MODFLOW-2005. - perioddata : {varname:data} or tvs_perioddata data - * Contains data for the tvs package. Data can be stored in a dictionary - containing data for the tvs package with variable names as keys and - package data as values. Data just for the perioddata variable is also - acceptable. See tvs package documentation for more information. - iconvert : [integer] - * iconvert (integer) is a flag for each cell that specifies whether or - not a cell is convertible for the storage calculation. 0 indicates - confined storage is used. >0 indicates confined storage is used when - head is above cell top and a mixed formulation of unconfined and - confined storage is used when head is below cell top. - ss : [double] - * ss (double) is specific storage (or the storage coefficient if - STORAGECOEFFICIENT is specified as an option). Specific storage - values must be greater than or equal to 0. If the CSUB Package is - included in the GWF model, specific storage must be zero for every - cell. - sy : [double] - * sy (double) is specific yield. Specific yield values must be greater - than or equal to 0. Specific yield does not have to be specified if - there are no convertible cells (ICONVERT=0 in every cell). - steady_state : boolean - * steady-state (boolean) keyword to indicate that stress period IPER is - steady-state. Steady-state conditions will apply until the TRANSIENT - keyword is specified in a subsequent BEGIN PERIOD block. If the CSUB - Package is included in the GWF model, only the first and last stress - period can be steady-state. - transient : boolean - * transient (boolean) keyword to indicate that stress period IPER is - transient. Transient conditions will apply until the STEADY-STATE - keyword is specified in a subsequent BEGIN PERIOD block. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - tvs_filerecord = ListTemplateGenerator( - ("gwf6", "sto", "options", "tvs_filerecord") - ) - iconvert = ArrayTemplateGenerator(("gwf6", "sto", "griddata", "iconvert")) - ss = ArrayTemplateGenerator(("gwf6", "sto", "griddata", "ss")) - sy = ArrayTemplateGenerator(("gwf6", "sto", "griddata", "sy")) - package_abbr = "gwfsto" - _package_type = "sto" - dfn_file_name = "gwf-sto.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name storagecoefficient", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name ss_confined_only", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name tvs_filerecord", - "type record tvs6 filein tvs_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package tvs", - "construct_data tvs_perioddata", - "parameter_name perioddata", - ], - [ - "block options", - "name tvs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name tvs_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block griddata", - "name iconvert", - "type integer", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional false", - "default_value 0", - ], - [ - "block griddata", - "name ss", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional false", - "default_value 1.e-5", - ], - [ - "block griddata", - "name sy", - "type double precision", - "shape (nodes)", - "valid", - "reader readarray", - "layered true", - "optional false", - "default_value 0.15", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name steady-state", - "type keyword", - "shape", - "valid", - "reader urword", - "optional true", - ], - [ - "block period", - "name transient", - "type keyword", - "shape", - "valid", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - storagecoefficient=None, - ss_confined_only=None, - perioddata=None, - iconvert=0, - ss=1.0e-5, - sy=0.15, - steady_state=None, - transient=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "sto", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.storagecoefficient = self.build_mfdata( - "storagecoefficient", storagecoefficient - ) - self.ss_confined_only = self.build_mfdata( - "ss_confined_only", ss_confined_only - ) - self._tvs_filerecord = self.build_mfdata("tvs_filerecord", None) - self._tvs_package = self.build_child_package( - "tvs", perioddata, "tvs_perioddata", self._tvs_filerecord - ) - self.iconvert = self.build_mfdata("iconvert", iconvert) - self.ss = self.build_mfdata("ss", ss) - self.sy = self.build_mfdata("sy", sy) - self.steady_state = self.build_mfdata("steady-state", steady_state) - self.transient = self.build_mfdata("transient", transient) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfuzf.py b/flopy/mf6/modflow/mfgwfuzf.py deleted file mode 100644 index 1549865f2..000000000 --- a/flopy/mf6/modflow/mfgwfuzf.py +++ /dev/null @@ -1,927 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfuzf(mfpackage.MFPackage): - """ - ModflowGwfuzf defines a uzf package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of GWF cell area used by UZF cell. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of UZF cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of UZF - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of UZF flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that UZF flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - wc_filerecord : [wcfile] - * wcfile (string) name of the binary output file to write water content - information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - package_convergence_filerecord : [package_convergence_filename] - * package_convergence_filename (string) name of the comma spaced values - output file to write package convergence information. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the UZF - Package can be used with the Water Mover (MVR) Package. When the - MOVER option is specified, additional memory is allocated within the - package to store the available, provided, and received water. - simulate_et : boolean - * simulate_et (boolean) keyword specifying that ET in the unsaturated - (UZF) and saturated zones (GWF) will be simulated. ET can be - simulated in the UZF cell and not the GWF cell by omitting keywords - LINEAR_GWET and SQUARE_GWET. - linear_gwet : boolean - * linear_gwet (boolean) keyword specifying that groundwater ET will be - simulated using the original ET formulation of MODFLOW-2005. - square_gwet : boolean - * square_gwet (boolean) keyword specifying that groundwater ET will be - simulated by assuming a constant ET rate for groundwater levels - between land surface (TOP) and land surface minus the ET extinction - depth (TOP-EXTDP). Groundwater ET is smoothly reduced from the PET - rate to zero over a nominal interval at TOP-EXTDP. - simulate_gwseep : boolean - * simulate_gwseep (boolean) keyword specifying that groundwater - discharge (GWSEEP) to land surface will be simulated. Groundwater - discharge is nonzero when groundwater head is greater than land - surface. This option is no longer recommended; a better approach is - to use the Drain Package with discharge scaling as a way to handle - seepage to land surface. The Drain Package with discharge scaling is - described in Chapter 3 of the Supplemental Technical Information. - unsat_etwc : boolean - * unsat_etwc (boolean) keyword specifying that ET in the unsaturated - zone will be simulated as a function of the specified PET rate while - the water content (THETA) is greater than the ET extinction water - content (EXTWC). - unsat_etae : boolean - * unsat_etae (boolean) keyword specifying that ET in the unsaturated - zone will be simulated using a capillary pressure based formulation. - Capillary pressure is calculated using the Brooks-Corey retention - function. - nuzfcells : integer - * nuzfcells (integer) is the number of UZF cells. More than one UZF - cell can be assigned to a GWF cell; however, only one GWF cell can be - assigned to a single UZF cell. If more than one UZF cell is assigned - to a GWF cell, then an auxiliary variable should be used to reduce - the surface area of the UZF cell with the AUXMULTNAME option. - ntrailwaves : integer - * ntrailwaves (integer) is the number of trailing waves. A recommended - value of 7 can be used for NTRAILWAVES. This value can be increased - to lower mass balance error in the unsaturated zone. - nwavesets : integer - * nwavesets (integer) is the number of wave sets. A recommended value - of 40 can be used for NWAVESETS. This value can be increased if more - waves are required to resolve variations in water content within the - unsaturated zone. - packagedata : [ifno, cellid, landflag, ivertcon, surfdep, vks, thtr, thts, - thti, eps, boundname] - * ifno (integer) integer value that defines the feature (UZF object) - number associated with the specified PACKAGEDATA data on the line. - IFNO must be greater than zero and less than or equal to NUZFCELLS. - UZF information must be specified for every UZF cell or the program - will terminate with an error. The program will also terminate with an - error if information for a UZF cell is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * landflag (integer) integer value set to one for land surface cells - indicating that boundary conditions can be applied and data can be - specified in the PERIOD block. A value of 0 specifies a non-land - surface cell. - * ivertcon (integer) integer value set to specify underlying UZF cell - that receives water flowing to bottom of cell. If unsaturated zone - flow reaches the water table before the cell bottom, then water is - added to the GWF cell instead of flowing to the underlying UZF cell. - A value of 0 indicates the UZF cell is not connected to an underlying - UZF cell. This argument is an index variable, which means that it - should be treated as zero-based when working with FloPy and Python. - Flopy will automatically subtract one when loading index variables - and add one when writing index variables. - * surfdep (double) is the surface depression depth of the UZF cell. - * vks (double) is the saturated vertical hydraulic conductivity of the - UZF cell. This value is used with the Brooks-Corey function and the - simulated water content to calculate the partially saturated - hydraulic conductivity. - * thtr (double) is the residual (irreducible) water content of the UZF - cell. This residual water is not available to plants and will not - drain into underlying aquifer cells. - * thts (double) is the saturated water content of the UZF cell. The - values for saturated and residual water content should be set in a - manner that is consistent with the specific yield value specified in - the Storage Package. The saturated water content must be greater than - the residual content. - * thti (double) is the initial water content of the UZF cell. The value - must be greater than or equal to the residual water content and less - than or equal to the saturated water content. - * eps (double) is the exponent used in the Brooks-Corey function. The - Brooks-Corey function is used by UZF to calculated hydraulic - conductivity under partially saturated conditions as a function of - water content and the user-specified saturated hydraulic - conductivity. - * boundname (string) name of the UZF cell cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - perioddata : [ifno, finf, pet, extdp, extwc, ha, hroot, rootact, aux] - * ifno (integer) integer value that defines the feature (UZF object) - number associated with the specified PERIOD data on the line. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * finf (string) real or character value that defines the applied - infiltration rate of the UZF cell (:math:`LT^{-1}`). If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * pet (string) real or character value that defines the potential - evapotranspiration rate of the UZF cell and specified GWF cell. - Evapotranspiration is first removed from the unsaturated zone and any - remaining potential evapotranspiration is applied to the saturated - zone. If IVERTCON is greater than zero then residual potential - evapotranspiration not satisfied in the UZF cell is applied to the - underlying UZF and GWF cells. PET is always specified, but is only - used if SIMULATE_ET is specified in the OPTIONS block. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * extdp (string) real or character value that defines the - evapotranspiration extinction depth of the UZF cell. If IVERTCON is - greater than zero and EXTDP extends below the GWF cell bottom then - remaining potential evapotranspiration is applied to the underlying - UZF and GWF cells. EXTDP is always specified, but is only used if - SIMULATE_ET is specified in the OPTIONS block. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * extwc (string) real or character value that defines the - evapotranspiration extinction water content of the UZF cell. EXTWC is - always specified, but is only used if SIMULATE_ET and UNSAT_ETWC are - specified in the OPTIONS block. The evapotranspiration rate from the - unsaturated zone will be set to zero when the calculated water - content is at or less than this value. The value for EXTWC cannot be - less than the residual water content, and if it is specified as being - less than the residual water content it is set to the residual water - content. If the Options block includes a TIMESERIESFILE entry (see - the "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a numeric - value. - * ha (string) real or character value that defines the air entry - potential (head) of the UZF cell. HA is always specified, but is only - used if SIMULATE_ET and UNSAT_ETAE are specified in the OPTIONS - block. If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric value. - * hroot (string) real or character value that defines the root - potential (head) of the UZF cell. HROOT is always specified, but is - only used if SIMULATE_ET and UNSAT_ETAE are specified in the OPTIONS - block. If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric value. - * rootact (string) real or character value that defines the root - activity function of the UZF cell. ROOTACT is the length of roots in - a given volume of soil divided by that volume. Values range from 0 to - about 3 :math:`cm^{-2}`, depending on the plant community and its - stage of development. ROOTACT is always specified, but is only used - if SIMULATE_ET and UNSAT_ETAE are specified in the OPTIONS block. If - the Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time series - by entering the time-series name in place of a numeric value. - * aux (double) represents the values of the auxiliary variables for - each UZF. The values of auxiliary variables must be present for each - UZF. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "uzf", "options", "auxiliary")) - wc_filerecord = ListTemplateGenerator( - ("gwf6", "uzf", "options", "wc_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwf6", "uzf", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwf6", "uzf", "options", "budgetcsv_filerecord") - ) - package_convergence_filerecord = ListTemplateGenerator( - ("gwf6", "uzf", "options", "package_convergence_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "uzf", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "uzf", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwf6", "uzf", "packagedata", "packagedata") - ) - perioddata = ListTemplateGenerator(("gwf6", "uzf", "period", "perioddata")) - package_abbr = "gwfuzf" - _package_type = "uzf" - dfn_file_name = "gwf-uzf.dfn" - - dfn = [ - ["header", "multi-package", "package-type advanced-stress-package"], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name wc_filerecord", - "type record water_content fileout wcfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name water_content", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name wcfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "preserve_case true", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name package_convergence_filerecord", - "type record package_convergence fileout " - "package_convergence_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name package_convergence", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name package_convergence_filename", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name simulate_et", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name linear_gwet", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name square_gwet", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name simulate_gwseep", - "type keyword", - "tagged true", - "reader urword", - "optional true", - "deprecated 6.5.0", - ], - [ - "block options", - "name unsat_etwc", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block options", - "name unsat_etae", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name nuzfcells", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name ntrailwaves", - "type integer", - "reader urword", - "optional false", - "default_value 7", - ], - [ - "block dimensions", - "name nwavesets", - "type integer", - "reader urword", - "optional false", - "default_value 40", - ], - [ - "block packagedata", - "name packagedata", - "type recarray ifno cellid landflag ivertcon surfdep vks thtr " - "thts thti eps boundname", - "shape (nuzfcells)", - "reader urword", - ], - [ - "block packagedata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name landflag", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name ivertcon", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name surfdep", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name vks", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name thtr", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name thts", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name thti", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name eps", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name perioddata", - "type recarray ifno finf pet extdp extwc ha hroot rootact aux", - "shape", - "reader urword", - ], - [ - "block period", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name finf", - "type string", - "shape", - "tagged false", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name pet", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name extdp", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name extwc", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name ha", - "type string", - "shape", - "tagged false", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name hroot", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name rootact", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - wc_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - package_convergence_filerecord=None, - timeseries=None, - observations=None, - mover=None, - simulate_et=None, - linear_gwet=None, - square_gwet=None, - simulate_gwseep=None, - unsat_etwc=None, - unsat_etae=None, - nuzfcells=None, - ntrailwaves=7, - nwavesets=40, - packagedata=None, - perioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "uzf", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.wc_filerecord = self.build_mfdata("wc_filerecord", wc_filerecord) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self.package_convergence_filerecord = self.build_mfdata( - "package_convergence_filerecord", package_convergence_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.simulate_et = self.build_mfdata("simulate_et", simulate_et) - self.linear_gwet = self.build_mfdata("linear_gwet", linear_gwet) - self.square_gwet = self.build_mfdata("square_gwet", square_gwet) - self.simulate_gwseep = self.build_mfdata( - "simulate_gwseep", simulate_gwseep - ) - self.unsat_etwc = self.build_mfdata("unsat_etwc", unsat_etwc) - self.unsat_etae = self.build_mfdata("unsat_etae", unsat_etae) - self.nuzfcells = self.build_mfdata("nuzfcells", nuzfcells) - self.ntrailwaves = self.build_mfdata("ntrailwaves", ntrailwaves) - self.nwavesets = self.build_mfdata("nwavesets", nwavesets) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.perioddata = self.build_mfdata("perioddata", perioddata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfvsc.py b/flopy/mf6/modflow/mfgwfvsc.py deleted file mode 100644 index 76dec5a1f..000000000 --- a/flopy/mf6/modflow/mfgwfvsc.py +++ /dev/null @@ -1,315 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfvsc(mfpackage.MFPackage): - """ - ModflowGwfvsc defines a vsc package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - viscref : double - * viscref (double) fluid reference viscosity used in the equation of - state. This value is set to 1.0 if not specified as an option. - temperature_species_name : string - * temperature_species_name (string) string used to identify the - auxspeciesname in PACKAGEDATA that corresponds to the temperature - species. There can be only one occurrence of this temperature species - name in the PACKAGEDATA block or the program will terminate with an - error. This value has no effect if viscosity does not depend on - temperature. - thermal_formulation : string - * thermal_formulation (string) may be used for specifying which - viscosity formulation to use for the temperature species. Can be - either LINEAR or NONLINEAR. The LINEAR viscosity formulation is the - default. - thermal_a2 : double - * thermal_a2 (double) is an empirical parameter specified by the user - for calculating viscosity using a nonlinear formulation. If A2 is not - specified, a default value of 10.0 is assigned (Voss, 1984). - thermal_a3 : double - * thermal_a3 (double) is an empirical parameter specified by the user - for calculating viscosity using a nonlinear formulation. If A3 is not - specified, a default value of 248.37 is assigned (Voss, 1984). - thermal_a4 : double - * thermal_a4 (double) is an empirical parameter specified by the user - for calculating viscosity using a nonlinear formulation. If A4 is not - specified, a default value of 133.15 is assigned (Voss, 1984). - viscosity_filerecord : [viscosityfile] - * viscosityfile (string) name of the binary output file to write - viscosity information. The viscosity file has the same format as the - head file. Viscosity values will be written to the viscosity file - whenever heads are written to the binary head file. The settings for - controlling head output are contained in the Output Control option. - nviscspecies : integer - * nviscspecies (integer) number of species used in the viscosity - equation of state. If either concentrations or temperature (or both) - are used to update viscosity then then nrhospecies needs to be at - least one. - packagedata : [iviscspec, dviscdc, cviscref, modelname, auxspeciesname] - * iviscspec (integer) integer value that defines the species number - associated with the specified PACKAGEDATA data entered on each line. - IVISCSPECIES must be greater than zero and less than or equal to - NVISCSPECIES. Information must be specified for each of the - NVISCSPECIES species or the program will terminate with an error. The - program will also terminate with an error if information for a - species is specified more than once. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - * dviscdc (double) real value that defines the slope of the line - defining the linear relationship between viscosity and temperature or - between viscosity and concentration, depending on the type of species - entered on each line. If the value of AUXSPECIESNAME entered on a - line corresponds to TEMPERATURE_SPECIES_NAME (in the OPTIONS block), - this value will be used when VISCOSITY_FUNC is equal to LINEAR (the - default) in the OPTIONS block. When VISCOSITY_FUNC is set to - NONLINEAR, a value for DVISCDC must be specified though it is not - used. - * cviscref (double) real value that defines the reference temperature - or reference concentration value used for this species in the - viscosity equation of state. If AUXSPECIESNAME entered on a line - corresponds to TEMPERATURE_SPECIES_NAME (in the OPTIONS block), then - CVISCREF refers to a reference temperature, otherwise it refers to a - reference concentration. - * modelname (string) name of a GWT model used to simulate a species - that will be used in the viscosity equation of state. This name will - have no effect if the simulation does not include a GWT model that - corresponds to this GWF model. - * auxspeciesname (string) name of an auxiliary variable in a GWF stress - package that will be used for this species to calculate the viscosity - values. If a viscosity value is needed by the Viscosity Package then - it will use the temperature or concentration values associated with - this AUXSPECIESNAME in the viscosity equation of state. For advanced - stress packages (LAK, SFR, MAW, and UZF) that have an associated - advanced transport package (LKT, SFT, MWT, and UZT), the - FLOW_PACKAGE_AUXILIARY_NAME option in the advanced transport package - can be used to transfer simulated temperature or concentration(s) - into the flow package auxiliary variable. In this manner, the - Viscosity Package can calculate viscosity values for lakes, streams, - multi-aquifer wells, and unsaturated zone flow cells using simulated - concentrations. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - viscosity_filerecord = ListTemplateGenerator( - ("gwf6", "vsc", "options", "viscosity_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwf6", "vsc", "packagedata", "packagedata") - ) - package_abbr = "gwfvsc" - _package_type = "vsc" - dfn_file_name = "gwf-vsc.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name viscref", - "type double precision", - "reader urword", - "optional true", - "default_value 1.0", - ], - [ - "block options", - "name temperature_species_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name thermal_formulation", - "type string", - "shape", - "reader urword", - "optional true", - "valid linear nonlinear", - ], - [ - "block options", - "name thermal_a2", - "type double precision", - "reader urword", - "optional true", - "default_value 10.", - ], - [ - "block options", - "name thermal_a3", - "type double precision", - "reader urword", - "optional true", - "default_value 248.37", - ], - [ - "block options", - "name thermal_a4", - "type double precision", - "reader urword", - "optional true", - "default_value 133.15", - ], - [ - "block options", - "name viscosity_filerecord", - "type record viscosity fileout viscosityfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name viscosity", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name viscosityfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block dimensions", - "name nviscspecies", - "type integer", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray iviscspec dviscdc cviscref modelname auxspeciesname", - "shape (nrhospecies)", - "reader urword", - ], - [ - "block packagedata", - "name iviscspec", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name dviscdc", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name cviscref", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name modelname", - "type string", - "in_record true", - "tagged false", - "shape", - "reader urword", - ], - [ - "block packagedata", - "name auxspeciesname", - "type string", - "in_record true", - "tagged false", - "shape", - "reader urword", - ], - ] - - def __init__( - self, - model, - loading_package=False, - viscref=1.0, - temperature_species_name=None, - thermal_formulation=None, - thermal_a2=10.0, - thermal_a3=248.37, - thermal_a4=133.15, - viscosity_filerecord=None, - nviscspecies=None, - packagedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "vsc", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.viscref = self.build_mfdata("viscref", viscref) - self.temperature_species_name = self.build_mfdata( - "temperature_species_name", temperature_species_name - ) - self.thermal_formulation = self.build_mfdata( - "thermal_formulation", thermal_formulation - ) - self.thermal_a2 = self.build_mfdata("thermal_a2", thermal_a2) - self.thermal_a3 = self.build_mfdata("thermal_a3", thermal_a3) - self.thermal_a4 = self.build_mfdata("thermal_a4", thermal_a4) - self.viscosity_filerecord = self.build_mfdata( - "viscosity_filerecord", viscosity_filerecord - ) - self.nviscspecies = self.build_mfdata("nviscspecies", nviscspecies) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwfwel.py b/flopy/mf6/modflow/mfgwfwel.py deleted file mode 100644 index 67da4504c..000000000 --- a/flopy/mf6/modflow/mfgwfwel.py +++ /dev/null @@ -1,450 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwfwel(mfpackage.MFPackage): - """ - ModflowGwfwel defines a wel package within a gwf6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of well flow rate. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of well cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of well - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of well flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that well flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - auto_flow_reduce : double - * auto_flow_reduce (double) keyword and real value that defines the - fraction of the cell thickness used as an interval for smoothly - adjusting negative pumping rates to 0 in cells with head values less - than or equal to the bottom of the cell. Negative pumping rates are - adjusted to 0 or a smaller negative value when the head in the cell - is equal to or less than the calculated interval above the cell - bottom. AUTO_FLOW_REDUCE is set to 0.1 if the specified value is less - than or equal to zero. By default, negative pumping rates are not - reduced during a simulation. This AUTO_FLOW_REDUCE option only - applies to wells in model cells that are marked as "convertible" - (ICELLTYPE /= 0) in the Node Property Flow (NPF) input file. - Reduction in flow will not occur for wells in cells marked as - confined (ICELLTYPE = 0). - afrcsv_filerecord : [afrcsvfile] - * afrcsvfile (string) name of the comma-separated value (CSV) output - file to write information about well extraction rates that have been - reduced by the program. Entries are only written if the extraction - rates are reduced. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the Well - Package can be used with the Water Mover (MVR) Package. When the - MOVER option is specified, additional memory is allocated within the - package to store the available, provided, and received water. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of - wells cells that will be specified for use during any stress period. - stress_period_data : [cellid, q, aux, boundname] - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * q (double) is the volumetric well rate. A positive value indicates - recharge (injection) and a negative value indicates discharge - (extraction). If the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * aux (double) represents the values of the auxiliary variables for - each well. The values of auxiliary variables must be present for each - well. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * boundname (string) name of the well cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwf6", "wel", "options", "auxiliary")) - afrcsv_filerecord = ListTemplateGenerator( - ("gwf6", "wel", "options", "afrcsv_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwf6", "wel", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwf6", "wel", "options", "obs_filerecord") - ) - stress_period_data = ListTemplateGenerator( - ("gwf6", "wel", "period", "stress_period_data") - ) - package_abbr = "gwfwel" - _package_type = "wel" - dfn_file_name = "gwf-wel.dfn" - - dfn = [ - ["header", "multi-package", "package-type stress-package"], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name auto_flow_reduce", - "type double precision", - "reader urword", - "optional true", - "mf6internal flowred", - ], - [ - "block options", - "name afrcsv_filerecord", - "type record auto_flow_reduce_csv fileout afrcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - "mf6internal afrcsv_rec", - ], - [ - "block options", - "name auto_flow_reduce_csv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - "mf6internal afrcsv", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name afrcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid q aux boundname", - "shape (maxbound)", - "reader urword", - "mf6internal spd", - ], - [ - "block period", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name q", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "time_series true", - "mf6internal auxvar", - ], - [ - "block period", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - auto_flow_reduce=None, - afrcsv_filerecord=None, - timeseries=None, - observations=None, - mover=None, - maxbound=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "wel", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.auto_flow_reduce = self.build_mfdata( - "auto_flow_reduce", auto_flow_reduce - ) - self.afrcsv_filerecord = self.build_mfdata( - "afrcsv_filerecord", afrcsv_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwt.py b/flopy/mf6/modflow/mfgwt.py deleted file mode 100644 index 5a39c1e55..000000000 --- a/flopy/mf6/modflow/mfgwt.py +++ /dev/null @@ -1,135 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfmodel -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwt(mfmodel.MFModel): - """ - Modflowgwt defines a gwt model - - Parameters - ---------- - modelname : string - name of the model - model_nam_file : string - relative path to the model name file from model working folder - version : string - version of modflow - exe_name : string - model executable name - model_ws : string - model working folder path - sim : MFSimulation - Simulation that this model is a part of. Model is automatically - added to simulation when it is initialized. - list : string - * list (string) is name of the listing file to create for this GWT - model. If not specified, then the name of the list file will be the - basename of the GWT model name file and the '.lst' extension. For - example, if the GWT name file is called "my.model.nam" then the list - file will be called "my.model.lst". - print_input : boolean - * print_input (boolean) keyword to indicate that the list of all model - stress package information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of all model - package flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that all model package flow - terms will be written to the file specified with "BUDGET FILEOUT" in - Output Control. - packages : [ftype, fname, pname] - * ftype (string) is the file type, which must be one of the following - character values shown in table ref{table:ftype-gwt}. Ftype may be - entered in any combination of uppercase and lowercase. - * fname (string) is the name of the file containing the package input. - The path to the file should be included if the file is not located in - the folder where the program was run. - * pname (string) is the user-defined name for the package. PNAME is - restricted to 16 characters. No spaces are allowed in PNAME. PNAME - character values are read and stored by the program for stress - packages only. These names may be useful for labeling purposes when - multiple stress packages of the same type are located within a single - GWT Model. If PNAME is specified for a stress package, then PNAME - will be used in the flow budget table in the listing file; it will - also be used for the text entry in the cell-by-cell budget file. - PNAME is case insensitive and is stored in all upper case letters. - - Methods - ------- - load : (simulation : MFSimulationData, model_name : string, - namfile : string, version : string, exe_name : string, - model_ws : string, strict : boolean) : MFSimulation - a class method that loads a model from files - """ - - model_type = "gwt" - - def __init__( - self, - simulation, - modelname="model", - model_nam_file=None, - version="mf6", - exe_name="mf6", - model_rel_path=".", - list=None, - print_input=None, - print_flows=None, - save_flows=None, - **kwargs, - ): - super().__init__( - simulation, - model_type="gwt6", - modelname=modelname, - model_nam_file=model_nam_file, - version=version, - exe_name=exe_name, - model_rel_path=model_rel_path, - **kwargs, - ) - - self.name_file.list.set_data(list) - self.name_file.print_input.set_data(print_input) - self.name_file.print_flows.set_data(print_flows) - self.name_file.save_flows.set_data(save_flows) - - self.list = self.name_file.list - self.print_input = self.name_file.print_input - self.print_flows = self.name_file.print_flows - self.save_flows = self.name_file.save_flows - - @classmethod - def load( - cls, - simulation, - structure, - modelname="NewModel", - model_nam_file="modflowtest.nam", - version="mf6", - exe_name="mf6", - strict=True, - model_rel_path=".", - load_only=None, - ): - return mfmodel.MFModel.load_base( - cls, - simulation, - structure, - modelname, - model_nam_file, - "gwt6", - version, - exe_name, - strict, - model_rel_path, - load_only, - ) diff --git a/flopy/mf6/modflow/mfgwtadv.py b/flopy/mf6/modflow/mfgwtadv.py deleted file mode 100644 index 56e7e10e2..000000000 --- a/flopy/mf6/modflow/mfgwtadv.py +++ /dev/null @@ -1,67 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage - - -class ModflowGwtadv(mfpackage.MFPackage): - """ - ModflowGwtadv defines a adv package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - scheme : string - * scheme (string) scheme used to solve the advection term. Can be - upstream, central, or TVD. If not specified, upstream weighting is - the default weighting scheme. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - package_abbr = "gwtadv" - _package_type = "adv" - dfn_file_name = "gwt-adv.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name scheme", - "type string", - "valid central upstream tvd", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - scheme=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "adv", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.scheme = self.build_mfdata("scheme", scheme) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtapi.py b/flopy/mf6/modflow/mfgwtapi.py deleted file mode 100644 index fdd2b6639..000000000 --- a/flopy/mf6/modflow/mfgwtapi.py +++ /dev/null @@ -1,192 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtapi(mfpackage.MFPackage): - """ - ModflowGwtapi defines a api package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of api boundary cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of api - boundary information will be written to the listing file immediately - after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of api - boundary flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that api boundary flow terms - will be written to the file specified with "BUDGET FILEOUT" in Output - Control. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - mover : boolean - * mover (boolean) keyword to indicate that this instance of the api - boundary Package can be used with the Water Mover (MVR) Package. When - the MOVER option is specified, additional memory is allocated within - the package to store the available, provided, and received water. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of api - boundary cells that will be specified for use during any stress - period. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - obs_filerecord = ListTemplateGenerator( - ("gwt6", "api", "options", "obs_filerecord") - ) - package_abbr = "gwtapi" - _package_type = "api" - dfn_file_name = "gwt-api.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name mover", - "type keyword", - "tagged true", - "reader urword", - "optional true", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - ] - - def __init__( - self, - model, - loading_package=False, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - observations=None, - mover=None, - maxbound=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "api", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.mover = self.build_mfdata("mover", mover) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtcnc.py b/flopy/mf6/modflow/mfgwtcnc.py deleted file mode 100644 index 535dc6a35..000000000 --- a/flopy/mf6/modflow/mfgwtcnc.py +++ /dev/null @@ -1,358 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtcnc(mfpackage.MFPackage): - """ - ModflowGwtcnc defines a cnc package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - auxmultname : string - * auxmultname (string) name of auxiliary variable to be used as - multiplier of concentration value. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of constant concentration cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of constant - concentration information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of constant - concentration flow rates will be printed to the listing file for - every stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that constant concentration - flow terms will be written to the file specified with "BUDGET - FILEOUT" in Output Control. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - maxbound : integer - * maxbound (integer) integer value specifying the maximum number of - constant concentrations cells that will be specified for use during - any stress period. - stress_period_data : [cellid, conc, aux, boundname] - * cellid ((integer, ...)) is the cell identifier, and depends on the - type of grid that is used for the simulation. For a structured grid - that uses the DIS input file, CELLID is the layer, row, and column. - For a grid that uses the DISV input file, CELLID is the layer and - CELL2D number. If the model uses the unstructured discretization - (DISU) input file, CELLID is the node number for the cell. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * conc (double) is the constant concentration value. If the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * aux (double) represents the values of the auxiliary variables for - each constant concentration. The values of auxiliary variables must - be present for each constant concentration. The values must be - specified in the order of the auxiliary variables specified in the - OPTIONS block. If the package supports time series and the Options - block includes a TIMESERIESFILE entry (see the "Time-Variable Input" - section), values can be obtained from a time series by entering the - time-series name in place of a numeric value. - * boundname (string) name of the constant concentration cell. BOUNDNAME - is an ASCII character variable that can contain as many as 40 - characters. If BOUNDNAME contains spaces in it, then the entire name - must be enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwt6", "cnc", "options", "auxiliary")) - ts_filerecord = ListTemplateGenerator( - ("gwt6", "cnc", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwt6", "cnc", "options", "obs_filerecord") - ) - stress_period_data = ListTemplateGenerator( - ("gwt6", "cnc", "period", "stress_period_data") - ) - package_abbr = "gwtcnc" - _package_type = "cnc" - dfn_file_name = "gwt-cnc.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxmultname", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name maxbound", - "type integer", - "reader urword", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name stress_period_data", - "type recarray cellid conc aux boundname", - "shape (maxbound)", - "reader urword", - "mf6internal spd", - ], - [ - "block period", - "name cellid", - "type integer", - "shape (ncelldim)", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name conc", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - "mf6internal tspvar", - ], - [ - "block period", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "time_series true", - "mf6internal auxvar", - ], - [ - "block period", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - auxiliary=None, - auxmultname=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - timeseries=None, - observations=None, - maxbound=None, - stress_period_data=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "cnc", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.auxmultname = self.build_mfdata("auxmultname", auxmultname) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.maxbound = self.build_mfdata("maxbound", maxbound) - self.stress_period_data = self.build_mfdata( - "stress_period_data", stress_period_data - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtdis.py b/flopy/mf6/modflow/mfgwtdis.py deleted file mode 100644 index f1b09397b..000000000 --- a/flopy/mf6/modflow/mfgwtdis.py +++ /dev/null @@ -1,253 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwtdis(mfpackage.MFPackage): - """ - ModflowGwtdis defines a dis package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - length_units : string - * length_units (string) is the length units used for this model. Values - can be "FEET", "METERS", or "CENTIMETERS". If not specified, the - default is "UNKNOWN". - nogrb : boolean - * nogrb (boolean) keyword to deactivate writing of the binary grid - file. - xorigin : double - * xorigin (double) x-position of the lower-left corner of the model - grid. A default value of zero is assigned if not specified. The value - for XORIGIN does not affect the model simulation, but it is written - to the binary grid file so that postprocessors can locate the grid in - space. - yorigin : double - * yorigin (double) y-position of the lower-left corner of the model - grid. If not specified, then a default value equal to zero is used. - The value for YORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - angrot : double - * angrot (double) counter-clockwise rotation angle (in degrees) of the - lower-left corner of the model grid. If not specified, then a default - value of 0.0 is assigned. The value for ANGROT does not affect the - model simulation, but it is written to the binary grid file so that - postprocessors can locate the grid in space. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - nlay : integer - * nlay (integer) is the number of layers in the model grid. - nrow : integer - * nrow (integer) is the number of rows in the model grid. - ncol : integer - * ncol (integer) is the number of columns in the model grid. - delr : [double] - * delr (double) is the column spacing in the row direction. - delc : [double] - * delc (double) is the row spacing in the column direction. - top : [double] - * top (double) is the top elevation for each cell in the top model - layer. - botm : [double] - * botm (double) is the bottom elevation for each cell. - idomain : [integer] - * idomain (integer) is an optional array that characterizes the - existence status of a cell. If the IDOMAIN array is not specified, - then all model cells exist within the solution. If the IDOMAIN value - for a cell is 0, the cell does not exist in the simulation. Input and - output values will be read and written for the cell, but internal to - the program, the cell is excluded from the solution. If the IDOMAIN - value for a cell is 1, the cell exists in the simulation. If the - IDOMAIN value for a cell is -1, the cell does not exist in the - simulation. Furthermore, the first existing cell above will be - connected to the first existing cell below. This type of cell is - referred to as a "vertical pass through" cell. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - delr = ArrayTemplateGenerator(("gwt6", "dis", "griddata", "delr")) - delc = ArrayTemplateGenerator(("gwt6", "dis", "griddata", "delc")) - top = ArrayTemplateGenerator(("gwt6", "dis", "griddata", "top")) - botm = ArrayTemplateGenerator(("gwt6", "dis", "griddata", "botm")) - idomain = ArrayTemplateGenerator(("gwt6", "dis", "griddata", "idomain")) - package_abbr = "gwtdis" - _package_type = "dis" - dfn_file_name = "gwt-dis.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name length_units", - "type string", - "reader urword", - "optional true", - ], - [ - "block options", - "name nogrb", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name yorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name angrot", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block dimensions", - "name nlay", - "type integer", - "reader urword", - "optional false", - "default_value 1", - ], - [ - "block dimensions", - "name nrow", - "type integer", - "reader urword", - "optional false", - "default_value 2", - ], - [ - "block dimensions", - "name ncol", - "type integer", - "reader urword", - "optional false", - "default_value 2", - ], - [ - "block griddata", - "name delr", - "type double precision", - "shape (ncol)", - "reader readarray", - "default_value 1.0", - ], - [ - "block griddata", - "name delc", - "type double precision", - "shape (nrow)", - "reader readarray", - "default_value 1.0", - ], - [ - "block griddata", - "name top", - "type double precision", - "shape (ncol, nrow)", - "reader readarray", - "default_value 1.0", - ], - [ - "block griddata", - "name botm", - "type double precision", - "shape (ncol, nrow, nlay)", - "reader readarray", - "layered true", - "default_value 0.", - ], - [ - "block griddata", - "name idomain", - "type integer", - "shape (ncol, nrow, nlay)", - "reader readarray", - "layered true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - length_units=None, - nogrb=None, - xorigin=None, - yorigin=None, - angrot=None, - export_array_ascii=None, - nlay=1, - nrow=2, - ncol=2, - delr=1.0, - delc=1.0, - top=1.0, - botm=0.0, - idomain=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "dis", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.length_units = self.build_mfdata("length_units", length_units) - self.nogrb = self.build_mfdata("nogrb", nogrb) - self.xorigin = self.build_mfdata("xorigin", xorigin) - self.yorigin = self.build_mfdata("yorigin", yorigin) - self.angrot = self.build_mfdata("angrot", angrot) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.nlay = self.build_mfdata("nlay", nlay) - self.nrow = self.build_mfdata("nrow", nrow) - self.ncol = self.build_mfdata("ncol", ncol) - self.delr = self.build_mfdata("delr", delr) - self.delc = self.build_mfdata("delc", delc) - self.top = self.build_mfdata("top", top) - self.botm = self.build_mfdata("botm", botm) - self.idomain = self.build_mfdata("idomain", idomain) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtdisu.py b/flopy/mf6/modflow/mfgwtdisu.py deleted file mode 100644 index fbd2613b0..000000000 --- a/flopy/mf6/modflow/mfgwtdisu.py +++ /dev/null @@ -1,521 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwtdisu(mfpackage.MFPackage): - """ - ModflowGwtdisu defines a disu package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - length_units : string - * length_units (string) is the length units used for this model. Values - can be "FEET", "METERS", or "CENTIMETERS". If not specified, the - default is "UNKNOWN". - nogrb : boolean - * nogrb (boolean) keyword to deactivate writing of the binary grid - file. - xorigin : double - * xorigin (double) x-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. A default value of zero is assigned if not specified. The - value for XORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - yorigin : double - * yorigin (double) y-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. If not specified, then a default value equal to zero is used. - The value for YORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - angrot : double - * angrot (double) counter-clockwise rotation angle (in degrees) of the - model grid coordinate system relative to a real-world coordinate - system. If not specified, then a default value of 0.0 is assigned. - The value for ANGROT does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - vertical_offset_tolerance : double - * vertical_offset_tolerance (double) checks are performed to ensure - that the top of a cell is not higher than the bottom of an overlying - cell. This option can be used to specify the tolerance that is used - for checking. If top of a cell is above the bottom of an overlying - cell by a value less than this tolerance, then the program will not - terminate with an error. The default value is zero. This option - should generally not be used. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - nodes : integer - * nodes (integer) is the number of cells in the model grid. - nja : integer - * nja (integer) is the sum of the number of connections and NODES. When - calculating the total number of connections, the connection between - cell n and cell m is considered to be different from the connection - between cell m and cell n. Thus, NJA is equal to the total number of - connections, including n to m and m to n, and the total number of - cells. - nvert : integer - * nvert (integer) is the total number of (x, y) vertex pairs used to - define the plan-view shape of each cell in the model grid. If NVERT - is not specified or is specified as zero, then the VERTICES and - CELL2D blocks below are not read. NVERT and the accompanying VERTICES - and CELL2D blocks should be specified for most simulations. If the - XT3D or SAVE_SPECIFIC_DISCHARGE options are specified in the NPF - Package, then this information is required. - top : [double] - * top (double) is the top elevation for each cell in the model grid. - bot : [double] - * bot (double) is the bottom elevation for each cell. - area : [double] - * area (double) is the cell surface area (in plan view). - idomain : [integer] - * idomain (integer) is an optional array that characterizes the - existence status of a cell. If the IDOMAIN array is not specified, - then all model cells exist within the solution. If the IDOMAIN value - for a cell is 0, the cell does not exist in the simulation. Input and - output values will be read and written for the cell, but internal to - the program, the cell is excluded from the solution. If the IDOMAIN - value for a cell is 1 or greater, the cell exists in the simulation. - IDOMAIN values of -1 cannot be specified for the DISU Package. - iac : [integer] - * iac (integer) is the number of connections (plus 1) for each cell. - The sum of all the entries in IAC must be equal to NJA. - ja : [integer] - * ja (integer) is a list of cell number (n) followed by its connecting - cell numbers (m) for each of the m cells connected to cell n. The - number of values to provide for cell n is IAC(n). This list is - sequentially provided for the first to the last cell. The first value - in the list must be cell n itself, and the remaining cells must be - listed in an increasing order (sorted from lowest number to highest). - Note that the cell and its connections are only supplied for the GWT - cells and their connections to the other GWT cells. Also note that - the JA list input may be divided such that every node and its - connectivity list can be on a separate line for ease in readability - of the file. To further ease readability of the file, the node number - of the cell whose connectivity is subsequently listed, may be - expressed as a negative number, the sign of which is subsequently - converted to positive by the code. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - ihc : [integer] - * ihc (integer) is an index array indicating the direction between node - n and all of its m connections. If IHC = 0 then cell n and cell m are - connected in the vertical direction. Cell n overlies cell m if the - cell number for n is less than m; cell m overlies cell n if the cell - number for m is less than n. If IHC = 1 then cell n and cell m are - connected in the horizontal direction. If IHC = 2 then cell n and - cell m are connected in the horizontal direction, and the connection - is vertically staggered. A vertically staggered connection is one in - which a cell is horizontally connected to more than one cell in a - horizontal connection. - cl12 : [double] - * cl12 (double) is the array containing connection lengths between the - center of cell n and the shared face with each adjacent m cell. - hwva : [double] - * hwva (double) is a symmetric array of size NJA. For horizontal - connections, entries in HWVA are the horizontal width perpendicular - to flow. For vertical connections, entries in HWVA are the vertical - area for flow. Thus, values in the HWVA array contain dimensions of - both length and area. Entries in the HWVA array have a one-to-one - correspondence with the connections specified in the JA array. - Likewise, there is a one-to-one correspondence between entries in the - HWVA array and entries in the IHC array, which specifies the - connection type (horizontal or vertical). Entries in the HWVA array - must be symmetric; the program will terminate with an error if the - value for HWVA for an n to m connection does not equal the value for - HWVA for the corresponding n to m connection. - angldegx : [double] - * angldegx (double) is the angle (in degrees) between the horizontal - x-axis and the outward normal to the face between a cell and its - connecting cells. The angle varies between zero and 360.0 degrees, - where zero degrees points in the positive x-axis direction, and 90 - degrees points in the positive y-axis direction. ANGLDEGX is only - needed if horizontal anisotropy is specified in the NPF Package, if - the XT3D option is used in the NPF Package, or if the - SAVE_SPECIFIC_DISCHARGE option is specified in the NPF Package. - ANGLDEGX does not need to be specified if these conditions are not - met. ANGLDEGX is of size NJA; values specified for vertical - connections and for the diagonal position are not used. Note that - ANGLDEGX is read in degrees, which is different from MODFLOW-USG, - which reads a similar variable (ANGLEX) in radians. - vertices : [iv, xv, yv] - * iv (integer) is the vertex number. Records in the VERTICES block must - be listed in consecutive order from 1 to NVERT. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * xv (double) is the x-coordinate for the vertex. - * yv (double) is the y-coordinate for the vertex. - cell2d : [icell2d, xc, yc, ncvert, icvert] - * icell2d (integer) is the cell2d number. Records in the CELL2D block - must be listed in consecutive order from 1 to NODES. This argument is - an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * xc (double) is the x-coordinate for the cell center. - * yc (double) is the y-coordinate for the cell center. - * ncvert (integer) is the number of vertices required to define the - cell. There may be a different number of vertices for each cell. - * icvert (integer) is an array of integer values containing vertex - numbers (in the VERTICES block) used to define the cell. Vertices - must be listed in clockwise order. This argument is an index - variable, which means that it should be treated as zero-based when - working with FloPy and Python. Flopy will automatically subtract one - when loading index variables and add one when writing index - variables. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - top = ArrayTemplateGenerator(("gwt6", "disu", "griddata", "top")) - bot = ArrayTemplateGenerator(("gwt6", "disu", "griddata", "bot")) - area = ArrayTemplateGenerator(("gwt6", "disu", "griddata", "area")) - idomain = ArrayTemplateGenerator(("gwt6", "disu", "griddata", "idomain")) - iac = ArrayTemplateGenerator(("gwt6", "disu", "connectiondata", "iac")) - ja = ArrayTemplateGenerator(("gwt6", "disu", "connectiondata", "ja")) - ihc = ArrayTemplateGenerator(("gwt6", "disu", "connectiondata", "ihc")) - cl12 = ArrayTemplateGenerator(("gwt6", "disu", "connectiondata", "cl12")) - hwva = ArrayTemplateGenerator(("gwt6", "disu", "connectiondata", "hwva")) - angldegx = ArrayTemplateGenerator( - ("gwt6", "disu", "connectiondata", "angldegx") - ) - vertices = ListTemplateGenerator(("gwt6", "disu", "vertices", "vertices")) - cell2d = ListTemplateGenerator(("gwt6", "disu", "cell2d", "cell2d")) - package_abbr = "gwtdisu" - _package_type = "disu" - dfn_file_name = "gwt-disu.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name length_units", - "type string", - "reader urword", - "optional true", - ], - [ - "block options", - "name nogrb", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name yorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name angrot", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name vertical_offset_tolerance", - "type double precision", - "reader urword", - "optional true", - "default_value 0.0", - "mf6internal voffsettol", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block dimensions", - "name nodes", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name nja", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name nvert", - "type integer", - "reader urword", - "optional true", - ], - [ - "block griddata", - "name top", - "type double precision", - "shape (nodes)", - "reader readarray", - ], - [ - "block griddata", - "name bot", - "type double precision", - "shape (nodes)", - "reader readarray", - ], - [ - "block griddata", - "name area", - "type double precision", - "shape (nodes)", - "reader readarray", - ], - [ - "block griddata", - "name idomain", - "type integer", - "shape (nodes)", - "reader readarray", - "layered false", - "optional true", - ], - [ - "block connectiondata", - "name iac", - "type integer", - "shape (nodes)", - "reader readarray", - ], - [ - "block connectiondata", - "name ja", - "type integer", - "shape (nja)", - "reader readarray", - "numeric_index true", - "jagged_array iac", - ], - [ - "block connectiondata", - "name ihc", - "type integer", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block connectiondata", - "name cl12", - "type double precision", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block connectiondata", - "name hwva", - "type double precision", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block connectiondata", - "name angldegx", - "type double precision", - "optional true", - "shape (nja)", - "reader readarray", - "jagged_array iac", - ], - [ - "block vertices", - "name vertices", - "type recarray iv xv yv", - "shape (nvert)", - "reader urword", - "optional true", - ], - [ - "block vertices", - "name iv", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block vertices", - "name xv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name yv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name cell2d", - "type recarray icell2d xc yc ncvert icvert", - "shape (nodes)", - "reader urword", - "optional true", - ], - [ - "block cell2d", - "name icell2d", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block cell2d", - "name xc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name yc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name ncvert", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icvert", - "type integer", - "shape (ncvert)", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - length_units=None, - nogrb=None, - xorigin=None, - yorigin=None, - angrot=None, - vertical_offset_tolerance=0.0, - export_array_ascii=None, - nodes=None, - nja=None, - nvert=None, - top=None, - bot=None, - area=None, - idomain=None, - iac=None, - ja=None, - ihc=None, - cl12=None, - hwva=None, - angldegx=None, - vertices=None, - cell2d=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "disu", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.length_units = self.build_mfdata("length_units", length_units) - self.nogrb = self.build_mfdata("nogrb", nogrb) - self.xorigin = self.build_mfdata("xorigin", xorigin) - self.yorigin = self.build_mfdata("yorigin", yorigin) - self.angrot = self.build_mfdata("angrot", angrot) - self.vertical_offset_tolerance = self.build_mfdata( - "vertical_offset_tolerance", vertical_offset_tolerance - ) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.nodes = self.build_mfdata("nodes", nodes) - self.nja = self.build_mfdata("nja", nja) - self.nvert = self.build_mfdata("nvert", nvert) - self.top = self.build_mfdata("top", top) - self.bot = self.build_mfdata("bot", bot) - self.area = self.build_mfdata("area", area) - self.idomain = self.build_mfdata("idomain", idomain) - self.iac = self.build_mfdata("iac", iac) - self.ja = self.build_mfdata("ja", ja) - self.ihc = self.build_mfdata("ihc", ihc) - self.cl12 = self.build_mfdata("cl12", cl12) - self.hwva = self.build_mfdata("hwva", hwva) - self.angldegx = self.build_mfdata("angldegx", angldegx) - self.vertices = self.build_mfdata("vertices", vertices) - self.cell2d = self.build_mfdata("cell2d", cell2d) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtdisv.py b/flopy/mf6/modflow/mfgwtdisv.py deleted file mode 100644 index 05ad0b76f..000000000 --- a/flopy/mf6/modflow/mfgwtdisv.py +++ /dev/null @@ -1,352 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwtdisv(mfpackage.MFPackage): - """ - ModflowGwtdisv defines a disv package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - length_units : string - * length_units (string) is the length units used for this model. Values - can be "FEET", "METERS", or "CENTIMETERS". If not specified, the - default is "UNKNOWN". - nogrb : boolean - * nogrb (boolean) keyword to deactivate writing of the binary grid - file. - xorigin : double - * xorigin (double) x-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. A default value of zero is assigned if not specified. The - value for XORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - yorigin : double - * yorigin (double) y-position of the origin used for model grid - vertices. This value should be provided in a real-world coordinate - system. If not specified, then a default value equal to zero is used. - The value for YORIGIN does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - angrot : double - * angrot (double) counter-clockwise rotation angle (in degrees) of the - model grid coordinate system relative to a real-world coordinate - system. If not specified, then a default value of 0.0 is assigned. - The value for ANGROT does not affect the model simulation, but it is - written to the binary grid file so that postprocessors can locate the - grid in space. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - nlay : integer - * nlay (integer) is the number of layers in the model grid. - ncpl : integer - * ncpl (integer) is the number of cells per layer. This is a constant - value for the grid and it applies to all layers. - nvert : integer - * nvert (integer) is the total number of (x, y) vertex pairs used to - characterize the horizontal configuration of the model grid. - top : [double] - * top (double) is the top elevation for each cell in the top model - layer. - botm : [double] - * botm (double) is the bottom elevation for each cell. - idomain : [integer] - * idomain (integer) is an optional array that characterizes the - existence status of a cell. If the IDOMAIN array is not specified, - then all model cells exist within the solution. If the IDOMAIN value - for a cell is 0, the cell does not exist in the simulation. Input and - output values will be read and written for the cell, but internal to - the program, the cell is excluded from the solution. If the IDOMAIN - value for a cell is 1, the cell exists in the simulation. If the - IDOMAIN value for a cell is -1, the cell does not exist in the - simulation. Furthermore, the first existing cell above will be - connected to the first existing cell below. This type of cell is - referred to as a "vertical pass through" cell. - vertices : [iv, xv, yv] - * iv (integer) is the vertex number. Records in the VERTICES block must - be listed in consecutive order from 1 to NVERT. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * xv (double) is the x-coordinate for the vertex. - * yv (double) is the y-coordinate for the vertex. - cell2d : [icell2d, xc, yc, ncvert, icvert] - * icell2d (integer) is the CELL2D number. Records in the CELL2D block - must be listed in consecutive order from the first to the last. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * xc (double) is the x-coordinate for the cell center. - * yc (double) is the y-coordinate for the cell center. - * ncvert (integer) is the number of vertices required to define the - cell. There may be a different number of vertices for each cell. - * icvert (integer) is an array of integer values containing vertex - numbers (in the VERTICES block) used to define the cell. Vertices - must be listed in clockwise order. Cells that are connected must - share vertices. This argument is an index variable, which means that - it should be treated as zero-based when working with FloPy and - Python. Flopy will automatically subtract one when loading index - variables and add one when writing index variables. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - top = ArrayTemplateGenerator(("gwt6", "disv", "griddata", "top")) - botm = ArrayTemplateGenerator(("gwt6", "disv", "griddata", "botm")) - idomain = ArrayTemplateGenerator(("gwt6", "disv", "griddata", "idomain")) - vertices = ListTemplateGenerator(("gwt6", "disv", "vertices", "vertices")) - cell2d = ListTemplateGenerator(("gwt6", "disv", "cell2d", "cell2d")) - package_abbr = "gwtdisv" - _package_type = "disv" - dfn_file_name = "gwt-disv.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name length_units", - "type string", - "reader urword", - "optional true", - ], - [ - "block options", - "name nogrb", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name xorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name yorigin", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name angrot", - "type double precision", - "reader urword", - "optional true", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block dimensions", - "name nlay", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name ncpl", - "type integer", - "reader urword", - "optional false", - ], - [ - "block dimensions", - "name nvert", - "type integer", - "reader urword", - "optional false", - ], - [ - "block griddata", - "name top", - "type double precision", - "shape (ncpl)", - "reader readarray", - ], - [ - "block griddata", - "name botm", - "type double precision", - "shape (ncpl, nlay)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name idomain", - "type integer", - "shape (ncpl, nlay)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block vertices", - "name vertices", - "type recarray iv xv yv", - "shape (nvert)", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name iv", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block vertices", - "name xv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block vertices", - "name yv", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name cell2d", - "type recarray icell2d xc yc ncvert icvert", - "shape (ncpl)", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icell2d", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block cell2d", - "name xc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name yc", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name ncvert", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block cell2d", - "name icvert", - "type integer", - "shape (ncvert)", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - length_units=None, - nogrb=None, - xorigin=None, - yorigin=None, - angrot=None, - export_array_ascii=None, - nlay=None, - ncpl=None, - nvert=None, - top=None, - botm=None, - idomain=None, - vertices=None, - cell2d=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "disv", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.length_units = self.build_mfdata("length_units", length_units) - self.nogrb = self.build_mfdata("nogrb", nogrb) - self.xorigin = self.build_mfdata("xorigin", xorigin) - self.yorigin = self.build_mfdata("yorigin", yorigin) - self.angrot = self.build_mfdata("angrot", angrot) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.nlay = self.build_mfdata("nlay", nlay) - self.ncpl = self.build_mfdata("ncpl", ncpl) - self.nvert = self.build_mfdata("nvert", nvert) - self.top = self.build_mfdata("top", top) - self.botm = self.build_mfdata("botm", botm) - self.idomain = self.build_mfdata("idomain", idomain) - self.vertices = self.build_mfdata("vertices", vertices) - self.cell2d = self.build_mfdata("cell2d", cell2d) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtdsp.py b/flopy/mf6/modflow/mfgwtdsp.py deleted file mode 100644 index 93d15b3ca..000000000 --- a/flopy/mf6/modflow/mfgwtdsp.py +++ /dev/null @@ -1,208 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwtdsp(mfpackage.MFPackage): - """ - ModflowGwtdsp defines a dsp package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - xt3d_off : boolean - * xt3d_off (boolean) deactivate the xt3d method and use the faster and - less accurate approximation. This option may provide a fast and - accurate solution under some circumstances, such as when flow aligns - with the model grid, there is no mechanical dispersion, or when the - longitudinal and transverse dispersivities are equal. This option may - also be used to assess the computational demand of the XT3D approach - by noting the run time differences with and without this option on. - xt3d_rhs : boolean - * xt3d_rhs (boolean) add xt3d terms to right-hand side, when possible. - This option uses less memory, but may require more iterations. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - diffc : [double] - * diffc (double) effective molecular diffusion coefficient. - alh : [double] - * alh (double) longitudinal dispersivity in horizontal direction. If - flow is strictly horizontal, then this is the longitudinal - dispersivity that will be used. If flow is not strictly horizontal or - strictly vertical, then the longitudinal dispersivity is a function - of both ALH and ALV. If mechanical dispersion is represented (by - specifying any dispersivity values) then this array is required. - alv : [double] - * alv (double) longitudinal dispersivity in vertical direction. If flow - is strictly vertical, then this is the longitudinal dispsersivity - value that will be used. If flow is not strictly horizontal or - strictly vertical, then the longitudinal dispersivity is a function - of both ALH and ALV. If this value is not specified and mechanical - dispersion is represented, then this array is set equal to ALH. - ath1 : [double] - * ath1 (double) transverse dispersivity in horizontal direction. This - is the transverse dispersivity value for the second ellipsoid axis. - If flow is strictly horizontal and directed in the x direction (along - a row for a regular grid), then this value controls spreading in the - y direction. If mechanical dispersion is represented (by specifying - any dispersivity values) then this array is required. - ath2 : [double] - * ath2 (double) transverse dispersivity in horizontal direction. This - is the transverse dispersivity value for the third ellipsoid axis. If - flow is strictly horizontal and directed in the x direction (along a - row for a regular grid), then this value controls spreading in the z - direction. If this value is not specified and mechanical dispersion - is represented, then this array is set equal to ATH1. - atv : [double] - * atv (double) transverse dispersivity when flow is in vertical - direction. If flow is strictly vertical and directed in the z - direction, then this value controls spreading in the x and y - directions. If this value is not specified and mechanical dispersion - is represented, then this array is set equal to ATH2. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - diffc = ArrayTemplateGenerator(("gwt6", "dsp", "griddata", "diffc")) - alh = ArrayTemplateGenerator(("gwt6", "dsp", "griddata", "alh")) - alv = ArrayTemplateGenerator(("gwt6", "dsp", "griddata", "alv")) - ath1 = ArrayTemplateGenerator(("gwt6", "dsp", "griddata", "ath1")) - ath2 = ArrayTemplateGenerator(("gwt6", "dsp", "griddata", "ath2")) - atv = ArrayTemplateGenerator(("gwt6", "dsp", "griddata", "atv")) - package_abbr = "gwtdsp" - _package_type = "dsp" - dfn_file_name = "gwt-dsp.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name xt3d_off", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name xt3d_rhs", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block griddata", - "name diffc", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name alh", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name alv", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name ath1", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name ath2", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name atv", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - xt3d_off=None, - xt3d_rhs=None, - export_array_ascii=None, - diffc=None, - alh=None, - alv=None, - ath1=None, - ath2=None, - atv=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "dsp", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.xt3d_off = self.build_mfdata("xt3d_off", xt3d_off) - self.xt3d_rhs = self.build_mfdata("xt3d_rhs", xt3d_rhs) - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.diffc = self.build_mfdata("diffc", diffc) - self.alh = self.build_mfdata("alh", alh) - self.alv = self.build_mfdata("alv", alv) - self.ath1 = self.build_mfdata("ath1", ath1) - self.ath2 = self.build_mfdata("ath2", ath2) - self.atv = self.build_mfdata("atv", atv) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtfmi.py b/flopy/mf6/modflow/mfgwtfmi.py deleted file mode 100644 index 5951f3b46..000000000 --- a/flopy/mf6/modflow/mfgwtfmi.py +++ /dev/null @@ -1,137 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtfmi(mfpackage.MFPackage): - """ - ModflowGwtfmi defines a fmi package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that FMI flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - flow_imbalance_correction : boolean - * flow_imbalance_correction (boolean) correct for an imbalance in flows - by assuming that any residual flow error comes in or leaves at the - concentration of the cell. When this option is activated, the GWT - Model budget written to the listing file will contain two additional - entries: FLOW-ERROR and FLOW-CORRECTION. These two entries will be - equal but opposite in sign. The FLOW-CORRECTION term is a mass flow - that is added to offset the error caused by an imprecise flow - balance. If these terms are not relatively small, the flow model - should be rerun with stricter convergence tolerances. - packagedata : [flowtype, fname] - * flowtype (string) is the word GWFBUDGET, GWFHEAD, GWFMOVER or the - name of an advanced GWF stress package. If GWFBUDGET is specified, - then the corresponding file must be a budget file from a previous GWF - Model run. If an advanced GWF stress package name appears then the - corresponding file must be the budget file saved by a LAK, SFR, MAW - or UZF Package. - * fname (string) is the name of the file containing flows. The path to - the file should be included if the file is not located in the folder - where the program was run. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - packagedata = ListTemplateGenerator( - ("gwt6", "fmi", "packagedata", "packagedata") - ) - package_abbr = "gwtfmi" - _package_type = "fmi" - dfn_file_name = "gwt-fmi.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_imbalance_correction", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block packagedata", - "name packagedata", - "type recarray flowtype filein fname", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name flowtype", - "in_record true", - "type string", - "tagged false", - "reader urword", - ], - [ - "block packagedata", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block packagedata", - "name fname", - "in_record true", - "type string", - "preserve_case true", - "tagged false", - "reader urword", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - flow_imbalance_correction=None, - packagedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "fmi", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.flow_imbalance_correction = self.build_mfdata( - "flow_imbalance_correction", flow_imbalance_correction - ) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtgwt.py b/flopy/mf6/modflow/mfgwtgwt.py deleted file mode 100644 index baa4fc3cc..000000000 --- a/flopy/mf6/modflow/mfgwtgwt.py +++ /dev/null @@ -1,489 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtgwt(mfpackage.MFPackage): - """ - ModflowGwtgwt defines a gwtgwt package. - - Parameters - ---------- - simulation : MFSimulation - Simulation that this package is a part of. Package is automatically - added to simulation when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - exgtype : - * is the exchange type (GWF-GWF or GWF-GWT). - exgmnamea : - * is the name of the first model that is part of this exchange. - exgmnameb : - * is the name of the second model that is part of this exchange. - gwfmodelname1 : string - * gwfmodelname1 (string) keyword to specify name of first corresponding - GWF Model. In the simulation name file, the GWT6-GWT6 entry contains - names for GWT Models (exgmnamea and exgmnameb). The GWT Model with - the name exgmnamea must correspond to the GWF Model with the name - gwfmodelname1. - gwfmodelname2 : string - * gwfmodelname2 (string) keyword to specify name of second - corresponding GWF Model. In the simulation name file, the GWT6-GWT6 - entry contains names for GWT Models (exgmnamea and exgmnameb). The - GWT Model with the name exgmnameb must correspond to the GWF Model - with the name gwfmodelname2. - auxiliary : [string] - * auxiliary (string) an array of auxiliary variable names. There is no - limit on the number of auxiliary variables that can be provided. Most - auxiliary variables will not be used by the GWT-GWT Exchange, but - they will be available for use by other parts of the program. If an - auxiliary variable with the name "ANGLDEGX" is found, then this - information will be used as the angle (provided in degrees) between - the connection face normal and the x axis, where a value of zero - indicates that a normal vector points directly along the positive x - axis. The connection face normal is a normal vector on the cell face - shared between the cell in model 1 and the cell in model 2 pointing - away from the model 1 cell. Additional information on "ANGLDEGX" is - provided in the description of the DISU Package. ANGLDEGX must be - specified if dispersion is simulated in the connected GWT models. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of GWT Exchange cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of exchange - entries will be echoed to the listing file immediately after it is - read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of exchange - flow rates will be printed to the listing file for every stress - period in which "SAVE BUDGET" is specified in Output Control. - save_flows : boolean - * save_flows (boolean) keyword to indicate that cell-by-cell flow terms - will be written to the budget file for each model provided that the - Output Control for the models are set up with the "BUDGET SAVE FILE" - option. - adv_scheme : string - * adv_scheme (string) scheme used to solve the advection term. Can be - upstream, central, or TVD. If not specified, upstream weighting is - the default weighting scheme. - dsp_xt3d_off : boolean - * dsp_xt3d_off (boolean) deactivate the xt3d method for the dispersive - flux and use the faster and less accurate approximation for this - exchange. - dsp_xt3d_rhs : boolean - * dsp_xt3d_rhs (boolean) add xt3d dispersion terms to right-hand side, - when possible, for this exchange. - filein : boolean - * filein (boolean) keyword to specify that an input filename is - expected next. - perioddata : {varname:data} or perioddata data - * Contains data for the mvt package. Data can be stored in a dictionary - containing data for the mvt package with variable names as keys and - package data as values. Data just for the perioddata variable is also - acceptable. See mvt package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - dev_interfacemodel_on : boolean - * dev_interfacemodel_on (boolean) activates the interface model - mechanism for calculating the coefficients at (and possibly near) the - exchange. This keyword should only be used for development purposes. - nexg : integer - * nexg (integer) keyword and integer value specifying the number of - GWT-GWT exchanges. - exchangedata : [cellidm1, cellidm2, ihc, cl1, cl2, hwva, aux, boundname] - * cellidm1 ((integer, ...)) is the cellid of the cell in model 1 as - specified in the simulation name file. For a structured grid that - uses the DIS input file, CELLIDM1 is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, - CELLIDM1 is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM1 is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * cellidm2 ((integer, ...)) is the cellid of the cell in model 2 as - specified in the simulation name file. For a structured grid that - uses the DIS input file, CELLIDM2 is the layer, row, and column - numbers of the cell. For a grid that uses the DISV input file, - CELLIDM2 is the layer number and CELL2D number for the two cells. If - the model uses the unstructured discretization (DISU) input file, - then CELLIDM2 is the node number for the cell. This argument is an - index variable, which means that it should be treated as zero-based - when working with FloPy and Python. Flopy will automatically subtract - one when loading index variables and add one when writing index - variables. - * ihc (integer) is an integer flag indicating the direction between - node n and all of its m connections. If IHC = 0 then the connection - is vertical. If IHC = 1 then the connection is horizontal. If IHC = 2 - then the connection is horizontal for a vertically staggered grid. - * cl1 (double) is the distance between the center of cell 1 and the its - shared face with cell 2. - * cl2 (double) is the distance between the center of cell 2 and the its - shared face with cell 1. - * hwva (double) is the horizontal width of the flow connection between - cell 1 and cell 2 if IHC > 0, or it is the area perpendicular to flow - of the vertical connection between cell 1 and cell 2 if IHC = 0. - * aux (double) represents the values of the auxiliary variables for - each GWTGWT Exchange. The values of auxiliary variables must be - present for each exchange. The values must be specified in the order - of the auxiliary variables specified in the OPTIONS block. - * boundname (string) name of the GWT Exchange cell. BOUNDNAME is an - ASCII character variable that can contain as many as 40 characters. - If BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwtgwt", "options", "auxiliary")) - mvt_filerecord = ListTemplateGenerator( - ("gwtgwt", "options", "mvt_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwtgwt", "options", "obs_filerecord") - ) - exchangedata = ListTemplateGenerator( - ("gwtgwt", "exchangedata", "exchangedata") - ) - package_abbr = "gwtgwt" - _package_type = "gwtgwt" - dfn_file_name = "exg-gwtgwt.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name gwfmodelname1", - "type string", - "reader urword", - "optional false", - ], - [ - "block options", - "name gwfmodelname2", - "type string", - "reader urword", - "optional false", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprpak", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal iprflow", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - "mf6internal ipakcb", - ], - [ - "block options", - "name adv_scheme", - "type string", - "valid upstream central tvd", - "reader urword", - "optional true", - ], - [ - "block options", - "name dsp_xt3d_off", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name dsp_xt3d_rhs", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name mvt_filerecord", - "type record mvt6 filein mvt6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package mvt", - "construct_data perioddata", - "parameter_name perioddata", - ], - [ - "block options", - "name mvt6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name mvt6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block options", - "name dev_interfacemodel_on", - "type keyword", - "reader urword", - "optional true", - "mf6internal dev_ifmod_on", - ], - [ - "block dimensions", - "name nexg", - "type integer", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name exchangedata", - "type recarray cellidm1 cellidm2 ihc cl1 cl2 hwva aux boundname", - "shape (nexg)", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cellidm1", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block exchangedata", - "name cellidm2", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - "numeric_index true", - ], - [ - "block exchangedata", - "name ihc", - "type integer", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cl1", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name cl2", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name hwva", - "type double precision", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block exchangedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "optional true", - "mf6internal auxvar", - ], - [ - "block exchangedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - simulation, - loading_package=False, - exgtype="GWT6-GWT6", - exgmnamea=None, - exgmnameb=None, - gwfmodelname1=None, - gwfmodelname2=None, - auxiliary=None, - boundnames=None, - print_input=None, - print_flows=None, - save_flows=None, - adv_scheme=None, - dsp_xt3d_off=None, - dsp_xt3d_rhs=None, - filein=None, - perioddata=None, - observations=None, - dev_interfacemodel_on=None, - nexg=None, - exchangedata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - simulation, "gwtgwt", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.exgtype = exgtype - - self.exgmnamea = exgmnamea - - self.exgmnameb = exgmnameb - - simulation.register_exchange_file(self) - - self.gwfmodelname1 = self.build_mfdata("gwfmodelname1", gwfmodelname1) - self.gwfmodelname2 = self.build_mfdata("gwfmodelname2", gwfmodelname2) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.adv_scheme = self.build_mfdata("adv_scheme", adv_scheme) - self.dsp_xt3d_off = self.build_mfdata("dsp_xt3d_off", dsp_xt3d_off) - self.dsp_xt3d_rhs = self.build_mfdata("dsp_xt3d_rhs", dsp_xt3d_rhs) - self.filein = self.build_mfdata("filein", filein) - self._mvt_filerecord = self.build_mfdata("mvt_filerecord", None) - self._mvt_package = self.build_child_package( - "mvt", perioddata, "perioddata", self._mvt_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.dev_interfacemodel_on = self.build_mfdata( - "dev_interfacemodel_on", dev_interfacemodel_on - ) - self.nexg = self.build_mfdata("nexg", nexg) - self.exchangedata = self.build_mfdata("exchangedata", exchangedata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtic.py b/flopy/mf6/modflow/mfgwtic.py deleted file mode 100644 index b6fb52a54..000000000 --- a/flopy/mf6/modflow/mfgwtic.py +++ /dev/null @@ -1,86 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwtic(mfpackage.MFPackage): - """ - ModflowGwtic defines a ic package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - export_array_ascii : boolean - * export_array_ascii (boolean) keyword that specifies input griddata - arrays should be written to layered ascii output files. - strt : [double] - * strt (double) is the initial (starting) concentration---that is, - concentration at the beginning of the GWT Model simulation. STRT must - be specified for all GWT Model simulations. One value is read for - every model cell. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - strt = ArrayTemplateGenerator(("gwt6", "ic", "griddata", "strt")) - package_abbr = "gwtic" - _package_type = "ic" - dfn_file_name = "gwt-ic.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name export_array_ascii", - "type keyword", - "reader urword", - "optional true", - "mf6internal export_ascii", - ], - [ - "block griddata", - "name strt", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "default_value 0.0", - ], - ] - - def __init__( - self, - model, - loading_package=False, - export_array_ascii=None, - strt=0.0, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "ic", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.export_array_ascii = self.build_mfdata( - "export_array_ascii", export_array_ascii - ) - self.strt = self.build_mfdata("strt", strt) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtist.py b/flopy/mf6/modflow/mfgwtist.py deleted file mode 100644 index 625c00923..000000000 --- a/flopy/mf6/modflow/mfgwtist.py +++ /dev/null @@ -1,473 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator - - -class ModflowGwtist(mfpackage.MFPackage): - """ - ModflowGwtist defines a ist package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that IST flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - sorption : boolean - * sorption (boolean) is a text keyword to indicate that sorption will - be activated. Use of this keyword requires that BULK_DENSITY and - DISTCOEF are specified in the GRIDDATA block. The linear sorption - isotherm is the only isotherm presently supported in the IST Package. - first_order_decay : boolean - * first_order_decay (boolean) is a text keyword to indicate that first- - order decay will occur. Use of this keyword requires that DECAY and - DECAY_SORBED (if sorption is active) are specified in the GRIDDATA - block. - zero_order_decay : boolean - * zero_order_decay (boolean) is a text keyword to indicate that zero- - order decay will occur. Use of this keyword requires that DECAY and - DECAY_SORBED (if sorption is active) are specified in the GRIDDATA - block. - cim_filerecord : [cimfile] - * cimfile (string) name of the output file to write immobile - concentrations. This file is a binary file that has the same format - and structure as a binary head and concentration file. The value for - the text variable written to the file is CIM. Immobile domain - concentrations will be written to this file at the same interval as - mobile domain concentrations are saved, as specified in the GWT Model - Output Control file. - cimprintrecord : [columns, width, digits, format] - * columns (integer) number of columns for writing data. - * width (integer) width for writing each number. - * digits (integer) number of digits to use for writing a number. - * format (string) write format can be EXPONENTIAL, FIXED, GENERAL, or - SCIENTIFIC. - porosity : [double] - * porosity (double) porosity of the immobile domain specified as the - immobile domain pore volume per immobile domain volume. - volfrac : [double] - * volfrac (double) fraction of the cell volume that consists of this - immobile domain. The sum of all immobile domain volume fractions must - be less than one. - zetaim : [double] - * zetaim (double) mass transfer rate coefficient between the mobile and - immobile domains, in dimensions of per time. - cim : [double] - * cim (double) initial concentration of the immobile domain in mass per - length cubed. If CIM is not specified, then it is assumed to be zero. - decay : [double] - * decay (double) is the rate coefficient for first or zero-order decay - for the aqueous phase of the immobile domain. A negative value - indicates solute production. The dimensions of decay for first-order - decay is one over time. The dimensions of decay for zero-order decay - is mass per length cubed per time. Decay will have no effect on - simulation results unless either first- or zero-order decay is - specified in the options block. - decay_sorbed : [double] - * decay_sorbed (double) is the rate coefficient for first or zero-order - decay for the sorbed phase of the immobile domain. A negative value - indicates solute production. The dimensions of decay_sorbed for - first-order decay is one over time. The dimensions of decay_sorbed - for zero-order decay is mass of solute per mass of aquifer per time. - If decay_sorbed is not specified and both decay and sorption are - active, then the program will terminate with an error. decay_sorbed - will have no effect on simulation results unless the SORPTION keyword - and either first- or zero-order decay are specified in the options - block. - bulk_density : [double] - * bulk_density (double) is the bulk density of this immobile domain in - mass per length cubed. Bulk density is defined as the immobile domain - solid mass per volume of the immobile domain. bulk_density is not - required unless the SORPTION keyword is specified in the options - block. If the SORPTION keyword is not specified in the options block, - bulk_density will have no effect on simulation results. - distcoef : [double] - * distcoef (double) is the distribution coefficient for the - equilibrium-controlled linear sorption isotherm in dimensions of - length cubed per mass. distcoef is not required unless the SORPTION - keyword is specified in the options block. If the SORPTION keyword is - not specified in the options block, distcoef will have no effect on - simulation results. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwt6", "ist", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwt6", "ist", "options", "budgetcsv_filerecord") - ) - cim_filerecord = ListTemplateGenerator( - ("gwt6", "ist", "options", "cim_filerecord") - ) - cimprintrecord = ListTemplateGenerator( - ("gwt6", "ist", "options", "cimprintrecord") - ) - porosity = ArrayTemplateGenerator(("gwt6", "ist", "griddata", "porosity")) - volfrac = ArrayTemplateGenerator(("gwt6", "ist", "griddata", "volfrac")) - zetaim = ArrayTemplateGenerator(("gwt6", "ist", "griddata", "zetaim")) - cim = ArrayTemplateGenerator(("gwt6", "ist", "griddata", "cim")) - decay = ArrayTemplateGenerator(("gwt6", "ist", "griddata", "decay")) - decay_sorbed = ArrayTemplateGenerator( - ("gwt6", "ist", "griddata", "decay_sorbed") - ) - bulk_density = ArrayTemplateGenerator( - ("gwt6", "ist", "griddata", "bulk_density") - ) - distcoef = ArrayTemplateGenerator(("gwt6", "ist", "griddata", "distcoef")) - package_abbr = "gwtist" - _package_type = "ist" - dfn_file_name = "gwt-ist.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name sorption", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name first_order_decay", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name zero_order_decay", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name cim_filerecord", - "type record cim fileout cimfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name cim", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name cimfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name cimprintrecord", - "type record cim print_format formatrecord", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_format", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name formatrecord", - "type record columns width digits format", - "shape", - "in_record true", - "reader urword", - "tagged", - "optional false", - ], - [ - "block options", - "name columns", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name width", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name digits", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name format", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block griddata", - "name porosity", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name volfrac", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name zetaim", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name cim", - "type double precision", - "shape (nodes)", - "reader readarray", - "optional true", - "layered true", - ], - [ - "block griddata", - "name decay", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name decay_sorbed", - "type double precision", - "shape (nodes)", - "reader readarray", - "optional true", - "layered true", - ], - [ - "block griddata", - "name bulk_density", - "type double precision", - "shape (nodes)", - "reader readarray", - "optional true", - "layered true", - ], - [ - "block griddata", - "name distcoef", - "type double precision", - "shape (nodes)", - "reader readarray", - "optional true", - "layered true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - sorption=None, - first_order_decay=None, - zero_order_decay=None, - cim_filerecord=None, - cimprintrecord=None, - porosity=None, - volfrac=None, - zetaim=None, - cim=None, - decay=None, - decay_sorbed=None, - bulk_density=None, - distcoef=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "ist", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self.sorption = self.build_mfdata("sorption", sorption) - self.first_order_decay = self.build_mfdata( - "first_order_decay", first_order_decay - ) - self.zero_order_decay = self.build_mfdata( - "zero_order_decay", zero_order_decay - ) - self.cim_filerecord = self.build_mfdata( - "cim_filerecord", cim_filerecord - ) - self.cimprintrecord = self.build_mfdata( - "cimprintrecord", cimprintrecord - ) - self.porosity = self.build_mfdata("porosity", porosity) - self.volfrac = self.build_mfdata("volfrac", volfrac) - self.zetaim = self.build_mfdata("zetaim", zetaim) - self.cim = self.build_mfdata("cim", cim) - self.decay = self.build_mfdata("decay", decay) - self.decay_sorbed = self.build_mfdata("decay_sorbed", decay_sorbed) - self.bulk_density = self.build_mfdata("bulk_density", bulk_density) - self.distcoef = self.build_mfdata("distcoef", distcoef) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtlkt.py b/flopy/mf6/modflow/mfgwtlkt.py deleted file mode 100644 index 80e80558c..000000000 --- a/flopy/mf6/modflow/mfgwtlkt.py +++ /dev/null @@ -1,715 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtlkt(mfpackage.MFPackage): - """ - ModflowGwtlkt defines a lkt package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - flow_package_name : string - * flow_package_name (string) keyword to specify the name of the - corresponding flow package. If not specified, then the corresponding - flow package must have the same name as this advanced transport - package (the name associated with this package in the GWT name file). - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - flow_package_auxiliary_name : string - * flow_package_auxiliary_name (string) keyword to specify the name of - an auxiliary variable in the corresponding flow package. If - specified, then the simulated concentrations from this advanced - transport package will be copied into the auxiliary variable - specified with this name. Note that the flow package must have an - auxiliary variable with this name or the program will terminate with - an error. If the flows for this advanced transport package are read - from a file, then this option will have no effect. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of lake cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of lake - information will be written to the listing file immediately after it - is read. - print_concentration : boolean - * print_concentration (boolean) keyword to indicate that the list of - lake concentration will be printed to the listing file for every - stress period in which "CONCENTRATION PRINT" is specified in Output - Control. If there is no Output Control option and PRINT_CONCENTRATION - is specified, then concentration are printed for the last time step - of each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of lake flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that lake flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - concentration_filerecord : [concfile] - * concfile (string) name of the binary output file to write - concentration information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - packagedata : [ifno, strt, aux, boundname] - * ifno (integer) integer value that defines the feature (lake) number - associated with the specified PACKAGEDATA data on the line. IFNO must - be greater than zero and less than or equal to NLAKES. Lake - information must be specified for every lake or the program will - terminate with an error. The program will also terminate with an - error if information for a lake is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * strt (double) real value that defines the starting concentration for - the lake. - * aux (double) represents the values of the auxiliary variables for - each lake. The values of auxiliary variables must be present for each - lake. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * boundname (string) name of the lake cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - lakeperioddata : [ifno, laksetting] - * ifno (integer) integer value that defines the feature (lake) number - associated with the specified PERIOD data on the line. IFNO must be - greater than zero and less than or equal to NLAKES. This argument is - an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * laksetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - LAKSETTING string include: STATUS, CONCENTRATION, RAINFALL, - EVAPORATION, RUNOFF, EXT-INFLOW, and AUXILIARY. These settings are - used to assign the concentration of associated with the corresponding - flow terms. Concentrations cannot be specified for all flow terms. - For example, the Lake Package supports a "WITHDRAWAL" flow term. If - this withdrawal term is active, then water will be withdrawn from the - lake at the calculated concentration of the lake. - status : [string] - * status (string) keyword option to define lake status. STATUS - can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is - ACTIVE, which means that concentration will be calculated for - the lake. If a lake is inactive, then there will be no solute - mass fluxes into or out of the lake and the inactive value - will be written for the lake concentration. If a lake is - constant, then the concentration for the lake will be fixed - at the user specified value. - concentration : [string] - * concentration (string) real or character value that defines - the concentration for the lake. The specified CONCENTRATION - is only applied if the lake is a constant concentration lake. - If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. - rainfall : [string] - * rainfall (string) real or character value that defines the - rainfall solute concentration :math:`(ML^{-3})` for the lake. - If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. - evaporation : [string] - * evaporation (string) real or character value that defines the - concentration of evaporated water :math:`(ML^{-3})` for the - lake. If this concentration value is larger than the - simulated concentration in the lake, then the evaporated - water will be removed at the same concentration as the lake. - If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. - runoff : [string] - * runoff (string) real or character value that defines the - concentration of runoff :math:`(ML^{-3})` for the lake. Value - must be greater than or equal to zero. If the Options block - includes a TIMESERIESFILE entry (see the "Time-Variable - Input" section), values can be obtained from a time series by - entering the time-series name in place of a numeric value. - ext_inflow : [string] - * ext-inflow (string) real or character value that defines the - concentration of external inflow :math:`(ML^{-3})` for the - lake. Value must be greater than or equal to zero. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwt6", "lkt", "options", "auxiliary")) - concentration_filerecord = ListTemplateGenerator( - ("gwt6", "lkt", "options", "concentration_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwt6", "lkt", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwt6", "lkt", "options", "budgetcsv_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwt6", "lkt", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwt6", "lkt", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwt6", "lkt", "packagedata", "packagedata") - ) - lakeperioddata = ListTemplateGenerator( - ("gwt6", "lkt", "period", "lakeperioddata") - ) - package_abbr = "gwtlkt" - _package_type = "lkt" - dfn_file_name = "gwt-lkt.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name flow_package_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_package_auxiliary_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_concentration", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name concentration_filerecord", - "type record concentration fileout concfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name concentration", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name concfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray ifno strt aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block packagedata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name strt", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name lakeperioddata", - "type recarray ifno laksetting", - "shape", - "reader urword", - ], - [ - "block period", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name laksetting", - "type keystring status concentration rainfall evaporation runoff " - "ext-inflow auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name concentration", - "type string", - "shape", - "tagged true", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name rainfall", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name evaporation", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name runoff", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name ext-inflow", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - flow_package_name=None, - auxiliary=None, - flow_package_auxiliary_name=None, - boundnames=None, - print_input=None, - print_concentration=None, - print_flows=None, - save_flows=None, - concentration_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - timeseries=None, - observations=None, - packagedata=None, - lakeperioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "lkt", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.flow_package_name = self.build_mfdata( - "flow_package_name", flow_package_name - ) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.flow_package_auxiliary_name = self.build_mfdata( - "flow_package_auxiliary_name", flow_package_auxiliary_name - ) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_concentration = self.build_mfdata( - "print_concentration", print_concentration - ) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.concentration_filerecord = self.build_mfdata( - "concentration_filerecord", concentration_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.lakeperioddata = self.build_mfdata( - "lakeperioddata", lakeperioddata - ) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtmst.py b/flopy/mf6/modflow/mfgwtmst.py deleted file mode 100644 index 2007a5591..000000000 --- a/flopy/mf6/modflow/mfgwtmst.py +++ /dev/null @@ -1,231 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ArrayTemplateGenerator - - -class ModflowGwtmst(mfpackage.MFPackage): - """ - ModflowGwtmst defines a mst package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - save_flows : boolean - * save_flows (boolean) keyword to indicate that MST flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - first_order_decay : boolean - * first_order_decay (boolean) is a text keyword to indicate that first- - order decay will occur. Use of this keyword requires that DECAY and - DECAY_SORBED (if sorption is active) are specified in the GRIDDATA - block. - zero_order_decay : boolean - * zero_order_decay (boolean) is a text keyword to indicate that zero- - order decay will occur. Use of this keyword requires that DECAY and - DECAY_SORBED (if sorption is active) are specified in the GRIDDATA - block. - sorption : string - * sorption (string) is a text keyword to indicate that sorption will be - activated. Valid sorption options include LINEAR, FREUNDLICH, and - LANGMUIR. Use of this keyword requires that BULK_DENSITY and DISTCOEF - are specified in the GRIDDATA block. If sorption is specified as - FREUNDLICH or LANGMUIR then SP2 is also required in the GRIDDATA - block. - porosity : [double] - * porosity (double) is the mobile domain porosity, defined as the - mobile domain pore volume per mobile domain volume. Additional - information on porosity within the context of mobile and immobile - domain transport simulations is included in the MODFLOW 6 - Supplemental Technical Information document. - decay : [double] - * decay (double) is the rate coefficient for first or zero-order decay - for the aqueous phase of the mobile domain. A negative value - indicates solute production. The dimensions of decay for first-order - decay is one over time. The dimensions of decay for zero-order decay - is mass per length cubed per time. decay will have no effect on - simulation results unless either first- or zero-order decay is - specified in the options block. - decay_sorbed : [double] - * decay_sorbed (double) is the rate coefficient for first or zero-order - decay for the sorbed phase of the mobile domain. A negative value - indicates solute production. The dimensions of decay_sorbed for - first-order decay is one over time. The dimensions of decay_sorbed - for zero-order decay is mass of solute per mass of aquifer per time. - If decay_sorbed is not specified and both decay and sorption are - active, then the program will terminate with an error. decay_sorbed - will have no effect on simulation results unless the SORPTION keyword - and either first- or zero-order decay are specified in the options - block. - bulk_density : [double] - * bulk_density (double) is the bulk density of the aquifer in mass per - length cubed. bulk_density is not required unless the SORPTION - keyword is specified. Bulk density is defined as the mobile domain - solid mass per mobile domain volume. Additional information on bulk - density is included in the MODFLOW 6 Supplemental Technical - Information document. - distcoef : [double] - * distcoef (double) is the distribution coefficient for the - equilibrium-controlled linear sorption isotherm in dimensions of - length cubed per mass. distcoef is not required unless the SORPTION - keyword is specified. - sp2 : [double] - * sp2 (double) is the exponent for the Freundlich isotherm and the - sorption capacity for the Langmuir isotherm. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - porosity = ArrayTemplateGenerator(("gwt6", "mst", "griddata", "porosity")) - decay = ArrayTemplateGenerator(("gwt6", "mst", "griddata", "decay")) - decay_sorbed = ArrayTemplateGenerator( - ("gwt6", "mst", "griddata", "decay_sorbed") - ) - bulk_density = ArrayTemplateGenerator( - ("gwt6", "mst", "griddata", "bulk_density") - ) - distcoef = ArrayTemplateGenerator(("gwt6", "mst", "griddata", "distcoef")) - sp2 = ArrayTemplateGenerator(("gwt6", "mst", "griddata", "sp2")) - package_abbr = "gwtmst" - _package_type = "mst" - dfn_file_name = "gwt-mst.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name first_order_decay", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name zero_order_decay", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name sorption", - "type string", - "valid linear freundlich langmuir", - "reader urword", - "optional true", - ], - [ - "block griddata", - "name porosity", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - ], - [ - "block griddata", - "name decay", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name decay_sorbed", - "type double precision", - "shape (nodes)", - "reader readarray", - "optional true", - "layered true", - ], - [ - "block griddata", - "name bulk_density", - "type double precision", - "shape (nodes)", - "reader readarray", - "optional true", - "layered true", - ], - [ - "block griddata", - "name distcoef", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - [ - "block griddata", - "name sp2", - "type double precision", - "shape (nodes)", - "reader readarray", - "layered true", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - save_flows=None, - first_order_decay=None, - zero_order_decay=None, - sorption=None, - porosity=None, - decay=None, - decay_sorbed=None, - bulk_density=None, - distcoef=None, - sp2=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "mst", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.first_order_decay = self.build_mfdata( - "first_order_decay", first_order_decay - ) - self.zero_order_decay = self.build_mfdata( - "zero_order_decay", zero_order_decay - ) - self.sorption = self.build_mfdata("sorption", sorption) - self.porosity = self.build_mfdata("porosity", porosity) - self.decay = self.build_mfdata("decay", decay) - self.decay_sorbed = self.build_mfdata("decay_sorbed", decay_sorbed) - self.bulk_density = self.build_mfdata("bulk_density", bulk_density) - self.distcoef = self.build_mfdata("distcoef", distcoef) - self.sp2 = self.build_mfdata("sp2", sp2) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtmvt.py b/flopy/mf6/modflow/mfgwtmvt.py deleted file mode 100644 index d67b24494..000000000 --- a/flopy/mf6/modflow/mfgwtmvt.py +++ /dev/null @@ -1,256 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtmvt(mfpackage.MFPackage): - """ - ModflowGwtmvt defines a mvt package within a gwt6 model. - - Parameters - ---------- - parent_model_or_package : MFModel/MFPackage - Parent_model_or_package that this package is a part of. Package is automatically - added to parent_model_or_package when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of mover - information will be written to the listing file immediately after it - is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of lake flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that lake flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwt6", "mvt", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwt6", "mvt", "options", "budgetcsv_filerecord") - ) - package_abbr = "gwtmvt" - _package_type = "mvt" - dfn_file_name = "gwt-mvt.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - ] - - def __init__( - self, - parent_model_or_package, - loading_package=False, - print_input=None, - print_flows=None, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - parent_model_or_package, - "mvt", - filename, - pname, - loading_package, - **kwargs, - ) - - # set up variables - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self._init_complete = True - - -class GwtmvtPackages(mfpackage.MFChildPackages): - """ - GwtmvtPackages is a container class for the ModflowGwtmvt class. - - Methods - ------- - initialize - Initializes a new ModflowGwtmvt package removing any sibling child - packages attached to the same parent package. See ModflowGwtmvt init - documentation for definition of parameters. - append_package - Adds a new ModflowGwtmvt package to the container. See ModflowGwtmvt - init documentation for definition of parameters. - """ - - package_abbr = "gwtmvtpackages" - - def initialize( - self, - print_input=None, - print_flows=None, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - filename=None, - pname=None, - ): - new_package = ModflowGwtmvt( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - save_flows=save_flows, - budget_filerecord=budget_filerecord, - budgetcsv_filerecord=budgetcsv_filerecord, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self.init_package(new_package, filename) - - def append_package( - self, - print_input=None, - print_flows=None, - save_flows=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - filename=None, - pname=None, - ): - new_package = ModflowGwtmvt( - self._cpparent, - print_input=print_input, - print_flows=print_flows, - save_flows=save_flows, - budget_filerecord=budget_filerecord, - budgetcsv_filerecord=budgetcsv_filerecord, - filename=filename, - pname=pname, - child_builder_call=True, - ) - self._append_package(new_package, filename) diff --git a/flopy/mf6/modflow/mfgwtmwt.py b/flopy/mf6/modflow/mfgwtmwt.py deleted file mode 100644 index d32195d90..000000000 --- a/flopy/mf6/modflow/mfgwtmwt.py +++ /dev/null @@ -1,657 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtmwt(mfpackage.MFPackage): - """ - ModflowGwtmwt defines a mwt package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - flow_package_name : string - * flow_package_name (string) keyword to specify the name of the - corresponding flow package. If not specified, then the corresponding - flow package must have the same name as this advanced transport - package (the name associated with this package in the GWT name file). - auxiliary : [string] - * auxiliary (string) defines an array of one or more auxiliary variable - names. There is no limit on the number of auxiliary variables that - can be provided on this line; however, lists of information provided - in subsequent blocks must have a column of data for each auxiliary - variable name defined here. The number of auxiliary variables - detected on this line determines the value for naux. Comments cannot - be provided anywhere on this line as they will be interpreted as - auxiliary variable names. Auxiliary variables may not be used by the - package, but they will be available for use by other parts of the - program. The program will terminate with an error if auxiliary - variables are specified on more than one line in the options block. - flow_package_auxiliary_name : string - * flow_package_auxiliary_name (string) keyword to specify the name of - an auxiliary variable in the corresponding flow package. If - specified, then the simulated concentrations from this advanced - transport package will be copied into the auxiliary variable - specified with this name. Note that the flow package must have an - auxiliary variable with this name or the program will terminate with - an error. If the flows for this advanced transport package are read - from a file, then this option will have no effect. - boundnames : boolean - * boundnames (boolean) keyword to indicate that boundary names may be - provided with the list of well cells. - print_input : boolean - * print_input (boolean) keyword to indicate that the list of well - information will be written to the listing file immediately after it - is read. - print_concentration : boolean - * print_concentration (boolean) keyword to indicate that the list of - well concentration will be printed to the listing file for every - stress period in which "CONCENTRATION PRINT" is specified in Output - Control. If there is no Output Control option and PRINT_CONCENTRATION - is specified, then concentration are printed for the last time step - of each stress period. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of well flow - rates will be printed to the listing file for every stress period - time step in which "BUDGET PRINT" is specified in Output Control. If - there is no Output Control option and "PRINT_FLOWS" is specified, - then flow rates are printed for the last time step of each stress - period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that well flow terms will be - written to the file specified with "BUDGET FILEOUT" in Output - Control. - concentration_filerecord : [concfile] - * concfile (string) name of the binary output file to write - concentration information. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the binary output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - timeseries : {varname:data} or timeseries data - * Contains data for the ts package. Data can be stored in a dictionary - containing data for the ts package with variable names as keys and - package data as values. Data just for the timeseries variable is also - acceptable. See ts package documentation for more information. - observations : {varname:data} or continuous data - * Contains data for the obs package. Data can be stored in a dictionary - containing data for the obs package with variable names as keys and - package data as values. Data just for the observations variable is - also acceptable. See obs package documentation for more information. - packagedata : [ifno, strt, aux, boundname] - * ifno (integer) integer value that defines the feature (well) number - associated with the specified PACKAGEDATA data on the line. IFNO must - be greater than zero and less than or equal to NMAWWELLS. Well - information must be specified for every well or the program will - terminate with an error. The program will also terminate with an - error if information for a well is specified more than once. This - argument is an index variable, which means that it should be treated - as zero-based when working with FloPy and Python. Flopy will - automatically subtract one when loading index variables and add one - when writing index variables. - * strt (double) real value that defines the starting concentration for - the well. - * aux (double) represents the values of the auxiliary variables for - each well. The values of auxiliary variables must be present for each - well. The values must be specified in the order of the auxiliary - variables specified in the OPTIONS block. If the package supports - time series and the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be obtained from - a time series by entering the time-series name in place of a numeric - value. - * boundname (string) name of the well cell. BOUNDNAME is an ASCII - character variable that can contain as many as 40 characters. If - BOUNDNAME contains spaces in it, then the entire name must be - enclosed within single quotes. - mwtperioddata : [ifno, mwtsetting] - * ifno (integer) integer value that defines the feature (well) number - associated with the specified PERIOD data on the line. IFNO must be - greater than zero and less than or equal to NMAWWELLS. This argument - is an index variable, which means that it should be treated as zero- - based when working with FloPy and Python. Flopy will automatically - subtract one when loading index variables and add one when writing - index variables. - * mwtsetting (keystring) line of information that is parsed into a - keyword and values. Keyword values that can be used to start the - MWTSETTING string include: STATUS, CONCENTRATION, RATE, and - AUXILIARY. These settings are used to assign the concentration - associated with the corresponding flow terms. Concentrations cannot - be specified for all flow terms. For example, the Multi-Aquifer Well - Package supports a "WITHDRAWAL" flow term. If this withdrawal term is - active, then water will be withdrawn from the well at the calculated - concentration of the well. - status : [string] - * status (string) keyword option to define well status. STATUS - can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is - ACTIVE, which means that concentration will be calculated for - the well. If a well is inactive, then there will be no solute - mass fluxes into or out of the well and the inactive value - will be written for the well concentration. If a well is - constant, then the concentration for the well will be fixed - at the user specified value. - concentration : [string] - * concentration (string) real or character value that defines - the concentration for the well. The specified CONCENTRATION - is only applied if the well is a constant concentration well. - If the Options block includes a TIMESERIESFILE entry (see the - "Time-Variable Input" section), values can be obtained from a - time series by entering the time-series name in place of a - numeric value. - rate : [string] - * rate (string) real or character value that defines the - injection solute concentration :math:`(ML^{-3})` for the - well. If the Options block includes a TIMESERIESFILE entry - (see the "Time-Variable Input" section), values can be - obtained from a time series by entering the time-series name - in place of a numeric value. - auxiliaryrecord : [auxname, auxval] - * auxname (string) name for the auxiliary variable to be - assigned AUXVAL. AUXNAME must match one of the auxiliary - variable names defined in the OPTIONS block. If AUXNAME does - not match one of the auxiliary variable names defined in the - OPTIONS block the data are ignored. - * auxval (double) value for the auxiliary variable. If the - Options block includes a TIMESERIESFILE entry (see the "Time- - Variable Input" section), values can be obtained from a time - series by entering the time-series name in place of a numeric - value. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - auxiliary = ListTemplateGenerator(("gwt6", "mwt", "options", "auxiliary")) - concentration_filerecord = ListTemplateGenerator( - ("gwt6", "mwt", "options", "concentration_filerecord") - ) - budget_filerecord = ListTemplateGenerator( - ("gwt6", "mwt", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwt6", "mwt", "options", "budgetcsv_filerecord") - ) - ts_filerecord = ListTemplateGenerator( - ("gwt6", "mwt", "options", "ts_filerecord") - ) - obs_filerecord = ListTemplateGenerator( - ("gwt6", "mwt", "options", "obs_filerecord") - ) - packagedata = ListTemplateGenerator( - ("gwt6", "mwt", "packagedata", "packagedata") - ) - mwtperioddata = ListTemplateGenerator( - ("gwt6", "mwt", "period", "mwtperioddata") - ) - package_abbr = "gwtmwt" - _package_type = "mwt" - dfn_file_name = "gwt-mwt.dfn" - - dfn = [ - [ - "header", - "multi-package", - ], - [ - "block options", - "name flow_package_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name auxiliary", - "type string", - "shape (naux)", - "reader urword", - "optional true", - ], - [ - "block options", - "name flow_package_auxiliary_name", - "type string", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name boundnames", - "type keyword", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_concentration", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name concentration_filerecord", - "type record concentration fileout concfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name concentration", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name concfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name ts_filerecord", - "type record ts6 filein ts6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package ts", - "construct_data timeseries", - "parameter_name timeseries", - ], - [ - "block options", - "name ts6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name filein", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name ts6_filename", - "type string", - "preserve_case true", - "in_record true", - "reader urword", - "optional false", - "tagged false", - ], - [ - "block options", - "name obs_filerecord", - "type record obs6 filein obs6_filename", - "shape", - "reader urword", - "tagged true", - "optional true", - "construct_package obs", - "construct_data continuous", - "parameter_name observations", - ], - [ - "block options", - "name obs6", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name obs6_filename", - "type string", - "preserve_case true", - "in_record true", - "tagged false", - "reader urword", - "optional false", - ], - [ - "block packagedata", - "name packagedata", - "type recarray ifno strt aux boundname", - "shape (maxbound)", - "reader urword", - ], - [ - "block packagedata", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block packagedata", - "name strt", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block packagedata", - "name aux", - "type double precision", - "in_record true", - "tagged false", - "shape (naux)", - "reader urword", - "time_series true", - "optional true", - ], - [ - "block packagedata", - "name boundname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - "optional true", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name mwtperioddata", - "type recarray ifno mwtsetting", - "shape", - "reader urword", - ], - [ - "block period", - "name ifno", - "type integer", - "shape", - "tagged false", - "in_record true", - "reader urword", - "numeric_index true", - ], - [ - "block period", - "name mwtsetting", - "type keystring status concentration rate auxiliaryrecord", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name status", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name concentration", - "type string", - "shape", - "tagged true", - "in_record true", - "time_series true", - "reader urword", - ], - [ - "block period", - "name rate", - "type string", - "shape", - "tagged true", - "in_record true", - "reader urword", - "time_series true", - ], - [ - "block period", - "name auxiliaryrecord", - "type record auxiliary auxname auxval", - "shape", - "tagged", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxiliary", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxname", - "type string", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name auxval", - "type double precision", - "shape", - "tagged false", - "in_record true", - "reader urword", - "time_series true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - flow_package_name=None, - auxiliary=None, - flow_package_auxiliary_name=None, - boundnames=None, - print_input=None, - print_concentration=None, - print_flows=None, - save_flows=None, - concentration_filerecord=None, - budget_filerecord=None, - budgetcsv_filerecord=None, - timeseries=None, - observations=None, - packagedata=None, - mwtperioddata=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "mwt", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.flow_package_name = self.build_mfdata( - "flow_package_name", flow_package_name - ) - self.auxiliary = self.build_mfdata("auxiliary", auxiliary) - self.flow_package_auxiliary_name = self.build_mfdata( - "flow_package_auxiliary_name", flow_package_auxiliary_name - ) - self.boundnames = self.build_mfdata("boundnames", boundnames) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_concentration = self.build_mfdata( - "print_concentration", print_concentration - ) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.concentration_filerecord = self.build_mfdata( - "concentration_filerecord", concentration_filerecord - ) - self.budget_filerecord = self.build_mfdata( - "budget_filerecord", budget_filerecord - ) - self.budgetcsv_filerecord = self.build_mfdata( - "budgetcsv_filerecord", budgetcsv_filerecord - ) - self._ts_filerecord = self.build_mfdata("ts_filerecord", None) - self._ts_package = self.build_child_package( - "ts", timeseries, "timeseries", self._ts_filerecord - ) - self._obs_filerecord = self.build_mfdata("obs_filerecord", None) - self._obs_package = self.build_child_package( - "obs", observations, "continuous", self._obs_filerecord - ) - self.packagedata = self.build_mfdata("packagedata", packagedata) - self.mwtperioddata = self.build_mfdata("mwtperioddata", mwtperioddata) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtnam.py b/flopy/mf6/modflow/mfgwtnam.py deleted file mode 100644 index 9734127a4..000000000 --- a/flopy/mf6/modflow/mfgwtnam.py +++ /dev/null @@ -1,164 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtnam(mfpackage.MFPackage): - """ - ModflowGwtnam defines a nam package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - list : string - * list (string) is name of the listing file to create for this GWT - model. If not specified, then the name of the list file will be the - basename of the GWT model name file and the '.lst' extension. For - example, if the GWT name file is called "my.model.nam" then the list - file will be called "my.model.lst". - print_input : boolean - * print_input (boolean) keyword to indicate that the list of all model - stress package information will be written to the listing file - immediately after it is read. - print_flows : boolean - * print_flows (boolean) keyword to indicate that the list of all model - package flow rates will be printed to the listing file for every - stress period time step in which "BUDGET PRINT" is specified in - Output Control. If there is no Output Control option and - "PRINT_FLOWS" is specified, then flow rates are printed for the last - time step of each stress period. - save_flows : boolean - * save_flows (boolean) keyword to indicate that all model package flow - terms will be written to the file specified with "BUDGET FILEOUT" in - Output Control. - packages : [ftype, fname, pname] - * ftype (string) is the file type, which must be one of the following - character values shown in table ref{table:ftype-gwt}. Ftype may be - entered in any combination of uppercase and lowercase. - * fname (string) is the name of the file containing the package input. - The path to the file should be included if the file is not located in - the folder where the program was run. - * pname (string) is the user-defined name for the package. PNAME is - restricted to 16 characters. No spaces are allowed in PNAME. PNAME - character values are read and stored by the program for stress - packages only. These names may be useful for labeling purposes when - multiple stress packages of the same type are located within a single - GWT Model. If PNAME is specified for a stress package, then PNAME - will be used in the flow budget table in the listing file; it will - also be used for the text entry in the cell-by-cell budget file. - PNAME is case insensitive and is stored in all upper case letters. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - packages = ListTemplateGenerator(("gwt6", "nam", "packages", "packages")) - package_abbr = "gwtnam" - _package_type = "nam" - dfn_file_name = "gwt-nam.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name list", - "type string", - "reader urword", - "optional true", - "preserve_case true", - ], - [ - "block options", - "name print_input", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block options", - "name save_flows", - "type keyword", - "reader urword", - "optional true", - ], - [ - "block packages", - "name packages", - "type recarray ftype fname pname", - "reader urword", - "optional false", - ], - [ - "block packages", - "name ftype", - "in_record true", - "type string", - "tagged false", - "reader urword", - ], - [ - "block packages", - "name fname", - "in_record true", - "type string", - "preserve_case true", - "tagged false", - "reader urword", - ], - [ - "block packages", - "name pname", - "in_record true", - "type string", - "tagged false", - "reader urword", - "optional true", - ], - ] - - def __init__( - self, - model, - loading_package=False, - list=None, - print_input=None, - print_flows=None, - save_flows=None, - packages=None, - filename=None, - pname=None, - **kwargs, - ): - super().__init__( - model, "nam", filename, pname, loading_package, **kwargs - ) - - # set up variables - self.list = self.build_mfdata("list", list) - self.print_input = self.build_mfdata("print_input", print_input) - self.print_flows = self.build_mfdata("print_flows", print_flows) - self.save_flows = self.build_mfdata("save_flows", save_flows) - self.packages = self.build_mfdata("packages", packages) - self._init_complete = True diff --git a/flopy/mf6/modflow/mfgwtoc.py b/flopy/mf6/modflow/mfgwtoc.py deleted file mode 100644 index ade2382cb..000000000 --- a/flopy/mf6/modflow/mfgwtoc.py +++ /dev/null @@ -1,433 +0,0 @@ -# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY -# mf6/utils/createpackages.py -# FILE created on May 23, 2024 14:30:07 UTC -from .. import mfpackage -from ..data.mfdatautil import ListTemplateGenerator - - -class ModflowGwtoc(mfpackage.MFPackage): - """ - ModflowGwtoc defines a oc package within a gwt6 model. - - Parameters - ---------- - model : MFModel - Model that this package is a part of. Package is automatically - added to model when it is initialized. - loading_package : bool - Do not set this parameter. It is intended for debugging and internal - processing purposes only. - budget_filerecord : [budgetfile] - * budgetfile (string) name of the output file to write budget - information. - budgetcsv_filerecord : [budgetcsvfile] - * budgetcsvfile (string) name of the comma-separated value (CSV) output - file to write budget summary information. A budget summary record - will be written to this file for each time step of the simulation. - concentration_filerecord : [concentrationfile] - * concentrationfile (string) name of the output file to write conc - information. - concentrationprintrecord : [columns, width, digits, format] - * columns (integer) number of columns for writing data. - * width (integer) width for writing each number. - * digits (integer) number of digits to use for writing a number. - * format (string) write format can be EXPONENTIAL, FIXED, GENERAL, or - SCIENTIFIC. - saverecord : [rtype, ocsetting] - * rtype (string) type of information to save or print. Can be BUDGET or - CONCENTRATION. - * ocsetting (keystring) specifies the steps for which the data will be - saved. - all : [keyword] - * all (keyword) keyword to indicate save for all time steps in - period. - first : [keyword] - * first (keyword) keyword to indicate save for first step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - last : [keyword] - * last (keyword) keyword to indicate save for last step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - frequency : [integer] - * frequency (integer) save at the specified time step - frequency. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - steps : [integer] - * steps (integer) save for each step specified in STEPS. This - keyword may be used in conjunction with other keywords to - print or save results for multiple time steps. - printrecord : [rtype, ocsetting] - * rtype (string) type of information to save or print. Can be BUDGET or - CONCENTRATION. - * ocsetting (keystring) specifies the steps for which the data will be - saved. - all : [keyword] - * all (keyword) keyword to indicate save for all time steps in - period. - first : [keyword] - * first (keyword) keyword to indicate save for first step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - last : [keyword] - * last (keyword) keyword to indicate save for last step in - period. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - frequency : [integer] - * frequency (integer) save at the specified time step - frequency. This keyword may be used in conjunction with other - keywords to print or save results for multiple time steps. - steps : [integer] - * steps (integer) save for each step specified in STEPS. This - keyword may be used in conjunction with other keywords to - print or save results for multiple time steps. - filename : String - File name for this package. - pname : String - Package name for this package. - parent_file : MFPackage - Parent package file that references this package. Only needed for - utility packages (mfutl*). For example, mfutllaktab package must have - a mfgwflak package parent_file. - - """ - - budget_filerecord = ListTemplateGenerator( - ("gwt6", "oc", "options", "budget_filerecord") - ) - budgetcsv_filerecord = ListTemplateGenerator( - ("gwt6", "oc", "options", "budgetcsv_filerecord") - ) - concentration_filerecord = ListTemplateGenerator( - ("gwt6", "oc", "options", "concentration_filerecord") - ) - concentrationprintrecord = ListTemplateGenerator( - ("gwt6", "oc", "options", "concentrationprintrecord") - ) - saverecord = ListTemplateGenerator(("gwt6", "oc", "period", "saverecord")) - printrecord = ListTemplateGenerator( - ("gwt6", "oc", "period", "printrecord") - ) - package_abbr = "gwtoc" - _package_type = "oc" - dfn_file_name = "gwt-oc.dfn" - - dfn = [ - [ - "header", - ], - [ - "block options", - "name budget_filerecord", - "type record budget fileout budgetfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budget", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name fileout", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name budgetcsv_filerecord", - "type record budgetcsv fileout budgetcsvfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name budgetcsv", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name budgetcsvfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name concentration_filerecord", - "type record concentration fileout concentrationfile", - "shape", - "reader urword", - "tagged true", - "optional true", - ], - [ - "block options", - "name concentration", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name concentrationfile", - "type string", - "preserve_case true", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block options", - "name concentrationprintrecord", - "type record concentration print_format formatrecord", - "shape", - "reader urword", - "optional true", - ], - [ - "block options", - "name print_format", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block options", - "name formatrecord", - "type record columns width digits format", - "shape", - "in_record true", - "reader urword", - "tagged", - "optional false", - ], - [ - "block options", - "name columns", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name width", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name digits", - "type integer", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional", - ], - [ - "block options", - "name format", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block period", - "name iper", - "type integer", - "block_variable True", - "in_record true", - "tagged false", - "shape", - "valid", - "reader urword", - "optional false", - ], - [ - "block period", - "name saverecord", - "type record save rtype ocsetting", - "shape", - "reader urword", - "tagged false", - "optional true", - ], - [ - "block period", - "name save", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name printrecord", - "type record print rtype ocsetting", - "shape", - "reader urword", - "tagged false", - "optional true", - ], - [ - "block period", - "name print", - "type keyword", - "shape", - "in_record true", - "reader urword", - "tagged true", - "optional false", - ], - [ - "block period", - "name rtype", - "type string", - "shape", - "in_record true", - "reader urword", - "tagged false", - "optional false", - ], - [ - "block period", - "name ocsetting", - "type keystring all first last frequency steps", - "shape", - "tagged false", - "in_record true", - "reader urword", - ], - [ - "block period", - "name all", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name first", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name last", - "type keyword", - "shape", - "in_record true", - "reader urword", - ], - [ - "block period", - "name frequency", - "type integer", - "shape", - "tagged true", - "in_record true", - "reader urword", - ], - [ - "block period", - "name steps", - "type integer", - "shape ( Date: Thu, 3 Oct 2024 16:43:29 +0200 Subject: [PATCH 4/8] Backup disabled by default on generate_classes Ignore generated py and dfn files for generated classes --- .gitignore | 7 +++++-- flopy/mf6/utils/generate_classes.py | 9 ++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 5b7873e8d..d710765d6 100644 --- a/.gitignore +++ b/.gitignore @@ -102,5 +102,8 @@ app # mac files **.DS_Store -# DFN backups -flopy/mf6/data/dfn_backup/ \ No newline at end of file +# Generated class files and dfns +flopy/mf6/data/dfn_backup/ +flopy/mf6/data/dfn/ +flopy/mf6/modflow/ + diff --git a/flopy/mf6/utils/generate_classes.py b/flopy/mf6/utils/generate_classes.py index 32c1d6978..13a4cdcc6 100644 --- a/flopy/mf6/utils/generate_classes.py +++ b/flopy/mf6/utils/generate_classes.py @@ -116,7 +116,7 @@ def generate_classes( branch=None, ref="master", dfnpath=None, - backup=True, + backup=False, ): """ Generate the MODFLOW 6 flopy classes using definition files from the @@ -143,7 +143,7 @@ def generate_classes( MODFLOW 6 classes. Default is none, which means that the branch will be used instead. dfnpath will take precedence over branch if dfnpath is specified. - backup : bool, default True + backup : bool, default False Keep a backup of the definition files in dfn_backup with a date and timestamp from when the definition files were replaced. @@ -154,6 +154,7 @@ def generate_classes( print(72 * "*") print("Updating the flopy MODFLOW 6 classes") flopy_dfn_path = os.path.join(flopypth, "mf6", "data", "dfn") + os.makedirs(flopy_dfn_path, exist_ok=True) # download the dfn files and put them in flopy.mf6.data or update using # user provided dfnpath @@ -225,7 +226,7 @@ def cli_main(): "the MODFLOW 6 classes.", ) parser.add_argument( - "--no-backup", + "--backup", action="store_true", help="Set to disable backup. " "Default behavior is to keep a backup of the definition files in " @@ -234,8 +235,6 @@ def cli_main(): ) args = vars(parser.parse_args()) - # Handle flipped logic - args["backup"] = not args.pop("no_backup") try: generate_classes(**args) except (EOFError, KeyboardInterrupt): From d10a93d6db3984e335f25e531da523d3fc32a432 Mon Sep 17 00:00:00 2001 From: Marnix Kraus Date: Fri, 4 Oct 2024 10:19:39 +0200 Subject: [PATCH 5/8] Create the modflow module empty so it can be found --- .gitignore | 3 ++- flopy/mf6/modflow/__init__.py | 0 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 flopy/mf6/modflow/__init__.py diff --git a/.gitignore b/.gitignore index d710765d6..e128628e5 100644 --- a/.gitignore +++ b/.gitignore @@ -105,5 +105,6 @@ app # Generated class files and dfns flopy/mf6/data/dfn_backup/ flopy/mf6/data/dfn/ -flopy/mf6/modflow/ +flopy/mf6/modflow/* +!flopy/mf6/modflow/__init__.py diff --git a/flopy/mf6/modflow/__init__.py b/flopy/mf6/modflow/__init__.py new file mode 100644 index 000000000..e69de29bb From c59c757e52816e8679e87b286932406d2e20329d Mon Sep 17 00:00:00 2001 From: Marnix Kraus Date: Fri, 4 Oct 2024 10:19:55 +0200 Subject: [PATCH 6/8] Add modflow_devtools to dependencies in order to download the DFNs --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 7e23015b8..ef4332345 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ requires-python = ">=3.9" dependencies = [ "numpy>=1.20.3", "matplotlib >=1.4.0", + "modflow-devtools", "pandas >=2.0.0" ] dynamic = ["version", "readme"] From 3e85bf3979ee89dee222289c5341eed8dcdd182c Mon Sep 17 00:00:00 2001 From: Marnix Date: Fri, 29 Nov 2024 15:06:12 +0100 Subject: [PATCH 7/8] generate classes when mf6 is in the list of downloads Supported: modflow6 as repository, or executables that contain mf6 --- flopy/utils/get_modflow.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/flopy/utils/get_modflow.py b/flopy/utils/get_modflow.py index d13035a21..b6a235da5 100755 --- a/flopy/utils/get_modflow.py +++ b/flopy/utils/get_modflow.py @@ -20,11 +20,12 @@ from importlib.util import find_spec from pathlib import Path from platform import processor +from urllib.parse import urlparse __all__ = ["run_main"] __license__ = "CC0" -from typing import Dict, List, Tuple +from typing import Dict, List, Set, Tuple default_owner = "MODFLOW-USGS" default_repo = "executables" @@ -545,6 +546,10 @@ def add_item(key, fname, do_chmod): ): add_item(key, fname, do_chmod=True) + # generate flopy mf6 dfn classes + if "mf6" in code: + _generate_mf6_classes(code["mf6"]["url"], subset) + else: # releases without code.json for fname in sorted(files): @@ -556,6 +561,10 @@ def add_item(key, fname, do_chmod): items.append(fname) if not fname.endswith(lib_suffix): chmod.add(fname) + + if repo == "modflow6": + # generate flopy mf6 dfn classes + _generate_mf6_classes(download_url, subset) if not quiet: print( f"extracting {len(extract)} " @@ -624,6 +633,21 @@ def add_item(key, fname, do_chmod): print(f"wrote new flopy metadata file: '{meta_path}'") +def _generate_mf6_classes(download_url: str, subset: Set[str]) -> None: + # skip if mf6 was not in the subset + if len(subset) != 0 and "mf6" not in subset: + return + + from flopy.mf6.utils.generate_classes import generate_classes + + # The release urls are in the form: https://github.com/MODFLOW-USGS/modflow6/releases/download/6.5.0/mf6.5.0_linux.zip + # So we take MODFLOW-USGS as owner, modflow6 as repo, and 6.5.0 as ref + path_parts = urlparse(download_url).path.split("/") + # TODO: When dfn files are included in executables, + # we can take the dfns directly from that path and we could set dfnpath directly to the downloaded bin folder. + generate_classes(owner=path_parts[1], repo=path_parts[2], ref=path_parts[-2]) + + def cli_main(): """Command-line interface.""" import argparse From f54b8248b60d1b36f9b768dfa7936c3e443df714 Mon Sep 17 00:00:00 2001 From: Marnix Date: Fri, 29 Nov 2024 15:47:08 +0100 Subject: [PATCH 8/8] Fix too long line comment --- flopy/utils/get_modflow.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flopy/utils/get_modflow.py b/flopy/utils/get_modflow.py index b6a235da5..1d1280625 100755 --- a/flopy/utils/get_modflow.py +++ b/flopy/utils/get_modflow.py @@ -644,7 +644,8 @@ def _generate_mf6_classes(download_url: str, subset: Set[str]) -> None: # So we take MODFLOW-USGS as owner, modflow6 as repo, and 6.5.0 as ref path_parts = urlparse(download_url).path.split("/") # TODO: When dfn files are included in executables, - # we can take the dfns directly from that path and we could set dfnpath directly to the downloaded bin folder. + # we can take the dfns directly from that path + # and we could set dfnpath directly to the downloaded bin folder. generate_classes(owner=path_parts[1], repo=path_parts[2], ref=path_parts[-2])