MPAS-Dev / MPAS-Tools

MPAS Tools Repository
Other
37 stars 63 forks source link

Add a custom `MpasConfigParser` #460

Closed xylar closed 2 years ago

xylar commented 2 years ago

This is a combination of the config parser from compass and MPAS-Analysis.

The documentation has been updated to include this feature.

xylar commented 2 years ago

Testing

I have branches for using this in compass and MPAS-Analysis.

I have successfully run the ocean nightly test suite on Anvil with the MpasConfigParser using the first branch. I am in the process of running and debugging MPAS-Analysis using the test suite on Anvil. I will update this comment as soon as those tests are passing and the resulting config file looks as expected.

Update: the MPAS-Analysis branch is now also working: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.xylar/analysis_testing/anvil/use_mpas_config_parser/

xylar commented 2 years ago

@matthewhoffman, I moved the CompassConfigParser over to MPAS-Tools and renamed it MpasConfigParser. I added a bit of functionality (getexpression() and copy() methods) that has been useful in MPAS-Analysis. This will let me use the same config parser for both, and get the really great provenance you suggested in MPAS-Analysis, too!

I don't think you need to review this unless you want to. I just wanted to make you aware of it.

xylar commented 2 years ago

@matthewhoffman, are you okay with this change, conceptually? If so, I will go ahead with merging this and making a 0.14.0 release for use in both MPAS-Analysis and compass. You can help test further once that happens?

matthewhoffman commented 2 years ago

@xylar , thanks for pointing this out. I agree that maintaining a single config parser that works for both COMPAS and MPAS-Analysis is a good idea. And presumably it is a module that requires only infrequent updating, so having it live in MPAS-Tools is not a limitation to working with it in either package. I'm happy for you to proceed and to call on me for input as needed.

xylar commented 2 years ago

Thanks @matthewhoffman, I appreciate it. I just didn't want to act unilaterally.