GMS:Map to MODFLOW: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
 
(27 intermediate revisions by 2 users not shown)
Line 4: Line 4:
#Switch to the 3D Grid module
#Switch to the 3D Grid module
#Select the '''New Simulation''' command in the ''MODFLOW'' menu.
#Select the '''New Simulation''' command in the ''MODFLOW'' menu.
#MODFLOW simulations are steady state by default. For a transient simulation, go to the [[GMS:Global Options/Basic Package|''Global Options/Basic Package'' Dialog]] and select the ''Transient'' option. Then set up the [[GMS:Stress Periods|stress periods]] the user wishes to use in the simulation.
#MODFLOW simulations are steady state by default. For a transient simulation, go to the [[GMS:Global Options/Basic Package|''Global Options/Basic Package'' dialog]] and select the ''Transient'' option. Then set up the [[GMS:Stress Periods|stress periods]] to use in the simulation.
#By default, the top layer is unconfined and the remaining layers are confined. To use a different set of layer types, go to the BCF/LPF/HUF Package dialog and select the appropriate layer type for each layer.
#By default, the top layer is unconfined and the remaining layers are confined. To use a different set of layer types, go to the BCF/LPF/HUF Package dialog and select the appropriate layer type for each layer.


Once MODFLOW is initialized, the '''Map → MODFLOW''' command becomes available. When the command is selected, the ''Map → MODFLOW Options'' dialog appears. Three options are available for converting the conceptual model: ''Active coverage only'', ''All applicable coverages'', and ''All visible coverages''. If the ''All applicable coverages'' option is chosen, all of the feature objects in all of the MODFLOW-related coverages in the active conceptual model are used. This option is typically selected when the conceptual model is first converted. If the ''Active coverage only'' or the ''All visible coverages'' option is selected, only a subset of the coverages are used to update the numerical model.
Once MODFLOW is initialized, the '''Map → MODFLOW''' [[File:Map to MODFLOW Macro.svg|16 px]] command becomes available. When the command is selected, the [[GMS:Map to Models|''Map → Model'']] dialog appears. Three options are available for converting the conceptual model: ''Active coverage only'', ''All applicable coverages'', and ''All visible coverages''. If the ''All applicable coverages'' option is chosen, all of the feature objects in all of the MODFLOW-related coverages in the active conceptual model are used. This option is typically selected when the conceptual model is first converted. If the ''Active coverage only'' or the ''All visible coverages'' option is selected, only a subset of the coverages are used to update the numerical model.


==Temporal Discretization==
==Temporal Discretization==
Line 19: Line 19:


==Changing Head Boundary==
==Changing Head Boundary==
When mapping a specified head boundary to MODFLOW, GMS always uses the CHD package ([[GMS:CHD Package|Time Variant Specified Head package]]).  In MF2K, a changing head boundary must be used in order to extract fluxes out of the MODFLOW output for the arcs in the map module.  With MF2K you can not get a flux observation with normal Spec Head. It is assumed that most of the time the user would want to see the flux in/out of the boundary.  If a cell contains two different arcs, the specified head is split in 2 pieces at cells where 2 specified head arcs meet. This is done for 2 reasons. First, the CHD package will combine the CHD boundary conditions that are in the same cell. Second, the flux in/out of the cell will be partitioned to the 2 different arcs in the map module.
When mapping a specified head boundary to MODFLOW, GMS always uses the CHD package ([[GMS:CHD Package|Time Variant Specified Head package]]).  In MF2K, a changing head boundary must be used in order to extract fluxes out of the MODFLOW output for the arcs in the map module.  With MF2K, it is not possible to get a flux observation with normal Spec Head. It is assumed that most of the time the user would want to see the flux in/out of the boundary.  If a cell contains two different arcs, the specified head is split in 2 pieces at cells where 2 specified head arcs meet. This is done for 2 reasons. First, the CHD package will combine the CHD boundary conditions that are in the same cell. Second, the flux in/out of the cell will be partitioned to the 2 different arcs in the map module.


A traditional specified head boundary can be manually applied by using the IBOUND and starting heads arrays.  The computed heads from MODFLOW will be the same whether a constant head or changing head boundary is used.
A traditional specified head boundary can be manually applied by using the IBOUND and starting heads arrays.  The computed heads from MODFLOW will be the same whether a constant head or changing head boundary is used.


==Well Screens==
==Well Screens==
'''''NOTE: This approach was developed prior to the existance of the MNW package. The MNW package can more accurately represent a well that crosses multiple MODFLOW layers.'''''
:'''''NOTE: This approach was developed prior to the existance of the MNW package. The MNW package can more accurately represent a well that crosses multiple MODFLOW layers.'''''


:When using well screens in a conceptual model the following equation is used to partition the flow to different layers:
When using well screens in a conceptual model the following equation is used to partition the flow to different layers:


<!--:[[Image:eq1.gif]]
<!--:<math>Q_i = \frac{T_i}{T} = \frac{(k_h)_iB_i}{\displaystyle \sum_{j=1}^n (k_h)_iB_i}</math>-->
<math>Q_i = \frac{T_i}{T} = \frac{(k_h)_iB_i}{\displaystyle \sum_{j=1}^n (k_h)_iB_i}</math>-->
[[Image:maptomodflow1.jpg]]
[[Image:maptomodflow1.jpg]]


where
where


Q<sub>i</sub> = The flow rate for layer i
''Q<sub>i</sub>'' = The flow rate for layer i


(kh)<sub>i</sub> = The horizontal hydraulic conductivity for layer i
''(kh)<sub>i</sub>'' = The horizontal hydraulic conductivity for layer i


B<sub>i</sub> = The length of the well screen intercepted by the layer
''B<sub>i</sub>'' = The length of the well screen intercepted by the layer


For example
For example


{{hide in print|:[[Image:well_flux_conv.gif]]}}
:[[Image:well_flux_conv.png|325 px]]
{{only in print|:[[Image:well_flux_conv.gif|frame|none|200px]]}}


Assuming the ''K'''s are the horizontal ''K'''s, ''Q<sub>1</sub>'' would be computed as:


<!--:[[Image:eq2.gif]]
Assuming the ''K's'' are the horizontal ''K's'', ''Q<sub>1</sub>'' would be computed as:
<math>\ Q_1 = \frac{K_1B_1}{K_1B_1+K_2B_2+K_3B_3}</math>-->
 
<!--:<math>\ Q_1 = \frac{K_1B_1}{K_1B_1+K_2B_2+K_3B_3}</math>-->
[[Image:maptomodflow2.jpg]]
[[Image:maptomodflow2.jpg]]


In order to complete this computation, the ''K'''s must be assigned to the cells in the grid.  The user must assign the ''K'' values to the grid prior to executing the '''Map &rarr; MODFLOW''' command.
In order to complete this computation, the ''K's'' must be assigned to the cells in the grid.  Assign the ''K'' values to the grid prior to executing the '''Map &rarr; MODFLOW''' command.


If the [[GMS:HUF Package|HUF]] package is being used then the ''K'' value for each cell is estimated from the HUF units.
If the [[GMS:HUF Package|HUF]] package is being used then the ''K'' value for each cell is estimated from the HUF units.


==Automatic Layer Assignment==
==Automatic Layer Assignment==
When building a MODFLOW conceptual model with a multi-layer model, it is necessary to define the range of layers associated with a particular source sink object. For example, an arc corresponding to a specified head boundary condition may be associated with layers 1-3 on the edge of a model.  On the other hand, a drain arc in the middle of the model may only be associated with the top layer. The following example shows how a specified head boundary condition would map with the "Use layer range" option with the range set from 1 to 2:
When building a MODFLOW conceptual model with a multi-layer model, it is necessary to define the range of layers associated with a particular source sink object. In the [[GMS:Coverages#Coverage_Setup|Coverage Setup]] dialog when the "Layer range" option is checked option for assigning cell properties to various layers will appear in the feature object [[GMS:Coverages#Feature_Object_Attribute_Table|Attribute Table]] under the "Auto assign layer" column including "Use layer range", "Auto-assign BC to one cell" and "Auto-assign BC including lower cells". For example, an arc corresponding to a specified head boundary condition may be associated with layers 1&ndash;3 on the edge of a model.  On the other hand, a drain arc in the middle of the model may only be associated with the top layer. The following example shows how a specified head boundary condition would map with the "Use layer range" option with the range set from 1 to 2:


{{hide in print|[[File:Map-layer-range.png]]}}
{{hide in print|[[File:Map-layer-range.png]]}}
{{only in print|[[File:Map-layer-range.png|center|220px]]}}
{{only in print|[[File:Map-layer-range.png|center|220px]]}}


In some cases, however, the proper layer for a particular source/sink object will depend on the elevation of the object relative to the layer elevations. For example, a drain may represent a channel that cuts through the terrain. In some places the channel may be shallow and correspond to layer 1. In other places, the channel may be deep enough that it cuts into layer 2. The "Auto assign to one cell" option is used for defining the layer range in these cases.  If this option is selected, the object will be associated with the layer where the elevation or head associated with the object falls between the top and bottom elevation for the layer.  The following shows how the same specified head boundary condition would map with the "Auto assign to one cell" option:
In some cases, however, the proper layer for a particular source/sink object will depend on the elevation of the object relative to the layer elevations. For example, a drain may represent a channel that cuts through the terrain. In some places the channel may be shallow and correspond to layer 1. In other places, the channel may be deep enough that it cuts into layer 2. The "Auto assign to one cell" option is used for defining the layer range in these cases.  If this option is selected, the object will be associated with the layer where the elevation or head associated with the object falls between the top and bottom elevation for the layer. See the following table:  
:{|- border="1"
|-
!Object type !! Head or Elevation
|-
|Specified head condition || head stage
|-
|drain || bot. elev.
|-
|STR || bot. elev.
|}
The following shows how the same specified head boundary condition would map with the "Auto assign to one cell" option:


{{hide in print|[[File:Map-single-cell.png]]}}
{{hide in print|[[File:Map-single-cell.png]]}}
{{only in print|[[File:Map-single-cell.png|center|220px]]}}
{{only in print|[[File:Map-single-cell.png|center|220px]]}}


The "Auto-assign including lower cells" option is useful for cases where you want a specified head boundary assigned to the layer where the head is between the top and bottom elevation of the cell as well as any active cells below that cell. The following shows how the same specified head boundary condition would map with the "Auto-assign including lower cells" options:
The "Auto-assign including lower cells" option is useful for cases where it's desired to have a specified head boundary assigned to the layer where the head is between the top and bottom elevation of the cell as well as any active cells below that cell. The following shows how the same specified head boundary condition would map with the "Auto-assign including lower cells" options:


{{hide in print|[[File:Map-including-lower-cells.png]]}}
{{hide in print|[[File:Map-including-lower-cells.png]]}}
Line 75: Line 84:


==Using Rasters==
==Using Rasters==
{{Version GMS 10.0}}
 
[[GMS:Rasters|Rasters]] can be used as part of the conceptual model. A raster can be used to assign the head or elevation to a boundary condition instead assigning a constant value. A raster can be associated with a point, arc, or polygon. When the Map &rarr; MODFLOW command is executed and a boundary condition is assigned to a cell, GMS will assign the head/elevation to the boundary condition using the raster value at the cell center. If the cell center is not within the raster then a warning will be reported to the user and a value of 0.0 is assign for the head/elevation.
[[GMS:Rasters|Rasters]] can be used as part of the conceptual model. A raster can be used to assign the head or elevation to a boundary condition instead assigning a constant value. A raster can be associated with a point, arc, or polygon. When the '''Map &rarr; MODFLOW''' command is executed and a boundary condition is assigned to a cell, GMS will assign the head/elevation to the boundary condition using the raster value at the cell center. If the cell center is not within the raster then a warning will be reported and a value of 0.0 is assigned for the head/elevation.


==MODFLOW-USG==
==MODFLOW-USG==


There are a few unique issues to be aware of when targeting a [[GMS:UGrid_Module|UGrid]] and [[GMS:MODFLOW-USG|MODFLOW-USG]]. The list of features below require that the UGrid be a "stacked grid".  A "stacked grid" is one in which there is no vertical sub-discretization of layers and the horizontal discretization of all layers is the same (IVSD in the DISU package could be set to -1).
There are a few unique issues to be aware of when targeting a [[GMS:UGrid_Module|UGrid]] and [[GMS:MODFLOW-USG|MODFLOW-USG]]. The list of features below require that the UGrid be a "stacked grid".  A "stacked grid" is one in which there is no vertical sub-discretization of layers and the horizontal discretization of all layers is the same (i.e. the Index of Vertical Sub-Discretization (IVSD) in the UnStructured Grid Discretization (DISU) package could be set to -1). It is recommended to use a stacked UGrid when possible.


* Seepage face boundary condition
* Seepage face boundary condition
Line 87: Line 96:
* [[GMS:SUB_Package|SUB package]]
* [[GMS:SUB_Package|SUB package]]


Also, the specified layer option is not supported by Map &rarr; MODFLOW with the RCH and EVT packages.
Also, the specified layer option is not supported by Map &rarr; MODFLOW with the RCH and EVT packages. There is a ''Specified vertical cells'' option available for the RCH package. When this option is turned on, GMS will fill the grid in with the highest active cells in each column.


==See also==
==See also==
*[[GMS:MODFLOW Conceptual Model Approach|MODFLOW Conceptual Model Approach]]
*[[GMS:MODFLOW Conceptual Model Approach|MODFLOW Conceptual Model Approach]]
*[[GMS:Conductance|Conductance]]
*[[GMS:Conductance|Conductance]]
*[[GMS:Map to MODFLOW with TINs|Map to MODFLOW with TINs]]




Line 97: Line 107:
[[Category:MODFLOW|M]]
[[Category:MODFLOW|M]]
[[Category:Equations|M]]
[[Category:Equations|M]]
[[Category:Feature Objects]]

Latest revision as of 22:21, 30 October 2024

MODFLOW
Pre-processing
MODFLOW Commands
Building a MODFLOW Model
Map to MODFLOW
Calibration
Packages Supported in GMS
Saving a MODFLOW Simulation
Importing MODFLOW Files
Unsupported MODFLOW Features
Run MODFLOW
Post-processing
MODFLOW Display Options
MODFLOW Post-Processing Viewing Options
Reading a MODFLOW Simulation
Tutorials
Packages
Flow: BCF6, HUF, LPF, UPW
Solvers:

DE4, GMG, NWT, PCG,

PCGN, LMG, SIP, SOR,

SMS
Other:

BAS6, BFH, CHD1, CLN,

DRN1, DRT1, EVT1, ETS1,

GAGE, GHB1, GNC, HFB1,

HUF, LAK3, MNW1, MNW2,

OUT1, RCH1, RIV1, SFR2,

STR1, SUB1, SWI2, WEL1,

UZF1

After the conceptual model is constructed and a grid has been created, the final step in converting a conceptual model to a MODFLOW numerical model is to select the Map → MODFLOW command. However, before this command can be selected, MODFLOW must be initialized. MODFLOW is initialized as follows:

  1. Switch to the 3D Grid module
  2. Select the New Simulation command in the MODFLOW menu.
  3. MODFLOW simulations are steady state by default. For a transient simulation, go to the Global Options/Basic Package dialog and select the Transient option. Then set up the stress periods to use in the simulation.
  4. By default, the top layer is unconfined and the remaining layers are confined. To use a different set of layer types, go to the BCF/LPF/HUF Package dialog and select the appropriate layer type for each layer.

Once MODFLOW is initialized, the Map → MODFLOW Map to MODFLOW Macro.svg command becomes available. When the command is selected, the Map → Model dialog appears. Three options are available for converting the conceptual model: Active coverage only, All applicable coverages, and All visible coverages. If the All applicable coverages option is chosen, all of the feature objects in all of the MODFLOW-related coverages in the active conceptual model are used. This option is typically selected when the conceptual model is first converted. If the Active coverage only or the All visible coverages option is selected, only a subset of the coverages are used to update the numerical model.

Temporal Discretization

See the Temporal Discretization page.

Multiple Values Per Cell

Because GMS processes each feature object separately, there will often be sources/sinks that were derived from two separate feature objects in the same cell. In fact, this is almost always the case in the cell that contains the endpoint of one arc and the beginning point of an adjacent arc. This is not an error. MODFLOW handles each of the boundary conditions in the cell simultaneously.

Specified Head Cells

Because the constant head condition forces the head in those cells to match whatever is specified, it is inappropriate to have other boundary conditions defined in the cells that are designated constant head. Therefore, GMS processes all of the specified head objects first. Afterwards, if there is another stress that should normally be assigned to a cell that has been previously assigned a constant head condition, the new stress is not assigned.

Changing Head Boundary

When mapping a specified head boundary to MODFLOW, GMS always uses the CHD package (Time Variant Specified Head package). In MF2K, a changing head boundary must be used in order to extract fluxes out of the MODFLOW output for the arcs in the map module. With MF2K, it is not possible to get a flux observation with normal Spec Head. It is assumed that most of the time the user would want to see the flux in/out of the boundary. If a cell contains two different arcs, the specified head is split in 2 pieces at cells where 2 specified head arcs meet. This is done for 2 reasons. First, the CHD package will combine the CHD boundary conditions that are in the same cell. Second, the flux in/out of the cell will be partitioned to the 2 different arcs in the map module.

A traditional specified head boundary can be manually applied by using the IBOUND and starting heads arrays. The computed heads from MODFLOW will be the same whether a constant head or changing head boundary is used.

Well Screens

NOTE: This approach was developed prior to the existance of the MNW package. The MNW package can more accurately represent a well that crosses multiple MODFLOW layers.

When using well screens in a conceptual model the following equation is used to partition the flow to different layers:

Maptomodflow1.jpg

where

Qi = The flow rate for layer i

(kh)i = The horizontal hydraulic conductivity for layer i

Bi = The length of the well screen intercepted by the layer

For example

Well flux conv.png


Assuming the K's are the horizontal K's, Q1 would be computed as:

Maptomodflow2.jpg

In order to complete this computation, the K's must be assigned to the cells in the grid. Assign the K values to the grid prior to executing the Map → MODFLOW command.

If the HUF package is being used then the K value for each cell is estimated from the HUF units.

Automatic Layer Assignment

When building a MODFLOW conceptual model with a multi-layer model, it is necessary to define the range of layers associated with a particular source sink object. In the Coverage Setup dialog when the "Layer range" option is checked option for assigning cell properties to various layers will appear in the feature object Attribute Table under the "Auto assign layer" column including "Use layer range", "Auto-assign BC to one cell" and "Auto-assign BC including lower cells". For example, an arc corresponding to a specified head boundary condition may be associated with layers 1–3 on the edge of a model. On the other hand, a drain arc in the middle of the model may only be associated with the top layer. The following example shows how a specified head boundary condition would map with the "Use layer range" option with the range set from 1 to 2:

Map-layer-range.png


In some cases, however, the proper layer for a particular source/sink object will depend on the elevation of the object relative to the layer elevations. For example, a drain may represent a channel that cuts through the terrain. In some places the channel may be shallow and correspond to layer 1. In other places, the channel may be deep enough that it cuts into layer 2. The "Auto assign to one cell" option is used for defining the layer range in these cases. If this option is selected, the object will be associated with the layer where the elevation or head associated with the object falls between the top and bottom elevation for the layer. See the following table:

Object type Head or Elevation
Specified head condition head stage
drain bot. elev.
STR bot. elev.

The following shows how the same specified head boundary condition would map with the "Auto assign to one cell" option:

Map-single-cell.png


The "Auto-assign including lower cells" option is useful for cases where it's desired to have a specified head boundary assigned to the layer where the head is between the top and bottom elevation of the cell as well as any active cells below that cell. The following shows how the same specified head boundary condition would map with the "Auto-assign including lower cells" options:

Map-including-lower-cells.png


Using TINs

TIN surfaces can be used as part of the conceptual model. See the Map to MODFLOW with TINs page.

Using Rasters

Rasters can be used as part of the conceptual model. A raster can be used to assign the head or elevation to a boundary condition instead assigning a constant value. A raster can be associated with a point, arc, or polygon. When the Map → MODFLOW command is executed and a boundary condition is assigned to a cell, GMS will assign the head/elevation to the boundary condition using the raster value at the cell center. If the cell center is not within the raster then a warning will be reported and a value of 0.0 is assigned for the head/elevation.

MODFLOW-USG

There are a few unique issues to be aware of when targeting a UGrid and MODFLOW-USG. The list of features below require that the UGrid be a "stacked grid". A "stacked grid" is one in which there is no vertical sub-discretization of layers and the horizontal discretization of all layers is the same (i.e. the Index of Vertical Sub-Discretization (IVSD) in the UnStructured Grid Discretization (DISU) package could be set to -1). It is recommended to use a stacked UGrid when possible.

Also, the specified layer option is not supported by Map → MODFLOW with the RCH and EVT packages. There is a Specified vertical cells option available for the RCH package. When this option is turned on, GMS will fill the grid in with the highest active cells in each column.

See also