SHELL=/bin/sh # This makefile is to create Post flat file from available and control XML file # Currently support GFS, GFS GOES, GFS ANL, NMM, and NGAC # See documentation EMC POST Performance Improvement Upgrade for information # 2015/04 Lin Gan : First version # 2015/10 Lin Gan : Add HRRR and RAP # 2016/03 Lin Gan : Add GEFS and new control section tag using GEFS ctrl and GFS avail file # Target flat file GFSFLATFILENAME = postxconfig-NT-GFS.txt GFSGOESFLATFILENAME = postxconfig-NT-GFS-GOES.txt GFSANLFLATFILENAME = postxconfig-NT-GFS-ANL.txt GFSF00FLATFILENAME = postxconfig-NT-GFS-F00.txt GFSFLUXFLATFILENAME = postxconfig-NT-GFS-FLUX.txt GFSFLUXF00FLATFILENAME = postxconfig-NT-GFS-FLUX-F00.txt NMMFLATFILENAME = postxconfig-NT-NMM.txt NGACFLATFILENAME = postxconfig-NT-NGAC.txt #HRRRFLATFILENAME = postxconfig-NT-HRRR.txt GEFSFLATFILENAME = postxconfig-NT-GEFS.txt GEFSANLFLATFILENAME = postxconfig-NT-GEFS-ANL.txt GEFSF00FLATFILENAME = postxconfig-NT-GEFS-F00.txt FV3SARFLATFILENAME = postxconfig-NT-fv3sar.txt HAFSFLATFILENAME = postxconfig-NT-hafs.txt GFSTWOFLATFILENAME = postxconfig-NT-GFS-TWO.txt GFSTWOF00FLATFILENAME = postxconfig-NT-GFS-F00-TWO.txt # Source Post XML file GFSAVAILXMLFILENAME = post_avblflds.xml GFSCTRLFILENAME = postcntrl_gfs.xml GFSGOESCTRLFILENAME = postcntrl_gfs_goes.xml GFSANLCTRLFILENAME = postcntrl_gfs_anl.xml GFSCTRLF00FILENAME = postcntrl_gfs_f00.xml GFSCTRLFLUXFILENAME = postcntrl_gfs_flux.xml GFSCTRLFLUXF00FILENAME = postcntrl_gfs_flux_f00.xml NMMAVAILXMLFILENAME = nam_post_avblflds.xml NMMCTRLFILENAME = nam_cntrl_cmaq.xml NGACAVAILXMLFILENAME = ngac_post_avblflds.xml NGACCTRLFILENAME = ngac_postcntrl.xml #HRRRAVAILXMLFILENAME = hrrr_post_avblflds.xml #HRRRCTRLFILENAME = hrrr_postcntrl.xml GEFSAVAILXMLFILENAME = post_avblflds.xml GEFSCTRLFILENAME = postcntrl_gefs.xml GEFSANLCTRLFILENAME = postcntrl_gefs_anl.xml GEFSCTRLF00FILENAME = postcntrl_gefs_f00.xml FV3SARAVAILXMLFILENAME = fv3sar_post_avblflds.xml FV3SARCTRLFILENAME = fv3sar.xml HAFSCTRLFILENAME = hafs.xml GFSTWOCTRLFILENAME = postcntrl_gfs_two.xml GFSTWOF00CTRLFILENAME = postcntrl_gfs_f00_two.xml # Post flat file generator PERLXML = PostXMLPreprocessor.pl # CMD with param PERLXMLGFS = /usr/bin/perl $(PERLXML) $(GFSCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSFLATFILENAME) PERLXMLGFSGOES = /usr/bin/perl $(PERLXML) $(GFSGOESCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSGOESFLATFILENAME) PERLXMLGFSANL = /usr/bin/perl $(PERLXML) $(GFSANLCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSANLFLATFILENAME) PERLXMLGFSF00 = /usr/bin/perl $(PERLXML) $(GFSCTRLF00FILENAME) $(GFSAVAILXMLFILENAME) $(GFSF00FLATFILENAME) PERLXMLGFSFLUX = /usr/bin/perl $(PERLXML) $(GFSCTRLFLUXFILENAME) $(GFSAVAILXMLFILENAME) $(GFSFLUXFLATFILENAME) PERLXMLGFSFLUXF00 = /usr/bin/perl $(PERLXML) $(GFSCTRLFLUXF00FILENAME) $(GFSAVAILXMLFILENAME) $(GFSFLUXF00FLATFILENAME) PERLXMLNMM = /usr/bin/perl $(PERLXML) $(NMMCTRLFILENAME) $(NMMAVAILXMLFILENAME) $(NMMFLATFILENAME) PERLXMLNGAC = /usr/bin/perl $(PERLXML) $(NGACCTRLFILENAME) $(NGACAVAILXMLFILENAME) $(NGACFLATFILENAME) #PERLXMLHRRR = /usr/bin/perl $(PERLXML) $(HRRRCTRLFILENAME) $(HRRRAVAILXMLFILENAME) $(HRRRFLATFILENAME) PERLXMLGEFS = /usr/bin/perl $(PERLXML) $(GEFSCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GEFSFLATFILENAME) PERLXMLGEFSANL = /usr/bin/perl $(PERLXML) $(GEFSANLCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GEFSANLFLATFILENAME) PERLXMLGEFSF00 = /usr/bin/perl $(PERLXML) $(GEFSCTRLF00FILENAME) $(GFSAVAILXMLFILENAME) $(GEFSF00FLATFILENAME) PERLXMLFV3SAR = /usr/bin/perl $(PERLXML) $(FV3SARCTRLFILENAME) $(FV3SARAVAILXMLFILENAME) $(FV3SARFLATFILENAME) PERLXMLHAFS = /usr/bin/perl $(PERLXML) $(HAFSCTRLFILENAME) $(FV3SARAVAILXMLFILENAME) $(HAFSFLATFILENAME) PERLXMLGFSTWO = /usr/bin/perl $(PERLXML) $(GFSTWOCTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSTWOFLATFILENAME) PERLXMLGFSTWOF00 = /usr/bin/perl $(PERLXML) $(GFSTWOF00CTRLFILENAME) $(GFSAVAILXMLFILENAME) $(GFSTWOF00FLATFILENAME) # File to look for change GFSXMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLFILENAME) GFSGOESXMLS = $(GFSAVAILXMLFILENAME) $(GFSGOESCTRLFILENAME) GFSANLXMLS = $(GFSAVAILXMLFILENAME) $(GFSANLCTRLFILENAME) GFSF00XMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLF00FILENAME) GFSFLUXXMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLFLUXFILENAME) GFSFLUXF00XMLS = $(GFSAVAILXMLFILENAME) $(GFSCTRLFLUXF00FILENAME) NMMXMLS = $(NMMAVAILXMLFILENAME) $(NMMCTRLFILENAME) NGACXMLS = $(NGACAVAILXMLFILENAME) $(NGACCTRLFILENAME) #HRRRXMLS = $(HRRRAVAILXMLFILENAME) $(HRRRCTRLFILENAME) GEFSXMLS = $(GFSAVAILXMLFILENAME) $(GEFSCTRLFILENAME) GEFSANLXMLS = $(GFSAVAILXMLFILENAME) $(GEFSANLCTRLFILENAME) GEFSF00XMLS = $(GFSAVAILXMLFILENAME) $(GEFSCTRLF00FILENAME) FV3SARXMLS = $(FV3SARAVAILXMLFILENAME) $(FV3SARCTRLFILENAME) HAFSXMLS = $(FV3SARAVAILXMLFILENAME) $(HAFSCTRLFILENAME) GFSTWOXMLS = $(GFSAVAILXMLFILENAME) $(GFSTWOCTRLFILENAME) GFSTWOF00XMLS = $(GFSAVAILXMLFILENAME) $(GFSTWOF00CTRLFILENAME) # If action is triggered; run the following all: $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(GFSFLUXFLATFILENAME) $(GFSFLUXF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3SARFLATFILENAME) $(HAFSFLATFILENAME) $(GFSTWOFLATFILENAME) $(GFSTWOF00FLATFILENAME) $(GFSFLATFILENAME): $(GFSXMLS) $(PERLXMLGFS) $(GFSGOESFLATFILENAME): $(GFSGOESXMLS) $(PERLXMLGFSGOES) $(GFSANLFLATFILENAME): $(GFSANLXMLS) $(PERLXMLGFSANL) $(GFSF00FLATFILENAME): $(GFSF00XMLS) $(PERLXMLGFSF00) $(GFSFLUXFLATFILENAME): $(GFSFLUXXMLS) $(PERLXMLGFSFLUX) $(GFSFLUXF00FLATFILENAME): $(GFSFLUXF00XMLS) $(PERLXMLGFSFLUXF00) $(NMMFLATFILENAME): $(NMMXMLS) $(PERLXMLNMM) $(NGACFLATFILENAME): $(NGACXMLS) $(PERLXMLNGAC) $(GEFSFLATFILENAME): $(GEFSXMLS) $(PERLXMLGEFS) $(GEFSANLFLATFILENAME): $(GEFSANLXMLS) $(PERLXMLGEFSANL) $(GEFSF00FLATFILENAME): $(GEFSF00XMLS) $(PERLXMLGEFSF00) $(FV3SARFLATFILENAME): $(FV3SARXMLS) $(PERLXMLFV3SAR) $(HAFSFLATFILENAME): $(HAFSXMLS) $(PERLXMLHAFS) $(GFSTWOFLATFILENAME): $(GFSTWOXMLS) $(PERLXMLGFSTWO) $(GFSTWOF00FLATFILENAME): $(GFSTWOF00XMLS) $(PERLXMLGFSTWOF00) # Make clean clean: @echo @echo '==== CLEAN ===================================================' /bin/rm -f $(GFSFLATFILENAME) $(GFSGOESFLATFILENAME) $(GFSANLFLATFILENAME) $(GFSF00FLATFILENAME) $(NMMFLATFILENAME) $(NGACFLATFILENAME) $(GEFSFLATFILENAME) $(GEFSANLFLATFILENAME) $(GEFSF00FLATFILENAME) $(FV3SARFLATFILENAME) $(HAFSFLATFILENAME) $(GFSTWOFLATFILENAME) $(GFSTWOF00FLATFILENAME)