diff --git a/.gitignore b/.gitignore
index 2935804ac4..d8acb1db70 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,7 +30,6 @@ fix/chem
fix/cice
fix/cpl
fix/datm
-fix/gldas
fix/gdas
fix/gsi
fix/lut
@@ -43,8 +42,12 @@ fix/wave
# Ignore parm file symlinks
#--------------------------
-parm/config/config.base
-parm/gldas
+parm/gdas/aero
+parm/gdas/atm
+parm/gdas/io
+parm/gdas/ioda
+parm/gdas/snow
+parm/gdas/soca
parm/monitor
parm/post/AEROSOL_LUTS.dat
parm/post/nam_micro_lookup.dat
diff --git a/.gitmodules b/.gitmodules
index 3eb26fb0fe..5c9e569243 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,28 +1,28 @@
[submodule "sorc/ufs_model.fd"]
- path = sorc/ufs_model.fd
- url = https://github.com/ufs-community/ufs-weather-model
- ignore = dirty
+ path = sorc/ufs_model.fd
+ url = https://github.com/ufs-community/ufs-weather-model
+ ignore = dirty
[submodule "sorc/wxflow"]
- path = sorc/wxflow
- url = https://github.com/NOAA-EMC/wxflow
+ path = sorc/wxflow
+ url = https://github.com/NOAA-EMC/wxflow
[submodule "sorc/gfs_utils.fd"]
- path = sorc/gfs_utils.fd
- url = https://github.com/NOAA-EMC/gfs-utils
+ path = sorc/gfs_utils.fd
+ url = https://github.com/NOAA-EMC/gfs-utils
[submodule "sorc/ufs_utils.fd"]
- path = sorc/ufs_utils.fd
- url = https://github.com/ufs-community/UFS_UTILS.git
+ path = sorc/ufs_utils.fd
+ url = https://github.com/ufs-community/UFS_UTILS.git
[submodule "sorc/verif-global.fd"]
- path = sorc/verif-global.fd
- url = https://github.com/NOAA-EMC/EMC_verif-global.git
+ path = sorc/verif-global.fd
+ url = https://github.com/NOAA-EMC/EMC_verif-global.git
[submodule "sorc/gsi_enkf.fd"]
- path = sorc/gsi_enkf.fd
- url = https://github.com/NOAA-EMC/GSI.git
+ path = sorc/gsi_enkf.fd
+ url = https://github.com/NOAA-EMC/GSI.git
[submodule "sorc/gdas.cd"]
- path = sorc/gdas.cd
- url = https://github.com/NOAA-EMC/GDASApp.git
+ path = sorc/gdas.cd
+ url = https://github.com/NOAA-EMC/GDASApp.git
[submodule "sorc/gsi_utils.fd"]
- path = sorc/gsi_utils.fd
- url = https://github.com/NOAA-EMC/GSI-Utils.git
+ path = sorc/gsi_utils.fd
+ url = https://github.com/NOAA-EMC/GSI-Utils.git
[submodule "sorc/gsi_monitor.fd"]
- path = sorc/gsi_monitor.fd
- url = https://github.com/NOAA-EMC/GSI-Monitor.git
+ path = sorc/gsi_monitor.fd
+ url = https://github.com/NOAA-EMC/GSI-Monitor.git
diff --git a/Jenkinsfile b/ci/Jenkinsfile
similarity index 81%
rename from Jenkinsfile
rename to ci/Jenkinsfile
index 52175c2b50..34535ed608 100644
--- a/Jenkinsfile
+++ b/ci/Jenkinsfile
@@ -50,7 +50,7 @@ pipeline {
pullRequest.removeLabel("CI-${Machine}-Ready")
}
}
- pullRequest.comment("Building and running on ${Machine} in directory ${HOME}")
+ echo "Building and running on ${Machine} in directory ${HOME}"
}
}
}
@@ -76,7 +76,6 @@ pipeline {
ws(HOMEgfs) {
if (fileExists("${HOMEgfs}/sorc/BUILT_semaphor")) { // if the system is already built, skip the build in the case of re-runs
sh(script: "cat ${HOMEgfs}/sorc/BUILT_semaphor", returnStdout: true).trim() // TODO: and user configurable control to manage build semphore
- pullRequest.comment("Cloned PR already built (or build skipped) on ${machine} in directory ${HOMEgfs}
Still doing a checkout to get the latest changes")
checkout scm
dir('sorc') {
sh(script: './link_workflow.sh')
@@ -93,10 +92,14 @@ pipeline {
}
}
if (env.CHANGE_ID && system == 'gfs') {
- if (pullRequest.labels.any { value -> value.matches("CI-${Machine}-Building") }) {
- pullRequest.removeLabel("CI-${Machine}-Building")
- }
- pullRequest.addLabel("CI-${Machine}-Running")
+ try {
+ if (pullRequest.labels.any { value -> value.matches("CI-${Machine}-Building") }) {
+ pullRequest.removeLabel("CI-${Machine}-Building")
+ }
+ pullRequest.addLabel("CI-${Machine}-Running")
+ } catch (Exception e) {
+ echo "Failed to update label from Buildng to Running: ${e.getMessage()}"
+ }
}
if (system == 'gfs') {
caseList = sh(script: "${HOMEgfs}/ci/scripts/utils/get_host_case_list.py ${machine}", returnStdout: true).trim().split()
@@ -146,11 +149,9 @@ pipeline {
HOMEgfs = "${HOME}/gfs" // common HOMEgfs is used to launch the scripts that run the experiments
ws(HOMEgfs) {
pslot = sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh get_pslot ${HOME}/RUNTESTS ${Case}", returnStdout: true).trim()
- pullRequest.comment("**Running** experiment: ${Case} on ${Machine}
With the experiment in directory:
`${HOME}/RUNTESTS/${pslot}`")
try {
sh(script: "${HOMEgfs}/ci/scripts/run-check_ci.sh ${HOME} ${pslot}")
} catch (Exception e) {
- pullRequest.comment("**FAILURE** running experiment: ${Case} on ${Machine}")
sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh cancel_all_batch_jobs ${HOME}/RUNTESTS")
ws(HOME) {
if (fileExists('RUNTESTS/error.logs')) {
@@ -165,7 +166,6 @@ pipeline {
error("Failed to run experiments ${Case} on ${Machine}")
}
}
- pullRequest.comment("**SUCCESS** running experiment: ${Case} on ${Machine}")
}
}
}
@@ -179,10 +179,14 @@ pipeline {
always {
script {
if(env.CHANGE_ID) {
- for (label in pullRequest.labels) {
- if (label.contains("${Machine}")) {
- pullRequest.removeLabel(label)
+ try {
+ for (label in pullRequest.labels) {
+ if (label.contains("${Machine}")) {
+ pullRequest.removeLabel(label)
+ }
}
+ } catch (Exception e) {
+ echo "Failed to remove labels: ${e.getMessage()}"
}
}
}
@@ -190,18 +194,26 @@ pipeline {
success {
script {
if(env.CHANGE_ID) {
- pullRequest.addLabel("CI-${Machine}-Passed")
- def timestamp = new Date().format('MM dd HH:mm:ss', TimeZone.getTimeZone('America/New_York'))
- pullRequest.comment("**CI SUCCESS** ${Machine} at ${timestamp}\n\nBuilt and ran in directory `${HOME}`")
+ try {
+ pullRequest.addLabel("CI-${Machine}-Passed")
+ def timestamp = new Date().format('MM dd HH:mm:ss', TimeZone.getTimeZone('America/New_York'))
+ pullRequest.comment("**CI SUCCESS** ${Machine} at ${timestamp}\n\nBuilt and ran in directory `${HOME}`")
+ } catch (Exception e) {
+ echo "Failed to add success label or comment: ${e.getMessage()}"
+ }
}
}
}
failure {
script {
if(env.CHANGE_ID) {
- pullRequest.addLabel("CI-${Machine}-Failed")
- def timestamp = new Date().format('MM dd HH:mm:ss', TimeZone.getTimeZone('America/New_York'))
- pullRequest.comment("**CI FAILED** ${Machine} at ${timestamp}
Built and ran in directory `${HOME}`")
+ try {
+ pullRequest.addLabel("CI-${Machine}-Failed")
+ def timestamp = new Date().format('MM dd HH:mm:ss', TimeZone.getTimeZone('America/New_York'))
+ pullRequest.comment("**CI FAILED** ${Machine} at ${timestamp}
Built and ran in directory `${HOME}`")
+ } catch (Exception e) {
+ echo "Failed to add failure label or comment: ${e.getMessage()}"
+ }
}
}
}
diff --git a/env/HERA.env b/env/HERA.env
index 2029a69328..f55434e8d9 100755
--- a/env/HERA.env
+++ b/env/HERA.env
@@ -107,6 +107,14 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then
export APRUN_OCNANAL="${launcher} -n ${npe_ocnanalchkpt}"
+elif [[ "${step}" = "ocnanalecen" ]]; then
+
+ nth_max=$((npe_node_max / npe_node_ocnanalecen))
+
+ export NTHREADS_OCNANALECEN=${nth_ocnanalecen:-${nth_max}}
+ [[ ${NTHREADS_OCNANALECEN} -gt ${nth_max} ]] && export NTHREADS_OCNANALECEN=${nth_max}
+ export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen} --cpus-per-task=${NTHREADS_OCNANALECEN}"
+
elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then
export MKL_NUM_THREADS=4
diff --git a/env/ORION.env b/env/ORION.env
index 692fa8ab66..17d0d24d97 100755
--- a/env/ORION.env
+++ b/env/ORION.env
@@ -118,6 +118,14 @@ elif [[ "${step}" = "ocnanalchkpt" ]]; then
[[ ${NTHREADS_OCNANAL} -gt ${nth_max} ]] && export NTHREADS_OCNANAL=${nth_max}
export APRUN_OCNANAL="${launcher} -n ${npe_ocnanalchkpt} --cpus-per-task=${NTHREADS_OCNANAL}"
+elif [[ "${step}" = "ocnanalecen" ]]; then
+
+ nth_max=$((npe_node_max / npe_node_ocnanalecen))
+
+ export NTHREADS_OCNANALECEN=${nth_ocnanalecen:-${nth_max}}
+ [[ ${NTHREADS_OCNANALECEN} -gt ${nth_max} ]] && export NTHREADS_OCNANALECEN=${nth_max}
+ export APRUN_OCNANALECEN="${launcher} -n ${npe_ocnanalecen} --cpus-per-task=${NTHREADS_OCNANALECEN}"
+
elif [[ "${step}" = "anal" ]] || [[ "${step}" = "analcalc" ]]; then
export MKL_NUM_THREADS=4
diff --git a/gempak/fix/gfs_meta b/gempak/fix/gfs_meta
index 5ca99b4dc6..c86233214b 100755
--- a/gempak/fix/gfs_meta
+++ b/gempak/fix/gfs_meta
@@ -1,23 +1,23 @@
-$USHgempak/gfs_meta_us.sh 36 84 126 216
-$USHgempak/gfs_meta_bwx.sh 36 84 126 180
-$USHgempak/gfs_meta_comp.sh 36 84 126
-$USHgempak/gfs_meta_ak.sh 36 84 132 216
-$USHgempak/gfs_meta_crb.sh 126
-$USHgempak/gfs_meta_hur.sh 36 84 126
-$USHgempak/gfs_meta_qpf.sh 36 84 132 216
-$USHgempak/gfs_meta_precip.sh 36 84 132 216 384
-$USHgempak/gfs_meta_sa.sh 126
-$USHgempak/gfs_meta_ver.sh 126
-$USHgempak/gfs_meta_hi.sh 384
-$USHgempak/gfs_meta_nhsh.sh 384
-$USHgempak/gfs_meta_trop.sh 384
-$USHgempak/gfs_meta_usext.sh 384
-$USHgempak/gfs_meta_mar_ql.sh 24 48 96 180
-$USHgempak/gfs_meta_mar_comp.sh 126
-$USHgempak/gfs_meta_opc_na_ver 126
-$USHgempak/gfs_meta_opc_np_ver 126
-$USHgempak/gfs_meta_mar_atl.sh 180
-$USHgempak/gfs_meta_mar_pac.sh 180
-$USHgempak/gfs_meta_mar_ver.sh 48
-$USHgempak/gfs_meta_mar_skewt.sh 72
-$USHgempak/gfs_meta_sa2.sh 144
+${HOMEgfs}/gempak/ush/gfs_meta_us.sh 36 84 126 216
+${HOMEgfs}/gempak/ush/gfs_meta_bwx.sh 36 84 126 180
+${HOMEgfs}/gempak/ush/gfs_meta_comp.sh 36 84 126
+${HOMEgfs}/gempak/ush/gfs_meta_ak.sh 36 84 132 216
+${HOMEgfs}/gempak/ush/gfs_meta_crb.sh 126
+${HOMEgfs}/gempak/ush/gfs_meta_hur.sh 36 84 126
+${HOMEgfs}/gempak/ush/gfs_meta_qpf.sh 36 84 132 216
+${HOMEgfs}/gempak/ush/gfs_meta_precip.sh 36 84 132 216 384
+${HOMEgfs}/gempak/ush/gfs_meta_sa.sh 126
+${HOMEgfs}/gempak/ush/gfs_meta_ver.sh 126
+${HOMEgfs}/gempak/ush/gfs_meta_hi.sh 384
+${HOMEgfs}/gempak/ush/gfs_meta_nhsh.sh 384
+${HOMEgfs}/gempak/ush/gfs_meta_trop.sh 384
+${HOMEgfs}/gempak/ush/gfs_meta_usext.sh 384
+${HOMEgfs}/gempak/ush/gfs_meta_mar_ql.sh 24 48 96 180
+${HOMEgfs}/gempak/ush/gfs_meta_mar_comp.sh 126
+${HOMEgfs}/gempak/ush/gfs_meta_opc_na_ver 126
+${HOMEgfs}/gempak/ush/gfs_meta_opc_np_ver 126
+${HOMEgfs}/gempak/ush/gfs_meta_mar_atl.sh 180
+${HOMEgfs}/gempak/ush/gfs_meta_mar_pac.sh 180
+${HOMEgfs}/gempak/ush/gfs_meta_mar_ver.sh 48
+${HOMEgfs}/gempak/ush/gfs_meta_mar_skewt.sh 72
+${HOMEgfs}/gempak/ush/gfs_meta_sa2.sh 144
diff --git a/gempak/ush/gdas_meta_na.sh b/gempak/ush/gdas_meta_na.sh
index 6c4768cfb7..fb1c328140 100755
--- a/gempak/ush/gdas_meta_na.sh
+++ b/gempak/ush/gdas_meta_na.sh
@@ -51,7 +51,7 @@ PROJ = str/90;-105;0
LATLON = 1
-restore $USHgempak/restore/pmsl_thkn.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/pmsl_thkn.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -60,7 +60,7 @@ l
ru
-restore $USHgempak/restore/850mb_hght_tmpc.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/850mb_hght_tmpc.2.nts
CLRBAR = 1
TEXT = 1/21//hw
SKIP = 0 !0 !0 !0 !/3
@@ -70,7 +70,7 @@ l
ru
-restore $USHgempak/restore/700mb_hght_relh_omeg.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/700mb_hght_relh_omeg.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HGT, REL HUMIDITY AND OMEGA|~@ HGT, RH AND OMEGA!0
@@ -78,7 +78,7 @@ l
ru
-restore $USHgempak/restore/500mb_hght_absv.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/500mb_hght_absv.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HGT AND VORTICITY|~@ HGT AND VORTICITY!0
@@ -86,7 +86,7 @@ l
ru
-restore $USHgempak/restore/250mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/250mb_hght_wnd.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HGT, ISOTACHS AND WIND (KTS)|~@ HGT AND WIND!0
diff --git a/gempak/ush/gfs_meta_hi.sh b/gempak/ush/gfs_meta_hi.sh
index 6167855ae2..5272204b7a 100755
--- a/gempak/ush/gfs_meta_hi.sh
+++ b/gempak/ush/gfs_meta_hi.sh
@@ -45,9 +45,9 @@ MAP = 1
CLEAR = yes
CLRBAR = 1
-restore ${USHgempak}/restore/garea_hi.nts
+restore ${HOMEgfs}/gempak/ush/restore/garea_hi.nts
-restore ${USHgempak}/restore/pmsl_thkn.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/pmsl_thkn.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -56,7 +56,7 @@ l
ru
-restore ${USHgempak}/restore/850mb_hght_tmpc.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/850mb_hght_tmpc.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HGHTS, TEMPERATURE AND WIND (KTS)|~@ HGHT, TMP, WIND!0!0!0
@@ -64,7 +64,7 @@ l
ru
-restore ${USHgempak}/restore/700mb_hght_relh_omeg.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/700mb_hght_relh_omeg.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HGHTS, REL HUMIDITY AND OMEGA|~@ HGHT, RH AND OMEGA!0
@@ -72,7 +72,7 @@ l
ru
-restore ${USHgempak}/restore/500mb_hght_absv.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/500mb_hght_absv.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HEIGHTS AND VORTICITY|~@ HGHT AND VORTICITY!0
@@ -80,7 +80,7 @@ l
ru
-restore ${USHgempak}/restore/200mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/200mb_hght_wnd.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HEIGHTS, ISOTACHS AND WIND (KTS)|~@ HGHT AND WIND!0
@@ -88,7 +88,7 @@ l
ru
-restore ${USHgempak}/restore/250mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/250mb_hght_wnd.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HEIGHTS, ISOTACHS AND WIND (KTS)|~@ HGHT AND WIND!0
@@ -96,7 +96,7 @@ l
ru
-restore ${USHgempak}/restore/300mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/300mb_hght_wnd.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 5/-2/~ ? $m_title @ HEIGHTS, ISOTACHS AND WIND (KTS)|~@ HGHT AND WIND!0
@@ -149,7 +149,7 @@ CLRBAR = 1
r
-restore ${USHgempak}/restore/precip.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/precip.2.nts
CLRBAR = 1
TEXT = 1/21//hw
GDATTIM = F12-F192-06; F214-F384-12
diff --git a/gempak/ush/gfs_meta_nhsh.sh b/gempak/ush/gfs_meta_nhsh.sh
index 6e6981c2df..47ac4b1331 100755
--- a/gempak/ush/gfs_meta_nhsh.sh
+++ b/gempak/ush/gfs_meta_nhsh.sh
@@ -43,9 +43,9 @@ MAP = 1
CLEAR = yes
CLRBAR = 1
-restore ${USHgempak}/restore/garea_nh.nts
+restore ${HOMEgfs}/gempak/ush/restore/garea_nh.nts
-restore ${USHgempak}/restore/500mb_hght_absv.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/500mb_hght_absv.2.nts
CLRBAR = 1
TEXT = 1/21//hw
SKIP = 0 !0 !1
@@ -65,7 +65,7 @@ l
ru
-restore ${USHgempak}/restore/garea_sh.nts
+restore ${HOMEgfs}/gempak/ush/restore/garea_sh.nts
DEVICE = nc | Nmeta_sh
TITLE = 5//~ ? $m_title @ HEIGHTS AND VORTICITY|~ @ HGHT AND VORTICITY!0
@@ -73,10 +73,10 @@ l
ru
-restore ${USHgempak}/restore/garea_nh.nts
+restore ${HOMEgfs}/gempak/ush/restore/garea_nh.nts
DEVICE = nc | Nmeta_nh
-restore ${USHgempak}/restore/250mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/250mb_hght_wnd.2.nts
CLRBAR = 1
TEXT = 1/21//hw
GDPFUN = knts((mag(wnd))) !sm9s(hght)
@@ -85,11 +85,11 @@ l
ru
-restore ${USHgempak}/restore/garea_sh.nts
+restore ${HOMEgfs}/gempak/ush/restore/garea_sh.nts
DEVICE = nc | Nmeta_sh
ru
-restore ${USHgempak}/restore/precip.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/precip.2.nts
CLRBAR = 1
TEXT = 1/21//hw
GDATTIM = F12-F240-12
@@ -99,7 +99,7 @@ TITLE = 5//~ ? $m_title 12-HOUR TOTAL PRECIPITATION (IN)|~ 12-HOURLY TOTAL PCP
l
r
-restore ${USHgempak}/restore/garea_sh.nts
+restore ${HOMEgfs}/gempak/ush/restore/garea_sh.nts
DEVICE = nc | Nmeta_sh
ru
diff --git a/gempak/ush/gfs_meta_us.sh b/gempak/ush/gfs_meta_us.sh
index 495cbc5839..f3c6cd0692 100755
--- a/gempak/ush/gfs_meta_us.sh
+++ b/gempak/ush/gfs_meta_us.sh
@@ -53,7 +53,7 @@ GAREA = 17.529;-129.296;53.771;-22.374
PROJ = str/90;-105;0
LATLON = 0
-restore $USHgempak/restore/pmsl_thkn.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/pmsl_thkn.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -62,7 +62,7 @@ l
run
-restore $USHgempak/restore/850mb_hght_tmpc.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/850mb_hght_tmpc.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -71,7 +71,7 @@ l
run
-restore $USHgempak/restore/700mb_hght_relh_omeg.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/700mb_hght_relh_omeg.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -80,7 +80,7 @@ l
run
-restore $USHgempak/restore/500mb_hght_absv.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/500mb_hght_absv.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -89,7 +89,7 @@ l
run
-restore $USHgempak/restore/250mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/250mb_hght_wnd.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -98,7 +98,7 @@ l
run
-restore $USHgempak/restore/p06m_pmsl.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/p06m_pmsl.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
HLSYM = 2;1.5//21//hw
diff --git a/gempak/ush/gfs_meta_usext.sh b/gempak/ush/gfs_meta_usext.sh
index 3db7c27be4..59b1ce5bab 100755
--- a/gempak/ush/gfs_meta_usext.sh
+++ b/gempak/ush/gfs_meta_usext.sh
@@ -71,7 +71,7 @@ GAREA = 17.529;-129.296;53.771;-22.374
PROJ = str/90;-105;0
LATLON = 18/2
-restore ${USHgempak}/restore/pmsl_thkn.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/pmsl_thkn.2.nts
CLRBAR = 1
HLSYM = 2;1.5//21//hw
TEXT = 1/21//hw
@@ -79,35 +79,35 @@ TITLE = 1/-2/~ ? $m_title PMSL, 1000-500 MB THICKNESS|~MSLP, 1000-500 THKN!0
l
run
-restore ${USHgempak}/restore/850mb_hght_tmpc.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/850mb_hght_tmpc.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 1/-2/~ ? $m_title @ HGT, TEMPERATURE AND WIND (KTS)|~@ HGT, TMP, WIND!0
l
run
-restore ${USHgempak}/restore/700mb_hght_relh_omeg.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/700mb_hght_relh_omeg.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 1/-2/~ ? $m_title @ HGT, REL HUMIDITY AND OMEGA|~@ HGT, RH AND OMEGA!0
l
run
-restore ${USHgempak}/restore/500mb_hght_absv.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/500mb_hght_absv.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 1/-2/~ ? $m_title @ HGT AND VORTICITY|~@ HGT AND VORTICITY!0
l
run
-restore ${USHgempak}/restore/500mb_hght_gabsv.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/500mb_hght_gabsv.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 1/-2/~ ? $m_title @ HGT AND GEO ABS VORT|~@ HGT, GEO ABS VORT!0
l
run
-restore ${USHgempak}/restore/250mb_hght_wnd.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/250mb_hght_wnd.2.nts
CLRBAR = 1
TEXT = 1/21//hw
TITLE = 1/-2/~ ? $m_title @ HGT, ISOTACHS AND WIND (KTS)|~@ HGT AND WIND!0
@@ -137,7 +137,7 @@ CLEAR = YES
l
run
-restore ${USHgempak}/restore/precip.2.nts
+restore ${HOMEgfs}/gempak/ush/restore/precip.2.nts
CLRBAR = 1
TEXT = 1/21//hw
HILO = 31;0/x#2/.25-10///y
diff --git a/jobs/JGDAS_ATMOS_GEMPAK b/jobs/JGDAS_ATMOS_GEMPAK
index 55aca00cee..d0d1f16f81 100755
--- a/jobs/JGDAS_ATMOS_GEMPAK
+++ b/jobs/JGDAS_ATMOS_GEMPAK
@@ -5,16 +5,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak" -c "base gempak"
# TODO (#1219) This j-job is not part of the rocoto suite
-################################
-# Set up the HOME directory
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
-export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
-export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
-export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
-export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
-
############################################
# Set up model and cycle specific variables
############################################
@@ -58,12 +48,12 @@ fi
########################################################
# Execute the script.
-echo "${SRCgfs}/exgdas_atmos_nawips.sh gdas 009 GDAS_GEMPAK ${COM_ATMOS_GEMPAK_1p00}" >> poescript
+echo "${SCRgfs}/exgdas_atmos_nawips.sh gdas 009 GDAS_GEMPAK ${COM_ATMOS_GEMPAK_1p00}" >> poescript
########################################################
########################################################
# Execute the script for quater-degree grib
-echo "${SRCgfs}/exgdas_atmos_nawips.sh gdas_0p25 009 GDAS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}" >> poescript
+echo "${SCRgfs}/exgdas_atmos_nawips.sh gdas_0p25 009 GDAS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}" >> poescript
########################################################
cat poescript
diff --git a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC
index 92b56f10b8..a6c54b8337 100755
--- a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC
+++ b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC
@@ -9,21 +9,7 @@
source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak_meta" -c "base gempak"
-################################
-# Set up the HOME directory
-################################
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
-export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
-export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
-export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
-export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
-
-#
# Now set up GEMPAK/NTRANS environment
-#
cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl
@@ -67,10 +53,10 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-${USHgempak}/gdas_meta_na.sh
-${USHgempak}/gdas_ecmwf_meta_ver.sh
-${USHgempak}/gdas_meta_loop.sh
-${USHgempak}/gdas_ukmet_meta_ver.sh
+${HOMEgfs}/gempak/ush/gdas_meta_na.sh
+${HOMEgfs}/gempak/ush/gdas_ecmwf_meta_ver.sh
+${HOMEgfs}/gempak/ush/gdas_meta_loop.sh
+${HOMEgfs}/gempak/ush/gdas_ukmet_meta_ver.sh
export err=$?; err_chk
########################################################
@@ -80,7 +66,7 @@ export err=$?; err_chk
########################################################
# Execute the script.
-${SRCgfs}/exgdas_atmos_gempak_gif_ncdc.sh
+${SCRgfs}/exgdas_atmos_gempak_gif_ncdc.sh
export err=$?; err_chk
########################################################
diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN
new file mode 100755
index 0000000000..c4ad80c9e3
--- /dev/null
+++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN
@@ -0,0 +1,38 @@
+#!/bin/bash
+source "${HOMEgfs}/ush/preamble.sh"
+source "${HOMEgfs}/ush/jjob_header.sh" -e "ocnanalecen" -c "base ocnanal ocnanalecen"
+
+##############################################
+# Set variables used in the script
+##############################################
+
+##############################################
+# Begin JOB SPECIFIC work
+##############################################
+
+###############################################################
+# Run relevant script
+
+EXSCRIPT=${GDASOCNCENPY:-${HOMEgfs}/scripts/exgdas_global_marine_analysis_ecen.py}
+${EXSCRIPT}
+status=$?
+[[ ${status} -ne 0 ]] && exit "${status}"
+
+##############################################
+# End JOB SPECIFIC work
+##############################################
+
+##############################################
+# Final processing
+##############################################
+if [[ -e "${pgmout}" ]] ; then
+ cat "${pgmout}"
+fi
+
+##########################################
+# Remove the Temporary working directory
+##########################################
+cd "${DATAROOT}" || exit 1
+[[ "${KEEPDATA}" = "NO" ]] && rm -rf "${DATA}"
+
+exit 0
diff --git a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
index d2277bb0da..60f21c469b 100755
--- a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
+++ b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
@@ -5,16 +5,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "awips" -c "base awips"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
-################################
-# Set up the HOME directory
-################################
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export USHgfs=${USHgfs:-${HOMEgfs}/ush}
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
-export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
-
###################################
# Specify NET and RUN Name and model
####################################
@@ -46,7 +36,7 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-"${HOMEgfs}/scripts/exgfs_atmos_awips_20km_1p0deg.sh" "${fcsthrs}"
+"${SCRgfs}/exgfs_atmos_awips_20km_1p0deg.sh" "${fcsthrs}"
export err=$?; err_chk
########################################################
diff --git a/jobs/JGFS_ATMOS_AWIPS_G2 b/jobs/JGFS_ATMOS_AWIPS_G2
index 3503a92b08..27e37d7214 100755
--- a/jobs/JGFS_ATMOS_AWIPS_G2
+++ b/jobs/JGFS_ATMOS_AWIPS_G2
@@ -9,16 +9,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "awips" -c "base awips"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
-################################
-# Set up the HOME directory
-################################
-export USHgfs=${USHgfs:-${HOMEgfs}/ush}
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
-export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
-export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
-
###################################
# Specify NET and RUN Name and model
####################################
@@ -45,7 +35,7 @@ export pgmout=OUTPUT.$$
#########################################################
mkdir -m 775 awips_g1
cd ${DATA}/awips_g1
-${HOMEgfs}/scripts/exgfs_atmos_grib_awips.sh ${fcsthrs}
+"${SCRgfs}/exgfs_atmos_grib_awips.sh" "${fcsthrs}"
export err=$?; err_chk
############################################
diff --git a/jobs/JGFS_ATMOS_FBWIND b/jobs/JGFS_ATMOS_FBWIND
index d640907c5c..dbfca49610 100755
--- a/jobs/JGFS_ATMOS_FBWIND
+++ b/jobs/JGFS_ATMOS_FBWIND
@@ -8,16 +8,6 @@
source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "fbwind" -c "base"
-################################
-# Set up the HOME directory
-################################
-export USHgfs=${USHgfs:-${HOMEgfs}/ush}
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
-export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
-export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
-
###################################
# Specify NET and RUN Name and model
####################################
@@ -39,7 +29,7 @@ mkdir -m 775 -p ${COMOUT} ${COMOUTwmo}
########################################################
# Execute the script.
-${HOMEgfs}/scripts/exgfs_atmos_fbwind.sh
+${SCRgfs}/exgfs_atmos_fbwind.sh
export err=$?;err_chk
########################################################
diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK
index ff7479daf2..e71338b6de 100755
--- a/jobs/JGFS_ATMOS_GEMPAK
+++ b/jobs/JGFS_ATMOS_GEMPAK
@@ -3,19 +3,6 @@
source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak" -c "base gempak"
-
-################################
-# Set up the HOME directory
-################################
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
-export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
-export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
-
-# For half-degree P Grib files
-export DO_HD_PGRB=${DO_HD_PGRB:-YES}
-
############################################
# Set up model and cycle specific variables
############################################
@@ -26,6 +13,9 @@ export GRIB=${GRIB:-pgrb2f}
export EXT=""
export DBN_ALERT_TYPE=${DBN_ALERT_TYPE:-GFS_GEMPAK}
+# For half-degree P Grib files
+export DO_HD_PGRB=${DO_HD_PGRB:-YES}
+
###################################
# Specify NET and RUN Name and model
####################################
@@ -63,54 +53,54 @@ fi
#################################################################
# Execute the script for the 384 hour 1 degree grib
##################################################################
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.1 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.2 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.3 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.4 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.5 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.6 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.1 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.2 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.3 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.4 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.5 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_1p00} &> ${DATA}/gfs_1p0.$$.6 " >> poescript
#################################################################
# Execute the script for the half-degree grib
##################################################################
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.1 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.2 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.3 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.4 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.5 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.6 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.1 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.2 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.3 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.4 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.5 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p50 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p50} &> ${DATA}/gfs_0p5.$$.6 " >> poescript
#################################################################
# Execute the script for the quater-degree grib
####################################################################
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.1 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.2 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.3 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.4 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.5 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.6 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.7 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.8 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.9 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.10 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.1 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.2 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.3 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.4 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.5 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.6 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.7 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.8 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.9 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs_0p25 ${FHMAX_GFS} GFS_GEMPAK ${COM_ATMOS_GEMPAK_0p25}&> ${DATA}/gfs_0p25.$$.10 " >> poescript
####################################################################
# Execute the script to create the 35km Pacific grids for OPC
#####################################################################
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_pac ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_pac} &> ${DATA}/gfs35_pac.$$.1 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_pac ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_pac} &> ${DATA}/gfs35_pac.$$.2 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs35_pac ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_pac} &> ${DATA}/gfs35_pac.$$.1 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs35_pac ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_pac} &> ${DATA}/gfs35_pac.$$.2 " >> poescript
####################################################################
# Execute the script to create the 35km Atlantic grids for OPC
#####################################################################
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_atl ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_atl} &> ${DATA}/gfs35_atl.$$.1 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_atl ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_atl} &> ${DATA}/gfs35_atl.$$.2 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs35_atl ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_atl} &> ${DATA}/gfs35_atl.$$.1 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs35_atl ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_35km_atl} &> ${DATA}/gfs35_atl.$$.2 " >> poescript
#####################################################################
# Execute the script to create the 40km grids for HPC
######################################################################
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs40 ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_40km} &> ${DATA}/gfs40.$$.1 " >> poescript
-echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs40 ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_40km} &> ${DATA}/gfs40.$$.2 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs40 ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_40km} &> ${DATA}/gfs40.$$.1 " >> poescript
+echo "time ${SCRgfs}/exgfs_atmos_nawips.sh gfs40 ${ocean_domain_max} GFS_GEMPAK_WWB ${COM_ATMOS_GEMPAK_40km} &> ${DATA}/gfs40.$$.2 " >> poescript
if [[ ${CFP_MP:-"NO"} == "YES" ]]; then
# Add task number to the MPMD script
diff --git a/jobs/JGFS_ATMOS_GEMPAK_META b/jobs/JGFS_ATMOS_GEMPAK_META
index f3573419c5..eebc137f30 100755
--- a/jobs/JGFS_ATMOS_GEMPAK_META
+++ b/jobs/JGFS_ATMOS_GEMPAK_META
@@ -18,16 +18,7 @@ export MP_LABELIO=yes
export MP_PULSE=0
export MP_DEBUG_NOTIMEOUT=yes
-################################
-# Set up the HOME directory
-################################
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
-export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
-export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
-
-cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl
+cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl
#############################################
#set the fcst hrs for all the cycles
@@ -66,7 +57,7 @@ mkdir -m 775 -p ${COMOUT}
########################################################
# Execute the script.
-${SRCgfs}/exgfs_atmos_gempak_meta.sh
+${SCRgfs}/exgfs_atmos_gempak_meta.sh
export err=$?; err_chk
########################################################
diff --git a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
index aa0acf445e..0f83594e72 100755
--- a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
+++ b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
@@ -8,30 +8,10 @@
source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak_gif" -c "base"
-
-################################
-# Set up the HOME directory
-################################
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
-export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
-export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
-export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
-
-######################################
-# Set up the GEMPAK directory
-#######################################
-export HOMEgempak=${HOMEgempak:-${HOMEgfs}/gempak}
-export USHgempak=${USHgempak:-${HOMEgempak}/ush}
-
export MP_PULSE=0
export MP_TIMEOUT=2000
-
-#
# Set up model and cycle specific variables
-#
export MODEL=GFS
export fend=384
@@ -64,7 +44,7 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-${SRCgfs}/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
+${SCRgfs}/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
export err=$?; err_chk
########################################################
diff --git a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
index 8b17f96a22..d2d4d81f93 100755
--- a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
+++ b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
@@ -6,19 +6,6 @@
source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak_spec" -c "base"
-
-################################
-# Set up the HOME directory
-################################
-export EXECgfs="${EXECgfs:-${HOMEgfs}/exec}"
-export PARMgfs="${PARMgfs:-${HOMEgfs}/parm}"
-export EXPDIR="${EXPDIR:-${HOMEgfs}/parm/config}"
-export USHgempak="${USHgempak:-${HOMEgfs}/gempak/ush}"
-export SRCgfs="${SRCgfs:-${HOMEgfs}/scripts}"
-
-# For half-degree P Grib files
-#export DO_HD_PGRB=YES
-
###################################
# Specify NET and RUN Name and model
####################################
@@ -27,6 +14,9 @@ export finc=3
export model=gfs
export EXT=""
+# For half-degree P Grib files
+#export DO_HD_PGRB=YES
+
##############################################
# Define COM directories
##############################################
@@ -57,7 +47,7 @@ echo "RUNS the Program"
########################################################
# Execute the script.
-"${SRCgfs}/exgfs_atmos_goes_nawips.sh"
+"${SCRgfs}/exgfs_atmos_goes_nawips.sh"
#################################################################
# Execute the script for the 221 grib
@@ -78,7 +68,7 @@ echo "RUNS the Program"
########################################################
# Execute the script.
-"${SRCgfs}/exgfs_atmos_goes_nawips.sh"
+"${SCRgfs}/exgfs_atmos_goes_nawips.sh"
export err=$?; err_chk
########################################################
diff --git a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS
index ecebdffa3e..1c69eecbf1 100755
--- a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS
+++ b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS
@@ -10,16 +10,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "npoess" -c "base"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
-################################
-# Set up the HOME directory
-################################
-export USHgfs=${USHgfs:-${HOMEgfs}/ush}
-export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
-export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
-export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
-export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
-export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
-
###################################
# Specify NET and RUN Name and model
####################################
@@ -38,7 +28,7 @@ mkdir -m 775 -p "${COM_ATMOS_GOES}"
#############################################################
# Execute the script
-"${HOMEgfs}/scripts/exgfs_atmos_grib2_special_npoess.sh"
+"${SCRgfs}/exgfs_atmos_grib2_special_npoess.sh"
export err=$?;err_chk
#############################################################
diff --git a/jobs/JGFS_ATMOS_POSTSND b/jobs/JGFS_ATMOS_POSTSND
index 4e99ef7a46..e6411709fa 100755
--- a/jobs/JGFS_ATMOS_POSTSND
+++ b/jobs/JGFS_ATMOS_POSTSND
@@ -9,7 +9,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "postsnd" -c "base postsnd"
##############################################
export CDUMP=${RUN/enkf}
-
########################################
# Runs GFS BUFR SOUNDINGS
########################################
@@ -18,16 +17,6 @@ export model=${model:-gfs}
export SENDDBN=${SENDDBN:-YES}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-###################################
-# Set up the source directories
-###################################
-
-export HOMEbufrsnd=${HOMEbufrsnd:-${HOMEgfs}}
-export EXECbufrsnd=${EXECbufrsnd:-${HOMEbufrsnd}/exec}
-export PARMbufrsnd=${PARMbufrsnd:-${HOMEbufrsnd}/parm/product}
-export USHbufrsnd=${USHbufrsnd:-${HOMEbufrsnd}/ush}
-export SCRbufrsnd=${SCRbufrsnd:-${HOMEbufrsnd}/scripts}
-
##############################
# Define COM Directories
##############################
@@ -43,7 +32,7 @@ YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_HISTORY COM_ATMOS_BUFR \
########################################################
# Execute the script.
-${SCRbufrsnd}/exgfs_atmos_postsnd.sh
+${SCRgfs}/exgfs_atmos_postsnd.sh
status=$?
[[ ${status} -ne 0 ]] && exit ${status}
diff --git a/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE b/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE
index ff8e2e9569..aaf5792bc2 100755
--- a/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE
+++ b/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE
@@ -31,7 +31,7 @@ mkdir -m 775 -p "${COM_CHEM_ANALYSIS}"
###############################################################
# Run relevant script
-EXSCRIPT=${GDASAEROFINALPY:-${HOMEgfs}/scripts/exglobal_aero_analysis_finalize.py}
+EXSCRIPT=${GDASAEROFINALPY:-${SCRgfs}/exglobal_aero_analysis_finalize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE b/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE
index 79320b77ee..61a99e3137 100755
--- a/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE
+++ b/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE
@@ -30,7 +30,7 @@ mkdir -m 775 -p "${COM_CHEM_ANALYSIS}"
###############################################################
# Run relevant script
-EXSCRIPT=${GDASAEROINITPY:-${HOMEgfs}/scripts/exglobal_aero_analysis_initialize.py}
+EXSCRIPT=${GDASAEROINITPY:-${SCRgfs}/exglobal_aero_analysis_initialize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_AERO_ANALYSIS_RUN b/jobs/JGLOBAL_AERO_ANALYSIS_RUN
index 853909dc03..43749b78c5 100755
--- a/jobs/JGLOBAL_AERO_ANALYSIS_RUN
+++ b/jobs/JGLOBAL_AERO_ANALYSIS_RUN
@@ -16,7 +16,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "aeroanlrun" -c "base aeroanl aeroanlr
###############################################################
# Run relevant script
-EXSCRIPT=${GDASAERORUNSH:-${HOMEgfs}/scripts/exglobal_aero_analysis_run.py}
+EXSCRIPT=${GDASAERORUNSH:-${SCRgfs}/exglobal_aero_analysis_run.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE b/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE
index 37a49e0ae0..5411b2dd8b 100755
--- a/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE
+++ b/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE
@@ -23,7 +23,7 @@ mkdir -m 755 -p "${COM_ATMOS_ANALYSIS_ENS}"
###############################################################
# Run relevant script
-EXSCRIPT=${GDASATMENSFINALPY:-${HOMEgfs}/scripts/exglobal_atmens_analysis_finalize.py}
+EXSCRIPT=${GDASATMENSFINALPY:-${SCRgfs}/exglobal_atmens_analysis_finalize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE b/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE
index c50214aad1..69a1239e61 100755
--- a/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE
+++ b/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE
@@ -25,7 +25,7 @@ RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \
###############################################################
# Run relevant script
-EXSCRIPT=${GDASATMENSINITPY:-${HOMEgfs}/scripts/exglobal_atmens_analysis_initialize.py}
+EXSCRIPT=${GDASATMENSINITPY:-${SCRgfs}/exglobal_atmens_analysis_initialize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN b/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN
index 0d10c76b05..65eeb5e0d8 100755
--- a/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN
+++ b/jobs/JGLOBAL_ATMENS_ANALYSIS_RUN
@@ -16,7 +16,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "atmensanlrun" -c "base atmensanl atme
###############################################################
# Run relevant script
-EXSCRIPT=${GDASATMENSRUNSH:-${HOMEgfs}/scripts/exglobal_atmens_analysis_run.py}
+EXSCRIPT=${GDASATMENSRUNSH:-${SCRgfs}/exglobal_atmens_analysis_run.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATMOS_POST_MANAGER b/jobs/JGLOBAL_ATMOS_POST_MANAGER
index 797d26953b..d836de5d05 100755
--- a/jobs/JGLOBAL_ATMOS_POST_MANAGER
+++ b/jobs/JGLOBAL_ATMOS_POST_MANAGER
@@ -12,14 +12,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "post" -c "base post"
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-####################################
-# Specify Execution Areas
-####################################
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${HOMEgfs:-${HOMEgfs}/exec}
-export PARMgfs=${HOMEgfs:-${HOMEgfs}/parm}
-export USHgfs=${HOMEgfs:-${HOMEgfs}/ush}
-
###########################
# Set up EXT variable
###########################
@@ -29,6 +21,6 @@ YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_HISTORY
########################################################
# Execute the script.
-${HOMEgfs}/scripts/exglobal_atmos_pmgr.sh
+${SCRgfs}/exglobal_atmos_pmgr.sh
########################################################
diff --git a/jobs/JGLOBAL_ATMOS_PRODUCTS b/jobs/JGLOBAL_ATMOS_PRODUCTS
index 24e7edacdd..6fa00618d6 100755
--- a/jobs/JGLOBAL_ATMOS_PRODUCTS
+++ b/jobs/JGLOBAL_ATMOS_PRODUCTS
@@ -22,7 +22,7 @@ export PREFIX="${RUN}.t${cyc}z."
###############################################################
# Run exglobal script
-"${HOMEgfs}/scripts/exglobal_atmos_products.sh"
+"${SCRgfs}/exglobal_atmos_products.sh"
status=$?
(( status != 0 )) && exit "${status}"
diff --git a/jobs/JGLOBAL_ATMOS_UPP b/jobs/JGLOBAL_ATMOS_UPP
index 9364f33225..1a1ecbc2a1 100755
--- a/jobs/JGLOBAL_ATMOS_UPP
+++ b/jobs/JGLOBAL_ATMOS_UPP
@@ -19,7 +19,7 @@ if [[ ! -d ${COM_ATMOS_MASTER} ]]; then mkdir -m 775 -p "${COM_ATMOS_MASTER}"; f
###############################################################
# Run relevant exglobal script
-"${HOMEgfs}/scripts/exglobal_atmos_upp.py"
+"${SCRgfs}/exglobal_atmos_upp.py"
status=$?
(( status != 0 )) && exit "${status}"
diff --git a/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE b/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE
index 52a782d7c4..087eab604a 100755
--- a/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE
+++ b/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE
@@ -33,7 +33,7 @@ mkdir -m 775 -p "${COM_ATMOS_ANALYSIS}"
###############################################################
# Run relevant script
-EXSCRIPT=${GDASATMFINALPY:-${HOMEgfs}/scripts/exglobal_atm_analysis_finalize.py}
+EXSCRIPT=${GDASATMFINALPY:-${SCRgfs}/exglobal_atm_analysis_finalize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE b/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE
index 4ef5e6392d..b7e2eeacc6 100755
--- a/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE
+++ b/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE
@@ -36,7 +36,7 @@ mkdir -m 775 -p "${COM_ATMOS_ANALYSIS}"
###############################################################
# Run relevant script
-EXSCRIPT=${GDASATMINITPY:-${HOMEgfs}/scripts/exglobal_atm_analysis_initialize.py}
+EXSCRIPT=${GDASATMINITPY:-${SCRgfs}/exglobal_atm_analysis_initialize.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATM_ANALYSIS_RUN b/jobs/JGLOBAL_ATM_ANALYSIS_RUN
index bbfdbe4a1f..2105d719de 100755
--- a/jobs/JGLOBAL_ATM_ANALYSIS_RUN
+++ b/jobs/JGLOBAL_ATM_ANALYSIS_RUN
@@ -18,7 +18,7 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "atmanlrun" -c "base atmanl atmanlrun"
###############################################################
# Run relevant script
-EXSCRIPT=${GDASATMRUNSH:-${HOMEgfs}/scripts/exglobal_atm_analysis_run.py}
+EXSCRIPT=${GDASATMRUNSH:-${SCRgfs}/exglobal_atm_analysis_run.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_ATM_PREP_IODA_OBS b/jobs/JGLOBAL_ATM_PREP_IODA_OBS
index ef0e682468..a3b23e859f 100755
--- a/jobs/JGLOBAL_ATM_PREP_IODA_OBS
+++ b/jobs/JGLOBAL_ATM_PREP_IODA_OBS
@@ -17,8 +17,8 @@ YMD=${PDY} HH=${cyc} generate_com -rx COM_OBS
###############################################################
# Run relevant script
-EXSCRIPT=${BUFR2IODASH:-${HOMEgfs}/ush/run_bufr2ioda.py}
-${EXSCRIPT} "${PDY}${cyc}" "${RUN}" "${DMPDIR}" "${IODAPARM}" "${COM_OBS}/"
+EXSCRIPT=${BUFR2IODASH:-${USHgfs}/run_bufr2ioda.py}
+${EXSCRIPT} "${PDY}${cyc}" "${RUN}" "${DMPDIR}" "${PARMgfs}/gdas/ioda/bufr2ioda" "${COM_OBS}/"
status=$?
[[ ${status} -ne 0 ]] && (echo "FATAL ERROR: Error executing ${EXSCRIPT}, ABORT!"; exit "${status}")
diff --git a/jobs/JGLOBAL_CLEANUP b/jobs/JGLOBAL_CLEANUP
index ad938ccf60..2f81003989 100755
--- a/jobs/JGLOBAL_CLEANUP
+++ b/jobs/JGLOBAL_CLEANUP
@@ -3,7 +3,7 @@
source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "cleanup" -c "base cleanup"
-"${HOMEgfs}/scripts/exglobal_cleanup.sh"
+"${SCRgfs}/exglobal_cleanup.sh"
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_OCEANICE_PRODUCTS b/jobs/JGLOBAL_OCEANICE_PRODUCTS
index 1d8c6b42c6..69e5f69448 100755
--- a/jobs/JGLOBAL_OCEANICE_PRODUCTS
+++ b/jobs/JGLOBAL_OCEANICE_PRODUCTS
@@ -15,7 +15,7 @@ YMD="${PDY}" HH="${cyc}" generate_com -rx "COM_${COMPONENT^^}_NETCDF"
###############################################################
# Run exglobal script
-"${HOMEgfs}/scripts/exglobal_oceanice_products.py"
+"${SCRgfs}/exglobal_oceanice_products.py"
status=$?
(( status != 0 )) && exit "${status}"
diff --git a/jobs/JGLOBAL_PREP_OCEAN_OBS b/jobs/JGLOBAL_PREP_OCEAN_OBS
index a6fcf9c9b3..52f202d72a 100755
--- a/jobs/JGLOBAL_PREP_OCEAN_OBS
+++ b/jobs/JGLOBAL_PREP_OCEAN_OBS
@@ -20,7 +20,7 @@ export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASPREPOCNOBSPY:-${HOMEgfs}/ush/exglobal_prep_ocean_obs.py}
+EXSCRIPT=${GDASPREPOCNOBSPY:-${USHgfs}/exglobal_prep_ocean_obs.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_PREP_SNOW_OBS b/jobs/JGLOBAL_PREP_SNOW_OBS
index 22ed977a5e..1fc7e3e5c3 100755
--- a/jobs/JGLOBAL_PREP_SNOW_OBS
+++ b/jobs/JGLOBAL_PREP_SNOW_OBS
@@ -25,7 +25,7 @@ RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \
###############################################################
# Run relevant script
-EXSCRIPT=${GDASSNOWPREPPY:-${HOMEgfs}/scripts/exglobal_prep_snow_obs.py}
+EXSCRIPT=${GDASSNOWPREPPY:-${SCRgfs}/exglobal_prep_snow_obs.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && (echo "FATAL ERROR: Error executing ${EXSCRIPT}, ABORT!"; exit "${status}")
diff --git a/jobs/JGLOBAL_SNOW_ANALYSIS b/jobs/JGLOBAL_SNOW_ANALYSIS
index db1a8a8ba3..50372d1342 100755
--- a/jobs/JGLOBAL_SNOW_ANALYSIS
+++ b/jobs/JGLOBAL_SNOW_ANALYSIS
@@ -28,7 +28,7 @@ mkdir -m 775 -p "${COM_SNOW_ANALYSIS}" "${COM_CONF}"
###############################################################
# Run relevant script
-EXSCRIPT=${SNOWANLPY:-${HOMEgfs}/scripts/exglobal_snow_analysis.py}
+EXSCRIPT=${SNOWANLPY:-${SCRgfs}/exglobal_snow_analysis.py}
${EXSCRIPT}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGLOBAL_STAGE_IC b/jobs/JGLOBAL_STAGE_IC
index 4c94990fde..c460e91c9e 100755
--- a/jobs/JGLOBAL_STAGE_IC
+++ b/jobs/JGLOBAL_STAGE_IC
@@ -10,7 +10,7 @@ rCDUMP=${CDUMP}
export rCDUMP
# Execute the Script
-"${HOMEgfs}/scripts/exglobal_stage_ic.sh"
+"${SCRgfs}/exglobal_stage_ic.sh"
##########################################
# Remove the Temporary working directory
diff --git a/jobs/JGLOBAL_WAVE_GEMPAK b/jobs/JGLOBAL_WAVE_GEMPAK
index 89c389fa11..f02bf3fce9 100755
--- a/jobs/JGLOBAL_WAVE_GEMPAK
+++ b/jobs/JGLOBAL_WAVE_GEMPAK
@@ -19,7 +19,7 @@ if [[ ! -d ${COM_WAVE_GEMPAK} ]]; then mkdir -p "${COM_WAVE_GEMPAK}"; fi
########################################################
# Execute the script.
-${HOMEgfs}/scripts/exgfs_wave_nawips.sh
+${SCRgfs}/exgfs_wave_nawips.sh
status=$?
[[ ${status} -ne 0 ]] && exit ${status}
###################################
diff --git a/jobs/JGLOBAL_WAVE_INIT b/jobs/JGLOBAL_WAVE_INIT
index 7825c33496..02d4009c65 100755
--- a/jobs/JGLOBAL_WAVE_INIT
+++ b/jobs/JGLOBAL_WAVE_INIT
@@ -9,11 +9,6 @@ export errchk=${errchk:-err_chk}
export MP_PULSE=0
-# Path to HOME Directory
-export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
-export USHwave=${USHwave:-${HOMEgfs}/ush}
-export EXECwave=${EXECwave:-${HOMEgfs}/exec}
-
# Set COM Paths
YMD=${PDY} HH=${cyc} generate_com -rx COM_WAVE_PREP
@@ -24,7 +19,7 @@ export wavempexec=${wavempexec:-"mpirun -n"}
export wave_mpmd=${wave_mpmd:-"cfp"}
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_init.sh
+${SCRgfs}/exgfs_wave_init.sh
##########################################
# Remove the Temporary working directory
diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNT b/jobs/JGLOBAL_WAVE_POST_BNDPNT
index 69200fba0b..cdf2ad3728 100755
--- a/jobs/JGLOBAL_WAVE_POST_BNDPNT
+++ b/jobs/JGLOBAL_WAVE_POST_BNDPNT
@@ -8,11 +8,6 @@ export errchk=${errchk:-err_chk}
export MP_PULSE=0
-# Path to HOME Directory
-export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
-export USHwave=${USHwave:-${HOMEgfs}/ush}
-export EXECwave=${EXECwave:-${HOMEgfs}/exec}
-
# Set COM Paths and GETGES environment
YMD=${PDY} HH=${cyc} generate_com -rx COM_WAVE_PREP COM_WAVE_HISTORY COM_WAVE_STATION
@@ -33,7 +28,7 @@ export DOBLL_WAV='NO' # Bulletin post
export DOBNDPNT_WAV='YES' # Do boundary points
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_post_pnt.sh
+${SCRgfs}/exgfs_wave_post_pnt.sh
err=$?
if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GWES_POST failed!"
diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
index 536cadd165..c091d67aca 100755
--- a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
+++ b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
@@ -12,11 +12,6 @@ export CDATE=${PDY}${cyc}
export MP_PULSE=0
-# Path to HOME Directory
-export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
-export USHwave=${USHwave:-${HOMEgfs}/ush}
-export EXECwave=${EXECwave:-${HOMEgfs}/exec}
-
# Set COM Paths and GETGES environment
YMD=${PDY} HH=${cyc} generate_com -rx COM_WAVE_PREP COM_WAVE_HISTORY COM_WAVE_STATION
@@ -37,7 +32,7 @@ export DOBLL_WAV='YES' # Bulletin post
export DOBNDPNT_WAV='YES' #boundary points
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_post_pnt.sh
+${SCRgfs}/exgfs_wave_post_pnt.sh
err=$?
if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GFS_WAVE_POST_PNT failed!"
diff --git a/jobs/JGLOBAL_WAVE_POST_PNT b/jobs/JGLOBAL_WAVE_POST_PNT
index 9ff2f78f63..800a58fbd8 100755
--- a/jobs/JGLOBAL_WAVE_POST_PNT
+++ b/jobs/JGLOBAL_WAVE_POST_PNT
@@ -8,11 +8,6 @@ export errchk=${errchk:-err_chk}
export MP_PULSE=0
-# Path to HOME Directory
-export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
-export USHwave=${USHwave:-${HOMEgfs}/ush}
-export EXECwave=${EXECwave:-${HOMEgfs}/exec}
-
# Set COM Paths and GETGES environment
YMD=${PDY} HH=${cyc} generate_com -rx COM_WAVE_PREP COM_WAVE_HISTORY COM_WAVE_STATION
@@ -34,7 +29,7 @@ export DOBNDPNT_WAV='NO' #not boundary points
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_post_pnt.sh
+${SCRgfs}/exgfs_wave_post_pnt.sh
err=$?
if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GWES_POST failed!"
diff --git a/jobs/JGLOBAL_WAVE_POST_SBS b/jobs/JGLOBAL_WAVE_POST_SBS
index 2a7e5657dc..662b6e4395 100755
--- a/jobs/JGLOBAL_WAVE_POST_SBS
+++ b/jobs/JGLOBAL_WAVE_POST_SBS
@@ -8,11 +8,6 @@ export errchk=${errchk:-err_chk}
export MP_PULSE=0
-# Path to HOME Directory
-export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
-export USHwave=${USHwave:-${HOMEgfs}/ush}
-export EXECwave=${EXECwave:-${HOMEgfs}/exec}
-
# Set COM Paths and GETGES environment
YMD=${PDY} HH=${cyc} generate_com -rx COM_WAVE_PREP COM_WAVE_HISTORY COM_WAVE_GRID
@@ -31,7 +26,7 @@ export WAV_MOD_TAG=${RUN}wave${waveMEMB}
export CFP_VERBOSE=1
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_post_gridded_sbs.sh
+${SCRgfs}/exgfs_wave_post_gridded_sbs.sh
err=$?
if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GWES_POST failed!"
diff --git a/jobs/JGLOBAL_WAVE_PRDGEN_BULLS b/jobs/JGLOBAL_WAVE_PRDGEN_BULLS
index 3a2947af56..5e3756e276 100755
--- a/jobs/JGLOBAL_WAVE_PRDGEN_BULLS
+++ b/jobs/JGLOBAL_WAVE_PRDGEN_BULLS
@@ -20,7 +20,7 @@ if [[ ! -d ${COM_WAVE_WMO} ]]; then mkdir -p "${COM_WAVE_WMO}"; fi
###################################
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_prdgen_bulls.sh
+${SCRgfs}/exgfs_wave_prdgen_bulls.sh
status=$?
[[ ${status} -ne 0 ]] && exit ${status}
diff --git a/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED b/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED
index 4b32c709bf..d2cfd363d2 100755
--- a/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED
+++ b/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED
@@ -22,7 +22,7 @@ mkdir -p "${COM_WAVE_WMO}"
###################################
# Execute the Script
###################################
-${HOMEgfs}/scripts/exgfs_wave_prdgen_gridded.sh
+${SCRgfs}/exgfs_wave_prdgen_gridded.sh
status=$?
[[ ${status} -ne 0 ]] && exit ${status}
diff --git a/jobs/JGLOBAL_WAVE_PREP b/jobs/JGLOBAL_WAVE_PREP
index 479f9b8641..9fbc4b601b 100755
--- a/jobs/JGLOBAL_WAVE_PREP
+++ b/jobs/JGLOBAL_WAVE_PREP
@@ -16,18 +16,13 @@ export MP_PULSE=0
# CDO required for processing RTOFS currents
export CDO=${CDO_ROOT}/bin/cdo
-# Path to HOME Directory
-export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
-export USHwave=${USHwave:-${HOMEgfs}/ush}
-export EXECwave=${EXECwave:-${HOMEgfs}/exec}
-
# Set COM Paths and GETGES environment
YMD=${PDY} HH=${cyc} generate_com -rx COM_OBS COM_WAVE_PREP
generate_com -rx COM_RTOFS
[[ ! -d ${COM_WAVE_PREP} ]] && mkdir -m 775 -p "${COM_WAVE_PREP}"
# Execute the Script
-${HOMEgfs}/scripts/exgfs_wave_prep.sh
+${SCRgfs}/exgfs_wave_prep.sh
##########################################
# Remove the Temporary working directory
diff --git a/jobs/rocoto/awips_20km_1p0deg.sh b/jobs/rocoto/awips_20km_1p0deg.sh
index e1bf623883..b2a291e37e 100755
--- a/jobs/rocoto/awips_20km_1p0deg.sh
+++ b/jobs/rocoto/awips_20km_1p0deg.sh
@@ -45,7 +45,7 @@ for fhr3 in ${fhrlst}; do
if (( fhr >= fhmin && fhr <= fhmax )); then
if ((fhr % 3 == 0)); then
export fcsthrs="${fhr3}"
- "${AWIPS20KM1P0DEGSH}"
+ "${HOMEgfs}/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG"
fi
fi
@@ -54,7 +54,7 @@ for fhr3 in ${fhrlst}; do
if (( fhr >= fhmin && fhr <= fhmax )); then
if ((fhr % 6 == 0)); then
export fcsthrs="${fhr3}"
- "${AWIPS20KM1P0DEGSH}"
+ "${HOMEgfs}/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG"
fi
fi
done
diff --git a/jobs/rocoto/awips_g2.sh b/jobs/rocoto/awips_g2.sh
index ed5a10c164..6bb004048d 100755
--- a/jobs/rocoto/awips_g2.sh
+++ b/jobs/rocoto/awips_g2.sh
@@ -45,7 +45,7 @@ for fhr3 in ${fhrlst}; do
if (( fhr >= fhmin && fhr <= fhmax )); then
if ((fhr % 6 == 0)); then
export fcsthrs="${fhr3}"
- "${AWIPSG2SH}"
+ "${HOMEgfs}/jobs/JGFS_ATMOS_AWIPS_G2"
fi
fi
done
diff --git a/jobs/rocoto/ocnanalecen.sh b/jobs/rocoto/ocnanalecen.sh
new file mode 100755
index 0000000000..c5fdbbbf32
--- /dev/null
+++ b/jobs/rocoto/ocnanalecen.sh
@@ -0,0 +1,23 @@
+#! /usr/bin/env bash
+
+source "${HOMEgfs}/ush/preamble.sh"
+
+###############################################################
+# Source UFSDA workflow modules
+. "${HOMEgfs}/ush/load_ufsda_modules.sh"
+status=$?
+[[ ${status} -ne 0 ]] && exit "${status}"
+
+export job="ocnanalecen"
+export jobid="${job}.$$"
+
+###############################################################
+# Setup Python path for GDASApp ush
+PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${HOMEgfs}/sorc/gdas.cd/ush"
+export PYTHONPATH
+
+###############################################################
+# Execute the JJOB
+"${HOMEgfs}"/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN
+status=$?
+exit "${status}"
diff --git a/modulefiles/module_base.hercules.lua b/modulefiles/module_base.hercules.lua
index 5534437392..77a77f5505 100644
--- a/modulefiles/module_base.hercules.lua
+++ b/modulefiles/module_base.hercules.lua
@@ -9,7 +9,6 @@ load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None")))
load(pathJoin("stack-intel-oneapi-mpi", (os.getenv("stack_impi_ver") or "None")))
load(pathJoin("intel-oneapi-mkl", (os.getenv("intel_mkl_ver") or "None")))
load(pathJoin("python", (os.getenv("python_ver") or "None")))
-load(pathJoin("perl", (os.getenv("perl_ver") or "None")))
load(pathJoin("jasper", (os.getenv("jasper_ver") or "None")))
load(pathJoin("libpng", (os.getenv("libpng_ver") or "None")))
diff --git a/parm/config/gefs/config.atmos_products b/parm/config/gefs/config.atmos_products
index 6ba38318c7..4a0fb8b49f 100644
--- a/parm/config/gefs/config.atmos_products
+++ b/parm/config/gefs/config.atmos_products
@@ -12,17 +12,17 @@ echo "BEGIN: config.atmos_products"
export NFHRS_PER_GROUP=3
# Scripts used by this job
-export INTERP_ATMOS_MASTERSH="${HOMEgfs}/ush/interp_atmos_master.sh"
-export INTERP_ATMOS_SFLUXSH="${HOMEgfs}/ush/interp_atmos_sflux.sh"
+export INTERP_ATMOS_MASTERSH="${USHgfs}/interp_atmos_master.sh"
+export INTERP_ATMOS_SFLUXSH="${USHgfs}/interp_atmos_sflux.sh"
export downset=2
export FHOUT_PGBS=${FHOUT_GFS:-3} # Output frequency of supplemental gfs pgb file at 1.0 and 0.5 deg
export FLXGF="NO" # Create interpolated sflux.1p00 file
# paramlist files for the different forecast hours and downsets
-export paramlista="${HOMEgfs}/parm/product/gefs.0p25.fFFF.paramlist.a.txt"
-export paramlista_anl="${HOMEgfs}/parm/product/gefs.0p25.anl.paramlist.a.txt"
-export paramlista_f000="${HOMEgfs}/parm/product/gefs.0p25.f000.paramlist.a.txt"
-export paramlistb="${HOMEgfs}/parm/product/gefs.0p25.fFFF.paramlist.b.txt"
+export paramlista="${PARMgfs}/product/gefs.0p25.fFFF.paramlist.a.txt"
+export paramlista_anl="${PARMgfs}/product/gefs.0p25.anl.paramlist.a.txt"
+export paramlista_f000="${PARMgfs}/product/gefs.0p25.f000.paramlist.a.txt"
+export paramlistb="${PARMgfs}/product/gefs.0p25.fFFF.paramlist.b.txt"
echo "END: config.atmos_products"
diff --git a/parm/config/gefs/config.base.emc.dyn b/parm/config/gefs/config.base
similarity index 97%
rename from parm/config/gefs/config.base.emc.dyn
rename to parm/config/gefs/config.base
index 11b8a45a9f..483366b7b4 100644
--- a/parm/config/gefs/config.base.emc.dyn
+++ b/parm/config/gefs/config.base
@@ -23,12 +23,11 @@ export HPSS_PROJECT="@HPSS_PROJECT@"
# 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 FIXgfs=${HOMEgfs}/fix
+export PARMgfs=${HOMEgfs}/parm
export SCRgfs=${HOMEgfs}/scripts
+export USHgfs=${HOMEgfs}/ush
########################################################################
@@ -111,6 +110,7 @@ export RUN="gefs" # RUN is defined in the job-card (ecf); CDUMP is used at EMC
# Get all the COM path templates
source "${EXPDIR}/config.com"
+# shellcheck disable=SC2016
export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
export LOGSCRIPT=${LOGSCRIPT:-""}
#export ERRSCRIPT=${ERRSCRIPT:-"err_chk"}
@@ -211,7 +211,7 @@ export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4:
export FHMIN_GFS=0
export FHMIN=${FHMIN_GFS}
export FHMAX_GFS=@FHMAX_GFS@
-export FHOUT_GFS=6
+export FHOUT_GFS=6
export FHMAX_HF_GFS=0
export FHOUT_HF_GFS=1
export FHOUT_OCNICE_GFS=6
@@ -260,6 +260,10 @@ export NMEM_ENS=@NMEM_ENS@
export ENSMEM=${ENSMEM:-"000"}
export MEMDIR="mem${ENSMEM}"
+# initialize ocean ensemble members with perturbations
+# if true, only occurs for members greater than zero
+export OCN_ENS_PERTURB_FILES=false
+
export DOIAU="NO" # While we are not doing IAU, we may want to warm start w/ IAU in the future
# Check if cycle is cold starting
if [[ "${EXP_WARM_START}" = ".false." ]]; then
diff --git a/parm/config/gefs/config.fcst b/parm/config/gefs/config.fcst
index 74a84e1173..8c3de84357 100644
--- a/parm/config/gefs/config.fcst
+++ b/parm/config/gefs/config.fcst
@@ -44,9 +44,8 @@ export esmf_logkind="ESMF_LOGKIND_MULTI_ON_ERROR" #Options: ESMF_LOGKIND_MULTI_O
#######################################################################
-export FORECASTSH="${HOMEgfs}/scripts/exglobal_forecast.sh"
-#export FORECASTSH="${HOMEgfs}/scripts/exglobal_forecast.py" # Temp. while this is worked on
-export FCSTEXECDIR="${HOMEgfs}/exec"
+export FORECASTSH="${SCRgfs}/exglobal_forecast.sh"
+#export FORECASTSH="${SCRgfs}/exglobal_forecast.py" # Temp. while this is worked on
export FCSTEXEC="ufs_model.x"
#######################################################################
@@ -163,17 +162,17 @@ export random_clds=".true."
case ${imp_physics} in
99) # ZhaoCarr
export ncld=1
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_zhaocarr${tbf}${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_zhaocarr${tbf}${tbp}"
export nwat=2
;;
6) # WSM6
export ncld=2
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_wsm6${tbf}${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_wsm6${tbf}${tbp}"
export nwat=6
;;
8) # Thompson
export ncld=2
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_thompson_noaero_tke${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_thompson_noaero_tke${tbp}"
export nwat=6
export cal_pre=".false."
@@ -196,7 +195,7 @@ case ${imp_physics} in
;;
11) # GFDL
export ncld=5
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_gfdl${tbf}${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_gfdl${tbf}${tbp}"
export nwat=6
export dnats=1
export cal_pre=".false."
@@ -239,7 +238,7 @@ export FSICS="0"
#---------------------------------------------------------------------
# Write more variables to output
-export DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table"
+export DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table"
# Write gfs restart files to rerun fcst from any break point
export restart_interval=${restart_interval_gfs:-12}
diff --git a/parm/config/gefs/config.stage_ic b/parm/config/gefs/config.stage_ic
index e2bb0af2b8..b332ee1826 100644
--- a/parm/config/gefs/config.stage_ic
+++ b/parm/config/gefs/config.stage_ic
@@ -8,6 +8,12 @@ echo "BEGIN: config.stage_ic"
source "${EXPDIR}/config.resources" stage_ic
case "${CASE}" in
+ "C384")
+ export CPL_ATMIC=""
+ export CPL_ICEIC=""
+ export CPL_OCNIC=""
+ export CPL_WAVIC=""
+ ;;
"C48")
export CPL_ATMIC="gefs_test"
export CPL_ICEIC="gefs_test"
diff --git a/parm/config/gefs/config.ufs b/parm/config/gefs/config.ufs
index 866de52964..17d21573e4 100644
--- a/parm/config/gefs/config.ufs
+++ b/parm/config/gefs/config.ufs
@@ -435,25 +435,25 @@ fi
# Default ufs.configure templates for supported model configurations
case "${model_list}" in
atm)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.atm.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.atm.IN"
;;
atm.aero)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.atmaero.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.atmaero.IN"
;;
atm.wave)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.leapfrog_atm_wav.IN"
;;
atm.ocean.ice)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2s_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2s_esmf.IN"
;;
atm.ocean.ice.aero)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sa_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2sa_esmf.IN"
;;
atm.ocean.ice.wave)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sw_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2sw_esmf.IN"
;;
atm.ocean.ice.wave.aero)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2swa_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2swa_esmf.IN"
;;
*)
echo "FATAL ERROR: Unsupported UFSWM configuration for ${model_list}"
diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave
index 5f4448985c..7298b12aec 100644
--- a/parm/config/gefs/config.wave
+++ b/parm/config/gefs/config.wave
@@ -6,11 +6,6 @@
echo "BEGIN: config.wave"
# Parameters that are common to all wave model steps
-
-export EXECwave="${HOMEgfs}/exec"
-export PARMwave="${HOMEgfs}/parm/wave"
-export USHwave="${HOMEgfs}/ush"
-
# This config contains variables/parameters used in the fcst step
# Some others are also used across the workflow in wave component scripts
diff --git a/parm/config/gfs/config.aero b/parm/config/gfs/config.aero
index 32993554b4..c152fafd12 100644
--- a/parm/config/gfs/config.aero
+++ b/parm/config/gfs/config.aero
@@ -30,12 +30,12 @@ case ${machine} in
esac
export AERO_INPUTS_DIR
-export AERO_DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table.aero"
-export AERO_FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table.aero"
+export AERO_DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table.aero"
+export AERO_FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table.aero"
# Biomass burning emission dataset. Choose from: gbbepx, qfed, none
export AERO_EMIS_FIRE="qfed"
# Directory containing GOCART configuration files
-export AERO_CONFIG_DIR="${HOMEgfs}/parm/ufs/gocart"
+export AERO_CONFIG_DIR="${PARMgfs}/ufs/gocart"
# Aerosol convective scavenging factors (list of string array elements)
# Element syntax: ':'. Use = * to set default factor for all aerosol tracers
diff --git a/parm/config/gfs/config.aeroanl b/parm/config/gfs/config.aeroanl
index 8d8aa92c16..cf7981f807 100644
--- a/parm/config/gfs/config.aeroanl
+++ b/parm/config/gfs/config.aeroanl
@@ -16,7 +16,7 @@ export BERROR_DATE="20160630.000000"
export io_layout_x=@IO_LAYOUT_X@
export io_layout_y=@IO_LAYOUT_Y@
-export JEDIEXE=${HOMEgfs}/exec/fv3jedi_var.x
+export JEDIEXE=${EXECgfs}/fv3jedi_var.x
if [[ "${DOIAU}" == "YES" ]]; then
export aero_bkg_times="3,6,9"
diff --git a/parm/config/gfs/config.atmanl b/parm/config/gfs/config.atmanl
index e344b0a662..fd4bdc23d7 100644
--- a/parm/config/gfs/config.atmanl
+++ b/parm/config/gfs/config.atmanl
@@ -19,6 +19,6 @@ export layout_y_atmanl=@LAYOUT_Y_ATMANL@
export io_layout_x=@IO_LAYOUT_X@
export io_layout_y=@IO_LAYOUT_Y@
-export JEDIEXE=${HOMEgfs}/exec/fv3jedi_var.x
+export JEDIEXE=${EXECgfs}/fv3jedi_var.x
echo "END: config.atmanl"
diff --git a/parm/config/gfs/config.atmensanl b/parm/config/gfs/config.atmensanl
index 7a3a632bf8..8058ffeda8 100644
--- a/parm/config/gfs/config.atmensanl
+++ b/parm/config/gfs/config.atmensanl
@@ -16,6 +16,6 @@ export layout_y_atmensanl=@LAYOUT_Y_ATMENSANL@
export io_layout_x=@IO_LAYOUT_X@
export io_layout_y=@IO_LAYOUT_Y@
-export JEDIEXE=${HOMEgfs}/exec/fv3jedi_letkf.x
+export JEDIEXE=${EXECgfs}/fv3jedi_letkf.x
echo "END: config.atmensanl"
diff --git a/parm/config/gfs/config.atmos_products b/parm/config/gfs/config.atmos_products
index aefb1e7014..451f5eff86 100644
--- a/parm/config/gfs/config.atmos_products
+++ b/parm/config/gfs/config.atmos_products
@@ -12,8 +12,8 @@ echo "BEGIN: config.atmos_products"
export NFHRS_PER_GROUP=3
# Scripts used by this job
-export INTERP_ATMOS_MASTERSH="${HOMEgfs}/ush/interp_atmos_master.sh"
-export INTERP_ATMOS_SFLUXSH="${HOMEgfs}/ush/interp_atmos_sflux.sh"
+export INTERP_ATMOS_MASTERSH="${USHgfs}/interp_atmos_master.sh"
+export INTERP_ATMOS_SFLUXSH="${USHgfs}/interp_atmos_sflux.sh"
if [[ "${RUN:-}" == "gdas" ]]; then
export downset=1
@@ -32,9 +32,9 @@ fi
export APCP_MSG="597" # Message number for APCP in GFSv16. Look for TODO in exglobal_atmos_products.sh
# paramlist files for the different forecast hours and downsets
-export paramlista="${HOMEgfs}/parm/product/gfs.fFFF.paramlist.a.txt"
-export paramlista_anl="${HOMEgfs}/parm/product/gfs.anl.paramlist.a.txt"
-export paramlista_f000="${HOMEgfs}/parm/product/gfs.f000.paramlist.a.txt"
-export paramlistb="${HOMEgfs}/parm/product/gfs.fFFF.paramlist.b.txt"
+export paramlista="${PARMgfs}/product/gfs.fFFF.paramlist.a.txt"
+export paramlista_anl="${PARMgfs}/product/gfs.anl.paramlist.a.txt"
+export paramlista_f000="${PARMgfs}/product/gfs.f000.paramlist.a.txt"
+export paramlistb="${PARMgfs}/product/gfs.fFFF.paramlist.b.txt"
echo "END: config.atmos_products"
diff --git a/parm/config/gfs/config.awips b/parm/config/gfs/config.awips
index 3b78d4bb4b..61f0dc5652 100644
--- a/parm/config/gfs/config.awips
+++ b/parm/config/gfs/config.awips
@@ -8,9 +8,6 @@ echo "BEGIN: config.awips"
# Get task specific resources
. "${EXPDIR}/config.resources" awips
-export AWIPS20KM1P0DEGSH="${HOMEgfs}/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG"
-export AWIPSG2SH="${HOMEgfs}/jobs/JGFS_ATMOS_AWIPS_G2"
-
# No. of concurrent awips jobs
export NAWIPSGRP=42
diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base
similarity index 95%
rename from parm/config/gfs/config.base.emc.dyn
rename to parm/config/gfs/config.base
index 991bbbecde..62f50ef724 100644
--- a/parm/config/gfs/config.base.emc.dyn
+++ b/parm/config/gfs/config.base
@@ -23,12 +23,11 @@ export HPSS_PROJECT="@HPSS_PROJECT@"
# 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 FIXgfs="${HOMEgfs}/fix"
+export PARMgfs="${HOMEgfs}/parm"
export SCRgfs="${HOMEgfs}/scripts"
+export USHgfs="${HOMEgfs}/ush"
########################################################################
@@ -57,16 +56,9 @@ export DO_NPOESS="NO" # NPOESS products
export DO_TRACKER="YES" # Hurricane track verification
export DO_GENESIS="YES" # Cyclone genesis verification
export DO_GENESIS_FSU="NO" # Cyclone genesis verification (FSU)
-# The monitor is not yet supported on Hercules
-if [[ "${machine}" == "HERCULES" ]]; then
- export DO_VERFOZN="NO" # Ozone data assimilation monitoring
- export DO_VERFRAD="NO" # Radiance data assimilation monitoring
- export DO_VMINMON="NO" # GSI minimization monitoring
-else
- export DO_VERFOZN="YES" # Ozone data assimilation monitoring
- export DO_VERFRAD="YES" # Radiance data assimilation monitoring
- export DO_VMINMON="YES" # GSI minimization monitoring
-fi
+export DO_VERFOZN="YES" # Ozone data assimilation monitoring
+export DO_VERFRAD="YES" # Radiance data assimilation monitoring
+export DO_VMINMON="YES" # GSI minimization monitoring
export DO_MOS="NO" # GFS Model Output Statistics - Only supported on WCOSS2
# NO for retrospective parallel; YES for real-time parallel
@@ -133,6 +125,7 @@ export RUN=${RUN:-${CDUMP:-"gfs"}} # RUN is defined in the job-card (ecf); CDUM
# Get all the COM path templates
source "${EXPDIR}/config.com"
+# shellcheck disable=SC2016
export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
export LOGSCRIPT=${LOGSCRIPT:-""}
#export ERRSCRIPT=${ERRSCRIPT:-"err_chk"}
@@ -248,7 +241,7 @@ export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4:
# GFS output and frequency
export FHMIN_GFS=0
export FHMAX_GFS=@FHMAX_GFS@
-export FHOUT_GFS=3
+export FHOUT_GFS=3
export FHMAX_HF_GFS=0
export FHOUT_HF_GFS=1
export FHOUT_OCNICE_GFS=6
@@ -370,7 +363,7 @@ export binary_diag=".false."
# Verification options
export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp
export DO_FIT2OBS="YES" # Run fit to observations package
-export DO_VRFY_OCEANDA="NO" # Run SOCA Ocean DA verification tasks
+export DO_VRFY_OCEANDA="@DO_VRFY_OCEANDA@" # Run SOCA Ocean and Seaice DA verification tasks
# Archiving options
export HPSSARCH="@HPSSARCH@" # save data to HPSS archive
diff --git a/parm/config/gfs/config.efcs b/parm/config/gfs/config.efcs
index 7a48feb4ce..effd443730 100644
--- a/parm/config/gfs/config.efcs
+++ b/parm/config/gfs/config.efcs
@@ -67,9 +67,9 @@ export SPPT_LOGIT=".true."
export SPPT_SFCLIMIT=".true."
if [[ "${QUILTING}" == ".true." ]] && [[ "${OUTPUT_GRID}" == "gaussian_grid" ]]; then
- export DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table_da"
+ export DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table_da"
else
- export DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table_da_orig"
+ export DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table_da_orig"
fi
# Model config option for Ensemble
diff --git a/parm/config/gfs/config.fcst b/parm/config/gfs/config.fcst
index c03c97e56f..461f1c5b18 100644
--- a/parm/config/gfs/config.fcst
+++ b/parm/config/gfs/config.fcst
@@ -56,9 +56,8 @@ export esmf_logkind="ESMF_LOGKIND_MULTI_ON_ERROR" #Options: ESMF_LOGKIND_MULTI_O
#######################################################################
-export FORECASTSH="${HOMEgfs}/scripts/exglobal_forecast.sh"
-#export FORECASTSH="${HOMEgfs}/scripts/exglobal_forecast.py" # Temp. while this is worked on
-export FCSTEXECDIR="${HOMEgfs}/exec"
+export FORECASTSH="${SCRgfs}/exglobal_forecast.sh"
+#export FORECASTSH="${SCRgfs}/exglobal_forecast.py" # Temp. while this is worked on
export FCSTEXEC="ufs_model.x"
#######################################################################
@@ -175,17 +174,17 @@ export random_clds=".true."
case ${imp_physics} in
99) # ZhaoCarr
export ncld=1
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_zhaocarr${tbf}${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_zhaocarr${tbf}${tbp}"
export nwat=2
;;
6) # WSM6
export ncld=2
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_wsm6${tbf}${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_wsm6${tbf}${tbp}"
export nwat=6
;;
8) # Thompson
export ncld=2
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_thompson_noaero_tke${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_thompson_noaero_tke${tbp}"
export nwat=6
export cal_pre=".false."
@@ -208,7 +207,7 @@ case ${imp_physics} in
;;
11) # GFDL
export ncld=5
- export FIELD_TABLE="${HOMEgfs}/parm/ufs/fv3/field_table_gfdl${tbf}${tbp}"
+ export FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table_gfdl${tbf}${tbp}"
export nwat=6
export dnats=1
export cal_pre=".false."
@@ -253,7 +252,7 @@ export FSICS="0"
if [[ "${CDUMP}" =~ "gdas" ]] ; then # GDAS cycle specific parameters
# Variables used in DA cycling
- export DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table_da"
+ export DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table_da"
if [[ "${DOIAU}" == "YES" ]]; then
export restart_interval="3"
@@ -267,7 +266,7 @@ if [[ "${CDUMP}" =~ "gdas" ]] ; then # GDAS cycle specific parameters
elif [[ "${CDUMP}" =~ "gfs" ]] ; then # GFS cycle specific parameters
# Write more variables to output
- export DIAG_TABLE="${HOMEgfs}/parm/ufs/fv3/diag_table"
+ export DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table"
# Write gfs restart files to rerun fcst from any break point
export restart_interval=${restart_interval_gfs:-12}
diff --git a/parm/config/gfs/config.fit2obs b/parm/config/gfs/config.fit2obs
index 46baaa9e45..9b3fb87ead 100644
--- a/parm/config/gfs/config.fit2obs
+++ b/parm/config/gfs/config.fit2obs
@@ -8,8 +8,8 @@ echo "BEGIN: config.fit2obs"
# Get task specific resources
. "${EXPDIR}/config.resources" fit2obs
-export PRVT=${HOMEgfs}/fix/gsi/prepobs_errtable.global
-export HYBLEVS=${HOMEgfs}/fix/am/global_hyblev.l${LEVS}.txt
+export PRVT=${FIXgfs}/gsi/prepobs_errtable.global
+export HYBLEVS=${FIXgfs}/am/global_hyblev.l${LEVS}.txt
export VBACKUP_FITS=24
export OUTPUT_FILETYPE="netcdf"
diff --git a/parm/config/gfs/config.oceanice_products b/parm/config/gfs/config.oceanice_products
index bea70c21cc..9e5c5b1c68 100644
--- a/parm/config/gfs/config.oceanice_products
+++ b/parm/config/gfs/config.oceanice_products
@@ -7,7 +7,7 @@ echo "BEGIN: config.oceanice_products"
# Get task specific resources
source "${EXPDIR}/config.resources" oceanice_products
-export OCEANICEPRODUCTS_CONFIG="${HOMEgfs}/parm/post/oceanice_products.yaml"
+export OCEANICEPRODUCTS_CONFIG="${PARMgfs}/post/oceanice_products.yaml"
# No. of forecast hours to process in a single job
export NFHRS_PER_GROUP=3
diff --git a/parm/config/gfs/config.ocnanalecen b/parm/config/gfs/config.ocnanalecen
new file mode 100644
index 0000000000..b64c2bcf62
--- /dev/null
+++ b/parm/config/gfs/config.ocnanalecen
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+########## config.ocnanalecen ##########
+# Ocn Analysis specific
+
+echo "BEGIN: config.ocnanalecen"
+
+# Get task specific resources
+. "${EXPDIR}/config.resources" ocnanalecen
+
+echo "END: config.ocnanalecen"
diff --git a/parm/config/gfs/config.postsnd b/parm/config/gfs/config.postsnd
index 53d66bf4f6..7ec0ad6321 100644
--- a/parm/config/gfs/config.postsnd
+++ b/parm/config/gfs/config.postsnd
@@ -8,7 +8,6 @@ echo "BEGIN: config.postsnd"
# Get task specific resources
. $EXPDIR/config.resources postsnd
-export POSTSNDSH=$HOMEgfs/jobs/JGFS_ATMOS_POSTSND
export ENDHOUR=180
if [[ "$FHMAX_GFS" -lt "$ENDHOUR" ]] ; then export ENDHOUR=$FHMAX_GFS ; fi
diff --git a/parm/config/gfs/config.prep b/parm/config/gfs/config.prep
index 9733eabc19..6009280db0 100644
--- a/parm/config/gfs/config.prep
+++ b/parm/config/gfs/config.prep
@@ -13,15 +13,11 @@ export cdate10=${PDY}${cyc}
# Relocation and syndata QC
export PROCESS_TROPCY=${PROCESS_TROPCY:-NO}
-export TROPCYQCRELOSH="$HOMEgfs/scripts/exglobal_atmos_tropcy_qc_reloc.sh"
+export TROPCYQCRELOSH="${SCRgfs}/exglobal_atmos_tropcy_qc_reloc.sh"
export COMINtcvital=${COMINtcvital:-${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos}
export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat}
-export HOMERELO=$HOMEgfs
-export EXECRELO=${HOMERELO}/exec
-export USHRELO=${HOMERELO}/ush
-
# Adjust observation error for GFS v16 parallels
#
# NOTE: Remember to set OBERROR in config.anal as PRVT is set below
diff --git a/parm/config/gfs/config.prepatmiodaobs b/parm/config/gfs/config.prepatmiodaobs
index ed9b246120..e29cf67b07 100644
--- a/parm/config/gfs/config.prepatmiodaobs
+++ b/parm/config/gfs/config.prepatmiodaobs
@@ -8,7 +8,4 @@ echo "BEGIN: config.prepatmiodaobs"
# Get task specific resources
. "${EXPDIR}/config.resources" prepatmiodaobs
-export BUFR2IODASH="${HOMEgfs}/ush/run_bufr2ioda.py"
-export IODAPARM="${HOMEgfs}/sorc/gdas.cd/parm/ioda/bufr2ioda"
-
echo "END: config.prepatmiodaobs"
diff --git a/parm/config/gfs/config.prepsnowobs b/parm/config/gfs/config.prepsnowobs
index 64eb8ba896..60ca16ce9e 100644
--- a/parm/config/gfs/config.prepsnowobs
+++ b/parm/config/gfs/config.prepsnowobs
@@ -8,11 +8,14 @@ echo "BEGIN: config.prepsnowobs"
# Get task specific resources
. "${EXPDIR}/config.resources" prepsnowobs
-export GTS_OBS_LIST="${HOMEgfs}/sorc/gdas.cd/parm/snow/prep/prep_gts.yaml"
-export BUFR2IODAX="${HOMEgfs}/exec/bufr2ioda.x"
-export FIMS_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/snow/prep/fims.nml.j2"
-export IMS_OBS_LIST="${HOMEgfs}/sorc/gdas.cd/parm/snow/prep/prep_ims.yaml"
-export CALCFIMSEXE="${HOMEgfs}/exec/calcfIMS.exe"
-export IMS2IODACONV="${HOMEgfs}/ush/imsfv3_scf2ioda.py"
+export GTS_OBS_LIST="${PARMgfs}/gdas/snow/prep/prep_gts.yaml.j2"
+export IMS_OBS_LIST="${PARMgfs}/gdas/snow/prep/prep_ims.yaml.j2"
+
+export BUFR2IODAX="${EXECgfs}/bufr2ioda.x"
+
+export CALCFIMSEXE="${EXECgfs}/calcfIMS.exe"
+export FIMS_NML_TMPL="${PARMgfs}/gdas/snow/prep/fims.nml.j2"
+
+export IMS2IODACONV="${USHgfs}/imsfv3_scf2ioda.py"
echo "END: config.prepsnowobs"
diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources
index 7e1f66cb04..21f0a111ef 100644
--- a/parm/config/gfs/config.resources
+++ b/parm/config/gfs/config.resources
@@ -23,7 +23,7 @@ if (( $# != 1 )); then
echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostbndpntbll wavepostpnt"
echo "wavegempak waveawipsbulls waveawipsgridded"
echo "postsnd awips gempak npoess"
- echo "ocnanalprep prepoceanobs ocnanalbmat ocnanalrun ocnanalchkpt ocnanalpost ocnanalvrfy"
+ echo "ocnanalprep prepoceanobs ocnanalbmat ocnanalrun ocnanalecen ocnanalchkpt ocnanalpost ocnanalvrfy"
exit 1
fi
@@ -356,12 +356,12 @@ case ${step} in
"ocnanalbmat")
npes=16
- case ${CASE} in
- "C384") npes=480;;
- "C96") npes=16;;
- "C48") npes=16;;
+ case ${OCNRES} in
+ "025") npes=480;;
+ "050") npes=16;;
+ "500") npes=16;;
*)
- echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}"
+ echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}"
exit 4
esac
@@ -374,20 +374,21 @@ case ${step} in
"ocnanalrun")
npes=16
- case ${CASE} in
- "C384")
+ case ${OCNRES} in
+ "025")
npes=480
- memory_ocnanalrun="128GB"
+ memory_ocnanalrun="96GB"
;;
- "C96")
+ "050")
npes=16
+ memory_ocnanalrun="96GB"
;;
- "C48")
+ "500")
npes=16
- memory_ocnanalrun="64GB"
+ memory_ocnanalrun="24GB"
;;
*)
- echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}"
+ echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}"
exit 4
esac
@@ -399,23 +400,51 @@ case ${step} in
export memory_ocnanalrun
;;
+ "ocnanalecen")
+ npes=16
+ case ${OCNRES} in
+ "025")
+ npes=40
+ memory_ocnanalecen="96GB"
+ ;;
+ "050")
+ npes=16
+ memory_ocnanalecen="96GB"
+ ;;
+ "500")
+ npes=16
+ memory_ocnanalecen="24GB"
+ ;;
+ *)
+ echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}"
+ exit 4
+ esac
+
+ export wtime_ocnanalecen="00:10:00"
+ export npe_ocnanalecen=${npes}
+ export nth_ocnanalecen=1
+ export is_exclusive=True
+ export npe_node_ocnanalecen=$(( npe_node_max / nth_ocnanalecen ))
+ export memory_ocnanalecen
+ ;;
+
"ocnanalchkpt")
export wtime_ocnanalchkpt="00:10:00"
export npe_ocnanalchkpt=1
export nth_ocnanalchkpt=1
export npe_node_ocnanalchkpt=$(( npe_node_max / nth_ocnanalchkpt ))
- case ${CASE} in
- "C384")
+ case ${OCNRES} in
+ "025")
memory_ocnanalchkpt="128GB"
npes=40;;
- "C96")
+ "050")
memory_ocnanalchkpt="32GB"
npes=16;;
- "C48")
+ "500")
memory_ocnanalchkpt="32GB"
npes=8;;
*)
- echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${CASE}"
+ echo "FATAL ERROR: Resources not defined for job ${job} at resolution ${OCNRES}"
exit 4
esac
export npe_ocnanalchkpt=${npes}
diff --git a/parm/config/gfs/config.snowanl b/parm/config/gfs/config.snowanl
index 3303ce402b..30e6d9c07b 100644
--- a/parm/config/gfs/config.snowanl
+++ b/parm/config/gfs/config.snowanl
@@ -6,27 +6,21 @@
echo "BEGIN: config.snowanl"
# Get task specific resources
-. "${EXPDIR}/config.resources" snowanl
+source "${EXPDIR}/config.resources" snowanl
-obs_list_name=gdas_snow_gts_only.yaml
-if [[ "${cyc}" = "18" ]]; then
- obs_list_name=gdas_snow_prototype.yaml
-fi
-
-export OBS_YAML_DIR=${HOMEgfs}/sorc/gdas.cd/parm/snow/obs/config/
-export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/snow/obs/lists/${obs_list_name}
+export OBS_LIST="${PARMgfs}/gdas/snow/obs/lists/gdas_snow.yaml.j2"
# Name of the JEDI executable and its yaml template
-export JEDIEXE="${HOMEgfs}/exec/fv3jedi_letkf.x"
-export JEDIYAML="${HOMEgfs}/sorc/gdas.cd/parm/snow/letkfoi/letkfoi.yaml"
+export JEDIEXE="${EXECgfs}/fv3jedi_letkf.x"
+export JEDIYAML="${PARMgfs}/gdas/snow/letkfoi/letkfoi.yaml.j2"
# Ensemble member properties
export SNOWDEPTHVAR="snodl"
export BESTDDEV="30." # Background Error Std. Dev. for LETKFOI
# Name of the executable that applies increment to bkg and its namelist template
-export APPLY_INCR_EXE="${HOMEgfs}/exec/apply_incr.exe"
-export APPLY_INCR_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/snow/letkfoi/apply_incr_nml.j2"
+export APPLY_INCR_EXE="${EXECgfs}/apply_incr.exe"
+export APPLY_INCR_NML_TMPL="${PARMgfs}/gdas/snow/letkfoi/apply_incr_nml.j2"
export io_layout_x=@IO_LAYOUT_X@
export io_layout_y=@IO_LAYOUT_Y@
diff --git a/parm/config/gfs/config.ufs b/parm/config/gfs/config.ufs
index 2e299fddf7..68a8941122 100644
--- a/parm/config/gfs/config.ufs
+++ b/parm/config/gfs/config.ufs
@@ -443,25 +443,25 @@ fi
# Default ufs.configure templates for supported model configurations
case "${model_list}" in
atm)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.atm.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.atm.IN"
;;
atm.aero)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.atmaero.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.atmaero.IN"
;;
atm.wave)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.leapfrog_atm_wav.IN"
;;
atm.ocean.ice)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2s_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2s_esmf.IN"
;;
atm.ocean.ice.aero)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sa_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2sa_esmf.IN"
;;
atm.ocean.ice.wave)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2sw_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2sw_esmf.IN"
;;
atm.ocean.ice.wave.aero)
- default_template="${HOMEgfs}/parm/ufs/ufs.configure.s2swa_esmf.IN"
+ default_template="${PARMgfs}/ufs/ufs.configure.s2swa_esmf.IN"
;;
*)
echo "FATAL ERROR: Unsupported UFSWM configuration for ${model_list}"
diff --git a/parm/config/gfs/config.upp b/parm/config/gfs/config.upp
index a1bd0a7d34..41015c2fee 100644
--- a/parm/config/gfs/config.upp
+++ b/parm/config/gfs/config.upp
@@ -8,7 +8,7 @@ echo "BEGIN: config.upp"
# Get task specific resources
. "${EXPDIR}/config.resources" upp
-export UPP_CONFIG="${HOMEgfs}/parm/post/upp.yaml"
+export UPP_CONFIG="${PARMgfs}/post/upp.yaml"
# No. of forecast hours to process in a single job
export NFHRS_PER_GROUP=3
diff --git a/parm/config/gfs/config.verfozn b/parm/config/gfs/config.verfozn
index 9eea0f25a3..df7d18012d 100644
--- a/parm/config/gfs/config.verfozn
+++ b/parm/config/gfs/config.verfozn
@@ -9,15 +9,14 @@ echo "BEGIN: config.verfozn"
export DO_DATA_RPT=1
export OZN_AREA="glb"
export OZNMON_SUFFIX=${NET}
-export PARMmonitor=${PARMgfs}/monitor
-export SATYPE_FILE=${PARMmonitor}/gdas_oznmon_satype.txt
+export SATYPE_FILE=${PARMgfs}/monitor/gdas_oznmon_satype.txt
# Source the parm file
-. "${PARMmonitor}/gdas_oznmon.parm"
+. "${PARMgfs}/monitor/gdas_oznmon.parm"
# Set up validation file
if [[ ${VALIDATE_DATA} -eq 1 ]]; then
- export ozn_val_file=${PARMmonitor}/gdas_oznmon_base.tar
+ export ozn_val_file=${PARMgfs}/monitor/gdas_oznmon_base.tar
fi
echo "END: config.verfozn"
diff --git a/parm/config/gfs/config.verfrad b/parm/config/gfs/config.verfrad
index dd65020180..506ce50b4f 100644
--- a/parm/config/gfs/config.verfrad
+++ b/parm/config/gfs/config.verfrad
@@ -6,11 +6,10 @@ echo "BEGIN: config.verfrad"
# Get task specific resources
. "${EXPDIR}/config.resources" verfrad
-export PARMmonitor=${PARMgfs}/monitor
-export satype_file=${PARMmonitor}/gdas_radmon_satype.txt
+export satype_file=${PARMgfs}/monitor/gdas_radmon_satype.txt
# Source the parm file
-. "${PARMmonitor}/da_mon.parm"
+. "${PARMgfs}/monitor/da_mon.parm"
# Other variables
export RAD_AREA="glb"
diff --git a/parm/config/gfs/config.vminmon b/parm/config/gfs/config.vminmon
index 8929c36e0e..7c7d362161 100644
--- a/parm/config/gfs/config.vminmon
+++ b/parm/config/gfs/config.vminmon
@@ -9,8 +9,7 @@ echo "BEGIN: config.vminmon"
export MINMON_SUFFIX=${MINMON_SUFFIX:-${NET}}
export CYCLE_INTERVAL=${assim_freq:-6}
-export PARMmonitor=${PARMgfs}/monitor
-export mm_gnormfile=${PARMmonitor}/${RUN}_minmon_gnorm.txt
-export mm_costfile=${PARMmonitor}/${RUN}_minmon_cost.txt
+export mm_gnormfile=${PARMgfs}/monitor/${RUN}_minmon_gnorm.txt
+export mm_costfile=${PARMgfs}/monitor/${RUN}_minmon_cost.txt
echo "END: config.vminmon"
diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave
index 8068ffcda6..6fbce69996 100644
--- a/parm/config/gfs/config.wave
+++ b/parm/config/gfs/config.wave
@@ -6,11 +6,6 @@
echo "BEGIN: config.wave"
# Parameters that are common to all wave model steps
-
-export EXECwave="${HOMEgfs}/exec"
-export PARMwave="${HOMEgfs}/parm/wave"
-export USHwave="${HOMEgfs}/ush"
-
# This config contains variables/parameters used in the fcst step
# Some others are also used across the workflow in wave component scripts
diff --git a/parm/config/gfs/yaml/defaults.yaml b/parm/config/gfs/yaml/defaults.yaml
index e6108fff29..9c90255cdd 100644
--- a/parm/config/gfs/yaml/defaults.yaml
+++ b/parm/config/gfs/yaml/defaults.yaml
@@ -7,6 +7,7 @@ base:
DO_MERGENSST: "NO"
DO_GOES: "NO"
FHMAX_GFS: 120
+ DO_VRFY_OCEANDA: "NO"
atmanl:
LAYOUT_X_ATMANL: 8
diff --git a/parm/config/gfs/yaml/test_ci.yaml b/parm/config/gfs/yaml/test_ci.yaml
index bb9602be59..7425d4d029 100644
--- a/parm/config/gfs/yaml/test_ci.yaml
+++ b/parm/config/gfs/yaml/test_ci.yaml
@@ -1,4 +1,4 @@
defaults:
- !INC {{ HOMEgfs }}/parm/config/gfs/yaml/defaults.yaml
+ !INC {{ PARMgfs }}/config/gfs/yaml/defaults.yaml
base:
ACCOUNT: "nems"
diff --git a/parm/gdas/atm_jedi_fix.yaml b/parm/gdas/atm_jedi_fix.yaml
index 3d1ca79f33..527d16e6bd 100644
--- a/parm/gdas/atm_jedi_fix.yaml
+++ b/parm/gdas/atm_jedi_fix.yaml
@@ -1,7 +1,7 @@
mkdir:
- $(DATA)/fv3jedi
copy:
-- [$(HOMEgfs)/fix/gdas/fv3jedi/fv3files/akbk$(npz).nc4, $(DATA)/fv3jedi/akbk.nc4]
-- [$(HOMEgfs)/fix/gdas/fv3jedi/fv3files/fmsmpp.nml, $(DATA)/fv3jedi/fmsmpp.nml]
-- [$(HOMEgfs)/fix/gdas/fv3jedi/fv3files/field_table_gfdl, $(DATA)/fv3jedi/field_table]
+- [$(FIXgfs)/gdas/fv3jedi/fv3files/akbk$(npz).nc4, $(DATA)/fv3jedi/akbk.nc4]
+- [$(FIXgfs)/gdas/fv3jedi/fv3files/fmsmpp.nml, $(DATA)/fv3jedi/fmsmpp.nml]
+- [$(FIXgfs)/gdas/fv3jedi/fv3files/field_table_gfdl, $(DATA)/fv3jedi/field_table]
- [$(HOMEgfs)/sorc/gdas.cd/parm/io/fv3jedi_fieldmetadata_restart.yaml, $(DATA)/fv3jedi/fv3jedi_fieldmetadata_restart.yaml]
diff --git a/parm/gdas/snow_jedi_fix.yaml b/parm/gdas/snow_jedi_fix.yaml
deleted file mode 100644
index 3d1ca79f33..0000000000
--- a/parm/gdas/snow_jedi_fix.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-mkdir:
-- $(DATA)/fv3jedi
-copy:
-- [$(HOMEgfs)/fix/gdas/fv3jedi/fv3files/akbk$(npz).nc4, $(DATA)/fv3jedi/akbk.nc4]
-- [$(HOMEgfs)/fix/gdas/fv3jedi/fv3files/fmsmpp.nml, $(DATA)/fv3jedi/fmsmpp.nml]
-- [$(HOMEgfs)/fix/gdas/fv3jedi/fv3files/field_table_gfdl, $(DATA)/fv3jedi/field_table]
-- [$(HOMEgfs)/sorc/gdas.cd/parm/io/fv3jedi_fieldmetadata_restart.yaml, $(DATA)/fv3jedi/fv3jedi_fieldmetadata_restart.yaml]
diff --git a/parm/gdas/snow_jedi_fix.yaml.j2 b/parm/gdas/snow_jedi_fix.yaml.j2
new file mode 100644
index 0000000000..4d820a82ba
--- /dev/null
+++ b/parm/gdas/snow_jedi_fix.yaml.j2
@@ -0,0 +1,7 @@
+mkdir:
+- '{{ DATA }}/fv3jedi'
+copy:
+- ['{{ HOMEgfs }}/fix/gdas/fv3jedi/fv3files/akbk{{ npz }}.nc4', '{{ DATA }}/fv3jedi/akbk.nc4']
+- ['{{ HOMEgfs }}/fix/gdas/fv3jedi/fv3files/fmsmpp.nml', '{{ DATA }}/fv3jedi/fmsmpp.nml']
+- ['{{ HOMEgfs }}/fix/gdas/fv3jedi/fv3files/field_table_gfdl', '{{ DATA }}/fv3jedi/field_table']
+- ['{{ HOMEgfs }}/sorc/gdas.cd/parm/io/fv3jedi_fieldmetadata_restart.yaml', '{{ DATA }}/fv3jedi/fv3jedi_fieldmetadata_restart.yaml']
diff --git a/parm/post/oceanice_products.yaml b/parm/post/oceanice_products.yaml
index 44b4094c56..8d8bcd4b51 100644
--- a/parm/post/oceanice_products.yaml
+++ b/parm/post/oceanice_products.yaml
@@ -6,20 +6,20 @@ ocnicepost:
mkdir:
- "{{ DATA }}"
copy:
- - ["{{ HOMEgfs }}/exec/ocnicepost.x", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/parm/post/ocnicepost.nml.jinja2", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/parm/post/{{ component }}.csv", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/fix/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Bu.to.Ct.bilinear.nc", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/fix/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Cu.to.Ct.bilinear.nc", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/fix/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Cv.to.Ct.bilinear.nc", "{{ DATA }}/"]
+ - ["{{ EXECgfs }}/ocnicepost.x", "{{ DATA }}/"]
+ - ["{{ PARMgfs }}/post/ocnicepost.nml.jinja2", "{{ DATA }}/"]
+ - ["{{ PARMgfs }}/post/{{ component }}.csv", "{{ DATA }}/"]
+ - ["{{ FIXgfs }}/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Bu.to.Ct.bilinear.nc", "{{ DATA }}/"]
+ - ["{{ FIXgfs }}/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Cu.to.Ct.bilinear.nc", "{{ DATA }}/"]
+ - ["{{ FIXgfs }}/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Cv.to.Ct.bilinear.nc", "{{ DATA }}/"]
{% for grid in product_grids %}
- - ["{{ HOMEgfs }}/fix/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Ct.to.rect.{{ grid }}.bilinear.nc", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/fix/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Ct.to.rect.{{ grid }}.conserve.nc", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/fix/mom6/post/template.global.{{ grid }}.gb2", "{{ DATA }}/"]
+ - ["{{ FIXgfs }}/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Ct.to.rect.{{ grid }}.bilinear.nc", "{{ DATA }}/"]
+ - ["{{ FIXgfs }}/mom6/post/{{ model_grid }}/tripole.{{ model_grid }}.Ct.to.rect.{{ grid }}.conserve.nc", "{{ DATA }}/"]
+ - ["{{ FIXgfs }}/mom6/post/template.global.{{ grid }}.gb2", "{{ DATA }}/"]
{% endfor %}
nc2grib2:
- script: "{{ HOMEgfs }}/ush/oceanice_nc2grib2.sh"
+ script: "{{ USHgfs }}/oceanice_nc2grib2.sh"
ocean:
namelist:
diff --git a/parm/post/upp.yaml b/parm/post/upp.yaml
index ea7237dc83..c2f0315d86 100644
--- a/parm/post/upp.yaml
+++ b/parm/post/upp.yaml
@@ -9,16 +9,16 @@ upp:
- "{{ DATA }}"
copy:
- ["{{ 'g2tmpl_ROOT' | getenv }}/share/params_grib2_tbl_new", "{{ DATA }}/params_grib2_tbl_new"]
- - ["{{ HOMEgfs }}/parm/post/nam_micro_lookup.dat", "{{ DATA }}/eta_micro_lookup.dat"]
- - ["{{ HOMEgfs }}/exec/upp.x", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/parm/post/itag.jinja", "{{ DATA }}/"]
+ - ["{{ PARMgfs }}/post/nam_micro_lookup.dat", "{{ DATA }}/eta_micro_lookup.dat"]
+ - ["{{ EXECgfs }}/upp.x", "{{ DATA }}/"]
+ - ["{{ PARMgfs }}/post/itag.jinja", "{{ DATA }}/"]
analysis:
config:
rdaod: True
data_in:
copy:
- - ["{{ HOMEgfs }}/parm/post/postxconfig-NT-GFS-ANL.txt", "{{ DATA }}/postxconfig-NT.txt"]
+ - ["{{ PARMgfs }}/post/postxconfig-NT-GFS-ANL.txt", "{{ DATA }}/postxconfig-NT.txt"]
- ["{{ COM_ATMOS_ANALYSIS }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.atmanl.nc", "{{ DATA }}/{{ atmos_filename }}"]
- ["{{ COM_ATMOS_ANALYSIS }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.sfcanl.nc", "{{ DATA }}/{{ flux_filename }}"]
data_out:
@@ -32,9 +32,9 @@ forecast:
data_in:
copy:
{% if forecast_hour == 0 %}
- - ["{{ HOMEgfs }}/parm/post/postxconfig-NT-GFS-F00-TWO.txt", "{{ DATA }}/postxconfig-NT.txt"]
+ - ["{{ PARMgfs }}/post/postxconfig-NT-GFS-F00-TWO.txt", "{{ DATA }}/postxconfig-NT.txt"]
{% else %}
- - ["{{ HOMEgfs }}/parm/post/postxconfig-NT-GFS-TWO.txt", "{{ DATA }}/postxconfig-NT.txt"]
+ - ["{{ PARMgfs }}/post/postxconfig-NT-GFS-TWO.txt", "{{ DATA }}/postxconfig-NT.txt"]
{% endif %}
- ["{{ COM_ATMOS_HISTORY }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.atmf{{ '%03d' % forecast_hour }}.nc", "{{ DATA }}/{{ atmos_filename }}"]
- ["{{ COM_ATMOS_HISTORY }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.sfcf{{ '%03d' % forecast_hour }}.nc", "{{ DATA }}/{{ flux_filename }}"]
@@ -81,7 +81,7 @@ goes:
{% endfor %}
- ["{{ 'CRTM_FIX' | getenv }}/AerosolCoeff.bin", "{{ DATA }}/"]
- ["{{ 'CRTM_FIX' | getenv }}/CloudCoeff.bin", "{{ DATA }}/"]
- - ["{{ HOMEgfs }}/parm/post/postxconfig-NT-GFS-GOES.txt", "{{ DATA }}/postxconfig-NT.txt"]
+ - ["{{ PARMgfs }}/post/postxconfig-NT-GFS-GOES.txt", "{{ DATA }}/postxconfig-NT.txt"]
- ["{{ COM_ATMOS_HISTORY }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.atmf{{ '%03d' % forecast_hour }}.nc", "{{ DATA }}/{{ atmos_filename }}"]
- ["{{ COM_ATMOS_HISTORY }}/{{ RUN }}.t{{ current_cycle | strftime('%H') }}z.sfcf{{ '%03d' % forecast_hour }}.nc", "{{ DATA }}/{{ flux_filename }}"]
data_out:
diff --git a/parm/product/bufr_ij9km.txt b/parm/product/bufr_ij9km.txt
new file mode 100644
index 0000000000..321026f3d1
--- /dev/null
+++ b/parm/product/bufr_ij9km.txt
@@ -0,0 +1,2115 @@
+ 1 2814 261 69.58 -140.18
+ 2 2958 257 69.90 -128.97
+ 3 3063 261 69.58 -120.75
+ 4 2919 320 65.00 -132.00
+ 5 3072 320 65.00 -120.00
+ 6 3297 319 65.10 -102.43
+ 7 2816 384 60.00 -140.00
+ 8 3072 384 60.00 -120.00
+ 9 3328 384 60.00 -100.00
+ 10 2983 422 57.00 -127.00
+ 11 2708 253 70.20 -148.47
+ 12 3249 465 53.63 -106.20
+ 13 2588 293 67.10 -157.85
+ 14 3263 461 53.99 -105.12
+ 15 3097 475 52.88 -118.07
+ 16 3239 352 62.50 -107.00
+ 17 3200 590 43.90 -110.00
+ 18 3361 566 45.80 -97.45
+ 19 3385 595 43.50 -95.60
+ 20 3421 727 33.22 -92.80
+ 21 3395 614 42.04 -94.79
+ 22 3419 613 42.11 -92.92
+ 23 3506 715 34.10 -86.10
+ 24 3523 701 35.20 -84.80
+ 25 3533 706 34.80 -84.05
+ 26 3572 682 36.72 -80.97
+ 27 3158 533 48.32 -113.35
+ 28 3236 612 42.20 -107.20
+ 29 3272 605 42.76 -104.45
+ 30 3298 610 42.30 -102.40
+ 31 3330 607 42.60 -99.90
+ 32 3249 651 39.10 -106.20
+ 33 3471 674 37.30 -88.90
+ 34 3423 637 40.20 -92.60
+ 35 3353 705 34.90 -98.10
+ 36 3263 533 48.31 -105.10
+ 37 3458 714 34.25 -89.87
+ 38 3261 638 40.13 -105.24
+ 39 3368 672 37.48 -96.93
+ 40 3530 692 35.96 -84.29
+ 41 3323 603 42.86 -100.41
+ 42 3401 627 41.02 -94.36
+ 43 3613 614 42.04 -77.76
+ 44 3591 651 39.17 -79.52
+ 45 3464 746 31.71 -89.41
+ 46 3579 577 44.92 -80.42
+ 47 3283 572 45.27 -103.54
+ 48 3268 579 44.79 -104.73
+ 49 3279 583 44.46 -103.85
+ 50 3268 597 43.35 -104.69
+ 51 3282 595 43.53 -103.65
+ 52 3381 569 45.50 -95.90
+ 53 3412 587 44.10 -93.50
+ 54 3112 700 35.34 -116.88
+ 55 3487 712 34.40 -87.60
+ 56 3058 544 47.50 -121.10
+ 57 3038 582 44.50 -122.70
+ 58 3136 589 44.00 -115.00
+ 59 3056 552 46.90 -121.30
+ 60 3066 587 44.10 -120.50
+ 61 3055 605 42.70 -121.40
+ 62 3191 737 32.42 -110.73
+ 63 3361 683 36.61 -97.49
+ 64 3056 567 45.68 -121.27
+ 65 3053 567 45.72 -121.56
+ 66 3062 567 45.68 -120.82
+ 67 3070 567 45.72 -120.21
+ 68 3050 665 38.06 -121.77
+ 69 3043 677 37.10 -122.28
+ 70 3041 668 37.82 -122.47
+ 71 3040 666 37.94 -122.50
+ 72 3058 677 37.07 -121.12
+ 73 3158 637 40.20 -113.30
+ 74 3662 635 40.42 -73.98
+ 75 3651 676 37.20 -74.80
+ 76 3658 690 36.05 -74.25
+ 77 3620 732 32.80 -77.20
+ 78 3664 658 38.60 -73.75
+ 79 3492 778 29.20 -87.25
+ 80 3515 559 46.31 -85.46
+ 81 3494 549 47.18 -87.22
+ 82 3475 602 42.97 -88.55
+ 83 3680 577 44.94 -72.51
+ 84 3558 675 37.27 -82.10
+ 85 3558 675 90.00 0.00
+ 86 2604 201 74.30 -156.60
+ 87 2816 192 75.00 -140.00
+ 88 2390 376 60.60 -173.30
+ 89 2538 385 59.90 -161.75
+ 90 2691 347 62.88 -149.83
+ 91 2703 374 60.79 -148.83
+ 92 2691 378 60.49 -149.79
+ 93 2700 372 60.95 -149.14
+ 94 2705 374 60.78 -148.72
+ 95 3146 778 29.22 -114.28
+ 96 3563 689 36.20 -81.65
+ 97 3483 607 42.59 -87.94
+ 98 3100 607 42.59 -117.87
+ 99 3042 549 47.08 -122.36
+ 100 3020 551 46.91 -124.11
+ 101 3445 542 47.66 -90.91
+ 102 3440 553 46.77 -91.25
+ 103 2554 444 55.31 -160.52
+ 104 3615 700 35.33 -77.60
+ 105 3679 582 44.53 -72.61
+ 106 3582 619 41.63 -80.21
+ 107 3576 657 38.69 -80.65
+ 108 3102 709 34.57 -117.67
+ 109 3103 709 34.63 -117.61
+ 110 3506 563 45.97 -86.17
+ 111 3499 558 46.42 -86.65
+ 112 3461 651 39.16 -89.67
+ 113 3308 588 44.05 -101.60
+ 114 3505 594 43.58 -86.24
+ 115 3517 596 43.43 -85.30
+ 116 3528 597 43.37 -84.44
+ 117 3274 712 34.38 -104.23
+ 118 3994 554 46.70 -48.00
+ 119 3903 548 47.20 -55.10
+ 120 3506 605 42.75 -86.10
+ 121 3504 609 42.41 -86.28
+ 122 3108 571 45.35 -117.23
+ 123 3388 620 41.59 -95.34
+ 124 3484 591 43.78 -87.85
+ 125 3292 756 30.90 -102.85
+ 126 3434 721 33.64 -91.75
+ 127 3427 688 36.22 -92.28
+ 128 3284 750 31.38 -103.51
+ 129 3566 814 26.42 -81.44
+ 130 3572 810 26.75 -80.94
+ 131 3337 753 31.18 -99.32
+ 132 3320 760 30.59 -100.65
+ 133 3060 652 39.08 -120.94
+ 134 3072 672 37.51 -120.04
+ 135 3069 671 37.58 -120.27
+ 136 3081 680 36.83 -119.33
+ 137 3056 693 35.85 -121.31
+ 138 3049 546 47.31 -121.85
+ 139 3057 659 38.49 -121.22
+ 140 3062 651 39.13 -120.80
+ 141 3041 631 40.72 -122.43
+ 142 3656 633 40.50 -74.45
+ 143 3705 602 42.99 -70.62
+ 144 3667 569 45.50 -73.57
+ 145 3676 626 41.10 -72.89
+ 146 3048 644 39.69 -121.91
+ 147 3058 651 39.17 -121.11
+ 148 3076 696 35.62 -119.69
+ 149 3056 695 35.66 -121.28
+ 150 3031 658 38.61 -123.21
+ 151 3031 659 38.51 -123.22
+ 152 3034 656 38.78 -122.99
+ 153 3069 677 37.11 -120.24
+ 154 3046 640 39.99 -122.06
+ 155 3033 653 39.00 -123.12
+ 156 3035 659 38.51 -122.96
+ 157 3249 723 33.50 -106.18
+ 158 3243 719 33.82 -106.65
+ 159 3180 632 40.58 -111.63
+ 160 3546 591 43.78 -82.99
+ 161 2791 409 58.00 -142.00
+ 162 2778 461 54.00 -143.00
+ 163 2855 435 56.00 -137.00
+ 164 2624 448 55.00 -155.00
+ 165 2829 473 53.00 -139.00
+ 166 2722 498 51.10 -147.40
+ 167 2535 486 52.00 -162.00
+ 168 2641 518 49.50 -153.70
+ 169 2448 522 49.20 -168.80
+ 170 2880 512 50.00 -135.00
+ 171 2957 659 38.50 -129.00
+ 172 2996 717 34.00 -126.00
+ 173 3034 774 29.50 -123.00
+ 174 3072 832 25.00 -120.00
+ 175 3136 832 25.00 -115.00
+ 176 2806 585 44.30 -140.80
+ 177 2764 541 47.70 -144.10
+ 178 2855 673 37.40 -137.00
+ 179 2842 550 47.00 -138.00
+ 180 2874 594 43.60 -135.50
+ 181 2902 644 39.70 -133.30
+ 182 2951 531 48.50 -129.50
+ 183 2976 581 44.60 -127.50
+ 184 2799 505 50.50 -141.38
+ 185 2983 633 40.50 -126.98
+ 186 2176 448 55.00 170.00
+ 187 2304 448 55.00 180.00
+ 188 2240 384 60.00 175.00
+ 189 3203 604 42.80 -109.81
+ 190 3045 651 39.15 -122.15
+ 191 3051 629 40.88 -121.66
+ 192 3068 666 37.99 -120.38
+ 193 3091 669 37.74 -118.59
+ 194 3084 689 36.20 -119.10
+ 195 3091 691 35.97 -118.54
+ 196 3086 706 34.83 -118.95
+ 197 3068 689 36.14 -120.35
+ 198 3092 683 36.65 -118.48
+ 199 3670 608 42.47 -73.29
+ 200 3556 650 39.21 -82.23
+ 201 3182 634 40.48 -111.43
+ 202 3146 729 33.02 -114.24
+ 203 3197 749 31.49 -110.30
+ 204 3228 742 32.02 -107.87
+ 205 3273 762 30.43 -104.33
+ 206 3325 789 28.39 -100.29
+ 207 3344 812 26.57 -98.82
+ 208 3380 784 28.71 -95.96
+ 209 3435 770 29.81 -91.66
+ 210 3565 836 24.70 -81.51
+ 211 3750 922 17.98 -67.08
+ 212 3051 561 46.19 -121.70
+ 213 3043 559 46.28 -122.28
+ 214 3048 571 45.35 -121.94
+ 215 3046 587 44.17 -122.06
+ 216 3340 575 45.03 -99.11
+ 217 3367 570 45.46 -96.99
+ 218 3390 662 38.28 -95.22
+ 219 3372 642 39.86 -96.63
+ 220 3242 584 44.38 -106.72
+ 221 3225 582 44.52 -108.08
+ 222 3453 575 45.10 -90.30
+ 223 3427 583 44.46 -92.29
+ 224 3238 675 37.29 -107.06
+ 225 3219 663 38.23 -108.56
+ 226 3228 639 40.05 -107.89
+ 227 3437 619 41.64 -91.54
+ 228 3258 652 39.05 -105.51
+ 229 3247 639 40.05 -106.36
+ 230 3487 656 38.76 -87.61
+ 231 3475 652 39.07 -88.53
+ 232 3451 628 40.94 -90.43
+ 233 3453 643 39.77 -90.24
+ 234 3479 647 39.48 -88.28
+ 235 3331 596 43.39 -99.84
+ 236 3296 601 43.02 -102.52
+ 237 3273 590 43.89 -104.32
+ 238 3294 582 44.56 -102.66
+ 239 3255 592 43.74 -105.74
+ 240 3467 561 46.15 -89.21
+ 241 3490 556 46.54 -87.39
+ 242 3508 554 46.68 -85.97
+ 243 3470 555 46.61 -88.91
+ 244 3495 794 28.00 -87.00
+ 245 3409 791 28.20 -93.70
+ 246 3427 787 28.50 -92.30
+ 247 3444 795 27.90 -91.00
+ 248 3469 794 28.00 -89.00
+ 249 3520 794 28.00 -85.00
+ 250 3597 755 31.00 -79.00
+ 251 3776 537 48.00 -65.00
+ 252 3182 649 39.30 -111.46
+ 253 3269 682 36.74 -104.65
+ 254 3623 678 36.99 -77.00
+ 255 3624 667 37.86 -76.89
+ 256 3635 659 38.54 -76.03
+ 257 3613 681 36.77 -77.79
+ 258 3727 591 43.78 -68.86
+ 259 3584 660 38.40 -80.00
+ 260 3104 703 35.10 -117.56
+ 261 3285 597 43.37 -103.39
+ 262 3284 583 44.41 -103.48
+ 263 3478 612 42.21 -88.32
+ 264 3481 634 40.46 -88.10
+ 265 3586 732 32.78 -79.92
+ 266 3585 734 32.66 -79.93
+ 267 3573 742 32.03 -80.89
+ 268 3105 538 47.97 -117.43
+ 269 3570 688 36.22 -81.10
+ 270 3549 608 42.47 -82.76
+ 271 3537 591 43.80 -83.72
+ 272 3549 588 44.02 -82.79
+ 273 3493 618 41.69 -87.15
+ 274 3481 619 41.61 -88.10
+ 275 3577 685 36.46 -80.55
+ 276 3162 676 37.20 -112.99
+ 277 3184 662 38.29 -111.26
+ 278 3174 656 38.74 -112.10
+ 279 3088 676 37.20 -118.80
+ 280 3287 542 47.61 -103.26
+ 281 3367 668 37.80 -97.01
+ 282 3401 709 34.60 -94.30
+ 283 3390 667 37.90 -95.20
+ 284 3309 659 38.50 -101.50
+ 285 3262 673 37.40 -105.20
+ 286 3261 691 36.00 -105.30
+ 287 3307 714 34.20 -101.70
+ 288 3337 722 33.60 -99.30
+ 289 3362 721 33.70 -97.40
+ 290 3427 677 37.10 -92.30
+ 291 3239 627 41.00 -107.00
+ 292 3147 560 46.25 -114.15
+ 293 3168 550 47.00 -112.50
+ 294 3149 525 49.00 -114.00
+ 295 3226 518 49.50 -108.00
+ 296 3277 525 49.00 -104.00
+ 297 3341 544 47.50 -99.00
+ 298 3360 561 46.20 -97.50
+ 299 3392 563 46.00 -95.00
+ 300 3531 630 40.80 -84.20
+ 301 3584 665 38.00 -80.00
+ 302 3552 710 34.50 -82.50
+ 303 3354 618 41.73 -98.01
+ 304 3388 620 41.58 -95.34
+ 305 3367 611 42.24 -96.98
+ 306 3344 669 37.70 -98.75
+ 307 3349 528 48.75 -98.39
+ 308 3368 528 48.75 -96.94
+ 309 3376 583 44.46 -96.25
+ 310 3390 599 43.17 -95.21
+ 311 3336 599 43.22 -99.40
+ 312 3344 598 43.26 -98.76
+ 313 3359 628 40.90 -97.62
+ 314 3331 630 40.79 -99.78
+ 315 3359 638 40.15 -97.58
+ 316 3337 643 39.73 -99.32
+ 317 3452 681 36.77 -90.32
+ 318 3490 674 37.36 -87.40
+ 319 3513 652 39.05 -85.61
+ 320 3551 669 37.75 -82.64
+ 321 3537 683 36.61 -83.74
+ 322 3522 680 36.86 -84.86
+ 323 3534 665 38.06 -83.98
+ 324 3306 626 41.12 -101.77
+ 325 3321 615 41.96 -100.57
+ 326 3204 594 43.55 -109.69
+ 327 3188 605 42.71 -110.94
+ 328 3193 617 41.82 -110.56
+ 329 3216 578 44.87 -108.79
+ 330 3220 577 44.91 -108.45
+ 331 3244 592 43.71 -106.63
+ 332 3459 595 43.52 -89.77
+ 333 3476 592 43.77 -88.49
+ 334 3453 603 42.89 -90.24
+ 335 3479 601 43.04 -88.24
+ 336 3465 588 44.04 -89.31
+ 337 3467 623 41.35 -89.15
+ 338 3497 618 41.70 -86.82
+ 339 3484 626 41.07 -87.85
+ 340 3468 616 41.89 -89.08
+ 341 3434 570 45.42 -91.77
+ 342 3399 575 45.10 -94.51
+ 343 3376 579 44.73 -96.27
+ 344 3300 639 40.10 -102.24
+ 345 3293 656 38.76 -102.79
+ 346 3495 572 45.29 -86.98
+ 347 3459 584 44.36 -89.84
+ 348 3659 640 39.99 -74.17
+ 349 3509 669 37.70 -85.87
+ 350 3353 670 37.67 -98.12
+ 351 3354 675 37.28 -98.04
+ 352 3383 662 38.30 -95.72
+ 353 3376 667 37.85 -96.29
+ 354 3351 656 38.75 -98.23
+ 355 3663 646 39.55 -73.90
+ 356 3692 644 39.70 -71.60
+ 357 3385 677 37.09 -95.57
+ 358 3358 661 38.35 -97.69
+ 359 3337 674 37.35 -99.35
+ 360 3343 700 35.30 -98.90
+ 361 3367 698 35.50 -97.00
+ 362 3396 704 34.98 -94.69
+ 363 3308 683 36.60 -101.60
+ 364 3601 608 42.50 -78.68
+ 365 3640 592 43.76 -75.68
+ 366 3443 738 32.35 -91.03
+ 367 3567 821 25.86 -81.38
+ 368 3555 783 28.84 -82.33
+ 369 3547 741 32.07 -82.90
+ 370 3485 746 31.71 -87.78
+ 371 3472 724 33.45 -88.82
+ 372 3441 705 34.89 -91.20
+ 373 3507 698 35.48 -86.09
+ 374 3484 696 35.62 -87.84
+ 375 3517 679 36.95 -85.26
+ 376 3290 722 33.62 -103.02
+ 377 3325 701 35.21 -100.25
+ 378 3317 651 39.13 -100.87
+ 379 3439 678 37.01 -91.36
+ 380 3408 661 38.37 -93.79
+ 381 3425 647 39.42 -92.44
+ 382 3597 709 34.61 -79.06
+ 383 3706 619 41.65 -70.52
+ 384 3574 724 33.46 -80.85
+ 385 3444 569 45.50 -91.00
+ 386 3415 564 45.89 -93.27
+ 387 3424 574 45.15 -92.54
+ 388 3380 573 45.23 -96.00
+ 389 3455 588 44.03 -90.08
+ 390 3043 623 41.32 -122.32
+ 391 3077 607 42.55 -119.66
+ 392 3062 597 43.33 -120.84
+ 393 3028 622 41.39 -123.49
+ 394 3054 622 41.43 -121.46
+ 395 3108 571 45.36 -117.25
+ 396 3086 584 44.40 -118.96
+ 397 3615 687 36.33 -77.64
+ 398 3588 705 34.89 -79.76
+ 399 3566 634 40.47 -81.42
+ 400 3591 629 40.82 -79.53
+ 401 3596 632 40.63 -79.11
+ 402 3593 645 39.58 -79.34
+ 403 3581 638 40.14 -80.29
+ 404 3648 608 42.46 -75.06
+ 405 3309 682 36.68 -101.50
+ 406 3498 727 33.17 -86.77
+ 407 3466 752 31.27 -89.26
+ 408 3566 790 28.29 -81.44
+ 409 3561 783 28.82 -81.81
+ 410 3387 763 30.36 -95.41
+ 411 3386 759 30.73 -95.47
+ 412 3303 576 45.02 -102.02
+ 413 3332 778 29.21 -99.74
+ 414 3349 693 35.87 -98.42
+ 415 3474 628 40.92 -88.62
+ 416 3673 620 41.56 -73.05
+ 417 3120 529 48.69 -116.32
+ 418 3089 529 48.65 -118.73
+ 419 3064 541 47.76 -120.65
+ 420 3069 531 48.49 -120.24
+ 421 3122 543 47.54 -116.14
+ 422 3035 631 40.73 -122.94
+ 423 3026 628 40.94 -123.63
+ 424 3033 636 40.34 -123.07
+ 425 3031 643 39.75 -123.21
+ 426 3416 684 36.54 -93.20
+ 427 2426 337 63.68 -170.50
+ 428 2666 280 68.13 -151.73
+ 429 2410 336 63.77 -171.73
+ 430 2480 379 60.37 -166.27
+ 431 2543 427 56.65 -161.37
+ 432 2041 460 54.05 159.43
+ 433 3684 577 44.89 -72.23
+ 434 3309 596 43.46 -101.50
+ 435 3280 589 43.99 -103.79
+ 436 3533 777 29.30 -84.04
+ 437 3372 795 27.90 -96.64
+ 438 3528 713 34.31 -84.42
+ 439 3535 713 34.27 -83.83
+ 440 3528 623 41.34 -84.43
+ 441 3510 624 41.28 -85.84
+ 442 3515 617 41.81 -85.44
+ 443 3498 620 41.57 -86.73
+ 444 3286 526 48.93 -103.30
+ 445 3333 526 48.88 -99.62
+ 446 3285 561 46.19 -103.43
+ 447 3337 563 46.02 -99.35
+ 448 3353 561 46.17 -98.07
+ 449 3537 563 46.01 -83.74
+ 450 3465 552 46.88 -89.32
+ 451 3495 568 45.58 -87.00
+ 452 3103 712 34.36 -117.63
+ 453 3076 705 34.94 -119.69
+ 454 3070 711 34.48 -120.23
+ 455 3071 709 34.61 -120.08
+ 456 3186 592 43.74 -111.10
+ 457 3533 706 34.85 -84.00
+ 458 3280 584 44.35 -103.77
+ 459 3273 583 44.41 -104.36
+ 460 3395 668 37.80 -94.77
+ 461 3423 670 37.64 -92.65
+ 462 3414 661 38.35 -93.34
+ 463 3052 646 39.49 -121.61
+ 464 3478 718 33.90 -88.33
+ 465 3282 709 34.64 -103.63
+ 466 3643 655 38.83 -75.43
+ 467 3338 735 32.54 -99.25
+ 468 3402 655 38.81 -94.26
+ 469 3355 687 36.34 -97.92
+ 470 3342 712 34.36 -98.98
+ 471 3509 631 40.72 -85.93
+ 472 3362 759 30.72 -97.38
+ 473 3348 636 40.32 -98.44
+ 474 3515 749 31.46 -85.46
+ 475 3510 735 32.54 -85.79
+ 476 3311 531 48.50 -101.40
+ 477 3541 689 36.17 -83.40
+ 478 3643 595 43.47 -75.46
+ 479 3542 734 32.68 -83.35
+ 480 3491 682 36.74 -87.29
+ 481 3143 750 31.40 -114.49
+ 482 3164 738 32.37 -112.87
+ 483 3205 732 32.82 -109.68
+ 484 3129 532 48.39 -115.55
+ 485 3271 528 48.76 -104.52
+ 486 3034 669 37.70 -123.00
+ 487 3033 661 38.32 -123.07
+ 488 3274 558 46.37 -104.28
+ 489 3183 583 44.42 -111.37
+ 490 3171 612 42.17 -112.28
+ 491 3124 646 39.50 -115.95
+ 492 3083 662 38.30 -119.16
+ 493 3668 580 44.65 -73.49
+ 494 3644 625 41.14 -75.38
+ 495 3638 640 39.98 -75.82
+ 496 3295 675 37.28 -102.61
+ 497 3709 568 45.64 -70.26
+ 498 3722 544 47.46 -69.22
+ 499 3745 569 45.56 -67.43
+ 500 3672 614 42.05 -73.20
+ 501 3208 613 42.11 -109.45
+ 502 3228 608 42.49 -107.83
+ 503 3215 608 42.48 -108.84
+ 504 3195 599 43.20 -110.40
+ 505 3381 632 40.61 -95.87
+ 506 3372 624 41.24 -96.59
+ 507 3495 621 41.45 -87.01
+ 508 3477 622 41.42 -88.41
+ 509 3344 643 39.76 -98.79
+ 510 3241 633 40.51 -106.87
+ 511 3234 647 39.43 -107.38
+ 512 3250 647 39.48 -106.15
+ 513 3232 633 40.50 -107.52
+ 514 3464 627 41.02 -89.39
+ 515 3480 656 38.72 -88.18
+ 516 3352 652 39.06 -98.17
+ 517 3377 677 37.13 -96.19
+ 518 3373 661 38.37 -96.54
+ 519 3622 606 42.64 -77.05
+ 520 3630 617 41.77 -76.45
+ 521 3248 631 40.73 -106.28
+ 522 3629 596 43.45 -76.51
+ 523 3402 600 43.08 -94.27
+ 524 3396 596 43.40 -94.75
+ 525 3394 635 40.35 -94.92
+ 526 3539 663 38.22 -83.59
+ 527 3416 656 38.71 -93.18
+ 528 3416 647 39.42 -93.13
+ 529 3221 592 43.71 -108.39
+ 530 3187 599 43.18 -111.04
+ 531 3283 568 45.59 -103.55
+ 532 2654 373 60.82 -152.72
+ 533 2560 269 69.00 -160.00
+ 534 2273 486 52.00 177.55
+ 535 2484 422 57.00 -166.00
+ 536 2649 355 62.22 -153.08
+ 537 2596 387 59.73 -157.26
+ 538 2723 360 61.89 -147.32
+ 539 2483 304 66.27 -166.05
+ 540 3108 715 34.10 -117.23
+ 541 3407 632 40.63 -93.90
+ 542 3191 724 33.40 -110.77
+ 543 3165 717 33.97 -112.74
+ 544 3635 655 38.80 -76.07
+ 545 3653 626 41.05 -74.63
+ 546 2766 349 62.72 -143.97
+ 547 2764 285 67.75 -144.11
+ 548 2761 312 65.59 -144.36
+ 549 2676 359 61.95 -151.00
+ 550 2630 419 57.27 -154.56
+ 551 2714 305 66.15 -148.03
+ 552 2774 294 67.03 -143.29
+ 553 2546 317 65.20 -161.15
+ 554 2671 387 59.75 -151.37
+ 555 2575 340 63.39 -158.83
+ 556 2893 423 56.97 -134.00
+ 557 2531 282 67.95 -162.31
+ 558 2684 376 60.59 -150.32
+ 559 2696 379 60.37 -149.41
+ 560 2783 367 61.32 -142.59
+ 561 2667 383 60.03 -151.66
+ 562 2577 281 68.07 -158.71
+ 563 2566 364 61.58 -159.54
+ 564 2746 345 63.03 -145.49
+ 565 2501 315 65.41 -164.66
+ 566 2645 340 63.44 -153.36
+ 567 2874 393 59.25 -135.52
+ 568 2905 440 55.58 -133.10
+ 569 2677 339 63.49 -150.88
+ 570 2774 346 62.97 -143.34
+ 571 2792 332 64.05 -141.93
+ 572 2633 296 66.85 -154.34
+ 573 2661 306 66.08 -152.17
+ 574 2606 363 61.64 -156.44
+ 575 2605 262 69.50 -156.50
+ 576 2701 269 69.00 -149.00
+ 577 2701 285 67.75 -149.00
+ 578 2612 315 65.34 -155.95
+ 579 2617 331 64.10 -155.56
+ 580 2675 329 64.31 -151.08
+ 581 2558 380 60.32 -160.20
+ 582 2512 357 62.10 -163.80
+ 583 2536 251 70.40 -161.90
+ 584 2604 239 71.32 -156.62
+ 585 3742 610 42.35 -67.70
+ 586 3687 649 39.30 -72.00
+ 587 3768 649 39.30 -65.70
+ 588 3711 674 37.30 -70.10
+ 589 3654 687 36.30 -74.60
+ 590 3664 696 35.60 -73.80
+ 591 3702 705 34.90 -70.80
+ 592 3636 719 33.80 -76.00
+ 593 3683 732 32.80 -72.30
+ 594 2938 536 48.10 -130.50
+ 595 2988 536 48.10 -126.60
+ 596 2948 572 45.30 -129.70
+ 597 3001 572 45.30 -125.60
+ 598 2946 617 41.75 -129.90
+ 599 2998 616 41.90 -125.80
+ 600 3002 650 39.20 -125.50
+ 601 3003 686 36.40 -125.40
+ 602 3008 726 33.30 -125.00
+ 603 3043 709 34.60 -122.30
+ 604 3053 756 30.90 -121.50
+ 605 3111 773 29.60 -117.00
+ 606 3635 671 37.54 -76.01
+ 607 3239 730 32.99 -106.97
+ 608 3203 740 32.15 -109.84
+ 609 3534 606 42.63 -83.98
+ 610 3532 602 42.99 -84.14
+ 611 3544 613 42.10 -83.16
+ 612 3532 616 41.87 -84.07
+ 613 3539 588 44.02 -83.54
+ 614 3540 596 43.46 -83.45
+ 615 3541 615 41.94 -83.43
+ 616 3287 632 40.61 -103.26
+ 617 3280 636 40.34 -103.80
+ 618 3411 639 40.08 -93.59
+ 619 3418 634 40.48 -93.01
+ 620 3401 637 40.25 -94.33
+ 621 3419 631 40.68 -92.90
+ 622 3422 618 41.71 -92.73
+ 623 3415 608 42.47 -93.27
+ 624 3476 657 38.66 -88.45
+ 625 3487 652 39.02 -87.65
+ 626 3465 646 39.53 -89.33
+ 627 3211 598 43.31 -109.19
+ 628 3226 619 41.67 -107.98
+ 629 3188 595 43.50 -110.96
+ 630 3352 647 39.47 -98.13
+ 631 3401 667 37.85 -94.31
+ 632 3473 615 41.93 -88.71
+ 633 3193 673 37.44 -110.56
+ 634 3242 634 40.45 -106.75
+ 635 3362 674 37.32 -97.39
+ 636 3241 673 37.45 -106.80
+ 637 3233 588 44.03 -107.45
+ 638 3188 613 42.08 -110.96
+ 639 3225 655 38.79 -108.06
+ 640 3243 635 40.35 -106.70
+ 641 3471 777 29.30 -88.84
+ 642 4508 741 32.13 -7.88
+ 643 3678 616 41.89 -72.71
+ 644 143 381 60.20 11.10
+ 645 230 388 59.67 17.93
+ 646 230 392 59.35 17.95
+ 647 320 380 60.32 24.97
+ 648 4593 382 60.13 -1.18
+ 649 4550 429 56.50 -4.58
+ 650 3879 1574 -33.00 -57.00
+ 651 4586 490 51.68 -1.78
+ 652 4588 489 51.75 -1.58
+ 653 4605 495 51.29 -0.27
+ 654 4527 483 52.25 -6.33
+ 655 4319 333 63.97 -22.60
+ 656 4522 358 62.02 -6.76
+ 657 161 438 55.77 12.53
+ 658 56 486 52.03 4.35
+ 659 58 500 50.90 4.47
+ 660 89 553 46.82 6.95
+ 661 31 528 48.73 2.40
+ 662 4501 597 43.37 -8.42
+ 663 4595 619 41.67 -1.02
+ 664 4537 676 37.17 -5.62
+ 665 4315 938 16.75 -22.95
+ 666 184 291 67.27 14.37
+ 667 2323 243 70.97 -178.53
+ 668 2311 270 68.92 -179.48
+ 669 2435 305 66.17 -169.83
+ 670 2182 324 64.68 170.42
+ 671 2272 323 64.73 177.50
+ 672 2296 345 63.05 179.32
+ 673 814 471 53.21 63.55
+ 674 4528 407 58.22 -6.32
+ 675 17 478 52.63 1.32
+ 676 856 509 50.22 66.83
+ 677 937 514 49.80 73.15
+ 678 4541 511 50.08 -5.25
+ 679 4529 452 54.65 -6.22
+ 680 3674 705 34.90 -73.00
+ 681 3646 738 32.30 -75.20
+ 682 3596 736 32.50 -79.07
+ 683 3618 777 29.30 -77.40
+ 684 3573 750 31.40 -80.87
+ 685 3604 782 28.90 -78.50
+ 686 3589 732 32.80 -79.62
+ 687 3579 739 32.28 -80.41
+ 688 3460 820 25.90 -89.70
+ 689 3410 820 25.90 -93.60
+ 690 3509 820 25.90 -85.90
+ 691 3392 795 27.90 -95.00
+ 692 3373 806 27.00 -96.50
+ 693 3704 659 38.50 -70.70
+ 694 3730 607 42.60 -68.60
+ 695 3712 595 43.53 -70.14
+ 696 3720 633 40.50 -69.40
+ 697 3652 659 38.50 -74.70
+ 698 3756 626 41.10 -66.60
+ 699 3651 683 36.60 -74.80
+ 700 3686 631 40.70 -72.10
+ 701 3672 636 40.30 -73.20
+ 702 3747 585 44.30 -67.30
+ 703 3665 635 40.37 -73.70
+ 704 3644 669 37.76 -75.33
+ 705 3485 537 48.06 -87.78
+ 706 3503 572 45.33 -86.42
+ 707 3549 571 45.35 -82.84
+ 708 3501 543 47.56 -86.55
+ 709 3554 618 41.68 -82.40
+ 710 3458 546 47.32 -89.87
+ 711 3495 606 42.67 -87.02
+ 712 3555 584 44.28 -82.42
+ 713 3618 594 43.62 -77.41
+ 714 3569 608 42.47 -81.22
+ 715 3592 596 43.40 -79.45
+ 716 3593 605 42.74 -79.35
+ 717 3486 612 42.14 -87.66
+ 718 2712 431 56.30 -148.20
+ 719 2938 608 42.50 -130.50
+ 720 2613 488 51.90 -155.90
+ 721 2932 562 46.10 -131.00
+ 722 2848 628 40.90 -137.50
+ 723 3021 650 39.20 -124.00
+ 724 3011 605 42.75 -124.82
+ 725 3019 561 46.20 -124.20
+ 726 3015 635 40.40 -124.50
+ 727 2334 422 57.00 -177.70
+ 728 3079 737 32.40 -119.50
+ 729 3098 736 32.49 -118.03
+ 730 1267 912 18.77 98.96
+ 731 1316 941 16.47 102.78
+ 732 1282 950 15.77 100.14
+ 733 1343 957 15.25 104.87
+ 734 1288 977 13.67 100.61
+ 735 1288 1060 7.19 100.61
+ 736 2531 852 23.40 -162.30
+ 737 2589 932 17.20 -157.80
+ 738 2550 905 19.30 -160.80
+ 739 2656 929 17.40 -152.50
+ 740 110 441 55.52 8.55
+ 741 61 482 52.31 4.76
+ 742 89 483 52.28 6.89
+ 743 2674 387 59.77 -151.17
+ 744 80 525 48.98 6.25
+ 745 3354 772 29.70 -98.01
+ 746 3500 688 36.25 -86.57
+ 747 3385 689 36.18 -95.56
+ 748 3085 701 35.24 -119.03
+ 749 3454 658 38.62 -90.18
+ 750 3275 660 38.46 -104.18
+ 751 3564 621 41.50 -81.60
+ 752 3166 600 43.11 -112.68
+ 753 3126 544 47.47 -115.80
+ 754 27 624 41.28 2.07
+ 755 4554 635 40.42 -4.25
+ 756 4602 646 39.50 -0.47
+ 757 3318 685 36.50 -100.80
+ 758 3307 764 30.30 -101.70
+ 759 3296 797 27.70 -102.50
+ 760 3340 762 30.50 -99.10
+ 761 3345 788 28.40 -98.70
+ 762 3344 815 26.30 -98.80
+ 763 3362 840 24.40 -97.40
+ 764 3389 820 25.90 -95.30
+ 765 3400 838 24.50 -94.40
+ 766 3385 854 23.30 -95.60
+ 767 3403 918 18.30 -94.20
+ 768 3417 878 21.40 -93.10
+ 769 3436 854 23.30 -91.60
+ 770 3473 849 23.70 -88.70
+ 771 3520 858 23.00 -85.00
+ 772 3354 851 23.50 -98.00
+ 773 3438 563 46.02 -91.45
+ 774 3549 655 38.83 -82.80
+ 775 3603 654 38.88 -78.52
+ 776 3600 645 39.62 -78.76
+ 777 3623 645 39.61 -77.01
+ 778 113 473 53.05 8.79
+ 779 172 480 52.47 13.40
+ 780 92 501 50.87 7.15
+ 781 110 511 50.05 8.58
+ 782 119 529 48.68 9.22
+ 783 151 533 48.35 11.78
+ 784 182 535 48.23 14.19
+ 785 213 536 48.12 16.57
+ 786 183 511 50.10 14.26
+ 787 237 456 54.38 18.47
+ 788 269 484 52.17 20.97
+ 789 217 498 51.10 16.89
+ 790 246 545 47.43 19.18
+ 791 263 579 44.78 20.53
+ 792 300 605 42.69 23.41
+ 793 353 607 42.57 27.52
+ 794 357 599 43.23 27.83
+ 795 319 613 42.07 24.86
+ 796 334 581 44.57 26.09
+ 797 158 569 45.50 12.33
+ 798 162 617 41.80 12.60
+ 799 157 617 41.80 12.23
+ 800 310 697 35.53 24.15
+ 801 373 627 40.97 29.08
+ 802 423 638 40.13 33.00
+ 803 515 669 37.75 40.20
+ 804 426 702 35.15 33.28
+ 805 2391 327 64.43 -173.23
+ 806 387 389 59.58 30.18
+ 807 481 438 55.75 37.57
+ 808 1062 447 55.03 82.90
+ 809 1689 600 43.12 131.90
+ 810 985 599 43.23 76.93
+ 811 576 618 41.68 44.95
+ 812 954 601 43.07 74.47
+ 813 887 624 41.27 69.27
+ 814 461 743 31.98 35.98
+ 815 451 744 31.87 35.22
+ 816 599 833 24.88 46.77
+ 817 599 836 24.72 46.72
+ 818 615 778 29.22 47.98
+ 819 553 687 36.32 43.15
+ 820 567 727 33.22 44.23
+ 821 612 761 30.57 47.78
+ 822 628 794 28.00 49.00
+ 823 640 806 27.00 50.00
+ 824 657 695 35.68 51.32
+ 825 787 754 31.05 61.47
+ 826 903 711 34.42 70.47
+ 827 843 751 31.31 65.85
+ 828 661 829 25.25 51.57
+ 829 709 829 25.25 55.33
+ 830 700 839 24.42 54.65
+ 831 3728 172 76.53 -68.75
+ 832 989 786 28.58 77.20
+ 833 1067 925 17.72 83.30
+ 834 1372 599 43.20 107.17
+ 835 1093 797 27.70 85.37
+ 836 1462 866 22.32 114.17
+ 837 1556 832 25.03 121.52
+ 838 1483 1015 10.72 115.83
+ 839 1624 671 37.55 126.80
+ 840 1651 702 35.18 128.93
+ 841 1810 631 40.70 141.37
+ 842 1753 701 35.25 136.93
+ 843 1790 697 35.55 139.78
+ 844 1797 694 35.76 140.38
+ 845 1735 708 34.68 135.53
+ 846 1284 1084 5.30 100.27
+ 847 1303 1117 2.75 101.72
+ 848 1328 1134 1.38 103.72
+ 849 1344 860 22.82 104.97
+ 850 1355 883 21.02 105.80
+ 851 1366 1013 10.82 106.67
+ 852 1622 490 51.72 126.65
+ 853 1491 642 39.80 116.47
+ 854 1541 690 36.07 120.33
+ 855 1332 759 30.67 104.02
+ 856 1395 713 34.30 108.93
+ 857 1458 710 34.52 113.83
+ 858 1555 753 31.17 121.43
+ 859 4412 794 27.93 -15.38
+ 860 4510 722 33.57 -7.67
+ 861 4506 747 31.62 -8.03
+ 862 71 860 22.82 5.47
+ 863 28 979 13.48 2.17
+ 864 4570 938 16.72 -3.00
+ 865 4384 963 14.73 -17.50
+ 866 4393 981 13.35 -16.80
+ 867 927 1245 -7.30 72.42
+ 868 299 842 24.22 23.30
+ 869 349 751 31.33 27.22
+ 870 472 1168 -1.28 36.83
+ 871 475 1196 -3.42 37.07
+ 872 490 1215 -4.92 38.23
+ 873 198 1208 -4.38 15.45
+ 874 43 1068 6.58 3.33
+ 875 4606 1080 5.60 -0.17
+ 876 4512 1058 7.38 -7.53
+ 877 4558 1085 5.25 -3.93
+ 878 4476 1072 6.23 -10.37
+ 879 170 1265 -8.85 13.23
+ 880 398 1464 -24.37 31.05
+ 881 239 1587 -33.97 18.60
+ 882 2602 239 71.30 -156.78
+ 883 2770 254 70.13 -143.63
+ 884 2482 270 68.88 -166.13
+ 885 2527 296 66.87 -162.63
+ 886 2661 264 69.37 -152.13
+ 887 2669 295 66.92 -151.52
+ 888 2662 318 65.17 -152.10
+ 889 2749 300 66.57 -145.27
+ 890 2491 326 64.50 -165.43
+ 891 2550 334 63.88 -160.80
+ 892 2483 361 61.78 -166.03
+ 893 2537 374 60.78 -161.80
+ 894 2600 323 64.73 -156.93
+ 895 2617 346 62.97 -155.62
+ 896 2612 347 62.90 -155.98
+ 897 2617 370 61.10 -155.58
+ 898 2687 354 62.30 -150.10
+ 899 2673 359 61.97 -151.18
+ 900 2672 377 60.57 -151.25
+ 901 2716 322 64.82 -147.87
+ 902 2726 324 64.67 -147.10
+ 903 2744 333 63.97 -145.70
+ 904 2743 333 64.00 -145.73
+ 905 2747 356 62.15 -145.45
+ 906 2691 368 61.25 -149.80
+ 907 2688 369 61.17 -150.02
+ 908 2700 363 61.60 -149.08
+ 909 2735 369 61.13 -146.35
+ 910 2696 382 60.12 -149.45
+ 911 2802 323 64.78 -141.15
+ 912 2792 346 62.97 -141.93
+ 913 2746 377 60.50 -145.50
+ 914 2534 401 58.65 -162.07
+ 915 2430 420 57.15 -170.22
+ 916 2526 445 55.20 -162.73
+ 917 2579 396 59.05 -158.52
+ 918 2603 401 58.68 -156.65
+ 919 2626 387 59.75 -154.92
+ 920 2669 389 59.63 -151.50
+ 921 2735 391 59.43 -146.33
+ 922 2656 413 57.75 -152.50
+ 923 2821 390 59.52 -139.67
+ 924 2877 391 59.47 -135.30
+ 925 2871 404 58.42 -135.73
+ 926 2876 421 57.07 -135.35
+ 927 2886 405 58.37 -134.58
+ 928 2906 425 56.82 -132.97
+ 929 2914 429 56.48 -132.37
+ 930 2923 443 55.35 -131.70
+ 931 2924 447 55.03 -131.57
+ 932 2229 477 52.72 174.12
+ 933 2347 488 51.88 -176.65
+ 934 2447 474 52.95 -168.85
+ 935 2477 462 53.90 -166.55
+ 936 2931 487 51.93 -131.02
+ 937 2986 316 65.28 -126.75
+ 938 3005 230 72.00 -125.28
+ 939 3105 432 56.23 -117.43
+ 940 3081 176 76.23 -119.33
+ 941 3315 424 56.87 -101.08
+ 942 3356 438 55.75 -97.87
+ 943 3568 271 68.78 -81.25
+ 944 3811 96 82.50 -62.33
+ 945 3042 524 49.03 -122.37
+ 946 2978 503 50.68 -127.37
+ 947 3148 466 53.55 -114.10
+ 948 3155 470 53.30 -113.58
+ 949 3219 459 54.13 -108.52
+ 950 3185 508 50.27 -111.18
+ 951 3277 469 53.33 -104.00
+ 952 3693 552 46.90 -71.50
+ 953 3851 543 47.57 -59.17
+ 954 3080 513 49.95 -119.40
+ 955 2944 404 58.42 -130.00
+ 956 3585 599 43.17 -79.93
+ 957 3580 595 43.47 -80.38
+ 958 3796 577 44.88 -63.50
+ 959 3778 576 44.98 -64.92
+ 960 3773 592 43.72 -65.25
+ 961 3184 310 65.77 -111.25
+ 962 3546 611 42.27 -82.97
+ 963 3840 590 43.93 -60.02
+ 964 3796 581 44.63 -63.50
+ 965 3762 590 43.87 -66.10
+ 966 3765 572 45.32 -65.88
+ 967 3570 601 43.03 -81.15
+ 968 3589 593 43.67 -79.63
+ 969 3619 564 45.95 -77.32
+ 970 3664 570 45.47 -73.75
+ 971 3661 567 45.68 -74.03
+ 972 3640 572 45.32 -75.67
+ 973 3605 586 44.23 -78.37
+ 974 3593 576 44.97 -79.30
+ 975 3570 579 44.75 -81.10
+ 976 3758 565 45.83 -66.43
+ 977 3781 562 46.12 -64.68
+ 978 3800 559 46.28 -63.13
+ 979 3840 561 46.17 -60.05
+ 980 3695 553 46.80 -71.40
+ 981 3636 558 46.38 -75.97
+ 982 3613 537 48.05 -77.78
+ 983 3592 558 46.37 -79.42
+ 984 3523 538 47.97 -84.78
+ 985 3567 530 48.57 -81.37
+ 986 3484 483 52.23 -87.88
+ 987 3465 533 48.37 -89.32
+ 988 3029 529 48.65 -123.43
+ 989 3934 542 47.62 -52.73
+ 990 3910 525 48.95 -54.57
+ 991 3874 522 49.22 -57.40
+ 992 3760 509 50.22 -66.27
+ 993 3859 531 48.53 -58.55
+ 994 3835 469 53.32 -60.42
+ 995 3655 515 49.77 -74.53
+ 996 3666 464 53.75 -73.67
+ 997 3496 515 49.78 -86.93
+ 998 3576 496 51.27 -80.65
+ 999 3577 495 51.28 -80.60
+ 1000 3454 493 51.45 -90.20
+ 1001 3458 463 53.83 -89.87
+ 1002 3401 515 49.78 -94.37
+ 1003 3364 513 49.90 -97.23
+ 1004 3333 515 49.78 -99.65
+ 1005 3307 452 54.68 -101.68
+ 1006 3269 506 50.43 -104.67
+ 1007 3243 484 52.17 -106.68
+ 1008 3314 461 53.97 -101.10
+ 1009 3256 471 53.22 -105.68
+ 1010 3191 512 50.02 -110.72
+ 1011 3165 517 49.63 -112.80
+ 1012 3149 498 51.12 -114.02
+ 1013 3127 517 49.62 -115.78
+ 1014 3103 521 49.30 -117.63
+ 1015 3032 522 49.18 -123.17
+ 1016 3010 515 49.72 -124.90
+ 1017 3038 462 53.88 -122.68
+ 1018 3733 408 58.10 -68.42
+ 1019 3609 404 58.45 -78.12
+ 1020 3731 336 63.75 -68.53
+ 1021 3404 400 58.75 -94.07
+ 1022 3541 330 64.20 -83.37
+ 1023 3509 128 79.98 -85.93
+ 1024 3237 418 57.35 -107.13
+ 1025 3393 195 74.72 -94.95
+ 1026 3263 267 69.10 -105.12
+ 1027 3380 329 64.30 -96.00
+ 1028 3175 451 54.77 -112.02
+ 1029 3176 384 60.02 -111.95
+ 1030 3144 352 62.50 -114.40
+ 1031 3039 399 58.83 -122.58
+ 1032 3057 361 61.80 -121.20
+ 1033 2960 382 60.12 -128.82
+ 1034 2899 277 68.32 -133.53
+ 1035 2880 375 60.72 -135.07
+ 1036 2828 332 64.05 -139.13
+ 1037 2819 287 67.57 -139.82
+ 1038 3562 838 24.55 -81.75
+ 1039 3571 835 24.73 -81.05
+ 1040 3581 821 25.82 -80.28
+ 1041 3581 820 25.90 -80.28
+ 1042 3583 818 26.07 -80.15
+ 1043 3579 824 25.65 -80.43
+ 1044 3583 810 26.68 -80.12
+ 1045 3582 817 26.20 -80.17
+ 1046 3576 792 28.10 -80.65
+ 1047 3579 798 27.65 -80.42
+ 1048 3568 788 28.43 -81.32
+ 1049 3571 778 29.18 -81.05
+ 1050 3563 762 30.50 -81.69
+ 1051 3560 765 30.22 -81.88
+ 1052 3569 741 32.13 -81.19
+ 1053 3576 739 32.22 -80.70
+ 1054 3584 731 32.90 -80.03
+ 1055 3554 797 27.70 -82.38
+ 1056 3580 800 27.50 -80.37
+ 1057 3561 812 26.58 -81.87
+ 1058 3562 812 26.53 -81.75
+ 1059 3552 794 27.97 -82.53
+ 1060 3552 801 27.40 -82.55
+ 1061 3550 795 27.92 -82.68
+ 1062 3559 794 27.99 -82.02
+ 1063 3545 773 29.62 -83.10
+ 1064 3554 752 31.25 -82.40
+ 1065 3566 752 31.25 -81.47
+ 1066 3567 753 31.15 -81.37
+ 1067 3529 763 30.38 -84.37
+ 1068 3555 772 29.68 -82.27
+ 1069 3526 725 33.36 -84.57
+ 1070 3531 748 31.53 -84.18
+ 1071 3543 758 30.78 -83.28
+ 1072 3538 733 32.70 -83.65
+ 1073 3559 725 33.37 -81.97
+ 1074 3528 721 33.65 -84.42
+ 1075 3527 720 33.78 -84.52
+ 1076 3529 718 33.88 -84.30
+ 1077 3521 771 29.73 -84.98
+ 1078 3509 761 30.56 -85.92
+ 1079 3493 762 30.47 -87.18
+ 1080 3479 759 30.68 -88.25
+ 1081 3481 760 30.63 -88.07
+ 1082 3512 765 30.22 -85.68
+ 1083 3523 738 32.33 -84.83
+ 1084 3521 736 32.52 -84.93
+ 1085 3503 738 32.30 -86.40
+ 1086 3515 751 31.32 -85.45
+ 1087 3498 722 33.57 -86.75
+ 1088 3487 727 33.22 -87.62
+ 1089 3510 722 33.58 -85.85
+ 1090 3492 731 32.90 -87.25
+ 1091 3414 771 29.78 -93.30
+ 1092 3498 727 33.17 -86.77
+ 1093 3454 779 29.10 -90.20
+ 1094 3453 768 29.98 -90.25
+ 1095 3432 768 30.03 -91.88
+ 1096 3456 767 30.05 -90.03
+ 1097 3442 761 30.53 -91.15
+ 1098 3464 776 29.33 -89.40
+ 1099 3459 764 30.33 -89.82
+ 1100 3472 738 32.33 -88.75
+ 1101 3465 749 31.47 -89.33
+ 1102 3455 738 32.32 -90.08
+ 1103 3444 723 33.48 -90.98
+ 1104 3450 753 31.18 -90.47
+ 1105 3455 723 33.50 -90.08
+ 1106 3416 754 31.05 -93.20
+ 1107 3415 766 30.12 -93.22
+ 1108 3431 765 30.20 -91.98
+ 1109 3405 769 29.95 -94.02
+ 1110 3395 777 29.30 -94.80
+ 1111 3388 768 29.97 -95.35
+ 1112 3389 772 29.65 -95.28
+ 1113 3375 760 30.58 -96.37
+ 1114 3396 752 31.23 -94.75
+ 1115 3387 738 32.34 -95.40
+ 1116 3397 738 32.34 -94.65
+ 1117 3408 736 32.47 -93.82
+ 1118 3431 736 32.52 -92.03
+ 1119 3427 750 31.40 -92.30
+ 1120 3363 732 32.83 -97.30
+ 1121 3361 820 25.90 -97.43
+ 1122 3359 816 26.23 -97.65
+ 1123 3351 817 26.18 -98.23
+ 1124 3360 796 27.77 -97.50
+ 1125 3354 797 27.73 -98.03
+ 1126 3335 799 27.55 -99.47
+ 1127 3386 779 29.12 -95.47
+ 1128 3348 774 29.53 -98.47
+ 1129 3358 764 30.30 -97.70
+ 1130 3368 783 28.85 -96.92
+ 1131 3364 747 31.62 -97.22
+ 1132 3356 754 31.07 -97.83
+ 1133 3369 732 32.84 -96.85
+ 1134 3387 721 33.63 -95.45
+ 1135 3367 731 32.90 -97.03
+ 1136 3096 703 35.07 -118.15
+ 1137 3362 732 32.82 -97.37
+ 1138 3352 739 32.22 -98.18
+ 1139 3317 776 29.37 -100.92
+ 1140 3267 744 31.83 -104.80
+ 1141 3322 750 31.37 -100.50
+ 1142 3296 691 36.02 -102.55
+ 1143 3277 763 30.37 -104.02
+ 1144 3301 743 31.95 -102.18
+ 1145 3288 745 31.78 -103.20
+ 1146 3333 737 32.41 -99.68
+ 1147 3305 721 33.65 -101.82
+ 1148 3271 726 33.30 -104.53
+ 1149 3274 738 32.33 -104.27
+ 1150 3287 734 32.68 -103.22
+ 1151 3249 739 32.24 -106.22
+ 1152 3240 739 32.28 -106.92
+ 1153 3247 745 31.80 -106.40
+ 1154 3235 727 33.23 -107.27
+ 1155 3230 739 32.27 -107.72
+ 1156 3196 748 31.57 -110.33
+ 1157 3206 749 31.47 -109.60
+ 1158 3189 741 32.12 -110.93
+ 1159 3175 724 33.43 -112.02
+ 1160 3142 734 32.65 -114.60
+ 1161 3103 716 34.05 -117.60
+ 1162 3117 719 33.83 -116.50
+ 1163 3094 714 34.20 -118.35
+ 1164 3092 714 34.22 -118.48
+ 1165 3064 701 35.23 -120.63
+ 1166 3109 733 32.73 -117.17
+ 1167 3111 735 32.57 -116.98
+ 1168 3080 726 33.25 -119.45
+ 1169 3093 724 33.40 -118.42
+ 1170 3107 728 33.13 -117.28
+ 1171 3109 731 32.85 -117.12
+ 1172 3093 719 33.93 -118.40
+ 1173 3096 719 33.82 -118.15
+ 1174 3100 721 33.68 -117.87
+ 1175 3611 713 34.27 -77.90
+ 1176 3597 702 35.17 -79.02
+ 1177 3599 704 34.98 -78.87
+ 1178 3641 700 35.27 -75.55
+ 1179 3625 707 34.78 -76.87
+ 1180 3600 693 35.87 -78.78
+ 1181 3618 696 35.64 -77.39
+ 1182 3610 700 35.33 -77.97
+ 1183 3611 693 35.84 -77.90
+ 1184 3615 706 34.82 -77.61
+ 1185 3686 681 36.82 -72.10
+ 1186 3633 680 36.90 -76.19
+ 1187 3629 677 37.13 -76.50
+ 1188 3624 705 34.90 -76.88
+ 1189 3622 703 35.07 -77.05
+ 1190 3570 717 33.95 -81.12
+ 1191 3588 714 34.18 -79.72
+ 1192 3542 717 33.95 -83.32
+ 1193 3554 706 34.84 -82.35
+ 1194 3556 705 34.90 -82.22
+ 1195 3550 710 34.50 -82.72
+ 1196 3573 701 35.22 -80.93
+ 1197 3567 695 35.73 -81.37
+ 1198 3552 698 35.43 -82.55
+ 1199 3585 690 36.08 -79.94
+ 1200 3579 676 37.21 -80.41
+ 1201 3554 685 36.48 -82.40
+ 1202 3582 689 36.13 -80.22
+ 1203 3518 712 34.35 -85.16
+ 1204 3498 708 34.65 -86.77
+ 1205 3487 707 34.75 -87.62
+ 1206 3518 704 35.03 -85.20
+ 1207 3534 693 35.82 -83.98
+ 1208 3519 692 35.95 -85.08
+ 1209 3499 689 36.13 -86.68
+ 1210 3472 713 34.27 -88.77
+ 1211 3456 703 35.05 -90.00
+ 1212 3470 696 35.59 -88.92
+ 1213 3428 706 34.83 -92.25
+ 1214 3428 707 34.73 -92.23
+ 1215 3448 693 35.83 -90.65
+ 1216 3417 711 34.48 -93.10
+ 1217 3432 714 34.18 -91.93
+ 1218 3406 724 33.45 -93.98
+ 1219 3421 727 33.22 -92.80
+ 1220 3401 700 35.33 -94.37
+ 1221 3403 691 36.00 -94.17
+ 1222 3416 688 36.27 -93.15
+ 1223 3425 689 36.20 -92.47
+ 1224 3435 695 35.73 -91.65
+ 1225 3432 680 36.88 -91.90
+ 1226 3462 675 37.23 -89.57
+ 1227 3405 679 36.91 -94.02
+ 1228 3399 676 37.15 -94.50
+ 1229 3348 717 33.98 -98.50
+ 1230 3341 704 34.98 -99.05
+ 1231 3339 700 35.33 -99.20
+ 1232 3331 687 36.30 -99.77
+ 1233 3359 699 35.40 -97.60
+ 1234 3366 682 36.73 -97.10
+ 1235 3349 709 34.60 -98.40
+ 1236 3367 713 34.30 -97.02
+ 1237 3381 689 36.20 -95.90
+ 1238 3380 681 36.76 -96.01
+ 1239 3383 705 34.88 -95.78
+ 1240 3361 701 35.23 -97.47
+ 1241 3288 685 36.45 -103.15
+ 1242 3325 711 34.43 -100.28
+ 1243 3216 697 35.52 -108.78
+ 1244 3307 701 35.23 -101.70
+ 1245 3243 744 31.87 -106.70
+ 1246 3244 703 35.05 -106.62
+ 1247 3251 696 35.62 -106.08
+ 1248 3223 681 36.75 -108.23
+ 1249 3282 702 35.18 -103.60
+ 1250 3263 696 35.65 -105.15
+ 1251 3150 700 35.27 -113.95
+ 1252 3182 679 36.93 -111.45
+ 1253 3169 710 34.53 -112.47
+ 1254 3170 708 34.65 -112.42
+ 1255 3191 704 35.02 -110.73
+ 1256 3200 713 34.27 -110.00
+ 1257 3208 710 34.51 -109.38
+ 1258 3179 702 35.13 -111.67
+ 1259 3177 701 35.23 -111.82
+ 1260 3173 692 35.95 -112.15
+ 1261 3141 707 34.77 -114.62
+ 1262 3099 705 34.92 -117.90
+ 1263 3114 706 34.84 -116.78
+ 1264 3095 707 34.73 -118.22
+ 1265 3097 709 34.63 -118.08
+ 1266 3085 698 35.43 -119.05
+ 1267 3134 690 36.08 -115.17
+ 1268 3123 683 36.62 -116.02
+ 1269 3076 681 36.77 -119.72
+ 1270 3084 715 34.12 -119.12
+ 1271 3075 711 34.43 -119.83
+ 1272 3083 714 34.21 -119.20
+ 1273 3065 707 34.75 -120.57
+ 1274 3067 705 34.90 -120.45
+ 1275 3064 695 35.66 -120.63
+ 1276 3619 672 37.50 -77.33
+ 1277 3604 664 38.13 -78.44
+ 1278 3605 674 37.35 -78.43
+ 1279 3642 666 37.93 -75.48
+ 1280 3617 653 38.95 -77.44
+ 1281 3617 662 38.27 -77.45
+ 1282 3631 662 38.28 -76.40
+ 1283 3642 661 38.33 -75.51
+ 1284 3623 655 38.84 -77.03
+ 1285 3627 650 39.18 -76.67
+ 1286 3614 644 39.70 -77.73
+ 1287 3630 648 39.33 -76.42
+ 1288 3654 647 39.45 -74.57
+ 1289 3648 648 39.37 -75.07
+ 1290 3645 641 39.88 -75.25
+ 1291 3648 639 40.08 -75.01
+ 1292 3641 644 39.68 -75.60
+ 1293 3651 636 40.28 -74.82
+ 1294 3654 640 40.02 -74.60
+ 1295 3656 630 40.80 -74.42
+ 1296 3595 674 37.33 -79.19
+ 1297 3593 684 36.57 -79.33
+ 1298 3585 674 37.32 -79.97
+ 1299 3587 666 37.95 -79.83
+ 1300 3570 668 37.78 -81.12
+ 1301 3569 674 37.30 -81.19
+ 1302 3579 667 37.87 -80.40
+ 1303 3564 661 38.37 -81.60
+ 1304 3586 654 38.88 -79.85
+ 1305 3582 649 39.30 -80.23
+ 1306 3586 644 39.65 -79.92
+ 1307 3610 648 39.40 -77.98
+ 1308 3525 652 39.05 -84.67
+ 1309 3526 665 38.03 -84.60
+ 1310 3511 663 38.18 -85.73
+ 1311 3542 671 37.59 -83.32
+ 1312 3493 669 37.75 -87.16
+ 1313 3508 667 37.91 -85.97
+ 1314 3532 677 37.08 -84.08
+ 1315 3552 661 38.37 -82.55
+ 1316 3535 647 39.42 -83.83
+ 1317 3496 662 38.25 -86.95
+ 1318 3566 648 39.34 -81.43
+ 1319 3576 638 40.18 -80.65
+ 1320 3548 640 40.00 -82.88
+ 1321 3547 642 39.82 -82.93
+ 1322 3560 641 39.95 -81.90
+ 1323 3531 641 39.90 -84.20
+ 1324 3528 652 39.09 -84.42
+ 1325 3488 665 38.05 -87.53
+ 1326 3470 657 38.65 -88.97
+ 1327 3466 668 37.78 -89.25
+ 1328 3452 656 38.75 -90.37
+ 1329 3448 657 38.66 -90.65
+ 1330 3472 677 37.07 -88.77
+ 1331 3525 678 37.05 -84.61
+ 1332 3491 647 39.45 -87.32
+ 1333 3500 651 39.15 -86.62
+ 1334 3504 643 39.73 -86.27
+ 1335 3496 635 40.41 -86.93
+ 1336 3461 642 39.84 -89.67
+ 1337 3441 641 39.95 -91.20
+ 1338 3470 634 40.48 -88.92
+ 1339 3487 638 40.12 -87.60
+ 1340 3413 675 37.23 -93.38
+ 1341 3428 655 38.82 -92.22
+ 1342 3451 668 37.77 -90.43
+ 1343 3434 664 38.13 -91.77
+ 1344 3424 664 38.10 -92.55
+ 1345 3396 649 39.32 -94.72
+ 1346 3398 651 39.12 -94.60
+ 1347 3394 655 38.83 -94.89
+ 1348 3394 643 39.77 -94.92
+ 1349 3361 670 37.65 -97.43
+ 1350 3356 665 38.07 -97.87
+ 1351 3386 670 37.66 -95.48
+ 1352 3363 665 38.06 -97.28
+ 1353 3329 668 37.77 -99.97
+ 1354 3319 666 37.93 -100.72
+ 1355 3316 678 37.04 -100.97
+ 1356 3343 661 38.34 -98.86
+ 1357 3338 655 38.85 -99.27
+ 1358 3347 675 37.27 -98.55
+ 1359 3371 651 39.13 -96.67
+ 1360 3377 661 38.33 -96.19
+ 1361 3385 652 39.07 -95.62
+ 1362 3384 653 38.95 -95.67
+ 1363 3359 646 39.55 -97.65
+ 1364 3344 654 38.87 -98.82
+ 1365 3359 655 38.80 -97.65
+ 1366 3304 678 37.01 -101.88
+ 1367 3253 673 37.45 -105.87
+ 1368 3229 676 37.15 -107.75
+ 1369 3227 666 37.95 -107.90
+ 1370 3283 665 38.05 -103.52
+ 1371 3294 665 38.07 -102.68
+ 1372 3271 662 38.28 -104.52
+ 1373 3307 648 39.37 -101.70
+ 1374 3331 648 39.38 -99.83
+ 1375 3268 655 38.82 -104.72
+ 1376 3266 645 39.57 -104.85
+ 1377 3240 644 39.65 -106.92
+ 1378 3241 650 39.22 -106.87
+ 1379 3240 659 38.53 -106.93
+ 1380 3267 657 38.70 -104.77
+ 1381 3266 643 39.75 -104.87
+ 1382 3287 638 40.17 -103.22
+ 1383 3263 641 39.91 -105.12
+ 1384 3191 645 39.62 -110.75
+ 1385 3207 670 37.62 -109.47
+ 1386 3191 661 38.37 -110.72
+ 1387 3156 678 37.04 -113.50
+ 1388 3161 669 37.70 -113.10
+ 1389 3173 669 37.70 -112.15
+ 1390 3219 651 39.12 -108.53
+ 1391 3227 659 38.50 -107.90
+ 1392 3218 674 37.30 -108.67
+ 1393 3269 634 40.43 -104.63
+ 1394 3264 634 40.45 -105.01
+ 1395 3198 653 39.00 -110.17
+ 1396 3204 656 38.76 -109.75
+ 1397 3167 648 39.33 -112.58
+ 1398 3177 617 41.78 -111.85
+ 1399 3093 674 37.37 -118.37
+ 1400 3066 675 37.28 -120.52
+ 1401 3053 659 38.52 -121.50
+ 1402 3056 658 38.55 -121.30
+ 1403 3052 657 38.70 -121.58
+ 1404 3110 665 38.05 -117.08
+ 1405 3090 658 38.55 -118.63
+ 1406 3138 649 39.28 -114.85
+ 1407 3143 670 37.62 -114.52
+ 1408 3075 646 39.50 -119.78
+ 1409 3075 645 39.57 -119.79
+ 1410 3049 684 36.58 -121.85
+ 1411 3052 683 36.66 -121.60
+ 1412 3056 667 37.90 -121.25
+ 1413 3049 669 37.70 -121.82
+ 1414 3044 669 37.73 -122.22
+ 1415 3042 670 37.62 -122.38
+ 1416 3048 674 37.37 -121.93
+ 1417 3036 659 38.52 -122.82
+ 1418 3676 629 40.87 -72.86
+ 1419 3659 631 40.70 -74.17
+ 1420 3660 629 40.84 -74.07
+ 1421 3663 630 40.77 -73.90
+ 1422 3673 630 40.80 -73.10
+ 1423 3663 619 41.63 -73.87
+ 1424 3665 626 41.07 -73.69
+ 1425 3660 621 41.50 -74.10
+ 1426 3673 625 41.17 -73.12
+ 1427 3676 624 41.27 -72.87
+ 1428 3686 623 41.33 -72.05
+ 1429 3692 625 41.17 -71.58
+ 1430 3706 619 41.65 -70.52
+ 1431 3712 625 41.25 -70.07
+ 1432 3703 615 41.92 -70.73
+ 1433 3700 618 41.68 -70.97
+ 1434 3709 619 41.67 -70.28
+ 1435 3694 618 41.73 -71.43
+ 1436 3694 619 41.60 -71.42
+ 1437 3678 615 41.93 -72.68
+ 1438 3685 618 41.73 -72.18
+ 1439 3683 607 42.57 -72.27
+ 1440 3679 618 41.73 -72.65
+ 1441 3701 607 42.58 -70.92
+ 1442 3699 610 42.37 -71.03
+ 1443 3689 611 42.27 -71.87
+ 1444 3636 635 40.38 -75.97
+ 1445 3626 637 40.20 -76.76
+ 1446 3632 638 40.12 -76.29
+ 1447 3599 625 41.18 -78.90
+ 1448 3606 636 40.30 -78.32
+ 1449 3599 636 40.32 -78.83
+ 1450 3612 629 40.84 -77.85
+ 1451 3639 623 41.33 -75.73
+ 1452 3624 624 41.25 -76.92
+ 1453 3651 618 41.70 -74.80
+ 1454 3636 611 42.22 -75.98
+ 1455 3630 608 42.48 -76.44
+ 1456 3624 612 42.17 -76.90
+ 1457 3675 595 43.53 -72.95
+ 1458 3643 632 40.65 -75.43
+ 1459 3664 605 42.75 -73.80
+ 1460 3666 597 43.33 -73.62
+ 1461 3642 580 44.68 -75.47
+ 1462 3634 600 43.12 -76.12
+ 1463 3644 600 43.15 -75.37
+ 1464 3582 633 40.50 -80.22
+ 1465 3579 630 40.77 -80.40
+ 1466 3585 636 40.34 -79.93
+ 1467 3592 636 40.28 -79.40
+ 1468 3566 628 40.91 -81.43
+ 1469 3594 612 42.15 -79.26
+ 1470 3561 622 41.42 -81.87
+ 1471 3552 629 40.82 -82.52
+ 1472 3576 624 41.27 -80.67
+ 1473 3582 613 42.08 -80.18
+ 1474 3602 617 41.80 -78.62
+ 1475 3586 622 41.38 -79.87
+ 1476 3601 602 42.93 -78.73
+ 1477 3598 600 43.10 -78.94
+ 1478 3614 600 43.12 -77.67
+ 1479 3483 615 41.98 -87.90
+ 1480 3479 615 41.92 -88.25
+ 1481 3479 640 40.03 -88.28
+ 1482 3471 642 39.83 -88.87
+ 1483 3461 631 40.66 -89.68
+ 1484 3461 618 41.74 -89.68
+ 1485 3518 627 41.00 -85.20
+ 1486 3515 637 40.25 -85.40
+ 1487 3490 619 41.62 -87.42
+ 1488 3485 617 41.78 -87.75
+ 1489 3487 616 41.87 -87.60
+ 1490 3484 609 42.42 -87.87
+ 1491 3504 618 41.70 -86.32
+ 1492 3536 619 41.60 -83.80
+ 1493 3538 627 41.02 -83.67
+ 1494 3542 611 42.23 -83.33
+ 1495 3546 609 42.42 -83.02
+ 1496 3552 603 42.92 -82.53
+ 1497 3483 545 47.45 -87.90
+ 1498 3526 604 42.77 -84.60
+ 1499 3527 611 42.27 -84.47
+ 1500 3517 610 42.30 -85.25
+ 1501 3468 612 42.20 -89.10
+ 1502 3450 621 41.45 -90.52
+ 1503 3435 616 41.88 -91.70
+ 1504 3442 630 40.78 -91.13
+ 1505 3410 620 41.53 -93.65
+ 1506 3425 626 41.10 -92.45
+ 1507 3387 630 40.75 -95.41
+ 1508 3448 609 42.40 -90.70
+ 1509 3434 598 43.28 -91.74
+ 1510 3426 607 42.55 -92.40
+ 1511 3414 600 43.15 -93.33
+ 1512 3403 607 42.55 -94.20
+ 1513 3390 607 42.60 -95.23
+ 1514 3381 623 41.30 -95.90
+ 1515 3370 629 40.84 -96.75
+ 1516 3370 636 40.30 -96.75
+ 1517 3350 627 40.97 -98.32
+ 1518 3342 619 41.62 -98.95
+ 1519 3341 631 40.73 -99.00
+ 1520 3377 617 41.76 -96.18
+ 1521 3385 639 40.08 -95.60
+ 1522 3333 621 41.44 -99.64
+ 1523 3361 615 41.98 -97.43
+ 1524 3363 621 41.45 -97.34
+ 1525 3345 608 42.47 -98.69
+ 1526 3375 609 42.40 -96.38
+ 1527 3375 623 41.32 -96.37
+ 1528 3290 626 41.10 -102.98
+ 1529 3320 625 41.13 -100.68
+ 1530 3308 633 40.51 -101.62
+ 1531 3337 634 40.45 -99.33
+ 1532 3293 614 42.05 -102.80
+ 1533 3289 604 42.83 -103.10
+ 1534 3267 625 41.15 -104.82
+ 1535 3256 623 41.32 -105.67
+ 1536 3269 642 39.87 -104.67
+ 1537 3282 616 41.87 -103.60
+ 1538 3246 603 42.92 -106.47
+ 1539 3207 634 40.43 -109.52
+ 1540 3236 634 40.48 -107.22
+ 1541 3230 646 39.53 -107.73
+ 1542 3175 630 40.78 -111.97
+ 1543 3178 637 40.22 -111.72
+ 1544 3212 619 41.60 -109.07
+ 1545 3236 617 41.80 -107.20
+ 1546 3175 625 41.20 -112.02
+ 1547 3217 604 42.82 -108.73
+ 1548 3220 601 43.07 -108.47
+ 1549 3187 624 41.28 -111.03
+ 1550 3191 594 43.60 -110.73
+ 1551 3167 603 42.92 -112.60
+ 1552 3174 595 43.52 -112.07
+ 1553 3122 577 44.88 -116.10
+ 1554 3091 639 40.07 -118.57
+ 1555 3149 631 40.73 -114.03
+ 1556 3127 629 40.87 -115.73
+ 1557 3127 629 40.83 -115.78
+ 1558 3127 619 41.67 -115.78
+ 1559 3101 628 40.90 -117.80
+ 1560 3065 635 40.38 -120.57
+ 1561 3064 649 39.28 -120.70
+ 1562 3071 649 39.32 -120.13
+ 1563 3072 654 38.90 -120.00
+ 1564 3145 595 43.50 -114.30
+ 1565 3143 608 42.48 -114.48
+ 1566 3152 607 42.55 -113.77
+ 1567 3050 612 42.15 -121.73
+ 1568 3032 651 39.13 -123.20
+ 1569 3044 638 40.15 -122.25
+ 1570 3043 633 40.50 -122.30
+ 1571 3020 627 40.98 -124.10
+ 1572 3018 617 41.78 -124.23
+ 1573 3066 621 41.50 -120.53
+ 1574 3036 610 42.37 -122.87
+ 1575 3693 599 43.20 -71.50
+ 1576 3702 600 43.08 -70.82
+ 1577 3708 593 43.65 -70.32
+ 1578 3703 596 43.40 -70.72
+ 1579 3733 583 44.45 -68.37
+ 1580 3724 588 44.07 -69.10
+ 1581 3751 577 44.92 -67.00
+ 1582 3734 547 47.28 -68.32
+ 1583 3727 578 44.80 -68.83
+ 1584 3680 597 43.35 -72.52
+ 1585 3683 593 43.63 -72.30
+ 1586 3693 584 44.36 -71.55
+ 1587 3687 583 44.42 -72.02
+ 1588 3680 586 44.20 -72.57
+ 1589 3694 594 43.57 -71.42
+ 1590 3697 581 44.58 -71.18
+ 1591 3683 603 42.90 -72.27
+ 1592 3672 583 44.47 -73.15
+ 1593 3706 582 44.53 -70.53
+ 1594 3709 588 44.05 -70.28
+ 1595 3715 585 44.32 -69.80
+ 1596 3718 570 45.47 -69.58
+ 1597 3729 568 45.65 -68.68
+ 1598 3668 580 44.65 -73.47
+ 1599 3650 577 44.93 -74.85
+ 1600 3636 589 44.00 -76.01
+ 1601 3659 584 44.38 -74.19
+ 1602 3540 605 42.70 -83.47
+ 1603 3524 577 44.90 -84.72
+ 1604 3514 603 42.88 -85.52
+ 1605 3502 612 42.14 -86.44
+ 1606 3513 611 42.23 -85.55
+ 1607 3504 599 43.17 -86.25
+ 1608 3536 602 42.97 -83.75
+ 1609 3541 606 42.67 -83.42
+ 1610 3532 595 43.53 -84.08
+ 1611 3525 584 44.36 -84.67
+ 1612 3515 585 44.28 -85.42
+ 1613 3504 585 44.28 -86.25
+ 1614 3513 579 44.73 -85.58
+ 1615 3539 575 45.07 -83.57
+ 1616 3541 583 44.45 -83.40
+ 1617 3483 602 42.95 -87.90
+ 1618 3465 600 43.13 -89.33
+ 1619 3469 606 42.62 -89.04
+ 1620 3454 599 43.21 -90.18
+ 1621 3440 590 43.87 -91.25
+ 1622 3438 578 44.87 -91.48
+ 1623 3424 590 43.92 -92.50
+ 1624 3480 583 44.48 -88.13
+ 1625 3486 587 44.13 -87.68
+ 1626 3475 589 43.98 -88.55
+ 1627 3461 577 44.93 -89.63
+ 1628 3461 579 44.78 -89.67
+ 1629 3494 567 45.73 -87.08
+ 1630 3487 574 45.12 -87.63
+ 1631 3411 578 44.85 -93.57
+ 1632 3370 594 43.58 -96.73
+ 1633 3369 585 44.31 -96.82
+ 1634 3362 603 42.92 -97.38
+ 1635 3337 591 43.80 -99.32
+ 1636 3351 584 44.38 -98.22
+ 1637 3354 592 43.77 -98.03
+ 1638 3365 577 44.92 -97.15
+ 1639 3404 569 45.55 -94.07
+ 1640 3404 558 46.40 -94.13
+ 1641 3391 582 44.55 -95.08
+ 1642 3387 565 45.87 -95.40
+ 1643 3382 583 44.45 -95.82
+ 1644 3399 585 44.32 -94.50
+ 1645 3401 564 45.95 -94.35
+ 1646 3415 577 44.88 -93.22
+ 1647 3417 577 44.95 -93.07
+ 1648 3406 586 44.22 -93.91
+ 1649 3400 593 43.65 -94.42
+ 1650 3413 593 43.68 -93.37
+ 1651 3349 570 45.45 -98.43
+ 1652 3289 588 44.06 -103.05
+ 1653 3258 584 44.35 -105.53
+ 1654 3239 579 44.77 -106.97
+ 1655 3195 582 44.54 -110.42
+ 1656 3227 589 43.97 -107.95
+ 1657 3259 570 45.45 -105.40
+ 1658 3267 549 47.13 -104.80
+ 1659 3323 569 45.55 -100.41
+ 1660 3325 584 44.38 -100.28
+ 1661 3301 564 45.93 -102.17
+ 1662 3213 582 44.52 -109.02
+ 1663 3199 607 42.58 -110.11
+ 1664 3186 580 44.68 -111.12
+ 1665 3219 566 45.80 -108.53
+ 1666 3207 550 47.05 -109.47
+ 1667 3168 564 45.95 -112.50
+ 1668 3168 573 45.25 -112.55
+ 1669 3186 566 45.78 -111.15
+ 1670 3195 567 45.70 -110.45
+ 1671 3121 594 43.57 -116.22
+ 1672 3086 594 43.58 -118.95
+ 1673 3058 585 44.25 -121.15
+ 1674 3151 574 45.12 -113.88
+ 1675 3122 564 45.95 -116.13
+ 1676 3087 567 45.68 -118.85
+ 1677 3100 578 44.83 -117.82
+ 1678 3030 599 43.23 -123.35
+ 1679 3018 596 43.42 -124.25
+ 1680 3031 587 44.12 -123.22
+ 1681 3034 577 44.92 -123.00
+ 1682 3021 581 44.58 -124.06
+ 1683 3039 568 45.60 -122.60
+ 1684 3042 569 45.55 -122.40
+ 1685 3035 569 45.53 -122.95
+ 1686 3058 568 45.62 -121.17
+ 1687 3741 562 46.12 -67.80
+ 1688 3719 555 46.62 -69.53
+ 1689 3738 552 46.87 -68.01
+ 1690 3737 554 46.68 -68.05
+ 1691 3529 557 46.47 -84.37
+ 1692 3527 560 46.25 -84.47
+ 1693 3523 569 45.57 -84.80
+ 1694 3463 568 45.63 -89.47
+ 1695 3488 556 46.53 -87.55
+ 1696 3490 559 46.35 -87.40
+ 1697 3481 565 45.82 -88.12
+ 1698 3476 548 47.17 -88.50
+ 1699 3455 556 46.53 -90.13
+ 1700 3429 552 46.83 -92.18
+ 1701 3420 545 47.38 -92.83
+ 1702 3381 552 46.83 -95.89
+ 1703 3433 540 47.82 -91.83
+ 1704 3413 530 48.57 -93.38
+ 1705 3397 528 48.73 -94.62
+ 1706 3369 552 46.90 -96.80
+ 1707 3345 551 46.93 -98.68
+ 1708 3393 544 47.50 -94.93
+ 1709 3388 526 48.93 -95.33
+ 1710 3365 538 47.95 -97.18
+ 1711 3343 536 48.10 -98.87
+ 1712 3319 553 46.77 -100.75
+ 1713 3293 553 46.80 -102.80
+ 1714 3282 535 48.18 -103.63
+ 1715 3312 534 48.27 -101.28
+ 1716 3310 542 47.65 -101.43
+ 1717 3244 535 48.22 -106.62
+ 1718 3240 546 47.33 -106.93
+ 1719 3257 536 48.10 -105.58
+ 1720 3275 541 47.70 -104.20
+ 1721 3175 555 46.60 -112.00
+ 1722 3148 551 46.92 -114.08
+ 1723 3183 544 47.48 -111.37
+ 1724 3203 530 48.55 -109.77
+ 1725 3146 534 48.30 -114.27
+ 1726 3170 530 48.60 -112.37
+ 1727 3066 556 46.57 -120.53
+ 1728 3055 547 47.28 -121.33
+ 1729 3072 545 47.40 -120.02
+ 1730 3070 545 47.40 -120.20
+ 1731 3079 546 47.30 -119.52
+ 1732 3081 548 47.20 -119.32
+ 1733 3111 558 46.38 -117.02
+ 1734 3113 540 47.77 -116.82
+ 1735 3082 559 46.32 -119.27
+ 1736 3084 560 46.27 -119.12
+ 1737 3095 562 46.10 -118.28
+ 1738 3104 542 47.63 -117.53
+ 1739 3107 542 47.68 -117.32
+ 1740 3109 553 46.75 -117.12
+ 1741 3103 541 47.70 -117.60
+ 1742 3100 530 48.55 -117.88
+ 1743 3066 550 47.03 -120.53
+ 1744 3028 536 48.12 -123.50
+ 1745 3079 532 48.42 -119.53
+ 1746 3023 561 46.15 -123.88
+ 1747 3035 551 46.97 -122.90
+ 1748 3022 551 46.97 -123.93
+ 1749 3035 562 46.12 -122.94
+ 1750 3043 545 47.45 -122.30
+ 1751 3044 544 47.50 -122.22
+ 1752 3043 543 47.53 -122.30
+ 1753 3043 539 47.90 -122.28
+ 1754 3039 547 47.27 -122.58
+ 1755 3567 798 27.65 -81.33
+ 1756 3014 538 47.95 -124.55
+ 1757 3040 527 48.80 -122.53
+ 1758 3163 638 40.17 -112.93
+ 1759 3253 558 46.43 -105.87
+ 1760 3387 580 44.67 -95.45
+ 1761 3450 599 43.22 -90.53
+ 1762 3639 588 44.05 -75.73
+ 1763 3709 590 43.90 -70.25
+ 1764 3694 602 42.93 -71.43
+ 1765 3249 616 41.90 -106.19
+ 1766 3320 639 40.09 -100.65
+ 1767 3307 603 42.91 -101.69
+ 1768 3363 639 40.10 -97.34
+ 1769 3357 612 42.21 -97.79
+ 1770 3409 616 41.90 -93.70
+ 1771 3449 619 41.61 -90.57
+ 1772 3533 642 39.82 -84.03
+ 1773 3476 617 41.77 -88.48
+ 1774 3494 630 40.81 -87.05
+ 1775 3515 655 38.83 -85.42
+ 1776 3664 632 40.65 -73.78
+ 1777 3696 608 42.47 -71.28
+ 1778 3698 605 42.72 -71.12
+ 1779 3680 612 42.20 -72.53
+ 1780 3678 612 42.15 -72.72
+ 1781 3714 619 41.67 -69.97
+ 1782 3662 603 42.85 -73.93
+ 1783 3301 668 37.77 -102.18
+ 1784 3267 653 38.97 -104.82
+ 1785 3281 649 39.26 -103.70
+ 1786 3268 638 40.18 -104.72
+ 1787 3340 670 37.65 -99.09
+ 1788 3384 673 37.38 -95.63
+ 1789 3363 662 38.31 -97.30
+ 1790 3422 672 37.52 -92.70
+ 1791 3403 645 39.58 -94.19
+ 1792 3450 644 39.66 -90.48
+ 1793 3465 638 40.15 -89.33
+ 1794 3650 652 39.02 -74.92
+ 1795 3102 695 35.68 -117.68
+ 1796 3247 737 32.41 -106.35
+ 1797 3227 680 36.84 -107.91
+ 1798 3338 690 36.07 -99.22
+ 1799 3335 686 36.43 -99.53
+ 1800 3361 682 36.69 -97.48
+ 1801 3381 695 35.68 -95.86
+ 1802 3360 704 34.98 -97.52
+ 1803 3457 680 36.88 -89.97
+ 1804 3502 679 36.97 -86.42
+ 1805 3633 688 36.27 -76.18
+ 1806 3129 732 32.83 -115.58
+ 1807 3122 721 33.63 -116.17
+ 1808 3140 722 33.62 -114.72
+ 1809 3282 703 35.08 -103.61
+ 1810 3250 728 33.08 -106.12
+ 1811 3247 731 32.90 -106.40
+ 1812 3316 729 33.02 -100.98
+ 1813 3331 762 30.50 -99.77
+ 1814 3383 745 31.78 -95.71
+ 1815 3402 715 34.11 -94.29
+ 1816 3421 744 31.90 -92.78
+ 1817 3468 763 30.40 -89.07
+ 1818 3471 716 34.09 -88.86
+ 1819 3564 744 31.90 -81.63
+ 1820 3546 757 30.89 -83.01
+ 1821 3578 717 33.97 -80.47
+ 1822 3598 721 33.68 -78.93
+ 1823 3601 719 33.82 -78.72
+ 1824 3577 788 28.47 -80.55
+ 1825 3111 735 32.55 -116.97
+ 1826 3133 734 32.63 -115.24
+ 1827 3246 747 31.63 -106.43
+ 1828 3094 782 28.88 -118.30
+ 1829 3188 780 29.07 -110.97
+ 1830 3252 785 28.70 -105.97
+ 1831 3171 802 27.32 -112.30
+ 1832 3189 794 27.97 -110.93
+ 1833 3190 794 27.95 -110.80
+ 1834 3334 801 27.43 -99.57
+ 1835 3351 819 26.02 -98.23
+ 1836 3284 825 25.53 -103.45
+ 1837 3326 821 25.87 -100.20
+ 1838 3327 822 25.78 -100.10
+ 1839 3360 822 25.77 -97.53
+ 1840 3195 843 24.17 -110.42
+ 1841 3196 844 24.07 -110.37
+ 1842 3204 856 23.15 -109.70
+ 1843 3234 834 24.82 -107.40
+ 1844 3271 843 24.13 -104.53
+ 1845 3246 855 23.20 -106.42
+ 1846 3248 855 23.17 -106.27
+ 1847 3340 848 23.73 -99.13
+ 1848 3342 848 23.72 -98.97
+ 1849 3294 859 22.90 -102.68
+ 1850 3316 868 22.15 -100.98
+ 1851 3356 867 22.28 -97.87
+ 1852 3299 872 21.88 -102.30
+ 1853 3497 883 21.03 -86.87
+ 1854 3261 887 20.68 -105.25
+ 1855 3286 889 20.52 -103.32
+ 1856 3461 883 20.98 -89.65
+ 1857 3496 889 20.53 -86.93
+ 1858 3270 907 19.15 -104.57
+ 1859 3315 898 19.85 -101.03
+ 1860 3334 904 19.35 -99.57
+ 1861 3340 903 19.43 -99.10
+ 1862 3377 907 19.15 -96.18
+ 1863 3398 920 18.10 -94.58
+ 1864 3433 913 18.65 -91.80
+ 1865 3310 927 17.60 -101.47
+ 1866 3330 937 16.83 -99.92
+ 1867 3332 937 16.77 -99.75
+ 1868 3376 950 15.78 -96.27
+ 1869 3426 963 14.78 -92.38
+ 1870 3781 738 32.37 -64.68
+ 1871 3598 810 26.70 -78.97
+ 1872 3601 812 26.55 -78.69
+ 1873 3593 823 25.73 -79.30
+ 1874 3617 831 25.05 -77.47
+ 1875 3639 851 23.50 -75.76
+ 1876 3549 873 21.83 -82.78
+ 1877 3554 858 22.98 -82.40
+ 1878 3568 856 23.13 -81.28
+ 1879 3612 878 21.42 -77.85
+ 1880 3621 892 20.33 -77.12
+ 1881 3628 891 20.40 -76.62
+ 1882 3638 896 19.96 -75.85
+ 1883 3647 895 20.08 -75.15
+ 1884 3655 891 20.35 -74.50
+ 1885 3650 888 20.65 -74.92
+ 1886 3565 875 21.62 -81.55
+ 1887 3600 873 21.78 -78.78
+ 1888 3624 884 20.95 -76.94
+ 1889 3647 897 19.90 -75.12
+ 1890 3567 905 19.28 -81.35
+ 1891 3611 915 18.50 -77.92
+ 1892 3626 922 17.93 -76.78
+ 1893 3685 899 19.75 -72.18
+ 1894 3683 914 18.57 -72.30
+ 1895 3705 899 19.75 -70.55
+ 1896 3704 903 19.46 -70.69
+ 1897 3733 914 18.57 -68.37
+ 1898 3717 916 18.43 -69.67
+ 1899 3714 916 18.47 -69.88
+ 1900 3749 915 18.50 -67.12
+ 1901 3749 918 18.27 -67.15
+ 1902 3756 921 18.02 -66.57
+ 1903 3764 916 18.43 -66.00
+ 1904 3777 917 18.33 -64.97
+ 1905 3779 925 17.70 -64.80
+ 1906 3783 916 18.45 -64.53
+ 1907 3478 928 17.53 -88.30
+ 1908 3458 935 16.92 -89.88
+ 1909 3438 956 15.32 -91.47
+ 1910 3474 951 15.72 -88.60
+ 1911 3450 965 14.58 -90.52
+ 1912 3446 974 13.92 -90.82
+ 1913 3459 978 13.57 -89.83
+ 1914 3468 977 13.70 -89.12
+ 1915 3469 980 13.43 -89.05
+ 1916 3486 982 13.28 -87.67
+ 1917 3509 941 16.46 -85.92
+ 1918 3501 943 16.32 -86.53
+ 1919 3497 951 15.73 -86.87
+ 1920 3489 951 15.72 -87.48
+ 1921 3493 958 15.17 -87.12
+ 1922 3483 954 15.45 -87.93
+ 1923 3536 957 15.22 -83.80
+ 1924 3509 961 14.90 -85.93
+ 1925 3472 963 14.78 -88.78
+ 1926 3480 969 14.33 -88.17
+ 1927 3492 972 14.05 -87.22
+ 1928 3493 982 13.30 -87.18
+ 1929 3541 972 14.05 -83.37
+ 1930 3506 996 12.15 -86.17
+ 1931 3523 1024 9.97 -84.78
+ 1932 3530 1024 10.00 -84.22
+ 1933 3531 1025 9.95 -84.15
+ 1934 3545 1024 10.00 -83.05
+ 1935 3513 1016 10.60 -85.55
+ 1936 3552 1031 9.43 -82.52
+ 1937 3593 1036 9.05 -79.37
+ 1938 3554 1045 8.39 -82.42
+ 1939 3556 1032 9.35 -82.25
+ 1940 3572 1049 8.08 -80.94
+ 1941 3591 1037 8.97 -79.51
+ 1942 3801 919 18.20 -63.05
+ 1943 3813 938 16.75 -62.17
+ 1944 3806 931 17.29 -62.68
+ 1945 3807 932 17.20 -62.58
+ 1946 3818 933 17.12 -61.78
+ 1947 3801 921 18.04 -63.12
+ 1948 3802 928 17.48 -62.98
+ 1949 3804 923 17.90 -62.85
+ 1950 3821 944 16.27 -61.52
+ 1951 3824 953 15.53 -61.30
+ 1952 3823 953 15.53 -61.40
+ 1953 3823 956 15.30 -61.40
+ 1954 3847 985 13.07 -59.48
+ 1955 3712 992 12.50 -70.01
+ 1956 3726 996 12.20 -68.97
+ 1957 3735 996 12.15 -68.28
+ 1958 3562 991 12.58 -81.72
+ 1959 3658 1010 11.13 -74.23
+ 1960 3642 1018 10.45 -75.52
+ 1961 3651 1012 10.90 -74.77
+ 1962 3672 1061 7.10 -73.20
+ 1963 3641 1072 6.22 -75.60
+ 1964 3643 1073 6.18 -75.43
+ 1965 3638 1090 4.82 -75.80
+ 1966 3660 1092 4.70 -74.13
+ 1967 3690 1017 10.57 -71.73
+ 1968 3751 1016 10.60 -66.98
+ 1969 3832 1188 -2.83 -60.70
+ 1970 3988 1170 -1.43 -48.48
+ 1971 3841 1192 -3.15 -59.98
+ 1972 4115 1200 -3.78 -38.53
+ 1973 3979 1223 -5.53 -49.15
+ 1974 4060 1217 -5.05 -42.82
+ 1975 4157 1228 -5.92 -35.25
+ 1976 4095 1253 -7.88 -40.08
+ 1977 3791 1263 -8.70 -63.90
+ 1978 3978 1258 -8.27 -49.28
+ 1979 4041 1268 -9.07 -44.37
+ 1980 3989 1289 -10.70 -48.40
+ 1981 4115 1318 -13.00 -38.52
+ 1982 3890 1352 -15.65 -56.10
+ 1983 4005 1446 -23.00 -47.13
+ 1984 3980 1438 -22.32 -49.07
+ 1985 4056 1445 -22.90 -43.17
+ 1986 4011 1454 -23.62 -46.65
+ 1987 3953 1537 -30.08 -51.18
+ 1988 3461 1164 -0.90 -89.62
+ 1989 3606 1154 -0.12 -78.35
+ 1990 3586 1180 -2.15 -79.88
+ 1991 3596 1255 -8.08 -79.12
+ 1992 3623 1306 -12.02 -77.03
+ 1993 3779 1341 -14.75 -64.80
+ 1994 3736 1363 -16.50 -68.17
+ 1995 3703 1579 -33.38 -70.78
+ 1996 3697 1600 -34.97 -71.22
+ 1997 3874 1474 -25.16 -57.38
+ 1998 3853 1503 -27.45 -59.05
+ 1999 3831 1573 -32.92 -60.78
+ 2000 3859 1598 -34.82 -58.53
+ 2001 3745 1738 -45.78 -67.45
+ 2002 2569 871 21.98 -159.35
+ 2003 2585 879 21.32 -158.07
+ 2004 2587 879 21.35 -157.93
+ 2005 2598 881 21.15 -157.10
+ 2006 2606 884 20.90 -156.43
+ 2007 1854 981 13.35 144.80
+ 2008 1866 958 15.12 145.73
+ 2009 2134 905 19.28 166.65
+ 2010 2624 900 19.72 -155.07
+ 2011 1944 1056 7.47 151.85
+ 2012 2026 1063 6.97 158.22
+ 2013 2087 1084 5.33 163.03
+ 2014 2147 1040 8.73 167.73
+ 2015 2194 1061 7.08 171.38
+ 2016 1722 1058 7.33 134.48
+ 2017 1768 1031 9.48 138.08
+ 2018 1859 970 14.20 145.20
+ 2019 1864 960 15.00 145.60
+ 2020 1865 911 18.80 145.70
+ 2021 1725 1048 8.10 134.70
+ 2022 1693 1084 5.30 132.20
+ 2023 1760 1046 8.30 137.50
+ 2024 1790 1024 10.00 139.80
+ 2025 1799 1027 9.80 140.50
+ 2026 1727 1057 7.40 134.90
+ 2027 1851 1042 8.60 144.60
+ 2028 1883 1057 7.40 147.10
+ 2029 1910 1057 7.40 149.20
+ 2030 1917 1042 8.60 149.70
+ 2031 1945 1042 8.60 151.90
+ 2032 1955 1064 6.90 152.70
+ 2033 1969 1082 5.50 153.80
+ 2034 1984 1103 3.80 155.00
+ 2035 2014 1078 5.80 157.30
+ 2036 2022 1062 7.00 157.90
+ 2037 2046 1065 6.80 159.80
+ 2038 2057 1073 6.20 160.70
+ 2039 2080 1001 11.80 162.50
+ 2040 2121 1038 8.90 165.70
+ 2041 2161 1059 7.30 168.80
+ 2042 2171 1076 5.90 169.60
+ 2043 2174 1009 11.20 169.80
+ 2044 2179 1030 9.50 170.20
+ 2045 2200 1074 6.10 171.80
+ 2046 2804 1383 -18.07 -140.95
+ 2047 2238 1626 -37.02 174.80
+ 2048 1676 1311 -12.42 130.87
+ 2049 1955 1506 -27.63 152.72
+ 2050 1485 1561 -31.92 115.97
+ 2051 1936 1587 -33.95 151.18
+ 2052 1854 1634 -37.67 144.83
+ 2053 1907 1605 -35.40 148.98
+ 2054 1888 1700 -42.83 147.50
+ 2055 1368 1231 -6.15 106.85
+ 2056 3494 750 31.42 -87.05
+ 2057 1544 958 15.18 120.57
+ 2058 1549 966 14.52 121.00
+ 2059 1563 1064 6.90 122.07
+ 2060 3615 723 33.49 -77.59
+ 2061 3143 776 29.37 -114.47
+ 2062 3156 636 40.33 -113.50
+ 2063 3591 702 35.17 -79.50
+ 2064 3307 527 48.83 -101.67
+ 2065 4600 586 44.22 -0.67
+ 2066 276 1510 -28.00 21.50
+ 2067 3738 1671 -40.50 -68.00
+ 2068 3847 1502 -27.33 -59.50
+ 2069 1728 1513 -28.23 134.98
+ 2070 4262 657 38.70 -27.10
+ 2071 2691 368 61.20 -149.80
+ 2072 4424 1253 -7.90 -14.40
+ 2073 1784 695 35.70 139.30
+ 2074 3911 526 48.90 -54.50
+ 2075 63 595 43.50 4.90
+ 2076 4495 477 52.70 -8.90
+ 2077 1694 1338 -14.50 132.30
+ 2078 4507 664 38.10 -7.90
+ 2079 1544 842 24.20 120.60
+ 2080 1293 989 12.70 101.00
+ 2081 533 892 20.30 41.60
+ 2082 2424 1335 -14.30 -170.70
+ 2083 3721 1813 -51.60 -69.30
+ 2084 3208 1500 -27.20 -109.40
+ 2085 1133 863 22.60 88.50
+ 2086 4162 1256 -8.10 -34.90
+ 2087 4013 1452 -23.40 -46.50
+ 2088 1023 1060 7.20 79.90
+ 2089 3751 1016 10.60 -67.00
+ 2090 3938 1091 4.80 -52.40
+ 2091 932 907 19.10 72.80
+ 2092 608 1393 -18.80 47.50
+ 2093 3189 740 32.20 -110.90
+ 2094 3289 587 44.10 -103.10
+ 2095 2727 325 64.60 -147.00
+ 2096 3065 706 34.80 -120.60
+ 2097 3097 709 34.60 -118.10
+ 2098 3156 637 40.19 -113.47
+ 2099 887 705 34.95 69.27
+ 2100 4592 476 52.83 -1.32
+ 2101 93 1037 9.01 7.26
+ 2102 3118 850 23.61 -116.48
+ 2103 814 563 46.00 63.56
+ 2104 867 542 47.67 67.73
+ 2105 2611 899 19.73 -156.05
+ 2106 2875 394 59.23 -135.43
+ 2107 2736 369 61.13 -146.25
+ 2108 2600 886 20.78 -156.95
+ 2109 2604 883 21.02 -156.63
+ 2110 3757 923 17.85 -66.52
+ 2111 3749 919 18.17 -67.15
+ 2112 3417 701 35.25 -93.09
+ 2113 1641 1351 -15.51 128.15
+ 2114 4514 416 57.48 -7.36
+ 2115 130 456 54.38 10.13
diff --git a/scripts/exgdas_atmos_chgres_forenkf.sh b/scripts/exgdas_atmos_chgres_forenkf.sh
index 40f702beb2..45c6be973d 100755
--- a/scripts/exgdas_atmos_chgres_forenkf.sh
+++ b/scripts/exgdas_atmos_chgres_forenkf.sh
@@ -17,7 +17,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -40,7 +40,7 @@ export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
-export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
# IAU
DOIAU=${DOIAU:-"NO"}
@@ -48,7 +48,7 @@ export IAUFHRS=${IAUFHRS:-"6"}
# Dependent Scripts and Executables
export APRUN_CHGRES=${APRUN_CHGRES:-${APRUN:-""}}
-export CHGRESNCEXEC=${CHGRESNCEXEC:-$HOMEgfs/exec/enkf_chgres_recenter_nc.x}
+export CHGRESNCEXEC=${CHGRESNCEXEC:-${EXECgfs}/enkf_chgres_recenter_nc.x}
export NTHREADS_CHGRES=${NTHREADS_CHGRES:-1}
APRUNCFP=${APRUNCFP:-""}
diff --git a/scripts/exgdas_atmos_gempak_gif_ncdc.sh b/scripts/exgdas_atmos_gempak_gif_ncdc.sh
index 63a7475a0e..1fb9c94ccf 100755
--- a/scripts/exgdas_atmos_gempak_gif_ncdc.sh
+++ b/scripts/exgdas_atmos_gempak_gif_ncdc.sh
@@ -10,7 +10,7 @@ source "$HOMEgfs/ush/preamble.sh"
cd $DATA
-export NTS=$USHgempak/restore
+export NTS=${HOMEgfs}/gempak/ush/restore
if [ $MODEL = GDAS ]
then
@@ -47,9 +47,9 @@ then
if [ $cyc -eq 00 -o $cyc -eq 12 ]
then
- $USHgempak/gempak_${RUN}_f${fhr}_gif.sh
- if [ ! -f $USHgempak/gempak_${RUN}_f${fhr}_gif.sh ] ; then
- echo "WARNING: $USHgempak/gempak_${RUN}_f${fhr}_gif.sh FILE is missing"
+ ${HOMEgfs}/gempak/ush/gempak_${RUN}_f${fhr}_gif.sh
+ if [ ! -f ${HOMEgfs}/gempak/ush/gempak_${RUN}_f${fhr}_gif.sh ] ; then
+ echo "WARNING: ${HOMEgfs}/gempak/ush/gempak_${RUN}_f${fhr}_gif.sh FILE is missing"
fi
fi
diff --git a/scripts/exgdas_atmos_nawips.sh b/scripts/exgdas_atmos_nawips.sh
index 83781bac5b..64a2b21e39 100755
--- a/scripts/exgdas_atmos_nawips.sh
+++ b/scripts/exgdas_atmos_nawips.sh
@@ -10,7 +10,7 @@
# echo " data on the CCS is properly protected."
#####################################################################
-source "$HOMEgfs/ush/preamble.sh" "${2}"
+source "${USHgfs}/preamble.sh" "${2}"
cd $DATA
RUN2=$1
diff --git a/scripts/exgdas_atmos_verfozn.sh b/scripts/exgdas_atmos_verfozn.sh
index 1810fdef5d..e681fc55c5 100755
--- a/scripts/exgdas_atmos_verfozn.sh
+++ b/scripts/exgdas_atmos_verfozn.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
# exgdas_atmos_verfozn.sh
diff --git a/scripts/exgdas_atmos_verfrad.sh b/scripts/exgdas_atmos_verfrad.sh
index 1ff01ccfa9..bad8715acd 100755
--- a/scripts/exgdas_atmos_verfrad.sh
+++ b/scripts/exgdas_atmos_verfrad.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
@@ -131,15 +131,6 @@ if [[ -s ${radstat} && -s ${biascr} ]]; then
"${USHgfs}/radmon_verf_time.sh"
rc_time=$?
- #--------------------------------------
- # optionally run clean_tankdir script
- #
- if [[ ${CLEAN_TANKVERF:-0} -eq 1 ]]; then
- "${USHradmon}/clean_tankdir.sh" glb 60
- rc_clean_tankdir=$?
- echo "rc_clean_tankdir = ${rc_clean_tankdir}"
- fi
-
fi
diff --git a/scripts/exgdas_enkf_earc.sh b/scripts/exgdas_enkf_earc.sh
index 199b5609a2..3e54c658e9 100755
--- a/scripts/exgdas_enkf_earc.sh
+++ b/scripts/exgdas_enkf_earc.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
##############################################
# Begin JOB SPECIFIC work
@@ -15,16 +15,16 @@ if [ "${EARCICS_CYC}" -lt 0 ]; then
EARCICS_CYC=$((EARCICS_CYC+24))
fi
-"${HOMEgfs}/ush/hpssarch_gen.sh" "${RUN}"
+"${USHgfs}/hpssarch_gen.sh" "${RUN}"
status=$?
if [ "${status}" -ne 0 ]; then
- echo "${HOMEgfs}/ush/hpssarch_gen.sh ${RUN} failed, ABORT!"
+ echo "${USHgfs}/hpssarch_gen.sh ${RUN} failed, ABORT!"
exit "${status}"
fi
cd "${ROTDIR}" || exit 2
-source "${HOMEgfs}/ush/file_utils.sh"
+source "${USHgfs}/file_utils.sh"
###################################################################
# ENSGRP > 0 archives a group of ensemble members
diff --git a/scripts/exgdas_enkf_ecen.sh b/scripts/exgdas_enkf_ecen.sh
index 59021debaa..ff25c78b7c 100755
--- a/scripts/exgdas_enkf_ecen.sh
+++ b/scripts/exgdas_enkf_ecen.sh
@@ -17,7 +17,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -31,16 +31,16 @@ ntiles=${ntiles:-6}
# Utilities
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
-NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
# Scripts
# Executables.
-GETATMENSMEANEXEC=${GETATMENSMEANEXEC:-$HOMEgfs/exec/getsigensmeanp_smooth.x}
-GETSFCENSMEANEXEC=${GETSFCENSMEANEXEC:-$HOMEgfs/exec/getsfcensmeanp.x}
-RECENATMEXEC=${RECENATMEXEC:-$HOMEgfs/exec/recentersigp.x}
-CALCINCNEMSEXEC=${CALCINCNEMSEXEC:-$HOMEgfs/exec/calc_increment_ens.x}
-CALCINCNCEXEC=${CALCINCEXEC:-$HOMEgfs/exec/calc_increment_ens_ncio.x}
+GETATMENSMEANEXEC=${GETATMENSMEANEXEC:-${EXECgfs}/getsigensmeanp_smooth.x}
+GETSFCENSMEANEXEC=${GETSFCENSMEANEXEC:-${EXECgfs}/getsfcensmeanp.x}
+RECENATMEXEC=${RECENATMEXEC:-${EXECgfs}/recentersigp.x}
+CALCINCNEMSEXEC=${CALCINCNEMSEXEC:-${EXECgfs}/calc_increment_ens.x}
+CALCINCNCEXEC=${CALCINCEXEC:-${EXECgfs}/calc_increment_ens_ncio.x}
# Files.
OPREFIX=${OPREFIX:-""}
@@ -66,14 +66,14 @@ else
fi
# global_chgres stuff
-CHGRESNEMS=${CHGRESNEMS:-$HOMEgfs/exec/enkf_chgres_recenter.x}
-CHGRESNC=${CHGRESNC:-$HOMEgfs/exec/enkf_chgres_recenter_nc.x}
+CHGRESNEMS=${CHGRESNEMS:-${EXECgfs}/enkf_chgres_recenter.x}
+CHGRESNC=${CHGRESNC:-${EXECgfs}/enkf_chgres_recenter_nc.x}
NTHREADS_CHGRES=${NTHREADS_CHGRES:-24}
APRUN_CHGRES=${APRUN_CHGRES:-""}
# global_cycle stuff
-CYCLESH=${CYCLESH:-$HOMEgfs/ush/global_cycle.sh}
-export CYCLEXEC=${CYCLEXEC:-$HOMEgfs/exec/global_cycle}
+CYCLESH=${CYCLESH:-${USHgfs}/global_cycle.sh}
+export CYCLEXEC=${CYCLEXEC:-${EXECgfs}/global_cycle}
APRUN_CYCLE=${APRUN_CYCLE:-${APRUN:-""}}
NTHREADS_CYCLE=${NTHREADS_CYCLE:-${NTHREADS:-1}}
export CYCLVARS=${CYCLVARS:-"FSNOL=-2.,FSNOS=99999.,"}
diff --git a/scripts/exgdas_enkf_post.sh b/scripts/exgdas_enkf_post.sh
index f240ae561d..1819502c45 100755
--- a/scripts/exgdas_enkf_post.sh
+++ b/scripts/exgdas_enkf_post.sh
@@ -17,7 +17,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -37,8 +37,8 @@ LEVS=${LEVS:-64}
HYBENSMOOTH=${HYBENSMOOTH:-${FIXgfs}/gsi/global_hybens_smoothinfo.l${LEVS}.txt}
# Executables.
-GETATMENSMEANEXEC=${GETATMENSMEANEXEC:-$HOMEgfs/exec/getsigensmeanp_smooth.x}
-GETSFCENSMEANEXEC=${GETSFCENSMEANEXEC:-$HOMEgfs/exec/getsfcensmeanp.x}
+GETATMENSMEANEXEC=${GETATMENSMEANEXEC:-${EXECgfs}/getsigensmeanp_smooth.x}
+GETSFCENSMEANEXEC=${GETSFCENSMEANEXEC:-${EXECgfs}/getsfcensmeanp.x}
# Other variables.
PREFIX=${PREFIX:-""}
diff --git a/scripts/exgdas_enkf_select_obs.sh b/scripts/exgdas_enkf_select_obs.sh
index 2ad624bcdb..782838df6d 100755
--- a/scripts/exgdas_enkf_select_obs.sh
+++ b/scripts/exgdas_enkf_select_obs.sh
@@ -17,7 +17,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -26,7 +26,7 @@ pwd=$(pwd)
export NLN=${NLN:-"/bin/ln -sf"}
# Scripts.
-ANALYSISSH=${ANALYSISSH:-$HOMEgfs/scripts/exglobal_atmos_analysis.sh}
+ANALYSISSH=${ANALYSISSH:-${SCRgfs}/exglobal_atmos_analysis.sh}
# Select obs
export RUN_SELECT=${RUN_SELECT:-"YES"}
diff --git a/scripts/exgdas_enkf_sfc.sh b/scripts/exgdas_enkf_sfc.sh
index 085ab35351..85d0b2187d 100755
--- a/scripts/exgdas_enkf_sfc.sh
+++ b/scripts/exgdas_enkf_sfc.sh
@@ -17,7 +17,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -31,7 +31,7 @@ ntiles=${ntiles:-6}
# Utilities
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
-NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
# Scripts
@@ -50,8 +50,8 @@ NMEM_ENS=${NMEM_ENS:-80}
DOIAU=${DOIAU_ENKF:-"NO"}
# Global_cycle stuff
-CYCLESH=${CYCLESH:-$HOMEgfs/ush/global_cycle.sh}
-export CYCLEXEC=${CYCLEXEC:-$HOMEgfs/exec/global_cycle}
+CYCLESH=${CYCLESH:-${USHgfs}/global_cycle.sh}
+export CYCLEXEC=${CYCLEXEC:-${EXECgfs}/global_cycle}
APRUN_CYCLE=${APRUN_CYCLE:-${APRUN:-""}}
NTHREADS_CYCLE=${NTHREADS_CYCLE:-${NTHREADS:-1}}
export CYCLVARS=${CYCLVARS:-"FSNOL=-2.,FSNOS=99999.,"}
diff --git a/scripts/exgdas_enkf_update.sh b/scripts/exgdas_enkf_update.sh
index 60d2592e4d..a23a892914 100755
--- a/scripts/exgdas_enkf_update.sh
+++ b/scripts/exgdas_enkf_update.sh
@@ -17,7 +17,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -25,7 +25,7 @@ pwd=$(pwd)
# Utilities
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
-NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
USE_CFP=${USE_CFP:-"NO"}
CFP_MP=${CFP_MP:-"NO"}
nm=""
@@ -37,7 +37,7 @@ APRUN_ENKF=${APRUN_ENKF:-${APRUN:-""}}
NTHREADS_ENKF=${NTHREADS_ENKF:-${NTHREADS:-1}}
# Executables
-ENKFEXEC=${ENKFEXEC:-$HOMEgfs/exec/enkf.x}
+ENKFEXEC=${ENKFEXEC:-${EXECgfs}/enkf.x}
# Cycling and forecast hour specific parameters
CDATE=${CDATE:-"2001010100"}
diff --git a/scripts/exgfs_atmos_awips_20km_1p0deg.sh b/scripts/exgfs_atmos_awips_20km_1p0deg.sh
index 7546f3cabe..490875b2c4 100755
--- a/scripts/exgfs_atmos_awips_20km_1p0deg.sh
+++ b/scripts/exgfs_atmos_awips_20km_1p0deg.sh
@@ -19,7 +19,7 @@
# echo " "
###############################################################################
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
fcsthrs="$1"
num=$#
@@ -38,7 +38,7 @@ fi
cd "${DATA}" || exit 2
# "Import" functions used in this script
-source "${HOMEgfs}/ush/product_functions.sh"
+source "${USHgfs}/product_functions.sh"
###############################################
# Wait for the availability of the pgrb file
@@ -91,7 +91,7 @@ export opt28=' -new_grid_interpolation budget -fi '
cp "${COM_ATMOS_GRIB_0p25}/gfs.t${cyc}z.pgrb2.0p25.f${fcsthrs}" "tmpfile2${fcsthrs}"
cp "${COM_ATMOS_GRIB_0p25}/gfs.t${cyc}z.pgrb2b.0p25.f${fcsthrs}" "tmpfile2b${fcsthrs}"
cat "tmpfile2${fcsthrs}" "tmpfile2b${fcsthrs}" > "tmpfile${fcsthrs}"
-${WGRIB2} "tmpfile${fcsthrs}" | grep -F -f "${PARMproduct}/gfs_awips_parmlist_g2" | \
+${WGRIB2} "tmpfile${fcsthrs}" | grep -F -f "${PARMgfs}/product/gfs_awips_parmlist_g2" | \
${WGRIB2} -i -grib masterfile "tmpfile${fcsthrs}"
export err=$?
if [[ $err -ne 0 ]]; then
@@ -179,7 +179,7 @@ for GRID in conus ak prico pac 003; do
export FORT31="awps_file_fi${fcsthrs}_${GRID}"
export FORT51="grib2.awpgfs${fcsthrs}.${GRID}"
- cp "${PARMwmo}/grib2_awpgfs${fcsthrs}.${GRID}" "parm_list"
+ cp "${PARMgfs}/wmo/grib2_awpgfs${fcsthrs}.${GRID}" "parm_list"
if [[ ${DO_WAVE} != "YES" ]]; then
# Remove wave field it not running wave model
grep -vw "5WAVH" "parm_list" > "parm_list_temp"
@@ -213,7 +213,7 @@ for GRID in conus ak prico pac 003; do
export FORT31="awps_file_fi${fcsthrs}_${GRID}"
export FORT51="grib2.awpgfs_20km_${GRID}_f${fcsthrs}"
- cp "${PARMwmo}/grib2_awpgfs_20km_${GRID}f${fcsthrs}" "parm_list"
+ cp "${PARMgfs}/wmo/grib2_awpgfs_20km_${GRID}f${fcsthrs}" "parm_list"
if [[ ${DO_WAVE} != "YES" ]]; then
# Remove wave field it not running wave model
grep -vw "5WAVH" "parm_list" > "parm_list_temp"
diff --git a/scripts/exgfs_atmos_fbwind.sh b/scripts/exgfs_atmos_fbwind.sh
index 735a906bff..de8e448a01 100755
--- a/scripts/exgfs_atmos_fbwind.sh
+++ b/scripts/exgfs_atmos_fbwind.sh
@@ -14,7 +14,7 @@
# echo " Nov 2019 - B Vuong Removed WINTEMV bulletin (retired)"
#####################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
cd $DATA
@@ -42,7 +42,7 @@ do
cp $COMIN/gfs.${cycle}.pgrb2.0p25.f${fhr} tmp_pgrb2_0p25${fhr}
cp $COMIN/gfs.${cycle}.pgrb2b.0p25.f${fhr} tmp_pgrb2b_0p25${fhr}
cat tmp_pgrb2_0p25${fhr} tmp_pgrb2b_0p25${fhr} > tmp0p25filef${fhr}
- $WGRIB2 tmp0p25filef${fhr} | grep -F -f $PARMproduct/gfs_fbwnd_parmlist_g2 | $WGRIB2 -i -grib tmpfilef${fhr} tmp0p25filef${fhr}
+ $WGRIB2 tmp0p25filef${fhr} | grep -F -f ${PARMgfs}/product/gfs_fbwnd_parmlist_g2 | $WGRIB2 -i -grib tmpfilef${fhr} tmp0p25filef${fhr}
$CNVGRIB -g21 tmpfilef${fhr} tmpfilef${fhr}.grib1
$GRBINDEX tmpfilef${fhr}.grib1 tmpfilef${fhr}.grib1i
mv tmpfilef${fhr}.grib1 gfs.t${cyc}z.grbf${fhr}_grb1
@@ -68,7 +68,7 @@ export FORT51="tran.fbwnd_pacific"
startmsg
-$EXECgfs/fbwndgfs < $PARMproduct/fbwnd_pacific.stnlist >> $pgmout 2> errfile
+$EXECgfs/fbwndgfs < ${PARMgfs}/product/fbwnd_pacific.stnlist >> $pgmout 2> errfile
export err=$?; err_chk
diff --git a/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh b/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
index 2dd7fa886a..89de036fcb 100755
--- a/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
+++ b/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
@@ -11,7 +11,7 @@ source "$HOMEgfs/ush/preamble.sh"
cd $DATA
-export NTS=$USHgempak/restore
+export NTS=${HOMEgfs}/gempak/ush/restore
if [ $MODEL = GDAS -o $MODEL = GFS ]
then
@@ -48,7 +48,7 @@ then
# if [ $cyc -eq 00 -o $cyc -eq 12 ]
#then
- $USHgempak/gempak_${RUN}_f${fhr}_gif.sh
+ ${HOMEgfs}/gempak/ush/gempak_${RUN}_f${fhr}_gif.sh
#fi
done
diff --git a/scripts/exgfs_atmos_goes_nawips.sh b/scripts/exgfs_atmos_goes_nawips.sh
index 137feec7c2..ed82082e8a 100755
--- a/scripts/exgfs_atmos_goes_nawips.sh
+++ b/scripts/exgfs_atmos_goes_nawips.sh
@@ -11,7 +11,7 @@
# echo "C. Magee: 10/2013 - swap X and Y for rtgssthr Atl and Pac."
#####################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
cd $DATA
diff --git a/scripts/exgfs_atmos_grib2_special_npoess.sh b/scripts/exgfs_atmos_grib2_special_npoess.sh
index a43c279ae6..1b01aed24d 100755
--- a/scripts/exgfs_atmos_grib2_special_npoess.sh
+++ b/scripts/exgfs_atmos_grib2_special_npoess.sh
@@ -7,7 +7,7 @@
# echo "-----------------------------------------------------"
#####################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
cd $DATA
@@ -122,7 +122,7 @@ for (( fhr=$((10#${SHOUR})); fhr <= $((10#${FHOUR})); fhr = fhr + FHINC )); do
######################################################################
# Process Global NPOESS 0.50 GFS GRID PRODUCTS IN GRIB2 F000 - F024 #
######################################################################
- paramlist=${PARMproduct}/global_npoess_paramlist_g2
+ paramlist=${PARMgfs}/product/global_npoess_paramlist_g2
cp "${COM_ATMOS_GRIB_0p50}/gfs.t${cyc}z.pgrb2.0p50.f${fhr3}" tmpfile2
cp "${COM_ATMOS_GRIB_0p50}/gfs.t${cyc}z.pgrb2b.0p50.f${fhr3}" tmpfile2b
cat tmpfile2 tmpfile2b > tmpfile
diff --git a/scripts/exgfs_atmos_grib_awips.sh b/scripts/exgfs_atmos_grib_awips.sh
index 037b4ce191..bdfc625dce 100755
--- a/scripts/exgfs_atmos_grib_awips.sh
+++ b/scripts/exgfs_atmos_grib_awips.sh
@@ -21,7 +21,7 @@
# echo " FEB 2019 - Removed grid 225"
#####################################################################
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
fcsthrs="$1"
num=$#
@@ -40,7 +40,7 @@ fi
cd "${DATA}/awips_g1" || exit 2
# "Import" functions used in this script
-source "${HOMEgfs}/ush/product_functions.sh"
+source "${USHgfs}/product_functions.sh"
###############################################
# Wait for the availability of the pgrb file
@@ -75,14 +75,14 @@ set_trace
cp "${COM_ATMOS_GRIB_0p25}/gfs.t${cyc}z.pgrb2.0p25.f${fcsthrs}" "tmpfile2"
cp "${COM_ATMOS_GRIB_0p25}/gfs.t${cyc}z.pgrb2b.0p25.f${fcsthrs}" "tmpfile2b"
cat tmpfile2 tmpfile2b > tmpfile
-${WGRIB2} tmpfile | grep -F -f "${PARMproduct}/gfs_awips_parmlist_g2" | \
+${WGRIB2} tmpfile | grep -F -f "${PARMgfs}/product/gfs_awips_parmlist_g2" | \
${WGRIB2} -i -grib masterfile tmpfile
scale_dec masterfile
${CNVGRIB} -g21 masterfile masterfile.grib1
ln -s masterfile.grib1 fort.11
-"${HOMEgfs}/exec/overgridid.x" << EOF
+"${EXECgfs}/overgridid.x" << EOF
255
EOF
@@ -105,8 +105,8 @@ export GRID=211
export FORT11="master.grbf${fcsthrs}"
export FORT31="master.grbif${fcsthrs}"
export FORT51="xtrn.awpgfs${fcsthrs}.${GRID}"
-# $MKGFSAWPS < $PARMwmo/grib_awpgfs${fcsthrs}.${GRID} parm=KWBC >> $pgmout 2>errfile
-"${HOMEgfs}/exec/mkgfsawps.x" < "${PARMwmo}/grib_awpgfs${fcsthrs}.${GRID}" parm=KWBC >> "${pgmout}" 2>errfile
+# $MKGFSAWPS < ${PARMgfs}/wmo/grib_awpgfs${fcsthrs}.${GRID} parm=KWBC >> $pgmout 2>errfile
+"${EXECgfs}/mkgfsawps.x" < "${PARMgfs}/wmo/grib_awpgfs${fcsthrs}.${GRID}" parm=KWBC >> "${pgmout}" 2>errfile
export err=$?; err_chk
##############################
# Post Files to ${COM_ATMOS_WMO}
diff --git a/scripts/exgfs_atmos_nawips.sh b/scripts/exgfs_atmos_nawips.sh
index d03ec9cef6..36c3c8e74a 100755
--- a/scripts/exgfs_atmos_nawips.sh
+++ b/scripts/exgfs_atmos_nawips.sh
@@ -10,7 +10,7 @@
# echo " data on the CCS is properly protected."
#####################################################################
-source "${HOMEgfs}/ush/preamble.sh" "${2}"
+source "${USHgfs}/preamble.sh" "${2}"
#### If EMC GFS PARA runs hourly file are not available, The ILPOST
#### will set to 3 hour in EMC GFS PARA.
@@ -28,7 +28,7 @@ mkdir -p "${DATA_RUN}"
cd "${DATA_RUN}" || exit 1
# "Import" functions used in this script
-source "${HOMEgfs}/ush/product_functions.sh"
+source "${USHgfs}/product_functions.sh"
#
NAGRIB="${GEMEXE}/nagrib2"
diff --git a/scripts/exgfs_atmos_postsnd.sh b/scripts/exgfs_atmos_postsnd.sh
index 368f001ed0..7aa97f3644 100755
--- a/scripts/exgfs_atmos_postsnd.sh
+++ b/scripts/exgfs_atmos_postsnd.sh
@@ -20,7 +20,7 @@
# 9) 2019-12-18 Guang Ping Lou generalizing to reading in NetCDF or nemsio
################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
cd $DATA
@@ -44,7 +44,7 @@ export NINT3=${FHOUT_GFS:-3}
rm -f -r "${COM_ATMOS_BUFR}"
mkdir -p "${COM_ATMOS_BUFR}"
-GETDIM="${HOMEgfs}/ush/getncdimlen"
+GETDIM="${USHgfs}/getncdimlen"
LEVS=$(${GETDIM} "${COM_ATMOS_HISTORY}/${RUN}.${cycle}.atmf000.${atmfm}" pfull)
declare -x LEVS
@@ -88,8 +88,7 @@ export FINT=$NINT1
if [ $FEND -gt $NEND1 ]; then
export FINT=$NINT3
fi
-## $USHbufrsnd/gfs_bufr.sh
- $USHbufrsnd/gfs_bufr.sh
+ ${USHgfs}/gfs_bufr.sh
export FSTART=$FEND
done
@@ -115,7 +114,7 @@ fi
########################################
rm -rf poe_col
for (( m = 1; m <10 ; m++ )); do
- echo "sh ${USHbufrsnd}/gfs_sndp.sh ${m} " >> poe_col
+ echo "sh ${USHgfs}/gfs_sndp.sh ${m} " >> poe_col
done
if [[ ${CFP_MP:-"NO"} == "YES" ]]; then
@@ -129,7 +128,7 @@ chmod +x cmdfile
${APRUN_POSTSNDCFP} cmdfile
-sh "${USHbufrsnd}/gfs_bfr2gpk.sh"
+sh "${USHgfs}/gfs_bfr2gpk.sh"
############## END OF SCRIPT #######################
diff --git a/scripts/exgfs_pmgr.sh b/scripts/exgfs_pmgr.sh
index a417bbed55..c3b9a5befa 100755
--- a/scripts/exgfs_pmgr.sh
+++ b/scripts/exgfs_pmgr.sh
@@ -6,7 +6,7 @@
# This script monitors the progress of the gfs_fcst job
#
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
hour=00
TEND=384
diff --git a/scripts/exgfs_prdgen_manager.sh b/scripts/exgfs_prdgen_manager.sh
index 7d0a95696b..01e8c58c87 100755
--- a/scripts/exgfs_prdgen_manager.sh
+++ b/scripts/exgfs_prdgen_manager.sh
@@ -6,7 +6,7 @@
# This script monitors the progress of the gfs_fcst job
#
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
hour=00
TEND=384
diff --git a/scripts/exgfs_wave_init.sh b/scripts/exgfs_wave_init.sh
index 22da372a2a..79c2931889 100755
--- a/scripts/exgfs_wave_init.sh
+++ b/scripts/exgfs_wave_init.sh
@@ -26,7 +26,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -127,9 +127,9 @@ source "${HOMEgfs}/ush/preamble.sh"
[[ ! -d "${COM_WAVE_PREP}" ]] && mkdir -m 775 -p "${COM_WAVE_PREP}"
if [ ${CFP_MP:-"NO"} = "YES" ]; then
- echo "$nmoddef $USHwave/wave_grid_moddef.sh $grdID > $grdID.out 2>&1" >> cmdfile
+ echo "$nmoddef ${USHgfs}/wave_grid_moddef.sh $grdID > $grdID.out 2>&1" >> cmdfile
else
- echo "$USHwave/wave_grid_moddef.sh $grdID > $grdID.out 2>&1" >> cmdfile
+ echo "${USHgfs}/wave_grid_moddef.sh $grdID > $grdID.out 2>&1" >> cmdfile
fi
nmoddef=$(expr $nmoddef + 1)
diff --git a/scripts/exgfs_wave_nawips.sh b/scripts/exgfs_wave_nawips.sh
index 9145a30a2f..69c4e54ebb 100755
--- a/scripts/exgfs_wave_nawips.sh
+++ b/scripts/exgfs_wave_nawips.sh
@@ -11,7 +11,7 @@
# March-2020 Roberto.Padilla@noaa.gov
#####################################################################
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
#export grids=${grids:-'glo_30m at_10m ep_10m wc_10m ao_9km'} #Interpolated grids
export grids=${grids:-'glo_30m'} #Native grids
diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh
index af362b1c45..be17967865 100755
--- a/scripts/exgfs_wave_post_gridded_sbs.sh
+++ b/scripts/exgfs_wave_post_gridded_sbs.sh
@@ -30,7 +30,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -139,9 +139,9 @@ source "$HOMEgfs/ush/preamble.sh"
then
for intGRD in $waveinterpGRD
do
- if [ -f $PARMwave/${intGRD}_interp.inp.tmpl ]
+ if [ -f ${PARMgfs}/wave/${intGRD}_interp.inp.tmpl ]
then
- cp -f $PARMwave/${intGRD}_interp.inp.tmpl ${intGRD}_interp.inp.tmpl
+ cp -f ${PARMgfs}/wave/${intGRD}_interp.inp.tmpl ${intGRD}_interp.inp.tmpl
fi
if [ -f ${intGRD}_interp.inp.tmpl ]
@@ -168,9 +168,9 @@ source "$HOMEgfs/ush/preamble.sh"
then
for grbGRD in $waveinterpGRD $wavepostGRD
do
- if [ -f $PARMwave/ww3_grib2.${grbGRD}.inp.tmpl ]
+ if [ -f ${PARMgfs}/wave/ww3_grib2.${grbGRD}.inp.tmpl ]
then
- cp -f $PARMwave/ww3_grib2.${grbGRD}.inp.tmpl ww3_grib2.${grbGRD}.inp.tmpl
+ cp -f ${PARMgfs}/wave/ww3_grib2.${grbGRD}.inp.tmpl ww3_grib2.${grbGRD}.inp.tmpl
fi
if [ -f ww3_grib2.${grbGRD}.inp.tmpl ]
@@ -279,7 +279,7 @@ source "$HOMEgfs/ush/preamble.sh"
for grdID in $waveinterpGRD
do
ymdh_int=$($NDATE -${WAVHINDH} $ymdh); dt_int=3600.; n_int=9999 ;
- echo "$USHwave/wave_grid_interp_sbs.sh $grdID $ymdh_int $dt_int $n_int > grint_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd}
+ echo "${USHgfs}/wave_grid_interp_sbs.sh $grdID $ymdh_int $dt_int $n_int > grint_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd}
if [ "$DOGRB_WAV" = 'YES' ]
then
gribFL=\'$(echo ${OUTPARS_WAV})\'
@@ -296,7 +296,7 @@ source "$HOMEgfs/ush/preamble.sh"
wc_10m) GRDNAME='wcoast' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;;
ak_10m) GRDNAME='alaska' ; GRDRES=0p16 ; GRIDNR=255 ; MODNR=11 ;;
esac
- echo "$USHwave/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd}
+ echo "${USHgfs}/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdigrd}.${nigrd}
fi
echo "${GRIBDATA}/${fcmdigrd}.${nigrd}" >> ${fcmdnow}
chmod 744 ${fcmdigrd}.${nigrd}
@@ -325,7 +325,7 @@ source "$HOMEgfs/ush/preamble.sh"
glo_500) GRDNAME='global' ; GRDRES=5p00 ; 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}
+ echo "${USHgfs}/wave_grib2_sbs.sh $grdID $GRIDNR $MODNR $ymdh $fhr $GRDNAME $GRDRES $gribFL > grib_$grdID.out 2>&1" >> ${fcmdnow}
done
fi
diff --git a/scripts/exgfs_wave_post_pnt.sh b/scripts/exgfs_wave_post_pnt.sh
index c085c48f30..bc4c85ec74 100755
--- a/scripts/exgfs_wave_post_pnt.sh
+++ b/scripts/exgfs_wave_post_pnt.sh
@@ -32,7 +32,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -151,13 +151,13 @@ source "$HOMEgfs/ush/preamble.sh"
rm -f buoy.loc
- if [ -f $PARMwave/wave_${NET}.buoys ]
+ if [ -f ${PARMgfs}/wave/wave_${NET}.buoys ]
then
- cp -f $PARMwave/wave_${NET}.buoys buoy.loc.temp
+ cp -f ${PARMgfs}/wave/wave_${NET}.buoys buoy.loc.temp
if [ "$DOBNDPNT_WAV" = YES ]; then
#only do boundary points
sed -n '/^\$.*/!p' buoy.loc.temp | grep IBP > buoy.loc || {
- echo "WARNING: No boundary points found in buoy file ${PARMwave}/wave_${NET}.buoys"
+ echo "WARNING: No boundary points found in buoy file ${PARMgfs}/wave/wave_${NET}.buoys"
echo " Ending job without doing anything."
exit 0
}
@@ -170,7 +170,7 @@ source "$HOMEgfs/ush/preamble.sh"
if [ -s buoy.loc ]
then
set +x
- echo " buoy.loc and buoy.ibp copied and processed ($PARMwave/wave_${NET}.buoys)."
+ echo " buoy.loc and buoy.ibp copied and processed (${PARMgfs}/wave/wave_${NET}.buoys)."
set_trace
else
set +x
@@ -188,9 +188,9 @@ source "$HOMEgfs/ush/preamble.sh"
# 1.d Input template files
- if [ -f $PARMwave/ww3_outp_spec.inp.tmpl ]
+ if [ -f ${PARMgfs}/wave/ww3_outp_spec.inp.tmpl ]
then
- cp -f $PARMwave/ww3_outp_spec.inp.tmpl ww3_outp_spec.inp.tmpl
+ cp -f ${PARMgfs}/wave/ww3_outp_spec.inp.tmpl ww3_outp_spec.inp.tmpl
fi
if [ -f ww3_outp_spec.inp.tmpl ]
@@ -211,9 +211,9 @@ source "$HOMEgfs/ush/preamble.sh"
DOBLL_WAV='NO'
fi
- if [ -f $PARMwave/ww3_outp_bull.inp.tmpl ]
+ if [ -f ${PARMgfs}/wave/ww3_outp_bull.inp.tmpl ]
then
- cp -f $PARMwave/ww3_outp_bull.inp.tmpl ww3_outp_bull.inp.tmpl
+ cp -f ${PARMgfs}/wave/ww3_outp_bull.inp.tmpl ww3_outp_bull.inp.tmpl
fi
if [ -f ww3_outp_bull.inp.tmpl ]
@@ -266,7 +266,7 @@ source "$HOMEgfs/ush/preamble.sh"
ln -fs ./out_pnt.${waveuoutpGRD} ./out_pnt.ww3
ln -fs ./mod_def.${waveuoutpGRD} ./mod_def.ww3
export pgm=ww3_outp;. prep_step
- $EXECwave/ww3_outp > buoy_lst.loc 2>&1
+ ${EXECgfs}/ww3_outp > buoy_lst.loc 2>&1
export err=$?;err_chk
@@ -387,7 +387,7 @@ source "$HOMEgfs/ush/preamble.sh"
export dtspec=3600.
for buoy in $buoys
do
- echo "$USHwave/wave_outp_spec.sh $buoy $ymdh spec $SPECDATA > $SPECDATA/spec_$buoy.out 2>&1" >> tmpcmdfile.$FH3
+ echo "${USHgfs}/wave_outp_spec.sh $buoy $ymdh spec $SPECDATA > $SPECDATA/spec_$buoy.out 2>&1" >> tmpcmdfile.$FH3
done
fi
@@ -396,7 +396,7 @@ source "$HOMEgfs/ush/preamble.sh"
export dtspec=3600.
for buoy in $buoys
do
- echo "$USHwave/wave_outp_spec.sh $buoy $ymdh bull $SPECDATA > $SPECDATA/bull_$buoy.out 2>&1" >> tmpcmdfile.$FH3
+ echo "${USHgfs}/wave_outp_spec.sh $buoy $ymdh bull $SPECDATA > $SPECDATA/bull_$buoy.out 2>&1" >> tmpcmdfile.$FH3
done
fi
@@ -514,7 +514,7 @@ source "$HOMEgfs/ush/preamble.sh"
then
for buoy in $buoys
do
- echo "$USHwave/wave_outp_cat.sh $buoy $FHMAX_WAV_PNT spec > ${CATOUTDIR}/spec_cat_$buoy.out 2>&1" >> cmdfile.bouy
+ echo "${USHgfs}/wave_outp_cat.sh $buoy $FHMAX_WAV_PNT spec > ${CATOUTDIR}/spec_cat_$buoy.out 2>&1" >> cmdfile.bouy
done
fi
@@ -522,7 +522,7 @@ source "$HOMEgfs/ush/preamble.sh"
then
for buoy in $buoys
do
- echo "$USHwave/wave_outp_cat.sh $buoy $FHMAX_WAV_PNT bull > ${CATOUTDIR}/bull_cat_$buoy.out 2>&1" >> cmdfile.bouy
+ echo "${USHgfs}/wave_outp_cat.sh $buoy $FHMAX_WAV_PNT bull > ${CATOUTDIR}/bull_cat_$buoy.out 2>&1" >> cmdfile.bouy
done
fi
@@ -614,43 +614,43 @@ source "$HOMEgfs/ush/preamble.sh"
if [ ${CFP_MP:-"NO"} = "YES" ] && [ "$DOBLL_WAV" = "YES" ]; then
if [ "$DOBNDPNT_WAV" = YES ]; then
if [ "$DOSPC_WAV" = YES ]; then
- echo "$nm $USHwave/wave_tar.sh $WAV_MOD_TAG ibp $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "$nm ${USHgfs}/wave_tar.sh $WAV_MOD_TAG ibp $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
nm=$(( nm + 1 ))
fi
if [ "$DOBLL_WAV" = YES ]; then
- echo "$nm $USHwave/wave_tar.sh $WAV_MOD_TAG ibpbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "$nm ${USHgfs}/wave_tar.sh $WAV_MOD_TAG ibpbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
nm=$(( nm + 1 ))
- echo "$nm $USHwave/wave_tar.sh $WAV_MOD_TAG ibpcbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "$nm ${USHgfs}/wave_tar.sh $WAV_MOD_TAG ibpcbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
nm=$(( nm + 1 ))
fi
else
if [ "$DOSPC_WAV" = YES ]; then
- echo "$nm $USHwave/wave_tar.sh $WAV_MOD_TAG spec $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "$nm ${USHgfs}/wave_tar.sh $WAV_MOD_TAG spec $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
nm=$(( nm + 1 ))
fi
if [ "$DOBLL_WAV" = YES ]; then
- echo "$nm $USHwave/wave_tar.sh $WAV_MOD_TAG bull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "$nm ${USHgfs}/wave_tar.sh $WAV_MOD_TAG bull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
nm=$(( nm + 1 ))
- echo "$nm $USHwave/wave_tar.sh $WAV_MOD_TAG cbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "$nm ${USHgfs}/wave_tar.sh $WAV_MOD_TAG cbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
nm=$(( nm + 1 ))
fi
fi
else
if [ "$DOBNDPNT_WAV" = YES ]; then
if [ "$DOSPC_WAV" = YES ]; then
- echo "$USHwave/wave_tar.sh $WAV_MOD_TAG ibp $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "${USHgfs}/wave_tar.sh $WAV_MOD_TAG ibp $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
fi
if [ "$DOBLL_WAV" = YES ]; then
- echo "$USHwave/wave_tar.sh $WAV_MOD_TAG ibpbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
- echo "$USHwave/wave_tar.sh $WAV_MOD_TAG ibpcbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "${USHgfs}/wave_tar.sh $WAV_MOD_TAG ibpbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "${USHgfs}/wave_tar.sh $WAV_MOD_TAG ibpcbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
fi
else
if [ "$DOSPC_WAV" = YES ]; then
- echo "$USHwave/wave_tar.sh $WAV_MOD_TAG spec $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "${USHgfs}/wave_tar.sh $WAV_MOD_TAG spec $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
fi
if [ "$DOBLL_WAV" = YES ]; then
- echo "$USHwave/wave_tar.sh $WAV_MOD_TAG bull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
- echo "$USHwave/wave_tar.sh $WAV_MOD_TAG cbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "${USHgfs}/wave_tar.sh $WAV_MOD_TAG bull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
+ echo "${USHgfs}/wave_tar.sh $WAV_MOD_TAG cbull $Nb > ${WAV_MOD_TAG}_spec_tar.out 2>&1 " >> cmdtarfile
fi
fi
fi
diff --git a/scripts/exgfs_wave_prdgen_bulls.sh b/scripts/exgfs_wave_prdgen_bulls.sh
index bcad75a660..2bf90cdf2b 100755
--- a/scripts/exgfs_wave_prdgen_bulls.sh
+++ b/scripts/exgfs_wave_prdgen_bulls.sh
@@ -18,7 +18,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -29,11 +29,6 @@ source "$HOMEgfs/ush/preamble.sh"
export cycle=${cycle:-t${cyc}z}
export pgmout=OUTPUT.$$
export DATA=${DATA:-${DATAROOT:?}/${job}.$$}
- #export CODEwave=${CODEwave:-${PACKAGEROOT}/${NET}_code.${wave_code_ver}/${code_pkg}}
- export EXECwave=${EXECwave:-$HOMEgfs/exec}
- export PARMwave=${PARMwave:-$HOMEgfs/parm/parm_wave}
- export USHwave=${USHwave:-$HOMEgfs/ush}
- #export EXECcode=${EXECcode:-CODEwave/exec}
mkdir -p $DATA
cd $DATA
@@ -116,8 +111,8 @@ source "$HOMEgfs/ush/preamble.sh"
echo ' --------------------------'
echo ' '
# 1.c Get the datat cards
- if [ -f $PARMwave/bull_awips_gfswave ]; then
- cp $PARMwave/bull_awips_gfswave awipsbull.data
+ if [ -f ${PARMgfs}/wave/bull_awips_gfswave ]; then
+ cp ${PARMgfs}/wave/bull_awips_gfswave awipsbull.data
else
msg="ABNORMAL EXIT: NO AWIPS BULLETIN HEADER DATA FILE"
set +x
diff --git a/scripts/exgfs_wave_prdgen_gridded.sh b/scripts/exgfs_wave_prdgen_gridded.sh
index 54efb639d6..55c5b36827 100755
--- a/scripts/exgfs_wave_prdgen_gridded.sh
+++ b/scripts/exgfs_wave_prdgen_gridded.sh
@@ -19,7 +19,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -31,8 +31,6 @@ source "$HOMEgfs/ush/preamble.sh"
export FHOUT_WAV=${FHOUT_WAV:-6} #from 72 to 180 inc=6
export FHOUT_HF_WAV=${FHOUT_HF_WAV:-3}
export maxtries=720
- export PARMwave=${PARMwave:-$HOMEgfs/parm/parm_wave}
- export USHwave=${USHwave:-$HOMEgfs/ush}
export cyc=${cyc:-00}
export cycle=${cycle:-t${cyc}z}
export pgmout=OUTPUT.$$
@@ -157,7 +155,7 @@ grids=${grids:-ak_10m at_10m ep_10m wc_10m glo_30m}
#
# 1.d Input template files
- parmfile=$PARMwave/grib2_${RUNwave}.$grdOut.f${fhr}
+ parmfile=${PARMgfs}/wave/grib2_${RUNwave}.$grdOut.f${fhr}
if [ -f $parmfile ]; then
ln -s $parmfile awipsgrb.$grdID.f${fhr}
else
diff --git a/scripts/exgfs_wave_prep.sh b/scripts/exgfs_wave_prep.sh
index f6cb610559..1fbe7dd767 100755
--- a/scripts/exgfs_wave_prep.sh
+++ b/scripts/exgfs_wave_prep.sh
@@ -40,7 +40,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -207,16 +207,16 @@ source "$HOMEgfs/ush/preamble.sh"
;;
esac
- if [ -f $PARMwave/ww3_prnc.${type}.$grdID.inp.tmpl ]
+ if [ -f ${PARMgfs}/wave/ww3_prnc.${type}.$grdID.inp.tmpl ]
then
- cp $PARMwave/ww3_prnc.${type}.$grdID.inp.tmpl .
+ cp ${PARMgfs}/wave/ww3_prnc.${type}.$grdID.inp.tmpl .
fi
if [ -f ww3_prnc.${type}.$grdID.inp.tmpl ]
then
set +x
echo ' '
- echo " ww3_prnc.${type}.$grdID.inp.tmpl copied ($PARMwave)."
+ echo " ww3_prnc.${type}.$grdID.inp.tmpl copied (${PARMgfs}/wave)."
echo ' '
set_trace
else
@@ -247,7 +247,7 @@ source "$HOMEgfs/ush/preamble.sh"
if [ "${RUNMEM}" = "-1" ] || [ "${WW3ICEIENS}" = "T" ] || [ "$waveMEMB" = "00" ]
then
- $USHwave/wave_prnc_ice.sh > wave_prnc_ice.out
+ ${USHgfs}/wave_prnc_ice.sh > wave_prnc_ice.out
ERR=$?
if [ -d ice ]
@@ -389,10 +389,10 @@ source "$HOMEgfs/ush/preamble.sh"
fi
if [ ${CFP_MP:-"NO"} = "YES" ]; then
- echo "$nm $USHwave/wave_prnc_cur.sh $ymdh_rtofs $curfile $fhr_rtofs $FLGFIRST > cur_$ymdh_rtofs.out 2>&1" >> cmdfile
+ echo "$nm ${USHgfs}/wave_prnc_cur.sh $ymdh_rtofs $curfile $fhr_rtofs $FLGFIRST > cur_$ymdh_rtofs.out 2>&1" >> cmdfile
nm=$(expr $nm + 1)
else
- echo "$USHwave/wave_prnc_cur.sh $ymdh_rtofs $curfile $fhr_rtofs $FLGFIRST > cur_$ymdh_rtofs.out 2>&1" >> cmdfile
+ echo "${USHgfs}/wave_prnc_cur.sh $ymdh_rtofs $curfile $fhr_rtofs $FLGFIRST > cur_$ymdh_rtofs.out 2>&1" >> cmdfile
fi
if [ "${FLGFIRST}" = "T" ] ; then
diff --git a/scripts/exglobal_archive.sh b/scripts/exglobal_archive.sh
index 833b06bd98..4cc123111c 100755
--- a/scripts/exglobal_archive.sh
+++ b/scripts/exglobal_archive.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
##############################################
# Begin JOB SPECIFIC work
@@ -29,7 +29,7 @@ PDY_MOS="${CDATE_MOS:0:8}"
###############################################################
# Archive online for verification and diagnostics
###############################################################
-source "${HOMEgfs}/ush/file_utils.sh"
+source "${USHgfs}/file_utils.sh"
[[ ! -d ${ARCDIR} ]] && mkdir -p "${ARCDIR}"
nb_copy "${COM_ATMOS_ANALYSIS}/${APREFIX}gsistat" "${ARCDIR}/gsistat.${RUN}.${PDY}${cyc}"
@@ -158,10 +158,10 @@ if [[ ${HPSSARCH} = "YES" || ${LOCALARCH} = "YES" ]]; then
cd "${DATA}" || exit 2
- "${HOMEgfs}/ush/hpssarch_gen.sh" "${RUN}"
+ "${USHgfs}/hpssarch_gen.sh" "${RUN}"
status=$?
if [ "${status}" -ne 0 ]; then
- echo "${HOMEgfs}/ush/hpssarch_gen.sh ${RUN} failed, ABORT!"
+ echo "${USHgfs}/hpssarch_gen.sh ${RUN} failed, ABORT!"
exit "${status}"
fi
diff --git a/scripts/exglobal_atmos_analysis.sh b/scripts/exglobal_atmos_analysis.sh
index b12046f9e2..6da862eb54 100755
--- a/scripts/exglobal_atmos_analysis.sh
+++ b/scripts/exglobal_atmos_analysis.sh
@@ -19,7 +19,7 @@
# Set environment.
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -42,7 +42,7 @@ export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
-export NCLEN=${NCLEN:-${HOMEgfs}/ush/getncdimlen}
+export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
UNCOMPRESS=${UNCOMPRESS:-gunzip}
APRUNCFP=${APRUNCFP:-""}
@@ -68,19 +68,19 @@ DOIAU=${DOIAU:-"NO"}
export IAUFHRS=${IAUFHRS:-"6"}
# Dependent Scripts and Executables
-GSIEXEC=${GSIEXEC:-${HOMEgfs}/exec/gsi.x}
+GSIEXEC=${GSIEXEC:-${EXECgfs}/gsi.x}
export NTHREADS_CALCINC=${NTHREADS_CALCINC:-1}
export APRUN_CALCINC=${APRUN_CALCINC:-${APRUN:-""}}
export APRUN_CALCANL=${APRUN_CALCANL:-${APRUN:-""}}
export APRUN_CHGRES=${APRUN_CALCANL:-${APRUN:-""}}
-export CALCINCEXEC=${CALCINCEXEC:-${HOMEgfs}/exec/calc_increment_ens.x}
-export CALCINCNCEXEC=${CALCINCNCEXEC:-${HOMEgfs}/exec/calc_increment_ens_ncio.x}
-export CALCANLEXEC=${CALCANLEXEC:-${HOMEgfs}/exec/calc_analysis.x}
-export CHGRESNCEXEC=${CHGRESNCEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter_nc.x}
-export CHGRESINCEXEC=${CHGRESINCEXEC:-${HOMEgfs}/exec/interp_inc.x}
-CHGRESEXEC=${CHGRESEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter.x}
+export CALCINCEXEC=${CALCINCEXEC:-${EXECgfs}/calc_increment_ens.x}
+export CALCINCNCEXEC=${CALCINCNCEXEC:-${EXECgfs}/calc_increment_ens_ncio.x}
+export CALCANLEXEC=${CALCANLEXEC:-${EXECgfs}/calc_analysis.x}
+export CHGRESNCEXEC=${CHGRESNCEXEC:-${EXECgfs}/enkf_chgres_recenter_nc.x}
+export CHGRESINCEXEC=${CHGRESINCEXEC:-${EXECgfs}/interp_inc.x}
+CHGRESEXEC=${CHGRESEXEC:-${EXECgfs}/enkf_chgres_recenter.x}
export NTHREADS_CHGRES=${NTHREADS_CHGRES:-24}
-CALCINCPY=${CALCINCPY:-${HOMEgfs}/ush/calcinc_gfs.py}
+CALCINCPY=${CALCINCPY:-${USHgfs}/calcinc_gfs.py}
# OPS flags
RUN=${RUN:-""}
diff --git a/scripts/exglobal_atmos_analysis_calc.sh b/scripts/exglobal_atmos_analysis_calc.sh
index a2228f0425..771221ce1d 100755
--- a/scripts/exglobal_atmos_analysis_calc.sh
+++ b/scripts/exglobal_atmos_analysis_calc.sh
@@ -19,7 +19,7 @@
# Set environment.
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -33,7 +33,7 @@ export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
-export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
UNCOMPRESS=${UNCOMPRESS:-gunzip}
APRUNCFP=${APRUNCFP:-""}
@@ -52,16 +52,16 @@ export APRUN_CALCINC=${APRUN_CALCINC:-${APRUN:-""}}
export APRUN_CALCANL=${APRUN_CALCANL:-${APRUN:-""}}
export APRUN_CHGRES=${APRUN_CALCANL:-${APRUN:-""}}
-export CALCANLEXEC=${CALCANLEXEC:-$HOMEgfs/exec/calc_analysis.x}
-export CHGRESNCEXEC=${CHGRESNCEXEC:-$HOMEgfs/exec/enkf_chgres_recenter_nc.x}
-export CHGRESINCEXEC=${CHGRESINCEXEC:-$HOMEgfs/exec/interp_inc.x}
+export CALCANLEXEC=${CALCANLEXEC:-${EXECgfs}/calc_analysis.x}
+export CHGRESNCEXEC=${CHGRESNCEXEC:-${EXECgfs}/enkf_chgres_recenter_nc.x}
+export CHGRESINCEXEC=${CHGRESINCEXEC:-${EXECgfs}/interp_inc.x}
export NTHREADS_CHGRES=${NTHREADS_CHGRES:-1}
-CALCINCPY=${CALCINCPY:-$HOMEgfs/ush/calcinc_gfs.py}
-CALCANLPY=${CALCANLPY:-$HOMEgfs/ush/calcanl_gfs.py}
+CALCINCPY=${CALCINCPY:-${USHgfs}/calcinc_gfs.py}
+CALCANLPY=${CALCANLPY:-${USHgfs}/calcanl_gfs.py}
DOGAUSFCANL=${DOGAUSFCANL-"NO"}
-GAUSFCANLSH=${GAUSFCANLSH:-$HOMEgfs/ush/gaussian_sfcanl.sh}
-export GAUSFCANLEXE=${GAUSFCANLEXE:-$HOMEgfs/exec/gaussian_sfcanl.x}
+GAUSFCANLSH=${GAUSFCANLSH:-${USHgfs}/gaussian_sfcanl.sh}
+export GAUSFCANLEXE=${GAUSFCANLEXE:-${EXECgfs}/gaussian_sfcanl.x}
NTHREADS_GAUSFCANL=${NTHREADS_GAUSFCANL:-1}
APRUN_GAUSFCANL=${APRUN_GAUSFCANL:-${APRUN:-""}}
diff --git a/scripts/exglobal_atmos_pmgr.sh b/scripts/exglobal_atmos_pmgr.sh
index 86afed962e..7f348474b6 100755
--- a/scripts/exglobal_atmos_pmgr.sh
+++ b/scripts/exglobal_atmos_pmgr.sh
@@ -6,7 +6,7 @@
# This script monitors the progress of the gfs_fcst job
#
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
hour=00
diff --git a/scripts/exglobal_atmos_products.sh b/scripts/exglobal_atmos_products.sh
index 5ebc7432f0..9067819380 100755
--- a/scripts/exglobal_atmos_products.sh
+++ b/scripts/exglobal_atmos_products.sh
@@ -1,13 +1,13 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Programs used
export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2}
# Scripts used
-INTERP_ATMOS_MASTERSH=${INTERP_ATMOS_MASTERSH:-"${HOMEgfs}/ush/interp_atmos_master.sh"}
-INTERP_ATMOS_SFLUXSH=${INTERP_ATMOS_SFLUXSH:-"${HOMEgfs}/ush/interp_atmos_sflux.sh"}
+INTERP_ATMOS_MASTERSH=${INTERP_ATMOS_MASTERSH:-"${USHgfs}/interp_atmos_master.sh"}
+INTERP_ATMOS_SFLUXSH=${INTERP_ATMOS_SFLUXSH:-"${USHgfs}/interp_atmos_sflux.sh"}
# Variables used in this job
downset=${downset:-1} # No. of groups of pressure grib2 products to create
@@ -133,7 +133,7 @@ for (( nset=1 ; nset <= downset ; nset++ )); do
# Run with MPMD or serial
if [[ "${USE_CFP:-}" = "YES" ]]; then
- OMP_NUM_THREADS=1 "${HOMEgfs}/ush/run_mpmd.sh" "${DATA}/poescript"
+ OMP_NUM_THREADS=1 "${USHgfs}/run_mpmd.sh" "${DATA}/poescript"
export err=$?
else
chmod 755 "${DATA}/poescript"
diff --git a/scripts/exglobal_atmos_sfcanl.sh b/scripts/exglobal_atmos_sfcanl.sh
index 60869181f3..fd358f4508 100755
--- a/scripts/exglobal_atmos_sfcanl.sh
+++ b/scripts/exglobal_atmos_sfcanl.sh
@@ -19,7 +19,7 @@
# Set environment.
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -37,7 +37,7 @@ export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
-export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
UNCOMPRESS=${UNCOMPRESS:-gunzip}
APRUNCFP=${APRUNCFP:-""}
@@ -47,8 +47,8 @@ DOIAU=${DOIAU:-"NO"}
export IAUFHRS=${IAUFHRS:-"6"}
# Surface cycle related parameters
-CYCLESH=${CYCLESH:-${HOMEgfs}/ush/global_cycle.sh}
-export CYCLEXEC=${CYCLEXEC:-${HOMEgfs}/exec/global_cycle}
+CYCLESH=${CYCLESH:-${USHgfs}/global_cycle.sh}
+export CYCLEXEC=${CYCLEXEC:-${EXECgfs}/global_cycle}
NTHREADS_CYCLE=${NTHREADS_CYCLE:-24}
APRUN_CYCLE=${APRUN_CYCLE:-${APRUN:-""}}
export SNOW_NUDGE_COEFF=${SNOW_NUDGE_COEFF:-'-2.'}
@@ -70,15 +70,15 @@ export APRUN_CALCINC=${APRUN_CALCINC:-${APRUN:-""}}
export APRUN_CALCANL=${APRUN_CALCANL:-${APRUN:-""}}
export APRUN_CHGRES=${APRUN_CALCANL:-${APRUN:-""}}
-export CALCANLEXEC=${CALCANLEXEC:-${HOMEgfs}/exec/calc_analysis.x}
-export CHGRESNCEXEC=${CHGRESNCEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter_nc.x}
-export CHGRESINCEXEC=${CHGRESINCEXEC:-${HOMEgfs}/exec/interp_inc.x}
+export CALCANLEXEC=${CALCANLEXEC:-${EXECgfs}/calc_analysis.x}
+export CHGRESNCEXEC=${CHGRESNCEXEC:-${EXECgfs}/enkf_chgres_recenter_nc.x}
+export CHGRESINCEXEC=${CHGRESINCEXEC:-${EXECgfs}/interp_inc.x}
export NTHREADS_CHGRES=${NTHREADS_CHGRES:-1}
-CALCINCPY=${CALCINCPY:-${HOMEgfs}/ush/calcinc_gfs.py}
-CALCANLPY=${CALCANLPY:-${HOMEgfs}/ush/calcanl_gfs.py}
+CALCINCPY=${CALCINCPY:-${USHgfs}/calcinc_gfs.py}
+CALCANLPY=${CALCANLPY:-${USHgfs}/calcanl_gfs.py}
export APRUN_CHGRES=${APRUN_CALCANL:-${APRUN:-""}}
-CHGRESEXEC=${CHGRESEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter.x}
+CHGRESEXEC=${CHGRESEXEC:-${EXECgfs}/enkf_chgres_recenter.x}
# OPS flags
RUN=${RUN:-""}
diff --git a/scripts/exglobal_atmos_tropcy_qc_reloc.sh b/scripts/exglobal_atmos_tropcy_qc_reloc.sh
index 380441a6c9..f1272b1844 100755
--- a/scripts/exglobal_atmos_tropcy_qc_reloc.sh
+++ b/scripts/exglobal_atmos_tropcy_qc_reloc.sh
@@ -10,7 +10,7 @@
# echo " Oct 2013 - Use main USH vars as part of minor pkg cleanup"
############################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Make sure we are in the $DATA directory
cd $DATA
@@ -50,7 +50,7 @@ if [ "$PROCESS_TROPCY" = 'YES' ]; then
#echo $PDY
- ${USHSYND:-$HOMEgfs/ush}/syndat_qctropcy.sh $cdate10
+ ${USHgfs}/syndat_qctropcy.sh $cdate10
errsc=$?
if [ "$errsc" -ne '0' ]; then
echo "syndat_qctropcy.sh failed. exit"
@@ -95,7 +95,7 @@ if [ "$DO_RELOCATE" = 'YES' ]; then
###################################################
export MP_LABELIO=${MP_LABELIO:-yes}
- $USHRELO/tropcy_relocate.sh $cdate10
+ ${USHgfs}/tropcy_relocate.sh $cdate10
errsc=$?
[ "$errsc" -ne '0' ] && exit $errsc
diff --git a/scripts/exglobal_atmos_vminmon.sh b/scripts/exglobal_atmos_vminmon.sh
index aac63f3fb3..b4307c8af9 100755
--- a/scripts/exglobal_atmos_vminmon.sh
+++ b/scripts/exglobal_atmos_vminmon.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
diff --git a/scripts/exglobal_cleanup.sh b/scripts/exglobal_cleanup.sh
index 5d7c0a9788..8141de771a 100755
--- a/scripts/exglobal_cleanup.sh
+++ b/scripts/exglobal_cleanup.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
###############################################################
# Clean up previous cycles; various depths
diff --git a/scripts/exglobal_diag.sh b/scripts/exglobal_diag.sh
index 3836643afc..ad4c4be4a8 100755
--- a/scripts/exglobal_diag.sh
+++ b/scripts/exglobal_diag.sh
@@ -19,7 +19,7 @@
# Set environment.
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -34,7 +34,7 @@ export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
-export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
export CATEXEC=${CATEXEC:-${ncdiag_ROOT:-${gsi_ncdiag_ROOT}}/bin/ncdiag_cat_serial.x}
COMPRESS=${COMPRESS:-gzip}
UNCOMPRESS=${UNCOMPRESS:-gunzip}
diff --git a/scripts/exglobal_forecast.sh b/scripts/exglobal_forecast.sh
index c548b827e5..0a6329910e 100755
--- a/scripts/exglobal_forecast.sh
+++ b/scripts/exglobal_forecast.sh
@@ -77,14 +77,14 @@
# Main body starts here
#######################
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# include all subroutines. Executions later.
-source "${HOMEgfs}/ush/forecast_predet.sh" # include functions for variable definition
-source "${HOMEgfs}/ush/forecast_det.sh" # include functions for run type determination
-source "${HOMEgfs}/ush/forecast_postdet.sh" # include functions for variables after run type determination
-source "${HOMEgfs}/ush/parsing_ufs_configure.sh" # include functions for ufs_configure processing
-source "${HOMEgfs}/ush/parsing_model_configure_FV3.sh"
+source "${USHgfs}/forecast_predet.sh" # include functions for variable definition
+source "${USHgfs}/forecast_det.sh" # include functions for run type determination
+source "${USHgfs}/forecast_postdet.sh" # include functions for variables after run type determination
+source "${USHgfs}/parsing_ufs_configure.sh" # include functions for ufs_configure processing
+source "${USHgfs}/parsing_model_configure_FV3.sh"
# Coupling control switches, for coupling purpose, off by default
cpl=${cpl:-.false.}
@@ -149,7 +149,7 @@ if [[ "${esmf_profile:-}" = ".true." ]]; then
export ESMF_RUNTIME_PROFILE_OUTPUT=SUMMARY
fi
-${NCP} "${FCSTEXECDIR}/${FCSTEXEC}" "${DATA}/"
+${NCP} "${EXECgfs}/${FCSTEXEC}" "${DATA}/"
${APRUN_UFS} "${DATA}/${FCSTEXEC}" 1>&1 2>&2
export ERR=$?
export err=${ERR}
diff --git a/scripts/exglobal_stage_ic.sh b/scripts/exglobal_stage_ic.sh
index 58b37f3114..6a1be22e71 100755
--- a/scripts/exglobal_stage_ic.sh
+++ b/scripts/exglobal_stage_ic.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Locally scoped variables and functions
# shellcheck disable=SC2153
@@ -104,6 +104,17 @@ for MEMDIR in "${MEMDIR_ARRAY[@]}"; do
;;
esac
+ # Ocean Perturbation Files
+ # Extra zero on MEMDIR ensure we have a number even if the string is empty
+ if (( 0${MEMDIR:3} > 0 )) && [[ "${OCN_ENS_PERTURB_FILES:-false}" == "true" ]]; then
+ src="${BASE_CPLIC}/${CPL_OCNIC:-}/${PDY}${cyc}/${MEMDIR}/ocean/${PDY}.${cyc}0000.mom6_increment.nc"
+ tgt="${COM_OCEAN_RESTART_PREV}/${PDY}.${cyc}0000.mom6_increment.nc"
+ ${NCP} "${src}" "${tgt}"
+ rc=${?}
+ ((rc != 0)) && error_message "${src}" "${tgt}" "${rc}"
+ err=$((err + rc))
+ fi
+
# TODO: Do mediator restarts exists in a ATMW configuration?
# TODO: No mediator is presumably involved in an ATMA configuration
if [[ ${EXP_WARM_START:-".false."} = ".true." ]]; then
diff --git a/sorc/build_all.sh b/sorc/build_all.sh
index 261c245142..3de13b7b60 100755
--- a/sorc/build_all.sh
+++ b/sorc/build_all.sh
@@ -16,9 +16,11 @@ function _usage() {
Builds all of the global-workflow components by calling the individual build
scripts in sequence.
-Usage: ${BASH_SOURCE[0]} [-a UFS_app][-c build_config][-h][-j n][-v][-w]
+Usage: ${BASH_SOURCE[0]} [-a UFS_app][-c build_config][-d][-h][-j n][-v][-w]
-a UFS_app:
Build a specific UFS app instead of the default
+ -d:
+ Build in debug mode
-g:
Build GSI
-h:
@@ -29,26 +31,29 @@ Usage: ${BASH_SOURCE[0]} [-a UFS_app][-c build_config][-h][-j n][-v][-w]
Build UFS-DA
-v:
Execute all build scripts with -v option to turn on verbose where supported
- -w:
- Use unstructured wave grid
+ -w:
+ Use unstructured wave grid
EOF
exit 1
}
-script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
-cd "${script_dir}" || exit 1
+# shellcheck disable=SC2155
+readonly HOMEgfs=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )/.." && pwd -P)
+cd "${HOMEgfs}/sorc" || exit 1
_build_ufs_opt=""
_build_ufsda="NO"
_build_gsi="NO"
+_build_debug=""
_verbose_opt=""
_wave_unst=""
_build_job_max=20
# Reset option counter in case this script is sourced
OPTIND=1
-while getopts ":a:ghj:uvw" option; do
+while getopts ":a:dghj:uvw" option; do
case "${option}" in
a) _build_ufs_opt+="-a ${OPTARG} ";;
+ d) _build_debug="-d" ;;
g) _build_gsi="YES" ;;
h) _usage;;
j) _build_job_max="${OPTARG} ";;
@@ -68,24 +73,24 @@ done
shift $((OPTIND-1))
-logs_dir="${script_dir}/logs"
+logs_dir="${HOMEgfs}/sorc/logs"
if [[ ! -d "${logs_dir}" ]]; then
echo "Creating logs folder"
- mkdir "${logs_dir}" || exit 1
+ mkdir -p "${logs_dir}" || exit 1
fi
# Check final exec folder exists
-if [[ ! -d "../exec" ]]; then
- echo "Creating ../exec folder"
- mkdir ../exec
+if [[ ! -d "${HOMEgfs}/exec" ]]; then
+ echo "Creating ${HOMEgfs}/exec folder"
+ mkdir -p "${HOMEgfs}/exec"
fi
#------------------------------------
# GET MACHINE
#------------------------------------
export COMPILER="intel"
-source gfs_utils.fd/ush/detect_machine.sh
-source gfs_utils.fd/ush/module-setup.sh
+source "${HOMEgfs}/ush/detect_machine.sh"
+source "${HOMEgfs}/ush/module-setup.sh"
if [[ -z "${MACHINE_ID}" ]]; then
echo "FATAL: Unable to determine target machine"
exit 1
@@ -117,19 +122,19 @@ declare -A build_opts
big_jobs=0
build_jobs["ufs"]=8
big_jobs=$((big_jobs+1))
-build_opts["ufs"]="${_wave_unst} ${_verbose_opt} ${_build_ufs_opt}"
+build_opts["ufs"]="${_wave_unst} ${_verbose_opt} ${_build_ufs_opt} ${_build_debug}"
build_jobs["upp"]=2
-build_opts["upp"]=""
+build_opts["upp"]="${_build_debug}"
build_jobs["ufs_utils"]=2
-build_opts["ufs_utils"]="${_verbose_opt}"
+build_opts["ufs_utils"]="${_verbose_opt} ${_build_debug}"
build_jobs["gfs_utils"]=1
-build_opts["gfs_utils"]="${_verbose_opt}"
+build_opts["gfs_utils"]="${_verbose_opt} ${_build_debug}"
build_jobs["ww3prepost"]=2
-build_opts["ww3prepost"]="${_wave_unst} ${_verbose_opt} ${_build_ufs_opt}"
+build_opts["ww3prepost"]="${_wave_unst} ${_verbose_opt} ${_build_ufs_opt} ${_build_debug}"
# Optional DA builds
if [[ "${_build_ufsda}" == "YES" ]]; then
@@ -138,21 +143,21 @@ if [[ "${_build_ufsda}" == "YES" ]]; then
else
build_jobs["gdas"]=8
big_jobs=$((big_jobs+1))
- build_opts["gdas"]="${_verbose_opt}"
+ build_opts["gdas"]="${_verbose_opt} ${_build_debug}"
fi
fi
if [[ "${_build_gsi}" == "YES" ]]; then
build_jobs["gsi_enkf"]=8
- build_opts["gsi_enkf"]="${_verbose_opt}"
+ build_opts["gsi_enkf"]="${_verbose_opt} ${_build_debug}"
fi
if [[ "${_build_gsi}" == "YES" || "${_build_ufsda}" == "YES" ]] ; then
build_jobs["gsi_utils"]=1
- build_opts["gsi_utils"]="${_verbose_opt}"
+ build_opts["gsi_utils"]="${_verbose_opt} ${_build_debug}"
if [[ "${MACHINE_ID}" == "hercules" ]]; then
echo "NOTE: The GSI Monitor is not supported on Hercules. Disabling build."
else
build_jobs["gsi_monitor"]=1
- build_opts["gsi_monitor"]="${_verbose_opt}"
+ build_opts["gsi_monitor"]="${_verbose_opt} ${_build_debug}"
fi
fi
@@ -196,13 +201,10 @@ while [[ ${builds_started} -lt ${#build_jobs[@]} ]]; do
if [[ -n "${build_jobs[${build}]+0}" && -z "${build_ids[${build}]+0}" ]]; then
# Do we have enough processors to run it?
if [[ ${_build_job_max} -ge $(( build_jobs[build] + procs_in_use )) ]]; then
- if [[ "${build}" != "upp" ]]; then
- "./build_${build}.sh" -j "${build_jobs[${build}]}" "${build_opts[${build}]:-}" > \
- "${logs_dir}/build_${build}.log" 2>&1 &
- else
- "./build_${build}.sh" "${build_opts[${build}]}" > \
- "${logs_dir}/build_${build}.log" 2>&1 &
- fi
+ # double-quoting build_opts here will not work since it is a string of options
+ #shellcheck disable=SC2086
+ "./build_${build}.sh" ${build_opts[${build}]:-} -j "${build_jobs[${build}]}" > \
+ "${logs_dir}/build_${build}.log" 2>&1 &
build_ids["${build}"]=$!
echo "Starting build_${build}.sh"
procs_in_use=$(( procs_in_use + build_jobs[${build}] ))
diff --git a/sorc/build_gdas.sh b/sorc/build_gdas.sh
index b1a17c33dd..43c503ab4d 100755
--- a/sorc/build_gdas.sh
+++ b/sorc/build_gdas.sh
@@ -2,11 +2,12 @@
set -eux
OPTIND=1
+_opts="-f " # forces a clean build
while getopts ":j:dv" option; do
case "${option}" in
- d) export BUILD_TYPE="DEBUG";;
- j) export BUILD_JOBS=${OPTARG};;
- v) export BUILD_VERBOSE="YES";;
+ d) _opts+="-c -DCMAKE_BUILD_TYPE=Debug " ;;
+ j) BUILD_JOBS=${OPTARG};;
+ v) _opts+="-v ";;
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
usage
@@ -19,12 +20,10 @@ while getopts ":j:dv" option; do
done
shift $((OPTIND-1))
-# TODO: GDASApp does not presently handle BUILD_TYPE
-
-BUILD_TYPE=${BUILD_TYPE:-"Release"} \
-BUILD_VERBOSE=${BUILD_VERBOSE:-"NO"} \
+# double quoting opts will not work since it is a string of options
+# shellcheck disable=SC2086
BUILD_JOBS="${BUILD_JOBS:-8}" \
WORKFLOW_BUILD="ON" \
-./gdas.cd/build.sh
+./gdas.cd/build.sh ${_opts} -f
exit
diff --git a/sorc/build_gfs_utils.sh b/sorc/build_gfs_utils.sh
index 09bd4a9656..e53f71ddcd 100755
--- a/sorc/build_gfs_utils.sh
+++ b/sorc/build_gfs_utils.sh
@@ -18,14 +18,12 @@ EOF
exit 1
}
-cwd=$(pwd)
-
OPTIND=1
while getopts ":j:dvh" option; do
case "${option}" in
- d) export BUILD_TYPE="DEBUG";;
- v) export BUILD_VERBOSE="YES";;
- j) export BUILD_JOBS="${OPTARG}";;
+ d) BUILD_TYPE="Debug";;
+ v) BUILD_VERBOSE="YES";;
+ j) BUILD_JOBS="${OPTARG}";;
h)
usage
;;
@@ -44,6 +42,6 @@ shift $((OPTIND-1))
BUILD_TYPE=${BUILD_TYPE:-"Release"} \
BUILD_VERBOSE=${BUILD_VERBOSE:-"NO"} \
BUILD_JOBS=${BUILD_JOBS:-8} \
-"${cwd}/gfs_utils.fd/ush/build.sh"
+"./gfs_utils.fd/ush/build.sh"
exit
diff --git a/sorc/build_gsi_enkf.sh b/sorc/build_gsi_enkf.sh
index 9ba278e3ec..ba24cefa81 100755
--- a/sorc/build_gsi_enkf.sh
+++ b/sorc/build_gsi_enkf.sh
@@ -4,9 +4,9 @@ set -eux
OPTIND=1
while getopts ":j:dv" option; do
case "${option}" in
- d) export BUILD_TYPE="DEBUG";;
- j) export BUILD_JOBS="${OPTARG}";;
- v) export BUILD_VERBOSE="YES";;
+ d) BUILD_TYPE="Debug";;
+ j) BUILD_JOBS="${OPTARG}";;
+ v) BUILD_VERBOSE="YES";;
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
usage
diff --git a/sorc/build_gsi_monitor.sh b/sorc/build_gsi_monitor.sh
index 3de1262aac..31add1882a 100755
--- a/sorc/build_gsi_monitor.sh
+++ b/sorc/build_gsi_monitor.sh
@@ -1,14 +1,12 @@
#! /usr/bin/env bash
set -eux
-cwd=$(pwd)
-
OPTIND=1
while getopts ":j:dv" option; do
case "${option}" in
- d) export BUILD_TYPE="DEBUG";;
- j) export BUILD_JOBS="${OPTARG}";;
- v) export BUILD_VERBOSE="YES";;
+ d) BUILD_TYPE="Debug";;
+ j) BUILD_JOBS="${OPTARG}";;
+ v) BUILD_VERBOSE="YES";;
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
usage
@@ -24,6 +22,6 @@ shift $((OPTIND-1))
BUILD_TYPE=${BUILD_TYPE:-"Release"} \
BUILD_VERBOSE=${BUILD_VERBOSE:-"NO"} \
BUILD_JOBS=${BUILD_JOBS:-8} \
-"${cwd}/gsi_monitor.fd/ush/build.sh"
+"./gsi_monitor.fd/ush/build.sh"
exit
diff --git a/sorc/build_gsi_utils.sh b/sorc/build_gsi_utils.sh
index 81eab0f628..58c64e6e4a 100755
--- a/sorc/build_gsi_utils.sh
+++ b/sorc/build_gsi_utils.sh
@@ -1,14 +1,12 @@
#! /usr/bin/env bash
set -eux
-cwd=$(pwd)
-
OPTIND=1
while getopts ":j:dv" option; do
case "${option}" in
- d) export BUILD_TYPE="DEBUG";;
- j) export BUILD_JOBS="${OPTARG}";;
- v) export BUILD_VERBOSE="YES";;
+ d) BUILD_TYPE="Debug";;
+ j) BUILD_JOBS="${OPTARG}";;
+ v) BUILD_VERBOSE="YES";;
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
usage
@@ -25,6 +23,6 @@ BUILD_TYPE=${BUILD_TYPE:-"Release"} \
BUILD_VERBOSE=${BUILD_VERBOSE:-"NO"} \
BUILD_JOBS=${BUILD_JOBS:-8} \
UTIL_OPTS="-DBUILD_UTIL_ENKF_GFS=ON -DBUILD_UTIL_NCIO=ON" \
-"${cwd}/gsi_utils.fd/ush/build.sh"
+"./gsi_utils.fd/ush/build.sh"
exit
diff --git a/sorc/build_ufs.sh b/sorc/build_ufs.sh
index 24ee8c5f13..d18dbef9fa 100755
--- a/sorc/build_ufs.sh
+++ b/sorc/build_ufs.sh
@@ -9,7 +9,7 @@ CCPP_SUITES="FV3_GFS_v17_p8_ugwpv1,FV3_GFS_v17_coupled_p8_ugwpv1" # TODO: does
while getopts ":da:j:vw" option; do
case "${option}" in
- d) BUILD_TYPE="DEBUG";;
+ d) BUILD_TYPE="Debug";;
a) APP="${OPTARG}";;
j) BUILD_JOBS="${OPTARG}";;
v) export BUILD_VERBOSE="YES";;
@@ -30,7 +30,7 @@ source "./tests/module-setup.sh"
MAKE_OPT="-DAPP=${APP} -D32BIT=ON -DCCPP_SUITES=${CCPP_SUITES}"
[[ ${PDLIB:-"OFF"} = "ON" ]] && MAKE_OPT+=" -DPDLIB=ON"
-[[ ${BUILD_TYPE:-"Release"} = "DEBUG" ]] && MAKE_OPT+=" -DDEBUG=ON"
+[[ ${BUILD_TYPE:-"Release"} = "Debug" ]] && MAKE_OPT+=" -DDEBUG=ON"
COMPILE_NR=0
CLEAN_BEFORE=YES
CLEAN_AFTER=NO
diff --git a/sorc/build_ufs_utils.sh b/sorc/build_ufs_utils.sh
index e78ca3c180..63ec56cb41 100755
--- a/sorc/build_ufs_utils.sh
+++ b/sorc/build_ufs_utils.sh
@@ -4,8 +4,9 @@ set -eux
OPTIND=1
while getopts ":j:dv" option; do
case "${option}" in
- j) export BUILD_JOBS="${OPTARG}";;
- v) export BUILD_VERBOSE="YES";;
+ d) BUILD_TYPE="Debug" ;;
+ j) BUILD_JOBS="${OPTARG}";;
+ v) BUILD_VERBOSE="YES";;
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
usage
@@ -18,13 +19,11 @@ while getopts ":j:dv" option; do
done
shift $((OPTIND-1))
-script_dir=$(dirname "${BASH_SOURCE[0]}")
-cd "${script_dir}/ufs_utils.fd" || exit 1
-
CMAKE_OPTS="-DGFS=ON" \
+BUILD_TYPE=${BUILD_TYPE:-"Release"} \
BUILD_JOBS=${BUILD_JOBS:-8} \
BUILD_VERBOSE=${BUILD_VERBOSE:-} \
-./build_all.sh
+./ufs_utils.fd/build_all.sh
exit
diff --git a/sorc/build_upp.sh b/sorc/build_upp.sh
index 8a2e1f6fcd..e217e171db 100755
--- a/sorc/build_upp.sh
+++ b/sorc/build_upp.sh
@@ -7,23 +7,23 @@ cd "${script_dir}" || exit 1
OPTIND=1
_opts=""
while getopts ":dj:v" option; do
- case "${option}" in
- d) _opts+="-d ";;
- j) export BUILD_JOBS="${OPTARG}" ;;
- v) _opts+="-v ";;
- :)
- echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
- ;;
- *)
- echo "[${BASH_SOURCE[0]}]: Unrecognized option: ${option}"
- ;;
- esac
+ case "${option}" in
+ d) _opts+="-d " ;;
+ j) BUILD_JOBS="${OPTARG}" ;;
+ v) _opts+="-v ";;
+ :)
+ echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
+ ;;
+ *)
+ echo "[${BASH_SOURCE[0]}]: Unrecognized option: ${option}"
+ ;;
+ esac
done
shift $((OPTIND-1))
# Check final exec folder exists
if [[ ! -d "../exec" ]]; then
- mkdir ../exec
+ mkdir -p ../exec
fi
cd ufs_model.fd/FV3/upp/tests
diff --git a/sorc/build_ww3prepost.sh b/sorc/build_ww3prepost.sh
index 19cdba98da..5b527a1641 100755
--- a/sorc/build_ww3prepost.sh
+++ b/sorc/build_ww3prepost.sh
@@ -6,12 +6,12 @@ cd "${script_dir}" || exit 1
# Default settings
APP="S2SWA"
-PDLIB="OFF"
+PDLIB="OFF"
while getopts ":j:a:dvw" option; do
case "${option}" in
a) APP="${OPTARG}";;
- d) BUILD_TYPE="DEBUG";;
+ d) BUILD_TYPE="Debug";;
j) BUILD_JOBS="${OPTARG}";;
v) export BUILD_VERBOSE="YES";;
w) PDLIB="ON";;
@@ -27,15 +27,15 @@ while getopts ":j:a:dvw" option; do
done
# Determine which switch to use
-if [[ "${APP}" == "ATMW" ]]; then
+if [[ "${APP}" == "ATMW" ]]; then
ww3switch="model/esmf/switch"
-else
- if [[ "${PDLIB}" == "ON" ]]; then
+else
+ if [[ "${PDLIB}" == "ON" ]]; then
ww3switch="model/bin/switch_meshcap_pdlib"
- else
+ else
ww3switch="model/bin/switch_meshcap"
- fi
-fi
+ fi
+fi
# Check final exec folder exists
if [[ ! -d "../exec" ]]; then
@@ -86,15 +86,16 @@ sed -e "s/DIST/SHRD/g"\
"${path_build}/tempswitch" > "${path_build}/switch"
rm "${path_build}/tempswitch"
-echo "Switch file is ${buildswitch} with switches:"
+echo "Switch file is ${buildswitch} with switches:"
cat "${buildswitch}"
#define cmake build options
MAKE_OPT="-DCMAKE_INSTALL_PREFIX=install"
-[[ ${BUILD_TYPE:-"Release"} = "DEBUG" ]] && MAKE_OPT+=" -DDEBUG=ON"
+[[ ${BUILD_TYPE:-"Release"} = "Debug" ]] && MAKE_OPT+=" -DCMAKE_BUILD_TYPE=Debug"
#Build executables:
-cmake "${WW3_DIR}" -DSWITCH="${buildswitch}" "${MAKE_OPT}"
+# shellcheck disable=SC2086
+cmake "${WW3_DIR}" -DSWITCH="${buildswitch}" ${MAKE_OPT}
rc=$?
if (( rc != 0 )); then
echo "Fatal error in cmake."
diff --git a/sorc/gdas.cd b/sorc/gdas.cd
index 10614c9855..37a28d114c 160000
--- a/sorc/gdas.cd
+++ b/sorc/gdas.cd
@@ -1 +1 @@
-Subproject commit 10614c9855042b436bb8c37c7e2faeead01259cb
+Subproject commit 37a28d114c9be6dccff890b33d742b03c22f07c1
diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd
index fb39e83880..149cd811f2 160000
--- a/sorc/gsi_monitor.fd
+++ b/sorc/gsi_monitor.fd
@@ -1 +1 @@
-Subproject commit fb39e83880d44d433bed9af856bc5178bf63d64c
+Subproject commit 149cd811f273883e7d6400eded7b980acd65ca2b
diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh
index 3e0ff4db64..2b54f3ea10 100755
--- a/sorc/link_workflow.sh
+++ b/sorc/link_workflow.sh
@@ -199,6 +199,18 @@ if [[ -d "${HOMEgfs}/sorc/gdas.cd" ]]; then
done
fi
+#------------------------------
+#--add GDASApp parm directory
+#------------------------------
+if [[ -d "${HOMEgfs}/sorc/gdas.cd" ]]; then
+ cd "${HOMEgfs}/parm/gdas" || exit 1
+ declare -a gdasapp_comps=("aero" "atm" "io" "ioda" "snow" "soca")
+ for comp in "${gdasapp_comps[@]}"; do
+ [[ -d "${comp}" ]] && rm -rf "${comp}"
+ ${LINK_OR_COPY} "${HOMEgfs}/sorc/gdas.cd/parm/${comp}" .
+ done
+fi
+
#------------------------------
#--add GDASApp files
#------------------------------
@@ -311,6 +323,10 @@ if [[ -d "${HOMEgfs}/sorc/gdas.cd/build" ]]; then
"fv3jedi_enshofx.x" \
"fv3jedi_hofx_nomodel.x" \
"fv3jedi_testdata_downloader.py" \
+ "gdas_ens_handler.x" \
+ "gdas_incr_handler.x" \
+ "gdas_obsprovider2ioda.x" \
+ "gdas_socahybridweights.x" \
"soca_convertincrement.x" \
"soca_error_covariance_training.x" \
"soca_setcorscales.x" \
diff --git a/sorc/wxflow b/sorc/wxflow
index 528f5abb49..dd9ca24a5b 160000
--- a/sorc/wxflow
+++ b/sorc/wxflow
@@ -1 +1 @@
-Subproject commit 528f5abb49e80751f83ebd6eb0a87bc70012bb24
+Subproject commit dd9ca24a5bb14b75acde685e5fa23b300fd47770
diff --git a/ush/forecast_det.sh b/ush/forecast_det.sh
index 198df6505f..a1c153776b 100755
--- a/ush/forecast_det.sh
+++ b/ush/forecast_det.sh
@@ -45,7 +45,8 @@ FV3_det(){
RERUN=${RERUN:-"NO"}
# Get a list of all YYYYMMDD.HH0000.coupler.res files from the atmos restart directory
- mapfile -t file_array < <(find "${COM_ATMOS_RESTART:-/dev/null}" -name "????????.??0000.coupler.res")
+ # shellcheck disable=SC2312
+ mapfile -t file_array < <(find "${COM_ATMOS_RESTART:-/dev/null}" -name "????????.??0000.coupler.res" | sort)
if [[ ( "${RUN}" = "gfs" || "${RUN}" = "gefs" ) \
&& "${#file_array[@]}" -gt 0 ]]; then
diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh
index 644a2180da..a5fee9a7fd 100755
--- a/ush/forecast_postdet.sh
+++ b/ush/forecast_postdet.sh
@@ -11,6 +11,8 @@
## for execution.
#####
+# Disable variable not used warnings
+# shellcheck disable=SC2034
FV3_postdet(){
echo "SUB ${FUNCNAME[0]}: Entering for RUN = ${RUN}"
@@ -190,7 +192,7 @@ EOF
fi
# NoahMP table
- local noahmptablefile="${HOMEgfs}/parm/ufs/noahmptable.tbl"
+ local noahmptablefile="${PARMgfs}/ufs/noahmptable.tbl"
if [[ ! -f ${noahmptablefile} ]]; then
echo "FATAL ERROR: missing noahmp table file ${noahmptablefile}"
exit 1
@@ -488,7 +490,7 @@ FV3_nml(){
# namelist output for a certain component
echo "SUB ${FUNCNAME[0]}: Creating name lists and model configure file for FV3"
# Call child scripts in current script directory
- source "${HOMEgfs}/ush/parsing_namelists_FV3.sh"
+ source "${USHgfs}/parsing_namelists_FV3.sh"
FV3_namelists
echo "SUB ${FUNCNAME[0]}: FV3 name lists and model configure file created"
}
@@ -652,7 +654,7 @@ WW3_nml() {
exit 4
fi
fi
- source "${HOMEgfs}/ush/parsing_namelists_WW3.sh"
+ source "${USHgfs}/parsing_namelists_WW3.sh"
WW3_namelists
}
@@ -803,7 +805,7 @@ MOM6_postdet() {
MOM6_nml() {
echo "SUB ${FUNCNAME[0]}: Creating name list for MOM6"
- source "${HOMEgfs}/ush/parsing_namelists_MOM6.sh"
+ source "${USHgfs}/parsing_namelists_MOM6.sh"
MOM6_namelists
}
@@ -884,7 +886,7 @@ CICE_postdet() {
CICE_nml() {
echo "SUB ${FUNCNAME[0]}: Creating name list for CICE"
- source "${HOMEgfs}/ush/parsing_namelists_CICE.sh"
+ source "${USHgfs}/parsing_namelists_CICE.sh"
CICE_namelists
}
diff --git a/ush/fv3gfs_remap.sh b/ush/fv3gfs_remap.sh
deleted file mode 100755
index eaf2c64a01..0000000000
--- a/ush/fv3gfs_remap.sh
+++ /dev/null
@@ -1,116 +0,0 @@
-#! /usr/bin/env bash
-
-#--------------------------------------
-#-- remap FV3 6 tiles to global array
-#-- Fanglin Yang, October 2016
-#--------------------------------------
-
-source "$HOMEgfs/ush/preamble.sh"
-
-export CDATE=${CDATE:-"2016100300"}
-export CASE=${CASE:-"C192"} # C48 C96 C192 C384 C768 C1152 C3072
-export GG=${master_grid:-"0p25deg"} # 1deg 0p5deg 0p25deg 0p125deg
-
-pwd=$(pwd)
-export DATA=${DATA:-$pwd}
-export HOMEgfs=${HOMEgfs:-$PACKAGEROOT}
-export REMAPEXE=${REMAPEXE:-$HOMEgfs/exec/fregrid_parallel}
-export IPD4=${IPD4:-"YES"}
-
-cycn=$(echo $CDATE | cut -c 9-10)
-export TCYC=${TCYC:-".t${cycn}z."}
-export CDUMP=${CDUMP:-gfs}
-export PREFIX=${PREFIX:-${CDUMP}${TCYC}}
-
-#--------------------------------------------------
-export grid_loc=${FIXgfs}/orog/${CASE}/${CASE}_mosaic.nc
-export weight_file=${FIXgfs}/orog/${CASE}/remap_weights_${CASE}_${GG}.nc
-
-export APRUN_REMAP=${APRUN_REMAP:-${APRUN:-""}}
-export NTHREADS_REMAP=${NTHREADS_REMAP:-${NTHREADS:-1}}
-
-#--------------------------------------------------
-if [ $GG = 1deg ]; then export nlon=360 ; export nlat=180 ; fi
-if [ $GG = 0p5deg ]; then export nlon=720 ; export nlat=360 ; fi
-if [ $GG = 0p25deg ]; then export nlon=1440 ; export nlat=720 ; fi
-if [ $GG = 0p125deg ]; then export nlon=2880 ; export nlat=1440 ; fi
-
-#--------------------------------------------------
-hgt=h; if [ $IPD4 = YES ]; then hgt=z; fi
-
-#--for non-hydrostatic case
-export atmos_4xdaily_nh="slp, vort850, vort200,\
- us, u1000, u850, u700, u500, u200, u100, u50, u10,\
- vs, v1000, v850, v700, v500, v200, v100, v50, v10,\
- tm, t1000, t850, t700, t500, t200, t100, t50, t10,\
- ${hgt}1000, ${hgt}850, ${hgt}700, ${hgt}500, ${hgt}200, ${hgt}100, ${hgt}50, ${hgt}10,\
- q1000, q850, q700, q500, q200, q100, q50, q10,\
- rh1000, rh850, rh700, rh500, rh200,\
- omg1000, omg850, omg700, omg500, omg200, omg100, omg50, omg10,\
- w700,w850,w500, w200"
-
-#--for hydrostatic case
-export atmos_4xdaily_hy="slp, vort850, vort200,\
- us, u1000, u850, u700, u500, u200, u100, u50, u10,\
- vs, v1000, v850, v700, v500, v200, v100, v50, v10,\
- tm, t1000, t850, t700, t500, t200, t100, t50, t10,\
- ${hgt}1000, ${hgt}850, ${hgt}700, ${hgt}500, ${hgt}200, ${hgt}100, ${hgt}50, ${hgt}10,\
- q1000, q850, q700, q500, q200, q100, q50, q10,\
- rh1000, rh850, rh700, rh500, rh200,\
- omg1000, omg850, omg700, omg500, omg200, omg100, omg50, omg10,\
- w700"
-
-export nggps2d_nh="ALBDOsfc, CPRATsfc, PRATEsfc, DLWRFsfc, ULWRFsfc,\
- DSWRFsfc, USWRFsfc, DSWRFtoa, USWRFtoa, ULWRFtoa,\
- GFLUXsfc, HGTsfc, HPBLsfc, ICECsfc, SLMSKsfc,\
- LHTFLsfc, SHTFLsfc, PRESsfc, PWATclm, SOILM,\
- SOILW1, SOILW2, SOILW3, SOILW4, SPFH2m,\
- TCDCclm, TCDChcl, TCDClcl, TCDCmcl,\
- SOILT1, SOILT2, SOILT3, SOILT4,\
- TMP2m, TMPsfc, UGWDsfc, VGWDsfc, UFLXsfc,\
- VFLXsfc, UGRD10m, VGRD10m, WEASDsfc, SNODsfc,\
- ZORLsfc, VFRACsfc, F10Msfc, VTYPEsfc, STYPEsfc"
-export nggps2d_hy="$nggps2d_nh"
-
-export nggps3d_nh="ucomp, vcomp, temp, delp, sphum, o3mr, clwmr, nhpres, w, delz" #for non-hydrostatic case
-export nggps3d_hy="ucomp, vcomp, temp, delp, sphum, o3mr, clwmr, hypres" #for hydrostatic case
-
-#--------------------------------------------------
-cd $DATA || exit 8
-
-testfile=nggps3d.tile4.nc
-nhrun=$(ncdump -c $testfile | grep nhpres)
-nhrun=$?
-
-export OMP_NUM_THREADS=$NTHREADS_REMAP
-
-#--------------------------------------------------
-err=0
-for type in atmos_4xdaily nggps2d nggps3d ; do
-
- export in_file="$type"
- export out_file=${PREFIX}${type}.${GG}.nc
- [[ -s $DATA/$out_file ]] && rm -f $DATA/$out_file
- if [ $nhrun -eq 0 ]; then
- export fld=$(eval echo \${${type}_nh})
- else
- export fld=$(eval echo \${${type}_hy})
- fi
-
- $APRUN_REMAP $REMAPEXE --input_dir $DATA \
- --input_file $in_file \
- --output_dir $DATA \
- --output_file $out_file \
- --input_mosaic $grid_loc \
- --scalar_field "$fld" \
- --interp_method conserve_order1 \
- --remap_file $weight_file \
- --nlon $nlon \
- --nlat $nlat
- rc=$?
- ((err+=$rc))
-
-done
-
-exit $err
-
diff --git a/ush/gaussian_sfcanl.sh b/ush/gaussian_sfcanl.sh
index 79b2cb5b7d..5c6c842845 100755
--- a/ush/gaussian_sfcanl.sh
+++ b/ush/gaussian_sfcanl.sh
@@ -23,13 +23,7 @@
# OUTPUT_FILE Output gaussian analysis file format. Default is "nemsio"
# Set to "netcdf" for netcdf output file
# Otherwise, output in nemsio.
-# BASEDIR Root directory where all scripts and fixed files reside.
-# Default is /nwprod2.
-# HOMEgfs Directory for gfs version. Default is
-# $BASEDIR/gfs_ver.v15.0.0}
# FIXWGTS Weight file to use for interpolation
-# EXECgfs Directory of the program executable. Defaults to
-# $HOMEgfs/exec
# DATA Working directory
# (if nonexistent will be made, used and deleted)
# Defaults to current working directory
@@ -106,7 +100,7 @@
#
################################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
CASE=${CASE:-C768}
res=$(echo $CASE | cut -c2-)
@@ -117,11 +111,6 @@ LATB_SFC=${LATB_SFC:-$LATB_CASE}
DONST=${DONST:-"NO"}
LEVS=${LEVS:-64}
LEVSP1=$(($LEVS+1))
-# Directories.
-gfs_ver=${gfs_ver:-v16.3.0}
-BASEDIR=${BASEDIR:-${PACKAGEROOT:-/lfs/h1/ops/prod/packages}}
-HOMEgfs=${HOMEgfs:-$BASEDIR/gfs.${gfs_ver}}
-EXECgfs=${EXECgfs:-$HOMEgfs/exec}
FIXWGTS=${FIXWGTS:-${FIXgfs}/orog/${CASE}/fv3_SCRIP_${CASE}_GRIDSPEC_lon${LONB_SFC}_lat${LATB_SFC}.gaussian.neareststod.nc}
DATA=${DATA:-$(pwd)}
diff --git a/ush/getdump.sh b/ush/getdump.sh
index 462ca5e755..7ab241ca1a 100755
--- a/ush/getdump.sh
+++ b/ush/getdump.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
COMPONENT=${COMPONENT:-atmos}
diff --git a/ush/getges.sh b/ush/getges.sh
index 2fb54fccc7..d960354bf4 100755
--- a/ush/getges.sh
+++ b/ush/getges.sh
@@ -76,7 +76,7 @@
################################################################################
#-------------------------------------------------------------------------------
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Set some default parameters.
fhbeg=03 # hour to begin searching backward for guess
diff --git a/ush/gfs_bfr2gpk.sh b/ush/gfs_bfr2gpk.sh
index add68536ec..dbd8defb0e 100755
--- a/ush/gfs_bfr2gpk.sh
+++ b/ush/gfs_bfr2gpk.sh
@@ -10,7 +10,7 @@
# Log: #
# K. Brill/HPC 04/12/05 #
#########################################################################
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Set GEMPAK paths.
diff --git a/ush/gfs_bufr.sh b/ush/gfs_bufr.sh
index 5ed05f9beb..54e8ec52b5 100755
--- a/ush/gfs_bufr.sh
+++ b/ush/gfs_bufr.sh
@@ -17,9 +17,10 @@
# 2018-05-22 Guang Ping Lou: Making it work for both GFS and FV3GFS
# 2018-05-30 Guang Ping Lou: Make sure all files are available.
# 2019-10-10 Guang Ping Lou: Read in NetCDF files
+# 2024-03-03 Bo Cui: Add options to use different bufr table for different resolution NetCDF files
# echo "History: February 2003 - First implementation of this utility script"
#
-source "${HOMEgfs:?}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
if [[ "${F00FLAG}" == "YES" ]]; then
f00flag=".true."
@@ -76,11 +77,23 @@ for (( hr = 10#${FSTART}; hr <= 10#${FEND}; hr = hr + 10#${FINT} )); do
done
# define input BUFR table file.
-ln -sf "${PARMbufrsnd}/bufr_gfs_${CLASS}.tbl" fort.1
-ln -sf "${STNLIST:-${PARMbufrsnd}/bufr_stalist.meteo.gfs}" fort.8
-ln -sf "${PARMbufrsnd}/bufr_ij13km.txt" fort.7
+ln -sf "${PARMgfs}/product/bufr_gfs_${CLASS}.tbl" fort.1
+ln -sf "${STNLIST:-${PARMgfs}/product/bufr_stalist.meteo.gfs}" fort.8
-${APRUN_POSTSND} "${EXECbufrsnd}/${pgm}" < gfsparm > "out_gfs_bufr_${FEND}"
+case "${CASE}" in
+ "C768")
+ ln -sf "${PARMbufrsnd}/bufr_ij13km.txt" fort.7
+ ;;
+ "C1152")
+ ln -sf "${PARMbufrsnd}/bufr_ij9km.txt" fort.7
+ ;;
+ *)
+ echo "FATAL ERROR: Unrecognized bufr_ij*km.txt For CASE ${CASE}, ABORT!"
+ exit 1
+ ;;
+esac
+
+${APRUN_POSTSND} "${EXECgfs}/${pgm}" < gfsparm > "out_gfs_bufr_${FEND}"
export err=$?
if [ $err -ne 0 ]; then
diff --git a/ush/gfs_bufr_netcdf.sh b/ush/gfs_bufr_netcdf.sh
index b358c6b69a..843922e53b 100755
--- a/ush/gfs_bufr_netcdf.sh
+++ b/ush/gfs_bufr_netcdf.sh
@@ -19,7 +19,7 @@
# 2019-10-10 Guang Ping Lou: Read in NetCDF files
# echo "History: February 2003 - First implementation of this utility script"
#
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
if test "$F00FLAG" = "YES"
then
@@ -105,11 +105,11 @@ do
done
# define input BUFR table file.
-ln -sf $PARMbufrsnd/bufr_gfs_${CLASS}.tbl fort.1
-ln -sf ${STNLIST:-$PARMbufrsnd/bufr_stalist.meteo.gfs} fort.8
-ln -sf $PARMbufrsnd/bufr_ij13km.txt fort.7
+ln -sf ${PARMgfs}/product/bufr_gfs_${CLASS}.tbl fort.1
+ln -sf ${STNLIST:-${PARMgfs}/product/bufr_stalist.meteo.gfs} fort.8
+ln -sf ${PARMgfs}/product/bufr_ij13km.txt fort.7
-${APRUN_POSTSND} "${EXECbufrsnd}/${pgm}" < gfsparm > "out_gfs_bufr_${FEND}"
+${APRUN_POSTSND} "${EXECgfs}/${pgm}" < gfsparm > "out_gfs_bufr_${FEND}"
export err=$?
exit ${err}
diff --git a/ush/gfs_sndp.sh b/ush/gfs_sndp.sh
index e07b3eb42c..ade49eec36 100755
--- a/ush/gfs_sndp.sh
+++ b/ush/gfs_sndp.sh
@@ -7,7 +7,7 @@
# 1) 2004-09-10 Steve Gilbert First Implementation
################################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Create "collectives" consisting of groupings of the soundings
# into files designated by geographical region. Each input
@@ -16,7 +16,7 @@ source "$HOMEgfs/ush/preamble.sh"
export m=$1
mkdir $DATA/$m
cd $DATA/$m
- cp ${HOMEgfs}/fix/product/gfs_collective${m}.list $DATA/$m/.
+ cp ${FIXgfs}/product/gfs_collective${m}.list $DATA/$m/.
CCCC=KWBC
file_list=gfs_collective${m}.list
@@ -37,7 +37,7 @@ cd $DATA/$m
#. prep_step
export FORT11=$DATA/${m}/bufrin
export FORT51=./bufrout
- ${EXECbufrsnd}/${pgm} << EOF
+ ${EXECgfs}/${pgm} << EOF
&INPUT
BULHED="$WMOHEAD",KWBX="$CCCC",
NCEP2STD=.TRUE.,
diff --git a/ush/gfs_truncate_enkf.sh b/ush/gfs_truncate_enkf.sh
index 8aa47e26e2..6102ada75d 100755
--- a/ush/gfs_truncate_enkf.sh
+++ b/ush/gfs_truncate_enkf.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
member=$1
export SIGINP=$2
diff --git a/ush/global_savefits.sh b/ush/global_savefits.sh
index f26132dd8a..973d27a358 100755
--- a/ush/global_savefits.sh
+++ b/ush/global_savefits.sh
@@ -3,7 +3,7 @@
########################################################
# save fit and horiz files for all analysis cycles
########################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
export FIT_DIR=${FIT_DIR:-$COMOUT/fits}
export HORZ_DIR=${HORZ_DIR:-$COMOUT/horiz}
diff --git a/ush/hpssarch_gen.sh b/ush/hpssarch_gen.sh
index 903c2d63fb..eadd465421 100755
--- a/ush/hpssarch_gen.sh
+++ b/ush/hpssarch_gen.sh
@@ -4,7 +4,7 @@
# Fanglin Yang, 20180318
# --create bunches of files to be archived to HPSS
###################################################
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
type=${1:-gfs} ##gfs, gdas, enkfgdas or enkfggfs
diff --git a/ush/interp_atmos_master.sh b/ush/interp_atmos_master.sh
index 0abc6ad185..4c4ee4b03c 100755
--- a/ush/interp_atmos_master.sh
+++ b/ush/interp_atmos_master.sh
@@ -4,7 +4,7 @@
# Generate 0.25 / 0.5 / 1 degree interpolated grib2 files for each input grib2 file
# trim's RH and tweaks sea-ice cover
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
input_file=${1:-"pgb2file_in"} # Input pressure grib2 file
output_file_prefix=${2:-"pgb2file_out"} # Prefix for output grib2 file; the prefix is appended by resolution e.g. _0p25
@@ -29,7 +29,7 @@ grid0p50="latlon 0:720:0.5 90:361:-0.5"
grid1p00="latlon 0:360:1.0 90:181:-1.0"
# "Import" functions used in this script
-source "${HOMEgfs}/ush/product_functions.sh"
+source "${USHgfs}/product_functions.sh"
# Transform the input ${grid_string} into an array for processing
IFS=':' read -ra grids <<< "${grid_string}"
diff --git a/ush/interp_atmos_sflux.sh b/ush/interp_atmos_sflux.sh
index 516a2f5e4a..cdf748f666 100755
--- a/ush/interp_atmos_sflux.sh
+++ b/ush/interp_atmos_sflux.sh
@@ -3,7 +3,7 @@
# This script takes in a master flux file and creates interpolated flux files at various interpolated resolutions
# Generate 0.25 / 0.5 / 1 degree interpolated grib2 flux files for each input sflux grib2 file
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
input_file=${1:-"sfluxfile_in"} # Input sflux grib2 file
output_file_prefix=${2:-"sfluxfile_out"} # Prefix for output sflux grib2 file; the prefix is appended by resolution e.g. _0p25
@@ -46,4 +46,4 @@ ${WGRIB2} "${input_file}" ${defaults} \
${output_grids}
export err=$?; err_chk
-exit 0
\ No newline at end of file
+exit 0
diff --git a/ush/link_crtm_fix.sh b/ush/link_crtm_fix.sh
index 61ac3f7870..5204c3e3da 100755
--- a/ush/link_crtm_fix.sh
+++ b/ush/link_crtm_fix.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# Get CRTM fix directory from (in this order):
# 1. First argument to script, or
diff --git a/ush/module-setup.sh b/ush/module-setup.sh
index e204bae8a2..008ef7ee97 100755
--- a/ush/module-setup.sh
+++ b/ush/module-setup.sh
@@ -1,7 +1,7 @@
#!/bin/bash
set -u
-source "${HOMEgfs}/ush/detect_machine.sh"
+source "${HOMEgfs}/ush/detect_machine.sh"
if [[ ${MACHINE_ID} = jet* ]] ; then
# We are on NOAA Jet
@@ -125,7 +125,7 @@ elif [[ ${MACHINE_ID} = "noaacloud" ]]; then
export SPACK_ROOT=/contrib/global-workflow/spack-stack/spack
export PATH=${PATH}:${SPACK_ROOT}/bin
. "${SPACK_ROOT}"/share/spack/setup-env.sh
-
+
else
echo WARNING: UNKNOWN PLATFORM 1>&2
fi
diff --git a/ush/oceanice_nc2grib2.sh b/ush/oceanice_nc2grib2.sh
index 1d0e5ae274..2afd0e07f2 100755
--- a/ush/oceanice_nc2grib2.sh
+++ b/ush/oceanice_nc2grib2.sh
@@ -3,7 +3,7 @@
# This script contains functions to convert ocean/ice rectilinear netCDF files to grib2 format
# This script uses the wgrib2 utility to convert the netCDF files to grib2 format and then indexes it
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
function _ice_nc2grib2 {
diff --git a/ush/ozn_xtrct.sh b/ush/ozn_xtrct.sh
index 57ff87be5f..0c623bf03c 100755
--- a/ush/ozn_xtrct.sh
+++ b/ush/ozn_xtrct.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
#------------------------------------------------------------------
# ozn_xtrct.sh
@@ -132,12 +132,12 @@ else
#--------------------------------------------------------------------
# Copy extraction programs to working directory
#
- ${NCP} "${HOMEgfs}/exec/oznmon_time.x" ./oznmon_time.x
+ ${NCP} "${EXECgfs}/oznmon_time.x" ./oznmon_time.x
if [[ ! -e oznmon_time.x ]]; then
iret=2
exit ${iret}
fi
- ${NCP} "${HOMEgfs}/exec/oznmon_horiz.x" ./oznmon_horiz.x
+ ${NCP} "${EXECgfs}/oznmon_horiz.x" ./oznmon_horiz.x
if [[ ! -e oznmon_horiz.x ]]; then
iret=3
exit ${iret}
diff --git a/ush/parsing_model_configure_FV3.sh b/ush/parsing_model_configure_FV3.sh
index cd4f68df8b..0ec3517099 100755
--- a/ush/parsing_model_configure_FV3.sh
+++ b/ush/parsing_model_configure_FV3.sh
@@ -44,12 +44,12 @@ local OUTPUT_FH=${FV3_OUTPUT_FH}
local IAU_OFFSET=${IAU_OFFSET:-0}
# Ensure the template exists
-template="${HOMEgfs}/parm/ufs/model_configure.IN"
+template="${PARMgfs}/ufs/model_configure.IN"
if [[ ! -f ${template} ]]; then
echo "FATAL ERROR: template '${template}' does not exist, ABORT!"
exit 1
fi
-source "${HOMEgfs}/ush/atparse.bash"
+source "${USHgfs}/atparse.bash"
rm -f "${DATA}/model_configure"
atparse < "${template}" >> "${DATA}/model_configure"
echo "Rendered model_configure"
diff --git a/ush/parsing_namelists_CICE.sh b/ush/parsing_namelists_CICE.sh
index d749e6d890..ec44c7cdca 100755
--- a/ush/parsing_namelists_CICE.sh
+++ b/ush/parsing_namelists_CICE.sh
@@ -104,12 +104,12 @@ local CICE_BLCKY=${block_size_y}
local CICE_DECOMP=${processor_shape}
# Ensure the template exists
-local template=${CICE_TEMPLATE:-"${HOMEgfs}/parm/ufs/ice_in.IN"}
+local template=${CICE_TEMPLATE:-"${PARMgfs}/ufs/ice_in.IN"}
if [[ ! -f "${template}" ]]; then
echo "FATAL ERROR: template '${template}' does not exist, ABORT!"
exit 1
fi
-source "${HOMEgfs}/ush/atparse.bash"
+source "${USHgfs}/atparse.bash"
rm -f "${DATA}/ice_in"
atparse < "${template}" >> "${DATA}/ice_in"
echo "Rendered ice_in:"
diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh
index 88a0065076..14610f1201 100755
--- a/ush/parsing_namelists_FV3.sh
+++ b/ush/parsing_namelists_FV3.sh
@@ -14,10 +14,10 @@
FV3_namelists(){
# setup the tables
-DIAG_TABLE=${DIAG_TABLE:-${HOMEgfs}/parm/ufs/fv3/diag_table}
-DIAG_TABLE_APPEND=${DIAG_TABLE_APPEND:-${HOMEgfs}/parm/ufs/fv3/diag_table_aod}
-DATA_TABLE=${DATA_TABLE:-${HOMEgfs}/parm/ufs/MOM6_data_table.IN}
-FIELD_TABLE=${FIELD_TABLE:-${HOMEgfs}/parm/ufs/fv3/field_table}
+DIAG_TABLE=${DIAG_TABLE:-${PARMgfs}/ufs/fv3/diag_table}
+DIAG_TABLE_APPEND=${DIAG_TABLE_APPEND:-${PARMgfs}/ufs/fv3/diag_table_aod}
+DATA_TABLE=${DATA_TABLE:-${PARMgfs}/ufs/MOM6_data_table.IN}
+FIELD_TABLE=${FIELD_TABLE:-${PARMgfs}/ufs/fv3/field_table}
# ensure non-prognostic tracers are set
dnats=${dnats:-0}
@@ -42,7 +42,7 @@ local SYEAR=${current_cycle:0:4}
local SMONTH=${current_cycle:4:2}
local SDAY=${current_cycle:6:2}
local CHOUR=${current_cycle:8:2}
-source "${HOMEgfs}/ush/atparse.bash"
+source "${USHgfs}/atparse.bash"
atparse < "${template}" >> "diag_table"
diff --git a/ush/parsing_namelists_MOM6.sh b/ush/parsing_namelists_MOM6.sh
index ca93edb526..9c1378fec4 100755
--- a/ush/parsing_namelists_MOM6.sh
+++ b/ush/parsing_namelists_MOM6.sh
@@ -55,7 +55,7 @@ echo "Rendered input.nml:"
cat input.nml
# Source functions from this file for filling in templates
-source "${HOMEgfs}/ush/atparse.bash"
+source "${USHgfs}/atparse.bash"
# ================================================================
# MOM_input
@@ -107,7 +107,7 @@ else
local PERT_EPBL="False"
fi
# Ensure the template exists
-local template=${MOM6_INPUT_TEMPLATE:-"${HOMEgfs}/parm/ufs/MOM_input_${OCNRES}.IN"}
+local template=${MOM6_INPUT_TEMPLATE:-"${PARMgfs}/ufs/MOM_input_${OCNRES}.IN"}
if [[ ! -f "${template}" ]]; then
echo "FATAL ERROR: template '${template}' does not exist, ABORT!"
exit 1
@@ -124,7 +124,7 @@ cat "${DATA}/INPUT/MOM_input"
local MOM6_FRUNOFF=${FRUNOFF}
# Ensure the template exists
-local template=${MOM6_DATA_TABLE_TEMPLATE:-"${HOMEgfs}/parm/ufs/MOM6_data_table.IN"}
+local template=${MOM6_DATA_TABLE_TEMPLATE:-"${PARMgfs}/ufs/MOM6_data_table.IN"}
if [[ ! -f "${template}" ]]; then
echo "FATAL ERROR: template '${template}' does not exist, ABORT!"
exit 1
diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh
index 9b0a94695c..a01d694710 100755
--- a/ush/parsing_namelists_WW3.sh
+++ b/ush/parsing_namelists_WW3.sh
@@ -79,8 +79,8 @@ WW3_namelists(){
if [ $waveMULTIGRID = ".true." ]; then
# ww3_multi template
- if [ -f $PARMwave/ww3_multi.inp.tmpl ]; then
- cp $PARMwave/ww3_multi.inp.tmpl ww3_multi.inp.tmpl
+ if [ -f ${PARMgfs}/wave/ww3_multi.inp.tmpl ]; then
+ cp ${PARMgfs}/wave/ww3_multi.inp.tmpl ww3_multi.inp.tmpl
fi
if [ ! -f ww3_multi.inp.tmpl ]; then
echo "ABNORMAL EXIT: NO TEMPLATE FOR WW3 MULTI INPUT FILE"
@@ -88,8 +88,8 @@ WW3_namelists(){
fi
else
# ww3_multi template
- if [ -f $PARMwave/ww3_shel.inp.tmpl ]; then
- cp $PARMwave/ww3_shel.inp.tmpl ww3_shel.inp.tmpl
+ if [ -f ${PARMgfs}/wave/ww3_shel.inp.tmpl ]; then
+ cp ${PARMgfs}/wave/ww3_shel.inp.tmpl ww3_shel.inp.tmpl
fi
if [ ! -f ww3_shel.inp.tmpl ]; then
echo "ABNORMAL EXIT: NO TEMPLATE FOR WW3 SHEL INPUT FILE"
@@ -99,18 +99,18 @@ WW3_namelists(){
# Buoy location file
- if [ -f $PARMwave/wave_${NET}.buoys ]
+ if [ -f ${PARMgfs}/wave/wave_${NET}.buoys ]
then
- cp $PARMwave/wave_${NET}.buoys buoy.loc
+ cp ${PARMgfs}/wave/wave_${NET}.buoys buoy.loc
fi
if [ -f buoy.loc ]
then
set +x
- echo " buoy.loc copied ($PARMwave/wave_${NET}.buoys)."
+ echo " buoy.loc copied (${PARMgfs}/wave/wave_${NET}.buoys)."
set_trace
else
- echo " FATAL ERROR : buoy.loc ($PARMwave/wave_${NET}.buoys) NOT FOUND"
+ echo " FATAL ERROR : buoy.loc (${PARMgfs}/wave/wave_${NET}.buoys) NOT FOUND"
exit 12
fi
diff --git a/ush/parsing_ufs_configure.sh b/ush/parsing_ufs_configure.sh
index bec5c8f0f6..ade07c52bf 100755
--- a/ush/parsing_ufs_configure.sh
+++ b/ush/parsing_ufs_configure.sh
@@ -93,7 +93,7 @@ else
echo "INFO: using ufs.configure template: '${ufs_configure_template}'"
fi
-source "${HOMEgfs}/ush/atparse.bash"
+source "${USHgfs}/atparse.bash"
rm -f "${DATA}/ufs.configure"
atparse < "${ufs_configure_template}" >> "${DATA}/ufs.configure"
echo "Rendered ufs.configure:"
diff --git a/ush/python/pygfs/task/analysis.py b/ush/python/pygfs/task/analysis.py
index b562eeee4e..5709bc130e 100644
--- a/ush/python/pygfs/task/analysis.py
+++ b/ush/python/pygfs/task/analysis.py
@@ -25,6 +25,8 @@ class Analysis(Task):
def __init__(self, config: Dict[str, Any]) -> None:
super().__init__(config)
self.config.ntiles = 6
+ # Store location of GDASApp jinja2 templates
+ self.gdasapp_j2tmpl_dir = os.path.join(self.config.HOMEgfs, 'parm/gdas')
def initialize(self) -> None:
super().initialize()
@@ -56,7 +58,7 @@ def get_obs_dict(self) -> Dict[str, Any]:
a dictionary containing the list of observation files to copy for FileHandler
"""
logger.debug(f"OBS_LIST: {self.task_config['OBS_LIST']}")
- obs_list_config = parse_j2yaml(self.task_config["OBS_LIST"], self.task_config)
+ obs_list_config = parse_j2yaml(self.task_config["OBS_LIST"], self.task_config, searchpath=self.gdasapp_j2tmpl_dir)
logger.debug(f"obs_list_config: {obs_list_config}")
# get observers from master dictionary
observers = obs_list_config['observers']
@@ -88,7 +90,7 @@ def get_bias_dict(self) -> Dict[str, Any]:
a dictionary containing the list of observation bias files to copy for FileHandler
"""
logger.debug(f"OBS_LIST: {self.task_config['OBS_LIST']}")
- obs_list_config = parse_j2yaml(self.task_config["OBS_LIST"], self.task_config)
+ obs_list_config = parse_j2yaml(self.task_config["OBS_LIST"], self.task_config, searchpath=self.gdasapp_j2tmpl_dir)
logger.debug(f"obs_list_config: {obs_list_config}")
# get observers from master dictionary
observers = obs_list_config['observers']
diff --git a/ush/python/pygfs/task/snow_analysis.py b/ush/python/pygfs/task/snow_analysis.py
index 01c69dbc7b..9eee8314c3 100644
--- a/ush/python/pygfs/task/snow_analysis.py
+++ b/ush/python/pygfs/task/snow_analysis.py
@@ -11,7 +11,7 @@
FileHandler,
to_fv3time, to_YMD, to_YMDH, to_timedelta, add_to_datetime,
rm_p,
- parse_j2yaml, parse_yamltmpl, save_as_yaml,
+ parse_j2yaml, save_as_yaml,
Jinja,
logit,
Executable,
@@ -99,7 +99,7 @@ def prepare_GTS(self) -> None:
def _gtsbufr2iodax(exe, yaml_file):
if not os.path.isfile(yaml_file):
- logger.exception(f"{yaml_file} not found")
+ logger.exception(f"FATAL ERROR: {yaml_file} not found")
raise FileNotFoundError(yaml_file)
logger.info(f"Executing {exe}")
@@ -260,9 +260,9 @@ def initialize(self) -> None:
FileHandler({'mkdir': dirlist}).sync()
# stage fix files
- jedi_fix_list_path = os.path.join(self.task_config.HOMEgfs, 'parm', 'gdas', 'snow_jedi_fix.yaml')
+ jedi_fix_list_path = os.path.join(self.task_config.HOMEgfs, 'parm', 'gdas', 'snow_jedi_fix.yaml.j2')
logger.info(f"Staging JEDI fix files from {jedi_fix_list_path}")
- jedi_fix_list = parse_yamltmpl(jedi_fix_list_path, self.task_config)
+ jedi_fix_list = parse_j2yaml(jedi_fix_list_path, self.task_config)
FileHandler(jedi_fix_list).sync()
# stage backgrounds
@@ -271,10 +271,9 @@ def initialize(self) -> None:
# generate letkfoi YAML file
logger.info(f"Generate JEDI LETKF YAML file: {self.task_config.jedi_yaml}")
- letkfoi_yaml = parse_j2yaml(self.task_config.JEDIYAML, self.task_config)
+ letkfoi_yaml = parse_j2yaml(self.task_config.JEDIYAML, self.task_config, searchpath=self.gdasapp_j2tmpl_dir)
save_as_yaml(letkfoi_yaml, self.task_config.jedi_yaml)
logger.info(f"Wrote letkfoi YAML to: {self.task_config.jedi_yaml}")
-
# need output dir for diags and anl
logger.info("Create empty output [anl, diags] directories to receive output from executable")
newdirs = [
diff --git a/ush/radmon_err_rpt.sh b/ush/radmon_err_rpt.sh
index 6ae6505624..c3d251d5cd 100755
--- a/ush/radmon_err_rpt.sh
+++ b/ush/radmon_err_rpt.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
@@ -55,9 +55,6 @@ cycle2=${5:-${cycle2:?}}
diag_rpt=${6:-${diag_rpt:?}}
outfile=${7:-${outfile:?}}
-# Directories
-HOMEradmon=${HOMEradmon:-$(pwd)}
-
# Other variables
err=0
RADMON_SUFFIX=${RADMON_SUFFIX}
diff --git a/ush/radmon_verf_angle.sh b/ush/radmon_verf_angle.sh
index 1066627787..3dff2a6f98 100755
--- a/ush/radmon_verf_angle.sh
+++ b/ush/radmon_verf_angle.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
@@ -29,8 +29,6 @@ source "${HOMEgfs}/ush/preamble.sh"
# Imported Shell Variables:
# RADMON_SUFFIX data source suffix
# defauls to opr
-# EXECgfs executable directory
-# PARMmonitor parm directory
# RAD_AREA global or regional flag
# defaults to global
# TANKverf_rad data repository
@@ -100,7 +98,7 @@ fi
err=0
angle_exec=radmon_angle.x
-shared_scaninfo="${shared_scaninfo:-${PARMmonitor}/gdas_radmon_scaninfo.txt}"
+shared_scaninfo="${shared_scaninfo:-${PARMgfs}/monitor/gdas_radmon_scaninfo.txt}"
scaninfo=scaninfo.txt
#--------------------------------------------------------------------
diff --git a/ush/radmon_verf_bcoef.sh b/ush/radmon_verf_bcoef.sh
index b6fd82dff2..4274436154 100755
--- a/ush/radmon_verf_bcoef.sh
+++ b/ush/radmon_verf_bcoef.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
diff --git a/ush/radmon_verf_bcor.sh b/ush/radmon_verf_bcor.sh
index 7aec48e2b3..ea0a7842e6 100755
--- a/ush/radmon_verf_bcor.sh
+++ b/ush/radmon_verf_bcor.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
diff --git a/ush/radmon_verf_time.sh b/ush/radmon_verf_time.sh
index 0df8029166..0e935826dd 100755
--- a/ush/radmon_verf_time.sh
+++ b/ush/radmon_verf_time.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
################################################################################
#### UNIX Script Documentation Block
@@ -33,8 +33,6 @@ source "${HOMEgfs}/ush/preamble.sh"
# defaults to 1 (on)
# RADMON_SUFFIX data source suffix
# defauls to opr
-# EXECgfs executable directory
-# PARMmonitor parm data directory
# RAD_AREA global or regional flag
# defaults to global
# TANKverf_rad data repository
@@ -77,7 +75,7 @@ source "${HOMEgfs}/ush/preamble.sh"
# File names
radmon_err_rpt=${radmon_err_rpt:-${USHgfs}/radmon_err_rpt.sh}
-base_file=${base_file:-${PARMmonitor}/gdas_radmon_base.tar}
+base_file=${base_file:-${PARMgfs}/monitor/gdas_radmon_base.tar}
report=report.txt
disclaimer=disclaimer.txt
diff --git a/ush/rstprod.sh b/ush/rstprod.sh
index acac0340bb..b48a6817e0 100755
--- a/ush/rstprod.sh
+++ b/ush/rstprod.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
#---------------------------------------------------------
# rstprod.sh
diff --git a/ush/run_mpmd.sh b/ush/run_mpmd.sh
index 24cb3f2656..e3fc2b7512 100755
--- a/ush/run_mpmd.sh
+++ b/ush/run_mpmd.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
cmdfile=${1:?"run_mpmd requires an input file containing commands to execute in MPMD mode"}
diff --git a/ush/syndat_getjtbul.sh b/ush/syndat_getjtbul.sh
index 3ea56db72a..6596c6ef96 100755
--- a/ush/syndat_getjtbul.sh
+++ b/ush/syndat_getjtbul.sh
@@ -18,13 +18,10 @@
# Imported variables that must be passed in:
# DATA - path to working directory
# pgmout - string indicating path to for standard output file
-# EXECSYND - path to syndat executable directory
# TANK_TROPCY - path to home directory containing tropical cyclone record
# data base
-source "$HOMEgfs/ush/preamble.sh"
-
-EXECSYND=${EXECSYND:-${HOMESYND}/exec}
+source "${USHgfs}/preamble.sh"
cd $DATA
@@ -117,7 +114,7 @@ fi
[ -s jtwcbul ] && echo "Processing JTWC bulletin halfs into tcvitals records" >> $pgmout
-pgm=$(basename $EXECSYND/syndat_getjtbul.x)
+pgm=$(basename ${EXECgfs}/syndat_getjtbul.x)
export pgm
if [ -s prep_step ]; then
set +u
@@ -132,7 +129,7 @@ rm -f fnoc
export FORT11=jtwcbul
export FORT51=fnoc
-time -p ${EXECSYND}/${pgm} >> $pgmout 2> errfile
+time -p ${EXECgfs}/${pgm} >> $pgmout 2> errfile
errget=$?
###cat errfile
cat errfile >> $pgmout
diff --git a/ush/syndat_qctropcy.sh b/ush/syndat_qctropcy.sh
index 9d9b2ad69b..8ec8f70b14 100755
--- a/ush/syndat_qctropcy.sh
+++ b/ush/syndat_qctropcy.sh
@@ -44,9 +44,6 @@
# COMSP - path to both output jtwc-fnoc file and output tcvitals file (this
# tcvitals file is read by subsequent relocation processing and/or
# subsequent program SYNDAT_SYNDATA)
-# PARMSYND - path to syndat parm field directory
-# EXECSYND - path to syndat executable directory
-# USHSYND - path to syndat ush directory
# Imported variables that can be passed in:
# ARCHSYND - path to syndat archive directory
@@ -66,17 +63,12 @@
# (Default: not set)
# TIMEIT - optional time and resource reporting (Default: not set)
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
ARCHSYND=${ARCHSYND:-$COMROOTp3/gfs/prod/syndat}
-HOMENHCp1=${HOMENHCp1:-/gpfs/?p1/nhc/save/guidance/storm-data/ncep}
HOMENHC=${HOMENHC:-/gpfs/dell2/nhc/save/guidance/storm-data/ncep}
TANK_TROPCY=${TANK_TROPCY:-${DCOMROOT}/us007003}
-USHSYND=${USHSYND:-$HOMEgfs/ush}
-EXECSYND=${EXECSYND:-$HOMEgfs/exec}
-PARMSYND=${PARMSYND:-$HOMEgfs/parm/relo}
-
slmask=${slmask:-${FIXgfs}/am/syndat_slmask.t126.gaussian}
copy_back=${copy_back:-YES}
files_override=${files_override:-""}
@@ -186,7 +178,7 @@ if [ -n "$files_override" ]; then # for testing, typically want FILES=F
fi
echo " &INPUT RUNID = '${net}_${tmmark}_${cyc}', FILES = $files " > vitchk.inp
-cat $PARMSYND/syndat_qctropcy.${RUN}.parm >> vitchk.inp
+cat ${PARMgfs}/relo/syndat_qctropcy.${RUN}.parm >> vitchk.inp
# Copy the fixed fields
@@ -203,12 +195,9 @@ rm -f nhc fnoc lthistry
# All are input to program syndat_qctropcy
# ------------------------------------------------------------------
-if [ -s $HOMENHC/tcvitals ]; then
- echo "tcvitals found" >> $pgmout
- cp $HOMENHC/tcvitals nhc
-elif [ -s $HOMENHCp1/tcvitals ]; then
+if [ -s ${HOMENHC}/tcvitals ]; then
echo "tcvitals found" >> $pgmout
- cp $HOMENHCp1/tcvitals nhc
+ cp ${HOMENHC}/tcvitals nhc
else
echo "WARNING: tcvitals not found, create empty tcvitals" >> $pgmout
> nhc
@@ -219,17 +208,17 @@ touch nhc
[ "$copy_back" = 'YES' ] && cat nhc >> $ARCHSYND/syndat_tcvitals.$year
mv -f nhc nhc1
-$USHSYND/parse-storm-type.pl nhc1 > nhc
+${USHgfs}/parse-storm-type.pl nhc1 > nhc
cp -p nhc nhc.ORIG
# JTWC/FNOC ... execute syndat_getjtbul script to write into working directory
# as fnoc; copy to archive
-$USHSYND/syndat_getjtbul.sh $CDATE10
+${USHgfs}/syndat_getjtbul.sh $CDATE10
touch fnoc
[ "$copy_back" = 'YES' ] && cat fnoc >> $ARCHSYND/syndat_tcvitals.$year
mv -f fnoc fnoc1
-$USHSYND/parse-storm-type.pl fnoc1 > fnoc
+${USHgfs}/parse-storm-type.pl fnoc1 > fnoc
if [ $SENDDBN = YES ]; then
$DBNROOT/bin/dbn_alert MODEL SYNDAT_TCVITALS $job $ARCHSYND/syndat_tcvitals.$year
@@ -243,7 +232,7 @@ cp $slmask slmask.126
# Execute program syndat_qctropcy
-pgm=$(basename $EXECSYND/syndat_qctropcy.x)
+pgm=$(basename ${EXECgfs}/syndat_qctropcy.x)
export pgm
if [ -s prep_step ]; then
set +u
@@ -257,7 +246,7 @@ fi
echo "$CDATE10" > cdate10.dat
export FORT11=slmask.126
export FORT12=cdate10.dat
-${EXECSYND}/${pgm} >> $pgmout 2> errfile
+${EXECgfs}/${pgm} >> $pgmout 2> errfile
errqct=$?
###cat errfile
cat errfile >> $pgmout
@@ -321,28 +310,25 @@ diff nhc nhc.ORIG > /dev/null
errdiff=$?
###################################
-# Update NHC file in $HOMENHC
+# Update NHC file in ${HOMENHC}
###################################
if test "$errdiff" -ne '0'
then
if [ "$copy_back" = 'YES' -a ${envir} = 'prod' ]; then
- if [ -s $HOMENHC/tcvitals ]; then
- cp nhc $HOMENHC/tcvitals
- fi
- if [ -s $HOMENHCp1/tcvitals ]; then
- cp nhc $HOMENHCp1/tcvitals
+ if [ -s ${HOMENHC}/tcvitals ]; then
+ cp nhc ${HOMENHC}/tcvitals
fi
err=$?
if [ "$err" -ne '0' ]; then
msg="###ERROR: Previous NHC Synthetic Data Record File \
-$HOMENHC/tcvitals not updated by syndat_qctropcy"
+${HOMENHC}/tcvitals not updated by syndat_qctropcy"
else
msg="Previous NHC Synthetic Data Record File \
-$HOMENHC/tcvitals successfully updated by syndat_qctropcy"
+${HOMENHC}/tcvitals successfully updated by syndat_qctropcy"
fi
set +x
@@ -355,7 +341,7 @@ $HOMENHC/tcvitals successfully updated by syndat_qctropcy"
else
- msg="Previous NHC Synthetic Data Record File $HOMENHC/tcvitals \
+ msg="Previous NHC Synthetic Data Record File ${HOMENHC}/tcvitals \
not changed by syndat_qctropcy"
set +x
echo
diff --git a/ush/tropcy_relocate.sh b/ush/tropcy_relocate.sh
index cdcc777c47..29ffc32797 100755
--- a/ush/tropcy_relocate.sh
+++ b/ush/tropcy_relocate.sh
@@ -84,20 +84,13 @@
# envir String indicating environment under which job runs ('prod'
# or 'test')
# Default is "prod"
-# HOMEALL String indicating parent directory path for some or
-# all files under which job runs.
-# If the imported variable MACHINE!=sgi, then the default is
-# "/nw${envir}"; otherwise the default is
-# "/disk1/users/snake/prepobs"
-# HOMERELO String indicating parent directory path for relocation
-# specific files. (May be under HOMEALL)
# envir_getges String indicating environment under which GETGES utility
-# ush runs (see documentation in $USHGETGES/getges.sh for
+# ush runs (see documentation in ${USHgfs}/getges.sh for
# more information)
# Default is "$envir"
# network_getges
# String indicating job network under which GETGES utility
-# ush runs (see documentation in $USHGETGES/getges.sh for
+# ush runs (see documentation in ${USHgfs}/getges.sh for
# more information)
# Default is "global" unless the center relocation processing
# date/time is not a multiple of 3-hrs, then the default is
@@ -122,31 +115,20 @@
# POE_OPTS String indicating options to use with poe command
# Default is "-pgmmodel mpmd -ilevel 2 -labelio yes \
# -stdoutmode ordered"
-# USHGETGES String indicating directory path for GETGES utility ush
-# file
-# USHRELO String indicating directory path for RELOCATE ush files
-# Default is "${HOMERELO}/ush"
-# EXECRELO String indicating directory path for RELOCATE executables
-# Default is "${HOMERELO}/exec"
-# EXECUTIL String indicating directory path for utility program
-# executables
-# If the imported variable MACHINE!=sgi, then the default is
-# "/nwprod/util/exec"; otherwise the default is
-# "${HOMEALL}/util/exec"
# RELOX String indicating executable path for RELOCATE_MV_NVORTEX
# program
-# Default is "$EXECRELO/relocate_mv_nvortex"
+# Default is "${EXECgfs}/relocate_mv_nvortex"
# SUPVX String indicating executable path for SUPVIT utility
# program
-# Default is "$EXECUTIL/supvit.x"
+# Default is "${EXECgfs}/supvit.x"
# GETTX String indicating executable path for GETTRK utility
# program
-# Default is "$EXECUTIL/gettrk"
+# Default is "${EXECgfs}/gettrk"
# BKGFREQ Frequency of background files for relocation
# Default is "3"
# SENDDBN String when set to "YES" alerts output files to $COMSP
# NDATE String indicating executable path for NDATE utility program
-# Default is "$EXECUTIL/ndate"
+# Default is "${EXECgfs}/ndate"
#
# These do not have to be exported to this script. If they are, they will
# be used by the script. If they are not, they will be skipped
@@ -163,18 +145,18 @@
#
# Modules and files referenced:
# Herefile: RELOCATE_GES
-# $USHRELO/tropcy_relocate_extrkr.sh
-# $USHGETGES/getges.sh
+# ${USHgfs}/tropcy_relocate_extrkr.sh
+# ${USHgfs}/getges.sh
# $NDATE (here and in child script
-# $USHRELO/tropcy_relocate_extrkr.sh)
+# ${USHgfs}/tropcy_relocate_extrkr.sh)
# /usr/bin/poe
# postmsg
# $DATA/prep_step (here and in child script
-# $USHRELO/tropcy_relocate_extrkr.sh)
+# ${USHgfs}/tropcy_relocate_extrkr.sh)
# $DATA/err_exit (here and in child script
-# $USHRELO/tropcy_relocate_extrkr.sh)
+# ${USHgfs}/tropcy_relocate_extrkr.sh)
# $DATA/err_chk (here and in child script
-# $USHRELO/tropcy_relocate_extrkr.sh)
+# ${USHgfs}/tropcy_relocate_extrkr.sh)
# NOTE: The last three scripts above are NOT REQUIRED utilities.
# If $DATA/prep_step not found, a scaled down version of it is
# executed in-line. If $DATA/err_exit or $DATA/err_chk are not
@@ -201,7 +183,7 @@
#
####
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
MACHINE=${MACHINE:-$(hostname -s | cut -c 1-3)}
@@ -272,14 +254,6 @@ set_trace
envir=${envir:-prod}
-if [ $MACHINE != sgi ]; then
- HOMEALL=${HOMEALL:-$OPSROOT}
-else
- HOMEALL=${HOMEALL:-/disk1/users/snake/prepobs}
-fi
-
-HOMERELO=${HOMERELO:-${shared_global_home}}
-
envir_getges=${envir_getges:-$envir}
if [ $modhr -eq 0 ]; then
network_getges=${network_getges:-global}
@@ -292,19 +266,12 @@ pgmout=${pgmout:-/dev/null}
tstsp=${tstsp:-/tmp/null/}
tmmark=${tmmark:-tm00}
-USHRELO=${USHRELO:-${HOMERELO}/ush}
-##USHGETGES=${USHGETGES:-/nwprod/util/ush}
-##USHGETGES=${USHGETGES:-${HOMERELO}/ush}
-USHGETGES=${USHGETGES:-${USHRELO}}
-
-EXECRELO=${EXECRELO:-${HOMERELO}/exec}
-
-RELOX=${RELOX:-$EXECRELO/relocate_mv_nvortex}
+RELOX=${RELOX:-${EXECgfs}/relocate_mv_nvortex}
export BKGFREQ=${BKGFREQ:-1}
-SUPVX=${SUPVX:-$EXECRELO/supvit.x}
-GETTX=${GETTX:-$EXECRELO/gettrk}
+SUPVX=${SUPVX:-${EXECgfs}/supvit.x}
+GETTX=${GETTX:-${EXECgfs}/gettrk}
################################################
# EXECUTE TROPICAL CYCLONE RELOCATION PROCESSING
@@ -350,7 +317,7 @@ echo " relocation processing date/time"
echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
echo
set_trace
- $USHGETGES/getges.sh -e $envir_getges -n $network_getges \
+ ${USHgfs}/getges.sh -e $envir_getges -n $network_getges \
-v $CDATE10 -f $fhr -t tcvges tcvitals.m${fhr}
set +x
echo
@@ -400,7 +367,7 @@ echo " relocation processing date/time"
echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
echo
set_trace
- $USHGETGES/getges.sh -e $envir_getges -n $network_getges \
+ ${USHgfs}/getges.sh -e $envir_getges -n $network_getges \
-v $CDATE10 -t $stype $sges
errges=$?
if test $errges -ne 0; then
@@ -434,7 +401,7 @@ to center relocation date/time;"
# ----------------------------------------------------------------------------
if [ $fhr = "0" ]; then
- "${USHGETGES}/getges.sh" -e "${envir_getges}" -n "${network_getges}" -v "${CDATE10}" \
+ "${USHgfs}/getges.sh" -e "${envir_getges}" -n "${network_getges}" -v "${CDATE10}" \
-t "${stype}" > "${COM_OBS}/${RUN}.${cycle}.sgesprep_pre-relocate_pathname.${tmmark}"
cp "${COM_OBS}/${RUN}.${cycle}.sgesprep_pre-relocate_pathname.${tmmark}" \
"${COM_OBS}/${RUN}.${cycle}.sgesprep_pathname.${tmmark}"
@@ -454,7 +421,7 @@ echo " relocation processing date/time"
echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
echo
set_trace
- $USHGETGES/getges.sh -e $envir_getges -n $network_getges \
+ ${USHgfs}/getges.sh -e $envir_getges -n $network_getges \
-v $CDATE10 -t $ptype $pges
errges=$?
if test $errges -ne 0; then
@@ -536,7 +503,7 @@ else
# $DATA/$RUN.$cycle.relocate.model_track.tm00
# --------------------------------------------
- $USHRELO/tropcy_relocate_extrkr.sh
+ ${USHgfs}/tropcy_relocate_extrkr.sh
err=$?
if [ $err -ne 0 ]; then
@@ -545,12 +512,12 @@ else
set +x
echo
- echo "$USHRELO/tropcy_relocate_extrkr.sh failed"
+ echo "${USHgfs}/tropcy_relocate_extrkr.sh failed"
echo "ABNORMAL EXIT!!!!!!!!!!!"
echo
set_trace
if [ -s $DATA/err_exit ]; then
- $DATA/err_exit "Script $USHRELO/tropcy_relocate_extrkr.sh failed"
+ $DATA/err_exit "Script ${USHgfs}/tropcy_relocate_extrkr.sh failed"
else
exit 555
fi
diff --git a/ush/tropcy_relocate_extrkr.sh b/ush/tropcy_relocate_extrkr.sh
index c4efad1d73..8e6bc5283a 100755
--- a/ush/tropcy_relocate_extrkr.sh
+++ b/ush/tropcy_relocate_extrkr.sh
@@ -3,7 +3,7 @@
# This script is executed by the script tropcy_relocate.sh
# --------------------------------------------------------
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
export machine=${machine:-ZEUS}
export machine=$(echo $machine|tr '[a-z]' '[A-Z]')
diff --git a/ush/wave_grib2_sbs.sh b/ush/wave_grib2_sbs.sh
index af28760269..6b459cb1b0 100755
--- a/ush/wave_grib2_sbs.sh
+++ b/ush/wave_grib2_sbs.sh
@@ -25,7 +25,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "${HOMEgfs}/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -82,7 +82,7 @@ if [[ ! -s "${COM_WAVE_GRID}/${outfile}.idx" ]]; then
echo " Model ID : $WAV_MOD_TAG"
set_trace
- if [[ -z "${PDY}" ]] || [[ -z ${cyc} ]] || [[ -z "${cycle}" ]] || [[ -z "${EXECwave}" ]] || \
+ if [[ -z "${PDY}" ]] || [[ -z ${cyc} ]] || [[ -z "${cycle}" ]] || [[ -z "${EXECgfs}" ]] || \
[[ -z "${COM_WAVE_GRID}" ]] || [[ -z "${WAV_MOD_TAG}" ]] || [[ -z "${gribflags}" ]] || \
[[ -z "${GRIDNR}" ]] || [[ -z "${MODNR}" ]] || \
[[ -z "${SENDDBN}" ]]; then
@@ -138,11 +138,11 @@ if [[ ! -s "${COM_WAVE_GRID}/${outfile}.idx" ]]; then
set +x
echo " Run ww3_grib2"
- echo " Executing ${EXECwave}/ww3_grib"
+ echo " Executing ${EXECgfs}/ww3_grib"
set_trace
export pgm=ww3_grib;. prep_step
- "${EXECwave}/ww3_grib" > "grib2_${grdnam}_${FH3}.out" 2>&1
+ "${EXECgfs}/ww3_grib" > "grib2_${grdnam}_${FH3}.out" 2>&1
export err=$?;err_chk
if [ ! -s gribfile ]; then
diff --git a/ush/wave_grid_interp_sbs.sh b/ush/wave_grid_interp_sbs.sh
index e690cbc4ad..db2918f924 100755
--- a/ush/wave_grid_interp_sbs.sh
+++ b/ush/wave_grid_interp_sbs.sh
@@ -25,7 +25,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -65,7 +65,7 @@ source "$HOMEgfs/ush/preamble.sh"
echo " Model ID : $WAV_MOD_TAG"
set_trace
- if [[ -z "${PDY}" ]] || [[ -z "${cyc}" ]] || [[ -z "${cycle}" ]] || [[ -z "${EXECwave}" ]] || \
+ if [[ -z "${PDY}" ]] || [[ -z "${cyc}" ]] || [[ -z "${cycle}" ]] || [[ -z "${EXECgfs}" ]] || \
[[ -z "${COM_WAVE_PREP}" ]] || [[ -z "${WAV_MOD_TAG}" ]] || [[ -z "${SENDDBN}" ]] || \
[ -z "${waveGRD}" ]
then
@@ -75,7 +75,7 @@ source "$HOMEgfs/ush/preamble.sh"
echo '*** EXPORTED VARIABLES IN postprocessor NOT SET ***'
echo '***************************************************'
echo ' '
- echo "${PDY}${cyc} ${cycle} ${EXECwave} ${COM_WAVE_PREP} ${WAV_MOD_TAG} ${SENDDBN} ${waveGRD}"
+ echo "${PDY}${cyc} ${cycle} ${EXECgfs} ${COM_WAVE_PREP} ${WAV_MOD_TAG} ${SENDDBN} ${waveGRD}"
set_trace
exit 1
fi
@@ -85,7 +85,7 @@ source "$HOMEgfs/ush/preamble.sh"
rm -f ${DATA}/output_${ymdh}0000/out_grd.$grdID
if [ ! -f ${DATA}/${grdID}_interp.inp.tmpl ]; then
- cp $PARMwave/${grdID}_interp.inp.tmpl ${DATA}
+ cp ${PARMgfs}/wave/${grdID}_interp.inp.tmpl ${DATA}
fi
ln -sf ${DATA}/${grdID}_interp.inp.tmpl .
@@ -137,11 +137,11 @@ source "$HOMEgfs/ush/preamble.sh"
set +x
echo " Run ww3_gint
- echo " Executing $EXECwave/ww3_gint
+ echo " Executing ${EXECgfs}/ww3_gint
set_trace
export pgm=ww3_gint;. prep_step
- $EXECwave/ww3_gint 1> gint.${grdID}.out 2>&1
+ ${EXECgfs}/ww3_gint 1> gint.${grdID}.out 2>&1
export err=$?;err_chk
# Write interpolation file to main TEMP dir area if not there yet
diff --git a/ush/wave_grid_moddef.sh b/ush/wave_grid_moddef.sh
index 390860c960..e895666d66 100755
--- a/ush/wave_grid_moddef.sh
+++ b/ush/wave_grid_moddef.sh
@@ -20,7 +20,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -59,7 +59,7 @@ source "$HOMEgfs/ush/preamble.sh"
# 0.c Define directories and the search path.
# The tested variables should be exported by the postprocessor script.
- if [ -z "$grdID" ] || [ -z "$EXECwave" ]
+ if [ -z "$grdID" ] || [ -z "${EXECgfs}" ]
then
set +x
echo ' '
@@ -77,7 +77,7 @@ source "$HOMEgfs/ush/preamble.sh"
set +x
echo ' '
echo ' Creating mod_def file ...'
- echo " Executing $EXECwave/ww3_grid"
+ echo " Executing ${EXECgfs}/ww3_grid"
echo ' '
set_trace
@@ -92,7 +92,7 @@ source "$HOMEgfs/ush/preamble.sh"
- "${EXECwave}/ww3_grid" 1> "grid_${grdID}.out" 2>&1
+ "${EXECgfs}/ww3_grid" 1> "grid_${grdID}.out" 2>&1
err=$?
if [ "$err" != '0' ]
diff --git a/ush/wave_outp_cat.sh b/ush/wave_outp_cat.sh
index f4bf6b2294..6ce3ce06cf 100755
--- a/ush/wave_outp_cat.sh
+++ b/ush/wave_outp_cat.sh
@@ -21,7 +21,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
bloc=$1
diff --git a/ush/wave_outp_spec.sh b/ush/wave_outp_spec.sh
index 5acc0f95ab..91cd722c10 100755
--- a/ush/wave_outp_spec.sh
+++ b/ush/wave_outp_spec.sh
@@ -22,7 +22,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
bloc=$1
@@ -104,7 +104,7 @@ source "$HOMEgfs/ush/preamble.sh"
# 0.c Define directories and the search path.
# The tested variables should be exported by the postprocessor script.
- if [ -z "$CDATE" ] || [ -z "$dtspec" ] || [ -z "$EXECwave" ] || \
+ if [ -z "$CDATE" ] || [ -z "$dtspec" ] || [ -z "${EXECgfs}" ] || \
[ -z "$WAV_MOD_TAG" ] || [ -z "${STA_DIR}" ]
then
set +x
@@ -170,11 +170,11 @@ source "$HOMEgfs/ush/preamble.sh"
# 2.b Run the postprocessor
set +x
- echo " Executing $EXECwave/ww3_outp"
+ echo " Executing ${EXECgfs}/ww3_outp"
set_trace
export pgm=ww3_outp;. prep_step
- $EXECwave/ww3_outp 1> outp_${specdir}_${buoy}.out 2>&1
+ ${EXECgfs}/ww3_outp 1> outp_${specdir}_${buoy}.out 2>&1
export err=$?;err_chk
diff --git a/ush/wave_prnc_cur.sh b/ush/wave_prnc_cur.sh
index a8f9f67d62..652d1be817 100755
--- a/ush/wave_prnc_cur.sh
+++ b/ush/wave_prnc_cur.sh
@@ -22,7 +22,7 @@
################################################################################
#
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
ymdh_rtofs=$1
curfile=$2
@@ -65,9 +65,9 @@ rm -f cur_temp[123].nc cur_5min_??.nc "cur_glo_uv_${PDY}_${fext}${fh3}.nc weight
if [ ${flagfirst} = "T" ]
then
- sed -e "s/HDRFL/T/g" ${PARMwave}/ww3_prnc.cur.${WAVECUR_FID}.inp.tmpl > ww3_prnc.inp
+ sed -e "s/HDRFL/T/g" ${PARMgfs}/wave/ww3_prnc.cur.${WAVECUR_FID}.inp.tmpl > ww3_prnc.inp
else
- sed -e "s/HDRFL/F/g" ${PARMwave}/ww3_prnc.cur.${WAVECUR_FID}.inp.tmpl > ww3_prnc.inp
+ sed -e "s/HDRFL/F/g" ${PARMgfs}/wave/ww3_prnc.cur.${WAVECUR_FID}.inp.tmpl > ww3_prnc.inp
fi
rm -f cur.nc
@@ -75,7 +75,7 @@ ln -s "cur_glo_uv_${PDY}_${fext}${fh3}_5min.nc" "cur.nc"
ln -s "${DATA}/mod_def.${WAVECUR_FID}" ./mod_def.ww3
export pgm=ww3_prnc;. prep_step
-$EXECwave/ww3_prnc 1> prnc_${WAVECUR_FID}_${ymdh_rtofs}.out 2>&1
+${EXECgfs}/ww3_prnc 1> prnc_${WAVECUR_FID}_${ymdh_rtofs}.out 2>&1
export err=$?; err_chk
diff --git a/ush/wave_prnc_ice.sh b/ush/wave_prnc_ice.sh
index d0a6371d5b..e5efaf3042 100755
--- a/ush/wave_prnc_ice.sh
+++ b/ush/wave_prnc_ice.sh
@@ -27,7 +27,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
@@ -55,7 +55,7 @@ source "$HOMEgfs/ush/preamble.sh"
echo "Making ice fields."
if [[ -z "${YMDH}" ]] || [[ -z "${cycle}" ]] || \
- [[ -z "${COM_WAVE_PREP}" ]] || [[ -z "${FIXgfs}" ]] || [[ -z "${EXECwave}" ]] || \
+ [[ -z "${COM_WAVE_PREP}" ]] || [[ -z "${FIXgfs}" ]] || [[ -z "${EXECgfs}" ]] || \
[[ -z "${WAV_MOD_TAG}" ]] || [[ -z "${WAVEICE_FID}" ]] || [[ -z "${COM_OBS}" ]]; then
set +x
@@ -144,7 +144,7 @@ source "$HOMEgfs/ush/preamble.sh"
export pgm=ww3_prnc;. prep_step
- $EXECwave/ww3_prnc 1> prnc_${WAVEICE_FID}_${cycle}.out 2>&1
+ ${EXECgfs}/ww3_prnc 1> prnc_${WAVEICE_FID}_${cycle}.out 2>&1
export err=$?; err_chk
if [ "$err" != '0' ]
diff --git a/ush/wave_tar.sh b/ush/wave_tar.sh
index 1a8d6d6cc5..bb8836df2c 100755
--- a/ush/wave_tar.sh
+++ b/ush/wave_tar.sh
@@ -25,7 +25,7 @@
# --------------------------------------------------------------------------- #
# 0. Preparations
-source "$HOMEgfs/ush/preamble.sh"
+source "${USHgfs}/preamble.sh"
# 0.a Basic modes of operation
diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver
index 549bb47df0..ee8e4f8aea 100644
--- a/versions/run.hercules.ver
+++ b/versions/run.hercules.ver
@@ -3,7 +3,5 @@ export stack_impi_ver=2021.9.0
export intel_mkl_ver=2023.1.0
export spack_env=gsi-addon-env
-export perl_ver=5.36.0
-
source "${HOMEgfs:-}/versions/run.spack.ver"
export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core"
diff --git a/workflow/setup_expt.py b/workflow/setup_expt.py
index 3eeb584f46..90e890910f 100755
--- a/workflow/setup_expt.py
+++ b/workflow/setup_expt.py
@@ -252,12 +252,6 @@ def fill_EXPDIR(inputs):
expdir = os.path.join(inputs.expdir, inputs.pslot)
configs = glob.glob(f'{configdir}/config.*')
- exclude_configs = ['base', 'base.emc.dyn', 'base.nco.static', 'fv3.nco.static']
- for exclude in exclude_configs:
- try:
- configs.remove(f'{configdir}/config.{exclude}')
- except ValueError:
- pass
if len(configs) == 0:
raise IOError(f'no config files found in {configdir}')
for config in configs:
@@ -295,7 +289,8 @@ def _update_defaults(dict_in: dict) -> dict:
def edit_baseconfig(host, inputs, yaml_dict):
"""
- Parses and populates the templated `config.base.emc.dyn` to `config.base`
+ Parses and populates the templated `HOMEgfs/parm/config//config.base`
+ to `EXPDIR/pslot/config.base`
"""
tmpl_dict = {
@@ -347,7 +342,7 @@ def edit_baseconfig(host, inputs, yaml_dict):
except KeyError:
pass
- base_input = f'{inputs.configdir}/config.base.emc.dyn'
+ base_input = f'{inputs.configdir}/config.base'
base_output = f'{inputs.expdir}/{inputs.pslot}/config.base'
edit_config(base_input, base_output, tmpl_dict)