diff --git a/ecflow/ecf/include/envir-p1.h b/ecflow/ecf/include/envir-p1.h
deleted file mode 100644
index 1f4495e5c2..0000000000
--- a/ecflow/ecf/include/envir-p1.h
+++ /dev/null
@@ -1,51 +0,0 @@
-# envir-p1.h
-export job=${job:-$LSB_JOBNAME} #Can't use $job in filenames!
-export jobid=${jobid:-${job}.$LSB_JOBID}
-
-export RUN_ENVIR=${RUN_ENVIR:-nco}
-export envir=%ENVIR%
-export SENDDBN=${SENDDBN:-%SENDDBN:YES%}
-export SENDDBN_NTC=${SENDDBN_NTC:-%SENDDBN_NTC:YES%}
-
-export COMROOT=${COMROOT:-/com}
-export GESROOT=${GESROOT:-/nwges}
-export UTILROOT=${UTILROOT:-/nwprod/util}
-export DCOMROOT=/dcom/us007003 # previously set to /dcom in .bash_profile
-
-case $envir in
- prod)
- export jlogfile=${jlogfile:-${COMROOT}/logs/jlogfiles/jlogfile.${jobid}}
- export DATAROOT=${DATAROOT:-/tmpnwprd1}
- if [ "$SENDDBN" == "YES" ]; then
- export DBNROOT=/iodprod/dbnet_siphon # previously set in .bash_profile
- else
- export DBNROOT=/nwprod/spa_util/fakedbn
- fi
- ;;
- eval)
- export envir=para
- export jlogfile=${jlogfile:-${COMROOT}/logs/${envir}/jlogfile}
- export DATAROOT=${DATAROOT:-/tmpnwprd2}
- if [ "$SENDDBN" == "YES" ]; then
- export DBNROOT=/nwprod/spa_util/para_dbn
- SENDDBN_NTC=NO
- else
- export DBNROOT=/nwprod/spa_util/fakedbn
- fi
- ;;
- para|test)
- export jlogfile=${jlogfile:-${COMROOT}/logs/${envir}/jlogfile}
- export DATAROOT=${DATAROOT:-/tmpnwprd2}
- export DBNROOT=/nwprod/spa_util/fakedbn
- ;;
- *)
- ecflow_client --abort="ENVIR must be prod, para, eval, or test [envir.h]"
- exit
- ;;
-esac
-
-export NWROOT=${NWROOT:-/nw${envir}}
-export PCOMROOT=${PCOMROOT:-/pcom/${envir}}
-export SENDECF=${SENDECF:-YES}
-export SENDCOM=${SENDCOM:-YES}
-export KEEPDATA=${KEEPDATA:-%KEEPDATA:NO%}
diff --git a/ecflow/ecf/include/envir-p2.h b/ecflow/ecf/include/envir-p2.h
deleted file mode 100644
index 968206b6ff..0000000000
--- a/ecflow/ecf/include/envir-p2.h
+++ /dev/null
@@ -1,63 +0,0 @@
-# envir-p2.h
-export job=${job:-$LSB_JOBNAME} #Can't use $job in filenames!
-export jobid=${jobid:-$job.$LSB_JOBID}
-
-export RUN_ENVIR=${RUN_ENVIR:-nco}
-export envir=%ENVIR%
-export SENDDBN=${SENDDBN:-%SENDDBN:YES%}
-export SENDDBN_NTC=${SENDDBN_NTC:-%SENDDBN_NTC:YES%}
-
-export COMROOTp1=${COMROOTp1:-/com}
-export GESROOTp1=${GESROOTp1:-/nwges}
-export COMROOT=${COMROOT:-/com2}
-export GESROOT=${GESROOT:-/nwges2}
-export DCOMROOT=${DCOMROOT:-/dcom}
-export ECF_HOSTFILE=/nwprod/ecflow/hostfile
-#export subhost=`echo ${LSB_SUB_HOST}| cut -c1`
-
-module load prod_util
-
-case $envir in
- prod)
- export jlogfile=${jlogfile:-${COMROOT}/logs/jlogfiles/jlogfile.${jobid}}
- export DATAROOT=${DATAROOT:-/tmpnwprd_p2}
- if [ "$SENDDBN" == "YES" ]; then
- export DBNROOT=/iodprod/dbnet_siphon # previously set in .bash_profile
- else
- export DBNROOT=${UTILROOT}/fakedbn
- fi
- ;;
- eval)
- export envir=para
- export jlogfile=${jlogfile:-${COMROOT}/logs/${envir}/jlogfile}
- export DATAROOT=${DATAROOT:-/tmpnwprd_p2}
- if [ "$SENDDBN" == "YES" ]; then
- export DBNROOT=${UTILROOT}/para_dbn
- SENDDBN_NTC=NO
- else
- export DBNROOT=${UTILROOT}/fakedbn
- fi
- ;;
- para|test)
- export jlogfile=${jlogfile:-${COMROOT}/logs/${envir}/jlogfile}
- export DATAROOT=${DATAROOT:-/tmpnwprd_p2}
- export DBNROOT=${UTILROOT}/fakedbn
- ;;
- *)
- ecflow_client --abort="ENVIR must be prod, para, eval, or test [envir.h]"
- exit
- ;;
-esac
-
-export NWROOT=/nw${envir}2
-export NWROOTprod=/nwprod2
-export NWROOTp1=/nwprod
-export PCOMROOT=${PCOMROOT:-/pcom2/${envir}}
-export SENDECF=${SENDECF:-YES}
-export SENDCOM=${SENDCOM:-YES}
-export KEEPDATA=${KEEPDATA:-%KEEPDATA:NO%}
-
-if [ -n "%PDY:%" ]; then export PDY=${PDY:-%PDY:%}; fi
-if [ -n "%COMPATH:%" ]; then export COMPATH=${COMPATH:-%COMPATH:%}; fi
-if [ -n "%MAILTO:%" ]; then export MAILTO=${MAILTO:-%MAILTO:%}; fi
-if [ -n "%DBNLOG:%" ]; then export DBNLOG=${DBNLOG:-%DBNLOG:%}; fi
diff --git a/ecflow/ecf/include/envir-xc40.h b/ecflow/ecf/include/envir-xc40.h
deleted file mode 100644
index 11770e4d38..0000000000
--- a/ecflow/ecf/include/envir-xc40.h
+++ /dev/null
@@ -1,53 +0,0 @@
-# envir-xc40.h
-export job=${job:-$LSB_JOBNAME} #Can't use $job in filenames!
-export jobid=${jobid:-$job.$LSB_JOBID}
-
-export RUN_ENVIR=${RUN_ENVIR:-nco}
-export envir=%ENVIR%
-export SENDDBN=${SENDDBN:-%SENDDBN:YES%}
-export SENDDBN_NTC=${SENDDBN_NTC:-%SENDDBN_NTC:YES%}
-
-module load prod_envir prod_util
-
-case $envir in
- prod)
- export jlogfile=${jlogfile:-${COMROOT}/logs/jlogfiles/jlogfile.${jobid}}
- export DATAROOT=${DATAROOT:-/gpfs/hps/nco/ops/tmpnwprd}
- if [ "$SENDDBN" == "YES" ]; then
- export DBNROOT=/iodprod/dbnet_siphon # previously set in .bash_profile
- else
- export DBNROOT=${UTILROOT}/fakedbn
- fi
- ;;
- eval)
- export envir=para
- export jlogfile=${jlogfile:-${COMROOT}/logs/${envir}/jlogfile}
- export DATAROOT=${DATAROOT:-/gpfs/hps/nco/ops/tmpnwprd}
- if [ "$SENDDBN" == "YES" ]; then
- export DBNROOT=${UTILROOT}/para_dbn
- SENDDBN_NTC=NO
- else
- export DBNROOT=${UTILROOT}/fakedbn
- fi
- ;;
- para|test)
- export jlogfile=${jlogfile:-${COMROOT}/logs/${envir}/jlogfile}
- export DATAROOT=${DATAROOT:-/gpfs/hps/nco/ops/tmpnwprd}
- export DBNROOT=${UTILROOT}/fakedbn
- ;;
- *)
- ecflow_client --abort="ENVIR must be prod, para, eval, or test [envir.h]"
- exit
- ;;
-esac
-
-export NWROOT=/gpfs/hps/nco/ops/nw${envir}
-export PCOMROOT=$PCOMROOT/${envir}
-export SENDECF=${SENDECF:-YES}
-export SENDCOM=${SENDCOM:-YES}
-export KEEPDATA=${KEEPDATA:-%KEEPDATA:NO%}
-
-if [ -n "%PDY:%" ]; then export PDY=${PDY:-%PDY:%}; fi
-if [ -n "%COMPATH:%" ]; then export COMPATH=${COMPATH:-%COMPATH:%}; fi
-if [ -n "%MAILTO:%" ]; then export MAILTO=${MAILTO:-%MAILTO:%}; fi
-if [ -n "%DBNLOG:%" ]; then export DBNLOG=${DBNLOG:-%DBNLOG:%}; fi
diff --git a/ecflow/ecf/include/experiment-prod.h b/ecflow/ecf/include/experiment-prod.h
deleted file mode 100644
index 45f7d47613..0000000000
--- a/ecflow/ecf/include/experiment-prod.h
+++ /dev/null
@@ -1,16 +0,0 @@
-# These are development overrides. They are intended to set
-# variables that would otherwise be set to operational values, and
-# cause your workflow to fail.
-
-# EMC experiment configuration file
-export HOMEgfs="/gpfs/dell2/emc/modeling/noscrub/Fanglin.Yang/git/fv3gfs/port2dell2"
-export HOMEobsproc_global="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/obsproc/obsproc_global.iss-46886.fv3gfs"
-export HOMEobsproc_network="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/obsproc/obsproc_global.iss-46886.fv3gfs"
-export HOMEobsproc_prep="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/obsproc/obsproc_prep.iss-46886.fv3gfs"
-export DATAROOT="/gpfs/dell2/ptmp/emc.glopara/tmpnwprd"
-export jlogfile="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/com/gfs/prod/jlogfile"
-export COMROOT="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/com/gfs/prod"
-export CDUMP=$model
-export cycle=t%CYC%z
-export EXPDIR="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/para_fv3gfs/myexp"
-
diff --git a/ecflow/ecf/scripts/gdas/dump/jgdas_ics.ecf b/ecflow/ecf/scripts/gdas/dump/jgdas_ics.ecf
deleted file mode 100644
index 3506074c2f..0000000000
--- a/ecflow/ecf/scripts/gdas/dump/jgdas_ics.ecf
+++ /dev/null
@@ -1,92 +0,0 @@
-#! /bin/sh
-#BSUB -q %QUEUE%
-#BSUB -P %PROJ%
-#BSUB -J %E%gdas_ics
-#BSUB -o %COM%/output/%ENVIR%/today/gdas_ics_%CYC%.o%J
-
-#BSUB -W 0:02
-#BSUB -x
-#BSUB -R 'affinity[core(1)]'
-#BSUB -R 'span[ptile=28]'
-#BSUB -n 2
-
-%include
-%include
-
-set -x
-
-
-
-export model=gfs
-export NET=gfs
-export RUN=%RUN%
-
-export NWROOT=%NWROOT% # EMC override
-export DATAROOT=%DATAROOT% # EMC override
-%include
-
-
-############################################################
-# Load modules
-############################################################
-#. $MODULESHOME/init/sh
-module load ips/18.0.1.163
-module load impi/18.0.1
-module load EnvVars/1.0.2
-
-module load g2tmpl/1.5.0
-module load crtm/2.2.5
-module load ESMF/7_1_0r
-module load dev/util_shared/1.0.8
-
-module unload grib_util/1.0.6
-module load dev/grib_util/1.1.0
-
-module load NCO/4.7.0
-module load HDF5-serial/1.10.1
-module load NetCDF/4.5.0
-module load CFP/2.0.1
-export USE_CFP=YES
-
-module use /gpfs/dell1/nco/ops/nwpara/modulefiles/
-module load gempak/7.3.1
-
-module load bufr_dumplist/1.5.0
-module load dumpjb/4.0.0
-module load NCL/6.4.0
-
-module list
-export ECF_PORT=%ECF_PORT% # workaround for bug in ecflow module
-
-export cyc=%CYC%
-export cycle=t%CYC%z
-export jlogfile=/%COM%/logs/jlogfile
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} # where to get config files
-
-# Development overrides
-export DATAROOT=%DATAROOT%
-export COMROOT=/%COM%
-
-# Development synonyms
-export CDUMP="$RUN"
-export ROTDIR="$COMROOT"
-
-
-############################################################
-# WCOSS environment settings
-############################################################
-
-# Set tuning variables like KMP_AFFINITY and OMP_STACKSIZE here.
-
-############################################################
-export cyc=%CYC%
-export job=jgdas_ics_%CYC%
-
-# CALL executable job script here
-${HOMEgfs}/jobs/JGDAS_ICS
-
-%include
-%manual
-# FIXME: Insert manual for this job.
-
-%end
diff --git a/ecflow/ecf/scripts/gdas/jgdas_emc_dump_waiter.ecf b/ecflow/ecf/scripts/gdas/jgdas_emc_dump_waiter.ecf
deleted file mode 100644
index 4ad9ce6e17..0000000000
--- a/ecflow/ecf/scripts/gdas/jgdas_emc_dump_waiter.ecf
+++ /dev/null
@@ -1,109 +0,0 @@
-#! /bin/sh
-#BSUB -q %QUEUE%
-#BSUB -P %PROJ%
-#BSUB -J %E%gdas_emc_dump_waiter
-#BSUB -o %COM%/output/%ENVIR%/today/gdas_emc_dump_waiter_%CYC%.o%J
-
-#BSUB -W 1:00
-#BSUB -x
-#BSUB -R 'affinity[core(1)]'
-#BSUB -n 1
-
-%include
-%include
-
-set -x
-
-
-
-export model=gfs
-export NET=gfs
-export RUN=%RUN%
-
-export NWROOT=%NWROOT% # EMC override
-export DATAROOT=%DATAROOT% # EMC override
-%include
-
-
-############################################################
-# Load modules
-############################################################
-#. $MODULESHOME/init/sh
-module load ips/18.0.1.163
-module load impi/18.0.1
-module load EnvVars/1.0.2
-
-module load g2tmpl/1.5.0
-module load crtm/2.2.5
-module load ESMF/7_1_0r
-module load dev/util_shared/1.0.8
-
-module unload grib_util/1.0.6
-module load dev/grib_util/1.1.0
-
-module load NCO/4.7.0
-module load HDF5-serial/1.10.1
-module load NetCDF/4.5.0
-module load CFP/2.0.1
-export USE_CFP=YES
-
-module use /gpfs/dell1/nco/ops/nwpara/modulefiles/
-module load gempak/7.3.1
-
-module load bufr_dumplist/1.5.0
-module load dumpjb/4.0.0
-module load NCL/6.4.0
-
-module list
-export ECF_PORT=%ECF_PORT% # workaround for bug in ecflow module
-
-export cyc=%CYC%
-export cycle=t%CYC%z
-export jlogfile=/%COM%/logs/jlogfile
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} # where to get config files
-
-# Development overrides
-export DATAROOT=%DATAROOT%
-export COMROOT=/%COM%
-
-# Development synonyms
-export CDUMP="$RUN"
-export ROTDIR="$COMROOT"
-
-
-############################################################
-# WCOSS environment settings
-############################################################
-
-# Set tuning variables like KMP_AFFINITY and OMP_STACKSIZE here.
-
-############################################################
-export cyc=%CYC%
-export job=jgdas_emc_dump_waiter_%CYC%
-
-# CALL executable job script here
-workdir=/tmp/$USER.dump_waiter.$$.$RANDOM
-mkdir -p "$workdir"
-cd "$workdir"
-export cycle="t${cyc}z"
-export jlogfile=${jlogfile:-$COMROOT/logs/jlogfiles/jlogfile.${job}.${pid}}
-export job=${job:-"anal"}
-setpdy.sh
-source ./PDY
-WAITFILE=%DUMPDIR%/${PDY}%CYC%/gdas/gdas.t%CYC%z.updated.status.tm00.bufr_d
-while [[ ! -s "$WAITFILE" ]] ; do
- echo "$WAITFILE: nope"
- sleep 37
-done
-env | grep ECF_
-echo "$WAITFILE: yup"
-ecflow_client --event updated_status
-cd /
-rm -rf "$workdir"
-
-
-%include
-%manual
-# FIXME: Insert manual for this job.
-
-%end
diff --git a/ecflow/ecf/scripts/gdas/post_processing/bulletins/jgdas_bulls_navy.ecf b/ecflow/ecf/scripts/gdas/post_processing/bulletins/jgdas_bulls_navy.ecf
deleted file mode 100644
index e93a67ff5b..0000000000
--- a/ecflow/ecf/scripts/gdas/post_processing/bulletins/jgdas_bulls_navy.ecf
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /bin/sh
-#BSUB -q %QUEUE%
-#BSUB -P %PROJ%
-#BSUB -J %E%gdas_bulls_navy_%CYC%
-#BSUB -o %COM%/output/%ENVIR%/today/gdas_bulls_navy_%CYC%.o%J
-#BSUB -W 0:30
-#BSUB -x
-#BSUB -R 'affinity[core(28)]'
-#BSUB -R 'span[ptile=1]'
-#BSUB -n 1
-#BSUB -cwd /tmp
-%include
-%include
-
-set -x
-
-
-
-export model=%model:gfs%
-export NET=%NET:gfs%
-export RUN=%RUN%
-
-%include
-
-############################################################
-# Load modules
-############################################################
-#. $MODULESHOME/init/sh
-module load ips/$ips_ver
-module load impi/$impi_ver
-module load EnvVars/$EnvVars_ver
-
-module load g2tmpl/$g2tmpl_ver
-module load crtm/$crtm_ver
-module load ESMF/$ESMF_ver
-module load dev/util_shared/$util_shared_ver # NOTE: remove dev/ after util_shared upgrade
-
-module unload grib_util
-module load dev/grib_util/$grib_util_ver # NOTE: remove dev/ after grib_util upgrade
-
-module load NCO/$NCO_ver
-module load HDF5-serial/$HDF5_serial_ver
-module load NetCDF/$NetCDF_ver
-module load CFP/$CFP_ver
-export USE_CFP=YES
-
-module use /gpfs/dell1/nco/ops/nwpara/modulefiles/
-module load gempak/$gempak_ver
-
-module load bufr_dumplist/$bufr_dumplist_ver
-module load dumpjb/$dumpjb_ver
-module load NCL/$NCL_ver
-
-module list
-
-# Synonyms expected by scripts:
-export CDUMP="$RUN"
-export ROTDIR="$COMROOT"
-
-
-############################################################
-# WCOSS environment settings
-############################################################
-
-# Set tuning variables like KMP_AFFINITY and OMP_STACKSIZE here.
-
-############################################################
-export cyc=%CYC%
-
-
-$HOMEgfs/jobs/JGDAS_BULLS_NAVY
-
-%include
-%manual
-
-%end
diff --git a/ecflow/ecf/scripts/gfs/jgfs_emc_dump_waiter.ecf b/ecflow/ecf/scripts/gfs/jgfs_emc_dump_waiter.ecf
deleted file mode 100644
index d58082f8cd..0000000000
--- a/ecflow/ecf/scripts/gfs/jgfs_emc_dump_waiter.ecf
+++ /dev/null
@@ -1,109 +0,0 @@
-#! /bin/sh
-#BSUB -q %QUEUE%
-#BSUB -P %PROJ%
-#BSUB -J %E%gfs_emc_dump_waiter
-#BSUB -o %COM%/output/%ENVIR%/today/gfs_emc_dump_waiter_%CYC%.o%J
-
-#BSUB -W 1:00
-#BSUB -x
-#BSUB -R 'affinity[core(1)]'
-#BSUB -n 1
-
-%include
-%include
-
-set -x
-
-
-
-export model=gfs
-export NET=gfs
-export RUN=%RUN%
-
-export NWROOT=%NWROOT% # EMC override
-export DATAROOT=%DATAROOT% # EMC override
-%include
-
-
-############################################################
-# Load modules
-############################################################
-#. $MODULESHOME/init/sh
-module load ips/18.0.1.163
-module load impi/18.0.1
-module load EnvVars/1.0.2
-
-module load g2tmpl/1.5.0
-module load crtm/2.2.5
-module load ESMF/7_1_0r
-module load dev/util_shared/1.0.8
-
-module unload grib_util/1.0.6
-module load dev/grib_util/1.1.0
-
-module load NCO/4.7.0
-module load HDF5-serial/1.10.1
-module load NetCDF/4.5.0
-module load CFP/2.0.1
-export USE_CFP=YES
-
-module use /gpfs/dell1/nco/ops/nwpara/modulefiles/
-module load gempak/7.3.1
-
-module load bufr_dumplist/1.5.0
-module load dumpjb/4.0.0
-module load NCL/6.4.0
-
-module list
-export ECF_PORT=%ECF_PORT% # workaround for bug in ecflow module
-
-export cyc=%CYC%
-export cycle=t%CYC%z
-export jlogfile=/%COM%/logs/jlogfile
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} # where to get config files
-
-# Development overrides
-export DATAROOT=%DATAROOT%
-export COMROOT=/%COM%
-
-# Development synonyms
-export CDUMP="$RUN"
-export ROTDIR="$COMROOT"
-
-
-############################################################
-# WCOSS environment settings
-############################################################
-
-# Set tuning variables like KMP_AFFINITY and OMP_STACKSIZE here.
-
-############################################################
-export cyc=%CYC%
-export job=jgfs_emc_dump_waiter_%CYC%
-
-# CALL executable job script here
-workdir=/tmp/$USER.dump_waiter.$$.$RANDOM
-mkdir -p "$workdir"
-cd "$workdir"
-export cycle="t${cyc}z"
-export jlogfile=${jlogfile:-$COMROOT/logs/jlogfiles/jlogfile.${job}.${pid}}
-export job=${job:-"anal"}
-setpdy.sh
-source ./PDY
-WAITFILE=%DUMPDIR%/${PDY}%CYC%/gfs/gfs.t%CYC%z.updated.status.tm00.bufr_d
-while [[ ! -s "$WAITFILE" ]] ; do
- echo "$WAITFILE: nope"
- sleep 37
-done
-env | grep ECF_
-echo "$WAITFILE: yup"
-ecflow_client --event updated_status
-cd /
-rm -rf "$workdir"
-
-
-%include
-%manual
-# FIXME: Insert manual for this job.
-
-%end
diff --git a/ecflow/ecf/scripts/gfs/post_processing/grib2_wafs/jgfs_wafs_gcip.ecf b/ecflow/ecf/scripts/gfs/post_processing/grib2_wafs/jgfs_wafs_gcip.ecf
deleted file mode 100644
index dcbfa527fa..0000000000
--- a/ecflow/ecf/scripts/gfs/post_processing/grib2_wafs/jgfs_wafs_gcip.ecf
+++ /dev/null
@@ -1,92 +0,0 @@
-#! /bin/sh
-#BSUB -q %QUEUE%
-#BSUB -P %PROJ%
-#BSUB -J %E%gfs_wafs_gcip_%CYC%
-#BSUB -o %COM%/output/%ENVIR%/today/gfs_wafs_gcip_%CYC%.o%J
-#BSUB -W 0:30
-#BSUB -x
-#BSUB -R 'affinity[core(28)]'
-#BSUB -R 'span[ptile=1]'
-#BSUB -n 1
-#BSUB -cwd /tmp
-%include
-%include
-
-set -x
-
-
-
-export model=%model:gfs%
-export NET=%NET:gfs%
-export RUN=%RUN%
-
-%include
-
-############################################################
-# Load modules
-############################################################
-#. $MODULESHOME/init/sh
-module load ips/$ips_ver
-module load impi/$impi_ver
-module load EnvVars/$EnvVars_ver
-
-module load g2tmpl/$g2tmpl_ver
-module load crtm/$crtm_ver
-module load ESMF/$ESMF_ver
-module load dev/util_shared/$util_shared_ver # NOTE: remove dev/ after util_shared upgrade
-
-module unload grib_util
-module load dev/grib_util/$grib_util_ver # NOTE: remove dev/ after grib_util upgrade
-
-module load NCO/$NCO_ver
-module load HDF5-serial/$HDF5_serial_ver
-module load NetCDF/$NetCDF_ver
-module load CFP/$CFP_ver
-export USE_CFP=YES
-
-module use /gpfs/dell1/nco/ops/nwpara/modulefiles/
-module load gempak/$gempak_ver
-
-module load bufr_dumplist/$bufr_dumplist_ver
-module load dumpjb/$dumpjb_ver
-module load NCL/$NCL_ver
-
-module list
-
-# Synonyms expected by scripts:
-export CDUMP="$RUN"
-export ROTDIR="$COMROOT"
-
-
-############################################################
-# WCOSS environment settings
-############################################################
-
-# When sourcing config files, the $PDY must be set:
-datedir=/tmp/date.$$.$RANDOM
-mkdir -p "$datedir"
-pushd "$datedir"
-export cyc="%CYC%"
-export cycle="t%CYC%z"
-setpdy.sh
-. ./PDY
-set -u
-export CDATE="$PDY$cyc"
-set +u
-popd
-rm -rf "$datedir"
-
-
-############################################################
-export cyc=%CYC%
-export HOMEgfs=${HOMEgfs:-${NWROOT:?}/gfs.${gfs_ver:?"###FATAL ERROR gfs_ver is not set"}}
-source $HOMEgfs/parm/config/config.base
-source $HOMEgfs/parm/config/config.wafs_gcip
-
-
-$HOMEgfs/jobs/JGFS_WAFS_GCIP
-
-%include
-%manual
-
-%end
diff --git a/env/HERA.env b/env/HERA.env
index abdaf83319..156873e891 100755
--- a/env/HERA.env
+++ b/env/HERA.env
@@ -212,13 +212,6 @@ elif [ $step = "fv3ic" ]; then
[[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max
export APRUN_CHGRES="time"
-elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then
- export mpmd="--multi-prog"
- export CFP_MP="YES"
- export wavempexec=${launcher}
- export wave_mpmd=${mpmd}
-
-
elif [ $step = "postsnd" ]; then
nth_max=$(($npe_node_max / $npe_node_postsnd))
diff --git a/env/ORION.env b/env/ORION.env
index 963fee849d..de989331ff 100755
--- a/env/ORION.env
+++ b/env/ORION.env
@@ -42,11 +42,23 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then
export BACK=${BACK:-"YES"}
export sys_tp="ORION"
+elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then
+
+ export mpmd="--multi-prog"
+ export CFP_MP="YES"
+ if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi
+ export wavempexec=${launcher}
+ export wave_mpmd=${mpmd}
+
elif [ $step = "anal" ]; then
export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO
+ export CFP_MP=${CFP_MP:-"YES"}
+ export USE_CFP=${USE_CFP:-"YES"}
+ export APRUNCFP="$launcher -n \$ncmd --multi-prog"
+
nth_max=$(($npe_node_max / $npe_node_anal))
export NTHREADS_GSI=${nth_anal:-$nth_max}
@@ -62,7 +74,6 @@ elif [ $step = "anal" ]; then
npe_cycle=${ntiles:-6}
export APRUN_CYCLE="$launcher -n $npe_cycle"
-
export NTHREADS_GAUSFCANL=1
npe_gausfcanl=${npe_gausfcanl:-1}
@@ -91,6 +102,10 @@ elif [ $step = "eobs" ]; then
export MKL_NUM_THREADS=4
export MKL_CBWR=AUTO
+ export CFP_MP=${CFP_MP:-"YES"}
+ export USE_CFP=${USE_CFP:-"YES"}
+ export APRUNCFP="$launcher -n \$ncmd --multi-prog"
+
nth_max=$(($npe_node_max / $npe_node_eobs))
export NTHREADS_GSI=${nth_eobs:-$nth_max}
@@ -99,6 +114,10 @@ elif [ $step = "eobs" ]; then
elif [ $step = "eupd" ]; then
+ export CFP_MP=${CFP_MP:-"YES"}
+ export USE_CFP=${USE_CFP:-"YES"}
+ export APRUNCFP="$launcher -n \$ncmd --multi-prog"
+
nth_max=$(($npe_node_max / $npe_node_eupd))
export NTHREADS_ENKF=${nth_eupd:-$nth_max}
@@ -189,12 +208,6 @@ elif [ $step = "fv3ic" ]; then
[[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max
export APRUN_CHGRES="time"
-elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then
- export mpmd="--multi-prog"
- export CFP_MP="YES"
- export wavempexec=${launcher}
- export wave_mpmd=${mpmd}
-
elif [ $step = "postsnd" ]; then
nth_max=$(($npe_node_max / $npe_node_postsnd))
diff --git a/jobs/JGLOBAL_FORECAST b/jobs/JGLOBAL_FORECAST
index 5fedafd793..1a7c6c3803 100755
--- a/jobs/JGLOBAL_FORECAST
+++ b/jobs/JGLOBAL_FORECAST
@@ -9,7 +9,7 @@ date
#############################
# Source relevant config files
#############################
-configs="base fcst wave"
+configs="base fcst"
export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config}
for config in $configs; do
@@ -68,18 +68,18 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export CDUMPwave=${CDUMPwave:-${CDUMP}wave}
-export COMINwave=${COMINwave:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave}
-export COMOUTwave=${COMOUTwave:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave}
-
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
export RSTDIR=${GESROOT:?}/$envir
fi
-export COMPONENTwave=${COMPONENTwave:-${RUN}wave}
-export WAV_MOD_TAG=${COMPONENTwave}${waveMEMB}
# Set wave variables
+if [ ${DO_WAVE:-"NO"} = "YES" ]; then
+ # WAVE component directory
+ export CDUMPwave=${CDUMPwave:-${CDUMP}wave}
+ export COMINwave=${COMINwave:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave}
+ export COMOUTwave=${COMOUTwave:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave}
+fi
##############################################
# Begin JOB SPECIFIC work
diff --git a/jobs/JGLOBAL_WAVE_POST_PNT b/jobs/JGLOBAL_WAVE_POST_PNT
index 50a05c6427..c3e113eed1 100755
--- a/jobs/JGLOBAL_WAVE_POST_PNT
+++ b/jobs/JGLOBAL_WAVE_POST_PNT
@@ -48,6 +48,7 @@ setpdy.sh
sh ./PDY
export pgmout=OUTPUT.$$
+
export MP_PULSE=0
# Path to HOME Directory
diff --git a/jobs/JGLOBAL_WAVE_PREP b/jobs/JGLOBAL_WAVE_PREP
index ac52d03350..c15409cb0f 100755
--- a/jobs/JGLOBAL_WAVE_PREP
+++ b/jobs/JGLOBAL_WAVE_PREP
@@ -29,7 +29,6 @@ export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export COMPONENT=${COMPONENT:-wave}
-export WAV_MOD_TAG=${RUN}${COMPONENT}${waveMEMB}
export HOMEgfs=${HOMEgfs:-$NWROOT/gfs.${gfs_ver}}
# Add default errchk = err_chk
diff --git a/jobs/rocoto/anal.sh b/jobs/rocoto/anal.sh
index e1aaf3a32d..6520d967f0 100755
--- a/jobs/rocoto/anal.sh
+++ b/jobs/rocoto/anal.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/awips.sh b/jobs/rocoto/awips.sh
index a15d3fdd13..40c5db8cb4 100755
--- a/jobs/rocoto/awips.sh
+++ b/jobs/rocoto/awips.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
## Abstract:
@@ -12,8 +12,6 @@
## cyc : current cycle (HH)
###############################################################
-set -x
-
###############################################################
echo
echo "=============== BEGIN TO SOURCE FV3GFS WORKFLOW MODULES ==============="
@@ -32,8 +30,7 @@ for config in $configs; do
[[ $status -ne 0 ]] && exit $status
done
-#fhrlst=$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
-fhrlst=${fhrlst:-$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')}
+fhrlst=$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
###############################################################
echo
@@ -59,7 +56,7 @@ echo "=============== BEGIN AWIPS ==============="
export SENDCOM="YES"
export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
export PCOM="$COMOUT/wmo"
-export jlogfile=${jlogfile:-"$ROTDIR/logs/$CDATE/jgfs_awips.log"}
+export jlogfile="$ROTDIR/logs/$CDATE/jgfs_awips.log"
SLEEP_TIME=1800
SLEEP_INT=5
diff --git a/jobs/rocoto/ecen.sh b/jobs/rocoto/ecen.sh
index 60b1b51857..353621de64 100755
--- a/jobs/rocoto/ecen.sh
+++ b/jobs/rocoto/ecen.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/efcs.sh b/jobs/rocoto/efcs.sh
index 626f9fb8e2..c9457a686f 100755
--- a/jobs/rocoto/efcs.sh
+++ b/jobs/rocoto/efcs.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/eobs.sh b/jobs/rocoto/eobs.sh
index a9dacfdf38..cf63fabaae 100755
--- a/jobs/rocoto/eobs.sh
+++ b/jobs/rocoto/eobs.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/eomg.sh b/jobs/rocoto/eomg.sh
index 2a0b35a699..683269c2a8 100755
--- a/jobs/rocoto/eomg.sh
+++ b/jobs/rocoto/eomg.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/epos.sh b/jobs/rocoto/epos.sh
index 539eedbbfa..98b1384973 100755
--- a/jobs/rocoto/epos.sh
+++ b/jobs/rocoto/epos.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/eupd.sh b/jobs/rocoto/eupd.sh
index 9ec41cad0e..d367b7ecd3 100755
--- a/jobs/rocoto/eupd.sh
+++ b/jobs/rocoto/eupd.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/fcst.sh b/jobs/rocoto/fcst.sh
index 9a1d022430..23be9b7843 100755
--- a/jobs/rocoto/fcst.sh
+++ b/jobs/rocoto/fcst.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/fv3ic.sh b/jobs/rocoto/fv3ic.sh
index a6cb334eda..b5c2e40b48 100755
--- a/jobs/rocoto/fv3ic.sh
+++ b/jobs/rocoto/fv3ic.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
## Abstract:
diff --git a/jobs/rocoto/gempak.sh b/jobs/rocoto/gempak.sh
index df06340bd0..599c6f3766 100755
--- a/jobs/rocoto/gempak.sh
+++ b/jobs/rocoto/gempak.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
## Abstract:
diff --git a/jobs/rocoto/getic.sh b/jobs/rocoto/getic.sh
index db74953c0d..120e3b9454 100755
--- a/jobs/rocoto/getic.sh
+++ b/jobs/rocoto/getic.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
## Abstract:
diff --git a/jobs/rocoto/post.sh b/jobs/rocoto/post.sh
index 3b2817fb22..de8893abce 100755
--- a/jobs/rocoto/post.sh
+++ b/jobs/rocoto/post.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
## NCEP post driver script
@@ -21,8 +21,6 @@ else
restart_file=$ROTDIR/${CDUMP}.${PDY}/${cyc}/$COMPONENT/${CDUMP}.t${cyc}z.logf
fi
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
-[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT
#---------------------------------------------------------------
for fhr in $fhrlst; do
diff --git a/jobs/rocoto/postsnd.sh b/jobs/rocoto/postsnd.sh
index 02e6b126a9..deb6ebe4e9 100644
--- a/jobs/rocoto/postsnd.sh
+++ b/jobs/rocoto/postsnd.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
# Source FV3GFS workflow modules
diff --git a/jobs/rocoto/vrfy.sh b/jobs/rocoto/vrfy.sh
index 809c9b9aa9..11dd08325c 100755
--- a/jobs/rocoto/vrfy.sh
+++ b/jobs/rocoto/vrfy.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/ksh -x
###############################################################
## Abstract:
diff --git a/jobs/rocoto/waveinit.sh b/jobs/rocoto/waveinit.sh
index 575eaec933..41f52c4ff2 100755
--- a/jobs/rocoto/waveinit.sh
+++ b/jobs/rocoto/waveinit.sh
@@ -7,14 +7,10 @@ echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
status=$?
[[ $status -ne 0 ]] && exit $status
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
-[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT
-
###############################################################
echo
echo "=============== START TO RUN WAVE INIT ==============="
# Execute the JJOB
-
$HOMEgfs/jobs/JGLOBAL_WAVE_INIT
status=$?
[[ $status -ne 0 ]] && exit $status
diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh
index 99f0f062ea..66d6463bd7 100755
--- a/jobs/rocoto/wavepostsbs.sh
+++ b/jobs/rocoto/wavepostsbs.sh
@@ -7,8 +7,6 @@ echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
status=$?
[[ $status -ne 0 ]] && exit $status
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
-[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT
###############################################################
echo
echo "=============== START TO RUN WAVE POST_SBS ==============="
diff --git a/jobs/rocoto/waveprep.sh b/jobs/rocoto/waveprep.sh
index 4de688e0fe..e1b3b89174 100755
--- a/jobs/rocoto/waveprep.sh
+++ b/jobs/rocoto/waveprep.sh
@@ -7,9 +7,6 @@ echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
status=$?
[[ $status -ne 0 ]] && exit $status
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
-[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT
-
###############################################################
echo
echo "=============== START TO RUN WAVE PREP ==============="
diff --git a/modulefiles/gfs_bufr.jet b/modulefiles/gfs_bufr.jet
index fd5163dc12..a57987c1d0 100644
--- a/modulefiles/gfs_bufr.jet
+++ b/modulefiles/gfs_bufr.jet
@@ -8,11 +8,16 @@ export F_COMP_MPI=mpiifort
export C_COMP=icc
export C_COMP_MP=mpiicc
+
+#module use /gpfs/hps/nco/ops/nwprod/lib/modulefiles
+
module load newdefaults
module load intel/15.0.3.187
module load impi/5.1.3.181
-export NCEPLIBS=/mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib
+export NCEPLIBS=/mnt/lfs3/projects/hfv3gfs/gwv/ljtjet/lib
+
+
module use $NCEPLIBS/modulefiles
module load nemsio-intel-sandybridge/2.2.2
module load sigio-intel-sandybridge/2.0.1
@@ -22,9 +27,12 @@ module load w3emc-intel-sandybridge/2.2.0
module load w3nco-intel-sandybridge/2.0.6
module load bufr-intel-sandybridge/11.0.1
+##module use /home/Raghu.Reddy/modules
+##module load gempak-rr/7.4.2
module load gempak/7.4.2
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/module_base.jet b/modulefiles/module_base.jet
index e929c3f3a0..c6c767eedc 100644
--- a/modulefiles/module_base.jet
+++ b/modulefiles/module_base.jet
@@ -1,4 +1,3 @@
-#%Module######################################################################
##
## nems prerequisites
##
@@ -7,21 +6,27 @@ proc ModulesHelp {} {
puts stderr "The prerequisites for compiling or running FV3 on Jet. "
}
-module-whatis "loads NEMS FV3 prerequisites on Jet"
+module load newdefaults intel/15.0.3.187 impi/5.1.3.181 szip hdf5 netcdf4/4.2.1.1
-module load intel/18.0.5.274
-module load impi/2018.4.274
-module load wgrib2/2.0.8
-module load szip/2.1
-module load hdf5
-module load nco/4.1.0
-module load pnetcdf/1.6.1
-module load netcdf4/4.2.1.1
-module load gempak/7.4.2
-module load hpss
+module use /lfs3/projects/hfv3gfs/nwprod/lib/modulefiles
+module load bacio/v2.0.2
+module load sp/v2.0.2
+module load ip/v2.0.0
+module load w3nco/v2.0.6
+module load w3emc/v2.2.0
+module load nemsio/v2.2.2
+
+#set NCEPLIBS $::env(NCEPLIBS)
+#module use $NCEPLIBS/modulefiles
+#module load esmf/7.1.0r_impi
module use /lfs3/projects/hwrf-vd/soft/modulefiles
module load prod_util
+module load grib_util
+module load hpss
# mpiserial on Jet includes a cfp wrapper
module load mpiserial
+
+module load gempak/7.4.2
+
diff --git a/modulefiles/modulefile.fv3nc2nemsio.orion b/modulefiles/modulefile.fv3nc2nemsio.orion
index abba10a306..4ff5c23b03 100644
--- a/modulefiles/modulefile.fv3nc2nemsio.orion
+++ b/modulefiles/modulefile.fv3nc2nemsio.orion
@@ -5,17 +5,12 @@
module load intel/2018.4
module load impi/2018.4
-module use -a /apps/contrib/NCEPLIBS/lib/modulefiles
-module load bacio-intel-sandybridge/2.0.2
-module load nemsio-intel-sandybridge/2.2.3
-module load w3nco-intel-sandybridge/2.0.6
module use -a /apps/contrib/NCEPLIBS/orion/modulefiles
module load hdf5_parallel/1.10.6
module load netcdf_parallel/4.7.4
module load bacio/2.0.3
module load nemsio/2.2.4
module load w3nco/2.0.7
->>>>>>> develop
export FCMP="ifort"
export FFLAGS="-g -O2 -traceback"
diff --git a/modulefiles/modulefile.regrid_nemsio.orion b/modulefiles/modulefile.regrid_nemsio.orion
index d4473427ca..19f0885c66 100644
--- a/modulefiles/modulefile.regrid_nemsio.orion
+++ b/modulefiles/modulefile.regrid_nemsio.orion
@@ -5,11 +5,6 @@
module load intel/2018.4
module load impi/2018.4
-module use -a /apps/contrib/NCEPLIBS/lib/modulefiles
-module load bacio-intel-sandybridge/2.0.2
-module load w3nco-intel-sandybridge/2.0.6
-module load nemsio-intel-sandybridge/2.2.3
-module load sp-intel-sandybridge/2.0.2
module use -a /apps/contrib/NCEPLIBS/orion/modulefiles
module load hdf5_parallel/1.10.6
module load netcdf_parallel/4.7.4
diff --git a/modulefiles/modulefile.storm_reloc_v6.0.0.orion b/modulefiles/modulefile.storm_reloc_v6.0.0.orion
index 73657211d6..2fbf2bee62 100644
--- a/modulefiles/modulefile.storm_reloc_v6.0.0.orion
+++ b/modulefiles/modulefile.storm_reloc_v6.0.0.orion
@@ -2,19 +2,6 @@
## Module file for storm_reloc_v6.0.0 - Hera
#############################################################
-module use -a /work/noaa/noaatest/NCEPLIBS/lib/modulefiles
-module load w3emc-intel-sandybridge/2.3.0
-module load w3nco-intel-sandybridge/2.0.6
-module load bacio-intel-sandybridge/2.0.2
-module load sp-intel-sandybridge/2.0.2
-module load nemsio-intel-sandybridge/2.2.3
-module load nemsiogfs-intel/2.0.1
-module load sigio-intel-sandybridge/2.0.1
-module load jasper/1.900.1
-module load png-intel-sandybridge/1.2.44
-module load zlib-intel-sandybridge/1.2.7
-module load g2-intel-sandybridge/3.1.0
-
module use -a /apps/contrib/NCEPLIBS/orion/modulefiles
module load w3emc_para/2.4.0
module load w3nco/2.0.7
diff --git a/parm/config/config.arch b/parm/config/config.arch
index 07ddfaa718..fe4363613a 100755
--- a/parm/config/config.arch
+++ b/parm/config/config.arch
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.arch ##########
# Archive specific
@@ -15,7 +11,7 @@ echo "BEGIN: config.arch"
#--online archive of nemsio files for fit2obs verification
export FITSARC="YES"
export FHMAX_FITS=132
-if [ $FHMAX_FITS -gt $FHMAX_GFS ]; then export FHMAX_FITS=$FHMAX_GFS; fi
+[[ "$FHMAX_FITS" -gt "$FHMAX_GFS" ]] && export FHMAX_FITS=$FHMAX_GFS
#--starting and ending hours of previous cycles to be removed from rotating directory
export RMOLDSTD=144
diff --git a/parm/config/config.awips b/parm/config/config.awips
index bf9e5de923..6167b91f7e 100755
--- a/parm/config/config.awips
+++ b/parm/config/config.awips
@@ -1,15 +1,12 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.awips ##########
# GFS awips step specific
echo "BEGIN: config.awips"
-export SENDCOM="YES"
+# Get task specific resources
+. $EXPDIR/config.resources awips
export AWIPS20SH=$HOMEgfs/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
export AWIPSG2SH=$HOMEgfs/jobs/JGFS_ATMOS_AWIPS_G2
diff --git a/parm/config/config.base b/parm/config/config.base
deleted file mode 100755
index fd3092c94a..0000000000
--- a/parm/config/config.base
+++ /dev/null
@@ -1,341 +0,0 @@
-#!/bin/ksh -x
-
-########## config.base ##########
-# Common to all steps
-
-# Source model specific information
-
-echo "BEGIN: config.base"
-
-# Machine environment
-export machine="@MACHINE@"
-
-# EMC parallel or NCO production
-export RUN_ENVIR="emc"
-
-export cpl=".true."
-if [ $cpl = ".false." ]; then
-export cplflx=".F."
-else
-export cplflx=".T."
-export print_esmf=".false."
-fi
-
-# Account, queue, etc.
-if [ $machine = "THEIA" ]; 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
-
-# Project to use in mass store:
-HPSS_PROJECT=emc-global
-if [ $cpl = ".true." ]; then
-HPSS_PROJECT=emc-marine
-fi
-
-# Directories relative to installation areas:
-export HOMEgfs=@HOMEgfs@
-export PARMgfs=$HOMEgfs/parm
-export FIXgfs=$HOMEgfs/fix
-export USHgfs=$HOMEgfs/ush
-export UTILgfs=$HOMEgfs/util
-export EXECgfs=$HOMEgfs/exec
-export SCRgfs=$HOMEgfs/scripts
-
-if [ $cpl = ".true." ]; then
-# For coupled
-export FIXcice=$HOMEgfs/fix/fix_cice5
-export FIXmom=$HOMEgfs/fix/fix_mom6
-export FIXgrid=$HOMEgfs/fix/fix_fv3grid
-export OCNFIXDIR=$HOMEgfs/fix/fix_ocnice
-fi
-
-########################################################################
-
-# 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"
-
-elif [ $machine = "WCOSS_C" ]; then
-
- export NWPROD="/gpfs/hps/nco/ops/nwprod"
- if [ -d /gpfs/tp1 ]; then
- export SITE="LUNA"
- export DMPDIR="/gpfs/tp1/emc/globaldump"
- elif [ -d /gpfs/gp1 ]; then
- export SITE="SURGE"
- export DMPDIR="/gpfs/gp1/emc/globaldump"
- fi
- export RTMFIX=$CRTM_FIX
-
-elif [ $machine = "WCOSS_DELL_P3" ]; then
-
- export NWPROD="/gpfs/dell1/nco/ops/nwprod"
- if [ -d /gpfs/tp1 ]; then
- export SITE="MARS"
- export DMPDIR="/gpfs/tp1/emc/globaldump"
- elif [ -d /gpfs/gp1 ]; then
- export SITE="VENUS"
- export DMPDIR="/gpfs/gp1/emc/globaldump"
- fi
- export RTMFIX=$CRTM_FIX
-fi
-
-
-# Machine specific paths used everywhere
-if [ $machine = "THEIA" ]; then
-
- # USER specific paths
- export HOMEDIR="/scratch4/NCEPDEV/global/save/$USER"
- export STMP="/scratch3/NCEPDEV/stmp1/$USER"
- export PTMP="/scratch3/NCEPDEV/stmp1/$USER"
- export NOSCRUB="/scratch4/NCEPDEV/global/noscrub/$USER"
-if [ $cpl = ".true." ]; then
- export NOSCRUB="/scratch4/NCEPDEV/marine/noscrub/$USER"
-fi
-
- # 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 = "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
-
-# Toggle to turn on/off GFS downstream processing.
-export DO_BUFRSND="NO"
-export DO_GEMPAK="NO"
-export DO_AWIPS="NO"
-
-# NO for retrospective parallel; YES for real-time parallel
-export REALTIME="NO"
-
-
-####################################################
-# DO NOT ADD MACHINE DEPENDENT STUFF BELOW THIS LINE
-# IF YOU HAVE TO MAKE MACHINE SPECIFIC CHANGES BELOW
-# FEEL FREE TO MOVE THEM ABOVE THIS LINE TO KEEP IT
-# CLEAR
-####################################################
-# Build paths relative to $HOMEgfs
-export HOMEgsi="$HOMEgfs"
-export FIXgsi="$HOMEgfs/fix/fix_gsi"
-export HOMEfv3gfs="$HOMEgfs/sorc/fv3gfs.fd"
-export HOMEpost="$HOMEgfs"
-export HOMEobsproc_prep="$BASE_GIT/obsproc/obsproc_prep.iss-46886.fv3gfs"
-export HOMEobsproc_network="$BASE_GIT/obsproc/obsproc_global.iss-46886.fv3gfs"
-export BASE_VERIF="$BASE_SVN/verif/global/tags/vsdb"
-
-# CONVENIENT utility scripts and other environment parameters
-export NCP="/bin/cp -p"
-export NMV="/bin/mv"
-export NLN="/bin/ln -sf"
-export VERBOSE="YES"
-export KEEPDATA="NO"
-if [ $cpl = ".true." ]; then
-export KEEPDATA="YES"
-fi
-export CHGRP_CMD="chgrp rstprod"
-export NEMSIOGET="$HOMEgfs/exec/nemsio_get"
-
-# Machine environment, jobs, and other utility scripts
-export BASE_ENV="$HOMEgfs/env"
-export BASE_JOB="$HOMEgfs/jobs/rocoto"
-
-# EXPERIMENT specific environment parameters
-export SDATE=@SDATE@
-export EDATE=@EDATE@
-export assim_freq=6
-export PSLOT="@PSLOT@"
-export EXPDIR="@EXPDIR@/$PSLOT"
-export ROTDIR="@ROTDIR@/$PSLOT"
-export ROTDIR_DUMP="NO"
-export DUMP_SUFFIX=""
-export RUNDIR="$STMP/RUNDIRS/$PSLOT"
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
-export ARCDIR="$NOSCRUB/archive/$PSLOT"
-export ICSDIR="@ICSDIR@"
-export ATARDIR="/NCEPDEV/$HPSS_PROJECT/1year/$USER/$machine/scratch/$PSLOT"
-
-
-# Commonly defined parameters in JJOBS
-export envir=${envir:-"prod"}
-export NET="gfs"
-export RUN=${RUN:-${CDUMP:-"gfs"}}
-export jlogfile="${EXPDIR}/logs/jlogfile"
-export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
-export LOGSCRIPT=${LOGSCRIPT:-""}
-#export ERRSCRIPT=${ERRSCRIPT:-"err_chk"}
-#export LOGSCRIPT=${LOGSCRIPT:-"startmsg"}
-export REDOUT="1>"
-export REDERR="2>"
-
-export SENDECF="NO"
-export SENDCOM="NO"
-export SENDDBN="NO"
-export SENDSDM="NO"
-
-# Resolution specific parameters
-export LEVS=65
-export CASE="@CASECTL@"
-export CASE_ENKF="@CASEENS@"
-
-# Surface cycle update frequency
-if [[ "$CDUMP" == "gdas" ]] ; then
- export FHCYC=1
-elif [[ "$CDUMP" == "gfs" ]] ; then
- export FHCYC=24
-fi
-
-# Output frequency of the forecast model (for cycling)
-export FHMIN=0
-export FHMAX=9
-export FHOUT=3
-if [ $cpl = ".true." ]; then
-export FHOUT=6
-fi
-
-# GFS cycle info
-export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4: all 4 cycles.
-
-# GFS output and frequency
-export FHMIN_GFS=0
-
-export FHMAX_GFS_00=240
-export FHMAX_GFS_06=180
-export FHMAX_GFS_12=180
-export FHMAX_GFS_18=180
-
-if [ $cpl = ".true." ]; then
-export FHMAX_GFS_00=12
-export FHMAX_GFS_06=12
-export FHMAX_GFS_12=12
-export FHMAX_GFS_18=12
-fi
-export FHMAX_GFS=$(eval echo \${FHMAX_GFS_$cyc})
-
-export FHOUT_GFS=3
-export FHMAX_HF_GFS=0
-export FHOUT_HF_GFS=1
-
-if [ $cpl = ".true." ]; then
-export FHOUT_GFS=6
-export FHOUT_HF_GFS=-1
-# Output for coldstart after 1 hour
-export FHMAX_COLD=1
-fi
-
-# I/O QUILTING, true--use Write Component; false--use GFDL FMS
-# if quilting=true, choose OUTPUT_GRID as cubed_sphere_grid in netcdf or gaussian_grid
-# if gaussian_grid, set OUTPUT_FILE for nemsio or netcdf
-export QUILTING=".true."
-export OUTPUT_GRID="gaussian_grid"
-export OUTPUT_FILE="nemsio"
-
-# Microphysics Options: 99-ZhaoCarr, 8-Thompson; 6-WSM6, 10-MG, 11-GFDL
-export imp_physics=11
-
-# Shared parameters
-# Hybrid related
-export DOHYBVAR="YES"
-export NMEM_ENKF=@NMEM_ENKF@
-export SMOOTH_ENKF="YES"
-export l4densvar=".true."
-export lwrite4danl=".false."
-
-# EnKF output frequency
-if [ $DOHYBVAR = "YES" ]; then
- export FHMIN_ENKF=3
- export FHMAX_ENKF=9
- if [ $l4densvar = ".true." ]; then
- export FHOUT=1
- export FHOUT_ENKF=1
- else
- export FHOUT_ENKF=3
- fi
-fi
-
-# turned on nsst in anal and/or fcst steps, and turn off rtgsst
-export DONST="YES"
-
-if [ $cpl = ".true." ]; then
-export DONST="NO"
-fi
-
-if [ $DONST = "YES" ]; then export FNTSFA=" "; fi
-
-# The switch to apply SST elevation correction or not
-export nst_anl=.true.
-
-if [ $cpl = ".true." ]; then
-export nst_anl=.false.
-fi
-
-# Analysis increments to zero in CALCINCEXEC
-export INCREMENTS_TO_ZERO="'delz_inc','clwmr_inc','icmr_inc'"
-
-
-# Archiving options
-export HPSSARCH="NO" # save data to HPSS archive
-export ARCH_CYC=00 # Archive data at this cycle for warm_start capability
-export ARCH_WARMICFREQ=4 # Archive frequency in days for warm_start capability
-export ARCH_FCSTICFREQ=1 # Archive frequency in days for gdas and gfs forecast-only capability
-
-if [ $cpl = ".true." ]; then
-export HPSSARCH="YES" # save data to HPSS archive
-export ARCH_WARMICFREQ=5 # Archive frequency in days for warm_start capability
-fi
-
-
-echo "END: config.base"
diff --git a/parm/config/config.earc b/parm/config/config.earc
index f86e7d56f0..7cb1de235f 100755
--- a/parm/config/config.earc
+++ b/parm/config/config.earc
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.earc ##########
# Ensemble archive specific
diff --git a/parm/config/config.ecen b/parm/config/config.ecen
index 4128e32d03..c9609e3ff8 100755
--- a/parm/config/config.ecen
+++ b/parm/config/config.ecen
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.ecen ##########
# Ensemble recentering specific
diff --git a/parm/config/config.eupd b/parm/config/config.eupd
index 05861f6282..0e9d42e093 100755
--- a/parm/config/config.eupd
+++ b/parm/config/config.eupd
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.eupd ##########
# Ensemble update specific, dependency config.anal
diff --git a/parm/config/config.fv3 b/parm/config/config.fv3
index 24ecc6b30e..3fdfc468a2 100755
--- a/parm/config/config.fv3
+++ b/parm/config/config.fv3
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.fv3 ##########
# FV3 model resolution specific parameters
# e.g. time-step, processor layout, physics and dynamics parameters
@@ -12,20 +8,16 @@
if [ $# -ne 1 ]; then
- echo "Must specify a forecast mode to set variables!"
+ echo "Must specify an input resolution argument to set variables!"
echo "argument can be any one of the following:"
- echo "EFCS GFS GDAS (upper- or lower-case is okay)"
- err_exit "Missing mandatory argument to config.fv3"
+ echo "C48 C96 C192 C384 C768 C1152 C3072"
exit 1
fi
-forecast_mode=$( echo "$1" | tr a-z A-Z )
-
-echo "BEGIN: config.fv3 for $forecast_mode"
+case_in=$1
-# Source model specific information
-. $EXPDIR/config.coupled
+echo "BEGIN: config.fv3"
if [[ "$machine" = "WCOSS_DELL_P3" ]]; then
@@ -74,13 +66,6 @@ case $case_in in
export WRITE_GROUP_GFS=1
export WRTTASK_PER_GROUP_GFS=$npe_node_max
export WRTIOBUF="4M"
-if [ $cpl = ".true." ]; then
- export OCNTIM=450
- export layout_y=6
- export layout_y_gfs=6
- export WRTTASK_PER_GROUP=6
- export WRTTASK_PER_GROUP_GFS=6
-fi
;;
"C192")
export DELTIM=450
@@ -113,16 +98,6 @@ fi
export WRITE_GROUP_GFS=2
export WRTTASK_PER_GROUP_GFS=$npe_node_max
export WRTIOBUF="16M"
-if [ $cpl = ".true." ]; then
- export DELTIM=450
- export OCNTIM=1800
- export layout_x=6
- export layout_y=8
- export layout_x_gfs=6
- export layout_y_gfs=8
- export npe_node_fcst=8
- export nth_fv3=3
-fi
;;
"C768")
export DELTIM=150
@@ -173,7 +148,9 @@ fi
export WRTIOBUF="64M"
;;
*)
- exit 2
+ echo "grid $case_in not supported, ABORT!"
+ exit 1
+ ;;
esac
-echo "END: config.fv3 for $forecast_mode"
+echo "END: config.fv3"
diff --git a/parm/config/config.fv3ic b/parm/config/config.fv3ic
index d5361a0696..eaed3892ea 100755
--- a/parm/config/config.fv3ic
+++ b/parm/config/config.fv3ic
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.fv3ic ##########
# Convert GFS initial conditions into FV3 initial conditions
diff --git a/parm/config/config.getic b/parm/config/config.getic
index ef5586ce13..a754454264 100755
--- a/parm/config/config.getic
+++ b/parm/config/config.getic
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.getic ##########
# Fetching GFS initial conditions specific
@@ -18,7 +14,7 @@ export ics_from="opsgfs" # initial conditions from opsgfs or pargfs
# Provide a parallel experiment name and path to HPSS archive
if [ $ics_from = "pargfs" ]; then
export parexp="prnemsrn"
- export HPSS_PAR_PATH="/5year/NCEPDEV/emc-global/emc.glopara/WCOSS_C/prnemsrn"
+ export HPSS_PAR_PATH="/5year/NCEPDEV/emc-global/emc.glopara/WCOSS_C/$parexp"
fi
echo "END: config.getic"
diff --git a/parm/config/config.nsst b/parm/config/config.nsst
index ada360c65e..a59ca19495 100755
--- a/parm/config/config.nsst
+++ b/parm/config/config.nsst
@@ -1,9 +1,5 @@
#!/bin/ksh -x
-# This file is automatically generated from the YAML-based system
-# in ecf/ecfutils/. Any changes will be overwritten if
-# setup_case.sh is rerun.
-
########## config.nsst ##########
# NSST specific
@@ -18,8 +14,7 @@ export NST_MODEL=2
export NST_SPINUP=0
#if [[ "$CDATE" = $SDATE ]]; then
# export NST_SPINUP=1
-#fi
-
+#fi
# nstf_name(3) : NST_RESV (Reserved, NSST Analysis) : 0 = OFF, 1 = ON
export NST_RESV=0
diff --git a/scripts/exgfs_postsnd.sh.ecf_Jet b/scripts/exgfs_postsnd.sh.ecf_Jet
deleted file mode 100755
index 8f44f22ec2..0000000000
--- a/scripts/exgfs_postsnd.sh.ecf_Jet
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/bin/ksh
-################################################################
-# Script Name: exgfs_postsnd.sh.sms
-# Script Description: Generate GFS BUFR sounding files
-# Script History Log:
-# 1) 2003-03-25 Hualu Pan First Implementation
-# 2) 2010-05-25 V. Krishna Kumar Modified for the GFS
-# resolution upgrade
-# 3) 2014-08-01 D. Carlis Updated to vertical structure
-# and T1534 Resolution
-# 4) 2016-11-01 H. Chuang Update to read new model nems output
-# 5) 2018-04-13 Guang Ping Lou This version is for Theia only
-################################################################
-set -xa
-
-cd $DATA
-########################################
-msg="HAS BEGUN"
-#postmsg "$jlogfile" "$msg"
-########################################
-
-###################################################
-## Run meteogram generator for T574
-###################################################
-export JCAP=${JCAP:-1534}
-export LEVS=${LEVS:-64}
-export LATB=${LATB:-1536}
-export LONB=${LONB:-3072}
-export STARTHOUR=${STARTHOUR:-00}
-export ENDHOUR=${ENDHOUR:-180}
-export NEND1=120 ##first period length with time interval = NINT1
-##export NINT1=3 ##first period time interval
-export NINT1=1 ##first period time interval
-export NINT3=3 ##second period time interval
-export NZERO=6
-export INCREMENT=12
-export OUTFILE=meteomrf
-export MAKEBUFR=NO
-export F00FLAG=YES
-
-if [ $FHMAX_HF_GFS -gt 0 -a $FHOUT_HF_GFS -gt 0 ]
- then
- export NINT1=${FHOUT_HF_GFS:-1}
- export NEND1=${FHMAX_HF_GFS:-120}
- else
- export NINT3=${FHOUT_GFS:-3}
-fi
-
-rm -f -r ${COMOUT}/bufr.${cycle}
-mkdir -p ${COMOUT}/bufr.${cycle}
-
-# Extract number of vertical levels from $STARTHOUR atmospheric file
-export NEMSIOGET=${NEMSIOGET:-$EXECbufrsnd/nemsio_get}
-fhr3=$(printf %03i $STARTHOUR)
-ATMFCS=$COMIN/${RUN}.${cycle}.atmf${fhr3}.nemsio
-export LEVS=$($NEMSIOGET $ATMFCS dimz | awk '{print $2}')
-
-### Loop for the hour and wait for the sigma and surface flux file:
-export FSTART=$STARTHOUR
-#
-while [ $FSTART -lt $ENDHOUR ]
-do
-export FINT=$NINT1
- # Define the end hour for the input
- export FEND=`expr $FSTART + $INCREMENT`
- if test $FEND -lt 100; then FEND=0$FEND; fi
- if [ $FSTART -eq 00 ]
- then
- export F00FLAG=YES
- else
- export F00FLAG=NO
- fi
-
- if [ $FEND -eq $ENDHOUR ]
- then
- export MAKEBUFR=YES
- fi
-
- ic=0
- while [ $ic -lt 1000 ]
- do
- if [ ! -f $COMIN/${RUN}.${cycle}.sfcf$FEND.nemsio ]
- then
- sleep 10
- ic=`expr $ic + 1`
- else
- break
- fi
-
- if [ $ic -ge 360 ]
- then
- err_exit "COULD NOT LOCATE logf$FEND file AFTER 1 HOUR"
- fi
- done
-
-## 1-hourly output before $NEND1, 3-hourly output after
- if [ $FEND -gt $NEND1 ]; then
- export FINT=$NINT3
- fi
- $USHbufrsnd/gfs_bufr.sh
-
- export FSTART=$FEND
-done
-
-##############################################################
-# Tar and gzip the individual bufr files and send them to /com
-##############################################################
-cd ${COMOUT}/bufr.${cycle}
-tar -cf - . | /usr/bin/gzip > ../${RUN}.${cycle}.bufrsnd.tar.gz
-cd $DATA
-
-########################################
-
-########################################
-# Create Regional Collectives of BUFR data and
-# add appropriate WMO Headers.
-########################################
-collect=' 1 2 3 4 5 6 7 8 9'
-for m in ${collect}
-do
-sh $USHbufrsnd/gfs_sndp.sh $m
-done
-
-################################################
-# Convert the bufr soundings into GEMPAK files
-################################################
-sh $USHbufrsnd/gfs_bfr2gpk.sh_Jet
-
-#####################################################################
-# GOOD RUN
-set +x
-echo "**************JOB GFS_meteogrm COMPLETED NORMALLY ON THE IBM"
-echo "**************JOB GFS_meteogrm COMPLETED NORMALLY ON THE IBM"
-echo "**************JOB GFS_meteogrm COMPLETED NORMALLY ON THE IBM"
-set -x
-#####################################################################
-
-msg='HAS COMPLETED NORMALLY.'
-#postmsg "$jlogfile" "$msg"
-
-############## END OF SCRIPT #######################
-
diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh
index 8b438777a5..1ce4b75cf5 100755
--- a/scripts/exgfs_wave_post_gridded_sbs.sh
+++ b/scripts/exgfs_wave_post_gridded_sbs.sh
@@ -105,7 +105,7 @@
# 1. Get files that are used by most child scripts
export DOGRB_WAV='YES' #Create grib2 files
- export DOGRI_WAV='YES' #Create interpolated grids
+ export DOGRI_WAV='NO' #Create interpolated grids
exit_code=0
@@ -321,7 +321,6 @@
esac
echo "$USHwave/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd}
fi
- #echo "pwd" >> ${fcmdnow}
echo "${GRIBDATA}/${fcmdigrd}.${nigrd}" >> ${fcmdnow}
chmod 744 ${fcmdigrd}.${nigrd}
nigrd=$((nigrd+1))
@@ -343,6 +342,7 @@
ao_20m) GRDNAME='arctic' ; GRDRES=0p33 ; GRIDNR=255 ; MODNR=11 ;;
so_20m) GRDNAME='antarc' ; GRDRES=0p33 ; GRIDNR=255 ; MODNR=11 ;;
glo_15mxt) GRDNAME='global' ; GRDRES=0p25 ; GRIDNR=255 ; MODNR=11 ;;
+ gwes_30m) GRDNAME='global' ; GRDRES=0p50 ; GRIDNR=255 ; MODNR=10 ;;
esac
echo "$USHwave/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdnow}
done
diff --git a/scripts/exgfs_wave_prep.sh b/scripts/exgfs_wave_prep.sh
index 00bb88200b..be6d3674f7 100755
--- a/scripts/exgfs_wave_prep.sh
+++ b/scripts/exgfs_wave_prep.sh
@@ -852,9 +852,14 @@
WINDFLAG="$WAVEWND_FID"
;;
'CPL' )
- WINDFLAG="CPL:${waveesmfGRD}"
WNDIFLAG='T'
- CPLILINE=" '${waveesmfGRD}' F F T F F F F"
+ if [ ${waveesmfGRD} ]
+ then
+ WINDFLAG="CPL:${waveesmfGRD}"
+ CPLILINE=" '${waveesmfGRD}' F F T F F F F"
+ else
+ WINDFLAG="CPL:native"
+ fi
;;
esac
@@ -866,9 +871,14 @@
ICEFLAG="$WAVEICE_FID"
;;
'CPL' )
- ICEFLAG="CPL:${waveesmfGRD}"
ICEIFLAG='T'
- CPLILINE=" '${waveesmfGRD}' F F ${WNDIFLAG} T F F F"
+ if [ ${waveesmfGRD} ]
+ then
+ ICEFLAG="CPL:${waveesmfGRD}"
+ CPLILINE=" '${waveesmfGRD}' F F ${WNDIFLAG} T F F F"
+ else
+ ICEFLAG="CPL:native"
+ fi
;;
esac
@@ -884,9 +894,14 @@
fi
;;
'CPL' )
- CURRFLAG="CPL:${waveesmfGRD}"
CURIFLAG='T'
- CPLILINE=" '${waveesmfGRD}' F T ${WNDIFLAG} ${ICEFLAG} F F F"
+ if [ ${waveesmfGRD} ]
+ then
+ CURRFLAG="CPL:${waveesmfGRD}"
+ CPLILINE=" '${waveesmfGRD}' F T ${WNDIFLAG} ${ICEFLAG} F F F"
+ else
+ CURRFLAG="CPL:native"
+ fi
;;
esac
@@ -928,6 +943,8 @@
-e "s/OUT_BEG/$time_beg_out/g" \
-e "s/OUT_END/$time_end/g" \
-e "s/DTFLD/ $DTFLD_WAV/g" \
+ -e "s/FLAGMASKCOMP/ $FLAGMASKCOMP/g" \
+ -e "s/FLAGMASKOUT/ $FLAGMASKOUT/g" \
-e "s/GOFILETYPE/ $GOFILETYPE/g" \
-e "s/POFILETYPE/ $POFILETYPE/g" \
-e "s/FIELDS/$FIELDS/g" \
@@ -949,9 +966,9 @@
if [ -f ww3_multi.inp ]
then
echo " Copying file ww3_multi.${WAV_MOD_TAG}.inp to $COMOUT "
- cp ww3_multi.inp ${COMOUT}/rundata/ww3_multi.${WAV_MOD_TAG}.$cycle.inp
+ cp ww3_multi.inp ${COMOUT}/rundata/ww3_multi.${WAV_MOD_TAG}.${cycle}.inp
else
- echo "FATAL ERROR: file ww3_multi.${WAV_MOD_TAG}.$cycle.inp NOT CREATED, ABORTING"
+ echo "FATAL ERROR: file ww3_multi.${WAV_MOD_TAG}.${cycle}.inp NOT CREATED, ABORTING"
err=13;export err;${errchk}
fi
diff --git a/scripts/nems.configure_temp_fv3.sh b/scripts/nems.configure_temp_fv3.sh
deleted file mode 100644
index da2bb344be..0000000000
--- a/scripts/nems.configure_temp_fv3.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-cat >> nems.configure < $logs_dir/build_libs.log 2>&1
-}
-
-#------------------------------------
-# build fv3
-#------------------------------------
-$Build_fv3gfs && {
-echo " .... Building fv3 .... "
-./build_fv3.umb.sh > $logs_dir/build_fv3.log 2>&1
-}
-
-#------------------------------------
-# build gsi
-#------------------------------------
-$Build_gsi && {
-echo " .... Building gsi .... "
-./build_gsi.umb.sh > $logs_dir/build_gsi.log 2>&1
-}
-
-#------------------------------------
-# build ncep_post
-#------------------------------------
-$Build_ncep_post && {
-echo " .... Building ncep_post .... "
-./build_ncep_post.umb.sh > $logs_dir/build_ncep_post.log 2>&1
-}
-
-#------------------------------------
-# build ufs_utils
-#------------------------------------
-$Build_ufs_utils && {
-echo " .... Building ufs_utils .... "
-./build_ufs_utils.umb.sh > $logs_dir/build_ufs_utils.log 2>&1
-}
-
-#------------------------------------
-# build gfs_wafs
-#------------------------------------
-#$Build_gfs_wafs && {
-#echo " .... Building gfs_wafs .... "
-#./build_gfs_wafs.sh > $logs_dir/build_gfs_wafs .log 2>&1
-#}
-
-#------------------------------------
-# build NEMS util
-#------------------------------------
-$Build_nems_util && {
-echo " .... Building NEMS util .... "
-./build_nems_util.umb.sh > $logs_dir/build_NEMS.log 2>&1
-}
-
-#------------------------------------
-# build sfcanl_nsttfchg
-#------------------------------------
-$Build_sfcanl_nsttfchg && {
-echo " .... Building gaussian_sfcanl and nst_tf_chg .... "
-./build_sfcanl_nsttfchg.umb.sh > $logs_dir/build_sfcanl_nsttfchg.log 2>&1
-}
-
-#------------------------------------
-# build enkf_chgres_recenter
-#------------------------------------
-$Build_enkf_chgres_recenter && {
-echo " .... Building enkf_chgres_recenter .... "
-./build_enkf_chgres_recenter.umb.sh > $logs_dir/build_enkf_chgres_recenter.log 2>&1
-}
-
-#------------------------------------
-# build tropcy_NEMS
-#------------------------------------
-$Build_tropcy && {
-echo " .... Building tropcy_NEMS .... "
-./build_tropcy_NEMS.umb.sh > $logs_dir/build_tropcy_NEMS.log 2>&1
-}
-
-#------------------------------------
-# build gdas
-#------------------------------------
-$Build_gdas && {
-echo " .... Building gdas .... "
-./build_gdas.umb.sh > $logs_dir/build_gdas.log 2>&1
-}
-
-#------------------------------------
-# build gfs_fbwndgfs
-#------------------------------------
-$Build_gfs_fbwndgfs && {
-echo " .... Building gfs_fbwndgfs .... "
-./build_gfs_fbwndgfs.umb.sh > $logs_dir/build_gfs_fbwndgfs.log 2>&1
-}
-
-#------------------------------------
-# build gfs_overpdtg2
-#------------------------------------
-$Build_gfs_overpdtg2 && {
-echo " .... Building gfs_overpdtg2 .... "
-./build_gfs_overpdtg2.umb.sh > $logs_dir/build_gfs_overpdtg2.log 2>&1
-}
-
-#------------------------------------
-# build gfs_wintemv
-#------------------------------------
-$Build_gfs_wintemv && {
-echo " .... Building gfs_wintemv .... "
-./build_gfs_wintemv.umb.sh > $logs_dir/build_gfs_wintemv.log 2>&1
-}
-
-#------------------------------------
-# build gfs_bufrsnd
-#------------------------------------
-$Build_gfs_bufrsnd && {
-echo " .... Building gfs_bufrsnd .... "
-./build_gfs_bufrsnd.umb.sh > $logs_dir/build_gfs_bufrsnd.log 2>&1
-}
-
-#------------------------------------
-# build fv3nc2nemsio
-#------------------------------------
-$Build_fv3nc2nemsio && {
-echo " .... Building fv3nc2nemsio .... "
-./build_fv3nc2nemsio.umb.sh > $logs_dir/build_fv3nc2nemsio.log 2>&1
-}
-
-#------------------------------------
-# build regrid_nemsio
-#------------------------------------
-$Build_regrid_nemsio && {
-echo " .... Building regrid_nemsio .... "
-./build_regrid_nemsio.umb.sh > $logs_dir/build_regrid_nemsio.log 2>&1
-}
-
-#------------------------------------
-# build gfs_util
-#------------------------------------
-$Build_gfs_util && {
-echo " .... Building gfs_util .... "
-./build_gfs_util.umb.sh > $logs_dir/build_gfs_util.log 2>&1
-}
-
-#------------------------------------
-# 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
-#------------------------------------
-$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
-}
-
-echo;echo " .... Build system finished .... "
-
-exit 0
diff --git a/sorc/build_enkf_chgres_recenter.sh b/sorc/build_enkf_chgres_recenter.sh
index 0ac3a3ade1..880a9dd032 100755
--- a/sorc/build_enkf_chgres_recenter.sh
+++ b/sorc/build_enkf_chgres_recenter.sh
@@ -25,7 +25,7 @@ fi
cd ${cwd}/enkf_chgres_recenter.fd
-export FFLAGS="-O3 -r8 -i4 -axSSE4.2,AVX,CORE-AVX2 -qopenmp -traceback -fp-model precise"
+export FFLAGS="-O3 -r8 -i4 -qopenmp -traceback -fp-model precise"
make clean
make
diff --git a/sorc/build_enkf_chgres_recenter.umb.sh b/sorc/build_enkf_chgres_recenter.umb.sh
deleted file mode 100755
index bdb305da80..0000000000
--- a/sorc/build_enkf_chgres_recenter.umb.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-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/fv3gfs/enkf_chgres_recenter.$target > /dev/null 2>&1
- source ../modulefiles/fv3gfs/enkf_chgres_recenter.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/fv3gfs/enkf_chgres_recenter.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/fv3gfs/enkf_chgres_recenter.$target > /dev/null 2>&1
- fi
-fi
-module list
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd ${cwd}/enkf_chgres_recenter.fd
-
-export FFLAGS="-O3 -r8 -i4 -qopenmp -traceback -fp-model precise"
-
-make clean
-make
-make install
-make clean
diff --git a/sorc/build_fv3.sh b/sorc/build_fv3.sh
index e1c46720f2..e812f7e0ca 100755
--- a/sorc/build_fv3.sh
+++ b/sorc/build_fv3.sh
@@ -1,9 +1,7 @@
#! /usr/bin/env bash
set -eux
-set +e
source ./machine-setup.sh > /dev/null 2>&1
-set -e
cwd=`pwd`
USE_PREINST_LIBS=${USE_PREINST_LIBS:-"true"}
diff --git a/sorc/build_fv3.umb.sh b/sorc/build_fv3.umb.sh
deleted file mode 100755
index ff85e9604c..0000000000
--- a/sorc/build_fv3.umb.sh
+++ /dev/null
@@ -1,26 +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
-else
- export MOD_PATH=${cwd}/lib/modulefiles
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-if [ $target = theia ]; then target=theia.intel ; fi
-
-cd fv3gfs.fd/
-FV3=$( pwd -P )/FV3
-cd tests/
-./compile.umb.sh "$FV3" "$target" "NCEP64LEV=Y HYDRO=N 32BIT=Y" 1
-##mv -f fv3_1.exe ../NEMS/exe/fv3_gfs_nh.prod.32bit.x
-mv -f fv3_1.exe ../NEMS/exe/global_fv3gfs.x
diff --git a/sorc/build_fv3nc2nemsio.umb.sh b/sorc/build_fv3nc2nemsio.umb.sh
deleted file mode 100755
index 04b1b0d9b3..0000000000
--- a/sorc/build_fv3nc2nemsio.umb.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-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.fv3nc2nemsio.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/modulefile.fv3nc2nemsio.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/modulefile.fv3nc2nemsio.$target > /dev/null 2>&1
- fi
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd ./fv3nc2nemsio.fd
-
-LIBnetcdf=`$NETCDF/bin/nf-config --flibs`
-INCnetcdf=`$NETCDF/bin/nf-config --fflags`
-export NETCDF_LDFLAGS=$LIBnetcdf
-export NETCDF_INCLUDE=$INCnetcdf
-
-$FCMP $FFLAGS -c kinds.f90
-$FCMP $FFLAGS -c constants.f90
-$FCMP $FFLAGS $NETCDF_INCLUDE -I $NEMSIO_INC -c fv3_module.f90
-$FCMP $FFLAGS $NETCDF_INCLUDE -I $NEMSIO_INC -I. -o fv3nc2nemsio.x fv3_main.f90 fv3_module.o $NETCDF_LDFLAGS $NEMSIO_LIB $BACIO_LIB4 $W3NCO_LIBd -L$HDF5/lib -lhdf5_hl -lhdf5 -lz
-
-rm -f *.o *.mod
-
-cd $cwd
-mv fv3nc2nemsio.fd/fv3nc2nemsio.x ../exec/.
-
-exit
diff --git a/sorc/build_gdas.umb.sh b/sorc/build_gdas.umb.sh
deleted file mode 100755
index e296fe1bba..0000000000
--- a/sorc/build_gdas.umb.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-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/gdas_gridbull.$target > /dev/null 2>&1
- source ../modulefiles/gdas_gridbull.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gdas_gridbull.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gdas_gridbull.$target > /dev/null 2>&1
- fi
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-export target=GENERIC
-
-### gridbull
- cd $cwd/gridbull.fd
- make -f makefile.$target
- make -f makefile.$target clean
- mv gridbull ../../exec/
-
-### navybull
- cd $cwd
- source $cwd/machine-setup.sh > /dev/null 2>&1
-export target=GENERIC
- if [ $USE_PREINST_LIBS = true ]; then
- export MOD_PATH=/scratch3/NCEPDEV/nwprod/lib/modulefiles
- source ../modulefiles/gdas_navybull.GENERIC > /dev/null 2>&1
- else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gdas_navybull.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gdas_navybull.$target > /dev/null 2>&1
- fi
- fi
- cd $cwd/navybull.fd
- make -f makefile.$target
- make -f makefile.$target clean
- mv navybull ../../exec/
-
-### gdas_trpsfcmv
- cd $cwd
- source $cwd/machine-setup.sh > /dev/null 2>&1
- source $cwd/ncl.setup
-module list
-export NCARG_LIB=$NCARG_ROOT/lib
-
-export target=GENERIC
- if [ $USE_PREINST_LIBS = true ]; then
- export MOD_PATH=/scratch3/NCEPDEV/nwprod/lib/modulefiles
- source ../modulefiles/gdas_trpsfcmv.GENERIC > /dev/null 2>&1
- else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gdas_trpsfcmv.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gdas_trpsfcmv.$target > /dev/null 2>&1
- fi
- fi
- cd $cwd/gdas_trpsfcmv.fd
- make -f makefile.$target
- make -f makefile.$target clean
- mv gdas_trpsfcmv ../../exec/
-
-exit
diff --git a/sorc/build_gfs_bufrsnd.umb.sh b/sorc/build_gfs_bufrsnd.umb.sh
deleted file mode 100755
index a5e852109c..0000000000
--- a/sorc/build_gfs_bufrsnd.umb.sh
+++ /dev/null
@@ -1,35 +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/gfs_bufr.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gfs_bufr.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gfs_bufr.$target > /dev/null 2>&1
- fi
-fi
-module list
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-# Compile codes under /sorc
-compile1='gfs_bufr tocsbufr'
-
-for comp in $compile1
-do
- echo "Compiling ${comp}"
- cd $cwd/${comp}.fd
- make -f makefile_module clean
- make -f makefile_module
-done
diff --git a/sorc/build_gfs_fbwndgfs.umb.sh b/sorc/build_gfs_fbwndgfs.umb.sh
deleted file mode 100755
index 4960e29c13..0000000000
--- a/sorc/build_gfs_fbwndgfs.umb.sh
+++ /dev/null
@@ -1,29 +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/gfs_fbwndgfs.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gfs_fbwndgfs.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gfs_fbwndgfs.$target > /dev/null 2>&1
- fi
-fi
-module list
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd fbwndgfs.fd
-make -f makefile.GENERIC
-make -f makefile.GENERIC clean
-mv fbwndgfs ../../exec/
diff --git a/sorc/build_gfs_overpdtg2.umb.sh b/sorc/build_gfs_overpdtg2.umb.sh
deleted file mode 100755
index f66e736689..0000000000
--- a/sorc/build_gfs_overpdtg2.umb.sh
+++ /dev/null
@@ -1,30 +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/gfs_overpdtg2.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gfs_overpdtg2.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gfs_overpdtg2.$target > /dev/null 2>&1
- fi
-fi
-module list
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd overpdtg2.fd
-make -f makefile.GENERIC
-make -f makefile.GENERIC install
-make -f makefile.GENERIC clean
-mv overpdtg2 ../../exec
diff --git a/sorc/build_gfs_util.umb.sh b/sorc/build_gfs_util.umb.sh
deleted file mode 100755
index a0e5bd696a..0000000000
--- a/sorc/build_gfs_util.umb.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /usr/bin/env bash
-set -eux
-
-source ./machine-setup.sh > /dev/null 2>&1
-export dir=` pwd `
-
-cd ../util/sorc
-
-# Check for gfs_util folders exist
-if [ ! -d "./faxmakrx.fd" ]; then
- echo " "
- echo " GFS_UTIL folders DO NOT exist "
- echo " "
- exit
-fi
-
-echo ""
-echo " Building ... Executables for GFS_UTILITIES "
-echo ""
-source ./compile_gfs_util_umb.sh
diff --git a/sorc/build_gfs_wintemv.umb.sh b/sorc/build_gfs_wintemv.umb.sh
deleted file mode 100755
index 6ad90bc3a3..0000000000
--- a/sorc/build_gfs_wintemv.umb.sh
+++ /dev/null
@@ -1,30 +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/gfs_wintemv.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/gfs_wintemv.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/gfs_wintemv.$target > /dev/null 2>&1
- fi
-fi
-module list
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd wintemv.fd
-make -f makefile.GENERIC
-make -f makefile.GENERIC install
-make -f makefile.GENERIC clean
-mv wintemv ../../exec
diff --git a/sorc/build_gsi.sh b/sorc/build_gsi.sh
index 105305c6d2..f5f938a161 100755
--- a/sorc/build_gsi.sh
+++ b/sorc/build_gsi.sh
@@ -14,15 +14,6 @@ fi
gsitarget=$target
[[ "$target" == wcoss_cray ]] && gsitarget=cray
-if [[ "$target" == jet ]]; then
- if [ -f "../modulefiles/gsi/modulefile.ProdGSI.jet" ]; then
- if [ -d gsi.fd/modulefiles ]; then
- cp ../modulefiles/gsi/modulefile.ProdGSI.jet gsi.fd/modulefiles
- cp ../modulefiles/gsi/setCompilerFlags.cmake gsi.fd/cmake/Modules
- fi
- fi
-fi
-
# Check final exec folder exists
if [ ! -d "../exec" ]; then
mkdir ../exec
@@ -32,3 +23,4 @@ cd gsi.fd/ush/
./build_all_cmake.sh "PRODUCTION" "$cwd/gsi.fd"
exit
+
diff --git a/sorc/build_gsi.umb.sh b/sorc/build_gsi.umb.sh
deleted file mode 100755
index ea312c656b..0000000000
--- a/sorc/build_gsi.umb.sh
+++ /dev/null
@@ -1,26 +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
-else
- export MOD_PATH=${cwd}/lib/modulefiles
-fi
-
-gsitarget=$target
-[[ "$target" == wcoss_cray ]] && gsitarget=cray
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd gsi.fd/ush/
-./build_all_cmake.umb.sh "PRODUCTION" "$cwd/gsi.fd"
-
-exit
-
diff --git a/sorc/build_ncep_post.umb.sh b/sorc/build_ncep_post.umb.sh
deleted file mode 100755
index 4f3449f4fd..0000000000
--- a/sorc/build_ncep_post.umb.sh
+++ /dev/null
@@ -1,20 +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
-else
- export MOD_PATH=${cwd}/lib/modulefiles
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd gfs_post.fd/sorc
-sh build_ncep_post.umb.sh
diff --git a/sorc/build_ncep_post_native.sh b/sorc/build_ncep_post_native.sh
deleted file mode 100755
index be71427e5a..0000000000
--- a/sorc/build_ncep_post_native.sh
+++ /dev/null
@@ -1,108 +0,0 @@
-SHELL=/bin/sh
-
-####################################################################################################
-#
-# post using module compile standard
-#
-# 10/15 Lin Gan: Create module load version
-# 01/16 Lin Gan: Update to use GFS Vertical Structure
-# 07/16 J. Carley: Generalize for other machines using modules
-#
-#####################################################################################################
-#####################################################################################################
-
-
-# Lin Gan Module Load
-module purge
-set -x
-mac=$(hostname | cut -c1-1)
-mac2=$(hostname | cut -c1-2)
-
-# Create a test function for sh vs. bash detection. The name is
-# randomly generated to reduce the chances of name collision.
-__ms_function_name="setup__test_function__$$"
-eval "$__ms_function_name() { /bin/true ; }"
-
-# Determine which shell we are using
-__ms_ksh_test=$( eval '__text="text" ; if [[ $__text =~ ^(t).* ]] ; then printf "%s" ${.sh.match[1]} ; fi' 2> /dev/null | cat )
-__ms_bash_test=$( eval 'if ( set | grep '$__ms_function_name' | grep -v name > /dev/null 2>&1 ) ; then echo t ; fi ' 2> /dev/null | cat )
-
-if [[ ! -z "$__ms_ksh_test" ]] ; then
- __ms_shell=ksh
-elif [[ ! -z "$__ms_bash_test" ]] ; then
- __ms_shell=bash
-else
- # Not bash or ksh, so assume sh.
- __ms_shell=sh
-fi
-
-target=""
-USERNAME=`echo $LOGNAME | awk '{ print tolower($0)'}`
-
-if [[ -d /lfs3 ]] ; then
- # We are on NOAA Jet
- 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=jet
- machine=$target
- module purge
-elif [[ -d /lustre && -d /ncrc ]] ; then # for GAEA.
- if ( ! eval module help > /dev/null 2>&1 ) ; then
- # We cannot simply load the module command. The GAEA
- # /etc/profile modifies a number of module-related variables
- # before loading the module command. Without those variables,
- # the module command fails. Hence we actually have to source
- # /etc/profile here.
- echo load the module command 1>&2
- source /etc/profile
- fi
-
- machine=gaea
- echo "machine set to: $machine"
-
- module purge
- unset _LMFILES_
- unset _LMFILES_000
- unset _LMFILES_001
- unset LOADEDMODULES
- module use -a /opt/cray/ari/modulefiles
- module use -a /opt/cray/pe/ari/modulefiles
- module use -a /opt/cray/pe/craype/default/modulefiles
- source /etc/opt/cray/pe/admin-pe/site-config
- export NCEPLIBS=/lustre/f1/pdata/ncep_shared/NCEPLIBS/lib
- echo NCEPLIBS HARD SET to $NCEPLIBS in `pwd`/module_setup.sh.inc
- module use $NCEPLIBS/modulefiles
-
-elif [ $mac2 = tf ] ; then # For Theia
- machine=theia
- . /etc/profile
- . /etc/profile.d/modules.sh
-elif [ $mac = t -o $mac = e -o $mac = g ] ; then # For WCOSS
- machine=wcoss
- . /usrx/local/Modules/default/init/bash
-elif [ $mac = l -o $mac = s ] ; then # wcoss_c (i.e. luna and surge)
- export machine=cray-intel
-fi
-
-# Lin Gan modifiy to use NCO vertical structure prefix for NCO deployment - 20160131
-moduledir=`dirname $(readlink -f ../modulefiles/post)`
-module use ${moduledir}
-module load post/v8.0.0-${machine}
-module list
-
-cd ncep_post.fd
-make -f makefile_module clean
-make -f makefile_module
-
-if [ ! -d "../../exec" ] ; then
- mkdir -p ../../exec
-fi
-cp ncep_post ../../exec/
-
-unset __ms_shell
-unset __ms_ksh_test
-unset __ms_bash_test
-unset $__ms_function_name
-unset __ms_function_name
diff --git a/sorc/build_nems_util.sh b/sorc/build_nems_util.sh
deleted file mode 100755
index a74c974f4a..0000000000
--- a/sorc/build_nems_util.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /usr/bin/env bash
-set -eux
-
-set +e
-source ./machine-setup.sh > /dev/null 2>&1
-set -e
-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/module_nemsutil.$target > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/module_nemsutil.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/module_nemsutil.$target > /dev/null 2>&1
- fi
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-#for prog in nemsio_get.fd mkgfsnemsioctl.fd nemsio_cvt.fd nemsio_read.fd ;do
-for prog in mkgfsnemsioctl.fd ;do
- cd ${cwd}/${prog}
- make -f makefile
-done
-
-exit
diff --git a/sorc/build_nems_util.umb.sh b/sorc/build_nems_util.umb.sh
deleted file mode 100755
index 26f9ef580f..0000000000
--- a/sorc/build_nems_util.umb.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-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/module_nemsutil.$target > /dev/null 2>&1
- source ../modulefiles/module_nemsutil.GENERIC
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/module_nemsutil.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/module_nemsutil.$target > /dev/null 2>&1
- fi
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-#for prog in nemsio_get.fd mkgfsnemsioctl.fd nemsio_cvt.fd nemsio_read.fd ;do
-for prog in mkgfsnemsioctl.fd ;do
- cd ${cwd}/${prog}
- make -f makefile
-done
-
-exit
diff --git a/sorc/build_regrid_nemsio.umb.sh b/sorc/build_regrid_nemsio.umb.sh
deleted file mode 100755
index a3a1f06cc2..0000000000
--- a/sorc/build_regrid_nemsio.umb.sh
+++ /dev/null
@@ -1,46 +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.regrid_nemsio.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/modulefile.regrid_nemsio.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/modulefile.regrid_nemsio.$target > /dev/null 2>&1
- fi
-fi
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-cd ./regrid_nemsio.fd
-
-export F90=${FCMP}
-export LD=${FCMP}
-export F77=${FCMP}
-
-export FCFFLAGS="" # "-convert native -assume byterecl -heap-arrays -mcmodel=large -shared-intel"
-export LDFLAGS="${FCFFLAGS}"
-export OPTIMIZATION="-O3 -xHOST" #-axCORE-AVX2,AVX -xSSE4.2 -O3
-export DEBUG="-traceback -g" #-O0 #-C #-fp-stack-check #-check all -fp-stack-check
-
-#LIBnetcdf=`$NETCDF/bin/nf-config --flibs`
-#INCnetcdf=`$NETCDF/bin/nf-config --fflags`
-#export NETCDF_LDFLAGS=$LIBnetcdf
-#export NETCDF_INCLUDE=$INCnetcdf
-
-make -f Makefile clean
-make -f Makefile
-make -f Makefile install
-make -f Makefile clean
-
-exit
diff --git a/sorc/build_sfcanl_nsttfchg.umb.sh b/sorc/build_sfcanl_nsttfchg.umb.sh
deleted file mode 100755
index 08877563d6..0000000000
--- a/sorc/build_sfcanl_nsttfchg.umb.sh
+++ /dev/null
@@ -1,25 +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/fv3gfs/gaussian_sfcanl.GENERIC > /dev/null 2>&1
-else
- export MOD_PATH=${cwd}/lib/modulefiles
- if [ $target = wcoss_cray ]; then
- source ../modulefiles/fv3gfs/gaussian_sfcanl.${target}_userlib > /dev/null 2>&1
- else
- source ../modulefiles/fv3gfs/gaussian_sfcanl.$target > /dev/null 2>&1
- fi
-fi
-module list
-
-cd ${cwd}/gaussian_sfcanl.fd
-./makefile.umb.sh
-
-#cd ${cwd}/nst_tf_chg.fd
-#./makefile.sh
diff --git a/sorc/build_tropcy_NEMS.umb.sh b/sorc/build_tropcy_NEMS.umb.sh
deleted file mode 100755
index a3dbe09acc..0000000000
--- a/sorc/build_tropcy_NEMS.umb.sh
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/bin/sh
-#
-# 07052015 E.Mirvis - made build more universal - environmental module based (see readme)
-# EMC/NCEP/NOAA
-#
-# excutables created from build_tropcy.sh:
-# 1) relocate_mv_nvortex.fd/relocate_mv_nvortex
-# 2) vint.fd/vint.x
-# 3) tave.fd/tave.x
-# 4) syndat_qctropcy.fd/syndat_qctropcy
-# 5) syndat_maksynrc.fd/syndat_maksynrc
-# 6) syndat_getjtbul.fd/syndat_getjtbul
-# 7) supvit.fd/supvit
-# 8) gettrk.fd/gettrk
-#
-set -eux
-
-source ./machine-setup.sh > /dev/null 2>&1
-cwd=`pwd`
-
-# Check final exec folder exists
-if [ ! -d "../exec" ]; then
- mkdir ../exec
-fi
-
-USE_PREINST_LIBS=${USE_PREINST_LIBS:-"true"}
-if [ $USE_PREINST_LIBS = true ]; then
- export MOD_PATH=/scratch3/NCEPDEV/nwprod/lib/modulefiles
-else
- export MOD_PATH=${cwd}/lib/modulefiles
-fi
-
- source ../modulefiles/modulefile.storm_reloc_v6.0.0.GENERIC
- export FC=mpiifort
-
-export INC="${G2_INCd} -I${NEMSIO_INC}"
-export LIBS="${W3EMC_LIBd} ${W3NCO_LIBd} ${BACIO_LIB4} ${G2_LIBd} ${PNG_LIB} ${JASPER_LIB} ${Z_LIB}"
-export LIBS_SUP="${W3EMC_LIBd} ${W3NCO_LIBd}"
-echo lset
-echo lset
- export LIBS_REL="${W3NCO_LIB4}"
-export LIBS_REL="${NEMSIOGFS_LIB} ${NEMSIO_LIB} ${LIBS_REL} ${SIGIO_LIB4} ${BACIO_LIB4} ${SP_LIBd}"
-export LIBS_SIG="${SIGIO_INC4}"
-export LIBS_SYN_GET="${W3NCO_LIB4}"
-export LIBS_SYN_MAK="${W3NCO_LIB4} ${BACIO_LIB4}"
-export LIBS_SYN_QCT="${W3NCO_LIB8}"
-echo $LIBS_REL
-echo NEXT
-
-#cd relocate_mv_nvortex.fd
-# make clean
-# make -f makefile_$targetx
-# make install
-# make clean
-# cd ../
-cd vint.fd
- make clean
- make -f makefile
- make install
- cd ../
-cd tave.fd
- make clean
- make -f makefile
- make install
- cd ../
-cd syndat_qctropcy.fd
- make clean
- make -f makefile
- make install
- make clean
- cd ../
-cd syndat_maksynrc.fd
- make clean
- make -f makefile
- make install
- make clean
- cd ../
-cd syndat_getjtbul.fd
- make clean
- make -f makefile
- make install
- make clean
- cd ../
-cd supvit.fd
- make clean
- make -f makefile
- make install
- make clean
- cd ../
-#cd gettrk.fd
-# make clean
-# make -f makefile
-# make install
-# make clean
-# cd ../
-
-exit
diff --git a/sorc/build_ufs_utils.umb.sh b/sorc/build_ufs_utils.umb.sh
deleted file mode 100755
index 69f577d8fe..0000000000
--- a/sorc/build_ufs_utils.umb.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#! /usr/bin/env bash
-set -eux
-
-
-cd ufs_utils.fd/sorc
-
-bash -x build_all_ufs_utils.umb.sh
-
-exit
-
diff --git a/sorc/cnvgrib21_gfs.fd/makefile.gaea b/sorc/cnvgrib21_gfs.fd/makefile.gaea
deleted file mode 100644
index 6b8800436b..0000000000
--- a/sorc/cnvgrib21_gfs.fd/makefile.gaea
+++ /dev/null
@@ -1,57 +0,0 @@
-SHELL=/bin/sh
-#
-SRCS= gds2gdt.f pds2pdt.f pds2pdtens.f cnvgrib21_gfs.f cnvgfs12.f cnvgfs22.f \
- cnvgfs21.f gdt2gds.f makepds.f putgbexn.f makepdsens.f setbit.f
-OBJS= gds2gdt.o pds2pdt.o pds2pdtens.o cnvgrib21_gfs.o cnvgfs12.o cnvgfs22.o \
- cnvgfs21.o gdt2gds.o makepds.o putgbexn.o makepdsens.o setbit.o
-
-# Tunable parameters
-#
-# FC Name of the fortran compiling system to use
-# LDFLAGS Flags to the loader
-# LIBS List of libraries
-# CMD Name of the executable
-# PROFLIB Library needed for profiling
-#
-FC = ifort
-
-INC= ${G2_INC4}
-LIBS= ${G2_LIB4} ${W3NCO_LIB4} ${BACIO_LIB4} ${JASPER_LIB} ${PNG_LIB} ${Z_LIB}
-
-CMD = cnvgrib21_gfs
-PROFLIB = -lprof
-
-# To perform the default compilation, use the first line
-# To compile with flowtracing turned on, use the second line
-# To compile giving profile additonal information, use the third line
-# WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED
-FFLAGS = -O3 -g -I $(INC)
-#FFLAGS = -F
-#FFLAGS = -Wf"-ez"
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-$(phony all): $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
-
-# Make the profiled version of the command and call it a.out.prof
-#
-$(CMD).prof: $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS)
-
-install:
- mkdir -p ../../exec
- cp -p $(CMD) ../../exec
-
-clean:
- -rm -f $(OBJS)
- -rm -f $(CMD)
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-void: clobber
- -rm -f $(SRCS) makefile
diff --git a/sorc/enkf_chgres_recenter.fd/driver.f90 b/sorc/enkf_chgres_recenter.fd/driver.f90
index 771716bef0..02a138ae8f 100644
--- a/sorc/enkf_chgres_recenter.fd/driver.f90
+++ b/sorc/enkf_chgres_recenter.fd/driver.f90
@@ -1,9 +1,10 @@
program recenter
use setup, only : program_setup
- use grid2grid, only : hinterp_grid2grid, adjust_for_terrain, &
- read_vcoord_info, set_output_grid
- use output_data, only : write_output_data
+ use interp, only : gaus_to_gaus, adjust_for_terrain
+ use input_data, only : read_input_data, &
+ read_vcoord_info
+ use output_data, only : set_output_grid, write_output_data
implicit none
@@ -17,6 +18,18 @@ program recenter
call program_setup
+!--------------------------------------------------------
+! Read input grid data
+!--------------------------------------------------------
+
+ call read_input_data
+
+!--------------------------------------------------------
+! Read vertical coordinate info
+!--------------------------------------------------------
+
+ call read_vcoord_info
+
!--------------------------------------------------------
! Get output grid specs
!--------------------------------------------------------
@@ -24,10 +37,10 @@ program recenter
call set_output_grid
!--------------------------------------------------------
-! Read input and horizontally interpolate to output grid
+! Interpolate data to output grid
!--------------------------------------------------------
- call hinterp_grid2grid
+ call gaus_to_gaus
!--------------------------------------------------------
! Adjust output fields for differences between
diff --git a/sorc/enkf_chgres_recenter.fd/grid2grid.f90 b/sorc/enkf_chgres_recenter.fd/grid2grid.f90
deleted file mode 100644
index 07ae1042d4..0000000000
--- a/sorc/enkf_chgres_recenter.fd/grid2grid.f90
+++ /dev/null
@@ -1,740 +0,0 @@
-module grid2grid
-
- use nemsio_module
-
- implicit none
-
- private
-
- integer, public :: idvc, idsl, idvm, nvcoord
- integer, public :: ntrac, ncldt,icldamt
- integer, public :: ij_input, kgds_input(200)
- integer(nemsio_intkind), public :: i_input, j_input, lev
- integer(nemsio_intkind), public :: idate(7)
-
- logical, public :: gfdl_mp
-
- ! ----------------------------------------------------------------------
-
- ! Fields on target grid before atmospheric readjustment
-
- real, pointer, public :: sfcp_b4_adj_output(:)
- real, pointer, public :: hgt_b4_adj_output(:)
-
- real, pointer, public :: ugrd_b4_adj_output(:,:)
- real, pointer, public :: vgrd_b4_adj_output(:,:)
-
- real, pointer, public :: tmp_b4_adj_output(:,:)
- real, pointer, public :: dzdt_b4_adj_output(:,:)
-
- real, pointer, public :: q_b4_adj_output(:,:,:)
-
- ! Pointers to subarrays of q_b4_adj_output:
- real, pointer, public :: spfh_b4_adj_output(:,:)
- real, pointer, public :: o3mr_b4_adj_output(:,:)
- real, pointer, public :: clwmr_b4_adj_output(:,:)
- real, pointer, public :: rwmr_b4_adj_output(:,:)
- real, pointer, public :: icmr_b4_adj_output(:,:)
- real, pointer, public :: snmr_b4_adj_output(:,:)
- real, pointer, public :: grle_b4_adj_output(:,:)
- real, pointer, public :: cldamt_b4_adj_output(:,:)
-
-
- ! ----------------------------------------------------------------------
- ! Fields on target grid after atmospheric readjustment
-
- real, pointer, public :: hgt_output(:) ! interpolated from input grid
- real, pointer, public :: hgt_external_output(:)
-
- real, pointer, public :: sfcp_output(:)
-
- real, pointer, public :: ugrd_output(:,:)
- real, pointer, public :: vgrd_output(:,:)
-
- real, pointer, public :: tmp_output(:,:)
- real, pointer, public :: delz_output(:,:)
- real, pointer, public :: dpres_output(:,:)
- real, pointer, public :: dzdt_output(:,:)
-
- real, pointer, public :: q_output(:,:,:)
-
- ! Pointers to subarrays of q_output:
- real, pointer, public :: spfh_output(:,:)
- real, pointer, public :: o3mr_output(:,:)
- real, pointer, public :: clwmr_output(:,:)
- real, pointer, public :: rwmr_output(:,:)
- real, pointer, public :: icmr_output(:,:)
- real, pointer, public :: snmr_output(:,:)
- real, pointer, public :: grle_output(:,:)
- real, pointer, public :: cldamt_output(:,:)
-
- real, pointer, public :: rlat_output(:)
- real, pointer, public :: rlon_output(:)
-
- ! ----------------------------------------------------------------------
-
- real, pointer, public :: vcoord(:,:)
- integer, public :: kgds_output(200)
-
- public :: read_vcoord_info
- public :: hinterp_grid2grid
- public :: adjust_for_terrain
- public :: set_output_grid
-
- ! Module-local variables, to reduce code complexity.
-
-
- integer :: ip, ipopt(20)
- integer :: ibi(1), ibo(1)
- logical*1, allocatable :: bitmap_input(:,:),bitmap_output(:,:)
- real, allocatable :: crot(:), srot(:)
-
- !----------------------------------------------------------------------
-
-contains
-
- !----------------------------------------------------------------------
-
- subroutine adjust_for_terrain
-
- ! Adjust fields based on differences between the interpolated and
- ! external terrain.
-
- use utils
- use setup
-
- implicit none
-
- integer :: k, t
-
- real, allocatable :: pres_b4_adj_output(:,:)
- real, allocatable :: pres_output(:,:)
-
- ! First, compute the mid-layer pressure using the interpolated
- ! surface pressure.
-
- allocate(pres_b4_adj_output(ij_output,lev))
- pres_b4_adj_output = 0.0
-
- print*
- print*,"COMPUTE MID-LAYER PRESSURE FROM INTERPOLATED SURFACE PRESSURE."
- call newpr1(ij_output, lev, idvc, idsl, nvcoord, vcoord, &
- sfcp_b4_adj_output, pres_b4_adj_output)
-
- ! Adjust surface pressure based on differences between
- ! interpolated and grid terrain.
-
- allocate(sfcp_output(ij_output))
- sfcp_output = 0.0
-
-
-20 format('TARGET GRID: MAX/MIN ',A,' AT LEVEL ',I0,' IS: ',F17.10,' ',F17.10)
-30 format('TARGET GRID: MAX/MIN ',A,': ',F17.10,' ',F17.10)
-
-40 format('OUTPUT: MAX/MIN ',A,' AT LEVEL ',I0,': ',F17.10,' ',F17.10)
-50 format('OUTPUT: MAX/MIN TRACER #',I0,' AT LEVEL ',I0,': ',F17.10,' ',F17.10)
-
- call printrusage
- print*,"ADJUST SURFACE PRESSURE BASED ON TERRAIN DIFFERENCES"
- call newps(hgt_output, sfcp_b4_adj_output, ij_output, &
- lev, pres_b4_adj_output, tmp_b4_adj_output, &
- spfh_b4_adj_output, hgt_external_output, sfcp_output)
- ! print 30,'SURFACE PRESSURE B4 ADJ',maxval(sfcp_b4_adj_output),minval(sfcp_b4_adj_output)
- ! print 30,'SURFACE PRESSURE OUTPUT',maxval(sfcp_output),minval(sfcp_output)
- ! do k=1,lev
- ! print 20,'TEMPERATURE B4 ADJ',k,maxval(tmp_b4_adj_output(:,k)),minval(tmp_b4_adj_output(:,k))
- ! enddo
- ! do k=1,lev
- ! print 20,'SPFH B4 ADJ',k,maxval(spfh_b4_adj_output(:,k)),minval(spfh_b4_adj_output(:,k))
- ! enddo
-
- deallocate(sfcp_b4_adj_output)
-
- ! Recompute mid-layer pressure based on the adjusted surface
- ! pressure.
-
- allocate(pres_output(ij_output, lev))
- pres_output = 0.0
-
- allocate(dpres_output(ij_output, lev))
- dpres_output = 0.0
-
- call printrusage
- print*,"RECOMPUTE MID-LAYER PRESSURE."
- call newpr1(ij_output, lev, idvc, idsl, nvcoord, vcoord, &
- sfcp_output, pres_output, dpres_output)
- ! do k=1,lev
- ! print 20,'DPRES MID-LAYER PRESSURE OUTPUT',k,maxval(dpres_output(:,k)),minval(dpres_output(:,k))
- ! enddo
-
- ! Vertically interpolate from the pre-adjusted to the adjusted
- ! mid-layer pressures.
-
- allocate(q_output(ij_output,lev,ntrac))
- q_output = 0.0
-
- allocate(dzdt_output(ij_output,lev))
- dzdt_output = 0.0
-
- allocate(ugrd_output(ij_output,lev))
- ugrd_output=0.0
-
- allocate(vgrd_output(ij_output,lev))
- vgrd_output=0.0
-
- allocate(tmp_output(ij_output,lev))
- tmp_output=0.0
-
- call printrusage
- print*,"VERTICALLY INTERPOLATE TO NEW PRESSURE LEVELS"
- call vintg(i_output, j_output, lev, lev, ntrac, pres_b4_adj_output, &
- ugrd_b4_adj_output, vgrd_b4_adj_output, tmp_b4_adj_output, q_b4_adj_output, &
- dzdt_b4_adj_output, pres_output, ugrd_output, vgrd_output, tmp_output, &
- q_output, dzdt_output)
-
- ! do k=1,lev
- ! print *,'TEMPERATURE ',k,' ',maxval(tmp_output(:,k)),' ',minval(tmp_output(:,k))
- ! print *,'U WIND ',k,' ',maxval(ugrd_output(:,k)),' ',minval(ugrd_output(:,k))
- ! print *,'V WIND ',k,' ',maxval(vgrd_output(:,k)),' ',minval(vgrd_output(:,k))
- ! print *,'DZDT ',k,' ',maxval(dzdt_output(:,k)),' ',minval(dzdt_output(:,k))
- ! do t=1,ntrac
- ! print *,'TRACER ',t,' ',k,' ',maxval(q_output(:,k,t)),' ',minval(q_output(:,k,t))
- ! enddo
- ! enddo
-
- deallocate (dzdt_b4_adj_output, q_b4_adj_output)
- deallocate (pres_b4_adj_output, pres_output)
-
- spfh_output => q_output(:,:,1)
- o3mr_output => q_output(:,:,2)
- clwmr_output => q_output(:,:,3)
- if (gfdl_mp) then
- rwmr_output => q_output(:,:,4)
- icmr_output => q_output(:,:,5)
- snmr_output => q_output(:,:,6)
- grle_output => q_output(:,:,7)
- if (icldamt == 1) then
- cldamt_output => q_output(:,:,8)
- endif
- endif
-
- deallocate(hgt_b4_adj_output)
- deallocate(ugrd_b4_adj_output)
- deallocate(vgrd_b4_adj_output)
- deallocate(tmp_b4_adj_output)
-
- nullify(sfcp_b4_adj_output,hgt_b4_adj_output,ugrd_b4_adj_output)
- nullify(vgrd_b4_adj_output,tmp_b4_adj_output,dzdt_b4_adj_output)
- nullify(q_b4_adj_output,spfh_b4_adj_output,o3mr_b4_adj_output)
- nullify(clwmr_b4_adj_output,rwmr_b4_adj_output,icmr_b4_adj_output)
- nullify(snmr_b4_adj_output,grle_b4_adj_output,cldamt_b4_adj_output)
-
- allocate(delz_output(ij_output, lev))
- delz_output = 0.0
-
- call printrusage
- print *,'COMPUTE DELZ'
- call compute_delz(ij_output, lev, vcoord(:,1), vcoord(:,2), sfcp_output, hgt_output, &
- tmp_output, spfh_output, delz_output)
-
- deallocate(hgt_output)
-
- end subroutine adjust_for_terrain
-
- ! ----------------------------------------------------------------------
-
- subroutine set_output_grid
-
- !-------------------------------------------------------------------
- ! Set grid specs on the output grid.
- !-------------------------------------------------------------------
-
- use setup
- use utils
-
- implicit none
-
- character(len=20) :: vlevtyp, vname
-
- integer(nemsio_intkind) :: vlev
- integer :: iret
-
- real(nemsio_realkind), allocatable :: dummy(:)
-
- type(nemsio_gfile) :: gfile
-
- print*
- print*,"OUTPUT GRID I/J DIMENSIONS: ", i_output, j_output
-
- !-------------------------------------------------------------------
- ! Set the grib 1 grid description section, which is needed
- ! by the IPOLATES library.
- !-------------------------------------------------------------------
-
- kgds_output = 0
-
- call calc_kgds(i_output, j_output, kgds_output)
-
- !-------------------------------------------------------------------
- ! Read the terrain on the output grid. To ensure exact match,
- ! read it from an existing enkf nemsio restart file.
- !-------------------------------------------------------------------
-
- call nemsio_init(iret)
-
- print*
- print*,"OPEN OUTPUT GRID TERRAIN FILE: ", trim(terrain_file)
- call nemsio_open(gfile, terrain_file, "read", iret=iret)
- if (iret /= 0) then
- print*,"FATAL ERROR OPENING FILE: ",trim(terrain_file)
- print*,"IRET IS: ", iret
- call errexit(50)
- endif
-
- allocate(dummy(ij_output))
- allocate(hgt_external_output(ij_output))
-
- print*
- print*,"READ SURFACE HEIGHT"
- vlev = 1
- vlevtyp = "sfc"
- vname = "hgt"
- call nemsio_readrecv(gfile, vname, vlevtyp, vlev, dummy, 0, iret)
- if (iret /= 0) then
- print*,"FATAL ERROR READING FILE: ",trim(terrain_file)
- print*,"IRET IS: ", iret
- call errexit(51)
- endif
-
- hgt_external_output = dummy
- !print *,'MAX/MIN HGT_EXTERNAL_OUTPUT IS ',maxval(hgt_external_output),minval(hgt_external_output)
-
- deallocate(dummy)
-
- call nemsio_close(gfile, iret=iret)
-
- call nemsio_finalize()
-
- end subroutine set_output_grid
-
- ! ------------------------------------------------------------------------
-
- subroutine read_vcoord_info
-
- ! Read vertical coordinate information.
- use setup
- implicit none
-
- integer :: istat, levs_vcoord, n, k
-
- print*
- print*,"OPEN VERTICAL COORD FILE: ", trim(vcoord_file)
- open(14, file=trim(vcoord_file), form='formatted', iostat=istat)
- if (istat /= 0) then
- print*,"FATAL ERROR OPENING FILE. ISTAT IS: ", istat
- call errexit(4)
- endif
-
- read(14, *, iostat=istat) nvcoord, levs_vcoord
- if (istat /= 0) then
- print*,"FATAL ERROR READING FILE HEADER. ISTAT IS: ",istat
- call errexit(5)
- endif
-
- ! The last value in the file is not used for the fv3 core. Only
- ! read the first (lev + 1) values.
-
- allocate(vcoord(lev+1, nvcoord))
- read(14, *, iostat=istat) ((vcoord(n,k), k=1,nvcoord), n=1,lev+1)
- if (istat /= 0) then
- print*,"FATAL ERROR READING FILE. ISTAT IS: ",istat
- call errexit(6)
- endif
-
- print*
- do k = 1, (lev+1)
- print*,'VCOORD FOR LEV ', k, 'IS: ', vcoord(k,:)
- enddo
-
- close(14)
-
- end subroutine read_vcoord_info
-
- !----------------------------------------------------------------------
-
- subroutine hinterp_grid2grid
- use setup
- use utils
- implicit none
-
- ! ----------------------------------------------------------------------
- ! Locals copied from read_input_data
- character(len=20) :: vlevtyp, vname
- character(len=50), allocatable :: recname(:)
-
- integer(nemsio_intkind) :: vlev, iret, idum, nrec
- integer :: n
-
- real, allocatable :: dummy(:,:)
- real(nemsio_realkind), allocatable :: readbuf(:)
-
- type(nemsio_gfile) :: gfile
-
- ! ----------------------------------------------------------------------
- ! Locals copied from gaus_to_gaus
-
- integer :: numpts
-
- ! ----------------------------------------------------------------------
-
- call nemsio_init(iret)
-
- print*
- print*,"OPEN INPUT FILE: ",trim(input_file)
- call nemsio_open(gfile, input_file, "read", iret=iret)
- if (iret /= 0) then
- print*,"FATAL ERROR OPENING FILE: ",trim(input_file)
- print*,"IRET IS: ", iret
- call errexit(2)
- endif
-
-
- print*,"GET INPUT FILE HEADER"
- call nemsio_getfilehead(gfile, iret=iret, nrec=nrec, idate=idate, &
- dimx=i_input, dimy=j_input, dimz=lev)
- if (iret /= 0) goto 67
-
- print*,'DIMENSIONS OF DATA ARE: ', i_input, j_input, lev
- print*,'DATE OF DATA IS: ', idate
-
- ij_input = i_input * j_input
-
- allocate(recname(nrec))
-
- call nemsio_getfilehead(gfile, iret=iret, recname=recname)
- if (iret /= 0) goto 67
-
- gfdl_mp = .false. ! Zhao-Carr MP
- do n = 1, nrec
- if (trim(recname(n)) == "icmr") then
- gfdl_mp = .true. ! GFDL MP
- exit
- endif
- enddo
-
- icldamt = 0
- do n = 1, nrec
- if (trim(recname(n)) == "cld_amt") then
- icldamt = 1 ! 3D cloud amount present
- exit
- endif
- enddo
-
- ! Read header info
-
- call nemsio_getfilehead(gfile, iret=iret, idvc=idum)
- if (iret /= 0) goto 67
- idvc = idum
- print*,'IDVC IS: ', idvc
-
- call nemsio_getfilehead(gfile, iret=iret, idsl=idum)
- if (iret /= 0) goto 67
- idsl = idum
- print*,'IDSL IS: ', idsl
-
- call nemsio_getfilehead(gfile, iret=iret, idvm=idum)
- if (iret /= 0) goto 67
- idvm = idum
- print*,'IDVM IS: ', idvm
-
- if (gfdl_mp) then
- ntrac = 7 + icldamt
- ncldt = 5
- else
- ntrac = 3
- ncldt = 1
- endif
-
- ! ----------------------------------------------------------------------
- ! Set up for reading and interpolating.
-
- allocate(dummy(ij_input,2))
- allocate(readbuf(ij_input))
-
- call printrusage
- print*
- print*,'READ AND INTERPOLATE DATA TO OUTPUT GRID'
-
- call calc_kgds(i_input, j_input, kgds_input)
-
- ip = 0 ! bilinear
- ipopt = 0
- ibi = 0 ! no bitmap
- ibo = 0 ! no bitmap
-
- allocate(bitmap_input(ij_input,2))
- bitmap_input = .true.
- allocate(bitmap_output(ij_output,2))
- bitmap_output = .true.
-
- allocate(rlat_output(ij_output))
- rlat_output = 0.0
- allocate(rlon_output(ij_output))
- rlon_output = 0.0
-
- call read_vcoord_info
-
- ! ----------------------------------------------------------------------
- ! Read and interpolate level-by-level, field-by-field.
-
- ! Interpolate surface fields
-
- call printrusage
-
- allocate(sfcp_b4_adj_output(ij_output))
- call grid2grid_surface('SURFACE PRESSURE',gfile,readbuf,'pres','sfc',dummy(:,1),&
- sfcp_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- allocate(hgt_b4_adj_output(ij_output))
- call grid2grid_surface('SURFACE HEIGHT',gfile,readbuf,'hgt','sfc',dummy(:,1),&
- hgt_b4_adj_output,iret)
- if(iret/=0) goto 67
- allocate(hgt_output(ij_output))
- hgt_output=hgt_b4_adj_output
-
- ! Interpolate velocity fields
-
- allocate(crot(ij_output), srot(ij_output))
- crot = 0.
- srot = 0.
- allocate(ugrd_b4_adj_output(ij_output,lev))
- allocate(vgrd_b4_adj_output(ij_output,lev))
- call grid2grid_vector('U WIND','V WIND',gfile,readbuf,'ugrd','vgrd','mid layer',&
- dummy(:,1),dummy(:,2),ugrd_b4_adj_output,vgrd_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- ! Interpolate non-species 3D scalars
-
- call printrusage
- allocate(tmp_b4_adj_output(ij_output,lev))
- call grid2grid_scalar('TEMPERATURE',gfile,readbuf,'tmp','mid layer',dummy(:,1),&
- tmp_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- allocate(dzdt_b4_adj_output(ij_output,lev))
- call grid2grid_scalar('DZDT',gfile,readbuf,'dzdt','mid layer',dummy(:,1),&
- dzdt_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- call printrusage
- ! Interpolate tracers
- allocate(q_b4_adj_output(ij_output,lev,ntrac))
-
- spfh_b4_adj_output=>q_b4_adj_output(:,:,1)
- call grid2grid_scalar('SPECIFIC HUMIDITY',gfile,readbuf,'spfh','mid layer',&
- dummy(:,1),spfh_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- o3mr_b4_adj_output=>q_b4_adj_output(:,:,2)
- call grid2grid_scalar('OZONE',gfile,readbuf,'o3mr','mid layer',&
- dummy(:,1),o3mr_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- clwmr_b4_adj_output=>q_b4_adj_output(:,:,3)
- call grid2grid_scalar('CLOUD LIQUID WATER',gfile,readbuf,'clwmr','mid layer',&
- dummy(:,1),clwmr_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- if(gfdl_mp) then
- rwmr_b4_adj_output=>q_b4_adj_output(:,:,4)
- call grid2grid_scalar('RAIN MIXING RATIO',gfile,readbuf,'rwmr','mid layer',&
- dummy(:,1),rwmr_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- icmr_b4_adj_output=>q_b4_adj_output(:,:,5)
- call grid2grid_scalar('ICE MIXING RATIO',gfile,readbuf,'icmr','mid layer',&
- dummy(:,1),icmr_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- snmr_b4_adj_output=>q_b4_adj_output(:,:,6)
- call grid2grid_scalar('SNOW MIXING RATIO',gfile,readbuf,'snmr','mid layer',&
- dummy(:,1),snmr_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- grle_b4_adj_output=>q_b4_adj_output(:,:,7)
- call grid2grid_scalar('GRAUPEL MIXING RATIO',gfile,readbuf,'grle','mid layer',&
- dummy(:,1),grle_b4_adj_output,iret)
- if(iret/=0) goto 67
-
- if(icldamt==1) then
- cldamt_b4_adj_output=>q_b4_adj_output(:,:,8)
- call grid2grid_scalar('3D CLOUD AMOUNT',gfile,readbuf,'cld_amt','mid layer',&
- dummy(:,1),cldamt_b4_adj_output,iret)
- if(iret/=0) goto 67
- endif
- ! print *,'bottom of hinterp_grid2grid'
- call printrusage
- endif
-
- deallocate(dummy,readbuf,recname,bitmap_input,bitmap_output)
-
- return
-
-67 continue
-
- print*,"FATAL ERROR PROCESSING INPUT FILE: ", trim(input_file)
- print*,"IRET IS: ", iret
- call errexit(3)
-
- end subroutine hinterp_grid2grid
-
- ! ----------------------------------------------------------------------
-
- subroutine grid2grid_vector(&
- u_human_name,v_human_name,&
- gfile,readbuf,uname,vname,vlevtyp,&
- u_dummy,v_dummy,&
- u_b4_adj_output,v_b4_adj_output,iret)
- use setup
- implicit none
- character(len=*) :: u_human_name,v_human_name
- type(nemsio_gfile) :: gfile
- real(nemsio_realkind) :: readbuf(:)
- character(len=*) :: uname, vname, vlevtyp
- real :: u_dummy(:), v_dummy(:)
- real :: u_b4_adj_output(:,:), v_b4_adj_output(:,:)
- integer :: iret
- !locals
- integer :: vlev,num_fields,numpts
- character(len=20) :: uname_x, vname_x, vlevtyp_x
-
- uname_x=uname
- vname_x=vname
- vlevtyp_x=vlevtyp
-
- num_fields=1
-
-10 format(A,': READ ',A,' AND ',A)
-20 format(A,': SOURCE GRID: MAX/MIN ',A,' AT LEVEL ',I0,' IS: ',F17.10,' ',F17.10)
-30 format(A,': TARGET GRID: MAX/MIN ',A,' AT LEVEL ',I0,' IS: ',F17.10,' ',F17.10)
-
- print 10,trim(input_file),u_human_name,v_human_name
-
- do vlev=1,lev
- readbuf=-999.
- call nemsio_readrecv(gfile, uname_x, vlevtyp_x, vlev, readbuf, 0, iret)
- if(iret/=0) return
- u_dummy=readbuf
-
- readbuf=-999.
- call nemsio_readrecv(gfile, vname_x, vlevtyp_x, vlev, readbuf, 0, iret)
- if(iret/=0) return
- v_dummy=readbuf
-
- print 20,trim(input_file),u_human_name,vlev,maxval(u_dummy),minval(u_dummy)
- print 20,trim(input_file),v_human_name,vlev,maxval(v_dummy),minval(v_dummy)
-
- u_b4_adj_output(:,vlev)=-999.
- v_b4_adj_output(:,vlev)=-999.
- call ipolatev(&
- ip, ipopt, kgds_input, kgds_output, ij_input, ij_output,&
- num_fields, ibi, bitmap_input, u_dummy, v_dummy, &
- numpts, rlat_output, rlon_output, crot, srot, ibo, bitmap_output, &
- u_b4_adj_output(:,vlev), v_b4_adj_output(:,vlev), iret)
- if(iret/=0) return
- !print 30,trim(input_file),u_human_name,vlev,maxval(u_b4_adj_output(:,vlev)),minval(u_b4_adj_output(:,vlev))
- !print 30,trim(input_file),v_human_name,vlev,maxval(v_b4_adj_output(:,vlev)),minval(v_b4_adj_output(:,vlev))
- end do
- end subroutine grid2grid_vector
-
- ! ----------------------------------------------------------------------
-
- subroutine grid2grid_scalar(&
- human_name,gfile,readbuf,vname,vlevtyp,dummy,b4_adj_output,iret)
- use setup
- implicit none
- character(len=*) :: human_name
- type(nemsio_gfile) :: gfile
- real(nemsio_realkind) :: readbuf(:)
- character(len=*) :: vname, vlevtyp
- real :: dummy(:), b4_adj_output(:,:)
- integer :: iret
- !locals
- integer :: vlev,num_fields,numpts
- character(len=20) :: vname_x, vlevtyp_x
-
- vname_x=vname
- vlevtyp_x=vlevtyp
-
- num_fields=1
-
-10 format(A,': READ ',A)
-20 format(A,': SOURCE GRID: MAX/MIN ',A,' AT LEVEL ',I0,' IS: ',F17.10,' ',F17.10)
-30 format(A,': TARGET GRID: MAX/MIN ',A,' AT LEVEL ',I0,' IS: ',F17.10,' ',F17.10)
-
- print 10,trim(input_file),human_name
-
- do vlev=1,lev
-
- readbuf=-999.
- call nemsio_readrecv(gfile, vname, vlevtyp, vlev, readbuf, 0, iret)
- if(iret/=0) return
- dummy=readbuf
-
- print 20,trim(input_file),human_name,vlev,maxval(dummy),minval(dummy)
- call ipolates(&
- ip, ipopt, kgds_input, kgds_output, ij_input, ij_output,&
- num_fields, ibi, bitmap_input, dummy, &
- numpts, rlat_output, rlon_output, ibo, bitmap_output, &
- b4_adj_output(:,vlev), iret)
- !print 30,trim(input_file),human_name,vlev,maxval(b4_adj_output(:,vlev)),minval(b4_adj_output(:,vlev))
- if(iret/=0) return
- end do
- end subroutine grid2grid_scalar
-
- ! ----------------------------------------------------------------------
-
- subroutine grid2grid_surface(&
- human_name,gfile,readbuf,vname,vlevtyp,dummy,b4_adj_output,iret)
- use setup
- implicit none
- character(len=*) :: human_name
- type(nemsio_gfile) :: gfile
- real(nemsio_realkind) :: readbuf(:)
- character(len=*) :: vname, vlevtyp
- real :: dummy(:), b4_adj_output(:)
- integer :: iret
- !locals
- integer :: vlev,num_fields,numpts
- character(len=20) :: vname_x, vlevtyp_x
-
- vname_x=vname
- vlevtyp_x=vlevtyp
-
- num_fields=1
-
-10 format(A,': READ ',A)
-20 format(A,': SOURCE GRID: MAX/MIN ',A,': ',F17.10,' ',F17.10)
-30 format(A,': TARGET GRID: MAX/MIN ',A,': ',F17.10,' ',F17.10)
-
- print 10,trim(input_file),human_name
-
- vlev=1
-
- readbuf=-999.
- call nemsio_readrecv(gfile, vname, vlevtyp, vlev, readbuf, 0, iret)
- if(iret/=0) return
- dummy=readbuf
-
- print 20,trim(input_file),human_name,maxval(dummy),minval(dummy)
- call ipolates(&
- ip, ipopt, kgds_input, kgds_output, ij_input, ij_output,&
- num_fields, ibi, bitmap_input, dummy, &
- numpts, rlat_output, rlon_output, ibo, bitmap_output, &
- b4_adj_output, iret)
- if(iret/=0) return
- !print 30,trim(input_file),human_name,maxval(b4_adj_output),minval(b4_adj_output)
- end subroutine grid2grid_surface
-
-end module grid2grid
diff --git a/sorc/enkf_chgres_recenter.fd/makefile b/sorc/enkf_chgres_recenter.fd/makefile
index d4bf566338..2a5f36b369 100755
--- a/sorc/enkf_chgres_recenter.fd/makefile
+++ b/sorc/enkf_chgres_recenter.fd/makefile
@@ -4,32 +4,23 @@ LIBS= $(NEMSIO_LIB) $(BACIO_LIB4) $(W3NCO_LIBd) $(IP_LIBd) $(SP_LIBd)
CMD= enkf_chgres_recenter.x
-OBJS = driver.o output_data.o input_data.o setup.o utils.o grid2grid.o printrusage.o
+OBJS = driver.o input_data.o interp.o output_data.o utils.o setup.o
$(CMD): $(OBJS)
$(FC) $(FFLAGS) -o $(CMD) $(OBJS) $(LIBS)
-printrusage.o: printrusage.c
- $(CC) $(CFLAGS) -c printrusage.c
-
-driver.o: setup.o output_data.o grid2grid.o driver.f90
+driver.o: setup.o output_data.o interp.o input_data.o driver.f90
$(FC) $(FFLAGS) -I$(NEMSIO_INC) -c driver.f90
-
-input_data.o: input_data.f90
+interp.o: setup.o utils.o output_data.o input_data.o interp.f90
+ $(FC) $(FFLAGS) -I$(NEMSIO_INC) -c interp.f90
+input_data.o: setup.o utils.o input_data.f90
$(FC) $(FFLAGS) -I$(NEMSIO_INC) -c input_data.f90
-
-output_data.o: setup.o utils.o grid2grid.o input_data.o output_data.f90
+output_data.o: setup.o utils.o input_data.o output_data.f90
$(FC) $(FFLAGS) -I$(NEMSIO_INC) -c output_data.f90
-
setup.o: setup.f90
$(FC) $(FFLAGS) -I$(NEMSIO_INC) -c setup.f90
-
utils.o: utils.f90
$(FC) $(FFLAGS) -I$(NEMSIO_INC) -c utils.f90
-
-grid2grid.o: utils.o setup.o grid2grid.f90
- $(FC) $(FFLAGS) -I$(NEMSIO_INC) -c grid2grid.f90
-
clean:
rm -f *.o *.mod ${CMD}
install:
diff --git a/sorc/enkf_chgres_recenter.fd/output_data.f90 b/sorc/enkf_chgres_recenter.fd/output_data.f90
index 098139d0f2..36063d3a06 100644
--- a/sorc/enkf_chgres_recenter.fd/output_data.f90
+++ b/sorc/enkf_chgres_recenter.fd/output_data.f90
@@ -1,34 +1,33 @@
module output_data
use nemsio_module
- use grid2grid
implicit none
private
-! integer, public :: kgds_output(200)
+ integer, public :: kgds_output(200)
! data on the output grid.
-! real, allocatable, public :: hgt_output(:) ! interpolated from input grid
-! real, allocatable, public :: hgt_external_output(:)
-! real, allocatable, public :: sfcp_output(:)
-! real, allocatable, public :: tmp_output(:,:)
-! real, allocatable, public :: clwmr_output(:,:)
-! real, allocatable, public :: delz_output(:,:)
-! real, allocatable, public :: dpres_output(:,:)
-! real, allocatable, public :: dzdt_output(:,:)
-! real, allocatable, public :: o3mr_output(:,:)
-! real, allocatable, public :: spfh_output(:,:)
-! real, allocatable, public :: ugrd_output(:,:)
-! real, allocatable, public :: vgrd_output(:,:)
-! real, allocatable, public :: rwmr_output(:,:)
-! real, allocatable, public :: icmr_output(:,:)
-! real, allocatable, public :: snmr_output(:,:)
-! real, allocatable, public :: grle_output(:,:)
-! real, allocatable, public :: cldamt_output(:,:)
-! real, allocatable, public :: rlat_output(:)
-! real, allocatable, public :: rlon_output(:)
+ real, allocatable, public :: hgt_output(:) ! interpolated from input grid
+ real, allocatable, public :: hgt_external_output(:)
+ real, allocatable, public :: sfcp_output(:)
+ real, allocatable, public :: tmp_output(:,:)
+ real, allocatable, public :: clwmr_output(:,:)
+ real, allocatable, public :: delz_output(:,:)
+ real, allocatable, public :: dpres_output(:,:)
+ real, allocatable, public :: dzdt_output(:,:)
+ real, allocatable, public :: o3mr_output(:,:)
+ real, allocatable, public :: spfh_output(:,:)
+ real, allocatable, public :: ugrd_output(:,:)
+ real, allocatable, public :: vgrd_output(:,:)
+ real, allocatable, public :: rwmr_output(:,:)
+ real, allocatable, public :: icmr_output(:,:)
+ real, allocatable, public :: snmr_output(:,:)
+ real, allocatable, public :: grle_output(:,:)
+ real, allocatable, public :: cldamt_output(:,:)
+ real, allocatable, public :: rlat_output(:)
+ real, allocatable, public :: rlon_output(:)
public :: set_output_grid
public :: write_output_data
@@ -44,12 +43,87 @@ module output_data
contains
+ subroutine set_output_grid
+
+!-------------------------------------------------------------------
+! Set grid specs on the output grid.
+!-------------------------------------------------------------------
+
+ use setup
+ use input_data
+ use utils
+
+ implicit none
+
+ character(len=20) :: vlevtyp, vname
+
+ integer(nemsio_intkind) :: vlev
+ integer :: iret
+
+ real(nemsio_realkind), allocatable :: dummy(:)
+
+ type(nemsio_gfile) :: gfile
+
+ print*
+ print*,"OUTPUT GRID I/J DIMENSIONS: ", i_output, j_output
+
+!-------------------------------------------------------------------
+! Set the grib 1 grid description section, which is needed
+! by the IPOLATES library.
+!-------------------------------------------------------------------
+
+ kgds_output = 0
+
+ call calc_kgds(i_output, j_output, kgds_output)
+
+!-------------------------------------------------------------------
+! Read the terrain on the output grid. To ensure exact match,
+! read it from an existing enkf nemsio restart file.
+!-------------------------------------------------------------------
+
+ call nemsio_init(iret)
+
+ print*
+ print*,"OPEN OUTPUT GRID TERRAIN FILE: ", trim(terrain_file)
+ call nemsio_open(gfile, terrain_file, "read", iret=iret)
+ if (iret /= 0) then
+ print*,"FATAL ERROR OPENING FILE: ",trim(terrain_file)
+ print*,"IRET IS: ", iret
+ call errexit(50)
+ endif
+
+ allocate(dummy(ij_output))
+ allocate(hgt_external_output(ij_output))
+
+ print*
+ print*,"READ SURFACE HEIGHT"
+ vlev = 1
+ vlevtyp = "sfc"
+ vname = "hgt"
+ call nemsio_readrecv(gfile, vname, vlevtyp, vlev, dummy, 0, iret)
+ if (iret /= 0) then
+ print*,"FATAL ERROR READING FILE: ",trim(terrain_file)
+ print*,"IRET IS: ", iret
+ call errexit(51)
+ endif
+
+ hgt_external_output = dummy
+
+ deallocate(dummy)
+
+ call nemsio_close(gfile, iret=iret)
+
+ call nemsio_finalize()
+
+ end subroutine set_output_grid
+
subroutine write_output_data
!-------------------------------------------------------------------
! Write output grid data to a nemsio file.
!-------------------------------------------------------------------
+ use input_data
use setup
implicit none
@@ -76,7 +150,6 @@ subroutine write_output_data
gaction="write"
- call printrusage
print*
print*,'OPEN OUTPUT FILE: ',trim(output_file)
call nemsio_open(gfile, output_file, gaction, iret=iret, gdatatype="bin4", &
@@ -122,6 +195,7 @@ subroutine write_output_data
call nemsio_writerecv(gfile, "clwmr", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
+ deallocate(clwmr_output)
print*,"WRITE SPECIFIC HUMIDITY"
do n = 1, lev
@@ -129,14 +203,15 @@ subroutine write_output_data
call nemsio_writerecv(gfile, "spfh", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
+ deallocate(spfh_output)
- call printrusage
print*,"WRITE OZONE"
do n = 1, lev
dummy = o3mr_output(:,n)
call nemsio_writerecv(gfile, "o3mr", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
+ deallocate(o3mr_output)
print*,"WRITE U-WINDS"
do n = 1, lev
@@ -180,13 +255,13 @@ subroutine write_output_data
if (gfdl_mp) then
- call printrusage
print*,"WRITE RAIN WATER"
do n = 1, lev
dummy = rwmr_output(:,n)
call nemsio_writerecv(gfile, "rwmr", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
+ deallocate(rwmr_output)
print*,"WRITE SNOW WATER"
do n = 1, lev
@@ -194,6 +269,7 @@ subroutine write_output_data
call nemsio_writerecv(gfile, "snmr", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
+ deallocate(snmr_output)
print*,"WRITE ICE WATER"
do n = 1, lev
@@ -201,6 +277,7 @@ subroutine write_output_data
call nemsio_writerecv(gfile, "icmr", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
+ deallocate(icmr_output)
print*,"WRITE GRAUPEL"
do n = 1, lev
@@ -208,25 +285,7 @@ subroutine write_output_data
call nemsio_writerecv(gfile, "grle", "mid layer", n, dummy, iret=iret)
if (iret/=0) goto 88
enddo
-
- if (icldamt == 1) then
- print*,"WRITE CLD_AMT"
- do n = 1, lev
- dummy = cldamt_output(:,n)
- call nemsio_writerecv(gfile, "cld_amt", "mid layer", n, dummy, iret=iret)
- if (iret/=0) goto 88
- enddo
- endif
-
- call printrusage
- deallocate(q_output)
-
- nullify(sfcp_output,hgt_output,ugrd_output)
- nullify(vgrd_output,tmp_output,dzdt_output)
- nullify(q_output,spfh_output,o3mr_output)
- nullify(clwmr_output,rwmr_output,icmr_output)
- nullify(snmr_output,grle_output,cldamt_output)
- nullify(delz_output,hgt_external_output,dpres_output)
+ deallocate(grle_output)
if (icldamt == 1) then
print*,"WRITE CLD_AMT"
@@ -247,7 +306,6 @@ subroutine write_output_data
call nemsio_finalize()
- call printrusage
return
88 continue
@@ -262,7 +320,7 @@ subroutine header_set
! Set header information for the output nemsio file.
!-------------------------------------------------------------------
- use grid2grid
+ use input_data
use setup
implicit none
diff --git a/sorc/enkf_chgres_recenter.fd/printrusage.c b/sorc/enkf_chgres_recenter.fd/printrusage.c
deleted file mode 100644
index e3a3b93363..0000000000
--- a/sorc/enkf_chgres_recenter.fd/printrusage.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-
-void printrusage() {
- struct rusage usage;
- if(!getrusage(RUSAGE_SELF, &usage)) {
- fprintf(stderr,"getrusage: Usage only for this process and its threads:\n");
- fprintf(stderr,"getrusage: user time used (seconds): %f\n",usage.ru_utime.tv_sec+usage.ru_utime.tv_usec/1e6);
- fprintf(stderr,"getrusage: system time used (seconds): %f\n",usage.ru_stime.tv_sec+usage.ru_stime.tv_usec/1e6);
- fprintf(stderr,"getrusage: max resident set size: %10ld\n",usage.ru_maxrss);
- fprintf(stderr,"getrusage: max shared memory size: %10ld\n",usage.ru_ixrss);
- fprintf(stderr,"getrusage: max unshared data size: %10ld\n",usage.ru_idrss);
- fprintf(stderr,"getrusage: max unshared stack size: %10ld\n",usage.ru_isrss);
- fprintf(stderr,"getrusage: minor page faults: %10ld\n",usage.ru_minflt);
- fprintf(stderr,"getrusage: major page faults: %10ld\n",usage.ru_majflt);
- fprintf(stderr,"getrusage: swaps: %10ld\n",usage.ru_nswap);
- fprintf(stderr,"getrusage: block input ops: %10ld\n",usage.ru_inblock);
- fprintf(stderr,"getrusage: block output ops: %10ld\n",usage.ru_oublock);
- fprintf(stderr,"getrusage: messages sent: %10ld\n",usage.ru_msgsnd);
- fprintf(stderr,"getrusage: messages received: %10ld\n",usage.ru_msgrcv);
- fprintf(stderr,"getrusage: signals received: %10ld\n",usage.ru_nsignals);
- fprintf(stderr,"getrusage: voluntary context switches: %10ld\n",usage.ru_nvcsw);
- fprintf(stderr,"getrusage: involuntary context switches: %10ld\n",usage.ru_nivcsw);
- } else
- fprintf(stderr,"getrusage failed: %s\n",strerror(errno));
-}
-
-void printrusage_() { printrusage(); }
-void printrusage__() { printrusage(); }
-void PRINTRUSAGE() { printrusage(); }
-void PRINTRUSAGE_() { printrusage(); }
-void PRINTRUSAGE__() { printrusage(); }
-
diff --git a/sorc/enkf_chgres_recenter.fd/utils.f90 b/sorc/enkf_chgres_recenter.fd/utils.f90
index 7c4c009fe7..e09c75b018 100644
--- a/sorc/enkf_chgres_recenter.fd/utils.f90
+++ b/sorc/enkf_chgres_recenter.fd/utils.f90
@@ -648,7 +648,7 @@ SUBROUTINE RSEARCH(IM,KM1,IXZ1,KXZ1,Z1,KM2,IXZ2,KXZ2,Z2,IXL2,KXL2,&
END SUBROUTINE RSEARCH
- SUBROUTINE VINTG(IM,JM,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
+ SUBROUTINE VINTG(IM,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
U2,V2,T2,Q2,W2)
!$$$ SUBPROGRAM DOCUMENTATION BLOCK
!
@@ -697,19 +697,19 @@ SUBROUTINE VINTG(IM,JM,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
!C$$$
IMPLICIT NONE
- INTEGER, INTENT(IN) :: IM, JM, KM1, KM2, NT
+ INTEGER, INTENT(IN) :: IM, KM1, KM2, NT
- REAL, INTENT(IN) :: P1(IM*JM,KM1),U1(IM*JM,KM1),V1(IM*JM,KM1)
- REAL, INTENT(IN) :: T1(IM*JM,KM1),Q1(IM*JM,KM1,NT)
- REAL, INTENT(IN) :: W1(IM*JM,KM1),P2(IM*JM,KM2)
- REAL, INTENT(OUT) :: U2(IM*JM,KM2),V2(IM*JM,KM2)
- REAL, INTENT(OUT) :: T2(IM*JM,KM2),Q2(IM*JM,KM2,NT)
- REAL, INTENT(OUT) :: W2(IM*JM,KM2)
+ REAL, INTENT(IN) :: P1(IM,KM1),U1(IM,KM1),V1(IM,KM1)
+ REAL, INTENT(IN) :: T1(IM,KM1),Q1(IM,KM1,NT)
+ REAL, INTENT(IN) :: W1(IM,KM1),P2(IM,KM2)
+ REAL, INTENT(OUT) :: U2(IM,KM2),V2(IM,KM2)
+ REAL, INTENT(OUT) :: T2(IM,KM2),Q2(IM,KM2,NT)
+ REAL, INTENT(OUT) :: W2(IM,KM2)
REAL, PARAMETER :: DLTDZ=-6.5E-3*287.05/9.80665
REAL, PARAMETER :: DLPVDRT=-2.5E6/461.50
- INTEGER :: I, K, N, J, IJ0
+ INTEGER :: I, K, N
REAL :: DZ
REAL,ALLOCATABLE :: Z1(:,:),Z2(:,:)
@@ -717,36 +717,32 @@ SUBROUTINE VINTG(IM,JM,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
ALLOCATE (Z1(IM+1,KM1),Z2(IM+1,KM2))
ALLOCATE (C1(IM+1,KM1,4+NT),C2(IM+1,KM2,4+NT),J2(IM+1,KM2,4+NT))
-
- big_j_loop: DO J=1,JM
- IJ0=IM*(J-1)
-
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
! COMPUTE LOG PRESSURE INTERPOLATING COORDINATE
! AND COPY INPUT WIND, TEMPERATURE, HUMIDITY AND OTHER TRACERS
!$OMP PARALLEL DO PRIVATE(K,I)
DO K=1,KM1
DO I=1,IM
- Z1(I,K) = -LOG(P1(IJ0+I,K))
- C1(I,K,1) = U1(IJ0+I,K)
- C1(I,K,2) = V1(IJ0+I,K)
- C1(I,K,3) = W1(IJ0+I,K)
- C1(I,K,4) = T1(IJ0+I,K)
- C1(I,K,5) = Q1(IJ0+I,K,1)
+ Z1(I,K) = -LOG(P1(I,K))
+ C1(I,K,1) = U1(I,K)
+ C1(I,K,2) = V1(I,K)
+ C1(I,K,3) = W1(I,K)
+ C1(I,K,4) = T1(I,K)
+ C1(I,K,5) = Q1(I,K,1)
ENDDO
ENDDO
!$OMP END PARALLEL DO
DO N=2,NT
DO K=1,KM1
DO I=1,IM
- C1(I,K,4+N) = Q1(IJ0+I,K,N)
+ C1(I,K,4+N) = Q1(I,K,N)
ENDDO
ENDDO
ENDDO
!$OMP PARALLEL DO PRIVATE(K,I)
DO K=1,KM2
DO I=1,IM
- Z2(I,K) = -LOG(P2(IJ0+I,K))
+ Z2(I,K) = -LOG(P2(I,K))
ENDDO
ENDDO
!$OMP END PARALLEL DO
@@ -760,29 +756,28 @@ SUBROUTINE VINTG(IM,JM,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
! COPY OUTPUT WIND, TEMPERATURE, HUMIDITY AND OTHER TRACERS
! EXCEPT BELOW THE INPUT DOMAIN, LET TEMPERATURE INCREASE WITH A FIXED
! LAPSE RATE AND LET THE RELATIVE HUMIDITY REMAIN CONSTANT.
- k_copy_loop: DO K=1,KM2
+ DO K=1,KM2
DO I=1,IM
- U2(IJ0+I,K)=C2(I,K,1)
- V2(IJ0+I,K)=C2(I,K,2)
- W2(IJ0+I,K)=C2(I,K,3)
+ U2(I,K)=C2(I,K,1)
+ V2(I,K)=C2(I,K,2)
+ W2(I,K)=C2(I,K,3)
DZ=Z2(I,K)-Z1(I,1)
IF(DZ.GE.0) THEN
- T2(IJ0+I,K)=C2(I,K,4)
- Q2(IJ0+I,K,1)=C2(I,K,5)
+ T2(I,K)=C2(I,K,4)
+ Q2(I,K,1)=C2(I,K,5)
ELSE
- T2(IJ0+I,K)=T1(IJ0+I,1)*EXP(DLTDZ*DZ)
- Q2(IJ0+I,K,1)=Q1(IJ0+I,1,1)*EXP(DLPVDRT*(1/T2(IJ0+I,K)-1/T1(IJ0+I,1))-DZ)
+ T2(I,K)=T1(I,1)*EXP(DLTDZ*DZ)
+ Q2(I,K,1)=Q1(I,1,1)*EXP(DLPVDRT*(1/T2(I,K)-1/T1(I,1))-DZ)
ENDIF
ENDDO
- ENDDO k_copy_loop
+ ENDDO
DO N=2,NT
DO K=1,KM2
DO I=1,IM
- Q2(IJ0+I,K,N)=C2(I,K,4+N)
+ Q2(I,K,N)=C2(I,K,4+N)
ENDDO
ENDDO
ENDDO
- END DO big_j_loop
DEALLOCATE (Z1,Z2,C1,C2,J2)
END SUBROUTINE VINTG
end module utils
diff --git a/sorc/fv3gfs_build.cfg b/sorc/fv3gfs_build.cfg
index 093a25acba..130c6dde03 100644
--- a/sorc/fv3gfs_build.cfg
+++ b/sorc/fv3gfs_build.cfg
@@ -1,5 +1,4 @@
-# TODO implement porting execs
-# not Building prebuiltexe (exec) ........................... yes
+#
# ***** configuration of fv3gfs build *****
Building libraries (libs) ............................. no
@@ -19,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
- Building reg2grb2 (reg2grb2) .......................... yes
+
# -- END --
diff --git a/sorc/fv3gfs_build.cfg_jet b/sorc/fv3gfs_build.cfg_jet
deleted file mode 100644
index d49ae08d61..0000000000
--- a/sorc/fv3gfs_build.cfg_jet
+++ /dev/null
@@ -1,29 +0,0 @@
-# not Building prebuiltexe (exec) ........................... yes
-# ***** configuration of fv3gfs build *****
-
- Building libraries (libs) ............................. no
- Building fv3gfs (fv3gfs) .............................. yes
- Building gsi (gsi) .................................... yes
- Building gdas (gdas) .................................. yes
- Building ncep_post (ncep_post) ........................ yes
- Building gfs_wafs (gfs_wafs) .......................... yes
- Building NEMS_util (nems_util) ........................ yes
- Building chgres (chgres) .............................. yes
- Building sfcanl_nsttfchg (sfcanl_nsttfchg)............. yes
- Building orog (orog) .................................. no
- Building cycle (cycle) ................................ yes
- Building enkf_chgres_recenter (enkf_chgres_recenter) .. yes
- Building tropcy_NEMS (tropcy) ......................... yes
- Building gfs_fbwndgfs (gfs_fbwndgfs) .................. no
- Building gfs_overpdtg2 (gfs_overpdtg2) ................ no
- Building gfs_wintemv (gfs_wintemv) .....,,,,........... no
- Building gfs_bufrsnd (gfs_bufrsnd) .................... no
- Building emcsfc (emcsfc) .............................. yes
- Building fre-nctools (nctools) ........................ no
- Building fv3nc2nemsio (fv3nc2nemsio) .................. no
- 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/gdas_trpsfcmv.fd/makefile.jet b/sorc/gdas_trpsfcmv.fd/makefile.jet
deleted file mode 100755
index 0c7af674d3..0000000000
--- a/sorc/gdas_trpsfcmv.fd/makefile.jet
+++ /dev/null
@@ -1,33 +0,0 @@
-SHELL=/bin/sh
-#
-SRCS= gdas_trpsfcmv.f getgb1.f
-
-OBJS= gdas_trpsfcmv.o getgb1.o
-
-FC = ifort
-LDFLAGS = -L$(NCARG_LIB) \
- -lncarg -lncarg_gks -lncarg_c -lX11 -lXext -lcairo -lfontconfig -lpixman-1 \
- -lfreetype -lexpat -lpthread -lXrender -lgfortran
-# -lfreetype -lexpat -lpng -lz -lpthread -lbz2 -lXrender -lgfortran
-
-LIBS = $(IP_LIB4) \
- $(SP_LIB4) \
- $(BACIO_LIB4) \
- $(W3NCO_LIB4) \
- $(BUFR_LIB4)
-
-CMD = gdas_trpsfcmv
-PROFLIB = -lprof
-
-FFLAGS = -O -g -traceback -C -openmp -assume byterecl -convert big_endian -assume nobscc -assume noold_ldout_format -warn usage
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) -o $(@) $(OBJS) $(LIBS) $(LDFLAGS) $(FFLAGS)
-
-clean:
- -rm -f $(OBJS)
diff --git a/sorc/gridbull.fd/makefile.gaea b/sorc/gridbull.fd/makefile.gaea
deleted file mode 100755
index d5295e3ce8..0000000000
--- a/sorc/gridbull.fd/makefile.gaea
+++ /dev/null
@@ -1,78 +0,0 @@
-SHELL=/bin/sh
-#
-# This makefile was produced by /usr/bin/fmgen at 12:00:38 PM on 11/27/96
-# If it is invoked by the command line
-# make -f makefile
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable named a.out.
-#
-# If it is invoked by the command line
-# make -f makefile a.out.prof
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable which profiles
-# named a.out.prof.
-#
-# To remove all the objects but leave the executables use the command line
-# make -f makefile clean
-#
-# To remove everything but the source files use the command line
-# make -f makefile clobber
-#
-# To remove the source files created by /usr/bin/fmgen and this makefile
-# use the command line
-# make -f makefile void
-#
-# The parameters SRCS and OBJS should not need to be changed. If, however,
-# you need to add a new module add the name of the source module to the
-# SRCS parameter and add the name of the resulting object file to the OBJS
-# parameter. The new modules are not limited to fortran, but may be C, YACC,
-# LEX, or CAL. An explicit rule will need to be added for PASCAL modules.
-#
-SRCS= BIN2CHAR.f BIN2EBCD.f BULLET.f GRIDBUL.f PAKWND.f QUADAX.f WINDY.f
-
-OBJS= BIN2CHAR.o BIN2EBCD.o BULLET.o GRIDBUL.o PAKWND.o QUADAX.o WINDY.o
-
-# Tunable parameters
-#
-# FC Name of the fortran compiling system to use
-# LDFLAGS Flags to the loader
-# LIBS List of libraries
-# CMD Name of the executable
-# PROFLIB Library needed for profiling
-#
-FC = ftn
-LDFLAGS =
-LIBS= ${W3NCO_LIB4} ${BACIO_LIB4}
-CMD = gridbull
-PROFLIB = -lprof
-
-# To perform the default compilation, use the first line
-# To compile with flowtracing turned on, use the second line
-# To compile giving profile additonal information, use the third line
-# WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED
-FFLAGS = -O3 -g -assume byterecl -assume noold_ldout_format -axCORE-AVX2 -fp-model strict
-#FFLAGS = -F
-#FFLAGS = -Wf"-ez"
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
- rm -f $(OBJS)
-
-# Make the profiled version of the command and call it a.out.prof
-#
-$(CMD).prof: $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS)
-
-clean:
- -rm -f $(OBJS)
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-void: clobber
- -rm -f $(SRCS) makefile
diff --git a/sorc/gridbull.fd/makefile.jet b/sorc/gridbull.fd/makefile.jet
deleted file mode 100755
index 5843db34c7..0000000000
--- a/sorc/gridbull.fd/makefile.jet
+++ /dev/null
@@ -1,78 +0,0 @@
-SHELL=/bin/sh
-#
-# This makefile was produced by /usr/bin/fmgen at 12:00:38 PM on 11/27/96
-# If it is invoked by the command line
-# make -f makefile
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable named a.out.
-#
-# If it is invoked by the command line
-# make -f makefile a.out.prof
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable which profiles
-# named a.out.prof.
-#
-# To remove all the objects but leave the executables use the command line
-# make -f makefile clean
-#
-# To remove everything but the source files use the command line
-# make -f makefile clobber
-#
-# To remove the source files created by /usr/bin/fmgen and this makefile
-# use the command line
-# make -f makefile void
-#
-# The parameters SRCS and OBJS should not need to be changed. If, however,
-# you need to add a new module add the name of the source module to the
-# SRCS parameter and add the name of the resulting object file to the OBJS
-# parameter. The new modules are not limited to fortran, but may be C, YACC,
-# LEX, or CAL. An explicit rule will need to be added for PASCAL modules.
-#
-SRCS= BIN2CHAR.f BIN2EBCD.f BULLET.f GRIDBUL.f PAKWND.f QUADAX.f WINDY.f
-
-OBJS= BIN2CHAR.o BIN2EBCD.o BULLET.o GRIDBUL.o PAKWND.o QUADAX.o WINDY.o
-
-# Tunable parameters
-#
-# FC Name of the fortran compiling system to use
-# LDFLAGS Flags to the loader
-# LIBS List of libraries
-# CMD Name of the executable
-# PROFLIB Library needed for profiling
-#
-FC = ifort
-LDFLAGS =
-LIBS= ${W3NCO_LIB4} ${BACIO_LIB4}
-CMD = gridbull
-PROFLIB = -lprof
-
-# To perform the default compilation, use the first line
-# To compile with flowtracing turned on, use the second line
-# To compile giving profile additonal information, use the third line
-# WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED
-FFLAGS = -O3 -g -assume byterecl -assume noold_ldout_format -fp-model strict
-#FFLAGS = -F
-#FFLAGS = -Wf"-ez"
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
- rm -f $(OBJS)
-
-# Make the profiled version of the command and call it a.out.prof
-#
-$(CMD).prof: $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS)
-
-clean:
- -rm -f $(OBJS)
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-void: clobber
- -rm -f $(SRCS) makefile
diff --git a/sorc/navybull.fd/makefile.gaea b/sorc/navybull.fd/makefile.gaea
deleted file mode 100755
index fd5705d383..0000000000
--- a/sorc/navybull.fd/makefile.gaea
+++ /dev/null
@@ -1,79 +0,0 @@
-SHELL=/bin/sh
-#
-# This makefile was produced by /usr/bin/fmgen at 12:44:09 PM on 03/12/97
-# If it is invoked by the command line
-# make -f makefile
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable named a.out.
-#
-# If it is invoked by the command line
-# make -f makefile a.out.prof
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable which profiles
-# named a.out.prof.
-#
-# To remove all the objects but leave the executables use the command line
-# make -f makefile clean
-#
-# To remove everything but the source files use the command line
-# make -f makefile clobber
-#
-# To remove the source files created by /usr/bin/fmgen and this makefile
-# use the command line
-# make -f makefile void
-#
-# The parameters SRCS and OBJS should not need to be changed. If, however,
-# you need to add a new module add the name of the source module to the
-# SRCS parameter and add the name of the resulting object file to the OBJS
-# parameter. The new modules are not limited to fortran, but may be C, YACC,
-# LEX, or CAL. An explicit rule will need to be added for PASCAL modules.
-#
-SRCS= BULHDR.f NAVYBULL.f
-
-OBJS= BULHDR.o NAVYBULL.o
-
-# Tunable parameters
-#
-# FC Name of the fortran compiling system to use
-# LDFLAGS Flags to the loader
-# LIBS List of libraries
-# CMD Name of the executable
-# PROFLIB Library needed for profiling
-#
-FC = ftn
-LDFLAGS =
-LIBS = -Xlinker --start-group ${W3EMC_LIB8} ${W3NCO_LIB8} ${BUFR_LIB8} ${BACIO_LIB8}
-CMD = navybull
-PROFLIB = -lprof
-
-# To perform the default compilation, use the first line
-# To compile with flowtracing turned on, use the second line
-# To compile giving profile additonal information, use the third line
-# WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED
-FFLAGS = -O3 -g -assume byterecl -axCORE-AVX2 -convert big_endian -assume noold_ldout_format -r8 -i8
-
-#FFLAGS = -F
-#FFLAGS = -Wf"-ez"
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
- rm -f $(OBJS)
-
-# Make the profiled version of the command and call it a.out.prof
-#
-$(CMD).prof: $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS)
-
-clean:
- -rm -f $(OBJS)
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-void: clobber
- -rm -f $(SRCS) makefile
diff --git a/sorc/navybull.fd/makefile.jet b/sorc/navybull.fd/makefile.jet
deleted file mode 100755
index d2fe257759..0000000000
--- a/sorc/navybull.fd/makefile.jet
+++ /dev/null
@@ -1,79 +0,0 @@
-SHELL=/bin/sh
-#
-# This makefile was produced by /usr/bin/fmgen at 12:44:09 PM on 03/12/97
-# If it is invoked by the command line
-# make -f makefile
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable named a.out.
-#
-# If it is invoked by the command line
-# make -f makefile a.out.prof
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable which profiles
-# named a.out.prof.
-#
-# To remove all the objects but leave the executables use the command line
-# make -f makefile clean
-#
-# To remove everything but the source files use the command line
-# make -f makefile clobber
-#
-# To remove the source files created by /usr/bin/fmgen and this makefile
-# use the command line
-# make -f makefile void
-#
-# The parameters SRCS and OBJS should not need to be changed. If, however,
-# you need to add a new module add the name of the source module to the
-# SRCS parameter and add the name of the resulting object file to the OBJS
-# parameter. The new modules are not limited to fortran, but may be C, YACC,
-# LEX, or CAL. An explicit rule will need to be added for PASCAL modules.
-#
-SRCS= BULHDR.f NAVYBULL.f
-
-OBJS= BULHDR.o NAVYBULL.o
-
-# Tunable parameters
-#
-# FC Name of the fortran compiling system to use
-# LDFLAGS Flags to the loader
-# LIBS List of libraries
-# CMD Name of the executable
-# PROFLIB Library needed for profiling
-#
-FC = ifort
-LDFLAGS =
-LIBS = -Xlinker --start-group ${W3EMC_LIB8} ${W3NCO_LIB8} ${BUFR_LIB8} ${BACIO_LIB8}
-CMD = navybull
-PROFLIB = -lprof
-
-# To perform the default compilation, use the first line
-# To compile with flowtracing turned on, use the second line
-# To compile giving profile additonal information, use the third line
-# WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED
-FFLAGS = -O3 -g -assume byterecl -convert big_endian -assume noold_ldout_format -r8 -i8
-
-#FFLAGS = -F
-#FFLAGS = -Wf"-ez"
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
- rm -f $(OBJS)
-
-# Make the profiled version of the command and call it a.out.prof
-#
-$(CMD).prof: $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS)
-
-clean:
- -rm -f $(OBJS)
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-void: clobber
- -rm -f $(SRCS) makefile
diff --git a/sorc/relocate_mv_nvortex.fd/makefile_gaea b/sorc/relocate_mv_nvortex.fd/makefile_gaea
deleted file mode 100755
index dab4eaeb7e..0000000000
--- a/sorc/relocate_mv_nvortex.fd/makefile_gaea
+++ /dev/null
@@ -1,38 +0,0 @@
-SHELL= /bin/sh
-
-##LIBDIR= /contrib/nceplibs/nwprod/lib
-##LIBS_REL= -L$(LIBDIR) -lw3nco_v2.0.6_4 -lsigio_v1.0.1_4 -lbacio_v2.0.1_4 /contrib/nceplibs/dev/lib/libsp_v2.0.2_d-12.0.a
-##LIBS_SIG= $(LIBDIR)/incmod/sigio_v1.0.1
-
-SRCS= modules.f mv_nvortex.f BOUND.f sig_p_convt1.f SEPAR.f \
- WNLIT.f FDUMP.f H12.f I1MACH.f J4SAVE.f XGETUA.f WNLSM.f \
- WNNLS.f XERABT.f XERCTL.f XERPRT.f XERROR.f XERRWV.f XERSAV.f\
- srotm.f srotmg.f amatrix.f rodist.f landcmsk.f w3tagb.f
-
-OBJS= modules.o mv_nvortex.o BOUND.o sig_p_convt1.o SEPAR.o \
- WNLIT.o FDUMP.o H12.o I1MACH.o J4SAVE.o XGETUA.o WNLSM.o \
- WNNLS.o XERABT.o XERCTL.o XERPRT.o XERROR.o XERRWV.o XERSAV.o \
- srotm.o srotmg.o amatrix.o rodist.o landcmsk.o w3tagb.o
-
-##FC = ifort
-
-CMD = relocate_mv_nvortex
-
-##FFLAGS= -openmp -O3 -g -traceback -r8 -I ${LIBS_SIG}
-#LDFLAGS= -mkl --openmp
-LDFLAGS= -openmp
-
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(FFLAGS) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS_REL)
-
-clean:
- -rm -f *.o *.mod
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-install:
- mv $(CMD) ../../exec/$(CMD)
-
diff --git a/sorc/relocate_mv_nvortex.fd/makefile_jet b/sorc/relocate_mv_nvortex.fd/makefile_jet
deleted file mode 100755
index c1679c532b..0000000000
--- a/sorc/relocate_mv_nvortex.fd/makefile_jet
+++ /dev/null
@@ -1,38 +0,0 @@
-SHELL= /bin/sh
-
-##LIBDIR= /contrib/nceplibs/nwprod/lib
-##LIBS_REL= -L$(LIBDIR) -lw3nco_v2.0.6_4 -lsigio_v1.0.1_4 -lbacio_v2.0.1_4 /contrib/nceplibs/dev/lib/libsp_v2.0.2_d-12.0.a
-##LIBS_SIG= $(LIBDIR)/incmod/sigio_v1.0.1
-
-SRCS= modules.f mv_nvortex.f BOUND.f sig_p_convt1.f SEPAR.f \
- WNLIT.f FDUMP.f H12.f I1MACH.f J4SAVE.f XGETUA.f WNLSM.f \
- WNNLS.f XERABT.f XERCTL.f XERPRT.f XERROR.f XERRWV.f XERSAV.f\
- srotm.f srotmg.f amatrix.f rodist.f landcmsk.f w3tagb.f
-
-OBJS= modules.o mv_nvortex.o BOUND.o sig_p_convt1.o SEPAR.o \
- WNLIT.o FDUMP.o H12.o I1MACH.o J4SAVE.o XGETUA.o WNLSM.o \
- WNNLS.o XERABT.o XERCTL.o XERPRT.o XERROR.o XERRWV.o XERSAV.o \
- srotm.o srotmg.o amatrix.o rodist.o landcmsk.o w3tagb.o
-
-##FC = ifort
-
-CMD = relocate_mv_nvortex
-
-##FFLAGS= -openmp -O3 -g -traceback -r8 -I ${LIBS_SIG}
-#LDFLAGS= -mkl -lmpi -openmp
-LDFLAGS= -mkl -mt_mpi -openmp
-
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(FFLAGS) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS_REL)
-
-clean:
- -rm -f *.o *.mod
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-install:
- mv $(CMD) ../../exec/$(CMD)
-
diff --git a/sorc/wintemv.fd/makefile.gaea b/sorc/wintemv.fd/makefile.gaea
deleted file mode 100755
index 867940ceb0..0000000000
--- a/sorc/wintemv.fd/makefile.gaea
+++ /dev/null
@@ -1,83 +0,0 @@
-SHELL=/bin/sh
-#
-# This makefile was produced by /usr/bin/fmgen at 12:00:38 PM on 11/27/96
-# If it is invoked by the command line
-# make -f makefile
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable named a.out.
-#
-# If it is invoked by the command line
-# make -f makefile a.out.prof
-# it will compile the fortran modules indicated by SRCS into the object
-# modules indicated by OBJS and produce an executable which profiles
-# named a.out.prof.
-#
-# To remove all the objects but leave the executables use the command line
-# make -f makefile clean
-#
-# To remove everything but the source files use the command line
-# make -f makefile clobber
-#
-# To remove the source files created by /usr/bin/fmgen and this makefile
-# use the command line
-# make -f makefile void
-#
-# The parameters SRCS and OBJS should not need to be changed. If, however,
-# you need to add a new module add the name of the source module to the
-# SRCS parameter and add the name of the resulting object file to the OBJS
-# parameter. The new modules are not limited to fortran, but may be C, YACC,
-# LEX, or CAL. An explicit rule will need to be added for PASCAL modules.
-#
-SRCS= BLOCKDATA001.f VALKEY.f XTRACT.f la2la.f readgrib.f \
- w3fc00.f wintemv.f
-
-OBJS= BLOCKDATA001.o VALKEY.o XTRACT.o la2la.o readgrib.o \
- w3fc00.o wintemv.o
-
-# Tunable parameters
-#
-# FC Name of the fortran compiling system to use
-# LDFLAGS Flags to the loader
-# LIBS List of libraries
-# CMD Name of the executable
-# PROFLIB Library needed for profiling
-#
-FC = ifort
-LDFLAGS =
-LIBS= ${W3NCO_LIB8} ${W3EMC_LIB8} ${BACIO_LIB8}
-
-CMD = wintemv
-PROFLIB = -lprof
-
-# To perform the default compilation, use the first line
-# To compile with flowtracing turned on, use the second line
-# To compile giving profile additonal information, use the third line
-# WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED
-FFLAGS = -O3 -g -assume byterecl -assume noold_ldout_format -convert big_endian -r8 -i8
-#FFLAGS = -F
-#FFLAGS = -Wf"-ez"
-
-# Lines from here on down should not need to be changed. They are the
-# actual rules which make uses to build a.out.
-#
-all: $(CMD)
-
-$(CMD): $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS)
-
-# Make the profiled version of the command and call it a.out.prof
-#
-$(CMD).prof: $(OBJS)
- $(FC) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS)
-
-install:
- mkdir -p ../../exec
- cp -p $(CMD) ../../exec
-clean:
- -rm -f $(OBJS)
-
-clobber: clean
- -rm -f $(CMD) $(CMD).prof
-
-void: clobber
- -rm -f $(SRCS) makefile
diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh
index bcf8bac652..9bcea1b7e4 100755
--- a/ush/forecast_postdet.sh
+++ b/ush/forecast_postdet.sh
@@ -583,15 +583,13 @@ WW3_postdet()
WW3_nml()
{
echo "SUB ${FUNCNAME[0]}: Copying input files for WW3"
- COMPONENTwave=${COMPONENTwave:-${RUN}wave}
+ WAV_MOD_TAG=${CDUMP}wave${waveMEMB}
$NCP $ROTDIR/${CDUMP}.${PDY}/${cyc}/wave/rundata/ww3_multi.${WAV_MOD_TAG}.${cycle}.inp $DATA/ww3_multi.inp
}
WW3_out()
{
echo "SUB ${FUNCNAME[0]}: Copying output data for WW3"
- $NCP $DATA/ww3_multi.inp $ROTDIR/${COMPONENTwave}.${PDY}/${cyc}/
- $NCP $DATA/mod_def.* $ROTDIR/${COMPONENTwave}.${PDY}/${cyc}/
}
MOM6_postdet()
diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh
index 7cc2754316..203eab65a1 100755
--- a/ush/forecast_predet.sh
+++ b/ush/forecast_predet.sh
@@ -211,7 +211,7 @@ FV3_GFS_predet(){
cd $DATA || exit 8
mkdir -p $DATA/INPUT
if [ $CDUMP = "gfs" -a $rst_invt1 -gt 0 ]; then
- RSTDIR_ATM=${RSTDIR:-$ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos/RERUN_RESTART\
+ RSTDIR_ATM=${RSTDIR:-$ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos/RERUN_RESTART
if [ ! -d $RSTDIR_ATM ]; then mkdir -p $RSTDIR_ATM ; fi
$NLN $RSTDIR_ATM RESTART
else
diff --git a/ush/getdump.sh b/ush/getdump.sh
index 37a7d8c582..3766914f14 100755
--- a/ush/getdump.sh
+++ b/ush/getdump.sh
@@ -4,8 +4,6 @@ set -x
export COMPONENT=${COMPONENT:-atmos}
CDATE=${1:-""}
-gpdy=$(echo $CDATE | cut -c9-10)
-gcyc=$(echo $CDATE | cut -c9-10)
CDUMP=${2:-""}
SOURCE_DIR=${3:-$DMPDIR/${CDUMP}${DUMP_SUFFIX}.${PDY}/${cyc}}
TARGET_DIR=${4:-$ROTDIR/${CDUMP}.${PDY}/$cyc/$COMPONENT}
@@ -27,6 +25,7 @@ if [ ! -s $TARGET_DIR ]; then mkdir -p $TARGET_DIR ;fi
cyc=`echo $CDATE |cut -c 9-10`
prefix="$CDUMP.t${cyc}z."
+
# Link dump files from SOURCE_DIR to TARGET_DIR
cd $SOURCE_DIR
if [ -s ${prefix}updated.status.tm00.bufr_d ]; then
diff --git a/ush/gfs_bfr2gpk.sh_Jet b/ush/gfs_bfr2gpk.sh_Jet
deleted file mode 100755
index 6c7dd666e7..0000000000
--- a/ush/gfs_bfr2gpk.sh_Jet
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-#########################################################################
-# #
-# Script: gfs_bfr2gpk #
-# #
-# This script reads GFS BUFR output and transfers it into GEMPAK #
-# surface and sounding data files. #
-# #
-# Log: #
-# K. Brill/HPC 04/12/05 #
-#########################################################################
-set -x
-
-# Set GEMPAK paths.
-
-#. /nwprod/gempak/.gempak
-
-# Go to a working directory.
-
-cd $DATA
-
-# Set input directory name.
-
-#BPATH=$COMIN/bufr.t${cyc}z
-BPATH=$COMOUT/bufr.t${cyc}z
-export BPATH
-
-# Set output directory:
-
-COMAWP=${COMAWP:-$COMROOT/nawips/${envir}/${RUN}.${PDY}}
-OUTDIR=$COMAWP
-mkdir -p $OUTDIR
-
-outfilbase=gfs_${PDY}${cyc}
-
-# Get the list of individual station files.
-
-date
-##filelist=`/bin/ls -1 $BPATH | grep bufr`
-##rm -f bufr.combined
-##for file in $filelist; do
-## cat $BPATH/$file >> bufr.combined
-##done
- cat $BPATH/bufr.*.${PDY}${cyc} > bufr.combined
-date
-mpirun -np 12 namsnd << EOF > /dev/null
-SNBUFR = bufr.combined
-SNOUTF = ${outfilbase}.snd
-SFOUTF = ${outfilbase}.sfc
-SNPRMF = sngfs.prm
-SFPRMF = sfgfs.prm
-TIMSTN = 170/2100
-r
-
-ex
-EOF
-date
-
-/bin/rm *.nts
-
-snd=${outfilbase}.snd
-sfc=${outfilbase}.sfc
-cp $snd $OUTDIR/.$snd
-cp $sfc $OUTDIR/.$sfc
-mv $OUTDIR/.$snd $OUTDIR/$snd
-mv $OUTDIR/.$sfc $OUTDIR/$sfc
-
-if [ $SENDDBN = "YES" ]
-then
- $DBNROOT/bin/dbn_alert MODEL GFS_PTYP_SFC $job $OUTDIR/$sfc
- $DBNROOT/bin/dbn_alert MODEL GFS_PTYP_SND $job $OUTDIR/$snd
-fi
-echo done > $DATA/gembufr.done
diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh
index 372c5d7eda..b3915bc01c 100755
--- a/ush/load_fv3gfs_modules.sh
+++ b/ush/load_fv3gfs_modules.sh
@@ -20,8 +20,7 @@ elif [[ -d /scratch1 ]] ; then
module load module_base.hera
elif [[ -d /work ]] ; then
# We are on MSU Orion
- module load module_base.orion
-
+ module load module_base.orion
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/workflow_utils.py b/ush/rocoto/workflow_utils.py
index 4c564f67e7..e8bb16ddd1 100644
--- a/ush/rocoto/workflow_utils.py
+++ b/ush/rocoto/workflow_utils.py
@@ -36,11 +36,7 @@ def get_shell_env(scripts):
vars=dict()
runme=''.join([ 'source %s ; '%(s,) for s in scripts ])
magic='--- ENVIRONMENT BEGIN %d ---'%random.randint(0,64**5)
- if os.path.isfile('/usr/bin/echo'):
- echo_is='/usr/bin/echo'
- elif os.path.isfile('/bin/echo'):
- echo_is='/bin/echo'
- runme+=echo_is+' -n "%s" ; /usr/bin/env -0'%(magic,)
+ runme+='/bin/echo -n "%s" ; /usr/bin/env -0'%(magic,)
with open('/dev/null','wb+') as null:
env=subprocess.Popen(runme,shell=True,stdin=null.fileno(),
stdout=subprocess.PIPE)
@@ -57,12 +53,6 @@ def get_shell_env(scripts):
def get_script_env(scripts):
default_env=get_shell_env([])
and_script_env=get_shell_env(scripts)
- var_script_and_env = []
- for env_var in default_env:
- if env_var in and_script_env:
- var_script_and_env.append(env_var)
- for each_var in var_script_and_env:
- del default_env[each_var]
vars_just_in_script=set(and_script_env)-set(default_env)
union_env=dict(default_env)
union_env.update(and_script_env)
diff --git a/ush/wave_grib2.sh b/ush/wave_grib2.sh
deleted file mode 100755
index c27174a1e5..0000000000
--- a/ush/wave_grib2.sh
+++ /dev/null
@@ -1,225 +0,0 @@
-#!/bin/bash
-#
-################################################################################
-#
-# UNIX Script Documentation Block
-# Script name: wave_grib2_sbs.sh
-# Script description: Create grib2 files for the wave component
-#
-# Author: Hendrik Tolman Org: NCEP/EMC Date: 2007-07-11
-# Abstract: Creates grib2 files from WW3 binary output
-#
-# Script history log:
-# 2019-11-02 J-Henrique Alves Ported to global-workflow.
-#
-# $Id$
-#
-# Attributes:
-# Language: Bourne-again (BASH) shell
-# Machine: WCOSS-DELL-P3
-#
-# Requirements:
-# - wgrib2 with IPOLATES library
-#
-################################################################################
-# --------------------------------------------------------------------------- #
-# 0. Preparations
-# 0.a Basic modes of operation
-
- # set execution trace prompt. ${0##*/} adds the script's basename
- PS4=" \${SECONDS} ${0##*/} L\${LINENO} + "
- set -x
-
- # Use LOUD variable to turn on/off trace. Defaults to YES (on).
- export LOUD=${LOUD:-YES}; [[ $LOUD = yes ]] && export LOUD=YES
- [[ "$LOUD" != YES ]] && set +x
-
- cd $GRIBDATA
-# postmsg "$jlogfile" "Making GRIB2 Files." # commented to reduce unnecessary output to jlogfile
-
- grdID=$1
- gribDIR=${grdID}_grib
- rm -rfd ${gribDIR}
- mkdir ${gribDIR}
- err=$?
- if [ $err != 0 ]
- then
- set +x
- echo ' '
- echo '******************************************************************************* '
- echo '*** FATAL ERROR : ERROR IN ww3_grib2 (COULD NOT CREATE TEMP DIRECTORY) *** '
- echo '******************************************************************************* '
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN ww3_grib2 (Could not create temp directory)"
- exit 1
- fi
-
- cd ${gribDIR}
-
-# 0.b Define directories and the search path.
-# The tested variables should be exported by the postprocessor script.
-
- dtgrib=$2
- ngrib=$3
- GRIDNR=$4
- MODNR=$5
- gribflags=$6
-
- set +x
- echo ' '
- echo '+--------------------------------+'
- echo '! Make GRIB files |'
- echo '+--------------------------------+'
- echo " Model ID : $WAV_MOD_TAG"
- [[ "$LOUD" = YES ]] && set -x
-
- if [ -z "$YMDH" ] || [ -z "$cycle" ] || [ -z "$EXECwave" ] \
- [ -z "$COMOUT" ] || [ -z "$WAV_MOD_TAG" ] || [ -z "$SENDCOM" ] || \
- [ -z "$dtgrib" ] || [ -z "$ngrib" ] || [ -z "$gribflags" ] || \
- [ -z "$GRIDNR" ] || [ -z "$MODNR" ] || [ -z "$SENDDBN" ]
- then
- set +x
- echo ' '
- echo '***************************************************'
- echo '*** EXPORTED VARIABLES IN postprocessor NOT SET ***'
- echo '***************************************************'
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "EXPORTED VARIABLES IN postprocessor NOT SET"
- exit 1
- fi
-
-# 0.c Starting time for output
-
- ymdh=$YMDH
- tstart="`echo $ymdh | cut -c1-8` `echo $ymdh | cut -c9-10`0000"
-
- set +x
- echo " Starting time : $tstart"
- echo " Time step : $dtgrib"
- echo " Number of times : $ngrib"
- echo " GRIB field flags : $gribflags"
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
-
-# 0.e Links to working directory
-
- ln -s ../mod_def.$grdID mod_def.ww3
- ln -s ../out_grd.$grdID out_grd.ww3
-
-# --------------------------------------------------------------------------- #
-# 1. Generate GRIB file with all data
-# 1.a Generate input file for ww3_grib2
-# Template copied in mother script ...
-
- set +x
- echo " Generate input file for ww3_grib2"
- [[ "$LOUD" = YES ]] && set -x
-
- sed -e "s/TIME/$tstart/g" \
- -e "s/DT/$dtgrib/g" \
- -e "s/NT/$ngrib/g" \
- -e "s/GRIDNR/$GRIDNR/g" \
- -e "s/MODNR/$MODNR/g" \
- -e "s/FLAGS/$gribflags/g" \
- ../ww3_grib2.inp.tmpl > ww3_grib.inp
-
-# 1.b Run GRIB packing program
-
- set +x
- echo " Run ww3_grib2"
- echo " Executing $EXECwave/ww3_grib"
- [[ "$LOUD" = YES ]] && set -x
-
- ln -sf ../$WAV_MOD_TAG.$grdID.${cycle}.grib2 gribfile
- $EXECwave/ww3_grib
- err=$?
-
- if [ $err != 0 ]
- then
- set +x
- echo ' '
- echo '********************************************* '
- echo '*** FATAL ERROR : ERROR IN ww3_grib2 *** '
- echo '********************************************* '
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN ww3_grib2"
- exit 3
- fi
-
-# 1.c Clean up
-
- rm -f ww3_grib.inp
- rm -f mod_def.ww3
- rm -f out_grd.ww3
-
-# 1.e Save in /com
-
- if [ "$SENDCOM" = 'YES' ]
- then
- set +x
- echo " Saving GRIB file as $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2"
- [[ "$LOUD" = YES ]] && set -x
- cp -f ${DATA}/$WAV_MOD_TAG.$grdID.$cycle.grib2 $COMOUT/gridded/
- $WGRIB2 -s $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2 > $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx
-
- if [ ! -f $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2 ]
- then
- set +x
- echo ' '
- echo '********************************************* '
- echo '*** FATAL ERROR : ERROR IN ww3_grib2 *** '
- echo '********************************************* '
- echo ' '
- echo " Error in moving grib file $WAV_MOD_TAG.$grdID.$cycle.grib2 to com"
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN ww3_grib2"
- exit 4
- fi
- if [ ! -f $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx ]
- then
- set +x
- echo ' '
- echo '*************************************************** '
- echo '*** FATAL ERROR : ERROR IN ww3_grib2 INDEX FILE *** '
- echo '*************************************************** '
- echo ' '
- echo " Error in moving grib file $WAV_MOD_TAG.$grdID.$cycle.grib2idx to com"
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN creating ww3_grib2 index"
- exit 4
- fi
-
- if [ "$SENDDBN" = 'YES' ]
- then
- set +x
- echo " Alerting GRIB file as $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2"
- echo " Alerting GRIB index file as $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx"
- [[ "$LOUD" = YES ]] && set -x
- $DBNROOT/bin/dbn_alert MODEL WAVE_GRIB_GB2 $job $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2
- $DBNROOT/bin/dbn_alert MODEL WAVE_GRIB_GB2_WIDX $job $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx
- fi
- fi
-
-
-# --------------------------------------------------------------------------- #
-# 3. Clean up the directory
-
- set +x
- echo " Removing work directory after success."
- [[ "$LOUD" = YES ]] && set -x
-
- cd ..
- mv -f ${gribDIR} done.${gribDIR}
-
- set +x
- echo ' '
- echo "End of ww3_grib2.sh at"
- date
- [[ "$LOUD" = YES ]] && set -x
-
-# End of ww3_grib2.sh -------------------------------------------------- #
diff --git a/ush/wave_grib2_cat.sh b/ush/wave_grib2_cat.sh
deleted file mode 100755
index 440a19ee28..0000000000
--- a/ush/wave_grib2_cat.sh
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/bin/bash
-#
-################################################################################
-#
-# UNIX Script Documentation Block
-# Script name: wave_grib2_cat.sh
-# Script description: Concatenates files from wave model component
-#
-# Author: Jose-Henrique Alves Org: NCEP/EMC Date: 2014-01-16
-# Abstract: Creates bulletin for NCEP Global Wave Ensemble using grib2 data.
-# Values at buoy locations are extracted using wgrib2 bi-linear
-# interpolation (-new_grid) and requires IPOLATES lib.
-#
-# Script history log:
-#
-# $Id$
-#
-# Attributes:
-# Language: Bourne-again (BASH) shell
-# Machine: WCOSS-DELL-P3
-#
-# Requirements:
-# - wgrib2 with IPOLATES library
-#
-################################################################################
-# --------------------------------------------------------------------------- #
-# 0. Preparations
-# 0.a Basic modes of operation
-
- # set execution trace prompt. ${0##*/} adds the script's basename
- PS4=" \${SECONDS} ${0##*/} L\${LINENO} + "
- set -x
-
- # Use LOUD variable to turn on/off trace. Defaults to YES (on).
- export LOUD=${LOUD:-YES}; [[ $LOUD = yes ]] && export LOUD=YES
- [[ "$LOUD" != YES ]] && set +x
-
- cd $DATA
-# postmsg "$jlogfile" "Catting GRIB2 Files." # commented to reduce unnecessary output to jlogfile
-
- grdID=$1
- rm -rf grib_$grdID
- mkdir grib_$grdID
- err=$?
- if [ "$err" != '0' ]
- then
- set +x
- echo ' '
- echo '******************************************************************************* '
- echo '*** FATAL ERROR : ERROR IN multiwavegrib2_cat (COULD NOT CREATE TEMP DIRECTORY) *** '
- echo '******************************************************************************* '
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN multiwavegrib2_cat (Could not create temp directory)"
- exit 1
- fi
-
- cd grib_$grdID
-
-# 0.b Define directories and the search path.
-# The tested variables should be exported by the postprocessor script.
-
- dtgrib=$2
- ngrib=$3
- GRIDNR=$4
- MODNR=$5
- gribflags=$6
-
- set +x
- echo ' '
- echo '+--------------------------------+'
- echo '! Make GRIB files |'
- echo '+--------------------------------+'
- echo " Model ID : $WAV_MOD_TAG"
- [[ "$LOUD" = YES ]] && set -x
-
- if [ -z "$YMDH" ] || [ -z "$cycle" ] || [ -z "$EXECwave" ] || \
- [ -z "$COMOUT" ] || [ -z "$WAV_MOD_TAG" ] || [ -z "$SENDCOM" ] || \
- [ -z "$SENDDBN" ]
- then
- set +x
- echo ' '
- echo '***************************************************'
- echo '*** EXPORTED VARIABLES IN postprocessor NOT SET ***'
- echo '***************************************************'
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "EXPORTED VARIABLES IN postprocessor NOT SET"
- exit 1
- fi
-
-# 0.c Starting time for output
-
- ymdh=$YMDH
- tstart="`echo $ymdh | cut -c1-8` `echo $ymdh | cut -c9-10`0000"
-
- set +x
- echo " Starting time : $tstart"
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
-
-# 0.d sync important files
-
-# 0.e Links to working directory
-
-# --------------------------------------------------------------------------- #
-# 1. Generate GRIB file with all data
-
-# 1.b Run GRIB packing program
-
-
- set +x
- echo " Catting grib2 files ${COMOUT}/gridded/$WAV_MOD_TAG.$grdID.$cycle.f???.grib2"
- [[ "$LOUD" = YES ]] && set -x
-
- ln -sf ../$WAV_MOD_TAG.$grdID.$cycle.grib2 gribfile
- cat ${COMOUT}/gridded/$WAV_MOD_TAG.$grdID.$cycle.f???.grib2 >> gribfile
- err=$?
-
- if [ "$err" != '0' ]
- then
- set +x
- echo ' '
- echo '************************************************* '
- echo '*** FATAL ERROR : ERROR IN multiwavegrib2_cat *** '
- echo '************************************************* '
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN multiwavegrib2_cat"
- exit 3
- fi
-
-# 1.e Save in /com
-
- if [ "$SENDCOM" = 'YES' ]
- then
- set +x
- echo " Saving GRIB file as $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2"
- [[ "$LOUD" = YES ]] && set -x
- cp gribfile $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2
-
- if [ ! -f $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2 ]
- then
- set +x
- echo ' '
- echo '********************************************* '
- echo '*** FATAL ERROR : ERROR IN multiwavegrib2 *** '
- echo '********************************************* '
- echo ' '
- echo " Error in moving grib file $WAV_MOD_TAG.$grdID.$cycle.grib2 to com"
- echo ' '
- [[ "$LOUD" = YES ]] && set -x
- postmsg "$jlogfile" "FATAL ERROR : ERROR IN multiwavegrib2"
- exit 4
- fi
-
- echo " Creating wgrib index of $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2"
- $WGRIB2 -s $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2 > $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx
-
- if [ "$SENDDBN" = 'YES' ]
- then
- set +x
- echo " Alerting GRIB file as $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2"
- echo " Alerting GRIB index file as $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx"
- [[ "$LOUD" = YES ]] && set -x
- $DBNROOT/bin/dbn_alert MODEL WAVE_GRIB_GB2 $job $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2
- $DBNROOT/bin/dbn_alert MODEL WAVE_GRIB_GB2_WIDX $job $COMOUT/gridded/$WAV_MOD_TAG.$grdID.$cycle.grib2.idx
- fi
- fi
-
-
-# --------------------------------------------------------------------------- #
-# 3. Clean up the directory
-
- set +x
- echo " Removing work directory after success."
- [[ "$LOUD" = YES ]] && set -x
-
- cd ..
- mv -f grib_$grdID done.grib_$grdID
-
- set +x
- echo ' '
- echo "End of multiwavegrib2_cat.sh at"
- date
- [[ "$LOUD" = YES ]] && set -x
-
-# End of multiwavegrib2.sh -------------------------------------------------- #
diff --git a/workflow/cases/coupled_free_forecast_wave.yaml b/workflow/cases/coupled_free_forecast_wave.yaml
index c074e71a92..1898e48b19 100644
--- a/workflow/cases/coupled_free_forecast_wave.yaml
+++ b/workflow/cases/coupled_free_forecast_wave.yaml
@@ -55,6 +55,11 @@ case:
wave_settings:
WAVPETS: 136
+ CPL_WAVIC: CFSR
+ waveGRD: 'gwes_30m'
+ wavepostGRD: 'gwes_30m'
+ waveesmfGRD: ''
+ waveinterpGRD: ''
post:
downset: 2
diff --git a/workflow/config/fcst.yaml b/workflow/config/fcst.yaml
index 11a4d02e55..8d65a83253 100644
--- a/workflow/config/fcst.yaml
+++ b/workflow/config/fcst.yaml
@@ -165,6 +165,12 @@ config_fcst:
export sppt_sfclimit=.true.
export use_zmtnblck=.true.
+
+ if [[ $cplwav = ".true." ]]; then
+ export DO_WAVE="YES"
+ else
+ export DO_WAVE="NO"
+ fi
#---------------------------------------------------------------------
# Disable the use of coupler.res; get model start time from model_configure
export USE_COUPLER_RES="NO"
diff --git a/workflow/config/wave.yaml b/workflow/config/wave.yaml
index f537f2c28e..eeca0651da 100644
--- a/workflow/config/wave.yaml
+++ b/workflow/config/wave.yaml
@@ -13,31 +13,28 @@ config_wave:
echo "BEGIN: config.wave"
export wave_sys_ver=v1.0.0
- export COMPONENTRSTwave={doc.wave_settings.COMPONENTRSTwave}
- export HOMEwave={doc.places.HOMEgfs}
- export HOMEgefs={doc.places.HOMEgfs}
-
+ export CDUMPRSTwave="gdas"
+
# Grids for wave model
export waveGRD='{doc.wave_settings.waveGRD}'
export waveGRDN='{doc.wave_settings.waveGRDN}' # gridnumber for ww3_multi
- export waveGRDG='10 20 30' # gridgroup for ww3_multi
+ export waveGRDG='{doc.wave_settings.waveGRDG}' # gridgroup for ww3_multi
export USE_WAV_RMP='{doc.wave_settings.USE_WAV_RMP}' #yes/no rmp grid remapping pre-processed coefficients
# ESMF input grid
- export waveesmfGRD='' # input grid
+ export waveesmfGRD='{doc.wave_settings.waveesmfGRD}' # input grid
# Grids for output fields
export waveuoutpGRD=points
- export waveinterpGRD='' # Grids that need to be interpolated from native
+ export waveinterpGRD='{doc.wave_settings.waveinterpGRD}' # Grids that need to be interpolated from native
# in POST will generate grib unless gribOK not set
export wavesbsGRD='' # side-by-side grids generated as wave model runs, writes to com
- export wavepostGRD='gwes_30m' # Native grids that will be post-processed (grib2)
-
+ export wavepostGRD='{doc.wave_settings.wavepostGRD}' # Native grids that will be post-processed (grib2)
+
+ export FHMAX_WAV={doc.output_settings.FHMAX_GFS}
if [ "$CDUMP" = "gdas" ]
then
- export FHMAX_WAV={doc.output_settings.FHMAX_GDAS} #for coupled model, use GDAS
- else
- export FHMAX_WAV={doc.output_settings.FHMAX_GFS} #for coupled model, use GFS
+ export FHMAX_WAV={doc.output_settings.FHMAX_GDAS} #if GDAS use GDAS
fi
export WAVHINDH={doc.wave_settings.WAVHINDH}
export FHMIN_WAV={doc.output_settings.FHMIN_WAV}
@@ -127,14 +124,7 @@ config_wave:
# # Path to HOME Directory
export EXECwave="{doc.places.HOMEgfs}/exec"
export FIXwave="{doc.places.FIXwave}"
- export PARMwave="{doc.places.HOMEgfs}/parm/wave"
export USHwave="{doc.places.HOMEgfs}/ush"
#
-
- export wavelog=$COMOUTwave/wave.log
-
- # # Set wave model ID tag to include member number
- # # if ensemble; waveMEMB var empty in deterministic
- export WAV_MOD_TAG=$COMPONENTwave$waveMEMB
#
echo "END: config.wave"
diff --git a/workflow/config/waveinit.yaml b/workflow/config/waveinit.yaml
index 429d89cbfc..5424a09979 100644
--- a/workflow/config/waveinit.yaml
+++ b/workflow/config/waveinit.yaml
@@ -11,7 +11,5 @@ config_waveinit:
# Common to all steps
echo "BEGIN: config.waveinit"
-
- export sigMODE="{doc.wave_settings.sigMODE}"
echo "END: config.waveinit"
diff --git a/workflow/config/waveprep.yaml b/workflow/config/waveprep.yaml
index ea4ebd6ec2..1db8d1aa3a 100644
--- a/workflow/config/waveprep.yaml
+++ b/workflow/config/waveprep.yaml
@@ -12,15 +12,14 @@ config_waveprep:
echo "BEGIN: config.waveprep"
- export sigMODE="{doc.wave_settings.sigMODE}"
-
- export HOUR_INC=3 # This value should match with the one used in
- export GOFILETYPE=1
- export POFILETYPE=1
-
- export FUNIPNT="T"
+ export HOUR_INC=3
+ export GOFILETYPE=1 # GOFILETYPE=1 one gridded file per output step
+ export POFILETYPE=1 # POFILETYPE=1 one point file per output step
+
+ #Unified point output T or F
+ export FUNIPNT="T" #Unified point output T or F
# Unified output server type (see ww3_multi.inp in WW3 repo)
- export IOSRV="1"
+ export IOSRV="1"
# # Flag for dedicated output process for unified points
export FPNTPROC="T"
# # Flag for grids sharing dedicated output processes
@@ -30,4 +29,4 @@ config_waveprep:
# Flag for masking at printout time.
export FLAGMASKOUT="F"
#
- echo "END: config.waveprep"
+ echo "END: config.waveprep"
diff --git a/workflow/defaults/output_settings.yaml b/workflow/defaults/output_settings.yaml
index 83b3d58d31..935cf0d759 100644
--- a/workflow/defaults/output_settings.yaml
+++ b/workflow/defaults/output_settings.yaml
@@ -40,13 +40,9 @@ output_settings_defaults: &output_settings_defaults
wave_output_settings_defaults: &wave_output_settings_defaults
FHMIN_WAV: 0
- FHMAX_WAV: 9
- FHMAX_WAV_GFS: 384
FHOUT_WAV: 3
FHMAX_HF_WAV: 120
FHOUT_HF_WAV: 3
- FHMAX_WAV_CUR: 48
-
OUTPARS_WAV: "WND CUR ICE HS T01 T02 DIR FP DP PHS PTP PDIR CHAR"
diff --git a/workflow/defaults/wave.yaml b/workflow/defaults/wave.yaml
index f95b91ec92..10fd9e032c 100644
--- a/workflow/defaults/wave.yaml
+++ b/workflow/defaults/wave.yaml
@@ -5,13 +5,14 @@ wave_defaults: &wave_defaults
- when: !calc doc.settings.cplwav==".true."
do: 24
- otherwise: 0
- COMPONENTRSTwave: gdaswave
WAVHINDH: 0
RUNMEM: -1
- sigMODE: prep
- waveGRD: 'gwes_30m'
+ waveGRD: 'gnh_10m aoc_9km gsh_15m'
waveGRDN: '1 2 3'
waveGRDG: '10 20 30'
+ waveesmfGRD: 'glox_10m'
+ waveinterpGRD: 'glo_15mxt at_10m ep_10m wc_10m ak_10m glo_30m'
+ wavepostGRD: 'gnh_10m aoc_9km gsh_15m'
USE_WAV_RMP: 'NO'
WAV_CUR_DT: 3
WAV_CUR_HF_DT: 1