ruby-netcdf 0.6.6.1 → 0.7.1
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.
- checksums.yaml +15 -0
- data/.gitignore +8 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/ChangeLog +51 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -40
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/demo/demo5-netcdf4.rb +44 -0
- data/doc/Ref_man.html +340 -239
- data/doc/Ref_man.rd +91 -0
- data/doc/Ref_man_jp.html +940 -835
- data/doc/Ref_man_jp.rd +95 -0
- data/doc/to_html +3 -3
- data/extconf.rb +113 -78
- data/lib/netcdf.rb +89 -73
- data/lib/version.rb +5 -0
- data/netcdfraw.c +276 -169
- data/ruby-netcdf.gemspec +34 -0
- metadata +92 -97
data/doc/Ref_man.rd
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
=begin
|
2
2
|
=RubyNetCDF Reference Manual
|
3
3
|
|
4
|
+
RubyNetCDF version : 0.7.1
|
5
|
+
|
4
6
|
* ((<Method Index>))
|
5
7
|
|
6
8
|
---------------------------------------------
|
@@ -22,6 +24,9 @@ automatically. To use it, you will also
|
|
22
24
|
need ((<NArrayMiss|URL:http://ruby.gfd-dennou.org/products/narray_miss/>)).
|
23
25
|
See ((<Usage>)) for details.
|
24
26
|
|
27
|
+
Currently, NetCDF-4 support is partial (the new data models have not been
|
28
|
+
supported).
|
29
|
+
|
25
30
|
===Structure
|
26
31
|
|
27
32
|
RubyNetCDF consists of the four classes in the following.
|
@@ -154,6 +159,9 @@ distribution package.
|
|
154
159
|
* ((<class NetCDF>))
|
155
160
|
|
156
161
|
Class Methods
|
162
|
+
* ((<NetCDF.nc4?>)) returens wheather the linked library is NetCDF-4 (true/false)
|
163
|
+
* ((<NetCDF.creation_format=>)) Set the file format created by NetCDF.create (for NetCDF-4 only).
|
164
|
+
* ((<NetCDF.creation_format>)) Returns the current setting of the creation format (for NetCDF-4 only).
|
157
165
|
* ((<NetCDF.open>)) Opens a file (class method). If mode="w" and non-existent, a new
|
158
166
|
* ((<NetCDF.new>)) Aliased to NetCDF.open
|
159
167
|
* ((<NetCDF.create>)) Creates a NetCDF file (class method)
|
@@ -207,6 +215,10 @@ distribution package.
|
|
207
215
|
* ((<NetCDFVar.unpack_type>)) Returns the NArray type set by ((<NetCDFVar.unpack_type=>)).
|
208
216
|
|
209
217
|
Instance Methods
|
218
|
+
* ((<deflate>)) Sets "deflation" (compression). (netCDF-4 only)
|
219
|
+
* ((<deflate_params>)) Retuns present deflation parameters. (netCDF-4 only)
|
220
|
+
* ((<endian=>)) Sets (changes) the endian. (netCDF-4 only)
|
221
|
+
* ((<endian>)) Retunrs the present endian setting. (netCDF-4 only)
|
210
222
|
* ((<dim>)) Inquires the dim_num-th dimension of the variable (dim_num=0,1,2,..)
|
211
223
|
* ((<dims>)) Returns an array of all the dimensions of the variable
|
212
224
|
* ((<shape_ul0>)) Returns the shape of the variable, but the length of the unlimited dimension is set to zero.
|
@@ -263,7 +275,34 @@ distribution package.
|
|
263
275
|
---------------------------------------------
|
264
276
|
|
265
277
|
=class NetCDF
|
278
|
+
===constants
|
279
|
+
* NC_NOWRITE, NC_WRITE, NC_SHARE, NC_CLOBBER, NC_NOCLOBBER, NC_64BIT_OFFSET, NC_NETCDF4, NC_CLASSIC_MODEL, NCVERSION, SUPPORT_BIGMEM : these constants can accessed by NumRu::NetCDF::NC_NOWRITE etc.
|
280
|
+
|
266
281
|
===Class Methods
|
282
|
+
---NetCDF.nc4?
|
283
|
+
Returens wheather the linked NetCDF library is NetCDF-4 (true/false).
|
284
|
+
false means that it is version 3.
|
285
|
+
|
286
|
+
---NetCDF.creation_format=(cmode)
|
287
|
+
(Available only when NetCDF version 4 is used. Error is raised if not.)
|
288
|
+
Set the file format created by NetCDF.create. The initial setting is
|
289
|
+
"classic" (conventional netcdf 3 format).
|
290
|
+
|
291
|
+
Arguments
|
292
|
+
* cmode : one of the following:
|
293
|
+
* 0, nil, or NetCDF::NC_CLASSIC_MODEL : the classic format
|
294
|
+
(original NetCDF-3 format). This is the default setting of
|
295
|
+
RubyNetCDF.
|
296
|
+
* NetCDF::NC_64BIT_OFFSET : classic but supports larger variables
|
297
|
+
* NetCDF::NC_NETCDF4 : The new NetCDF-4 format based on HDF5
|
298
|
+
* ( NetCDF::NC_NETCDF4 | NetCDF::NC_CLASSIC_MODEL) [bit "or" of
|
299
|
+
NetCDF::NC_NETCDF4 and NetCDF::NC_CLASSIC_MODEL ]: the new
|
300
|
+
NetCDF-4 format but new data models are disabled.
|
301
|
+
|
302
|
+
---NetCDF.creation_format
|
303
|
+
(Available only when NetCDF version 4 is used. Error is raised if not.)
|
304
|
+
Returns the current setting of the creation format.
|
305
|
+
|
267
306
|
---NetCDF.open(filename, mode="r", share=false)
|
268
307
|
Opens a file (class method). If mode="w" and the file does not
|
269
308
|
exist, a new file is created.
|
@@ -776,6 +815,58 @@ distribution package.
|
|
776
815
|
NArray::SFLOAT, or NArray::FLOAT
|
777
816
|
|
778
817
|
===Instance Methods
|
818
|
+
---deflate(deflate_level, shuffle=false)
|
819
|
+
(Available only when NetCDF version 4 is used. Error is raised if not.)
|
820
|
+
Makes the current (newly created) variable "deflated" (=compressed).
|
821
|
+
This method must be called after
|
822
|
+
defining a variable (NetCDF#((<def_var>))) and before calling NetCDF#((<enddef>)).
|
823
|
+
|
824
|
+
Arguments
|
825
|
+
* deflate_level (Integer) :: 0 to 9. (0: no compression; 9:
|
826
|
+
highest compression; recommended: 1 or 2).
|
827
|
+
* shuffle (optional; true or false; default: false) if true,
|
828
|
+
turn on the shuffle filter.
|
829
|
+
* ((<URL:http://www.unidata.ucar.edu/software/netcdf/papers/AMS_2008.pdf>)):
|
830
|
+
``The shuffle algorithm changes the byte order in the data stream;
|
831
|
+
when used with integers that are all close together, this
|
832
|
+
results in a better compression ratio. There is no benefit
|
833
|
+
from using the shuffle filter without also using
|
834
|
+
compression.''
|
835
|
+
* Note: shuffle is effective for float variables too (tested by horinouchi).
|
836
|
+
|
837
|
+
Return value
|
838
|
+
* self
|
839
|
+
|
840
|
+
---deflate_params
|
841
|
+
(Available only when NetCDF version 4 is used. Error is raised if not.)
|
842
|
+
Returns the present deflation parameters.
|
843
|
+
|
844
|
+
Return value
|
845
|
+
* [shuffle, deflate, deflate_level] (a 3-element Array),
|
846
|
+
where the values of shuffle and deflate are
|
847
|
+
true or false, and deflate_level is an Integer (0-9).
|
848
|
+
|
849
|
+
---endian=(endian)
|
850
|
+
(Available only when NetCDF version 4 is used. Error is raised if not.)
|
851
|
+
Sets (changes) the endian. See ((<deflate>)) for when to use it.
|
852
|
+
|
853
|
+
Arguments
|
854
|
+
* endian : one of the following constants:
|
855
|
+
NetCDF::NC_ENDIAN_NATIVE (=0) (default),
|
856
|
+
NetCDF::NC_ENDIAN_LITTLE (=1), or NetCDF::NC_ENDIAN_BIG (=2).
|
857
|
+
|
858
|
+
Return value
|
859
|
+
* self
|
860
|
+
|
861
|
+
---endian
|
862
|
+
(Available only when NetCDF version 4 is used. Error is raised if not.)
|
863
|
+
Returns the current endian setting.
|
864
|
+
|
865
|
+
Return value
|
866
|
+
* one of the following constants:
|
867
|
+
NetCDF::NC_ENDIAN_NATIVE (=0) (default),
|
868
|
+
NetCDF::NC_ENDIAN_LITTLE (=1), or NetCDF::NC_ENDIAN_BIG (=2).
|
869
|
+
|
779
870
|
---dim(dim_num)
|
780
871
|
Inquires the dim_num-th dimension of the variable (dim_num=0,1,2,..)
|
781
872
|
|
data/doc/Ref_man_jp.html
CHANGED
@@ -1,1441 +1,1546 @@
|
|
1
|
-
<?xml version="1.0" ?>
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
2
|
<!DOCTYPE html
|
3
3
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
4
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
|
6
6
|
<head>
|
7
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
7
8
|
<title>Untitled</title>
|
8
9
|
</head>
|
9
10
|
<body>
|
10
|
-
<h1><a name="label
|
11
|
+
<h1><a name="label-0" id="label-0">RubyNetCDF レファレンスマニュアル</a></h1><!-- RDLabel: "RubyNetCDF レファレンスマニュアル" -->
|
12
|
+
<p>RubyNetCDF version : 0.7.1</p>
|
11
13
|
<ul>
|
12
|
-
<li><a href="#label
|
14
|
+
<li><a href="#label-9">メソッドインデックス</a></li>
|
13
15
|
</ul>
|
14
16
|
<p>---------------------------------------------</p>
|
15
|
-
<h2><a name="label
|
16
|
-
<p>RubyNetCDF
|
17
|
-
|
18
|
-
<a href="http://www.ruby-lang.org/"
|
19
|
-
|
20
|
-
Ruby
|
17
|
+
<h2><a name="label-1" id="label-1">概要</a></h2><!-- RDLabel: "概要" -->
|
18
|
+
<p>RubyNetCDF は NetCDF ライブラリーの Ruby インターフェースである。Ruby
|
19
|
+
はフリーなオブジェクト指向スクリプト言語であり、
|
20
|
+
<a href="http://www.ruby-lang.org/">ここ</a>
|
21
|
+
から入手できる。RubyNetCDF は数値配列として、
|
22
|
+
Ruby で一般的に使われている多次元数値配列ライブラリー
|
21
23
|
<a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=NArray">NArray</a>
|
22
|
-
|
23
|
-
NArray
|
24
|
-
|
25
|
-
NumPy
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
を用るので、あらかじめインストールしておく必要がある。
|
25
|
+
NArray はデータを、C のポインターが指す連続したメモリー領域
|
26
|
+
に保持し、計算機資源を効率よく利用する。NArray は Python における
|
27
|
+
NumPy と似るが、幾つかのテストは NArray のほうが NumPy より効率が良い
|
28
|
+
ことを示唆している。
|
29
|
+
オプションとして、RubyNetCDF はデータ欠損の自動的な取り扱いメソッドを
|
30
|
+
提供する。これを使うには、
|
29
31
|
<a href="http://ruby.gfd-dennou.org/products/narray_miss/">NArrayMiss</a>
|
30
|
-
|
31
|
-
<
|
32
|
-
<
|
33
|
-
<
|
34
|
-
<
|
35
|
-
<p
|
36
|
-
<
|
37
|
-
<p>
|
38
|
-
|
39
|
-
|
40
|
-
<p>
|
41
|
-
|
42
|
-
|
43
|
-
<p>
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
<
|
48
|
-
|
49
|
-
|
50
|
-
"
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
<
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
<
|
67
|
-
<
|
68
|
-
<
|
69
|
-
|
32
|
+
が必要である。詳しくは<a href="#label-6">使用法</a>を見よ。</p>
|
33
|
+
<p>現在 NetCDF-4 のサポートは部分的である(新しいデータモデルはサポートしてない)。</p>
|
34
|
+
<h3><a name="label-2" id="label-2">構成</a></h3><!-- RDLabel: "構成" -->
|
35
|
+
<p>RubyNetCDF は以下の4つのクラスから構成される。</p>
|
36
|
+
<ul>
|
37
|
+
<li><p><a href="#label-10">クラス NetCDF</a> -- ファイルのクラス</p>
|
38
|
+
<p>一つのNetCDFクラスのオブジェクトは一つの NetCDF ファイルに対応する</p></li>
|
39
|
+
<li><p><a href="#label-47">クラス NetCDFDim</a> -- 次元のクラス</p>
|
40
|
+
<p>C 版 NetCDF では、次元は、ファイルのIDと次元IDという2変数の組で表されるが、
|
41
|
+
Ruby 版では一つの NetCDFDim オブジェクトで代表される</p></li>
|
42
|
+
<li><p><a href="#label-55">クラス NetCDFVar</a> -- 変数のクラス</p>
|
43
|
+
<p>C 版 NetCDF では、変数は、ファイルのIDと変数IDという2変数の組で表されるが、
|
44
|
+
Ruby 版では一つの NetCDFVar オブジェクトで代表される</p></li>
|
45
|
+
<li><p><a href="#label-98">クラス NetCDFAtt</a> -- 属性のクラス</p>
|
46
|
+
<p>C 版 NetCDF では、属性は、ファイルのIDと変数IDと属性名の組で表されるが、
|
47
|
+
Ruby 版では一つの NetCDFAtt オブジェクトで代表される</p></li>
|
48
|
+
</ul>
|
49
|
+
<h3><a name="label-3" id="label-3">データ型</a></h3><!-- RDLabel: "データ型" -->
|
50
|
+
<p>本ライブラリーでは全ての NetCDF 変数の型 char, byte, short, int,
|
51
|
+
float, double がサポートされている。しかし、これらは Ruby の(より正確
|
52
|
+
に言うと NArray の)慣例に従って、それぞれ "char", "byte", "sint",
|
53
|
+
"int", "sfloat", "float" と呼ばれる。従って、NetCDFVar クラスの vartype
|
54
|
+
(=ntype) はこれらの文字列の一つを返す。また、NetCDFクラスの def_var メ
|
55
|
+
ソッドは、変数を定義する際、これらを受け付ける。特に注意する必要がある
|
56
|
+
のは、本ライブラリーでの "float" は C で言うところの double を意味する
|
57
|
+
ということである。これは Ruby の慣例のせいである -- 組み込みの Float
|
58
|
+
クラスは、C の float でなく double に対応するのである。</p>
|
59
|
+
<p>NetCDFVar クラスの get メソッドはファイル中と同じ型の NArray 変数に値
|
60
|
+
を読み込むが、"char" 型変数については "byte" 型 NArray に読み込まれる。
|
61
|
+
これは NArray が "char" 型を持たないからである。ただ、そもそも NArray
|
62
|
+
は byte 型で文字列を簡単に扱えるので、特に不都合はないと考えられる。</p>
|
63
|
+
<h3><a name="label-4" id="label-4">エラー処理</a></h3><!-- RDLabel: "エラー処理" -->
|
64
|
+
<p>エラーは基本的には例外を発生することにより対処する。但し、値を返すメソッ
|
65
|
+
ドでは軽微なエラーは nil を返すことで対処する(属性値を得るために指定
|
66
|
+
された名前の属性が存在しないときなど)。例外的な状況で nil を発生する
|
67
|
+
メソッドについてはマニュアルに明記してある。</p>
|
68
|
+
<h3><a name="label-5" id="label-5">セキュリティ</a></h3><!-- RDLabel: "セキュリティ" -->
|
69
|
+
<p>組み込みの File クラスと同じセキュリティー対応をしていてる。</p>
|
70
|
+
<h3><a name="label-6" id="label-6">使用法</a></h3><!-- RDLabel: "使用法" -->
|
71
|
+
<p>RubyNetCDFライブラリーを利用するためには、まず次の行を Ruby プログラムに書い
|
72
|
+
てライブラリーをロードする必要がある。</p>
|
70
73
|
<pre>require 'numru/netcdf'</pre>
|
71
|
-
<p
|
72
|
-
|
74
|
+
<p>もしも (NetCDFVarクラスの) 自動的なデータ欠損処理メソッドを使いたい場
|
75
|
+
合は、以下を実行する必要がある。</p>
|
73
76
|
<pre>require 'numru/netcdf_miss'</pre>
|
74
|
-
<p
|
75
|
-
|
77
|
+
<p>これは内部で一番最初に <code>require 'numru/netcdf'</code> を実行するので、
|
78
|
+
これだけ呼べば良い。データ欠損の扱いは
|
76
79
|
<a href="http://ruby.gfd-dennou.org/products/narray_miss/">NArrayMiss</a>
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
<p
|
81
|
-
|
82
|
-
|
80
|
+
によるので、これをインストールしておかねばならない。
|
81
|
+
もしも <code>require 'numru/netcdf'</code> だけを呼ぶのなら、NArrayMiss
|
82
|
+
は不要である。</p>
|
83
|
+
<p>ここで、'numru' ("Numerical Ruby"から取られた) はユーザーのライブラリー
|
84
|
+
ロードパス中のサブディレクトリーで、RubyNetCDF ライブラリーが置かれる。
|
85
|
+
すると、以下のように利用できるようになる。</p>
|
83
86
|
<pre>file = NumRu::NetCDF.create('tmp.nc')
|
84
87
|
x = file.def_dim('x',10)
|
85
88
|
y = file.def_dim('y',10)
|
86
89
|
v = file.def_var('v','float',[x,y])
|
87
90
|
file.close</pre>
|
88
|
-
<p
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
<p
|
93
|
-
|
94
|
-
|
91
|
+
<p>ここで、NumRu はこのライブラリーを含むモジュールである。このようなモジュー
|
92
|
+
ルにくるんであるのは、名前空間での衝突を避けるためである。このような扱
|
93
|
+
いをしない場合、もしもユーザーが、本ライブラリー中のクラスと名前が衝突
|
94
|
+
するクラスやモジュールを含むライブラリーを使おうとすると、問題が起る。</p>
|
95
|
+
<p>このような問題が起こらないであろう場合は、"NumRu::" という冠は、NumRu
|
96
|
+
モジュールを「インクルード」することで外せる(現在のスコープにおいてと
|
97
|
+
いうこである)。従って次のように書ける。</p>
|
95
98
|
<pre>include NumRu
|
96
99
|
file = NetCDF.create('tmp.nc')
|
97
100
|
...</pre>
|
98
|
-
<p
|
99
|
-
|
101
|
+
<p>さらなる使用例としてはダウンロード用パッケージに含まれる demo や test
|
102
|
+
プログラムを参照せよ。</p>
|
100
103
|
<p>---------------------------------------------</p>
|
101
|
-
<h2><a name="label
|
104
|
+
<h2><a name="label-7" id="label-7">マニュアルの見方</a></h2><!-- RDLabel: "マニュアルの見方" -->
|
102
105
|
<dl>
|
103
|
-
<dt><h4><a name="label
|
106
|
+
<dt><h4><a name="label-8" id="label-8"><code>メソッド名(引数<var>1</var>, 引数<var>2</var>, ...) -- 省略可能な引数は 引数名=デフォルト値 の形で示す</code></a></h4></dt><!-- RDLabel: "メソッド名" -->
|
104
107
|
<dd>
|
105
|
-
<p
|
106
|
-
<p
|
108
|
+
<p>機能の解説</p>
|
109
|
+
<p>引数</p>
|
107
110
|
<ul>
|
108
|
-
<li
|
109
|
-
<li
|
111
|
+
<li>引数1の名 (そのクラスまたは取り得る値): 説明</li>
|
112
|
+
<li>引数2の名 (そのクラスまたは取り得る値): 説明</li>
|
110
113
|
<li>...</li>
|
111
114
|
</ul>
|
112
|
-
<p
|
115
|
+
<p>戻り値</p>
|
113
116
|
<ul>
|
114
|
-
<li
|
117
|
+
<li>戻り値の説明</li>
|
115
118
|
</ul>
|
116
|
-
<p
|
119
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
117
120
|
<ul>
|
118
|
-
<li>NetCDF ver 3
|
119
|
-
|
121
|
+
<li>NetCDF ver 3 の関数名。括弧がない場合、その関数と同等の機能を有
|
122
|
+
することを示す。直接的な対応がない場合、括弧内に依存する関数を挙げる。</li>
|
120
123
|
</ul></dd>
|
121
124
|
</dl>
|
122
125
|
<p>---------------------------------------------</p>
|
123
|
-
<h2><a name="label
|
124
|
-
<ul>
|
125
|
-
<li><p><a href="#label
|
126
|
-
<p
|
127
|
-
<ul>
|
128
|
-
<li><a href="#label
|
129
|
-
<li><a href="#label
|
130
|
-
<li><a href="#label
|
131
|
-
<li><a href="#label
|
132
|
-
</
|
133
|
-
<
|
134
|
-
<
|
135
|
-
|
136
|
-
<
|
137
|
-
<
|
138
|
-
<li><a href="#label
|
139
|
-
<li><a href="#label
|
140
|
-
<li><a href="#label
|
141
|
-
<li><a href="#label
|
142
|
-
<li><a href="#label
|
143
|
-
<li><a href="#label
|
144
|
-
<li><a href="#label
|
145
|
-
<li><a href="#label
|
146
|
-
<li><a href="#label
|
147
|
-
<li><a href="#label
|
148
|
-
<li><a href="#label
|
149
|
-
<li><a href="#label
|
150
|
-
<li><a href="#label
|
151
|
-
<li><a href="#label
|
152
|
-
<li><a href="#label
|
153
|
-
<li><a href="#label
|
154
|
-
<li><a href="#label
|
155
|
-
<li><a href="#label
|
156
|
-
<li><a href="#label
|
157
|
-
<li><a href="#label
|
158
|
-
<li><a href="#label
|
159
|
-
<li><a href="#label
|
160
|
-
<li><a href="#label
|
126
|
+
<h2><a name="label-9" id="label-9">メソッドインデックス</a></h2><!-- RDLabel: "メソッドインデックス" -->
|
127
|
+
<ul>
|
128
|
+
<li><p><a href="#label-10">クラス NetCDF</a></p>
|
129
|
+
<p>クラスメソッド</p>
|
130
|
+
<ul>
|
131
|
+
<li><a href="#label-13">NetCDF.nc4?</a> リンクされた NetCDF が version 4 かどうか返す</li>
|
132
|
+
<li><a href="#label-14">NetCDF.creation_format=</a> NetCDF.createで作られるファイルフォーマットを設定する (NetCDF-4 専用).</li>
|
133
|
+
<li><a href="#label-15">NetCDF.creation_format</a> NetCDF.createで作られるファイルフォーマットの設定を返す. (NetCDF-4 専用).</li>
|
134
|
+
<li><a href="#label-16">NetCDF.open</a> ファイルオープン(クラスメソッド)mode="w" でファイルが存在しなければ新規作成</li>
|
135
|
+
<li><a href="#label-17">NetCDF.new</a> NetCDF.openメソッドのエイリアスである</li>
|
136
|
+
<li><a href="#label-18">NetCDF.create</a> NetCDFファイルを作る(クラスメソッド)</li>
|
137
|
+
<li><a href="#label-19">NetCDF.create_tmp</a> テンポラリーNetCDFファイルを作る(クラスメソッド)</li>
|
138
|
+
</ul>
|
139
|
+
<p>インスタンスメソッド</p>
|
140
|
+
<ul>
|
141
|
+
<li><a href="#label-21">close</a> ファイルクローズ</li>
|
142
|
+
<li><a href="#label-22">ndims</a> ファイル中の次元の数を返す</li>
|
143
|
+
<li><a href="#label-23">nvars</a> ファイル中の変数の数を返す</li>
|
144
|
+
<li><a href="#label-24">natts</a> ファイル中のグローバル属性の数を返す</li>
|
145
|
+
<li><a href="#label-25">unlimited</a> ファイル中のunlimited dimensionを返す</li>
|
146
|
+
<li><a href="#label-26">path</a> ファイルのパス. open/create時のfilename引数の中身を返す.</li>
|
147
|
+
<li><a href="#label-27">redef</a> define modeにする。既にそうなら何もせずnilを返す。</li>
|
148
|
+
<li><a href="#label-28">enddef</a> data mode に入る。既にそうなら何もせずnilを返す。</li>
|
149
|
+
<li><a href="#label-29">define_mode?</a> 今定義モードかどうか問合わせる.</li>
|
150
|
+
<li><a href="#label-30">sync</a> メモリー中のバッファーをディスク上に反映してファイルを同期させる</li>
|
151
|
+
<li><a href="#label-31">def_dim</a> dimensionを定義</li>
|
152
|
+
<li><a href="#label-32">put_att</a> グローバル属性を設定</li>
|
153
|
+
<li><a href="#label-33">def_var</a> 変数を定義</li>
|
154
|
+
<li><a href="#label-34">def_var_with_dim</a> def_varと同じだが必要ならまず次元を定義する。</li>
|
155
|
+
<li><a href="#label-35">var</a> ファイルに既存の変数をオープン</li>
|
156
|
+
<li><a href="#label-36">vars</a> ファイルに既存の変数をまとめてオープン</li>
|
157
|
+
<li><a href="#label-37">dim</a> 既存の次元をオープン</li>
|
158
|
+
<li><a href="#label-38">dims</a> 既存の次元をまとめてオープン</li>
|
159
|
+
<li><a href="#label-39">att</a> 既存のグローバル属性をオープン</li>
|
160
|
+
<li><a href="#label-40">fill=</a> fillmodeの変更。(NetCDF のデフォルトは FILL である。)</li>
|
161
|
+
<li><a href="#label-41">each_dim</a> 次元に関するイテレータ. </li>
|
162
|
+
<li><a href="#label-42">each_var</a> 変数に関するイテレータ. </li>
|
163
|
+
<li><a href="#label-43">each_att</a> グローバル属性に関するイテレータ. </li>
|
164
|
+
<li><a href="#label-44">dim_names</a> ファイル中の全次元の名前を配列に入れて返す。</li>
|
165
|
+
<li><a href="#label-45">var_names</a> ファイル中の全変数の名前を配列に入れて返す。</li>
|
166
|
+
<li><a href="#label-46">att_names</a> ファイル中の全グローバル属性の名前を配列に入れて返す。</li>
|
161
167
|
</ul></li>
|
162
|
-
<li><p><a href="#label
|
163
|
-
<p
|
164
|
-
<p
|
165
|
-
<ul>
|
166
|
-
<li><a href="#label
|
167
|
-
<li><a href="#label
|
168
|
-
<li><a href="#label
|
169
|
-
<li><a href="#label
|
170
|
-
<li><a href="#label
|
168
|
+
<li><p><a href="#label-47">クラス NetCDFDim</a></p>
|
169
|
+
<p>クラスメソッド</p>
|
170
|
+
<p>インスタンスメソッド</p>
|
171
|
+
<ul>
|
172
|
+
<li><a href="#label-50">length</a> 次元の長さを返す</li>
|
173
|
+
<li><a href="#label-51">length_ul0</a> length と同じだが、無制限次元に関しゼロを返す</li>
|
174
|
+
<li><a href="#label-52">name=</a> 名前をつけかえる</li>
|
175
|
+
<li><a href="#label-53">name</a> 名前を返す</li>
|
176
|
+
<li><a href="#label-54">unlimited?</a> 無制限次元かどうか?</li>
|
171
177
|
</ul></li>
|
172
|
-
<li><p><a href="#label
|
173
|
-
<p
|
174
|
-
<ul>
|
175
|
-
<li><a href="#label
|
176
|
-
<li><a href="#label
|
177
|
-
<li><a href="#label
|
178
|
-
</ul>
|
179
|
-
<p
|
180
|
-
<ul>
|
181
|
-
<li><a href="#label
|
182
|
-
<li><a href="#label
|
183
|
-
<li><a href="#label
|
184
|
-
<li><a href="#label
|
185
|
-
<li><a href="#label
|
186
|
-
<li><a href="#label
|
187
|
-
<li><a href="#label
|
188
|
-
<li><a href="#label
|
189
|
-
<li><a href="#label
|
190
|
-
<li><a href="#label
|
191
|
-
<li><a href="#label
|
192
|
-
<li><a href="#label
|
193
|
-
<li><a href="#label
|
194
|
-
<li><a href="#label
|
195
|
-
<li><a href="#label
|
196
|
-
<li><a href="#label
|
197
|
-
<li><a href="#label
|
198
|
-
<li><a href="#label
|
199
|
-
<li><a href="#label
|
200
|
-
<li><a href="#label
|
201
|
-
<li><a href="#label
|
202
|
-
<li><a href="#label
|
203
|
-
<li><a href="#label
|
204
|
-
<li><a href="#label
|
205
|
-
<li><a href="#label
|
206
|
-
<li><a href="#label
|
207
|
-
<li><a href="#label
|
208
|
-
<li><a href="#label
|
209
|
-
</
|
210
|
-
<
|
211
|
-
<
|
212
|
-
<li><a href="#label
|
213
|
-
|
214
|
-
<
|
215
|
-
<
|
178
|
+
<li><p><a href="#label-55">クラス NetCDFVar</a></p>
|
179
|
+
<p>クラスメソッド</p>
|
180
|
+
<ul>
|
181
|
+
<li><a href="#label-57">NetCDFVar.new</a> NetCDF.open と NetCDF#Var を組み合わせて一行で済ます(使わなくて良い).</li>
|
182
|
+
<li><a href="#label-58">NetCDFVar.unpack_type=</a> <a href="#label-89">unpack</a>で使うNArrayの型を固定する</li>
|
183
|
+
<li><a href="#label-59">NetCDFVar.unpack_type</a> <a href="#label-58">NetCDFVar.unpack_type=</a>で設定したNArrayの型を返す</li>
|
184
|
+
</ul>
|
185
|
+
<p>インスタンスメソッド</p>
|
186
|
+
<ul>
|
187
|
+
<li><a href="#label-61">deflate</a> 圧縮 (deflation) を設定. (netCDF-4 only)</li>
|
188
|
+
<li><a href="#label-62">deflate_params</a> 現在の圧縮設定問合せ. (netCDF-4 only)</li>
|
189
|
+
<li><a href="#label-63">endian=</a> エンディアンを設定 (netCDF-4 only)</li>
|
190
|
+
<li><a href="#label-64">endian</a> エンディアン設定を返す. (netCDF-4 only)</li>
|
191
|
+
<li><a href="#label-37">dim</a> その変数における dim_num 番目(0から数える)の次元を問合わせる。</li>
|
192
|
+
<li><a href="#label-38">dims</a> その変数の全次元を配列にいれて返す</li>
|
193
|
+
<li><a href="#label-67">shape_ul0</a> 変数の形を返す. 但し無制限次元の長さはゼロ.</li>
|
194
|
+
<li><a href="#label-68">shape_current</a> 変数の現在の形を返す.</li>
|
195
|
+
<li><a href="#label-43">each_att</a> 変数中の全属性(NetCDFAtt)に関するイテレータ</li>
|
196
|
+
<li><a href="#label-44">dim_names</a> 変数中の全次元の名前を配列に入れて返す。</li>
|
197
|
+
<li><a href="#label-46">att_names</a> 変数中の全属性の名前を配列に入れて返す。</li>
|
198
|
+
<li><a href="#label-53">name</a> 変数の名前を返す</li>
|
199
|
+
<li><a href="#label-52">name=</a> 名前を付け替える</li>
|
200
|
+
<li><a href="#label-22">ndims</a> 次元の数を問う</li>
|
201
|
+
<li><a href="#label-75">rank</a> ndimsのエリアス</li>
|
202
|
+
<li><a href="#label-76">ntype</a> vartype の別名</li>
|
203
|
+
<li><a href="#label-77">vartype</a> 変数値の型を問う</li>
|
204
|
+
<li><a href="#label-78">typecode</a> 変数値の型を問う(NArrayのtypecodeで返す)</li>
|
205
|
+
<li><a href="#label-24">natts</a> 属性の数を問う</li>
|
206
|
+
<li><a href="#label-80">file</a> その変数が属するファイルを問合わせる</li>
|
207
|
+
<li><a href="#label-39">att</a> 名前を指定した属性を返す</li>
|
208
|
+
<li><a href="#label-32">put_att</a> 属性を設定</li>
|
209
|
+
<li><a href="#label-83">put</a> <a href="#label-84">simple_put</a>の別名(alias)</li>
|
210
|
+
<li><a href="#label-84">simple_put</a> 値を入れる</li>
|
211
|
+
<li><a href="#label-85">pack</a> selfの属性 scale_factor and/or add_offset を用いて NArray 等を "pack" する.</li>
|
212
|
+
<li><a href="#label-86">scaled_put</a> <a href="#label-84">simple_put</a> と同様だが、<a href="#label-85">pack</a>により属性 scale_factor と add_offset を解釈する</li>
|
213
|
+
<li><a href="#label-87">get</a> <a href="#label-88">simple_get</a>の別名(alias)</li>
|
214
|
+
<li><a href="#label-88">simple_get</a> 値を取り出す</li>
|
215
|
+
<li><a href="#label-89">unpack</a> selfの属性 scale_factor and/or add_offset を用いて NArray 等を "unpack" する.</li>
|
216
|
+
<li><a href="#label-90">scaled_get</a> <a href="#label-88">simple_get</a> と同様だが、<a href="#label-89">unpack</a>により属性 scale_factor と add_offset を解釈する</li>
|
217
|
+
<li><a href="#label-91">[]</a> NetCDFVar#get と同様だが、サブセットを NArray#[] と同様に指定する. </li>
|
218
|
+
<li><a href="#label-92">[]=</a> NetCDFVar#put と同様だが、サブセットを NArray#[]= と同様に指定する.</li>
|
219
|
+
</ul>
|
220
|
+
<p>"numru/netcdf_miss" を require することで追加されるインスタンスメソッド</p>
|
221
|
+
<ul>
|
222
|
+
<li><a href="#label-94">get_with_miss</a> <a href="#label-87">get</a>と同様だが、データ欠損を処理する</li>
|
223
|
+
<li><a href="#label-95">get_with_miss_and_scaling</a> <a href="#label-94">get_with_miss</a>と同様だが、<a href="#label-89">unpack</a>によりスケーリングも行う.</li>
|
224
|
+
<li><a href="#label-96">put_with_miss</a> <a href="#label-83">put</a>と同様だが、データ欠損を処理する</li>
|
225
|
+
<li><a href="#label-97">put_with_miss_and_scaling</a> <a href="#label-96">put_with_miss</a>と同様だが、<a href="#label-85">pack</a>によりスケーリングも行う.</li>
|
216
226
|
</ul></li>
|
217
|
-
<li><p><a href="#label
|
218
|
-
<p
|
219
|
-
<p
|
220
|
-
<ul>
|
221
|
-
<li><a href="#label
|
222
|
-
<li><a href="#label
|
223
|
-
<li><a href="#label
|
224
|
-
<li><a href="#label
|
225
|
-
<li><a href="#label
|
226
|
-
<li><a href="#label
|
227
|
-
<li><a href="#label
|
228
|
-
<li><a href="#label
|
227
|
+
<li><p><a href="#label-98">クラス NetCDFAtt</a></p>
|
228
|
+
<p>クラスメソッド</p>
|
229
|
+
<p>インスタンスメソッド</p>
|
230
|
+
<ul>
|
231
|
+
<li><a href="#label-53">name</a> 属性の名前を返す</li>
|
232
|
+
<li><a href="#label-52">name=</a> 属性の名前を変更</li>
|
233
|
+
<li><a href="#label-103">copy</a> 属性を別の変数またはファイルにコピー。ファイルの場合はグローバル属性になる</li>
|
234
|
+
<li><a href="#label-104">delete</a> 属性を削除</li>
|
235
|
+
<li><a href="#label-83">put</a> 属性の値を設定</li>
|
236
|
+
<li><a href="#label-87">get</a> 属性の中身を取り出す</li>
|
237
|
+
<li><a href="#label-107">atttype</a> 属性値の型を問う</li>
|
238
|
+
<li><a href="#label-78">typecode</a> 属性値の型を問う(NArrayのtypecodeで返す)</li>
|
229
239
|
</ul></li>
|
230
240
|
</ul>
|
231
241
|
<p>---------------------------------------------</p>
|
232
|
-
<h1><a name="label
|
233
|
-
<h3><a name="label
|
242
|
+
<h1><a name="label-10" id="label-10">クラス NetCDF</a></h1><!-- RDLabel: "クラス NetCDF" -->
|
243
|
+
<h3><a name="label-11" id="label-11">定数</a></h3><!-- RDLabel: "定数" -->
|
244
|
+
<ul>
|
245
|
+
<li>NC_NOWRITE, NC_WRITE, NC_SHARE, NC_CLOBBER, NC_NOCLOBBER, NC_64BIT_OFFSET, NC_NETCDF4, NC_CLASSIC_MODEL, NCVERSION, SUPPORT_BIGMEM : これらは NumRu::NetCDF::NC_NOWRITE などアクセスする。</li>
|
246
|
+
</ul>
|
247
|
+
<h3><a name="label-12" id="label-12">クラスメソッド</a></h3><!-- RDLabel: "クラスメソッド" -->
|
234
248
|
<dl>
|
235
|
-
<dt><h4><a name="label
|
249
|
+
<dt><h4><a name="label-13" id="label-13"><code>NetCDF.nc4?</code></a></h4></dt><!-- RDLabel: "NetCDF.nc4?" -->
|
250
|
+
<dd>
|
251
|
+
このライブラリが NetCDF version 4 を使うようになっていれば
|
252
|
+
(リンクされてる NetCDF ライブラリがver 4なら)true を,
|
253
|
+
そうでなければ (NetCDF 3なら) false を返す。</dd>
|
254
|
+
<dt><h4><a name="label-14" id="label-14"><code>NetCDF.creation_format=(<var>cmode</var>)</code></a></h4></dt><!-- RDLabel: "NetCDF.creation_format=" -->
|
255
|
+
<dd>
|
256
|
+
<p>(このメソッドは NetCDF-4 が使われてるときのみ使用可能:そうでなければ
|
257
|
+
例外が発生する). NetCDF.create で作られるファイルのフォーマットを指定する.
|
258
|
+
初期設定は "classic".</p>
|
259
|
+
<p>引数</p>
|
260
|
+
<ul>
|
261
|
+
<li>cmode : 以下のいずれか。
|
262
|
+
<ul>
|
263
|
+
<li>0, nil, or NetCDF::NC_CLASSIC_MODEL : classic format
|
264
|
+
(以前からの NetCDF-3 のフォーマット). これが初期設定.</li>
|
265
|
+
<li>NetCDF::NC_64BIT_OFFSET : classic だが,変数のサイズを大きく出来る</li>
|
266
|
+
<li>NetCDF::NC_NETCDF4 : HDF5 ベースの NetCDF-4 新フォーマット</li>
|
267
|
+
<li>( NetCDF::NC_NETCDF4 | NetCDF::NC_CLASSIC_MODEL) [これは
|
268
|
+
NetCDF::NC_NETCDF4 と NetCDF::NC_CLASSIC_MODEL の bit "or"]:
|
269
|
+
NetCDF-4 新フォーマットだが,新しいデータモデルは使えないよう制限.</li>
|
270
|
+
</ul></li>
|
271
|
+
</ul></dd>
|
272
|
+
<dt><h4><a name="label-15" id="label-15"><code>NetCDF.creation_format</code></a></h4></dt><!-- RDLabel: "NetCDF.creation_format" -->
|
273
|
+
<dd>
|
274
|
+
(このメソッドは NetCDF-4 が使われてるときのみ使用可能:そうでなければ
|
275
|
+
例外が発生する).
|
276
|
+
NetCDF.create で作られるファイルのフォーマットの現在の設定を返す.</dd>
|
277
|
+
<dt><h4><a name="label-16" id="label-16"><code>NetCDF.open(<var>filename</var>, <var>mode</var>="<var>r</var>", <var>share</var>=<var>false</var>)</code></a></h4></dt><!-- RDLabel: "NetCDF.open" -->
|
236
278
|
<dd>
|
237
|
-
<p
|
238
|
-
<p
|
279
|
+
<p>ファイルオープン(クラスメソッド)mode="w" でファイルが存在しなければ新規作成</p>
|
280
|
+
<p>引数</p>
|
239
281
|
<ul>
|
240
|
-
<li>filename (String):
|
241
|
-
<li>mode (String) :
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
<li>share (true or false) : shared
|
248
|
-
|
249
|
-
|
282
|
+
<li>filename (String): ファイル名</li>
|
283
|
+
<li>mode (String) : 入出力モード: "r"(読み取りのみ); "w","w+" (書き
|
284
|
+
込み -- 現在の中身は上書き(消える!)); "r+","a","a+" (追加 --
|
285
|
+
現在の内容はそのままに、書き込み可)。 組み込みの File クラスと
|
286
|
+
違い、どのモードでも読み込みは可能。注意:元になる NetCDFライ
|
287
|
+
ブラリーの制限により、「追加」には余分な時間とディスクスペース
|
288
|
+
がかかる。</li>
|
289
|
+
<li>share (true or false) : sharedモードにするか (書き込み中のファ
|
290
|
+
イルに他のプロセスからの読み込みがあり得る場合に true とする。C版ユー
|
291
|
+
ザーズガイド第5章の nc_open の項を参照のこと)</li>
|
250
292
|
</ul>
|
251
|
-
<p
|
293
|
+
<p>戻り値</p>
|
252
294
|
<ul>
|
253
|
-
<li>NetCDF
|
295
|
+
<li>NetCDFクラスのオブジェクト</li>
|
254
296
|
</ul>
|
255
|
-
<p
|
297
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
256
298
|
<ul>
|
257
299
|
<li>nc_open, nc_create</li>
|
258
300
|
</ul></dd>
|
259
|
-
<dt><h4><a name="label
|
301
|
+
<dt><h4><a name="label-17" id="label-17"><code>NetCDF.new</code></a></h4></dt><!-- RDLabel: "NetCDF.new" -->
|
260
302
|
<dd>
|
261
|
-
|
262
|
-
<dt><h4><a name="label
|
303
|
+
NetCDF.openメソッドのエイリアスである</dd>
|
304
|
+
<dt><h4><a name="label-18" id="label-18"><code>NetCDF.create(<var>filename</var>, <var>noclobber</var>=<var>false</var>, <var>share</var>=<var>false</var>)</code></a></h4></dt><!-- RDLabel: "NetCDF.create" -->
|
263
305
|
<dd>
|
264
|
-
<p>NetCDF
|
265
|
-
<p
|
306
|
+
<p>NetCDFファイルを作る(クラスメソッド)</p>
|
307
|
+
<p>引数</p>
|
266
308
|
<ul>
|
267
|
-
<li>filename (String) :
|
268
|
-
<li>noclobber (true or false) :
|
269
|
-
<li>share (true or false) : shared mode
|
270
|
-
|
271
|
-
|
309
|
+
<li>filename (String) : ファイル名</li>
|
310
|
+
<li>noclobber (true or false) : 上書きするかしないか</li>
|
311
|
+
<li>share (true or false) : shared mode を使うか (書き込み中のファ
|
312
|
+
イルに他のプロセスからの読み込みがあり得る場合に true とする。C版ユー
|
313
|
+
ザーズガイド第5章の nc_open の項を参照のこと)</li>
|
272
314
|
</ul>
|
273
|
-
<p
|
315
|
+
<p>戻り値</p>
|
274
316
|
<ul>
|
275
|
-
<li>NetCDF
|
317
|
+
<li>NetCDFクラスのオブジェクト</li>
|
276
318
|
</ul>
|
277
|
-
<p
|
319
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
278
320
|
<ul>
|
279
321
|
<li>nc_create</li>
|
280
322
|
</ul></dd>
|
281
|
-
<dt><h4><a name="label
|
323
|
+
<dt><h4><a name="label-19" id="label-19"><code>NetCDF.create_tmp(<var>tmpdir</var>=<var>ENV</var>['<var>TMPDIR</var>']||<var>ENV</var>['<var>TMP</var>']||<var>ENV</var>['<var>TEMP</var>']||'.', <var>share</var>=<var>false</var>)</code></a></h4></dt><!-- RDLabel: "NetCDF.create_tmp" -->
|
282
324
|
<dd>
|
283
|
-
<p
|
284
|
-
|
285
|
-
<p
|
325
|
+
<p>テンポラリーNetCDFファイルを作る(クラスメソッド)
|
326
|
+
名前は自動で決まる。クローズされると消される。</p>
|
327
|
+
<p>引数</p>
|
286
328
|
<ul>
|
287
|
-
<li>tmpdir (String) :
|
288
|
-
|
289
|
-
TEMP
|
290
|
-
|
291
|
-
<li>share (true or false) : shared mode
|
329
|
+
<li>tmpdir (String) : テンポラリーファイルを置くディレクトリー名。
|
330
|
+
デフォルトは環境変数で指定されたディレクトリー(TMPDIR,TMP,or
|
331
|
+
TEMP)または '.'。セキュアーモードでは '.' のみがデフォルトとな
|
332
|
+
る。</li>
|
333
|
+
<li>share (true or false) : shared mode を使うか</li>
|
292
334
|
</ul>
|
293
|
-
<p
|
335
|
+
<p>戻り値</p>
|
294
336
|
<ul>
|
295
|
-
<li>NetCDF
|
337
|
+
<li>NetCDFクラスのオブジェクト</li>
|
296
338
|
</ul>
|
297
|
-
<p
|
339
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
298
340
|
<ul>
|
299
341
|
<li>nc_create</li>
|
300
342
|
</ul></dd>
|
301
343
|
</dl>
|
302
|
-
<h3><a name="label
|
344
|
+
<h3><a name="label-20" id="label-20">インスタンスメソッド</a></h3><!-- RDLabel: "インスタンスメソッド" -->
|
303
345
|
<dl>
|
304
|
-
<dt><h4><a name="label
|
346
|
+
<dt><h4><a name="label-21" id="label-21"><code>close</code></a></h4></dt><!-- RDLabel: "close" -->
|
305
347
|
<dd>
|
306
|
-
<p
|
307
|
-
<p
|
348
|
+
<p>ファイルクローズ</p>
|
349
|
+
<p>引数</p>
|
308
350
|
<ul>
|
309
|
-
<li
|
351
|
+
<li>なし</li>
|
310
352
|
</ul>
|
311
|
-
<p
|
353
|
+
<p>戻り値</p>
|
312
354
|
<ul>
|
313
355
|
<li>nil</li>
|
314
356
|
</ul>
|
315
|
-
<p
|
357
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
316
358
|
<ul>
|
317
359
|
<li>nc_close</li>
|
318
360
|
</ul></dd>
|
319
|
-
<dt><h4><a name="label
|
361
|
+
<dt><h4><a name="label-22" id="label-22"><code>ndims</code></a></h4></dt><!-- RDLabel: "ndims" -->
|
320
362
|
<dd>
|
321
|
-
<p
|
322
|
-
<p
|
363
|
+
<p>ファイル中の次元の数を返す</p>
|
364
|
+
<p>引数</p>
|
323
365
|
<ul>
|
324
|
-
<li
|
366
|
+
<li>なし</li>
|
325
367
|
</ul>
|
326
|
-
<p
|
368
|
+
<p>戻り値</p>
|
327
369
|
<ul>
|
328
370
|
<li>Integer</li>
|
329
371
|
</ul>
|
330
|
-
<p
|
372
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
331
373
|
<ul>
|
332
374
|
<li>nc_inq_ndims</li>
|
333
375
|
</ul></dd>
|
334
|
-
<dt><h4><a name="label
|
376
|
+
<dt><h4><a name="label-23" id="label-23"><code>nvars</code></a></h4></dt><!-- RDLabel: "nvars" -->
|
335
377
|
<dd>
|
336
|
-
<p
|
337
|
-
<p
|
378
|
+
<p>ファイル中の変数の数を返す</p>
|
379
|
+
<p>引数</p>
|
338
380
|
<ul>
|
339
|
-
<li
|
381
|
+
<li>なし</li>
|
340
382
|
</ul>
|
341
|
-
<p
|
383
|
+
<p>戻り値</p>
|
342
384
|
<ul>
|
343
385
|
<li>Integer</li>
|
344
386
|
</ul>
|
345
|
-
<p
|
387
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
346
388
|
<ul>
|
347
389
|
<li>nc_inq_nvars</li>
|
348
390
|
</ul></dd>
|
349
|
-
<dt><h4><a name="label
|
391
|
+
<dt><h4><a name="label-24" id="label-24"><code>natts</code></a></h4></dt><!-- RDLabel: "natts" -->
|
350
392
|
<dd>
|
351
|
-
<p
|
352
|
-
<p
|
393
|
+
<p>ファイル中のグローバル属性の数を返す</p>
|
394
|
+
<p>引数</p>
|
353
395
|
<ul>
|
354
|
-
<li
|
396
|
+
<li>なし</li>
|
355
397
|
</ul>
|
356
|
-
<p
|
398
|
+
<p>戻り値</p>
|
357
399
|
<ul>
|
358
400
|
<li>Integer</li>
|
359
401
|
</ul>
|
360
|
-
<p
|
402
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
361
403
|
<ul>
|
362
404
|
<li>nc_inq_natts</li>
|
363
405
|
</ul></dd>
|
364
|
-
<dt><h4><a name="label
|
406
|
+
<dt><h4><a name="label-25" id="label-25"><code>unlimited</code></a></h4></dt><!-- RDLabel: "unlimited" -->
|
365
407
|
<dd>
|
366
|
-
<p
|
367
|
-
<p
|
408
|
+
<p>ファイル中のunlimited dimensionを返す</p>
|
409
|
+
<p>引数</p>
|
368
410
|
<ul>
|
369
|
-
<li
|
411
|
+
<li>なし</li>
|
370
412
|
</ul>
|
371
|
-
<p
|
413
|
+
<p>戻り値</p>
|
372
414
|
<ul>
|
373
|
-
<li
|
415
|
+
<li>存在するときNetCDFDimクラスのオブジェクト。ないときはnil</li>
|
374
416
|
</ul>
|
375
|
-
<p
|
417
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
376
418
|
<ul>
|
377
419
|
<li>nc_inq_unlimdim</li>
|
378
420
|
</ul></dd>
|
379
|
-
<dt><h4><a name="label
|
421
|
+
<dt><h4><a name="label-26" id="label-26"><code>path</code></a></h4></dt><!-- RDLabel: "path" -->
|
380
422
|
<dd>
|
381
|
-
<p
|
382
|
-
<p
|
423
|
+
<p>ファイルのパス. open/create時のfilename引数の中身を返す.</p>
|
424
|
+
<p>引数</p>
|
383
425
|
<ul>
|
384
|
-
<li
|
426
|
+
<li>なし</li>
|
385
427
|
</ul>
|
386
|
-
<p
|
428
|
+
<p>戻り値</p>
|
387
429
|
<ul>
|
388
430
|
<li>String</li>
|
389
431
|
</ul>
|
390
|
-
<p
|
432
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
391
433
|
<ul>
|
392
|
-
<li
|
434
|
+
<li>なし</li>
|
393
435
|
</ul></dd>
|
394
|
-
<dt><h4><a name="label
|
436
|
+
<dt><h4><a name="label-27" id="label-27"><code>redef</code></a></h4></dt><!-- RDLabel: "redef" -->
|
395
437
|
<dd>
|
396
|
-
<p>define mode
|
397
|
-
<p
|
438
|
+
<p>define modeにする。既にそうなら何もせずnilを返す。</p>
|
439
|
+
<p>引数</p>
|
398
440
|
<ul>
|
399
|
-
<li
|
441
|
+
<li>なし</li>
|
400
442
|
</ul>
|
401
|
-
<p
|
443
|
+
<p>戻り値</p>
|
402
444
|
<ul>
|
403
|
-
<li>true (
|
445
|
+
<li>true (定義モードへの変更が成功);
|
446
|
+
nil (既に定義モード中).
|
447
|
+
その他の理由で変更できない場合は例外発生.</li>
|
448
|
+
</ul>
|
449
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
450
|
+
<ul>
|
451
|
+
<li>nc_redef</li>
|
404
452
|
</ul></dd>
|
405
|
-
</
|
406
|
-
<pre>nil (��������⡼����).
|
407
|
-
����¾����ͳ���ѹ��Ǥ��ʤ������㳰ȯ��.</pre>
|
408
|
-
<pre>�б�����(���Ѥ���) C �� NetCDF �δؿ�
|
409
|
-
* nc_redef</pre>
|
410
|
-
<dl>
|
411
|
-
<dt><h4><a name="label:24" id="label:24"><code>enddef</code></a></h4></dt><!-- RDLabel: "enddef" -->
|
453
|
+
<dt><h4><a name="label-28" id="label-28"><code>enddef</code></a></h4></dt><!-- RDLabel: "enddef" -->
|
412
454
|
<dd>
|
413
|
-
<p>data mode
|
414
|
-
<p
|
455
|
+
<p>data mode に入る。既にそうなら何もせずnilを返す。</p>
|
456
|
+
<p>引数</p>
|
415
457
|
<ul>
|
416
|
-
<li
|
458
|
+
<li>なし</li>
|
417
459
|
</ul>
|
418
|
-
<p
|
460
|
+
<p>戻り値</p>
|
419
461
|
<ul>
|
420
|
-
<li>true (
|
462
|
+
<li>true (データモードへの変更が成功);
|
463
|
+
nil (既にデータモード中).
|
464
|
+
その他の理由で変更できない場合は例外発生.</li>
|
465
|
+
</ul>
|
466
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
467
|
+
<ul>
|
468
|
+
<li>nc_endef</li>
|
421
469
|
</ul></dd>
|
422
|
-
|
423
|
-
<pre>nil (���˥ǡ����⡼����).
|
424
|
-
����¾����ͳ���ѹ��Ǥ��ʤ������㳰ȯ��.</pre>
|
425
|
-
<pre>�б�����(���Ѥ���) C �� NetCDF �δؿ�
|
426
|
-
* nc_endef</pre>
|
427
|
-
<dl>
|
428
|
-
<dt><h4><a name="label:25" id="label:25"><code>define_mode?</code></a></h4></dt><!-- RDLabel: "define_mode?" -->
|
470
|
+
<dt><h4><a name="label-29" id="label-29"><code>define_mode?</code></a></h4></dt><!-- RDLabel: "define_mode?" -->
|
429
471
|
<dd>
|
430
|
-
<p
|
431
|
-
<p
|
472
|
+
<p>今定義モードかどうか問合わせる.</p>
|
473
|
+
<p>引数</p>
|
474
|
+
<ul>
|
475
|
+
<li>なし</li>
|
476
|
+
</ul>
|
477
|
+
<p>戻り値</p>
|
432
478
|
<ul>
|
433
|
-
<li
|
479
|
+
<li>true (今定義モード);
|
480
|
+
false (今データモード);
|
481
|
+
nil (その他 -- 読み出し専用など).</li>
|
434
482
|
</ul>
|
435
|
-
<p
|
483
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
436
484
|
<ul>
|
437
|
-
<li>
|
485
|
+
<li>nc_redef と nc_enddef の組み合わせ</li>
|
438
486
|
</ul></dd>
|
439
|
-
</
|
440
|
-
<pre>false (���ǡ����⡼��);
|
441
|
-
nil (����¾ -- �ɤ߽Ф����Ѥʤ�).</pre>
|
442
|
-
<pre>�б�����(���Ѥ���) C �� NetCDF �δؿ�
|
443
|
-
* nc_redef �� nc_enddef ���Ȥ߹�碌</pre>
|
444
|
-
<dl>
|
445
|
-
<dt><h4><a name="label:26" id="label:26"><code>sync</code></a></h4></dt><!-- RDLabel: "sync" -->
|
487
|
+
<dt><h4><a name="label-30" id="label-30"><code>sync</code></a></h4></dt><!-- RDLabel: "sync" -->
|
446
488
|
<dd>
|
447
|
-
<p
|
448
|
-
<p
|
489
|
+
<p>メモリー中のバッファーをディスク上に反映してファイルを同期させる</p>
|
490
|
+
<p>引数</p>
|
449
491
|
<ul>
|
450
|
-
<li
|
492
|
+
<li>なし</li>
|
451
493
|
</ul>
|
452
|
-
<p
|
494
|
+
<p>戻り値</p>
|
453
495
|
<ul>
|
454
496
|
<li>nil</li>
|
455
497
|
</ul>
|
456
|
-
<p
|
498
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
457
499
|
<ul>
|
458
500
|
<li>nc_sync</li>
|
459
501
|
</ul></dd>
|
460
|
-
<dt><h4><a name="label
|
502
|
+
<dt><h4><a name="label-31" id="label-31"><code>def_dim(<var>dimension_name</var>, <var>length</var>)</code></a></h4></dt><!-- RDLabel: "def_dim" -->
|
461
503
|
<dd>
|
462
|
-
<p>dimension
|
463
|
-
<p
|
504
|
+
<p>dimensionを定義</p>
|
505
|
+
<p>引数</p>
|
464
506
|
<ul>
|
465
|
-
<li>dimension_name (String) :
|
466
|
-
<li>length (Integer) : dimension
|
507
|
+
<li>dimension_name (String) : 定義するdimensionの名前</li>
|
508
|
+
<li>length (Integer) : dimensionの長さ。無制限次元は 0。</li>
|
467
509
|
</ul>
|
468
|
-
<p
|
510
|
+
<p>戻り値</p>
|
469
511
|
<ul>
|
470
|
-
<li
|
512
|
+
<li>定義された次元 (NetCDFDimオブジェクト)</li>
|
471
513
|
</ul>
|
472
|
-
<p
|
514
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
473
515
|
<ul>
|
474
516
|
<li>nc_def_dim</li>
|
475
517
|
</ul></dd>
|
476
|
-
<dt><h4><a name="label
|
518
|
+
<dt><h4><a name="label-32" id="label-32"><code>put_att(<var>attribute_name</var>, <var>value</var>, <var>atttype</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "put_att" -->
|
477
519
|
<dd>
|
478
|
-
<p
|
479
|
-
<p
|
520
|
+
<p>グローバル属性を設定</p>
|
521
|
+
<p>引数</p>
|
480
522
|
<ul>
|
481
|
-
<li>attribute_name (String) :
|
482
|
-
<li>value (Numeric, String, Array of Numeric, or NArray) :
|
483
|
-
<li>atttype (nil or String) :
|
484
|
-
"char"(="string"),"byte", "sint","int","sfloat", "float" (
|
485
|
-
|
523
|
+
<li>attribute_name (String) : グローバル属性の名前</li>
|
524
|
+
<li>value (Numeric, String, Array of Numeric, or NArray) : 設定する値</li>
|
525
|
+
<li>atttype (nil or String) : 属性の型.
|
526
|
+
"char"(="string"),"byte", "sint","int","sfloat", "float" (それ
|
527
|
+
ぞれ,1,1,2,4,4,8 バイト)) または nil (つまりお任せ)</li>
|
486
528
|
</ul>
|
487
|
-
<p
|
529
|
+
<p>戻り値</p>
|
488
530
|
<ul>
|
489
|
-
<li
|
531
|
+
<li>設定された属性 (NetCDFAttオブジェクト)</li>
|
490
532
|
</ul>
|
491
|
-
<p
|
533
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
492
534
|
<ul>
|
493
535
|
<li>nc_put_att_<type></li>
|
494
536
|
</ul></dd>
|
495
|
-
<dt><h4><a name="label
|
537
|
+
<dt><h4><a name="label-33" id="label-33"><code>def_var(<var>variable_name</var>, <var>vartype</var>, <var>dimensions</var>)</code></a></h4></dt><!-- RDLabel: "def_var" -->
|
496
538
|
<dd>
|
497
|
-
<p
|
498
|
-
<p
|
539
|
+
<p>変数を定義</p>
|
540
|
+
<p>引数</p>
|
499
541
|
<ul>
|
500
|
-
<li>variable_name (String) :
|
501
|
-
<li>vartype (String or Fixnum) :
|
502
|
-
"sfloat", "float"
|
503
|
-
<li>dimensions (Array) : variable
|
504
|
-
|
505
|
-
rank
|
542
|
+
<li>variable_name (String) : 定義するvariableの名前</li>
|
543
|
+
<li>vartype (String or Fixnum) : 変数のタイプ ("char", "byte", "sint", "sint", "int",
|
544
|
+
"sfloat", "float" のいずれか、またはNArrayのtypecode(Fixnum))</li>
|
545
|
+
<li>dimensions (Array) : variableの次元。NetCDFDim の Array。最も
|
546
|
+
「速く回る」次元から「遅く回る」次元の順に。その長さが変数の
|
547
|
+
rank となる。</li>
|
506
548
|
</ul>
|
507
|
-
<p
|
549
|
+
<p>戻り値</p>
|
508
550
|
<ul>
|
509
|
-
<li
|
551
|
+
<li>定義した変数(NetCDFVarオブジェクト)</li>
|
510
552
|
</ul>
|
511
|
-
<p
|
553
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
512
554
|
<ul>
|
513
555
|
<li>nc_def_var</li>
|
514
556
|
</ul></dd>
|
515
|
-
<dt><h4><a name="label
|
557
|
+
<dt><h4><a name="label-34" id="label-34"><code>def_var_with_dim(<var>variable_name</var>, <var>vartype</var>, <var>shape_ul0</var>, <var>dimnames</var>)</code></a></h4></dt><!-- RDLabel: "def_var_with_dim" -->
|
516
558
|
<dd>
|
517
|
-
<p>def_var
|
518
|
-
|
519
|
-
<p
|
559
|
+
<p>def_varと同じだが必要ならまず次元を定義する。
|
560
|
+
既存次元の長さと合わない場合例外。</p>
|
561
|
+
<p>引数</p>
|
520
562
|
<ul>
|
521
|
-
<li>variable_name (String) :
|
522
|
-
<li>vartype (String) :
|
523
|
-
"sfloat", "float"
|
524
|
-
<li>shape_ul0 (Array of Integer) :
|
525
|
-
|
526
|
-
<li>dimnames (Array of String) :
|
527
|
-
shape_ul0
|
563
|
+
<li>variable_name (String) : 定義するvariableの名前</li>
|
564
|
+
<li>vartype (String) : 変数のタイプ ("char", "byte", "sint", "sint", "int",
|
565
|
+
"sfloat", "float" のいずれか)</li>
|
566
|
+
<li>shape_ul0 (Array of Integer) : 変数の形、即ち、各次元の長さ。無
|
567
|
+
制限次元はゼロで表す。長さが変数の rank となる。</li>
|
568
|
+
<li>dimnames (Array of String) : 各次元の名前. 長さ(=>rank) は
|
569
|
+
shape_ul0 と等しくなければならない。</li>
|
528
570
|
</ul>
|
529
|
-
<p
|
571
|
+
<p>戻り値</p>
|
530
572
|
<ul>
|
531
|
-
<li
|
573
|
+
<li>定義した変数(NetCDFVarオブジェクト)</li>
|
532
574
|
</ul>
|
533
|
-
<p
|
575
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
534
576
|
<ul>
|
535
577
|
<li>(nc_def_var)</li>
|
536
578
|
</ul></dd>
|
537
|
-
<dt><h4><a name="label
|
579
|
+
<dt><h4><a name="label-35" id="label-35"><code>var(<var>var_name</var>)</code></a></h4></dt><!-- RDLabel: "var" -->
|
538
580
|
<dd>
|
539
|
-
<p
|
540
|
-
<p
|
581
|
+
<p>ファイルに既存の変数をオープン</p>
|
582
|
+
<p>引数</p>
|
541
583
|
<ul>
|
542
|
-
<li>var_name (String) :
|
584
|
+
<li>var_name (String) : オープンする変数名</li>
|
543
585
|
</ul>
|
544
|
-
<p
|
586
|
+
<p>戻り値</p>
|
545
587
|
<ul>
|
546
|
-
<li>NetCDFVar
|
588
|
+
<li>NetCDFVar クラスのオブジェクト。存在しなければ nil。</li>
|
547
589
|
</ul>
|
548
|
-
<p
|
590
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
549
591
|
<ul>
|
550
592
|
<li>nc_inq_varid</li>
|
551
593
|
</ul></dd>
|
552
|
-
<dt><h4><a name="label
|
594
|
+
<dt><h4><a name="label-36" id="label-36"><code>vars(<var>names</var> = <var>nil</var>)</code></a></h4></dt><!-- RDLabel: "vars" -->
|
553
595
|
<dd>
|
554
|
-
<p
|
555
|
-
<p
|
596
|
+
<p>ファイル中の変数をまとめてオープン</p>
|
597
|
+
<p>引数</p>
|
556
598
|
<ul>
|
557
|
-
<li>names (nil or Array of String) :
|
599
|
+
<li>names (nil or Array of String) : オープンする変数名. nilなら全部(デフォルト)</li>
|
558
600
|
</ul>
|
559
|
-
<p
|
601
|
+
<p>戻り値</p>
|
560
602
|
<ul>
|
561
|
-
<li>NetCDFVar
|
603
|
+
<li>NetCDFVarオブジェクトのArray。namesに存在しない変数名が含まれれば例外発生。</li>
|
562
604
|
</ul>
|
563
|
-
<p
|
605
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
564
606
|
<ul>
|
565
607
|
<li>nc_inq_varid</li>
|
566
608
|
</ul></dd>
|
567
|
-
<dt><h4><a name="label
|
609
|
+
<dt><h4><a name="label-37" id="label-37"><code>dim(<var>dimension_name</var>)</code></a></h4></dt><!-- RDLabel: "dim" -->
|
568
610
|
<dd>
|
569
|
-
<p
|
570
|
-
<p
|
611
|
+
<p>既存の次元をオープン</p>
|
612
|
+
<p>引数</p>
|
571
613
|
<ul>
|
572
|
-
<li>dimension_name (String) :
|
614
|
+
<li>dimension_name (String) : オープンする次元名</li>
|
573
615
|
</ul>
|
574
|
-
<p
|
616
|
+
<p>戻り値</p>
|
575
617
|
<ul>
|
576
|
-
<li>NetCDFDim
|
618
|
+
<li>NetCDFDimクラスのオブジェクト。存在しなければ nil。</li>
|
577
619
|
</ul>
|
578
|
-
<p
|
620
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
579
621
|
<ul>
|
580
622
|
<li>nc_inq_dimid</li>
|
581
623
|
</ul></dd>
|
582
|
-
<dt><h4><a name="label
|
624
|
+
<dt><h4><a name="label-38" id="label-38"><code>dims(<var>names</var> = <var>nil</var>)</code></a></h4></dt><!-- RDLabel: "dims" -->
|
583
625
|
<dd>
|
584
|
-
<p
|
585
|
-
<p
|
626
|
+
<p>ファイル中の次元をまとめてオープン</p>
|
627
|
+
<p>引数</p>
|
586
628
|
<ul>
|
587
|
-
<li>names (nil or Array of String) :
|
629
|
+
<li>names (nil or Array of String) : オープンする次元名. nilなら全部(デフォルト)</li>
|
588
630
|
</ul>
|
589
|
-
<p
|
631
|
+
<p>戻り値</p>
|
590
632
|
<ul>
|
591
|
-
<li>NetCDFDim
|
633
|
+
<li>NetCDFDimオブジェクトのArray。namesに存在しない次元名が含まれれば例外発生。</li>
|
592
634
|
</ul>
|
593
|
-
<p
|
635
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
594
636
|
<ul>
|
595
637
|
<li>nc_inq_dimid</li>
|
596
638
|
</ul></dd>
|
597
|
-
<dt><h4><a name="label
|
639
|
+
<dt><h4><a name="label-39" id="label-39"><code>att(<var>attribute_name</var>)</code></a></h4></dt><!-- RDLabel: "att" -->
|
598
640
|
<dd>
|
599
|
-
<p
|
600
|
-
<p
|
641
|
+
<p>既存のグローバル属性をオープン</p>
|
642
|
+
<p>引数</p>
|
601
643
|
<ul>
|
602
|
-
<li>attribute_name (String) :
|
644
|
+
<li>attribute_name (String) : オープンするグローバル属性名</li>
|
603
645
|
</ul>
|
604
|
-
<p
|
646
|
+
<p>戻り値</p>
|
605
647
|
<ul>
|
606
|
-
<li
|
648
|
+
<li>存在すれば NetCDFAttクラスのオブジェクト。存在しなければnil</li>
|
607
649
|
</ul>
|
608
|
-
<p
|
650
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
609
651
|
<ul>
|
610
|
-
<li>(nc_inq_attid
|
652
|
+
<li>(nc_inq_attidを検査に利用)</li>
|
611
653
|
</ul></dd>
|
612
|
-
<dt><h4><a name="label
|
654
|
+
<dt><h4><a name="label-40" id="label-40"><code>fill=(<var>filemode</var>)</code></a></h4></dt><!-- RDLabel: "fill=" -->
|
613
655
|
<dd>
|
614
|
-
<p>fillmode
|
615
|
-
<p
|
656
|
+
<p>fillmodeの変更。(NetCDF のデフォルトは FILL である。)</p>
|
657
|
+
<p>引数</p>
|
616
658
|
<ul>
|
617
659
|
<li>fillmode (true for FILL or false for NOFILL)</li>
|
618
660
|
</ul>
|
619
|
-
<p
|
661
|
+
<p>戻り値</p>
|
620
662
|
<ul>
|
621
663
|
<li>nil</li>
|
622
664
|
</ul>
|
623
|
-
<p
|
665
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
624
666
|
<ul>
|
625
667
|
<li>nc_set_fill</li>
|
626
668
|
</ul></dd>
|
627
|
-
<dt><h4><a name="label
|
669
|
+
<dt><h4><a name="label-41" id="label-41"><code>each_dim{ ... }</code></a></h4></dt><!-- RDLabel: "each_dim" -->
|
628
670
|
<dd>
|
629
|
-
<p
|
630
|
-
|
631
|
-
<p
|
671
|
+
<p>次元に関するイテレータ.
|
672
|
+
例: {|i| print i.name,"\n"} で全次元の名前を表示.</p>
|
673
|
+
<p>引数</p>
|
632
674
|
<ul>
|
633
|
-
<li>{ ... } :
|
675
|
+
<li>{ ... } : イテレーター用ブロック。do endブロックでもよい。</li>
|
634
676
|
</ul>
|
635
|
-
<p
|
677
|
+
<p>戻り値</p>
|
636
678
|
<ul>
|
637
679
|
<li>self</li>
|
638
680
|
</ul>
|
639
|
-
<p
|
681
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
640
682
|
<ul>
|
641
|
-
<li>(nc_inq_ndims
|
683
|
+
<li>(nc_inq_ndimsを利用)</li>
|
642
684
|
</ul></dd>
|
643
|
-
<dt><h4><a name="label
|
685
|
+
<dt><h4><a name="label-42" id="label-42"><code>each_var{ ... }</code></a></h4></dt><!-- RDLabel: "each_var" -->
|
644
686
|
<dd>
|
645
|
-
<p
|
646
|
-
|
647
|
-
<p
|
687
|
+
<p>変数に関するイテレータ.
|
688
|
+
例: {|i| print i.name,"\n"} で全変数の名前を表示.</p>
|
689
|
+
<p>引数</p>
|
648
690
|
<ul>
|
649
|
-
<li>{ ... } :
|
691
|
+
<li>{ ... } : イテレーター用ブロック。do endブロックでもよい。</li>
|
650
692
|
</ul>
|
651
|
-
<p
|
693
|
+
<p>戻り値</p>
|
652
694
|
<ul>
|
653
695
|
<li>self</li>
|
654
696
|
</ul>
|
655
|
-
<p
|
697
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
656
698
|
<ul>
|
657
|
-
<li>(nc_inq_nvars
|
699
|
+
<li>(nc_inq_nvarsを利用)</li>
|
658
700
|
</ul></dd>
|
659
|
-
<dt><h4><a name="label
|
701
|
+
<dt><h4><a name="label-43" id="label-43"><code>each_att{ ... }</code></a></h4></dt><!-- RDLabel: "each_att" -->
|
660
702
|
<dd>
|
661
|
-
<p
|
662
|
-
|
663
|
-
<p
|
703
|
+
<p>グローバル属性に関するイテレータ.
|
704
|
+
例: {|i| print i.name,"\n"} で全属性の名前を表示.</p>
|
705
|
+
<p>引数</p>
|
664
706
|
<ul>
|
665
|
-
<li>{ ... } :
|
707
|
+
<li>{ ... } : イテレーター用ブロック。do endブロックでもよい。</li>
|
666
708
|
</ul>
|
667
|
-
<p
|
709
|
+
<p>戻り値</p>
|
668
710
|
<ul>
|
669
711
|
<li>self</li>
|
670
712
|
</ul>
|
671
|
-
<p
|
713
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
672
714
|
<ul>
|
673
|
-
<li>(nc_inq_natts, nc_inq_attname
|
715
|
+
<li>(nc_inq_natts, nc_inq_attnameを利用)</li>
|
674
716
|
</ul></dd>
|
675
|
-
<dt><h4><a name="label
|
717
|
+
<dt><h4><a name="label-44" id="label-44"><code>dim_names</code></a></h4></dt><!-- RDLabel: "dim_names" -->
|
676
718
|
<dd>
|
677
|
-
<p
|
678
|
-
<p
|
719
|
+
<p>ファイル中の全次元の名前を配列に入れて返す。</p>
|
720
|
+
<p>引数</p>
|
679
721
|
<ul>
|
680
|
-
<li
|
722
|
+
<li>なし</li>
|
681
723
|
</ul>
|
682
|
-
<p
|
724
|
+
<p>戻り値</p>
|
683
725
|
<ul>
|
684
|
-
<li>String
|
726
|
+
<li>String の Array</li>
|
685
727
|
</ul>
|
686
|
-
<p
|
728
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
687
729
|
<ul>
|
688
|
-
<li>(nc_inq_ndims, nc_inq_dimname
|
730
|
+
<li>(nc_inq_ndims, nc_inq_dimnameを利用)</li>
|
689
731
|
</ul></dd>
|
690
|
-
<dt><h4><a name="label
|
732
|
+
<dt><h4><a name="label-45" id="label-45"><code>var_names</code></a></h4></dt><!-- RDLabel: "var_names" -->
|
691
733
|
<dd>
|
692
|
-
<p
|
693
|
-
<p
|
734
|
+
<p>ファイル中の全変数の名前を配列に入れて返す。</p>
|
735
|
+
<p>引数</p>
|
694
736
|
<ul>
|
695
|
-
<li
|
737
|
+
<li>なし</li>
|
696
738
|
</ul>
|
697
|
-
<p
|
739
|
+
<p>戻り値</p>
|
698
740
|
<ul>
|
699
|
-
<li>String
|
741
|
+
<li>String の Array</li>
|
700
742
|
</ul>
|
701
|
-
<p
|
743
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
702
744
|
<ul>
|
703
|
-
<li>(nc_inq_nvars, nc_inq_varname
|
745
|
+
<li>(nc_inq_nvars, nc_inq_varnameを利用)</li>
|
704
746
|
</ul></dd>
|
705
|
-
<dt><h4><a name="label
|
747
|
+
<dt><h4><a name="label-46" id="label-46"><code>att_names</code></a></h4></dt><!-- RDLabel: "att_names" -->
|
706
748
|
<dd>
|
707
|
-
<p
|
708
|
-
|
749
|
+
<p>ファイル中の全グローバル属性の名前を配列に入れて返す。
|
750
|
+
引数</p>
|
709
751
|
<ul>
|
710
|
-
<li
|
752
|
+
<li>なし</li>
|
711
753
|
</ul>
|
712
|
-
<p
|
754
|
+
<p>戻り値</p>
|
713
755
|
<ul>
|
714
|
-
<li>String
|
756
|
+
<li>String の Array</li>
|
715
757
|
</ul>
|
716
|
-
<p
|
758
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
717
759
|
<ul>
|
718
|
-
<li>(nc_inq_natts, nc_inq_attname
|
760
|
+
<li>(nc_inq_natts, nc_inq_attnameを利用)</li>
|
719
761
|
</ul></dd>
|
720
762
|
</dl>
|
721
763
|
<p>---------------------------------------------</p>
|
722
|
-
<h1><a name="label
|
723
|
-
<h3><a name="label
|
724
|
-
<h3><a name="label
|
764
|
+
<h1><a name="label-47" id="label-47">クラス NetCDFDim</a></h1><!-- RDLabel: "クラス NetCDFDim" -->
|
765
|
+
<h3><a name="label-48" id="label-48">クラスメソッド</a></h3><!-- RDLabel: "クラスメソッド" -->
|
766
|
+
<h3><a name="label-49" id="label-49">インスタンスメソッド</a></h3><!-- RDLabel: "インスタンスメソッド" -->
|
725
767
|
<dl>
|
726
|
-
<dt><h4><a name="label
|
768
|
+
<dt><h4><a name="label-50" id="label-50"><code>length</code></a></h4></dt><!-- RDLabel: "length" -->
|
727
769
|
<dd>
|
728
|
-
<p
|
729
|
-
<p
|
770
|
+
<p>次元の長さを返す</p>
|
771
|
+
<p>引数</p>
|
730
772
|
<ul>
|
731
|
-
<li
|
773
|
+
<li>なし</li>
|
732
774
|
</ul>
|
733
|
-
<p
|
775
|
+
<p>戻り値</p>
|
734
776
|
<ul>
|
735
777
|
<li>Integer</li>
|
736
778
|
</ul>
|
737
|
-
<p
|
779
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
738
780
|
<ul>
|
739
781
|
<li>nc_inq_dimlen</li>
|
740
782
|
</ul></dd>
|
741
|
-
<dt><h4><a name="label
|
783
|
+
<dt><h4><a name="label-51" id="label-51"><code>length_ul0</code></a></h4></dt><!-- RDLabel: "length_ul0" -->
|
742
784
|
<dd>
|
743
|
-
<p>length
|
744
|
-
<p
|
785
|
+
<p>length と同じだが、無制限次元に関しゼロを返す</p>
|
786
|
+
<p>引数</p>
|
745
787
|
<ul>
|
746
|
-
<li
|
788
|
+
<li>なし</li>
|
747
789
|
</ul>
|
748
|
-
<p
|
790
|
+
<p>戻り値</p>
|
749
791
|
<ul>
|
750
792
|
<li>Integer</li>
|
751
793
|
</ul>
|
752
|
-
<p
|
794
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
753
795
|
<ul>
|
754
796
|
<li>nc_inq_dimlen</li>
|
755
797
|
</ul></dd>
|
756
|
-
<dt><h4><a name="label
|
798
|
+
<dt><h4><a name="label-52" id="label-52"><code>name=(<var>dimension_newname</var>)</code></a></h4></dt><!-- RDLabel: "name=" -->
|
757
799
|
<dd>
|
758
|
-
<p
|
759
|
-
<p
|
800
|
+
<p>名前をつけかえる</p>
|
801
|
+
<p>引数</p>
|
760
802
|
<ul>
|
761
|
-
<li>dimension_newname (String) :
|
803
|
+
<li>dimension_newname (String) : 新しい名前</li>
|
762
804
|
</ul>
|
763
|
-
<p
|
805
|
+
<p>戻り値</p>
|
764
806
|
<ul>
|
765
807
|
<li>nil</li>
|
766
808
|
</ul>
|
767
|
-
<p
|
809
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
768
810
|
<ul>
|
769
811
|
<li>nc_rename_dim</li>
|
770
812
|
</ul></dd>
|
771
|
-
<dt><h4><a name="label
|
813
|
+
<dt><h4><a name="label-53" id="label-53"><code>name</code></a></h4></dt><!-- RDLabel: "name" -->
|
772
814
|
<dd>
|
773
|
-
<p
|
774
|
-
<p
|
815
|
+
<p>名前を返す</p>
|
816
|
+
<p>引数</p>
|
775
817
|
<ul>
|
776
|
-
<li
|
818
|
+
<li>なし</li>
|
777
819
|
</ul>
|
778
|
-
<p
|
820
|
+
<p>戻り値</p>
|
779
821
|
<ul>
|
780
822
|
<li>String</li>
|
781
823
|
</ul>
|
782
|
-
<p
|
824
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
783
825
|
<ul>
|
784
826
|
<li>nc_inq_dimname</li>
|
785
827
|
</ul></dd>
|
786
|
-
<dt><h4><a name="label
|
828
|
+
<dt><h4><a name="label-54" id="label-54"><code>unlimited?</code></a></h4></dt><!-- RDLabel: "unlimited?" -->
|
787
829
|
<dd>
|
788
|
-
<p
|
789
|
-
<p
|
830
|
+
<p>無制限次元かどうか?</p>
|
831
|
+
<p>引数</p>
|
790
832
|
<ul>
|
791
|
-
<li
|
833
|
+
<li>なし</li>
|
792
834
|
</ul>
|
793
|
-
<p
|
835
|
+
<p>戻り値</p>
|
794
836
|
<ul>
|
795
837
|
<li>true or false</li>
|
796
838
|
</ul>
|
797
|
-
<p
|
839
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
798
840
|
<ul>
|
799
|
-
<li>(nc_inq_unlimdim
|
841
|
+
<li>(nc_inq_unlimdim を利用)</li>
|
800
842
|
</ul></dd>
|
801
843
|
</dl>
|
802
844
|
<p>---------------------------------------------</p>
|
803
|
-
<h1><a name="label
|
804
|
-
<h3><a name="label
|
845
|
+
<h1><a name="label-55" id="label-55">クラス NetCDFVar</a></h1><!-- RDLabel: "クラス NetCDFVar" -->
|
846
|
+
<h3><a name="label-56" id="label-56">クラスメソッド</a></h3><!-- RDLabel: "クラスメソッド" -->
|
805
847
|
<dl>
|
806
|
-
<dt><h4><a name="label
|
848
|
+
<dt><h4><a name="label-57" id="label-57"><code>NetCDFVar.new(<var>file</var>,<var>varname</var>,<var>mode</var>="<var>r</var>",<var>share</var>=<var>false</var>)</code></a></h4></dt><!-- RDLabel: "NetCDFVar.new" -->
|
807
849
|
<dd>
|
808
|
-
<p>NetCDF
|
809
|
-
|
810
|
-
<p
|
850
|
+
<p>NetCDF変数をオープンする。これは、NetCDF#var (NetCDFクラスのイン
|
851
|
+
スタンスメソッドvar) を使っても出来るし、そちらのほうを推奨する。</p>
|
852
|
+
<p>引数</p>
|
811
853
|
<ul>
|
812
|
-
<li>file (NetCDF or String) : NetCDF
|
813
|
-
|
814
|
-
<li>varname (String) : file
|
815
|
-
<li>mode (String) :
|
816
|
-
|
817
|
-
<li>share (true or false) : shared
|
818
|
-
file
|
854
|
+
<li>file (NetCDF or String) : NetCDFオブジェクト(NetCDF)
|
855
|
+
または NetCDF ファイルのパス(String)</li>
|
856
|
+
<li>varname (String) : file中の変数名</li>
|
857
|
+
<li>mode (String) : 入出力モード。fileが String の時に使われる。
|
858
|
+
(NetCDF.openの項を見よ)</li>
|
859
|
+
<li>share (true or false) : sharedモードにするか。
|
860
|
+
fileが String の時に使われる。(NetCDF.openの項を見よ)</li>
|
819
861
|
</ul>
|
820
|
-
<p
|
862
|
+
<p>戻り値</p>
|
821
863
|
<ul>
|
822
|
-
<li>NetCDFVar
|
864
|
+
<li>NetCDFVarクラスのオブジェクト</li>
|
823
865
|
</ul>
|
824
|
-
<p
|
866
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
825
867
|
<ul>
|
826
|
-
<li>(nc_open, nc_create, nc_inq_varid
|
868
|
+
<li>(nc_open, nc_create, nc_inq_varid 等を利用する)</li>
|
827
869
|
</ul></dd>
|
828
|
-
<dt><h4><a name="label
|
870
|
+
<dt><h4><a name="label-58" id="label-58"><code>NetCDFVar.unpack_type=(<var>na_type</var>)</code></a></h4></dt><!-- RDLabel: "NetCDFVar.unpack_type=" -->
|
829
871
|
<dd>
|
830
|
-
<p><a href="#label
|
831
|
-
<p
|
872
|
+
<p><a href="#label-90">scaled_get</a>で使うNArrayの型を固定する.</p>
|
873
|
+
<p>引数</p>
|
832
874
|
<ul>
|
833
875
|
<li>na_type (Integer) : NArray::BYTE, NArray::SINT, NArray::INT,
|
834
876
|
NArray::SFLOAT, or NArray::FLOAT</li>
|
835
877
|
</ul>
|
836
|
-
<p
|
878
|
+
<p>戻り値</p>
|
837
879
|
<ul>
|
838
|
-
<li>na_type (
|
880
|
+
<li>na_type (引数)</li>
|
839
881
|
</ul></dd>
|
840
|
-
<dt><h4><a name="label
|
882
|
+
<dt><h4><a name="label-59" id="label-59"><code>NetCDFVar.unpack_type</code></a></h4></dt><!-- RDLabel: "NetCDFVar.unpack_type" -->
|
841
883
|
<dd>
|
842
|
-
<p><a href="#label
|
843
|
-
<p
|
884
|
+
<p><a href="#label-58">NetCDFVar.unpack_type=</a>で設定したNArrayの型を返す.</p>
|
885
|
+
<p>戻り値</p>
|
844
886
|
<ul>
|
845
887
|
<li>nil, NArray::BYTE, NArray::SINT, NArray::INT,
|
846
888
|
NArray::SFLOAT, or NArray::FLOAT</li>
|
847
889
|
</ul></dd>
|
848
890
|
</dl>
|
849
|
-
<h3><a name="label
|
891
|
+
<h3><a name="label-60" id="label-60">インスタンスメソッド</a></h3><!-- RDLabel: "インスタンスメソッド" -->
|
850
892
|
<dl>
|
851
|
-
<dt><h4><a name="label
|
893
|
+
<dt><h4><a name="label-61" id="label-61"><code>deflate(<var>deflate_level</var>, <var>shuffle</var>=<var>false</var>)</code></a></h4></dt><!-- RDLabel: "deflate" -->
|
894
|
+
<dd>
|
895
|
+
<p>(このメソッドは NetCDF-4 が使われてるときのみ使用可能:そうでなければ
|
896
|
+
例外が発生する).
|
897
|
+
(新しく作成された)変数が圧縮(deflate)されるようにする. このメソッドは,
|
898
|
+
変数を作成 (NetCDF#<a href="#label-33">def_var</a>) した後,NetCDF#<a href="#label-28">enddef</a>
|
899
|
+
を呼ぶ前に呼ばなければならない.</p>
|
900
|
+
<p>引数</p>
|
901
|
+
<ul>
|
902
|
+
<li>deflate_level (Integer) :: 0 to 9. (0: no compression; 9:
|
903
|
+
highest compression; recommended: 1 or 2).</li>
|
904
|
+
<li>shuffle (optional; true or false; default: false) if true,
|
905
|
+
turn on the shuffle filter.
|
906
|
+
<ul>
|
907
|
+
<li><a href="http://www.unidata.ucar.edu/software/netcdf/papers/AMS_2008.pdf"><URL:http://www.unidata.ucar.edu/software/netcdf/papers/AMS_2008.pdf></a>:
|
908
|
+
``The shuffle algorithm changes the byte order in the data stream;
|
909
|
+
when used with integers that are all close together, this
|
910
|
+
results in a better compression ratio. There is no benefit
|
911
|
+
from using the shuffle filter without also using
|
912
|
+
compression.''</li>
|
913
|
+
<li>Note: shuffle is effective for float variables too (tested by horinouchi).</li>
|
914
|
+
</ul></li>
|
915
|
+
</ul>
|
916
|
+
<p>戻り値</p>
|
917
|
+
<ul>
|
918
|
+
<li>self</li>
|
919
|
+
</ul></dd>
|
920
|
+
<dt><h4><a name="label-62" id="label-62"><code>deflate_params</code></a></h4></dt><!-- RDLabel: "deflate_params" -->
|
921
|
+
<dd>
|
922
|
+
<p>(このメソッドは NetCDF-4 が使われてるときのみ使用可能:そうでなければ
|
923
|
+
例外が発生する).
|
924
|
+
現在の圧縮(deflation)パラメターを返す。</p>
|
925
|
+
<p>戻り値</p>
|
926
|
+
<ul>
|
927
|
+
<li>[shuffle, deflate, deflate_level] (a 3-element Array).
|
928
|
+
shuffle と deflate は true または false. deflate_level は整数(0-9).</li>
|
929
|
+
</ul></dd>
|
930
|
+
<dt><h4><a name="label-63" id="label-63"><code>endian=(<var>endian</var>)</code></a></h4></dt><!-- RDLabel: "endian=" -->
|
852
931
|
<dd>
|
853
|
-
<p
|
854
|
-
|
932
|
+
<p>(このメソッドは NetCDF-4 が使われてるときのみ使用可能:そうでなければ
|
933
|
+
例外が発生する).
|
934
|
+
エンディアンを設定する。使用タイミングは <a href="#label-61">deflate</a> と同じ。</p>
|
935
|
+
<p>Arguments</p>
|
855
936
|
<ul>
|
856
|
-
<li>
|
937
|
+
<li>endian : 次のいずれか:
|
938
|
+
NetCDF::NC_ENDIAN_NATIVE (=0) (default),
|
939
|
+
NetCDF::NC_ENDIAN_LITTLE (=1), or NetCDF::NC_ENDIAN_BIG (=2).</li>
|
857
940
|
</ul>
|
858
|
-
<p
|
941
|
+
<p>Return value</p>
|
942
|
+
<ul>
|
943
|
+
<li>self</li>
|
944
|
+
</ul></dd>
|
945
|
+
<dt><h4><a name="label-64" id="label-64"><code>endian</code></a></h4></dt><!-- RDLabel: "endian" -->
|
946
|
+
<dd>
|
947
|
+
<p>(このメソッドは NetCDF-4 が使われてるときのみ使用可能:そうでなければ
|
948
|
+
例外が発生する).
|
949
|
+
現在のエンディアン設定を返す.</p>
|
950
|
+
<p>Return value</p>
|
859
951
|
<ul>
|
860
|
-
<li
|
952
|
+
<li>次のいずれか:
|
953
|
+
NetCDF::NC_ENDIAN_NATIVE (=0) (default),
|
954
|
+
NetCDF::NC_ENDIAN_LITTLE (=1), or NetCDF::NC_ENDIAN_BIG (=2).</li>
|
955
|
+
</ul></dd>
|
956
|
+
<dt><h4><a name="label-65" id="label-65"><code>dim(<var>dim_num</var>)</code></a></h4></dt><!-- RDLabel: "dim" -->
|
957
|
+
<dd>
|
958
|
+
<p>その変数における dim_num 番目(0から数える)の次元を問合わせる。</p>
|
959
|
+
<p>引数</p>
|
960
|
+
<ul>
|
961
|
+
<li>dim_num (Fixnum) : 0,1,2,...。最も速く回る次元が0。</li>
|
962
|
+
</ul>
|
963
|
+
<p>戻り値</p>
|
964
|
+
<ul>
|
965
|
+
<li>NetCDFDimオブジェクト</li>
|
861
966
|
</ul>
|
862
|
-
<p
|
967
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
863
968
|
<ul>
|
864
|
-
<li>(nc_inq_vardimid
|
969
|
+
<li>(nc_inq_vardimid利用)</li>
|
865
970
|
</ul></dd>
|
866
|
-
<dt><h4><a name="label
|
971
|
+
<dt><h4><a name="label-66" id="label-66"><code>dims</code></a></h4></dt><!-- RDLabel: "dims" -->
|
867
972
|
<dd>
|
868
|
-
<p
|
869
|
-
<p
|
973
|
+
<p>その変数の全次元を配列にいれて返す</p>
|
974
|
+
<p>引数</p>
|
870
975
|
<ul>
|
871
|
-
<li
|
976
|
+
<li>なし</li>
|
872
977
|
</ul>
|
873
|
-
<p
|
978
|
+
<p>戻り値</p>
|
874
979
|
<ul>
|
875
|
-
<li>NetCDFDim
|
980
|
+
<li>NetCDFDimオブジェクトのArray</li>
|
876
981
|
</ul>
|
877
|
-
<p
|
982
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
878
983
|
<ul>
|
879
984
|
<li>nc_inq_vardimid</li>
|
880
985
|
</ul></dd>
|
881
|
-
<dt><h4><a name="label
|
986
|
+
<dt><h4><a name="label-67" id="label-67"><code>shape_ul0</code></a></h4></dt><!-- RDLabel: "shape_ul0" -->
|
882
987
|
<dd>
|
883
|
-
<p
|
884
|
-
|
885
|
-
<p
|
988
|
+
<p>変数の形を返す. 但し無制限次元の長さはゼロ.
|
989
|
+
他の変数の定義に便利.</p>
|
990
|
+
<p>引数</p>
|
886
991
|
<ul>
|
887
|
-
<li
|
992
|
+
<li>なし</li>
|
888
993
|
</ul>
|
889
|
-
<p
|
994
|
+
<p>戻り値</p>
|
890
995
|
<ul>
|
891
|
-
<li>Array. [0
|
996
|
+
<li>Array. [0次元目の長さ, 1次元目の長さ,.. ]</li>
|
892
997
|
</ul>
|
893
|
-
<p
|
998
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
894
999
|
<ul>
|
895
|
-
<li>(nc_inq_vardimid, nc_inq_unlimdim
|
1000
|
+
<li>(nc_inq_vardimid, nc_inq_unlimdim 等を利用)</li>
|
896
1001
|
</ul></dd>
|
897
|
-
<dt><h4><a name="label
|
1002
|
+
<dt><h4><a name="label-68" id="label-68"><code>shape_current</code></a></h4></dt><!-- RDLabel: "shape_current" -->
|
898
1003
|
<dd>
|
899
|
-
<p
|
900
|
-
<p
|
1004
|
+
<p>変数の現在の形を返す.</p>
|
1005
|
+
<p>引数</p>
|
901
1006
|
<ul>
|
902
|
-
<li
|
1007
|
+
<li>なし</li>
|
903
1008
|
</ul>
|
904
|
-
<p
|
1009
|
+
<p>戻り値</p>
|
905
1010
|
<ul>
|
906
|
-
<li>Array. [0
|
1011
|
+
<li>Array. [0次元目の長さ, 1次元目の長さ,.. ]</li>
|
907
1012
|
</ul>
|
908
|
-
<p
|
1013
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
909
1014
|
<ul>
|
910
|
-
<li>(nc_inq_vardimid
|
1015
|
+
<li>(nc_inq_vardimid 等を利用)</li>
|
911
1016
|
</ul></dd>
|
912
|
-
<dt><h4><a name="label
|
1017
|
+
<dt><h4><a name="label-69" id="label-69"><code>each_att{ ... }</code></a></h4></dt><!-- RDLabel: "each_att" -->
|
913
1018
|
<dd>
|
914
|
-
<p
|
915
|
-
<p
|
1019
|
+
<p>変数中の全属性(NetCDFAtt)に関するイテレータ</p>
|
1020
|
+
<p>引数</p>
|
916
1021
|
<ul>
|
917
|
-
<li>{ ... } :
|
1022
|
+
<li>{ ... } : 繰り返すブロック</li>
|
918
1023
|
</ul>
|
919
|
-
<p
|
1024
|
+
<p>戻り値</p>
|
920
1025
|
<ul>
|
921
1026
|
<li>self</li>
|
922
1027
|
</ul>
|
923
|
-
<p
|
1028
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
924
1029
|
<ul>
|
925
|
-
<li>(nc_inq_natts, nc_inq_attname
|
1030
|
+
<li>(nc_inq_natts, nc_inq_attnameを利用)</li>
|
926
1031
|
</ul></dd>
|
927
|
-
<dt><h4><a name="label
|
1032
|
+
<dt><h4><a name="label-70" id="label-70"><code>dim_names</code></a></h4></dt><!-- RDLabel: "dim_names" -->
|
928
1033
|
<dd>
|
929
|
-
<p
|
930
|
-
<p
|
1034
|
+
<p>変数中の全次元の名前を配列に入れて返す。</p>
|
1035
|
+
<p>引数</p>
|
931
1036
|
<ul>
|
932
|
-
<li
|
1037
|
+
<li>なし</li>
|
933
1038
|
</ul>
|
934
|
-
<p
|
1039
|
+
<p>戻り値</p>
|
935
1040
|
<ul>
|
936
|
-
<li>String
|
1041
|
+
<li>String の Array</li>
|
937
1042
|
</ul>
|
938
|
-
<p
|
1043
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
939
1044
|
<ul>
|
940
|
-
<li>(nc_inq_varndims, nc_inq_vardimid, nc_inq_dimname
|
1045
|
+
<li>(nc_inq_varndims, nc_inq_vardimid, nc_inq_dimname を利用)</li>
|
941
1046
|
</ul></dd>
|
942
|
-
<dt><h4><a name="label
|
1047
|
+
<dt><h4><a name="label-71" id="label-71"><code>att_names</code></a></h4></dt><!-- RDLabel: "att_names" -->
|
943
1048
|
<dd>
|
944
|
-
<p
|
945
|
-
<p
|
1049
|
+
<p>変数中の全属性の名前を配列に入れて返す。</p>
|
1050
|
+
<p>引数</p>
|
946
1051
|
<ul>
|
947
|
-
<li
|
1052
|
+
<li>なし</li>
|
948
1053
|
</ul>
|
949
|
-
<p
|
1054
|
+
<p>戻り値</p>
|
950
1055
|
<ul>
|
951
|
-
<li>String
|
1056
|
+
<li>String の Array</li>
|
952
1057
|
</ul>
|
953
|
-
<p
|
1058
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
954
1059
|
<ul>
|
955
|
-
<li>(nc_inq_natts, nc_inq_attname
|
1060
|
+
<li>(nc_inq_natts, nc_inq_attnameを利用)</li>
|
956
1061
|
</ul></dd>
|
957
|
-
<dt><h4><a name="label
|
1062
|
+
<dt><h4><a name="label-72" id="label-72"><code>name</code></a></h4></dt><!-- RDLabel: "name" -->
|
958
1063
|
<dd>
|
959
|
-
<p
|
960
|
-
<p
|
1064
|
+
<p>変数の名前を返す</p>
|
1065
|
+
<p>引数</p>
|
961
1066
|
<ul>
|
962
|
-
<li
|
1067
|
+
<li>なし</li>
|
963
1068
|
</ul>
|
964
|
-
<p
|
1069
|
+
<p>戻り値</p>
|
965
1070
|
<ul>
|
966
1071
|
<li>String</li>
|
967
1072
|
</ul>
|
968
|
-
<p
|
1073
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
969
1074
|
<ul>
|
970
1075
|
<li>nc_inq_varname</li>
|
971
1076
|
</ul></dd>
|
972
|
-
<dt><h4><a name="label
|
1077
|
+
<dt><h4><a name="label-73" id="label-73"><code>name=(<var>variable_newname</var>)</code></a></h4></dt><!-- RDLabel: "name=" -->
|
973
1078
|
<dd>
|
974
|
-
<p
|
975
|
-
<p
|
1079
|
+
<p>名前を付け替える</p>
|
1080
|
+
<p>引数</p>
|
976
1081
|
<ul>
|
977
|
-
<li>variable_newname (String) :
|
1082
|
+
<li>variable_newname (String) : 新しい名前</li>
|
978
1083
|
</ul>
|
979
|
-
<p
|
1084
|
+
<p>戻り値</p>
|
980
1085
|
<ul>
|
981
1086
|
<li>nil</li>
|
982
1087
|
</ul>
|
983
|
-
<p
|
1088
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
984
1089
|
<ul>
|
985
1090
|
<li>nc_rename_var</li>
|
986
1091
|
</ul></dd>
|
987
|
-
<dt><h4><a name="label
|
1092
|
+
<dt><h4><a name="label-74" id="label-74"><code>ndims</code></a></h4></dt><!-- RDLabel: "ndims" -->
|
988
1093
|
<dd>
|
989
|
-
<p
|
990
|
-
<p
|
1094
|
+
<p>次元の数を問う</p>
|
1095
|
+
<p>引数</p>
|
991
1096
|
<ul>
|
992
|
-
<li
|
1097
|
+
<li>なし</li>
|
993
1098
|
</ul>
|
994
|
-
<p
|
1099
|
+
<p>戻り値</p>
|
995
1100
|
<ul>
|
996
1101
|
<li>Integer</li>
|
997
1102
|
</ul>
|
998
|
-
<p
|
1103
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
999
1104
|
<ul>
|
1000
1105
|
<li>nc_inq_varndims</li>
|
1001
1106
|
</ul></dd>
|
1002
|
-
<dt><h4><a name="label
|
1107
|
+
<dt><h4><a name="label-75" id="label-75"><code>rank</code></a></h4></dt><!-- RDLabel: "rank" -->
|
1003
1108
|
<dd>
|
1004
|
-
|
1005
|
-
<dt><h4><a name="label
|
1109
|
+
ndimsのエリアス</dd>
|
1110
|
+
<dt><h4><a name="label-76" id="label-76"><code>ntype</code></a></h4></dt><!-- RDLabel: "ntype" -->
|
1006
1111
|
<dd>
|
1007
|
-
|
1008
|
-
<dt><h4><a name="label
|
1112
|
+
vartypeの別名</dd>
|
1113
|
+
<dt><h4><a name="label-77" id="label-77"><code>vartype</code></a></h4></dt><!-- RDLabel: "vartype" -->
|
1009
1114
|
<dd>
|
1010
|
-
<p
|
1011
|
-
<p
|
1115
|
+
<p>変数値の型を問う</p>
|
1116
|
+
<p>引数</p>
|
1012
1117
|
<ul>
|
1013
|
-
<li
|
1118
|
+
<li>なし</li>
|
1014
1119
|
</ul>
|
1015
|
-
<p
|
1120
|
+
<p>戻り値</p>
|
1016
1121
|
<ul>
|
1017
1122
|
<li>String ("char","byte","sint","int","sfloat", or "float")</li>
|
1018
1123
|
</ul>
|
1019
|
-
<p
|
1124
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1020
1125
|
<ul>
|
1021
1126
|
<li>nc_inq_vartype</li>
|
1022
1127
|
</ul></dd>
|
1023
|
-
<dt><h4><a name="label
|
1128
|
+
<dt><h4><a name="label-78" id="label-78"><code>typecode</code></a></h4></dt><!-- RDLabel: "typecode" -->
|
1024
1129
|
<dd>
|
1025
|
-
<p
|
1026
|
-
<p
|
1130
|
+
<p>変数値の型を問う(NArrayのtypecodeで返す)</p>
|
1131
|
+
<p>引数</p>
|
1027
1132
|
<ul>
|
1028
|
-
<li
|
1133
|
+
<li>なし</li>
|
1029
1134
|
</ul>
|
1030
|
-
<p
|
1135
|
+
<p>戻り値</p>
|
1031
1136
|
<ul>
|
1032
|
-
<li>Fixnum
|
1137
|
+
<li>Fixnumオブジェクト (NArray:BYTE, NArray:SINT, NArray:LINT, NArray:SFLOAT, NArray:SFLOAT, NArray:DFLOAT)</li>
|
1033
1138
|
</ul>
|
1034
|
-
<p
|
1139
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1035
1140
|
<ul>
|
1036
1141
|
<li>nc_inq_vartype</li>
|
1037
1142
|
</ul></dd>
|
1038
|
-
<dt><h4><a name="label
|
1143
|
+
<dt><h4><a name="label-79" id="label-79"><code>natts</code></a></h4></dt><!-- RDLabel: "natts" -->
|
1039
1144
|
<dd>
|
1040
|
-
<p
|
1041
|
-
<p
|
1145
|
+
<p>属性の数を問う</p>
|
1146
|
+
<p>引数</p>
|
1042
1147
|
<ul>
|
1043
|
-
<li
|
1148
|
+
<li>なし</li>
|
1044
1149
|
</ul>
|
1045
|
-
<p
|
1150
|
+
<p>戻り値</p>
|
1046
1151
|
<ul>
|
1047
1152
|
<li>Integer</li>
|
1048
1153
|
</ul>
|
1049
|
-
<p
|
1154
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1050
1155
|
<ul>
|
1051
1156
|
<li>nc_inq_varnatts</li>
|
1052
1157
|
</ul></dd>
|
1053
|
-
<dt><h4><a name="label
|
1158
|
+
<dt><h4><a name="label-80" id="label-80"><code>file</code></a></h4></dt><!-- RDLabel: "file" -->
|
1054
1159
|
<dd>
|
1055
|
-
<p
|
1056
|
-
<p
|
1160
|
+
<p>その変数が属するファイルを問合わせる</p>
|
1161
|
+
<p>引数</p>
|
1057
1162
|
<ul>
|
1058
|
-
<li
|
1163
|
+
<li>なし</li>
|
1059
1164
|
</ul>
|
1060
|
-
<p
|
1165
|
+
<p>戻り値</p>
|
1061
1166
|
<ul>
|
1062
|
-
<li>NetCDF
|
1167
|
+
<li>NetCDFクラスのオブジェクト</li>
|
1063
1168
|
</ul>
|
1064
|
-
<p
|
1169
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1065
1170
|
<ul>
|
1066
|
-
<li
|
1171
|
+
<li>なし</li>
|
1067
1172
|
</ul></dd>
|
1068
|
-
<dt><h4><a name="label
|
1173
|
+
<dt><h4><a name="label-81" id="label-81"><code>att(<var>attribute_name</var>)</code></a></h4></dt><!-- RDLabel: "att" -->
|
1069
1174
|
<dd>
|
1070
|
-
<p
|
1071
|
-
<p
|
1175
|
+
<p>名前を指定した属性を返す</p>
|
1176
|
+
<p>引数</p>
|
1072
1177
|
<ul>
|
1073
|
-
<li>attribute_name (String) :
|
1178
|
+
<li>attribute_name (String) : 取り出す属性名</li>
|
1074
1179
|
</ul>
|
1075
|
-
<p
|
1180
|
+
<p>戻り値</p>
|
1076
1181
|
<ul>
|
1077
|
-
<li>NetCDFAtt
|
1182
|
+
<li>NetCDFAttオブジェクト. 存在しなければnil</li>
|
1078
1183
|
</ul>
|
1079
|
-
<p
|
1184
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1080
1185
|
<ul>
|
1081
|
-
<li>(nc_inq_attid
|
1186
|
+
<li>(nc_inq_attidを検査に利用)</li>
|
1082
1187
|
</ul></dd>
|
1083
|
-
<dt><h4><a name="label
|
1188
|
+
<dt><h4><a name="label-82" id="label-82"><code>put_att(<var>attribute_name</var>, <var>value</var>, <var>atttype</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "put_att" -->
|
1084
1189
|
<dd>
|
1085
|
-
<p
|
1086
|
-
<p
|
1190
|
+
<p>属性を設定</p>
|
1191
|
+
<p>引数</p>
|
1087
1192
|
<ul>
|
1088
|
-
<li>attribute_name (String) : attribute
|
1089
|
-
<li>value (Numeric, String, Array of Numeric, or NArray) :
|
1090
|
-
<li>atttype (nil or String) :
|
1091
|
-
"char"(="string"),"byte", "sint","int","sfloat", "float" (
|
1092
|
-
|
1193
|
+
<li>attribute_name (String) : attribute名</li>
|
1194
|
+
<li>value (Numeric, String, Array of Numeric, or NArray) : 設定する値</li>
|
1195
|
+
<li>atttype (nil or String) : 属性の型.
|
1196
|
+
"char"(="string"),"byte", "sint","int","sfloat", "float" (それ
|
1197
|
+
ぞれ,1,1,2,4,4,8 バイト)) または nil (つまりお任せ)</li>
|
1093
1198
|
</ul>
|
1094
|
-
<p
|
1199
|
+
<p>戻り値</p>
|
1095
1200
|
<ul>
|
1096
|
-
<li>NetCDFAtt
|
1201
|
+
<li>NetCDFAttのオブジェクト</li>
|
1097
1202
|
</ul>
|
1098
|
-
<p
|
1203
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1099
1204
|
<ul>
|
1100
1205
|
<li>nc_put_att_<type></li>
|
1101
1206
|
</ul></dd>
|
1102
|
-
<dt><h4><a name="label
|
1103
|
-
<dd>
|
1104
|
-
<
|
1105
|
-
<dt><h4><a name="label
|
1106
|
-
<dd>
|
1107
|
-
<p
|
1108
|
-
<p
|
1109
|
-
<ul>
|
1110
|
-
<li>value :
|
1111
|
-
|
1112
|
-
<li><p>option (Hash) :
|
1113
|
-
|
1114
|
-
"start","end","stride"
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
<p
|
1121
|
-
<p>{"start"=>[2,5],"end"=>[6,-1],"stride"=>[2,4]} --
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
<p>{"index"=>[0,0]}:
|
1126
|
-
|
1127
|
-
<p>{"index"=>[0,-2]}: 1
|
1128
|
-
|
1129
|
-
</ul>
|
1130
|
-
<p
|
1207
|
+
<dt><h4><a name="label-83" id="label-83"><code>put(<var>value</var>, <var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "put" -->
|
1208
|
+
<dd>
|
1209
|
+
<a href="#label-84">simple_put</a>の別名(alias)</dd>
|
1210
|
+
<dt><h4><a name="label-84" id="label-84"><code>simple_put(<var>value</var>, <var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "simple_put" -->
|
1211
|
+
<dd>
|
1212
|
+
<p>値を入れる</p>
|
1213
|
+
<p>引数</p>
|
1214
|
+
<ul>
|
1215
|
+
<li>value : 入れる値 (Numeric,Array(Numericの1次元配列)、NArray)
|
1216
|
+
スカラー(Numeric)または長さ1の場合は、その値を一様に設定する。</li>
|
1217
|
+
<li><p>option (Hash) : 変数の一部分を指定するためのオプション引数。省
|
1218
|
+
略すれば、変数全体が対象となる。ハッシュのキーとしては、
|
1219
|
+
"start","end","stride"の組、または"index"が使用できる。"index"
|
1220
|
+
は1要素(スカラー)を指す。"end","stride"は省略可。省略するにし
|
1221
|
+
ろしないにしろ、書きこむべき要素の数が valueのそれと一致するようにし
|
1222
|
+
なければならない。start,end,indexではArrayの場合と同様、負の値で後ろ
|
1223
|
+
からの位置を指定できる。"stride"は正の値のみ受け付けるので、配
|
1224
|
+
列を引っくり返したければ後から別途やることになる。</p>
|
1225
|
+
<p>例: 変数が2次元の場合:</p>
|
1226
|
+
<p>{"start"=>[2,5],"end"=>[6,-1],"stride"=>[2,4]} -- 第1次元目は、
|
1227
|
+
要素 2 から 6 まで 1 つおき (0から数えるので要素 2 は 3 番目であ
|
1228
|
+
ることに注意)、第2次元目は、要素 6 から 最後(=-1)まで 3 つおき
|
1229
|
+
にとったサブセット。</p>
|
1230
|
+
<p>{"index"=>[0,0]}: 最初の要素にあた
|
1231
|
+
るスカラー値</p>
|
1232
|
+
<p>{"index"=>[0,-2]}: 1次元目は最初, 2次元目は最後から2番目にあた
|
1233
|
+
るスカラー値</p></li>
|
1234
|
+
</ul>
|
1235
|
+
<p>戻り値</p>
|
1131
1236
|
<ul>
|
1132
1237
|
<li>nil</li>
|
1133
1238
|
</ul>
|
1134
|
-
<p
|
1239
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1135
1240
|
<ul>
|
1136
1241
|
<li>nc_put_var_<type>, nc_put_vars_<type>, nc_put_var1_<type></li>
|
1137
1242
|
</ul></dd>
|
1138
|
-
<dt><h4><a name="label
|
1243
|
+
<dt><h4><a name="label-85" id="label-85"><code>pack(<var>na</var>)</code></a></h4></dt><!-- RDLabel: "pack" -->
|
1139
1244
|
<dd>
|
1140
|
-
<p>self
|
1141
|
-
<p
|
1142
|
-
(na-add_offset)/scale_factor
|
1143
|
-
<p
|
1245
|
+
<p>selfの属性 scale_factor and/or add_offset を用いて NArray 等を "pack" する.</p>
|
1246
|
+
<p>もしも scale_factor and/or add_offset が設定されていれば
|
1247
|
+
(na-add_offset)/scale_factor を返す。そうでなければ na を返す。</p>
|
1248
|
+
<p>引数</p>
|
1144
1249
|
<ul>
|
1145
|
-
<li>na : pack
|
1250
|
+
<li>na : pack する数値配列 (NArray, NArrayMiss, Array)</li>
|
1146
1251
|
</ul>
|
1147
|
-
<p
|
1252
|
+
<p>戻り値</p>
|
1148
1253
|
<ul>
|
1149
1254
|
<li>a NArray or NArrayMiss</li>
|
1150
1255
|
</ul></dd>
|
1151
|
-
<dt><h4><a name="label
|
1256
|
+
<dt><h4><a name="label-86" id="label-86"><code>scaled_put(<var>value</var>, <var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "scaled_put" -->
|
1152
1257
|
<dd>
|
1153
|
-
<p><a href="#label
|
1154
|
-
<p
|
1155
|
-
<dt><h4><a name="label
|
1258
|
+
<p><a href="#label-84">simple_put</a> と同様だが、<a href="#label-85">pack</a>により属性 scale_factor と add_offset を解釈する</p>
|
1259
|
+
<p>引数等については put の解説を参照のこと</p></dd>
|
1260
|
+
<dt><h4><a name="label-87" id="label-87"><code>get(<var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "get" -->
|
1156
1261
|
<dd>
|
1157
|
-
<
|
1158
|
-
<dt><h4><a name="label
|
1262
|
+
<a href="#label-88">simple_get</a>の別名(alias)</dd>
|
1263
|
+
<dt><h4><a name="label-88" id="label-88"><code>simple_get(<var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "simple_get" -->
|
1159
1264
|
<dd>
|
1160
|
-
<p
|
1161
|
-
<p
|
1265
|
+
<p>値を取り出す</p>
|
1266
|
+
<p>引数</p>
|
1162
1267
|
<ul>
|
1163
|
-
<li>option (Hash) :
|
1164
|
-
|
1268
|
+
<li>option (Hash) : 変数の一部分を指定するためのオプション引数。仕
|
1269
|
+
様は put に同じ。</li>
|
1165
1270
|
</ul>
|
1166
|
-
<p
|
1271
|
+
<p>戻り値</p>
|
1167
1272
|
<ul>
|
1168
|
-
<li>NArray
|
1273
|
+
<li>NArrayクラスのオブジェクト</li>
|
1169
1274
|
</ul>
|
1170
|
-
<p
|
1275
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1171
1276
|
<ul>
|
1172
1277
|
<li>nc_get_var_<type>, nc_get_vars_<type>, nc_get_var1_<type></li>
|
1173
1278
|
</ul></dd>
|
1174
|
-
<dt><h4><a name="label
|
1279
|
+
<dt><h4><a name="label-89" id="label-89"><code>unpack(<var>na</var>)</code></a></h4></dt><!-- RDLabel: "unpack" -->
|
1175
1280
|
<dd>
|
1176
|
-
<p>self
|
1177
|
-
<p
|
1178
|
-
na * scale_factor + add_offset
|
1179
|
-
coerce
|
1180
|
-
scale_factor
|
1181
|
-
|
1182
|
-
|
1183
|
-
<p
|
1281
|
+
<p>selfの属性 scale_factor and/or add_offset を用いて NArray 等を "unpack" する.</p>
|
1282
|
+
<p>もしも scale_factor and/or add_offset が設定されていれば
|
1283
|
+
na * scale_factor + add_offset を返す。そうでなければ na を返す。
|
1284
|
+
coerce によって型が変化する -- 例えば、もし na が sint で
|
1285
|
+
scale_factor と add_offset が sfloat であれば、返り値は sfloat
|
1286
|
+
になる。返り値の型は <a href="#label-58">NetCDFVar.unpack_type=</a> を使って
|
1287
|
+
陽に指定することもできる。</p>
|
1288
|
+
<p>引数</p>
|
1184
1289
|
<ul>
|
1185
|
-
<li>na : unpack
|
1290
|
+
<li>na : unpack する数値配列 (NArray, or NArrayMiss)</li>
|
1186
1291
|
</ul>
|
1187
|
-
<p
|
1292
|
+
<p>戻り値</p>
|
1188
1293
|
<ul>
|
1189
1294
|
<li>a NArray or NArrayMiss</li>
|
1190
1295
|
</ul></dd>
|
1191
|
-
<dt><h4><a name="label
|
1192
|
-
<dd>
|
1193
|
-
<p><a href="#label
|
1194
|
-
<p
|
1195
|
-
<dt><h4><a name="label
|
1196
|
-
<dd>
|
1197
|
-
<p>NetCDFVar#get
|
1198
|
-
<p>NArray
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
<dt><h4><a name="label
|
1204
|
-
<dd>
|
1205
|
-
<p>NetCDFVar#put
|
1206
|
-
<p>NArray
|
1207
|
-
|
1208
|
-
|
1209
|
-
|
1210
|
-
|
1296
|
+
<dt><h4><a name="label-90" id="label-90"><code>scaled_get(<var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "scaled_get" -->
|
1297
|
+
<dd>
|
1298
|
+
<p><a href="#label-88">simple_get</a> と同様だが、<a href="#label-89">unpack</a>により属性 scale_factor と add_offset を解釈する</p>
|
1299
|
+
<p>引数等については put の解説を参照のこと</p></dd>
|
1300
|
+
<dt><h4><a name="label-91" id="label-91"><code>[]</code></a></h4></dt><!-- RDLabel: "[]" -->
|
1301
|
+
<dd>
|
1302
|
+
<p>NetCDFVar#get と同様だが、サブセットを NArray#[] と同様に指定する. </p>
|
1303
|
+
<p>NArrayでサポートされているサブセット指定方法に加えて、ステップ付
|
1304
|
+
きの範囲を指定できる。これは {0..-1,2} などとする。つまり、要素
|
1305
|
+
数が1のハッシュのキーに範囲(Range)、値にステップ(Integer)を指定
|
1306
|
+
する。NArrayと違い、2次元以上の変数を1次元のインデックスで
|
1307
|
+
指定することは出来ない。</p></dd>
|
1308
|
+
<dt><h4><a name="label-92" id="label-92"><code>[] = </code></a></h4></dt><!-- RDLabel: "[]=" -->
|
1309
|
+
<dd>
|
1310
|
+
<p>NetCDFVar#put と同様だが、サブセットを NArray#[]= と同様に指定する. </p>
|
1311
|
+
<p>NArrayでサポートされているサブセット指定方法に加えて、ステップ付
|
1312
|
+
きの範囲を指定できる。これは {0..-1,2} などとする。つまり、要素
|
1313
|
+
数が1のハッシュのキーに範囲(Range)、値にステップ(Integer)を指定
|
1314
|
+
する。NArrayと違い、2次元以上の変数を1次元のインデックスで
|
1315
|
+
指定することは出来ない。</p></dd>
|
1211
1316
|
</dl>
|
1212
|
-
<h3><a name="label
|
1317
|
+
<h3><a name="label-93" id="label-93">"numru/netcdf_miss" を require することで追加されるインスタンスメソッド</a></h3><!-- RDLabel: ""numru/netcdf_miss" を require することで追加されるインスタンスメソッド" -->
|
1213
1318
|
<dl>
|
1214
|
-
<dt><h4><a name="label
|
1319
|
+
<dt><h4><a name="label-94" id="label-94"><code>get_with_miss(<var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "get_with_miss" -->
|
1215
1320
|
<dd>
|
1216
|
-
<p><a href="#label
|
1217
|
-
<p
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
missng_value
|
1222
|
-
|
1223
|
-
<p
|
1224
|
-
|
1225
|
-
<p
|
1321
|
+
<p><a href="#label-87">get</a>と同様だが、データ欠損を処理する</p>
|
1322
|
+
<p>データ欠損は標準属性 valid_range, (valid_min and/or valid_max),
|
1323
|
+
または missing_value により指定される。解釈の優先順位はこの順番で
|
1324
|
+
ある。「ユーザーズガイド」の推奨と違い、ここでは missin_value も
|
1325
|
+
解釈される。もし missing_value と valid_* が同時に存在する場合、
|
1326
|
+
missng_value は有効データ範囲外にあってはならない。その場合、例外
|
1327
|
+
が発生する。</p>
|
1328
|
+
<p>上記のようにもしデータ欠損(の仕方)が指定されていれば、このメソッ
|
1329
|
+
ドは NArrayMiss オブジェクトを返す。そうでなければ NArray を返す。</p>
|
1330
|
+
<p>引数</p>
|
1226
1331
|
<ul>
|
1227
|
-
<li><a href="#label
|
1332
|
+
<li><a href="#label-87">get</a>を見よ.</li>
|
1228
1333
|
</ul>
|
1229
|
-
<p
|
1334
|
+
<p>戻り値</p>
|
1230
1335
|
<ul>
|
1231
|
-
<li>NArrayMiss
|
1232
|
-
|
1336
|
+
<li>NArrayMissオブジェクト (データ欠損が指定さている場合) または NArray
|
1337
|
+
オブジェクト (データ欠損が指定さてない場合)</li>
|
1233
1338
|
</ul>
|
1234
|
-
<p>NetcdfError
|
1339
|
+
<p>NetcdfError 以外の例外発生</p>
|
1235
1340
|
<ul>
|
1236
|
-
<li>missing_value
|
1341
|
+
<li>missing_value がデータ有効範囲にない (上記参照のこと).</li>
|
1237
1342
|
</ul>
|
1238
|
-
<p
|
1343
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1239
1344
|
<ul>
|
1240
|
-
<li><a href="#label
|
1345
|
+
<li><a href="#label-87">get</a> を見よ. このメソッドは Ruby のみで書かれている. </li>
|
1241
1346
|
</ul>
|
1242
|
-
<p
|
1347
|
+
<p>例</p>
|
1243
1348
|
<ul>
|
1244
|
-
<li><p
|
1245
|
-
|
1246
|
-
<code>get</code>
|
1349
|
+
<li><p>次の例では <a href="#label-87">get</a> を <a href="#label-94">get_with_miss</a> を置き換えている.
|
1350
|
+
こうすると <a href="#label-91">[]</a> もデータ欠損を解釈するようになる (内部で
|
1351
|
+
<code>get</code> を呼んでるので).</p>
|
1247
1352
|
<pre>file = NetCDF.open('hogehoge.nc')
|
1248
1353
|
var = file.var('var')
|
1249
1354
|
def var.get(*args); get_with_miss(*args); end
|
1250
1355
|
p var.get # --> inteprets data missing if defined
|
1251
1356
|
p var[0..-1,0] # --> inteprets data missing if defined (assumed 2D)</pre></li>
|
1252
1357
|
</ul></dd>
|
1253
|
-
<dt><h4><a name="label
|
1358
|
+
<dt><h4><a name="label-95" id="label-95"><code>get_with_miss_and_scaling(<var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "get_with_miss_and_scaling" -->
|
1254
1359
|
<dd>
|
1255
|
-
<p><a href="#label
|
1256
|
-
<p
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
<p
|
1360
|
+
<p><a href="#label-94">get_with_miss</a>と同様だが、<a href="#label-89">unpack</a>によりスケーリングも行う.</p>
|
1361
|
+
<p>欠損値処理は基本的には pack したデータを対象に行う(これは多くの
|
1362
|
+
コンベンション採用されている)。ただし、valid_* / missing_value
|
1363
|
+
の型が pack したデータの型と異なり、かつ unpackしたデータの型と
|
1364
|
+
一致するとき(に限り) unpack したデータを対象とする。
|
1365
|
+
これで基本的に全てのコンベンションに対応できる。</p>
|
1366
|
+
<p>例</p>
|
1262
1367
|
<ul>
|
1263
|
-
<li
|
1368
|
+
<li>上記参照。同じことができる。</li>
|
1264
1369
|
</ul></dd>
|
1265
|
-
<dt><h4><a name="label
|
1370
|
+
<dt><h4><a name="label-96" id="label-96"><code>put_with_miss(<var>value</var>, <var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "put_with_miss" -->
|
1266
1371
|
<dd>
|
1267
|
-
<p><a href="#label
|
1268
|
-
<p
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1272
|
-
|
1273
|
-
|
1274
|
-
<code>value</code>
|
1275
|
-
|
1276
|
-
<p
|
1372
|
+
<p><a href="#label-83">put</a>と同様だが、データ欠損を処理する</p>
|
1373
|
+
<p>もしも <code>value</code> が NArray なら、このメソッドは <a href="#label-83">put</a> に同
|
1374
|
+
じ. もし<code>value</code> が NArrayMiss でかつ self の属性によりデータ欠損が
|
1375
|
+
定義されていれば (<a href="#label-94">get_with_miss</a>を参照のこと)、<code>value</code>
|
1376
|
+
中のデータ欠損が解釈される。即ち、<code>value</code>中の欠損データは、
|
1377
|
+
ある欠損値 (missing_value または _FillValue またはデータ有効範囲
|
1378
|
+
外の適当な値) に置き換えられた上でファイルに書き込まれる。
|
1379
|
+
<code>value</code> 中の非欠損データが <code>self</code> における有効範囲に入って
|
1380
|
+
いるかどうかはチェックされない。</p>
|
1381
|
+
<p>引数</p>
|
1277
1382
|
<ul>
|
1278
|
-
<li>value : NArrayMiss
|
1279
|
-
<li>option (Hash) : <a href="#label
|
1383
|
+
<li>value : NArrayMiss または <a href="#label-83">put</a> で許されているクラスのオブジェクト.</li>
|
1384
|
+
<li>option (Hash) : <a href="#label-83">put</a> を見よ.</li>
|
1280
1385
|
</ul>
|
1281
|
-
<p
|
1386
|
+
<p>戻り値</p>
|
1282
1387
|
<ul>
|
1283
1388
|
<li>nil</li>
|
1284
1389
|
</ul>
|
1285
|
-
<p
|
1390
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1286
1391
|
<ul>
|
1287
|
-
<li><a href="#label
|
1392
|
+
<li><a href="#label-83">put</a> を見よ. このメソッドは Ruby のみで書かれている. </li>
|
1288
1393
|
</ul>
|
1289
|
-
<p
|
1394
|
+
<p>例</p>
|
1290
1395
|
<ul>
|
1291
|
-
<li><p
|
1292
|
-
|
1293
|
-
<code>put</code>
|
1396
|
+
<li><p>次の例では <a href="#label-83">put</a> を <a href="#label-96">put_with_miss</a> を置き換えている.
|
1397
|
+
こうすると <a href="#label-92">[]=</a> もデータ欠損を解釈するようになる (内部で
|
1398
|
+
<code>put</code> を呼んでるので).</p>
|
1294
1399
|
<pre>file = NetCDF.open('hogehoge.nc')
|
1295
1400
|
var = file.var('var')
|
1296
1401
|
def var.put(*args); put_with_miss(*args); end
|
1297
1402
|
var.put = narray_miss # --> inteprets data missing if defined
|
1298
1403
|
var[0..-1,0] = narray_miss # --> inteprets data missing if defined (assumed 2D)</pre></li>
|
1299
1404
|
</ul></dd>
|
1300
|
-
<dt><h4><a name="label
|
1405
|
+
<dt><h4><a name="label-97" id="label-97"><code>put_with_miss_and_scaling(<var>value</var>, <var>option</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "put_with_miss_and_scaling" -->
|
1301
1406
|
<dd>
|
1302
|
-
<p><a href="#label
|
1303
|
-
<p
|
1304
|
-
|
1305
|
-
|
1306
|
-
|
1307
|
-
|
1308
|
-
<p
|
1407
|
+
<p><a href="#label-96">put_with_miss</a>と同様だが、<a href="#label-85">pack</a>によりスケーリングも行う.</p>
|
1408
|
+
<p>欠損値処理は基本的には pack したデータを対象に行う(これは多くの
|
1409
|
+
コンベンション採用されている)。ただし、valid_* / missing_value
|
1410
|
+
の型が pack したデータの型と異なり、かつ unpackしたデータの型と
|
1411
|
+
一致するとき(に限り) unpack したデータを対象とする。
|
1412
|
+
これで基本的に全てのコンベンションに対応できる。</p>
|
1413
|
+
<p>例</p>
|
1309
1414
|
<ul>
|
1310
|
-
<li
|
1415
|
+
<li>上記参照。同じことができる。</li>
|
1311
1416
|
</ul></dd>
|
1312
1417
|
</dl>
|
1313
1418
|
<p>---------------------------------------------</p>
|
1314
|
-
<h1><a name="label
|
1315
|
-
<h3><a name="label
|
1316
|
-
<h3><a name="label
|
1419
|
+
<h1><a name="label-98" id="label-98">クラス NetCDFAtt</a></h1><!-- RDLabel: "クラス NetCDFAtt" -->
|
1420
|
+
<h3><a name="label-99" id="label-99">クラスメソッド</a></h3><!-- RDLabel: "クラスメソッド" -->
|
1421
|
+
<h3><a name="label-100" id="label-100">インスタンスメソッド</a></h3><!-- RDLabel: "インスタンスメソッド" -->
|
1317
1422
|
<dl>
|
1318
|
-
<dt><h4><a name="label
|
1423
|
+
<dt><h4><a name="label-101" id="label-101"><code>name</code></a></h4></dt><!-- RDLabel: "name" -->
|
1319
1424
|
<dd>
|
1320
|
-
<p
|
1321
|
-
<p
|
1425
|
+
<p>属性の名前を返す</p>
|
1426
|
+
<p>引数</p>
|
1322
1427
|
<ul>
|
1323
|
-
<li
|
1428
|
+
<li>なし</li>
|
1324
1429
|
</ul>
|
1325
|
-
<p
|
1430
|
+
<p>戻り値</p>
|
1326
1431
|
<ul>
|
1327
1432
|
<li>String</li>
|
1328
1433
|
</ul>
|
1329
|
-
<p
|
1434
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1330
1435
|
<ul>
|
1331
|
-
<li
|
1436
|
+
<li>なし</li>
|
1332
1437
|
</ul></dd>
|
1333
|
-
<dt><h4><a name="label
|
1438
|
+
<dt><h4><a name="label-102" id="label-102"><code>name=(<var>attribute_newname</var>)</code></a></h4></dt><!-- RDLabel: "name=" -->
|
1334
1439
|
<dd>
|
1335
|
-
<p
|
1336
|
-
<p
|
1440
|
+
<p>属性の名前を変更</p>
|
1441
|
+
<p>引数</p>
|
1337
1442
|
<ul>
|
1338
|
-
<li>attribute_newname (String) :
|
1443
|
+
<li>attribute_newname (String) : 新しい名前</li>
|
1339
1444
|
</ul>
|
1340
|
-
<p
|
1445
|
+
<p>戻り値</p>
|
1341
1446
|
<ul>
|
1342
1447
|
<li>nil</li>
|
1343
1448
|
</ul>
|
1344
|
-
<p
|
1449
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1345
1450
|
<ul>
|
1346
1451
|
<li>nc_rename_att</li>
|
1347
1452
|
</ul></dd>
|
1348
|
-
<dt><h4><a name="label
|
1453
|
+
<dt><h4><a name="label-103" id="label-103"><code>copy(<var>var_or_file</var>)</code></a></h4></dt><!-- RDLabel: "copy" -->
|
1349
1454
|
<dd>
|
1350
|
-
<p
|
1351
|
-
<p
|
1455
|
+
<p>属性を別の変数またはファイルにコピー。ファイルの場合はグローバル属性になる</p>
|
1456
|
+
<p>引数</p>
|
1352
1457
|
<ul>
|
1353
1458
|
<li>var_or_file (NetCDFVar or NetCDF)</li>
|
1354
1459
|
</ul>
|
1355
|
-
<p
|
1460
|
+
<p>戻り値</p>
|
1356
1461
|
<ul>
|
1357
|
-
<li
|
1462
|
+
<li>コピーして作られた属性 (NetCDFAtt)</li>
|
1358
1463
|
</ul>
|
1359
|
-
<p
|
1464
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1360
1465
|
<ul>
|
1361
1466
|
<li>nc_copy_att</li>
|
1362
1467
|
</ul></dd>
|
1363
|
-
<dt><h4><a name="label
|
1468
|
+
<dt><h4><a name="label-104" id="label-104"><code>delete</code></a></h4></dt><!-- RDLabel: "delete" -->
|
1364
1469
|
<dd>
|
1365
|
-
<p
|
1366
|
-
<p
|
1470
|
+
<p>属性を削除</p>
|
1471
|
+
<p>引数</p>
|
1367
1472
|
<ul>
|
1368
|
-
<li
|
1473
|
+
<li>なし</li>
|
1369
1474
|
</ul>
|
1370
|
-
<p
|
1475
|
+
<p>戻り値</p>
|
1371
1476
|
<ul>
|
1372
1477
|
<li>nil</li>
|
1373
1478
|
</ul>
|
1374
|
-
<p
|
1479
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1375
1480
|
<ul>
|
1376
1481
|
<li>nc_del_att</li>
|
1377
1482
|
</ul></dd>
|
1378
|
-
<dt><h4><a name="label
|
1483
|
+
<dt><h4><a name="label-105" id="label-105"><code>put(<var>value</var>, <var>atttype</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "put" -->
|
1379
1484
|
<dd>
|
1380
|
-
<p
|
1381
|
-
<p
|
1485
|
+
<p>属性の値を設定</p>
|
1486
|
+
<p>引数</p>
|
1382
1487
|
<ul>
|
1383
|
-
<li>value (Numeric, String, Array of Numeric, or NArray) :
|
1384
|
-
<li>atttype (nil or String) :
|
1385
|
-
"char"(="string"),"byte", "sint","int","sfloat", "float" (
|
1386
|
-
|
1488
|
+
<li>value (Numeric, String, Array of Numeric, or NArray) : 入れる値</li>
|
1489
|
+
<li>atttype (nil or String) : 属性の型.
|
1490
|
+
"char"(="string"),"byte", "sint","int","sfloat", "float" (それ
|
1491
|
+
ぞれ,1,1,2,4,4,8 バイト)) または nil (つまりお任せ)</li>
|
1387
1492
|
</ul>
|
1388
|
-
<p
|
1493
|
+
<p>戻り値</p>
|
1389
1494
|
<ul>
|
1390
1495
|
<li>nil</li>
|
1391
1496
|
</ul>
|
1392
|
-
<p
|
1497
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1393
1498
|
<ul>
|
1394
1499
|
<li>nc_put_att_<type></li>
|
1395
1500
|
</ul></dd>
|
1396
|
-
<dt><h4><a name="label
|
1501
|
+
<dt><h4><a name="label-106" id="label-106"><code>get</code></a></h4></dt><!-- RDLabel: "get" -->
|
1397
1502
|
<dd>
|
1398
|
-
<p
|
1399
|
-
<p
|
1503
|
+
<p>属性の中身を取り出す</p>
|
1504
|
+
<p>引数</p>
|
1400
1505
|
<ul>
|
1401
|
-
<li
|
1506
|
+
<li>なし</li>
|
1402
1507
|
</ul>
|
1403
|
-
<p
|
1508
|
+
<p>戻り値</p>
|
1404
1509
|
<ul>
|
1405
|
-
<li
|
1510
|
+
<li>文字列またはNArrayオブジェクト (注意: スカラーの場合も長さ1の
|
1511
|
+
NArrayになる)</li>
|
1512
|
+
</ul>
|
1513
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1514
|
+
<ul>
|
1515
|
+
<li>nc_get_att_<type></li>
|
1406
1516
|
</ul></dd>
|
1407
|
-
</
|
1408
|
-
<pre>NArray�ˤʤ�)</pre>
|
1409
|
-
<pre>�б�����(���Ѥ���) C �� NetCDF �δؿ�
|
1410
|
-
* nc_get_att_<type></pre>
|
1411
|
-
<dl>
|
1412
|
-
<dt><h4><a name="label:99" id="label:99"><code>atttype</code></a></h4></dt><!-- RDLabel: "atttype" -->
|
1517
|
+
<dt><h4><a name="label-107" id="label-107"><code>atttype</code></a></h4></dt><!-- RDLabel: "atttype" -->
|
1413
1518
|
<dd>
|
1414
|
-
<p
|
1415
|
-
<p
|
1519
|
+
<p>属性値の型を問う</p>
|
1520
|
+
<p>引数</p>
|
1416
1521
|
<ul>
|
1417
|
-
<li
|
1522
|
+
<li>なし</li>
|
1418
1523
|
</ul>
|
1419
|
-
<p
|
1524
|
+
<p>戻り値</p>
|
1420
1525
|
<ul>
|
1421
1526
|
<li>"char","byte","sint","int","sfloat","float"</li>
|
1422
1527
|
</ul>
|
1423
|
-
<p
|
1528
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1424
1529
|
<ul>
|
1425
1530
|
<li>nc_inq_atttype</li>
|
1426
1531
|
</ul></dd>
|
1427
|
-
<dt><h4><a name="label
|
1532
|
+
<dt><h4><a name="label-108" id="label-108"><code>typecode</code></a></h4></dt><!-- RDLabel: "typecode" -->
|
1428
1533
|
<dd>
|
1429
|
-
<p
|
1430
|
-
<p
|
1534
|
+
<p>属性値の型を問う(NArrayのtypecodeで返す)</p>
|
1535
|
+
<p>引数</p>
|
1431
1536
|
<ul>
|
1432
|
-
<li
|
1537
|
+
<li>なし</li>
|
1433
1538
|
</ul>
|
1434
|
-
<p
|
1539
|
+
<p>戻り値</p>
|
1435
1540
|
<ul>
|
1436
|
-
<li>Fixnum
|
1541
|
+
<li>Fixnumオブジェクト (NArray:BYTE, NArray:SINT, NArray:LINT, NArray:SFLOAT, NArray:SFLOAT, NArray:DFLOAT)</li>
|
1437
1542
|
</ul>
|
1438
|
-
<p
|
1543
|
+
<p>対応する(利用する) C 版 NetCDF の関数</p>
|
1439
1544
|
<ul>
|
1440
1545
|
<li>nc_inq_atttype</li>
|
1441
1546
|
</ul></dd>
|