I. Notice -------------------- Copyright (c) 2008 Kristopher L. Kuhlman (kuhlman at hwr dot arizona dot edu) 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. 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. Malama, B., K.L. Kuhlman, and W. Barrash, 2007. Semi-analytical solution for flow in leaky unconfined aquifer-aquitard systems, Journal of Hydrology, 346(1-2), 59–68. http://dx.doi.org/10.1016/j.jhydrol.2007.08.018 Malama, B., K.L. Kuhlman, and W. Barrash, 2008. Semi-analytical solution for flow in a leaky unconfined aquifer toward a partially penetrating pumping well, Journal of Hydrology, 356(1-2), 234–244. http://dx.doi.org/10.1016/j.jhydrol.2008.03.029 II. How to compile this code ---------------------------------- This code was developed in a Linux environment, I have no idea how well it works on Windows (e.g., you need GNU Make to utilize the makefile), but you might have luck using Cygwin. The code is quad-precision standard-conforming Fortran95, so it should compile with any relatively modern f90/f95 compiler that supports this extended precision. There are a few compiler-specific things, that is why there are three makefiles. To compile with the Intel compiler (I used version 9), the command > make -f Makefile.intel should compile the default (with optimizations) binary. The Intel compiler supports quad-precision via software, so it is quite accurate but very slow. The G95 compiler has "extended" precision on x86 and x86_64, which utilizes the fact that 80 bits of precision are kept internally, and only keeps the range of the quad-precision, not the more digits of accuracy. Because of this using g95 results in much faster, albeit less accurate results. > make -f Makefile.g95 There are miscellaneous other targets in the makefile for debugging and testing which of not of much use to anybody but the authors, I assume. It is always a good idea to try > make clean if you have weird issues. The object files and modules from one compiler are definitely not readable by the other. If you are actually trying to understand the flow of the code, an auto-generated callgraph is included (callgraph.pdf). It was made by applying egypt and graphviz to special debugging output of the g95 compiler. III. Windows-specific (added July 2008) ---------------------------------- I have compiled this code using the Intel 9.1 compiler in WindowsXP. "windows_compile.bat" is a batch file that does the basic functions that the Makefile does in Linux, if you want to try to compile it with different options or for a different type of Windows. The program appears to run, but it has not been extensively tested in Windows. ------------------------------ contact: Kris Kuhlman kristopher.kuhlman@gmail.com Tucson, AZ (July 2008) Bwalya Malama bmalama@cgiss.boisestate.edu Boise, ID