source: flexpart.git/flexpart_code/grib2nc4/Makefile @ 8624a75

FPv9.3.2grib2nc4_repair
Last change on this file since 8624a75 was 8624a75, checked in by Don Morton <Don.Morton@…>, 7 years ago

Enhancements to FPv9.3.2

Documented in Ticket #182 (as well as CTBTO ticket 357)

  • Property mode set to 100644
File size: 3.8 KB
Line 
1
2FC = gfortran
3
4
5
6# Location of FLEXPART source directory
7FLEXPART_SRC = ..
8
9GRIBAPI = /opt/grib-api
10HDF5 = /opt/hdf5-1.8.16
11NETCDFF = /opt/netcdf-fortran-4.4.3
12NETCDF = /opt/netcdf-c-4.4.0
13#GRIBAPI = /usr/local/grib-api
14#HDF5 = /usr/local/hdf5-1.8.16
15#NETCDFF = /usr/local/netcdf-fortran-4.4.3
16#NETCDF = /usr/local/netcdf-c-4.4.0
17
18
19
20BINARY = grib2nc4
21CMP_BINARY = nc4cmp
22OBJS = processmetfields.o verttransform_grib2nc4_ecmwf.o verttransform_grib2nc4_gfs.o
23FPMODOBJS = ${FLEXPART_SRC}/par_mod.o ${FLEXPART_SRC}/com_mod.o ${FLEXPART_SRC}/class_vtable_mod.o ${FLEXPART_SRC}/cmapf_mod.o ${FLEXPART_SRC}/conv_mod.o
24FLXPRTOBJS = ${FLEXPART_SRC}/detectformat.o ${FLEXPART_SRC}/grib2check.o ${FLEXPART_SRC}/shift_field_0.o ${FLEXPART_SRC}/gridcheck.o \
25             ${FLEXPART_SRC}/readwind.o ${FLEXPART_SRC}/readwind_nests.o ${FLEXPART_SRC}/calcpar.o ${FLEXPART_SRC}/calcpar_nests.o \
26             ${FLEXPART_SRC}/shift_field.o ${FLEXPART_SRC}/pbl_profile.o ${FLEXPART_SRC}/scalev.o ${FLEXPART_SRC}/obukhov.o \
27             ${FLEXPART_SRC}/richardson.o ${FLEXPART_SRC}/ew.o ${FLEXPART_SRC}/getvdep.o ${FLEXPART_SRC}/calcpv.o ${FLEXPART_SRC}/obukhov_gfs.o \
28             ${FLEXPART_SRC}/richardson_gfs.o ${FLEXPART_SRC}/getvdep_nests.o ${FLEXPART_SRC}/calcpv_nests.o ${FLEXPART_SRC}/psim.o ${FLEXPART_SRC}/psih.o \
29             ${FLEXPART_SRC}/qvsat.o ${FLEXPART_SRC}/caldate.o ${FLEXPART_SRC}/getrb.o ${FLEXPART_SRC}/raerod.o ${FLEXPART_SRC}/getrc.o ${FLEXPART_SRC}/partdep.o \
30             ${FLEXPART_SRC}/verttransform.o ${FLEXPART_SRC}/verttransform_nests.o ${FLEXPART_SRC}/readwind_gfs.o \
31             ${FLEXPART_SRC}/calcpar_gfs.o ${FLEXPART_SRC}/verttransform_gfs.o ${FLEXPART_SRC}/gridcheck_gfs.o
32
33
34VPATH = ${FLEXPART_SRC}
35FFLAGS = -mcmodel=medium
36
37INCLUDES_NETCDF = -I${NETCDFF}/include
38INCLUDES = -I${GRIBAPI}/include ${INCLUDES_NETCDF}  -I${FLEXPART_SRC}
39
40
41### NetCDF link flags - use the first one for dynamic libs, the second
42### one for static libs
43LDFLAGS_NETCDF = -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf
44#LDFLAGS_NETCDF=-static -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf -lnetcdf -L${HDF5}/lib -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran -lhdf5 -ldl -lz
45
46
47LDFLAGS = -L${GRIBAPI}/lib -lgrib_api_f90 -lgrib_api ${LDFLAGS_NETCDF} -ljasper -L${FLEXPART_SRC}
48
49
50#------------ Creating the binary ------------------
51
52${BINARY} : ${BINARY}.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS}
53        ${FC} -o ${BINARY} ${BINARY}.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS} ${LDFLAGS}
54
55${BINARY}.o : ${BINARY}.F90 fp2nc4io_mod.mod ${FPMODOBJS} Makefile
56        ${FC} -c ${BINARY}.F90 ${FFLAGS} ${INCLUDES}
57
58#-----------  NC4 compare ------------------------
59${CMP_BINARY} : ${CMP_BINARY}.o
60        ${FC} -o ${CMP_BINARY} ${CMP_BINARY}.o ${LDFLAGS}
61
62${CMP_BINARY}.o : ${CMP_BINARY}.F90 Makefile
63        ${FC} -c ${CMP_BINARY}.F90 ${FFLAGS} ${INCLUDES}
64
65fp2nc4io_mod.mod : ${FPMODOBJS}
66        ${FC} -c fp2nc4io_mod.F90 ${FFLAGS} ${INCLUDES}
67
68#-----------  Entries for testing ----------------
69test : clean_test test/${BINARY}_test
70        mv ${BINARY}_test test/
71        (cd test; export LD_LIBRARY_PATH=${NETCDFF}/lib:${NETCDF}/lib:${GRIBAPI}/lib:${LD_LIBRARY_PATH}; ./${BINARY}_test EL14091912 testout.nc4 w q)
72
73test/${BINARY}_test : ${BINARY}_test.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS}
74        ${FC} -o ${BINARY}_test ${BINARY}_test.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS} ${LDFLAGS}
75
76
77${BINARY}_test.o : ${BINARY}.F90 fp2nc4io_mod_test ${FPMODOBJS} Makefile
78        ${FC} -c ${BINARY}.F90 -o ${BINARY}_test.o ${FFLAGS} ${INCLUDES} -DTESTING
79
80fp2nc4io_mod_test : ${FPMODOBJS}
81        ${FC} -c fp2nc4io_mod.F90 ${FFLAGS} ${INCLUDES} -DTESTING
82
83#---------------------------------------------------
84clean :
85        rm -f *.o *.mod
86
87clean_test : clean
88        rm -f test/${BINARY}_test
89
90#---------------------------------------------------
91%.o: %.f90
92        ${FC} -c ${FFLAGS} ${INCLUDES} $<
93
94%.o: %.F90
95        ${FC} -c ${FFLAGS} ${INCLUDES} $<
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG