/[MITgcm]/MITgcm/tools/build_options/linux_ia32_open64
ViewVC logotype

Annotation of /MITgcm/tools/build_options/linux_ia32_open64

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (hide annotations) (download)
Mon Jul 22 18:40:45 2013 UTC (10 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64k, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.6: +3 -3 lines
- remove MPI_HEADER_FILES_INC setting (no longer used)
- for now, comment out MPI_HEADER_FILES list (let genmake2 find which
   MPI header is needed)

1 ce107 1.1 #!/bin/bash
2     #
3 jmc 1.7 # $Header: /u/gcmpack/MITgcm/tools/build_options/linux_ia32_open64,v 1.6 2011/09/12 02:38:44 jmc Exp $
4 ce107 1.1 # $Name: $
5     #
6 jmc 1.5 # Build options for Open64 compiler on Linux IA32 platform
7     # tested on lagoon (FC 4),
8 ce107 1.1 #
9 jmc 1.5 # and on aces cluster (FC 2), version 4.2.1, using:
10     # module add open64
11     # export NETCDF_ROOT='/usr/local/pkg/netcdf/netcdf-3.5.1/g77'
12     # and set environment variable 'GSL_IEEE_MODE' if using "-gsl" option:
13     # - sh,bash:
14     # export GSL_IEEE_MODE=double-precision,mask-underflow,mask-denormalized
15     # - csh,tcsh:
16     # setenv GSL_IEEE_MODE double-precision,mask-underflow,mask-denormalized
17    
18 jmc 1.6 # Multithreaded tests require
19     # export OMP_SLAVE_STACK_SIZE=400m
20     # export OMP_NUM_THREADS=2
21    
22 jmc 1.5 # MPI : not yet tested
23    
24     if test "x$MPI" = xtrue ; then
25     CC=mpicc
26     FC=mpif90
27     F90C=mpif90
28     LINK=$FC
29 ce107 1.1 else
30 jmc 1.5 CC=opencc
31     FC=openf90
32     F90C=openf90
33     LINK=$FC
34 ce107 1.1 fi
35    
36 jmc 1.5 # Pb with "-byteswapio"/"-convert big_endian" option in version 4.0 => use -D_BYTESWAPIO
37     DEFINES='-D_BYTESWAPIO -DWORDLENGTH=4'
38     CPP='cpp -traditional -P'
39     EXTENDED_SRC_FLAG='-extend-source'
40     F90FIXEDFORMAT='-fixedform -x f95'
41     GET_FC_VERSION="--version"
42     OMPFLAG='-openmp'
43     #OMPFLAG="$OMPFLAG -OPT:early_mp=ON"
44    
45     NOOPTFLAGS='-O0 -g'
46     NOOPTFILES='ini_vertical_grid.F'
47    
48     FFLAGS="$FFLAGS -m32 -fPIC"
49     #- might want to use '-r8' for fizhi pkg:
50     #FFLAGS="$FFLAGS -r8"
51    
52     if test "x$IEEE" = x ; then #- with optimisation:
53     # Note: use just -O2 optimisation to avoid some wierd problems with -O3
54     # on aces (open64/4.1 & 4.2) (ideal_2D_ocean)
55 jmc 1.4 FOPTIM='-O2 -LNO:fusion=2 -OPT:roundoff=1:IEEE_arithmetic=3' # -funsafe-math-optimizations'
56 jmc 1.5 NOOPTFILES="$NOOPTFILES mon_set_iounit.F mon_init.F"
57 ce107 1.1 else
58 jmc 1.5 if test "x$DEVEL" = x ; then #- no optimisation + IEEE :
59     FOPTIM='-O0 -OPT:roundoff=0:IEEE_arithmetic=1 -fmath-errno -fno-fast-math'
60     else #- development/check options:
61     FOPTIM='-O0 -OPT:roundoff=0:IEEE_arithmetic=1 -fmath-errno -fno-fast-math'
62     # full checking options:
63     FOPTIM="$FOPTIM -g -ffortran-bounds-check -trapuv"
64     NOOPTFILES='mds_byteswapr8.F mds_byteswapr4.F mds_byteswapi4.F'
65     fi
66 ce107 1.1 fi
67    
68     F90FLAGS=$FFLAGS
69     F90OPTIM=$FOPTIM
70 jmc 1.5 CFLAGS='-O0 -m32 -fPIC'
71 ce107 1.1 GSLLIB='-lgsl -lgslcblas'
72    
73     if [ "x$NETCDF_ROOT" != x ] ; then
74     INCLUDEDIR="${NETCDF_ROOT}/include"
75     INCLUDES="-I${NETCDF_ROOT}/include"
76     LIBDIR="${NETCDF_ROOT}/lib"
77     LIBS="-L${NETCDF_ROOT}/lib"
78     elif [ "x$NETCDF_HOME" != x ]; then
79     INCLUDEDIR="${NETCDF_HOME}/include"
80     INCLUDES="-I${NETCDF_HOME}/include"
81     LIBDIR="${NETCDF_HOME}/lib"
82     LIBS="-L${NETCDF_HOME}/lib"
83     elif [ "x$NETCDF_INC" != x -a "x$NETCDF_LIB" != x ]; then
84     NETCDF_INC=`echo $NETCDF_INC | sed 's/-I//g'`
85     NETCDF_LIB=`echo $NETCDF_LIB | sed 's/-L//g'`
86     INCLUDEDIR="${NETCDF_INC}"
87     INCLUDES="-I${NETCDF_INC}"
88     LIBDIR="${NETCDF_LIB}"
89     LIBS="-L${NETCDF_LIB}"
90     elif [ "x$NETCDF_INCDIR" != x -a "x$NETCDF_LIBDIR" != x ]; then
91     INCLUDEDIR="${NETCDF_INCDIR}"
92     INCLUDES="-I${NETCDF_INCDIR}"
93     LIBDIR="${NETCDF_LIBDIR}"
94     LIBS="-L${NETCDF_LIBDIR}"
95     elif test -d /usr/include/netcdf-3 ; then
96     INCLUDES='-I/usr/include/netcdf-3'
97     LIBS='-L/usr/lib/netcdf-3 -lnetcdf_g77'
98     elif test -d /usr/include/netcdf ; then
99     INCLUDES='-I/usr/include/netcdf'
100     elif test -d /usr/local/netcdf ; then
101     INCLUDES='-I/usr/local/netcdf/include'
102     LIBS='-L/usr/local/netcdf/lib'
103     elif test -d /usr/local/include/netcdf.inc ; then
104     INCLUDES='-I/usr/local/include'
105     LIBS='-L/usr/local/lib'
106     fi
107    
108 jmc 1.5 #if [ "x$LIBS" != x ] ; then
109     # LIBS="$LIBS -lstdc++"
110     #else
111     # LIBS="-lstdc++"
112     #fi
113    
114     if [ -n "$MPI_INC_DIR" -a "x$MPI" = xtrue ] ; then
115     INCLUDES="$INCLUDES -I$MPI_INC_DIR"
116     INCLUDEDIRS="$INCLUDEDIRS $MPI_INC_DIR"
117 jmc 1.7 #- used for parallel (MPI) DIVA
118 jmc 1.5 MPIINCLUDEDIR="$MPI_INC_DIR"
119 jmc 1.7 #MPI_HEADER_FILES='mpif.h mpiof.h'
120 jmc 1.5 fi

  ViewVC Help
Powered by ViewVC 1.1.22