#! /bin/ksh --login # #Request _NPROCUNGRIB_ cores #PBS -l procs=_NPROCUNGRIB_ ## ## -- Specify a maximum wallclock #PBS -l walltime=0:06:00 ## ## -- Specify under which account a job should run #PBS -A rm ## ## -- Set the name of the job, or moab will default to STDIN #PBS -N UNGRIB # ## change directory to the working directory of the job ## Use the if clause so that this script stays portable ## # #if [ x$PBS_O_WORKDIR != x ]; then # cd $PBS_O_WORKDIR #fi # np=$PBS_NP DATE=_YSTARTMSTARTDSTART_ CYC=_HSTART_ flen=_FLEN_ GRIB=_GRIBSRC_ PACKDIR=_PACKDIR_ WORKDIR=_WORKDIR_ mkdir -p $WORKDIR/ungrib cd $WORKDIR/ungrib rm $WORKDIR/ungrib/* rm $WORKDIR/* ###################################################### cp $PACKDIR/namelist.nps . echo PASSED IN GRIB AS $GRIB if [ $GRIB == "GFS" ] then ### GFS block mod=gfs type=pgrbf suf=" " cp $PACKDIR/NPS/ungrib/Variable_Tables/Vtable.GFS Vtable elif [ $GRIB == "NAM" ] then ### NAM block mod=nam type=awip32 suf=".tm00" cp $PACKDIR/NPS/ungrib/Variable_Tables/Vtable.NAM Vtable elif [ $GRIB == "RUC" ] then ### RUC block mod=ruc2 type=pgrb20f suf=" " cp $PACKDIR/NPS/ungrib/Variable_Tables/Vtable.RUCp Vtable else echo "GRIB is $GRIB and quitting" fi #################################### cp $PACKDIR/NPS/ungribp.exe . echo DATE $DATE echo CYC $CYC rm GRIBFILE.* if [ $GRIB == "RUC" ] then filedir=/com_p6/ruc/prod/ruc2a.${DATE} else filedir=/com_p6/${mod}/prod/${mod}.${DATE} filedir=/scratch2/portfolios/NCEPDEV/rstprod/com/${mod}/prod/${mod}.${DATE} fi if [ $GRIB == "RUC" ] then ln -sf $filedir/${mod}.t${CYC}z.pgrb20anl GRIBFILE.001 else ln -sf $filedir/${mod}.t${CYC}z.${type}00${suf} GRIBFILE.001 fi ln -sf $filedir/${mod}.t${CYC}z.${type}03${suf} GRIBFILE.002 ln -sf $filedir/${mod}.t${CYC}z.${type}06${suf} GRIBFILE.003 ln -sf $filedir/${mod}.t${CYC}z.${type}09${suf} GRIBFILE.004 ln -sf $filedir/${mod}.t${CYC}z.${type}12${suf} GRIBFILE.005 ln -sf $filedir/${mod}.t${CYC}z.${type}15${suf} GRIBFILE.006 if [ $GRIB != "RUC" ] then ln -sf $filedir/${mod}.t${CYC}z.${type}18${suf} GRIBFILE.007 ln -sf $filedir/${mod}.t${CYC}z.${type}21${suf} GRIBFILE.008 ln -sf $filedir/${mod}.t${CYC}z.${type}24${suf} GRIBFILE.009 echo flen is $flen if [ $flen -ge 27 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}27${suf} GRIBFILE.010 fi if [ $flen -ge 30 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}30${suf} GRIBFILE.011 fi if [ $flen -ge 33 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}33${suf} GRIBFILE.012 fi if [ $flen -ge 36 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}36${suf} GRIBFILE.013 fi if [ $flen -ge 39 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}39${suf} GRIBFILE.014 fi if [ $flen -ge 42 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}42${suf} GRIBFILE.015 fi if [ $flen -ge 45 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}45${suf} GRIBFILE.016 fi if [ $flen -ge 48 ] then echo LINKED 48 ln -sf $filedir/${mod}.t${CYC}z.${type}48${suf} GRIBFILE.017 fi if [ $flen -ge 51 ] then echo LINKED 51 ln -sf $filedir/${mod}.t${CYC}z.${type}51${suf} GRIBFILE.018 fi if [ $flen -ge 54 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}54${suf} GRIBFILE.019 fi if [ $flen -ge 57 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}57${suf} GRIBFILE.020 fi if [ $flen -ge 60 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}60${suf} GRIBFILE.021 fi if [ $flen -ge 63 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}63${suf} GRIBFILE.022 fi if [ $flen -ge 66 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}66${suf} GRIBFILE.023 fi if [ $flen -ge 69 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}69${suf} GRIBFILE.024 fi if [ $flen -ge 72 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}72${suf} GRIBFILE.025 fi if [ $flen -ge 75 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}75${suf} GRIBFILE.026 fi if [ $flen -ge 78 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}78${suf} GRIBFILE.027 fi if [ $flen -ge 81 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}81${suf} GRIBFILE.028 fi if [ $flen -ge 84 ] then ln -sf $filedir/${mod}.t${CYC}z.${type}84${suf} GRIBFILE.029 fi if [ $flen -ge 87 ] then echo NEED TO LINK MORE GRIB FILES IN run_ungrib.ll exit 9 fi fi diff $PACKDIR/NPS/ungrib/Variable_Tables/Vtable.GFS $PACKDIR/NPS/ungrib/Variable_Tables/Vtable.GFS_spectral > /dev/null 2>&1 is_spectral=$? echo is_spectral is $is_spectral if [ $is_spectral = 0 ] then echo using wrong ungrib version exit ln -sf $filedir/gfs.t${CYC}z.sf00 fort.27 ln -sf $filedir/gfs.t${CYC}z.sf03 fort.28 ln -sf $filedir/gfs.t${CYC}z.sf06 fort.29 ln -sf $filedir/gfs.t${CYC}z.sf09 fort.30 ln -sf $filedir/gfs.t${CYC}z.sf12 fort.31 ln -sf $filedir/gfs.t${CYC}z.sf15 fort.32 ln -sf $filedir/gfs.t${CYC}z.sf18 fort.33 ln -sf $filedir/gfs.t${CYC}z.sf21 fort.34 ln -sf $filedir/gfs.t${CYC}z.sf24 fort.35 ln -sf $filedir/gfs.t${CYC}z.sf27 fort.36 ln -sf $filedir/gfs.t${CYC}z.sf30 fort.37 ln -sf $filedir/gfs.t${CYC}z.sf33 fort.38 ln -sf $filedir/gfs.t${CYC}z.sf36 fort.39 ln -sf $filedir/gfs.t${CYC}z.sf39 fort.40 ln -sf $filedir/gfs.t${CYC}z.sf42 fort.41 ln -sf $filedir/gfs.t${CYC}z.sf45 fort.42 ln -sf $filedir/gfs.t${CYC}z.sf48 fort.43 ln -sf $filedir/gfs.t${CYC}z.sf51 fort.44 ln -sf $filedir/gfs.t${CYC}z.sf54 fort.45 ln -sf $filedir/gfs.t${CYC}z.sf57 fort.46 ln -sf $filedir/gfs.t${CYC}z.sf60 fort.47 ln -sf $filedir/gfs.t${CYC}z.sf63 fort.48 ln -sf $filedir/gfs.t${CYC}z.sf66 fort.49 ln -sf $filedir/gfs.t${CYC}z.sf69 fort.50 ln -sf $filedir/gfs.t${CYC}z.sf72 fort.51 ln -sf $filedir/gfs.t${CYC}z.sf75 fort.52 ln -sf $filedir/gfs.t${CYC}z.sf78 fort.53 ln -sf $filedir/gfs.t${CYC}z.sf81 fort.54 ln -sf $filedir/gfs.t${CYC}z.sf84 fort.55 fi mpiexec_mpt -np $np ./ungribp.exe cp FILE* ../ cd $PACKDIR qsub run_geo.lsf