gphys 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +7414 -0
  3. data/LICENSE.txt +1 -1
  4. data/Rakefile +0 -2
  5. data/doc/derivative/math-doc/document/images.log +385 -0
  6. data/doc/ep_flux/math-doc/document/images.log +1375 -0
  7. data/doc/ganalysis/doc/NumRu.html +203 -0
  8. data/doc/ganalysis/doc/NumRu/GAnalysis.html +931 -0
  9. data/doc/ganalysis/doc/NumRu/GAnalysis/BetaPlane.html +574 -0
  10. data/doc/ganalysis/doc/NumRu/GAnalysis/Fitting.html +576 -0
  11. data/doc/ganalysis/doc/NumRu/GAnalysis/LogP.html +425 -0
  12. data/doc/ganalysis/doc/NumRu/GAnalysis/Met.html +2021 -0
  13. data/doc/ganalysis/doc/NumRu/GAnalysis/MetZ.html +524 -0
  14. data/doc/ganalysis/doc/NumRu/GAnalysis/Planet.html +1047 -0
  15. data/doc/ganalysis/doc/NumRu/GAnalysis/QG.html +794 -0
  16. data/doc/ganalysis/doc/NumRu/GAnalysis/QG/Uninitialized.html +215 -0
  17. data/doc/ganalysis/doc/NumRu/GAnalysis/QG_common.html +603 -0
  18. data/doc/ganalysis/doc/NumRu/GAnalysis/QG_sphere.html +760 -0
  19. data/doc/ganalysis/doc/NumRu/GAnalysis/QG_sphere_common.html +251 -0
  20. data/doc/ganalysis/doc/NumRu/GAnalysis/QG_sphere_div.html +424 -0
  21. data/doc/ganalysis/doc/NumRu/GAnalysis/SigmaCoord.html +321 -0
  22. data/doc/ganalysis/doc/NumRu/GGraph.html +334 -0
  23. data/doc/ganalysis/doc/NumRu/GPhys.html +579 -0
  24. data/doc/ganalysis/doc/Object.html +210 -0
  25. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/beta_plane_rb.html +60 -0
  26. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/covariance_rb.html +56 -0
  27. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/eof_rb.html +64 -0
  28. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/fitting_rb.html +54 -0
  29. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/histogram_rb.html +58 -0
  30. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/log_p_rb.html +60 -0
  31. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/met_rb.html +60 -0
  32. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/met_z_rb.html +58 -0
  33. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/planet_rb.html +58 -0
  34. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/qg_rb.html +64 -0
  35. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis/sigma_coord_rb.html +56 -0
  36. data/doc/ganalysis/doc/__/__/lib/numru/ganalysis_rb.html +98 -0
  37. data/doc/ganalysis/doc/created.rid +13 -0
  38. data/doc/ganalysis/doc/images/brick.png +0 -0
  39. data/doc/ganalysis/doc/images/brick_link.png +0 -0
  40. data/doc/ganalysis/doc/images/bug.png +0 -0
  41. data/doc/ganalysis/doc/images/bullet_black.png +0 -0
  42. data/doc/ganalysis/doc/images/bullet_toggle_minus.png +0 -0
  43. data/doc/ganalysis/doc/images/bullet_toggle_plus.png +0 -0
  44. data/doc/ganalysis/doc/images/date.png +0 -0
  45. data/doc/ganalysis/doc/images/find.png +0 -0
  46. data/doc/ganalysis/doc/images/loadingAnimation.gif +0 -0
  47. data/doc/ganalysis/doc/images/macFFBgHack.png +0 -0
  48. data/doc/ganalysis/doc/images/package.png +0 -0
  49. data/doc/ganalysis/doc/images/page_green.png +0 -0
  50. data/doc/ganalysis/doc/images/page_white_text.png +0 -0
  51. data/doc/ganalysis/doc/images/page_white_width.png +0 -0
  52. data/doc/ganalysis/doc/images/plugin.png +0 -0
  53. data/doc/ganalysis/doc/images/ruby.png +0 -0
  54. data/doc/ganalysis/doc/images/tag_green.png +0 -0
  55. data/doc/ganalysis/doc/images/wrench.png +0 -0
  56. data/doc/ganalysis/doc/images/wrench_orange.png +0 -0
  57. data/doc/ganalysis/doc/images/zoom.png +0 -0
  58. data/doc/ganalysis/doc/index.html +383 -0
  59. data/doc/ganalysis/doc/js/darkfish.js +118 -0
  60. data/doc/ganalysis/doc/js/jquery.js +32 -0
  61. data/doc/ganalysis/doc/js/quicksearch.js +114 -0
  62. data/doc/ganalysis/doc/js/thickbox-compressed.js +10 -0
  63. data/doc/ganalysis/doc/rdoc.css +763 -0
  64. data/ext/numru/gphys/ext_init.c +1 -0
  65. data/ext/numru/gphys/quad_mesh_sample.c +478 -0
  66. data/gphys.gemspec +2 -2
  67. data/lib/numru/dclext.rb +394 -14
  68. data/lib/numru/derivative.rb +6 -0
  69. data/lib/numru/ganalysis/qg.rb +6 -4
  70. data/lib/numru/ggraph.rb +41 -8
  71. data/lib/numru/gphys/gphys.rb +62 -14
  72. data/lib/numru/gphys/gphys_io.rb +4 -4
  73. data/lib/numru/gphys/version.rb +2 -2
  74. metadata +84 -79
  75. data/.gitignore +0 -14
  76. data/TODO_ep_flux +0 -6
  77. data/gphys-bigmem.gemspec +0 -44
  78. data/install.rb +0 -130
  79. data/sample/cira86_to_nc.rb +0 -122
  80. data/sample/druby_cli1.rb +0 -23
  81. data/sample/druby_cli2.rb +0 -28
  82. data/sample/druby_serv1.rb +0 -30
  83. data/sample/druby_serv2.rb +0 -51
  84. data/sample/ep_flux/demo_NCEP_1.rb +0 -48
  85. data/sample/ep_flux/demo_NCEP_2.rb +0 -57
  86. data/sample/ep_flux/demo_NCEP_3.rb +0 -81
  87. data/sample/ggraph_latlon_labelling_dr002690.rb +0 -159
  88. data/sample/ggraph_mapfit-axes_dr002687.rb +0 -131
  89. data/sample/map_projection.rb +0 -121
  90. data/sample/ncep_theta_coord.rb +0 -79
  91. data/test_old/eof_slp.rb +0 -28
  92. data/test_old/mltbit.dat +0 -0
  93. data/test_old/test_ep_flux.rb +0 -533
  94. data/test_old/test_multibitIO.rb +0 -19
@@ -153,6 +153,8 @@ module NumRu
153
153
  raise ArgumentError,"rank of x (#{x.rank}) must be 1" if x.rank != 1
154
154
  # <<expand boundaries>>
155
155
  ze = b_expand(z,dim,bc)
156
+ x = x - x[0]
157
+ x = x.to_type(z.typecode) if (x.typecode < z.typecode)
156
158
  xe = b_expand_linear_ext(x,0) # always linear extention
157
159
  # <<differenciation>>
158
160
  to_rankD = [1]*dim + [true] + [1]*(ze.rank-1-dim) # to exand 1D to rank D
@@ -177,6 +179,8 @@ module NumRu
177
179
  raise ArgumentError,"rank of x (#{x.rank}) must be 1" if x.rank != 1
178
180
  # <<expand boundary>>
179
181
  ze = b_expand(z,dim,bc)
182
+ x = x - x[0]
183
+ x = x.to_type(z.typecode) if (x.typecode < z.typecode)
180
184
  xe = b_expand_linear_ext(x,0) # expand boundary of axis.
181
185
  # <<difference operation>>
182
186
  dz = cdiff(ze,dim)
@@ -197,6 +201,8 @@ module NumRu
197
201
  raise ArgumentError,"rank of x (#{x.rank}) must be 1" if x.rank != 1
198
202
  # <<expand boundaries>>
199
203
  ze = b_expand(z,dim,bc)
204
+ x = x - x[0]
205
+ x = x.to_type(z.typecode) if (x.typecode < z.typecode)
200
206
  xe = b_expand_linear_ext(x,0) # always linear extention
201
207
  # <<differenciation>>
202
208
  to_rankD = [1]*dim + [true] + [1]*(ze.rank-1-dim) # to exand 1D to rank D
@@ -442,8 +442,9 @@ module NumRu
442
442
 
443
443
  # geopotential height -> geostrophic winds
444
444
  def gph2ug_vg(gph)
445
- psi, gpref = gph2psi_gpref(gph)
446
- psi2ug_vg(psi)
445
+ gpx, gpy = Planet::grad_s(gph * Met::g)
446
+ f = f_mask0(gph)
447
+ [ -gpy/f, gpx/f]
447
448
  end
448
449
 
449
450
  # geopotential height -> QG stream function and the reference geopotential
@@ -627,8 +628,9 @@ module NumRu
627
628
 
628
629
  # geopotential height -> geostrophic winds
629
630
  def gph2ug_vg(gph)
630
- gpd, gpref = gph2gpd_gpref(gph)
631
- gpd2ug_vg(gpd)
631
+ gpx, gpy = Planet::grad_s(gph * Met::g)
632
+ f = f_mask0(gph)
633
+ [ -gpy/f, gpx/f]
632
634
  end
633
635
 
634
636
  #########
data/lib/numru/ggraph.rb CHANGED
@@ -1146,7 +1146,9 @@ module NumRu
1146
1146
  ['iwidth', nil, 'DCL swpack param (Integer): display width (pixcels)'],
1147
1147
  ['iheight', nil, 'DCL swpack param (Integer): display height (pixcels)'],
1148
1148
  ['lwait', true, 'DCL swpack param (true/false): wait mouse click to show next page'],
1149
+ ['lalt', false, 'DCL swpack param (false/true): true --> draw on the background'],
1149
1150
  ['isub', 96, 'DCL sgpack param (Integer): control character of subscription 96=>"`"; 95=>"_". Note that DCL\'s default is 95.'],
1151
+ ['lfull',false, 'DCL sgpack param (false/true)'],
1150
1152
  ['lmiss', true, 'DCL glpack param (true/false): whether to do missing value processing. Note that DCL\'s default is false.']
1151
1153
  )
1152
1154
 
@@ -1156,11 +1158,14 @@ module NumRu
1156
1158
  DCL.swpset('iheight',opts['iheight']) if opts['iheight']
1157
1159
  DCL.swpset('ifl',opts['ifl']) if DCL::DCLVERSION >= "6"
1158
1160
  DCL.sgscmn(opts['colormap'])
1161
+ DCL.swpset('lwait',opts['lwait'])
1162
+ DCL.swpset('lalt',opts['lalt'])
1159
1163
 
1160
1164
  DCL.gropn(opts['iws'])
1161
1165
 
1162
1166
  DCL.sgpset('isub', opts['isub'])
1163
1167
  DCL.glpset('lmiss', opts['lmiss'])
1168
+ DCL.sgpset('lfull',opts['lfull'])
1164
1169
  end
1165
1170
 
1166
1171
  def close
@@ -1201,7 +1206,11 @@ module NumRu
1201
1206
  end
1202
1207
 
1203
1208
  def color_bar(*args)
1204
- DCLExt.color_bar(*args)
1209
+ if @@used_fullcolor_tone
1210
+ DCLExt.ui_color_bar_1(*args)
1211
+ else
1212
+ DCLExt.color_bar(*args)
1213
+ end
1205
1214
  end
1206
1215
 
1207
1216
  def title(string)
@@ -1363,14 +1372,14 @@ module NumRu
1363
1372
  }
1364
1373
  end
1365
1374
  if xreverse
1366
- xrange = [ xax.max, xax.min ]
1375
+ xrange = [ xax.max.to_f, xax.min.to_f ]
1367
1376
  else
1368
- xrange = [ xax.min, xax.max ]
1377
+ xrange = [ xax.min.to_f, xax.max.to_f ]
1369
1378
  end
1370
1379
  if yreverse
1371
- yrange = [ yax.max, yax.min ]
1380
+ yrange = [ yax.max.to_f, yax.min.to_f ]
1372
1381
  else
1373
- yrange = [ yax.min, yax.max ]
1382
+ yrange = [ yax.min.to_f, yax.max.to_f ]
1374
1383
  end
1375
1384
  [ xrange, yrange ].each do |range|
1376
1385
  r0 = range[0]
@@ -2659,7 +2668,10 @@ module NumRu
2659
2668
  ['min', nil, 'minimum tone level'],
2660
2669
  ['max', nil, 'maximum tone level'],
2661
2670
  ['nlev', nil, 'number of levels'],
2662
- ['interval', nil, 'contour interval']
2671
+ ['interval', nil, 'tone-level interval'],
2672
+ ['inf_max', nil, 'if true, set the maximum tone level to infty'],
2673
+ ['inf_min', nil, 'if true, set the minimum tone level to infty'],
2674
+ ['lbound', nil, 'Same as UEPACK param LBOUND, but here it is set independently, since the author thinks that its default is better off being false/nil unlike in DCL']
2663
2675
  )
2664
2676
  def set_linear_tone_options(options)
2665
2677
  @@linear_tone_options.set(options)
@@ -2713,6 +2725,11 @@ module NumRu
2713
2725
  nil
2714
2726
  end
2715
2727
 
2728
+ @@fullcolor_tone_options = Misc::KeywordOptAutoHelp.new(
2729
+ ['rgb', nil, '[effective when "fullcolor" is given true] (Array/NArray) Specifies the color mapping. Example: [ DCL.isgrgb(0,0,0), DCL.isgrgb(255,255,255) ] for gray scale'],
2730
+ ['place_rgb', nil, '[effective when "fullcolor" is given true] (Array/NArray having the same length as the "rgb" value) Additional information needed only when you want to make the RGB map spaced unequally. Will be normalized, so the range does not matter. Example: "rgb"=>[ DCL.isgrgb(0,0,0), DCL.isgrgb(50,50,150), DCL.isgrgb(255,255,255) ], "place_rgb"=>[0,2,3] to set the intervals 2:1 among the 3 RGB values']
2731
+ )
2732
+
2716
2733
  def set_tone(options)
2717
2734
  @@tone_options.set(options)
2718
2735
  end
@@ -2735,6 +2752,7 @@ module NumRu
2735
2752
  ['tonf', false, 'Use DCL.uetonf instead of DCL.uetone'],
2736
2753
  ['tonb', false, 'Use DCL.uetonb instead of DCL.uetone'],
2737
2754
  ['tonc', false, 'Use DCL.uetonc instead of DCL.uetone'],
2755
+ ['fullcolor', false, 'Use DCL.uipdat instead of DCL.uetone'],
2738
2756
  ['clr_min', nil, 'if an integer (in 10..99) is specified, used as the color number for the minimum data values. (the same can be done by setting the uepack parameter "icolor1")'],
2739
2757
  ['clr_max', nil, 'if an integer (in 10..99) is specified, used as the color number for the maximum data values. (the same can be done by setting the uepack parameter "icolor2")'],
2740
2758
  ['map_axes', false, '[USE IT ONLY WHEN itr=10 (cylindrical)] If true, draws axes by temprarilly switching to itr=1 and calling GGraph::axes.'],
@@ -2742,9 +2760,12 @@ module NumRu
2742
2760
  ['color_bar', false, 'Add a color bar: THIS IS ONLY FOR QUICK LOOK. Use the GGraph::color_bar method explicitly for full option control'],
2743
2761
  @@linear_tone_options,
2744
2762
  @@tone_levels,
2763
+ @@fullcolor_tone_options,
2745
2764
  @@data_prep_options
2746
2765
  )
2747
2766
 
2767
+ @@used_fullcolor_tone = nil
2768
+
2748
2769
  def tone(gphys, newframe=true, options=nil)
2749
2770
  gropn_1_if_not_yet
2750
2771
  if newframe!=true && newframe!=false
@@ -2798,11 +2819,16 @@ module NumRu
2798
2819
  end
2799
2820
  end
2800
2821
 
2822
+ @@used_fullcolor_tone = false
2801
2823
  val = gp.data.val
2802
2824
  if ( opts['ltone'] &&
2803
2825
  ( opts['tonf'] || opts['auto'] && !opts['tonb'] && !opts['tonc'] &&
2804
2826
  ( val.length >= TONE_TONF_THRES_SIZE || val.shape.min >= TONE_TONF_THRES_LEN ) ) )
2805
2827
  DCL.uetonf(val)
2828
+ elsif opts['fullcolor']
2829
+ @@used_fullcolor_tone = true
2830
+ sopt = opts.dup.delete_if{|k,v| !DCLExt.shade_1_option_keys.include?(k)}
2831
+ DCLExt.ui_shade_1(val, sopt)
2806
2832
  elsif opts['tonb'] && opts['ltone']
2807
2833
  DCL.uetonb(val)
2808
2834
  elsif opts['tonc'] && opts['ltone']
@@ -2818,7 +2844,11 @@ module NumRu
2818
2844
  DCL.uepset('icolor2', icolor2_bak) if opts['clr_max']
2819
2845
 
2820
2846
  if opts['color_bar']
2821
- color_bar "log"=>opts['log']
2847
+ if @@used_fullcolor_tone
2848
+ color_bar
2849
+ else
2850
+ color_bar "log"=>opts['log']
2851
+ end
2822
2852
  end
2823
2853
  closer.call if closer
2824
2854
  nil
@@ -3337,7 +3367,6 @@ end
3337
3367
  if $0 == __FILE__
3338
3368
  include NumRu
3339
3369
 
3340
-
3341
3370
  # < read command line option if any >
3342
3371
 
3343
3372
  if ARGV.length == 1
@@ -3420,6 +3449,10 @@ if $0 == __FILE__
3420
3449
  file = '../../testdata/T.jan.nc'
3421
3450
  gphys = GPhys::NetCDF_IO.open(file, 'T')
3422
3451
 
3452
+ GGraph.next_fig('viewport'=>[0.25,0.75,0.2,0.62])
3453
+ GGraph.tone(gphys, true, "fullcolor"=>true)
3454
+ GGraph.color_bar # "landscape"=>true
3455
+
3423
3456
  #/ graph 1 /
3424
3457
  GGraph.set_fig('viewport'=>[0.25,0.75,0.12,0.62])
3425
3458
  GGraph.line(gphys.cut(true,35,true).average(0), true)
@@ -524,6 +524,26 @@
524
524
  RETURN VALUE
525
525
  * a GPhys (possibly self)
526
526
 
527
+ ---mask!(mask)
528
+ Mask the data by the mask array (additionally by the "&"
529
+ operation, if self has data missing).
530
+ (Destructive version to replace the data array by the result.
531
+ -- replaced but not over-written.)
532
+
533
+ ARGUMENTS
534
+ * mask (byte type NArray or NArrayMiss)
535
+
536
+ RETURN VALUE
537
+ * self
538
+
539
+ ---mask(mask)
540
+ Same as mask! but self is preserved.
541
+
542
+ ARGUMENTS
543
+ * mask (byte type NArray or NArrayMiss)
544
+
545
+ RETURN VALUE
546
+ * a GPhys
527
547
 
528
548
  === Math functions (instance methods)
529
549
 
@@ -1102,6 +1122,29 @@ module NumRu
1102
1122
 
1103
1123
  end
1104
1124
 
1125
+ def mask!(mask)
1126
+ mask = mask.to_na(0) if mask.is_a?(NArrayMiss)
1127
+ v = self.val
1128
+ if v.is_a?(NArrayMiss)
1129
+ v.set_mask( v.get_mask & mask )
1130
+ else
1131
+ v = NArrayMiss.to_nam(v,mask)
1132
+ end
1133
+ self.replace_val(v)
1134
+ end
1135
+
1136
+ def mask(mask)
1137
+ mask = mask.to_na(0) if mask.is_a?(NArrayMiss)
1138
+ v = self.val
1139
+ if v.is_a?(NArrayMiss)
1140
+ v.set_mask( v.get_mask & mask )
1141
+ else
1142
+ v = NArrayMiss.to_nam(v,mask)
1143
+ end
1144
+ self.copy.replace_val(v)
1145
+ end
1146
+
1147
+
1105
1148
  def marshal_dump
1106
1149
  [@data.copy, @grid.copy]
1107
1150
  end
@@ -1472,20 +1515,25 @@ module NumRu
1472
1515
  rtable.reverse!
1473
1516
 
1474
1517
  if table != rtable
1475
- # < matching ambiguous => try to match by name >
1476
-
1477
- real_table = table.dup # just to start with.
1478
- # rtable will be merged in the following
1479
-
1480
- shs.each_index do |i|
1481
- #print axnms[i]," ",axnml[ table[i] ]," ",axnml[ rtable[i] ],"\n"
1482
- if axnms[i] == axnml[ rtable[i] ]
1483
- real_table[i] = rtable[i]
1484
- elsif axnms[i] != axnml[ table[i] ]
1485
- raise "Both matchings by orders and by names failed for the #{i}-th axis #{axnms[i]}."
1486
- end
1487
- end
1488
-
1518
+ # < matching ambiguous => match by name where ambiguous >
1519
+
1520
+ real_table = Array.new
1521
+ for i in 0...shs.length
1522
+ if table[i] == rtable[i]
1523
+ real_table[i] = table[i]
1524
+ else
1525
+ for j in table[i]..rtable[i]
1526
+ if axnms[i] == axnml[j] && shs[i] == shl[j]
1527
+ real_table[i] = j
1528
+ break
1529
+ end
1530
+ end
1531
+ if real_table[i].nil?
1532
+ raise("Matching failed: #{shl.inspect}(#{axnml.inspect})" +
1533
+ " and #{shs.inspect}(#{axnms.inspect})")
1534
+ end
1535
+ end
1536
+ end
1489
1537
  table = real_table
1490
1538
 
1491
1539
  end
@@ -276,10 +276,10 @@ module NumRu
276
276
  super
277
277
  end
278
278
  end
279
- @@nc_pattern = [/\.nc$/]
280
- @@grad_pattern = [/\.ctl$/]
281
- @@grib_pattern = [/\.grib$/, /\.grb$/]
282
- @@nus_pattern = [/\.nus$/]
279
+ @@nc_pattern = [/(\.nc|\.NC)$/]
280
+ @@grad_pattern = [/(\.ctl|\.CTL)$/]
281
+ @@grib_pattern = [/(\.grib|\.GRIB)$/, /(\.grb|\.GRB)$/]
282
+ @@nus_pattern = [/(\.nus|\.NUS)$/]
283
283
 
284
284
  @@has_he5 = defined?(HE5)
285
285
  if @@has_he5
@@ -1,6 +1,6 @@
1
1
  module NumRu
2
2
  class GPhys
3
- # Add alpha while under development; remove it to release
4
- VERSION = "1.5.0"
3
+ # Add subsubminor version while under development; remove it and advance version to release
4
+ VERSION = "1.5.1"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gphys
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
5
- prerelease:
4
+ version: 1.5.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Takeshi Horinouchi
@@ -13,140 +12,124 @@ authors:
13
12
  autorequire:
14
13
  bindir: bin
15
14
  cert_chain: []
16
- date: 2016-01-28 00:00:00.000000000 Z
15
+ date: 2017-01-24 00:00:00.000000000 Z
17
16
  dependencies:
18
17
  - !ruby/object:Gem::Dependency
19
18
  name: narray
20
19
  requirement: !ruby/object:Gem::Requirement
21
- none: false
22
20
  requirements:
23
- - - ! '>='
21
+ - - ">="
24
22
  - !ruby/object:Gem::Version
25
23
  version: 0.5.7
26
24
  type: :runtime
27
25
  prerelease: false
28
26
  version_requirements: !ruby/object:Gem::Requirement
29
- none: false
30
27
  requirements:
31
- - - ! '>='
28
+ - - ">="
32
29
  - !ruby/object:Gem::Version
33
30
  version: 0.5.7
34
31
  - !ruby/object:Gem::Dependency
35
32
  name: numru-misc
36
33
  requirement: !ruby/object:Gem::Requirement
37
- none: false
38
34
  requirements:
39
- - - ! '>='
35
+ - - ">="
40
36
  - !ruby/object:Gem::Version
41
37
  version: 0.1.0
42
38
  type: :runtime
43
39
  prerelease: false
44
40
  version_requirements: !ruby/object:Gem::Requirement
45
- none: false
46
41
  requirements:
47
- - - ! '>='
42
+ - - ">="
48
43
  - !ruby/object:Gem::Version
49
44
  version: 0.1.0
50
45
  - !ruby/object:Gem::Dependency
51
46
  name: numru-units
52
47
  requirement: !ruby/object:Gem::Requirement
53
- none: false
54
48
  requirements:
55
- - - ! '>='
49
+ - - ">="
56
50
  - !ruby/object:Gem::Version
57
51
  version: '1.7'
58
52
  type: :runtime
59
53
  prerelease: false
60
54
  version_requirements: !ruby/object:Gem::Requirement
61
- none: false
62
55
  requirements:
63
- - - ! '>='
56
+ - - ">="
64
57
  - !ruby/object:Gem::Version
65
58
  version: '1.7'
66
59
  - !ruby/object:Gem::Dependency
67
60
  name: narray_miss
68
61
  requirement: !ruby/object:Gem::Requirement
69
- none: false
70
62
  requirements:
71
- - - ! '>='
63
+ - - ">="
72
64
  - !ruby/object:Gem::Version
73
65
  version: 1.2.4
74
66
  type: :runtime
75
67
  prerelease: false
76
68
  version_requirements: !ruby/object:Gem::Requirement
77
- none: false
78
69
  requirements:
79
- - - ! '>='
70
+ - - ">="
80
71
  - !ruby/object:Gem::Version
81
72
  version: 1.2.4
82
73
  - !ruby/object:Gem::Dependency
83
74
  name: ruby-netcdf
84
75
  requirement: !ruby/object:Gem::Requirement
85
- none: false
86
76
  requirements:
87
- - - ! '>='
77
+ - - ">="
88
78
  - !ruby/object:Gem::Version
89
79
  version: 0.6.6
90
80
  type: :runtime
91
81
  prerelease: false
92
82
  version_requirements: !ruby/object:Gem::Requirement
93
- none: false
94
83
  requirements:
95
- - - ! '>='
84
+ - - ">="
96
85
  - !ruby/object:Gem::Version
97
86
  version: 0.6.6
98
87
  - !ruby/object:Gem::Dependency
99
88
  name: ruby-dcl
100
89
  requirement: !ruby/object:Gem::Requirement
101
- none: false
102
90
  requirements:
103
- - - ! '>='
91
+ - - ">="
104
92
  - !ruby/object:Gem::Version
105
93
  version: 1.6.1
106
94
  type: :runtime
107
95
  prerelease: false
108
96
  version_requirements: !ruby/object:Gem::Requirement
109
- none: false
110
97
  requirements:
111
- - - ! '>='
98
+ - - ">="
112
99
  - !ruby/object:Gem::Version
113
100
  version: 1.6.1
114
101
  - !ruby/object:Gem::Dependency
115
102
  name: ruby-fftw3
116
103
  requirement: !ruby/object:Gem::Requirement
117
- none: false
118
104
  requirements:
119
- - - ! '>='
105
+ - - ">="
120
106
  - !ruby/object:Gem::Version
121
107
  version: '0.3'
122
108
  type: :runtime
123
109
  prerelease: false
124
110
  version_requirements: !ruby/object:Gem::Requirement
125
- none: false
126
111
  requirements:
127
- - - ! '>='
112
+ - - ">="
128
113
  - !ruby/object:Gem::Version
129
114
  version: '0.3'
130
115
  - !ruby/object:Gem::Dependency
131
116
  name: rb-gsl
132
117
  requirement: !ruby/object:Gem::Requirement
133
- none: false
134
118
  requirements:
135
- - - ! '>='
119
+ - - ">="
136
120
  - !ruby/object:Gem::Version
137
121
  version: '1.14'
138
122
  type: :runtime
139
123
  prerelease: false
140
124
  version_requirements: !ruby/object:Gem::Requirement
141
- none: false
142
125
  requirements:
143
- - - ! '>='
126
+ - - ">="
144
127
  - !ruby/object:Gem::Version
145
128
  version: '1.14'
146
129
  description: Comprehensive library for self-descriptive gridded physical data (in
147
130
  NetCDF, GrADS, or on memory) with graphics. This version works with Ruby 2.0.
148
131
  email:
149
- - horinout@ees.hokudai.ac.jp
132
+ - horinout@gfd-dennou.org
150
133
  executables:
151
134
  - gdir_client
152
135
  - gdir_server
@@ -165,13 +148,12 @@ extensions:
165
148
  - ext/numru/gphys/extconf.rb
166
149
  extra_rdoc_files: []
167
150
  files:
168
- - .ChangeLog.until201303
169
- - .gitignore
151
+ - ".ChangeLog.until201303"
152
+ - ChangeLog
170
153
  - Gemfile
171
154
  - LICENSE.txt
172
155
  - README
173
156
  - Rakefile
174
- - TODO_ep_flux
175
157
  - bin/gdir_client
176
158
  - bin/gdir_server
177
159
  - bin/gpaop
@@ -483,6 +465,63 @@ files:
483
465
  - doc/ep_flux/math-doc/document/prev_g.png
484
466
  - doc/ep_flux/math-doc/document/up.png
485
467
  - doc/ep_flux/math-doc/document/up_g.png
468
+ - doc/ganalysis/doc/NumRu.html
469
+ - doc/ganalysis/doc/NumRu/GAnalysis.html
470
+ - doc/ganalysis/doc/NumRu/GAnalysis/BetaPlane.html
471
+ - doc/ganalysis/doc/NumRu/GAnalysis/Fitting.html
472
+ - doc/ganalysis/doc/NumRu/GAnalysis/LogP.html
473
+ - doc/ganalysis/doc/NumRu/GAnalysis/Met.html
474
+ - doc/ganalysis/doc/NumRu/GAnalysis/MetZ.html
475
+ - doc/ganalysis/doc/NumRu/GAnalysis/Planet.html
476
+ - doc/ganalysis/doc/NumRu/GAnalysis/QG.html
477
+ - doc/ganalysis/doc/NumRu/GAnalysis/QG/Uninitialized.html
478
+ - doc/ganalysis/doc/NumRu/GAnalysis/QG_common.html
479
+ - doc/ganalysis/doc/NumRu/GAnalysis/QG_sphere.html
480
+ - doc/ganalysis/doc/NumRu/GAnalysis/QG_sphere_common.html
481
+ - doc/ganalysis/doc/NumRu/GAnalysis/QG_sphere_div.html
482
+ - doc/ganalysis/doc/NumRu/GAnalysis/SigmaCoord.html
483
+ - doc/ganalysis/doc/NumRu/GGraph.html
484
+ - doc/ganalysis/doc/NumRu/GPhys.html
485
+ - doc/ganalysis/doc/Object.html
486
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/beta_plane_rb.html
487
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/covariance_rb.html
488
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/eof_rb.html
489
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/fitting_rb.html
490
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/histogram_rb.html
491
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/log_p_rb.html
492
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/met_rb.html
493
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/met_z_rb.html
494
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/planet_rb.html
495
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/qg_rb.html
496
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis/sigma_coord_rb.html
497
+ - doc/ganalysis/doc/__/__/lib/numru/ganalysis_rb.html
498
+ - doc/ganalysis/doc/created.rid
499
+ - doc/ganalysis/doc/images/brick.png
500
+ - doc/ganalysis/doc/images/brick_link.png
501
+ - doc/ganalysis/doc/images/bug.png
502
+ - doc/ganalysis/doc/images/bullet_black.png
503
+ - doc/ganalysis/doc/images/bullet_toggle_minus.png
504
+ - doc/ganalysis/doc/images/bullet_toggle_plus.png
505
+ - doc/ganalysis/doc/images/date.png
506
+ - doc/ganalysis/doc/images/find.png
507
+ - doc/ganalysis/doc/images/loadingAnimation.gif
508
+ - doc/ganalysis/doc/images/macFFBgHack.png
509
+ - doc/ganalysis/doc/images/package.png
510
+ - doc/ganalysis/doc/images/page_green.png
511
+ - doc/ganalysis/doc/images/page_white_text.png
512
+ - doc/ganalysis/doc/images/page_white_width.png
513
+ - doc/ganalysis/doc/images/plugin.png
514
+ - doc/ganalysis/doc/images/ruby.png
515
+ - doc/ganalysis/doc/images/tag_green.png
516
+ - doc/ganalysis/doc/images/wrench.png
517
+ - doc/ganalysis/doc/images/wrench_orange.png
518
+ - doc/ganalysis/doc/images/zoom.png
519
+ - doc/ganalysis/doc/index.html
520
+ - doc/ganalysis/doc/js/darkfish.js
521
+ - doc/ganalysis/doc/js/jquery.js
522
+ - doc/ganalysis/doc/js/quicksearch.js
523
+ - doc/ganalysis/doc/js/thickbox-compressed.js
524
+ - doc/ganalysis/doc/rdoc.css
486
525
  - doc/gdir.html
487
526
  - doc/gdir_client.html
488
527
  - doc/gdir_connect_ftp-like.html
@@ -520,9 +559,8 @@ files:
520
559
  - ext/numru/gphys/extconf.rb
521
560
  - ext/numru/gphys/interpo.c
522
561
  - ext/numru/gphys/multibitIO.c
523
- - gphys-bigmem.gemspec
562
+ - ext/numru/gphys/quad_mesh_sample.c
524
563
  - gphys.gemspec
525
- - install.rb
526
564
  - lib/numru/dcl_mouse.rb
527
565
  - lib/numru/dclext.rb
528
566
  - lib/numru/derivative.rb
@@ -585,28 +623,12 @@ files:
585
623
  - lib/numru/gphys/varraynusdas.rb
586
624
  - lib/numru/gphys/version.rb
587
625
  - lib/numru/htdir.rb
588
- - sample/cira86_to_nc.rb
589
- - sample/druby_cli1.rb
590
- - sample/druby_cli2.rb
591
- - sample/druby_serv1.rb
592
- - sample/druby_serv2.rb
593
- - sample/ep_flux/demo_NCEP_1.rb
594
- - sample/ep_flux/demo_NCEP_2.rb
595
- - sample/ep_flux/demo_NCEP_3.rb
596
- - sample/ggraph_latlon_labelling_dr002690.rb
597
- - sample/ggraph_mapfit-axes_dr002687.rb
598
- - sample/map_projection.rb
599
- - sample/ncep_theta_coord.rb
600
626
  - test/test_assoccoords.rb
601
627
  - test/test_axis.rb
602
628
  - test/test_fitting.rb
603
629
  - test/test_gphys.rb
604
630
  - test/test_met_z.rb
605
631
  - test/test_sigma_coord.rb
606
- - test_old/eof_slp.rb
607
- - test_old/mltbit.dat
608
- - test_old/test_ep_flux.rb
609
- - test_old/test_multibitIO.rb
610
632
  - testdata/T.jan.ctl
611
633
  - testdata/T.jan.dat
612
634
  - testdata/T.jan.grib
@@ -618,6 +640,7 @@ files:
618
640
  homepage: http://www.gfd-dennou.org/arch/ruby/products/gphys/
619
641
  licenses:
620
642
  - BSD-2-Clause
643
+ metadata: {}
621
644
  post_install_message: Thanks for installing! You can add extra libraries (i.e., ruby-lapack,
622
645
  rb-grib) to enjoy powerful calculating and handling datasets.
623
646
  rdoc_options: []
@@ -625,46 +648,28 @@ require_paths:
625
648
  - ext
626
649
  - lib
627
650
  required_ruby_version: !ruby/object:Gem::Requirement
628
- none: false
629
651
  requirements:
630
- - - ! '>='
652
+ - - ">="
631
653
  - !ruby/object:Gem::Version
632
654
  version: '1.8'
633
655
  required_rubygems_version: !ruby/object:Gem::Requirement
634
- none: false
635
656
  requirements:
636
- - - ! '>='
657
+ - - ">="
637
658
  - !ruby/object:Gem::Version
638
659
  version: '0'
639
660
  requirements: []
640
661
  rubyforge_project:
641
- rubygems_version: 1.8.23
662
+ rubygems_version: 2.2.2
642
663
  signing_key:
643
- specification_version: 3
664
+ specification_version: 4
644
665
  summary: A multi-purpose class to handle Gridded Physical quantities
645
666
  test_files:
646
- - sample/cira86_to_nc.rb
647
- - sample/druby_cli1.rb
648
- - sample/druby_cli2.rb
649
- - sample/druby_serv1.rb
650
- - sample/druby_serv2.rb
651
- - sample/ep_flux/demo_NCEP_1.rb
652
- - sample/ep_flux/demo_NCEP_2.rb
653
- - sample/ep_flux/demo_NCEP_3.rb
654
- - sample/ggraph_latlon_labelling_dr002690.rb
655
- - sample/ggraph_mapfit-axes_dr002687.rb
656
- - sample/map_projection.rb
657
- - sample/ncep_theta_coord.rb
658
667
  - test/test_assoccoords.rb
659
668
  - test/test_axis.rb
660
669
  - test/test_fitting.rb
661
670
  - test/test_gphys.rb
662
671
  - test/test_met_z.rb
663
672
  - test/test_sigma_coord.rb
664
- - test_old/eof_slp.rb
665
- - test_old/mltbit.dat
666
- - test_old/test_ep_flux.rb
667
- - test_old/test_multibitIO.rb
668
673
  - testdata/T.jan.ctl
669
674
  - testdata/T.jan.dat
670
675
  - testdata/T.jan.grib