Conversation
|
@sbrus89, could you give this design a look at some point so we can chat about it when we meet next. Not a rush. |
| 2. *A sidecar descriptions file* (chosen): explicit, validated, and usable by | ||
| other tools; costs a second file that must be kept in step, which the build | ||
| check enforces. |
There was a problem hiding this comment.
I'm not clear on how this would be validated and usable
There was a problem hiding this comment.
Thanks, that was too terse. I rewrote §6.7 in 74c8d97 to show the descriptions file next to the matching Default.yml section, list what the build checks (every option described, no stale entries, defaults satisfy their own allowed values, doc anchors exist), and say what omega_buildnml can do with the allowed values. Also dropped "sidecar" for "companion file".
Posted by Claude Code on @xylar's behalf. The wording above is AI-authored; please check it accordingly.
Record the plan to move the docs from one page per source module to a User Guide, Developer Guide and Technical Guide organized around the questions readers bring, with the design documents kept as a frozen archive. The document surveys MOM6, MITgcm, NEMO, ROMS, Oceananigans and the E3SM component docs, sets out the principles the docs should follow, and settles the mechanisms the structure depends on: a generated configuration reference from a sidecar descriptions file, a BibTeX bibliography, and Polaris-style versioned publication. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Show an example of the companion file next to the matching Default.yml section, list the four consistency checks that fail the documentation build, and say what omega_buildnml can do with the allowed values and ranges. Replace "sidecar" with "companion file" throughout. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
74c8d97 to
8745596
Compare
|
This reorg sounds very logical to me. I'm a little worried about having to carry to Default.yml files, but it seems the best option without touching tons of omega code. A clarification question on the Description in Default.yml - each parameter would have a description? How long can / should these be and can this be split easily over lines? I'd maybe advocate for a short description in that file then a more robust one in the companion file. |
Reviewers read the two-file design as putting descriptions in Default.yml. State that it keeps values only, that the companion file never holds a default so the two cannot disagree about one, and that a description is one or two sentences that YAML folds over lines. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
@vanroekel On the mechanics: a description is aimed at one or two sentences, there's no limit, and YAML folds over as many lines as you like with no escaping or continuation characters: HaloWidth:
description: >-
Number of halo layers around each subdomain. Must be at least 3
so that all baroclinic and higher-order tracer advection terms
can be computed without communication.
type: intOn carrying two files: the companion never holds a default value, so the two can't disagree about one. What it duplicates is the option names and nesting, and that's exactly what the build check compares — a new option in §6.7 now says all of this outright, since it wasn't clear (0949219). Posted by Claude Code on @xylar's behalf. The wording above is AI-authored; please check it accordingly. |
|
Thanks for the explanation and change @xylar |
Reorganize the Omega documentation from one page per source module into a User Guide, Developer Guide and Technical Guide, each answering one kind of question, with the design documents kept as a frozen archive. This draft starts with the design document so the structure and principles can be reviewed before pages move; the reorganization itself will follow on this branch.
The shape is a hybrid: the E3SM User/Developer/Technical Guide triad on the outside, a MOM6-style science spine inside the Technical Guide. The User Guide is organized by task (build, run, configure, I/O, model options), the Developer Guide by what a developer is trying to do (getting started, contributing, framework, model, how-to recipes), and the math moves out of the Developer Guide into the Technical Guide. Section 3 of the design surveys MOM6, MITgcm, NEMO, ROMS, Oceananigans and the E3SM component docs and says what we take from each; section 5 lists the principles a reviewer should hold future doc changes to.
For reviewers to weigh in on:
configs/ConfigDescriptions.yml(section 6.7) rather than from descriptions in the C++Config::getcalls, which stays open as a discussion item.gh-pages, Polaris-style, in this PR (section 6.9).This PR restructures and writes the connective pages only. A real user quick start, running-in-E3SM pages, migrating the governing equations into the Technical Guide, the remaining how-to recipes and tutorials will be placeholders with tracking issues (section 7).
Checklist
Posted by Claude Code on @xylar's behalf. The analysis and wording above are AI-authored; please check them accordingly.
🤖 Generated with Claude Code