Skip to content

GOW Temperature Handling Differs From Athena #87

Description

@BenWibking

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.

Metadata

Metadata

Assignees

Labels

gow-auditGOW audit findings

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions