GMS:Importing MODFLOW Files

From XMS Wiki
Jump to navigationJump to search
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

GMS imports standard MODFLOW 88, 96, 2000, 2005[1], and MODFLOW-NWT[2] files. GMS supports saving of MODFLOW 2000, 2005, and MODFLOW-NWT so other versions will be converted to MODFLOW 2000, 2005, or NWT.

If GMS created the MODFLOW simulation then you should open the corresponding GMS project file (.gpr). If there is no GMS project file, you can import the MODFLOW simulation into GMS as described below. GMS will create a new copy of the imported MODFLOW simulation in its own modified MODFLOW file format. Click here for more information on the modified MODFLOW file format.

Native MODFLOW files (ascii/text) can be exported from GMS. Click here for more information on exporting MODFLOW files.

How to import a MODFLOW model into GMS

You can follow these steps when importing a MODFLOW simulation into GMS.

  1. Were the MODFLOW files created by GMS?
    • Yes
      If the files were created by GMS, and you have the GMS project file (.gpr), you should just read that into GMS using the standard File|Open command. If you don't have the .gpr file, you should import the MODFLOW model into GMS by opening the "super file" (.mfs) using the standard File|Open command. The super file is a non-standard file that GMS creates along with the standard MODFLOW files. If you don't have a super file, proceed to step 2 below.
    • No
      Proceed to step 2 below.
    • Don't know
      If you have a .gpr file or a .mfs file, then it's almost certain that the files were created by GMS. If you don't have these files, proceed to step 2 below.
  2. Determine whether your model is MODFLOW 88, 96 or 2000. If you are unsure, refer to the section below entitled Determining the MODFLOW version which describes each one.
    • MODFLOW 88
      Read the basic package file into GMS (using the standard File|Open dialog). GMS will attempt to import all the other files.
    • MODFLOW 96
      Read the name file.
    • MODFLOW 2000
      Read the name file.
    • MODFLOW 2005
      Read the name file.
    • MODFLOW-NWT
      Read the name file.

Troubleshooting

If you are having trouble reading the files into GMS, first verify that MODFLOW can read the files by launching MODFLOW at a command prompt and giving it the name of the file to read. If MODFLOW can read the files but GMS cannot, it may be because you are attempting to import packages which GMS does not support; see MODFLOW Packages Supported in GMS for more information.

Contact tech support for additional help.

Determining the MODFLOW version

MODFLOW 88

To tell if a file is MODFLOW 88 open up the basic package file as a text file. GMS uses *.bas as the extension for this file. The file should appear something like the figure below.

Heading 1
Heading 2
         3        23        17         1         4
 11 13 14 15  0  0 16  0  0  0  0 10 12  0  0  0  0  0  0  0  0 29  0  0
         0         0
         1         1              (17I3)         0
  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1

For a MODFLOW 88 file the third line of the basic package file will include an IUNIT array with 24 slots. There may also be an IUNIT array with only 12 slots, if so just ok the warning GMS gives. These slots include the unit numbers for packages included in the file. Every number must be unique to its package. If the number does not correspond to a file then the file is an external array which must be matched by the user. If the basic package file includes an IUNIT array as described it is a MODFLOW 88 file.

To import the MODFLOW 88 file locate the *.mfs file. If there is no *.mfs file then select the *.bas file. Then simply use the File|Open command to read the file into GMS.

More about MODFLOW 88 files

MODFLOW 88 files have no name (.nam or .mfn) file.

GMS makes a few assumptions when reading in MODFLOW 88 files:

  1. All files must have the same prefix.
    • Example: If the files are named bas.dat, drain.dat, and river.dat they all must be converted to run1.bas, run1.drn, and run1.riv
  2. All files use the standard GMS suffixes as shown in the table below.
    • If these are not the suffixes in use, you will need to rename the files.
  3. IUNIT slots must be standard with standard ID #'s according to MODFLOW documentation.
  4. It is up to the user to know what external arrays go to which MODFLOW files. Otherwise the files will not be properly read in.
    • GMS can import external arrays but is unable to import external binary arrays
  5. MODFLOW 88 files use a fixed format.


MODFLOW 88 IUNIT Array Positions and Packages
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
BCF WEL DRN RIV EVT GHB RCH SIP DE4 SOR OC PCG GFD HFB RES STR IBS CHD
Standard GMS Extensions for MODFLOW 88 files
Package Extension
BASIC *.bas
OUTPUT CONTROL *.oc
BCF *.bcf
RIVER *.riv
DRAIN *.drn
WELL *.wel
GENERAL HEAD BOUNDARY *.ghb
STREAM *.str
RECHARGE *.rch
EVAPOTRANSPIRATION *.evt
STRONGLY IMPLICIT PROCEDURE *.sip
SLICE-SUCCESSIVE OVERRELAXATION *.sor

MODFLOW 96

To tell if model files are in MODFLOW 96 format, open up the basic package file as a text file. For a MODFLOW 96 file the third line of the *.bas file will NOT include an IUNIT array. Instead the third line will say FREE, which means that the data in the file is in free format and each data entry is separated with a space. A 96 file may not contain the FREE line. Instead the line may be blank and the file may be fixed format. This file can be read in just the same using the name file.

Heading 1
Heading 2
         3        23        17         1         4
FREE
         0         0
INTERNAL 1 (free) 0 "Ibound Layer 1"
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 

If the basic package file says FREE as described it is a MODFLOW 96 file. A name file (typically with a *.mfn or *.nam extension) should also exist. If one does not it must be created as described below.

To open a MODFLOW 96 file locate the name file and use the File|Open command to read the file into GMS.

More about MODFLOW 96 files

MODFLOW 96 files use a name file to identify the packages files. This replaces the IUNIT array used in MODFLOW 88. The advantage of it is that the files do not need to all have the same prefix in their name. The name file is laid out as shown below. In the first column the card name is given (see MODFLOW documentation for more information). In the second colum the IUNIT number is given. This number must be unique from all other numbers. The third column gives the file name and as stated does not need to have the same prefix for every package.

Sample *.mfn file:

LIST   26 "run1.out"
BAS    1 "run1.bas"
BCF   11 "run1.bcf"
OC   10 "run1.oc"
DATA(BINARY)  30 "run1.hed"
DATA(BINARY)   40 "run140.ccf"
PCG   12 "run1.pcg"
RIV   15 "run1.riv"
WEL   13 "run1.wel"
RCH   20 "run1.rch"
MT3D   29 "run1.hff"

MODFLOW 2000, 2005[1], & MODFLOW-NWT[2]

Like the MODFLOW 96 files, MODFLOW 2000, 2005 and MODFLOW-NWT use name files rather than an IUNIT array. To know if a file is a MODFLOW 2000, 2005, or MODFLOW-NWT file look for a discretization file (*.dis). If a *.dis file exists then use the File|Open command and select the name file (*.nam or *.mfn) to read the simulation into GMS.

Sample *.mfn file:

# MF2K NAME file
#
# Output Files
GLOBAL 1 "easttex.glo"
LIST 2 "easttex.out"
DATA(BINARY) 30 "easttex.hed"
DATA(BINARY) 40 "easttex.ccf"
LMT6 18 "easttex.lmt"
#
# Obs-Sen-Pes Process Input Files
OBS 50 "easttex.obs"
DROB 54 "easttex.drob"
CHOB 55 "easttex.chob"
ASP 71 "easttex.asp"
#
# Global Input Files
DIS 19 "easttex.dis"
#
# Flow Process Input Files
BAS6 3 "easttex.ba6"
LPF 4 "easttex.lpf"
OC 15 "easttex.oc"
RCH 16 "easttex.rch"
WEL 9 "easttex.wel"
DRN 10 "easttex.drn"
CHD 13 "easttex.chd"
PCG 14 "easttex.pcg"

Changes in GMS 7.0

When GMS 7.0 or later reads a MODFLOW simulation it checks if the simulation files are in the modified GMS format. MODFLOW files created by GMS 6.5 or a later use this format. If the simulation is not in the GMS format then GMS converts it into this format.

In versions of GMS prior to 7.0, GMS would read the MODFLOW files and do the conversion. Starting with version 7.0, GMS uses a modified version of MODFLOW to read the input files and do the conversion. GMS then reads the converted files. By using MODFLOW to read MODFLOW files and do the conversion, GMS can read whatever MODFLOW can read. Conversely, if GMS cannot read it, MODFLOW probably can't either.

Conversion Steps

Depending on the version of your model, GMS will perform all or some of the following steps to convert the model into the standard GMS format.

  1. Convert MODFLOW 88 to MODFLOW 96. If importing a MODFLOW 88 model, GMS creates a MODFLOW 96 Name file by examining the Basic package file or the GMS super file. The name file is put in the same directory where the Basic package file or super file is found. In creating the MODFLOW 96 name file, GMS assumes the unit numbers in the IUNIT array in the Basic package file are ordered according to the standard MODFLOW 88 order (as found in the MODFLOW 88 source code). GMS uses the lowest unit number not used in the IUNIT array for the List file added to the name file. If external arrays are being used, the unit number GMS uses for the List file may be the same as one used for an external array.
  2. Convert MODFLOW 96 to MODFLOW 2000. After creating the MODFLOW 96 Name file, GMS calls mf96to2k.exe, a USGS program distributed with MODFLOW 2000 which converts MODFLOW 96 models to MODFLOW 2000. This creates some new files in the same directory as the basic package file: name_MF2k.bas, name_MF2K.bcf, and name_MF2K.nam (where "name" is the name of the MODFLOW 96 name file).
  3. Translate MODFLOW 2000 to GMS H5 Format. GMS then calls the MODFLOW Translator to translate the simulation into GMS H5 format. This creates an H5 file in the temp directory. The user must save the GMS project in order to have a GMS H5 formatted MODFLOW simulation on disk, otherwise the temp file will be discarded.

mf96to2k

Some modifications were made to mf96to2k.exe with regards to layer elevations and confining beds so that the program could be run in a non-interactive batch mode.

Grid Elevations

When mf96to2k.exe converts a MODFLOW 88/96 simulation to a MODFLOW 2000 simulation the program creates a discretization file (DIS). This file defines the layer elevations for the model grid as well as the stress periods. In MODFLOW 88/96 a model could be defined without the need for explicitly defining the top and bottom elevations of the model grid. If the old model has grid elevations defined in the BCF file then those elevations are preserved in the new MODFLOW 2000 DIS file. Where elevations are not defined in the old model then mf96to2k.exe would prompt the user to enter a constant elevation for the particular layer. When mf96to2k.exe is run by GMS these layer values are automatically set. After the model is read into GMS the user may need to edit these values.

Layer Confining Beds (LAYCBD)

When mf96to2k.exe converts a MODFLOW 88/96 model it also asks the user if a layer confining bed exists beneath each of the grid layers. When mf96to2k.exe is run by GMS no confining beds will be defined beneath the model layer. If the user wishes to include confining beds these can be edited in the Global/Basic dialog under the MODFLOW menu.

Files generated by other software

Other software such as Groundwater Vistas, Visual MODFLOW, and PM Win use their own file formats. However they do write out native MODFLOW files which GMS can read in. To use them make sure that the other software is saving out the files properly and then follow the steps above for the proper version of MODFLOW files.

Groundwater Vistas

To export MODFLOW files from Groundwater Vistas:

  1. Open the simulation in Groundwater Vistas
    1. Select “File | Open”
    2. Navigate to and select the “*.gwv” file, then select “Open”
  2. Export the native MODFLOW files from Groundwater Vistas
    1. Select “Model | MODFLOW (or MODFLOW 2000) | Create Datasets”
  3. Import the name file into GMS
    1. Select “File | Open”, the “Open” macro, or just drag and drop the *.nam file in the GMS main screen.

PM Win

Visual MODFLOW

Visual MODFLOW files can not be read into GMS. To use Visual MODFLOW files, you'll need to run MODFLOW from within Visual MODFLOW, and then modify the *.mfi file. See below for details.

  1. Run MODFLOW from Visual MODFLOW
    1. Open the Visual MODFLOW project (vmf file if using the latest version of Visual MODFLOW) in Visual MODFLOW
    2. Select “Run” in the top menu
    3. Select “Run” again from the top menu
    4. Select “MODFLOW 2000” in the “Engines to Run” dialog, then select “Translate & Run”
    5. Select the “Close” button in the “VMEngine” window when the model is finished running
  2. Modify and rename the “*.mfi” file
    1. Go to the directory where the simulation is saved on your computer
    2. Create a copy of the “*.mfi” file. Change the extension of the copy to “*.mfn”
    3. Open the *.mfn file in a text editor
    4. Comment out packages that are not supported by the USGS release of MODFLOW (for example, the “WHS” and “NDC” lines)^
    5. If necessary, modify the directory that each MODFLOW file is referencing. This is necessary if the Visual MODFLOW files were not created on the computer you are on
    6. Save the *.mfn file
  3. Open the *.mfn file in GMS
    1. Select “File | Open”, the “Open” macro, or just drag and drop the *.mfn file in the GMS main screen
    2. The “MODFLOW Translator” will most likely appear. Select “OK” after selecting the appropriate version of MODFLOW
    3. Select “Done” when the MODFLOW Translator is finished
    4. A dialog will appear saying that a supported solver was not found in the name file and that the PCG solver has been added. This is because the solver that Visual MODFLOW uses is not compatible with the USGS version of MODFLOW, and so GMS does not use it either. Select “OK”

^Note: to comment out a package, place a pound/number sign in front of a line. See the Online Guide to MODFLOW for packages that the USGS version of MODFLOW supports.

USGS MODFLOW Documentation

Here are some links to MODFLOW documentation that may be helpful.

MODFLOW 88 MODFLOW 88 (I), MODFLOW 88 (II)
MODFLOW 96 MODFLOW 96 (I), MODFLOW 96 (II)
MODFLOW 2000 MF2K Flow, MF2K Obs-Sen-Pes, HUF, LMG, LMT, MF2K Calibration
MODFLOW 2005 MF2005 Flow Process

Notes

  1. ^ a b Supported starting at GMS version 8.0
  2. ^ a b Supported starting at GMS version 8.2