# MAKEFILE for conversion to GRIB1 # # # Define the fortran compiler and options #FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback -debug -check -warn #FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback -debug -check #FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback -check FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback FFLAGS1= -integer-size 64 -real-size 64 LDFLAGS = -m64 LIBS1 = -I /nwprod/lib/incmod/g2_4 LIBS2 = -L/nwprod/lib -lg2_4 -lw3nco_v2.0.3_4 -lbacio_4 LIBS3 = -L/nwprod/lib -ljasper -lpng -lz LIBS4 = -mkl=sequential -lmpi #-lessl CMD = rtma2p5_post CMAIN = post.f90 FC1=ifort FC2=ifort -free FC3=mpfort OBJ1 = w3fb11_8.o w3fb06_8.o w3fb08_8.o SORC1 = w3fb11_8.f w3fb06_8.f w3fb08_8.f ${OBJ1}:${SORC1} ${FC1} ${FFLAGS0} ${FFLAGS1} -c ${SORC1} OBJ2 = domain_dims.o proj_info.o \ latlon_to_grid.o kinds.o constants.o \ psichi2uv_reg_V2.o get_stndewpt_r4.o \ get_ob_lists.o streamline_for_rjlist.o SORC2 = domain_dims.f proj_info.f \ latlon_to_grid.f \ kinds.f90 constants.f90 \ psichi2uv_reg_V2.f get_stndewpt_r4.f \ get_ob_lists.f streamline_for_rjlist.f ${OBJ2}:${SORC2} ${FC2} ${FFLAGS0} -c ${SORC2} OBJ3 = derive_xbvar_mpi.o run_biascor.o cressanl_common.o \ errs_common.o get_streamlined_stats_cv_mpi.o \ cnv_to_grib2_mpi.o create_rjlist.o bias_rmse_cv_mpi.o SORC3 = derive_xbvar_mpi.f90 run_biascor.f90 cressanl_common.f90\ errs_common.f90 get_streamlined_stats_cv_mpi.f90 \ cnv_to_grib2_mpi.f90 create_rjlist.f90 bias_rmse_cv_mpi.f90 ${OBJ3}:${SORC3} ${FC3} ${FFLAGS0} -c ${SORC3} LINK-OBJS = $(OBJ1) $(OBJ2) $(OBJ3) all: $(CMD) $(CMD): ${LINK-OBJS} ${FC3} ${FFLAGS0} ${LDFLAGS} -o $(CMD) ${CMAIN} ${LINK-OBJS} ${LIBS1} ${LIBS2} ${LIBS3} ${LIBS4} clean: /bin/rm -f *.o *.mod $(CMD)