Sha256: 2e8b39c754cc5ece5c2dfd8b09154c2668fc0f8cf4db6893bc7e5962419a6ae1
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
begin require "numru/nusdas" rescue LoadError module NumRu class NuSDaS class << self def new(path) raise "nusdas library is not found" end def is_a_NuSDaS?(path) return false end end end end end require "numru/gphys/varraynusdas" module NumRu class GPhys module NuSDaS_IO module_function def is_a_NuSDaS?(path) NuSDaS.is_a_NuSDaS?(path) end def open(nusdas, varname) if String === nusdas nusdas = NuSDaS.new(nusdas) end unless NuSDaS === nusdas raise ArgumentError, "1st arg must be a NuSDaS of path name" end var = nusdas.var(varname) var.nil? && raise("#{varname} is not found") data = VArrayNuSDaS.new(var) axes = Array.new var.dim_names.each{|dn| dim = var.dim(dn) dim.set_type(:reference) attr = Hash.new dim.att_names.each{|an| attr[an] = dim.att(an)} axpos = VArray.new(dim.val, attr, dn) axis = Axis.new(false, true) axis.set_pos(axpos) axes.push axis } grid = Grid.new(*axes) GPhys.new(grid, data) end def var_names(nusdas) opened = false case nusdas when String nusdas = NuSDaS.new(nusdas) when NuSDaS opened = true else raise ArgumentError, "arg must be NuSDaS or path name" end var_names = nusdas.var_names nusdas.close unless opened return var_names end alias :var_names_except_coordinates :var_names module_function :var_names_except_coordinates end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gentooboontoo-gphys-0.6.1.3 | lib/numru/gphys/gphys_nusdas_io.rb |