You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
patch in the framework's `ccp_model_const_table_lock`) makes QPC4 reproduce the
67
67
ccpp-prebuild baseline **bit-for-bit** (cprnc: all fields identical). This
68
-
isolates constituent ordering as the *sole* cause. Patch (file `ccpp_constituent_prop_mod.F90.patch` in the top-level directory of the `feature/capgen-ng` ccpp-framework branch):
68
+
isolates constituent ordering as the *sole* cause. See section "Artifacts"
69
+
below for the full patch.
69
70
71
+
## Assessment — neither order is "wrong"
72
+
73
+
Both builds register the same constituents with identical properties; the
74
+
ordering is not physically meaningful, and the resulting solutions are
75
+
roundoff-equivalent and both physically correct. The b4b failure reflects only
76
+
that capgen-ng's (arbitrary) order differs from the (equally arbitrary) order
77
+
the capgen baseline happened to produce.
78
+
79
+
## Decision requested
80
+
81
+
To resolve QPC4 (and any other case sensitive to constituent order), we propose:
82
+
83
+
1. Give capgen-ng a **deterministic, documented** constituent-registration order
84
+
(e.g. water vapor first, with a clear rule for how constituents land in the
85
+
array) — replacing today's hash-bucket order.
86
+
2. Adopt the new documented order and **re-baseline** the affected CAM-SIMA cases once.
87
+
88
+
The temporary proof patch will be removed once the path is agreed.
89
+
90
+
## Artifacts
91
+
92
+
-**Patch:** Stored as `ccpp_constituent_prop_mod.F90.patch` in the top-level
93
+
directory of the `feature/capgen-ng` ccpp-framework branch):
70
94
```
71
95
--- capgen-ng/src/ccpp_constituent_prop_mod.F90
72
96
+++ capgen-ng/src/ccpp_constituent_prop_mod.F90
@@ -116,36 +140,7 @@ isolates constituent ordering as the *sole* cause. Patch (file `ccpp_constituent
116
140
index_const = index_const + 1
117
141
if (index_const > num_vars) then
118
142
```
119
-
120
-
## Assessment — neither order is "wrong"
121
-
122
-
Both builds register the same constituents with identical properties; the
123
-
ordering is not physically meaningful, and the resulting solutions are
124
-
roundoff-equivalent and both physically correct. The b4b failure reflects only
125
-
that capgen-ng's (arbitrary) order differs from the (equally arbitrary) order
126
-
the capgen baseline happened to produce.
127
-
128
-
## Decision requested
129
-
130
-
To resolve QPC4 (and any other case sensitive to constituent order), we propose:
131
-
132
-
1. Give capgen-ng a **deterministic, documented** constituent-registration order
133
-
(e.g. water vapor first, with a clear rule for how constituents land in the
134
-
array) — replacing today's hash-bucket order.
135
-
2. Adopt the new documented order and **re-baseline** the affected CAM-SIMA cases once.
136
-
137
-
The temporary proof patch will be removed once the path is agreed.
138
-
139
-
## Artifacts
140
-
141
-
-**Patch (git diff):**`<FILL IN: path to the .patch / repo+commit>` —
0 commit comments