File: aref_aset.rb

package info (click to toggle)
ruby-netcdf 0.6.6-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,184 kB
  • ctags: 882
  • sloc: ansic: 3,968; ruby: 1,661; makefile: 9; csh: 6
file content (37 lines) | stat: -rw-r--r-- 725 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require 'numru/netcdf'
include NumRu
s = 'tmp.nc'
f = NetCDF.create(s)
f.redef
dx = f.def_dim('x',5)
dy = f.def_dim('y',3)
v = f.def_var('x','sfloat',[dx])
v2 = f.def_var('x2',NArray::SFLOAT,[dx])
vxy = f.def_var('xy','sfloat',[dx,dy])
f.enddef
v.put([1,2,3,4,5])
p 'testing []= ...'
v[{0..3=>2}]=[100,500]
v[1]=999
v[3..4]=[-99,-99]
v2.put(666)
v2[0..2]=777
vxy.put(NArray.sfloat(5,3).indgen!)
vxy[[2,0],[0,2,1]] = [[1,2],[3,4],[5,6]]
vxy[1,[2,0,1]] = [10,20,30]
vxy[[4,3],2] = [100,200]

f.close

f = NetCDF.open(s)
v = f.var('x')
p 'testing [] ...'
p '*0*',v[{0..3=>2}]
p '*1*',v[1]
p '*2*',v[3..4],v.rank
p '*3*',v[[2,0,0]]
vxy = f.var('xy')
p '*4*',vxy[[2,0],[0,2,1]]
p '*5*',vxy[1,[2,0,1]]
p '*6*',vxy[[4,3],2]
f.close