File: multiple_getconstantvs.rst

package info (click to toggle)
calceph 4.0.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 15,944 kB
  • sloc: ansic: 21,414; fortran: 4,054; python: 1,569; sh: 197; makefile: 5
file content (92 lines) | stat: -rw-r--r-- 2,891 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
86
87
88
89
90
91
92
.. ifconfig:: calcephapi in ('C')

    ::

         int nvalue, k;
         t_calcephcharvalue *mission_units;
         t_calcephbin *peph;
 
         /* open the ephemeris file */
         peph = calceph_open("example1.dat");
         if (peph)
         {
           /* get the number of values */
           int nvalue = calceph_getconstantvs(peph, "MISSION_UNITS", NULL, 0);
           mission_units = (t_calcephcharvalue*)malloc(sizeof(t_calcephcharvalue)*nvalue);
           
           /* fill  the array radii */
           if (calceph_getconstantvs(peph, "MISSION_UNITS", mission_units, nvalue))
           { 
               for (k=0; k<nvalue; k++)
               printf("MISSION_UNITS(%d)=%s\n", k, mission_units[k]);
           } 
           free(mission_units);
           /* close the ephemeris file */
           calceph_close(peph);
         }


.. ifconfig:: calcephapi in ('F2003')

    ::
    
           integer res, nvalue
           character(len=CALCEPH_MAX_CONSTANTVALUE, kind=C_CHAR) svalue
           character(len=CALCEPH_MAX_CONSTANTVALUE, kind=C_CHAR), allocatable :: mission_units
           TYPE(C_PTR) :: peph
           
           peph = calceph_open("example1.dat"//C_NULL_CHAR)
           if (C_ASSOCIATED(peph)) then
                ! get the number of values 
                nvalue = calceph_getconstantss(peph, "MISSION_UNITS"//C_NULL_CHAR, svalue)
                ! fill the array
                allocate(mission_units(1:nvalue))
                res = calceph_getconstantvs(peph, "MISSION_UNITS"//C_NULL_CHAR, mission_units, nvalue)
                write(*,*) mission_units
                deallocate(mission_units)

               call calceph_close(peph)
            endif


.. ifconfig:: calcephapi in ('F90')

    ::
    
           integer*8 peph
           integer res, nvalue
           character(len=CALCEPH_MAX_CONSTANTVALUE), allocatable :: mission_units
           character(len=CALCEPH_MAX_CONSTANTVALUE) svalue
           
           res = f90calceph_open(peph, "example1.dat")
           if (res.eq.1) then
                ! get the number of values 
                nvalue = calceph_getconstantss(peph, "MISSION_UNITS", svalue)
                ! fill the array
                allocate(mission_units(1:nvalue))
                res = calceph_getconstantvs(peph, "MISSION_UNITS", mission_units, nvalue)
                write(*,*) mission_units
 
             call f90calceph_close(peph)
           endif


.. ifconfig:: calcephapi in ('Python')

    ::
    
        from calcephpy import *
        
        peph = CalcephBin.open("example1.dat")
        mission_units = peph.getconstantvs("MISSION_UNITS")
        print(mission_units)
        peph.close()

.. ifconfig:: calcephapi in ('Mex')

    ::
    
        peph = CalcephBin.open('example1.dat');
        mission_units = peph.getconstantvs('MISSION_UNITS')
        peph.close();