gphys 1.4.3.2 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/.ChangeLog.until201303 +2156 -0
  2. data/.gitignore +7 -1
  3. data/Rakefile +36 -1
  4. data/bin/gpview +75 -58
  5. data/{dim_op.c → ext/numru/gphys/dim_op.c} +4 -1
  6. data/{ext_coord.c → ext/numru/gphys/ext_coord.c} +35 -17
  7. data/{ext_init.c → ext/numru/gphys/ext_init.c} +0 -0
  8. data/ext/numru/gphys/extconf.rb +43 -0
  9. data/{interpo.c → ext/numru/gphys/interpo.c} +35 -30
  10. data/{multibitIO.c → ext/numru/gphys/multibitIO.c} +19 -15
  11. data/gphys-bigmem.gemspec +44 -0
  12. data/gphys.gemspec +4 -4
  13. data/lib/numru/dclext.rb +55 -0
  14. data/lib/numru/derivative.rb +6 -5
  15. data/lib/numru/ganalysis/met.rb +27 -10
  16. data/lib/numru/ganalysis/qg.rb +4 -3
  17. data/lib/numru/ganalysis/sph_harmonic_iso_g.rb +290 -0
  18. data/lib/numru/ggraph.rb +81 -2
  19. data/lib/numru/gphys/derivative.rb +3 -2
  20. data/lib/numru/gphys/gpcommon.rb +7 -1
  21. data/lib/numru/gphys/gphys_fft.rb +3 -3
  22. data/lib/numru/gphys/gphys_hdfeos5_io.rb +14 -13
  23. data/lib/numru/gphys/grib.rb +18 -7
  24. data/lib/numru/gphys/gtool3.rb +53 -52
  25. data/lib/numru/gphys/interpolate.rb +3 -2
  26. data/lib/numru/gphys/varraycomposite.rb +1 -1
  27. data/lib/numru/gphys/varraynetcdf.rb +38 -0
  28. data/lib/numru/gphys/version.rb +2 -1
  29. data/test/test_axis.rb +1 -5
  30. data/test/test_fitting.rb +0 -1
  31. data/test/test_gphys.rb +9 -5
  32. data/test/test_met_z.rb +1 -2
  33. data/test/test_sigma_coord.rb +0 -1
  34. metadata +36 -19
  35. checksums.yaml +0 -15
  36. data/.rspec +0 -2
  37. data/.travis.yml +0 -3
  38. data/ChangeLog +0 -7007
  39. data/extconf.rb +0 -51
  40. data/spec/gphys_spec.rb +0 -11
  41. data/spec/spec_helper.rb +0 -2
data/lib/numru/ggraph.rb CHANGED
@@ -115,6 +115,40 @@ library if you like.
115
115
 
116
116
  ==Module Functions
117
117
 
118
+ ---startup(options)
119
+
120
+ If called, it calls some DCL methods for easy start-up.
121
+
122
+ By default, it does a typical setting. You can change it by
123
+ giving options. This methods covers only a few DCL parameters.
124
+ For neat graphics, you will need to call DCL methods directly.
125
+
126
+ ARGUMENTS
127
+ * options (Hash) : options to change the default behavior if specified.
128
+ option name default value # description:
129
+ "iws" 1 # DCL sgpack param: Workstation ID (1:display, 2:file
130
+ # if DCL ver>=6)
131
+ "ifl" 4 # DCL swpack param (for DCL ver.>=6): file format num
132
+ # for iws==2 (1:png,2:eps,3:svg,4:pdf)
133
+ "colormap" 1 # DCL color map number (Integer)
134
+ "iwidth" nil # DCL swpack param (Integer): display width
135
+ # (pixcels)
136
+ "iheight" nil # DCL swpack param (Integer): display height
137
+ # (pixcels)
138
+ "lwait" true # DCL swpack param (true/false): wait mouse click
139
+ # to show next page
140
+ "isub" 96 # DCL sgpack param (Integer): control character of
141
+ # subscription 96=>"`"; 95=>"_". Note that DCL's
142
+ # default is 95.
143
+ "lmiss" true # DCL glpack param (true/false): whether to do
144
+ # missing value processing. Note that DCL's default
145
+ # is false.
146
+ "help" false # show help message if true
147
+
148
+ ---close
149
+
150
+ Close. (it just calls DCL.grcls).
151
+
118
152
  ---margin_info(program=nil, data_source=nil, char_height=nil, date=nil, xl=0.0, xr=0.0, yb=nil, yt=0.0)
119
153
 
120
154
  Sets the strings to appear in the bottom margin.
@@ -1105,6 +1139,34 @@ module NumRu
1105
1139
 
1106
1140
  module_function
1107
1141
 
1142
+ @@startup_options = Misc::KeywordOptAutoHelp.new(
1143
+ ['iws', 1, 'DCL sgpack param: Workstation ID (1:display, 2:file if DCL ver>=6)'],
1144
+ ['ifl', 4, 'DCL swpack param (for DCL ver.>=6): file format num for iws==2 (1:png,2:eps,3:svg,4:pdf)'],
1145
+ ['colormap', 1, 'DCL color map number (Integer)'],
1146
+ ['iwidth', nil, 'DCL swpack param (Integer): display width (pixcels)'],
1147
+ ['iheight', nil, 'DCL swpack param (Integer): display height (pixcels)'],
1148
+ ['lwait', true, 'DCL swpack param (true/false): wait mouse click to show next page'],
1149
+ ['isub', 96, 'DCL sgpack param (Integer): control character of subscription 96=>"`"; 95=>"_". Note that DCL\'s default is 95.'],
1150
+ ['lmiss', true, 'DCL glpack param (true/false): whether to do missing value processing. Note that DCL\'s default is false.']
1151
+ )
1152
+
1153
+ def startup(options=nil)
1154
+ opts = @@startup_options.interpret(options)
1155
+ DCL.swpset('iwidth',opts['iwidth']) if opts['iwidth']
1156
+ DCL.swpset('iheight',opts['iheight']) if opts['iheight']
1157
+ DCL.swpset('ifl',opts['ifl']) if DCL::DCLVERSION >= "6"
1158
+ DCL.sgscmn(opts['colormap'])
1159
+
1160
+ DCL.gropn(opts['iws'])
1161
+
1162
+ DCL.sgpset('isub', opts['isub'])
1163
+ DCL.glpset('lmiss', opts['lmiss'])
1164
+ end
1165
+
1166
+ def close
1167
+ DCL.grcls
1168
+ end
1169
+
1108
1170
  def gropn_1_if_not_yet
1109
1171
  if DCL.sgpget("iws") == 0
1110
1172
  DCL.gropn(1)
@@ -2738,7 +2800,7 @@ module NumRu
2738
2800
 
2739
2801
  val = gp.data.val
2740
2802
  if ( opts['ltone'] &&
2741
- ( opts['tonf'] || opts['auto'] &&
2803
+ ( opts['tonf'] || opts['auto'] && !opts['tonb'] && !opts['tonc'] &&
2742
2804
  ( val.length >= TONE_TONF_THRES_SIZE || val.shape.min >= TONE_TONF_THRES_LEN ) ) )
2743
2805
  DCL.uetonf(val)
2744
2806
  elsif opts['tonb'] && opts['ltone']
@@ -3051,11 +3113,28 @@ module NumRu
3051
3113
  @@data_prep_options
3052
3114
  )
3053
3115
 
3116
+ def set_vector(options)
3117
+ @@vector_options.set(options)
3118
+ end
3119
+ @@next_vector = nil
3120
+ def next_vector(options)
3121
+ if options.is_a?(Hash)
3122
+ @@next_vector = options
3123
+ else
3124
+ raise TypeError,"Hash expected"
3125
+ end
3126
+ nil
3127
+ end
3128
+
3054
3129
  def vector(fx, fy, newframe=true, options=nil)
3055
3130
  gropn_1_if_not_yet
3056
3131
  if newframe!=true && newframe!=false
3057
3132
  raise ArgumentError, "2nd arg (newframe) must be true or false"
3058
3133
  end
3134
+ if @@next_vector
3135
+ options = ( options ? @@next_vector.update(options) : @@next_vector )
3136
+ @@next_vector = nil
3137
+ end
3059
3138
  opts = @@vector_options.interpret(options)
3060
3139
  xax, yax, closer, fx, fy = data_prep_2D([fx,fy], newframe, opts)
3061
3140
  if newframe
@@ -3670,7 +3749,7 @@ if $0 == __FILE__
3670
3749
 
3671
3750
  #/ graph 45 /
3672
3751
  GGraph.set_fig('viewport'=>[0.2,0.8,0.2,0.8])
3673
- GGraph.tone(gphys, true, "auto"=>true, "auto"=>true)
3752
+ GGraph.tone(gphys, true, "auto"=>true)
3674
3753
  GGraph.contour(gphys, false)
3675
3754
  GGraph.color_bar
3676
3755
 
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require 'narray'
2
3
  require 'numru/gphys'
3
4
  require 'numru/derivative'
@@ -36,7 +37,7 @@ Module functions of Derivative Operater for GPhys.
36
37
  to. z.rank must be 1.
37
38
  * dim (Numeric): a Numeric represents the dimention which derivative
38
39
  respect to. you can give number count backward (((<dim>))<0), but
39
- ((<z.rank ��dim>)) must be > 0.
40
+ ((<z.rank dim>)) must be > 0.
40
41
  * bc (Numeric) : a Numeric which represent boundary condition.
41
42
  Supported conditions are:
42
43
  * LINEAR_EXT(=1) : default value
@@ -59,7 +60,7 @@ Module functions of Derivative Operater for GPhys.
59
60
  * gp (GPhys): a GPhys which you want to derivative.
60
61
  * dim_or_dimname (Numeric or String): a Numeric or String represents
61
62
  the dimension which derivate respect to. you can give number count
62
- backward (((<dim>))<0), but ((<z.rank ��dim>)) must be > 0.
63
+ backward (((<dim>))<0), but ((<z.rank dim>)) must be > 0.
63
64
  * bc (Numeric) : a Numeric which represent boundary condition.
64
65
  Supported conditions are:
65
66
  * LINEAR_EXT(=1) : default value
@@ -16,12 +16,18 @@
16
16
  2005/08/23 S Takehiro (created)
17
17
  2008/02/14 S Takehiro (copy_global_att can deal with GPhys
18
18
  which consists of multiple files)
19
+ 2015/09/06 H Kashimura && S Takehiro (fixed for installation by gem)
19
20
 
20
21
  =end
21
22
 
22
23
  #------------------------ print help message ------------------------
23
24
  def help
24
- file = File.open($0)
25
+ begin
26
+ file = File.open(Gem.bin_path("gphys",File.basename($0)))
27
+ rescue
28
+ file = File.open($0)
29
+ end
30
+ # file = File.open($0)
25
31
  after_begin = false
26
32
  after_end = false
27
33
  while (line = file.gets)
@@ -463,7 +463,7 @@ module NumRu
463
463
  end
464
464
  if dir == @@fft_forward
465
465
  if dims.length == 0
466
- fcoef = fcoef / fcoef.length # normalized if forward FT
466
+ fcoef = fcoef / fcoef.length.to_f # normalized if forward FT
467
467
  else
468
468
  sh = fcoef.shape
469
469
  len = 1
@@ -483,7 +483,7 @@ module NumRu
483
483
  cv = gfc.coord(i).val
484
484
  n = cv.length
485
485
  clen = (cv.max - cv.min) * n / (n-1)
486
- wn = (2*Math::PI/clen) * NArray.new(cv.typecode,cv.length).indgen!
486
+ wn = (2*Math::PI/clen) * NArray.new(cv.typecode,cv.length).indgen!.to_f
487
487
  if (!backward)
488
488
  gfc.coord(i).set_att('origin_in_real_space',cv[0..0])
489
489
  else
@@ -619,7 +619,7 @@ module NumRu
619
619
  if !factor
620
620
  factor = dwn**(-1)
621
621
  else
622
- factor = factor / dwn
622
+ factor = factor / dwn.to_f
623
623
  end
624
624
  }
625
625
  self * factor
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require "numru/gphys/gphys"
2
3
  require "numru/gphys/varrayhdfeos5"
3
4
 
@@ -337,8 +338,8 @@ module NumRu
337
338
  end
338
339
 
339
340
  def __make_gd_axes(var0, grid, data)
340
- dim_names = var0.dim_names # �����̖��O
341
- unlocated_dim_names = var0.dim_names # �܂����̌��܂��Ă��Ȃ������̖��O
341
+ dim_names = var0.dim_names # 次元の名前
342
+ unlocated_dim_names = var0.dim_names # まだ軸の決まっていない次元の名前
342
343
  unused_var_names = grid.var_names
343
344
  axes = Array.new
344
345
 
@@ -358,7 +359,7 @@ module NumRu
358
359
  end
359
360
 
360
361
  # (#2) Empirical rule (from EOS-AURA, MLS, etc)
361
- # (#2-1) �������m��̎����ɑ΂��A�������ƈ�v���閼�O������1�����ϐ������W�ϐ��Ƃ��č̗p����
362
+ # (#2-1) 軸が未確定の次元に対し、次元名と一致する名前を持つ1次元変数を座標変数として採用する
362
363
  unlocated_dim_names.each do |dim_nm|
363
364
  if unused_var_names.include?(dim_nm)
364
365
  vary = __files2varray( grid, dim_nm)
@@ -370,7 +371,7 @@ module NumRu
370
371
  end
371
372
  end
372
373
 
373
- # (#2-2) �������m��̎����ɑ΂��A���̎������g���Ē�`����Ă���1�����ϐ������W�ϐ��Ƃ��č̗p����
374
+ # (#2-2) 軸が未確定の次元に対し、その次元を使って定義されている1次元変数を座標変数として採用する
374
375
  # (a) select variables match to Regexp.
375
376
  @@predef_gdcoords.each do |reg_exp|
376
377
  unlocated_dim_names.each do |dim_nm|
@@ -397,8 +398,8 @@ module NumRu
397
398
  end
398
399
  end
399
400
 
400
- # (#2-3) ���W�ϐ��̓t�@�C�����ɂȂ����̂Ƃ݂Ȃ��C
401
- # �_�~�[�Ƃ��� 0,1,2,... �����蓖�Ă���悤�ɂ���D
401
+ # (#2-3) 座標変数はファイル中にないものとみなし,
402
+ # ダミーとして 0,1,2,... が割り当てられるようにする.
402
403
  unlocated_dim_names.each do |dim_nm|
403
404
  nary_length = data.shape_current[dim_names.index(dim_nm)]
404
405
  nary = NArray[0...nary_length]
@@ -413,14 +414,14 @@ module NumRu
413
414
  private :__make_gd_axes
414
415
 
415
416
  def __make_za_axes(var0, za, data)
416
- dim_names = var0.dim_names # �����̖��O
417
- unlocated_dim_names = var0.dim_names # �܂����̌��܂��Ă��Ȃ������̖��O
417
+ dim_names = var0.dim_names # 次元の名前
418
+ unlocated_dim_names = var0.dim_names # まだ軸の決まっていない次元の名前
418
419
  unused_var_names = za.var_names
419
420
  axes = Array.new
420
421
 
421
422
  # (#1) HDF-EOS5 standard rule is none.
422
423
  # (#2) Empirical rule (from EOS-AURA, MLS, etc)
423
- # (#2-1) �������ƈ�v���閼�O������1�����ϐ������W�ϐ��Ƃ��č̗p����
424
+ # (#2-1) 次元名と一致する名前を持つ1次元変数を座標変数として採用する
424
425
  unlocated_dim_names.each do |dim_nm|
425
426
  if unused_var_names.include?(dim_nm)
426
427
  vary = __files2varray( za, dim_nm)
@@ -432,7 +433,7 @@ module NumRu
432
433
  end
433
434
  end
434
435
 
435
- # (#2-2) �������m��̎����ɑ΂��A���̎������g���Ē�`����Ă���1�����ϐ������W�ϐ��Ƃ��č̗p����
436
+ # (#2-2) 軸が未確定の次元に対し、その次元を使って定義されている1次元変数を座標変数として採用する
436
437
  # (a) select variables match to Regexp.
437
438
  @@predef_zacoords.each do |reg_exp|
438
439
  unlocated_dim_names.each do |dim_nm|
@@ -459,8 +460,8 @@ module NumRu
459
460
  end
460
461
  end
461
462
 
462
- # (#2-3) ���W�ϐ��̓t�@�C�����ɂȂ����̂Ƃ݂Ȃ��C
463
- # �_�~�[�Ƃ��� 0,1,2,... �����蓖�Ă���悤�ɂ���D
463
+ # (#2-3) 座標変数はファイル中にないものとみなし,
464
+ # ダミーとして 0,1,2,... が割り当てられるようにする.
464
465
  unlocated_dim_names.each do |dim_nm|
465
466
  nary_length = data.shape_current[dim_names.index(dim_nm)]
466
467
  nary = NArray[0...nary_length]
@@ -474,7 +475,7 @@ module NumRu
474
475
  end
475
476
  private :__make_za_axes
476
477
 
477
- # dim_index �Ɋւ��Ď���1�����̕ϐ��Ȃ�� VArray ��Ԃ��B�����łȂ���� nil ��Ԃ��B
478
+ # dim_index に関して実質1次元の変数ならば VArray を返す。そうでなければ nil を返す。
478
479
  def __make_field_one_dimension(aHE5GdField, dim_index)
479
480
  rank = aHE5GdField.rank
480
481
  indexes = Array.new
@@ -611,12 +611,19 @@ class GPhys
611
611
  end
612
612
  alias :initial= :set_initial
613
613
  def date
614
- d = Date.new((@pds.to_uint1(21)-1)*100 + @pds.to_uint1(9),
615
- @pds.to_uint1(10), @pds.to_uint1(11)
616
- )
617
- h = [@pds.to_uint1(12), @pds.to_uint1(13)]
614
+ dt = DateTime.new((@pds.to_uint1(21)-1)*100 + @pds.to_uint1(9),
615
+ @pds.to_uint1(10), @pds.to_uint1(11),
616
+ @pds.to_uint1(12), @pds.to_uint1(13) )
617
+ dt += Units[time_unit].convert(p1,"day")
618
+ # REMARK (horinouchi):
619
+ # Just to add p1 should be OK in the crudest sense,
620
+ # though one can further consider time_range
621
+ # (ref: http://rda.ucar.edu/docs/formats/grib/gribdoc/timer.html)
622
+ d = dt.to_date
623
+ h = [dt.hour, dt.min]
618
624
  return [d,h]
619
625
  end
626
+
620
627
  def time_unit
621
628
  return TIME_UNITS[ @pds.to_uint1(14) ]
622
629
  end
@@ -1238,11 +1245,15 @@ class GPhys
1238
1245
  #j = nil
1239
1246
  #i = nil
1240
1247
  if map
1241
- var = NArrayMiss.sfloat(index[0].count, index[1].count)
1248
+ var = NArrayMiss.sfloat(nlon,nlat)
1242
1249
  map.reshape!(nlon,nlat)
1243
- mask = map[*index]
1250
+ mask = map
1244
1251
  nd = mask.count_true
1245
- var[mask.where] = @sgm.mbio.read2D(@pos+8, nbits_pack, nd, 1, 0, nd-1, 1, 0, 0, 1, nil, nil, e, r).reshape!(nd)
1252
+ wh = mask.where
1253
+ if wh.length>0
1254
+ var[wh] = @sgm.mbio.read2D(@pos+8, nbits_pack, nd, 1, 0, nd-1, 1, 0, 0, 1, nil, nil, e, r).reshape!(nd)
1255
+ end
1256
+ var = var[*index]
1246
1257
  =begin
1247
1258
  index[1].each{|j|
1248
1259
  jj = j-index[1].first
@@ -1,19 +1,20 @@
1
+ # -*- coding: utf-8 -*-
1
2
  =begin
2
- = Gtool3 �`�� IO ���C�u�����[�i�Ƃ����Ă� O (����) �͂Ȃ��j
3
+ = Gtool3 形式 IO ライブラリー(といっても O (書き) はなし)
3
4
 
4
- == ���t�@�C���i�i�q���t�@�C���j�ɂ‚���
5
+ == 軸ファイル(格子情報ファイル)について
5
6
 
6
- �‹��ϐ� GTAXDIR �ŁC���t�@�C���̂��肩���w�肷�邩,
7
- Gtool3.gtaxdir= ���\�b�h���g���Ďw�肷��D
7
+ 環境変数 GTAXDIR で,軸ファイルのありかを指定するか,
8
+ Gtool3.gtaxdir= メソッドを使って指定する.
8
9
 
9
- == Development Memo / �J������
10
+ == Development Memo / 開発メモ
10
11
 
11
- �����i��ˆȏ�j�̕ϐ��̑g�̌J��Ԃ������肷��D����āC�w�b�_��ǂ��
12
- �����āC�ϐ������CT,U,PS,T,..�ȂǂƓ����̂ɖ߂�����C���̎��_�� T,U,PS
13
- ��3�ϐ��̌J��Ԃ��ł���Ƃ݂Ȃ��D�������邱�ƂŁCGrADS �Ƃقړ����悤��
14
- ������悤�ɂȂ�D�Ȃ��C���ۂ� Gtool3 �t�@�C���͂��ׂĂ���ł�����͂��D
12
+ 複数(一個以上)の変数の組の繰り返しを仮定する.よって,ヘッダを読んで
13
+ いって,変数名が,T,U,PS,T,..などと同じのに戻ったら,その時点で T,U,PS
14
+ 3変数の繰り返しであるとみなす.こうすることで,GrADS とほぼ同じように
15
+ 扱えるようになる.なお,実際の Gtool3 ファイルはすべてこれでいけるはず.
15
16
 
16
- �G���f�B�A���̓u���b�N��؂肩�玩�����ʂ���D
17
+ エンディアンはブロック区切りから自動判別する.
17
18
 
18
19
 
19
20
 
@@ -414,7 +415,7 @@ module NumRu
414
415
  #p "*****",varinfo[:rlen]
415
416
  varinfo[:natyp] = NATYP[varinfo["DFMT"]]
416
417
  @varh[ varinfo["ITEM"] ] = varinfo
417
- start_byte += skip_a_data_block(varinfo, @file) # shape�ƌ^�̗��p�ɂ�����ׂ�
418
+ start_byte += skip_a_data_block(varinfo, @file) # shapeと型の利用にかえるべき
418
419
  else
419
420
  time_seq = true # second turn --> regarded as a time sequence
420
421
  break
@@ -724,48 +725,48 @@ if $0 == __FILE__
724
725
  end
725
726
 
726
727
  =begin
727
- 1 & IDFM & I10 #& �t�H�[�}�b�gid & 9009
728
- 2 & DSET & A16 #& �f�[�^�Z�b�g�� & AP01
729
- 3 & ITEM & A16 #& ���ʖ���(�ϐ���)& TMP
730
- 4 & EDIT1 & A16 #& �ҏW���L��(1) & TM1D
731
- 5 & EDIT2 & A16 #& �ҏW���L��(2) & XFK1
728
+ 1 & IDFM & I10 #& フォーマットid & 9009
729
+ 2 & DSET & A16 #& データセット名 & AP01
730
+ 3 & ITEM & A16 #& 識別名称(変数名)& TMP
731
+ 4 & EDIT1 & A16 #& 編集略記号(1) & TM1D
732
+ 5 & EDIT2 & A16 #& 編集略記号(2) & XFK1
732
733
  ...
733
- 11 & EDIT8 & A16 #& �ҏW���L��(8) &
734
- 12 & FNUM & I10 #& �t�@�C���ԍ� & 1
735
- 13 & DNUM & I10 #& �f�[�^�ԍ� & 100
736
- 14 & TITL1 & A16 #& �^�C�g�� & Temperature
737
- 15 & TITL2 & A16 #& \ \ �V \ \ ���� &
738
- 16 & UNIT & A16 #& �P�� & K
739
- 17 & ETTL1 & A16 #& �ҏW�^�C�g��(1) & Dayly mean
740
- 18 & ETTL2 & A16 #& �ҏW�^�C�g��(2) & filter (X)
734
+ 11 & EDIT8 & A16 #& 編集略記号(8) &
735
+ 12 & FNUM & I10 #& ファイル番号 & 1
736
+ 13 & DNUM & I10 #& データ番号 & 100
737
+ 14 & TITL1 & A16 #& タイトル & Temperature
738
+ 15 & TITL2 & A16 #& \ \ \ \ 続き &
739
+ 16 & UNIT & A16 #& 単位 & K
740
+ 17 & ETTL1 & A16 #& 編集タイトル(1) & Dayly mean
741
+ 18 & ETTL2 & A16 #& 編集タイトル(2) & filter (X)
741
742
  ...
742
- 24 & ETTL8 & A16 #& �ҏW�^�C�g��(8) &
743
- 25 & TIME & I10 #& ����(�ʂ�) & 18769650900
744
- 27 & UTIM & A16 #& �����P�� & SEC
745
- 26 & DATE & A16 #& ����(yyyymmddhhmmss) & 19900813122800
746
- 28 & TDUR & I10 #& �f�[�^��\���� & 3600
747
- 29 & AITM1 & A16 #& ��1�̊i�q���ʖ��� & GLON128
748
- 30 & ASTR1 & I10 #& ��1�̊i�q�ԍ��n�� & 1
749
- 31 & AEND1 & I10 #& ��1�̊i�q�ԍ��I�� & 128
750
- 32 & AITM2 & A16 #& ��2�̊i�q���ʖ��� & GGLA64
751
- 33 & ASTR2 & I10 #& ��2�̊i�q�ԍ��n�� & 1
752
- 34 & AEND2 & I10 #& ��2�̊i�q�ԍ��I�� & 64
753
- 35 & AITM3 & A16 #& ��3�̊i�q���ʖ��� & SIGA12
754
- 36 & ASTR3 & I10 #& ��3�̊i�q�ԍ��n�� & 1
755
- 37 & AEND3 & I10 #& ��3�̊i�q�ԍ��I�� & 12
756
- 38 & DFMT & A16 #& �f�[�^�t�H�[�}�b�g & (32F12.5) or UR4
757
- 39 & MISS & E15.7 #& �����l�̒l & -9999.
758
- 40 & DMIN & E15.7 #& �����W(�ŏ�) & 100.
759
- 41 & DMAX & E15.7 #& �����W(�ő�) & 300.
760
- 42 & DIVS & E15.7 #& �Ԋu(��) & 10.
761
- 43 & DIVL & E15.7 #& �Ԋu(��) & 50.
762
- 44 & STYP & I10 #& �X�P�[�����O�^�C�v & 1
763
- 45--47& OPTNx & A16 #& �� &
764
- 48--59& MEMOxx & A16 #& ���� &
765
- 60 & CDATE & A16 #& �f�[�^�쐬���t & 19900813122800
766
- 61 & CSIGN & A16 #& �f�[�^�쐬�� & SWAMP
767
- 62 & MDATE & A16 #& �f�[�^�ύX���t & 19900926225422
768
- 63 & MSIGN & A16 #& �f�[�^�ύX�� & SWAMP
769
- 64 & SIZE & I10 #& �z��̃T�C�Y & 98304
743
+ 24 & ETTL8 & A16 #& 編集タイトル(8) &
744
+ 25 & TIME & I10 #& 時刻(通し) & 18769650900
745
+ 27 & UTIM & A16 #& 時刻単位 & SEC
746
+ 26 & DATE & A16 #& 時刻(yyyymmddhhmmss) & 19900813122800
747
+ 28 & TDUR & I10 #& データ代表時間 & 3600
748
+ 29 & AITM1 & A16 #& 1の格子識別名称 & GLON128
749
+ 30 & ASTR1 & I10 #& 1の格子番号始め & 1
750
+ 31 & AEND1 & I10 #& 1の格子番号終り & 128
751
+ 32 & AITM2 & A16 #& 2の格子識別名称 & GGLA64
752
+ 33 & ASTR2 & I10 #& 2の格子番号始め & 1
753
+ 34 & AEND2 & I10 #& 2の格子番号終り & 64
754
+ 35 & AITM3 & A16 #& 3の格子識別名称 & SIGA12
755
+ 36 & ASTR3 & I10 #& 3の格子番号始め & 1
756
+ 37 & AEND3 & I10 #& 3の格子番号終り & 12
757
+ 38 & DFMT & A16 #& データフォーマット & (32F12.5) or UR4
758
+ 39 & MISS & E15.7 #& 欠損値の値 & -9999.
759
+ 40 & DMIN & E15.7 #& レンジ(最小) & 100.
760
+ 41 & DMAX & E15.7 #& レンジ(最大) & 300.
761
+ 42 & DIVS & E15.7 #& 間隔() & 10.
762
+ 43 & DIVL & E15.7 #& 間隔() & 50.
763
+ 44 & STYP & I10 #& スケーリングタイプ & 1
764
+ 45--47& OPTNx & A16 #& 空き &
765
+ 48--59& MEMOxx & A16 #& メモ &
766
+ 60 & CDATE & A16 #& データ作成日付 & 19900813122800
767
+ 61 & CSIGN & A16 #& データ作成者 & SWAMP
768
+ 62 & MDATE & A16 #& データ変更日付 & 19900926225422
769
+ 63 & MSIGN & A16 #& データ変更者 & SWAMP
770
+ 64 & SIZE & I10 #& 配列のサイズ & 98304
770
771
 
771
772
  =end