Skip to content

Commit b642cc0

Browse files
rtodlingDooruk
andauthored
Updating to latest JEDI Dev (22May2025) (#555)
* Updating to latest JEDI Dev (19May2025) * it seems to work now - 3dfgat running * latest version tested for * final changes * update pins --------- Co-authored-by: dooruk <[email protected]>
1 parent d0b815b commit b642cc0

File tree

14 files changed

+103
-29
lines changed

14 files changed

+103
-29
lines changed

src/swell/configuration/jedi/interfaces/geos_atmosphere/model/background_error.yaml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,27 @@ saber central block:
33
saber block name: gsi hybrid covariance
44
read:
55
gsi akbk: './fv3-jedi/fv3files/akbk{{vertical_resolution}}.nc4'
6-
gsi error covariance file: './fv3-jedi/gsibec/gsibec_coefficients_c{{horizontal_resolution}}.nc4'
7-
gsi berror namelist file: './fv3-jedi/gsibec/{{gsibec_configuration}}_c{{horizontal_resolution}}.nml'
6+
gsi error covariance file: './fv3-jedi/gsibec/gsi-coeffs-gmao-global-l{{vertical_resolution}}x{{gsibec_nlons}}y{{gsibec_nlats}}.nc4'
7+
gsi berror namelist file: './fv3-jedi/gsibec/{{gsibec_configuration}}_l{{vertical_resolution}}x{{gsibec_nlons}}y{{gsibec_nlats}}.nml'
88
processor layout x direction: {{gsibec_npx_proc}}
99
processor layout y direction: {{gsibec_npy_proc}}
1010
debugging mode: false
1111
saber outer blocks:
12-
- saber block name: gsi interpolation to model grid
12+
- saber block name: interpolation
13+
inner geometry:
14+
function space: StructuredColumns
15+
custom grid matching gsi:
16+
type: latlon
17+
lats: {{gsibec_nlats}}
18+
lons: {{gsibec_nlons}}
19+
custom partitioner matching gsi:
20+
bands: {{gsibec_npy_proc}}
21+
halo: 1
22+
forward interpolator:
23+
local interpolator type: oops unstructured grid interpolator
24+
inverse interpolator:
25+
local interpolator type: oops unstructured grid interpolator
26+
1327
state variables to inverse: &bvars [eastward_wind,
1428
northward_wind,air_temperature,
1529
air_pressure_at_surface,
@@ -24,12 +38,6 @@ saber outer blocks:
2438
fraction_of_ice,
2539
geopotential_height_times_gravity_at_surface,
2640
skin_temperature_at_surface]
27-
gsi akbk: './fv3-jedi/fv3files/akbk{{vertical_resolution}}.nc4'
28-
gsi error covariance file: './fv3-jedi/gsibec/gsibec_coefficients_c{{horizontal_resolution}}.nc4'
29-
gsi berror namelist file: './fv3-jedi/gsibec/{{gsibec_configuration}}_c{{horizontal_resolution}}.nml'
30-
processor layout x direction: {{gsibec_npx_proc}}
31-
processor layout y direction: {{gsibec_npy_proc}}
32-
debugging mode: false
3341
linear variable change:
3442
linear variable change name: Control2Analysis
3543
input variables: *bvars

src/swell/configuration/jedi/interfaces/geos_atmosphere/model/stage.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/GEOS_CRTM_Surface/geos.crtmsrf.{{horizontal_resolution}}.nc4', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/bkg/']
44
- ['{{experiment_root}}/{{experiment_id}}/jedi_bundle/source/fv3-jedi/test/Data/fieldmetadata/*', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/fieldmetadata/']
55
- ['{{experiment_root}}/{{experiment_id}}/jedi_bundle/source/fv3-jedi/test/Data/fv3files/*', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/fv3files/']
6-
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/gsibec_coefficients_c{{horizontal_resolution}}.nc4', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/gsibec/']
7-
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/{{gsibec_configuration}}_c{{horizontal_resolution}}.nml', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/gsibec/']
6+
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/1.0.1/gsi-coeffs-gmao-global-l{{vertical_resolution}}x{{gsibec_nlons}}y{{gsibec_nlats}}.nc4', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/gsibec/']
7+
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/1.0.1/{{gsibec_configuration}}_l{{vertical_resolution}}x{{gsibec_nlons}}y{{gsibec_nlats}}.nml', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/gsibec/']
88
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/rcov/1.0.0/*', '{{experiment_root}}/{{experiment_id}}/stage/fv3-jedi/geos_atmosphere/rcov/']

src/swell/configuration/jedi/interfaces/geos_atmosphere/model/stage_cycle.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/GEOS_CRTM_Surface/geos.crtmsrf.{{horizontal_resolution}}.nc4', '{{cycle_dir}}/fv3-jedi/bkg/']
44
- ['{{experiment_root}}/{{experiment_id}}/jedi_bundle/source/fv3-jedi/test/Data/fieldmetadata/*', '{{cycle_dir}}/fv3-jedi/fieldmetadata/']
55
- ['{{experiment_root}}/{{experiment_id}}/jedi_bundle/source/fv3-jedi/test/Data/fv3files/*', '{{cycle_dir}}/fv3-jedi/fv3files/']
6-
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/gsibec_coefficients_c{{horizontal_resolution}}.nc4', '{{cycle_dir}}/fv3-jedi/gsibec/']
7-
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/{{gsibec_configuration}}_c{{horizontal_resolution}}.nml', '{{cycle_dir}}/fv3-jedi/gsibec/']
6+
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec/1.0.1/gsi-coeffs-gmao-global-l{{vertical_resolution}}x{{gsibec_nlons}}y{{gsibec_nlats}}.nc4', '{{cycle_dir}}/fv3-jedi/gsibec/']
7+
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/gsibec//1.0.1/{{gsibec_configuration}}_l{{vertical_resolution}}x{{gsibec_nlons}}y{{gsibec_nlats}}.nml', '{{cycle_dir}}/fv3-jedi/gsibec/']
88
- ['{{swell_static_files}}/jedi/interfaces/geos_atmosphere/rcov/1.0.0/*', '{{cycle_dir}}/fv3-jedi/rcov/']

src/swell/configuration/jedi/interfaces/geos_atmosphere/task_questions.yaml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,24 @@ gradient_norm_reduction:
9999
gsibec_configuration:
100100
default_value: cli_gsibec_configuration
101101

102+
gsibec_nlats:
103+
default_value: 181
104+
options:
105+
- 46
106+
- 91
107+
- 181
108+
- 361
109+
- 721
110+
111+
gsibec_nlons:
112+
default_value: 288
113+
options:
114+
- 72
115+
- 144
116+
- 288
117+
- 576
118+
- 1152
119+
102120
horizontal_localization_lengthscale:
103121
default_value: 10000e3
104122

src/swell/deployment/platforms/nccs_discover_cascade/task_questions.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ existing_geos_gcm_source_path:
88
default_value: /discover/nobackup/projects/gmao/SIteam/Models/GEOSgcm-v11.6.0/
99

1010
existing_jedi_build_directory:
11-
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_02062025/build-intel-release
11+
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_05222025/build-intel-release/
1212

1313
existing_jedi_build_directory_pinned:
1414
default_value: /discover/nobackup/projects/gmao/advda/jedi_bundles_sles15/current_pinned_jedi_bundle/build/
1515

1616
existing_jedi_source_directory:
17-
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_02062025
17+
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_05222025
1818

1919
existing_jedi_source_directory_pinned:
2020
default_value: /discover/nobackup/projects/gmao/advda/jedi_bundles/current_pinned_jedi_bundle/source/

src/swell/deployment/platforms/nccs_discover_sles15/task_questions.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ existing_geos_gcm_source_path:
88
default_value: /discover/nobackup/projects/gmao/SIteam/Models/GEOSgcm-v11.6.0/
99

1010
existing_jedi_build_directory:
11-
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_02062025/build-intel-release
11+
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_05222025/build-intel-release/
1212

1313
existing_jedi_build_directory_pinned:
1414
default_value: /discover/nobackup/projects/gmao/advda/jedi_bundles_sles15/current_pinned_jedi_bundle/build/
1515

1616
existing_jedi_source_directory:
17-
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_02062025
17+
default_value: /discover/nobackup/projects/gmao/advda/swell/JediBundles/fv3_soca_SLES15_05222025
1818

1919
existing_jedi_source_directory_pinned:
2020
default_value: /discover/nobackup/projects/gmao/advda/jedi_bundles_sles15/current_pinned_jedi_bundle/source/

src/swell/suites/3dvar_atmos/suite_config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ class SuiteConfig(QuestionContainer, Enum):
4444
qd.window_offset("PT3H"),
4545
qd.window_type("3D"),
4646
qd.horizontal_resolution("91"),
47+
qd.gsibec_nlats("91"),
48+
qd.gsibec_nlons("144"),
4749
qd.vertical_resolution("72"),
4850
qd.observations([
4951
"aircraft_temperature",

src/swell/tasks/run_jedi_fgat_executable.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ def execute(self) -> None:
4444
# Set the observing system records path
4545
self.jedi_rendering.set_obs_records_path(self.config.observing_system_records_path(None))
4646

47+
gsibec_nlats = self.config.gsibec_nlats(None)
48+
gsibec_nlons = self.config.gsibec_nlons(None)
4749
npx_proc = self.config.npx_proc(None)
4850
npy_proc = self.config.npy_proc(None)
4951

@@ -80,6 +82,8 @@ def execute(self) -> None:
8082
# Geometry
8183
# --------
8284
self.jedi_rendering.add_key('vertical_resolution', self.config.vertical_resolution())
85+
self.jedi_rendering.add_key('gsibec_nlats', gsibec_nlats)
86+
self.jedi_rendering.add_key('gsibec_nlons', gsibec_nlons)
8387
self.jedi_rendering.add_key('npx_proc', npx_proc)
8488
self.jedi_rendering.add_key('npy_proc', npy_proc)
8589
self.jedi_rendering.add_key('total_processors', self.config.total_processors(None))
@@ -94,6 +98,8 @@ def execute(self) -> None:
9498
# ---------------------------------
9599
if npx_proc is not None and npy_proc is not None:
96100
self.jedi_rendering.add_key('gsibec_configuration', self.config.gsibec_configuration())
101+
self.jedi_rendering.add_key('gsibec_nlats', gsibec_nlats)
102+
self.jedi_rendering.add_key('gsibec_nlons', gsibec_nlons)
97103
self.jedi_rendering.add_key('gsibec_npx_proc', npx_proc)
98104
self.jedi_rendering.add_key('gsibec_npy_proc', 6*npy_proc)
99105

src/swell/tasks/run_jedi_variational_executable.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ def execute(self) -> None:
4343
# Set the observing system records path
4444
self.jedi_rendering.set_obs_records_path(self.config.observing_system_records_path(None))
4545

46+
gsibec_nlats = self.config.gsibec_nlats(None)
47+
gsibec_nlons = self.config.gsibec_nlons(None)
4648
npx_proc = self.config.npx_proc(None)
4749
npy_proc = self.config.npy_proc(None)
4850

@@ -79,6 +81,8 @@ def execute(self) -> None:
7981
# Geometry
8082
# --------
8183
self.jedi_rendering.add_key('vertical_resolution', self.config.vertical_resolution())
84+
self.jedi_rendering.add_key('gsibec_nlats', gsibec_nlats)
85+
self.jedi_rendering.add_key('gsibec_nlons', gsibec_nlons)
8286
self.jedi_rendering.add_key('npx_proc', npx_proc)
8387
self.jedi_rendering.add_key('npy_proc', npy_proc)
8488
self.jedi_rendering.add_key('total_processors', self.config.total_processors(None))
@@ -93,6 +97,8 @@ def execute(self) -> None:
9397
# ---------------------------------
9498
if npx_proc is not None and npy_proc is not None:
9599
self.jedi_rendering.add_key('gsibec_configuration', self.config.gsibec_configuration())
100+
self.jedi_rendering.add_key('gsibec_nlats', gsibec_nlats)
101+
self.jedi_rendering.add_key('gsibec_nlons', gsibec_nlons)
96102
self.jedi_rendering.add_key('gsibec_npx_proc', npx_proc)
97103
self.jedi_rendering.add_key('gsibec_npy_proc', 6*npy_proc)
98104

src/swell/tasks/stage_jedi.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,16 @@ def execute(self) -> None:
4646

4747
vertical_resolution = self.config.vertical_resolution()
4848
gsibec_configuration = self.config.gsibec_configuration(None)
49+
gsibec_nlats = self.config.gsibec_nlats(None)
50+
gsibec_nlons = self.config.gsibec_nlons(None)
4951

5052
# Add jedi interface template keys
5153
self.jedi_rendering.add_key('horizontal_resolution', horizontal_resolution)
5254
self.jedi_rendering.add_key('swell_static_files', swell_static_files)
5355
self.jedi_rendering.add_key('vertical_resolution', vertical_resolution)
5456
self.jedi_rendering.add_key('gsibec_configuration', gsibec_configuration)
57+
self.jedi_rendering.add_key('gsibec_nlats', gsibec_nlats)
58+
self.jedi_rendering.add_key('gsibec_nlons', gsibec_nlons)
5559

5660
# Open the stage configuration file
5761
# ---------------------------------

src/swell/tasks/task_questions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ class TaskQuestions(QuestionContainer, Enum):
7676
qd.generate_yaml_and_exit(),
7777
qd.gradient_norm_reduction(),
7878
qd.gsibec_configuration(),
79+
qd.gsibec_nlats(),
80+
qd.gsibec_nlons(),
7981
qd.jedi_forecast_model(),
8082
qd.minimizer(),
8183
qd.number_of_iterations(),
@@ -526,6 +528,8 @@ class TaskQuestions(QuestionContainer, Enum):
526528
questions=[
527529
swell_static_file_questions,
528530
qd.gsibec_configuration(),
531+
qd.gsibec_nlats(),
532+
qd.gsibec_nlons(),
529533
qd.horizontal_resolution(),
530534
qd.vertical_resolution()
531535
]
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
# Pinned versions for 2025-02-06
1+
# Pinned versions for 2025-05-22
22
- jedicmake:
33
branch: 40d521f9a2d796fcbc6234d77abceeffefb8eb7f
44
commit: true
55
- oops:
6-
branch: 765aeb1204a6999f78cf4fd589074af42cd4700c
6+
branch: c5e6d732110ab3a9cb8b2b13d9ea059febbfb9d0
77
commit: true
88
- saber:
9-
branch: b85ece54b9928c9aed0a11b46f7a3a963f78e635
9+
branch: 3d40cd513414f289decd195fa3b31c15c1c9ceaa
1010
commit: true
1111
- ioda:
12-
branch: cae6614602b415262b10f1f648757c76a657b5af
12+
branch: 6ed76e083c9c5e33daceec146d528b062631b0b1
1313
commit: true
1414
- ufo:
15-
branch: f761f4727b22b58d9a39accd6d7e626c1dd00ad9
15+
branch: 7ca1792e14942483669c39501477ed3a83a42ea4
1616
commit: true
1717
- vader:
18-
branch: 0792f693148c3d09a166021e6b8c2758cb8a1251
18+
branch: c1f90b143e6fb4dc114fb563e362f5752f002dae
1919
commit: true
2020
- fv3:
2121
branch: ab25dc09d955271f34ca6a3fa83af1093c85d9f7
@@ -27,23 +27,23 @@
2727
branch: 4f12677d345e683bf910b5f76f0df120ad27482d
2828
commit: true
2929
- fv3-jedi:
30-
branch: a391d2fd2263056c1ace87b8507960d7b936380a
30+
branch: 2eea747bdd877627c396d533b5ee176f0347efc0
3131
commit: true
3232
- ioda-data:
33-
branch: 9d414d76d9859701ed5eb126dddf08e704a1e159
33+
branch: ebcb457290e6c9cdca5cef040564e499c66f31a1
3434
commit: true
3535
- fv3-jedi-data:
36-
branch: effbda720365a4b095114bd97adcd9367b0b34e3
36+
branch: 290b7ebbe73205eaac2775b158ba839728e96601
3737
commit: true
3838
- soca:
39-
branch: b4378059d8306aef6fbb80cac536ee3849f6353b
39+
branch: b9a89f4a2a238ca85bdf59ca9a95673f5af5e791
4040
commit: true
4141
- iodaconv:
42-
branch: ab99fd23178155458d24ab5cc9ef4d04406cd17c
42+
branch: 5a445d4988c14e81be8dfc465441dbabbfcf009d
4343
commit: true
4444
- gsw:
4545
branch: 697cbeb7605d70ed3857664c5f54a5c05346e31f
4646
commit: true
4747
- ufo-data:
48-
branch: ca4e6f544b1330e9977552aff153f33ed178fb72
48+
branch: da0a3f9ec45e283f4155dd237763707a51d8b3c4
4949
commit: true

src/swell/utilities/question_defaults.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,30 @@ class gsibec_configuration(TaskQuestion):
611611

612612
# --------------------------------------------------------------------------------------------------
613613

614+
@dataclass
615+
class gsibec_nlats(TaskQuestion):
616+
default_value: str = "defer_to_model"
617+
question_name: str = "gsibec_nlats"
618+
models: List[str] = mutable_field([
619+
"geos_atmosphere"
620+
])
621+
prompt: str = "Number of latitudes in GSIBEC grid?"
622+
widget_type: WType = WType.INTEGER
623+
624+
# --------------------------------------------------------------------------------------------------
625+
626+
@dataclass
627+
class gsibec_nlons(TaskQuestion):
628+
default_value: str = "defer_to_model"
629+
question_name: str = "gsibec_nlons"
630+
models: List[str] = mutable_field([
631+
"geos_atmosphere"
632+
])
633+
prompt: str = "Number of longitudes in GSIBEC grid?"
634+
widget_type: WType = WType.INTEGER
635+
636+
# --------------------------------------------------------------------------------------------------
637+
614638
@dataclass
615639
class horizontal_localization_lengthscale(TaskQuestion):
616640
default_value: str = "defer_to_model"

src/swell/utilities/render_jedi_interface_files.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ def __init__(
8282
'ensmeanvariance_only',
8383
'gradient_norm_reduction',
8484
'gsibec_configuration',
85+
'gsibec_nlats',
86+
'gsibec_nlons',
8587
'gsibec_npx_proc',
8688
'gsibec_npy_proc',
8789
'horizontal_localization_lengthscale',

0 commit comments

Comments
 (0)