code as of Jan 2010:
double Airmass = 1.0 / sinAltitude;
double Tamb = 270; // Ambient temperature (260 - 280 K)
double eta_feed = 0.95; // forward efficiency
double Trx = ReceiverTemperature.getReceiverTemperature(frequencyGHz);
Data tmp = atbl.lookup((float)frequencyGHz, wvindex);
if (tmp == null)
return 1.e9; // Screwy number equivalent to "no receiver"
double Tatm = tmp.getTatm();
double tau_zero = tmp.getTau();
double f = Math.exp(tau_zero * Airmass);
double Tcmb = 2.725; // [K]
Trx = planck(frequencyGHz, Trx);
Tatm = planck(frequencyGHz, Tatm);
Tamb = planck(frequencyGHz, Tamb);
double Tsys =
(Trx
+ Tatm
* eta_feed
* (1.0 - 1 / f)
+ Tamb * (1.0 - eta_feed));
// GHz, K
Tsys = f * Tsys + Tcmb;
comment Dec 2009:
In the ETC what is labelled "Tatm" should be called "Tsky",
Tatm is generally understood as the physical temperature of the air column.
I don't understand the algorithm for calculating Tsys. At fixed frequency 91 GHz,
I vary the water vapour content which changes the opacity.
The ETC returns the following results:
mmH20 tau "Tatm" Tsys
5.186 .047 14.713 54.717
2.738 .030 10.473 53.184
.4722 .016 6.807 52.053
I think I understand the variation of tau and "Tatm" as the sum of a thermal
component and the wing of the O2 lines, keeping tau and Tatm above 0 with no mmH20.
But the span of "Tatm" is 7.9 K, so Tsys should vary by at least
this much, since Tsys = (Trcvr+"Tatm")/e^(-tau), no? So I'm puzzled.