Add marineijedi model and algorithm configs (i-jedi MOM6 interface) - #2186
Add marineijedi model and algorithm configs (i-jedi MOM6 interface)#2186guillaumevernieres wants to merge 3 commits into
Conversation
shlyaeva
left a comment
There was a problem hiding this comment.
🎉 did not run, only a quick glance review. I have one question about balance, otherwise looks good to me. Fine with me to address in a later PR.
| linear variable changes: | ||
| - linear variable change name: BalanceSOCA |
There was a problem hiding this comment.
I wouldn't expect this to work with ijedi. Maybe this needs to be removed and changed to saber outer block?
There was a problem hiding this comment.
Oops, deleted. I'm only keeping the central block, using the saber outer block requires building with torch, which is not yet part of the default stack unfortunately.
| linear variable change: | ||
| input variables: | ||
| - sea_ice_area_fraction | ||
| - sea_ice_thickness | ||
| - sea_ice_snow_thickness | ||
| - sea_water_salinity | ||
| - sea_water_potential_temperature | ||
| - sea_surface_height_above_geoid | ||
| output variables: | ||
| - sea_ice_area_fraction | ||
| - sea_ice_thickness | ||
| - sea_ice_snow_thickness | ||
| - sea_water_salinity | ||
| - sea_water_potential_temperature | ||
| - sea_surface_height_above_geoid | ||
| linear variable changes: | ||
| - linear variable change name: BalanceSOCA |
|
As we discussed yesterday, I'm centralizing the variable lists in these templates in #2171 |
Sounds good @DavidNew-NOAA , it's in a very prototype phase at this point so don't worry too much about the cosmetics for now. We'll start cleaning up once things start working properly. |
AndrewEichmann-NOAA
left a comment
There was a problem hiding this comment.
Not tested, not too familiar with it, but nothing offensive leaps out
Summary
Adds a new
marineijedicomponent implementing the i-jedi MOM6 interface, based onthe existing SOCA-based
marineconfiguration. The i-jedi interface differs from SOCA ingeometry (
geometry_type: mom6+MOM_inputblock), state/background I/O(
io: {filetype: mom6, ...}withfield io names), and model/output handling.Reference yamls:
i-jedi/test/testinput/tier1_*-mom6.yaml.What's included
model/marineijedi/— 14 templates (parity withmodel/marine), converted to thei-jedi MOM6 interface: geometry, background, pseudo model, static & hybrid diffusion
background error, 3dfgat outer loop, final increment, and output/LETKF templates.
algorithm/marineijedi/— the SOCA algorithm steps that have real i-jedi equivalents:marineijedi_gridgen— grid/geometry cache generation (i-jedigeometry_cache-mom6)marineijedi_parameters_diffusion— combined hz+vt diffusion calibration(i-jedi
diffusion-mom6)test/client_integration/gdas-marineijedi-templates.yaml— JCB test fixture(auto-discovered by
jcb_client_init.py; no jcb-repo change needed).Not ported
SOCA-executable-specific steps with no current i-jedi equivalent were intentionally omitted
rather than fabricated:
soca_diagb,soca_ensb,soca_ens_handler,soca_ensweights,soca_chgres,soca_setcorscales,soca_vtscales,soca_incpostproc(Soca2Cice), and theobs-stats finalizers.
Testing
Rendered end-to-end through the real JCB pipeline (jcb
develop+ this branch symlinked):hofx3d,hofx4d, and3dfgatall render, andpytest test_client_calls.pypasses(
1 passed). Geometry output confirmed to emit the i-jedi MOM6 interface.Notes for reviewers
marine_ijedi(variables, dir, andapp_path_model).marine_ijedi_model_pseudoand the LETKF output templates — worth a closer look.
field io namesice conventions (aice_h/hi_h/hs_h) should be confirmed.