-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Managing om3-peripheral tools #262
Comments
We won't need esmgrids for OM3 post using mom supergrid in cice ACCESS-NRI/CICE#8 I think its worth splitting the list into python tools used routinely when running payu (om3-scripts, make_diag_table, expt_manager) vs stuff used on a more sporadic basis for developing new configurations (e.g. initial conditions and grids). |
https://github.com/COSIMA/regional-mom6 is tangentially related / maybe needs considering in this list |
It's already packaged and available via PyPI and conda-forge. It's the random, interdependent (mostly Python) scripts and modules that keep me awake at night. |
COSIMA/om3-scripts#39 this might overlap with the profiling features in https://github.com/COSIMA/om3-utils, but it provides a simpler and significantly faster approach to handling profiling files. Probably can be added to the above list? |
An initial proposal to start discussions is that we split Package 1: tools used for creating and manipulating OM inputs
Package 2: tools used for profiling ACCESS models
Package 3(/4): tool(s) for running suits of experiments with Payu All these packages should be made available via PyPI/conda and have the usual tests, docs, CI etc |
@dougiesquire Thanks for kick-starting the discussion and for the initial proposal. Regarding package 1, note that the software transformation team needs to have parsers to all relevant files for all models, not only OM3, as we will be profiling and performing scaling tests for all models. As such, I would prefer to split it further and put all the parsing of any relevant configuration files used in the ACCESS models in its own package. That would maximize re-usability, remove duplicated code, and follow a "separation of concerns" approach. As for package 3, I would again separate things further. A lot of what these tools do follow similar patterns and they could be written in terms of generic workflows. For example, many workflows that we have look like this: given a list of values, modify a parameter in the configuration files, run the model with payu and finally do something with the output. Such generic workflows could then be used as building blocks for both the experiment manager and the scalability/profiling tools.
Yes, absolutely. |
The ESMF text-based profiling output is just another type of profiling data and can easily be added to the other existing profiling data parsers that are in om3-utils (or whatever new package those things will be moved to). |
I suppose it could work if their parsing code could be factored out into a general parser package that then becomes a dependency of |
We had a meeting about this. My summary as follows, but obviously please feel free to edit/comment if I've got anything wrong. There is agreement that many small packages with well-defined scope is far better than fewer larger packages. Package scope should take into account functionality, but also who the users are likely to be. We spitballed at least 6 packages/repos:
First cab off the rank is "Package 1" since that will contain code used by a number of other packages. In the first instance, Package 1 will just include the existing parsers (for lack of a better term) in |
We have an ever-growing set of tools that support setting-up/configuring/running ACCESS-OM3. As some tools are now starting to depend on others, we possibly need to revisit how they, and their inter-dependencies, are managed and maintained.
This issues is to compile a list of OM3-peripheral tools and discuss.
Tools
(please add)
The text was updated successfully, but these errors were encountered: