Skip to content

Adapt to removing inverse variable change interface - #1236

Merged
ytremolet merged 7 commits into
developfrom
feature/obsolete_inverse_varchange
Oct 23, 2026
Merged

ytremolet merged 7 commits into
developfrom
feature/obsolete_inverse_varchange

Conversation

@shlyaeva

@shlyaeva shlyaeva commented Apr 10, 2026 •

Copy link
Copy Markdown
Collaborator

Description

This adapts soca to removing inverse variable change interface:

  • use full inverse when computing Jb diagnostics in Var that uses linear variable changes (I have removed the option of explicitly calling inverses when using linear variable changes in oops PR). This results in reasonable changes in Jb diagnostic prints.
  • remove the inverse interfaces from soca variable and linear variable changes where applicable (base classes, trait classes and classes where the inverse was not implemented). I have kept inverses in Model2Ana and Balance classes (since they were implemented) for potential use within soca.

Dependencies

build-group=https://github.com/JCSDA-internal/oops/pull/3261
build-group=https://github.com/JCSDA-internal/saber/pull/1225
build-group=https://github.com/JCSDA-internal/fv3-jedi/pull/1498
build-group=https://github.com/JCSDA-internal/mpas-jedi/pull/1178

Checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have run the unit tests before creating the PR

@shlyaeva
shlyaeva marked this pull request as ready for review April 11, 2026 12:46
@shlyaeva
shlyaeva requested a review from Dooruk October 12, 2026 21:58
@shlyaeva

Copy link
Copy Markdown
Collaborator Author

@Dooruk do you mind taking a look when you have some time? No functionality changes but this may require change in yaml if you use Jb diagnostics and BalanceSOCA variable change in B (see example in 3dvar.yaml for how to adapt yaml and not have any change in results, or 3dvar_lowres.yaml for how to adapt yaml and have only small change in Jb/J computation -- see reference change for that test)

@Dooruk Dooruk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I won't have time to test this, busy with churning out results for the CoupledTT conference and reviewing a paper but looks good with minimal changes in SOCA. Just curious if you compared results with a high-res case?

No worries, we can adapt to any YAML changes thrown our way 😎

!!
!! - forward: deaggregates a 2D analysis of sea-ice and inserts
!! analysis in CICE restarts
!! - inverse: TODO(G), aggregates seaice variables along CICE sea-ice

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yay, one less TODO!

@ytremolet
ytremolet merged commit 477cdf3 into develop Oct 23, 2026
3 of 4 checks passed
@ytremolet
ytremolet deleted the feature/obsolete_inverse_varchange branch October 23, 2026 18:57
jcsda-bot pushed a commit to JCSDA/mpas-jedi that referenced this pull request Oct 23, 2026
TYPE: maintenance

DESCRIPTION OF CHANGES: 

This cleans up mpas-jedi related to removing inverse variable change
interface (this change is not essential, it's just a cleanup).
Here I removed the inverse interfaces from variable and linear variable
changes where applicable (base classes, trait classes and classes where
the inverse was not implemented). I have kept inverses in LinVarChaC2A
class (since they were implemented) for potential use within mpas-jedi.

build-group=JCSDA-internal/oops#3261
build-group=JCSDA-internal/saber#1225
build-group=JCSDA-internal/fv3-jedi#1498
build-group=JCSDA-internal/soca#1236

LIST OF MODIFIED FILES:
M src/mpasjedi/LinearVariableChange/Base/LinearVariableChangeBase.h
M src/mpasjedi/LinearVariableChange/Control2Analysis/LinVarChaC2A.h
M       src/mpasjedi/LinearVariableChange/LinearVariableChange.cc
M       src/mpasjedi/LinearVariableChange/LinearVariableChange.h
M
src/mpasjedi/LinearVariableChange/Model2GeoVars/LinVarChaModel2GeoVars.cc
M
src/mpasjedi/LinearVariableChange/Model2GeoVars/LinVarChaModel2GeoVars.h
M       src/mpasjedi/VariableChange/Base/VariableChangeBase.h
M       src/mpasjedi/VariableChange/Model2GeoVars/VarChaModel2GeoVars.cc
M       src/mpasjedi/VariableChange/Model2GeoVars/VarChaModel2GeoVars.h
M       src/mpasjedi/VariableChange/VariableChange.cc
M       src/mpasjedi/VariableChange/VariableChange.h

TESTS CONDUCTED: built and ran ctests on my mac (orbstack + spack-stack
1.9)

---------

Co-authored-by: Steve Vahl <42982505+svahl991@users.noreply.github.com>
Co-authored-by: Nate Crossette <ncrossette@ucar.edu>
Co-authored-by: Francois Hebert <hebert@ucar.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants