The GFLOW1 source code is available from Stephen Kraemer (kraemer.stephen@epa.gov) upon request. See the GFLOW open source license information below. *************************************************************************************************************** Open Source Code: G F L O W 1 *************************************************************************************************************** GFLOW1 is the Solver code for GFLOW 2000 and WhAEM 2001. GFLOW1 is an analytic element model, which solves groundwater flow in a single aquifer. The flow regime may be confined or unconfined. Most functions generate two-dimensional flow in the horizontal plane, except for a partially penetrating well function and a three-dimensional sink disc function. The original DOS version of the program is described in the book "Analytic Element Modeling of Goundwater Flow" by Henk Haitjema, Academic Press, San Diego, ISBN 0-12-316550-4, 1995, available for download from the EPA website. The original version used interactive graphics under DOS. The current version is limited to batch operation, obtaining its input from a "script file" and writing its output to a "solution file" (.sol), an "extract" file (.xtr), a grid file (.grd) and a pathline file (.pth). The current code has been expanded with inhomogeneity domains that model a jump in the aquifer base and with slurry walls (horizontal barriers), which may be fully or partially penetrating. In addition, the current code also supports the calculation of flow across a straight line element (or polyline) and the line-sink module has been expanded with a "drain" function. GFLOW1 is a Fortran "legacy" code that has been under development since 1985. The code has been designed and written by Henk Haitjema. Some routines or concepts in the code have been contributed by others: Peter Cundall at the Civil Engineering Department of the University of Minnesota developed the original version of the routine MATCH and associated parameter interpretation routines for free-format input from command lines. Sherry Bruker developed prototype logic for the streamflow calculations found in the line-sink module. Vic Kelson adapted the graphics calls for the DOS version from GSS graphics calls to Graphoria graphics calls. These graphics calls are no longer in use. The earliest GFLOW1 code was written in Fortran 4, after that code was written in Fortran 77, while the most recent code has been written in Fortran 90. The original code was developed with the following naming conventions for identifiers: all integer(4) identifiers start with I,J,K,M,or N all logical identifiers start with "L". all real(4) identifiers start with an "R". (currently declared real(8)!) all real(8) identifiers start with a "D". all complex(4) identifiers start with a "C". (currently declared complex(8)!) all complex(8) identifiers start with "CD". In addition, the type letter is followed by an "F" if the identifier is a function name. The type letter (and "F") is followed by the two letters that identify the module, when the identifier occurs in a common block specific to that module, see the file "gfinfo.txt". The latter rule is not followed by the modules "GF" and GV", which were the first to be written. Implicit statements used to enforce the type conventions listed above. These implicit declarations are still to be found in the Fortran code contained in the folder "EXTRA", which contains routines that are not in use anymore by GFLOW1. The current conventions differ from those above only in that all real(4) and complex(4) identifiers have been changed to real(8) and complex(8), respectively. In addition, all implicit statements have been replaced by explicit type declarations. Hence, all routines and functions start with the declaration "IMPLICIT NONE". The GFLOW1 code is modular, but not truly object oriented. Most data between modules is exchanged through function calls with argument lists, but there are some common blocks from the "GF" module (main program) that are to be found in routines and functions of other modules. The source code is organized in a series of *.for files. The naming and organization of these files are summarized in the file "gflow files.txt". _____________________________________________________________________________ The MIT License https://opensource.org/licenses/MIT Copyright 2021 Henk Haitjema, Bloomington, IN Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Disclaimer THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.