################################################################################ # # Makefile for NCEP Post # # Use: # make - build the executable # make clean - start with a clean slate # # The following macros will be of interest: # # TARGET - name of the executable # FC - name of Fortran compiler # CPP - name of CPP # ARCH - architecture # CPPFLAGS - CPP flags # OPTS - compiler code optimizations # LIST - source listing # SMP - threading # TRAPS - runtime traps for floating point exceptions # PROFILE - source code profiling ( -pg ) # DEBUG - -g # MEM - user data area and stack size # MAP - load map # W3LIB - w3lib # BACIO - bacio lib # ESSL - ESSL library # MASS - MASS library # HPMLIB - hpm lib # SEARCH - library search location # # This version for eta_post with more intelligent memory allocation # Jim Tuccillo Feb 2001 # # This version for eta_post with asynchronous I/O server. # Jim Tuccillo June 2001 # ################################################################################# # # Define the name of the executable # TARGET = ../../exec/ncep_post # # CPP, Compiler, and Linker Options # #WRFPATH = /scratch2/portfolios/NCEPDEV/meso/save/Dusan.Jovic/WRFV3 WRFPATH = /home/Hui-Ya.Chuang/lib/sorc/WRFV3 NETCDFPATH = /apps/netcdf/3.6.3/intel/lib FC = ifort -lmpi -traceback CPP = /lib/cpp -P ARCH = CPPFLAGS = -DLINUX #OPTS = -O -g OPTS = -O3 -convert big_endian -traceback -g -fp-model strict LIST = FREE = -FR TRAPS = PROFILE = DEBUG = -g MEM = MAP = #W3LIBDIR = /nwprod/lib ESSL = MASS = # new netcdf path NCDLIBS = -L$(NETCDFPATH) -lnetcdf NCDFFLAGS = -I$(NETCDFPATH) WRFFLAGS = -I$(WRFPATH)/external/io_quilt -I$(WRFPATH)/frame CRTMFFLAGS = -I/contrib/nceplibs/nwprod/lib/incmod/crtm_v2.0.6 W3FLAGS = -I/contrib/nceplibs/nwprod/lib/incmod/w3emc_v2.0.3_4 W3NCOFLAGS = -I/contrib/nceplibs/nwprod/lib/incmod/w3nco_v2.0.3_4 SFCFLAG = -I/contrib/nceplibs/nwprod/lib/incmod/sfcio_v1.1.0 NEMSIODIR = /contrib/nceplibs/nwprod/lib NEMSIOFLAG = -I${NEMSIODIR}/incmod/nemsio_v2.2.1 NEMSIOLIB = -L${NEMSIODIR} -lnemsio_v2.2.1 SIGIOFLAG = -I/home/Hui-Ya.Chuang/lib/incmod/sigio_4 W3EMCLIB = -L/contrib/nceplibs/nwprod/lib -lw3emc_v2.0.3_4 W3NCOLIB = -L/contrib/nceplibs/nwprod/lib -lw3nco_v2.0.3_4 #WRFLIB = $(WRFPATH)/main/libwrflib.a $(WRFPATH)/external/io_int/libwrfio_int.a $(WRFPATH)/external/io_netcdf/libwrfio_nf.a $(WRFPATH)/frame/pack_utils.o $(WRFPATH)/external/esmf_time_f90/libesmf_time.a $(WRFPATH)/external/RSL_LITE/librsl_lite.a $(WRFPATH)/frame/module_internal_header_util.o WRFLIB = $(WRFPATH)/main/libwrflib.a \ $(WRFPATH)/frame/pack_utils.o \ $(WRFPATH)/frame/module_internal_header_util.o \ $(WRFPATH)/external/io_grib1/libio_grib1.a \ $(WRFPATH)/external/io_grib_share/libio_grib_share.a \ $(WRFPATH)/external/io_int/libwrfio_int.a \ $(WRFPATH)/external/io_netcdf/libwrfio_nf.a \ $(WRFPATH)/external/esmf_time_f90/libesmf_time.a \ $(WRFPATH)/external/RSL_LITE/librsl_lite.a CRTMLIB = /contrib/nceplibs/nwprod/lib/libcrtm_v2.0.6.a #grib2 library #GRB2FLAGS = -I/nwprod/lib/incmod/g2_4 -I/nwprod/util/sorc/g2tmpl.fd/incmod/g2tmpl G2TESTLIBDIR=/contrib/nceplibs/nwprod/lib G2TMPLTESTLIBDIR=/contrib/nceplibs/nwprod/lib GRB2FLAGS = -I${G2TESTLIBDIR}/incmod/g2_4 -I${G2TMPLTESTLIBDIR}/incmod/g2tmpl XMLFLAGS = -I/home/Hui-Ya.Chuang/lib/incmod/xmlparse GRB2LIB = -L${G2TMPLTESTLIBDIR} -lg2tmpl -L${G2TESTLIBDIR} -lg2_4 /home/Ratko.Vasic/lib_tmp/jasper.intel/lib/libjasper.a /home/Ratko.Vasic/lib_tmp/libpng.intel/lib/libpng.a /scratch1/portfolios/NCEPDEV/nems/save/Jun.Wang/nwprod/libintel/sorc/zlib-1.2.5/libz.a XMLLIB = /home/Hui-Ya.Chuang/lib/libxmlparse.a GFSIOFLAG = -I/scratch1/portfolios/NCEPDEV/nems/save/Jun.Wang/nwprod/libintel/incmod/gfsio_4 GFSIOLIB = /scratch1/portfolios/NCEPDEV/nems/save/Jun.Wang/nwprod/libintel/libgfsio_4.a SIGIOLIB = /home/Hui-Ya.Chuang/lib/libsigio_4.a SEARCH = # # Assemble Options # FFLAGS = $(OPTS) $(LIST) $(FREE) $(TRAPS) $(PROFILE) $(DEBUG) $(NCDFFLAGS) $(WRFFLAGS) $(CRTMFFLAGS) $(W3NCOFLAGS) $(W3FLAGS) $(SFCFLAG) $(NEMSIOFLAG) $(GRB2FLAGS) $(XMLFLAGS) $(GFSIOFLAG) $(SIGIOFLAG) FFLAGST = $(OPTS) $(LIST) $(FREE) $(TRAPS) $(PROFILE) $(DEBUG) $(NCDFFLAGS) $(WRFFLAGS) $(CRTMFFLAGS) $(W3NCOFLAGS) $(W3FLAGS) $(NEMSIOFLAG) $(GFSIOFLAG) $(SIGIOFLAG) LDFLAGS = $(MEM) $(MAP) $(SMP) $(PROFILE) LIBS = $(NEMSIOLIB) $(GRB2LIB) $(GFSIOLIB) \ $(XMLLIB) $(ESSL) $(MASS) $(SEARCH) $(WRFLIB) $(SIGIOLIB) $(W3NCOLIB) $(W3EMCLIB) \ /scratch1/portfolios/NCEPDEV/nems/save/Jun.Wang/nceplibs/src/bacio/bacio_v2.0.0_r21386/lib/libbacio_4.a \ -L/scratch2/portfolios/NCEPDEV/global/save/Shrinivas.Moorthi/para/lib -lsfcio_4\ -lip_4 -lsp_4 $(CRTMLIB) $(NCDLIBS) # /home/Ratko.Vasic/lib_tmp/libw3-2.0_4.a \ # # # Threaded object files # OBJST= wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \ kinds_mod.o machine.o physcons.o \ count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \ next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \ GFSPOST.o GETGBANDSCATTER.o # # Non-threaded object files # OBJXML= post_t.o # OBJS= VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \ CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o \ cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \ SET_LVLSXML.o FILL_PSETFLD.o \ BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \ CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \ CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \ CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \ CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \ CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o \ DEWPOINT.o \ FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \ GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \ MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \ NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \ PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \ READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \ SMOOTH.o SURFCE.o \ SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \ CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \ ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \ AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \ CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \ CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \ INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \ INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o INITPOST_GFS_SIGIO.o \ AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o # # Includes # ##INCLUDES= parm.tbl parmeta parmout parmsoil cuparm #INCLUDES= parm.tbl cuparm # # Common Blocks # #COMMS= LOOKUP.comm RQSTFLD.comm CTLBLK.comm \ # GRIDSPEC.comm CMASSI.comm RHGRD.comm #DEPS= $(COMMS) $(INCLUDES) .SUFFIXES: .F .f .o .f90 .F.f: $(CPP) $(CPPFLAGS) $< > $*.f $(TARGET): $(OBJST) $(OBJXML) $(OBJS) $(FC) $(LDFLAGS) -openmp -o $@ $(OBJST) $(OBJXML) $(OBJS) $(LIBS) #$(OBJS): # $(FC) $(FFLAGS) -c $< ##$(OBJST): ## $(FC) $(FFLAGST) -c $< .f.o: $(FC) $(FFLAGS) -c $< clean: /bin/rm -f $(TARGET) *.lst *.o *.mod # post_t.o: $(FC) $(FFLAGS) -c post_t.f90