diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..d9a042c6c --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +# Ignore all compiled files +*.pyc +*.o +*.mod + +# Ignore exec folder +exec/ + +# Ignore sorc folders from externals +sorc/logs/ +sorc/fv3gfs.fd/ +sorc/gfs_post.fd/ +sorc/gsi.fd/ +sorc/ufs_utils.fd/ +sorc/gfs_wafs.fd/ +sorc/verif-global.fd/ diff --git a/Externals.cfg b/Externals.cfg new file mode 100644 index 000000000..ccb0de6cf --- /dev/null +++ b/Externals.cfg @@ -0,0 +1,46 @@ +# External sub-modules of global-workflow + +[NEMSfv3gfs] +tag = gfs.v16_PhysicsUpdate +local_path = sorc/fv3gfs.fd +repo_url = ssh://vlab.ncep.noaa.gov:29418/NEMSfv3gfs +protocol = git +required = True + +[GSI] +hash = cb8f69d8 +local_path = sorc/gsi.fd +repo_url = ssh://vlab.ncep.noaa.gov:29418/ProdGSI +protocol = git +required = True + +[EMC_post] +hash = ba7e59b2 +local_path = sorc/gfs_post.fd +repo_url = https://github.com/NOAA-EMC/EMC_post.git +protocol = git +required = True + +[UFS_UTILS] +tag = v1.1.0 +local_path = sorc/ufs_utils.fd +repo_url = https://github.com/NOAA-EMC/UFS_UTILS.git +protocol = git +required = True + +[EMC_verif-global] +tag = verif_global_v1.5.0 +local_path = sorc/verif-global.fd +repo_url = https://github.com/NOAA-EMC/EMC_verif-global.git +protocol = git +required = True + +[EMC_gfs_wafs] +tag = gfs_wafs.v5.0.11 +local_path = sorc/gfs_wafs.fd +repo_url = https://github.com/NOAA-EMC/EMC_gfs_wafs.git +protocol = git +required = False + +[externals_description] +schema_version = 1.0.0 diff --git a/README.md b/README.md new file mode 100644 index 000000000..3fac2751a --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# global-workflow +Global Superstructure/Workflow currently supporting the Finite-Volume on a Cubed-Sphere Global Forecast System (FV3GFS) + +The global-workflow depends on the following prerequisities to be available on the system: + +* workload management platform / scheduler - LSF or SLURM +* workflow manager - ROCOTO (https://github.com/christopherwharrop/rocoto) +* modules - NCEPLIBS (various), esmf v8.0.0bs48, hdf5, intel/ips v18, impi v18, wgrib2, netcdf v4.7.0, hpss, gempak (see module files under /modulefiles for additional details) +* manage_externals - A utility from ESMCI to checkout external dependencies. Manage_externals can be obtained at the following address and should be in the users PATH: https://github.com/ESMCI/manage_externals + +The global-workflow current supports the following machines: + +* WCOSS-Dell +* WCOSS-Cray +* Hera + +## Build global-workflow: + +### 1. Check out components + +The global-workflow uses the manage_externals utility to handle checking out its components. The manic-v1.1.8 manage_externals tag is supported. The manage_externals utility will be replacing the current checkout.sh script. + +Run manage_externals (checkout_externals) while at top of clone: + +``` +$ checkout_externals -e Externals.cfg +``` + +If checkout_externals is not in your $PATH then use full path to it: + +* WCOSS-Dell: /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/manage_externals/manic-v1.1.8/checkout_externals +* WCOSS-Cray: /gpfs/hps3/emc/global/noscrub/emc.glopara/git/manage_externals/manic-v1.1.8/checkout_externals +* Hera: /scratch1/NCEPDEV/global/glopara/git/manage_externals/manic-v1.1.8/checkout_externals + +### 2. Build components + +While in /sorc folder: +``` +$ sh build_all.sh +``` + +### 3. Link components + +While in /sorc folder: +``` +$ sh link_fv3gfs.sh emc $MACHINE +``` + +...where $MACHINE is "dell", "cray", or "hera". diff --git a/docs/doxygen/compile b/docs/doxygen/compile index 9acc27cf5..e5f95b673 100755 --- a/docs/doxygen/compile +++ b/docs/doxygen/compile @@ -3,8 +3,8 @@ machine=${1:-${machine:-"WCOSS_C"}} machine=$(echo $machine | tr '[a-z]' '[A-Z]') -if [ $machine = "THEIA" ]; then - doxygen=/scratch3/NCEPDEV/hwrf/save/Samuel.Trahan/doxygen-1.8.10/bin/doxygen +if [ $machine = "HERA" ]; then + doxygen=/usr/bin/doxygen elif [ $machine = "WCOSS_C" ]; then doxygen=/gpfs/hps3/emc/hwrf/noscrub/soft/doxygen-1.8.10/bin/doxygen elif [ $machine = "WCOSS" ]; then diff --git a/docs/doxygen/mainpage.h b/docs/doxygen/mainpage.h index adc5df958..ac26cd861 100644 --- a/docs/doxygen/mainpage.h +++ b/docs/doxygen/mainpage.h @@ -21,7 +21,7 @@ This is a very much a work in progress and any issues should be reported back an To setup an experiment, a python script \c setup_expt.py (located in \c fv3gfs/ush) can be used: $> setup_expt.py -h - usage: setup_expt.py [-h] [--machine {THEIA,WCOSS_C}] --pslot PSLOT + usage: setup_expt.py [-h] [--machine {HERA,WCOSS_C}] --pslot PSLOT [--configdir CONFIGDIR] [--idate IDATE] [--icsdir ICSDIR] [--resdet RESDET] [--resens RESENS] [--comrot COMROT] [--expdir EXPDIR] [--nens NENS] [--cdump CDUMP] diff --git a/docs/note_fixfield.txt b/docs/note_fixfield.txt index 76496c6d3..292947353 100644 --- a/docs/note_fixfield.txt +++ b/docs/note_fixfield.txt @@ -4,7 +4,7 @@ They are saved locally on all platforms Venus/Mars: /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix Surge/Luna: /gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/fix -THEIA: /scratch4/NCEPDEV/global/save/glopara/git/fv3gfs/fix +Hera: /scratch1/NCEPDEV/global/glopara/fix ------------------------------------------------------------------------------ 09/28/2018 diff --git a/driver/gdas/test_jgdas_verfozn_theia.sh b/driver/gdas/test_jgdas_verfozn_theia.sh deleted file mode 100755 index da52cd11d..000000000 --- a/driver/gdas/test_jgdas_verfozn_theia.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/ksh - -#PBS -o gdas_verfozn.log -#PBS -e gdas_verfozn.err -#PBS -N gdas_verfozn -#PBS -A glbss -#PBS -l procs=1,walltime=0:10:00 -#PBS -V - -set -x - -export PDATE=${PDATE:-2017071806} - -############################################################# -# Specify whether the run is production or development -############################################################# -export PDY=`echo $PDATE | cut -c1-8` -export cyc=`echo $PDATE | cut -c9-10` -export job=gdas_verfozn.${cyc} -export pid=${pid:-$$} -export jobid=${job}.${pid} -export envir=para -export DATAROOT=${DATAROOT:-/scratch4/NCEPDEV/da/noscrub/Edward.Safford/ozn_test_data} -export COMROOT=${COMROOT:-/scratch4/NCEPDEV/stmp3/$LOGNAME/com} - - -############################################################# -# Specify versions -############################################################# -export gfs_ver=v15.0.0 - - -############################################################# -# Add nwpara tools to path -############################################################# -NWPROD=${NWPROD:-/scratch4/NCEPDEV/global/save/glopara/nwpara/util} -NWPRODush=${NWPRODush:=${NWPROD}/ush} -NWPRODexec=${NWPRODexec:=${NWPROD}/exec} -export PATH=${PATH}:${NWPRODush}:${NWPRODexec} - -############################################################# -# Set user specific variables -############################################################# - -export OZNMON_SUFFIX=${OZNMON_SUFFIX:-testozn} -export NWTEST=${NWTEST:-/scratch4/NCEPDEV/da/noscrub/${LOGNAME}/gfs.${gfs_ver}} -export HOMEgfs_ozn=${HOMEgfs_ozn:-${NWTEST}} -export JOBGLOBAL=${JOBGLOBAL:-${HOMEgfs_ozn}/jobs} -export HOMEoznmon=${HOMEoznmon:-${NWTEST}} -export COM_IN=${COM_IN:-${DATAROOT}} -export OZN_TANKDIR=${OZN_TANKDIR:-${COMROOT}/${OZNMON_SUFFIX}} - -export SUB=${SUB:-/apps/torque/default/bin/qsub} -export NDATE=${NDATE:-ndate} - - -####################################################################### -# theia specific hacks for no prod_utils module & no setpdy.sh script -####################################################################### -export MY_MACHINE=theia -prevday=`$NDATE -24 $PDATE` -export PDYm1=`echo $prevday | cut -c1-8` -ln -s ${NWPRODush}/startmsg.sh ${COMROOT}/startmsg -ln -s ${NWPRODush}/postmsg.sh ${COMROOT}/postmsg -ln -s ${NWPRODush}/prep_step.sh ${COMROOT}/prep_step -ln -s ${NWPRODush}/err_chk.sh ${COMROOT}/err_chk -export PATH=$PATH:${COMROOT} -export utilscript=${utilscript:-${NWPRODush}} # err_chk calls postmsg.sh - # directly so need to override - # utilscript location for theia -############################################################# -# Execute job -############################################################# -$JOBGLOBAL/JGDAS_VERFOZN - -exit - diff --git a/driver/gdas/test_jgdas_verfrad_theia.sh b/driver/gdas/test_jgdas_verfrad_theia.sh deleted file mode 100755 index 8f0a3cab9..000000000 --- a/driver/gdas/test_jgdas_verfrad_theia.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/ksh - -#PBS -o gdas_verfrad.log -#PBS -e gdas_verfrad.err -#PBS -N gdas_verfrad -#PBS -A glbss -#PBS -l procs=1,walltime=0:10:00 -#PBS -V - -set -x - -export PDATE=${PDATE:-2017020606} - -############################################################# -# Specify whether the run is production or development -############################################################# -export PDY=`echo $PDATE | cut -c1-8` -export cyc=`echo $PDATE | cut -c9-10` -export job=gdas_verfrad.${cyc} -export pid=${pid:-$$} -export jobid=${job}.${pid} -export envir=para -export DATAROOT=${DATAROOT:-/scratch4/NCEPDEV/da/noscrub/Edward.Safford/test_data} -export COMROOT=${COMROOT:-/scratch4/NCEPDEV/stmp3/$LOGNAME/com} -export STMP_USER=${STMP_USER:-/scratch4/NCEPDEV/stmp3/$LOGNAME} - -############################################################# -# Specify versions -############################################################# -export gfs_ver=v15.0.0 - - -############################################################# -# Add nwpara tools to path -############################################################# -NWPROD=${NWPROD:-/scratch4/NCEPDEV/global/save/glopara/nwpara/util} -NWPRODush=${NWPRODush:=${NWPROD}/ush} -NWPRODexec=${NWPRODexec:=${NWPROD}/exec} -export PATH=${PATH}:${NWPRODush}:${NWPRODexec} - -############################################################# -# Set user specific variables -############################################################# - -export RADMON_SUFFIX=${RADMON_SUFFIX:-testrad} -export NWTEST=${NWTEST:-/scratch4/NCEPDEV/da/noscrub/${LOGNAME}/gfs.${gfs_ver}} -export HOMEgfs=${HOMEgfs:-${NWTEST}} -export JOBGLOBAL=${JOBGLOBAL:-${HOMEgfs}/jobs} -export HOMEradmon=${HOMEradmon:-${NWTEST}} -export COM_IN=${COM_IN:-${DATAROOT}} -export TANKverf=${TANKverf:-${COMROOT}/${RADMON_SUFFIX}} - -export SUB=${SUB:-/apps/torque/default/bin/qsub} -export NDATE=${NDATE:-ndate} - - -####################################################################### -# theia specific hacks for no prod_utils module & no setpdy.sh script -####################################################################### -export MY_MACHINE=theia -prevday=`$NDATE -24 $PDATE` -export PDYm1=`echo $prevday | cut -c1-8` -ln -s ${NWPRODush}/startmsg.sh ${STMP_USER}/startmsg -ln -s ${NWPRODush}/postmsg.sh ${STMP_USER}/postmsg -ln -s ${NWPRODush}/prep_step.sh ${STMP_USER}/prep_step -ln -s ${NWPRODush}/err_chk.sh ${STMP_USER}/err_chk -export PATH=$PATH:${STMP_USER} -export utilscript=${utilscript:-${NWPRODush}} # err_chk calls postmsg.sh - # directly so need to override - # utilscript location for theia -############################################################# -# Execute job -############################################################# -$JOBGLOBAL/JGDAS_VERFRAD - -exit - diff --git a/driver/gdas/test_jgdas_vminmon_theia.sh b/driver/gdas/test_jgdas_vminmon_theia.sh deleted file mode 100755 index 750936ef2..000000000 --- a/driver/gdas/test_jgdas_vminmon_theia.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/ksh - -#PBS -o gdas_vminmon.log -#PBS -e gdas_vminmon.err -#PBS -N gdas_vminmon -#PBS -A glbss -#PBS -l procs=1,walltime=0:05:00 -#PBS -V - -set -x - -export PDATE=${PDATE:-2016030706} - -############################################################# -# Specify whether the run is production or development -############################################################# -export PDY=`echo $PDATE | cut -c1-8` -export cyc=`echo $PDATE | cut -c9-10` -export job=gdas_vminmon.${cyc} -export pid=${pid:-$$} -export jobid=${job}.${pid} -export envir=para -export DATAROOT=${DATAROOT:-/scratch4/NCEPDEV/da/noscrub/Edward.Safford/test_data} -export COMROOT=${COMROOT:-/scratch4/NCEPDEV/stmp3/$LOGNAME/com} -export STMP_USER=${STMP_USER:-/scratch4/NCEPDEV/stmp3/$LOGNAME} - -############################################################# -# Specify versions -############################################################# -export gfs_ver=v15.0.0 - - -############################################################# -# Add nwpara tools to path -############################################################# -NWPROD=${NWPROD:-/scratch4/NCEPDEV/global/save/glopara/nwpara/util} -NWPRODush=${NWPRODush:=${NWPROD}/ush} -NWPRODexec=${NWPRODexec:=${NWPROD}/exec} -export PATH=${PATH}:${NWPRODush}:${NWPRODexec} - - -############################################################# -# Set user specific variables -############################################################# -export MINMON_SUFFIX=${MINMON_SUFFIX:-testminmon} -export NWTEST=${NWTEST:-/scratch4/NCEPDEV/da/noscrub/${LOGNAME}/gfs.${gfs_ver}} -export HOMEgfs=${HOMEgfs:-${NWTEST}} -export JOBGLOBAL=${HOMEgfs}/jobs -export HOMEminmon=${HOMEminmon:-${NWTEST}} -export COM_IN=${COM_IN:-${DATAROOT}} -export M_TANKverf=${M_TANKverf:-${COMROOT}/${MINMON_SUFFIX}} - -####################################################################### -# theia specific hacks for no prod_utils module & no setpdy.sh script -####################################################################### -export MY_MACHINE=theia - -export NDATE=/scratch4/NCEPDEV/global/save/glopara/nwpara/util/exec/ndate -prevday=`$NDATE -24 $PDATE` -export PDYm1=`echo $prevday | cut -c1-8` - -ln -s ${NWPRODush}/startmsg.sh ${STMP_USER}/startmsg -ln -s ${NWPRODush}/postmsg.sh ${STMP_USER}/postmsg -ln -s ${NWPRODush}/prep_step.sh ${STMP_USER}/prep_step -ln -s ${NWPRODush}/err_chk.sh ${STMP_USER}/err_chk -export PATH=$PATH:${STMP_USER} -export utilscript=${utilscript:-${NWPRODush}} # err_chk calls postmsg.sh - # directly so need to override - # utilscript location - -############################################################# -# Execute job -############################################################# -$JOBGLOBAL/JGDAS_VMINMON - -exit - diff --git a/driver/gfs/test_jgfs_vminmon_theia.sh b/driver/gfs/test_jgfs_vminmon_theia.sh deleted file mode 100755 index ab8b485d7..000000000 --- a/driver/gfs/test_jgfs_vminmon_theia.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/ksh - -#PBS -o gfs_vminmon.log -#PBS -e gfs_vminmon.err -#PBS -N gfs_vminmon -#PBS -A glbss -#PBS -l procs=1,walltime=0:05:00 -#PBS -V - -set -x - -export PDATE=${PDATE:-2016030718} - -############################################################# -# Specify whether the run is production or development -############################################################# -export PDY=`echo $PDATE | cut -c1-8` -export cyc=`echo $PDATE | cut -c9-10` -export job=gfs_vminmon.${cyc} -export pid=${pid:-$$} -export jobid=${job}.${pid} -export envir=para -export DATAROOT=${DATAROOT:-/scratch4/NCEPDEV/da/noscrub/Edward.Safford/test_data} -export COMROOT=${COMROOT:-/scratch4/NCEPDEV/stmp3/$LOGNAME/com} -export STMP_USER=${STMP_USER:-/scratch4/NCEPDEV/stmp3/$LOGNAME} - -############################################################# -# Specify versions -############################################################# -export gfs_ver=v15.0.0 - - -############################################################# -# Add nwpara tools to path -############################################################# -NWPROD=${NWPROD:-/scratch4/NCEPDEV/global/save/glopara/nwpara/util} -NWPRODush=${NWPRODush:=${NWPROD}/ush} -NWPRODexec=${NWPRODexec:=${NWPROD}/exec} -export PATH=${PATH}:${NWPRODush}:${NWPRODexec} - - -############################################################# -# Set user specific variables -############################################################# -export MINMON_SUFFIX=${MINMON_SUFFIX:-testminmon} -export NWTEST=${NWTEST:-/scratch4/NCEPDEV/da/noscrub/${LOGNAME}/gfs.${gfs_ver}} -export HOMEgfs=${HOMEgfs:-${NWTEST}} -export JOBGLOBAL=${HOMEgfs}/jobs -export HOMEminmon=${HOMEminmon:-${NWTEST}} -export COM_IN=${COM_IN:-${DATAROOT}} -export M_TANKverf=${M_TANKverf:-${COMROOT}/${MINMON_SUFFIX}} - -####################################################################### -# theia specific hacks for no prod_utils module & no setpdy.sh script -####################################################################### -export MY_MACHINE=theia - -export NDATE=/scratch4/NCEPDEV/global/save/glopara/nwpara/util/exec/ndate -prevday=`$NDATE -24 $PDATE` -export PDYm1=`echo $prevday | cut -c1-8` - -ln -s ${NWPRODush}/startmsg.sh ${STMP_USER}/startmsg -ln -s ${NWPRODush}/postmsg.sh ${STMP_USER}/postmsg -ln -s ${NWPRODush}/prep_step.sh ${STMP_USER}/prep_step -ln -s ${NWPRODush}/err_chk.sh ${STMP_USER}/err_chk -export PATH=$PATH:${STMP_USER} -export utilscript=${utilscript:-${NWPRODush}} # err_chk calls postmsg.sh - # directly so need to override - # utilscript location - -############################################################# -# Execute job -############################################################# -$JOBGLOBAL/JGFS_VMINMON - -exit - diff --git a/driver/product/run_postsnd.sh b/driver/product/run_postsnd.sh index 72f7c26eb..bcf34d91e 100755 --- a/driver/product/run_postsnd.sh +++ b/driver/product/run_postsnd.sh @@ -46,7 +46,6 @@ export MP_STDOUTMODE=ordered #export machine="WCOSS_C" machine="WCOSS_DELL_P3" -#machine="THEIA" if [ $machine == "WCOSS_C" ]; then ##For WCOSS-Cray################## export launcher="aprun" diff --git a/driver/product/run_postsnd.sh.cray b/driver/product/run_postsnd.sh.cray index 6679562b1..c1199c918 100755 --- a/driver/product/run_postsnd.sh.cray +++ b/driver/product/run_postsnd.sh.cray @@ -39,7 +39,6 @@ export MP_STDOUTMODE=ordered export machine="WCOSS_C" #machine="WCOSS_DELL_P3" -#machine="THEIA" #machine="JET" export FHMAX_HF_GFS=120 export FHOUT_HF_GFS=1 diff --git a/driver/product/run_postsnd.sh.dell b/driver/product/run_postsnd.sh.dell index e7d3a17d6..189c521c3 100755 --- a/driver/product/run_postsnd.sh.dell +++ b/driver/product/run_postsnd.sh.dell @@ -46,7 +46,6 @@ export MP_STDOUTMODE=ordered #export machine="WCOSS_C" machine="WCOSS_DELL_P3" -#machine="THEIA" #machine="JET" export npe_postsnd=12 export npe_postsndcfp=10 diff --git a/driver/product/run_postsnd.sh.jet b/driver/product/run_postsnd.sh.jet index 0f0365fd9..0a4bc2d03 100755 --- a/driver/product/run_postsnd.sh.jet +++ b/driver/product/run_postsnd.sh.jet @@ -47,7 +47,6 @@ export MP_STDOUTMODE=ordered #export machine="WCOSS_C" #machine="WCOSS_DELL_P3" -#machine="THEIA" machine="JET" export npe_postsnd=12 export npe_postsndcfp=10 diff --git a/driver/product/run_postsnd.sh.theia b/driver/product/run_postsnd.sh.theia deleted file mode 100755 index b0fe4f197..000000000 --- a/driver/product/run_postsnd.sh.theia +++ /dev/null @@ -1,166 +0,0 @@ -#!/bin/ksh -l -#PBS -o /scratch4/NCEPDEV/meso/save/Guang.Ping.Lou/fv3gfs/driver/product/postsnd_00.out19 -#PBS -e /scratch4/NCEPDEV/meso/save/Guang.Ping.Lou/fv3gfs/driver/product/postsnd_00.out19 -#PBS -N postsnd -##PBS -A fv3-cam -#PBS -A fv3-cpu -#PBS -l nodes=6:ppn=3 -#PBS -l walltime=02:30:00 - -############################################ -# Loading module -############################################ -. $MODULESHOME/init/ksh - -# Loading Intel Compiler Suite -module load intel -module load impi - -module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles - -# Loding nceplibs modules -module load sigio/v2.0.1 -module load bacio/v2.0.1 -module load sp/v2.0.2 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load bufr/v10.2.5 -module load nemsio/v2.2.1 -module load gempak/7.4.2 - -######################################## -# Runs GFS BUFR SOUNDINGS -######################################## -set -xa - -export OMP_NUM_THREADS=1 -export KMP_AFFINITY=disabled -export OMP_STACKSIZE=2048m -export MP_LABELIO=yes -export MP_STDOUTMODE=ordered - -#export machine="WCOSS_C" -#machine="WCOSS_DELL_P3" -machine="THEIA" -#machine="JET" -export npe_postsnd=12 -export npe_postsndcfp=10 -if [ $machine == "WCOSS_C" ]; then -##For WCOSS-Cray################## -export FHMAX_HF_GFS=120 -export FHOUT_HF_GFS=1 -export launcher="aprun" -export npe_node_postsnd=3 -export NTHREADS_POSTSND=1 -export npe_node_postsndcfp=3 -export NTHREADS_POSTSNDCFP=1 -export APRUN_POSTSND="$launcher -j 1 -n $npe_postsnd -N $npe_node_postsnd -d $NTHREADS_POSTSND -cc depth" -export APRUN_POSTSNDCFP="$launcher -j 1 -n $npe_postsndcfp -N $npe_node_postsndcfp -d $NTHREADS_POSTSNDCFP cfp" -elif [ $machine == "WCOSS_DELL_P3" ]; then -##For WCOSS-Dell ################ -export FHMAX_HF_GFS=120 -export FHOUT_HF_GFS=1 -export launcher="mpirun -n" -export APRUN_POSTSND="$launcher $npe_postsnd" -export APRUN_POSTSNDCFP="$launcher $npe_postsndcfp" -else -##For Theia, Jet################ -export FHMAX_HF_GFS=120 -export FHOUT_HF_GFS=1 -export launcher="mpirun -np" -export APRUN_POSTSND="$launcher $npe_postsnd" -export APRUN_POSTSNDCFP="$launcher $npe_postsndcfp" -fi - -#export PS4='$SECONDS + ' -date -# #### 08/25/1999 ################### -# SET SHELL PROCESSING VARIABLES -# ################################### -# -#Specify whether the run is production or development -# -export envir=${envir:-prod} - -#################################### -# Specify version numbers -#################################### -export gfs_bufrsnd_ver=${gfs_bufrsnd_ver:-v1.0.2} -export gsm_ver=${gsm_ver:-v12.0.0} -export util_ver=${util_ver:-v1.0.0} - -# obtain unique process id (pid) and make temp directories -# -export pid=$$ -#export DATA_IN=${DATA_IN:-/tmpnwprd1} -#export DATA=$DATA_IN/${job}.${pid} -export DATA_IN=${DATA_IN:-/scratch4/NCEPDEV/meso/scrub/$USER} -export DATA=$DATA_IN/postsnd.${pid} -mkdir -p $DATA -cd $DATA -export PDY=20180305 -export cyc=00 -export STARTHOUR=00 -export ENDHOUR=180 - -#################################### -# File To Log Msgs -#################################### -job=gfs_postsnd_test -export jlogfile=/com/logs/jlogfiles/jlogfile.${job}.${pid} - -#################################### -# Determine Job Output Name on System -#################################### -export outid="LL$job" -export jobid="${outid}.o${pid}" -export pgmout="OUTPUT.${pid}" - -export cycle=t${cyc}z - -export SENDCOM=YES -export SENDECF=YES -export SENDDBN=YES - -export NET=gfs -export RUN=gfs -export model=gfs -export pcom=$DATA_IN/pcom/gfs -mkdir -p $pcom - -################################### -# Set up the UTILITIES -################################### - -export HOMEbufrsnd=/scratch4/NCEPDEV/meso/save/Guang.Ping.Lou/fv3gfs -#export HOMEbufrsnd=/gpfs/hps3/emc/meso/noscrub/Guang.Ping.Lou/fv3gfs -#export HOMEbufrsnd=/gpfs/hps3/emc/meso/noscrub/Guang.Ping.Lou/Bufr_sounding -#export HOMEbufrsnd=/gpfs/hps3/emc/meso/noscrub/Guang.Ping.Lou/bufr_fnl_mpmd2_test - -############################## -# Define COM Directories -############################## -##export COMIN=/gpfs/hps/ptmp/emc.glopara/com2/${NET}/para/${RUN}.${PDY} -##export COMIN=/gpfs/hps3/emc/meso/noscrub/Guang.Ping.Lou/fv3data/${RUN}.${PDY}/$cyc -##export COMIN=/gpfs/hps/nco/ops/com/gfs/prod/${RUN}.${PDY} -export COMIN=/scratch4/NCEPDEV/meso/save/Guang.Ping.Lou/fv3data/${RUN}.${PDY}/$cyc - -export COMOUT=$DATA_IN/com2/${NET}/${envir}/${RUN}.${PDY} -mkdir -p $COMOUT -export COMAWP=$DATA_IN/com2/nawips/${envir}/${RUN}.${PDY} -mkdir -p $COMAWP -env - -export KEEPDATA=YES -######################################################## -# Execute the script. -#$SCRbufrsnd/exgfs_postsnd.sh.ecf -${HOMEbufrsnd}/jobs/JGFS_POSTSND -######################################################## - -#cat $pgmout - -#cd /tmpnwprd1 -#rm -rf $DATA -date - diff --git a/env/HERA.env b/env/HERA.env index 642fc33c4..922b6f6fd 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -4,7 +4,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "anal fcst post vrfy" + echo "anal fcst post vrfy metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" exit 1 diff --git a/env/JET.env b/env/JET.env index 2bb02c3d9..bce371d41 100755 --- a/env/JET.env +++ b/env/JET.env @@ -4,7 +4,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "anal fcst post vrfy" + echo "anal fcst post vrfy metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" exit 1 diff --git a/env/THEIA.env b/env/THEIA.env deleted file mode 100755 index 6e2e6516f..000000000 --- a/env/THEIA.env +++ /dev/null @@ -1,168 +0,0 @@ -#!/bin/ksh -x - -if [ $# -ne 1 ]; then - - echo "Must specify an input argument to set runtime environment variables!" - echo "argument can be any one of the following:" - echo "anal fcst post vrfy" - echo "eobs eupd ecen efcs epos" - echo "postsnd awips gempak" - exit 1 - -fi - -step=$1 - -export npe_node_max=24 -export launcher="srun --export=ALL" - -# Configure MPI environment -export I_MPI_ADJUST_ALLREDUCE=5 -export MPI_BUFS_PER_PROC=2048 -export MPI_BUFS_PER_HOST=2048 -export MPI_GROUP_MAX=256 -export MPI_MEMMAP_OFF=1 -export MP_STDOUTMODE="ORDERED" -export OMP_STACKSIZE=2048000 -export NTHSTACK=1024000000 -#export LD_BIND_NOW=1 -export job=${PBS_JOBNAME:-$step} -export jobid=${job}.${PBS_JOBID:-$$} - -if [ $step = "prep" -o $step = "prepbufr" ]; then - - nth_max=$(($npe_node_max / $npe_node_prep)) - - export POE="NO" - export BACK=${BACK:-"YES"} - export sys_tp="Cray-CS400" - -elif [ $step = "anal" ]; then - - nth_max=$(($npe_node_max / $npe_node_anal)) - - export NTHREADS_GSI=${nth_gsi:-$nth_max} - [[ $NTHREADS_GSI -gt $nth_max ]] && export NTHREADS_GSI=$nth_max - export APRUN_GSI="$launcher" - - export NTHREADS_CALCINC=${nth_calcinc:-1} - [[ $NTHREADS_CALCINC -gt $nth_max ]] && export NTHREADS_CALCINC=$nth_max - export APRUN_CALCINC="$launcher" - - export NTHREADS_CYCLE=${nth_cycle:-12} - [[ $NTHREADS_CYCLE -gt $npe_node_max ]] && export NTHREADS_CYCLE=$npe_node_max - npe_cycle=${ntiles:-6} - export APRUN_CYCLE="$launcher" - - export NTHREADS_GAUSFCANL=1 - npe_gausfcanl=${npe_gausfcanl:-1} - export APRUN_GAUSFCANL="$launcher" - -elif [ $step = "eobs" ]; then - - nth_max=$(($npe_node_max / $npe_node_eobs)) - - export NTHREADS_GSI=${nth_gsi:-$nth_max} - [[ $NTHREADS_GSI -gt $nth_max ]] && export NTHREADS_GSI=$nth_max - export APRUN_GSI="$launcher" - -elif [ $step = "eupd" ]; then - - nth_max=$(($npe_node_max / $npe_node_eupd)) - - export NTHREADS_ENKF=${nth_enkf:-$nth_max} - [[ $NTHREADS_ENKF -gt $nth_max ]] && export NTHREADS_ENKF=$nth_max - export APRUN_ENKF="$launcher" - -elif [ $step = "fcst" ]; then - - nth_max=$(($npe_node_max / $npe_node_fcst)) - - export NTHREADS_FV3=${nth_fv3:-$nth_max} - [[ $NTHREADS_FV3 -gt $nth_max ]] && export NTHREADS_FV3=$nth_max - export cores_per_node=$npe_node_max - export APRUN_FV3="$launcher" - - export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1} - [[ $NTHREADS_REGRID_NEMSIO -gt $nth_max ]] && export NTHREADS_REGRID_NEMSIO=$nth_max - export APRUN_REGRID_NEMSIO="$launcher" - - export NTHREADS_REMAP=${nth_remap:-2} - [[ $NTHREADS_REMAP -gt $nth_max ]] && export NTHREADS_REMAP=$nth_max - export APRUN_REMAP="$launcher" - -elif [ $step = "efcs" ]; then - - nth_max=$(($npe_node_max / $npe_node_efcs)) - - export NTHREADS_FV3=${nth_fv3:-$nth_max} - [[ $NTHREADS_FV3 -gt $nth_max ]] && export NTHREADS_FV3=$nth_max - export cores_per_node=$npe_node_max - export APRUN_FV3="$launcher" - - export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1} - [[ $NTHREADS_REGRID_NEMSIO -gt $nth_max ]] && export NTHREADS_REGRID_NEMSIO=$nth_max - export APRUN_REGRID_NEMSIO="$launcher" - -elif [ $step = "post" ]; then - - nth_max=$(($npe_node_max / $npe_node_post)) - - export NTHREADS_NP=${nth_np:-1} - [[ $NTHREADS_NP -gt $nth_max ]] && export NTHREADS_NP=$nth_max - export APRUN_NP="$launcher" - - export NTHREADS_DWN=${nth_dwn:-1} - [[ $NTHREADS_DWN -gt $nth_max ]] && export NTHREADS_DWN=$nth_max - export APRUN_DWN="$launcher" - -elif [ $step = "ecen" ]; then - - nth_max=$(($npe_node_max / $npe_node_ecen)) - - export NTHREADS_ECEN=${nth_ecen:-$nth_max} - [[ $NTHREADS_ECEN -gt $nth_max ]] && export NTHREADS_ECEN=$nth_max - export APRUN_ECEN="$launcher" - - export NTHREADS_CHGRES=${nth_chgres:-12} - [[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max - export APRUN_CHGRES="time" - - export NTHREADS_CALCINC=${nth_calcinc:-1} - [[ $NTHREADS_CALCINC -gt $nth_max ]] && export NTHREADS_CALCINC=$nth_max - export APRUN_CALCINC="$launcher" - -elif [ $step = "epos" ]; then - - nth_max=$(($npe_node_max / $npe_node_epos)) - - export NTHREADS_EPOS=${nth_epos:-$nth_max} - [[ $NTHREADS_EPOS -gt $nth_max ]] && export NTHREADS_EPOS=$nth_max - export APRUN_EPOS="$launcher" - -elif [ $step = "fv3ic" ]; then - - export NTHREADS_CHGRES=${nth_chgres:-$npe_node_max} - [[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max - export APRUN_CHGRES="time" - -elif [ $step = "postsnd" ]; then - - nth_max=$(($npe_node_max / $npe_node_postsnd)) - - export NTHREADS_POSTSND=${nth_postsnd:-1} - [[ $NTHREADS_POSTSND -gt $nth_max ]] && export NTHREADS_POSTSND=$nth_max - export APRUN_POSTSND="$launcher" - - export NTHREADS_POSTSNDCFP=${nth_postsndcfp:-1} - [[ $NTHREADS_POSTSNDCFP -gt $nth_max ]] && export NTHREADS_POSTSNDCFP=$nth_max - export APRUN_POSTSNDCFP="$launcher" - -elif [ $step = "awips" ]; then - - echo "WARNING: $step is not enabled on $machine!" - -elif [ $step = "gempak" ]; then - - echo "WARNING: $step is not enabled on $machine!" -fi diff --git a/env/WCOSS_C.env b/env/WCOSS_C.env index 549d91f80..b9c426add 100755 --- a/env/WCOSS_C.env +++ b/env/WCOSS_C.env @@ -4,7 +4,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "anal fcst post vrfy" + echo "anal fcst post vrfy metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" exit 1 @@ -166,6 +166,11 @@ elif [ $step = "vrfy" ]; then export IOBUF_PARAMS="*:size=32M:count=4:verbose" export APRUNTRACK="$launcher -j1 -n1 -N1 -d1 -cc depth" +elif [ $step = "metp" ]; then + + export IOBUF_PARAMS="*:size=32M:count=4:verbose" + export APRUNTRACK="$launcher -j1 -n1 -N1 -d1 -cc depth" + elif [ $step = "postsnd" ]; then export IOBUF_PARAMS="sigf*:size=128M:count=20:prefetch=0:verbose,gfs_collectiv*:size=128M:count=2:prefetch=0:verbose,*.snd:size=128M:count=3:prefetch=0:verbose,*.sfc:size=32M:count=3:prefetch=0:verbose,bufr.*:size=8M:count=20:prefetch=0:verbose" diff --git a/env/WCOSS_DELL_P3.env b/env/WCOSS_DELL_P3.env index 853f62d65..f8615e87e 100755 --- a/env/WCOSS_DELL_P3.env +++ b/env/WCOSS_DELL_P3.env @@ -4,7 +4,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "anal fcst post vrfy" + echo "anal fcst post vrfy metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" exit 1 @@ -14,8 +14,11 @@ fi step=$1 # WCOSS_DELL_P3 information -export npe_node_max=28 export launcher="mpirun -n" +export npe_node_max=28 +if [ "$QUEUE" = "dev2" -o "$QUEUE" = "devonprod2" -o "$QUEUE" = "devmax2" ]; then # WCOSS Dell 3.5 + export npe_node_max=40 +fi # Due to ESMF issue, fv3gfs model must run with npe_node_max=24 if [ $step = "fcst" -o $step = "efcs" ]; then diff --git a/jobs/rocoto/earc.sh b/jobs/rocoto/earc.sh index 11f20804e..3bc42fab6 100755 --- a/jobs/rocoto/earc.sh +++ b/jobs/rocoto/earc.sh @@ -80,32 +80,34 @@ if [[ $ENSGRP -gt 0 ]] && [[ $HPSSARCH = "YES" ]]; then if [ $CDATE -eq $SDATE -a $cyc -eq $EARCICS_CYC ] ; then SAVEWARMICB="YES" ; fi fi - if [ $CDATE -gt $SDATE ]; then - htar -P -cvf $ATARDIR/$CDATE/enkf${CDUMP}_grp${ENSGRP}.tar `cat $ARCH_LIST/enkf${CDUMP}_grp${n}.txt` - status=$? - if [ $status -ne 0 -a $CDATE -ge $firstday ]; then - echo "HTAR $CDATE enkf${CDUMP}_grp${ENSGRP}.tar failed" - exit $status - fi - fi + if [ $CDATE -gt $SDATE ]; then # Don't run for first half cycle - if [ $SAVEWARMICA = "YES" -a $cyc -eq $EARCINC_CYC ]; then + htar -P -cvf $ATARDIR/$CDATE/enkf${CDUMP}_grp${ENSGRP}.tar `cat $ARCH_LIST/enkf${CDUMP}_grp${n}.txt` + status=$? + if [ $status -ne 0 -a $CDATE -ge $firstday ]; then + echo "HTAR $CDATE enkf${CDUMP}_grp${ENSGRP}.tar failed" + exit $status + fi + + if [ $SAVEWARMICA = "YES" -a $cyc -eq $EARCINC_CYC ]; then htar -P -cvf $ATARDIR/$CDATE/enkf${CDUMP}_restarta_grp${ENSGRP}.tar `cat $ARCH_LIST/enkf${CDUMP}_restarta_grp${n}.txt` status=$? if [ $status -ne 0 ]; then echo "HTAR $CDATE enkf${CDUMP}_restarta_grp${ENSGRP}.tar failed" exit $status fi - fi + fi - if [ $SAVEWARMICB = "YES" -a $cyc -eq $EARCICS_CYC ]; then + if [ $SAVEWARMICB = "YES" -a $cyc -eq $EARCICS_CYC ]; then htar -P -cvf $ATARDIR/$CDATE/enkf${CDUMP}_restartb_grp${ENSGRP}.tar `cat $ARCH_LIST/enkf${CDUMP}_restartb_grp${n}.txt` status=$? if [ $status -ne 0 ]; then echo "HTAR $CDATE enkf${CDUMP}_restartb_grp${ENSGRP}.tar failed" exit $status fi - fi + fi + + fi # CDATE>SDATE fi diff --git a/jobs/rocoto/getic.sh b/jobs/rocoto/getic.sh index f4cb367e4..2da15881c 100755 --- a/jobs/rocoto/getic.sh +++ b/jobs/rocoto/getic.sh @@ -124,9 +124,11 @@ if [ $ics_from = "opsgfs" ]; then fi # Move the files to legacy EMC filenames - for i in `seq 1 $nfanal`; do - $NMV ${fanal[i]} ${ftanal[i]} - done + if [ $CDATE -le "2019061118" ]; then #GFSv14 + for i in `seq 1 $nfanal`; do + $NMV ${fanal[i]} ${flanal[i]} + done + fi fi diff --git a/jobs/rocoto/metp.sh b/jobs/rocoto/metp.sh new file mode 100755 index 000000000..b6658a523 --- /dev/null +++ b/jobs/rocoto/metp.sh @@ -0,0 +1,71 @@ +#!/bin/ksh -x + +############################################################### +## Abstract: +## Inline METplus verification and diagnostics driver script +## RUN_ENVIR : runtime environment (emc | nco) +## HOMEgfs : /full/path/to/workflow +## EXPDIR : /full/path/to/config/files +## CDATE : current analysis date (YYYYMMDDHH) +## CDUMP : cycle name (gdas / gfs) +## PDY : current date (YYYYMMDD) +## cyc : current cycle (HH) +## METPCASE : METplus verification use case (g2g1 | g2o1 | pcp1) +############################################################### + +############################################################### +echo +echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ===============" +. $HOMEgfs/ush/load_fv3gfs_modules.sh +status=$? +[[ $status -ne 0 ]] && exit $status + + +############################################################### +echo +echo "=============== START TO SOURCE RELEVANT CONFIGS ===============" +configs="base vrfy metp" +for config in $configs; do + . $EXPDIR/config.${config} + status=$? + [[ $status -ne 0 ]] && exit $status +done + + +############################################################### +echo +echo "=============== START TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" +. $BASE_ENV/${machine}.env metp +status=$? +[[ $status -ne 0 ]] && exit $status + +############################################################### +export CDATEm1=$($NDATE -24 $CDATE) +export PDYm1=$(echo $CDATEm1 | cut -c1-8) + +export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc" +export DATAROOT="$RUNDIR/$CDATE/$CDUMP/vrfy" +[[ -d $DATAROOT ]] && rm -rf $DATAROOT +mkdir -p $DATAROOT + + +############################################################### +echo +echo "=============== START TO RUN METPLUS VERIFICATION ===============" +if [ $CDUMP = "gfs" ]; then + + if [ $RUN_GRID2GRID_STEP1 = "YES" -o $RUN_GRID2OBS_STEP1 = "YES" -o $RUN_PRECIP_STEP1 = "YES" ]; then + + $VERIF_GLOBALSH + + fi +fi + + +if [ $CDUMP = "gdas" ]; then + echo "METplus verification currently not supported for CDUMP=${CDUMP}" +fi +############################################################### +# Force Exit out cleanly +if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi +exit 0 diff --git a/modulefiles/fv3gfs/enkf_chgres_recenter.theia b/modulefiles/fv3gfs/enkf_chgres_recenter.theia deleted file mode 100644 index 369c013f3..000000000 --- a/modulefiles/fv3gfs/enkf_chgres_recenter.theia +++ /dev/null @@ -1,14 +0,0 @@ -#%Module##################################################### -## enkf_chgres_recenter component - theia -############################################################# - -module load intel/16.1.150 - -module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles -module load nemsio/v2.2.3 -module load bacio/v2.0.2 -module load w3nco/v2.0.6 -module load ip/v3.0.0 -module load sp/v2.0.2 - -export FC=ifort diff --git a/modulefiles/fv3gfs/gaussian_sfcanl.theia b/modulefiles/fv3gfs/gaussian_sfcanl.theia deleted file mode 100644 index d70de3df8..000000000 --- a/modulefiles/fv3gfs/gaussian_sfcanl.theia +++ /dev/null @@ -1,19 +0,0 @@ -#%Module##################################################### -## gaussian_sfcanl build module for Theia -############################################################# - -# Loading Intel Compiler Suite -module load intel/15.1.133 - -# Loding nceplibs modules -module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles -module load w3nco/v2.0.6 -module load bacio/v2.0.2 -module load nemsio/v2.2.3 -module load sp/v2.0.2 -module load netcdf/4.3.0 -module load hdf5/1.8.14 -export NETCDF_INCLUDE="-I${NETCDF}/include" -export NETCDF_LDFLAGS_F="-L${NETCDF}/lib -lnetcdf -lnetcdff -L${HDF5}/lib -lhdf5 -lhdf5_fortran" - -export FCOMP=ifort diff --git a/modulefiles/gdas_gridbull.theia b/modulefiles/gdas_gridbull.theia deleted file mode 100644 index e7cd769a1..000000000 --- a/modulefiles/gdas_gridbull.theia +++ /dev/null @@ -1,7 +0,0 @@ -#%Module################################################ -# Modfule file for gdas_gridbull -######################################################## -module load intel/14.0.2 -module use -a $MOD_PATH -module load bacio/v2.0.2 -module load w3nco/v2.0.6 diff --git a/modulefiles/gdas_navybull.theia b/modulefiles/gdas_navybull.theia deleted file mode 100644 index a6c29a401..000000000 --- a/modulefiles/gdas_navybull.theia +++ /dev/null @@ -1,12 +0,0 @@ -#%Module################################################ -# Modfule file for gdas_navybull -######################################################## - -# Loading Intel Compiler Suite -module load intel - -# Loding nceplibs modules -module use -a $MOD_PATH -module load w3emc/v2.0.3 -module load w3nco/v2.0.6 -module load bufr/v10.2.5 diff --git a/modulefiles/gdas_trpsfcmv.theia b/modulefiles/gdas_trpsfcmv.theia deleted file mode 100644 index ae1a16731..000000000 --- a/modulefiles/gdas_trpsfcmv.theia +++ /dev/null @@ -1,12 +0,0 @@ -#%Module################################################ -# Modfule file for gdas_trpsfcmv -######################################################## -module load intel/14.0.2 -module load impi/5.1.2.150 -module load ncl/6.3.0 -module use -a $MOD_PATH -module load bufr/v10.2.5 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load w3nco/v2.0.6 -module load bacio/v2.0.1 diff --git a/modulefiles/gfs_bufr.theia b/modulefiles/gfs_bufr.theia deleted file mode 100644 index c433c9ca1..000000000 --- a/modulefiles/gfs_bufr.theia +++ /dev/null @@ -1,22 +0,0 @@ -#%Module##################################################### -## bufrsnd -############################################################# - -# Loading Intel Compiler Suite -module load intel -module load impi - -module use -a $MOD_PATH - -# Loding nceplibs modules -module load sigio/v2.0.1 -module load bacio/v2.0.1 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load bufr/v10.2.5 -module load nemsio/v2.2.1 - -export myFC=mpiifort -export myFCFLAGS="-O3 -convert big_endian -traceback -g -fp-model source -openmp" -export myCPP=/lib/cpp -export myCPPFLAGS="-P" diff --git a/modulefiles/gfs_cnvgrib21_gfs.theia b/modulefiles/gfs_cnvgrib21_gfs.theia deleted file mode 100644 index f2190a2bc..000000000 --- a/modulefiles/gfs_cnvgrib21_gfs.theia +++ /dev/null @@ -1,16 +0,0 @@ -#%Module##################################################### -## Module file for cnvgrib21 -############################################################# - -# Loading Intel Compiler Suite -module load intel - -module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles - -# Loding nceplibs modules -module load bacio/v2.0.1 -module load w3nco/v2.0.6 -module load g2/v2.5.0 -module load jasper/v1.900.1 -module load z/v1.2.6 -module load png/v1.2.44 diff --git a/modulefiles/gfs_fbwndgfs.theia b/modulefiles/gfs_fbwndgfs.theia deleted file mode 100644 index 9a896baf6..000000000 --- a/modulefiles/gfs_fbwndgfs.theia +++ /dev/null @@ -1,14 +0,0 @@ -#%Module##################################################### -## Module file for fbwndgfs -############################################################# - -# Loading Intel Compiler Suite -module load intel/14.0.2 - -# Loding nceplibs modules -module use -a $MOD_PATH -module load bacio/v2.0.1 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load ip/v3.0.0 -module load sp/v2.0.2 diff --git a/modulefiles/gfs_overpdtg2.theia b/modulefiles/gfs_overpdtg2.theia deleted file mode 100644 index 3bddf7c57..000000000 --- a/modulefiles/gfs_overpdtg2.theia +++ /dev/null @@ -1,15 +0,0 @@ -#%Module##################################################### -## Module file for overpdtg2 -############################################################# - -# Loading Intel Compiler Suite -module load intel - -# Loding nceplibs modules -module use $MOD_PATH -module load bacio/v2.0.1 -module load w3nco/v2.0.6 -module load g2/v2.5.0 -module load jasper/v1.900.1 -module load z/v1.2.6 -module load png/v1.2.44 diff --git a/modulefiles/gfs_wintemv.theia b/modulefiles/gfs_wintemv.theia deleted file mode 100644 index 8205dd4a6..000000000 --- a/modulefiles/gfs_wintemv.theia +++ /dev/null @@ -1,12 +0,0 @@ -#%Module##################################################### -## Module file for wintemv -############################################################# - -# Loading Intel Compiler Suite -module load intel - -# Loding nceplibs modules -module use -a $MOD_PATH -module load bacio/v2.0.1 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 diff --git a/modulefiles/module_base.theia b/modulefiles/module_base.theia deleted file mode 100644 index 6d47731af..000000000 --- a/modulefiles/module_base.theia +++ /dev/null @@ -1,20 +0,0 @@ -#%Module###################################################################### -## -## FV3GFS prerequisites -## - -module load intel/18.0.1.163 -module load impi/5.1.2.150 -module load wgrib2/0.2.0.6c -module load hpss/hpss -module load pnetcdf/1.5.0-impi -module load netcdf/4.3.0 -module load nco/4.7.0 -module load hdf5/1.8.14 -module load gempak/6.7.0 - -module use /scratch4/NCEPDEV/global/save/glopara/git/NCEPLIBS-prod_util/modulefiles -module load prod_util/v1.1.0_slurm - -module use -a /scratch4/NCEPDEV/nems/noscrub/emc.nemspara/soft/modulefiles -module load esmf/8.0.0bs48 diff --git a/modulefiles/module_nemsutil.hera b/modulefiles/module_nemsutil.hera deleted file mode 100644 index f1908fdf6..000000000 --- a/modulefiles/module_nemsutil.hera +++ /dev/null @@ -1,10 +0,0 @@ -#%Module##################################################### -## Module file for nemsutil -############################################################# - -module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles -module load w3nco/2.0.6 -module load bacio/2.0.3 -module load nemsio/2.2.3 - -export FCMP=ifort diff --git a/modulefiles/module_nemsutil.theia b/modulefiles/module_nemsutil.theia deleted file mode 100644 index 45685118e..000000000 --- a/modulefiles/module_nemsutil.theia +++ /dev/null @@ -1,15 +0,0 @@ -#%Module##################################################### -## Module file for nemsutil -############################################################# - -# Loading Intel Compiler Suite -module load intel/14.0.2 -module load impi/5.1.2.150 - -# Loding nceplibs modules -module use -a $MOD_PATH -module load w3nco/v2.0.6 -module load bacio/v2.0.1 -module load nemsio/v2.2.1 - -export FCMP=ifort diff --git a/modulefiles/module_nemsutil.wcoss b/modulefiles/module_nemsutil.wcoss deleted file mode 100644 index f421c1a88..000000000 --- a/modulefiles/module_nemsutil.wcoss +++ /dev/null @@ -1,13 +0,0 @@ -#%Module##################################################### -## Module file for nemsutil -############################################################# - -# Loading Intel Compiler Suite -module load ics/14.0.1 - -# Loding nceplibs modules -module load w3nco/v2.0.6 -module load bacio/v2.0.1 -module load nemsio/v2.2.1 - -export FCMP=ifort diff --git a/modulefiles/module_nemsutil.wcoss_cray b/modulefiles/module_nemsutil.wcoss_cray deleted file mode 100644 index 371c8e024..000000000 --- a/modulefiles/module_nemsutil.wcoss_cray +++ /dev/null @@ -1,17 +0,0 @@ -#%Module##################################################### -## Module file for nemsutil -############################################################# - -module purge -module load modules -module load PrgEnv-intel -module load cray-mpich -module load craype-sandybridge - -module load w3nco-intel/2.0.6 -module load bacio-intel/2.0.1 - -export NEMSIO_INC=/usrx/local/nceplibs/nemsio/nemsio_v2.2.3/incmod -export NEMSIO_LIB=/usrx/local/nceplibs/nemsio/nemsio_v2.2.3/libnemsio_v2.2.3.a - -export FCMP=ftn diff --git a/modulefiles/module_nemsutil.wcoss_cray_userlib b/modulefiles/module_nemsutil.wcoss_cray_userlib deleted file mode 100644 index 53fad475a..000000000 --- a/modulefiles/module_nemsutil.wcoss_cray_userlib +++ /dev/null @@ -1,19 +0,0 @@ -#%Module##################################################### -## Module file for nemsutil -############################################################# - -# Load Intel environment -module purge -module load modules -module load PrgEnv-intel -module load cray-mpich -module load craype-sandybridge - -# Load NCEPLIBS modules -module unuse /gpfs/hps/nco/ops/nwprod/lib/modulefiles -module use $MOD_PATH -module load w3nco/v2.0.6 -module load bacio/v2.0.2 -module load nemsio/v2.2.3 - -export FCMP=ftn diff --git a/modulefiles/module_nemsutil.wcoss_dell_p3 b/modulefiles/module_nemsutil.wcoss_dell_p3 deleted file mode 100644 index e93d58165..000000000 --- a/modulefiles/module_nemsutil.wcoss_dell_p3 +++ /dev/null @@ -1,12 +0,0 @@ -#%Module##################################################### -## Module file for nemsutil -############################################################# - -module load ips/18.0.1.163 -module load impi/18.0.1 - -module load bacio/2.0.2 -module load w3nco/2.0.6 -module load nemsio/2.2.3 - -export FCMP=ifort diff --git a/modulefiles/modulefile.fv3nc2nemsio.theia b/modulefiles/modulefile.fv3nc2nemsio.theia deleted file mode 100644 index 83bf6bff1..000000000 --- a/modulefiles/modulefile.fv3nc2nemsio.theia +++ /dev/null @@ -1,14 +0,0 @@ -#%Module##################################################### -## Module file for fv3nc2nemsio -############################################################# - -module load intel/14.0.2 -module load netcdf/4.3.0 -module load hdf5/1.8.14 -module use -a $MOD_PATH -module load bacio/v2.0.2 -module load nemsio/v2.2.3 -module load w3nco/v2.0.6 - -export FCMP="ifort" -export FFLAGS="-g -O2 -traceback" diff --git a/modulefiles/modulefile.grib_util.theia b/modulefiles/modulefile.grib_util.theia deleted file mode 100644 index ecdd67804..000000000 --- a/modulefiles/modulefile.grib_util.theia +++ /dev/null @@ -1,20 +0,0 @@ -#%Module###################################################################### -module use -a $MOD_PATH - -module load intel/14.0.2 - -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 - - -module load bacio/v2.0.2 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load g2/v3.1.0 - -export FCMP=ifort -export CCMP=icc - diff --git a/modulefiles/modulefile.grib_util.wcoss b/modulefiles/modulefile.grib_util.wcoss deleted file mode 100644 index 0ae2e8f49..000000000 --- a/modulefiles/modulefile.grib_util.wcoss +++ /dev/null @@ -1,32 +0,0 @@ -#%Module###################################################################### -proc ModulesHelp { } { - puts stderr "Load modules for building GRIB utilities" -} -module-whatis "This module loads the modules and libraries for building\ - the GRIB utilities, including jasper, png, zlib, bacio, g2,\ - w3emc, w3nco, ip, sp, and iobuf." - -conflict build_grib_util - -# -# Loading required system modules -# - module load ics - module switch ics/15.0.6 - module load jasper/v1.900.1 - module load png/v1.2.44 - module load z/v1.2.6 - -# Loading Intel-Compiled NCEP Libraries - module load bacio/v2.0.1 - module load w3emc/v2.2.0 - module load w3nco/v2.0.6 - module load ip/v3.0.0 - module load sp/v2.0.2 - - # pre-implemented g2 v3.1.0 - module use /nwtest2/lib/modulefiles - module load g2/v3.1.0 - -setenv FCMP ifort -setenv CCMP icc diff --git a/modulefiles/modulefile.grib_util.wcoss_cray b/modulefiles/modulefile.grib_util.wcoss_cray deleted file mode 100644 index 191baa15d..000000000 --- a/modulefiles/modulefile.grib_util.wcoss_cray +++ /dev/null @@ -1,22 +0,0 @@ -#%Module###################################################################### -module unload craype-haswell -module load craype-sandybridge -module unload PrgEnv-cray -module load PrgEnv-intel/5.2.56 -module switch intel/15.0.6.233 -module load iobuf/2.0.7 - -module load bacio-intel/2.0.1 -module load w3emc-intel/2.2.0 -module load w3nco-intel/2.0.6 -module load ip-intel/3.0.0 -module load sp-intel/2.0.2 -module load jasper-gnu-sandybridge/1.900.1 -module load png-intel-sandybridge/1.2.49 -module load zlib-intel-sandybridge/1.2.7 - -module use /gpfs/hps/nco/ops/nwtest/lib/modulefiles -module load g2-intel/3.1.0 - -export FCMP=ftn -export CCMP=cc diff --git a/modulefiles/modulefile.grib_util.wcoss_cray_userlib b/modulefiles/modulefile.grib_util.wcoss_cray_userlib deleted file mode 100644 index 56ebe0c33..000000000 --- a/modulefiles/modulefile.grib_util.wcoss_cray_userlib +++ /dev/null @@ -1,22 +0,0 @@ -#%Module###################################################################### -module unload craype-haswell -module load craype-sandybridge -module unload PrgEnv-cray -module load PrgEnv-intel/5.2.56 -module switch intel/15.0.6.233 -module load iobuf/2.0.7 - -module unuse /gpfs/hps/nco/ops/nwprod/lib/modulefiles -module use -a $MOD_PATH -module load bacio/v2.0.2 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load g2/v3.1.0 - -export FCMP=ftn -export CCMP=cc diff --git a/modulefiles/modulefile.grib_util.wcoss_dell_p3 b/modulefiles/modulefile.grib_util.wcoss_dell_p3 deleted file mode 100644 index bbebec9cb..000000000 --- a/modulefiles/modulefile.grib_util.wcoss_dell_p3 +++ /dev/null @@ -1,15 +0,0 @@ -#%Module###################################################################### - -module load bacio/2.0.2 -module load w3emc/2.3.0 -module load w3nco/2.0.6 -module load ip/3.0.1 -module load sp/2.0.2 - -module load jasper/1.900.1 -module load libpng/1.2.59 -module load zlib/1.2.11 -module load g2/3.1.0 - -export FCMP=ifort -export CCMP=icc diff --git a/modulefiles/modulefile.prod_util.theia b/modulefiles/modulefile.prod_util.theia deleted file mode 100644 index 3ad4d37bf..000000000 --- a/modulefiles/modulefile.prod_util.theia +++ /dev/null @@ -1,8 +0,0 @@ -#%Module###################################################################### -## -module load intel/16.1.150 -module use -a $MOD_PATH -module load w3nco/v2.0.6 - -export FCMP=ifort -export CCMP=icc diff --git a/modulefiles/modulefile.prod_util.wcoss_cray b/modulefiles/modulefile.prod_util.wcoss_cray deleted file mode 100644 index 51031c6bd..000000000 --- a/modulefiles/modulefile.prod_util.wcoss_cray +++ /dev/null @@ -1,11 +0,0 @@ -#%Module##################################################### -module purge -module load modules -module load PrgEnv-intel -module load cray-mpich -module load craype-sandybridge - -module load w3nco-intel/2.0.6 - -export FCMP=ftn -export CCMP=cc diff --git a/modulefiles/modulefile.prod_util.wcoss_cray_userlib b/modulefiles/modulefile.prod_util.wcoss_cray_userlib deleted file mode 100644 index dd5209fcf..000000000 --- a/modulefiles/modulefile.prod_util.wcoss_cray_userlib +++ /dev/null @@ -1,13 +0,0 @@ -#%Module##################################################### -module purge -module load modules -module load PrgEnv-intel -module load cray-mpich -module load craype-sandybridge - -module unuse /gpfs/hps/nco/ops/nwprod/lib/modulefiles -module use -a $MOD_PATH -module load w3nco/v2.0.6 - -export FCMP=ftn -export CCMP=cc diff --git a/modulefiles/modulefile.prod_util.wcoss_dell_p3 b/modulefiles/modulefile.prod_util.wcoss_dell_p3 deleted file mode 100644 index 9186e13eb..000000000 --- a/modulefiles/modulefile.prod_util.wcoss_dell_p3 +++ /dev/null @@ -1,6 +0,0 @@ -#%Module##################################################### - -module load w3nco/2.0.6 - -export FCMP=ifort -export CCMP=icc diff --git a/modulefiles/modulefile.regrid_nemsio.theia b/modulefiles/modulefile.regrid_nemsio.theia deleted file mode 100644 index bcc0d169f..000000000 --- a/modulefiles/modulefile.regrid_nemsio.theia +++ /dev/null @@ -1,16 +0,0 @@ -#%Module##################################################### -## Module file for regrid_nemsio -############################################################# - -module load intel/14.0.2 -module load impi/4.1.3.048 -module load netcdf/4.3.0 -module load hdf5/1.8.14 - -module use -a $MOD_PATH -module load bacio/v2.0.2 -module load nemsio/v2.2.3 -module load w3nco/v2.0.6 -module load sp/v2.0.2 - -export FCMP="mpif90 -f90=ifort" diff --git a/modulefiles/modulefile.storm_reloc_v6.0.0.theia b/modulefiles/modulefile.storm_reloc_v6.0.0.theia deleted file mode 100644 index f9835db93..000000000 --- a/modulefiles/modulefile.storm_reloc_v6.0.0.theia +++ /dev/null @@ -1,26 +0,0 @@ -#%Module##################################################### -## Module file for storm_reloc_v6.0.0 -############################################################# - -module use /scratch3/NCEPDEV/nwprod/lib/modulefiles - -module load intel -module load impi -module load nco - -module load sigio/v2.0.1 -module load sfcio/v1.0.0 -module load g2/v2.5.0 -module load w3nco/v2.0.6 -module load w3emc/v2.0.5 -module load bacio/v2.0.1 -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load sp/v2.0.2 -module load ip/v2.0.0 -module load bufr/v10.2.5 -module load nemsio/v2.2.2 -module load nemsiogfs/v2.0.1 - -set FC mpiifort diff --git a/modulefiles/modulefile.wgrib2.theia b/modulefiles/modulefile.wgrib2.theia deleted file mode 100644 index b1568e8ce..000000000 --- a/modulefiles/modulefile.wgrib2.theia +++ /dev/null @@ -1,19 +0,0 @@ -#%Module###################################################################### - -module load intel/14.0.2 -module load netcdf/4.3.0 -module load hdf5/1.8.14 -module load szip/2.1 - -module use -a $MOD_PATH -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load g2c/v1.5.0 - -export NETCDF_INCLUDE="-I${NETCDF}/include" - -export FCMP=ifort -export CCMP=icc diff --git a/modulefiles/modulefile.wgrib2.wcoss b/modulefiles/modulefile.wgrib2.wcoss deleted file mode 100644 index 0eea72e39..000000000 --- a/modulefiles/modulefile.wgrib2.wcoss +++ /dev/null @@ -1,24 +0,0 @@ -#%Module###################################################################### -############################################################# -## Lin.Gan@noaa.gov -## EMC -## wgrib2 v2.0.5 -############################################################# -proc ModulesHelp { } { -puts stderr "Set environment veriables for wgrib2" -puts stderr "This module initializes the users environment" -puts stderr "to build the wgrib2 for WCOSS production.\n" -} -module-whatis "wgrib2" - -set ver v2.0.5 - -module load ics/15.0.6 -module load NetCDF/4.2/serial -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load g2c/v1.5.0 - diff --git a/modulefiles/modulefile.wgrib2.wcoss_cray b/modulefiles/modulefile.wgrib2.wcoss_cray deleted file mode 100644 index 4d933141a..000000000 --- a/modulefiles/modulefile.wgrib2.wcoss_cray +++ /dev/null @@ -1,13 +0,0 @@ -#%Module###################################################################### -module load PrgEnv-gnu/5.2.56 -module load cray-netcdf/4.3.2 -module load craype/2.3.0 -module load craype-sandybridge -module load /gpfs/hps/nco/ops/nwtest/lib/modulefiles/g2c-gnu/1.5.0 - -module load jasper-gnu-sandybridge/1.900.1 -module load png-gnu-sandybridge/1.2.49 -module load zlib-gnu-sandybridge/1.2.7 - -export FCMP=ftn -export CCMP=cc diff --git a/modulefiles/modulefile.wgrib2.wcoss_cray_userlib b/modulefiles/modulefile.wgrib2.wcoss_cray_userlib deleted file mode 100644 index 7b41a17f9..000000000 --- a/modulefiles/modulefile.wgrib2.wcoss_cray_userlib +++ /dev/null @@ -1,15 +0,0 @@ -#%Module###################################################################### -module load PrgEnv-gnu/5.2.56 -module load cray-netcdf/4.3.2 -module load craype/2.3.0 -module load craype-sandybridge - -module unuse /gpfs/hps/nco/ops/nwprod/lib/modulefiles -module use -a $MOD_PATH -module load jasper/v1.900.1 -module load png/v1.2.44 -module load z/v1.2.6 -module load g2c/v1.5.0 - -export FCMP=ftn -export CCMP=cc diff --git a/modulefiles/modulefile.wgrib2.wcoss_dell_p3 b/modulefiles/modulefile.wgrib2.wcoss_dell_p3 deleted file mode 100644 index 9a43e3ffd..000000000 --- a/modulefiles/modulefile.wgrib2.wcoss_dell_p3 +++ /dev/null @@ -1,11 +0,0 @@ -#%Module###################################################################### - -module load ips/18.0.1.163 - -module load g2c/1.5.0 -module load jasper/1.900.1 -module load libpng/1.2.59 -module load zlib/1.2.11 - -export FCMP=ifort -export CCMP=icc diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index f4d7e8166..ed1f2c485 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -12,19 +12,9 @@ export machine="@MACHINE@" export RUN_ENVIR="emc" # Account, queue, etc. -if [ $machine = "THEIA" -o $machine = "HERA" ]; then - - export ACCOUNT="fv3-cpu" - export QUEUE="batch" - export QUEUE_ARCH="service" - -elif [ $machine = "WCOSS_C" -o $machine = "WCOSS_DELL_P3" ]; then - - export ACCOUNT="FV3GFS-T2O" - export QUEUE="dev" - export QUEUE_ARCH="dev_transfer" - -fi +export ACCOUNT="@ACCOUNT@" +export QUEUE="@QUEUE@" +export QUEUE_ARCH="@QUEUE_ARCH@" # Project to use in mass store: HPSS_PROJECT=emc-global @@ -41,104 +31,19 @@ export SCRgfs=$HOMEgfs/scripts ######################################################################## # GLOBAL static environment parameters -if [ $machine = "THEIA" ]; then - - export NWPROD="/scratch4/NCEPDEV/global/save/glopara/nwpara" - export DMPDIR="/scratch4/NCEPDEV/global/noscrub/dump" - export RTMFIX="/scratch4/NCEPDEV/da/save/Michael.Lueken/nwprod/lib/crtm/2.2.3/fix_update" - export FV3INP="/scratch4/NCEPDEV/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/trunk-20190613/FV3_input_data_gsd" - -elif [ $machine = "HERA" ]; then - - #export NWPROD="/scratch1/NCEPDEV/global/glopara/nwpara" - export DMPDIR="/scratch1/NCEPDEV/global/glopara/dump" - export RTMFIX=$CRTM_FIX - export FV3INP="/scratch1/NCEPDEV/nems/emc.nemspara/RT/NEMSfv3gfs/trunk-20190925/FV3_input_data_gsd" - -elif [ $machine = "WCOSS_C" ]; then - - export NWPROD="/gpfs/hps/nco/ops/nwprod" - export DMPDIR="/gpfs/dell3/emc/global/dump" - export RTMFIX=$CRTM_FIX - export FV3INP=$FV3INP - -elif [ $machine = "WCOSS_DELL_P3" ]; then - - export NWPROD="/gpfs/dell1/nco/ops/nwprod" - export DMPDIR="/gpfs/dell3/emc/global/dump" - export RTMFIX=$CRTM_FIX - export FV3INP=$FV3INP -fi - - -# Machine specific paths used everywhere -if [ $machine = "THEIA" ]; then - - # USER specific paths - export HOMEDIR="/scratch4/NCEPDEV/global/save/$USER" - export STMP="/scratch4/NCEPDEV/stmp3/$USER" - export PTMP="/scratch4/NCEPDEV/stmp4/$USER" - export NOSCRUB="/scratch4/NCEPDEV/global/noscrub/$USER" - - # Base directories for various builds - export BASE_GIT="/scratch4/NCEPDEV/global/save/glopara/git" - export BASE_SVN="/scratch4/NCEPDEV/global/save/glopara/svn" - -elif [ $machine = "HERA" ]; then - - # USER specific paths - export HOMEDIR="/scratch1/NCEPDEV/global/$USER" - export STMP="/scratch1/NCEPDEV/stmp2/$USER" - export PTMP="/scratch1/NCEPDEV/stmp4/$USER" - export NOSCRUB="$HOMEDIR" - - # Base directories for various builds - export BASE_GIT="/scratch1/NCEPDEV/global/glopara/git" - export BASE_SVN="/scratch1/NCEPDEV/global/glopara/svn" - -elif [ $machine = "WCOSS_C" ]; then - - # USER specific paths - export HOMEDIR="/gpfs/hps3/emc/global/noscrub/$USER" - export STMP="/gpfs/hps2/stmp/$USER" - export PTMP="/gpfs/hps2/ptmp/$USER" - export NOSCRUB="/gpfs/hps3/emc/global/noscrub/$USER" - - # Base directories for various builds - export BASE_GIT="/gpfs/hps3/emc/global/noscrub/emc.glopara/git" - export BASE_SVN="/gpfs/hps3/emc/global/noscrub/emc.glopara/svn" - -elif [ $machine = "WCOSS_DELL_P3" ]; then - - # USER specific paths - export HOMEDIR="/gpfs/dell2/emc/modeling/noscrub/$USER" - export STMP="/gpfs/dell3/stmp/$USER" - export PTMP="/gpfs/dell3/ptmp/$USER" - export NOSCRUB="/gpfs/dell2/emc/modeling/noscrub/$USER" - - # Base directories for various builds - export BASE_GIT="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git" - export BASE_SVN="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git" - -fi - -# Utilities needed in the scripts (mostly post) -if [ $machine = "THEIA" ]; then - - export NDATE="$NWPROD/util/exec/ndate" - export NHOUR="$NWPROD/util/exec/nhour" - export WGRIB="$NWPROD/util/exec/wgrib" - export WGRIB2="/scratch3/NCEPDEV/nwprod/utils/wgrib2.v2.0.6c/wgrib2/wgrib2" - export COPYGB="$NWPROD/util/exec/copygb" - export COPYGB2="$NWPROD/util/exec/copygb2" - export GRBINDEX="$NWPROD/util/exec/grbindex" - export GRB2INDEX="$NWPROD/util/exec/grb2index" - export GRBINDEX2="$NWPROD/util/exec/grb2index" - export CNVGRIB="/apps/cnvgrib/1.4.0/bin/cnvgrib" - export POSTGRB2TBL="/scratch3/NCEPDEV/nwprod/lib/g2tmpl/v1.5.0/sorc/params_grib2_tbl_new" - -fi - +export NWPROD="@NWPROD@" +export DMPDIR="@DMPDIR@" +export RTMFIX=$CRTM_FIX + +# USER specific paths +export HOMEDIR="@HOMEDIR@" +export STMP="@STMP@" +export PTMP="@PTMP@" +export NOSCRUB="@NOSCRUB@" + +# Base directories for various builds +export BASE_GIT="@BASE_GIT@" +export BASE_SVN="@BASE_SVN@" #### CCPP Suite export CCPP_SUITE="FV3_GSD_v0" # testgsdsuite #### export CCPP_SUITE="FV3_GFS_v15" # testemc @@ -164,7 +69,7 @@ export FIXgsi="$HOMEgfs/fix/fix_gsi" export HOMEfv3gfs="$HOMEgfs/sorc/fv3gfs.fd" export HOMEpost="$HOMEgfs" export HOMEobsproc_prep="$BASE_GIT/obsproc/obsproc_prep_RB-5.2.0" -export HOMEobsproc_network="$BASE_GIT/obsproc/obsproc_global_RB-3.2.2" +export HOMEobsproc_network="$BASE_GIT/obsproc/obsproc_global.v3.2.3" export HOMEobsproc_global=$HOMEobsproc_network export BASE_VERIF="$BASE_SVN/verif/global/tags/vsdb" @@ -304,6 +209,8 @@ export nst_anl=.true. # Analysis increments to zero in CALCINCEXEC export INCREMENTS_TO_ZERO="'delz_inc','clwmr_inc','icmr_inc'" +# Verification options +export DO_METP="YES" # Run MET+ jobs # Archiving options export HPSSARCH="NO" # save data to HPSS archive diff --git a/parm/config/config.fv3ic b/parm/config/config.fv3ic index afe998fbb..eaed3892e 100755 --- a/parm/config/config.fv3ic +++ b/parm/config/config.fv3ic @@ -10,7 +10,7 @@ export wtime_fv3ic="00:30:00" export npe_fv3ic=1 export npe_node_fv3ic=1 export nth_fv3ic=${NTHREADS_CHGRES:-24} -if [ $machine = THEIA -o $machine = HERA ]; then +if [ $machine = HERA ]; then export npe_fv3ic=4 export npe_node_fv3ic=4 export nth_fv3ic=1 diff --git a/parm/config/config.metp b/parm/config/config.metp new file mode 100755 index 000000000..9dd701ea1 --- /dev/null +++ b/parm/config/config.metp @@ -0,0 +1,69 @@ +#!/bin/ksh -x + +########## config.metp ########## +# METplus verification step specific + +echo "BEGIN: config.metp" + +# Get task specific resources +. $EXPDIR/config.resources metp + +export RUN_GRID2GRID_STEP1="YES" # Run grid-to-grid verification using METplus +export RUN_GRID2OBS_STEP1="YES" # Run grid-to-obs verification using METplus +export RUN_PRECIP_STEP1="YES" # Run precip verification using METplus + + +#---------------------------------------------------------- +# METplus, Verify grid-to-grid, and/or grid-to-obs, and/or precipitation options +#---------------------------------------------------------- + +if [ "$CDUMP" = "gfs" ] ; then + if [ $RUN_GRID2GRID_STEP1 = "YES" -o $RUN_GRID2OBS_STEP1 = "YES" -o $RUN_PRECIP_STEP1 = "YES" ]; then + export HOMEverif_global=${HOMEgfs}/sorc/verif-global.fd + export VERIF_GLOBALSH=$HOMEverif_global/ush/run_verif_global_in_global_workflow.sh + ## INPUT DATA SETTINGS + export model_list=$PSLOT + export model_data_dir_list=$ARCDIR/.. + export model_fileformat_list="pgbf{lead?fmt=%H}.${CDUMP}.{init?fmt=%Y%m%d%H}" + export model_hpssdir_list=$ATARDIR/.. + export get_data_from_hpss="NO" + export hpss_walltime="10" + ## OUTPUT SETTINGS + export OUTPUTROOT=$RUNDIR/$CDUMP/$CDATE/vrfy/metplus_exp + export model_arch_dir_list=$ARCDIR/.. + export make_met_data_by="VALID" + export gather_by="VSDB" + ## DATE SETTINGS + export VRFYBACK_HRS="24" + ## METPLUS SETTINGS + export METplus_verbosity="INFO" + export MET_verbosity="2" + export log_MET_output_to_METplus="yes" + ## FORECAST VERIFICATION SETTINGS + export fhr_min=$FHMIN_GFS + export fhr_max=$FHMAX_GFS + # GRID-TO-GRID STEP 1 + export g2g1_type_list="anom pres sfc" + export g2g1_anl_name="self_anl" + export g2g1_anl_fileformat_list="pgbanl.gfs.{valid?fmt=%Y%m%d%H}" + export g2g1_grid="G002" + # GRID-TO-OBS STEP 1 + export g2o1_type_list="upper_air conus_sfc" + export g2o1_obtype_upper_air="ADPUPA" + export g2o1_grid_upper_air="G003" + export g2o1_fhr_out_upper_air="6" + export g2o1_obtype_conus_sfc="ONLYSF" + export g2o1_grid_conus_sfc="G104" + export g2o1_fhr_out_conus_sfc="3" + export g2o1_prepbufr_data_runhpss="YES" + # PRECIP STEP 1 + export precip1_obtype="ccpa" + export precip1_accum_length="24" + export precip1_model_bucket_list="06" + export precip1_model_varname_list="APCP" + export precip1_model_fileformat_list="pgbf{lead?fmt=%H}.gfs.{init?fmt=%Y%m%d%H}" + export precip1_grid="G211" + fi +fi + +echo "END: config.metp" diff --git a/parm/config/config.post b/parm/config/config.post index 11eab60b4..63a219451 100755 --- a/parm/config/config.post +++ b/parm/config/config.post @@ -44,10 +44,4 @@ fi export GRIBVERSION='grib2' export SENDCOM="YES" -if [ $machine = "THEIA" ] ; then - export CRTM_FIX=/scratch3/NCEPDEV/nceplibs/dev/crtm/v2.2.3/fix -else - echo "UPP using CRTM_FIX = $CRTM_FIX" -fi - echo "END: config.post" diff --git a/parm/config/config.prepbufr b/parm/config/config.prepbufr index 198cc9ef8..c90a732c4 100755 --- a/parm/config/config.prepbufr +++ b/parm/config/config.prepbufr @@ -10,9 +10,7 @@ echo "BEGIN: config.prepbufr" # Set variables -if [ $machine = "THEIA" ]; then - export GESROOT=/scratch4/NCEPDEV/rstprod/nwges/prod # set by module prod_envir on WCOSS_C -elif [ $machine = "HERA" ]; then +if [ $machine = "HERA" ]; then export GESROOT=/scratch1/NCEPDEV/rstprod # set by module prod_envir on WCOSS_C fi diff --git a/parm/config/config.resources b/parm/config/config.resources index aa003d405..c3f563e84 100755 --- a/parm/config/config.resources +++ b/parm/config/config.resources @@ -8,7 +8,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input task argument to set resource variables!" echo "argument can be any one of the following:" - echo "anal fcst post vrfy arch" + echo "anal fcst post vrfy metp arch" echo "eobs eomg eupd ecen efcs epos earc" echo "postsnd awips gempak" exit 1 @@ -21,10 +21,11 @@ echo "BEGIN: config.resources" if [[ "$machine" = "WCOSS_DELL_P3" ]]; then export npe_node_max=28 + if [ "$QUEUE" = "dev2" -o "$QUEUE" = "devonprod2" -o "$QUEUE" = "devmax2" ]; then # WCOSS Dell 3.5 + export npe_node_max=40 + fi elif [[ "$machine" = "WCOSS_C" ]]; then export npe_node_max=24 -elif [[ "$machine" = "THEIA" ]]; then - export npe_node_max=24 elif [[ "$machine" = "JET" ]]; then export npe_node_max=24 elif [[ "$machine" = "HERA" ]]; then @@ -110,10 +111,25 @@ elif [ $step = "vrfy" ]; then export npe_node_vrfy_gfs=1 if [[ "$machine" == "WCOSS_C" ]]; then export memory_vrfy="3072M" - elif [[ "$machine" == "THEIA" ]]; then + elif [[ "$machine" == "HERA" ]]; then export memory_vrfy="16384M" fi +elif [ $step = "metp" ]; then + + export nth_metp=1 + export wtime_metp="03:00:00" + export npe_metp=4 + export npe_node_metp=4 + export wtime_metp_gfs="06:00:00" + export npe_metp_gfs=4 + export npe_node_metp_gfs=4 + if [[ "$machine" == "WCOSS_C" ]]; then + export memory_metp="3072M" + elif [[ "$machine" == "THEIA" ]]; then + export memory_metp="16384M" + fi + elif [ $step = "arch" -o $step = "earc" -o $step = "getic" ]; then eval "export wtime_$step='06:00:00'" diff --git a/parm/config/config.vrfy b/parm/config/config.vrfy index 88edf1d81..432c6d4e2 100755 --- a/parm/config/config.vrfy +++ b/parm/config/config.vrfy @@ -14,7 +14,6 @@ export CDFNL="gdas" # Scores verification against GDAS/GFS analysi export MKPGB4PRCP="YES" # Make 0.25-deg pgb files in ARCDIR for precip verification export VRFYFITS="YES" # Fit to observations -export VRFY_PCKG2RUN="VSDB" # "VSDB" = run VSDB verification package only, "METPLUS" = run METplus verification package only, "BOTH = run both verification packages export VSDB_STEP1="YES" # Populate VSDB database export VSDB_STEP2="NO" export VRFYG2OBS="YES" # Grid to observations, see note below if turning ON @@ -22,12 +21,9 @@ export VRFYPRCP="YES" # Precip threat scores export VRFYRAD="YES" # Radiance data assimilation monitoring export VRFYOZN="YES" # Ozone data assimilation monitoring export VRFYMINMON="YES" # GSI minimization monitoring -export VRFYTRAK="YES" # Hurricane track verification -export VRFYGENESIS="YES" # Cyclone genesis verification +export VRFYTRAK="YES" # Hurricane track verification +export VRFYGENESIS="YES" # Cyclone genesis verification export RUNMOS="NO" # whether to run entire MOS package -export RUN_METPLUS_GRID2GRID_STEP1="YES" # Run grid-to-grid verification using METplus -export RUN_METPLUS_GRID2OBS_STEP1="YES" # Run grid-to-obs verification using METplus -export RUN_METPLUS_PRECIP_STEP1="YES" # Run precip verification using METplus #------------------------------------------------- # Fit to Observations @@ -36,7 +32,7 @@ export RUN_METPLUS_PRECIP_STEP1="YES" # Run precip verification using METplus if [ $VRFYFITS = "YES" ]; then export PRVT=$HOMEgfs/fix/fix_gsi/prepobs_errtable.global - export HYBLEVS=$HOMEgfs/fix/fix_am/global_hyblev.l65.txt + export HYBLEVS=$HOMEgfs/fix/fix_am/global_hyblev.l${LEVS}.txt export CUE2RUN=$QUEUE if [ $machine = "WCOSS_C" ]; then @@ -45,7 +41,7 @@ if [ $VRFYFITS = "YES" ]; then elif [ $machine = "WCOSS_DELL_P3" ]; then export fitdir="$BASE_SVN/verif/global/parafits.fv3nems/batrun" export PREPQFITSH="$fitdir/subfits_dell_nems" - elif [ $machine = "THEIA" -o $machine = "HERA" ]; then + elif [ $machine = "HERA" ]; then export fitdir="$BASE_GIT/Fit2Obs/batrun" export PREPQFITSH="$fitdir/subfits_theia_slurm" fi @@ -62,84 +58,25 @@ if [ "$CDUMP" = "gfs" ] ; then ddd=`echo $CDATE |cut -c 1-8` #if [ $ddd -eq 5 -o $ddd -eq 10 ]; then export VSDB_STEP2 = "YES" ;fi - if [ $VRFY_PCKG2RUN = "VSDB" -o $VRFY_PCKG2RUN = "BOTH" ]; then - if [ $VSDB_STEP1 = "YES" -o $VSDB_STEP2 = "YES" -o $VRFYPRCP = "YES" -o $VRFYG2OBS = "YES" ]; then - export BACKDATEVSDB=24 # execute vsdbjob for the previous day - export VBACKUP_PRCP=24 # back up for QPF verification data - export vsdbsave="$NOSCRUB/archive/vsdb_data" # place to save vsdb database - export vsdbhome=$BASE_VERIF # location of global verification scripts - export VSDBSH="$vsdbhome/vsdbjob.sh" # VSDB job script - export vlength=$FHMAX_GFS # verification length - export vhr_rain=$FHMAX_GFS # verification length for precip - export ftyplist="pgbq" # verif. files used for computing QPF ETS scores - export ptyplist="PRATE" # precip types in GRIB: PRATE or APCP - export anltype="gfs" # default=gfs, analysis type (gfs or gdas) for verification - export rain_bucket=6 # prate in pgb files is 6-hr accumulated - - export VSDB_START_DATE="$SDATE" # starting date for vsdb maps - export webhost="emcrzdm.ncep.noaa.gov" # webhost(rzdm) computer - export webhostid="$USER" # webhost(rzdm) user name - export SEND2WEB="NO" # whether or not to send maps to webhost - export WEBDIR="/home/people/emc/www/htdocs/gmb/${webhostid}/vsdb/$PSLOT" - export mdlist="gfs $PSLOT " # exps (up to 10) to compare in maps - fi - fi -fi - - -#---------------------------------------------------------- -# METplus, Verify grid-to-grid, and/or grid-to-obs, and/or precipitation options -#---------------------------------------------------------- -# All these call $METPLUSSH - -if [ "$CDUMP" = "gfs" ] ; then - if [ $RUN_METPLUS_GRID2GRID_STEP1 = "YES" -o $RUN_METPLUS_GRID2OBS_STEP1 = "YES" -o $RUN_METPLUS_PRECIP_STEP1 = "YES" ]; then - if [ $VRFY_PCKG2RUN = "METPLUS" -o $VRFY_PCKG2RUN = "BOTH" ]; then - export HOMEverif_global=${HOMEgfs}/sorc/verif-global.fd - export VERIF_GLOBALSH=$HOMEverif_global/ush/run_verif_global_in_global_workflow.sh - export RUNBATCH="NO" - ## INPUT DATA SETTINGS - export model_list=$PSLOT - export model_data_dir_list=$ARCDIR/.. - export model_fileformat_list="pgbf{lead?fmt=%H}.${CDUMP}.{init?fmt=%Y%m%d%H}" - export model_hpssdir_list=$ATARDIR/.. - export get_data_from_hpss="NO" - export hpss_walltime="10" - ## OUTPUT SETTINGS - export OUTPUTROOT=$RUNDIR/$CDUMP/$CDATE/vrfy/metplus_exp - export model_arch_dir_list=$ARCDIR/.. - export make_met_data_by="VALID" - export gather_by="VSDB" - ## DATE SETTINGS - export VRFYBACK_HRS="24" - ## METPLUS SETTINGS - export METplus_verbosity="INFO" - export MET_verbosity="2" - export log_MET_output_to_METplus="yes" - ## FORECAST VERIFICATION SETTINGS - export fhr_min=$FHMIN_GFS - export fhr_max=$FHMAX_GFS - # GRID-TO-GRID STEP 1 - export g2g1_type_list="anom pres sfc" - export g2g1_anl_name="self_anl" - export g2g1_anl_fileformat_list="pgbanl.gfs.{valid?fmt=%Y%m%d%H}" - export g2g1_grid="G002" - # GRID-TO-OBS STEP 1 - export g2o1_type_list="upper_air conus_sfc" - export g2o1_obtype_upper_air="ADPUPA" - export g2o1_grid_upper_air="G003" - export g2o1_fhr_out_upper_air="6" - export g2o1_obtype_conus_sfc="ONLYSF" - export g2o1_grid_conus_sfc="G104" - export g2o1_fhr_out_conus_sfc="3" - # PRECIP STEP 1 - export precip1_obtype="ccpa" - export precip1_accum_length="24" - export precip1_model_bucket_list="06" - export precip1_model_varname_list="APCP" - export precip1_model_fileformat_list="pgbf{lead?fmt=%H}.gfs.{init?fmt=%Y%m%d%H}" - export precip1_grid="G211" - fi + if [ $VSDB_STEP1 = "YES" -o $VSDB_STEP2 = "YES" -o $VRFYPRCP = "YES" -o $VRFYG2OBS = "YES" ]; then + export BACKDATEVSDB=24 # execute vsdbjob for the previous day + export VBACKUP_PRCP=24 # back up for QPF verification data + export vsdbsave="$NOSCRUB/archive/vsdb_data" # place to save vsdb database + export vsdbhome=$BASE_VERIF # location of global verification scripts + export VSDBSH="$vsdbhome/vsdbjob.sh" # VSDB job script + export vlength=$FHMAX_GFS # verification length + export vhr_rain=$FHMAX_GFS # verification length for precip + export ftyplist="pgbq" # verif. files used for computing QPF ETS scores + export ptyplist="PRATE" # precip types in GRIB: PRATE or APCP + export anltype="gfs" # default=gfs, analysis type (gfs or gdas) for verification + export rain_bucket=6 # prate in pgb files is 6-hr accumulated + + export VSDB_START_DATE="$SDATE" # starting date for vsdb maps + export webhost="emcrzdm.ncep.noaa.gov" # webhost(rzdm) computer + export webhostid="$USER" # webhost(rzdm) user name + export SEND2WEB="NO" # whether or not to send maps to webhost + export WEBDIR="/home/people/emc/www/htdocs/gmb/${webhostid}/vsdb/$PSLOT" + export mdlist="gfs $PSLOT " # exps (up to 10) to compare in maps fi fi @@ -191,20 +128,8 @@ fi # Cyclone genesis and cyclone track verification #------------------------------------------------- -if [ $machine = "WCOSS_C" ] ; then - export ens_tracker_ver=v1.1.15.1 - export HOMEens_tracker=$BASE_GIT/ens_tracker.${ens_tracker_ver} -elif [ $machine = "WCOSS_DELL_P3" ] ; then - export ens_tracker_ver=v1.1.15.1 - export HOMEens_tracker=$BASE_GIT/ens_tracker.${ens_tracker_ver} -elif [ $machine = "THEIA" -o $machine = "HERA" ] ; then - export ens_tracker_ver=v1.1.15.1 - export HOMEens_tracker=$BASE_GIT/tracker/ens_tracker.${ens_tracker_ver} -else - echo "WARNING: Genesis and cyclone verifications are not enabled on $machine!" - export VRFYGENESIS="NO" - export VRFYTRAK="NO" -fi +export ens_tracker_ver=v1.1.15.1 +export HOMEens_tracker=$BASE_GIT/tracker/ens_tracker.${ens_tracker_ver} if [ "$VRFYTRAK" = "YES" ]; then @@ -217,12 +142,11 @@ if [ "$VRFYTRAK" = "YES" ]; then export FHOUT_CYCLONE=6 export FHMAX_CYCLONE=$(( FHMAX_GFS<240 ? FHMAX_GFS : 240 )) fi - if [ $machine = "THEIA" ]; then - export COMROOTp1="/scratch4/NCEPDEV/rstprod/com" - export COMINsyn="$COMROOTp1/arch/prod/syndat" - elif [ $machine = "HERA" ]; then + if [ $machine = "HERA" ]; then export COMROOTp1="/scratch1/NCEPDEV/rstprod/com" export COMINsyn=${COMINsyn:-${COMROOTp1}/arch/prod/syndat} + else + export COMINsyn=${COMINsyn:-${COMROOT}/gfs/prod/syndat} fi fi diff --git a/parm/product/bufr_stalist.meteo.gfs b/parm/product/bufr_stalist.meteo.gfs index b302f9f7e..e6911a933 100755 --- a/parm/product/bufr_stalist.meteo.gfs +++ b/parm/product/bufr_stalist.meteo.gfs @@ -106,7 +106,7 @@ 000235 41.63N 80.21W KGKL 11 MEADVILLE PA 427 Usr Rqst 2-11 000236 38.69N 80.65W K48I 11 SUTTON WV 255 Usr Rqst 2-11 000237 34.57N 117.67W KGXA 11 GRAY BUTTE FIELD CA 923 Usr Rqst 10-11 -000238 34.37N 117.36W EMF 11 EL MIRAGE FIELD CA 873 Usr Rqst 10-11 +000238 34.63N 117.61W EMF 11 EL MIRAGE FIELD CA 873 Usr Rqst 10-11 000239 45.97N 86.17W KISQ 11 MANISTIQUE MI 209 Usr Rqst 10-11 000240 46.42N 86.65W KP53 11 MUNISING MI 187 Usr Rqst 10-11 000241 39.16N 89.67W K3LF 11 LITCHFIELD IL 210 Usr Rqst 11-11 @@ -198,7 +198,7 @@ 000354 36.65N 118.48W TBM 11 TABLE MOUNTAIN CA -999 Usr Rqst 1-13 000355 42.47N 73.29W KPSF 11 PITTSFIELD MA 364 Usr Rqst 5-12 000356 39.21N 82.23W KUNI 11 ATHENS/ALBANY OH 232 Usr Rqst 5-12 -000357 40.48N 111.43W K36U 11 HEBER VALLEY MUN APT UT 1718 Usr Rqst 5-12 +000357 40.48N 111.43W KHCR 11 HEBER VALLEY MUN APT UT 1718 Usr Rqst 5-12 000358 33.02N 114.24W B40 11 YUMA AZ 303 DHS/AWC 8-13 000359 31.49N 110.30W B41 11 FT HUACHUCA AZ 1482 DHS/AWC 8-13 000360 32.02N 107.87W B42 11 DEMING NM 1293 DHS/AWC 8-13 @@ -252,11 +252,30 @@ 000503 39.30N 111.46W MTSL 12 MANTI SKYLINE UT 3048 Usr Rqst 2-18 000504 36.74N 104.65W RTN 12 RATON/CREWS_FLD NM 3674 Usr Rqst 2-18 000505 36.99N 77.00W KAKQ 12 WAKEFIELD VA 30 Usr Rqst 2-18 -000506 37.86N 78.89W KXSA 12 TAPPAHANNOCK VA 14 Usr Rqst 2-18 +000506 37.86N 76.89W KXSA 12 TAPPAHANNOCK VA 14 Usr Rqst 2-18 000507 38.54N 76.03W KCGE 12 CAMBRIDGE MD 6 Usr Rqst 2-18 000508 36.77N 77.79W KLVL 12 LAWRENCEVILLE VA 81 Usr Rqst 2-18 000509 43.78N 68.86W MSM1 20 MATINICUS ROCK ATL 0 Usr Rqst 2-18 000510 38.40N 80.00W SNWS 12 SNOWSHOE WV 1478 Usr Rqst 2-18 +000511 35.10N 117.56W KEYX 11 BORON (NEXRAD) CA 846 Usr Rqst 11-19 +000512 43.37N 103.39W KHSR 11 HOT SPRINGS APT SD 960 Usr Rqst 11-19 +000513 44.41N 103.48W FTMS 11 FORT MEADE SD 1008 Usr Rqst 11-19 +000514 42.21N 88.32W 3CK 11 LAKE IN THE HILLS APT IL 270 Usr Rqst 11-19 +000515 40.46N 88.10W PAXT 11 PAXTON IL 243 Usr Rqst 11-19 +000516 32.78N 79.92W CHTS 11 COOPER RIVER CHS SC 3 Usr Rqst 11-19 +000517 32.66N 79.93W FBIS 11 FOLLY ISLAND SC 5 Usr Rqst 11-19 +000518 32.03N 80.89W FPKG 11 FORT PULASKI GA 10 Usr Rqst 11-19 +000519 47.97N 117.43W KDEW 11 DEER PARK AIRPORT WA 674 Usr Rqst 11-19 +000520 36.22N 81.10W KUKF 11 WILKES COUNTY AIRPORT NC 397 Usr Rqst 11-19 +000521 42.47N 82.76W LSC 20 LAKE ST CLAIR MI 175 Usr Rqst 11-19 +000522 43.80N 83.72W SBL 20 INNER SAGINAW BAY MI 180 Usr Rqst 11-19 +000523 44.02N 82.79W KP58 11 PORT HOPE MI 185 Usr Rqst 11-19 +000524 41.69N 87.15W BRHR 20 BURNS HARBOR IN 176 Usr Rqst 11-19 +000525 41.61N 88.10W KLOT 11 LEWIS UNIV APT IL 207 Usr Rqst 11-19 +000526 36.46N 80.55W KMWK 11 MT AIRY SURRY CO APT NC 387 Usr Rqst 11-19 +000527 37.20N 112.99W ZION 11 ZION NTL PARK UT 1197 Usr Rqst 11-19 +000528 38.29N 111.26W CPRF 11 CAPITOL REEF NTL PARK UT 1672 Usr Rqst 11-19 +000529 38.74N 112.10W KRIF 11 RICHFIELD MUNI UT 1615 Usr Rqst 11-19 000601 37.20N 118.80W C01 12 NEAR YOSEMITE, CA 2936 GCIP 5-98 000602 47.61N 103.26W C02 12 WOLFORD, ND 762 GCIP 5-94 000603 37.80N 97.01W C03 12 TOWANDA, KS 390 GCIP 5-94 @@ -662,7 +681,10 @@ 041002 32.30N 75.20W B#2 20 BUOY S HATTERAS ATL 0 3-93 041004 32.50N 79.07W B#T 20 BUOY E SAVANNAH ATL 0 OPC 11-03 041006 29.30N 77.40W B#3 20 BUOY E DAYTONA ATL 0 3-93 +041008 31.40N 80.87W B#10 20 BUOY SE SAVANNAH ATL 0 Usr Rqst 11-19 041010 28.90N 78.50W B#4 20 BUOY CANAVERAL EAST ATL 0 NASA-JSC 3-93 +041029 32.80N 79.62W B#11 20 BUOY CAPERS NEARSHORE ATL 0 Usr Rqst 11-19 +041033 32.28N 80.41W FRP2 20 BUOY FRIPP NEARSHORE ATL 0 Usr Rqst 11-19 042001 25.90N 89.70W B#5 22 BUOY MID GULF MEX 0 FOUS(G2GFD) 3-93 042002 25.90N 93.60W B#6 22 BUOY W GULF MEX 0 FOUS(G2GFE) 3-93 042003 25.90N 85.90W B#7 22 BUOY E GULF MEX 0 NASA-JSCFOUS(B) @@ -692,6 +714,7 @@ 045132 42.47N 81.22W LE2 20 BUOY BUOY PORT STANLEY 174 6-02 045139 43.40N 79.45W LO2 20 BUOY WESTERN LAKE ONTARIO 75 6-02 045142 42.74N 79.35W LE3 20 BUOY PORT COLBORNE 174 6-02 +045174 42.14N 87.66W LM3 20 BUOY WILMETTE BUOY LK MICH 176 Usr Rqst 11-19 046001 56.30N 148.20W B#C 20 BUOY GULF OF AK PAC 0 3-93 046002 42.50N 130.50W B#D 20 BUOY OREGON PAC 0 3-93 046003 51.90N 155.90W B#E 20 BUOY S ALEUTIANS PAC 0 3-93 @@ -1687,6 +1710,7 @@ 727677 47.65N 101.43W N60 11 GARRISON ND 587 Usr Rqst 6-16 727680 48.22N 106.62W KGGW 12 GLASGOW_INTL_ARPT MT 700 UA NA110 FOUS TAF 2-99 727684 47.33N 106.93W JDN 10 JORDAN MT 811 TAF 7-01 +727686 48.10N 105.58W KOLF 10 WOLF_POINT_INTL_(ASOS) MT 605 Usr Rqst 11-19 727687 47.70N 104.20W KSDY 10 SIDNEY-RICHLAND MT 605 TAF 2-99 727720 46.60N 112.00W KHLN 10 HELENA_REGIONAL MT 1188 WRGN 8-97 TAF 2-99 727730 46.92N 114.08W KMSO 10 MISSOULA/BELL_FIELD MT 972 TAF 2-99 @@ -1761,6 +1785,7 @@ 745510 39.58N 94.19W P#I 12 LTHM7 LATHROP MO 297 PROF 745560 39.66N 90.48W P#J 12 WNCI2 WINCHESTER IL 170 PROF 745600 40.15N 89.33W ILX 12 LINCOLN IL 176 GCIP 9-95 +745966 39.02N 74.92W KWWD 11 WILDWOOD NJ 7 Usr Rqst 11-19 746120 35.68N 117.68W NID 10 CHINA_LAKE_(NAF)__& CA 696 FORMER UA 3-93 746290 32.41N 106.35W P#L 12 WSMN5 WHITE SANDS MR NM 1224 PROF 746300 36.84N 107.91W P#M 12 AZCN5 AZTEC NM 1902 PROF diff --git a/parm/transfer_gdas_misc.list b/parm/transfer_gdas_misc.list old mode 100644 new mode 100755 index d65e801e2..7768f72ab --- a/parm/transfer_gdas_misc.list +++ b/parm/transfer_gdas_misc.list @@ -23,7 +23,7 @@ # directory are included, so if no exclude patterns match that file, it will be # transferred. -com/arch/_ENVIR_/syndat/ +com/gfs/_ENVIR_/syndat/ B 180 com/realtime/_ENVIR_/gds._PDY_/ diff --git a/scripts/exgfs_postsnd.sh.ecf b/scripts/exgfs_postsnd.sh.ecf index fc8866bf3..0a5377783 100755 --- a/scripts/exgfs_postsnd.sh.ecf +++ b/scripts/exgfs_postsnd.sh.ecf @@ -128,7 +128,7 @@ fi # add appropriate WMO Headers. ######################################## collect=' 1 2 3 4 5 6 7 8 9' -if [ $machine == "THEIA" -o $machine == "JET" ]; then +if [ $machine == "JET" ]; then for m in ${collect} do sh $USHbufrsnd/gfs_sndp.sh $m diff --git a/sorc/build_all.sh b/sorc/build_all.sh index 1af1b2b16..50a31e14f 100755 --- a/sorc/build_all.sh +++ b/sorc/build_all.sh @@ -1,6 +1,8 @@ #!/bin/sh -set -eu +set +x #------------------------------------ +# Exception handling is now included. +# # USER DEFINED STUFF: # # USE_PREINST_LIBS: set to "true" to use preinstalled libraries. @@ -38,6 +40,12 @@ source ./machine-setup.sh > /dev/null 2>&1 . ./partial_build.sh +#------------------------------------ +# Exception Handling Init +#------------------------------------ +ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} +err=0 + #------------------------------------ # build libraries first #------------------------------------ @@ -53,6 +61,12 @@ echo " .... Library build not currently supported .... " $Build_fv3gfs && { echo " .... Building fv3 .... " ./build_fv3.sh > $logs_dir/build_fv3.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building fv3." + echo "The log file is in $logs_dir/build_fv3.log" +fi +((err+=$rc)) } #------------------------------------ @@ -61,6 +75,12 @@ echo " .... Building fv3 .... " $Build_gsi && { echo " .... Building gsi .... " ./build_gsi.sh > $logs_dir/build_gsi.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gsi." + echo "The log file is in $logs_dir/build_gsi.log" +fi +((err+=$rc)) } #------------------------------------ @@ -69,6 +89,12 @@ echo " .... Building gsi .... " $Build_ncep_post && { echo " .... Building ncep_post .... " ./build_ncep_post.sh > $logs_dir/build_ncep_post.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building ncep_post." + echo "The log file is in $logs_dir/build_ncep_post.log" +fi +((err+=$rc)) } #------------------------------------ @@ -77,15 +103,29 @@ echo " .... Building ncep_post .... " $Build_ufs_utils && { echo " .... Building ufs_utils .... " ./build_ufs_utils.sh > $logs_dir/build_ufs_utils.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building ufs_utils." + echo "The log file is in $logs_dir/build_ufs_utils.log" +fi +((err+=$rc)) } #------------------------------------ -# build gfs_wafs -#------------------------------------ -$Build_gfs_wafs && { -echo " .... Building gfs_wafs .... " -./build_gfs_wafs.sh > $logs_dir/build_gfs_wafs .log 2>&1 +# build gfs_wafs - optional checkout +#------------------------------------ +if [ -d gfs_wafs.fd ]; then + $Build_gfs_wafs && { + echo " .... Building gfs_wafs .... " + ./build_gfs_wafs.sh > $logs_dir/build_gfs_wafs.log 2>&1 + rc=$? + if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gfs_wafs." + echo "The log file is in $logs_dir/build_gfs_wafs.log" + fi + ((err+=$rc)) } +fi #------------------------------------ # build sfcanl_nsttfchg @@ -93,6 +133,12 @@ echo " .... Building gfs_wafs .... " $Build_sfcanl_nsttfchg && { echo " .... Building gaussian_sfcanl and nst_tf_chg .... " ./build_sfcanl_nsttfchg.sh > $logs_dir/build_sfcanl_nsttfchg.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gaussian_sfcanl and nst_tf_chg." + echo "The log file is in $logs_dir/build_sfcanl_nsttfchg.log" +fi +((err+=$rc)) } #------------------------------------ @@ -101,6 +147,12 @@ echo " .... Building gaussian_sfcanl and nst_tf_chg .... " $Build_enkf_chgres_recenter && { echo " .... Building enkf_chgres_recenter .... " ./build_enkf_chgres_recenter.sh > $logs_dir/build_enkf_chgres_recenter.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building enkf_chgres_recenter." + echo "The log file is in $logs_dir/build_enkf_chgres_recenter.log" +fi +((err+=$rc)) } #------------------------------------ @@ -109,6 +161,12 @@ echo " .... Building enkf_chgres_recenter .... " $Build_tropcy && { echo " .... Building tropcy_NEMS .... " ./build_tropcy_NEMS.sh > $logs_dir/build_tropcy_NEMS.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building tropcy_NEMS." + echo "The log file is in $logs_dir/build_tropcy_NEMS.log" +fi +((err+=$rc)) } #------------------------------------ @@ -117,6 +175,12 @@ echo " .... Building tropcy_NEMS .... " $Build_gdas && { echo " .... Building gdas .... " ./build_gdas.sh > $logs_dir/build_gdas.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gdas." + echo "The log file is in $logs_dir/build_gdas.log" +fi +((err+=$rc)) } #------------------------------------ @@ -125,6 +189,12 @@ echo " .... Building gdas .... " $Build_gfs_fbwndgfs && { echo " .... Building gfs_fbwndgfs .... " ./build_gfs_fbwndgfs.sh > $logs_dir/build_gfs_fbwndgfs.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gfs_fbwndgfs." + echo "The log file is in $logs_dir/build_gfs_fbwndgfs.log" +fi +((err+=$rc)) } #------------------------------------ @@ -133,6 +203,12 @@ echo " .... Building gfs_fbwndgfs .... " $Build_gfs_overpdtg2 && { echo " .... Building gfs_overpdtg2 .... " ./build_gfs_overpdtg2.sh > $logs_dir/build_gfs_overpdtg2.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gfs_overpdtg2." + echo "The log file is in $logs_dir/build_gfs_overpdtg2.log" +fi +((err+=$rc)) } #------------------------------------ @@ -141,6 +217,12 @@ echo " .... Building gfs_overpdtg2 .... " $Build_gfs_wintemv && { echo " .... Building gfs_wintemv .... " ./build_gfs_wintemv.sh > $logs_dir/build_gfs_wintemv.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gfs_wintemv." + echo "The log file is in $logs_dir/build_gfs_wintemv.log" +fi +((err+=$rc)) } #------------------------------------ @@ -149,6 +231,12 @@ echo " .... Building gfs_wintemv .... " $Build_gfs_bufrsnd && { echo " .... Building gfs_bufrsnd .... " ./build_gfs_bufrsnd.sh > $logs_dir/build_gfs_bufrsnd.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gfs_bufrsnd." + echo "The log file is in $logs_dir/build_gfs_bufrsnd.log" +fi +((err+=$rc)) } #------------------------------------ @@ -157,6 +245,12 @@ echo " .... Building gfs_bufrsnd .... " $Build_fv3nc2nemsio && { echo " .... Building fv3nc2nemsio .... " ./build_fv3nc2nemsio.sh > $logs_dir/build_fv3nc2nemsio.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building fv3nc2nemsio." + echo "The log file is in $logs_dir/build_fv3nc2nemsio.log" +fi +((err+=$rc)) } #------------------------------------ @@ -165,6 +259,12 @@ echo " .... Building fv3nc2nemsio .... " $Build_regrid_nemsio && { echo " .... Building regrid_nemsio .... " ./build_regrid_nemsio.sh > $logs_dir/build_regrid_nemsio.log 2>&1 +rc=$? +if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building regrid_nemsio." + echo "The log file is in $logs_dir/build_regrid_nemsio.log" +fi +((err+=$rc)) } #------------------------------------ @@ -175,26 +275,20 @@ if [ $target = wcoss -o $target = wcoss_cray -o $target = wcoss_dell_p3 ]; then $Build_gfs_util && { echo " .... Building gfs_util .... " ./build_gfs_util.sh > $logs_dir/build_gfs_util.log 2>&1 + rc=$? + if [[ $rc -ne 0 ]] ; then + echo "Fatal error in building gfs_util." + echo "The log file is in $logs_dir/build_gfs_util.log" + fi + ((err+=$rc)) } fi #------------------------------------ -# build prod_util -#------------------------------------ -$Build_prod_util && { -echo " .... prod_util build not currently supported .... " -#echo " .... Building prod_util .... " -#./build_prod_util.sh > $logs_dir/build_prod_util.log 2>&1 -} - -#------------------------------------ -# build grib_util +# Exception Handling #------------------------------------ -$Build_grib_util && { -echo " .... grib_util build not currently supported .... " -#echo " .... Building grib_util .... " -#./build_grib_util.sh > $logs_dir/build_grib_util.log 2>&1 -} +[[ $err -ne 0 ]] && echo "FATAL BUILD ERROR: Please check the log file for detail, ABORT!" +$ERRSCRIPT || exit $err echo;echo " .... Build system finished .... " diff --git a/sorc/build_fv3.sh b/sorc/build_fv3.sh index 8bd0dae72..dcc33d1f6 100755 --- a/sorc/build_fv3.sh +++ b/sorc/build_fv3.sh @@ -16,7 +16,6 @@ if [ ! -d "../exec" ]; then mkdir ../exec fi -if [ $target = theia ]; then target=theia.intel ; fi if [ $target = hera ]; then target=hera.intel ; fi cd fv3gfs.fd/ diff --git a/sorc/build_grib_util.sh b/sorc/build_grib_util.sh deleted file mode 100755 index 6569cc22c..000000000 --- a/sorc/build_grib_util.sh +++ /dev/null @@ -1,88 +0,0 @@ -#! /usr/bin/env bash -set -eux - -source ./machine-setup.sh > /dev/null 2>&1 -cwd=`pwd` - -USE_PREINST_LIBS=${USE_PREINST_LIBS:-"true"} -if [ $USE_PREINST_LIBS = true ]; then - export MOD_PATH=/scratch3/NCEPDEV/nwprod/lib/modulefiles - source ../modulefiles/modulefile.grib_util.$target > /dev/null 2>&1 -else - export MOD_PATH=${cwd}/lib/modulefiles - if [ $target = wcoss_cray ]; then - source ../modulefiles/modulefile.grib_util.${target}_userlib > /dev/null 2>&1 - else - source ../modulefiles/modulefile.grib_util.$target > /dev/null 2>&1 - fi -fi - -# Move to util/sorc folder -cd ../util/sorc - -# Check final exec folder exists -if [ ! -d "../exec" ]; then - mkdir ../exec -fi - -for grib_util in cnvgrib copygb2 degrib2 grbindex tocgrib2 tocgrib \ - copygb grb2index grib2grib tocgrib2super -do - cd $grib_util.fd - make -f makefile_$target clean - make -f makefile_$target - make -f makefile_$target install - make -f makefile_$target clean - cd .. -done - -# -# compile wgrib -# -cd wgrib.cd - make -f makefile_$target clean - make -f makefile_$target - make -f makefile_$target install - make -f makefile_$target clean -cd .. - -# -# compile wgrib2 -# -cd $cwd -source ./machine-setup.sh > /dev/null 2>&1 - -if [ $target = wcoss_cray -a $USE_PREINST_LIBS != true ]; then - source ../modulefiles/modulefile.wgrib2.${target}_userlib > /dev/null 2>&1 -else - source ../modulefiles/modulefile.wgrib2.$target > /dev/null 2>&1 -fi - -# Move to util/sorc folder -cd ../util/sorc -cwd=`pwd` - -#---------------------------------------------------------------- -export CPPFLAGS="-ffast-math -O3 -DGFORTRAN" -cd $cwd/wgrib2.cd/gctpc/ -make -f makefile.gctpc clean -make -f makefile.gctpc -rm -f *.o -#---------------------------------------------------------------- -if [ $target = wcoss_cray ]; then - export FFLAGS=-O2 - cd $cwd/wgrib2.cd/iplib/ - make clean - make - rm -f *.o -fi -#---------------------------------------------------------------- -cd $cwd/wgrib2.cd -module list -make -f makefile_$target clean -make -f makefile_$target -make -f makefile_$target install -make -f makefile_$target clean -#---------------------------------------------------------------- - -exit diff --git a/sorc/build_libs.sh b/sorc/build_libs.sh index 1d50665fb..31e158c1f 100755 --- a/sorc/build_libs.sh +++ b/sorc/build_libs.sh @@ -18,8 +18,6 @@ rm -rf libpng* libjasper* lib*.a incmod/* modulefiles/* # --- hopefully this will lead to single version in the future if [ $target = wcoss_cray ]; then bufr_ver=v11.0.1 -elif [ $target = "theia" ]; then - bufr_ver=v10.2.5 fi # -------------------------------------------------------------- diff --git a/sorc/build_prod_util.sh b/sorc/build_prod_util.sh deleted file mode 100755 index e4220f7c2..000000000 --- a/sorc/build_prod_util.sh +++ /dev/null @@ -1,47 +0,0 @@ -#! /usr/bin/env bash -set -eux - -source ./machine-setup.sh > /dev/null 2>&1 -cwd=`pwd` - -USE_PREINST_LIBS=${USE_PREINST_LIBS:-"true"} -if [ $USE_PREINST_LIBS = true ]; then - export MOD_PATH=/scratch3/NCEPDEV/nwprod/lib/modulefiles - source ../modulefiles/modulefile.prod_util.$target > /dev/null 2>&1 -else - export MOD_PATH=${cwd}/lib/modulefiles - if [ $target = wcoss_cray ]; then - source ../modulefiles/modulefile.prod_util.${target}_userlib > /dev/null 2>&1 - else - source ../modulefiles/modulefile.prod_util.$target > /dev/null 2>&1 - fi -fi - -# Move to util/sorc folder -cd ../util/sorc - -# Check final exec folder exists -if [ ! -d "../exec" ]; then - mkdir ../exec -fi - -for prod_util in fsync_file -do - cd $prod_util.cd - make -f makefile clean - make -f makefile - make -f makefile install - make -f makefile clean - cd .. -done - -for prod_util in mdate ndate nhour -do - cd $prod_util.fd - make -f makefile clean - make -f makefile - make -f makefile install - make -f makefile clean - cd .. -done -exit diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 3fcf53ab6..cf6201444 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -81,9 +81,9 @@ fi echo EMC_verif-global checkout ... if [[ ! -d verif-global.fd ]] ; then rm -f ${topdir}/checkout-verif-global.log - git clone --recursive gerrit:EMC_verif-global verif-global.fd >> ${topdir}/checkout-verif-global.log 2>&1 + git clone --recursive https://github.com/NOAA-EMC/EMC_verif-global.git verif-global.fd >> ${topdir}/checkout-verif-global.log 2>&1 cd verif-global.fd - git checkout verif_global_v1.2.2 + git checkout verif_global_v1.5.0 cd ${topdir} else echo 'Skip. Directory verif-global.fd already exist.' diff --git a/sorc/fv3gfs_build.cfg b/sorc/fv3gfs_build.cfg index 8143eb0bd..93fab7844 100644 --- a/sorc/fv3gfs_build.cfg +++ b/sorc/fv3gfs_build.cfg @@ -18,8 +18,6 @@ Building fv3nc2nemsio (fv3nc2nemsio) .................. yes Building regrid_nemsio (regrid_nemsio) ................ yes Building gfs_util (gfs_util) .......................... yes - Building prod_util (prod_util) ........................ no - Building grib_util (grib_util) ........................ no # -- END -- diff --git a/sorc/fv3nc2nemsio.fd/makefile.sh b/sorc/fv3nc2nemsio.fd/makefile.sh index 67f66f15e..94b9b253c 100755 --- a/sorc/fv3nc2nemsio.fd/makefile.sh +++ b/sorc/fv3nc2nemsio.fd/makefile.sh @@ -3,17 +3,6 @@ set -x machine=${1:-"cray"} -if [ $machine = "cray" ]; then -: -elif [ $machine = "theia" ]; then -: -else - - echo "machine $machine is unsupported, ABORT!" - exit 1 - -fi - source ../../modulefiles/module-setup.sh.inc module use ../../modulefiles module load modulefile.fv3nc2nemsio.$machine diff --git a/sorc/gaussian_sfcanl.fd/weight_gen/scrip.fd/make.sh b/sorc/gaussian_sfcanl.fd/weight_gen/scrip.fd/make.sh index 06a3df945..12ed3eefd 100755 --- a/sorc/gaussian_sfcanl.fd/weight_gen/scrip.fd/make.sh +++ b/sorc/gaussian_sfcanl.fd/weight_gen/scrip.fd/make.sh @@ -25,26 +25,26 @@ llogin? | slogin?) exit 1 ;; #--------------------------------------------------------------------------------- -# BUILD PROGRAM ON THEIA. +# BUILD PROGRAM ON HERA. #--------------------------------------------------------------------------------- -tfe??) +hfe??) source /apps/lmod/lmod/init/sh module purge - module load intel/18.1.163 + module load intel/18.0.5.274 export FCOMP=ifort export FFLAGS="-O0 -g -traceback -r8 -i4 -convert big_endian -check bounds" - module load netcdf/4.3.0 - module load hdf5/1.8.14 + module load netcdf/4.7.0 + module load hdf5/1.10.5 export NETCDF_INCLUDE="-I${NETCDF}/include" export NETCDF_LDFLAGS_F="-L${NETCDF}/lib -lnetcdf -lnetcdff -L${HDF5}/lib -lhdf5 -lhdf5_fortran" - module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles - module load sp/v2.0.2 + module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles + module load sp/2.0.2 make clean make diff --git a/sorc/link_fv3gfs.sh b/sorc/link_fv3gfs.sh index e1de979ae..0a75e2609 100755 --- a/sorc/link_fv3gfs.sh +++ b/sorc/link_fv3gfs.sh @@ -8,16 +8,16 @@ machine=${2} if [ $# -lt 2 ]; then echo '***ERROR*** must specify two arguements: (1) RUN_ENVIR, (2) machine' - echo ' Syntax: link_fv3gfs.sh ( nco | emc ) ( cray | dell | theia | hera )' + echo ' Syntax: link_fv3gfs.sh ( nco | emc ) ( cray | dell | hera )' exit 1 fi if [ $RUN_ENVIR != emc -a $RUN_ENVIR != nco ]; then - echo 'Syntax: link_fv3gfs.sh ( nco | emc ) ( cray | dell | theia | hera )' + echo 'Syntax: link_fv3gfs.sh ( nco | emc ) ( cray | dell | hera )' exit 1 fi -if [ $machine != cray -a $machine != theia -a $machine != dell -a $machine != hera ]; then - echo 'Syntax: link_fv3gfs.sh ( nco | emc ) ( cray | dell | theia | hera )' +if [ $machine != cray -a $machine != dell -a $machine != hera ]; then + echo 'Syntax: link_fv3gfs.sh ( nco | emc ) ( cray | dell | hera )' exit 1 fi @@ -34,8 +34,6 @@ if [ $machine == "cray" ]; then FIX_DIR="/gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/fix" elif [ $machine = "dell" ]; then FIX_DIR="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix" -elif [ $machine = "theia" ]; then - FIX_DIR="/scratch4/NCEPDEV/global/save/glopara/git/fv3gfs/fix" elif [ $machine = "hera" ]; then FIX_DIR="/scratch1/NCEPDEV/global/glopara/fix" fi @@ -76,10 +74,10 @@ cd ${pwd}/../util ||exit 8 done -#------------------------------ -#--add gfs_wafs link if on Dell -if [ $machine = dell -o $machine = hera ]; then -#------------------------------ +#----------------------------------- +#--add gfs_wafs link if checked out +if [ -d ${pwd}/gfs_wafs.fd ]; then +#----------------------------------- cd ${pwd}/../jobs ||exit 8 $LINK ../sorc/gfs_wafs.fd/jobs/* . cd ${pwd}/../parm ||exit 8 @@ -178,7 +176,7 @@ $LINK ../sorc/fv3gfs.fd/NEMS/exe/global_fv3gfs_ccpp.x . [[ -s gfs_ncep_post ]] && rm -f gfs_ncep_post $LINK ../sorc/gfs_post.fd/exec/ncep_post gfs_ncep_post -if [ $machine = dell -o $machine = hera ]; then +if [ -d ${pwd}/gfs_wafs.fd ]; then for wafsexe in wafs_awc_wafavn wafs_blending wafs_cnvgrib2 wafs_gcip wafs_makewafs wafs_setmissing; do [[ -s $wafsexe ]] && rm -f $wafsexe $LINK ../sorc/gfs_wafs.fd/exec/$wafsexe . @@ -234,7 +232,7 @@ cd ${pwd}/../sorc || exit 8 done - if [ $machine = dell -o $machine = hera ]; then + if [ -d ${pwd}/gfs_wafs.fd ]; then $SLINK gfs_wafs.fd/sorc/wafs_awc_wafavn.fd wafs_awc_wafavn.fd $SLINK gfs_wafs.fd/sorc/wafs_blending.fd wafs_blending.fd $SLINK gfs_wafs.fd/sorc/wafs_cnvgrib2.fd wafs_cnvgrib2.fd @@ -259,5 +257,3 @@ fi exit 0 - - diff --git a/sorc/machine-setup.sh b/sorc/machine-setup.sh index f6e1b9ca3..2dbe6abd7 100644 --- a/sorc/machine-setup.sh +++ b/sorc/machine-setup.sh @@ -21,7 +21,6 @@ USERNAME=`echo $LOGNAME | awk '{ print tolower($0)'}` ##--------------------------------------------------------------------------- export hname=`hostname | cut -c 1,1` if [[ -d /scratch1 ]] ; then -if [ $hname == 'h' ] ; then # We are on NOAA Hera if ( ! eval module help > /dev/null 2>&1 ) ; then echo load the module command 1>&2 @@ -37,19 +36,6 @@ if [ $hname == 'h' ] ; then export myFC=mpiifort export FCOMP=mpiifort -##--------------------------------------------------------------------------- -elif [ $hname == 't' ] ; then - # We are on NOAA Theia - if ( ! eval module help > /dev/null 2>&1 ) ; then - echo load the module command 1>&2 - source /apps/lmod/lmod/init/$__ms_shell - fi - target=theia - module purge - module use /scratch3/NCEPDEV/nwprod/modulefiles/ - module use /scratch3/NCEPDEV/nwprod/lib/modulefiles -fi #scratch1 - ##--------------------------------------------------------------------------- elif [[ -d /gpfs/hps && -e /etc/SuSE-release ]] ; then # We are on NOAA Luna or Surge diff --git a/sorc/ncl.setup b/sorc/ncl.setup index f27079c3f..c848fb988 100644 --- a/sorc/ncl.setup +++ b/sorc/ncl.setup @@ -14,16 +14,12 @@ then module load ncarg/v6.1.0 fi -if [ $target == theia ] -then -module load ncl/6.3.0 -fi - if [ $target == jet ] then module load ncl/6.5.0 export NCARG_LIB=$NCARG_ROOT/lib fi + if [ $target == hera ] then module load ncl/6.5.0 diff --git a/sorc/partial_build.sh b/sorc/partial_build.sh index 885548f05..da306969a 100755 --- a/sorc/partial_build.sh +++ b/sorc/partial_build.sh @@ -14,9 +14,7 @@ "Build_gfs_bufrsnd" \ "Build_fv3nc2nemsio" \ "Build_regrid_nemsio" \ - "Build_gfs_util" \ - "Build_prod_util" \ - "Build_grib_util") + "Build_gfs_util") # # function parse_cfg: read config file and retrieve the values diff --git a/ush/fv3ics.py b/ush/fv3ics.py deleted file mode 100755 index 155dd65be..000000000 --- a/ush/fv3ics.py +++ /dev/null @@ -1,331 +0,0 @@ -#!/usr/bin/env python - - -import os -import sys -import glob -import subprocess -import string -import random -import argparse - - -__author__ = "Rahul Mahajan" -__organization__ = "NOAA/NCEP/EMC" -__email__ = "rahul.mahajan@noaa.gov" -__version__ = '1.0.0' - - -def set_machine(): - - if os.path.isdir('/scratch4'): - return 'THEIA' - elif os.path.isdir('/gpfs/hps2'): - return 'WCOSS_C' - elif os.path.isdir('/gpfs/dell2'): - return 'WCOSS_DELL_P3' - else: - raise NotImplementedError('Unknown machine') - - -def set_paths(): - - if machine in ['THEIA']: - homegfs = "/scratch4/NCEPDEV/global/save/glopara/git/fv3gfs/gfs.v15.0.0" - stmp = "/scratch4/NCEPDEV/stmp4/%s" % os.environ['USER'] - elif machine in ['WCOSS_C']: - homegfs = "/gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/gfs.v15.0.0" - stmp = "/gpfs/hps3/stmp/%s" % os.environ['USER'] - elif machine in ['WCOSS_DELL_P3']: - homegfs = "/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/gfs.v15.0.0" - stmp = "/gpfs/dell2/stmp/%s" % os.environ['USER'] - - return homegfs, stmp - - -def get_accountinfo(): - - if machine in ['THEIA']: - queue, account = 'batch', 'fv3-cpu' - elif machine in ['WCOSS_C']: - queue, account = 'dev', 'FV3GFS-T2O' - elif machine in ['WCOSS_DELL_P3']: - queue, account = 'dev', 'FV3GFS-T2O' - - return queue, account - - -def get_jobcard(): - - queue, account = get_accountinfo() - - mdict = {'queue':queue, 'account': account, 'icsdir':icsdir, 'date':date, 'pwd':os.environ['PWD'], 'nthreads':nthreads} - - if machine in ['WCOSS_C', 'WCOSS_DELL_P3']: - - strings = ''' -#BSUB -J fv3ics_ -#BSUB -P {account} -#BSUB -q {queue} -#BSUB -W 0:30 -#BSUB -M 3072 -#BSUB -e {icsdir}/{date}///fv3ics.log -#BSUB -o {icsdir}/{date}///fv3ics.log -#BSUB -cwd {pwd} -'''.format(**mdict) - - if machine in ['WCOSS_C']: - strings += ''' -#BSUB -extsched 'CRAYLINUX[]' -R '1*{{select[craylinux && !vnode]}} + 24*{{select[craylinux && vnode]span[ptile=24] cu[type=cabinet]}}' -''' - elif machine in ['WCOSS_DELL_P3']: - strings += ''' -#BSUB -n 1 -#BSUB -R span[ptile=1] -#BSUB -R affinity[core(28):distribute=balance] -''' - - elif machine in ['THEIA']: - - strings = ''' -#PBS -N fv3ics_ -#PBS -A {account} -#PBS -q {queue} -#PBS -l walltime=00:30:00 -#PBS -l nodes=1:ppn={nthreads} -#PBS -o {icsdir}/{date}///fv3ics.log -#PBS -j oe -'''.format(**mdict) - - return strings - - -def get_jobtemplate(): - - strings = '''#!/bin/sh''' - - strings += get_jobcard() - - mdict = {'homegfs':homegfs, 'stmp':stmp, 'date':date, 'icsdir':icsdir, 'nthreads':nthreads} - strings += ''' -set -x - -export HOMEgfs={homegfs} -export STMP={stmp} - -export CDATE={date} -export CASE= -export INIDIR={icsdir}/$CDATE/ -export OUTDIR={icsdir}/$CDATE/$CASE//INPUT -export DATA=$STMP/RUNDIRS/tmpdir.fv3ics/$CDATE/$CASE/ - -export OMP_NUM_THREADS_CH={nthreads} -'''.format(**mdict) - - strings += ''' -export ATMANL=$INIDIR/ -export SFCANL=$INIDIR/ -''' - if nsst: - strings += '''export NSTANL=$INIDIR/ -''' - - if machine in ['WCOSS_C']: - strings += ''' -export APRUNC="aprun -j 1 -n 1 -N 1 -d $OMP_NUM_THREADS_CH -cc depth" -''' - - if machine in ['WCOSS_DELL_P3']: - strings += ''' -export APRUNC="mpirun -n 1" -''' - - strings += ''' -[[ -d $DATA ]] && rm -rf $DATA -[[ -d $OUTDIR ]] && rm -rf $OUTDIR -mkdir -p $OUTDIR - -# Load fv3gfs modules -source $HOMEgfs/ush/load_fv3gfs_modules.sh -module list - -$HOMEgfs/ush/global_chgres_driver.sh -status=$? -exit $status -''' - - return strings - - -def get_jobscript(member, files, jcap, case, strings): - - strings = strings.replace('', member) - strings = strings.replace('', jcap) - strings = strings.replace('', case) - - strings = strings.replace('', files['atmanl']) - strings = strings.replace('', files['sfcanl']) - if nsst: - strings = strings.replace('', files['nstanl']) - - return strings - - -def get_submitcmd(): - - if machine in ['THEIA']: - cmd = 'qsub' - elif machine in ['WCOSS_C', 'WCOSS_DELL_P3']: - cmd = 'bsub <' - - return cmd - - -def submit_jobs(jobs): - - def _random_id(length=8): - return ''.join(random.sample(string.ascii_letters + string.digits, length)) - - submit_cmd = get_submitcmd() - - for job in jobs: - - script = 'submit_%s.sh' % _random_id() - open(script, 'wb').write(job) - - cmd = '%s %s' % (submit_cmd, script) - try: - subprocess.check_call(cmd, stderr=subprocess.STDOUT, shell=True) - except subprocess.CalledProcessError as e: - print e.output - finally: - if not debug: - os.remove(script) - - return - - -def main(): - - global machine, homegfs, stmp, nthreads - global date, icsdir - global nsst - global CASE_det, CASE_ens, JCAP_det, JCAP_ens - global debug - - icsdirdoc = [] - icsdirdoc.append('Convert GFS files into FV3 files\n') - icsdirdoc.append('\n') - icsdirdoc.append('This script expects the following directory structure:\n') - icsdirdoc.append('\n') - icsdirdoc.append('ICSDIR/ [--icsdir]\n') - icsdirdoc.append('\tYYYYMMDDHH/ [--date]\n') - icsdirdoc.append('\t\tgdas.tHHz.abias\n') - icsdirdoc.append('\t\tgdas.tHHz.abias_pc\n') - icsdirdoc.append('\t\tgdas.tHHz.abias_air\n') - icsdirdoc.append('\t\tgdas.tHHz.radstat\n') - icsdirdoc.append('\t\tT1534/ [--JCAP_det]\n') - icsdirdoc.append('\t\t\tgdas.tHHz.atmanl.nemsio\n') - icsdirdoc.append('\t\t\tgdas.tHHz.sfcanl.nemsio\n') - icsdirdoc.append('\t\t\tgdas.tHHz.nstanl.nemsio (optional)\n') - icsdirdoc.append('\t\tT574/ [--JCAP_ens]\n') - icsdirdoc.append('\t\t\tgdas.tHHz.ratmanl.memXXX.nemsio\n') - icsdirdoc.append('\t\t\tgdas.tHHz.sfcanl.memXXX.nemsio\n') - icsdirdoc.append('\t\t\tgdas.tHHz.nstanl.memXXX.nemsio (optional)\n') - icsdirdoc.append('\t\tC96/ [--CASE_det] [--CASE_ens]\n') - icsdirdoc.append('\t\t\tcontrol/\n') - icsdirdoc.append('\t\t\t\tfv3ics.log\n') - icsdirdoc.append('\t\t\t\tINPUT/\n') - icsdirdoc.append('\t\t\t\t\tgfs_data.nc\n') - icsdirdoc.append('\t\t\t\t\t...\n') - icsdirdoc.append('\t\t\tmem001/\n') - icsdirdoc.append('\t\t\t\tfv3ics.log\n') - icsdirdoc.append('\t\t\t\tINPUT/\n') - icsdirdoc.append('\t\t\t\t\tgfs_data.nc\n') - icsdirdoc.append('\t\t\t\t\t...\n') - - parser = argparse.ArgumentParser(usage=''.join(icsdirdoc), formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument('--homegfs', help='full path to HOMEgfs', type=str, required=False, default='glopara') - parser.add_argument('--date', help='date of initial conditions to convert from GFS to FV3', type=str, metavar='YYYYMMDDHH', required=True) - parser.add_argument('--icsdir', help='full path to initial conditions directory', type=str, required=True) - parser.add_argument('--cdump', help='cycle', type=str, required=False, default='gdas') - parser.add_argument('--CASE_det', help='desired resolution of the FV3 deterministic initial conditions', type=int, required=False, default=None) - parser.add_argument('--CASE_ens', help='desired resolution of the FV3 ensemble initial conditions', type=int, required=False, default=None) - parser.add_argument('--JCAP_det', help='resolution of the deterministic GFS initial conditions', type=int, required=False, default=1534) - parser.add_argument('--JCAP_ens', help='resolution of the ensemble GFS initial conditions', type=int, required=False, default=574) - parser.add_argument('--nthreads', help='how many threads to use', type=int, required=False, default=24) - parser.add_argument('--debug', help='aid in debugging', action='store_true',required=False) - - input_args = parser.parse_args() - - if input_args.CASE_det is None and input_args.CASE_ens is None: - print 'CASE_det and CASE_ens both cannot be None' - print 'nothing to do, EXIT!' - print '\n' - sys.exit(1) - - homegfs_inp = input_args.homegfs - date = input_args.date - icsdir = input_args.icsdir - CASE_det = input_args.CASE_det - CASE_ens = input_args.CASE_ens - JCAP_det = input_args.JCAP_det - JCAP_ens = input_args.JCAP_ens - nthreads = input_args.nthreads - cdump = input_args.cdump - debug = input_args.debug - - PDY = date[:8] - cyc = date[8:] - - prefix = '%s.t%sz' % (cdump, cyc) - suffix = 'nemsio' - - chgres_det = False if CASE_det is None else True - chgres_ens = False if CASE_ens is None else True - - machine = set_machine() - homegfs_def, stmp = set_paths() - homegfs = homegfs_def if homegfs_inp == 'glopara' else homegfs_inp - - nsst = True if os.path.exists('%s/%s/T%s/%s.nstanl.%s' % (icsdir, date, JCAP_det, prefix, suffix)) else False - - job_template = get_jobtemplate() - - jobs = [] - - if chgres_det: - - files = {} - files['atmanl'] = '%s.atmanl.%s' % (prefix, suffix) - files['sfcanl'] = '%s.sfcanl.%s' % (prefix, suffix) - files['nstanl'] = '%s.nstanl.%s' % (prefix, suffix) if nsst else None - - cmd = 'mkdir -p %s/%s/C%d/control' % (icsdir, date, CASE_det) - os.system(cmd) - cmd = 'rm -f %s/%s/C%d/control/fv3ics.log' % (icsdir, date, CASE_det) - os.system(cmd) - job_script = get_jobscript('control', files, 'T%d' % JCAP_det, 'C%d' % CASE_det, job_template) - jobs.append(job_script) - - if chgres_ens: - nens = len(glob.glob('%s/%s/T%s/%s.ratmanl.mem???.%s' % (icsdir, date, JCAP_ens, prefix, suffix))) - - for i in range(1, nens+1): - - files = {} - files['atmanl'] = '%s.ratmanl.mem%03d.%s' % (prefix, i, suffix) - files['sfcanl'] = '%s.sfcanl.mem%03d.%s' % (prefix, i, suffix) - files['nstanl'] = '%s.nstanl.mem%03d.%s' % (prefix, i, suffix) if nsst else None - - cmd = 'mkdir -p %s/%s/C%d/mem%03d' % (icsdir, date, CASE_ens, i) - os.system(cmd) - cmd = 'rm -f %s/%s/C%d/mem%03d/fv3ics.log' % (icsdir, date, CASE_ens, i) - os.system(cmd) - job_script = get_jobscript('mem%03d' % i, files, 'T%d' % JCAP_ens, 'C%d' % CASE_ens, job_template) - jobs.append(job_script) - - submit_jobs(jobs) - -if __name__ == '__main__': - main() diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index a89c38a0f..8972b6575 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -18,9 +18,6 @@ if [[ -d /lfs3 ]] ; then elif [[ -d /scratch1 ]] ; then # We are on NOAA Hera module load module_base.hera -elif [[ -d /scratch3 ]] ; then - # We are on NOAA Theia - module load module_base.theia elif [[ -d /gpfs/hps && -e /etc/SuSE-release ]] ; then # We are on NOAA Luna or Surge module load module_base.wcoss_c diff --git a/ush/rocoto/fv3gfs_workflow.sh b/ush/rocoto/fv3gfs_workflow.sh index 7e52c6e76..7331b646f 100755 --- a/ush/rocoto/fv3gfs_workflow.sh +++ b/ush/rocoto/fv3gfs_workflow.sh @@ -17,10 +17,7 @@ edate="2017080112" # USER NEED NOT MODIFY BELOW THIS LINE ###################################### -if [ -d /scratch4/NCEPDEV ]; then - machine="theia" - icsdir="/scratch4/NCEPDEV/global/noscrub/glopara/ICS/FV3GFS" -elif [ -d /gpfs/hps3 ]; then +if [ -d /gpfs/hps3 ]; then machine="cray" icsdir="/gpfs/hps3/emc/global/noscrub/emc.glopara/ICS" else diff --git a/ush/rocoto/rocoto_viewer.py b/ush/rocoto/rocoto_viewer.py index 26db6943f..8dfad7286 100755 --- a/ush/rocoto/rocoto_viewer.py +++ b/ush/rocoto/rocoto_viewer.py @@ -192,11 +192,12 @@ def load_produtil_pythonpath(): pass PRODUTIL = collections.defaultdict(list) - PRODUTIL['theia'] = '/scratch4/NCEPDEV/global/save/glopara/svn/nceplibs/produtil/trunk/ush' + PRODUTIL['hera'] = '/scratch1/NCEPDEV/global/glopara/svn/nceplibs/produtil/trunk/ush' PRODUTIL['luna'] = '/gpfs/hps3/emc/global/noscrub/emc.glopara/svn/nceplibs/produtil/trunk/ush' - PRODUTIL['tide'] = '/gpfs/td1/emc/global/save/emc.glopara/svn/nceplibs/produtil/trunk/ush' - PRODUTIL['gyre'] = '/gpfs/gd1/emc/global/save/emc.glopara/svn/nceplibs/produtil/trunk/ush' - try_clusters = ('theia','luna','tide','gyre') + PRODUTIL['surge'] = '/gpfs/hps3/emc/global/noscrub/emc.glopara/svn/nceplibs/produtil/trunk/ush' + PRODUTIL['mars'] = '/gpfs/dell2/emc/modeling/noscrub/emc.glopara/svn/nceplibs/produtil/trunk/ush' + PRODUTIL['venus'] = '/gpfs/dell2/emc/modeling/noscrub/emc.glopara/svn/nceplibs/produtil/trunk/ush' + try_clusters = ('hera','luna','surge','mars','venus') for cluster in try_clusters: sys.path.append(PRODUTIL[cluster]) diff --git a/ush/rocoto/setup_expt.py b/ush/rocoto/setup_expt.py index 0d66a3691..d4841b327 100755 --- a/ush/rocoto/setup_expt.py +++ b/ush/rocoto/setup_expt.py @@ -76,12 +76,12 @@ def edit_baseconfig(): top = os.path.abspath(os.path.join( os.path.abspath(here), '../..')) - # make a copy of the default before editing - shutil.copy(base_config, base_config + '.default') + if os.path.exists(base_config): + os.unlink(base_config) print '\nSDATE = %s\nEDATE = %s' % (idate, edate) - with open(base_config + '.default', 'rt') as fi: - with open(base_config + '.new', 'wt') as fo: + with open(base_config + '.emc.dyn', 'rt') as fi: + with open(base_config, 'wt') as fo: for line in fi: line = line.replace('@MACHINE@', machine.upper()) \ .replace('@PSLOT@', pslot) \ @@ -91,6 +91,17 @@ def edit_baseconfig(): .replace('@CASECTL@', 'C%d' % resdet) \ .replace('@NMEM_ENKF@', '%d' % nens) \ .replace('@HOMEgfs@', top) \ + .replace('@BASE_GIT@', base_git) \ + .replace('@BASE_SVN@', base_svn) \ + .replace('@DMPDIR@', dmpdir) \ + .replace('@NWPROD@', nwprod) \ + .replace('@HOMEDIR@', homedir) \ + .replace('@STMP@', stmp) \ + .replace('@PTMP@', ptmp) \ + .replace('@NOSCRUB@', noscrub) \ + .replace('@ACCOUNT@', account) \ + .replace('@QUEUE@', queue) \ + .replace('@QUEUE_ARCH@', queue_arch) \ .replace('@gfs_cyc@', '%d' % gfs_cyc) if expdir is not None: line = line.replace('@EXPDIR@', os.path.dirname(expdir)) @@ -99,12 +110,10 @@ def edit_baseconfig(): if 'ICSDIR' in line: continue fo.write(line) - os.unlink(base_config) - os.rename(base_config + '.new', base_config) print '' print 'EDITED: %s/config.base as per user input.' % expdir - print 'DEFAULT: %s/config.base.default is for reference only.' % expdir + print 'DEFAULT: %s/config.base.emc.dyn is for reference only.' % expdir print 'Please verify and delete the default file before proceeding.' print '' @@ -131,6 +140,7 @@ def edit_baseconfig(): parser.add_argument('--nens', help='number of ensemble members', type=int, required=False, default=20) parser.add_argument('--cdump', help='CDUMP to start the experiment', type=str, required=False, default='gdas') parser.add_argument('--gfs_cyc', help='GFS cycles to run', type=int, choices=[0, 1, 2, 4], default=1, required=False) + parser.add_argument('--partition', help='partition on machine', type=str, required=False, default=None) args = parser.parse_args() @@ -151,6 +161,48 @@ def edit_baseconfig(): nens = args.nens cdump = args.cdump gfs_cyc = args.gfs_cyc + partition = args.partition + + # Set machine defaults + if machine == 'WCOSS_DELL_P3': + base_git = '/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git' + base_svn = '/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git' + dmpdir = '/gpfs/dell3/emc/global/dump' + nwprod = '/gpfs/dell1/nco/ops/nwprod' + homedir = '/gpfs/dell2/emc/modeling/noscrub/$USER' + stmp = '/gpfs/dell3/stmp/$USER' + ptmp = '/gpfs/dell3/ptmp/$USER' + noscrub = '/gpfs/dell2/emc/modeling/noscrub/$USER' + account = 'GFS-DEV' + queue = 'dev' + queue_arch = 'dev_transfer' + if partition in ['3p5']: + queue = 'dev2' + queue_arch = 'dev2_transfer' + elif machine == 'WCOSS_C': + base_git = '/gpfs/hps3/emc/global/noscrub/emc.glopara/git' + base_svn = '/gpfs/hps3/emc/global/noscrub/emc.glopara/svn' + dmpdir = '/gpfs/dell3/emc/global/dump' + nwprod = '/gpfs/hps/nco/ops/nwprod' + homedir = '/gpfs/hps3/emc/global/noscrub/$USER' + stmp = '/gpfs/hps2/stmp/$USER' + ptmp = '/gpfs/hps2/ptmp/$USER' + noscrub = '/gpfs/hps3/emc/global/noscrub/$USER' + account = 'GFS-DEV' + queue = 'dev' + queue_arch = 'dev_transfer' + elif machine == 'HERA': + base_git = '/scratch1/NCEPDEV/global/glopara/git' + base_svn = '/scratch1/NCEPDEV/global/glopara/svn' + dmpdir = '/scratch1/NCEPDEV/global/glopara/dump' + nwprod = '/scratch1/NCEPDEV/global/glopara/nwpara' + homedir = '/scratch1/NCEPDEV/global/$USER' + stmp = '/scratch1/NCEPDEV/stmp2/$USER' + ptmp = '/scratch1/NCEPDEV/stmp4/$USER' + noscrub = '$HOMEDIR' + account = 'fv3-cpu' + queue = 'batch' + queue_arch = 'service' if args.icsdir is not None and not os.path.exists(icsdir): msg = 'Initial conditions do not exist in %s' % icsdir diff --git a/ush/rocoto/setup_expt_fcstonly.py b/ush/rocoto/setup_expt_fcstonly.py index 51666a362..79d6fa9ed 100755 --- a/ush/rocoto/setup_expt_fcstonly.py +++ b/ush/rocoto/setup_expt_fcstonly.py @@ -65,6 +65,17 @@ def edit_baseconfig(): .replace('@EDATE@', edate.strftime('%Y%m%d%H')) \ .replace('@CASECTL@', 'C%d' % res) \ .replace('@HOMEgfs@', top) \ + .replace('@BASE_GIT@', base_git) \ + .replace('@BASE_SVN@', base_svn) \ + .replace('@DMPDIR@', dmpdir) \ + .replace('@NWPROD@', nwprod) \ + .replace('@HOMEDIR@', homedir) \ + .replace('@STMP@', stmp) \ + .replace('@PTMP@', ptmp) \ + .replace('@NOSCRUB@', noscrub) \ + .replace('@ACCOUNT@', account) \ + .replace('@QUEUE@', queue) \ + .replace('@QUEUE_ARCH@', queue_arch) \ .replace('@gfs_cyc@', '%d' % gfs_cyc) if expdir is not None: line = line.replace('@EXPDIR@', os.path.dirname(expdir)) @@ -99,6 +110,7 @@ def edit_baseconfig(): parser.add_argument('--edate', help='end date experiment', type=str, required=True) parser.add_argument('--configdir', help='full path to directory containing the config files', type=str, required=False, default=None) parser.add_argument('--gfs_cyc', help='GFS cycles to run', type=int, choices=[0, 1, 2, 4], default=1, required=False) + parser.add_argument('--partition', help='partition on machine', type=str, required=False, default=None) args = parser.parse_args() @@ -115,6 +127,48 @@ def edit_baseconfig(): comrot = args.comrot if args.comrot is None else os.path.join(args.comrot, pslot) expdir = args.expdir if args.expdir is None else os.path.join(args.expdir, pslot) gfs_cyc = args.gfs_cyc + partition = args.partition + + # Set machine defaults + if machine == 'WCOSS_DELL_P3': + base_git = '/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git' + base_svn = '/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git' + dmpdir = '/gpfs/dell3/emc/global/dump' + nwprod = '/gpfs/dell1/nco/ops/nwprod' + homedir = '/gpfs/dell2/emc/modeling/noscrub/$USER' + stmp = '/gpfs/dell3/stmp/$USER' + ptmp = '/gpfs/dell3/ptmp/$USER' + noscrub = '/gpfs/dell2/emc/modeling/noscrub/$USER' + account = 'GFS-DEV' + queue = 'dev' + queue_arch = 'dev_transfer' + if partition in ['3p5']: + queue = 'dev2' + queue_arch = 'dev2_transfer' + elif machine == 'WCOSS_C': + base_git = '/gpfs/hps3/emc/global/noscrub/emc.glopara/git' + base_svn = '/gpfs/hps3/emc/global/noscrub/emc.glopara/svn' + dmpdir = '/gpfs/dell3/emc/global/dump' + nwprod = '/gpfs/hps/nco/ops/nwprod' + homedir = '/gpfs/hps3/emc/global/noscrub/$USER' + stmp = '/gpfs/hps2/stmp/$USER' + ptmp = '/gpfs/hps2/ptmp/$USER' + noscrub = '/gpfs/hps3/emc/global/noscrub/$USER' + account = 'GFS-DEV' + queue = 'dev' + queue_arch = 'dev_transfer' + elif machine == 'HERA': + base_git = '/scratch1/NCEPDEV/global/glopara/git' + base_svn = '/scratch1/NCEPDEV/global/glopara/svn' + dmpdir = '/scratch1/NCEPDEV/global/glopara/dump' + nwprod = '/scratch1/NCEPDEV/global/glopara/nwpara' + homedir = '/scratch1/NCEPDEV/global/$USER' + stmp = '/scratch1/NCEPDEV/stmp2/$USER' + ptmp = '/scratch1/NCEPDEV/stmp4/$USER' + noscrub = '$HOMEDIR' + account = 'fv3-cpu' + queue = 'batch' + queue_arch = 'service' # COMROT directory create_comrot = True diff --git a/ush/rocoto/setup_workflow.py b/ush/rocoto/setup_workflow.py index 778596846..505af50b9 100755 --- a/ush/rocoto/setup_workflow.py +++ b/ush/rocoto/setup_workflow.py @@ -44,8 +44,10 @@ def main(): gfs_steps = ['prep', 'anal', 'fcst', 'postsnd', 'post', 'awips', 'gempak', 'vrfy', 'arch'] hyb_steps = ['eobs', 'eomg', 'eupd', 'ecen', 'efcs', 'epos', 'earc'] + metp_steps = ['metp'] steps = gfs_steps + hyb_steps if _base.get('DOHYBVAR', 'NO') == 'YES' else gfs_steps + steps = steps + metp_steps if _base.get('DO_METP', 'NO') == 'YES' else steps dict_configs = wfu.source_configs(configs, steps) @@ -216,6 +218,7 @@ def get_gdasgfs_resources(dict_configs, cdump='gdas'): do_bufrsnd = base.get('DO_BUFRSND', 'NO').upper() do_gempak = base.get('DO_GEMPAK', 'NO').upper() do_awips = base.get('DO_AWIPS', 'NO').upper() + do_metp = base.get('DO_METP', 'NO').upper() tasks = ['prep', 'anal', 'fcst', 'post', 'vrfy', 'arch'] @@ -225,6 +228,8 @@ def get_gdasgfs_resources(dict_configs, cdump='gdas'): tasks += ['gempak'] if cdump in ['gfs'] and do_awips in ['Y', 'YES']: tasks += ['awips'] + if cdump in ['gfs'] and do_metp in ['Y', 'YES']: + tasks += ['metp'] dict_resources = OrderedDict() @@ -345,6 +350,7 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): do_bufrsnd = base.get('DO_BUFRSND', 'NO').upper() do_gempak = base.get('DO_GEMPAK', 'NO').upper() do_awips = base.get('DO_AWIPS', 'NO').upper() + do_metp = base.get('DO_METP', 'NO').upper() dumpsuffix = base.get('DUMP_SUFFIX', '') dict_tasks = OrderedDict() @@ -431,6 +437,21 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): dict_tasks['%svrfy' % cdump] = task + # metp + if cdump in ['gfs'] and do_metp in ['Y', 'YES']: + deps = [] + dep_dict = {'type':'metatask', 'name':'%spost' % cdump} + deps.append(rocoto.add_dependency(dep_dict)) + dep_dict = {'type':'task', 'name':'%sarch' % cdump, 'offset':'-&INTERVAL_GFS;'} + deps.append(rocoto.add_dependency(dep_dict)) + dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) + metpcase = rocoto.create_envar(name='METPCASE', value='#metpcase#') + metpenvars = envars + [metpcase] + varname1 = 'metpcase' + varval1 = 'g2g1 g2o1 pcp1' + task = wfu.create_wf_task('metp', cdump=cdump, envar=metpenvars, dependency=dependencies, + metatask='metp', varname=varname1, varval=varval1) + dict_tasks['%smetp' % cdump] = task if cdump in ['gfs'] and do_bufrsnd in ['Y', 'YES']: #postsnd diff --git a/ush/rocoto/setup_workflow_fcstonly.py b/ush/rocoto/setup_workflow_fcstonly.py index c3569578a..0aaeda4bf 100755 --- a/ush/rocoto/setup_workflow_fcstonly.py +++ b/ush/rocoto/setup_workflow_fcstonly.py @@ -28,7 +28,7 @@ import workflow_utils as wfu -taskplan = ['getic', 'fv3ic', 'aeroic', 'fcst', 'post', 'vrfy', 'arch'] +taskplan = ['getic', 'fv3ic', 'aeroic', 'fcst', 'post', 'vrfy', 'metp', 'arch'] def main(): parser = ArgumentParser(description='Setup XML workflow and CRONTAB for a forecast only experiment.', formatter_class=ArgumentDefaultsHelpFormatter) @@ -224,6 +224,9 @@ def get_workflow(dict_configs, cdump='gdas'): envars.append(rocoto.create_envar(name='PDY', value='@Y@m@d')) envars.append(rocoto.create_envar(name='cyc', value='@H')) + base = dict_configs['base'] + do_metp = base.get('DO_METP', 'NO').upper() + tasks = [] # getics @@ -347,6 +350,23 @@ def get_workflow(dict_configs, cdump='gdas'): tasks.append(task) tasks.append('\n') + # metp + if do_metp in ['Y', 'YES']: + deps = [] + dep_dict = {'type':'metatask', 'name':'%spost' % cdump} + deps.append(rocoto.add_dependency(dep_dict)) + dep_dict = {'type':'task', 'name':'%sarch' % cdump, 'offset':'-&INTERVAL;'} + deps.append(rocoto.add_dependency(dep_dict)) + dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) + metpcase = rocoto.create_envar(name='METPCASE', value='#metpcase#') + metpenvars = envars + [metpcase] + varname1 = 'metpcase' + varval1 = 'g2g1 g2o1 pcp1' + task = wfu.create_wf_task('metp', cdump=cdump, envar=metpenvars, dependency=dependencies, + metatask='metp', varname=varname1, varval=varval1) + tasks.append(task) + tasks.append('\n') + # arch deps = [] dep_dict = {'type':'metatask', 'name':'%spost' % cdump} diff --git a/ush/rocoto/workflow_utils.py b/ush/rocoto/workflow_utils.py index f878e5375..50a1f7534 100755 --- a/ush/rocoto/workflow_utils.py +++ b/ush/rocoto/workflow_utils.py @@ -16,7 +16,6 @@ DATE_ENV_VARS=['CDATE','SDATE','EDATE'] SCHEDULER_MAP={'HERA':'slurm', - 'THEIA':'slurm', 'WCOSS':'lsf', 'WCOSS_DELL_P3':'lsf', 'WCOSS_C':'lsfcray'} @@ -145,12 +144,10 @@ def config_parser(files): def detectMachine(): - machines = ['THEIA', 'HERA', 'WCOSS_C', 'WCOSS_DELL_P3'] + machines = ['HERA', 'WCOSS_C', 'WCOSS_DELL_P3'] if os.path.exists('/scratch1/NCEPDEV'): return 'HERA' - elif os.path.exists('/scratch3/NCEPDEV'): - return 'THEIA' elif os.path.exists('/gpfs') and os.path.exists('/etc/SuSE-release'): return 'WCOSS_C' elif os.path.exists('/gpfs/dell2'): @@ -302,7 +299,7 @@ def get_resources(machine, cfg, task, cdump='gdas'): if scheduler in ['slurm']: natstr = '--export=NONE' - if machine in ['THEIA', 'HERA', 'WCOSS_C', 'WCOSS_DELL_P3']: + if machine in ['HERA', 'WCOSS_C', 'WCOSS_DELL_P3']: if machine in ['HERA']: resstr = '%d:ppn=%d:tpp=%d' % (nodes, ppn, threads) @@ -342,7 +339,7 @@ def create_crontab(base, cronint=5): return # Leaving the code for a wrapper around crontab file if needed again later -# if check_slurm() and base['machine'] in ['THEIA']: +# if check_slurm(): # # cronintstr = '*/%d * * * *' % cronint # rocotorunstr = '%s -d %s/%s.db -w %s/%s.xml' % (rocotoruncmd, base['EXPDIR'], base['PSLOT'], base['EXPDIR'], base['PSLOT']) diff --git a/util/modulefiles/gfs_util.theia b/util/modulefiles/gfs_util.theia deleted file mode 100644 index 50c7bf1d5..000000000 --- a/util/modulefiles/gfs_util.theia +++ /dev/null @@ -1,25 +0,0 @@ -#%Module##################################################### -## Module file for GFS util -############################################################# -# -# Loading required system modules -# - -# Loading Intel Compiler Suite -module load intel/18.1.163 -module load impi/5.1.2.150 -module load ncl/6.3.0 -module load gempak/7.4.2 - -# Loding nceplibs modules -module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles -module load bacio/v2.0.1 -module load w3emc/v2.2.0 -module load w3nco/v2.0.6 -module load ip/v3.0.0 -module load sp/v2.0.2 -module load bufr/v11.1.0 -module load graphics/v2.0.0 - -export GEMINC=/apps/gempak/7.4.2/gempak/include -export GEMOLB=/apps/gempak/7.4.2/os/linux64/lib diff --git a/util/sorc/compile_gfs_util_wcoss.sh b/util/sorc/compile_gfs_util_wcoss.sh index f260d14d1..6cafe01bc 100755 --- a/util/sorc/compile_gfs_util_wcoss.sh +++ b/util/sorc/compile_gfs_util_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/faxmakr.fd/compile_faxmakr_wcoss.sh b/util/sorc/faxmakr.fd/compile_faxmakr_wcoss.sh index 4a97888a0..31e5b0240 100755 --- a/util/sorc/faxmakr.fd/compile_faxmakr_wcoss.sh +++ b/util/sorc/faxmakr.fd/compile_faxmakr_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/faxmakrx.fd/compile_faxmakrx_wcoss.sh b/util/sorc/faxmakrx.fd/compile_faxmakrx_wcoss.sh index dc8078236..b717860c9 100755 --- a/util/sorc/faxmakrx.fd/compile_faxmakrx_wcoss.sh +++ b/util/sorc/faxmakrx.fd/compile_faxmakrx_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/fxcompoz.fd/compile_fxcompoz_wcoss.sh b/util/sorc/fxcompoz.fd/compile_fxcompoz_wcoss.sh index b185ba308..8a206ee8e 100755 --- a/util/sorc/fxcompoz.fd/compile_fxcompoz_wcoss.sh +++ b/util/sorc/fxcompoz.fd/compile_fxcompoz_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/gendata.fd/compile_gendata_wcoss.sh b/util/sorc/gendata.fd/compile_gendata_wcoss.sh index 642ac9c37..8a043b352 100755 --- a/util/sorc/gendata.fd/compile_gendata_wcoss.sh +++ b/util/sorc/gendata.fd/compile_gendata_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/mkgfsawps.fd/compile_mkgfsawps_wcoss.sh b/util/sorc/mkgfsawps.fd/compile_mkgfsawps_wcoss.sh index 103ed63e3..97c04173d 100755 --- a/util/sorc/mkgfsawps.fd/compile_mkgfsawps_wcoss.sh +++ b/util/sorc/mkgfsawps.fd/compile_mkgfsawps_wcoss.sh @@ -3,7 +3,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/overgridid.fd/compile_overgridid_wcoss.sh b/util/sorc/overgridid.fd/compile_overgridid_wcoss.sh index d9baf16d9..da3550ceb 100755 --- a/util/sorc/overgridid.fd/compile_overgridid_wcoss.sh +++ b/util/sorc/overgridid.fd/compile_overgridid_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/plotvpap.fd/compile_plotvpap_wcoss.sh b/util/sorc/plotvpap.fd/compile_plotvpap_wcoss.sh index c6046803a..fa20959fe 100755 --- a/util/sorc/plotvpap.fd/compile_plotvpap_wcoss.sh +++ b/util/sorc/plotvpap.fd/compile_plotvpap_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/ras2bit.fd/compile_ras2bit_wcoss.sh b/util/sorc/ras2bit.fd/compile_ras2bit_wcoss.sh index 4121b285f..9db5d0665 100755 --- a/util/sorc/ras2bit.fd/compile_ras2bit_wcoss.sh +++ b/util/sorc/ras2bit.fd/compile_ras2bit_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/ras2bity.fd/compile_ras2bity_wcoss.sh b/util/sorc/ras2bity.fd/compile_ras2bity_wcoss.sh index abbf0e13a..f09df01cf 100755 --- a/util/sorc/ras2bity.fd/compile_ras2bity_wcoss.sh +++ b/util/sorc/ras2bity.fd/compile_ras2bity_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/rdbfmsua.fd/compile_rdbfmsua_wcoss.sh b/util/sorc/rdbfmsua.fd/compile_rdbfmsua_wcoss.sh index b4b53ee37..e3bc85810 100755 --- a/util/sorc/rdbfmsua.fd/compile_rdbfmsua_wcoss.sh +++ b/util/sorc/rdbfmsua.fd/compile_rdbfmsua_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/redsat.fd/compile_redsat_wcoss.sh b/util/sorc/redsat.fd/compile_redsat_wcoss.sh index c5c7c06a9..638eecccb 100755 --- a/util/sorc/redsat.fd/compile_redsat_wcoss.sh +++ b/util/sorc/redsat.fd/compile_redsat_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/rsonde.fd/compile_rsonde_wcoss.sh b/util/sorc/rsonde.fd/compile_rsonde_wcoss.sh index e73ef6d21..bd71f11fb 100755 --- a/util/sorc/rsonde.fd/compile_rsonde_wcoss.sh +++ b/util/sorc/rsonde.fd/compile_rsonde_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/rsondplt.fd/compile_rsondplt_wcoss.sh b/util/sorc/rsondplt.fd/compile_rsondplt_wcoss.sh index c285bc76a..b51551254 100755 --- a/util/sorc/rsondplt.fd/compile_rsondplt_wcoss.sh +++ b/util/sorc/rsondplt.fd/compile_rsondplt_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/sixbitb.fd/compile_sixbitb_wcoss.sh b/util/sorc/sixbitb.fd/compile_sixbitb_wcoss.sh index a72ce8635..ae1bd4c0a 100755 --- a/util/sorc/sixbitb.fd/compile_sixbitb_wcoss.sh +++ b/util/sorc/sixbitb.fd/compile_sixbitb_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/sixbitb2.fd/compile_sixbitb2_wcoss.sh b/util/sorc/sixbitb2.fd/compile_sixbitb2_wcoss.sh index a91cd918e..f3f8a734d 100755 --- a/util/sorc/sixbitb2.fd/compile_sixbitb2_wcoss.sh +++ b/util/sorc/sixbitb2.fd/compile_sixbitb2_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/terrain.fd/makefile.sh b/util/sorc/terrain.fd/makefile.sh index 1e8f4b3fb..d1b5f5bc3 100755 --- a/util/sorc/terrain.fd/makefile.sh +++ b/util/sorc/terrain.fd/makefile.sh @@ -16,10 +16,6 @@ elif [ $machine = WCOSS_C ] ; then FFOPTS="-i4 -O3 -r8 -convert big_endian -fp-model precise -openmp" LIBS="${W3EMC_LIBd} ${W3NCO_LIBd} ${BACIO_LIB4} ${SP_LIBd}" LDOPTS="-openmp -mkl" -elif [ $machine = THEIA ] ; then - CF=ftn - FFOPTS="-i4 -O3 -r8 -convert big_endian -fp-model precise -openmp" - LIBS="${W3EMC_LIBd} ${W3NCO_LIBd} ${BACIO_LIB4} ${SP_LIBd}" fi f=mtnlm7_slm30g.f diff --git a/util/sorc/trpanl.fd/compile_trpanl_wcoss.sh b/util/sorc/trpanl.fd/compile_trpanl_wcoss.sh index 51dd2fcce..1fcf9e747 100755 --- a/util/sorc/trpanl.fd/compile_trpanl_wcoss.sh +++ b/util/sorc/trpanl.fd/compile_trpanl_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/trpsfcmv.fd/compile_trpsfcmv_wcoss.sh b/util/sorc/trpsfcmv.fd/compile_trpsfcmv_wcoss.sh index 23474483e..b4592ea34 100755 --- a/util/sorc/trpsfcmv.fd/compile_trpsfcmv_wcoss.sh +++ b/util/sorc/trpsfcmv.fd/compile_trpsfcmv_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/trpsfprv.fd/compile_trpsfprv_wcoss.sh b/util/sorc/trpsfprv.fd/compile_trpsfprv_wcoss.sh index c09de7ca1..91d1f3fec 100755 --- a/util/sorc/trpsfprv.fd/compile_trpsfprv_wcoss.sh +++ b/util/sorc/trpsfprv.fd/compile_trpsfprv_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/upaprep.fd/compile_upaprep_wcoss.sh b/util/sorc/upaprep.fd/compile_upaprep_wcoss.sh index b492dc681..188f7cd5a 100755 --- a/util/sorc/upaprep.fd/compile_upaprep_wcoss.sh +++ b/util/sorc/upaprep.fd/compile_upaprep_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/webtitle.fd/compile_webtitle_wcoss.sh b/util/sorc/webtitle.fd/compile_webtitle_wcoss.sh index 6101d84f5..7b1af5d7f 100755 --- a/util/sorc/webtitle.fd/compile_webtitle_wcoss.sh +++ b/util/sorc/webtitle.fd/compile_webtitle_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " " diff --git a/util/sorc/wndanftf.fd/compile_wndanftf_wcoss.sh b/util/sorc/wndanftf.fd/compile_wndanftf_wcoss.sh index 252745f29..d446a9212 100755 --- a/util/sorc/wndanftf.fd/compile_wndanftf_wcoss.sh +++ b/util/sorc/wndanftf.fd/compile_wndanftf_wcoss.sh @@ -10,7 +10,7 @@ LMOD_EXACT_MATCH=no source ../../../sorc/machine-setup.sh > /dev/null 2>&1 cwd=`pwd` -if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] || [ "$target" = "theia" ] ; then +if [ "$target" = "wcoss_dell_p3" ] || [ "$target" = "wcoss_cray" ] ; then echo " " echo " You are on WCOSS: $target " echo " "