File: multiple_orient_unit.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 (106 lines) | stat: -rw-r--r-- 2,646 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
.. ifconfig:: calcephapi in ('C')

    ::

         int j;
         double jd0=2442457;
         double dt1=0.5E0;
         t_calcephbin *peph;
         double PV[6];
 
         /* open the ephemeris file */
         peph = calceph_open("example1.dat");
         if (peph)
         {
           calceph_prefetch(peph);
   
           calceph_orient_unit(peph, jd0, dt1, NAIFID_MOON,
                                CALCEPH_USE_NAIFID+CALCEPH_UNIT_RAD
                                +CALCEPH_UNIT_SEC, 
                                PV);
           for(j=0; j<6; j++) printf("%23.16E\n", PV[j]);

           /* close the ephemeris file */
           calceph_close(peph);
         }


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

    ::
    
           integer res
           real(8) jd0
           real(8) dt1
           real(8) PV(6)
           TYPE(C_PTR) :: peph
           
           jd0 = 2442457
           dt1 = 0.5D0
           peph = calceph_open("example1.dat"//C_NULL_CHAR)
           if (C_ASSOCIATED(peph)) then
 
              res = calceph_orient_unit(peph,jd0, dt1, NAIFID_MOON, 
           &                            CALCEPH_USE_NAIFID+CALCEPH_UNIT_RAD+CALCEPH_UNIT_SEC,
           &                            PV)
              write(*,*) PV

               call calceph_close(peph)
            endif


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

    ::
    
           integer*8 peph
           integer res
           double precision jd0
           double precision dt1
           double precision PV(6)
           
           jd0 = 2442457
           dt1 = 0.5D0
           res = f90calceph_open(peph, "example1.dat")
           if (res.eq.1) then

             res = f90calceph_orient_unit(peph,jd0, dt1, NAIFID_MOON,
           &                              CALCEPH_USE_NAIFID+CALCEPH_UNIT_RAD+CALCEPH_UNIT_SEC,
           &                              PV)
             write(*,*) PV

             call f90calceph_close(peph)
           endif


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

    ::
    
        from calcephpy import *
        
        jd0=2442457
        dt=0.5E0
        
        peph = CalcephBin.open("example1.dat")

        PV = peph.orient_unit(jd0, dt, NaifId.MOON,
                              Constants.USE_NAIFID+Constants.UNIT_RAD+Constants.UNIT_SEC)
        print(PV)
    
        peph.close()


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

    ::
    
        jd0=2442457
        dt=0.5E0
        
        peph = CalcephBin.open('example1.dat');

        PV = peph.orient_unit(jd0, dt, NaifId.MOON,
                              Constants.USE_NAIFID+Constants.UNIT_RAD+Constants.UNIT_SEC)
        peph.close();