-
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 |
@micaeljtoliveira, @manodeep, @chrisb13, thoughts/opinions? |
@dougiesquire I don't like it either, but not sure I can propose something better. Reading again the description of the proposed packages, I realise we don't really have a place to put parsers that handle the text based output of the models. Not sure how much we could/would extract from the run logs, but they do contain potentially useful information. Maybe one could simply bundle such parsers with the input ones and then just call the package |
Fine with me. Any objections to |
I like access-parsers better as a name. One separate consideration comes to mind - would it be worthwhile to add some extra word to repo-names to highlight which repos are primarily internal facing (and that APIs/directory layout might change at the drop of a hat)? For example, adding “dev” in the repo name or something to that effect |
Are the parsers specific to nuopc/cmeps based models? e.g. |
No, we will also include OASIS-based models, like ESM1.6 and OM2. |
Thanks for taking this forward @dougiesquire.
On this earlier post's content. What is the thinking for |
Thanks all. I'll set up the initial
I thought that's what was agreed in the meeting. Making it its own package fits with our preference for many small packages with well-defined scope. |
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: