CliMA / CliMA/ClimaUtilities.jl

Make OnlineLogging more flexible

Open
#237 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.