Skip to content

add a first draft of D6 - filedicts design#1448

Open
mandresm wants to merge 2 commits intosprint/filedicts/mainfrom
sprint/filedicts/filedicts_design
Open

add a first draft of D6 - filedicts design#1448
mandresm wants to merge 2 commits intosprint/filedicts/mainfrom
sprint/filedicts/filedicts_design

Conversation

@mandresm
Copy link
Contributor

This PR includes a draft for D6 - filedicts design. I have copy/pasted the markdown in the description of issue #1419

@pgierz, please go ahead and review it. Even if I used claude-code to produce it I have put a lot of though into it and revised the old Filedicts project to don't re-think the design from scratch (reuse as much as possible from that project). So hopefully you don't find that the document is LLM-garbage :)

@mandresm mandresm requested a review from pgierz February 25, 2026 08:41
@mandresm mandresm requested a review from seb-wahl March 9, 2026 08:38
Copy link
Member

@pgierz pgierz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. I have some specific comments in some of the sections that may be worth a more detailed discussion.

Overall, fantastic design document. I feel much more prepared in building this well after we have settled on everything :)

Comment on lines +284 to +288
## Retrocompatibility

The new syntax will substitute to the old syntax. The old syntax won't be supported anymore from the new release version. That means that old runscripts referencing the old file lists will have to be changed to work with the new version containing this refactoring. Same goes for the configs, however, the configs' syntax will be changed to the new one as part of this release, and include test runs with esm_tests. Resuming or branching off old simulations will still be possible because the file structure in `exp` won't change.

The users will be informed of such changes.
Copy link
Member

@pgierz pgierz Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻 (actually +100)

If we spent any effort on making this backward compatible, I would vote that it will be in automatically translating and gently telling the user "Hey, I have updated all of your configs" via <translation tool>.

maintaining two syntaxes when the old one is supposed to be replaced sounds like a bad time.


Taken from https://github.com/orgs/esm-tools/projects/12/views/1?pane=issue&itemId=8002017

- One task, one function
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

Taken from https://github.com/orgs/esm-tools/projects/12/views/1?pane=issue&itemId=8002017

- One task, one function
- Do not change the YAML syntax excessively
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes again


- One task, one function
- Do not change the YAML syntax excessively
- Runscripts and config files need minimal changes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure I agree with this one. By nature, some of these changes will "look bloated". they aren't, they are making it more precise.

- One task, one function
- Do not change the YAML syntax excessively
- Runscripts and config files need minimal changes
- Changes should make configs easier to write and understand
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bigger yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants