Ginan
Loading...
Searching...
No Matches
ionoSpherical.cpp File Reference

Data Structures

struct  SphBasis
 

Functions

int configIonModelSphhar (Trace &trace)
 configures the spherical harmonics model.
 
bool ippCheckSphhar (GTime time, VectorPos &ionPP)
 rotates the Ionosphere piercing point time: I time of observations (to update the rotation matrix) IPP: I Ionospheric piercing point to be updated
 
double ionCoefSphhar (Trace &trace, int ind, IonoObs &obs, bool slant)
 Evaluates spherical harmonics basis functions int ind I obs I Ionosphere measurement struct latIPP - Latitude of Ionosphere Piercing Point lonIPP - Longitude of Ionosphere Piercing Point angIPP - Angular gain for Ionosphere Piercing Point.
 
double ionVtecSphhar (Trace &trace, GTime time, VectorPos &ionPP, int layer, double &var, KFState &kfState)
 Estimate Ionosphere VTEC using Spherical Cap Harmonic models gtime_t time I time of solutions (not useful for this one Ion_pp I Ionosphere Piercing Point layer I Layer number vari O variance of VTEC.
 
void ionOutputSphcal (Trace &trace, KFState &kfState)
 
bool getEpcSsrIono (Trace &trace, GTime time, SSRAtmGlobal &atmGlob, Vector3d &rRec, AzEl &azel, double &iono, double &var)
 
bool getIGSSSRIono (Trace &trace, GTime time, SSRAtm &ssrAtm, Vector3d &rRec, AzEl &azel, double &iono, double &var)
 

Function Documentation

◆ configIonModelSphhar()

int configIonModelSphhar ( Trace & trace)

configures the spherical harmonics model.

Specifically it initializes: shar_valid time validity of a rotation matrix (the rotation matrix will chase the sun position) Sph_Basis_list List of ionosphere basis time: I time of observations (to update the rotation matrix) IPP: I Ionospheric piercing point to be updated

Since the spherical harmonic model has global validity, the check always return 1

Author: Ken Harima @ RMIT 29 July 2020

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

◆ getEpcSsrIono()

bool getEpcSsrIono ( Trace & trace,
GTime time,
SSRAtmGlobal & atmGlob,
Vector3d & rRec,
AzEl & azel,
double & iono,
double & var )
Parameters
traceDebug trace
timetime of ionosphere correction
atmGlobSSR atmospheric correction
rRecreceiver position
azelSatellite azimuth and elevation
ionoIonosphere delay (in TECu)
varIonosphere variance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getIGSSSRIono()

bool getIGSSSRIono ( Trace & trace,
GTime time,
SSRAtm & ssrAtm,
Vector3d & rRec,
AzEl & azel,
double & iono,
double & var )
Parameters
traceDebug trace
timetime of ionosphere correction
ssrAtmSSR atmospheric correction
rRecreceiver position
azelreceiver position
ionoIonosphere delay (in TECu)
varIonosphere variance
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionCoefSphhar()

double ionCoefSphhar ( Trace & trace,
int ind,
IonoObs & obs,
bool slant )

Evaluates spherical harmonics basis functions int ind I obs I Ionosphere measurement struct latIPP - Latitude of Ionosphere Piercing Point lonIPP - Longitude of Ionosphere Piercing Point angIPP - Angular gain for Ionosphere Piercing Point.

int slant I 0: coefficient for VTEC, 1: coefficient for STEC

Parameters
indBasis function number
obsIonospheric observation metadata
slantapply slant factor, false: coefficient for VTEC, true: coefficient for STEC
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionOutputSphcal()

void ionOutputSphcal ( Trace & trace,
KFState & kfState )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ionVtecSphhar()

double ionVtecSphhar ( Trace & trace,
GTime time,
VectorPos & ionPP,
int layer,
double & var,
KFState & kfState )

Estimate Ionosphere VTEC using Spherical Cap Harmonic models gtime_t time I time of solutions (not useful for this one Ion_pp I Ionosphere Piercing Point layer I Layer number vari O variance of VTEC.

returns: VETC at piercing point

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

◆ ippCheckSphhar()

bool ippCheckSphhar ( GTime time,
VectorPos & ionPP )

rotates the Ionosphere piercing point time: I time of observations (to update the rotation matrix) IPP: I Ionospheric piercing point to be updated

Since the spherical harmonic model has global validity, the check always return 1

Author: Ken Harima @ RMIT 29 July 2020

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