Newer
Older
#MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
#MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
#MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
#MNH_LIC for details. version 1.
##########################################################
# #
# Initialisation of some variables #
# #
##########################################################
ifdef OBJDIR_PATH
OBJDIR_ROOT=${OBJDIR_PATH}/dir_obj
else
OBJDIR_ROOT=${PWD}/dir_obj
endif
LIB_OBJS_ROOT=lib
#
ARCH_XYZ=${ARCH}-R${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}
##########################################################
# #
# Source DIRECTORY #
# #
##########################################################
##########################################################
# Source MYSRC #
##########################################################
ifdef VER_USER
DIR_USER += ${VER_USER}
endif
##########################################################
# Source MNH #
##########################################################

Juan Escobar
committed
ifdef VER_OASIS
# PRE_BUG TEST !!!
#DIR_MNH += ARCH_SRC/bug_mnh
# PRE_BUG TEST !!!
#
DIR_MNH += MNH
INC_MNH += -I$(B)include
#CPPFLAGS_MNH =
#
ifdef DIR_MNH
DIR_MASTER += $(DIR_MNH)
CPPFLAGS += $(CPPFLAGS_MNH)
INC += $(INC_MNH)

Juan Escobar
committed
#
# MNH integer 4/8
#
CPPFLAGS += -DMNH_INT=$(MNH_INT)
#
# MNH real 4/8
#
CPPFLAGS += -DMNH_REAL=$(MNH_REAL)
#
# Len of HREC characters
#
CPPFLAGS += -DLEN_HREC=$(LEN_HREC)
#
OBJS_NOCB += spll_dxf.o spll_dxm.o spll_dyf.o spll_dym.o \
spll_dzf.o spll_dzm.o spll_mxf.o \
spll_mxm.o spll_myf.o spll_mym.o spll_mzf.o \
spll_mzm.o spll_mzf4.o spll_mzm4.o \
spll_gx_m_m.o spll_gx_m_u.o spll_gy_m_m.o \
spll_gy_m_v.o spll_gz_m_m.o spll_gz_m_w.o \

ESCOBAR Juan
committed
spll_dzf_mf.o spll_dzm_mf.o spll_mzf_mf.o spll_mzm_mf.o \
spll_modi_gradient_m_d.o
$(OBJS_NOCB) : OPT = $(OPT_NOCB)

ESCOBAR MUNOZ Juan
committed
OBJS0 += spll_switch_sbg_lesn.o spll_mode_mppdb.o
$(OBJS0) : OPT = $(OPT0)
endif
##########################################################
# Source SURFEX #
##########################################################
# PRE_BUG TEST !!!
#DIR_SURFEX += ARCH_SRC/bug_surfex
# PRE_BUG TEST !!!
#
DIR_SURFEX += ARCH_SRC/surfex
DIR_SURFEX += SURFEX
CPPFLAGS_SURFEX += -DMNH_PARALLEL -Din_surfex
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#
ifdef DIR_SURFEX
DIR_MASTER += $(DIR_SURFEX)
CPPFLAGS += $(CPPFLAGS_SURFEX)
VER_SURFEX=SURFEX-4-8-0
#ARCH_XYZ := $(ARCH_XYZ)-$(VER_MYSRC)
OBJS_NOCB += spll_mode_cover_301_573.o
$(OBJS0): OPT = $(OPT0)
endif
##########################################################
# Source SURCOUCHE #
##########################################################
# PRE_BUG TEST !!!
#DIR_SURCOUCHE += ARCH_SRC/bug_surcouche
# PRE_BUG TEST !!!
#
DIR_SURCOUCHE += LIB/SURCOUCHE/src
#CPPFLAGS_SURCOUCHE = -DMNH_MPI_DOUBLE_PRECISION -DMNH_LINUX -DMNH_MPI_BSEND -DNAGf95
#
ifdef DIR_SURCOUCHE
DIR_MASTER += $(DIR_SURCOUCHE)
CPPFLAGS += $(CPPFLAGS_SURCOUCHE)
#VER_SURCOUCHE=
#ARCH_XYZ := $(ARCH_XYZ)-$(VER_SURCOUCHE)
endif
##########################################################
# Source RAD #
##########################################################
# PRE_BUG TEST !!!
#DIR_RAD += ARCH_SRC/bug_rad
# PRE_BUG TEST !!!
#
DIR_RAD += LIB/RAD/ECMWF_RAD
#CPPFLAGS_RAD =
INC_RAD = -I$(B)LIB/RAD/ECMWF_RAD
#
ifdef MNH_ECRAD
DIR_RAD += LIB/RAD/ecrad-1.0.1_mnh
DIR_RAD += LIB/RAD/ecrad-1.0.1
CPPFLAGS_RAD = -DMNH_ECRAD
INC_RAD += -I$(B)LIB/RAD/ecrad-1.0.1/include
ARCH_XYZ := $(ARCH_XYZ)-ECRAD
endif
#
#
ifdef DIR_RAD
DIR_MASTER += $(DIR_RAD)
CPPFLAGS += $(CPPFLAGS_RAD)
INC += $(INC_RAD)
IGNORE_DEP_MASTER += olwu.D olwv.D rad1Driv_MACLATMOSPH_60LEVELS_ICRCCM3.D tstrad.D tstrad_chansubset.D tstrad_rttov7.D \
tstrad_sx6.D
OBJS0 += spll_orrtm_kgb1.o spll_orrtm_kgb14.o spll_orrtm_kgb3_a.o spll_orrtm_kgb4_b.o \
spll_orrtm_kgb5_c.o spll_orrtm_kgb10.o spll_orrtm_kgb15.o spll_orrtm_kgb3_b.o \
spll_orrtm_kgb4_c.o spll_orrtm_kgb6.o spll_orrtm_kgb11.o spll_orrtm_kgb16.o \
spll_orrtm_kgb3_c.o spll_orrtm_kgb5.o spll_orrtm_kgb7.o spll_orrtm_kgb12.o \
spll_orrtm_kgb2.o spll_orrtm_kgb4.o spll_orrtm_kgb5_a.o spll_orrtm_kgb8.o \
spll_orrtm_kgb13.o spll_orrtm_kgb3.o spll_orrtm_kgb4_a.o spll_orrtm_kgb5_b.o \
spll_orrtm_kgb9.o spll_read_xker_raccs.o spll_read_xker_rdryg.o spll_read_xker_sdryg.o \
spll_suecaebc.o spll_suecaec.o spll_suecaeor.o spll_suecaesd.o \
spll_suecaess.o spll_suecaesu.o spll_suecozc.o spll_suecozo.o
ifdef MNH_ECRAD
OBJS0 += spll_rrtm_kgb1.o spll_rrtm_kgb14.o spll_rrtm_kgb3_a.o spll_rrtm_kgb4_b.o \
spll_rrtm_kgb5_c.o spll_rrtm_kgb10.o spll_rrtm_kgb15.o spll_rrtm_kgb3_b.o \
spll_rrtm_kgb4_c.o spll_rrtm_kgb6.o spll_rrtm_kgb11.o spll_rrtm_kgb16.o \
spll_rrtm_kgb3_c.o spll_rrtm_kgb5.o spll_rrtm_kgb7.o spll_rrtm_kgb12.o \
spll_rrtm_kgb2.o spll_rrtm_kgb4.o spll_rrtm_kgb5_a.o spll_rrtm_kgb8.o \
spll_rrtm_kgb13.o spll_rrtm_kgb3.o spll_rrtm_kgb4_a.o spll_rrtm_kgb5_b.o \
spll_rrtm_kgb9.o spll_read_xker_raccs.o spll_read_xker_rdryg.o spll_read_xker_sdryg.o \
spll_suecaebc.o spll_suecaec.o spll_suecaeor.o spll_suecaesd.o \
spll_suecaess.o spll_suecaesu.o spll_suecozc.o spll_suecozo.o
IGNORE_DEP_MASTER += rrtm_rrtm_140gp_mcica.D srtm_spcvrt_mcica.D srtm_srtm_224gp_mcica.D radiation_psrad.D \
radiation_psrad_rrtm.D test_spartacus_math.D radiation_adding_ica_sw_test.D \
radiation_adding_ica_sw_test2.D srtm_gas_optical_depth_test.D
endif
$(OBJS0): OPT = $(OPT0)
endif
##########################################################
# Source RTTOV #
##########################################################
ifdef MNH_RTTOV
ifndef VER_RTTOV
VER_RTTOV = 8.7
endif
ifeq "$(VER_RTTOV)" "8.7"
INC_RTTOV = -I$(B)LIB/RTTOV/src
#
DIR_MASTER += $(DIR_RTTOV)
CPPFLAGS += $(CPPFLAGS_RTTOV)
INC += $(INC_RTTOV)
CPPFLAGS += $(CPPFLAGS_RTTOV)
CPPFLAGS_MNH += -DMNH_RTTOV_8=MNH_RTTOV_8
endif
ifeq "$(VER_RTTOV)" "11.3"
DIR_RTTOV=${SRC_MESONH}/src/LIB/RTTOV-${VER_RTTOV}
RTTOV_PATH=${DIR_RTTOV}
#
INC_RTTOV ?= -I${RTTOV_PATH}/include -I${RTTOV_PATH}/mod
LIB_RTTOV ?= -L${RTTOV_PATH}/lib -lrttov11_coef_io -lrttov11_mw_scatt -lrttov11_main
INC += $(INC_RTTOV)
LIBS += $(LIB_RTTOV)
VPATH += $(RTTOV_PATH)/mod
CPPFLAGS += $(CPPFLAGS_RTTOV)
CPPFLAGS_MNH += -DMNH_RTTOV_11=MNH_RTTOV_11
endif
endif
##########################################################
# Source MEGAN #
##########################################################
ifdef MNH_MEGAN
DIR_MEGAN += LIB/MEGAN
CPPFLAGS_MEGAN = -DMNH_MEGAN
#
DIR_MASTER += $(DIR_MEGAN)
CPPFLAGS += $(CPPFLAGS_MEGAN)
INC += $(INC_MEGAN)
CPPFLAGS_MNH += -DMNH_MEGAN=${MNH_MEGAN}
endif
##########################################################
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
# Source NEWLFI #
##########################################################
DIR_NEWLFI += LIB/NEWLFI/src
#CPPFLAGS_NEWLFI = -DSWAPIO -DLINUX
INC_NEWLFI = -I$(B)LIB/NEWLFI/src
#
ifdef DIR_NEWLFI
#
# Management/parametrisation of size of INTEGER ofr file > 16 GO & RECL for LFI
#
LFI_INT?=4
ifneq "$(findstring 8,$(LFI_INT))" ""
OBJS_I8=spll_NEWLFI_ALL.o
$(OBJS_I8) : OPT = $(OPT_BASE) $(OPT_PERF2) $(OPT_INT8)
endif
#
# Management/parametrisation of size of RECL for LFI I/O speedup
#
LFI_RECL?=512
#
DIR_MASTER += $(DIR_NEWLFI)
CPPFLAGS += $(CPPFLAGS_NEWLFI)
OBJS_LISTE_MASTER += fswap8buff.o
INC += $(INC_NEWLFI)
VPATH += $(DIR_NEWLFI)
#VER_NEWLFI=
#ARCH_XYZ := $(ARCH_XYZ)-$(VER_NEWLFI)
endif
##########################################################
# Source FOREFIRE #
##########################################################
ifdef MNH_FOREFIRE
DIR_FOREFIRE += LIB/FOREFIRE
INC_FOREFIRE = -I$(B)$(DIR_FOREFIRE)
DIR_MASTER += $(DIR_FOREFIRE)
OBJS_LISTE_MASTER += C_ForeFire_Interface.o
INC += $(INC_FOREFIRE)
VPATH += $(DIR_FOREFIRE)
CPPFLAGS += -DMNH_FOREFIRE
endif
##########################################################

WAUTELET Philippe
committed
# Source TOOLS #
##########################################################
ifdef MNH_TOOLS
DIR_TOOLS += ../LIBTOOLS/tools/lfi2cdf/src
INC_TOOLS += -I$(B)$(DIR_TOOLS)
DIR_MASTER += $(DIR_TOOLS)
INC += $(INC_TOOLS)
VPATH += $(DIR_TOOLS)
endif
##########################################################
# Source MPIVIDE #
##########################################################
#
ifndef VER_MPI
VER_MPI=MPIVIDE
endif
#VER_MPI=MPIVIDE,LAMMPI,LAMMPI-IB,MPICH-IB
#
# MPIVIDE
#
ifeq "$(VER_MPI)" "MPIVIDE"
DIR_MPI += LIB/MPIvide
INC_MPI = -I$(B)$(DIR_MPI)
DIR_MASTER += $(DIR_MPI)
OBJS_LISTE_MASTER += mpivide.o
INC += $(INC_MPI)
mpivide.o : CPPFLAGS += -DFUJI -DMNH_INT=$(MNH_INT) -DMNH_REAL=$(MNH_REAL) \
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
-I$(DIR_MPI)/include
VPATH += $(DIR_MPI)
endif
#
# LAMMPI
#
ifeq "$(VER_MPI)" "LAMMPI"
# Standard Lam mpi
#INC_MPI = -I$(B)/opt/lam/include
#LIB_MPI = -L/opt/lam/lib -lmpi -llammpi++ -llammpio -llamf77mpi -lmpi -llam -lpthread -ldl
# default 64 bits SUSE 9 version
INC_MPI = -I$(B)/usr/include
LIB_MPI = -lmpi -llammpi++ -llammpio -llamf77mpi -lmpi -llam -lpthread -ldl -lutil
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# LAMMPI-IB
#
ifeq "$(VER_MPI)" "LAMMPI-IB"
INC_MPI = -I/home/sila/LAM-7.1.1/include
LIB_MPI = -L/usr/local/ibgd/driver/infinihost/lib64 -L/home/sila/LAM-7.1.1/lib \
-llammpio -llamf77mpi -lmpi -llam -lutil -lmosal -lmpga -lmtl_common -lvapi -ldl -lpthread
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# MPICH-IB
#
ifeq "$(VER_MPI)" "MPICH-IB"
INC_MPI = -I/usr/local/ibgd/mpi/osu/f95/mvapich-0.9.5/include
LIB_MPI = -L/usr/local/ibgd/driver/infinihost/lib64 \
-L/usr/local/ibgd/mpi/osu/f95/mvapich-0.9.5/lib \
-lmpich -lmtl_common -lvapi -lmosal -lmpga -lpthread
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# MPICH-2 CNRM
#
ifeq "$(VER_MPI)" "MPICH2"
INC_MPI = -I/usr/include
LIB_MPI = -lmpichf90 -lmpich
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# OPENMPI 1.1 CNRM
#
ifeq "$(VER_MPI)" "OMPICNRM"
MPI_ROOT=/opt/openmpi
INC_MPI = -I${MPI_ROOT}/include -I${MPI_ROOT}/include/openmpi/ompi -I${MPI_ROOT}/lib64
LIB_MPI = -L${MPI_ROOT}/lib64 -lmpi -lopen-rte -lopen-pal -lutil -lnsl -ldl -Wl,--export-dynamic -lm -lutil -lnsl -ldl
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# OPENMPI 1.1 BPROC + OPENIB + IFORT
#
ifeq "$(VER_MPI)" "OMPIIFORT"
MPI_ROOT=/home/sila/DEV/OPEN-MPI-11-IFORT-BPROC-OPENIB
INC_MPI = -I${MPI_ROOT}/include -I${MPI_ROOT}/include/openmpi/ompi -I${MPI_ROOT}/lib
LIB_MPI = -L${MPI_ROOT}/lib -lmpi -lorte -lopal -lutil -lnsl -ldl -Wl,--export-dynamic -lm -lutil -lnsl -ldl
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# OPENMPI 1.1.4 IFORT BPROC
#
ifeq "$(VER_MPI)" "OMPI114IFORT"
MPI_ROOT=/home/sila/DEV/OPEN-MPI-114-IFORT-BPROC-OPENIB
INC_MPI = -I${MPI_ROOT}/include -I${MPI_ROOT}/include/openmpi/ompi -I${MPI_ROOT}/lib
LIB_MPI = -L${MPI_ROOT}/lib -lmpi -lorte -lopal -lutil -lnsl -ldl -Wl,--export-dynamic -lm -lutil -lnsl -ldl
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# OPENMPI 1.2.2 G95 BPROC
#
ifeq "$(VER_MPI)" "OMPI122G95"
MPI_ROOT=/home/sila/DEV/OPEN-MPI-122-G95-BPROC-OPENIB
INC_MPI = -I${MPI_ROOT}/include -I${MPI_ROOT}/include/openmpi/ompi -I${MPI_ROOT}/lib
LIB_MPI = -L${MPI_ROOT}/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -Wl,--export-dynamic -lm -lutil -lnsl -ldl
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# OPENMPI12X
#
ifeq "$(VER_MPI)" "OMPI12X"
INC_MPI = -I${MPI_ROOT}/include -I${MPI_ROOT}/include/openmpi/ompi -I${MPI_ROOT}/lib
LIB_MPI = -L${MPI_ROOT}/lib -lmpi_f90 -lmpi_f77 -lmpi -lopen-rte -lopen-pal -Wl,--export-dynamic -lm -lutil -lnsl -ldl
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
#
# MPI for SGI-ICE
#
ifeq "$(VER_MPI)" "MPIICE"
INC_MPI =
LIB_MPI = -lmpi
INC += $(INC_MPI)
LIBS += $(LIB_MPI)
endif
ARCH_XYZ := $(ARCH_XYZ)-$(VER_MPI)
##########################################################
# Librairie GRIBEX #
##########################################################
#ifneq "$(ARCH)" "BG"
# Gribex bypass on BG for the moment
#DIR_GRIBEX += LIB/GRIBEX
#endif
#
#ifdef DIR_GRIBEX
#LIB_GRIBEX = $(DIR_GRIBEX)_$(ARCH)/libgribexR64.a
#LIBS += $(LIB_GRIBEX)
#R64_GRIBEX=R64
#endif
##########################################################
# Librairie GRIBAPI #
##########################################################
#ifneq "$(ARCH)" "BG"
# Gribapi bypass on BG for the moment
DIR_GRIBAPI?=${SRC_MESONH}/src/LIB/grib_api-${VERSION_GRIBAPI}
GRIBAPI_PATH?=${OBJDIR_MASTER}/GRIBAPI-${VERSION_GRIBAPI}
#GRIBAPI_PATH?=${DIR_GRIBAPI}-${ARCH}${MNH_INT}
GRIBAPI_INC?=${GRIBAPI_PATH}/include/grib_api.mod
#endif
#
ifdef DIR_GRIBAPI
INC_GRIBAPI ?= -I${GRIBAPI_PATH}/include
LIB_GRIBAPI ?= -L${GRIBAPI_PATH}/lib -L${GRIBAPI_PATH}/lib64 -lgrib_api_f90 -lgrib_api
INC += $(INC_GRIBAPI)
LIBS += $(LIB_GRIBAPI)
VPATH += $(GRIBAPI_PATH)/include
R64_GRIBAPI=R64
endif

Juan Escobar
committed
##########################################################
# Librairie OASIS #
##########################################################
#
ifeq "$(VER_OASIS)" "OASISAUTO"
OASIS_PATH ?= ${SRC_MESONH}/src/LIB/work_oasis3-mct
OASIS_KEY ?= ${OASIS_PATH}/build/lib/psmile.MPI1/mod_oasis.mod
# INC_OASIS : includes all *o and *mod for each library
INC_OASIS ?= -I${OASIS_PATH}/build/lib/psmile.MPI1 -I$(OASIS_PATH)/build/lib/mct -I$(OASIS_PATH)/build/lib/scrip
LIB_OASIS ?= -L${OASIS_PATH}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
INC += $(INC_OASIS)
LIBS += $(LIB_OASIS)
VPATH += ${OASIS_PATH}/build/lib/psmile.MPI1
CPPFLAGS += -DCPLOASIS

Juan Escobar
committed
endif
ifeq "$(VER_OASIS)" "OASISBASHRC"
OASIS_PATH ?= ${OASISDIR}
OASIS_KEY ?= ${OASIS_PATH}/build/lib/psmile.MPI1/mod_oasis.mod
# INC_OASIS : includes all *o and *mod for each library
INC_OASIS ?= -I${OASIS_PATH}/build/lib/psmile.MPI1 -I$(OASIS_PATH)/build/lib/mct -I$(OASIS_PATH)/build/lib/scrip
LIB_OASIS ?= -L${OASIS_PATH}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
INC += $(INC_OASIS)
LIBS += $(LIB_OASIS)
VPATH += ${OASIS_PATH}/build/lib/psmile.MPI1
CPPFLAGS += -DCPLOASIS
endif
##########################################################
# Librairie NETCDF4 #
##########################################################
# NETCDF4 INPUT/OUTPUT in MesoNH
ifdef MNH_IOCDF4

Juan Escobar
committed
CPPFLAGS_MNH += -DMNH_IOCDF4=$(MNH_IOCDF4)
# NetCDF : AUTO install of netcdf-4.X.X on PC linux to avoid problem with compiler
#
#
ifeq "$(VER_CDF)" "CDFAUTO"
DIR_CDFC?=${SRC_MESONH}/src/LIB/netcdf-${VERSION_CDFC}
DIR_CDFF?=${SRC_MESONH}/src/LIB/netcdf-fortran-${VERSION_CDFF}
CDF_PATH?=${SRC_MESONH}/src/LIB/netcdf-${ARCH}-R${MNH_REAL}I${MNH_INT}
CDF_MOD?=${CDF_PATH}/include/netcdf.mod
#
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -L${CDF_PATH}/lib64 -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lsz -laec -lz -ldl

Juan Escobar
committed
#
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
#
DIR_HDF?=${SRC_MESONH}/src/LIB/hdf5-${VERSION_HDF}
#
DIR_LIBAEC?=${SRC_MESONH}/src/LIB/libaec-${VERSION_LIBAEC}

Juan Escobar
committed
# NetCDF : CDF LaReunion Local
#
ifeq "$(VER_CDF)" "CDFBASHRC"
#
INC_NETCDF ?= $(shell $(NETCDF_CONFIG) --fflags)
LIB_NETCDF ?= $(shell $(NETCDF_CONFIG) --flibs)
#
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
#
endif
#
# NetCDF in beaufix (bull meteo-france)
ifeq "$(VER_CDF)" "CDFBFIX"
CDF_PATH?=/opt/softs/libraries/ICC16.1.150/netcdf-4.4.0
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdf -lnetcdff
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# NetCDF in BGQ
#
ifeq "$(VER_CDF)" "CDFBGQ"
CDF_PATH?=/bglocal/cn/pub/NetCDF/4.3.3.1/seq
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdff -lnetcdf_c++ -lnetcdf
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
HDF5_PATH?=/bglocal/cn/pub/HDF5/1.8.14/seq/
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
LIB_HDF5 ?= -L${HDF5_PATH}/lib -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -lm
LIBS += $(LIB_HDF5)
LIBZ_PATH?=/bglocal/cn/pub/zlib/1.2.5
LIB_LIBZ ?= -L${LIBZ_PATH}/lib -lz
LIBS += $(LIB_LIBZ)
endif
#
# NetCDF in SGI ICE
#
ifeq "$(VER_CDF)" "CDFICE"
CDF_PATH?=/opt/software/SGI/netcdf/4.0
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdff -lnetcdf -i_dynamic
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# NetCDF in NEC SX
#
ifeq "$(VER_CDF)" "CDFSX"
CDF_PATH?=/SXlocal/pub/netcdf/3.6.1
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdf_c++ -lnetcdf
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
ifeq "$(VER_CDF)" "CDFMFSX"
CDF_PATH?=/usr/local/SX/lib/NETCDF_size_t32
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdf
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# NetCDF in prefix (bull meteo-france)
ifeq "$(VER_CDF)" "CDFBULL"
CDF_PATH?=/home_nfs/local/Icc13.0.1/netcdf-4.2.1.1
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdf -lnetcdff
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# NetCDF in AIX S
#
ifeq "$(VER_CDF)" "CDFAIX"
CDF_PATH?=/usr/local/pub/NetCDF/3.6.2
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib -lnetcdf_c++ -lnetcdf
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# Linux with gfortran SUSE10.3
#
ifeq "$(VER_CDF)" "CDFGFOR"
INC_NETCDF ?= -I/usr/include
LIB_NETCDF ?= -lnetcdf -lnetcdff /usr/lib64/libgfortran.so.2
#LIB_NETCDF ?= -lnetcdf -lnetcdff
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# Linux with netcdf CTI 3.6.3
#
ifeq "$(VER_CDF)" "CDFCTI"
CDF_PATH?=/usr
INC_NETCDF = -I${CDF_PATH}/include
LIB_NETCDF = -L${CDF_PATH}/lib64 -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lsz -lz
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif
#
# Linux with gfortran SUSE11.1
#
ifeq "$(VER_CDF)" "CDF3GFOR"
CDF_PATH ?=/opt/netcdf3
INC_NETCDF ?= -I${CDF_PATH}/include
LIB_NETCDF ?= -L${CDF_PATH}/lib64 -lnetcdf_c++ -lnetcdf
INC += $(INC_NETCDF)
LIBS += $(LIB_NETCDF)
endif

Juan Escobar
committed
# for oasis compilation <=> to find correctly netcdf
NETCDF_INCLUDE ?= ${CDF_PATH}/include
NETCDF_LIBRARY ?= $(LIB_NETCDF)
export NETCDF_INCLUDE NETCDF_LIBRARY F90 CC

Juan Escobar
committed
##########################################################
# Number of NESTED MODEL #
##########################################################
NSOURCE=8
##########################################################
# #
# PROG_LIST : Main program liste to compile #
# #
##########################################################
#
#ifeq "$(ARCH)" "BGQ"
#PROG_LIST += MESONH PREP_IDEAL_CASE PREP_PGD
#else
PROG_LIST += MESONH LATLON_TO_XY PREP_IDEAL_CASE PREP_REAL_CASE PREP_PGD \
PREP_NEST_PGD SPAWNING DIAG PREP_SURFEX ZOOM_PGD SPECTRE \
MNH2LPDM

WAUTELET Philippe
committed
ifdef MNH_TOOLS
PROG_LIST += LFI2CDF
endif
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
#endif
##########################################################
# #
# LIB_OBJS : Librarie of all *.o #
# #
##########################################################
#
ARCH_XYZ := $(ARCH_XYZ)-$(OPTLEVEL)
OBJDIR_ROOT := $(OBJDIR_ROOT)-$(ARCH_XYZ)
LIB_OBJS_ROOT := $(LIB_OBJS_ROOT)-$(ARCH_XYZ)
#
##########################################################
# #
# IGNORE_OBJS : some *.o to ignore #
# ---> unused unsupported old routines #
# #
##########################################################
#
IGNORE_OBJS += spll_olwu.o spll_olwv.o spll_rad1driv.o spll_radlsw.o spll_suovlp.o \
spll_ch_init_model0d.o spll_ch_model0d.o spll_ch_svode_fcn.o spll_ch_svode_jac.o
IGNORE_DEP_MASTER += modules_diachro.D
IGNORE_DEP_MASTER += ch_svode.D ch_model0d.D \
create_file.D def_var_netcdf.D get_dimlen_netcdf.D \
handle_err.D init_outfn_isban.D init_outfn_sean.D \
init_outfn_surf_atmn.D init_outfn_tebn.D init_outfn_watern.D \
ol_find_file.D ol_read_atm.D ol_time_interp_atm.D \
read_surf_ol.D write_surf_ol.D \
close_file_ol.D close_namelist_ol.D end_io_surf_oln.D \
init_io_surf_oln.D modd_io_surf_ol.D modd_ol_fileid.D \
open_file_ol.D open_namelist_ol.D read_surf_ol.D write_surf_ol.D offline.D
#
#
##########################################################
# #
# VPATH_EXCLUDE : Some sources directory to exclude #
# #
##########################################################
#
VPATH_EXCLUDE= %/CVS
#