modelE1.tar.gz
I unpacked the download into
C:\GW_Model |
Fortran
This is just a short summary of why I dislike Fortran (there are books written on this).
Perl Scripts
Perl also places the path to the interpreter on the first line of the source file ... therefore, every file will have to be modified.
Shell Scripts
At any rate, Windows will not interpret shell scripts unless you can find and download the right interpreter.
In addition, the filenames will also require extensions and the code that calls the scripts will need the new filenames.
Make Scripts
This model comes with script files that are interpreted with the gnu gmake program. Unfortunately, this is not the make interpreter that comes with gnu fortran for Windows.
Scripts in C:\GW_Model\modelE1\modelE1_pub\exec | ||
---|---|---|
gcmdoc.pl | perl script | Parses fortran files and creates html documentation files |
get_input_data | perl script | Copies the data files to a new directory based on the contents of the rundeck |
modelErc | Make script | Sets a number of default directories and compile parameters |
pdE | shell script | Runs the model |
runE | shell script | Checks the lock file and conditionally runs the model |
runpmE | perl script | Creates a script then calls runE |
setup_e.pl | perl script | Creates a number of parameter and script files used in other steps
|
sfmakedepend | perl script | Called by Rules.make, creates a dependency file. This might be automatic with the -MF file directive. |
sswE | shell script | Edits the file flagGoStop to set a stop flag |
sumacc_nc | perl script | Appears to copy multiple files into a single file |
Scripts in C:\GW_Model\modelE1\modelE1_pub\model | ||
---|---|---|
Rules.make | Make script | Sets up compiler dependent parameters |
Makefile | Make script |
|
Fortran is a batch language, originally run via decks of cards. (Yes, this is an old language.) Instead of using a configuration file, the models configuration information is provided via a rundeck. By convention, these decks are files ending with the extension R. Several default configurations are provided with the distribution. Among other things, these rundecks specify
This model is run as a batch (unattended with no user display) process. There are numerous programs that get information from the command line. Several of the scripts write other scripts.
Linking files is a uniquely Unix function, though it can be accomplished via Windows shortcuts. However, a Windows link does not work with this program because the "real" name is xyz.lnk, not xyz expected by the program.
On Unix system, files are marked as executable by setting a flag (using chmod). When the filename is entered, Unix looks at the first line of the file to determine if it is an executable or if it should be processed by an interpreter. Since the full path to the interpreter is included, moving the code to another system frequently requires modifying the embedded path.
Under Windows, the filename extension determines how the program is executed (including what interpreter is used). Since the provided scripts don't have extensions (with 2 exceptions), major modifications would be needed even if appropriate interpreters could be found.
Because of these differences, there is no reason to attempt to uses any of the provided Unix scripts on Windows - a complete rewrite in a Windows scripting language (or perhaps Fortran) makes a lot more sense.
Author: Robert Clemenzi