Inconsistent regex in (at least) datm config_component
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- fortran, xml
- Domain
- build-system
Research direction
Start by comparing the simyear attribute conditions in datm/cime_config/config_component.xml around lines 79-103 and 266-317. Reproduce the two provided compset_name examples and trace the selected DATM_PRESAERO and DATM_YR_START values; done means inconsistent regex matching no longer allows a typo to select mismatched conditioned values.
Written by the indexing model from the issue text.
Description
In some of the xml entries there is no ^ prefixed to simyear in attribute conditions. A user makes a typo in the compset (f.e. they had a bash variable compset_name="I1850Clm60Sp" and than changed its value to a compset longname to f.e. get rid of prognostic ROF: compset_name="1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV" and made a typo, f.e. left I in front of the symyear: compset_name="I1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV". What will happen is variables like DATM_PRESAERO will get deafult_value value, since ^ is present in the attributes there:
https://github.com/ESCOMP/CDEPS/blob/3f7f22d0426ccc1428a1ebfd4357caf90009132a/datm/cime_config/config_component.xml#L79-L103
While things like DATM_YR_START will pick up the correct conditioned value:
In general it should be handled in probably cime by validating the compset's symyear. Which means, that if a user does not check xml variables, he(she) will get correct DATM years but will run with a wrong DATM_PRESAERO, _ PRESNDEP,CO2_TSERIES etc.
- Dominant language
- Fortran
- Stars
- 32
- Forks
- 71
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 2
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ESCOMP/CDEPS
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
CESM Only enhancement question
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
If statements in DATM buildnml wrongly assume False if the value is 0.0May be free again @ekluzek claimed this 42 days ago, and no pull request is open. Openbug Responsibility: CTSM
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Similar issues
-
post-v4
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
openSUSE/rpm-config-SUSE#98 ·
-
Bump calamine to 0.38: RUSTSEC-2026-0436 (CFB/OLE2 panic and unbounded allocation) fails cargo auditOpen
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
docling-project/docling.rs#979 ·
Maintainers usually reply within 1 day
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
JdeRobot/RoboticsInfrastructure#843 ·
Maintainers usually reply within 1 day