Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
91bfe24
initial version of tools to stage data and create scripts for phase 3…
RussTreadon-NOAA Feb 8, 2025
a8c07ce
fix pycodestyle violations (#1487)
RussTreadon-NOAA Feb 8, 2025
3ab0582
load correct modules for gdas.x (#1487)
RussTreadon-NOAA Feb 11, 2025
408031c
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Feb 14, 2025
e0adc63
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Feb 25, 2025
0629beb
update gsi namelist and jedi yaml to ensure greater 3dvar consistency…
RussTreadon-NOAA Feb 25, 2025
4c1fa5f
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Feb 26, 2025
380d2d2
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Feb 26, 2025
9c67ac4
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Feb 27, 2025
a1cd510
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 3, 2025
138c4da
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 5, 2025
f3d238d
simplify phase3 validation setup (#1487)
RussTreadon-NOAA Mar 6, 2025
34fc8d4
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 6, 2025
34934e9
remove unused phase3 validation yamls and namelist file (#1487)
RussTreadon-NOAA Mar 6, 2025
896aa7c
clean up README_phase3, rename python setup script (#1487)
RussTreadon-NOAA Mar 6, 2025
72ba1ea
correct README_phase3 typos, rename JobCard class as SlurmJobCard (#1…
RussTreadon-NOAA Mar 7, 2025
1a81235
improve error checking logic (#1487)
RussTreadon-NOAA Mar 7, 2025
f00c302
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 17, 2025
ff31d30
add hybrid 4denvar option to phase3 validation (#1551)
RussTreadon-NOAA Mar 17, 2025
e942ac7
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 18, 2025
c54eb2c
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 19, 2025
42524a0
Merge branch 'develop' into feature/phase3_validation
RussTreadon-NOAA Mar 20, 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
5 changes: 3 additions & 2 deletions ush/ufoeval/README_phase3
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ config_gsi.yaml and config_jedi.yaml contain the following user settings
DA_CORE: DA engine to run. Valid options are gsi or jedi
DA_TYPE: type of DA to run. Valid options are
3dv - 3dvar using gsibec
3dvfgat - 3dvar using gsibec with fgat
hyb3dvfgat - 3dvar using gsibec & 40 member ensemble with fgat
3dvfgat - 3dvar using gsibec with fgat
hyb3dvfgat - hybrid 3dvar using gsibec & 40 member ensemble with fgat
hyb4denv - hybrid 4denvar using gsibec & 40 member ensemble with fgat
APPEXEC: GSI or JEDI analysis executable
INCEXEC: executable to convert JEDI cube sphere increment to gaussian grid

Expand Down
2 changes: 1 addition & 1 deletion ush/ufoeval/config_gsi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ directories:

app files:
DA_CORE: gsi
DA_TYPE: hyb3dvfgat
DA_TYPE: 3dv
APPEXE: /scratch1/NCEPDEV/da/Russ.Treadon/git/global-workflow/test/exec/gsi.x
2 changes: 1 addition & 1 deletion ush/ufoeval/config_jedi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ directories:

app files:
DA_CORE: jedi
DA_TYPE: hyb3dvfgat
DA_TYPE: 3dv
APPEXE: /scratch1/NCEPDEV/da/Russ.Treadon/git/global-workflow/test/exec/gdas.x
INCEXE: /scratch1/NCEPDEV/da/Russ.Treadon/git/global-workflow/test/exec/fv3jedi_fv3inc.x
23 changes: 17 additions & 6 deletions ush/ufoeval/setup_phase3.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,21 @@ def aprun(self):

# JEDI jobs convert cube sphere increments to gausssian grid for comparison
if self.appcore == 'jedi':
self.f.write("\n")
self.f.write(f"# Convert cube sphere increments to gaussian grid\n")
aprun_command = f"srun -n {self.ntasks} --cpus-per-task={self.threads} ./fv3jedi_fv3inc.x ./atmanlfv3inc.yaml"
self.f.write(f"{aprun_command}\n")
if self.apptype != "hyb4denv":
self.f.write("\n")
self.f.write(f"# Convert cube sphere increments to gaussian grid\n")
aprun_command = f"srun -n {self.ntasks} --cpus-per-task={self.threads} ./fv3jedi_fv3inc.x ./atmanlfv3inc.yaml"
self.f.write(f"{aprun_command}\n")
else:
# JEDI hyb4denv jobs convert cube sphere increments to gaussian for multiple analysis times
self.f.write("\n")
self.f.write(f"# Convert cube sphere increments to gaussian grid\n")
aprun_command = f"srun -n {self.ntasks} --cpus-per-task={self.threads} ./fv3jedi_fv3inc.x ./atmanlfv3inc03.yaml"
self.f.write(f"{aprun_command}\n")
aprun_command = f"srun -n {self.ntasks} --cpus-per-task={self.threads} ./fv3jedi_fv3inc.x ./atmanlfv3inc06.yaml"
self.f.write(f"{aprun_command}\n")
aprun_command = f"srun -n {self.ntasks} --cpus-per-task={self.threads} ./fv3jedi_fv3inc.x ./atmanlfv3inc09.yaml"
self.f.write(f"{aprun_command}\n")

def close(self):
"""
Expand Down Expand Up @@ -143,7 +154,7 @@ def main():
if appcore not in valid:
raise ValueError(f"DA_CORE {appcore} is invalid. Valid cores are {valid}")

valid = ['3dv', '3dvfgat', 'hyb3dvfgat']
valid = ['3dv', '3dvfgat', 'hyb3dvfgat', 'hyb4denv']
if apptype not in valid:
raise ValueError(f"DA_TYPE {apptype} is invalid. Valid types are {valid}")

Expand Down Expand Up @@ -181,7 +192,7 @@ def main():
else:
# Copy files and directories to run directory
files_to_copy = [
"atmanlvar.yaml", "atmanlfv3inc.yaml"
"atmanlvar.yaml", "atmanlfv3inc*.yaml"
]
for pattern in files_to_copy:
for file_path in Path(stagedir).glob(pattern):
Expand Down