HOPS Salting package: HOST: maelstrom.harvard.edu (128.103.2.50) TAR FILES: pub/HOPS/AddSalt/addsalt_1.4.tar.Z (55573:209408 bytes) VERSION: 1.4 (January 18, 2001) ORIGIN: Harvard University, Cambridge Massachusetts Harvard Ocean Prediction System (HOPS) DEVELOPERS: Patrick J. Haley Jr. (haley@pacific.harvard.edu) Wayne G. Leslie (leslie@pacific.harvard.edu) LIBRARIES: (1) GNUmake version 3.75 Free Software Foundation http://www.gnu.ai.mit.edu/ ============ INTRODUCTION ============ This directory contains HOPS's salting package. The purpose of this package is to append a hydrographically consistent salinity profile to XBT/AXBT casts. The reason for doing this is to avoid creating false density structures due to differences in coverage/resolution of a data set's temperature and salinity profiles. The results should only be used with extreme caution. A consistent salting job generally helps model runs, an inconsistent job is worse than no salting at all. The program itself is interactive, prompting the user for all input. This package is not complete. It requres the HOPS data manipulation package found in the "pub/HOPS/Datamng" directory from the HOPS anonymous FTP site. ============ Installation ============ This package is available over the INTERNET via anonymous FTP from maelstrom.harvard.edu (128.103.2.50). When connected, you will be in the FTP directory. To obtain this package, go to the directory "pub/HOPS/AddSalt" and get files: Readme.addsalt This file. addsalt_1.4.tar.Z Compressed tar file of the salting package. To install this package, simply go to the directory in which you want to put the data manipulation package and execute the following command: zcat addsalt_1.4.tar.Z | tar -pxvf - The tar file addsalt_1.4.tar.Z contains the following files: add_salt.F blend.F blkdat.F ck_stability.F fgaussian.F getsal.F getts.F lintrp.F rmblklines.FF rsnewton.F salt.F salting.F shape_fun.F sigmave.F sort.F sort2.F spline.F splint.F svan.F t_s.F tsrho.F iounits.h switches.h tmatch.h GNUmakefile.alpha GNUmakefile.cray GNUmakefile.iris GNUmakefile.rs6000 GNUmakefile.sun3 GNUmakefile.sun4 GNUmakefile.sun5 UPDATES ============ The Makefile ============ Currently, there are seven different GNUmakefiles for seven different computer architectures: GNUmakefile.alpha GNUmakefile.cray GNUmakefile.iris GNUmakefile.rs6000 GNUmakefile.sun3 GNUmakefile.sun4 GNUmakefile.sun5 These makefiles are written for GNU Make, version 3.75 Free Software Foundation (617) 876-3296 675 Mass Ave. gnu@prep.ai.mit.edu Cambridge, MA 02139, USA http://www.gnu.ai.mit.edu/ They are NOT compatible with the standard UNIX Make. The GNU Makefiles have been designed to allow the user to compile the data manipulation source codes in a separate directory from that in which the source codes are located. The makefile searches for the code segments in the following alternate paths: source code: (1) the directory containing the GNUmakefile. (2) the directory specified by the macro SRCDIR include files: (1) the directory containing the GNUmakefile. (2) the directory specified by the macro PARAMDIR (3) the directory specified by the macro SRCDIR This provides the user with the flexibility for the following configurations: (1) The user needs only a copy of a GNUmakefile and a path to the source codes to produce a version of the data manipulation with the appropriate C-preprocessing and compilier options. (2) The user who is modifying the data manipulation codes, can isolate those routines actually being changed with a copy of a GNUmakefile in a sub-directory. ------------------------------------- GNUmakefile Tunable macro definitions ------------------------------------- The User needs to check and modify the following macro definitions in the appropriate GNUmakefile before compiling and linking the application code: BIN Executable name. BINDIR directory path for executable code CPPFLAGS C-preprocessing flags and options FFLAGS flags for the fortran compiler PARAMDIR alternate directory path for include files SRCDIR directory path for source codes DATAMNGDIR directory path for data management source codes ----------------------------------- GNUmakefile C-preprocessing Options ----------------------------------- The following are the available C-preprocessing options to use in the macro definition CPPFLAGS: aixdate AIX intrinsic date routine (IBM RS6000). craydate Using CRAY time/date intrinsic routines decdate Using DEC time/date intrinsic routines gendbg Prevents deletion of intermediate files. newts Newton iteration to improve salinity. Not recommended. rmcomments Remove comments when pre-processing. rmdocinc Remove documentation in all include files. sundate Using SUN time/date intrinsic routines sunflush Flush output buffers on SUN systems. sunfpe enable SUN's Floating Point Exception trap. ------------------------------- GNUmakefile Installation Issues ------------------------------- A number of internal macros are defined for the system commands used by the GNU makefiles. These will generally only have to be defined once, the first time the user installs the data manipulation package on a new system. RMBLKLINES The name given to executable code (provided with this package) to remove blank lines from the pre-processed code. This is provided only to avoid possible conflicts. SHELL The shell to be used by the makefile. RM The remove command. ECHO The echo command. LIB The netCDF library CPP The C Pre-Processor. FC The FORTRAN compilier ===================== Compiling and Linking ===================== Once that the software has been installed and the Makefile has been selected and customized, the User needs to attend the following steps to compile and link the application code: (1) Customize include parameter file "param_hydro.h" in the data manipulation package. The User needs to set the following parameters: MHDR Maximum number of lines of text in the file header. MHFLDS Maximum number of field types supported. MHPTS Maximum number of data points per station. MHVAR Maximum number of variables per station. (MHVAR<=MHFLDS) It is recommended to set these values big to avoid recompiling each time, for example: parameter (mhdr=20,mhflds=10,mhpts=10000,mhvar=4)