Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable HPSS via Globus #3240

Open
wants to merge 89 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
20aef1d
Let the archive jobs store data locally in prep for globus xfers
DavidHuber-NOAA Jan 14, 2025
33c555b
Remove unused variables from exglobal_archive.py
DavidHuber-NOAA Jan 14, 2025
c2b5d13
Do the same for earc jobs
DavidHuber-NOAA Jan 14, 2025
61e2ddb
Add globus task stubs
DavidHuber-NOAA Jan 14, 2025
6106674
Add path to Sven
DavidHuber-NOAA Jan 14, 2025
f4b8c00
Merge remote-tracking branch 'emc/develop' into feature/sven_globus_hpss
DavidHuber-NOAA Jan 14, 2025
2683013
Replace globusarch with do_globusarch
DavidHuber-NOAA Jan 14, 2025
74f681a
Update gefs config.globus
DavidHuber-NOAA Jan 14, 2025
66c9d44
Merge remote-tracking branch 'emc/develop' into feature/sven_globus_hpss
DavidHuber-NOAA Jan 15, 2025
0984ed1
Add templates for sven/doorman interfaces
DavidHuber-NOAA Jan 17, 2025
ae455b0
Add more templating, begin to unify
DavidHuber-NOAA Jan 17, 2025
a6d756d
Merge emc/develop
DavidHuber-NOAA Jan 17, 2025
e3a60b3
Load the globus modulefile
DavidHuber-NOAA Jan 21, 2025
24596e3
Address shellcheck issues
DavidHuber-NOAA Jan 21, 2025
92c5e27
Add double quotes
DavidHuber-NOAA Jan 21, 2025
df5ef0f
Update cleanup dependencies depending on whether globus is running
DavidHuber-NOAA Jan 23, 2025
7f10ef3
Merge in develop
DavidHuber-NOAA Jan 23, 2025
30acb6b
Add the globus task to forecast-only mode
DavidHuber-NOAA Jan 23, 2025
39d73a3
Add globus task to gfs_cycled and gefs
DavidHuber-NOAA Jan 23, 2025
20190a8
Disable GLOBUSARCH by default
DavidHuber-NOAA Jan 23, 2025
3205260
Improve globus job templating
DavidHuber-NOAA Jan 23, 2025
3078ace
Address shellcheck issues
DavidHuber-NOAA Jan 24, 2025
77f8880
Switch ignore for disable
DavidHuber-NOAA Jan 24, 2025
e3f6a50
Remove unused scripts
DavidHuber-NOAA Jan 24, 2025
638724d
Let GENDEL be determined on Niagara
DavidHuber-NOAA Jan 24, 2025
169feab
Reorganize
DavidHuber-NOAA Jan 24, 2025
45cca48
Let todo script determine if rstprod should be applied
DavidHuber-NOAA Jan 24, 2025
e270fa4
Split todo into standard and rstprod versions
DavidHuber-NOAA Jan 28, 2025
3dc7377
Simplify Jinja templating of globus scripts
DavidHuber-NOAA Jan 28, 2025
49be54b
Add information on Niagara
DavidHuber-NOAA Jan 28, 2025
7cde813
Add path to sven
DavidHuber-NOAA Jan 28, 2025
aabbb20
Flesh out globus_hpss.py
DavidHuber-NOAA Jan 28, 2025
516ac49
Add variables to globus config dict
DavidHuber-NOAA Jan 28, 2025
895af47
Add globus to service tasks
DavidHuber-NOAA Jan 30, 2025
1d08577
Make doorman script a function
DavidHuber-NOAA Jan 30, 2025
00ca497
Move sven's dropbox to DATA
DavidHuber-NOAA Jan 30, 2025
0d5ed3b
Clean up templating
DavidHuber-NOAA Jan 30, 2025
f629cb9
Fix jobid variable name
DavidHuber-NOAA Jan 30, 2025
9b04105
Fix multiple issues with Globus class
DavidHuber-NOAA Jan 30, 2025
8c51690
Run the doorman in the same directory as the script
DavidHuber-NOAA Feb 4, 2025
a608486
Add Niagara UUID
DavidHuber-NOAA Feb 4, 2025
37f0a22
Add robustness to transfer script
DavidHuber-NOAA Feb 4, 2025
ff3bd75
Initial globus checks in workflow
DavidHuber-NOAA Feb 4, 2025
196c4f9
Merge emc/develop
DavidHuber-NOAA Feb 4, 2025
9e6637f
Address shellcheck issues
DavidHuber-NOAA Feb 4, 2025
40d3e28
Address pycodestyle issues
DavidHuber-NOAA Feb 4, 2025
14f45c6
Address more linter issues
DavidHuber-NOAA Feb 4, 2025
599d43b
Adjust closing brackets
DavidHuber-NOAA Feb 4, 2025
236e263
Merge remote-tracking branch 'emc/develop' into feature/sven_globus_hpss
DavidHuber-NOAA Feb 5, 2025
7527fe6
Check that globus and Niagara are configured properly
DavidHuber-NOAA Feb 5, 2025
077c1b8
Clean up archiving options
DavidHuber-NOAA Feb 5, 2025
0ec0c52
Clarify server username
DavidHuber-NOAA Feb 5, 2025
3682ced
Add script to initialize Niagara
DavidHuber-NOAA Feb 5, 2025
14123b1
Add globus-cli module to setup modulefile
DavidHuber-NOAA Feb 5, 2025
a2cf1a4
Make server script executable
DavidHuber-NOAA Feb 5, 2025
beac17d
Update arch_tars config name in globus j-job
DavidHuber-NOAA Feb 6, 2025
1a77a6b
Add localarch option to config.arch_tars when running globusarch
DavidHuber-NOAA Feb 6, 2025
2543063
Correct PSLOT and SERVER_NAME variables in init script
DavidHuber-NOAA Feb 6, 2025
8b4abe8
Add input boolean for rstprod
DavidHuber-NOAA Feb 6, 2025
9a07200
Debug/improve interaction with the server
DavidHuber-NOAA Feb 6, 2025
43ef612
Determine server username at setup time
DavidHuber-NOAA Feb 6, 2025
313512a
Test for existence before running init for loops
DavidHuber-NOAA Feb 6, 2025
385d558
Make init script more robust
DavidHuber-NOAA Feb 6, 2025
b9d4aba
Add logging
DavidHuber-NOAA Feb 6, 2025
5139f47
Move client UUID to config.base so it can be filled by setup_expt
DavidHuber-NOAA Feb 7, 2025
718a1ca
Error check run_doorman
DavidHuber-NOAA Feb 7, 2025
2b6e2d1
Debug globus_hpss class, add robustness
DavidHuber-NOAA Feb 7, 2025
2a50125
Do not source config.arch_tars for the globus job
DavidHuber-NOAA Feb 7, 2025
2c2de88
Convert return.j2 to a config file, not a script
DavidHuber-NOAA Feb 7, 2025
3ce207f
Add process step to run_doorman
DavidHuber-NOAA Feb 7, 2025
ea83c65
Remove md5 checksum check, note issue with htar indexing
DavidHuber-NOAA Feb 7, 2025
da65e7a
Simplify verify checks
DavidHuber-NOAA Feb 7, 2025
3ae5990
Move the doorman's general deliver location
DavidHuber-NOAA Feb 7, 2025
88bf985
Correct variable name
DavidHuber-NOAA Feb 7, 2025
039488d
Add todo fixes to todo_rstprod
DavidHuber-NOAA Feb 7, 2025
6472f92
Enable rmdir functionality
DavidHuber-NOAA Feb 10, 2025
e463c64
Run doorman with better error checking; do not remove gendel yet
DavidHuber-NOAA Feb 10, 2025
e109669
Improve error checking
DavidHuber-NOAA Feb 10, 2025
49ba53f
Address lint issues
DavidHuber-NOAA Feb 10, 2025
3fb210c
Remove erroneous quotes
DavidHuber-NOAA Feb 10, 2025
96ce799
Linter issue
DavidHuber-NOAA Feb 10, 2025
5b984fb
Linter issue
DavidHuber-NOAA Feb 10, 2025
ffcc1dc
Create links for config.arch* files
DavidHuber-NOAA Feb 10, 2025
e9a2099
Move arch-specific features to config.arch_tars
DavidHuber-NOAA Feb 10, 2025
edcc9c3
Bump status download wait time
DavidHuber-NOAA Feb 10, 2025
b66ee0c
Expand gendel variable name
DavidHuber-NOAA Feb 10, 2025
bdfc6a6
Removed arch flags from config.base (already in config.arch_tars)
DavidHuber-NOAA Feb 10, 2025
f9fd22c
Generalize globus configs to make it easier to add more jobs
DavidHuber-NOAA Feb 10, 2025
96f354e
Delete the run direcctory on Niagara when complete
DavidHuber-NOAA Feb 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions jobs/JGDAS_ENKF_GLOBUS_ARCH
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "globus_earc" -c "base globus globus_earc"


###############################################################
# Run globus transfer script
###############################################################

"${SCRgfs}/exgdas_enkf_globus_earc.py"
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}" || (echo "${DATAROOT} does not exist. ABORT!"; exit 1)
[[ ${KEEPDATA} = "NO" ]] && rm -rf "${DATA}"

exit 0
1 change: 1 addition & 0 deletions jobs/JGLOBAL_ARCHIVE_TARS
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_ATMOS_RADMON:COM_ATMOS_RADMON_TMPL \
COMIN_ATMOS_MINMON:COM_ATMOS_MINMON_TMPL \
COMIN_CONF:COM_CONF_TMPL \
COMOUT_CONF:COM_CONF_TMPL \
COMOUT_ATMOS_TRACK:COM_ATMOS_TRACK_TMPL

for grid in "0p25" "0p50" "1p00"; do
Expand Down
38 changes: 38 additions & 0 deletions jobs/JGLOBAL_GLOBUS_ARCH
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "globus_arch" -c "base globus"

##############################################
# Set variables used in the script
##############################################
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_CONF:COM_CONF_TMPL

###############################################################
# Run globus script
###############################################################

${GLOBALGLOBUSARCHSH:-${SCRgfs}/exglobal_globus_arch.py}
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}" || (echo "${DATAROOT} does not exist. ABORT!"; exit 1)
[[ ${KEEPDATA} = "NO" ]] && rm -rf "${DATA}"

exit 0
24 changes: 24 additions & 0 deletions jobs/rocoto/globus_arch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source FV3GFS workflow modules
. "${HOMEgfs}"/ush/load_fv3gfs_modules.sh
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"

###############################################################
# setup python path for workflow utilities and tasks
PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}${HOMEgfs}/ush/python"
export PYTHONPATH

export job="globus_arch"
export jobid="${job}.$$"

###############################################################
# Execute the JJOB
"${HOMEgfs}"/jobs/JGLOBAL_GLOBUS_ARCH
status=$?

exit "${status}"
10 changes: 7 additions & 3 deletions modulefiles/module_base.hercules.lua
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,21 @@ load(pathJoin("met", (os.getenv("met_ver") or "None")))
load(pathJoin("metplus", (os.getenv("metplus_ver") or "None")))
load(pathJoin("py-xarray", (os.getenv("py_xarray_ver") or "None")))

-- TODO remove this once we move to spack-stack 1.8.0+; as WGRIB2 will be assigned by the wgrib2 module
setenv("WGRIB2","wgrib2")

-- Stop gap fix for wgrib with spack-stack 1.6.0
-- TODO Remove this when spack-stack issue #1097 is resolved
setenv("WGRIB","wgrib")
setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None"))

-- Set the path for the Sven executables
append_path("PATH", pathJoin((os.getenv("sven_root_path") or "None"), "bin"))

prepend_path("MODULEPATH", pathJoin("/work/noaa/global/glopara/git_rocky9/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles"))
load(pathJoin("prepobs", (os.getenv("prepobs_run_ver") or "None")))

prepend_path("MODULEPATH", pathJoin("/work/noaa/global/glopara/git_rocky9/Fit2Obs/v" .. (os.getenv("fit2obs_ver") or "None"), "modulefiles"))
load(pathJoin("fit2obs", (os.getenv("fit2obs_ver") or "None")))

-- Set the path for the globus package handler, Sven
setenv("sven_dir", "/home/gfekete/sven")
KateFriedman-NOAA marked this conversation as resolved.
Show resolved Hide resolved

whatis("Description: GFS run environment")
5 changes: 2 additions & 3 deletions modulefiles/module_base.orion.lua
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,11 @@ load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "Non
load(pathJoin("met", (os.getenv("met_ver") or "None")))
load(pathJoin("metplus", (os.getenv("metplus_ver") or "None")))
load(pathJoin("py-xarray", (os.getenv("py_xarray_ver") or "None")))
load(pathJoin("globus-cli", (os.getenv("globus_cli_ver") or "None")))

-- TODO remove this once we move to spack-stack 1.8.0+; as WGRIB2 will be assigned by the wgrib2 module
setenv("WGRIB2","wgrib2")

-- Stop gap fix for wgrib with spack-stack 1.6.0
-- TODO Remove this when spack-stack issue #1097 is resolved
setenv("WGRIB","wgrib")
setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None"))

prepend_path("MODULEPATH", pathJoin("/work/noaa/global/glopara/git_rocky9/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles"))
Expand Down
1 change: 1 addition & 0 deletions modulefiles/module_gwsetup.hercules.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ load(pathJoin("python", python_ver))
load("py-jinja2")
load("py-pyyaml")
load("py-numpy")
try_load("globus-cli")

whatis("Description: GFS run setup environment")
15 changes: 0 additions & 15 deletions parm/config/gefs/config.arch_tars

This file was deleted.

1 change: 1 addition & 0 deletions parm/config/gefs/config.arch_tars
15 changes: 0 additions & 15 deletions parm/config/gefs/config.arch_vrfy

This file was deleted.

1 change: 1 addition & 0 deletions parm/config/gefs/config.arch_vrfy
28 changes: 15 additions & 13 deletions parm/config/gefs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -334,24 +334,26 @@ export DO_METP="NO" # Run METPLUS jobs - set METPLUS settings in config.
export DO_FIT2OBS="NO" # Run fit to observations package

# Archiving options
export VRFYARCH="@VRFYARCH@" # save verification data locally
export HPSSARCH="@HPSSARCH@" # save data to HPSS archive
export LOCALARCH="@LOCALARCH@" # save data to local archive
if [[ ${HPSSARCH} = "YES" ]] && [[ ${LOCALARCH} = "YES" ]]; then
echo "Both HPSS and local archiving selected. Please choose one or the other."
exit 3
elif [[ ${HPSSARCH} = "YES" ]] || [[ ${LOCALARCH} = "YES" ]]; then
export LOCALARCH="@LOCALARCH@" # save data to local archive
export GLOBUSARCH="NO" # send data to HPSS via globus xfers to Niagara (intended for MSU)
count_arch_opts=0
for arch_opt in "${HPSSARCH}" "${LOCALARCH}" "${GLOBUSARCH}"; do
if [[ "${arch_opt}" == "YES" ]]; then
(( count_arch_opts += 1 ));
fi
done
if [[ ${count_arch_opts} -gt 1 ]]; then
echo "FATAL ERROR: More than one archiving option selected. Please choose no more than one."
exit 4
elif [[ ${HPSSARCH} = "YES" ]] || [[ ${LOCALARCH} = "YES" ]] || [[ ${GLOBUSARCH} = "YES" ]]; then
export DO_ARCHTAR="YES"
else
export DO_ARCHTAR="NO"
fi
export ARCH_CYC=00 # Archive data at this cycle for warm start and/or forecast-only capabilities
export ARCH_WARMICFREQ=4 # Archive frequency in days for warm start capability
export ARCH_FCSTICFREQ=1 # Archive frequency in days for gdas and gfs forecast-only capability
export ARCH_EXPDIR='YES' # Archive the EXPDIR configs, XML, and database
export ARCH_EXPDIR_FREQ=0 # How often to archive the EXPDIR in hours or 0 for first and last cycle only
export ARCH_HASHES='YES' # Archive the hashes of the GW and submodules and 'git status' for each; requires ARCH_EXPDIR
export ARCH_DIFFS='NO' # Archive the output of 'git diff' for the GW; requires ARCH_EXPDIR

# Globus UUID for this machine
export CLIENT_GLOBUS_UUID='@CLIENT_GLOBUS_UUID@'

# Number of regional collectives to create soundings for
export NUM_SND_COLLECTIVES=${NUM_SND_COLLECTIVES:-9}
Expand Down
1 change: 1 addition & 0 deletions parm/config/gefs/config.globus
2 changes: 1 addition & 1 deletion parm/config/gefs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ case ${step} in
export is_exclusive=False
;;

"arch_tars")
"arch_tars" | "globus")
export walltime="06:00:00"
export ntasks=1
export tasks_per_node=1
Expand Down
18 changes: 16 additions & 2 deletions parm/config/gfs/config.arch_tars
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,22 @@ echo "BEGIN: config.arch_tars"
# Get task specific resources
. "${EXPDIR}/config.resources" "arch_tars"

export ARCH_CYC=00 # Archive data at this cycle for warm start and/or forecast-only capabilities
export ARCH_WARMICFREQ=4 # Archive frequency in days for warm start capability
export ARCH_FCSTICFREQ=1 # Archive frequency in days for gdas and gfs forecast-only capability
export ARCH_EXPDIR='YES' # Archive the EXPDIR configs, XML, and database
export ARCH_EXPDIR_FREQ=0 # How often to archive the EXPDIR in hours or 0 for first and last cycle only
export ARCH_HASHES='YES' # Archive the hashes of the GW and submodules and 'git status' for each; requires ARCH_EXPDIR
export ARCH_DIFFS='NO' # Archive the output of 'git diff' for the GW; requires ARCH_EXPDIR

export ARCH_GAUSSIAN="YES"
export ARCH_GAUSSIAN_FHMAX=${FHMAX_GFS}
export ARCH_GAUSSIAN_FHINC=${FHOUT_GFS}
export ARCH_GAUSSIAN_FHMAX=${FHMAX_GFS:-}
export ARCH_GAUSSIAN_FHINC=${FHOUT_GFS:-}

# If we are running globus archiving, create tarballs in a temporary location
if [[ "${GLOBUSARCH}" == "YES" ]]; then
export ATARDIR="${DATAROOT}/archive_rotdir/${RUN}"
export LOCALARCH="YES"
fi

echo "END: config.arch_tars"
4 changes: 0 additions & 4 deletions parm/config/gfs/config.arch_vrfy
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,4 @@ echo "BEGIN: config.arch_vrfy"
# Get task specific resources
. "${EXPDIR}/config.resources" "arch_vrfy"

export ARCH_GAUSSIAN="YES"
export ARCH_GAUSSIAN_FHMAX=${FHMAX_GFS}
export ARCH_GAUSSIAN_FHINC=${FHOUT_GFS}

echo "END: config.arch_vrfy"
25 changes: 14 additions & 11 deletions parm/config/gfs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -481,22 +481,25 @@ export DO_FETCH_LOCAL="NO" # Copy from local disk onto COM

# Archiving options
export HPSSARCH="@HPSSARCH@" # save data to HPSS archive
export LOCALARCH="@LOCALARCH@" # save data to local archive
if [[ ${HPSSARCH} = "YES" ]] && [[ ${LOCALARCH} = "YES" ]]; then
echo "FATAL ERROR: Both HPSS and local archiving selected. Please choose one or the other."
export LOCALARCH="@LOCALARCH@" # save data to local archive
export GLOBUSARCH="NO" # send data to HPSS via globus xfers to Niagara (intended for MSU)
count_arch_opts=0
for arch_opt in "${HPSSARCH}" "${LOCALARCH}" "${GLOBUSARCH}"; do
if [[ "${arch_opt}" == "YES" ]]; then
(( count_arch_opts += 1 ));
fi
done
if [[ ${count_arch_opts} -gt 1 ]]; then
echo "FATAL ERROR: More than one archiving option selected. Please choose no more than one."
exit 4
elif [[ ${HPSSARCH} = "YES" ]] || [[ ${LOCALARCH} = "YES" ]]; then
elif [[ ${HPSSARCH} = "YES" ]] || [[ ${LOCALARCH} = "YES" ]] || [[ ${GLOBUSARCH} = "YES" ]]; then
export DO_ARCHTAR="YES"
else
export DO_ARCHTAR="NO"
fi
export ARCH_CYC=00 # Archive data at this cycle for warm start and/or forecast-only capabilities
export ARCH_WARMICFREQ=4 # Archive frequency in days for warm start capability
export ARCH_FCSTICFREQ=1 # Archive frequency in days for gdas and gfs forecast-only capability
export ARCH_EXPDIR='YES' # Archive the EXPDIR configs, XML, and database
export ARCH_EXPDIR_FREQ=0 # How often to archive the EXPDIR in hours or 0 for first and last cycle only
export ARCH_HASHES='YES' # Archive the hashes of the GW and submodules and 'git status' for each; requires ARCH_EXPDIR
export ARCH_DIFFS='NO' # Archive the output of 'git diff' for the GW; requires ARCH_EXPDIR

# Globus UUID for this machine
export CLIENT_GLOBUS_UUID='@CLIENT_GLOBUS_UUID@'

# The monitor jobs are not yet supported for JEDIATMVAR.
if [[ ${DO_JEDIATMVAR} = "YES" ]]; then
Expand Down
9 changes: 8 additions & 1 deletion parm/config/gfs/config.earc_tars
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
echo "BEGIN: config.earc_tars"

# Get task specific resources
. "${EXPDIR}/config.resources" "earc_tars"
. "${EXPDIR}/config.resources" "arch_tars"

# Set the number of ensemble members to archive per earc_tars job
case "${CASE_ENS}" in
Expand All @@ -32,4 +32,11 @@ esac
export RMOLDSTD_ENKF=144
export RMOLDEND_ENKF=24

# If we are running globus archiving, create tarballs in a temporary location
if [[ "${GLOBUSARCH}" == "YES" ]]; then
export ENSGRP="${ENSGRP:-0}"
export ATARDIR="${DATAROOT}/archive_rotdir/${pslot}/${RUN}/${ENSGRP}"
export LOCALARCH="YES"
fi

echo "END: config.earc_tars"
34 changes: 34 additions & 0 deletions parm/config/gfs/config.globus
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#! /usr/bin/env bash

########## config.globus ##########
# Globus-specific variables for all globus-based jobs

echo "BEGIN: config.globus"

# Get task specific resources
. "${EXPDIR}/config.resources" globus

# Set the globus staging directory populated by the arch jobs
export STAGE_DIR="${DATAROOT}/archive_rotdir/${PSLOT}"

# Set variables used by the Sven and Doorman services
# Niagara's globus UUID
export SERVER_GLOBUS_UUID=1bfd8a79-52b2-4589-88b2-0648e0c0b35d
CoryMartin-NOAA marked this conversation as resolved.
Show resolved Hide resolved

# General delivery location on Niagara (staging area for data)
export SERVER_HOME='/collab1/data/{{SERVER_USERNAME}}'

# Sven's dropbox
export SVEN_DROPBOX_ROOT="${DATA}/SVEN_DROPBOX"

# Location of the doorman package on Niagara
export DOORMAN_ROOT="/home/David.Huber/doorman"
KateFriedman-NOAA marked this conversation as resolved.
Show resolved Hide resolved

# Server name (should match ~/.ssh/config)
export SERVER_NAME="niagara"

# Server globus UUID
niagara_UUID="1bfd8a79-52b2-4589-88b2-0648e0c0b35d"
export SERVER_GLOBUS_UUID="${niagara_UUID}"

echo "END: config.globus"
2 changes: 1 addition & 1 deletion parm/config/gfs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -1059,7 +1059,7 @@ case ${step} in
export is_exclusive=True
;;

"arch_tars" | "earc_tars" | "getic" | "fetch")
"arch_tars" | "getic" | "fetch" | "globus" | "globus_earc" )
walltime="06:00:00"
ntasks=1
tasks_per_node=1
Expand Down
1 change: 1 addition & 0 deletions parm/config/gfs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ base:
FHMAX_ENKF_GFS: 12
DOHYBVAR_OCN: "NO"
DO_TEST_MODE: "NO"
GLOBUSARCH: "NO"

atmanl:
JCB_ALGO_YAML_VAR: "${PARMgfs}/gdas/atm/jcb-prototype_3dvar.yaml.j2"
Expand Down
Loading