ruby-netcdf 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/doc/Ref_man.rd ADDED
@@ -0,0 +1,1312 @@
1
+ =begin
2
+ =RubyNetCDF Reference Manual
3
+
4
+ * ((<Method Index>))
5
+
6
+ ---------------------------------------------
7
+
8
+ ==Overview
9
+
10
+ RubyNetCDF is the Ruby interface of the NetCDF library. Ruby is a free
11
+ object-oriented scripting language and is freely available from
12
+ ((<the Ruby homepage|URL:http://www.ruby-lang.org/>)).
13
+ To handle numeric data, RubyNetCDF uses
14
+ ((<NArray|URL:http://www.ruby-lang.org/en/raa-list.rhtml?name=NArray>)), which is the standard numeric multi-dimensional array class
15
+ for Ruby. Thus, you have to have installed it before installing this library.
16
+ An NArray object holds numeric data in a consecutive memory area
17
+ pointed by a C pointer. Thus, it is computationally efficient.
18
+ NArray is similar to NumPy for Python, but results of some benchmark
19
+ tests suggests that NArray is more efficient than NumPy.
20
+ Optionally, RubyNetCDF offers methods to handle data missing
21
+ automatically. To use it, you will also
22
+ need ((<NArrayMiss|URL:http://ruby.gfd-dennou.org/products/narray_miss/>)).
23
+ See ((<Usage>)) for details.
24
+
25
+ ===Structure
26
+
27
+ RubyNetCDF consists of the four classes in the following.
28
+
29
+ * ((<class NetCDF>)) -- the file class
30
+
31
+ An NetCDF object represents a NetCDF file
32
+
33
+ * ((<class NetCDFDim>)) -- the dimension class
34
+
35
+ Although in its C version a NetCDF dimension is represented by a
36
+ combination of a file ID and a dimension ID, it is represented by
37
+ only one NetCDFDim object in RubyNetCDF.
38
+
39
+ * ((<class NetCDFVar>)) -- the variable class
40
+
41
+ Although in its C version a NetCDF variable is represented by a
42
+ combination of a file ID and a variable ID, it is represented by
43
+ only one NetCDFVar object in RubyNetCDF.
44
+
45
+ * ((<class NetCDFAtt>)) -- the attribute class
46
+
47
+ Although in its C version a NetCDF attribute is represented by a
48
+ combination of file ID, variable ID, and its name, it is represented
49
+ by only one NetCDFAtt object in RubyNetCDF.
50
+
51
+ ===Data type
52
+
53
+ All the NetCDF variable types char, byte, short, int, float, and
54
+ double are supported in this Ruby interface. These types are called,
55
+ however, differently in it to adhere to the convention of Ruby, or,
56
+ more specifically, of NArray. These types are named to as "char",
57
+ "byte", "sint", "int", "sfloat", and "float", respectively. Therefore,
58
+ the vartype (=ntype) method of the NetCDFVar class returns one of these
59
+ strings. The def_var method of the NetCDF class also accepts one of
60
+ them to define a variable. It should be noted especially that "float"
61
+ in this library means the double in the NetCDF terminology. This is
62
+ due to the convention of Ruby -- the predefined Float class
63
+ corresponds to the double in C, not the float.
64
+
65
+ The "get" method of NetCDFVar class reads a variable in a NArray of
66
+ the same type as in the file, except for the "char" type which is read
67
+ into a "byte". This is because NArray does not have a "char" type.
68
+ However, it not is not supposed to be a problem, since a byte NArray
69
+ can easily handle string data.
70
+
71
+
72
+ ===Error handling
73
+
74
+ Errors are basically handled by raising exceptions. However, light
75
+ errors in value-returning methods are handled by returning nil (e.g.,
76
+ if a non-existent attribute name is specified in attribute reading).
77
+ Those methods that return nil on error are explicitly written as such
78
+ in the following.
79
+
80
+ ===Security features
81
+
82
+ Security handling is done just as in the pre-defined File class.
83
+
84
+ ===Usage
85
+
86
+ To use the RubyNetCDF library, load the library first by placing the
87
+ following line in your Ruby program to load the library:
88
+
89
+ require 'numru/netcdf'
90
+
91
+ If you want to use automatic data-missing-handling methods
92
+ (of NetCDFVar class), use the following:
93
+
94
+ require 'numru/netcdf_miss'
95
+
96
+ This will call (({require 'numru/netcdf'})) inside at the beginning, so
97
+ you do not have to call the both. The missing-data handling is done
98
+ with ((<NArrayMiss|URL:http://ruby.gfd-dennou.org/products/narray_miss/>)),
99
+ so you have have installed it. This is, however, not needed if you only
100
+ call (({require 'numru/netcdf'})).
101
+
102
+ Here, 'numru', which stands for "Numerical Ruby", is the name of
103
+ the subdirectory in the user's load path where the RubyNetCDF library
104
+ is placed. Then, it can be used as in the following:
105
+
106
+ file = NumRu::NetCDF.create('tmp.nc')
107
+ x = file.def_dim('x',10)
108
+ y = file.def_dim('y',10)
109
+ v = file.def_var('v','float',[x,y])
110
+ file.close
111
+
112
+ Here, NumRu is the module that has the library in it. The
113
+ reason why NetCDF library is wrapped in such a module is to avoid
114
+ conflicts in the name space. Without this kind of treatment,
115
+ problems happen if the user wants to use a library that happens to
116
+ have a class or module with the same name as even one of the classes
117
+ in this library.
118
+
119
+ If such a problem is not expected to happen, the prefix "NumRu::" can
120
+ be eliminated by "including" the NumRu module as in the following, so
121
+ that to place "NumRu::" is not needed anymore in the current scope:
122
+
123
+ include NumRu
124
+ file = NetCDF.create('tmp.nc')
125
+ ...
126
+
127
+ For more examples, see demo and test programs included in the
128
+ distribution package.
129
+
130
+ ---------------------------------------------
131
+
132
+ ==How to read this manual
133
+
134
+ --- method_name(argument1, argument2, ...) -- arguments that can be omitted are expressed as Argument_name=Default_value
135
+
136
+ Explanation of its function
137
+
138
+ Arguments
139
+ * name of argument1 (its class or possible values): explanation
140
+ * name of argument2 (its class or possible values): explanation
141
+ * ...
142
+
143
+ Return value
144
+ * Explanation of the return value
145
+
146
+ Corresponding (dependent) function(s) in the C library of NetCDF
147
+ * Name(s) in NetCDF ver 3. The function equivalent to the current
148
+ method, if not in parenthesis. If no direct correspondence,
149
+ dependent functions are listed in parentheses.
150
+
151
+ ---------------------------------------------
152
+
153
+ ==Method Index
154
+ * ((<class NetCDF>))
155
+
156
+ Class Methods
157
+ * ((<NetCDF.open>)) Opens a file (class method). If mode="w" and non-existent, a new
158
+ * ((<NetCDF.new>)) Aliased to NetCDF.open
159
+ * ((<NetCDF.create>)) Creates a NetCDF file (class method)
160
+ * ((<NetCDF.create_tmp>)) Creates a temporary NetCDF file (class method)
161
+
162
+ Instance Methods
163
+ * ((<close>)) Closes the file.
164
+ * ((<ndims>)) Returns the number of dimensions in the file
165
+ * ((<nvars>)) Returns the number of variables in the file
166
+ * ((<natts>)) Returns the number of global attributes in the file
167
+ * ((<unlimited>)) Returns the unlimited dimension in the file
168
+ * ((<path>)) Returns the path of the file (contents of the filename specified when opened/created)
169
+ * ((<redef>)) Switches to the define mode. Does nothing if already in it (nil returned).
170
+ * ((<enddef>)) Switches to the data mode. Does nothing if already in it (nil returned).
171
+ * ((<define_mode?>)) Inquire whether the file is in the define mode.
172
+ * ((<sync>)) Synchronizes the disk copy of a netCDF dataset with in-memory buffer
173
+ * ((<def_dim>)) Define a dimension
174
+ * ((<put_att>)) Sets a global attribute
175
+ * ((<def_var>)) Defines a variable
176
+ * ((<def_var_with_dim>)) Same as def_var but defines dimensions first if needed
177
+ * ((<var>)) Opens an existing variable in the file
178
+ * ((<vars>)) Opens existing variables in the file
179
+ * ((<dim>)) Opens an existing dimension in the file
180
+ * ((<dims>)) Opens existing dimensions in the file
181
+ * ((<att>)) Opens an existing global attribute in the file
182
+ * ((<fill=>)) Sets a fill mode. (Default behavior of NetCDF is FILL.)
183
+ * ((<each_dim>)) Iterator regarding the dimensions in the file.
184
+ * ((<each_var>)) Iterator regarding the variables in the file.
185
+ * ((<each_att>)) Iterator regarding the global attributes of the file.
186
+ * ((<dim_names>)) Returns the names of all dimensions in the file
187
+ * ((<var_names>)) Returns the names of all variables in the file
188
+ * ((<att_names>)) Returns the names of all the global attributes of the file
189
+
190
+ * ((<class NetCDFDim>))
191
+
192
+ Class Methods
193
+
194
+ Instance Methods
195
+ * ((<length>)) Returns the length of the dimension
196
+ * ((<length_ul0>)) Same as length but returns 0 for the unlimited dimension
197
+ * ((<name=>)) Rename the dimension
198
+ * ((<name>)) Returns the name of the dimension
199
+ * ((<unlimited?>)) Inquires whether the dimension is unlimited or not
200
+
201
+ * ((<class NetCDFVar>))
202
+
203
+ Class Methods
204
+ * ((<NetCDFVar.new>)) Combines NetCDF.open and NetCDF#Var to open a variable with one line (no need to use this).
205
+ * ((<NetCDFVar.unpack_type=>)) Fix the NArray type to be used
206
+ in ((<unpack>))
207
+ * ((<NetCDFVar.unpack_type>)) Returns the NArray type set by ((<NetCDFVar.unpack_type=>)).
208
+
209
+ Instance Methods
210
+ * ((<dim>)) Inquires the dim_num-th dimension of the variable (dim_num=0,1,2,..)
211
+ * ((<dims>)) Returns an array of all the dimensions of the variable
212
+ * ((<shape_ul0>)) Returns the shape of the variable, but the length of the unlimited dimension is set to zero.
213
+ * ((<shape_current>)) Returns the current shape of the variable.
214
+ ## * ((<url>)) Returns a combination of filename (path) and variable name as path+'?var='+varname
215
+ * ((<each_att>)) Iterator regarding the global attributes of the variables.
216
+ * ((<dim_names>)) Returns the names of all the dimensions of the variable
217
+ * ((<att_names>)) Returns the names of all the attributes of the variable
218
+ * ((<name>)) Returns the name of the variable
219
+ * ((<name=>)) Rename the variable
220
+ * ((<ndims>)) Number of dimensions of the variable (which is rank of the variable).
221
+ * ((<rank>)) aliased to ndims
222
+ * ((<ntype>)) Aliased to vartype
223
+ * ((<vartype>)) Inquires the data value type of the variable
224
+ * ((<typecode>)) Inquires the data type of the variable (returns a typecode of NArray)
225
+ * ((<natts>)) Returns the number of the attributes of the variable
226
+ * ((<file>)) Inquires the file that the variable is in
227
+ * ((<att>)) Returns the attribute specified by its name
228
+ * ((<put_att>)) Sets an attribute
229
+ * ((<put>)) Aliased to ((<simple_put>))
230
+ * ((<simple_put>)) Set the values of the variable
231
+ * ((<pack>)) Pack a NArray (etc) using the attributes scale_factor and/or add_offset of self.
232
+ * ((<scaled_put>)) Same as ((<simple_put>)) but interprets the attributes scale_factor and/or add_offset using ((<pack>)).
233
+ * ((<get>)) Aliased to ((<simple_get>))
234
+ * ((<simple_get>)) Returns values of the variable
235
+ * ((<unpack>)) Unpack a NArray (etc) using the attributes scale_factor and/or add_offset of self.
236
+ * ((<scaled_get>)) Same as ((<simple_get>)) but interprets the attributes scale_factor and/or add_offset using ((<unpack>)).
237
+ * ((<[]>)) Same as NetCDFVar#get but a subset is specified as in the method [] of NArray.
238
+ * ((<[]=>)) Same as NetCDFVar#put but a subset is specified as in the method []= of NArray.
239
+
240
+
241
+ Instance Methods added by requiring "numru/netcdf_miss"
242
+
243
+ * ((<get_with_miss>)) Same as ((<get>)) but interprets data missing.
244
+ * ((<get_with_miss_and_scaling>)) Same as ((<get_with_miss>)) but handles data scaling too.
245
+ * ((<put_with_miss>)) Same as ((<put>)) but interprets data missing.
246
+ * ((<put_with_miss_and_scaling>)) Same as ((<put_with_miss>)) but handles data scaling too.
247
+
248
+
249
+ * ((<class NetCDFAtt>))
250
+
251
+ Class Methods
252
+
253
+ Instance Methods
254
+ * ((<name>)) Returns the name of the attribute
255
+ * ((<name=>)) Rename the attribute
256
+ * ((<copy>)) Copies an attribute to a variable or a file. If file, becomes an global attribute
257
+ * ((<delete>)) Delete an attribute
258
+ * ((<put>)) Sets the value of the attribute
259
+ * ((<get>)) Returns the values of the attribute
260
+ * ((<atttype>)) Inquires the type of attribute values
261
+ * ((<typecode>)) Inquires the type of attribute values (returns a NArray typecode)
262
+
263
+ ---------------------------------------------
264
+
265
+ =class NetCDF
266
+ ===Class Methods
267
+ ---NetCDF.open(filename, mode="r", share=false)
268
+ Opens a file (class method). If mode="w" and the file does not
269
+ exist, a new file is created.
270
+
271
+ Arguments
272
+ * filename (String): file name (path)
273
+ * mode (String) : IO mode "r" (read only); "w","w+" (write --
274
+ current contents are overwritten (eliminated!)); "r+","a","a+"
275
+ (append -- writable while current contents are preserved).
276
+ All the options permit reading, unlike the predefined File class.
277
+ Note that to "append" will require extra time and disk
278
+ space due to the limitations of the original NetCDF library,
279
+ which is used in this library.
280
+ * share (true or false) : Whether to use the "shared" mode or not
281
+ (set true if a file being written may be read from other
282
+ processes. See nc_open in Ch.5 of users' guide of the C version)
283
+
284
+ Return value
285
+ * a NetCDF object
286
+
287
+ Corresponding (dependent) function(s) in the C library of NetCDF
288
+ * nc_open, nc_create
289
+
290
+ ---NetCDF.new
291
+ Aliased to NetCDF.open
292
+
293
+ ---NetCDF.create(filename, noclobber=false, share=false)
294
+ Creates a NetCDF file (class method)
295
+
296
+ Arguments
297
+ * filename (String) : file name (path)
298
+ * noclobber (true or false) : overwrite or not if the file exists
299
+ * share (true or false) : Whether to use the shared mode or not
300
+ (set true if a file being written may be read from other
301
+ processes. See nc_open in Ch.5 of users' guide of the C version)
302
+
303
+ Return value
304
+ * a NetCDF object
305
+
306
+ Corresponding (dependent) function(s) in the C library of NetCDF
307
+ * nc_create
308
+
309
+ ---NetCDF.create_tmp(tmpdir=ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'.', share=false)
310
+ Creates a temporary NetCDF file (class method).
311
+ Its name is automatically generated, and it is deleted when closed.
312
+
313
+ Arguments
314
+ * tmpdir (String) : directory to place the temporary file.
315
+ By default, "." or a directory specified by an environmental
316
+ variable (TMPDIR or TMP or TEMP) is used. In a secure mode,
317
+ theses environmental variable is NOT used, and the default
318
+ value is '.'.
319
+ * share (true or false) : Whether to use the shared mode or not
320
+
321
+ Return value
322
+ * a NetCDF object
323
+
324
+ Corresponding (dependent) function(s) in the C library of NetCDF
325
+ * nc_create
326
+
327
+ ===Instance Methods
328
+ ---close
329
+ Closes the file.
330
+
331
+ Arguments
332
+ * (none)
333
+
334
+ Return value
335
+ * nil
336
+
337
+ Corresponding (dependent) function(s) in the C library of NetCDF
338
+ * nc_close
339
+
340
+ ---ndims
341
+ Returns the number of dimensions in the file
342
+
343
+ Arguments
344
+ * (none)
345
+
346
+ Return value
347
+ * Integer
348
+
349
+ Corresponding (dependent) function(s) in the C library of NetCDF
350
+ * nc_inq_ndims
351
+
352
+ ---nvars
353
+ Returns the number of variables in the file
354
+
355
+ Arguments
356
+ * (none)
357
+
358
+ Return value
359
+ * Integer
360
+ Corresponding (dependent) function(s) in the C library of NetCDF
361
+ * nc_inq_nvars
362
+
363
+ ---natts
364
+ Returns the number of global attributes in the file
365
+
366
+ Arguments
367
+ * (none)
368
+
369
+ Return value
370
+ * Integer
371
+
372
+ Corresponding (dependent) function(s) in the C library of NetCDF
373
+ * nc_inq_natts
374
+
375
+ ---unlimited
376
+ Returns the unlimited dimension in the file
377
+
378
+ Arguments
379
+ * (none)
380
+
381
+ Return value
382
+ * a NetCDFDim if it exists; nil if not
383
+
384
+ Corresponding (dependent) function(s) in the C library of NetCDF
385
+ * nc_inq_unlimdim
386
+
387
+ ---path
388
+ Returns the path of the file (contents of the filename specified when opened/created)
389
+
390
+ Arguments
391
+ * (none)
392
+
393
+ Return value
394
+ * String
395
+
396
+ Corresponding (dependent) function(s) in the C library of NetCDF
397
+ * (none)
398
+
399
+ ---redef
400
+ Switches to the define mode. Does nothing if already in it (nil returned).
401
+
402
+ Arguments
403
+ * (none)
404
+
405
+ Return value
406
+ * true if successfully switched to the define mode;
407
+ nil if the file is already in the define mode.
408
+ Exception is raised if unsuccessful for other reasons.
409
+
410
+ Corresponding (dependent) function(s) in the C library of NetCDF
411
+ * nc_redef
412
+
413
+ ---enddef
414
+ Switches to the data mode. Does nothing if already in it (nil returned).
415
+
416
+ Arguments
417
+ * (none)
418
+
419
+ Return value
420
+ * true if successfully switched to the data mode;
421
+ nil if the file is already in the data mode.
422
+ Exception is raised if unsuccessful for other reasons.
423
+
424
+ Corresponding (dependent) function(s) in the C library of NetCDF
425
+ * nc_enddef
426
+
427
+ ---define_mode?
428
+ Inquire whether the file is in the define mode.
429
+
430
+ Arguments
431
+ * (none)
432
+
433
+ Return value
434
+ * true if the data is in the define mode;
435
+ false if the file is in the data mode;
436
+ nil otherwise (possibly the file is read-only).
437
+
438
+ Corresponding (dependent) function(s) in the C library of NetCDF
439
+ * combination of nc_redef and nc_enddef
440
+
441
+ ---sync
442
+ Synchronizes the disk copy of a netCDF dataset with in-memory buffer
443
+
444
+ Arguments
445
+ * (none)
446
+
447
+ Return value
448
+ * nil
449
+
450
+ Corresponding (dependent) function(s) in the C library of NetCDF
451
+ * nc_sync
452
+
453
+ ---def_dim(dimension_name, length)
454
+ Define a dimension
455
+
456
+ Arguments
457
+ * dimension_name (String) : Name of the dimension to be defined
458
+ * length (Integer) : length of the dimension. 0 for unlimited.
459
+
460
+ Return value
461
+ * defined dimension (NetCDFDim object)
462
+
463
+ Corresponding (dependent) function(s) in the C library of NetCDF
464
+ * nc_def_dim
465
+
466
+ ---put_att(attribute_name, value, atttype=nil)
467
+ Sets a global attribute
468
+
469
+ Arguments
470
+ * attribute_name (String) : name of the global attribute
471
+ * value (Numeric, String, Array of Numeric, or NArray) : value of the attribute
472
+ * atttype (nil or String) : data type of the attribute value.
473
+ nil lets it automatically determined from the value.
474
+ "char" (or "string"), "byte", "sint", "int", "sfloat", or "float"
475
+ specifies the type explicitly (1,1,2,4,4,8 bytes, respectively)
476
+
477
+ Return value
478
+ * created attribute (NetCDFAtt object)
479
+
480
+ Corresponding (dependent) function(s) in the C library of NetCDF
481
+ * nc_put_att_<type>
482
+
483
+ ---def_var(name, vartype, dimensions)
484
+ Defines a variable
485
+
486
+ Arguments
487
+ * name (String) : Name of the variable to define
488
+ * vartype (String or Fixnum) : data type of the variable ("char", "byte", "sint",
489
+ "sint", "int", "sfloat", or "float"), or a NArray typecodes(Fixnum)
490
+ * dimensions (Array) : Dimensions of the variable. An Array of
491
+ NetCDFDim, in the order from the fastest varying dimension to
492
+ the slowest varying one; its length becomes the rank of the
493
+ variable.
494
+
495
+ Return value
496
+ * defined variable (NetCDFVar object)
497
+
498
+ Corresponding (dependent) function(s) in the C library of NetCDF
499
+ * nc_def_var
500
+
501
+ ---def_var_with_dim(name, vartype, shape_ul0, dimnames)
502
+ Same as def_var but defines dimensions first if needed.
503
+ Raise exception if it conflicts with the lengths of existing dimensions.
504
+
505
+ Arguments
506
+ * name (String) : Name of the variable to define
507
+ * vartype (String) : data type of the variable ("char", "byte", "sint",
508
+ "sint", "int", "sfloat", or "float")
509
+ * shape_ul0 (Array of Integer) : Shape of the variable, i.e.,
510
+ lengths of dimensions. The unlimited dimension is specified by zero.
511
+ The length of shape_ul0 determines the rank of the variable.
512
+ * dimnames (Array of String) : Names of the dimensions. Its length
513
+ (=>rank) must be equal to that of shape_ul0
514
+
515
+ Return value
516
+ * defined variable (NetCDFVar object)
517
+
518
+ Corresponding (dependent) function(s) in the C library of NetCDF
519
+ * (nc_def_var)
520
+
521
+ ---var(var_name)
522
+ Opens an existing variable in the file
523
+
524
+ Arguments
525
+ * var_name (String) : Name of the variable to open
526
+
527
+ Return value
528
+ * a NetCDFVar object; nil if the variable does not exist
529
+
530
+ Corresponding (dependent) function(s) in the C library of NetCDF
531
+ * nc_inq_varid
532
+
533
+ ---vars(names)
534
+ Opens existing variables in the file
535
+
536
+ Arguments
537
+ * names (nil or Array of String): Names of the variables to open;
538
+ all variables are returned if nil (default).
539
+
540
+ Return value
541
+ * Array of NetCDFVar objects; exception is raised if names has a
542
+ non-existent name
543
+
544
+ Corresponding (dependent) function(s) in the C library of NetCDF
545
+ * nc_inq_varid
546
+
547
+ ---dim(dimension_name)
548
+ Opens an existing dimension in the file
549
+
550
+ Arguments
551
+ * dimension_name (String) : Name of the dimension to open
552
+
553
+ Return value
554
+ * a NetCDFDim object; nil if the dimension does not exist
555
+
556
+ Corresponding (dependent) function(s) in the C library of NetCDF
557
+ * nc_inq_dimid
558
+
559
+ ---dims(names)
560
+ Opens existing dimensions in the file
561
+
562
+ Arguments
563
+ * names (nil or Array of String): Names of the dimensions to open;
564
+ all dimensions are returned if nil (default).
565
+
566
+ Return value
567
+ * Array of NetCDFDim objects; exception is raised if names has a
568
+ non-existent name
569
+
570
+ Corresponding (dependent) function(s) in the C library of NetCDF
571
+ * nc_inq_dimid
572
+
573
+ ---att(attribute_name)
574
+ Opens an existing global attribute in the file
575
+
576
+ Arguments
577
+ * attribute_name (String) : Name of the global attribute to open
578
+
579
+ Return value
580
+ * a NetCDFAtt object if the attribute exists; nil if not
581
+
582
+ Corresponding (dependent) function(s) in the C library of NetCDF
583
+ * (nc_inq_attid used for inquiry)
584
+
585
+ ---fill=(filemode)
586
+ Sets a fill mode. (Default behavior of NetCDF is FILL.)
587
+
588
+ Arguments
589
+ * fillmode (true or false)
590
+
591
+ Return value
592
+ * nil
593
+
594
+ Corresponding (dependent) function(s) in the C library of NetCDF
595
+ * nc_set_fill
596
+
597
+ ---each_dim{ ... }
598
+ Iterator regarding the dimensions in the file.
599
+ Ex.: {|i| print i.name,"\n"} prints names of all dimensions
600
+
601
+ Arguments
602
+ * { ... } : Block for the iterator. A "do end" block is the alternative.
603
+
604
+ Return value
605
+ * self
606
+
607
+ Corresponding (dependent) function(s) in the C library of NetCDF
608
+ * (dependent on nc_inq_ndims)
609
+
610
+ ---each_var{ ... }
611
+ Iterator regarding the variables in the file.
612
+ Ex.: {|i| print i.name,"\n"} prints names of all variables
613
+
614
+ Arguments
615
+ * { ... } : Block for the iterator. A "do end" block is the alternative.
616
+
617
+ Return value
618
+ * self
619
+
620
+ Corresponding (dependent) function(s) in the C library of NetCDF
621
+ * (dependent on nc_inq_nvars)
622
+
623
+ ---each_att{ ... }
624
+ Iterator regarding the global attributes of the file.
625
+ Ex.: {|i| print i.name,"\n"} prints names of all of them.
626
+
627
+ Arguments
628
+ * { ... } : Block for the iterator. A "do end" block is the alternative.
629
+
630
+ Return value
631
+ * self
632
+
633
+ Corresponding (dependent) function(s) in the C library of NetCDF
634
+ * (dependent on nc_inq_natts, nc_inq_attname)
635
+
636
+ ---dim_names
637
+ Returns the names of all dimensions in the file
638
+
639
+ Arguments
640
+ * (none)
641
+
642
+ Return value
643
+ * Array of NetCDFDim
644
+
645
+ Corresponding (dependent) function(s) in the C library of NetCDF
646
+ * (nc_inq_ndims, nc_inq_dimname)
647
+
648
+ ---var_names
649
+ Returns the names of all variables in the file
650
+
651
+ Arguments
652
+ * (none)
653
+
654
+ Return value
655
+ * Array of String
656
+
657
+ Corresponding (dependent) function(s) in the C library of NetCDF
658
+ * (dependent on nc_inq_nvars, nc_inq_varname)
659
+
660
+ ---att_names
661
+ Returns the names of all the global attributes of the file
662
+
663
+ Arguments
664
+ * (none)
665
+
666
+ Return value
667
+ * Array of NetCDFAtt
668
+
669
+ Corresponding (dependent) function(s) in the C library of NetCDF
670
+ * (dependent on nc_inq_natts, nc_inq_attname)
671
+
672
+ ---------------------------------------------
673
+
674
+ =class NetCDFDim
675
+ ===Class Methods
676
+
677
+ ===Instance Methods
678
+ ---length
679
+ Returns the length of the dimension
680
+
681
+ Arguments
682
+ * (none)
683
+
684
+ Return value
685
+ * Integer
686
+
687
+ Corresponding (dependent) function(s) in the C library of NetCDF
688
+ * nc_inq_dimlen
689
+
690
+ ---length_ul0
691
+ Same as length but returns 0 for the unlimited dimension
692
+
693
+ Arguments
694
+ * (none)
695
+
696
+ Return value
697
+ * Integer
698
+
699
+ Corresponding (dependent) function(s) in the C library of NetCDF
700
+ * nc_inq_dimlen
701
+
702
+ ---name=(dimension_newname)
703
+ Rename the dimension
704
+
705
+ Arguments
706
+ * dimension_newname (String) : new name
707
+
708
+ Return value
709
+ * nil
710
+
711
+ Corresponding (dependent) function(s) in the C library of NetCDF
712
+ * nc_rename_dim
713
+
714
+ ---name
715
+ Returns the name of the dimension
716
+
717
+ Arguments
718
+ * (none)
719
+
720
+ Return value
721
+ * String
722
+
723
+ Corresponding (dependent) function(s) in the C library of NetCDF
724
+ * nc_inq_dimname
725
+
726
+ ---unlimited?
727
+ Inquires whether the dimension is unlimited or not
728
+
729
+ Arguments
730
+ * (none)
731
+
732
+ Return value
733
+ * true or false
734
+
735
+ Corresponding (dependent) function(s) in the C library of NetCDF
736
+ * (dependent on nc_inq_unlimdim)
737
+
738
+ ---------------------------------------------
739
+
740
+ =class NetCDFVar
741
+ ===Class Methods
742
+ ---NetCDFVar.new(file,varname,mode="r",share=false)
743
+ open a NetCDF variable. This can also be done with NetCDF#var
744
+ (instance method of NetCDF class), which is recommended over
745
+ this method.
746
+
747
+ Arguments
748
+ * file (NetCDF or String) : a NetCDF file object (NetCDF)
749
+ or the path of a NetCDF file (String).
750
+ * varname (String) : name of the variable in the file
751
+ * mode (String) : IO mode -- used if file is a String (see NetCDF.open)
752
+ * share (true or false) : Whether to use the "shared" mode or
753
+ not -- used if file is a String (see NetCDF.open)
754
+
755
+ Return value
756
+ * a NetCDFVar object
757
+
758
+ Corresponding (dependent) function(s) in the C library of NetCDF
759
+ * (dependent on nc_open, nc_create, nc_inq_varid etc.)
760
+
761
+ ---NetCDFVar.unpack_type=(na_type)
762
+ Fix the NArray type to be used in ((<unpack>)).
763
+
764
+ Arguments
765
+ * na_type (Integer) : NArray::BYTE, NArray::SINT, NArray::INT,
766
+ NArray::SFLOAT, or NArray::FLOAT
767
+
768
+ Return value
769
+ * na_type (the argument)
770
+
771
+ ---NetCDFVar.unpack_type
772
+ Returns the NArray type set by ((<NetCDFVar.unpack_type=>)).
773
+
774
+ Return value
775
+ * nil, NArray::BYTE, NArray::SINT, NArray::INT,
776
+ NArray::SFLOAT, or NArray::FLOAT
777
+
778
+ ===Instance Methods
779
+ ---dim(dim_num)
780
+ Inquires the dim_num-th dimension of the variable (dim_num=0,1,2,..)
781
+
782
+ Arguments
783
+ * dim_num (Fixnum) : 0,1,... 0 is the fastest varying dimension.
784
+
785
+ Return value
786
+ * a NetCDFDim object
787
+
788
+ Corresponding (dependent) function(s) in the C library of NetCDF
789
+ * (dependent on nc_inq_vardimid)
790
+
791
+ ---dims
792
+ Returns an array of all the dimensions of the variable
793
+
794
+ Arguments
795
+ * (none)
796
+
797
+ Return value
798
+ * Array of NetCDFDim objects.
799
+
800
+ Corresponding (dependent) function(s) in the C library of NetCDF
801
+ * nc_inq_vardimid
802
+
803
+ ---shape_ul0
804
+ Returns the shape of the variable, but the length of the unlimited dimension is set to zero.
805
+ Good to define another variable.
806
+
807
+ Arguments
808
+ * (none)
809
+
810
+ Return value
811
+ * Array. [length of 0th dim, length of 1st dim,.. ]
812
+
813
+ Corresponding (dependent) function(s) in the C library of NetCDF
814
+ * (dependent on nc_inq_vardimid, nc_inq_unlimdim etc)
815
+
816
+ ---shape_current
817
+ Returns the current shape of the variable.
818
+
819
+ Arguments
820
+ * (none)
821
+
822
+ Return value
823
+ * Array. [length of 0th dim, length of 1st dim,.. ]
824
+
825
+ Corresponding (dependent) function(s) in the C library of NetCDF
826
+ * (dependent on nc_inq_vardimid etc)
827
+
828
+ ---each_att{ ... }
829
+ Iterator regarding the global attributes of the variables.
830
+ Ex.: {|i| print i.name,"\n"} prints names of all of them.
831
+
832
+ Arguments
833
+ * { ... } : Block for the iterator. A "do end" block is the alternative.
834
+
835
+ Return value
836
+ * self
837
+
838
+ Corresponding (dependent) function(s) in the C library of NetCDF
839
+ * (dependent on nc_inq_natts, nc_inq_attname)
840
+
841
+ ---dim_names
842
+ Returns the names of all the dimensions of the variable
843
+
844
+ Arguments
845
+ * (none)
846
+
847
+ Return value
848
+ * Array of String
849
+
850
+ Corresponding (dependent) function(s) in the C library of NetCDF
851
+ * (dependent on nc_inq_varndims, nc_inq_vardimid, nc_inq_dimname)
852
+
853
+ ---att_names
854
+ Returns the names of all the attributes of the variable
855
+
856
+ Arguments
857
+ * (none)
858
+
859
+ Return value
860
+ * Array of String
861
+
862
+ Corresponding (dependent) function(s) in the C library of NetCDF
863
+ * (dependent on nc_inq_natts, nc_inq_attname)
864
+
865
+ ---name
866
+ Returns the name of the variable
867
+
868
+ Arguments
869
+ * (none)
870
+
871
+ Return value
872
+ * String
873
+
874
+ Corresponding (dependent) function(s) in the C library of NetCDF
875
+ * nc_inq_varname
876
+
877
+ ---name=(variable_newname)
878
+ Rename the variable
879
+
880
+ Arguments
881
+ * variable_newname (String) : new name
882
+
883
+ Return value
884
+ * nil
885
+
886
+ Corresponding (dependent) function(s) in the C library of NetCDF
887
+ * nc_rename_var
888
+
889
+ ---ndims
890
+ Number of dimensions of the variable (which is rank of the variable).
891
+
892
+ Arguments
893
+ * (none)
894
+
895
+ Return value
896
+ * Integer
897
+
898
+ Corresponding (dependent) function(s) in the C library of NetCDF
899
+ * nc_inq_varndims
900
+
901
+ ---rank
902
+ Aliased to ndims
903
+
904
+ ---ntype
905
+ Aliased to vartype
906
+
907
+ ---vartype
908
+ Inquires the data value type of the variable
909
+
910
+ Arguments
911
+ * (none)
912
+
913
+ Return value
914
+ * String ("char","byte","sint","int","sfloat", or "float")
915
+
916
+ Corresponding (dependent) function(s) in the C library of NetCDF
917
+ * nc_inq_vartype
918
+
919
+ ---typecode
920
+ Inquires the data type of the variable (returns a typecode of NArray)
921
+
922
+ Arguments
923
+ * (none)
924
+
925
+ Return value
926
+ * a Fixnum (NArray:BYTE, NArray:SINT, NArray:LINT, NArray:SFLOAT, NArray:SFLOAT, NArray:DFLOAT)
927
+
928
+ Corresponding (dependent) function(s) in the C library of NetCDF
929
+ * nc_inq_vartype
930
+
931
+ ---natts
932
+ Returns the number of the attributes of the variable
933
+
934
+ Arguments
935
+ * (none)
936
+
937
+ Return value
938
+ * Integer
939
+
940
+ Corresponding (dependent) function(s) in the C library of NetCDF
941
+ * nc_inq_varnatts
942
+
943
+ ---file
944
+ Inquires the file that the variable is in
945
+
946
+ Arguments
947
+ * (none)
948
+
949
+ Return value
950
+ * a NetCDF object
951
+
952
+ Corresponding (dependent) function(s) in the C library of NetCDF
953
+ * (none)
954
+
955
+ ---att(attribute_name)
956
+ Returns the attribute specified by its name
957
+
958
+ Arguments
959
+ * attribute_name (String) : Name of the attribute
960
+
961
+ Return value
962
+ * a NetCDFAtt object if the attribute exists; nil if not
963
+
964
+ Corresponding (dependent) function(s) in the C library of NetCDF
965
+ * (nc_inq_attid is used for inquiry)
966
+
967
+ ---put_att(attribute_name, value, atttype=nil)
968
+ Sets an attribute
969
+
970
+ Arguments
971
+ * attribute_name (String) : name of the attribute
972
+ * value (Numeric, String, Array of Numeric, or NArray) : value of the attribute
973
+ * atttype (nil or String) : data type of the attribute value.
974
+ nil lets it automatically determined from the value.
975
+ "char" (="string"), "byte", "sint", "int", "sfloat", or "float"
976
+ specifies the type explicitly (1,1,2,4,4,8 bytes, respectively)
977
+
978
+ Return value
979
+ * a NetCDFAtt object
980
+
981
+ Corresponding (dependent) function(s) in the C library of NetCDF
982
+ * nc_put_att_<type>
983
+
984
+ ---put(value, option=nil)
985
+ Aliased to ((<simple_put>))
986
+
987
+ ---simple_put(value, option=nil)
988
+ Set the values of the variable
989
+
990
+ Arguments
991
+ * value : value to set (Numeric, Array of Numeric (1D only), or
992
+ NArray (possibly multi-D)). If it is a Numeric or length==1, the value
993
+ is set uniformly.
994
+ * option (Hash) : Optional argument to limit the portion of the
995
+ variable to output values. If omitted, the whole variable is
996
+ subject to the output. This argument accepts a Hash whose keys
997
+ contain either "index" or a combination of "start","end", and
998
+ "stride". The value of "index" points the index of a scalar
999
+ portion of the variable. The other case is used to designate a
1000
+ regularly ordered subset, where "start" and "end" specifies
1001
+ bounds in each dimension and "stride" specifies intervals in
1002
+ it. As in Array "start", "end", and "index" can take negative
1003
+ values to specify index backward from the end. However,
1004
+ "stride" has to be positive, so reversing the array must be
1005
+ done afterwards if you like.
1006
+
1007
+ Example: If the variable is 2D:
1008
+
1009
+ {"start"=>[2,5],"end"=>[6,-1],"stride"=>[2,4]} -- Specifies a
1010
+ subset made as follows: the 1st dimension from the element 2
1011
+ to the element 6 (note that the count starts with 0, so that
1012
+ the element 2 is the 3rd one) with an interval of 2;
1013
+ the 2nd dimension from the element 6 to the last element
1014
+ (designated by -1) with an interval of 5.
1015
+
1016
+ {"index"=>[0,0]}: Scalar of the fist element
1017
+
1018
+ {"index"=>[0,-2]}: Scalar from the 1st element of with
1019
+ respect to the 1st dimension and the 2nd element from the last
1020
+ with respect to the 2nd dimension
1021
+
1022
+
1023
+ Return value
1024
+ * nil
1025
+
1026
+ Corresponding (dependent) function(s) in the C library of NetCDF
1027
+ * nc_put_var_<type>, nc_put_vars_<type>, nc_put_var1_<type>
1028
+
1029
+ ---pack(na)
1030
+ Pack a NArray (etc) using the attributes scale_factor and/or add_offset of self.
1031
+
1032
+ If scale_factor and/or add_offset is defined, returns
1033
+ (na-add_offset)/scale_factor. Returns na if not.
1034
+
1035
+ Arguments
1036
+ * na : a numeric array to pack (NArray, NArrayMiss, or Array)
1037
+
1038
+ Return value
1039
+ * a NArray or NArrayMiss
1040
+
1041
+ ---scaled_put(value, option=nil)
1042
+ Same as ((<simple_put>)) but interprets the attributes scale_factor and/or add_offset using ((<pack>)).
1043
+
1044
+ See the document for ((<simple_put>)) for arguments etc.
1045
+
1046
+ ---get(option=nil)
1047
+ Aliased to ((<simple_get>)).
1048
+
1049
+ ---simple_get(option=nil)
1050
+ Returns values of the variable
1051
+
1052
+ Arguments
1053
+ * option (Hash) : Optional argument to limit the portion of the
1054
+ variable to get values. Its usage is the same as in the method
1055
+ put.
1056
+
1057
+ Return value
1058
+ * an NArray object
1059
+
1060
+ Corresponding (dependent) function(s) in the C library of NetCDF
1061
+ * nc_get_var_<type>, nc_get_vars_<type>, nc_get_var1_<type>
1062
+
1063
+ ---unpack(na)
1064
+ Unpack a NArray (etc) using the attributes scale_factor and/or add_offset of self.
1065
+
1066
+ If scale_factor and/or add_offset is defined, returns
1067
+ na * scale_factor + add_offset. Returns na if not.
1068
+ Type conversion is made by the coercing -- for example
1069
+ if na is sint and scale_factor and add_offset is sfloat,
1070
+ return value is sfloat. The type of the return value can be specified
1071
+ explicitly with ((<NetCDFVar.unpack_type=>)).
1072
+
1073
+ Arguments
1074
+ * na : a numeric array to unpack (NArray, or NArrayMiss)
1075
+
1076
+ Return value
1077
+ * a NArray or NArrayMiss
1078
+
1079
+ ---scaled_get(option=nil)
1080
+ Same as ((<simple_get>)) but interprets the attributes scale_factor and/or add_offset using ((<unpack>)).
1081
+
1082
+ See the document for ((<simple_get>)) for arguments etc.
1083
+
1084
+ ---[]
1085
+ Same as NetCDFVar#get but a subset is specified as in the method [] of NArray.
1086
+
1087
+ In addition to the subset specifications supported by NArray,
1088
+ ranges with steps are supported, which is specified
1089
+ like {0..-1, 3}, i.e., a 1-element Hash with the key and value
1090
+ representing the range (Range) and the step (Integer), respectively.
1091
+ Unlike NArray, 1-dimensional indexing of multi-dimensional
1092
+ variables is not support.
1093
+
1094
+ ---[]=
1095
+ Same as NetCDFVar#put but a subset is specified as in the method []= of NArray.
1096
+
1097
+ In addition to the subset specifications supported by NArray,
1098
+ ranges with steps are supported, which is specified
1099
+ like {0..-1, 3}, i.e., a 1-element Hash with the key and value
1100
+ representing the range (Range) and the step (Integer), respectively.
1101
+ Unlike NArray, 1-dimensional indexing of multi-dimensional
1102
+ variables is not support.
1103
+
1104
+ ===Instance Methods added by requiring "numru/netcdf_miss"
1105
+
1106
+ ---get_with_miss(option=nil)
1107
+ Same as ((<get>)) but interprets data missing.
1108
+
1109
+ Data missing is specified by the standard attributes valid_range,
1110
+ (valid_min and/or valid_max), or missing_value, with the precedence being
1111
+ this order. Unlike the
1112
+ recommendation in the NetCDF User's guide, missing_value is
1113
+ interpreted if present. If missing_value and valid_* present
1114
+ simultaneously, missing_value must be outside the valid range.
1115
+ Otherwise, exception is raised.
1116
+
1117
+ If data missing is specified as stated above, this method returns a NArrayMiss.
1118
+ If not, it returns a NArray. Thus, you can use this whether
1119
+ data missing is defined or not.
1120
+
1121
+ Arguments
1122
+ * See ((<get>)).
1123
+
1124
+ Return value
1125
+ * an NArrayMiss (if data missing is specified) or an NArray
1126
+ (if data missing is NOT specified)
1127
+
1128
+ Possible exception in addition to NetcdfError.
1129
+ * missing_value is in the valid range (see above).
1130
+
1131
+ Corresponding (dependent) function(s) in the C library of NetCDF
1132
+ * See ((<get>)). This method is written in Ruby.
1133
+
1134
+ EXAMPLE
1135
+ * The following is an example to replace ((<get>)) with ((<get_with_miss>)).
1136
+ It will also make ((<[]>)) interpret data missing,
1137
+ since it calls (({get})) internally.
1138
+
1139
+ file = NetCDF.open('hogehoge.nc')
1140
+ var = file.var('var')
1141
+ def var.get(*args); get_with_miss(*args); end
1142
+ p var.get # --> interprets data missing if defined
1143
+ p var[0..-1,0] # --> interprets data missing if defined (assumed 2D)
1144
+
1145
+ ---get_with_miss_and_scaling(option=nil)
1146
+ Same as ((<get_with_miss>)) but handles data scaling too using ((<unpack>)).
1147
+
1148
+ Missing data handling using valid_* / missing_value is applied
1149
+ basically to packed data, which is consistent with most
1150
+ conventions. However, it is applied to unpacked data
1151
+ if and only if the type of valid_* / missing_value is not the same as
1152
+ the packed data and is the samed as the unpacked data.
1153
+ This treatment can handle all conventions.
1154
+
1155
+ EXAMPLE
1156
+ * See above. The same thing applies.
1157
+
1158
+ ---put_with_miss(value, option=nil)
1159
+ Same as ((<put>)) but interprets data missing.
1160
+
1161
+ If (({value})) is an NArray, the methods behaves as ((<put>)).
1162
+ Data missing in (({value})) is interpreted if it is an NArrayMiss
1163
+ and data missing is specified by attributes in (({self}))
1164
+ (see ((<get_with_miss>)) ).
1165
+ Namely, the data which are "invalid" in the (({value})) is replaced
1166
+ with a missing value when written in the file.
1167
+ (missing_value or _FillValue or a value outside
1168
+ the valid range). No check is made whether "valid" values in the
1169
+ NArrayMiss is within the valid range of (({self})).
1170
+
1171
+ Arguments
1172
+ * value : NArrayMiss or what is allowed in ((<put>)).
1173
+ * option (Hash) : See ((<put>)).
1174
+
1175
+ Return value
1176
+ * nil
1177
+
1178
+ Corresponding (dependent) function(s) in the C library of NetCDF
1179
+ * See ((<put>)). This method is written in Ruby.
1180
+
1181
+ EXAMPLE
1182
+ * The following is an example to replace ((<put>)) with ((<put_with_miss>)).
1183
+ It will also make ((<[]=>)) interpret data missing,
1184
+ since it calls (({put})) internally.
1185
+
1186
+ file = NetCDF.open('hogehoge.nc')
1187
+ var = file.var('var')
1188
+ def var.put(*args); put_with_miss(*args); end
1189
+ var.put = narray_miss # --> interprets data missing if defined
1190
+ var[0..-1,0] = narray_miss # --> interprets data missing if defined (assumed 2D)
1191
+
1192
+ ---put_with_miss_and_scaling(value, option=nil)
1193
+ Same as ((<put_with_miss>)) but handles data scaling too using ((<pack>)).
1194
+
1195
+ Missing data handling using valid_* / missing_value is applied
1196
+ basically to packed data, which is consistent with most
1197
+ conventions. However, it is applied to unpacked data
1198
+ if and only if the type of valid_* / missing_value is not the same as
1199
+ the packed data and is the samed as the unpacked data.
1200
+ This treatment can handle all conventions.
1201
+
1202
+ EXAMPLE
1203
+ * See above. The same thing applies.
1204
+
1205
+ ---------------------------------------------
1206
+
1207
+ =class NetCDFAtt
1208
+ ===Class Methods
1209
+
1210
+ ===Instance Methods
1211
+ ---name
1212
+ Returns the name of the attribute
1213
+
1214
+ Arguments
1215
+ * (none)
1216
+
1217
+ Return value
1218
+ * String
1219
+
1220
+ Corresponding (dependent) function(s) in the C library of NetCDF
1221
+ * (none)
1222
+
1223
+ ---name=(attribute_newname)
1224
+ Rename the attribute
1225
+
1226
+ Arguments
1227
+ * attribute_newname (String) : New name
1228
+
1229
+ Return value
1230
+ * nil
1231
+
1232
+ Corresponding (dependent) function(s) in the C library of NetCDF
1233
+ * nc_rename_att
1234
+
1235
+ ---copy(var_or_file)
1236
+ Copies an attribute to a variable or a file. If file, becomes an global attribute
1237
+
1238
+ Arguments
1239
+ * var_or_file (NetCDFVar or NetCDF)
1240
+
1241
+ Return value
1242
+ * Resultant new attribute (NetCDFAtt)
1243
+
1244
+ Corresponding (dependent) function(s) in the C library of NetCDF
1245
+ * nc_copy_att
1246
+
1247
+ ---delete
1248
+ Delete an attribute
1249
+
1250
+ Arguments
1251
+ * (none)
1252
+
1253
+ Return value
1254
+ * nil
1255
+
1256
+ Corresponding (dependent) function(s) in the C library of NetCDF
1257
+ * nc_del_att
1258
+
1259
+ ---put(value, atttype=nil)
1260
+ Sets the value of the attribute
1261
+
1262
+ Arguments
1263
+ * value (Numeric, String, Array of Numeric, or NArray) : value of the attribute
1264
+ * atttype (nil or String) : data type of the attribute value.
1265
+ nil lets it automatically determined from the value.
1266
+ "char" (="string"), "byte", "sint", "int", "sfloat", or "float"
1267
+ specifies the type explicitly (1,1,2,4,4,8 bytes, respectively)
1268
+
1269
+ Return value
1270
+ * nil
1271
+
1272
+ Corresponding (dependent) function(s) in the C library of NetCDF
1273
+ * nc_put_att_<type>
1274
+
1275
+ ---get
1276
+ Returns the values of the attribute
1277
+
1278
+ Arguments
1279
+ * (none)
1280
+
1281
+ Return value
1282
+ * String or an NArray object (NOTE: even a scalar is returned as
1283
+ an NArray of length 1)
1284
+
1285
+ Corresponding (dependent) function(s) in the C library of NetCDF
1286
+ * nc_get_att_<type>
1287
+
1288
+ ---atttype
1289
+ Inquires the type of attribute values
1290
+
1291
+ Arguments
1292
+ * (none)
1293
+
1294
+ Return value
1295
+ * "char","byte","sint","int","sfloat","float"
1296
+
1297
+ Corresponding (dependent) function(s) in the C library of NetCDF
1298
+ * nc_inq_atttype
1299
+
1300
+ ---atttype
1301
+ Inquires the type of attribute values (returns a NArray typecode)
1302
+
1303
+ Arguments
1304
+ * (none)
1305
+
1306
+ Return value
1307
+ * a Fixnum (NArray:BYTE, NArray:SINT, NArray:LINT, NArray:SFLOAT, NArray:SFLOAT, NArray:DFLOAT)
1308
+
1309
+ Corresponding (dependent) function(s) in the C library of NetCDF
1310
+ * nc_inq_atttype
1311
+
1312
+ =end