#
source:
nappy/trunk/doc/nasa_ames_format_specification_1998.html
@
3443

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/nappy/trunk/doc/nasa_ames_format_specification_1998.html@7966
Revision 3443, 79.5 KB checked in by astephen, 12 years ago (diff) |
---|

Line | |
---|---|

1 | <html><head><title>SOLVE DATA ARCHIVE TUTORIAL</title> |

2 | |

3 | <style type="text/css"> |

4 | <!-- |

5 | pre {font-size: 12pt;} |

6 | td {font-size: 14pt; font-weight: bold;} |

7 | dt {font-size: 14pt;} |

8 | dd {font-size: 14pt;} |

9 | ol {font-size: 14pt;} |

10 | li {font-size: 14pt;} |

11 | #con {font-size: 14pt; font-weight: bold} |

12 | ul {font-size: 14pt;} |

13 | --> |

14 | </style></head><body bgcolor="#fffaf0"> |

15 | <br> |

16 | <center><h1>Format Specification for Data Exchange</h1></center> |

17 | <p> </p> |

18 | <center><h3>By</h3></center> |

19 | <p> </p> |

20 | |

21 | <center><h2>Steven E. Gaines R. Stephen Hipskind</h2></center> |

22 | <p> </p> |

23 | <p> </p> |

24 | <center><h2>Version 1.3</h2></center> |

25 | <center><h2>18 June 1998</h2></center> |

26 | <p> </p> |

27 | <center><p> </p> |

28 | <table width="50%"> |

29 | <tbody><tr><td>Version 1:</td><td>16 May 1990</td></tr> |

30 | <tr><td>Version 1.1:</td><td>6 February 1992</td></tr> |

31 | <tr><td>Version 1.2:</td><td>12 January 1998</td></tr> |

32 | </tbody></table></center> |

33 | <center><table width="50%"> |

34 | <tbody><tr><td colspan="2" align="center">R.S.H.</td></tr> |

35 | <tr><td>Voice:</td><td>650/604-5076</td></tr> |

36 | <tr><td>FAX:</td><td>650/604-3625</td></tr> |

37 | <tr><td>Email:</td><td>hipskind@cloud1.arc.nasa.gov</td></tr> |

38 | <tr><td><br></td></tr> |

39 | <tr><td colspan="2" align="center">S.E.G.</td></tr> |

40 | <tr><td>Voice:</td><td>650/604-4546</td></tr> |

41 | <tr><td>FAX:</td><td>650/604-3625</td></tr> |

42 | <tr><td>Email:</td><td>gaines@cloud1.arc.nasa.gov</td></tr> |

43 | </tbody></table></center> |

44 | <p> </p> |

45 | <center><h2>Contents</h2></center> |

46 | <p> </p> |

47 | <ol id="con" type="i"> |

48 | <li id="con"> Preface to Version 1.3 |

49 | </li><li id="con"> Preface to Version 1.2 |

50 | </li><li id="con"> Preface |

51 | </li></ol> |

52 | <ol id="con" type="1"> |

53 | <li id="con"> Introduction |

54 | </li><li id="con"> Concepts and Structures |

55 | </li><li id="con"> Implementation Considerations |

56 | </li><li id="con"> Notation |

57 | </li><li id="con"> Definitions |

58 | </li><li id="con"> ASCII File Format Specifications |

59 | <ol id="con" start="6"> |

60 | <li id="con">1 Summary of data record formats |

61 | </li></ol> |

62 | </li><li id="con"> Examples |

63 | </li></ol> |

64 | <p> </p> |

65 | <p> </p> |

66 | <center><h2>Preface to Version 1.3</h2></center> |

67 | <p> |

68 | The file format standards defined in Version 1.3 are the same as those |

69 | in previous versions. The main change in this version is the |

70 | elimination of the Section on file naming conventions, and the |

71 | renumbering of the remaining Sections and pages. The file formats are |

72 | independent of any particular file naming scheme, so the description of |

73 | the file naming convention has been moved to a separate document. |

74 | </p> |

75 | <p> </p> |

76 | <center><h2>Preface to Version 1.2</h2></center> |

77 | <p> |

78 | The file format standards defined in Version 1.2 are the same |

79 | as those in the two previous versions. The major changes in this |

80 | version are to emphasize the requirement that independent |

81 | variables be monotonic, and to slightly change the notation for |

82 | several parameters to show their dependence on the unbounded |

83 | independent variable. In previous versions those dependencies |

84 | have been implied, and shown by examples, but not clearly stated. |

85 | </p> |

86 | <p> |

87 | Other minor changes have been made throughout the text to |

88 | help clarify the concepts and requirements of the format |

89 | standards, and variable definitions in some of the examples have |

90 | been condensed. We appreciate the feedback we have received from |

91 | users of the exchange files, and have used it as a guide for |

92 | clarifying the standards. |

93 | </p> |

94 | <p> </p> |

95 | <center><h2>Preface</h2></center> |

96 | <p> |

97 | This document specifies format standards to be used to |

98 | facilitate data exchange for aircraft missions managed by the |

99 | Earth Science Division at NASA Ames Research Center. It is |

100 | intended as a reference document for creating experimental |

101 | datasets. The standards should be adhered to in all exchange |

102 | files being contributed to the project archive, including |

103 | instrumental measurements, theoretical calculations and |

104 | operational data. It is important that the person responsible for |

105 | actually generating a given dataset refer to this document when |

106 | determining the format for that dataset. It is the responsibility |

107 | of the principal investigator or team leader to make sure that the |

108 | appropriate people have access to this document and that their |

109 | data conform to the format standards. |

110 | </p> |

111 | <p> |

112 | The specifications described in this document grew out of an |

113 | effort beginning with the 1987 Stratosphere Troposphere Exchange |

114 | Project (STEP) to put the experimental aircraft data on a medium |

115 | and in a format that would be accessible to all experiment |

116 | participants during the field experiment. Flight planning could |

117 | then take into account the data from a previous flight, increasing |

118 | the likelihood of meeting the overall goals and objectives of a |

119 | given campaign. The standards developed for STEP were also used |

120 | in the 1987 Airborne Antarctic Ozone Experiment (AAOE) and the |

121 | 1989 Airborne Arctic Stratospheric Expedition (AASE). The basic |

122 | premise in specifying format standards was to create |

123 | self-descriptive datasets using a prescribed header structure to |

124 | contain information about the data in a given file. |

125 | </p> |

126 | <p> |

127 | The STEP experiment used only the ER-2 aircraft and consisted |

128 | primarily of in situ, time series data. It was this single |

129 | dimensional data for which the original format specification was |

130 | written. The use of remote sensing instruments on both the DC-8 |

131 | and ER-2, and the generation of model output files creates |

132 | multi-dimensional data which do not fit well into that original |

133 | format. To better account for the variety of data, we have |

134 | formalized some of the original concepts and have extended the |

135 | requirements for header information to more adequately |

136 | characterize the data. The file header now must include explicit |

137 | specification of data dimensionality. We have also allowed for a |

138 | more flexible specification of the data structure by the use of a |

139 | file format index, described in the text. |

140 | </p> |

141 | <p> |

142 | In writing this new format specification, a conscious effort |

143 | was made to retain much of the progress made in past experiments |

144 | towards creating an environment of free data exchange. We have |

145 | tried to build a logical extension to the original concepts rather |

146 | than making a radical departure from them. Those with experience |

147 | in the previous experiments (STEP, AAOE and AASE) should recognize |

148 | that, in many cases, the format for their exchange files will |

149 | remain much the same under these new specifications with only |

150 | relatively minor, but important, changes to the header entries. |

151 | </p> |

152 | <p> |

153 | We want to acknowledge the fact that this document is the |

154 | product of interactions between the authors and the experiment |

155 | participants; indeed, the idea of data exchange standards was |

156 | originally driven by a consensus of the participants, not by the |

157 | "data managers". We appreciate the feedback that we have |

158 | received, both written and oral, and have incorporated many of the |

159 | suggestions into the final document. We also want to encourage |

160 | everyone to feel free to contact us if they have any questions, |

161 | problems or suggestions. |

162 | </p> |

163 | <p> </p> |

164 | <p> </p> |

165 | <center><h2>1</h2></center> |

166 | <center><h2>Introduction</h2></center> |

167 | <p> |

168 | This document describes a conceptual framework for specifying |

169 | exchange data formats, and then gives a detailed description of |

170 | the standard formats (although there are very important |

171 | distinctions between measured quantities and those resulting from |

172 | mathematical model calculations, for simplicity, the two will |

173 | often be loosely termed "data"). Those considering writing |

174 | exchange files must review the format options presented in this |

175 | document and determine the format most suitable for recording |

176 | their data. If none are deemed suitable, consult with the project |

177 | archive manager to define a new format option. New file formats |

178 | will be circulated to project participants as addenda to this |

179 | document. |

180 | </p> |

181 | <p>The primary goal of instituting format standards for data exchange |

182 | is to promote accessibility and ease of use of a variety of datasets |

183 | from different instruments, platforms and numerical models. The |

184 | specific goals of the proposed system are: |

185 | </p><ul> |

186 | <li> The exchange files must be readable on all computer systems |

187 | commonly in use. These include PC's (MS DOS), Apple Macs, DEC VMS and |

188 | Unix systems.<br><br> |

189 | |

190 | </li><li> The exchange files must be self describing, such that the |

191 | information needed to read the data is contained in an order dependent |

192 | file header, and the minimum information required to analyze the |

193 | particular dataset is contained within the file.<br><br> |

194 | |

195 | </li><li> Maintain as much compatibility as possible with existing |

196 | formats from previous experiments, while allowing flexibility to handle |

197 | new datasets and formats.<br><br> |

198 | |

199 | </li><li> Minimize the amount of software required to access diverse |

200 | datasets by categorizing the datasets and allowing a minimal number of |

201 | data formats.<br><br> |

202 | </li></ul> |

203 | <p></p> |

204 | <p> |

205 | The complexity of any system of standards increases with |

206 | increasing generality. This standard represents a compromise |

207 | between simplicity and generality. The generality of the proposed |

208 | system stems from the incorporation of a file format index which, |

209 | by referencing pre-defined format options, defines the format of |

210 | both the file header and the data records. Thus, new file formats |

211 | can be incorporated at a future time without changing those |

212 | defined in this document. The complexity of this system increases |

213 | with the number of file formats, so an attempt has been made to |

214 | minimize the number of format options while at the same time |

215 | accommodate the existing standard data formats from previous |

216 | experiments; the file header formats are, however, different from |

217 | the older standards. |

218 | </p> |

219 | <p> |

220 | An additional advantage of standardized file formats is that |

221 | the data files can more easily be checked for format errors. |

222 | Plans for future field experiments include computer programs to |

223 | check the format of each data file as part of the procedure for |

224 | submittal to the data archive. |

225 | </p> |

226 | <p> |

227 | The system described here assumes that all exchange files are |

228 | in ASCII, because ASCII coded files are the most universally |

229 | readable across computer systems from different vendors. It is |

230 | anticipated that the same standards can be extended to include |

231 | binary files as well. However, before that can be done, a |

232 | convention for external data representation must be agreed upon |

233 | due to the differences in internal representation on different |

234 | machines. A special naming convention for binary files would also |

235 | have to be adopted. |

236 | </p> |

237 | <p> |

238 | Section 2 describes the basic structure of the data files, |

239 | the types of variables, and how they regulate the format |

240 | specifications. Section 3 describes some precautionary measures |

241 | to ensure readable files. The array and implied loop notation |

242 | used to specify the formats are defined in Section 4, and a |

243 | collection of definitions of the variables and terminology is |

244 | contained in Section 5. The file format specifications are given |

245 | in Section 6, with a summary of data record formats at the end of |

246 | the Section. An example of each standard format is given in |

247 | Section 7. Since any particular format option can accommodate a |

248 | variety of types of data, the concepts, terminology, and format |

249 | specifications are first presented in an abstract manner so not to |

250 | bias or narrow their definition. The examples in Section 7 are |

251 | included to provide a tangible link between the abstract |

252 | definitions and actual exchange data files. It will, therefore, |

253 | be useful to refer to these examples while (or before) reading the |

254 | rest of this document. |

255 | </p> |

256 | <p> </p> |

257 | <center><h2>2</h2></center> |

258 | <center><h2>Concepts and Structures</h2></center> |

259 | <p> |

260 | The reason for writing an exchange file is to convey some |

261 | measured, calculated, or otherwise derived quantity, which will be |

262 | called the PRIMARY variable. There may be more than one PRIMARY |

263 | variable in a given exchange file. In addition, there may be some |

264 | ancillary information concerning the measurement, calculation, or |

265 | interpretation of the PRIMARY variables or the data records |

266 | containing their values. These secondary quantities will be |

267 | referred to as AUXILIARY variables. Usually the inclusion of |

268 | AUXILIARY variables is optional, but there are some format options |

269 | in which they are required because they provide information about |

270 | the ensuing data records. Both PRIMARY and AUXILIARY variables |

271 | are considered as dependent variables, and are always recorded |

272 | with reference to at least one INDEPENDENT variable. INDEPENDENT |

273 | variables can be time, spatial coordinates, index values, or any |

274 | other monotonic quantity that can be used to uniquely identify a |

275 | particular PRIMARY variable value. Each INDEPENDENT variable |

276 | represents a dimension on which the PRIMARY variables are |

277 | dependent. PRIMARY variables are considered as discrete functions |

278 | of the INDEPENDENT variables, whereas AUXILIARY variables are |

279 | associated with an explicitly recorded INDEPENDENT variable. |

280 | </p> |

281 | <p> |

282 | The information recorded within exchange files is of two |

283 | types, either numeric or character string. Character strings may |

284 | contain any printable ASCII character (ASCII decimal values |

285 | between 32 and 126 inclusive), whereas numeric values are |

286 | restricted to characters 0 through 9, the plus sign, the minus |

287 | sign, the period, and the letter E used in exponential notation. |

288 | Except for the purpose noted in Section 3, an exchange file must |

289 | not contain non-printable ASCII characters. The non-printable |

290 | characters have ASCII decimal values of 0 through 31, and values |

291 | greater than 126. |

292 | </p> |

293 | <p> |

294 | Each exchange file has a file header which conveys |

295 | information about the PRIMARY, AUXILIARY, and INDEPENDENT |

296 | variables, and the order in which they are recorded in the file. |

297 | Rather than attempt to pre-define a single file header format |

298 | which accounts for all existing data formats, as well as any |

299 | future formats, a File Format Index (FFI) is used to uniquely |

300 | define the exchange file format. By reference to pre-defined |

301 | format options, the value of the FFI determines the number of |

302 | INDEPENDENT variables, whether the values of the INDEPENDENT and |

303 | dependent variables are numeric or character string, the format of |

304 | the file header, and the format of the data records. |

305 | </p> |

306 | <p> |

307 | Included in the file header are descriptions and/or units of |

308 | measure for the INDEPENDENT, PRIMARY, and AUXILIARY variables. |

309 | All variables must be defined in the records in which they are |

310 | expected to appear, and cannot be omitted or have blank spaces |

311 | substituted for their values. Associated with each PRIMARY and |

312 | AUXILIARY variable is a "missing" value to denote missing or |

313 | erroneous data values. These missing values must be larger than |

314 | any "good" data values recorded within the file so that a simple |

315 | test on the magnitude of a data value will determine if it |

316 | represents missing or usable data. A scale factor is associated |

317 | with each numeric PRIMARY and AUXILIARY variable. The scale |

318 | factors are included to encourage recording of the data as scaled |

319 | whole numbers, without a decimal point or exponential notation, |

320 | and thus reduce the size of the file. There are no scale factors |

321 | or missing values for the INDEPENDENT variables. |

322 | </p> |

323 | <p> |

324 | The order in which the PRIMARY and AUXILIARY variables are |

325 | defined in the file header is the same order in which they are |

326 | recorded in the data records. The order in which the INDEPENDENT |

327 | variables are defined in the file header determines the dependence |

328 | of the PRIMARY variables on the INDEPENDENT variables and, |

329 | therefore, the manner in which the PRIMARY variables are recorded. |

330 | The recorded dependence of the PRIMARY variables on the |

331 | INDEPENDENT variables is such that, from the point of view of |

332 | writing the data records, the most rapidly varying dimension is |

333 | listed first in the file header, and the most slowly varying |

334 | dimension is listed last. |

335 | </p> |

336 | <p> |

337 | If the number of values in the most slowly varying dimension |

338 | is not pre-determined (as with the time dimension in many cases) |

339 | then it is termed the unbounded dimension. Of necessity, only one |

340 | dimension, or INDEPENDENT variable, can be unbounded, while the |

341 | others, if any, must be bounded. The number of values in the |

342 | bounded dimensions are defined in either the file header or the |

343 | data records. Values of the unbounded INDEPENDENT variable are |

344 | explicitly recorded at pre-determined locations within the data |

345 | records and are termed INDEPENDENT VARIABLE MARKS. The AUXILIARY |

346 | variables, if any, are specified immediately after the INDEPENDENT |

347 | VARIABLE MARKS, either within the same record or the subsequent |

348 | records. The unbounded INDEPENDENT variable must be a monotonic |

349 | quantity. The bounded INDEPENDENT variables, for a given |

350 | INDEPENDENT VARIABLE MARK, must also be monotonic. |

351 | </p> |

352 | <p> |

353 | As an illustration, consider airborne lidar measurements of |

354 | ozone, recorded as a time sequence of vertical profiles of ozone. |

355 | For this example, ozone number density is the PRIMARY variable, |

356 | altitude above Earth's surface is the bounded INDEPENDENT |

357 | variable, and a monotonic measure of time is the unbounded |

358 | INDEPENDENT variable. The same records which contain time may |

359 | also contain AUXILIARY variables. Since ozone values at all |

360 | recorded altitudes are read for each time mark, the dependence on |

361 | altitude is considered the more rapidly varying dependence, so |

362 | altitude is the first INDEPENDENT variable defined in the file |

363 | header; time is defined second in the file header. An examination |

364 | of the standard formats in Section 6 reveals that there are |

365 | several file formats which could accommodate the data in this |

366 | example, the selection of the most appropriate format depends on |

367 | the nature of the altitude measurements. If the values of |

368 | altitude are constant then FFI 2010 could be used, with the |

369 | monotonic, constant altitudes defined in the file header. In this |

370 | instance, AUXILIARY variables are optional, but one may wish to |

371 | include additional information, say, aircraft longitude and |

372 | latitude, in the AUXILIARY variable list. If the altitude values |

373 | are variable, but the interval between the altitudes is constant, |

374 | then FFI 2310 is more appropriate. In this instance the number of |

375 | altitudes, base altitude value, and altitude increment are |

376 | supplied in the AUXILIARY variable list. If the altitude values |

377 | and the intervals between altitudes are variable then FFI 2110 is |

378 | the most appropriate option, with the number of altitudes given in |

379 | the AUXILIARY variable list, and the altitude values read from the |

380 | records containing the ozone values. In these last two instances |

381 | (FFI 2310, 2110), the indicated AUXILIARY variables are required, |

382 | in the sense that they provide necessary information for reading |

383 | subsequent data records, but one still has the option to include |

384 | additional AUXILIARY variables. Also, the values of the bounded |

385 | INDEPENDENT variable (altitude) in FFI 2110 and 2310 can be |

386 | different for each INDEPENDENT VARIABLE MARK (time mark) and, |

387 | therefore, are dependent on the unbounded INDEPENDENT VARIABLE. |

388 | For each time mark the altitude values must be monotonic. |

389 | </p> |

390 | <p> |

391 | The file header also contains information on the originators |

392 | of the exchange file and their affiliations, the source of the |

393 | PRIMARY variables, the mission which the data supports, and (by |

394 | popular demand) the number of lines in the file header. The |

395 | originators will often be the principal investigators for a |

396 | particular instrument or model simulation, and the instrument and |

397 | platform, or model, will be the source. At the beginning of each |

398 | mission, a mission name will be decided upon and used in all |

399 | exchange files. |

400 | </p> |

401 | <p> |

402 | Also included, are the date for which the data applies, the |

403 | date the data was reduced or revised (not necessarily the date the |

404 | file was written, although the two may be the same), the volume |

405 | number for the exchange file, and the total number of volumes |

406 | required to record the complete dataset. For large datasets |

407 | requiring more than one volume of the medium on which they are |

408 | written (diskette, etc.), the data are continued in a new file, on |

409 | a new volume, and after a file header with an incremented volume |

410 | counter (see IVOL, NVOL in Section 5). |

411 | </p> |

412 | <p> |

413 | There are allowances for three types of comments in the file |

414 | header. Two of these comment types have reserved locations within |

415 | the file header, and are associated with counters defining the |

416 | number of lines occupied by each type of comment. The first type |

417 | is for more complete descriptions of the variables, instrument, or |

418 | other comments that apply in general to all of a particular kind |

419 | of dataset; these are called normal comments. The second type, |

420 | called special comments, are reserved to note special problems or |

421 | circumstances concerning the data within a specific exchange file. |

422 | If the exchange file is a revised dataset then it is recommended |

423 | that the special comments describe how it differs from the |

424 | previous version of the dataset. The third type of comments are |

425 | merely annotations which may follow numeric values; these comments |

426 | must be contained on the same line as, and separated by at least |

427 | one space from the last numeric value expected in the record. |

428 | They should not be included in lines containing character values |

429 | because the annotations can not easily be separated from the |

430 | character string values. |

431 | </p> |

432 | <p> |

433 | The data records immediately follow the file header records |

434 | and continue to the end of the file. One or more spaces (ASCII |

435 | decimal value 32) delimit successive numeric values within a line |

436 | in both the file header and the data records. |

437 | </p> |

438 | <p> </p> |

439 | <center><h2>3</h2></center> |

440 | <center><h2>Implementation Considerations</h2></center> |

441 | <p> |

442 | Even though an ASCII file is the most universally readable |

443 | type of file, there are differences in the way different operating |

444 | systems define the end of a line for ASCII text files. Therefore, |

445 | some consideration must be given to the way in which files are |

446 | transferred between machines with different operating systems. |

447 | </p> |

448 | <p> |

449 | MS DOS uses the ASCII characters for carriage return <cr> and |

450 | line feed <lf> to terminate each line, Macintosh uses just <cr>, |

451 | Unix uses just <lf>, whereas VAX/VMS has control words at the |

452 | beginning of each line which give the number of characters in the |

453 | line. It is, therefore, impracticable to write an ASCII file |

454 | which will appear as a native to every operating system. If |

455 | inter-system file transfers are performed using some of the |

456 | "standard" file transfer software (Kermit, FTP, DECnet-DOS, etc.) |

457 | then the conversion to the appropriate end-of-line designator is |

458 | done automatically during the file transfer, assuming it is not a |

459 | bit for bit (binary) transfer. But if the file is written to some |

460 | storage medium (diskette, tape, compact disc, etc.) under one |

461 | operating system, and read from the medium by another operating |

462 | system, then it may be necessary to rewrite or edit the file to a |

463 | form with the appropriate end-of-line designator. Analogous to |

464 | the end-of-line designator, the end-of-file designator differs |

465 | with different operating systems, but is appropriately converted |

466 | using standard file transfer software. |

467 | </lf></cr></lf></cr></p> |

468 | <p> |

469 | There is currently no convenient solution to the above stated |

470 | dilemma. It is mentioned mainly to alert originators and users of |

471 | exchange files to the potential problems with transferring ASCII |

472 | files between different operating systems. In the past, the MS |

473 | DOS designators have been the convention for transferring files |

474 | via diskette and compact disc, but this may change as technology |

475 | and industry standards change. In any case, prior to each |

476 | mission, the mode of file transfer, and the acceptable end-of-line |

477 | and end-of-file designators, will be decided upon and communicated |

478 | to the project participants. |

479 | </p> |

480 | <p> |

481 | Except for the purpose of preparing a file for use on a |

482 | different operating system, there must not be any extraneous |

483 | non-printable ASCII characters within an exchange file. The |

484 | non-printable characters have ASCII decimal values of 0 through |

485 | 31, and values greater than 126. For similar reasons, exchange |

486 | files must not be Fortran output files with Fortran carriage |

487 | control characters embedded within the file. |

488 | </p> |

489 | <p> |

490 | Programming languages impose limitations on record length, |

491 | magnitudes of integer and real numbers, and precision of real |

492 | numbers. To comply with limitations in the most commonly used |

493 | environments, the maximum record length in exchange files is 32766 |

494 | characters. It is suggested that all numeric values be limited to |

495 | seven significant digits within the magnitude range of 1.0E-38 to |

496 | 1.0E+38. |

497 | </p> |

498 | <p> |

499 | For numeric data, there should be an adequate number of |

500 | digits to resolve the anticipated precision, but in the interest |

501 | of minimizing the file size, the number of digits should not be |

502 | larger than necessary. Also, unnecessary records of missing |

503 | values should not be used to pad the beginning or end of the data |

504 | section of an exchange file. If, for example, the data from an |

505 | airborne instrument begins 10 minutes after takeoff, and |

506 | terminates 10 minutes before landing, it is unnecessary to include |

507 | 10 minutes of missing values before the data begins and after it |

508 | terminates. |

509 | </p> |

510 | <p> </p> |

511 | <center><h2>4</h2></center> |

512 | <center><h2>Notation</h2></center> |

513 | <p> |

514 | The array and implied loop notation, used to generalize the |

515 | exchange file format definitions given in Section 6, will now be |

516 | explained. The notation is merely a convenient means of |

517 | specifying the file formats, and not intended to indicate useful |

518 | or desirable array structures in computer programs. |

519 | </p> |

520 | <p> |

521 | Quantities enclosed in square brackets [ ] are read with one |

522 | "read" statement and, therefore, the quantities occupy one record |

523 | which may exceed one line. One or more quantities appearing in a |

524 | line, and not enclosed in square brackets, are read as one record |

525 | and constitute one line in the exchange file. Similar comments |

526 | apply to writing the records, but the descriptions which follow in |

527 | this Section are from the perspective of reading the records. |

528 | </p> |

529 | <p> |

530 | The indices act merely as counters to indicate the dependence |

531 | of some variable, but several indices are consistently used for |

532 | special purposes. The index m is always used to count independent |

533 | variable marks, and the implied loop over m is unbounded. The |

534 | index s is the counter for the independent variables (dimensions), |

535 | n for the primary variables, and a for the auxiliary variables. |

536 | The usage of other indices (i,j,k) is less consistent, but usually |

537 | they are counters for the bounded independent variable values. |

538 | </p> |

539 | <p> |

540 | Consider the array X, which contains values of the |

541 | independent variables on which the primary variables are |

542 | dependent. To reference a specific array element we write X(2,1). |

543 | To reference a general array element we write X(i,s), where i and |

544 | s can assume any allowable values. To indicate the allowable |

545 | range of values for i and s we write X(i,s), i=1,NX(s), s=1,NIV; |

546 | which states that s may take on integer values of 1 to NIV, and i |

547 | may assume integer values of 1 to NX(s), the value of NX depending |

548 | on the value of s. NIV is the number of independent variables, |

549 | and NX(s) is the number of values for the s-th independent |

550 | variable. |

551 | </p> |

552 | <p> |

553 | Now consider the array V(X,n), which contains values of the |

554 | primary variables as functions of two independent variables. |

555 | Since NIV=2, V(X,n) may also be expressed as V(X(i,1),X(m,2),n), |

556 | or simply as V(i,m,n). To completely specify the contents of V we |

557 | write V(i,m,n), i=1,NX(1), n=1,NV, where NV is the number of |

558 | primary variables, and NX(1) is the number of bounded independent |

559 | variable values. It is implied that m can pertain to any |

560 | independent variable mark within the file. |

561 | </p> |

562 | <p> |

563 | For reading data records, the implied loop notation has a |

564 | slightly different meaning, because then it implies that during |

565 | the read operation the loop index will sequentially take on the |

566 | values dictated by the loop limits. If the terminal value of a |

567 | loop is smaller than the initial value, the implication is that |

568 | the loop is not executed. Let the general expression for the data |

569 | format be:<br><br> |

570 | |

571 | [ X(m,2) ( A(m,a), a=1,NAUXV ) ]<br> |

572 | [ V(i,m,n), i=1,NX(1) ] n=1,NV<br> |

573 | </p> |

574 | <p> |

575 | In the above expressions X(m,2) represents the m-th |

576 | independent variable mark for the unbounded independent variable; |

577 | A(m,a) is the value of the a-th auxiliary variable at the m-th |

578 | independent variable mark; and V(i,m,n) is the value of the n-th |

579 | primary variable at the m-th independent variable mark and i-th |

580 | bounded independent variable value. NAUXV is the number of |

581 | auxiliary variables. |

582 | </p> |

583 | <p> |

584 | The square brackets enclosing the first line of the |

585 | expression indicate that an independent variable mark and NAUXV |

586 | auxiliary variables are read as one record which may span more |

587 | than one line. The second line of the expression is to be |

588 | interpreted to mean that for the m-th independent variable mark |

589 | there are NV records of primary variables, which will be read with |

590 | n starting at a value of 1, incrementing by one for each record, |

591 | and ending with a value of NV for the last record. The notation |

592 | within the square brackets indicates that, for each record, NX(1) |

593 | values of the n-th primary variable at the m-th independent |

594 | variable mark are read. In this case, the constant values of the |

595 | bounded independent variable (X(i,1), i=1,NX(1)) are read from the |

596 | file header. |

597 | </p> |

598 | <p> |

599 | To be more specific, assume there are three auxiliary |

600 | variables (NAUXV=3), two primary variables (NV=2), and four values |

601 | for the bounded independent variable (NX(1)=4). Given these |

602 | values for the loop limits, the general expressions for the data |

603 | format imply the following record structure (the intra-record |

604 | spacing between values is merely for clarity):<br><br> |

605 | |

606 | [ X(m,2) A(m,1) A(m,2) A(m,3) ]<br> |

607 | [ V(1,m,1) V(2,m,1) V(3,m,1) V(4,m,1) ]<br> |

608 | [ V(1,m,2) V(2,m,2) V(3,m,2) V(4,m,2) ]<br> |

609 | [ X(m+1,2) A(m+1,1) A(m+1,2) A(m+1,3) ]<br> |

610 | [ V(1,m+1,1) V(2,m+1,1) V(3,m+1,1) V(4,m+1,1) ]<br> |

611 | [ V(1,m+1,2) V(2,m+1,2) V(3,m+1,2) V(4,m+1,2) ]<br> |

612 | [ X(m+2,2) A(m+2,1) A(m+2,2) A(m+2,3) ]<br> |

613 | etc., etc. |

614 | </p> |

615 | <p> |

616 | If, for the sake of illustration, NAUXV=0 then according to |

617 | the loop limits in the general expressions for the data format |

618 | given above, the terminal value of the loop would be smaller than |

619 | the initial value. The implication would then be that no |

620 | auxiliary variables were present in the file and, therefore, none |

621 | would be read from the file. The data records would remain the |

622 | same as those in the above example, with the exception that there |

623 | would be no auxiliary variables in the records containing the |

624 | independent variable marks. |

625 | </p> |

626 | <p> </p> |

627 | <center><h2>5</h2></center> |

628 | <center><h2>Definitions</h2></center> |

629 | <p> |

630 | </p><dl> |

631 | <dt>A(m,a):</dt><dd> value of the a-th auxiliary variable at the m-th |

632 | independent variable mark (a=1,NAUXV). If A(m,a) is real, the use of |

633 | scaled whole numbers is encouraged. |

634 | </dd><dt>AMISS(a):</dt><dd> a quantity indicating missing or erroneous |

635 | data for the a-th auxiliary variable. The value of AMISS(a) must be |

636 | larger than any "good" value of A(m,a) recorded in the file. The value |

637 | of AMISS(a) defined in the file header is the same value that appears |

638 | in the data records for missing/bad values of A(m,a). |

639 | </dd><dt>ANAME(a):</dt><dd> a character string specifying the name |

640 | and/or description of the a-th auxiliary variable, on one line and not |

641 | exceeding 132 characters. Include units of measure the data will have |

642 | after multiplying by the a-th scale factor, ASCAL(a). The order in |

643 | which the auxiliary variable names are listed in the file header is the |

644 | same order in which the auxiliary variables are read from the data |

645 | records, and the same order in which the auxiliary variable scale |

646 | factors and missing values are read from the file header records. |

647 | </dd><dt>ASCAL(a):</dt><dd> scale factor (real) by which one |

648 | multiplies recorded values of the a-th auxiliary variable to convert |

649 | them to the units specified in ANAME(a). |

650 | </dd><dt>character string:</dt><dd> a string of at most 132 printable |

651 | ASCII characters occupying one line of an exchange file. The printable |

652 | ASCII characters have ASCII decimal values between 32 and 126 |

653 | inclusive. |

654 | </dd><dt>DATE:</dt><dd> UT date at which the data within the exchange |

655 | file begins. For aircraft data files DATE is the UT date of takeoff. |

656 | DATE is in the form YYYY MM DD (year, month, day) with each integer |

657 | value separated by at least one space. For example: 1989 1 16 or 1989 |

658 | 01 16 for 16 January 1989. |

659 | </dd><dt>DX(s):</dt><dd> interval (real) between values of the s-th |

660 | independent variable, X(i,s), i=1,NX(s); in the same units as specified |

661 | in XNAME(s). DX(s) is zero for a non-uniform interval. DX(s) is |

662 | non-zero for a constant interval. If DX(s) is non-zero then it is |

663 | required that NX(s) = (X(NX(s),s)-X(1,s)) / DX(s) + 1. For some file |

664 | formats the value of DX also depends on the unbounded independent |

665 | variable and is expressed as DX(m,s). |

666 | </dd><dt>FFI:</dt><dd> file format index (integer). The FFI uniquely |

667 | defines the file header and data formats. It is the second value |

668 | recorded on the first line of an exchange file. The first (left-most) |

669 | digit in the FFI gives the number of independent variables listed in |

670 | the file header, the second digit gives the number of required (in the |

671 | sense that they are necessary for reading the subsequent data records) |

672 | auxiliary variables. The remaining digits are used to loosely associate |

673 | file formats with similar characteristics. |

674 | </dd><dt>independent variable mark:</dt><dd> a value of the unbounded |

675 | independent variable which is explicitly recorded in the data records. |

676 | Independent variable marks must be monotonic. |

677 | </dd><dt>integer:</dt><dd> a whole number written without a decimal point. Leading zeros are insignificant. |

678 | |

679 | </dd><dt>IVOL:</dt><dd> volume number (integer) of the total number of |

680 | volumes required to store a complete dataset, assuming only one file |

681 | per volume. To be used in conjunction with NVOL to allow data exchange |

682 | of large datasets requiring more than one volume of the exchange medium |

683 | (diskette, etc.). |

684 | </dd><dt>LENA(a):</dt><dd> integer number of characters used to record |

685 | auxiliary variable A(m,a) when A(m,a) is represented as a character |

686 | string. The value of LENA(a) must be less than 133. |

687 | </dd><dt>LENX(s):</dt><dd> integer number of characters used to record |

688 | independent variable X(i,s) when X(i,s) is represented as a character |

689 | string. The value of LENX(s) must be less than 133. |

690 | </dd><dt>line:</dt><dd> refers to a string of printable ASCII |

691 | characters within an exchange file, terminated by the appropriate |

692 | end-of-line (or new line) designator for the operating system on which |

693 | the file resides. The maximum number of printable characters per line |

694 | is 132. |

695 | </dd><dt>MNAME:</dt><dd> a character string specifying the mission |

696 | which the data is supporting, on one line and not exceeding 132 |

697 | characters. The appropriate value for MNAME will be decided upon prior |

698 | to the start of the mission. |

699 | </dd><dt>NAUXC:</dt><dd> number of auxiliary variables (integer) whose |

700 | values are recorded as character strings. If NAUXC=0 then no auxiliary |

701 | variables are recorded as character strings. |

702 | </dd><dt>NAUXV:</dt><dd> number of auxiliary variables (integer). If |

703 | NAUXV=0 then no auxiliary variables are recorded and no missing values, |

704 | scale factors, or names for the auxiliary variables are present in the |

705 | file header. |

706 | </dd><dt>NCOM(k):</dt><dd> a character string containing the k-th normal comment line (k=1,NNCOML). |

707 | |

708 | </dd><dt>NIV:</dt><dd> number of independent variables (integer) on which the primary variables are dependent. |

709 | |

710 | </dd><dt>NLHEAD:</dt><dd> number of lines (integer) composing the file header. NLHEAD is the first recorded value on the first line of an exchange file. |

711 | |

712 | </dd><dt>NNCOML:</dt><dd> number of normal comment lines (integer) |

713 | within the file header, including blank lines and data column headers, |

714 | etc. Normal comments are those which apply to all of a particular kind |

715 | of dataset, and can be used to more completely describe the contents of |

716 | the file. If NNCOML=0 then there are no normal comment lines. |

717 | </dd><dt>NSCOML:</dt><dd> number of special comment lines (integer) |

718 | within the file header. Special comments are reserved to note special |

719 | problems or circumstances concerning the data within a specific |

720 | exchange file so they may easily be found and flagged by those reading |

721 | the file. If NSCOML=0 then there are no special comment lines. |

722 | </dd><dt>NV:</dt><dd> number of primary variables in the exchange file (integer). |

723 | |

724 | </dd><dt>NVOL:</dt><dd> total number of volumes (integer) required to |

725 | store the complete dataset, assuming one file per volume. If NVOL>1 |

726 | then each volume must contain a file header with an incremented value |

727 | for IVOL, and continue the data records with monotonic independent |

728 | variable marks. |

729 | </dd><dt>NVPM(s):</dt><dd> integer number of independent variable |

730 | values between independent variable marks, for the s-th independent |

731 | variable. NVPM(s) = (X(m+1,s)-X(m,s)) / DX(s). |

732 | </dd><dt>NX(s):</dt><dd> number of values (integer) for the s-th |

733 | independent variable. If NX(s) is defined in the file header then it |

734 | represents the constant number of values for the s-th independent |

735 | variable. Otherwise, NX=NX(m,s) is defined in the data records and its |

736 | values can vary with the independent variable marks. In the case of an |

737 | unbounded independent variable, NX(NIV) is never specified in the file |

738 | but the values of X(m,NIV) are read from the data records (independent |

739 | variable marks). |

740 | </dd><dt>NXDEF(s):</dt><dd> number of values (integer) of the s-th |

741 | independent variable which are explicitly defined in the file header. |

742 | If NXDEF(s)=NX(s) then all values of X(i,s), i=1,NX(s) are recorded in |

743 | the file header. If NXDEF(s)=1 then only the first value, X(1,s), is |

744 | recorded in the file header and the remaining values of X(i,s) are |

745 | calculated as X(i,s) = X(1,s) + (i-1) * DX(s) for i=2,NX(s). |

746 | </dd><dt>ONAME:</dt><dd> a character string specifying the name(s) of |

747 | the originator(s) of the exchange file, last name first. On one line |

748 | and not exceeding 132 characters. |

749 | </dd><dt>ORG:</dt><dd> character string specifying the organization or |

750 | affiliation of the originator of the exchange file. Can include |

751 | address, phone number, email address, etc. On one line and not |

752 | exceeding 132 characters. |

753 | </dd><dt>RDATE:</dt><dd> date of data reduction or revision, in the same form as DATE. |

754 | |

755 | </dd><dt>real:</dt><dd> a real valued number that may include a decimal |

756 | point or be written in exponential notation. It is preferred that the |

757 | values of real numbers be limited to seven significant digits within |

758 | the magnitude range of 1.0E-38 to 1.0E+38. |

759 | </dd><dt>record:</dt><dd> a logical record to be read by one "read" |

760 | statement. The maximum record length is 32766 characters with a maximum |

761 | of 132 characters per line. The first character of a record is also the |

762 | first character of a line. |

763 | </dd><dt>SCOM(k):</dt><dd> a character string containing the k-th special comment line (k=1,NSCOML). |

764 | |

765 | </dd><dt>SNAME:</dt><dd> a character string specifying the source of |

766 | the measurements or model results which compose the primary variables, |

767 | on one line and not exceeding 132 characters. Can include instrument |

768 | name, measurement platform, etc. |

769 | </dd><dt>V(X,n):</dt><dd> value of n-th primary variable (n=1,NV) at |

770 | specified values of independent variables X. If V is real then the use |

771 | of scaled whole numbers, without decimal points, is encouraged. |

772 | </dd><dt>VMISS(n):</dt><dd> a quantity indicating missing or erroneous |

773 | data values for the n-th primary variable. VMISS(n) must be larger than |

774 | any "good" data value, of the n-th primary variable, recorded in the |

775 | file. The value of VMISS(n) defined in the file header is the same |

776 | value that appears in the data records for missing/bad values of |

777 | V(X,n). |

778 | </dd><dt>VNAME(n):</dt><dd> a character string giving the name and/or |

779 | description of the n-th primary variable, on one line and not exceeding |

780 | 132 characters. Include units of measure the data will have after |

781 | multiplying by the n-th scale factor, VSCAL(n). The order in which the |

782 | primary variable names are listed in the file header is the same order |

783 | in which the primary variables are read from the data records, and the |

784 | same order in which scale factors and missing values for the primary |

785 | variables are read from the file header records. |

786 | </dd><dt>VSCAL(n):</dt><dd> scale factor (real) by which one |

787 | multiplies recorded values of the n-th primary variable to convert them |

788 | to the units specified in VNAME(n). |

789 | </dd><dt>X(i,s):</dt><dd> i-th value of the s-th independent variable |

790 | (X(i,s), i=1,NX(s), s=1,NIV). For some file formats the values of a |

791 | bounded independent variable may also depend on the unbounded |

792 | independent variable, and in those cases we will denote the bounded |

793 | independent variable as X(i,m,s), with s<niv. values="" of="" (x(i,s),="" and="" (x(i,m,s),="" i="1,NX(s))" must="" be="" monotonic.=""></niv.></dd><dt>XNAME(s):</dt><dd> |

794 | a character string giving the name and/or description of the s-th |

795 | independent variable, on one line and not exceeding 132 characters. |

796 | Include units of measure and order the independent variable names such |

797 | that, when reading primary variables from the data records, the most |

798 | rapidly varying independent variable is listed first and the most |

799 | slowly varying independent variable is listed last. |

800 | </dd></dl> |

801 | <p></p> |

802 | <p> |

803 | </p><p> </p> |

804 | <center><h2>6</h2></center> |

805 | <center><h2>ASCII File Format Specifications</h2></center> |

806 | <p></p> |

807 | <p> |

808 | The file format specifications, ordered by increasing file |

809 | format index, FFI, are given in this Section. Refer to the |

810 | definitions in Section 5 for explanations of the variables. A |

811 | brief description of the variables and file format is followed by |

812 | the format of the file header, and the general expression for the |

813 | data records. Occasionally, lower case characters, preceded by |

814 | several periods, are used to annotate certain variables. |

815 | </p> |

816 | <p> |

817 | |

818 | <b>FFI = 1001:</b><br> |

819 | One real, unbounded independent variable (NIV=1).<br> |

820 | Primary variables are real.<br> |

821 | No auxiliary variables.<br> |

822 | Independent and primary variables are recorded in the same record. |

823 | </p> |

824 | <pre> NLHEAD 1001<br> |

825 | ONAME<br> |

826 | ORG<br> |

827 | SNAME<br> |

828 | MNAME<br> |

829 | IVOL NVOL<br> |

830 | DATE RDATE<br> |

831 | DX(1)<br> |

832 | XNAME(1)<br> |

833 | NV<br> |

834 | [ VSCAL(n), n=1,NV ]<br> |

835 | [ VMISS(n), n=1,NV ]<br> |

836 | [ VNAME(n) ] n=1,NV<br> |

837 | NSCOML<br> |

838 | [ SCOM(k) ] k=1,NSCOML<br> |

839 | NNCOML<br> |

840 | [ NCOM(k) ] k=1,NNCOML<br> |

841 | [ X(m,1) ( V(m,n), n=1,NV ) ]<br> |

842 | </pre> |

843 | <hr width="60%"> |

844 | <p> </p> |

845 | <p> |

846 | <b>FFI = 1010:</b><br> |

847 | One real, unbounded independent variable (NIV=1).<br> |

848 | Primary variables are real.<br> |

849 | Auxiliary variables are real.<br> |

850 | The independent and auxiliary variables are in the same record.<br> |

851 | All primary variables for a given independent variable mark are<br> |

852 | recorded in the same record.<br> |

853 | </p> |

854 | <pre> NLHEAD 1010<br> |

855 | ONAME<br> |

856 | ORG<br> |

857 | SNAME<br> |

858 | MNAME<br> |

859 | IVOL NVOL<br> |

860 | DATE RDATE<br> |

861 | DX(1)<br> |

862 | XNAME(1)<br> |

863 | NV<br> |

864 | [ VSCAL(n), n=1,NV ]<br> |

865 | [ VMISS(n), n=1,NV ]<br> |

866 | [ VNAME(n) ] n=1,NV<br> |

867 | NAUXV<br> |

868 | [ ASCAL(a), a=1,NAUXV ]<br> |

869 | [ AMISS(a), a=1,NAUXV ]<br> |

870 | [ ANAME(a) ] a=1,NAUXV<br> |

871 | NSCOML<br> |

872 | [ SCOM(k) ] k=1,NSCOML<br> |

873 | NNCOML<br> |

874 | [ NCOM(k) ] k=1,NNCOML<br> |

875 | [ X(m,1) ( A(m,a), a=1,NAUXV ) ]<br> |

876 | [ V(m,n), n=1,NV ]<br> |

877 | </pre> |

878 | <hr width="60%"> |

879 | <p> </p> |

880 | <p> |

881 | <b>FFI = 1020:</b><br> |

882 | One real, constant increment, unbounded independent variable with<br> |

883 | implied values between independent variable marks (NIV=1).<br> |

884 | Primary variables are real.<br> |

885 | Auxiliary variables are real.<br> |

886 | The independent and auxiliary variables are in the same record.<br> |

887 | A record of primary variable values at implied independent<br> |

888 | variable values is recorded for each primary variable.<br> |

889 | </p> |

890 | <pre> NLHEAD 1020<br> |

891 | ONAME<br> |

892 | ORG<br> |

893 | SNAME<br> |

894 | MNAME<br> |

895 | IVOL NVOL<br> |

896 | DATE RDATE<br> |

897 | DX(1) ..............DX(1) not equal to zero<br> |

898 | NVPM(1)<br> |

899 | XNAME(1)<br> |

900 | NV<br> |

901 | [ VSCAL(n), n=1,NV ]<br> |

902 | [ VMISS(n), n=1,NV ]<br> |

903 | [ VNAME(n) ] n=1,NV<br> |

904 | NAUXV<br> |

905 | [ ASCAL(a), a=1,NAUXV ]<br> |

906 | [ AMISS(a), a=1,NAUXV ]<br> |

907 | [ ANAME(a) ] a=1,NAUXV<br> |

908 | NSCOML<br> |

909 | [ SCOM(k) ] k=1,NSCOML<br> |

910 | NNCOML<br> |

911 | [ NCOM(k) ] k=1,NNCOML<br> |

912 | [ X(m,1) ( A(m,a), a=1,NAUXV ) ]<br> |

913 | [ V(i,n), i=1+(m-1)*NVPM(1),m*NVPM(1) ] n=1,NV<br> |

914 | </pre> |

915 | <hr width="60%"> |

916 | <p> </p> |

917 | <p> |

918 | <b>FFI = 2010:</b><br> |

919 | Two real independent variables, one unbounded and one bounded with<br> |

920 | constant values (NIV=2).<br> |

921 | Primary variables are real.<br> |

922 | Auxiliary variables are real.<br> |

923 | Independent variable mark and auxiliary variables are in the same<br> |

924 | record.<br> |

925 | For each primary variable is a record of its values at the bounded<br> |

926 | independent variable values.<br> |

927 | </p> |

928 | <pre> NLHEAD 2010<br> |

929 | ONAME<br> |

930 | ORG<br> |

931 | SNAME<br> |

932 | MNAME<br> |

933 | IVOL NVOL<br> |

934 | DATE RDATE<br> |

935 | DX(1) DX(2)<br> |

936 | NX(1)<br> |

937 | NXDEF(1)<br> |

938 | [ X(i,1), i=1,NXDEF(1) ]<br> |

939 | [ XNAME(s) ] s=1,2<br> |

940 | NV<br> |

941 | [ VSCAL(n), n=1,NV ]<br> |

942 | [ VMISS(n), n=1,NV ]<br> |

943 | [ VNAME(n) ] n=1,NV<br> |

944 | NAUXV<br> |

945 | [ ASCAL(a), a=1,NAUXV ]<br> |

946 | [ AMISS(a), a=1,NAUXV ]<br> |

947 | [ ANAME(a) ] a=1,NAUXV<br> |

948 | NSCOML<br> |

949 | [ SCOM(k) ] k=1,NSCOML<br> |

950 | NNCOML<br> |

951 | [ NCOM(k) ] k=1,NNCOML<br> |

952 | [ X(m,2) ( A(m,a), a=1,NAUXV ) ]<br> |

953 | [ V(i,m,n), i=1,NX(1) ] n=1,NV<br> |

954 | </pre> |

955 | <hr width="60%"> |

956 | <p> </p> |

957 | <p> |

958 | <b>FFI = 2110:</b><br> |

959 | Two real independent variables, one unbounded and one bounded with<br> |

960 | its values recorded in the data records (NIV=2).<br> |

961 | Primary variables are real.<br> |

962 | The first auxiliary variable is NX(m,1), other auxiliary variables<br> |

963 | are real.<br> |

964 | The values of X(i,m,1) are included in the records with the primary<br> |

965 | variables.<br> |

966 | If DX(2) is non-zero then X(m,2) must be recorded at a constant<br> |

967 | interval of DX(2). For this case, if NX(m,1)=AMISS(1) or NX(m,1)=0<br> |

968 | then the implication is that the records containing values of the<br> |

969 | bounded independent variable and primary variables are omitted, and<br> |

970 | the next record contains the succeeding independent variable mark<br> |

971 | and auxiliary variables.<br> |

972 | </p> |

973 | <pre> NLHEAD 2110<br> |

974 | ONAME<br> |

975 | ORG<br> |

976 | SNAME<br> |

977 | MNAME<br> |

978 | IVOL NVOL<br> |

979 | DATE RDATE<br> |

980 | DX(1) DX(2)<br> |

981 | [ XNAME(s) ] s=1,2<br> |

982 | NV<br> |

983 | [ VSCAL(n), n=1,NV ]<br> |

984 | [ VMISS(n), n=1,NV ]<br> |

985 | [ VNAME(n) ] n=1,NV<br> |

986 | NAUXV .................The first auxiliary variable is NX(m,1)<br> |

987 | [ ASCAL(a), a=1,NAUXV ]<br> |

988 | [ AMISS(a), a=1,NAUXV ]<br> |

989 | [ ANAME(a) ] a=1,NAUXV<br> |

990 | NSCOML<br> |

991 | [ SCOM(k) ] k=1,NSCOML<br> |

992 | NNCOML<br> |

993 | [ NCOM(k) ] k=1,NNCOML<br> |

994 | [ X(m,2) NX(m,1) ( A(m,a), a=2,NAUXV ) ]<br> |

995 | [ X(i,m,1) ( V(i,m,n), n=1,NV ) ] i=1,NX(m,1)<br> |

996 | </pre> |

997 | <hr width="60%"> |

998 | <p> </p> |

999 | <p> |

1000 | <b>FFI = 2160:</b><br> |

1001 | Two independent variables; the unbounded independent variable is a<br> |

1002 | character string of length LENX(2); the bounded independent<br> |

1003 | variable is real with its values recorded in the data records<br> |

1004 | (NIV=2).<br> |

1005 | Primary variables are real.<br> |

1006 | The independent variable mark is in a separate record from the<br> |

1007 | auxiliary variables.<br> |

1008 | The first auxiliary variable is NX(m,1).<br> |

1009 | NAUXC is the number of auxiliary variables recorded as character<br> |

1010 | strings, which follow the real-valued auxiliary variables, and<br> |

1011 | have lengths LENA(a), a=NAUXV-NAUXC+1,NAUXV. Therefore,<br> |

1012 | AMISS(a), a=NAUXV-NAUXC+1,NAUXV are also character strings of<br> |

1013 | length LENA(a).<br> |

1014 | The values of X(i,m,1) are included in the records with the<br> |

1015 | primary variables.<br> |

1016 | </p> |

1017 | <pre> NLHEAD 2160<br> |

1018 | ONAME<br> |

1019 | ORG<br> |

1020 | SNAME<br> |

1021 | MNAME<br> |

1022 | IVOL NVOL<br> |

1023 | DATE RDATE<br> |

1024 | DX(1)<br> |

1025 | LENX(2)<br> |

1026 | [ XNAME(s) ] s=1,2<br> |

1027 | NV<br> |

1028 | [ VSCAL(n), n=1,NV ]<br> |

1029 | [ VMISS(n), n=1,NV ]<br> |

1030 | [ VNAME(n) ] n=1,NV<br> |

1031 | NAUXV ........................first auxiliary variable is NX(m,1)<br> |

1032 | NAUXC<br> |

1033 | [ ASCAL(a), a=1,NAUXV-NAUXC ]<br> |

1034 | [ AMISS(a), a=1,NAUXV-NAUXC ] ...................these are real<br> |

1035 | [ LENA(a), a=NAUXV-NAUXC+1,NAUXV ]<br> |

1036 | [ AMISS(a) ] a=NAUXV-NAUXC+1,NAUXV ..........these are strings<br> |

1037 | [ ANAME(a) ] a=1,NAUXV<br> |

1038 | NSCOML<br> |

1039 | [ SCOM(k) ] k=1,NSCOML<br> |

1040 | NNCOML<br> |

1041 | [ NCOM(k) ] k=1,NNCOML<br> |

1042 | [ X(m,2) ] .....................................character string<br> |

1043 | [ NX(m,1) ( A(m,a), a=2,NAUXV-NAUXC ) ]<br> |

1044 | [ A(m,a) ] a=NAUXV-NAUXC+1,NAUXV ..............character strings<br> |

1045 | [ X(i,m,1) ( V(i,m,n), n=1,NV ) ] i=1,NX(m,1)<br> |

1046 | </pre> |

1047 | <hr width="60%"> |

1048 | <p> </p> |

1049 | <p> |

1050 | <b>FFI = 2310:</b><br> |

1051 | Two real independent variables, one unbounded and one bounded with<br> |

1052 | its number of constant increment values, base value, and increment<br> |

1053 | defined in the auxiliary variable list (NIV=2).<br> |

1054 | Primary variables are real.<br> |

1055 | The first three auxiliary variables are NX(m,1), X(1,m,1), and<br> |

1056 | DX(m,1); the other auxiliary variables are real.<br> |

1057 | If DX(2) is non-zero then X(m,2) must be recorded at a constant<br> |

1058 | interval of DX(2). For this case, if NX(m,1)=AMISS(1) or NX(m,1)=0<br> |

1059 | then the implication is that the records containing values of the<br> |

1060 | primary variables are omitted, and the next record contains the<br> |

1061 | succeeding independent variable mark and auxiliary variables.<br> |

1062 | For each primary variable is a record of its values at the bounded<br> |

1063 | independent variable values.<br> |

1064 | The bounded independent variable values are<br> |

1065 | X(i,m,1) = X(1,m,1) + (i-1) * DX(m,1) for i=1,NX(m,1).<br> |

1066 | </p> |

1067 | <pre> NLHEAD 2310<br> |

1068 | ONAME<br> |

1069 | ORG<br> |

1070 | SNAME<br> |

1071 | MNAME<br> |

1072 | IVOL NVOL<br> |

1073 | DATE RDATE<br> |

1074 | DX(2)<br> |

1075 | [ XNAME(s) ] s=1,2<br> |

1076 | NV<br> |

1077 | [ VSCAL(n), n=1,NV ]<br> |

1078 | [ VMISS(n), n=1,NV ]<br> |

1079 | [ VNAME(n) ] n=1,NV<br> |

1080 | NAUXV ............first 3 auxil. var. are NX(m,1),X(1,m,1),DX(m,1)<br> |

1081 | [ ASCAL(a), a=1,NAUXV ]<br> |

1082 | [ AMISS(a), a=1,NAUXV ]<br> |

1083 | [ ANAME(a) ] a=1,NAUXV<br> |

1084 | NSCOML<br> |

1085 | [ SCOM(k) ] k=1,NSCOML<br> |

1086 | NNCOML<br> |

1087 | [ NCOM(k) ] k=1,NNCOML<br> |

1088 | [ X(m,2) NX(m,1) X(1,m,1) DX(m,1) ( A(m,a), a=4,NAUXV ) ]<br> |

1089 | [ V(i,m,n), i=1,NX(m,1) ] n=1,NV<br> |

1090 | </pre> |

1091 | <hr width="60%"> |

1092 | <p> </p> |

1093 | <p> |

1094 | <b>FFI = 3010:</b><br> |

1095 | Three real independent variables, one unbounded and two bounded<br> |

1096 | with constant values defined in the file header (NIV=3).<br> |

1097 | Primary variables are real.<br> |

1098 | Auxiliary variables are real.<br> |

1099 | The independent variable marks and auxiliary variables are in the<br> |

1100 | same record.<br> |

1101 | For each primary variable and value of the second independent<br> |

1102 | variable, is a record of primary variable values at values of the<br> |

1103 | first independent variable.<br> |

1104 | </p> |

1105 | <pre> NLHEAD 3010<br> |

1106 | ONAME<br> |

1107 | ORG<br> |

1108 | SNAME<br> |

1109 | MNAME<br> |

1110 | IVOL NVOL<br> |

1111 | DATE RDATE<br> |

1112 | DX(1) DX(2) DX(3)<br> |

1113 | NX(1) NX(2)<br> |

1114 | NXDEF(1) NXDEF(2)<br> |

1115 | [ X(i,1), i=1,NXDEF(1) ]<br> |

1116 | [ X(j,2), j=1,NXDEF(2) ]<br> |

1117 | [ XNAME(s) ] s=1,3<br> |

1118 | NV<br> |

1119 | [ VSCAL(n), n=1,NV ]<br> |

1120 | [ VMISS(n), n=1,NV ]<br> |

1121 | [ VNAME(n) ] n=1,NV<br> |

1122 | NAUXV<br> |

1123 | [ ASCAL(a), a=1,NAUXV ]<br> |

1124 | [ AMISS(a), a=1,NAUXV ]<br> |

1125 | [ ANAME(a) ] a=1,NAUXV<br> |

1126 | NSCOML<br> |

1127 | [ SCOM(k) ] k=1,NSCOML<br> |

1128 | NNCOML<br> |

1129 | [ NCOM(k) ] k=1,NNCOML<br> |

1130 | [ X(m,3) ( A(m,a), a=1,NAUXV ) ]<br> |

1131 | [ V(i,j,m,n), i=1,NX(1) ] j=1,NX(2) n=1,NV<br> |

1132 | </pre> |

1133 | <hr width="60%"> |

1134 | <p> </p> |

1135 | <p> |

1136 | <b>FFI = 4010:</b><br> |

1137 | Four real independent variables, one unbounded and three bounded<br> |

1138 | with constant values defined in the file header (NIV=4).<br> |

1139 | Primary variables are real.<br> |

1140 | Auxiliary variables are real.<br> |

1141 | The independent variable marks and auxiliary variables are in the<br> |

1142 | same record.<br> |

1143 | For each primary variable and value of the third and second<br> |

1144 | independent variables, is a record of primary variable values, at<br> |

1145 | values of the first independent variable.<br> |

1146 | </p> |

1147 | <pre> NLHEAD 4010<br> |

1148 | ONAME<br> |

1149 | ORG<br> |

1150 | SNAME<br> |

1151 | MNAME<br> |

1152 | IVOL NVOL<br> |

1153 | DATE RDATE<br> |

1154 | DX(1) DX(2) DX(3) DX(4)<br> |

1155 | NX(1) NX(2) NX(3)<br> |

1156 | NXDEF(1) NXDEF(2) NXDEF(3)<br> |

1157 | [ X(i,1), i=1,NXDEF(1) ]<br> |

1158 | [ X(j,2), j=1,NXDEF(2) ]<br> |

1159 | [ X(k,3), k=1,NXDEF(3) ]<br> |

1160 | [ XNAME(s) ] s=1,4<br> |

1161 | NV<br> |

1162 | [ VSCAL(n), n=1,NV ]<br> |

1163 | [ VMISS(n), n=1,NV ]<br> |

1164 | [ VNAME(n) ] n=1,NV<br> |

1165 | NAUXV<br> |

1166 | [ ASCAL(a), a=1,NAUXV ]<br> |

1167 | [ AMISS(a), a=1,NAUXV ]<br> |

1168 | [ ANAME(a) ] a=1,NAUXV<br> |

1169 | NSCOML<br> |

1170 | [ SCOM(k) ] k=1,NSCOML<br> |

1171 | NNCOML<br> |

1172 | [ NCOM(k) ] k=1,NNCOML<br> |

1173 | [ X(m,4) ( A(m,a), a=1,NAUXV ) ]<br> |

1174 | [ V(i,j,k,m,n), i=1,NX(1) ] j=1,NX(2) k=1,NX(3) n=1,NV<br> |

1175 | </pre> |

1176 | <hr width="60%"> |

1177 | <p> </p> |

1178 | <p> </p> |

1179 | <center><h2>6.1</h2></center> |

1180 | <center><h2>Summary of data record formats</h2></center> |

1181 | <pre> |

1182 | FFI=1001: [ X(m,1) ( V(m,n), n=1,NV ) ] |

1183 | |

1184 | |

1185 | FFI=1010: [ X(m,1) ( A(m,a), a=1,NAUXV ) ] |

1186 | [ V(m,n), n=1,NV ] |

1187 | |

1188 | |

1189 | FFI=1020: [ X(m,1) ( A(m,a), a=1,NAUXV ) ] |

1190 | [ V(i,n), i=1+(m-1)*NVPM(1),m*NVPM(1) ] n=1,NV |

1191 | |

1192 | |

1193 | FFI=2010: [ X(m,2) ( A(m,a), a=1,NAUXV ) ] |

1194 | [ V(i,m,n), i=1,NX(1) ] n=1,NV |

1195 | |

1196 | |

1197 | FFI=2110: [ X(m,2) NX(m,1) ( A(m,a), a=2,NAUXV ) ] |

1198 | [ X(i,m,1) ( V(i,m,n), n=1,NV ) ] i=1,NX(m,1) |

1199 | |

1200 | |

1201 | FFI=2160: [ X(m,2) ] ................................... string |

1202 | [ NX(m,1) ( A(m,a), a=2,NAUXV-NAUXC ) ] |

1203 | [ A(m,a) ] a=NAUXV-NAUXC+1,NAUXV ............ strings |

1204 | [ X(i,m,1) ( V(i,m,n), n=1,NV ) ] i=1,NX(m,1) |

1205 | |

1206 | |

1207 | FFI=2310: [ X(m,2) NX(m,1) X(1,m,1) DX(m,1) (A(m,a),a=4,NAUXV) ] |

1208 | [ V(i,m,n), i=1,NX(m,1) ] n=1,NV |

1209 | |

1210 | |

1211 | FFI=3010: [ X(m,3) ( A(m,a), a=1,NAUXV ) ] |

1212 | [ V(i,j,m,n), i=1,NX(1) ] j=1,NX(2) n=1,NV |

1213 | |

1214 | |

1215 | FFI=4010: [ X(m,4) ( A(m,a), a=1,NAUXV ) ] |

1216 | [ V(i,j,k,m,n), i=1,NX(1) ] j=1,NX(2) k=1,NX(3) n=1,NV |

1217 | </pre> |

1218 | <p> </p> |

1219 | <center><h2>7</h2></center> |

1220 | <center><h2>Examples</h2></center> |

1221 | <p> |

1222 | Examples of the file formats, ordered by increasing file |

1223 | format index, are given in this Section. These are fictitious |

1224 | examples and any similarity with existing exchange files is purely |

1225 | a manifestation of the author's lack of imagination. For each |

1226 | example is a file header, followed by a sample of the data |

1227 | records. Numeric constants in the file headers have been |

1228 | annotated with comments enclosed by { }. The annotations are |

1229 | included here as references and need not appear in exchange files. |

1230 | The data records in some of the examples have also been annotated, |

1231 | but those are solely for illustration since annotations should not |

1232 | appear in the data records of exchange files. |

1233 | </p> |

1234 | <p> </p> |

1235 | <pre> 22 1001 {NLHEAD FFI} |

1236 | MERTZ, FRED |

1237 | PACIFIC UNIV. |

1238 | WIND DATA FROM ER-2 METEOROLOGICAL MEASUREMENT SYSTEM (MMS) |

1239 | TAHITI OZONE PROJECT |

1240 | 1 3 {IVOL NVOL} |

1241 | 1991 1 16 1991 1 16 {DATE RDATE} |

1242 | 0 {DX(1)=0 for non-uniform time intervals} |

1243 | TIME (UT SECONDS) from 00 HOURS ON LAUNCH DATE |

1244 | 3 {NV=number of primary variables} |

1245 | 0.1 0.1 0.1 {primary variable scale factors} |

1246 | 999 9999 999 {primary variable missing values} |

1247 | HORIZONTAL WIND SPEED (m/s) |

1248 | HORIZONTAL WIND DIRECTION (deg); TRUE DIRECTION FROM WHICH IT BLOWS. |

1249 | VERTICAL WIND SPEED + up (m/s) |

1250 | 1 {NSCOML=number of special comment lines} |

1251 | Pilot experienced CAT between the times 50300-50400. |

1252 | 4 {NNCOML=number of normal comment lines} |

1253 | Preliminary wind data |

1254 | 1Hz desampled from 5Hz |

1255 | OMEGA used for calc = 0.06280 RAD/SEC |

1256 | UTs Spd Direc Vert Wind |

1257 | 30446.9 305 2592 22 |

1258 | 30447.9 304 2596 22 |

1259 | 30448.9 305 2601 999 |

1260 | 30449.9 306 2603 999 |

1261 | 30450.9 307 2606 25 |

1262 | 30451.8 307 2607 27 |

1263 | 30452.8 309 2610 29 |

1264 | 30453.8 310 2610 29 |

1265 | 30454.8 312 2621 32 |

1266 | </pre> |

1267 | <hr width="60%"> |

1268 | <p> </p> |

1269 | <pre> 41 1010 {NLHEAD FFI} |

1270 | Mertz, Fred |

1271 | Pacific University |

1272 | DC-8 Mark IV Interferometer |

1273 | TAHITI OZONE PROJECT |

1274 | 1 1 {IVOL NVOL} |

1275 | 1991 1 16 1991 2 15 {DATE RDATE} |

1276 | 0 {DX(1)=0 for nonuniform time intervals} |

1277 | UT fractional day number of year given in DATE |

1278 | 8 {NV=number of primary variables} |

1279 | 1.0E+17 1.0E+14 1.0E+13 1.0E+14 1.0E+14 1.0E+13 1.0E+13 1.0E+18 |

1280 | 999 999 9999 9999 999 9999 9999 9999 {VMISS} |

1281 | O3 column density (molecules/cm**2) |

1282 | NO column density (molecules/cm**2) |

1283 | NO2 column density (molecules/cm**2) |

1284 | HNO3 column density (molecules/cm**2) |

1285 | ClNO3 column density (molecules/cm**2) |

1286 | HCl column density (molecules/cm**2) |

1287 | HF column density (molecules/cm**2) |

1288 | H2O column density (molecules/cm**2) |

1289 | 10 {NAUXV=number of auxiliary variables} |

1290 | 1.0 1.0 1.0 1.0 0.1 0.1 0.1 1.0 1.0 1.0 {ASCAL} |

1291 | 99 99 99 99 9999 99999 9999 999 999 999 {AMISS} |

1292 | UT Month |

1293 | UT Day |

1294 | UT Hour |

1295 | UT Minutes |

1296 | Latitude of DC-8 (degrees) |

1297 | Longitude of DC-8 (degrees) |

1298 | Solar zenith angle (degrees) reckoned from DC-8 |

1299 | Air temperature (Celsius) |

1300 | Static pressure (millibars) |

1301 | Potential temperature (Kelvin) |

1302 | 0 {NSCOML} |

1303 | 6 {NNCOML} |

1304 | NOTE 1: This is a single file for the entire mission, which will |

1305 | be updated after each flight during the mission. See line 7 of |

1306 | header for date of last update. |

1307 | NOTE 2: All these column values will change when analyses are |

1308 | repeated. |

1309 | |

1310 | 16.521 1 16 12 30 -59 -1250 884 -56 237 328 |

1311 | 80 24 75 142 12 240 72 47 |

1312 | 16.538 1 16 12 55 -60 -1211 885 -57 237 328 |

1313 | 70 19 82 121 12 243 72 56 |

1314 | 16.558 1 16 13 24 -64 -1277 889 -57 237 327 |

1315 | 71 16 78 118 10 237 56 49 |

1316 | 19.530 1 19 12 43 -60 -1250 882 -56 315 330 |

1317 | 105 24 85 241 26 390 106 61 |

1318 | 19.633 1 19 15 11 -58 -1266 882 -50 329 304 |

1319 | </pre> |

1320 | <hr width="60%"> |

1321 | <p> </p> |

1322 | <pre> 29 1020 {NLHEAD FFI} |

1323 | MERTZ, FRED |

1324 | PACIFIC UNIVERSITY |

1325 | ER-2 LYMAN-ALPHA HYGROMETER |

1326 | TAHITI OZONE PROJECT |

1327 | 1 1 {IVOL NVOL} |

1328 | 1991 01 16 1991 01 16 {DATE RDATE} |

1329 | 1.0 {DX(1), constant time interval} |

1330 | 30 {NVPM(1)=number of implied times per marked time} |

1331 | TIME (UT SECONDS) FROM 00 HOURS ON LAUNCH DATE |

1332 | 1 {NV=number of primary variables} |

1333 | 0.01 {scale factor for primary variable} |

1334 | 999999 {missing value for primary variable} |

1335 | WATER VAPOR VOLUME MIXING RATIO IN PARTS PER MILLION |

1336 | 4 {NAUXV=number of auxiliary variables} |

1337 | 1.0 1.0 1.0 1.0 {scale factors for auxiliary variables} |

1338 | 99 99 99 99999 {missing values for auxiliary variables} |

1339 | UT HOURS |

1340 | UT MINUTES |

1341 | UT SECONDS |

1342 | OBSERVATION COUNT STARTING FROM TIME COMPUTER IS TURNED ON. |

1343 | 0 {NSCOML} |

1344 | 6 {NNCOML} |

1345 | This is PRELIMINARY data |

1346 | 08:05:01 COMPUTER ON |

1347 | CALB 8.525E+13 4.829E+7 T = 3.000E+2 DltP = 0.000E+0 |

1348 | NOB 2.799E+2 -1.471E-3 -7.641E+22 |

1349 | OHB 1.279E+2 5.113E-4 -7.641E+22 |

1350 | |

1351 | 29301.0 08 08 21 200 |

1352 | 999999 999999 999999 999999 999999 999999 999999 999999 |

1353 | 999999 999999 999999 999999 999999 999999 999999 999999 |

1354 | 999999 999999 87166 84175 76721 80130 81401 79359 |

1355 | 79887 84339 89955 97811 95614 91508 |

1356 | 29331.0 08 08 51 230 |

1357 | 88126 86236 79440 81826 82911 90481 92042 91391 |

1358 | 94605 93040 87099 85103 87131 87423 82418 75260 |

1359 | 64485 59903 63633 68262 72430 75216 78814 77879 |

1360 | 72445 69610 66126 60302 55169 48993 |

1361 | 29361.0 08 09 21 260 |

1362 | 39742 39137 38357 38002 36171 35267 36094 38442 |

1363 | 40786 41725 42796 43492 44009 43589 42926 43308 |

1364 | </pre> |

1365 | <hr width="60%"> |

1366 | <p> </p> |

1367 | <pre> 31 2010 {NLHEAD FFI} |

1368 | Mertz, Fred |

1369 | Pacific University |

1370 | NMC analyzed grid data interpolated to DC-8 flight path |

1371 | TAHITI OZONE PROJECT |

1372 | 1 1 {IVOL NVOL} |

1373 | 1991 01 16 1991 01 16 {DATE RDATE} |

1374 | 0.0 30.0 {DX(1), DX(2)} |

1375 | 8 {NX(1)} |

1376 | 8 {NXDEF(1)} |

1377 | 250 200 150 100 70 50 30 10 {X(i,1)} |

1378 | Pressure levels (mb) |

1379 | Time (UT seconds) from 00 hours on launch date |

1380 | 3 {NV=number of primary variables} |

1381 | 1.0 0.1 1.0E-09 {primary variable scale factors} |

1382 | 99999 9999 9999999 {primary variable missing values} |

1383 | Geopotential height (gpm) |

1384 | Temperature (K) |

1385 | Potential vorticity (K m**2/(kg s)) |

1386 | 2 {NAUXV=number of auxiliary variables} |

1387 | 1.0 0.1 {auxiliary variable scale factors} |

1388 | 99999 9999 {auxiliary variable missing values} |

1389 | Geopotential height (gpm) of the DC-8 |

1390 | Temperature (K) at DC-8's position |

1391 | 0 {NSCOML} |

1392 | 5 {NNCOML} |

1393 | The geopotential height, temperature, and potential vorticity |

1394 | values were interpolated from NMC analyses to a vertical cross- |

1395 | section along the DC-8 flight path. |

1396 | NOTE: PRELIMINARY data. |

1397 | 250mb 200mb 150mb 100mb 70mb 50mb 30mb 10mb |

1398 | 3350 1127 2682 |

1399 | 9994 11395 13219 15762 17970 20000 23016 29411 |

1400 | 2150 2154 2156 2115 2082 2042 1991 2021 |

1401 | 4119 7050 8030 11300 16200 23500 50300 386000 |

1402 | 3380 1289 2671 |

1403 | 9992 11393 13217 15760 17968 19998 23013 29408 |

1404 | 2151 2154 2156 2115 2081 2041 1990 2020 |

1405 | 4128 7050 8040 11300 16200 23500 50400 386000 |

1406 | 3410 1479 2653 |

1407 | 9990 11392 13215 15759 17966 19996 23010 29404 |

1408 | 2151 2154 2156 2115 2081 2041 1990 2020 |

1409 | 4138 7060 8050 11400 16200 23500 50500 386000 |

1410 | </pre> |

1411 | <hr width="60%"> |

1412 | <p> </p> |

1413 | <pre> 38 2110 {NLHEAD FFI} |

1414 | Mertz, Fred |

1415 | Pacific University |

1416 | ER-2 Microwave Temperature Profiler (MTP) |

1417 | TAHITI OZONE PROJECT |

1418 | 1 1 {IVOL NVOL} |

1419 | 1991 1 16 1991 1 16 {DATE RDATE} |

1420 | 0.0 0.0 {DX(1), DX(2)} |

1421 | Remote sensing "applicable altitude" (meters) |

1422 | Elapsed UT seconds from 0 hours on day given in DATE |

1423 | 2 {NV=number of primary variables} |

1424 | 0.1 0.1 {scale factors for primary variables} |

1425 | 9999 9999 {missing values for primary variables} |

1426 | Brightness temperature (C) |

1427 | Potential temperature (K) |

1428 | 15 {NAUXV=number of auxiliary variables} |

1429 | 1.0 1.0 1.0 1.0 1.0 0.1 1.0 0.1 0.1 0.01 0.001 0.1 0.1 1.0 1.0 |

1430 | 99 99 99 99 99999 999 999 9999 9999 9999 99999 999 999 999 999 |

1431 | Number of "applicable altitudes" recorded in subsequent data records |

1432 | Hours (UT) |

1433 | Minutes (UT) |

1434 | Seconds (UT) |

1435 | Pressure altitude of ER-2 (ft) |

1436 | Aircraft pitch (deg) |

1437 | Aircraft roll (deg) |

1438 | Horizon brightness temperature (C), ave. of Chan 1 & 2 brightness temp. |

1439 | Potential temperature (K) from above horizon temp. and ER-2 press.alt. |

1440 | dT/dz (K/km), from Chan 1 & 2 blended Temperature profile |

1441 | dTHETA/dp (K/mb); THETA is potential temperature |

1442 | dT/dz (K/km) from Chan 1 |

1443 | dT/dz (K/km) from Chan 2 |

1444 | Peak downward acceleration (centi-G's) |

1445 | Peak upward acceleration (centi-G's) |

1446 | 0 {NSCOML} |

1447 | 3 {NNCOML} |

1448 | The brightness temperatures are approximately equal to air |

1449 | temperatures at ER-2 altitudes. |

1450 | |

1451 | 29589 5 8 13 9 44890 24 1 -728 3459 |

1452 | 440 996 49 34 53 9 |

1453 | 14060 -729 3516 |

1454 | 13940 -728 3499 |

1455 | 13810 -731 3474 |

1456 | 13680 -728 3459 |

1457 | 13560 -740 3421 |

1458 | 29603 15 8 13 23 45170 24 2 -712 3500 |

1459 | -17 -679 -11 -4 56 10 |

1460 | 15030 -721 3688 |

1461 | 14780 -719 3650 |

1462 | </pre> |

1463 | <hr width="60%"> |

1464 | <p> </p> |

1465 | <pre> 37 2160 {NLHEAD FFI} |

1466 | Mertz, Fred |

1467 | Pacific University |

1468 | WMO coded teletype transmission of upper air soundings |

1469 | AASE |

1470 | 1 1 {IVOL NVOL} |

1471 | 1989 1 16 1989 1 16 {DATE RDATE} |

1472 | 0 {DX(1)} |

1473 | 5 {LENX(2)} |

1474 | Pressure level (hPa) |

1475 | Radiosonde station identifier (BBSSS), BB=block #, SSS=station code. |

1476 | 5 {NV=number of primary variables} |

1477 | 1.0 0.1 0.1 1.0 0.1 {VSCAL} |

1478 | 99999 9999 999 999 9999 {VMISS} |

1479 | Geopotential height(gpm) |

1480 | Air temperature (C) |

1481 | Dew-point depression (C) |

1482 | Wind direction (degrees) |

1483 | Wind speed (knots) |

1484 | 9 {NAUXV} |

1485 | 1 {NAUXC} |

1486 | 1.0 1.0 1.0 1.0 1.0 0.01 0.01 1.0 {ASCAL} |

1487 | 999 99 99 99 99 99999 9999 9999 {AMISS} |

1488 | 30 {LENA(9)} |

1489 | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |

1490 | Number of pressure levels in the sounding. |

1491 | Year of sounding, last two digits (UT). |

1492 | Month of year (UT). |

1493 | Day of month (UT). |

1494 | Hour of day (UT). |

1495 | East longitude of station (deg). |

1496 | Latitude of station (deg). |

1497 | Elevation of station above MSL (m) |

1498 | Station name |

1499 | 0 {NSCOML} |

1500 | 1 {NNCOML} |

1501 | Ship stations are in block 99. |

1502 | 71082 |

1503 | 4 89 1 16 12 -6233 8250 66 |

1504 | Alert/Ellesmere Island |

1505 | 850.0 1136 -331 48 235 330 |

1506 | 700.0 3498 -363 36 999 9999 |

1507 | 500.0 4770 -467 50 235 420 |

1508 | 400.0 6230 -541 60 235 490 |

1509 | 99C7C |

1510 | 14 89 1 16 12 -3550 5270 0 |

1511 | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz |

1512 | 1014.0 0 16 39 270 290 |

1513 | 1000.0 118 6 27 280 210 |

1514 | </pre> |

1515 | <hr width="60%"> |

1516 | <p> </p> |

1517 | <pre> 33 2310 {NLHEAD FFI} |

1518 | Mertz, Fred |

1519 | Pacific Univ. |

1520 | DC-8 DIAL ozone number densities |

1521 | TAHITI OZONE PROJECT |

1522 | 2 7 {IVOL NVOL} |

1523 | 1991 1 16 1991 2 20 {DATE RDATE} |

1524 | 0.0 {DX(2)} |

1525 | Geometric altitude of observation (m) |

1526 | Time (UT seconds) from 00 hours on launch date |

1527 | 1 {NV} |

1528 | 1.0E+09 {VSCAL} |

1529 | 99999 {VMISS} |

1530 | Ozone number density (#/cc) |

1531 | 9 {NAUXV} |

1532 | 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.01 0.01 {ASCAL} |

1533 | 999 99999 999 99999 99 99 99 99999 9999 {AMISS} |

1534 | Number of altitudes for current time mark |

1535 | Geometric altitude (m) at which data begins |

1536 | Altitude increment (m) |

1537 | Geometric altitude of aircraft (m) |

1538 | UT Hour |

1539 | UT Minutes |

1540 | UT Seconds |

1541 | East longitude of aircraft (deg) |

1542 | Latitude of aircraft (deg) |

1543 | 0 {NSCOML} |

1544 | 5 {NNCOML} |

1545 | VERTICAL AVERAGING INTERVAL: 975 METERS AT 1-7 KM ABOVE AIRCRAFT |

1546 | 2025 METERS > 7 KM ABOVE AIRCRAFT |

1547 | (TRANSITION RANGE VARIES WITH SIGNAL STRENGTH) |

1548 | HORIZONTAL AVERAGING INTERVAL: 60 KM |

1549 | |

1550 | 30335 26 12819 75 10389 8 25 35 -13324 -945 |

1551 | 1340 1519 1660 1779 1868 1939 1973 1992 1989 1955 |

1552 | 1934 1897 1817 1721 1619 1514 1434 1343 1258 1203 |

1553 | 1140 1088 1037 956 892 878 |

1554 | 30360 22 12819 75 10383 8 26 0 -13322 -993 |

1555 | 1351 1523 1658 1774 1860 1930 1962 1974 1966 1932 |

1556 | 1909 1877 1803 1706 1600 1493 1407 1310 99999 99999 |

1557 | 1094 1045 |

1558 | 30384 93 12744 75 10378 8 26 24 -13312 -1031 |

1559 | 934 1378 1541 1673 1782 1862 1925 1950 1956 1946 |

1560 | 1912 1884 1843 1765 1667 1565 1457 1375 1279 1194 |

1561 | </pre> |

1562 | <hr width="60%"> |

1563 | <p> </p> |

1564 | <pre> 23 3010 {NLHEAD FFI} |

1565 | Mertz, Fred |

1566 | Pacific University |

1567 | NOAA/NMC grid point analyses |

1568 | AASE |

1569 | 1 1 {IVOL NVOL} |

1570 | 1989 1 16 1989 1 16 {DATE RDATE} |

1571 | 5.0 2.5 12.0 {DX(1), DX(2), DX(3)} |

1572 | 8 3 {NX(1), NX(2)} |

1573 | 1 1 {NXDEF(1), NXDEF(2)} |

1574 | -25 {X(1,1); X(i,1) = -25 -20 -15 -10 -5 0 5 10} |

1575 | 60.0 {X(1,2); X(j,2) = 60.0 62.5 65.0} |

1576 | East longitude (deg) |

1577 | Latitude (deg) |

1578 | Time (UT hours) from 00 hours on day given by DATE |

1579 | 2 {NV=number of primary variables} |

1580 | 1.0E-08 0.1 {scale factors for primary variables} |

1581 | 99999 9999 {missing values for primary variables} |

1582 | Potential vorticity (K m**2/(kg s)) on 400 K isentropic surface |

1583 | Temperature (K) on 400 K isentropic surface |

1584 | 0 {NAUXV=number of auxiliary variables} |

1585 | 0 {NSCOML} |

1586 | 0 {NNCOML} |

1587 | 0 |

1588 | 1604 1597 1589 1578 1570 1578 1584 1589 {PV rec} |

1589 | 1598 1583 1561 1534 1506 1478 1447 1446 {PV rec} |

1590 | 1440 1439 1442 1469 1493 1512 1527 1537 {PV rec} |

1591 | 2234 2251 2259 2250 2247 2200 2194 2187 { T rec} |

1592 | 2194 2151 2159 2150 2147 2166 2175 2165 { T rec} |

1593 | 2121 2136 2140 2140 2138 2127 2111 2104 { T rec} |

1594 | 12 |

1595 | 1532 1522 1509 1492 1472 1467 1459 1450 {PV rec} |

1596 | 1419 1433 1448 1465 1483 1503 1525 1567 {PV rec} |

1597 | 1670 1691 1711 1724 1737 1744 1745 1743 {PV rec} |

1598 | 2224 2241 2249 2240 2237 2200 2184 2177 { T rec} |

1599 | 2184 2141 2149 2140 2137 2156 2165 2155 { T rec} |

1600 | 2111 2126 2130 2130 2128 2117 2101 2101 { T rec} |

1601 | 24 |

1602 | 1587 1578 1569 1558 1546 1533 1641 1626 |

1603 | </pre> |

1604 | <hr width="60%"> |

1605 | <p> </p> |

1606 | <pre> 24 4010 {NLHEAD FFI} |

1607 | Mertz, Fred |

1608 | Pacific University |

1609 | NOAA/NMC grid point analyses |

1610 | AASE |

1611 | 1 1 {IVOL NVOL} |

1612 | 1989 1 16 1989 1 16 {DATE RDATE} |

1613 | 5.0 2.5 40.0 0.0 {DX(1), DX(2), DX(3), DX(4)} |

1614 | 8 3 2 {NX(1), NX(2), NX(3)} |

1615 | 1 1 2 {NXDEF(1), NXDEF(2), NXDEF(3)} |

1616 | -25 {X(1,1); X(i,1)= -25 -20 -15 -10 -5 0 5 10} |

1617 | 60.0 {X(1,2); X(j,2)= 60.0 62.5 65.0} |

1618 | 400 440 {X(k,3)} |

1619 | East longitude (deg) |

1620 | Latitude (deg) |

1621 | Potential temperature (K) |

1622 | Time (UT hours) from 00 hours on day given by DATE |

1623 | 1 {NV=number of primary variables} |

1624 | 1.0E-08 {scale factor for primary variable} |

1625 | 99999 {missing value for primary variable} |

1626 | Potential vorticity (K m**2/(kg s)) |

1627 | 0 {NAUXV=number of auxiliary variables} |

1628 | 0 {NSCOML} |

1629 | 0 {NNCOML} |

1630 | 0 |

1631 | 1604 1597 1589 1578 1570 1578 1584 1589 |

1632 | 1598 1583 1561 1534 1506 1478 1447 1446 |

1633 | 1440 1439 1442 1469 1493 1512 1527 1537 {last 400K rec} |

1634 | 3135 3151 3175 3198 3220 3240 3260 3278 |

1635 | 3326 3348 3369 3389 3409 3428 3446 3465 |

1636 | 3498 3492 3485 3476 3468 3459 3464 3446 {last 440K rec} |

1637 | 12 |

1638 | 1532 1522 1509 1492 1472 1467 1459 1450 |

1639 | 1419 1433 1448 1465 1483 1503 1525 1567 |

1640 | 1670 1691 1711 1724 1737 1744 1745 1743 {last 400K rec} |

1641 | 3424 3419 3409 3396 3379 3354 3327 3297 |

1642 | 3193 3158 3125 3095 3065 3037 3011 2998 |

1643 | 2956 2938 2920 2914 2909 2906 2905 2906 {last 440K rec} |

1644 | 36 |

1645 | 1587 1578 1569 1558 1546 1533 1641 1626 |

1646 | </pre> |

1647 | <hr width="60%"> |

1648 | <p> |

1649 | <!--#include virtual="/solve/ssi/return.ssi"--> |

1650 | </p> |

1651 | |

1652 | </body><script type="text/javascript"><!-- |

1653 | function __RP_Callback_Helper(str, strCallbackEvent, splitSize, func){var event = null;if (strCallbackEvent){event = document.createEvent('Events');event.initEvent(strCallbackEvent, true, true);}if (str && str.length > 0){var splitList = str.split('|');var strCompare = str;if (splitList.length == splitSize)strCompare = splitList[splitSize-1];var pluginList = document.plugins;for (var count = 0; count < pluginList.length; count++){var sSrc = '';if (pluginList[count] && pluginList[count].src)sSrc = pluginList[count].src;if (strCompare.length >= sSrc.length){if (strCompare.indexOf(sSrc) != -1){func(str, count, pluginList, splitList);break;}}}}if (strCallbackEvent)document.body.dispatchEvent(event);}function __RP_Coord_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Coord_Callback = str;pluginList[index].__RP_Coord_Callback_Left = splitList[0];pluginList[index].__RP_Coord_Callback_Top = splitList[1];pluginList[index].__RP_Coord_Callback_Right = splitList[2];pluginList[index].__RP_Coord_Callback_Bottom = splitList[3];};__RP_Callback_Helper(str, 'rp-js-coord-callback', 5, func);}function __RP_Url_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Url_Callback = str;pluginList[index].__RP_Url_Callback_Vid = splitList[0];pluginList[index].__RP_Url_Callback_Parent = splitList[1];};__RP_Callback_Helper(str, 'rp-js-url-callback', 3, func);}function __RP_TotalBytes_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_TotalBytes_Callback = str;pluginList[index].__RP_TotalBytes_Callback_Bytes = splitList[0];};__RP_Callback_Helper(str, null, 2, func);}function __RP_Connection_Callback(str){var func = function(str, index, pluginList, splitList){pluginList[index].__RP_Connection_Callback = str;pluginList[index].__RP_Connection_Callback_Url = splitList[0];};__RP_Callback_Helper(str, null, 2, func);} |

1654 | //--></script></html> |

**Note:**See TracBrowser for help on using the repository browser.