Consider aborting with an error if the user tries to set cisminputfile in a branch run
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- fortran
- 领域
- backend
调研方向
Start with the buildnml logic that sets cisminputfile, then read source_glc/glc_InitMod.F90 around the linked lines and check how branch runs handle restart input. The issue proposes aborting when a user override is attempted, but asks whether branch run overrides can be legitimate; clarify that behavior before changing it. Done means branch runs cannot silently initialize from unintended older input, with the behavior verified for the relevant run types.
由索引模型根据 Issue 内容生成。
描述
I'm not positive what the right thing is to do here, but am opening this issue to document a possible failure mode and discuss what should be done.
This emerges from a fully-coupled case run by @gunterl where the model was dying in CTSM at the start of day 2 with the message, "found unexpected non-zero delta mid-year". The problem was that @gunterl created a branch run by cloning the hybrid run that it was branching from, and that hybrid run had set cisminputfile in user_nl_cism, and that setting of cisminputfile was kept in place in the branch run. Although I haven't done a careful diagnosis of how this caused the error, I think I understand what's happening: When the branch run boots up, it initially sends fields to CTSM based on the cpl restart file. But CISM is incorrectly initializing based on the initial conditions in cisminputfile rather than from its restart file. This resets CISM's state to some older initial conditions rather than the correct state for the branch run. Then, when CISM first communicates with the mediator in the run loop - at the end of day 1 - it sends this older state. CTSM sees this change in GLC state at the start of day 2, and this triggers an error condition because CTSM is not expecting to see any area changes mid-year. I'm not positive of this whole sequence of events, but this makes sense to me as a possible chain. If that's right, then note that the abort in CTSM is just a symptom of a bigger issue, which is that CISM was incorrectly re-initialized to the older cisminputfile in this run rather than using the restart file from the case its branching from, which I assume was not intended.
CISM's buildnml has logic that sets cisminputfile to the appropriate CISM restart file in a branch run, but this logic allows the user to override this setting in user_nl_cism. In a restart / continue run, it looks like this cisminputfile setting is ignored, but it looks like the logic for this ignoring is based solely on whether it's a restart / continue run, not a branch run:
Incidentally, this is set to branch in some cases, but it doesn't look like this runtype="branch" setting is ever checked:
It seems like an attempt to override cisminputfile in a branch run is usually a mistake, and so I propose having CISM's buildnml abort with an error if the user tries to do this. I'm not sure the best way to do this. Maybe checking the final cisminputfile against the default value, and aborting if those differ in a branch run? Or are there legitimate cases when a user would want to override cisminputfile in a branch run that need to be allowed? With the current code in CMEPS and CTSM, I believe this will cause problems in any configuration with CTSM, but I suppose could be done in a T compset... but it's not clear to me why you'd want to set up a branch run then.
- 主要语言
- Fortran
- 星标
- 4
- 派生
- 18
- 平均合并
- 3 天 17 小时
- 30 天内合并 PR
- 1
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ESCOMP/CISM-wrapper 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 35/100
ESCOMP/CISM-wrapper#154 ·
-
Coupler Updates for Missing Ablation可能已有人在做 @Katetc 于 17 天前认领。 未关闭
ESCOMP/CISM-wrapper#151 · 1 条评论 · 已指派 1 人 ·
-
ERI_Ly10.f10_f10_mg37.I1850Clm50SpG.derecho_intel.cism-isostasy_period4 Fail in cism_wrap_3.0.0可能重新可做 @Katetc 于 38 天前认领,目前没有进行中的 PR。 未关闭
ESCOMP/CISM-wrapper#148 · 已指派 1 人 ·
-
Update Externals and Tests for CESM3可能重新可做 @Katetc 于 81 天前认领,目前没有进行中的 PR。 未关闭
ESCOMP/CISM-wrapper#145 · 2 条评论 · 已指派 1 人 ·
-
Consistency of Isotopes in Surface Mass Balance from CLM可能重新可做 @Katetc 于 254 天前认领,目前没有进行中的 PR。 未关闭
ESCOMP/CISM-wrapper#136 · 2 条评论 · 已指派 1 人 ·
查看 ESCOMP/CISM-wrapper 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
router-for-me/CLIProxyAPI#7209 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
huggingface/smolagents#3106 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
-
Discovered ports from service discovery are never propagated to modules in Module.load()可能已有人在做 @vishalmore90 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
OWASP/Nettacker#1828 · 1 条评论 ·
维护者通常 1 天内回复
-
`AMSGrad` state starts at `epsilon` instead of zero, so zero gradients move parameters and small gradients are damped可能已有人在做 @parth-patel010 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
FluxML/Optimisers.jl#247 · 1 条评论 ·