[Dart-dev] [6148] DART/branches/development/mkmf: Moved the DART version control information to the bottom.

nancy at ucar.edu nancy at ucar.edu
Fri May 17 11:59:35 MDT 2013


Revision: 6148
Author:   thoar
Date:     2013-05-17 11:59:34 -0600 (Fri, 17 May 2013)
Log Message:
-----------
Moved the DART version control information to the bottom.
Added comment block about netcdf, netcdff and HDF5 libraries
that may be needed. Added comment block to intel compiler
derivatives about -traceback and leaving the object code
to improve debug messages.

Modified Paths:
--------------
    DART/branches/development/mkmf/mkmf
    DART/branches/development/mkmf/mkmf.html
    DART/branches/development/mkmf/mkmf.template.absoft.osx
    DART/branches/development/mkmf/mkmf.template.g95
    DART/branches/development/mkmf/mkmf.template.gfortran
    DART/branches/development/mkmf/mkmf.template.intel.linux
    DART/branches/development/mkmf/mkmf.template.intel.osx
    DART/branches/development/mkmf/mkmf.template.lahey.linux
    DART/branches/development/mkmf/mkmf.template.pathscale.linux
    DART/branches/development/mkmf/mkmf.template.pgi.cray
    DART/branches/development/mkmf/mkmf.template.pgi.linux
    DART/branches/development/mkmf/mkmf.template.pgi.osx
    DART/branches/development/mkmf/mkmf.template.sgi.altix
    DART/branches/development/mkmf/mkmf.template.xlf.aix

-------------- next part --------------
Modified: DART/branches/development/mkmf/mkmf
===================================================================
--- DART/branches/development/mkmf/mkmf	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,12 +3,6 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 #-----------------------------------------------------------------------
 #              mkmf: Perl script for makefile construction
@@ -267,7 +261,7 @@
 #before proceeding, dump namelist file if any
 if ( @nml_list ) {
   unlink $nmlfile if -e $nmlfile;
-  open NMLFILE, ">$nmlfile"; 
+  open NMLFILE, ">$nmlfile";
   foreach ( @nml_list ) {
     open THISNML, "$_";
     while (<THISNML>) {
@@ -471,3 +465,10 @@
 print " $opt_m is ready.\n";
 
 exec 'make', '-f', $opt_m if $opt_x;
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.html
===================================================================
--- DART/branches/development/mkmf/mkmf.html	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.html	2013-05-17 17:59:34 UTC (rev 6148)
@@ -37,11 +37,11 @@
 containing <tt>#ifdef</tt>s that have been changed since the
 last invocation);
 <li>It will run on any unix platform that has perl version 5 installed;
-<li>It is free, and released under GPL. GFDL users can copy 
+<li>It is free, and released under GPL. GFDL users can copy
 (or, better still, directly invoke) the file
 <tt>/net/vb/public/bin/mkmf</tt>. External users can download the
 source <a href="ftp://ftp.gfdl.gov/pub/vb/mkmf/mkmf">
-                ftp://ftp.gfdl.gov/pub/vb/mkmf/mkmf</a>. 
+                ftp://ftp.gfdl.gov/pub/vb/mkmf/mkmf</a>.
 Current public revision is 4.12.
 
 </ul>
@@ -84,8 +84,8 @@
 
 <li><tt>-v</tt> is a verbosity flag to <tt>mkmf</tt>;
 
-<li><tt>-w</tt> generates compile rules which use the `wrapper' commands 
-MPIFC and MPILD instead of FC and LD.  These can then be defined as 
+<li><tt>-w</tt> generates compile rules which use the `wrapper' commands
+MPIFC and MPILD instead of FC and LD.  These can then be defined as
 the mpif90 compile scripts to ease changing between an MPI and non-MPI
 version;
 
@@ -118,7 +118,7 @@
 href="#examples">Examples</a> section for a closer look at precedence rules.
 
 <p>The makefile currently runs <tt>$(FC)</tt> on fortran files
-and <tt>$(CC)</tt> on C files (unless the <tt>-w</tt> flag is specified). 
+and <tt>$(CC)</tt> on C files (unless the <tt>-w</tt> flag is specified).
 Flags to the compiler can be set
 in <tt>$(FFLAGS)</tt> or <tt>$(CFLAGS)</tt>. The final
 loader step executes <tt>$(LD)</tt>. Flags to the loader can be
@@ -127,7 +127,7 @@
 and can be set in <tt>$(CPPFLAGS)</tt>. These macros have a
 default meaning on most systems, and can be modified in the template
 file. The predefined macros can be discovered by running <tt>make
--p</tt>.  
+-p</tt>.
 
 <p>In addition, the macro <tt>$(CPPDEFS)</tt> is applied to the
 preprocessor. This can contain the <tt>cpp #define</tt>s which
@@ -135,7 +135,7 @@
 change between compilations should be placed in
 <tt>$(CPPFLAGS)</tt>.
 
-<p>If the <tt>-w</tt> flag is given the commands run are 
+<p>If the <tt>-w</tt> flag is given the commands run are
 <tt>$(MPIFC)</tt> on fortran files, <tt>$(MPICC)</tt> on C files,
 and <tt>$(MPILD)</tt> for the loader step. The flags retain their
 same values with or without the <tt>-w</tt> flag. (This is a local
@@ -293,7 +293,7 @@
 following <tt>Makefile</tt>:
 
 <p><pre>
-# Makefile created by mkmf $Id$ 
+# Makefile created by mkmf $Id$
 
 
 .DEFAULT:
@@ -355,7 +355,7 @@
 The new Makefile looks like this:
 
 <p><pre>
-# Makefile created by mkmf $Id$ 
+# Makefile created by mkmf $Id$
 
 
 .DEFAULT:

Modified: DART/branches/development/mkmf/mkmf.template.absoft.osx
===================================================================
--- DART/branches/development/mkmf/mkmf.template.absoft.osx	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.absoft.osx	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,15 +3,9 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
 # NETCDF and LIBS needs to be customized for your site
 #    The netcdf 3.5.1 lib had to be compiled with such that all the routines
@@ -21,43 +15,43 @@
 #
 #      -dp       "DEMOTE Double Precision to Real"
 #
-#      -N113     "Promote REAL and COMPLEX"    Without an explicit length 
-#                declaration, single precision REAL and COMPLEX data types 
-#                default to thirty-two bits or four bytes (KIND=4) and 
+#      -N113     "Promote REAL and COMPLEX"    Without an explicit length
+#                declaration, single precision REAL and COMPLEX data types
+#                default to thirty-two bits or four bytes (KIND=4) and
 #                sixty-four bits or eight bytes  (KIND=4), respectively.
-#                The -N113 option is used to promote these to their double 
-#                precision equivalents (KIND=8). This option does not affect 
-#                variables which appear in type statements with explicit 
-#                sizes (such as REAL (KIND=4) or COMPLEX (KIND=4)).  
+#                The -N113 option is used to promote these to their double
+#                precision equivalents (KIND=8). This option does not affect
+#                variables which appear in type statements with explicit
+#                sizes (such as REAL (KIND=4) or COMPLEX (KIND=4)).
 #
-#      -f free   instructs compiler to accept source code written in the 
+#      -f free   instructs compiler to accept source code written in the
 #                format for Fortran 90/95 Free Source Form.
 #
-#      -reclen32 Causes the library to interpret the value specified for 
-#                RECL= in an OPEN statement as 32-bit words instead of bytes. 
+#      -reclen32 Causes the library to interpret the value specified for
+#                RECL= in an OPEN statement as 32-bit words instead of bytes.
 #
-#      -N26      Use this option to force the compiler to consider the byte 
+#      -N26      Use this option to force the compiler to consider the byte
 #                ordering of all unformatted files to be big-endian by default.
-#                The CONVERT specifier in the OPEN statement may be used to 
-#                override this setting for individual files. 
+#                The CONVERT specifier in the OPEN statement may be used to
+#                override this setting for individual files.
 #
 # FFLAGS   used all the time
 #     -YEXT_NAMES=LCS          lower case symbols
 #     -YEXT_SFX=_              trailing underscore
 #     -altiVec                 use fast libs for Mac
-#     -p$(INCS)                precompiled modules are here 
+#     -p$(INCS)                precompiled modules are here
 #
 # FFLAGS   useful for debugging
 #     -en                      warns of non-standard language. (extensions)
 #     -g                       debug symbol table
-#     -N32                     issue a warning when the source code contains 
-#                              an extension to the ANSI F77 standard. 
+#     -N32                     issue a warning when the source code contains
+#                              an extension to the ANSI F77 standard.
 #     -wabort                  treat all warnings as errors
 #     -Rb                      check array boundaries
 #     -Rc                      check array conformance (shapes)
 #     -Rs                      check that character substring expressions
-#                              do not specify a character index outside the 
-#                              scope of the character variable or 
+#                              do not specify a character index outside the
+#                              scope of the character variable or
 #                              character array element.
 #     -C                       full Checking (too much info ...)
 #
@@ -68,24 +62,47 @@
 # LDFLAGS
 #     -unixlib                 resolves 'system' call ... and more.
 #
-# Compiler Information (f90 -v):
-#   Pro Fortran 9.0     (pretty minimalist message, if you ask me)
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
 MPILD = mpif90
 FC = f90
 LD = f90
 
-# If your NETCDF environment variable is not set correctly, 
-# uncomment the following line and set value properly. 
-# NETCDF = /Users/thoar/Absoft
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
 
-INCS =   ${NETCDF}/include
-LIBS = -L${NETCDF}/lib -lnetcdf
+# If your NETCDF environment variable is not set correctly,
+# uncomment the following line and set value to where lib and include
+# are found for the netcdf files that match this compiler.
+#
+# NETCDF = /opt/local
+
+INCS =   $(NETCDF)/include
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
 FFLAGS  = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O0 -Rb -Rc -g -p$(INCS)
 LDFLAGS = -unixlib $(FFLAGS) $(LIBS)
 
-
+# alternate (sometimes useful) fortran flags invocations
 #FFLAGS = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O0 -Rb -Rc -p$(INCS)
 #FFLAGS = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O0 -N113 -f free -Rb -Rc -p$(INCS) -I$(INCS)
 #FFLAGS = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O0 -Rb -Rc -N26 -p$(INCS) -I$(INCS)
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.template.g95
===================================================================
--- DART/branches/development/mkmf/mkmf.template.g95	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.g95	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,48 +3,42 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
 # Most likely NETCDF (and maybe LIBS) will need to be customized for your site
 #
-# 
+#
 # Building DART with open-source software:
-# 
+#
 # All the parts (except matlab, which is optional and only used to display results)
-# needed to build and run the DART package are now possible to get free from 
+# needed to build and run the DART package are now possible to get free from
 # the open-source community.  To compile and run DART, you will need:
-# 
 #
+#
 # 1. The g95 compiler.  See this web page for
-#    information on supported platforms and downloads: 
+#    information on supported platforms and downloads:
 #      http://g95.sourceforge.net/
-# 
+#
 #    (Note that the g95 compiler is a separate project from the 'gfortran'
 #    compiler.  gfortran is part of the GNU compiler development efforts;
 #    g95 is a separately developed and supported project.)
-# 
-# 
+#
+#
 # 2. The netCDF software library package.  See:
 #      http://www.unidata.ucar.edu/software/netcdf
-# 
+#
 #    The 3.6.2 version compiled for us with this:
-# 
+#
 #     ./configure CC=gcc FC=g95
 #     make check
 #     make install
 #
 #    You can add the argument --prefix=/dir to configure to make the install
 #    location for the includes and libs someplace other than /usr/local.
-# 
-# 
+#
+#
 # If you want to try the *optional* parallel execution option, you will
 # need a version of the MPI libs.  There are at least two open source options:
 #
@@ -54,24 +48,44 @@
 #     or mpich from:
 #       http://http://www-unix.mcs.anl.gov/mpi/mpich/
 #
-# Note that MPI IS NOT REQUIRED to build and run DART.  
+# Note that MPI IS NOT REQUIRED to build and run DART.
 #
-# 
-# Possibly useful flags:
-#
-# 
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
 MPILD = mpif90
 FC = g95
 LD = g95
 
-# If your NETCDF environment variable is not set correctly, 
-# uncomment the following line and set value properly. 
-# NETCDF = /usr/local/netcdf
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
 
-INCS = -I${NETCDF}/include
-LIBS = -L${NETCDF}/lib -lnetcdf
-FFLAGS  = -O2 $(INCS) 
+# If your NETCDF environment variable is not set correctly,
+# uncomment the following line and set value to where lib and include
+# are found for the netcdf files that match this compiler.
+#
+# NETCDF = /opt/local
+
+INCS = -I$(NETCDF)/include
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+FFLAGS  = -O2 $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.template.gfortran
===================================================================
--- DART/branches/development/mkmf/mkmf.template.gfortran	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.gfortran	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,53 +3,47 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
 # Most likely NETCDF (and maybe LIBS) will need to be customized for your site
 #
-# 
+#
 # Building DART with open-source software:
-# 
+#
 # All the parts (except matlab, which is optional and only used to display results)
-# needed to build and run the DART package are now possible to get free from 
+# needed to build and run the DART package are now possible to get free from
 # the open-source community.  To compile and run DART, you will need:
-# 
 #
+#
 # 1. The GNU GCC 4.2.0 version of the gfortran compiler.  See this web page for
-#    information on supported platforms and downloads: 
+#    information on supported platforms and downloads:
 #      http://gcc.gnu.org/wiki/GFortran
-# 
+#
 #    (Note that there is a separate G95 project which distributes an alternate
-#    open-source fortran distribution, and I have heard that others have 
+#    open-source fortran distribution, and I have heard that others have
 #    successfully compiled other fortran code with that compiler, but we have
 #    not tried it with DART yet.)
-# 
-#    NOTE: The 4.1.2 compiler made the HORRIBLE choice of changing the default 
-#    record header size for unformatted writes such that it was incompatible 
+#
+#    NOTE: The 4.1.2 compiler made the HORRIBLE choice of changing the default
+#    record header size for unformatted writes such that it was incompatible
 #    with every existing binary file. Specifying -frecord-marker=4 is crucial
 #    to have any hope of success.
-# 
+#
 # 2. The netCDF software library package.  See:
 #      http://www.unidata.ucar.edu/software/netcdf
-# 
+#
 #    The 3.6.2 version compiled for us with this:
-# 
+#
 #     ./configure CC=gcc FC=gfortran
 #     make check
 #     make install
 #
 #    You can add the argument --prefix=/dir to configure to make the install
 #    location for the includes and libs someplace other than /usr/local.
-# 
-# 
+#
+#
 # If you want to try the *optional* parallel execution option, you will
 # need a version of the MPI libs.  There are at least two open source options:
 #
@@ -59,43 +53,65 @@
 #     or mpich from:
 #       http://http://www-unix.mcs.anl.gov/mpi/mpich/
 #
-# Note that MPI IS NOT REQUIRED to build and run DART.  
+# Note that MPI IS NOT REQUIRED to build and run DART.
 #
-# 
+#
 # Possibly useful flags:
 #
-# -ffree-form          forces input file to be read as free format regardless 
+# -ffree-form          forces input file to be read as free format regardless
 #                      of what file extension is has.
 #
 # -fdefault-real-8     force all real variables to be real*8.
 #
 # -ffpe-trap=invalid,overflow,precision,denormal,underflow
 #
-# Comment about netcdf libraries:
-#  We call NetCDF from Fortran 90, so we need the fortran interface
-#  library.  In some versions of netcdf (e.g. 4.x), the fortran
-#  interfaces are built in a separate library (-lnetcdff) and the
-#  rest of the netcdf functions are in -lnetcdf.  If you get a link
-#  error with the flags below, try removing -lnetcdff, or find out
-#  where the fortran 90 interfaces live in the netcdf distribution
-#  on your system and change the LIBS variable below to match.
-# 
+#
+# NOTE: there is no compile-time convert endian flag. It is a run-time option.
+# http://gcc.gnu.org/onlinedocs/gfortran/GFORTRAN_005fCONVERT_005fUNIT.html#GFORTRAN_005fCONVERT_005fUNIT
+#       To treat units 10-20 as big_endian but the rest are 'native' ...
+#       setenv GFORTRAN_CONVERT_UNIT 'big_endian;native:10-20'
+#
+#       To treat ALL units as big_endian (the 10-20 is meaningless in this instance):
+#       setenv GFORTRAN_CONVERT_UNIT 'big_endian;big_endian:10-20'
+#
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
 MPILD = mpif90
 FC = gfortran
 LD = gfortran
 
-# If your NETCDF environment variable is not set correctly, 
-# uncomment the following line and set value properly. 
-# NETCDF = /usr/local
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
 
-INCS = -I${NETCDF}/include
-LIBS = -L${NETCDF}/lib -lnetcdff -lnetcdf
-FFLAGS  = -O2 $(INCS) -ffree-line-length-none
+# If your NETCDF environment variable is not set correctly,
+# uncomment the following line and set value to where lib and include
+# are found for the netcdf files that match this compiler.
+#
+# NETCDF = /opt/local
+
+INCS = -I$(NETCDF)/include
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+FFLAGS  = -O2 -ffree-line-length-none $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
-#FFLAGS = -O0 -fbounds-check -frecord-marker=4 -ffpe-trap=invalid -ffree-line-length-none $(INCS) 
+#FFLAGS = -O0 -fbounds-check -frecord-marker=4 -ffpe-trap=invalid -ffree-line-length-none $(INCS)
 
-# The following libraries are commonly needed if netCDF4 was built with HDF5 support.
-#LIBS = -L${NETCDF}/lib -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz  -lm
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.template.intel.linux
===================================================================
--- DART/branches/development/mkmf/mkmf.template.intel.linux	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.intel.linux	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,25 +3,19 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
 # mkmf -t mkmf.template.xxxx ...
 #
-# If NETCDF is set in your environment you do not need to set it here.
-# If you need additional libraries you may need to adjust LIBS below.
+# FFLAGS   useful for DEBUGGING. NOTE: The intel compiler can provide a lot more
+#          information if you LEAVE the object and module files intact.
+#          Do not remove the *.o and *.mod files when debugging code.
 #
-# FFLAGS   useful for debugging
 #     -g       include debugging information.  these are all synonyms.
 #     -debug full
 #     -debug all
-#     -O0      setting -g will make this the default (no optimization).  
-#              it is possible to set -g and then explicitly set -O2 if 
+#     -O0      setting -g will make this the default (no optimization).
+#              it is possible to set -g and then explicitly set -O2 if
 #              the behavior being debugged depends on optimization changes.
 #     -ftrapuv   traps if a local variable is used before being set
 #     -C       enables all runtime checks.  -C and -check all are synonyms.
@@ -30,7 +24,7 @@
 #           keywords:  [arg_temp_created,bounds,overflow,format,pointers,uninit]
 #     -warn <keywords>  the level of warning messages issued.
 #           keywords:  [alignments, argument_checking, declarations,
-#                      errors, fileopt, general, ignore_loc, 
+#                      errors, fileopt, general, ignore_loc,
 #                      stderrors, truncated_source, uncalled,
 #                      uninitialized, unused, usage, all]
 #     -fp-stack-check  catches conditions where the FP stack is not correct.
@@ -40,6 +34,9 @@
 #     -vec-reportN  controls how much diagnostic output is printed about
 #                   loops vectorized by the compiler. N = 0 is silent,
 #                   N can have values up to 5.
+#     -traceback    tells the compiler to generate extra information in the
+#                   object file to provide source file traceback information
+#                   when a severe error occurs at run time
 #
 # FFLAGS   useful for bitwise reproducibility and accuracy control
 #          (these will slow down performance to various degrees)
@@ -75,7 +72,7 @@
 #                (for those running on yellowstone, -axavx will enable the advanced
 #                vector instructions available on the sandy bridge processors.)
 #
-# FFLAGS   possibly useful, not normally used by DART 
+# FFLAGS   possibly useful, not normally used by DART
 #     -fpp     run Fortran preprocessor on source files prior to compilation
 #     -free    interpret source as free-format, regardless of file extension
 #     -r8      specify default real size.  note that for DART we use explicit
@@ -89,27 +86,36 @@
 #     -assume  byterecl ... more 'industry-standard' direct-access behavior
 #              controls what units the RECL (record length) specifier returns.
 #
+# The PBL_1d model needs this flag added to whatever others are used:
+# FFLAGS = -r8
 #
-# The PBL_1d model needs this flag added to whatever others are used:
-#FFLAGS = -r8 
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
 MPILD = mpif90
 FC = ifort
 LD = ifort
 
-# If your NETCDF environment variable is not set correctly, 
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
+
+# If your NETCDF environment variable is not set correctly,
 # uncomment the following line and set value to where lib and include
 # are found for the netcdf files that match this compiler.
-# 
-# If you get an error about libnetcdff (note 2 f's) not found,
-# remove it from the libs line.  when building netcdf there are
-# configure options to put all the fortran interfaces into a 
-# separate library from the base lib, or build one larger library.
-# so each system can be different depending on who built
-# the netcdf libs.
 #
-# NETCDF = /contrib/netcdf
+# NETCDF = /opt/local
 
 INCS = -I$(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
@@ -117,17 +123,23 @@
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for development or debugging, use this instead:
-# FFLAGS = -g -C -check noarg_temp_created -fpe0 -vec-report0 -fp-model precise  \
-#        -warn argument_checking,declarations,uncalled,unused -ftrapuv $(INCS)
+# FFLAGS = -g -C -check noarg_temp_created -fpe0 -vec-report0 \
+#          -fp-model precise  -ftrapuv -traceback \
+#          -warn argument_checking,declarations,uncalled,unused $(INCS)
 #
-# for speed on yellowstone (verify against a run with with -O and -fp-model precise 
+# for speed on yellowstone (verify against a run with with -O and -fp-model precise
 #        that the numerical differences aren't too large to be acceptable):
 # FFLAGS = -O3 -axavx -ipo -vec-report0 $(INCS)
 #
 # Some optimized (BLAS, LAPACK) libraries may be available with:
 # LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lmkl -lmkl_lapack -lguide -lpthread
 #
-# If you get this error: libimf.so: warning: warning: feupdateenv is not implemented 
+# If you get this error: libimf.so: warning: warning: feupdateenv is not implemented
 # try adding: -limf -lm to your LIBS line.
 
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
 

Modified: DART/branches/development/mkmf/mkmf.template.intel.osx
===================================================================
--- DART/branches/development/mkmf/mkmf.template.intel.osx	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.intel.osx	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,49 +3,68 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
-# Most likely NETCDF and LIBS need to be customized for your site
+# NOTE: The intel compiler can provide a lot more
+#       information if you LEAVE the object and module files intact.
+#       Do not remove the *.o and *.mod files when debugging code.
 #
-# 
 # Building DART with the commercial Intel compiler for the iMacs:
-# 
+#
 # You will need to have a version of the (free) netCDF software
 # library package:
 #
 #      http://www.unidata.ucar.edu/software/netcdf
-# 
 #
+#
 # users have had problems with the default stack size on OS X.
 # the -Wl,-stack_size argument below increases the stack large
 # enough to run large models.
 #
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
 MPILD = mpif90
 FC = ifort
 LD = ifort
 
-# If your NETCDF environment variable is not set correctly, 
-# uncomment the following line and set value properly. 
-# NETCDF = /usr/local
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdf -lnetcdff -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
 
-INCS = -I${NETCDF}/include
-LIBS = -L${NETCDF}/lib -lnetcdf
+# If your NETCDF environment variable is not set correctly,
+# uncomment the following line and set value to where lib and include
+# are found for the netcdf files that match this compiler.
+#
+# NETCDF = /opt/local
 
+INCS = -I$(NETCDF)/include
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+
 # for Intel 9.x:
-FFLAGS  = $(INCS) -O2 
+FFLAGS  = $(INCS) -O2
 LDFLAGS = $(INCS) -Wl,-stack_size,10000000 $(LIBS)
 
 # for Intel 10.x:
 #FFLAGS  = $(INCS) -O2 -m64 -heap-arrays -vec-report0 -fpe0
 #LDFLAGS = $(INCS) $(LIBS)
 
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.template.lahey.linux
===================================================================
--- DART/branches/development/mkmf/mkmf.template.lahey.linux	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.lahey.linux	2013-05-17 17:59:34 UTC (rev 6148)
@@ -4,22 +4,10 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
-# NETCDF and LIBS need to be customized for your site
-# for machines at NCAR, here are some settings:
-#   fisher     NETCDF = /home/thoar/netcdf-3.5.1-cc-c++-lf95.6.20a
-#   lightning  NETCDF = /contrib/netcdf/3.5.1-lahey-6.2-32
-#   bangkok    NETCDF = /usr/local/netcdf-3.6.1-gcc-3.4.6-lf9562
-#
 # FFLAGS   useful for benchmarking
 #    --ap                    preserve arithmetic accuracy in the face of optimization
 #    -Ktrap=fp               trap floating point exceptions and EXIT
@@ -43,10 +31,10 @@
 #                uninitialized variables.
 #             Arguments can be combined (separated by commas).
 #         <args>:
-#             a   argument checking.  
-#             e   array expression shape checking.  
-#             s   subscript checking.  
-#             u   undefined variable checking.  
+#             a   argument checking.
+#             e   array expression shape checking.
+#             s   subscript checking.
+#             u   undefined variable checking.
 #             x   extra checking.
 #    --chkglobal
 #    --verbose
@@ -60,34 +48,48 @@
 #
 # FFLAGS   for historical reasons
 #    --dbl   does the autopromotion
-# NOTE: 'noieee' "... produces results that differ from the correctly rounded 
+# NOTE: 'noieee' "... produces results that differ from the correctly rounded
 #                 result by no more than 3 units in the last place."
 #
-# Compiler Information:   (lf95 --version)
-#    Lahey/Fujitsu Fortran 95 Compiler Release L6.20c
-#    Copyright (C) 1994-2003 Lahey Computer Systems.  All rights reserved.
-#    Copyright (C) 1998-2003 FUJITSU LIMITED. All rights reserved.
-#
-# Compiler Information (lf95 -V):
-#   Lahey/Fujitsu Fortran 95 Compiler Release L6.20a
-#   Copyright (C) 1994-2003 Lahey Computer Systems.  All rights reserved.
-#   Copyright (C) 1998-2003 FUJITSU LIMITED. All rights reserved.
-#
-#
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
 MPILD = mpif90
 FC = lf95
 LD = lf95
 
-# If your NETCDF environment variable is not set correctly, 
-# uncomment the following line and set value properly. 
-# NETCDF = /contrib/netcdf/3.5.1-lahey-6.2-32
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
 
+# If your NETCDF environment variable is not set correctly,
+# uncomment the following line and set value to where lib and include
+# are found for the netcdf files that match this compiler.
+#
+# NETCDF = /opt/local
+
 INCS = -I$(NETCDF)/include
-LIBS = -L$(NETCDF)/lib -lnetcdf
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
 FFLAGS  = -Wa,--32 --trap --wide --o2 $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for debugging or development, here are some suggested flags:
-#FFLAGS = --ap --trap --warn --wide --chk a,s,u,x --o0 $(INCS) 
+#FFLAGS = --ap --trap --warn --wide --chk a,s,u,x --o0 $(INCS)
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.template.pathscale.linux
===================================================================
--- DART/branches/development/mkmf/mkmf.template.pathscale.linux	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.pathscale.linux	2013-05-17 17:59:34 UTC (rev 6148)
@@ -1,18 +1,12 @@
 # Template for Pathscale 2.0 f90 Compiler on a Linux cluster
-#  (applies to the NCAR machine 'lightning' - an Opteron cluster)
+#  (tested to the NCAR machine 'lightning' - an Opteron cluster)
 #
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
 # NETCDF and LIBS needs to be customized for your site
 #
@@ -29,14 +23,7 @@
 #    -O3                     'full optimization'
 #    -Ofast                  'default fast option configuration'
 #
-# The netcdf library location for a different version of the compiler:
-# NETCDF = 
-#
-# Compiler Information (pathf90 --v):
-#    PathScale EKO Compiler Suite(TM): Version 2.0
-#    Built on: 2004-12-30 13:33:07 -0800
-#    Thread model: posix
-#    GNU gcc version 3.3.1 (PathScale 2.0 driver)
+# IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 #----------------------------------------------------------------------
 # if the pathScale module is loaded, these things are already properly set.
@@ -45,19 +32,43 @@
 #MPILD=$(MPI_HOME)/bin/mpif90
 #----------------------------------------------------------------------
 
-MPIFC=mpif90
-MPILD=mpif90
+MPIFC = mpif90
+MPILD = mpif90
 FC = pathf90
 LD = pathf90
 
-# If your NETCDF environment variable is not set correctly, 
-# uncomment the following line and set value properly. 
-# NETCDF = /home/lightning/thoar/netcdf-3.6.0p1-pathcc-pathf90-2.0-64
+# DISCUSSION ABOUT NETCDF. DART works with both V3 and V4 flavors of netCDF.
+# Some V4 installations also require the HDF5 libraries. Some don't.
+# Some netCDF installations require both -lnetcdff and -lnetcdf, some only
+# require -lnetcdf. The permutations make it difficult to cover the possible
+# installations. Here are some candidates, you might just have to resort to
+# trial and error:
+# LIBS = -L$(NETCDF)/lib -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
+# LIBS = -L$(NETCDF)/lib -lnetcdf           -lcurl -lhdf5_hl -lhdf5 -lz -lm
+# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lcurl -lhdf5_hl -lhdf5 -lz -lm
+#
+# If you get an error "ld: library not found for -lnetcdff" (note 2 f's),
+# remove it from the LIBS line. The same is true for any library. If 'ld'
+# does not complain - it worked.
 
+# If your NETCDF environment variable is not set correctly,
+# uncomment the following line and set value to where lib and include
+# are found for the netcdf files that match this compiler.
+#
+# NETCDF = /opt/local
+
 INCS = -I$(NETCDF)/include
-LIBS = -L$(NETCDF)/lib -lnetcdf
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
 FFLAGS  = -O2 $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for development/debugging, use these flags instead:
 #FFLAGS = -Wuninitialized -ffortran-bounds-check -fullwarn -O0 -I$(NETCDF)/include
+
+# <next few lines under version control, do not edit>
+# $URL$
+# $Id$
+# $Revision$
+# $Date$
+

Modified: DART/branches/development/mkmf/mkmf.template.pgi.cray
===================================================================
--- DART/branches/development/mkmf/mkmf.template.pgi.cray	2013-05-17 16:37:52 UTC (rev 6147)
+++ DART/branches/development/mkmf/mkmf.template.pgi.cray	2013-05-17 17:59:34 UTC (rev 6148)
@@ -3,26 +3,10 @@
 # DART software - Copyright 2004 - 2011 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
 # http://www.image.ucar.edu/DAReS/DART/DART_download
-#
-# <next few lines under version control, do not edit>
-# $URL$
-# $Id$
-# $Revision$
-# $Date$
 
 # typical use with mkmf
-# mkmf -t mkmf.template.xxxx -c"-Duse_netCDF" ...
+# mkmf -t mkmf.template.xxxx ...
 #
-# NETCDF and LIBS need to be customized for your site
-#  here are some values for the local NCAR machines:
-#    ocotillo       NETCDF = /usr/local/netcdf-pgi
-#    fisher         NETCDF = /contrib/netcdf-3.6.0-p1-cc-c++-pgf90.6.1-1
-#    lightning 6.0  NETCDF = /contrib/netcdf/3.5.1-pgi6.0-64   
-#    lightning 6.2  NETCDF = /home/lightning/thoar/netcdf-3.6.0p1-pgcc-pgCC-pgf90-6.2
-#    coral 32bit    NETCDF = /contrib/netcdf-3.6.0p1-pgcc-pgf90-6.0-8-32
-#    coral 64bit    NETCDF = /contrib/netcdf-3.6.0p1-cc-pgf90-6.0-8-64
-#    bangkok        NETCDF = /usr/local/netcdf-pgi
-#
 # if you switch between machines frequently, you can leave
 # the NETCDF variable unset here and set it in your environment.
 #
@@ -34,8 +18,8 @@
 #
 # FFLAGS   useful for speed
 #    -fastsse                'general optimal flags for SSE, SSE2 chipsets'
-#    -Minline                
-#    -Knoieee                don't perform IEEE arithmetic (faster, see note) 
+#    -Minline

@@ Diff output truncated at 40000 characters. @@


More information about the Dart-dev mailing list