File: t_stec.c

package info (click to toggle)
rtklib 2.4.3%2Bdfsg1-2.1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 41,796 kB
  • sloc: cpp: 51,592; ansic: 50,584; fortran: 987; makefile: 861; sh: 45
file content (85 lines) | stat: -rw-r--r-- 2,568 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*------------------------------------------------------------------------------
* rtklib unit test driver : stec function
*-----------------------------------------------------------------------------*/
#include <stdio.h>
#include <assert.h>
#include "../../src/rtklib.h"

/* dump stec data ------------------------------------------------------------*/
void dump_stec(const nav_t *nav)
{
    int i;
    
    printf("nav.nn=%d\n",nav->nn);
    
    for (i=0;i<nav->nn;i++) {
        printf("(%6d) %s %2d %8.3f %8.3f\n",i+1,time_str(nav->stec->data[i].time,0),
               nav->stec->data[i].sat,nav->stec->data[i].iono,nav->stec->data[i].rms);
    }
}
/* stec_read() ---------------------------------------------------------------*/
void utest1(void)
{
    char *file1="../../util/geniono/iono.txt";
    char *file2="../../util/geniono/iono.stec";
    nav_t nav={0};
    
    printf("file=%s\n",file1);
    stec_read(file1,&nav);
        assert(nav.nn==0);
    
    printf("file=%s\n",file2);
    stec_read(file2,&nav);
        assert(nav.nn>0);
    
#if 0
    dump_stec(&nav);
#endif
    
    printf("%s utest1 : OK\n",__FILE__);
}
/* stec_ion() ----------------------------------------------------------------*/
void utest2(void)
{
    char *file1="../../util/geniono/iono.stec";
    nav_t nav={0};
    gtime_t time1,time2,time3,time4,time5;
    double ep1  []={2012, 1,29, 0, 0, 0}; /* error */
    double ep2  []={2012, 1,29, 0,24,29};
    double ep3  []={2012, 1,29, 3,24,45};
    double ep4  []={2012, 1,29,15, 0, 0};
    double ep5  []={2012, 1,29,23,59,59};
    double pos1 []={ 35.6*D2R, 139.6*D2R,0.0};
    double azel1[]={0.0,0.0};
    double delay,rate,var;
    int sat1=32;
    int stat,brk;
    
    time1=epoch2time(ep1);
    time2=epoch2time(ep2);
    time3=epoch2time(ep3);
    time4=epoch2time(ep4);
    time5=epoch2time(ep5);
    
    stec_read(file1,&nav);
    
    stat=stec_ion(time1,&nav,sat1,pos1,azel1,&delay,&rate,&var,&brk);
        assert(stat==1);
    stat=stec_ion(time2,&nav,sat1,pos1,azel1,&delay,&rate,&var,&brk);
        assert(stat==1);
    stat=stec_ion(time3,&nav,sat1,pos1,azel1,&delay,&rate,&var,&brk);
        assert(stat==1);
    stat=stec_ion(time4,&nav,sat1,pos1,azel1,&delay,&rate,&var,&brk);
        assert(stat==1);
    stat=stec_ion(time5,&nav,sat1,pos1,azel1,&delay,&rate,&var,&brk);
        assert(stat==1);
    
    printf("%s utest2 : OK\n",__FILE__);
}
/* main ----------------------------------------------------------------------*/
int main(int argc, char **argv)
{
    utest1();
    utest2();
    return 0;
}