#!/bin/ksh ####################################################### # script for selection of hirlam fields for uerra # use grib-api 1.15.0 or higher! ####################################################### set -x #+++++++++++++++++++++++++++++++++++++++++++ # change only this part of script # setup inpdir=/tmp/marm/uerra/hirlam/orig # hirlam input files bin=. # where this script and rules' files for grib_filter are out1=grib1 # output dir for uerra fields selected from hirlam input files levels="sfc pl ml hl" # which levels to do #+++++++++++++++++++++++++++++++++++++++++++ select=1 module swap grib_api/1.15.0 # use default version tableVer=16 for level in $levels ; do if [[ "$level" == "ml" ]] ; then ftypes="ba" elif [[ "$level" == "hl" ]] ; then ftypes="fp" else ftypes="fp sfx ba" fi for ftype in $ftypes ; do if [[ "$level" == "sfc" ]] ; then frules=rulez.hirlam.convert.sl.batch@ else frules=rulez.hirlam.convert.vl.batch@ fi if [[ "$ftype" == "ba" ]] ; then ls $inpdir/ba*+000grib > ${id}flist else ls $inpdir/*+0[0-9][1-9]grib_fp > ${id}flist fi cat ${id}flist sed "s|@select@|$select|g ; s|@convert@|$convert|g ; s|@out1@|$out1|g ; s|@out2@|$out2|g ;\ s|@fileType@|$ftype|g ; s|@out@|$out|g ; s|@tableVer@|$tableVer|g" $bin/$frules > ${id}rules.batch cat ${id}rules.batch for f in $(cat ${id}flist) ; do grib_info grib_filter ${id}rules.batch $f done done done #rm -f ${id}flist ${id}glist ${id}rules.batch ${id}mars.batch #rm -f *.grib2