Changeset 5808 in ntrip for trunk/BNC/src/PPP/pppModel.cpp


Ignore:
Timestamp:
Aug 6, 2014, 11:16:40 AM (10 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/PPP/pppModel.cpp

    r5807 r5808  
    292292  return sumWind[prn.toInt()]; 
    293293}
     294
     295// Tropospheric Model (Saastamoinen)
     296////////////////////////////////////////////////////////////////////////////
     297double t_tropo::delay_saast(const ColumnVector& xyz, double Ele) {
     298
     299  Tracer tracer("bncModel::delay_saast");
     300
     301  if (xyz[0] == 0.0 && xyz[1] == 0.0 && xyz[2] == 0.0) {
     302    return 0.0;
     303  }
     304
     305  double ell[3];
     306  xyz2ell(xyz.data(), ell);
     307  double height = ell[2];
     308
     309  double pp =  1013.25 * pow(1.0 - 2.26e-5 * height, 5.225);
     310  double TT =  18.0 - height * 0.0065 + 273.15;
     311  double hh =  50.0 * exp(-6.396e-4 * height);
     312  double ee =  hh / 100.0 * exp(-37.2465 + 0.213166*TT - 0.000256908*TT*TT);
     313
     314  double h_km = height / 1000.0;
     315 
     316  if (h_km < 0.0) h_km = 0.0;
     317  if (h_km > 5.0) h_km = 5.0;
     318  int    ii   = int(h_km + 1);
     319  double href = ii - 1;
     320 
     321  double bCor[6];
     322  bCor[0] = 1.156;
     323  bCor[1] = 1.006;
     324  bCor[2] = 0.874;
     325  bCor[3] = 0.757;
     326  bCor[4] = 0.654;
     327  bCor[5] = 0.563;
     328 
     329  double BB = bCor[ii-1] + (bCor[ii]-bCor[ii-1]) * (h_km - href);
     330 
     331  double zen  = M_PI/2.0 - Ele;
     332
     333  return (0.002277/cos(zen)) * (pp + ((1255.0/TT)+0.05)*ee - BB*(tan(zen)*tan(zen)));
     334}
     335
Note: See TracChangeset for help on using the changeset viewer.