source: flexpart.git/flexpart_code/makefile.gfortran.fptest @ 496c607

FPv9.3.1FPv9.3.1b_testingFPv9.3.2fp9.3.1-20161214-nc4grib2nc4_repair
Last change on this file since 496c607 was 496c607, checked in by Don Morton <Don.Morton@…>, 8 years ago

Initial commit of FPv9.3.1

Currently, this is a clone of snapshot FPv9.3.0

  • Property mode set to 100644
File size: 4.6 KB
Line 
1###############################################################
2#
3# DJM 2015-09-17
4# This is an evolving, experimental Makefile in which we explore
5# the incorporation of libraries - no change in the fundamental FLEXPART
6# code, just the use of libraries in compilation
7#
8###############################################################
9SHELL = /bin/bash
10MAIN = FLEXPART_GFORTRAN
11
12FC       = gfortran
13
14
15##############   Conditional compilation for testing  #################
16####  These are used for development and testing of .fp file functionality
17####  Hopefully they will be obsolete once WO4 is completed
18####
19####  For normal FLEXPART usage (no dumping or loading of .fp files), both
20####  of the DEFS should be commented out.
21#### 
22####  Users should uncomment only one of the following.  They are mutually
23####  exclusive
24#### 
25####  Uncommenting GENFPFILESANDTEST will run FLEXPART normally, reading from
26####  met files, but every time a met file is processed, a .fp file with the
27####  same basename will be created.  You will need to edit the destination
28####  of the .fp files, FPDIR, in getfields.F90
29
30#DEFS = -DGENFPFILESANDTEST
31
32####
33####  Uncommenting TESTUSEGETFPFIELDS will cause FLEXPART to run from .fp files
34####  rather than met files.  The path to the .fp files, FPDIR, must be
35####  hardcoded in
36####  FLEXPART.f90.
37
38DEFS = -DTESTUSEGETFPFIELDS
39
40#######################################################################
41
42INCPATH  = /opt/grib-api/include
43
44LIBPATH1 = /opt/grib-api/lib
45LIBPATH2 = /usr/lib/x86_64-linux-gnu
46FFLAGS   =   -O2 -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -I$(INCPATH)
47LDFLAGS  = $(FFLAGS) -L$(LIBPATH2) -L$(LIBPATH1) -L./ -lmetio -lfputil -lgrib_api_f90 -lgrib_api -lm -ljasper
48
49METIO_LIB = libmetio.a
50FPUTIL_LIB = libfputil.a
51
52METIO_LIB_OBJS = fpmetbinary_mod.o getfields.o \
53fpgridcheck.o getfpfields.o \
54readwind.o readwind_gfs.o readwind_nests.o \
55calcpar.o calcpar_gfs.o calcpar_nests.o    \
56gridcheck_gfs.o \
57gridcheck.o \
58gridcheck_nests.o \
59verttransform.o verttransform_gfs.o verttransform_nests.o
60
61FPUTIL_LIB_OBJS = calcpv.o calcpv_nests.o caldate.o cmapf_mod.o \
62com_mod.o conv_mod.o ew.o flux_mod.o getrb.o getrc.o getvdep.o \
63getvdep_nests.o juldate.o shift_field_0.o obukhov.o obukhov_gfs.o \
64par_mod.o partdep.o pbl_profile.o psih.o psim.o qvsat.o raerod.o \
65richardson.o richardson_gfs.o scalev.o shift_field.o
66
67
68MODOBJS = \
69par_mod.o               com_mod.o \
70conv_mod.o              hanna_mod.o \
71interpol_mod.o          cmapf_mod.o \
72unc_mod.o               oh_mod.o \
73xmass_mod.o             flux_mod.o \
74point_mod.o             outg_mod.o \
75fpmetbinary_mod.o
76
77
78OBJECTS = \
79writeheader.o           assignland.o\
80part0.o \
81detectformat.o \
82coordtrafo.o            \
83drydepokernel.o         random.o \
84erf.o                   readavailable.o \
85readcommand.o \
86advance.o               readdepo.o \
87releaseparticles.o      \
88FLEXPART.o              readlanduse.o \
89getfields.o             init_domainfill.o\
90interpol_wind.o         readoutgrid.o \
91interpol_all.o          readpaths.o \
92readreceptors.o \
93readreleases.o \
94readspecies.o \
95interpol_misslev.o  \
96conccalc.o              \
97concoutput.o            \
98readOHfield.o\
99timemanager.o \
100interpol_vdep.o         interpol_rain.o \
101partoutput.o \
102hanna.o                 wetdepokernel.o \
103mean.o                  wetdepo.o \
104hanna_short.o           windalign.o \
105hanna1.o                initialize.o \
106interpol_all_nests.o \
107interpol_wind_nests.o   interpol_misslev_nests.o \
108interpol_vdep_nests.o   interpol_rain_nests.o \
109readageclasses.o        readpartpositions.o \
110calcfluxes.o            fluxoutput.o \
111skplin.o \
112convmix.o               calcmatrix.o \
113convmix_gfs.o           calcmatrix_gfs.o \
114convect43c.o               redist.o \
115sort2.o                 distance.o \
116centerofmass.o          plumetraj.o \
117openouttraj.o           \
118distance2.o \
119clustering.o            interpol_wind_short.o \
120interpol_wind_short_nests.o shift_field_0.o \
121outgrid_init.o \
122openreceptors.o         boundcond_domainfill.o\
123partoutput_short.o      readoutgrid_nest.o \
124outgrid_init_nest.o     writeheader_nest.o \
125concoutput_nest.o       wetdepokernel_nest.o \
126drydepokernel_nest.o    zenithangle.o \
127ohreaction.o            \
128initial_cond_calc.o     initial_cond_output.o \
129dynamic_viscosity.o     get_settling.o
130
131
132$(MAIN): $(MODOBJS) $(OBJECTS) $(METIO_LIB) $(FPUTIL_LIB)
133        $(FC) *.o -o $(MAIN) $(LDFLAGS)
134
135$(OBJECTS): $(MODOBJS)
136
137$(METIO_LIB): $(METIO_LIB_OBJS)
138        ar rcs $@ $^
139        rm $^
140
141$(FPUTIL_LIB): $(FPUTIL_LIB_OBJS)
142        ar rcs $@ $^
143        rm $^
144
145%.o: %.f90
146        $(FC) -c $(FFLAGS) $<
147
148%.o: %.F90
149        $(FC) -c $(FFLAGS) $(DEFS) $<
150
151clean:
152        rm *.o *.mod *.a
153
154
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG