Summary
JAFF substitutes each parsed KIDA rate's tgas with the row's
Tmin/Tmax-clipped value. Athena++ floors the gas temperature globally with
temp_min_rates_, but by default does not clip two-body rates to each row's
temperature range.
Assuming Athena++ is correct, JAFF changes GOW rates outside their tabulated
temperature ranges.
Affected Behavior
This affects ordinary KIDA rows that rely on parsed formula 3, 4, or 5 rates,
for example the non-special two-body GOW reactions with finite temperature
ranges.
The collapsed ID 30 row in networks/GOW/GOW.jet is not separately semantic
because Athena's two source rows use identical coefficients. The semantic
difference is the JAFF temperature clipping applied to parsed rates.
Reference Behavior
Athena++ defaults:
is_Tcap_2body_ = false;
temp_min_rates_ = 1.;
With the default, Athena++ computes ordinary two-body rates from the floored
gas temperature T, not from each row's clipped Tcap.
Current JAFF Behavior
JAFF builds a local substitution:
local_subs_dict[tgas] = Max(Min(tgas, tmax), tmin)
whenever parsed KIDA rows have finite temperature bounds.
Proposed Patch
Add an explicit temperature-policy option for KIDA parsing, with an
Athena-compatible policy for GOW:
temperature_policy = "athena"
Under the Athena-compatible policy:
- do not apply per-row
Tmin/Tmax clipping unless requested;
- apply a global
Max(tgas, temp_min_rates) floor, defaulting to 1.0 K;
- keep the existing per-row clipping available for users who want the current
JAFF behavior.
Add tests that compare a bounded GOW formula-3 row below Tmin and above
Tmax against the Athena-style extrapolated expression.
Acceptance Criteria
- GOW can be loaded in Athena-compatible mode without per-row clipping.
- The default choice is documented clearly.
- Existing users can still opt into the old clipped-rate behavior.
Summary
JAFF substitutes each parsed KIDA rate's
tgaswith the row'sTmin/Tmax-clipped value. Athena++ floors the gas temperature globally withtemp_min_rates_, but by default does not clip two-body rates to each row'stemperature range.
Assuming Athena++ is correct, JAFF changes GOW rates outside their tabulated
temperature ranges.
Affected Behavior
This affects ordinary KIDA rows that rely on parsed formula 3, 4, or 5 rates,
for example the non-special two-body GOW reactions with finite temperature
ranges.
The collapsed ID 30 row in
networks/GOW/GOW.jetis not separately semanticbecause Athena's two source rows use identical coefficients. The semantic
difference is the JAFF temperature clipping applied to parsed rates.
Reference Behavior
Athena++ defaults:
With the default, Athena++ computes ordinary two-body rates from the floored
gas temperature
T, not from each row's clippedTcap.Current JAFF Behavior
JAFF builds a local substitution:
whenever parsed KIDA rows have finite temperature bounds.
Proposed Patch
Add an explicit temperature-policy option for KIDA parsing, with an
Athena-compatible policy for GOW:
Under the Athena-compatible policy:
Tmin/Tmaxclipping unless requested;Max(tgas, temp_min_rates)floor, defaulting to1.0 K;JAFF behavior.
Add tests that compare a bounded GOW formula-3 row below
Tminand aboveTmaxagainst the Athena-style extrapolated expression.Acceptance Criteria