OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
MerisSPH.h
Go to the documentation of this file.
1 /*
2  * File: MerisSPH.h
3  * Author: dshea
4  *
5  * Created on December 10, 2012, 12:33 PM
6  */
7 
8 #ifndef MERIS_SPH_H
9 #define MERIS_SPH_H
10 
11 #include "EnvsatSPH.h"
12 
13 #include <string>
14 
15 class MerisSPH : public EnvsatSPH {
16 public:
17  MerisSPH(const MerisSPH& orig);
18  MerisSPH(EnvsatFile* file, int size, int numDSDs, int DSDSize);
19  // virtual ~MerisSPH();
20 
21  virtual std::string& getDescriptor();
22 
23  virtual double getFirstLineTime();
24  virtual void setFirstLineTime(double unixTime);
25 
26  virtual double getLastLineTime();
27  virtual void setLastLineTime(double unixTime);
28 
29  virtual double getFirstFirstLat();
30  virtual void setFirstFirstLat(double lat);
31  virtual double getFirstFirstLon();
32  virtual void setFirstFirstLon(double lon);
33 
34  virtual double getFirstMidLat();
35  virtual void setFirstMidLat(double lat);
36  virtual double getFirstMidLon();
37  virtual void setFirstMidLon(double lon);
38 
39  virtual double getFirstLastLat();
40  virtual void setFirstLastLat(double lat);
41  virtual double getFirstLastLon();
42  virtual void setFirstLastLon(double lon);
43 
44  virtual double getLastFirstLat();
45  virtual void setLastFirstLat(double lat);
46  virtual double getLastFirstLon();
47  virtual void setLastFirstLon(double lon);
48 
49  virtual double getLastMidLat();
50  virtual void setLastMidLat(double lat);
51  virtual double getLastMidLon();
52  virtual void setLastMidLon(double lon);
53 
54  virtual double getLastLastLat();
55  virtual void setLastLastLat(double lat);
56  virtual double getLastLastLon();
57  virtual void setLastLastLon(double lon);
58 
59  virtual int getSamplesPerLine();
60  virtual int getLinesPerTiepoint();
61  virtual int getSamplesPerTiepoint();
62 
63  virtual const std::string& getQualityName();
64  virtual const std::string& getTiepointName();
65 
66  virtual void print();
67 
68 private:
69  static const unsigned int DESCRIPTOR_OFFSET = 16;
70  static const unsigned int DESCRIPTOR_LENGTH = 28;
71 
72  static const unsigned int FIRST_LINE_TIME_OFFSET = 135;
73  static const unsigned int LAST_LINE_TIME_OFFSET = 180;
74 
75  static const unsigned int FIRST_FIRST_LAT_OFFSET = 225;
76  static const unsigned int FIRST_FIRST_LON_OFFSET = 264;
77  static const unsigned int FIRST_MID_LAT_OFFSET = 300;
78  static const unsigned int FIRST_MID_LON_OFFSET = 337;
79  static const unsigned int FIRST_LAST_LAT_OFFSET = 374;
80  static const unsigned int FIRST_LAST_LON_OFFSET = 412;
81 
82  static const unsigned int LAST_FIRST_LAT_OFFSET = 449;
83  static const unsigned int LAST_FIRST_LON_OFFSET = 487;
84  static const unsigned int LAST_MID_LAT_OFFSET = 522;
85  static const unsigned int LAST_MID_LON_OFFSET = 558;
86  static const unsigned int LAST_LAST_LAT_OFFSET = 594;
87  static const unsigned int LAST_LAST_LON_OFFSET = 631;
88 
89  static const unsigned int SAMPLES_PER_LINE_OFFSET = 1404;
90  static const unsigned int SAMPLES_PER_LINE_LENGTH = 6;
91  static const unsigned int LINES_PER_TIEPOINT_OFFSET = 1437;
92  static const unsigned int LINES_PER_TIEPOINT_LENGTH = 4;
93  static const unsigned int SAMPLES_PER_TIEPOINT_OFFSET = 1461;
94  static const unsigned int SAMPLES_PER_TIEPOINT_LENGTH = 4;
95 
96  static const unsigned int FIRST_DSD_OFFSET = 1542;
97 
98 };
99 
100 #endif /* MERIS_SPH_H */
101 
virtual void setLastFirstLat(double lat)
Definition: MerisSPH.cpp:110
virtual double getFirstLastLat()
Definition: MerisSPH.cpp:90
virtual double getFirstMidLat()
Definition: MerisSPH.cpp:74
virtual void setFirstLastLon(double lon)
Definition: MerisSPH.cpp:102
virtual std::string & getDescriptor()
Definition: MerisSPH.cpp:30
virtual double getLastMidLat()
Definition: MerisSPH.cpp:122
virtual void setFirstFirstLat(double lat)
Definition: MerisSPH.cpp:62
virtual double getLastLastLon()
Definition: MerisSPH.cpp:146
virtual double getLastLineTime()
Definition: MerisSPH.cpp:47
float * lat
virtual void setLastLineTime(double unixTime)
Definition: MerisSPH.cpp:53
virtual void setLastFirstLon(double lon)
Definition: MerisSPH.cpp:118
@ string
virtual int getSamplesPerLine()
Definition: MerisSPH.cpp:154
no change in intended resolving MODur00064 Corrected handling of bad ephemeris attitude resolving resolving GSFcd00179 Corrected handling of fill values for[Sensor|Solar][Zenith|Azimuth] resolving MODxl01751 Changed to validate LUT version against a value retrieved from the resolving MODxl02056 Changed to calculate Solar Diffuser angles without adjustment for estimated post launch changes in the MODIS orientation relative to incidentally resolving defects MODxl01766 Also resolves MODxl01947 Changed to ignore fill values in SCI_ABNORM and SCI_STATE rather than treating them as resolving MODxl01780 Changed to use spacecraft ancillary data to recognise when the mirror encoder data is being set by side A or side B and to change calculations accordingly This removes the need for seperate LUTs for Side A and Side B data it makes the new LUTs incompatible with older versions of the and vice versa Also resolves MODxl01685 A more robust GRing algorithm is being which will create a non default GRing anytime there s even a single geolocated pixel in a granule Removed obsolete messages from seed file
Definition: HISTORY.txt:413
virtual void setFirstFirstLon(double lon)
Definition: MerisSPH.cpp:70
virtual double getFirstFirstLat()
Definition: MerisSPH.cpp:58
virtual void print()
Definition: MerisSPH.cpp:177
virtual double getFirstMidLon()
Definition: MerisSPH.cpp:82
virtual double getFirstLineTime()
Definition: MerisSPH.cpp:36
virtual double getLastFirstLon()
Definition: MerisSPH.cpp:114
virtual const std::string & getTiepointName()
Definition: MerisSPH.cpp:172
virtual int getLinesPerTiepoint()
Definition: MerisSPH.cpp:158
virtual void setLastMidLat(double lat)
Definition: MerisSPH.cpp:126
virtual double getFirstLastLon()
Definition: MerisSPH.cpp:98
virtual double getLastLastLat()
Definition: MerisSPH.cpp:138
virtual void setFirstMidLon(double lon)
Definition: MerisSPH.cpp:86
MerisSPH(const MerisSPH &orig)
Definition: MerisSPH.cpp:16
virtual double getFirstFirstLon()
Definition: MerisSPH.cpp:66
float * lon
virtual void setLastMidLon(double lon)
Definition: MerisSPH.cpp:134
virtual void setFirstLineTime(double unixTime)
Definition: MerisSPH.cpp:42
virtual double getLastFirstLat()
Definition: MerisSPH.cpp:106
virtual int getSamplesPerTiepoint()
Definition: MerisSPH.cpp:162
virtual double getLastMidLon()
Definition: MerisSPH.cpp:130
virtual void setFirstMidLat(double lat)
Definition: MerisSPH.cpp:78
virtual void setLastLastLon(double lon)
Definition: MerisSPH.cpp:150
virtual void setLastLastLat(double lat)
Definition: MerisSPH.cpp:142
virtual void setFirstLastLat(double lat)
Definition: MerisSPH.cpp:94
virtual const std::string & getQualityName()
Definition: MerisSPH.cpp:167