CliMA / CliMA/ClimaUtilities.jl
Make OnlineLogging more flexible
- Dominant language
- Julia
- Stars
- 8
- Forks
- 2
- Avg merge
- 2h 34m
- Merged PRs (30d)
- 1
Description
Currently, the `OnlineLogging` submodule is somewhat inflexible, making it difficult to adopt in other CliMA packages. For example, [`_update!`](https://github.com/CliMA/ClimaUtilities.jl/blob/2a94de9819d18d1dbd94ecaf871a69976603bf50/src/OnlineLogging.jl#L58-L104) requires an `integrator` object that not every model has, and [`report_walltime`](https://github.com/CliMA/ClimaUtilities.jl/blob/2a94de9819d18d1dbd94ecaf871a69976603bf50/src/OnlineLogging.jl#L182-L218) is extremely specific with no options to customize the output. For these reasons, we opted to [design our own custom logger](https://github.com/CliMA/ClimaCoupler.jl/pull/2026) in ClimaCoupler.
Ideally, we could rewrite this submodule to be slightly more abstract. Alternatively, we could scrap it and just accept that each model will have its own custom logging code.
Contributor guide
No contributing guide indexed for this repository
Research direction
Read src/OnlineLogging.jl, especially _update! and report_walltime, then compare their assumptions with the custom logger in the linked ClimaCoupler pull request. Determine whether a reusable abstraction is feasible or whether this submodule should be removed; the issue does not define a concrete implementation or acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- observability-sre
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100