MRTKLIB 0.7.14
Modernized GNSS Positioning Library
Loading...
Searching...
No Matches
mrtk_ionex.h
Go to the documentation of this file.
1/*------------------------------------------------------------------------------
2 * mrtk_ionex.h : IONEX TEC grid functions
3 *
4 * Copyright (C) 2026 H.SHIONO (MRTKLIB Project)
5 * Copyright (C) 2023-2025 Cabinet Office, Japan
6 * Copyright (C) 2024-2025 Lighthouse Technology & Consulting Co. Ltd.
7 * Copyright (C) 2023-2025 Japan Aerospace Exploration Agency
8 * Copyright (C) 2023-2025 TOSHIBA ELECTRONIC TECHNOLOGIES CORPORATION
9 * Copyright (C) 2015- Mitsubishi Electric Corp.
10 * Copyright (C) 2014 Geospatial Information Authority of Japan
11 * Copyright (C) 2014 T.SUZUKI
12 * Copyright (C) 2007-2023 T.TAKASU
13 *
14 * SPDX-License-Identifier: BSD-2-Clause
15 *----------------------------------------------------------------------------*/
16/**
17 * @file mrtk_ionex.h
18 * @brief MRTKLIB IONEX Module — IONEX ionospheric TEC map I/O and interpolation.
19 *
20 * This header declares the IONEX-related functions extracted from rtklib.h
21 * with zero algorithmic changes.
22 *
23 * @note Functions declared here are implemented in mrtk_ionex.c.
24 */
25#ifndef MRTK_IONEX_H
26#define MRTK_IONEX_H
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#include "mrtklib/mrtk_nav.h"
33#include "mrtklib/mrtk_time.h"
34
35/*============================================================================
36 * IONEX Functions
37 *===========================================================================*/
38
39/**
40 * @brief Read IONEX ionospheric TEC grid file.
41 * @param[in] file IONEX TEC grid file path (wild-card * expanded)
42 * @param[in,out] nav Navigation data (tec grid data appended)
43 * @param[in] opt Read option (1: no clear of old TEC data, 0: clear)
44 */
45void readtec(const char* file, nav_t* nav, int opt);
46
47/**
48 * @brief Compute ionospheric delay by TEC grid data.
49 * @param[in] time Time (GPST)
50 * @param[in] nav Navigation data (with TEC grid)
51 * @param[in] pos Receiver position {lat,lon,h} (rad,m)
52 * @param[in] azel Azimuth/elevation angle {az,el} (rad)
53 * @param[in] opt Model option (bit 0: 0=E-layer, 1=F2-layer;
54 * bit 1: 0=single-layer, 1=modified single-layer)
55 * @param[out] delay Ionospheric delay (L1) (m)
56 * @param[out] var Ionospheric delay variance (L1) (m^2)
57 * @return Status (1:ok, 0:error)
58 */
59int iontec(gtime_t time, const nav_t* nav, const double* pos, const double* azel, int opt, double* delay, double* var);
60
61#ifdef __cplusplus
62}
63#endif
64
65#endif /* MRTK_IONEX_H */
struct nav_s nav_t
Definition mrtk_eph.h:40
void readtec(const char *file, nav_t *nav, int opt)
Read IONEX ionospheric TEC grid file.
Definition mrtk_ionex.c:301
int iontec(gtime_t time, const nav_t *nav, const double *pos, const double *azel, int opt, double *delay, double *var)
Compute ionospheric delay by TEC grid data.
Definition mrtk_ionex.c:481
MRTKLIB Navigation Module — Navigation data types and satellite/nav utility functions.
MRTKLIB Time Module — GNSS time types and conversion functions.
GNSS time representation.
Definition mrtk_time.h:49