Compiling the SOO/STRC WS Eta |
1. First, a Few Comments
a) Necessary Compilers
In order to compile the WS Eta locally, you will need ANSI-C and F90 compilers. On LINUX systems, the gnu-C (gcc) compiler is ANSI-compatible, but you will need to purchase an f90 compiler from a third party source. On HP systems, you will have to buy both compilers separate from the bundled OS.
If you do not F90 and ANSI-C compilers, stop reading now and load the binary distribution provided for your machine on the SOO/STRC ftp server. If you have the compilers, read on
b) Supported systems - Linux and HPUX
The SOO/STRC version of the WS ETA has only been compiled and tested under LINUX kernel 2.X and HPUX 10.20. I know that it will run on SUN and SGI systems although I have not done any testing. Consequently, some minor porting may be required to get the model to run under these environments. If you want to run the WS Eta under windows you are really on your own.
2. Compiling the SOO/STRC WS Eta
a) Manual vs Automatic Compilation
Compiling the SOO/STRC version of the WS Eta package is very easy provided you have a compiler; otherwise it gets difficult. You can either compile the model manually with the "make" command from the top level of the WS Eta distribution ($WS_ETA) or automatically by editing the grid dimensions in the run_time/eta_run.csh file. If you change the grid dimensions in eta_run.csh and run the script as part of executing a forecast, the script will automatically compile the executables before running the model. Note that you MUST have the compiler path listed in the use user $PATH environmental variable regardless of which option you choose.
b) Compiler Configuration File
The configuration files for compiling the model are located in $WS_ETA/src/config directory. If you are running the WS Eta on a HP there is no need to edit the Makeinc.hpux file. However, if you have a LINUX system, you may need to modify the Makeinc.linux depending on your compiler and/or number of CPUs on your machine. The distribution of the WS Eta is pre-configured to compile with the Portland Group Fortran 90 compiler version 3.1 or higher. There are separate compiler flags for those running on a multi-CPU workstation. If you have the ABSOFT F90 compiler, you must make the changes. Just comment/uncomment the appropriate compiler settings in the appropriate file.
c) Grid dimension Configuration File
The model dimensions for the primary and nested mesh domains ate located in $WS_ETA/src/config/dimensions.conf and $WS_ETA/src/config/nest_dimensions.conf respectively. The model default configuration is for a 55x91x45 model domain (55x91 horizontal grid points by 45 vertical levels) unless you have previously installed a different binary distribution. You may choose to change this now or wait until you edit the run-time scripts. I would wait to change the grid size in eta_run.csh. The only variables you are allowed to change in this file are IM, JM, LM, and LSM. A description of each is provided in $WS_ETA/run_time/eta_run.csh.
d) Grid dimension configuration file
To manually compile:
% cd $WS_ETA
You should now be located at the top level of the SOO/STRC WS Eta distribution.
% make clobber - This step cleans the distribution prior to building
% make all% make clobber_nest - To clean up the nested executables prio to building.
% make nestIf you want to save the output from the make process and send all the output to the "make.out" file.
% make all >& make.out &
% tail -f make.outNote that is you get errors to the effect that the make file can't find the compilers you will have to add them to your path.
You can now watch the all the libraries and executables being built. Do a ctrl-C (^c) to exit out of "tail -f make.out". The "make" is run in the background so it should go to completion. When it is done, look through the "make.out" for "failed", "exit", or any other verbiage that may indicate a problem. If there are problems - call me.