2#include <isce3/core/Constants.h>
3#include <isce3/core/Ellipsoid.h>
4#include <isce3/core/Vector.h>
10inline double dryTropoDelayTSX(
const isce3::core::Vec3& p,
11 const isce3::core::Vec3& llh,
12 const isce3::core::Ellipsoid& ellipsoid)
14 constexpr static double c = isce3::core::speed_of_light;
15 constexpr static double ZPD = 2.3;
16 constexpr static double H = 6000.;
20 auto r_hat = (p - x).normalized();
23 auto n_hat = ellipsoid.
nVector(llh[0], llh[1]).normalized();
26 double cos_theta = r_hat.dot(n_hat);
28 return 2. * ZPD * std::exp(-llh[2] / H) / (c * cos_theta);
CUDA_HOSTDEV void nVector(double lon, double lat, cartesian_t &vec) const
Return normal to the ellipsoid at given lon, lat.
Definition Ellipsoid.h:152
CUDA_HOSTDEV void lonLatToXyz(const cartesian_t &llh, cartesian_t &xyz) const
Transform WGS84 Lon/Lat/Hgt to ECEF xyz.
Definition Ellipsoid.h:178
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5