E3SM-Project / Omega

Next generation ocean model within E3SM
https://docs.e3sm.org/Omega/omega
Other
4 stars 5 forks source link

Merge IOField and Metadata into new Omega Field class #122

Closed philipwjones closed 3 months ago

philipwjones commented 3 months ago

This merges the previous IOField and Metadata clases into a single Field class in order to reduce the number of calls needed to register a field. It also:

The changes have been propagated throughout existing code and the documentation has been updated to reflect the change.

Passes tests on Chrysalis/Intel and Frontier (cpu/gpu)

Checklist

philipwjones commented 3 months ago

Thanks @mwarusz . I merged your mods. Regarding the Err code checking, I like checking up the call tree to provide a trace so we know the path to the error in addition to the error itself. To fix the clutter issue, I eventually want to create an error check function call, so that these checks look more like if (checkErr(Err, Msg)) return Err; rather than a 4-line if block.

philipwjones commented 3 months ago

Rebased and re-tested. Will merge this before I leave.