MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_atmos.h File Reference

MRTKLIB Atmosphere Module — Ionospheric and tropospheric models. More...

Include dependency graph for mrtk_atmos.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

double ionmodel (gtime_t t, const double *ion, const double *pos, const double *azel)
 Compute ionospheric delay by broadcast ionosphere model (Klobuchar).
double ionmapf (const double *pos, const double *azel)
 Compute ionospheric delay mapping function by single layer model.
double ionppp (const double *pos, const double *azel, double re, double hion, double *posp)
 Compute ionospheric pierce point (IPP) position and slant factor.
double tropmodel (gtime_t time, const double *pos, const double *azel, double humi)
 Compute tropospheric delay by standard atmosphere and Saastamoinen.
double tropmapf (gtime_t time, const double *pos, const double *azel, double *mapfw)
 Compute tropospheric mapping function by NMF.
int ionocorr (gtime_t time, const nav_t *nav, int sat, const double *pos, const double *azel, int ionoopt, double *ion, double *var)
 Compute ionospheric correction.
int tropcorr (gtime_t time, const nav_t *nav, const double *pos, const double *azel, int tropopt, double *trp, double *var)
 Compute tropospheric correction.

Detailed Description

MRTKLIB Atmosphere Module — Ionospheric and tropospheric models.

This header provides broadcast ionosphere (Klobuchar) model, ionospheric mapping function, ionospheric pierce point computation, tropospheric (Saastamoinen) model, and tropospheric mapping function (NMF/GMF).

Note
All functions in this module are pure cut-and-paste extractions from rtkcmn.c with zero algorithmic changes.

Definition in file mrtk_atmos.h.

Function Documentation

◆ ionmapf()

double ionmapf ( const double * pos,
const double * azel )

Compute ionospheric delay mapping function by single layer model.

Parameters
[in]posReceiver position {lat,lon,h} (rad,m)
[in]azelAzimuth/elevation angle {az,el} (rad)
Returns
Ionospheric mapping function

Definition at line 114 of file mrtk_atmos.c.

References HION, PI, and RE_WGS84.

Referenced by ddres(), ddres(), and ddres().

Here is the caller graph for this function:

◆ ionmodel()

double ionmodel ( gtime_t t,
const double * ion,
const double * pos,
const double * azel )

Compute ionospheric delay by broadcast ionosphere model (Klobuchar).

Parameters
[in]tTime (GPST)
[in]ionIono model parameters {a0,a1,a2,a3,b0,b1,b2,b3}
[in]posReceiver position {lat,lon,h} (rad,m)
[in]azelAzimuth/elevation angle {az,el} (rad)
Returns
Ionospheric delay (L1) (m)

Definition at line 63 of file mrtk_atmos.c.

References CLIGHT, norm(), PI, and time2gpst().

Referenced by ionocorr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionocorr()

int ionocorr ( gtime_t time,
const nav_t * nav,
int sat,
const double * pos,
const double * azel,
int ionoopt,
double * ion,
double * var )

Compute ionospheric correction.

Parameters
[in]timeTime
[in]navNavigation data
[in]satSatellite number
[in]posReceiver position {lat,lon,h} (rad|m)
[in]azelAzimuth/elevation angle {az,el} (rad)
[in]ionooptIonospheric correction option (IONOOPT_???)
[out]ionIonospheric delay (L1) (m)
[out]varIonospheric delay (L1) variance (m^2)
Returns
Status (1:ok, 0:error)

Definition at line 310 of file mrtk_atmos.c.

References ERR_BRDCI, ERR_ION, nav_s::ion_gps, nav_s::ion_qzs, ionmodel(), IONOOPT_BRDC, IONOOPT_OFF, IONOOPT_QZS, IONOOPT_SBAS, IONOOPT_TEC, iontec(), norm(), R2D, sbsioncorr(), SQR, time_str(), and trace().

Referenced by rescode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionppp()

double ionppp ( const double * pos,
const double * azel,
double re,
double hion,
double * posp )

Compute ionospheric pierce point (IPP) position and slant factor.

Parameters
[in]posReceiver position {lat,lon,h} (rad,m)
[in]azelAzimuth/elevation angle {az,el} (rad)
[in]reEarth radius (km)
[in]hionAltitude of ionosphere (km)
[out]pospPierce point position {lat,lon,h} (rad,m)
Returns
Slant factor
Note
Only valid on the earth surface.

Definition at line 131 of file mrtk_atmos.c.

References D2R, and PI.

Referenced by iondelay(), and sbsioncorr().

Here is the caller graph for this function:

◆ tropcorr()

int tropcorr ( gtime_t time,
const nav_t * nav,
const double * pos,
const double * azel,
int tropopt,
double * trp,
double * var )

Compute tropospheric correction.

Parameters
[in]timeTime
[in]navNavigation data
[in]posReceiver position {lat,lon,h} (rad|m)
[in]azelAzimuth/elevation angle {az,el} (rad)
[in]tropoptTropospheric correction option (TROPOPT_???)
[out]trpTropospheric delay (m)
[out]varTropospheric delay variance (m^2)
Returns
Status (1:ok, 0:error)

Definition at line 350 of file mrtk_atmos.c.

References ERR_SAAS, ERR_TROP, R2D, REL_HUMI, sbstropcorr(), SQR, time_str(), trace(), tropmodel(), TROPOPT_EST, TROPOPT_ESTG, TROPOPT_OFF, TROPOPT_SAAS, and TROPOPT_SBAS.

Referenced by rescode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tropmapf()

double tropmapf ( gtime_t time,
const double * pos,
const double * azel,
double * mapfw )

Compute tropospheric mapping function by NMF.

Parameters
[in]timeTime
[in]posReceiver position {lat,lon,h} (rad,m)
[in]azelAzimuth/elevation angle {az,el} (rad)
[in,out]mapfwWet mapping function (NULL: not output)
Returns
Dry mapping function
Note
See ref [5] (NMF) and [9] (GMF).

◆ tropmodel()

double tropmodel ( gtime_t time,
const double * pos,
const double * azel,
double humi )

Compute tropospheric delay by standard atmosphere and Saastamoinen.

Parameters
[in]timeTime
[in]posReceiver position {lat,lon,h} (rad,m)
[in]azelAzimuth/elevation angle {az,el} (rad)
[in]humiRelative humidity
Returns
Tropospheric delay (m)

Definition at line 162 of file mrtk_atmos.c.

References PI.

Referenced by corr_trop_distwgt(), corr_trop_plane(), decode_lcltrop(), encode_lcltrop(), tropcorr(), zdres(), and zdres().

Here is the caller graph for this function: