File: GOME2_L1_irradiance.html

package info (click to toggle)
harp 1.5%2Bdata-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 54,032 kB
  • sloc: xml: 286,510; ansic: 143,710; yacc: 1,910; python: 913; makefile: 600; lex: 574; sh: 69
file content (393 lines) | stat: -rw-r--r-- 16,717 bytes parent folder | download
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393


<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>GOME2_L1_irradiance &mdash; HARP 1.5 documentation</title>
  

  
  
  
  

  

  
  
    

  

  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
    <link rel="index" title="Index" href="../genindex.html" /> 

  
  <script src="../_static/js/modernizr.min.js"></script>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">

    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search">
          

          
            <a href="../index.html" class="icon icon-home"> HARP
          

          
          </a>

          
            
            
              <div class="version">
                1.5
              </div>
            
          

          

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul>
<li class="toctree-l1"><a class="reference internal" href="../install.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../conventions/index.html">Conventions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../algorithms/index.html">Algorithms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operations.html">Operations</a></li>
<li class="toctree-l1"><a class="reference internal" href="index.html">Ingestion definitions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../libharp.html">C library</a></li>
<li class="toctree-l1"><a class="reference internal" href="../idl.html">IDL interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../matlab.html">MATLAB interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../python.html">Python interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Command line tools</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">HARP</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html">Docs</a> &raquo;</li>
        
      <li>GOME2_L1_irradiance</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="gome2-l1-irradiance">
<h1>GOME2_L1_irradiance</h1>
<div class="section" id="variables">
<h2>Variables</h2>
<p>The table below lists the variables that are present in the HARP product that results from an ingestion of <code class="docutils literal notranslate"><span class="pre">GOME2_L1_irradiance</span></code> data.</p>
<table border="1" class="colwidths-given docutils">
<colgroup>
<col width="25%" />
<col width="5%" />
<col width="15%" />
<col width="15%" />
<col width="40%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">field name</th>
<th class="head">type</th>
<th class="head">dimensions</th>
<th class="head">unit</th>
<th class="head">description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><strong>datetime</strong></td>
<td>double</td>
<td>{<em>time</em>}</td>
<td>[seconds since 2000-01-01]</td>
<td>time of the measurement at the end of the integration time</td>
</tr>
<tr class="row-odd"><td><strong>orbit_index</strong></td>
<td>int32</td>
<td>&#160;</td>
<td>&#160;</td>
<td>absolute orbit number</td>
</tr>
<tr class="row-even"><td><strong>wavelength_photon_irradiance_sun</strong></td>
<td>double</td>
<td>{<em>time</em>, <em>spectral</em>}</td>
<td>[count/s/cm2/nm]</td>
<td>measured sun irradiances</td>
</tr>
<tr class="row-odd"><td><strong>wavelength_photon_irradiance_moon</strong></td>
<td>double</td>
<td>{<em>time</em>, <em>spectral</em>}</td>
<td>[count/s/cm2/nm]</td>
<td>measured moon irradiances</td>
</tr>
<tr class="row-even"><td><strong>wavelength</strong></td>
<td>double</td>
<td>{<em>time</em>, <em>spectral</em>}</td>
<td>[nm]</td>
<td>nominal wavelength assignment for each of the detector pixels</td>
</tr>
<tr class="row-odd"><td><strong>integration_time</strong></td>
<td>double</td>
<td>{<em>time</em>, <em>spectral</em>}</td>
<td>[s]</td>
<td>integration time for each pixel</td>
</tr>
<tr class="row-even"><td><strong>index</strong></td>
<td>int32</td>
<td>{<em>time</em>}</td>
<td>&#160;</td>
<td>zero-based index of the sample within the source product</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="ingestion-options">
<h2>Ingestion options</h2>
<p>The table below lists the available ingestion options for <code class="docutils literal notranslate"><span class="pre">GOME2_L1</span></code> products.</p>
<table border="1" class="colwidths-given docutils">
<colgroup>
<col width="15%" />
<col width="25%" />
<col width="60%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">option name</th>
<th class="head">legal values</th>
<th class="head">description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>band</td>
<td>band-1a, band-1b, band-2a, band-2b, band-3, band-4</td>
<td>only include data from the specified band (‘band-1a’, ‘band-1b’, ‘band-2a’, ‘band-2b’, ‘band-3’, ‘band-4’); by default data from all bands is retrieved</td>
</tr>
<tr class="row-odd"><td>data</td>
<td>radiance, transmission, sun, moon, sun_reference</td>
<td>retrieve the measured radiances, the transmission spectra, the sun measurement spectra, the moon measurement spectra or the sun reference spectrum; by default the measured radiances are retrieved</td>
</tr>
</tbody>
</table>
<p>This definition is only applicable when: data=sun or data=moon</p>
</div>
<div class="section" id="mapping-description">
<h2>Mapping description</h2>
<p>The GOME2 spectral data in the GOME2 L1b product is stored inside MDRs. There are separate MDRs for Earthshine, Calibration, Sun, and Moon measurements. In addition there are also ‘Dummy Records’ (DMDR) that can be present when there is lost data in the product. With HARP only Earthshine, Sun, and Moon measurements can be ingested.</p>
<p>Each MDR roughly contains a single scan. However, an MDR does not exactly correspond 1-to-1 with a GOME-2 scan. This is an important fact to be aware of. The real situation is as follows:</p>
<p>Within a single scan (a scan takes 6 seconds) there are 16 Instrument Source Packets (covering 375ms each) coming from the satellite. Each ISP contains at most two readouts (there are two if the integration time for a band is 187.5ms (or 93.75ms)). The problem is that the two readouts of the first ISP of a scan contain the last measurement of the previous scan and the first measurement of the new scan. The second ISP contains data for measurements #2 and #3, the third for #4 and #5, etc. The last measurement of a scan will again be found in the first ISP of the next scan. Instead of shifting the data and grouping all data of a single scan together in a single MDR the Level 1a and Level 1b processors just place the MDR boundary at the start of the first ISP of a scan and terminate the MDR at the end of ISP 16. This means that in Level 1b (but also 1a) products the first measurement in an MDR will always be the last measurement of the previous scan.</p>
<p>Nearly all meta-data for a readout (time, geolocation, viewing/solar angles, etc.) in an MDR are filled taking into account this same shift. This means that for retrieving the geolocation of the first readout of an MDR from the GEO_EARTH_ACTUAL record, one will in fact get the geolocation information of the last backscan pixel of the previous scan. However, the integration time meta-data for the first readout in an MDR is not shifted this way (the GEO_EARTH information is also not shifted, by the way, and just contains the 32 geolocation pixels for the scan). As long as the integration time does not change from one scan to another this won’t impact anything, but the L1 products will contain invalid metadata for the first MDR readout if there is a change of integration time between two consecutive scans. In that case the calculated geolocation, angles, etc. of the first readout are values based on the integration time of the _new_ scan instead of the _old_ scan (e.g. the ground pixel will thus either be too large or too small). The (relative) good news to this is that, if a change in integration time occurs, the last pixel readout of the final scan with the ‘old’ integration time will never be valid and will have undefined values in the product (this is because the instrument prematurely terminates the final readout if a scan configuration change occurs). This means that the readout that has the ‘invalid’ meta-data will never be a valid measurement anyway.</p>
<p>Because of all this, HARP will exercise the following rules during ingestion:
1) the first readout of the first MDR will always be ignored (and you will never see the last readout of the last scan, because it won’t be in the product)
2) the first readout after a change in measurement mode (i.e. earthshine vs. calibration vs. sun vs. moon) will be ignored
3) if a change in integration time occurs (for any of the bands) then the first readout (for all bands) of the next MDR will be ignored
4) if two MDRs are not continuous (i.e. there is a time gap) then the first readout of the second MDR will be ignored</p>
<p>GOME-2 uses 6 bands for the main spectra (1A, 1B, 2A, 2B, 3, and 4). Within a scan each band can have its own integration time. There will be at most 32 readouts per scan (corresponding with an integration time of 187.5ms). If the integration time is 375ms, 750ms, 1.5s, 3s or 6s there will be 16, 8, 4, 2, or 1 measurement(s) respectively for this band in a scan. Some readouts may even cover multiple scans if the integration time is larger than 6s. HARP will combine the data for all bands into a single two-dimensional pixel_readout array and uses a fixed resulotion of 187.5ms for the variables. Because bands might have higher integration time this means that for those bands there will be multiple rows in the pixel_readout array for a single readout. Each of those multiple rows will be filled with the same measurement value. This comes down to breaking the measurement up into pieces of 187.5ms (the actual integration time can still be found from the integration_time variable). All meta-data, such as geolocation, angles, etc. will also be ingested for this minimum integration time of 187.5ms and filtering on time and geolocation will also always be performed using the 187.5ms resolution.</p>
<p>If the band configuration changes somewhere during the orbit and a band filter is given, then only detector pixels that are inside the requested band for the duration of the whole orbit will be included. i.e. detector pixels that change band during the orbit will always be excluded when a band filter is given.</p>
<p>The table below details where and how each variable was retrieved from the input product.</p>
<table border="1" class="docutils">
<colgroup>
<col width="11%" />
<col width="4%" />
<col width="85%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">field name</th>
<th class="head" colspan="2">mapping description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td rowspan="6"><strong>datetime</strong></td>
<td><em>condition</em></td>
<td>data=sun</td>
</tr>
<tr class="row-odd"><td><em>path</em></td>
<td><strong>/MDR[]/Sun/RECORD_HEADER/RECORD_START_TIME</strong></td>
</tr>
<tr class="row-even"><td><em>description</em></td>
<td>The record start time is the start time of the scan and thus the start time of the second readout in the MDR. The start time for readout i (0..31) is thus RECORD_START_TIME + (i - 1) * 0.1875 and the time at end of integration time (which is the time that is returned) is RECORD_START_TIME + i * 0.1875</td>
</tr>
<tr class="row-odd"><td><em>condition</em></td>
<td>data=moon</td>
</tr>
<tr class="row-even"><td><em>path</em></td>
<td><strong>/MDR[]/Moon/RECORD_HEADER/RECORD_START_TIME</strong></td>
</tr>
<tr class="row-odd"><td><em>description</em></td>
<td>The record start time is the start time of the scan and thus the start time of the second readout in the MDR. The start time for readout i (0..31) is thus RECORD_START_TIME + (i - 1) * 0.1875 and the time at end of integration time (which is the time that is returned) is RECORD_START_TIME + i * 0.1875</td>
</tr>
<tr class="row-even"><td><strong>orbit_index</strong></td>
<td><em>path</em></td>
<td><strong>/MPHR/ORBIT_START</strong></td>
</tr>
<tr class="row-odd"><td rowspan="3"><strong>wavelength_photon_irradiance_sun</strong></td>
<td><em>available</em></td>
<td>optional</td>
</tr>
<tr class="row-even"><td><em>condition</em></td>
<td>data=sun</td>
</tr>
<tr class="row-odd"><td><em>path</em></td>
<td><strong>/MDR[]/Sun/BAND_1A[,]/RAD, /MDR[]/Sun/BAND_1B[,]/RAD, /MDR[]/Sun/BAND_2A[,]/RAD, /MDR[]/Sun/BAND_2B[,]/RAD, /MDR[]/Sun/BAND_3[,]/RAD, /MDR[]/Sun/BAND_4[,]/RAD</strong></td>
</tr>
<tr class="row-even"><td rowspan="3"><strong>wavelength_photon_irradiance_moon</strong></td>
<td><em>available</em></td>
<td>optional</td>
</tr>
<tr class="row-odd"><td><em>condition</em></td>
<td>data=moon</td>
</tr>
<tr class="row-even"><td><em>path</em></td>
<td><strong>/MDR[]/Moon/BAND_1A[,]/RAD, /MDR[]/Moon/BAND_1B[,]/RAD, /MDR[]/Moon/BAND_2A[,]/RAD, /MDR[]/Moon/BAND_2B[,]/RAD, /MDR[]/Moon/BAND_3[,]/RAD, /MDR[]/Moon/BAND_4[,]/RAD</strong></td>
</tr>
<tr class="row-odd"><td rowspan="4"><strong>wavelength</strong></td>
<td><em>condition</em></td>
<td>data=sun</td>
</tr>
<tr class="row-even"><td><em>path</em></td>
<td><strong>/MDR[]/Sun/WAVELENGTH_1A[], /MDR[]/Sun/WAVELENGTH_1B[], /MDR[]/Sun/WAVELENGTH_2A[], /MDR[]/Sun/WAVELENGTH_2B[], /MDR[]/Sun/WAVELENGTH_3[], /MDR[]/Sun/WAVELENGTH_4[]</strong></td>
</tr>
<tr class="row-odd"><td><em>condition</em></td>
<td>data=moon</td>
</tr>
<tr class="row-even"><td><em>path</em></td>
<td><strong>/MDR[]/Moon/WAVELENGTH_1A[], /MDR[]/Moon/WAVELENGTH_1B[], /MDR[]/Moon/WAVELENGTH_2A[], /MDR[]/Moon/WAVELENGTH_2B[], /MDR[]/Moon/WAVELENGTH_3[], /MDR[]/Moon/WAVELENGTH_4[]</strong></td>
</tr>
<tr class="row-odd"><td rowspan="4"><strong>integration_time</strong></td>
<td><em>condition</em></td>
<td>data=sun</td>
</tr>
<tr class="row-even"><td><em>path</em></td>
<td><strong>/MDR[]/Sun/INTEGRATION_TIMES[]</strong></td>
</tr>
<tr class="row-odd"><td><em>condition</em></td>
<td>data=moon</td>
</tr>
<tr class="row-even"><td><em>path</em></td>
<td><strong>/MDR[]/Moon/INTEGRATION_TIMES[]</strong></td>
</tr>
</tbody>
</table>
</div>
</div>


           </div>
           
          </div>
          <footer>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 2015-2018 S&amp;T, The Netherlands

    </p>
  </div> 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  

    
    
      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
        <script type="text/javascript" src="../_static/jquery.js"></script>
        <script type="text/javascript" src="../_static/underscore.js"></script>
        <script type="text/javascript" src="../_static/doctools.js"></script>
        <script async="async" type="text/javascript" src="/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    

  

  <script type="text/javascript" src="../_static/js/theme.js"></script>

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>