Skip to content

Commit 78eb30b

Browse files
committed
BUG: Fix off-by-1 (or 2) errors in cet
1 parent b11292d commit 78eb30b

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/calc_electron_temperature.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -558,19 +558,19 @@ std::vector<arma_cube> Ions::calc_electron_neutral_inelastic_collisions(Neutrals
558558
Qvib_N2(iLon, iLat, iAlt) = (1.0 - exp(-3353.0 / ttn)) * exp10(logQv0(0))
559559
* (1.0 - exp(3353.0 * (1.0 / tte - 1.0 / ttn)));
560560
} else if (tte > 1500) {
561+
logQv0 = Av0 + Bv0 * tte + Cv0 * pow(tte, 2) + Dv0 * pow(tte, 3) + Fv0 * pow(tte, 4) - 16.0;
562+
logQv1 = Av1 + Bv1 * tte + Cv1 * pow(tte, 2) + Dv1 * pow(tte, 3) + Fv1 * pow(tte, 4) - 16.0;
563+
561564
for (int iLevel = 0; iLevel < 10; iLevel++) {
562-
logQv0(iLevel) = Av0(iLevel) + Bv0(iLevel) * tte_6000 + Cv0(iLevel) * pow(tte, 2)
563-
+ Dv0(iLevel) * pow(tte, 3) + Fv0(iLevel) * pow(tte, 4) - 16.0;
564-
Qvib_N2(iLon, iLat, iAlt) += (1.0 - exp(-3353.0 / ttn)) * exp10(logQv0(0))
565+
Qvib_N2(iLon, iLat, iAlt) += (1.0 - exp(-3353.0 / ttn)) * exp10(logQv0(iLevel))
565566
* (1.0 - exp((iLevel + 1) * 3353.0 * (1.0 / tte - 1.0 / ttn)));
566567
}
567568

568569
for (int iLevel = 0; iLevel < 8; iLevel++) {
569-
logQv1(iLevel) = Av1(iLevel) + Bv1(iLevel) * tte_6000 + Cv1(iLevel) * pow(tte_6000, 2)
570-
+ Dv1(iLevel) * pow(tte_6000, 3) + Fv1(iLevel) * pow(tte_6000, 4) - 16.0;
570+
// GITM did this loop from 2-9, which is out of bounds, so we correct for iLevel here)
571571
Qvib_N2(iLon, iLat, iAlt) += (1.0 - exp(-3353.0 / ttn)) * exp(-3353.0 / ttn)
572572
* exp10(logQv1(iLevel))
573-
* (1.0 - exp(iLevel * 3353.0 * (1.0 / tte - 1.0 / ttn)));
573+
* (1.0 - exp((iLevel + 2) * 3353.0 * (1.0 / tte - 1.0 / ttn)));
574574
}
575575
}
576576
}

0 commit comments

Comments
 (0)