[Dart-dev] [6674] DART/trunk/mkmf: updates to the mkmf files that somehow didn' t get committed

nancy at ucar.edu nancy at ucar.edu
Thu Dec 12 15:11:25 MST 2013


Revision: 6674
Author:   nancy
Date:     2013-12-12 15:11:24 -0700 (Thu, 12 Dec 2013)
Log Message:
-----------
updates to the mkmf files that somehow didn't get committed
before now.  mostly it was cleanups of the comment sections at
the top of each file, bringing it up to date with the current
versions of the compilers.  also made the default optimization
flag consistently just -O and not -O2; take the compiler default
for optimization without specifying a level.  made the default
flags in the debugging examples always use -g -- several did not
have it and instead had -O0.  removed the comment in the gfortran
mkmf file about fixsystem because it is called invisibly now
when needed.  

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

-------------- next part --------------
Modified: DART/trunk/mkmf/mkmf.template
===================================================================
--- DART/trunk/mkmf/mkmf.template	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template	2013-12-12 22:11:24 UTC (rev 6674)
@@ -9,74 +9,48 @@
 # typical use with mkmf
 # mkmf -t mkmf.template.xxxx ...
 #
-# Most likely NETCDF (and maybe LIBS) will need to be customized for your site
 #
+# Suggested debugging flags:
+#  -g                  add debugging information to executable
+#  -fbacktrace         runtime errors try to print out a stack backtrace
+#  -fbounds-check      add runtime-checking for out-of-range array indices
+#  -ffpe-trap=invalid,zero,overflow
+#                      stop on floating point errors
 #
-# Building DART with open-source software:
+#  earlier versions of this mkmf file listed 'precision' as one of the options on
+#  the fpe-trap line.  this is not recommended anymore as some of the gfortran internal
+#  routines will trap, as well as some perfectly valid DART computations.
 #
-# 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
-# the open-source community.  To compile and run DART, you will need:
+# Generally not needed but possibly useful for non-DART code:
 #
+# -ffree-form          forces input file to be read as free format regardless
+#                      of what file extension it has.
 #
-# 1. The GNU GCC 4.2.0 version of the gfortran compiler.  See this web page for
-#    information on supported platforms and downloads:
-#      http://gcc.gnu.org/wiki/GFortran
+# -fdefault-real-8     force all real variables to be real*8.  not needed for DART code
+#                      since all real variables in DART are declared with a size.
 #
-#    (Note that there is a separate G95 project which distributes an alternate
-#    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: Some previous versions of the gfortran compiler (including 4.1.2)
+#    changed the record marker size to 8 bytes, which made binary files written
+#    with the 'unformatted' option unreadable by programs compiled with other
+#    compilers.  Later versions of the compiler changed the default back to 4 bytes.
+#    If you have a version that defaults to 8 byte record markers, use this 
+#    compile time flag:
+#       -frecord-marker=4
+#    If you have files written by older versions of the gfortran compiler that
+#    cannot be read now, try this compile time flag:
+#       -frecord-marker=8 
 #
-#    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.
+# Convert big-endian or little-endian binary files at runtime:
 #
-# 2. The netCDF software library package.  See:
-#      http://www.unidata.ucar.edu/software/netcdf
+# setenv GFORTRAN_CONVERT_UNIT 'big_endian'
+#    Treats ALL units as big_endian
 #
-#    The 3.6.2 version compiled for us with this:
+# setenv GFORTRAN_CONVERT_UNIT 'big_endian;native:10-20'
+#    Treats units 10-20 as big_endian but the rest are 'native' 
 #
-#     ./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:
-#
-# 3. For parallel execution, OpenMPI 1.2 from:
-#       http://www.open-mpi.org/
-#
-#     or mpich from:
-#       http://http://www-unix.mcs.anl.gov/mpi/mpich/
-#
-# 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
-#                      of what file extension is has.
-#
-# -fdefault-real-8     force all real variables to be real*8.
-#
-# -ffpe-trap=invalid,overflow,precision,denormal,underflow
-#
-#
-# NOTE: there is no compile-time convert endian flag. It is a run-time option.
+# for more information on unit conversions:
 # 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
@@ -109,7 +83,7 @@
 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 = -g -ffree-line-length-none -fbounds-check -fbacktrace -ffpe-trap=invalid,zero,overflow $(INCS)
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.absoft.osx
===================================================================
--- DART/trunk/mkmf/mkmf.template.absoft.osx	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.absoft.osx	2013-12-12 22:11:24 UTC (rev 6674)
@@ -94,13 +94,13 @@
 
 INCS =   $(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
-FFLAGS  = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O0 -Rb -Rc -g -p$(INCS)
+FFLAGS  = -YEXT_NAMES=LCS -YEXT_SFX=_ -altiVec -O -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)
+#FFLAGS = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -g -Rb -Rc -p$(INCS)
+#FFLAGS = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O -N113 -f free -Rb -Rc -p$(INCS) -I$(INCS)
+#FFLAGS = -YEXT_NAMES=LCS -YEXT_SFX=_ -en -altiVec -O -Rb -Rc -N26 -p$(INCS) -I$(INCS)
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.g95
===================================================================
--- DART/trunk/mkmf/mkmf.template.g95	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.g95	2013-12-12 22:11:24 UTC (rev 6674)
@@ -1,4 +1,4 @@
-# Template for GNU g95 on Linux or Mac OSX
+# Template for the g95 compiler on Linux or Mac OSX
 #
 # DART software - Copyright 2004 - 2013 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
@@ -9,49 +9,10 @@
 # typical use with mkmf
 # mkmf -t mkmf.template.xxxx ...
 #
-# Most likely NETCDF (and maybe LIBS) will need to be customized for your site
+# This template is for the g95 version of fortran.  This is NOT the GNU
+# gfortran compiler; this is a compiler from a separate project.
+# see http://g95.sourceforge.net for more info.
 #
-#
-# 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
-# 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:
-#      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:
-#
-# 3. For parallel execution, OpenMPI 1.2 from:
-#       http://www.open-mpi.org/
-#
-#     or mpich from:
-#       http://http://www-unix.mcs.anl.gov/mpi/mpich/
-#
-# Note that MPI IS NOT REQUIRED to build and run DART.
-#
 # IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90

Modified: DART/trunk/mkmf/mkmf.template.gfortran
===================================================================
--- DART/trunk/mkmf/mkmf.template.gfortran	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.gfortran	2013-12-12 22:11:24 UTC (rev 6674)
@@ -9,74 +9,48 @@
 # typical use with mkmf
 # mkmf -t mkmf.template.xxxx ...
 #
-# Most likely NETCDF (and maybe LIBS) will need to be customized for your site
 #
+# Suggested debugging flags:
+#  -g                  add debugging information to executable
+#  -fbacktrace         runtime errors try to print out a stack backtrace
+#  -fbounds-check      add runtime-checking for out-of-range array indices
+#  -ffpe-trap=invalid,zero,overflow
+#                      stop on floating point errors
 #
-# Building DART with open-source software:
+#  earlier versions of this mkmf file listed 'precision' as one of the options on
+#  the fpe-trap line.  this is not recommended anymore as some of the gfortran internal
+#  routines will trap, as well as some perfectly valid DART computations.
 #
-# 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
-# the open-source community.  To compile and run DART, you will need:
+# Generally not needed but possibly useful for non-DART code:
 #
+# -ffree-form          forces input file to be read as free format regardless
+#                      of what file extension it has.
 #
-# 1. The GNU GCC 4.2.0 version of the gfortran compiler.  See this web page for
-#    information on supported platforms and downloads:
-#      http://gcc.gnu.org/wiki/GFortran
+# -fdefault-real-8     force all real variables to be real*8.  not needed for DART code
+#                      since all real variables in DART are declared with a size.
 #
-#    (Note that there is a separate G95 project which distributes an alternate
-#    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: Some previous versions of the gfortran compiler (including 4.1.2)
+#    changed the record marker size to 8 bytes, which made binary files written
+#    with the 'unformatted' option unreadable by programs compiled with other
+#    compilers.  Later versions of the compiler changed the default back to 4 bytes.
+#    If you have a version that defaults to 8 byte record markers, use this 
+#    compile time flag:
+#       -frecord-marker=4
+#    If you have files written by older versions of the gfortran compiler that
+#    cannot be read now, try this compile time flag:
+#       -frecord-marker=8 
 #
-#    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.
+# Convert big-endian or little-endian binary files at runtime:
 #
-# 2. The netCDF software library package.  See:
-#      http://www.unidata.ucar.edu/software/netcdf
+# setenv GFORTRAN_CONVERT_UNIT 'big_endian'
+#    Treats ALL units as big_endian
 #
-#    The 3.6.2 version compiled for us with this:
+# setenv GFORTRAN_CONVERT_UNIT 'big_endian;native:10-20'
+#    Treats units 10-20 as big_endian but the rest are 'native' 
 #
-#     ./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:
-#
-# 3. For parallel execution, OpenMPI 1.2 from:
-#       http://www.open-mpi.org/
-#
-#     or mpich from:
-#       http://http://www-unix.mcs.anl.gov/mpi/mpich/
-#
-# 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
-#                      of what file extension is has.
-#
-# -fdefault-real-8     force all real variables to be real*8.
-#
-# -ffpe-trap=invalid,overflow,precision,denormal,underflow
-#
-#
-# NOTE: there is no compile-time convert endian flag. It is a run-time option.
+# for more information on unit conversions:
 # 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
@@ -109,7 +83,7 @@
 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 = -g -ffree-line-length-none -fbounds-check -fbacktrace -ffpe-trap=invalid,zero,overflow $(INCS)
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.intel.linux
===================================================================
--- DART/trunk/mkmf/mkmf.template.intel.linux	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.intel.linux	2013-12-12 22:11:24 UTC (rev 6674)
@@ -88,7 +88,12 @@
 #     -assume  byterecl ... more 'industry-standard' direct-access behavior
 #              controls what units the RECL (record length) specifier returns.
 #
+# Runtime environment variables that influence the compiler behavior:
 #
+# Make output lines for fortran write statements longer without wrapping:
+#   setenv FORT_FMT_RECL 512  (or any length)
+#
+#
 # IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90

Modified: DART/trunk/mkmf/mkmf.template.intel.osx
===================================================================
--- DART/trunk/mkmf/mkmf.template.intel.osx	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.intel.osx	2013-12-12 22:11:24 UTC (rev 6674)
@@ -9,22 +9,91 @@
 # typical use with mkmf
 # mkmf -t mkmf.template.xxxx ...
 #
-# 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. 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:
+#     -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
+#              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.
+#     -check all
+#     -check <keywords>    enables/disables more specific runtime checks.
+#           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,
+#                      stderrors, truncated_source, uncalled,
+#                      uninitialized, unused, usage, all]
+#     -fp-stack-check  catches conditions where the FP stack is not correct.
+#           Typically this is when a real function is called as if it were a
+#           subroutine, OR a subroutine is called as if it were a function (return
+#           values left of FP stack OR too much data is taken off the FP stack)
+#     -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
 #
-# You will need to have a version of the (free) netCDF software
-# library package:
+# FFLAGS   useful for bitwise reproducibility and accuracy control
+#          (these will slow down performance to various degrees)
+#     -fp-model precise    control how floating point roundoff is done so it is
+#                          reproducible from run to run.  in simple tests this
+#                          flag alone was enough to create bitwise reproducible
+#                          code but slowed execution significantly.
+#     -ftz        'flush to zero' underflows result in zero.  set by default if
+#                 any -O other than -O0 set, or if -fpe0 or -fpe1 set.
+#     -fpeN       controls floating point exception handling.  -fpe0 rounds underflow
+#                 to zero and traps on any other exception type.
+#     -pc80       set internal FPU precision to 64 bit significand
+#                 (default is -pc64 with 53 internal bits)
 #
-#      http://www.unidata.ucar.edu/software/netcdf
+# FFLAGS   useful for production
+#     -O2        default.  optimize without too much unrepeatable numerical games
+#     -O3        more aggressive optimizations.  check numerical differences
+#                before using this indiscriminately.
+#     -O1        if you get compile-time errors about out of memory or unable to
+#                complete compilation because of complexity, try lowering the
+#                optimization level on the offending source files.
+#     -ipo       enable optimizations between routines in separate source files
+#     -heap-arrays 10    allocate large arrays from the heap instead of putting them
+#                on the stack.  the number is the limit in KB for when arrays
+#                move from the stack to the heap.  this can help if you get stack
+#                overflow errors and cannot increase the stack size more.
+#                allocating from the stack is faster, but it's usually a smaller
+#                size than the heap.
+#     -x, -m, -ax, -mcode, -march   all these flags tell the compiler to generate
+#                processor-specific or vector instructions.  either 'man ifort' or
+#                ifort --help to see what the current list of options are and
+#                which have priority over the others.
+#                (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
+#     -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
+#              types on all our real values so this will not change anything
+#              inside DART.   see DART/common/types_mod.f90 if you must run
+#              with single precision reals.
+#     -convert big_endian         useful if you're on the wrong architecture.
+#              however this controls both reading and writing so you can't
+#              use it as a conversion mechanism unless you write files out
+#              in ascii format.  applies to all unformatted fortran i/o.
+#     -assume  byterecl ... more 'industry-standard' direct-access behavior
+#              controls what units the RECL (record length) specifier returns.
 #
-# 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.
+# Runtime environment variables that influence the compiler behavior:
 #
+# Make output lines for fortran write statements longer without wrapping:
+#   setenv FORT_FMT_RECL 512  (or any length)
+#
+#
 # IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = mpif90
@@ -57,13 +126,22 @@
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
 
 # for Intel 9.x:
-FFLAGS  = $(INCS) -O2
-LDFLAGS = $(INCS) -Wl,-stack_size,10000000 $(LIBS)
+#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)
+# for Intel 10.x and beyond:
+FFLAGS  = $(INCS) -O2 -m64 -heap-arrays -vec-report0 
+LDFLAGS = $(INCS) $(LIBS)
 
+# for development or debugging, use this instead:
+# FFLAGS = -g -C -check noarg_temp_created -fpe0 -vec-report0 \
+#          -fp-model precise  -ftrapuv -traceback \
+#          -warn argument_checking,declarations,uncalled,unused $(INCS)
+#
+# 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$
 # $Revision$

Modified: DART/trunk/mkmf/mkmf.template.lahey.linux
===================================================================
--- DART/trunk/mkmf/mkmf.template.lahey.linux	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.lahey.linux	2013-12-12 22:11:24 UTC (rev 6674)
@@ -20,7 +20,7 @@
 #    -O2
 #    -ap                 ensure consistent arithmetic precision
 #    -Wa,--32            pass on to loader ... (32 bit compile)
-#    --trap  trap ndp exceptions
+#    --trap              trap ndp exceptions
 #    --verbose
 #    --warn
 #    --wide
@@ -82,7 +82,7 @@
 
 INCS = -I$(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
-FFLAGS  = -Wa,--32 --trap --wide --o2 $(INCS)
+FFLAGS  = -Wa,--32 --wide --o2 $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for debugging or development, here are some suggested flags:

Modified: DART/trunk/mkmf/mkmf.template.pathscale.linux
===================================================================
--- DART/trunk/mkmf/mkmf.template.pathscale.linux	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.pathscale.linux	2013-12-12 22:11:24 UTC (rev 6674)
@@ -1,5 +1,4 @@
-# Template for Pathscale 2.0 f90 Compiler on a Linux cluster
-#  (tested to the NCAR machine 'lightning' - an Opteron cluster)
+# Template for Pathscale f90 Compiler on a Linux cluster
 #
 # DART software - Copyright 2004 - 2013 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
@@ -28,11 +27,6 @@
 # IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 #----------------------------------------------------------------------
-# if the pathScale module is loaded, these things are already properly set.
-#MPI_HOME=/contrib/mpich-gm/1.2.6..13b-pathscale-2.0-64
-#MPIFC=$(MPI_HOME)/bin/mpif90
-#MPILD=$(MPI_HOME)/bin/mpif90
-#----------------------------------------------------------------------
 
 MPIFC = mpif90
 MPILD = mpif90
@@ -62,11 +56,11 @@
 
 INCS = -I$(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
-FFLAGS  = -O2 $(INCS)
+FFLAGS  = -O $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for development/debugging, use these flags instead:
-#FFLAGS = -Wuninitialized -ffortran-bounds-check -fullwarn -O0 -I$(NETCDF)/include
+#FFLAGS = -Wuninitialized -ffortran-bounds-check -fullwarn -g -I$(NETCDF)/include
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.pgi.cray
===================================================================
--- DART/trunk/mkmf/mkmf.template.pgi.cray	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.pgi.cray	2013-12-12 22:11:24 UTC (rev 6674)
@@ -71,11 +71,11 @@
 
 INCS = -I$(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
-FFLAGS  = -O2 $(INCS)
+FFLAGS  = -O $(INCS)
 LDFLAGS = $(INCS) $(LIBS)
 
 # for development or debugging, use this for flags:
-#FFLAGS = -O0 -Ktrap=fp -pc 64 $(INCS)
+#FFLAGS = -g -Ktrap=fp -pc 64 $(INCS)
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.pgi.linux
===================================================================
--- DART/trunk/mkmf/mkmf.template.pgi.linux	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.pgi.linux	2013-12-12 22:11:24 UTC (rev 6674)
@@ -73,11 +73,11 @@
 
 INCS = -I$(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
-FFLAGS  = -O2 -Mextend $(INCS)
+FFLAGS  = -O $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for development or debugging, use this for flags:
-#FFLAGS = -O0 -C -Ktrap=fp -pc 64 $(INCS)
+#FFLAGS = -g -C -Ktrap=fp -pc 64 $(INCS)
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.pgi.osx
===================================================================
--- DART/trunk/mkmf/mkmf.template.pgi.osx	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.pgi.osx	2013-12-12 22:11:24 UTC (rev 6674)
@@ -1,6 +1,4 @@
 # template for PGI f90 Compiler on Mac OS X
-# (at the time of the latest DART release there was a PGI beta compiler
-#   available for Intel-based Macs)
 #
 # DART software - Copyright 2004 - 2013 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
@@ -70,11 +68,11 @@
 
 INCS = -I$(NETCDF)/include
 LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf
-FFLAGS  = -O2 $(INCS)
+FFLAGS  = -O $(INCS) 
 LDFLAGS = $(FFLAGS) $(LIBS)
 
 # for development or debugging, use this for flags:
-#FFLAGS = -O0 -Ktrap=fp -pc 64 $(INCS)
+#FFLAGS = -g -Ktrap=fp -pc 64 $(INCS)
 
 # <next few lines under version control, do not edit>
 # $URL$

Modified: DART/trunk/mkmf/mkmf.template.sgi.altix
===================================================================
--- DART/trunk/mkmf/mkmf.template.sgi.altix	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.sgi.altix	2013-12-12 22:11:24 UTC (rev 6674)
@@ -1,6 +1,4 @@
-# Template for SGI Altix systems
-# (Altix clusters are based on Intel chips,
-#  not MIPS chips like earlier SGI systems.)
+# Template for SGI Altix systems (which are Intel-processor based)
 #
 # DART software - Copyright 2004 - 2013 UCAR. This open source software is
 # provided by UCAR, "as is", without charge, subject to all terms of use at
@@ -104,6 +102,12 @@
 #     -assume  byterecl ... more 'industry-standard' direct-access behavior
 #              controls what units the RECL (record length) specifier returns.
 #
+# Runtime environment variables that influence the compiler behavior:
+#
+# Make output lines for fortran write statements longer without wrapping:
+#   setenv FORT_FMT_RECL 512  (or any length)
+#
+
 # IF YOU HAVE MORE CURRENT COMPILER INFORMATION, PLEASE SHARE IT WITH US.
 
 MPIFC = ifort

Modified: DART/trunk/mkmf/mkmf.template.xlf.aix
===================================================================
--- DART/trunk/mkmf/mkmf.template.xlf.aix	2013-12-11 23:11:41 UTC (rev 6673)
+++ DART/trunk/mkmf/mkmf.template.xlf.aix	2013-12-12 22:11:24 UTC (rev 6674)
@@ -70,10 +70,10 @@
 
 INCS = -I/usr/local/lib64/r4i4 -I/usr/local/include
 LIBS = -L/usr/local/lib64/r4i4 -lnetcdf
-FFLAGS  = -qsuffix=f=f90:cpp=F90 -q64 -b64 -qarch=auto -qmaxmem=-1 -O2 $(INCS)
+FFLAGS  = -qsuffix=f=f90:cpp=F90 -q64 -b64 -qarch=auto -qmaxmem=-1 -O $(INCS)
 LDFLAGS = $(FFLAGS) $(LIBS)
 
-#FFLAGS = -qsuffix=f=f90:cpp=F90 -q64 -b64 -qarch=auto -qmaxmem=-1 -O0 -C -g -qfullpath \
+#FFLAGS = -qsuffix=f=f90:cpp=F90 -q64 -b64 -qarch=auto -qmaxmem=-1 -C -g -qfullpath \
 #         -qsigtrap=xl__trcedump -qflttrap=ov:zero:inv:en $(INCS)
 
 # <next few lines under version control, do not edit>


More information about the Dart-dev mailing list