OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
hdf.f90
Go to the documentation of this file.
1 !****************************************************************************
2 !* NCSA HDF *
3 !* Software Development Group *
4 !* National Center for Supercomputing Applications *
5 !* University of Illinois at Urbana-Champaign *
6 !* 605 E. Springfield, Champaign IL 61820 *
7 !* *
8 !* For conditions of distribution and use, see the accompanying *
9 !* hdf/COPYING file. *
10 !* *
11 !****************************************************************************
12 !
13 ! $Id: hdf.inc 6034 2014-01-19 06:59:14Z epourmal $
14 !
15 ! *-----------------------------------------------------------------------------
16 ! * File: hdf.inc
17 ! * Purpose: Fortran header file for HDF routines
18 ! * Contents:
19 ! * Tag definitions
20 ! * Error return codes
21 ! * Logical constants
22 ! * Remarks: This file can be included with Fortran user programs. As a
23 ! * general rule, don't use DFNT constants that don't include a
24 ! * number in their name. E.g., don't use DFNT_FLOAT, use
25 ! * DFNT_FLOAT32 or DFNT_FLOAT64. The DFNT constants that don't
26 ! * include numbers are for backward compatibility only. Also,
27 ! * there are no current plans to support 128-bit number types.
28 ! * For more information about constants in this file, see the
29 ! * equivalent constant declarations in the C include file 'hdf.h'
30 ! *------------------------------------------------------------------------
31 
32 
33 ! Error Return Codes
34 
35  integer DFE_NOERROR, DFE_NONE, DFE_FNF
36  integer DFE_DENIED, DFE_ALROPEN, DFE_TOOMANY
37  integer DFE_BADNAME, DFE_BADACC, DFE_BADOPEN
38  integer DFE_NOTOPEN, DFE_CANTCLOSE, DFE_DFNULL
39  integer DFE_ILLTYPE, DFE_UNSUPPORTED, DFE_BADDDLIST
40  integer DFE_NOTDFFILE, DFE_SEEDTWICE, DFE_NOSPACE
41  integer DFE_NOSUCHTAG, DFE_READERROR
42 
43  parameter(dfe_noerror = 0)
44  parameter(dfe_none = 0)
45  parameter(dfe_fnf = -1)
46  parameter(dfe_denied = -2)
47  parameter(dfe_alropen = -3)
48  parameter(dfe_toomany = -4)
49  parameter(dfe_badname = -5)
50  parameter(dfe_badacc = -6)
51  parameter(dfe_badopen = -7)
52  parameter(dfe_notopen = -8)
53  parameter(dfe_cantclose = -9)
54  parameter(dfe_dfnull = -10)
55  parameter(dfe_illtype = -11)
56  parameter(dfe_unsupported = -12)
57  parameter(dfe_badddlist = -13)
58  parameter(dfe_notdffile = -14)
59  parameter(dfe_seedtwice = -15)
60  parameter(dfe_nospace = -16)
61  parameter(dfe_nosuchtag = -17)
62  parameter(dfe_readerror = -18)
63 
64  integer DFE_WRITEERROR, DFE_SEEKERROR, DFE_NOFREEDD
65  integer DFE_BADTAG, DFE_BADREF, DFE_RDONLY
66  integer DFE_BADCALL, DFE_BADPTR, DFE_BADLEN
67  integer DFE_BADSEEK, DFE_NOMATCH, DFE_NOTINSET
68  integer DFE_BADDIM, DFE_BADOFFSET, DFE_BADSCHEME
69  integer DFE_NODIM, DFE_NOTENOUGH, DFE_NOVALS
70  integer DFE_CORRUPT, DFE_BADFP
71 
72  parameter(dfe_writeerror = -19)
73  parameter(dfe_seekerror = -20)
74  parameter(dfe_nofreedd = -21)
75  parameter(dfe_badtag = -22)
76  parameter(dfe_badref = -23)
77  parameter(dfe_rdonly = -24)
78  parameter(dfe_badcall = -25)
79  parameter(dfe_badptr = -26)
80  parameter(dfe_badlen = -27)
81  parameter(dfe_badseek = -28)
82  parameter(dfe_nomatch = -29)
83  parameter(dfe_notinset = -30)
84  parameter(dfe_baddim = -31)
85  parameter(dfe_badoffset = -32)
86  parameter(dfe_badscheme = -33)
87  parameter(dfe_nodim = -34)
88  parameter(dfe_notenough = -35)
89  parameter(dfe_novals = -36)
90  parameter(dfe_corrupt = -37)
91  parameter(dfe_badfp = -38)
92 
93  integer DFE_NOREF, DFE_BADDATATYPE, DFE_BADMCTYPE
94  integer DFE_BADNUMTYPE, DFE_BADORDER, DFE_ARGS
95  integer DFE_INTERNAL, DFE_DUPDD, DFE_CANTMOD
96  integer DFE_RANGE, DFE_BADTABLE, DFE_BADSDG
97  integer DFE_BADNDG, DFE_BADFIELDS, DFE_NORESET
98  integer DFE_NOVS, DFE_VGSIZE, DFE_DIFFFILES
99  integer DFE_VTAB, DFE_BADAID
100 
101  parameter(dfe_noref = -39)
102  parameter(dfe_baddatatype = -40)
103  parameter(dfe_badmctype = -41)
104  parameter(dfe_badnumtype = -42)
105  parameter(dfe_badorder = -43)
106  parameter(dfe_args = -44)
107  parameter(dfe_internal = -45)
108  parameter(dfe_dupdd = -46)
109  parameter(dfe_cantmod = -47)
110  parameter(dfe_range = -48)
111  parameter(dfe_badtable = -49)
112  parameter(dfe_badsdg = -50)
113  parameter(dfe_badndg = -51)
114  parameter(dfe_badfields = -52)
115  parameter(dfe_noreset = -53)
116  parameter(dfe_novs = -54)
117  parameter(dfe_vgsize = -55)
118  parameter(dfe_difffiles = -56)
119  parameter(dfe_vtab = -57)
120  parameter(dfe_badaid = -58)
121 
122  integer DFE_OPENAID, DFE_BADCONV, DFE_GENAPP, DFE_CANTFLUSH
123  integer DFE_BADTYPE, DFE_SYMSIZE, DFE_BADATTACH
124  integer DFE_CANTDETACH
125 
126  parameter(dfe_openaid = -59)
127  parameter(dfe_badconv = -60)
128  parameter(dfe_genapp = -61)
129  parameter(dfe_cantflush = -62)
130  parameter(dfe_badtype = -63)
131  parameter(dfe_symsize = -64)
132  parameter(dfe_badattach = -65)
133  parameter(dfe_cantdetach = -66)
134 
135 ! internal file access codes
136 
137  integer DFACC_READ, DFACC_WRITE, DFACC_CREATE, DFACC_ALL
138  integer DFACC_RDONLY, DFACC_RDWR, DFACC_CLOBBER
139 
140  parameter(dfacc_read = 1)
141  parameter(dfacc_write = 2)
142  parameter(dfacc_create = 4)
143  parameter(dfacc_all = 7)
144  parameter(dfacc_rdonly = 1)
145  parameter(dfacc_rdwr = 3)
146  parameter(dfacc_clobber = 4)
147 
148 ! Access types for SDsetaccesstype
149 
150  integer DFACC_DEFAULT, DFACC_SERIAL, DFACC_PARALLEL
151  parameter(dfacc_default = 0)
152  parameter(dfacc_serial = 1)
153  parameter(dfacc_parallel = 9)
154 
155 ! Constants for DFSDsetorder
156 
157  integer DFO_FORTRAN, DFO_C
158 
159  parameter(dfo_fortran = 1)
160  parameter(dfo_c = 2)
161 
162 ! Definitions of storage convention
163 
164  integer DFNTF_IEEE, DFNTF_VAX, DFNTF_CRAY, DFNTF_PC
165  integer DFNTF_CONVEX, DFNTF_VP
166 
167  parameter(dfntf_ieee = 1)
168  parameter(dfntf_vax = 2)
169  parameter(dfntf_cray = 3)
170  parameter(dfntf_pc = 4)
171  parameter(dfntf_convex = 5)
172  parameter(dfntf_vp = 6)
173 
174 ! Masks for types
175 
176  integer DFNT_HDF, DFNT_NATIVE, DFNT_CUSTOM, DFNT_LITEND
177 
178  parameter(dfnt_hdf = 0)
179  parameter(dfnt_native = 4096)
180  parameter(dfnt_custom = 8192)
181  parameter(dfnt_litend = 16384)
182 
183 ! Number type info codes
184 
185  integer DFNT_NONE, DFNT_QUERY, DFNT_VERSION
186 
187  parameter(dfnt_none = 0)
188  parameter(dfnt_query = 0)
189  parameter(dfnt_version = 1)
190 
191  integer DFNT_FLOAT32, DFNT_FLOAT, DFNT_FLOAT64
192  integer DFNT_DOUBLE, DFNT_FLOAT128
193 
194  parameter(dfnt_float32 = 5)
195  parameter(dfnt_float = 5)
196  parameter(dfnt_float64 = 6)
197  parameter(dfnt_double = 6)
198  parameter(dfnt_float128 = 7)
199 
200  integer DFNT_INT8, DFNT_UINT8
201  integer DFNT_INT16, DFNT_UINT16
202  integer DFNT_INT32, DFNT_UINT32
203  integer DFNT_INT64, DFNT_UINT64
204  integer DFNT_INT128,DFNT_UINT128
205 
206  parameter(dfnt_int8 = 20)
207  parameter(dfnt_uint8 = 21)
208  parameter(dfnt_int16 = 22)
209  parameter(dfnt_uint16 = 23)
210  parameter(dfnt_int32 = 24)
211  parameter(dfnt_uint32 = 25)
212  parameter(dfnt_int64 = 26)
213  parameter(dfnt_uint64 = 27)
214  parameter(dfnt_int128 = 28)
215  parameter(dfnt_uint128 = 29)
216 
217  integer DFNT_UCHAR8, DFNT_UCHAR, DFNT_CHAR8
218  integer DFNT_CHAR, DFNT_CHAR16, DFNT_UCHAR16
219 
220  parameter(dfnt_uchar8 = 3)
221  parameter(dfnt_uchar = 3)
222  parameter(dfnt_char8 = 4)
223  parameter(dfnt_char = 4)
224  parameter(dfnt_char16 = 42)
225  parameter(dfnt_uchar16 = 43)
226 
227  integer DFNT_NFLOAT32, DFNT_NFLOAT, DFNT_NFLOAT64
228  integer DFNT_NDOUBLE, DFNT_NFLOAT128
229 
230  parameter(dfnt_nfloat32 = 4101)
231  parameter(dfnt_nfloat = 4101)
232  parameter(dfnt_nfloat64 = 4102)
233  parameter(dfnt_ndouble = 4102)
234  parameter(dfnt_nfloat128 = 4103)
235 
236  integer DFNT_NINT8, DFNT_NUINT8
237  integer DFNT_NINT16, DFNT_NUINT16
238  integer DFNT_NINT32, DFNT_NUINT32
239  integer DFNT_NINT64, DFNT_NUINT64
240  integer DFNT_NINT128,DFNT_NUINT128
241 
242  parameter(dfnt_nint8 = 4116)
243  parameter(dfnt_nuint8 = 4117)
244  parameter(dfnt_nint16 = 4118)
245  parameter(dfnt_nuint16 = 4119)
246  parameter(dfnt_nint32 = 4120)
247  parameter(dfnt_nuint32 = 4121)
248  parameter(dfnt_nint64 = 4122)
249  parameter(dfnt_nuint64 = 4123)
250  parameter(dfnt_nint128 = 4124)
251  parameter(dfnt_nuint128 = 4125)
252 
253  integer DFNT_NUCHAR8, DFNT_NUCHAR, DFNT_NCHAR8
254  integer DFNT_NCHAR, DFNT_NCHAR16, DFNT_NUCHAR16
255 
256  parameter(dfnt_nuchar8 = 4099)
257  parameter(dfnt_nuchar = 4099)
258  parameter(dfnt_nchar8 = 4100)
259  parameter(dfnt_nchar = 4100)
260  parameter(dfnt_nchar16 = 4138)
261  parameter(dfnt_nuchar16 = 4139)
262 
263  integer DFNT_LFLOAT32, DFNT_LFLOAT, DFNT_LFLOAT64
264  integer DFNT_LDOUBLE, DFNT_LFLOAT128
265 
266  parameter(dfnt_lfloat32 = 16389)
267  parameter(dfnt_lfloat = 16389)
268  parameter(dfnt_lfloat64 = 16390)
269  parameter(dfnt_ldouble = 16390)
270  parameter(dfnt_lfloat128 = 16391)
271 
272  integer DFNT_LINT8,DFNT_LUINT8,DFNT_LINT16,DFNT_LUINT16
273  integer DFNT_LINT32,DFNT_LUINT32,DFNT_LINT64,DFNT_LUINT64
274  integer DFNT_LINT128,DFNT_LUINT128
275 
276  parameter(dfnt_lint8 = 16404)
277  parameter(dfnt_luint8 = 16405)
278  parameter(dfnt_lint16 = 16406)
279  parameter(dfnt_luint16 = 16407)
280  parameter(dfnt_lint32 = 16408)
281  parameter(dfnt_luint32 = 16409)
282  parameter(dfnt_lint64 = 16410)
283  parameter(dfnt_luint64 = 16411)
284  parameter(dfnt_lint128 = 16412)
285  parameter(dfnt_luint128 = 16413)
286 
287  integer DFNT_LUCHAR8, DFNT_LUCHAR, DFNT_LCHAR8
288  integer DFNT_LCHAR, DFNT_LCHAR16, DFNT_LUCHAR16
289 
290  parameter(dfnt_luchar8 = 16387)
291  parameter(dfnt_luchar = 16387)
292  parameter(dfnt_lchar8 = 16388)
293  parameter(dfnt_lchar = 16388)
294  parameter(dfnt_lchar16 = 16426)
295  parameter(dfnt_luchar16 = 16427)
296 
297 ! tags and refs
298 
299  integer DFREF_WILDCARD, DFTAG_WILDCARD, DFTAG_NULL
300  integer DFTAG_LINKED, DFTAG_VERSION, DFTAG_COMPRESSED
301 
302  parameter(dfref_wildcard = 0, dftag_wildcard = 0)
303  parameter(dftag_null = 1, dftag_linked = 20)
304  parameter(dftag_version = 30,dftag_compressed = 40)
305 
306 
307 ! utility set
308 
309  integer DFTAG_FID, DFTAG_FD, DFTAG_TID, DFTAG_TD
310  integer DFTAG_DIL, DFTAG_DIA, DFTAG_NT, DFTAG_MT
311 
312  parameter(dftag_fid = 100, dftag_fd = 101)
313  parameter(dftag_tid = 102, dftag_td = 103)
314  parameter(dftag_dil = 104, dftag_dia = 105)
315  parameter(dftag_nt = 106, dftag_mt = 107)
316 
317 ! raster-8 set
318 
319  integer DFTAG_ID8, DFTAG_IP8, DFTAG_RI8
320  integer DFTAG_CI8, DFTAG_II8
321 
322  parameter(dftag_id8 = 200, dftag_ip8 = 201)
323  parameter(dftag_ri8 = 202, dftag_ci8 = 203)
324  parameter(dftag_ii8 = 204)
325 
326 ! Raster Image set
327 
328  integer DFTAG_ID, DFTAG_LUT, DFTAG_RI, DFTAG_CI
329 
330  parameter(dftag_id = 300, dftag_lut = 301)
331  parameter(dftag_ri = 302, dftag_ci = 303)
332 
333  integer DFTAG_RIG, DFTAG_LD, DFTAG_MD, DFTAG_MA
334  integer DFTAG_CCN, DFTAG_CFM, DFTAG_AR
335 
336  parameter(dftag_rig = 306, dftag_ld = 307)
337  parameter(dftag_md = 308, dftag_ma = 309)
338  parameter(dftag_ccn = 310, dftag_cfm = 311)
339  parameter(dftag_ar = 312)
340 
341  integer DFTAG_DRAW, DFTAG_RUN, DFTAG_XYP, DFTAG_MTO
342 
343  parameter(dftag_draw = 400, dftag_run = 401)
344  parameter(dftag_xyp = 500, dftag_mto = 501)
345 
346 ! Tektronix
347 
348  integer DFTAG_T14, DFTAG_T105
349 
350  parameter(dftag_t14 = 602, dftag_t105 = 603)
351 
352 ! Scientific Data set
353 
354  integer DFTAG_SDG, DFTAG_SDD, DFTAG_SD, DFTAG_SDS, DFTAG_SDL
355  integer DFTAG_SDU, DFTAG_SDF, DFTAG_SDM, DFTAG_SDC
356  integer DFTAG_SDT,DFTAG_SDLNK,DFTAG_NDG
357  integer DFTAG_BREQ,DFTAG_EREQ,DFTAG_CAL, DFTAG_FV
358 
359  parameter(dftag_sdg = 700, dftag_sdd = 701)
360  parameter(dftag_sd = 702, dftag_sds = 703)
361  parameter(dftag_sdl = 704, dftag_sdu = 705)
362  parameter(dftag_sdf = 706, dftag_sdm = 707)
363  parameter(dftag_sdc = 708, dftag_sdt = 709)
364  parameter(dftag_sdlnk = 710, dftag_ndg = 720)
365  parameter(dftag_cal = 731, dftag_fv = 732)
366  parameter(dftag_breq = 799, dftag_ereq = 780)
367 
368 ! VSets
369 
370  integer DFTAG_VG, DFTAG_VH, DFTAG_VS
371 
372  parameter(dftag_vg = 1965, dftag_vh = 1962)
373  parameter(dftag_vs = 1963)
374 
375 ! compression schemes
376 
377  integer DFTAG_RLE, DFTAG_IMC, DFTAG_IMCOMP, DFTAG_JPEG
378  integer DFTAG_GREYJPEG
379 
380  parameter(dftag_rle =11, dftag_imc =12)
381  parameter(dftag_imcomp =12, dftag_jpeg =13)
382  parameter(dftag_greyjpeg =14)
383 
384 ! SPECIAL CODES
385 
386  integer SPECIAL_LINKED, SPECIAL_EXT
387 
388  parameter(special_linked = 1, special_ext = 2)
389 
390 ! PARAMETERS
391 
392  integer DF_MAXFNLEN
393  integer SD_UNLIMITED
394  integer SD_DIMVAL_BW_COMP
395  integer SD_DIMVAL_BW_INCOMP
396  integer SD_FILL
397  integer SD_NOFILL
398 
399  parameter(df_maxfnlen = 256, sd_unlimited = 0)
400  parameter(sd_dimval_bw_comp = 1, sd_dimval_bw_incomp = 0)
401  parameter(sd_fill = 0, sd_nofill = 256)
402 
403  integer HDF_VDATA
404 
405  parameter(hdf_vdata = -1)
406 
407 ! Standard return codes
408  integer SUCCEED, FAIL
409 
410  parameter(succeed = 0, fail = -1)
411 
412 
413 ! Compression Types
414 
415  integer COMP_NONE, COMP_RLE, COMP_IMCOMP, COMP_JPEG
416 
417  parameter(comp_none = 0, comp_rle = 11)
418  parameter(comp_imcomp = 12, comp_jpeg = 2)
419 !
420 ! Fortran chunking (SD and GR interfaces) and compression routines use
421 ! the following compression types:
422 !
423  integer COMP_CODE_NONE, COMP_CODE_RLE, COMP_CODE_NBIT
424  integer COMP_CODE_SKPHUFF, COMP_CODE_DEFLATE
425  integer COMP_CODE_JPEG
426  integer COMP_CODE_SZIP
427  integer SZ_EC_OPTION_MASK, SZ_NN_OPTION_MASK
428  integer COMP_DECODER_ENABLED, COMP_ENCODER_ENABLED
429  parameter(comp_code_none = 0)
430  parameter(comp_code_rle = 1)
431  parameter(comp_code_nbit = 2)
432  parameter(comp_code_skphuff = 3)
433  parameter(comp_code_deflate = 4)
434  parameter(comp_code_szip = 5)
435  parameter(comp_code_jpeg = 6)
436 !
437 ! SZIP parameters
438 !
439  parameter(sz_ec_option_mask = 4)
440  parameter(sz_nn_option_mask = 32)
441  parameter(comp_decoder_enabled = 1)
442  parameter(comp_encoder_enabled = 2)
443 !
444 ! Interlace Types
445 
446  integer MFGR_INTERLACE_PIXEL, MFGR_INTERLACE_LINE
447  integer MFGR_INTERLACE_COMPONENT
448 
449  parameter(mfgr_interlace_pixel = 0)
450  parameter(mfgr_interlace_line = 1)
451  parameter(mfgr_interlace_component= 2)
452 
453  integer FULL_INTERLACE, NO_INTERLACE
454 
455  parameter(full_interlace = 0, no_interlace = 1)
456 
457 ! Vdata fields packing types
458  integer HDF_VSPACK, HDF_VSUNPACK
459  parameter(hdf_vspack = 0, hdf_vsunpack = 1)
460 
461 ! Multi-file Annotation types
462  integer AN_DATA_LABEL, AN_DATA_DESC, AN_FILE_LABEL, AN_FILE_DESC
463 
464  parameter(an_data_label = 0, an_data_desc = 1)
465  parameter(an_file_label = 2, an_file_desc = 3)
466 
467 !******************End of hdf.inc***************************
README for MOD_PR03(V6.1.0) 2. POINTS OF CONTACT it can be either SDP Toolkit or MODIS Packet for Terra input files The orbit validation configuration parameter(LUN 600281) must be either "TRUE" or "FALSE". It needs to be "FALSE" when running in Near Real Time mode