-
Notifications
You must be signed in to change notification settings - Fork 168
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
Implement global-workflow on AWS #2549
Conversation
…cloud into wei-epic-aws
…loud into wei-epic-aws
This is at its early stage, depends on many things. Will mark it ready when things all settled. |
…loud into wei-epic-aws
…loud into wei-epic-aws
…loud into wei-epic-aws
…flow-cloud into wei-epic-aws
…loud into wei-epic-aws
…flow-cloud into wei-epic-aws
…loud into wei-epic-aws
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please describe the hard to understand updates in this PR.
Please see specific comments.
@@ -1,6 +1,6 @@ | |||
[submodule "sorc/ufs_model.fd"] | |||
path = sorc/ufs_model.fd | |||
url = https://github.com/ufs-community/ufs-weather-model | |||
url = https://github.com/ufs-community/ufs-weather-model.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please revert.
@@ -0,0 +1,298 @@ | |||
#! /usr/bin/env bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove Azure and Google additions from this PR as this PR is titled "Implemente global-workflow on AWS"
#export DO_TRACKER="@DO_TRACKER@" # Hurricane track verification | ||
#export DO_GENESIS="@DO_GENESIS@" # Cyclone genesis verification | ||
#export DO_GENESIS_FSU="@DO_GENESIS_FSU@" # Cyclone genesis verification (FSU) | ||
export DO_TRACKER="NO" # Hurricane track verification | ||
export DO_GENESIS="NO" # Cyclone genesis verification | ||
export DO_GENESIS_FSU="NO" # Cyclone genesis verification (FSU) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please revert.
"AZUREPW") | ||
export PARTITION_BATCH="compute" | ||
npe_node_max=24 | ||
;; | ||
"GOOGLEPW") | ||
export PARTITION_BATCH="compute" | ||
npe_node_max=30 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please withhold till these platforms are available and the workflow is being ported to them.
@@ -804,7 +812,7 @@ case ${step} in | |||
;; | |||
|
|||
"atmos_products") | |||
export wtime_atmos_products="00:15:00" | |||
export wtime_atmos_products="01:15:00" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a significant increase.
Please revert.
@@ -0,0 +1,24 @@ | |||
BASE_GIT: '/work/noaa/global/glopara/git' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this file.
These are orion paths
workflow/rocoto/gfs_tasks.py
Outdated
pslot = self._base['PSLOT'] | ||
if ( 'BASE_CPLIC' in cpl_ic.keys() ): | ||
base_cplic = f"{cpl_ic['BASE_CPLIC']}" | ||
else: | ||
base_cplic = os.environ.get('BASE_CPLIC') | ||
if ( 'CPL_ATMIC' in cpl_ic.keys() ): | ||
cpl_atmic = f"{cpl_ic['CPL_ATMIC']}" | ||
else: | ||
cpl_atmic = os.environ.get('CPL_ATMIC') | ||
|
||
prefix = f"{base_cplic}/{cpl_atmic}/@Y@m@d@H/atmos" | ||
|
||
pw_csp = os.environ.get('PW_CSP') | ||
use_ufs_utils_format = os.environ.get('USE_UFS_UTILS_FORMAT', False) | ||
if ( pw_csp in ['aws', 'azure', 'google'] or use_ufs_utils_format): | ||
icdir = f"{base_cplic}/{cpl_atmic}" | ||
|
||
if('IC_PREFIX' in cpl_ic.keys()): | ||
cpl_ic_prefix = f"{icdir}/{cpl_ic['IC_PREFIX']}" | ||
else: | ||
cpl_ic_prefix = 'gfs' | ||
if('IC_TYPE' in cpl_ic.keys()): | ||
cpl_ic_type = f"{cpl_ic['IC_TYPE']}" | ||
else: | ||
cpl_ic_type = 'input' | ||
prefix = f"{icdir}/{cpl_ic_prefix}.@Y@m@d/@H/model_data/atmos/{cpl_ic_type}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not be needed.
pw_csp = os.environ.get('PW_CSP') | ||
if pw_csp not in ['aws', 'azure', 'google']: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rocoto.py need not know if this is PW_CSP.
Please outline the issue and we can discuss.
pw_csp = os.environ.get('PW_CSP') | ||
if ( pw_csp in ['aws', 'azure', 'google'] ): | ||
native = '--export=ALL --exclusive' | ||
else: | ||
native = '--export=NONE' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be handled elsewhere.
f'#################### {pslot} ####################', | ||
f'MAILTO="{replyto}"' | ||
] | ||
pw_csp = os.environ.get('PW_CSP') | ||
if ( pw_csp in ['aws', 'azure', 'google'] ): | ||
strings = np.append(strings, | ||
[ | ||
f'SHELL="/bin/bash"', | ||
f'BASH_ENV="/etc/bashrc"' | ||
]) | ||
strings = np.append(strings, | ||
[ | ||
f'{cronintstr} {rocotorunstr}', | ||
'#################################################################', | ||
'']) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you describe the reason here
@weihuang-jedi Please properly follow the PR template guidelines. See, for example, #2688. |
Should this be closed in favor of #2711? |
Closing in favor of #2711 |
-->
Description
This PR implement global-workflow on AWS.
Resolves NOAA-EPIC#2
Type of change
Change characteristics
How has this been tested?
Tested on AWS
Example:
Checklist