13ISA_layer(0, 0, 0, 101325, 29.92126, 288.15, 15.00, 0.0065, 0.0019812),
14ISA_layer(1, 11000, 36089, 22632.1, 6.683246, 216.65, -56.50, 0, 0),
15ISA_layer(2, 20000, 65616, 5474.89, 1.616734, 216.65, -56.50, -0.0010, -0.0003048),
16ISA_layer(3, 32000, 104986, 868.019, 0.256326, 228.65, -44.50, -0.0028, -0.0008534),
17ISA_layer(4, 47000, 154199, 110.906, 0.0327506, 270.65, -2.50, 0, 0),
18ISA_layer(5, 51000, 167322, 66.9389, 0.0197670, 270.65, -2.50, 0.0028, 0.0008534),
19ISA_layer(6, 71000, 232939, 3.95642, 0.00116833, 214.65, -58.50, 0.0020, 0.0006096),
20ISA_layer(7, 80000, 262467, 0.88628, 0.000261718, 196.65, -76.50, 0.0, 0.0),
22ISA_layer(8, 1.0e9, 3.28e9, 0.00001, 3.0e-9, 2.73, -270.4, -1.0)
79 cout <<
"PT_vs_hpt: " << hh <<
" " << p0 <<
" " << t0 << endl;
85 cout <<
"PT_vs_hpt: " << ii
86 <<
" height: " << pp->height
87 <<
" temp: " << pp->temp
88 <<
" lapse: " << pp->lapse
92 double lapse = pp->lapse;
96 xhgt = hgt + (t0 - (pp+1)->temp) / lapse;
97 }
else if ((pp+1)->lapse != -1) {
98 xhgt = (pp+1)->height;
101 return make_pair(
P_layer(hh, hgt, p0, t0, lapse),
102 T_layer(hh, hgt, p0, t0, lapse));
104 p0 =
P_layer(xhgt, hgt, p0, t0, lapse);
105 t0 = t0 - lapse * (xhgt - hgt);
110 SG_LOG(SG_ENVIRONMENT, SG_ALERT,
"PT_vs_hpt: ran out of layers for h=" << hh );
111 return make_pair(d0, d0);
323 snprintf(buf, bs,
"Tref: %6.2f Psl: %5.0f = %7.4f",
324 Tref, Psl, Psl /
inHg);
328 " %6s %6s %6s %6s %6s %6s %6s",
329 "A",
"Aind",
"Apr",
"Aprind",
"P",
"Psl",
"Qnh");
332 double hgts[] = {0, 2500, 5000, 7500, 10000, -9e99};
333 for (
int ii = 0; ; ii++) {
334 double hgt_ft = hgts[ii];
335 double hgt = hgt_ft *
foot;
339 double qnhx =
QNH(hgt, press) /
inHg;
340 double qnh2 = SGMiscd::round(qnhx*100)/100;
342 double p_inHg = press /
inHg;
347 " %6.0f %6.0f %6.0f %6.0f %6.2f %6.2f %6.2f",
348 hgt_ft, hind, Apr, Aprind, p_inHg, Psl/
inHg, qnh2);
double P_layer(const double height, const double href, const double Pref, const double Tref, const double lapse)
double P_layer(const double height, const double href, const double Pref, const double Tref, const double lapse)
static double ISATemperatureKAtAltitudeFt(const double alt, const double Tsl=atmodel::ISA::T0)
Compute the outisde temperature at an altitude, according to the standard atmosphere model.