SHELL = /bin/bash FLEXPART_EXECUTABLE = FLEXPART_GFORTRAN GRIB2FLEXPART_EXECUTABLE = GRIB2FLEXPART_GFORTRAN ############################################# #### Uncomment this to activate performance timing #DEFS = -DPERFTIMER -DCTBTO #DEFS = -DPERFTIMER # DEFS = -DCTBTO DEFS = ############################################# FC = gfortran INCPATH = /usr/local/include LIBPATH1 = /usr/local/lib LIBPATH2 = /usr/lib/x86_64-linux-gnu # alaskawx #INCPATH = /opt/grib-api/include #LIBPATH1 = /opt/grib-api/lib #LIBPATH2 = /usr/lib/x86_64-linux-gnu FFLAGS = -O2 -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -I$(INCPATH) LDFLAGS = $(FFLAGS) -L$(LIBPATH2) -L$(LIBPATH1) -lgrib_api_f90 -lgrib_api -lm -ljasper MODOBJS = \ par_mod.o com_mod.o \ conv_mod.o hanna_mod.o \ interpol_mod.o cmapf_mod.o \ unc_mod.o oh_mod.o \ xmass_mod.o flux_mod.o \ point_mod.o outg_mod.o \ fpmetbinary_mod.o class_vtable_mod.o OBJECTS = \ grib2check.o fpgridcheck.o \ writeheader.o assignland.o\ calcpar.o part0.o \ calcpar_gfs.o detectformat.o \ caldate.o partdep.o \ coordtrafo.o psih.o \ raerod.o convertfields.o \ drydepokernel.o random.o \ erf.o readavailable.o \ ew.o readcommand.o \ advance.o readdepo.o \ releaseparticles.o psim.o \ readlanduse.o getfpfields.o \ getfields.o init_domainfill.o\ interpol_wind.o readoutgrid.o \ interpol_all.o readpaths.o \ getrb.o readreceptors.o \ getrc.o readreleases.o \ getvdep.o readspecies.o \ interpol_misslev.o readwind.o \ readwind_gfs.o richardson_gfs.o \ conccalc.o richardson.o \ concoutput.o scalev.o \ pbl_profile.o readOHfield.o\ juldate.o timemanager.o \ interpol_vdep.o interpol_rain.o \ verttransform_gfs.o partoutput.o \ verttransform.o \ hanna.o wetdepokernel.o \ mean.o wetdepo.o \ hanna_short.o windalign.o \ obukhov_gfs.o gridcheck_gfs.o \ obukhov.o gridcheck.o \ hanna1.o initialize.o \ gridcheck_nests.o \ readwind_nests.o calcpar_nests.o \ verttransform_nests.o interpol_all_nests.o \ interpol_wind_nests.o interpol_misslev_nests.o \ interpol_vdep_nests.o interpol_rain_nests.o \ readageclasses.o readpartpositions.o \ calcfluxes.o fluxoutput.o \ qvsat.o skplin.o \ convmix.o calcmatrix.o \ convmix_gfs.o calcmatrix_gfs.o \ convect43c.o redist.o \ sort2.o distance.o \ centerofmass.o plumetraj.o \ openouttraj.o calcpv.o \ calcpv_nests.o distance2.o \ clustering.o interpol_wind_short.o \ interpol_wind_short_nests.o shift_field_0.o \ shift_field.o outgrid_init.o \ openreceptors.o boundcond_domainfill.o\ partoutput_short.o readoutgrid_nest.o \ outgrid_init_nest.o writeheader_nest.o \ concoutput_nest.o wetdepokernel_nest.o \ drydepokernel_nest.o zenithangle.o \ ohreaction.o getvdep_nests.o \ initial_cond_calc.o initial_cond_output.o \ dynamic_viscosity.o get_settling.o all: $(FLEXPART_EXECUTABLE) $(GRIB2FLEXPART_EXECUTABLE) flexpart: $(FLEXPART_EXECUTABLE) grib2flexpart: $(GRIB2FLEXPART_EXECUTABLE) $(FLEXPART_EXECUTABLE): $(MODOBJS) $(OBJECTS) FLEXPART.o $(FC) FLEXPART.o $(OBJECTS) $(MODOBJS) -o $(FLEXPART_EXECUTABLE) $(LDFLAGS) $(GRIB2FLEXPART_EXECUTABLE): $(MODOBJS) $(OBJECTS) GRIB2FLEXPART.o $(FC) GRIB2FLEXPART.o $(OBJECTS) $(MODOBJS) -o $(GRIB2FLEXPART_EXECUTABLE) $(LDFLAGS) $(OBJECTS): $(MODOBJS) FLEXPART.o: $(MODOBJS) GRIB2FLEXPART.o: $(MODOBJS) %.o: %.f90 $(FC) -c $(FFLAGS) $< %.o: %.F90 $(FC) -c $(FFLAGS) $(DEFS) $< clean: rm -f *.o *.mod