gs2crmod 0.9.2 → 0.9.4

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.
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  gem "coderunner", ">= 0.12.16"
5
- gem "ruby-netcdf", ">= 0.6.6.1"
5
+ # gem "ruby-netcdf", ">= 0.6.6.1"
6
6
 
7
7
  # Add dependencies to develop your gem here.
8
8
  # Include everything needed to run rake, tests, features, etc.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.2
1
+ 0.9.4
data/gs2crmod.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "gs2crmod"
8
- s.version = "0.9.2"
8
+ s.version = "0.9.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Edmund Highcock", "Ferdinand van Wyk"]
12
- s.date = "2013-07-31"
12
+ s.date = "2013-08-07"
13
13
  s.description = "GS2 is a gyrokinetic flux tube initial value turbulence code which can be used for fusion or astrophysical plasmas. CodeRunner is a framework for the automated running and analysis of large simulations. This module allows GS2 (and its sister code AstroGK) to harness the power of the CodeRunner framework."
14
14
  s.email = "edmundhighcock@sourceforge.net"
15
15
  s.extensions = ["ext/extconf.rb"]
@@ -78,7 +78,7 @@ Gem::Specification.new do |s|
78
78
  s.licenses = ["GSLv3"]
79
79
  s.require_paths = ["lib"]
80
80
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
81
- s.rubygems_version = "1.8.11"
81
+ s.rubygems_version = "1.8.23"
82
82
  s.summary = "Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes."
83
83
 
84
84
  if s.respond_to? :specification_version then
@@ -86,14 +86,12 @@ Gem::Specification.new do |s|
86
86
 
87
87
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
88
88
  s.add_runtime_dependency(%q<coderunner>, [">= 0.12.16"])
89
- s.add_runtime_dependency(%q<ruby-netcdf>, [">= 0.6.6.1"])
90
89
  s.add_development_dependency(%q<shoulda>, [">= 0"])
91
90
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
92
91
  s.add_development_dependency(%q<bundler>, ["> 1.0.0"])
93
92
  s.add_development_dependency(%q<jeweler>, [">= 1.8.4"])
94
93
  else
95
94
  s.add_dependency(%q<coderunner>, [">= 0.12.16"])
96
- s.add_dependency(%q<ruby-netcdf>, [">= 0.6.6.1"])
97
95
  s.add_dependency(%q<shoulda>, [">= 0"])
98
96
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
99
97
  s.add_dependency(%q<bundler>, ["> 1.0.0"])
@@ -101,7 +99,6 @@ Gem::Specification.new do |s|
101
99
  end
102
100
  else
103
101
  s.add_dependency(%q<coderunner>, [">= 0.12.16"])
104
- s.add_dependency(%q<ruby-netcdf>, [">= 0.6.6.1"])
105
102
  s.add_dependency(%q<shoulda>, [">= 0"])
106
103
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
107
104
  s.add_dependency(%q<bundler>, ["> 1.0.0"])
@@ -541,8 +541,9 @@ module GSLVectors
541
541
  Dir.chdir(@directory) do
542
542
  # , /kpar_spectrum/
543
543
  #ep 'zero?', (@s_hat_input||@shat)==0.0
544
- unless (@s_hat_input||@shat||0.75).abs<1.0e-5
544
+ unless agk? or (@s_hat_input||@shat||0.0).abs<1.0e-5
545
545
  phi = gsl_vector_complex('phi_along_field_line', options)
546
+ phi = phi.subvector(0,phi.size-1)
546
547
  #i = 0
547
548
  #phi = phi.collect{|re,im|
548
549
  #i+=1; GSL::Complex.alloc(Math.sin(0.1*i), Math.cos(0.1*i))+
@@ -587,10 +588,11 @@ module GSLVectors
587
588
  end
588
589
  case phi.size%2
589
590
  when 0
590
- kpar = GSL::Vector.indgen(phi.size, -(phi.size-2)/2)*dk
591
+ kpar = GSL::Vector.indgen(phi.size-1, -((phi.size-3)/2))*dk
591
592
  when 1
592
- kpar = GSL::Vector.indgen(phi.size, -(phi.size-1)/2)*dk
593
+ kpar = GSL::Vector.indgen(phi.size-1, -((phi.size-2)/2))*dk
593
594
  end
595
+ #ep 'kpar', kpar, 'phi.size', phi.size
594
596
 
595
597
  #ep 'kpar.class', kpar.class
596
598
  return kpar
@@ -999,9 +1001,9 @@ module GSLMatrices
999
1001
  end
1000
1002
  temp = phi_av = (lkx.keys.map do |kx_index|
1001
1003
  if options[:t_index]
1002
- phi = netcdf_file.var('phi_t').get({'start' => [0,0,kx_index-1,0, options[:t_index] - 1], 'end' => [-1,-1,kx_index-1,-1, options[:t_index] - 1]})
1004
+ phi = netcdf_file.var('phi_t').get({'start' => [0,0,kx_index-1,0, options[:t_index] - 1], 'end' => [-1,-2,kx_index-1,-1, options[:t_index] - 1]})
1003
1005
  else
1004
- phi = netcdf_file.var('phi').get({'start' => [0, 0, kx_index - 1, 0], 'end' => [-1, -1, kx_index-1, -1]})
1006
+ phi = netcdf_file.var('phi').get({'start' => [0, 0, kx_index - 1, 0], 'end' => [-1, -2, kx_index-1, -1]})
1005
1007
  end
1006
1008
  #ep phi.shape
1007
1009
  phi.reshape(*phi.shape.values_at(0,1,3))
@@ -1010,16 +1012,19 @@ module GSLMatrices
1010
1012
  phi_t = phi_av.to_a #.map{|arr| arr.transpose}.transpose.map{|a| a.transpose}
1011
1013
  #ep 'phi_t', phi_t.size, phi_t[0].size, phi_t[0][0].size
1012
1014
  gvky = gsl_vector('ky')
1013
- gm = GSL::Matrix.alloc(gvky.size, gsl_vector('theta').size)
1015
+ gm = GSL::Matrix.alloc(gvky.size, gsl_vector('theta').size-1)
1014
1016
  for ky_element in 0...gm.shape[0]
1015
1017
  #p phi_t[ky_element].transpose[0]
1016
1018
  spectrum = GSL::Vector::Complex.alloc(phi_t[ky_element]).forward.square
1017
1019
  if options[:no_kpar0]
1018
1020
  spectrum[0]=0.0
1019
1021
  end
1022
+ #ep spectrum.size
1020
1023
  spectrum = spectrum.from_box_order
1021
1024
  #ep spectrum.shape
1022
1025
  spectrum = spectrum*gvky[ky_element]**2 unless options[:phi2_only]
1026
+ #ep gm.size
1027
+ #ep spectrum.size
1023
1028
  gm.set_row(ky_element, spectrum)
1024
1029
  end
1025
1030
  if options[:no_zonal]
@@ -35,12 +35,12 @@ class GSL::Vector
35
35
 
36
36
  def from_box_order
37
37
  size = self.size
38
- v1, v2 = self.subvector(0, (size+1)/2), self.subvector((size+1)/2, (size-1)/2)
38
+ v1, v2 = self.subvector(0, (size+2)/2), self.subvector((size+2)/2, (size-1)/2)
39
39
  return v2.connect(v1)
40
40
  end
41
41
  def to_box_order
42
42
  size = self.size
43
- v1, v2 = self.subvector(0, (size-1)/2), self.subvector((size-1)/2, (size+1)/2)
43
+ v1, v2 = self.subvector(0, (size-1)/2), self.subvector((size-1)/2, (size+2)/2)
44
44
  return v2.connect(v1)
45
45
  end
46
46
 
@@ -2030,6 +2030,46 @@
2030
2030
  [{:test=>"kind_of? Integer",
2031
2031
  :explanation=>"This variable must be an integer."}],
2032
2032
  :type=>:Integer},
2033
+ :iky_init=>
2034
+ {:should_include=>"true",
2035
+ :description=>nil,
2036
+ :help=>nil,
2037
+ :tests=>["Tst::INT"],
2038
+ :code_name=>:iky_init,
2039
+ :must_pass=>
2040
+ [{:test=>"kind_of? Integer",
2041
+ :explanation=>"This variable must be an integer."}],
2042
+ :type=>:Integer},
2043
+ :ikpar_init2=>
2044
+ {:should_include=>"true",
2045
+ :description=>nil,
2046
+ :help=>nil,
2047
+ :tests=>["Tst::INT"],
2048
+ :code_name=>:ikpar_init2,
2049
+ :must_pass=>
2050
+ [{:test=>"kind_of? Integer",
2051
+ :explanation=>"This variable must be an integer."}],
2052
+ :type=>:Integer},
2053
+ :ikx_init2=>
2054
+ {:should_include=>"true",
2055
+ :description=>nil,
2056
+ :help=>nil,
2057
+ :tests=>["Tst::INT"],
2058
+ :code_name=>:ikx_init2,
2059
+ :must_pass=>
2060
+ [{:test=>"kind_of? Integer",
2061
+ :explanation=>"This variable must be an integer."}],
2062
+ :type=>:Integer},
2063
+ :iky_init2=>
2064
+ {:should_include=>"true",
2065
+ :description=>nil,
2066
+ :help=>nil,
2067
+ :tests=>["Tst::INT"],
2068
+ :code_name=>:iky_init2,
2069
+ :must_pass=>
2070
+ [{:test=>"kind_of? Integer",
2071
+ :explanation=>"This variable must be an integer."}],
2072
+ :type=>:Integer},
2033
2073
  :force_single_kpar=>
2034
2074
  {:should_include=>"true",
2035
2075
  :description=>
@@ -167,6 +167,9 @@ class TestAgkAnalysis < Test::Unit::TestCase
167
167
  #kit.gnuplot
168
168
  assert_equal(126, kit.data[0].y.data.size)
169
169
  assert_equal(@runner.run_list[1].netcdf_file.var('phi2').get('start' => [4], 'end' => [4]).to_a[0], kit.data[0].y.data[4])
170
+ assert_equal(nil,@runner.run_list[1].instance_variable_get(:@shat))
171
+ kit = @runner.run_list[1].graphkit('kpar_spectrum',{})
172
+ #kit.gnuplot
170
173
  end
171
174
  def test_analysis
172
175
  assert_equal(1, @runner.run_list.size)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gs2crmod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-07-31 00:00:00.000000000 Z
13
+ date: 2013-08-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: coderunner
17
- requirement: &10308540 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,21 +22,15 @@ dependencies:
22
22
  version: 0.12.16
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *10308540
26
- - !ruby/object:Gem::Dependency
27
- name: ruby-netcdf
28
- requirement: &10307700 !ruby/object:Gem::Requirement
25
+ version_requirements: !ruby/object:Gem::Requirement
29
26
  none: false
30
27
  requirements:
31
28
  - - ! '>='
32
29
  - !ruby/object:Gem::Version
33
- version: 0.6.6.1
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: *10307700
30
+ version: 0.12.16
37
31
  - !ruby/object:Gem::Dependency
38
32
  name: shoulda
39
- requirement: &10306140 !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
40
34
  none: false
41
35
  requirements:
42
36
  - - ! '>='
@@ -44,10 +38,15 @@ dependencies:
44
38
  version: '0'
45
39
  type: :development
46
40
  prerelease: false
47
- version_requirements: *10306140
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: rdoc
50
- requirement: &10247600 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ~>
@@ -55,10 +54,15 @@ dependencies:
55
54
  version: '3.12'
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *10247600
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: '3.12'
59
63
  - !ruby/object:Gem::Dependency
60
64
  name: bundler
61
- requirement: &9765940 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
62
66
  none: false
63
67
  requirements:
64
68
  - - ! '>'
@@ -66,10 +70,15 @@ dependencies:
66
70
  version: 1.0.0
67
71
  type: :development
68
72
  prerelease: false
69
- version_requirements: *9765940
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>'
77
+ - !ruby/object:Gem::Version
78
+ version: 1.0.0
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: jeweler
72
- requirement: &9764800 !ruby/object:Gem::Requirement
81
+ requirement: !ruby/object:Gem::Requirement
73
82
  none: false
74
83
  requirements:
75
84
  - - ! '>='
@@ -77,7 +86,12 @@ dependencies:
77
86
  version: 1.8.4
78
87
  type: :development
79
88
  prerelease: false
80
- version_requirements: *9764800
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: 1.8.4
81
95
  description: GS2 is a gyrokinetic flux tube initial value turbulence code which can
82
96
  be used for fusion or astrophysical plasmas. CodeRunner is a framework for the automated
83
97
  running and analysis of large simulations. This module allows GS2 (and its sister
@@ -166,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
180
  version: '0'
167
181
  requirements: []
168
182
  rubyforge_project:
169
- rubygems_version: 1.8.11
183
+ rubygems_version: 1.8.23
170
184
  signing_key:
171
185
  specification_version: 3
172
186
  summary: Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes.