Merge remote-tracking branch 'origin/release-v4.5'
[WRF.git] / hydro / arc / macros.yellowstone
blob8c5318c0f4135c85e20b41200974914651887a90
1 .IGNORE:
3 ifeq ($(HYDRO_REALTIME),1)
4 HYDRO_REALTIME = -DHYDRO_REALTIME
5 else
6 HYDRO_REALTIME =
7 endif
9 ifeq ($(WRF_HYDRO),1)
10 WRF_HYDRO = -DWRF_HYDRO $(HYDRO_REALTIME)
11 else
12 WRF_HYDRO =
13 endif
15 ifeq ($(WRF_HYDRO_RAPID),1)
16 WRF_HYDRO = -DWRF_HYDRO -DWRF_HYDRO_RAPID $(HYDRO_REALTIME)
17 endif
19 ifeq ($(HYDRO_D),1)
20 HYDRO_D = -DHYDRO_D $(WRF_HYDRO)
21 else
22 HYDRO_D =  $(WRF_HYDRO)
23 endif
26 ifneq ($(origin ESMFMKFILE), environment)
27 $(error Environment variable ESMFMKFILE was not set.)
28 endif
29 include $(ESMFMKFILE)
31 RMD             = rm -f
32 COMPILER90      = $(ESMF_F90COMPILER)
33 FORMAT_FREE     = -FR
34 BYTESWAPIO      = -convert big_endian
35 F90FLAGS        = -w -c -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO)
36 # -w                    Disables all warning messages
37 # -c                    Prevents linking.
38 # -g                    Produces symbolic debug information in the object
39 #                        file.
40 # -ftz                  Flushes denormal results to zero when the application
41 #                        is in the gradual underflow mode.
42 # -align all            Tells the compiler to add padding bytes whenever
43 #                        possible to obtain the natural alignment of data
44 #                        items in common blocks, derived types, and record
45 #                        structures.
46 # -fno-alias            Specifies that aliasing should not be assumed in
47 #                        the program.
48 # -fp-model precise     Enables value-safe optimizations on floating-
49 #                        point data and rounds intermediate results to
50 #                        source-defined precision.
51 # -FR                   Specifies source files are in free format
52 # -convert big_endian   Specifies that the format will be big endian for
53 #                        INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8,
54 #                        and big endian IEEE floating-point for REAL*4,
55 #                        REAL*8, REAL*16, COMPLEX*8, COMPLEX*16, or COM-
56 #                        PLEX*32.
57 # -u                    Sets the default type of a variable to undefined
58 #                        (IMPLICIT NONE)
59 # -traceback            Tells the compiler to generate extra information in
60 #                        the object file to allow the display of source file
61 #                        traceback information at run time when a severe
62 #                        error occurs.
63 # -fpe0                 Floating-point invalid, divide-by-zero, and
64 #                        overflow exceptions are enabled
65 # -nomixed_str_len_arg  The hidden length passed for a character argument 
66 #                        is to be placed in sequential order at the end of 
67 #                        the argument list. [default]
68 # -names lowercase      Causes the compiler to ignore case differences in
69 #                        identifiers and to convert external names to 
70 #                        lowercase. [default]
71 # -convert big_endian   Specifies that the format will be big endian for
72 #                        INTEGER*1, INTEGER*2, INTEGER*4, or INTEGER*8,
73 #                        and big endian IEEE floating-point for REAL*4,
74 #                        REAL*8, REAL*16, COMPLEX*8, COMPLEX*16, or COM-
75 #                        PLEX*32.
76 # -assume byterecl      Specifies that the units for the OPEN statement
77 #                        RECL specifier (record length) value are in bytes
78 #                        for unformatted data files, not longwords (four-
79 #                        byte units)
80 DEBUGFLAGS = -DHYDRO_D -g -traceback -debug all -check all
81 MODFLAG         = -I./ -I../../MPP -I../MPP -I../mod
82 LDFLAGS         = 
83 CPP             = cpp
84 CPPFLAGS        = -P -traditional -DMPP_LAND -I../Data_Rec $(HYDRO_D) 
85 # -C:                  Do not discard comments.
86 # -P:                  Inhibit generation of linemarkers in the output 
87 #                       from the preprocessor.
88 # -traditional:        Try to imitate the behavior of old-fashioned C 
89 #                       preprocessors, as opposed to ISO C preprocessors.
90 LIBS            = 
91 NETCDFINC       = $(NETCDF)/include
92 NETCDFLIB       = -L$(NETCDF)/lib -lnetcdff -lnetcdf