diff --git a/FV3GFSwfm/rt_ccpp-chem/config.base b/FV3GFSwfm/rt_ccpp-chem/config.base index 09add67ef6..c284439a1b 100644 --- a/FV3GFSwfm/rt_ccpp-chem/config.base +++ b/FV3GFSwfm/rt_ccpp-chem/config.base @@ -108,10 +108,11 @@ if [[ "$CDATE" -ge "2019092100" && "$CDATE" -le "2019110700" ]]; then export DUMP_SUFFIX="p" # Use dumps from NCO GFS v15.3 parallel fi export RUNDIR="$STMP/RUNDIRS/$PSLOT" +export RUNDIR1="/scratch1/BMC/gsd-fv3/NCEPDEV/stmp3/rtfim/RUNDIRS/rt_fv3gfs_chem" export DATAROOT="$RUNDIR/$CDATE/$CDUMP" export ARCDIR="$NOSCRUB/archive/$PSLOT" export ICSDIR="/scratch1/BMC/gsd-fv3/rtruns/CCPP-Chem/FV3ICS" -export ATARDIR="/BMC/$HPSS_PROJECT/2year/rt-CCPP-Chem" +export ATARDIR="/BMC/$HPSS_PROJECT/2year/rt_CCPP-Chem" # Commonly defined parameters in JJOBS export envir=${envir:-"prod"} diff --git a/FV3GFSwfm/rt_ccpp-chem/rt_ccpp-chem.xml b/FV3GFSwfm/rt_ccpp-chem/rt_ccpp-chem.xml index 5a139b72b0..fc18cb0060 100644 --- a/FV3GFSwfm/rt_ccpp-chem/rt_ccpp-chem.xml +++ b/FV3GFSwfm/rt_ccpp-chem/rt_ccpp-chem.xml @@ -30,10 +30,14 @@ - + + + + - + + @@ -71,7 +75,7 @@ - 1:ppn=4:tpp=1"> + 1:ppn=24:tpp=1"> @@ -140,10 +144,14 @@ CDUMP&CDUMP; ICSDIR&ICSDIR; PUBDIR&PUBDIR; + RETRODIR&RETRODIR; GDASDIR&GDASDIR; ROTDIR&ROTDIR; - @Y@m@d@H@M00 + + @Y@m@d@H@M00 + &GDASDIR;/@y@j0000.gdas.t00z.atmanl.nemsio + @@ -173,11 +181,19 @@ ROTDIR&ROTDIR; - - &PUBDIR;/@y@j@H00.&CDUMP;.t@Hz.atmanl.nemsio - &PUBDIR;/@y@j@H00.&CDUMP;.t@Hz.sfcanl.nemsio - &ICSDIR;/@Y@m@d@H/&CDUMP;/gdas_available - + + + + &PUBDIR;/@y@j@H00.gfs.t@Hz.atmanl.nemsio + &PUBDIR;/@y@j@H00.gfs.t@Hz.sfcanl.nemsio + + + &RETRODIR;/@y@j@H00.gfs.t@Hz.atmanl.nemsio + &RETRODIR;/@y@j@H00.gfs.t@Hz.sfcanl.nemsio + + + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/gdas_available + @@ -207,10 +223,16 @@ - - &ICSDIR;/@Y@m@d@H/&CDUMP;/&CASE;/INPUT/gfs_data.tile6.nc - &ICSDIR;/@Y@m@d@H/&CDUMP;/&CASE;/INPUT/sfc_data.tile6.nc - + + + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/&CDUMP;.t@Hz.atmanl.nemsio + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/&CDUMP;.t@Hz.sfcanl.nemsio + + + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/siganl.&CDUMP;.@Y@m@d@H + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/sfcanl.&CDUMP;.@Y@m@d@H + + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CASE;/INPUT/gfs_data.tile6.nc @@ -250,13 +272,13 @@ - &ICSDIR;/@Y@m@d@H/&CDUMP;/gdas.t@Hz.atmanl.nemsio + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/gdas.t@Hz.atmanl.nemsio &ROTDIR;/&CDUMP;.@Y@m@d/@H/&CDUMP;.t@Hz.atmf000.nemsio - &ICSDIR;/@Y@m@d@H/&CDUMP;/gdas.t@Hz.atmanl.nemsio - &ICSDIR;/@Y@m@d@H/&CDUMP;/siganl.&CDUMP;.@Y@m@d@H - &ICSDIR;/@Y@m@d@H/&CDUMP;/sfcanl.&CDUMP;.@Y@m@d@H + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/gdas.t@Hz.atmanl.nemsio + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/siganl.&CDUMP;.@Y@m@d@H + &ICSDIR;/@Y@m@d@H/&CDUMP;/&CDUMP;.@Y@m@d/@H/sfcanl.&CDUMP;.@Y@m@d@H &ROTDIR;/&CDUMP;.@Y@m@d/@H/&CDUMP;.t@Hz.atmf000.nemsio @@ -287,7 +309,8 @@ cyc@H - &RUNDIR;/@Y@m@d@H/&CDUMP;/regrid/atmanl.@Y@m@d@H + + &RUNDIR1;/@Y@m@d@H/&CDUMP;/regrid/atmanl.@Y@m@d@H &ROTDIR;/&CDUMP;.@Y@m@d/@H/&CDUMP;.t@Hz.atmf024.nemsio diff --git a/jobs/rocoto/calcinc.sh b/jobs/rocoto/calcinc.sh index a1f1b2a68e..1a9230e5f7 100755 --- a/jobs/rocoto/calcinc.sh +++ b/jobs/rocoto/calcinc.sh @@ -48,9 +48,6 @@ export DATA="$RUNDIR/$CDATE/$CDUMP" [[ ! -d $DATA ]] && mkdir -p $DATA cd $DATA - -#ln -sf /scratch1/BMC/gsd-fv3/NCEPDEV/stmp3/rtfim/RUNDIRS/rt_fv3gfs_chem/$CDATE/$CDUMP/regrid regrid #lzhang -ln -sf $RUNDIR1/$CDATE/$CDUMP/regrid regrid #lzhang mkdir -p calcinc cd calcinc diff --git a/jobs/rocoto/calcinc.sh-org b/jobs/rocoto/calcinc.sh_rt similarity index 95% rename from jobs/rocoto/calcinc.sh-org rename to jobs/rocoto/calcinc.sh_rt index a1f1b2a68e..45f8b41884 100755 --- a/jobs/rocoto/calcinc.sh-org +++ b/jobs/rocoto/calcinc.sh_rt @@ -49,7 +49,6 @@ export DATA="$RUNDIR/$CDATE/$CDUMP" cd $DATA -#ln -sf /scratch1/BMC/gsd-fv3/NCEPDEV/stmp3/rtfim/RUNDIRS/rt_fv3gfs_chem/$CDATE/$CDUMP/regrid regrid #lzhang ln -sf $RUNDIR1/$CDATE/$CDUMP/regrid regrid #lzhang mkdir -p calcinc cd calcinc diff --git a/jobs/rocoto/checkgdas.sh b/jobs/rocoto/checkgdas.sh new file mode 100755 index 0000000000..be11f0e077 --- /dev/null +++ b/jobs/rocoto/checkgdas.sh @@ -0,0 +1,110 @@ +#!/bin/bash + +## this script checks to see if GDAS atmanal file exists on $GDASDIR +## [/scratch2/BMC/public/data/grids/gdas/bufr] +## and creates gdas_available file under $ICSDIR/${CDATE}/${CDUMP}/$CDUMP.$yyyymmdd/$hh +## +## if file is missing from $GDASDIR, pulls file from mass store +## + +############################################################### +## Abstract: +## Get GFS intitial conditions +## RUN_ENVIR : runtime environment (emc | nco) +## HOMEgfs : /full/path/to/workflow +## EXPDIR : /full/path/to/config/files +## CDATE : current date (YYYYMMDDHH) +## CDUMP : cycle name (gdas / gfs) +## PDY : current date (YYYYMMDD) +## cyc : current cycle (HH) +############################################################### + +############################################################### +# Source FV3GFS workflow modules +. $HOMEgfs/ush/load_fv3gfs_modules.sh +status=$? +[[ $status -ne 0 ]] && exit $status + +############################################################### +# Source relevant configs +configs="base" +for config in $configs; do + . $EXPDIR/config.${config} + status=$? + [[ $status -ne 0 ]] && exit $status +done + + +############################################################### +# Set script and dependency variablesyyyymmdd=`echo $CDATE | cut -c1-8` +yyyymmdd=$(echo $CDATE | cut -c1-8) +hh=$(echo $CDATE | cut -c9-10) +yyyy=$(echo $CDATE | cut -c1-4) +mm=$(echo $CDATE | cut -c5-6) +dd=$(echo $CDATE | cut -c7-8) +yyddd=$(date +%y%j -u -d $yyyymmdd) + + +echo +echo "CDATE = $CDATE" +echo "CDUMP = $CDUMP" +echo "ICSDIR = $ICSDIR" +echo "PUBDIR = $PUBDIR" +echo "RETROGDAS = $RETROGDAS" +echo "GDASDIR = $GDASDIR" +echo "ROTDIR = $ROTDIR" +echo "PSLOT = $PSLOT" +echo + +## initialize +fv3ic_dir=$ICSDIR/${CDATE}/${CDUMP}/$CDUMP.$yyyymmdd/$hh + +mkdir -p $fv3ic_dir +cd $fv3ic_dir + +echo "YYYYMMDDHH: ${yyyymmdd}${hh}" + +gdasfile=$GDASDIR/${yyddd}${hh}00.gdas.t${hh}z.atmanl.nemsio +ls $gdasfile #ESRL +status=$? +if [[ $status -ne 0 ]]; then + echo "missing $gdasfile on /public; check in $RETROGDAS..." + ls $gdasfile #ESRL + status=$? +elif [[ $status -ne 0 ]]; then + + echo "missing $gdasfile in $RETROGDAS; check on mass store..." + + # Operational archive + # /NCEPPROD/hpssprod/runhistory/rh${yyyy}/${yyyy}${mm}/${yyyy}${mm}${dd}/ + # {$nameprefix}_gfs_prod_gdas.${yyyy}${mm}${dd}_${hh}.gdas_nemsio.tar + # + # where nameprefix=com 00Z 02/26/2020 + # gpfs_dell1_nco_ios_com 12Z 06/12/2019 + # + + HPSSDIR="/NCEPPROD/hpssprod/runhistory/rh${yyyy}/${yyyy}${mm}/${yyyy}${mm}${dd}" + gdasfile="${HPSSDIR}/com_gfs_prod_gdas.${yyyy}${mm}${dd}_${hh}.gdas_nemsio.tar" + hsi -q list $gdasfile + status=$? + if [[ $status -ne 0 ]]; then + ### 12Z 12Jun2019 -- FV3GFS operational + echo "missing $gdasfile on mass store...; try gpfs_dell1 filename!" + gdasfile=${HPSSDIR}/gpfs_dell1_nco_ops_com_gfs_prod_gdas.${yyyy}${mm}${dd}_${hh}.gdas_nemsio.tar + hsi -q list $gdasfile + status=$? + if [[ $status -ne 0 ]]; then + echo "missing $gfsfile on mass store..." + exit 1 + fi + else + cd $fv3ic_dir + htar xvf ${gdasfile} ./gdas.${yyyymmdd}/${hh}/gdas.t${hh}z.atmanl.nemsio + mv gdas.${yyyymmdd}/${hh}/gdas.t${hh}z.atmanl.nemsio ./ + echo removing gdas.${yyyymmdd}/${hh}.... + rmdir gdas.${yyyymmdd}/${hh} gdas.${yyyymmdd} + touch gdas_available + fi +else + touch gdas_available +fi diff --git a/jobs/rocoto/getic_gsd_fv3gfs.sh b/jobs/rocoto/getic_gsd_fv3gfs.sh index e8be17706c..a28ffea2e1 100755 --- a/jobs/rocoto/getic_gsd_fv3gfs.sh +++ b/jobs/rocoto/getic_gsd_fv3gfs.sh @@ -17,6 +17,7 @@ echo "CDUMP = $CDUMP" echo "ICSDIR = $ICSDIR" echo "PUBDIR = $PUBDIR" echo "RETRODIR = $RETRODIR" +echo "GDASDIR = $GDASDIR" echo "ROTDIR = $ROTDIR" echo "PSLOT = $PSLOT" echo @@ -25,7 +26,7 @@ echo yyyymmdd=`echo $CDATE | cut -c1-8` hh=`echo $CDATE | cut -c9-10` yyddd=`date +%y%j -u -d $yyyymmdd` -fv3ic_dir=$ICSDIR/${CDATE}/${CDUMP} +fv3ic_dir=$ICSDIR/${CDATE}/${CDUMP}/$CDUMP.$yyyymmdd/$hh ## EMC archive on disk ## /scratch1/NCEPDEV/rstprod/com/gfs/prod @@ -63,3 +64,14 @@ else echo "missing input files!" exit 1 fi + +echo "YYYYMMDDHH: ${yyyymmdd}${hh}" +gdasfile=$GDASDIR/${yyddd}${hh}00.gdas.t${hh}z.atmanl.nemsio + +if [[ -f $gdasfile ]] +then + ln -fs $gdasfile gdas.t${hh}z.atmanl.nemsio +fi + +echo $GDASDIR +echo $gdasfile diff --git a/jobs/rocoto/getic_gsd_gfs.sh b/jobs/rocoto/getic_gsd_gfs.sh index 6e30efc364..4320ead668 100755 --- a/jobs/rocoto/getic_gsd_gfs.sh +++ b/jobs/rocoto/getic_gsd_gfs.sh @@ -13,6 +13,7 @@ echo "CDUMP = $CDUMP" echo "ICSDIR = $ICSDIR" echo "PUBDIR = $PUBDIR" echo "RETRODIR = $RETRODIR" +echo "GDASDIR = $GDASDIR" echo "ROTDIR = $ROTDIR" echo "PSLOT = $PSLOT" echo @@ -21,7 +22,7 @@ echo yyyymmdd=`echo $CDATE | cut -c1-8` hh=`echo $CDATE | cut -c9-10` yyddd=`date +%y%j -u -d $yyyymmdd` -fv3ic_dir=$ICSDIR/${CDATE}/${CDUMP} +fv3ic_dir=$ICSDIR/${CDATE}/${CDUMP}/$CDUMP.$yyyymmdd/$hh ## create links in FV3ICS directory mkdir -p $fv3ic_dir @@ -46,3 +47,14 @@ else fi fi fi + +echo "YYYYMMDDHH: ${yyyymmdd}${hh}" +gdasfile=$GDASDIR/${yyddd}${hh}00.gdas.t${hh}z.atmanl.nemsio + +if [[ -f $gdasfile ]] +then + ln -fs $gdasfile gdas.t${hh}z.atmanl.nemsio +fi + +echo $GDASDIR +echo $gdasfile diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index d1c6c026b3..10fa96930e 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -85,7 +85,7 @@ export NCP="/bin/cp -p" export NMV="/bin/mv" export NLN="/bin/ln -sf" export VERBOSE="YES" -export KEEPDATA="NO" +export KEEPDATA="YES" export CHGRP_CMD="chgrp rstprod" export NEMSIOGET="$HOMEgfs/exec/nemsio_get" export NCDUMP="$NETCDF/bin/ncdump"