-
Notifications
You must be signed in to change notification settings - Fork 178
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
Add sfs as valid system #3243
base: develop
Are you sure you want to change the base?
Add sfs as valid system #3243
Conversation
@NeilBarton-NOAA would you please supply ICs for the SFS test so we can set it up to run on all systems |
Still need to add SFS to the RTD documentation. |
a1356d1
to
873ea5c
Compare
ICs are in place and documentation has been updated. Ready for review. |
Adds sfs as a valid option for NET. To start, the GEFS system is generally just copied wholesale for SFS. This includes the extract_vars job. Other than base and resources, config files link to the GEFS versions, just as GEFS config files point to the GFS versions except where they have needed to be changed. The temporarily SFS_POST option has been removed. The sfs test case is moved from a separate sfs directory to the pr directory, but ICs are still needed before it is functional. Resolves NOAA-EMC#2271
The SFS case is moved back to its original position in an sfs directory, then a copy is made in the PR directory using a shorter time period and a couple other changes.
574ca9d
to
2bbef76
Compare
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.
Here are a couple of suggestions.
tasks += ['wavepostpnt'] | ||
|
||
if options['do_extractvars']: | ||
tasks += ['extractvars', 'arch'] |
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.
tasks += ['extractvars', 'arch'] | |
tasks += ['extractvars'] |
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.
Should the arch
task be created even when do_extractvars
is false
? This change has recently been applied to gefs.py.
if options['do_extractvars']: | ||
tasks += ['extractvars', 'arch'] | ||
|
||
tasks += ['cleanup'] |
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.
tasks += ['cleanup'] | |
tasks += ['arch', 'cleanup'] |
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.
If the arch task were to be added unconditionally, will a sfs_arcdir.yaml.j2
and master_sfs.yaml.j2
need to be created for the archive task to succeed?
max_tasks = self._configs[config]['MAX_TASKS'] | ||
resources = self.get_resource(config) | ||
|
||
fhrs = self._get_forecast_hours('gefs', self._configs[config], component) |
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.
fhrs = self._get_forecast_hours('gefs', self._configs[config], component) | |
fhrs = self._get_forecast_hours('sfs', self._configs[config], component) |
|
||
dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) | ||
|
||
fhrs = self._get_forecast_hours('gefs', self._configs['atmos_ensstat']) |
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.
fhrs = self._get_forecast_hours('gefs', self._configs['atmos_ensstat']) | |
fhrs = self._get_forecast_hours('sfs', self._configs['atmos_ensstat']) |
deps.append(rocoto.add_dependency(dep_dict)) | ||
dependencies = rocoto.create_dependency(dep=deps, dep_condition='or') | ||
|
||
fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs'], 'wave') |
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.
fhrs = self._get_forecast_hours('gefs', self._configs['wavepostsbs'], 'wave') | |
fhrs = self._get_forecast_hours('sfs', self._configs['wavepostsbs'], 'wave') |
|
||
# Resolution specific parameters | ||
export LEVS=128 | ||
export CASE="@CASECTL@" # CASE is required in GEFS to determine ocean/ice/wave resolutions |
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.
CASE
is also required for SFS, right?
export CASE="@CASECTL@" # CASE is required in GEFS to determine ocean/ice/wave resolutions | |
export CASE="@CASECTL@" # CASE is required in SFS to determine ocean/ice/wave resolutions |
|
||
# Commonly defined parameters in JJOBS | ||
export envir=${envir:-"prod"} | ||
export NET="sfs" # NET is defined in the job-card (ecf) |
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.
Since NET
is set to sfs
, archive.py might fail at lines 89-90 if the sfs yaml does not exist.
Description
Adds sfs as a valid option for NET.
To start, the GEFS system is generally just copied wholesale for SFS. This includes the extract_vars job.
Other than base and resources, config files link to the GEFS versions, just as GEFS config files point to the GFS versions except where they have needed to be changed.
The temporary SFS_POST option has been removed.
The existing SFS test is copied and slightly modified for a PR-level CI test.
Resolves #2271
Type of change
Change characteristics
How has this been tested?
Checklist