source: lmdz_wrf/WRFV3/arch/README.canonical_stanza @ 1

Last change on this file since 1 was 1, checked in by lfita, 10 years ago
  • -- --- Opening of the WRF+LMDZ coupling repository --- -- -

WRF: version v3.3
LMDZ: version v1818

More details in:

File size: 4.9 KB
RevLine 
[1]1###########################################################
2#ARCH    <os> (fortran) compiler with (C) compiler # serial smpar dmpar dm+sm
3#
4# (The last four words on the line above indicate what parallel modes are supported for this build.
5#  Presence of serial indicates the code can be built single-threaded and an option will be presented
6#  by the configure script for this.  Likewise, presence of smpar indicates shared-memory parallel (OpenMP),
7#  dmpar indicates distributed memory parallel (MPI), and dm+sm indicates both.  The comment character
8#  before the first word is not necessary but it makes the choices neater when the configure script
9#  displays them to the user)
10#
11# (The settings below should be all that are needed per architecture/installation. The rest of the
12#  configuration settings are based on these and are done in the postamble (arch/postamble) )
13#
14DMPARALLEL      =       # 1
15OMPCPP          =       # -D_OPENMP
16OMP             =       # (compiler dependent option for openmp, e.g. -mp for pgi; leave commented out)
17SFC             =       (serial fortran compiler)
18SCC             =       (serial C compiler)
19DM_FC           =       (Fortran compile command for mpi, eg: mpif90 -f90=$(SFC))
20DM_CC           =       (C compile comand for mpi, eg: mpicc -cc=$(SCC))
21FC              =       CONFIGURE_FC    (leave as is: to be filled in by configure depending on parallel option)
22CC              =       CONFIGURE_CC    (leave as is: to be filled in by configure depending on parallel option
23LD              =       $(FC)           (usually leave as is)
24RWORDSIZE       =       CONFIGURE_RWORDSIZE   # filled in by configure or hard coded to 8 (for var)
25PROMOTION       =       (compiler specific option for promotion: e.g. -r$(RWORDSIZE) -i4)
26ARCH_LOCAL      =       (local additions to ARCHFLAGS)
27CFLAGS_LOCAL    =       (local additions to CFLAGS)
28LDFLAGS_LOCAL   =       (local additions to LDFLAGS)
29FCOPTIM         =       (optimization options to Fortran compiler)
30FCREDUCEOPT     =       (optional: used by noop_exceptsions for certain routines that won't work with full opt on certain compilers)
31FCNOOPT         =       (flag that turns off optimization)
32FCDEBUG         =       (debug and no optimization options to Fortran compiler)
33FORMAT_FIXED    =       (fortran compiler option for fixed format)
34FORMAT_FREE     =       (fortran compiler option for free format)
35FCSUFFIX        =       (tell the compiler what a fortran file's suffix looks like -- AIX needs)
36BYTESWAPIO      =       (option to give bigendian unformatted fortran output, if needed)
37FCBASEOPTS      =       $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO) (basic options to fortran compiler, but not optim.)
38MODULE_SRCH_FLAG =      (flag to compiler to tell it where to search for modules -- PGI needs)
39TRADFLAG        =       (flag to cpp to tell it to act like it did before script kiddies got hold of it)
40CPP             =       (cpp command)
41AR              =       (ar command)
42ARFLAGS         =       (flags to ar command, want ru capability)
43M4              =       (m4 command)
44RANLIB          =       (ranlib command if needed)
45CC_TOOLS        =       (the cc command that should be used for compiling in the tools directory. Often just cc or $(SCC) )
46
47#optional (used for BG/L, for example, where the mpi args and paths have to be specified explicitly)
48MPI_INC         =       (e.g. -I/bgl/BlueLight/ppcfloor/bglsys/include)
49MPI_LIB         =       (e.g. -L/bgl/BlueLight/ppcfloor/bglsys/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts)
50
51---
52Here is an example:
53
54###########################################################
55#ARCH    Linux x86_64, PGI compiler with gcc # serial smpar dmpar dm+sm
56#
57DMPARALLEL      =       # 1
58OMPCPP          =       # -D_OPENMP
59OMP             =       # -mp -Minfo=mp
60SFC             =       pgf90
61SCC             =       gcc
62DM_FC           =       mpif90 -f90=$(SFC)
63DM_CC           =       mpicc -cc=$(SCC)
64FC              =       CONFIGURE_FC
65CC              =       CONFIGURE_CC
66LD              =       $(FC)
67RWORDSIZE       =       CONFIGURE_RWORDSIZE
68PROMOTION       =       -r$(RWORDSIZE) -i4
69ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR # but for ifort compiler, it is -DNONSTANDARD_SYSTEM_FUNC
70CFLAGS_LOCAL    =       -w -O3
71LDFLAGS_LOCAL   =     
72FCOPTIM         =       -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
73FCREDUCEDOPT    =       $(FCOPTIM)
74FCNOOPT         =       -O0
75FCDEBUG         =       # -g $(FCNOOPT)
76FORMAT_FIXED    =       -Mfixed
77FORMAT_FREE     =       -Mfree
78FCSUFFIX        =
79BYTESWAPIO      =       -byteswapio
80FCBASEOPTS      =       -w $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO)
81MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
82TRADFLAG        =      -traditional
83CPP             =      /lib/cpp -C -P
84AR              =      ar
85ARFLAGS         =      ru
86M4              =      m4 -B 14000
87RANLIB          =      ranlib
88CC_TOOLS        =      $(SCC)
89
Note: See TracBrowser for help on using the repository browser.