MISR Toolkit  1.5.1
MisrOrbitPath.h
Go to the documentation of this file.
1 /*===========================================================================
2 = =
3 = MisrOrbitPath =
4 = =
5 =============================================================================
6 
7  Jet Propulsion Laboratory
8  MISR
9  MISR Toolkit
10 
11  Copyright 2005, California Institute of Technology.
12  ALL RIGHTS RESERVED.
13  U.S. Government Sponsorship acknowledged.
14 
15 ============================================================================*/
16 
17 #ifndef MISRORBITPATH_H
18 #define MISRORBITPATH_H
19 
20 #include "MisrSetRegion.h"
21 #include "MisrError.h"
22 
23 /* P(Nref) is the path number corresponding to a reference
24  orbit number Nref. It is assumed that Nref is the earliest
25  orbit for which (a) the orbit has stabliized and (b) we
26  would be interested in looking at data. */
27 
28 /*static const int Nref = 1100;*/
29 
30 /* J(Nref) is the Julian date corresponding to the start of
31  orbit Nref, or alternatively, the GMT date and time of
32  the start of orbit Nref, fromwhich J(Nref) can be calculated. */
33 
34 /* Start of orbit 1100 is 2000-03-02 21:14:00 */
35 /*static const double JNref = 2451606.38472;*/
36 
37 /* Orbit Start Times */
38 #define MISR_ORBIT_REF_995 2451599.189583333 /* 995 24 Feb 2000 16:33:00 */
39 #define MISR_ORBIT_REF_DT 1000
40 #define MISR_ORBIT_REF { \
41  2451599.51744, /* 1000 25 Feb 2000 00:25:07 */ \
42  2451668.18819, /* 2000 3 May 2000 16:31 */ \
43  2451736.85764, /* 3000 11 Jul 2000 08:35 */ \
44  2451805.52639, /* 4000 18 Sep 2000 00:38 */ \
45  2451874.19514, /* 5000 25 Nov 2000 16:41 */ \
46  2451942.86389, /* 6000 2 Feb 2001 08:44 */ \
47  2452011.53194, /* 7000 12 Apr 2001 00:46 */ \
48  2452080.2, /* 8000 19 Jun 2001 16:48 */ \
49  2452148.86875, /* 9000 27 Aug 2001 08:51 */ \
50  2452217.53681, /* 10000 4 Nov 2001 00:53 */ \
51  2452286.20486, /* 11000 11 Jan 2002 16:55 */ \
52  2452354.87361, /* 12000 21 Mar 2002 08:58 */ \
53  2452423.54306, /* 13000 29 May 2002 01:02 */ \
54  2452492.2125, /* 14000 5 Aug 2002 17:06 */ \
55  2452560.88194, /* 15000 13 Oct 2002 09:10 */ \
56  2452629.55139, /* 16000 21 Dec 2002 01:14 */ \
57  2452698.22083, /* 17000 27 Feb 2003 17:18 */ \
58  2452766.88958, /* 18000 7 May 2003 09:21 */ \
59  2452835.55903, /* 19000 15 Jul 2003 01:25 */ \
60  2452904.22847, /* 20000 21 Sep 2003 17:29 */ \
61  2452972.89861, /* 21000 29 Nov 2003 09:34 */ \
62  2453041.56806, /* 22000 6 Feb 2004 01:38 */ \
63  2453110.2375, /* 23000 14 Apr 2004 17:42 */ \
64  2453178.90694, /* 24000 22 Jun 2004 09:46 */ \
65  2453247.57569, /* 25000 30 Aug 2004 01:49 */ \
66  2453316.24514, /* 26000 6 Nov 2004 17:53 */ \
67  2453384.91528, /* 27000 14 Jan 2005 09:58 */ \
68  2453453.58472, /* 28000 24 Mar 2005 02:02 */ \
69  2453522.25417, /* 29000 31 May 2005 18:06 */ \
70  2453590.92361, /* 30000 8 Aug 2005 10:10 */ \
71  2453659.59306, /* 31000 16 Oct 2005 02:14 */ \
72  2453728.2625, /* 32000 23 Dec 2005 18:18 */ \
73  2453796.93194, /* 33000 2 Mar 2006 10:22 */ \
74  2453865.60139, /* 34000 10 May 2006 02:26 */ \
75  2453934.27152, /* 35000 17 Jul 2006 18:31 */ \
76  2454002.94097, /* 36000 24 Sep 2006 10:35 */ \
77  2454071.61042, /* 37000 2 Dec 2006 02:39 */ \
78  2454140.28055, /* 38000 9 Feb 2007 18:44 */ \
79  2454208.95, /* 39000 17 Apr 2007 10:48 */ \
80  2454277.61944, /* 40000 26 Jun 2007 02:52 */ \
81  2454346.28889, /* 41000 2 Sep 2007 18:56 */ \
82  2454414.95833, /* 42000 10 Nov 2007 11:00 */ \
83  2454483.62778, /* 43000 18 Jan 2008 03:04 */ \
84  2454552.29722, /* 44000 26 Mar 2008 19:08 */ \
85  2454620.96736, /* 45000 3 Jun 2008 11:13 */ \
86  2454689.63681, /* 46000 11 Aug 2008 03:17 */ \
87  2454758.306250, /* 47000 18 Oct 2008 19:21 */ \
88  2454826.975694, /* 48000 26 Dec 2008 11:25 */ \
89  2454895.645139, /* 49000 05 Mar 2009 03:29 */ \
90  2454964.314583, /* 50000 12 May 2009 19:33 */ \
91  2455032.984028, /* 51000 20 Jul 2009 11:37 */ \
92  2455101.653472, /* 52000 27 Sep 2009 03:41 */ \
93  2455170.322917, /* 53000 04 Dec 2009 19:45 */ \
94  2455238.992361, /* 54000 11 Jul 2010 11:49 */ \
95  2455307.662500, /* 55000 21 Apr 2010 03:54 */ \
96  2455376.331944, /* 56000 28 Jun 2010 19:58 */ \
97  2455445.001389, /* 57000 05 Sep 2010 12:02 */ \
98  2455513.670833, /* 58000 13 Nov 2010 04:06 */ \
99  2455582.340278, /* 59000 20 Jan 2011 20:10 */ \
100  2455651.009722, /* 60000 30 Mar 2011 12:14 */ \
101  2455719.679167, /* 61000 07 Jun 2011 04:18 */ \
102  2455788.348611, /* 62000 14 Aug 2011 20:22 */ \
103  2455857.018750, /* 63000 22 Oct 2011 12:27 */ \
104  2455925.688194, /* 64000 30 Dec 2011 04:31 */ \
105  2455994.357639, /* 65000 07 Mar 2012 20:35 */ \
106  2456063.027083, /* 66000 15 May 2012 12:39 */ \
107  2456131.696528, /* 67000 23 Jul 2012 04:43 */ \
108  2456200.365972, /* 68000 29 Sep 2012 20:47 */ \
109  2456269.035417, /* 69000 07 Dec 2012 12:51 */ \
110  2456337.704861, /* 70000 14 Feb 2013 04:55 */ \
111  2456406.375000, /* 71000 23 Apr 2013 21:00 */ \
112  2456475.044444, /* 72000 01 Jul 2013 13:04 */ \
113  2456543.713889, /* 73000 08 Sep 2013 05:08 */ \
114  2456612.383333 /* 74000 15 Nov 2013 21:12 */ \
115 }
116 
117 
118 MTKt_status MtkLatLonToPathList( double lat_dd,
119  double lon_dd,
120  int *pathcnt,
121  int **pathlist );
122 
124  int *pathcnt,
125  int **pathlist );
126 
128  int path,
129  int *start_block,
130  int *end_block );
131 
132 MTKt_status MtkOrbitToPath( int orbit,
133  int *path );
134 
135 MTKt_status MtkTimeToOrbitPath( const char *datetime,
136  int *orbit,
137  int *path );
138 
139 MTKt_status MtkTimeRangeToOrbitList( const char *start_time,
140  const char *end_time,
141  int *orbitcnt,
142  int **orbitlist );
143 
145  const char *start_time,
146  const char *end_time,
147  int *orbitcnt,
148  int **orbitlist );
149 
151  char start_time[MTKd_DATETIME_LEN],
152  char end_time[MTKd_DATETIME_LEN] );
153 
154 #endif /* MISRORBITPATH_H */
MTKt_status MtkTimeRangeToOrbitList(const char *start_time, const char *end_time, int *orbitcnt, int **orbitlist)
Given start time and end time return list of orbits.
MTKt_status MtkTimeToOrbitPath(const char *datetime, int *orbit, int *path)
Given time return orbit number and path number.
MTKt_status MtkPathTimeRangeToOrbitList(int path, const char *start_time, const char *end_time, int *orbitcnt, int **orbitlist)
Given path and time range return list of orbits on path.
MTKt_status MtkOrbitToPath(int orbit, int *path)
Given orbit number return path number.
MTKt_status MtkRegionToPathList(MTKt_Region region, int *pathcnt, int **pathlist)
Get list of paths that cover a particular region.
MTKt_status MtkRegionPathToBlockRange(MTKt_Region region, int path, int *start_block, int *end_block)
Get start and end block numbers of a path over a particular region.
MTKt_status MtkLatLonToPathList(double lat_dd, double lon_dd, int *pathcnt, int **pathlist)
Get list of paths that cover a particular latitude and longitude.
MTKt_status
Definition: MisrError.h:11
MTKt_status MtkOrbitToTimeRange(int orbit, char start_time[MTKd_DATETIME_LEN], char end_time[MTKd_DATETIME_LEN])
Given a orbit number return time.
Region of interest.
Definition: MisrSetRegion.h:41
#define MTKd_DATETIME_LEN
Definition: MisrUtil.h:149

MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:51