Skip to content

Commit f9b655a

Browse files
authored
Update realtime branch, gsl_ufs_rt (#75)
* Update realtime branch, gsl_ufs_rt * Realtime fixes
1 parent 7967a93 commit f9b655a

File tree

603 files changed

+30299
-7204
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

603 files changed

+30299
-7204
lines changed

.flake8

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[flake8]
2+
exclude = .git,.github,venv,__pycache__,old,build,dist
3+
max-line-length = 160

.github/CODEOWNERS

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
# global-workflow is a collaborative space where contributions come from a variety of sources
2+
# This file is to ensure that new development gets reviewed by the appropriate SME
3+
4+
# global-workflow default owners (not a complete list)
5+
@KateFriedman-NOAA
6+
@WalterKolczynski-NOAA
7+
@DavidHuber-NOAA
8+
9+
# Specific directory owners
10+
/ci/ @TerrenceMcGuinness-NOAA @WalterKolczynski-NOAA
11+
12+
/ecf/ @lgannoaa
13+
14+
/workflow/ @WalterKolczynski-NOAA @aerorahul @DavidHuber-NOAA
15+
16+
# Specific file owners
17+
# build scripts
18+
sorc/build_*.sh @WalterKolczynski-NOAA @DavidHuber-NOAA @aerorahul @KateFriedman-NOAA
19+
sorc/link_workflow.sh @WalterKolczynski-NOAA @DavidHuber-NOAA @aerorahul @KateFriedman-NOAA
20+
21+
# jobs
22+
jobs/JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX @CoryMartin-NOAA
23+
jobs/JGDAS_ATMOS_ANALYSIS_DIAG @RussTreadon-NOAA @CoryMartin-NOAA
24+
jobs/JGDAS_ATMOS_CHGRES_FORENKF @RussTreadon-NOAA @CoryMartin-NOAA
25+
jobs/JGDAS_ATMOS_GEMPAK @GwenChen-NOAA
26+
jobs/JGDAS_ATMOS_GEMPAK_META_NCDC @GwenChen-NOAA
27+
jobs/JGDAS_ATMOS_VERFOZN @EdwardSafford-NOAA
28+
jobs/JGDAS_ATMOS_VERFRAD @EdwardSafford-NOAA
29+
jobs/JGDAS_ENKF_* @RussTreadon-NOAA @CoryMartin-NOAA @CatherineThomas-NOAA
30+
jobs/JGDAS_FIT2OBS @jack-woollen
31+
jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN @guillaumevernieres
32+
jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG @GwenChen-NOAA
33+
jobs/JGFS_ATMOS_CYCLONE_GENESIS @JiayiPeng-NOAA
34+
jobs/JGFS_ATMOS_CYCLONE_TRACKER @JiayiPeng-NOAA
35+
jobs/JGFS_ATMOS_FBWIND @GwenChen-NOAA
36+
jobs/JGFS_ATMOS_FSU_GENESIS
37+
jobs/JGFS_ATMOS_GEMPAK @GwenChen-NOAA
38+
jobs/JGFS_ATMOS_GEMPAK_META @GwenChen-NOAA
39+
jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF @GwenChen-NOAA
40+
jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC @GwenChen-NOAA
41+
jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS @WenMeng-NOAA
42+
jobs/JGFS_ATMOS_POSTSND @BoCui-NOAA
43+
jobs/JGFS_ATMOS_VERIFICATION
44+
jobs/JGLOBAL_AERO_ANALYSIS_* @CoryMartin-NOAA
45+
jobs/JGLOBAL_ARCHIVE @DavidHuber-NOAA
46+
jobs/JGLOBAL_ATMENS_ANALYSIS_* @RussTreadon-NOAA @CoryMartin-NOAA @DavidNew-NOAA
47+
jobs/JGLOBAL_ATMOS_ANALYSIS @RussTreadon-NOAA @CatherineThomas-NOAA
48+
jobs/JGLOBAL_ATMOS_ANALYSIS_CALC @RussTreadon-NOAA @CatherineThomas-NOAA @CoryMartin-NOAA
49+
jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP @GeorgeGayno-NOAA
50+
jobs/JGLOBAL_ATMOS_ENSSTAT
51+
jobs/JGLOBAL_ATMOS_POST_MANAGER
52+
jobs/JGLOBAL_ATMOS_PRODUCTS @WenMeng-NOAA
53+
jobs/JGLOBAL_ATMOS_SFCANL @GeorgeGayno-NOAA
54+
jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC
55+
jobs/JGLOBAL_ATMOS_UPP @WenMeng-NOAA
56+
jobs/JGLOBAL_ATMOS_VMINMON @EdwardSafford-NOAA
57+
jobs/JGLOBAL_ATM_* @RussTreadon-NOAA @DavidNew-NOAA @CoryMartin-NOAA
58+
jobs/JGLOBAL_CLEANUP @WalterKolczynski-NOAA @DavidHuber-NOAA @KateFriedman-NOAA
59+
jobs/JGLOBAL_EXTRACTVARS @EricSinsky-NOAA
60+
jobs/JGLOBAL_FORECAST @aerorahul
61+
jobs/JGLOBAL_MARINE_* @guillaumevernieres @AndrewEichmann-NOAA
62+
jobs/JGLOBAL_OCEANICE_PRODUCTS @GwenChen-NOAA
63+
jobs/JGLOBAL_PREP_EMISSIONS @bbakernoaa
64+
jobs/JGLOBAL_PREP_OBS_AERO @CoryMartin-NOAA
65+
jobs/JGLOBAL_PREP_OCEAN_OBS @guillaumevernieres @AndrewEichmann-NOAA
66+
jobs/JGLOBAL_*SNOW* @jiaruidong2017
67+
jobs/JGLOBAL_STAGE_IC @KateFriedman-NOAA
68+
jobs/JGLOBAL_WAVE_* @JessicaMeixner-NOAA @sbanihash
69+
jobs/rocoto/* @WalterKolczynski-NOAA @KateFriedman-NOAA @DavidHuber-NOAA
70+
71+
# scripts
72+
scripts/exgdas_aero_analysis_generate_bmatrix.py @CoryMartin-NOAA
73+
scripts/exgdas_atmos_chgres_forenkf.sh @RussTreadon-NOAA @CoryMartin-NOAA
74+
scripts/exgdas_atmos_gempak_gif_ncdc.sh @GwenChen-NOAA
75+
scripts/exgdas_atmos_nawips.sh @GwenChen-NOAA
76+
scripts/exgdas_atmos_verfozn.sh @EdwardSafford-NOAA
77+
scripts/exgdas_atmos_verfrad.sh @EdwardSafford-NOAA
78+
scripts/exgdas_enkf_earc_vrfy.py @DavidHuber-NOAA
79+
scripts/exgdas_enkf_earc_tars.py @DavidHuber-NOAA
80+
scripts/exgdas_enkf_ecen.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
81+
scripts/exgdas_enkf_post.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
82+
scripts/exgdas_enkf_select_obs.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
83+
scripts/exgdas_enkf_sfc.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
84+
scripts/exgdas_enkf_snow_recenter.py @jiaruidong2017
85+
scripts/exgdas_enkf_update.sh @CoryMartin-NOAA @RussTreadon-NOAA @CatherineThomas-NOAA
86+
scripts/exgdas_global_marine_analysis_letkf.py @guillaumevernieres @AndrewEichmann-NOAA
87+
scripts/exgfs_aero_init_aerosol.py @WalterKolczynski-NOAA
88+
scripts/exgfs_atmos_awips_20km_1p0deg.sh @GwenChen-NOAA
89+
scripts/exgfs_atmos_fbwind.sh @GwenChen-NOAA
90+
scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh @GwenChen-NOAA
91+
scripts/exgfs_atmos_gempak_meta.sh @GwenChen-NOAA
92+
scripts/exgfs_atmos_goes_nawips.sh @GwenChen-NOAA
93+
scripts/exgfs_atmos_grib2_special_npoess.sh @WenMeng-NOAA
94+
scripts/exgfs_atmos_nawips.sh @GwenChen-NOAA
95+
scripts/exgfs_atmos_postsnd.sh @BoCui-NOAA
96+
scripts/exgfs_pmgr.sh
97+
scripts/exgfs_prdgen_manager.sh
98+
scripts/exgfs_wave_* @JessicaMeixner-NOAA @sbanihash
99+
scripts/exglobal_aero_analysis_* @CoryMartin-NOAA
100+
scripts/exglobal_archive.py @DavidHuber-NOAA
101+
scripts/exglobal_atm_analysis_* @RussTreadon-NOAA @DavidNew-NOAA
102+
scripts/exglobal_atmens_analysis_* @RussTreadon-NOAA @DavidNew-NOAA
103+
scripts/exglobal_atmos_analysis*.sh @RussTreadon-NOAA @CoryMartin-NOAA
104+
scripts/exglobal_atmos_ensstat.sh @RussTreadon-NOAA
105+
scripts/exglobal_atmos_pmgr.sh
106+
scripts/exglobal_atmos_products.sh @WenMeng-NOAA
107+
scripts/exglobal_atmos_sfcanl.sh @GeorgeGayno-NOAA
108+
scripts/exglobal_atmos_tropcy_qc_reloc.sh
109+
scripts/exglobal_atmos_upp.py @WenMeng-NOAA
110+
scripts/exglobal_atmos_vminmon.sh @EdwardSafford-NOAA
111+
scripts/exglobal_cleanup.sh @DavidHuber-NOAA
112+
scripts/exglobal_diag.sh @RussTreadon-NOAA @CoryMartin-NOAA
113+
scripts/exglobal_extractvars.sh @EricSinsky-NOAA
114+
scripts/exglobal_forecast.py @aerorahul
115+
scripts/exglobal_forecast.sh @aerorahul @WalterKolczynski-NOAA
116+
scripts/exglobal_marine_analysis_* @guillaumevernieres @AndrewEichmann-NOAA
117+
scripts/exglobal_marinebmat.py @guillaumevernieres @AndrewEichmann-NOAA
118+
scripts/exglobal_oceanice_products.py @GwenChen-NOAA
119+
scripts/exglobal_prep_emissions.py @bbakernoaa
120+
scripts/exglobal_prep_obs_aero.py @CoryMartin-NOAA
121+
scripts/exglobal_prep_snow_obs.py @jiaruidong2017
122+
scripts/exglobal_snow_analysis.py @jiaruidong2017
123+
scripts/exglobal_stage_ic.py @KateFriedman-NOAA
124+
125+
# ush
126+
WAM_XML_to_ASCII.pl
127+
atmos_ensstat.sh
128+
atmos_extractvars.sh @EricSinsky-NOAA
129+
bash_utils.sh @WalterKolczynski-NOAA
130+
calcanl_gfs.py @CoryMartin-NOAA
131+
calcinc_gfs.py @CoryMartin-NOAA
132+
compare_f90nml.py @WalterKolczynski-NOAA @aerorahul
133+
detect_machine.sh @WalterKolczynski-NOAA
134+
extractvars_tools.sh @EricSinsky-NOAA
135+
file_utils.sh @WalterKolczynski-NOAA
136+
forecast_det.sh @aerorahul @WalterKolczynski-NOAA
137+
forecast_postdet.sh @aerorahul @WalterKolczynski-NOAA
138+
forecast_predet.sh @aerorahul @WalterKolczynski-NOAA
139+
fv3gfs_remap_weights.sh
140+
gaussian_sfcanl.sh @GeorgeGayno-NOAA
141+
getdump.sh @WalterKolczynski-NOAA @KateFriedman-NOAA
142+
getges.sh @WalterKolczynski-NOAA @KateFriedman-NOAA
143+
getgfsnctime @CoryMartin-NOAA
144+
getncdimlen @CoryMartin-NOAA
145+
gfs_bfr2gpk.sh @GwenChen-NOAA
146+
gfs_bufr.sh @GwenChen-NOAA
147+
gfs_bufr_netcdf.sh @GwenChen-NOAA
148+
gfs_sndp.sh @BoCui-NOAA
149+
gfs_truncate_enkf.sh @CoryMartin-NOAA
150+
global_savefits.sh
151+
gsi_utils.py @CoryMartin-NOAA
152+
interp_atmos_master.sh @aerorahul @WenMeng-NOAA @WalterKolczynski-NOAA
153+
interp_atmos_sflux.sh @aerorahul @WenMeng-NOAA @WalterKolczynski-NOAA
154+
jjob_header.sh @WalterKolczynski-NOAA
155+
link_crtm_fix.sh @WalterKolczynski-NOAA
156+
load_fv3gfs_modules.sh @WalterKolczynski-NOAA @aerorahul
157+
load_ufsda_modules.sh @WalterKolczynski-NOAA @aerorahul @CoryMartin-NOAA
158+
load_ufswm_modules.sh @WalterKolczynski-NOAA @aerorahul @JessicaMeixner-NOAA
159+
merge_fv3_aerosol_tile.py @WalterKolczynski-NOAA
160+
minmon_xtrct_*.pl @EdwardSafford-NOAA
161+
module-setup.sh @WalterKolczynski-NOAA @aerorahul
162+
oceanice_nc2grib2.sh @GwenChen-NOAA
163+
ocnice_extractvars.sh @EricSinsky-NOAA
164+
ozn_xtrct.sh @EdwardSafford-NOAA
165+
parse-storm-type.pl
166+
parsing_model_configure_FV3.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa
167+
parsing_namelists_CICE.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa @DeniseWorthen
168+
parsing_namelists_FV3.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa
169+
parsing_namelists_FV3_nest.sh @guoqing-noaa
170+
parsing_namelists_MOM6.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa @jiandewang
171+
parsing_namelists_WW3.sh @WalterKolczynski-NOAA @aerorahul @JessicaMeixner-NOAA @sbanihash
172+
parsing_ufs_configure.sh @WalterKolczynski-NOAA @aerorahul @junwang-noaa
173+
preamble.sh @WalterKolczynski-NOAA
174+
product_functions.sh @WalterKolczynski-NOAA @aerorahul
175+
radmon_*.sh @EdwardSafford-NOAA
176+
rstprod.sh @WalterKolczynski-NOAA @DavidHuber-NOAA
177+
run_mpmd.sh @WalterKolczynski-NOAA @aerorahul @DavidHuber-NOAA
178+
syndat_getjtbul.sh @JiayiPeng-NOAA
179+
syndat_qctropcy.sh @JiayiPeng-NOAA
180+
tropcy_relocate.sh @JiayiPeng-NOAA
181+
tropcy_relocate_extrkr.sh @JiayiPeng-NOAA
182+
wave_*.sh @JessicaMeixner-NOAA @sbanihash
183+
184+
# ush/python
185+
ush/python/pygfs/jedi/__init__.py @aerorahul @DavidNew-NOAA
186+
ush/python/pygfs/jedi/jedi.py @DavidNew-NOAA
187+
ush/python/pygfs/task/__init__.py @aerorahul
188+
ush/python/pygfs/task/aero_analysis.py @DavidNew-NOAA @CoryMartin-NOAA
189+
ush/python/pygfs/task/aero_bmatrix.py @DavidNew-NOAA @CoryMartin-NOAA
190+
ush/python/pygfs/task/aero_emissions.py @bbakernoaa
191+
ush/python/pygfs/task/aero_prepobs.py @CoryMartin-NOAA
192+
ush/python/pygfs/task/analysis.py @DavidNew-NOAA @RussTreadon-NOAA
193+
ush/python/pygfs/task/archive.py @DavidHuber-NOAA
194+
ush/python/pygfs/task/atm_analysis.py @DavidNew-NOAA @RussTreadon-NOAA
195+
ush/python/pygfs/task/atmens_analysis.py @DavidNew-NOAA @RussTreadon-NOAA
196+
ush/python/pygfs/task/bmatrix.py @DavidNew-NOAA
197+
ush/python/pygfs/task/gfs_forecast.py @aerorahul
198+
ush/python/pygfs/task/marine_analysis.py @guillaumevernieres @AndrewEichmann-NOAA
199+
ush/python/pygfs/task/marine_bmat.py @guillaumevernieres @AndrewEichmann-NOAA
200+
ush/python/pygfs/task/marine_letkf.py @guillaumevernieres @AndrewEichmann-NOAA
201+
ush/python/pygfs/task/oceanice_products.py @aerorahul @GwenChen-NOAA
202+
ush/python/pygfs/task/snow_analysis.py @jiaruidong2017
203+
ush/python/pygfs/task/snowens_analysis.py @jiaruidong2017
204+
ush/python/pygfs/task/stage_ic.py @KateFriedman-NOAA
205+
ush/python/pygfs/task/upp.py @aerorahul @WenMeng-NOAA
206+
ush/python/pygfs/ufswm/__init__.py @aerorahul
207+
ush/python/pygfs/ufswm/gfs.py @aerorahul
208+
ush/python/pygfs/ufswm/ufs.py @aerorahul
209+
ush/python/pygfs/utils/__init__.py @aerorahul
210+
ush/python/pygfs/utils/marine_da_utils.py @guillaumevernieres @AndrewEichmann-NOAA
211+
212+
# Specific workflow scripts
213+
workflow/generate_workflows.sh @DavidHuber-NOAA
214+
workflow/build_compute.py @DavidHuber-NOAA @aerorahul

.github/ISSUE_TEMPLATE/NCO_bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: NCO Bug report
1+
name: NCO Bug Report
22
description: Report something that is incorrect or broken
33
labels: ["nco-bug", "triage"]
44
assignees:

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Bug report
1+
name: Bug Report
22
description: Report something that is incorrect or broken
33
labels: ["bug", "triage"]
44

@@ -9,6 +9,8 @@ body:
99
Your bug may already be reported!
1010
Please search on the [Issue tracker](https://github.com/NOAA-EMC/global-workflow/issues) before creating one.
1111
12+
Is this actually a workflow bug? If not, please open an issue in the appropriate repository first.
13+
1214
- type: textarea
1315
id: current_behavior
1416
attributes:
@@ -46,6 +48,13 @@ body:
4648
validations:
4749
required: true
4850

51+
- type: input
52+
id: hash
53+
attributes:
54+
label: What global-workflow hash are you using?
55+
validations:
56+
required: true
57+
4958
- type: textarea
5059
id: reproduction_steps
5160
attributes:
@@ -63,8 +72,9 @@ body:
6372
attributes:
6473
label: Additional information
6574
description: Provide context or any additional information about the bug.
75+
placeholder: Optional
6676
validations:
67-
required: true
77+
required: false
6878

6979
- type: textarea
7080
id: propsed_implementation
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Global Observation Dump Request
2+
description: Request additional dates be added to a machine's global dump archive (GDA) or introduce experimental dump data to the GDA
3+
labels: ["Static Data Mgmt"]
4+
assignees:
5+
- KateFriedman-NOAA
6+
- WalterKolczynski-NOAA
7+
8+
body:
9+
- type: dropdown
10+
attributes:
11+
label: Machine
12+
options:
13+
- WCOSS2
14+
- Hera/Ursa
15+
- Orion/Hercules
16+
- Jet
17+
multiple: true
18+
validations:
19+
required: true
20+
21+
- type: input
22+
attributes:
23+
label: Start date
24+
validations:
25+
required: true
26+
27+
- type: input
28+
attributes:
29+
label: End date
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
attributes:
35+
label: Additional information
36+
placeholder: |
37+
Any additional information needed (experimental obs, etc.)

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Feature request
1+
name: Feature Request
22
description: Request new capability
33
labels: ["feature", "triage"]
44

@@ -10,8 +10,7 @@ body:
1010
- Something is wrong or broken
1111
- It is a request from NCO
1212
- It is initiating a production update
13-
- Files need to be updated or added to fix
14-
13+
- Files need to be updated in a directory managed by workflow CMs under "glopara"
1514
1615
Please search on the [Issue tracker](https://github.com/NOAA-EMC/global-workflow/issues) to make sure the feature has not already been requested to avoid duplicates.
1716
@@ -34,7 +33,17 @@ body:
3433
id: criteria
3534
attributes:
3635
label: Acceptance Criteria
37-
placeholder: What does it mean for this issue to be complete?
36+
description: |
37+
A checklist of criteria to be satisfied before this feature is considered complete.
38+
39+
Examples:
40+
- Forecast with option X completes successfully
41+
- File X produced
42+
- Output unchanged
43+
placeholder: |
44+
- [ ] Criterion #1
45+
- [ ] Criterion #2
46+
- [ ] Criterion #3
3847
validations:
3948
required: true
4049

.github/ISSUE_TEMPLATE/production_update.yml

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,19 @@ body:
3333
validations:
3434
required: true
3535

36-
- type: markdown
36+
- type: checkboxes
3737
attributes:
38-
value: |
39-
** Tasks **
40-
- [ ] Create release branch
41-
- [ ] Make workflow changes for upgrade in release branch (add additional checklist items as needed)
42-
- [ ] Create release notes
43-
- [ ] Cut hand-off tag for CDF
44-
- [ ] Submit CDF to NCO
45-
- [ ] Implementation into operations complete
46-
- [ ] Merge release branch into operational branch
47-
- [ ] Cut version tag from operational branch
48-
- [ ] Release new version tag
49-
- [ ] Announce to users
50-
- [ ] Update Read-The-Docs operations status version in develop
38+
label: Tasks
39+
description: List of tasks to complete update. For use after issue is created.
40+
options:
41+
- label: Create release branch
42+
- label: Make workflow changes for upgrade in release branch (add additional checklist items as needed)
43+
- label: Create release notes
44+
- label: Cut hand-off tag for CDF
45+
- label: Submit CDF to NCO
46+
- label: Implementation into operations complete
47+
- label: Merge release branch into operational branch
48+
- label: Cut version tag from operational branch
49+
- label: Release new version tag
50+
- label: Announce to users
51+
- label: Update Read-The-Docs operations status version in develop

0 commit comments

Comments
 (0)