gs2crmod 0.11.101 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.101
1
+ 0.12.0
data/gs2crmod.gemspec CHANGED
@@ -2,17 +2,14 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: gs2crmod 0.11.101 ruby lib
6
- # stub: ext/extconf.rb
7
5
 
8
6
  Gem::Specification.new do |s|
9
7
  s.name = "gs2crmod"
10
- s.version = "0.11.101"
8
+ s.version = "0.12.0"
11
9
 
12
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
13
- s.require_paths = ["lib"]
14
11
  s.authors = ["Edmund Highcock", "Ferdinand van Wyk"]
15
- s.date = "2015-07-03"
12
+ s.date = "2015-07-28"
16
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."
17
14
  s.email = "edmundhighcock@sourceforge.net"
18
15
  s.extensions = ["ext/extconf.rb"]
@@ -79,12 +76,13 @@ Gem::Specification.new do |s|
79
76
  ]
80
77
  s.homepage = "http://gs2crmod.sourceforge.net"
81
78
  s.licenses = ["GSLv3"]
79
+ s.require_paths = ["lib"]
82
80
  s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
83
- s.rubygems_version = "2.2.2"
81
+ s.rubygems_version = "1.8.23"
84
82
  s.summary = "Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes."
85
83
 
86
84
  if s.respond_to? :specification_version then
87
- s.specification_version = 4
85
+ s.specification_version = 3
88
86
 
89
87
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
90
88
  s.add_runtime_dependency(%q<coderunner>, [">= 0.15.5"])
@@ -279,7 +279,7 @@ def calculate_frequencies
279
279
  logi(f)
280
280
  @frequency_at_ky_at_kx||= FloatHash.new
281
281
  ky_values = []
282
- regex = Regexp.new( "^.*aky=\\s*(?<aky>#{f})\s*akx=\\s*(?<akx>#{f}).*omav=\\s*(?<re>#{f})\\s*(?<gr>#{f})")
282
+ regex = Regexp.new( "^.*ky=\\s*(?<aky>#{f})\s*kx=\\s*(?<akx>#{f}).*omav=\\s*(?<re>#{f})\\s*(?<gr>#{f})")
283
283
  final_timestep_list.scan(regex) do
284
284
  aky = eval($~[:aky])
285
285
  akx = eval($~[:akx])
@@ -21,8 +21,8 @@ def auto_axiskits(name, options)
21
21
  # </MJL>
22
22
  'phi2_by_ky_over_time' => ['Phi^2 by ky', ''],
23
23
  'phi2_by_kx_over_time' => ['Phi^2 by ky', ''],
24
- 'es_heat_by_ky_over_time' => ['Phi^2 by ky', ''],
25
- 'es_heat_by_kx_over_time' => ['Phi^2 by kx', ''],
24
+ 'es_heat_flux_by_ky_over_time' => ['Heat flux by ky', ''],
25
+ 'es_heat_flux_by_kx_over_time' => ['Heat flux by kx', ''],
26
26
  'phi2_by_mode_over_time' => ["Phi^2 by mode", ''],
27
27
  'tpar2_by_mode_over_time' => ["(delta T_parallel)^2 by mode", '%'],
28
28
  'tperp2_by_mode_over_time' => ["(delta T_perp)^2 by mode", '%'],
@@ -47,8 +47,8 @@ def auto_axiskits(name, options)
47
47
  'spectrum_over_kx_avg' => ["Spectrum Averaged Over Time", '', 1],
48
48
  'spectrum_over_ky' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
49
49
  'spectrum_over_ky_avg' => ["Spectrum Averaged Over Time", '', 1],
50
- 'es_heat_over_kx' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
51
- 'es_heat_over_ky' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
50
+ 'es_heat_flux_over_kx' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
51
+ 'es_heat_flux_over_ky' => ["Heat Flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", 'Q_gB', 1],
52
52
  'es_heat_flux_over_ky_over_kx' => ["Heat flux at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 2],
53
53
  'spectrum_over_kpar' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 1],
54
54
  'spectrum_over_ky_over_kx' => ["Spectrum at t = #{sprintf("%.3f" ,(options[:t] or list(:t)[options[:t_index]] or list(:t).values.max))}", '', 2],
@@ -267,7 +267,6 @@ module GraphKits
267
267
  kit = GraphKit.autocreate({x: axiskit('t', options), y: phiax})
268
268
  kit.data[0].title = "Phi^2 total: #{kxy} = #{options[kxy]}"
269
269
  if options[:t_index]
270
- # p 'hello'
271
270
  array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
272
271
  # p phiax.data.size, array_element
273
272
  # p options[:t_index], options[:t_index_window]
@@ -345,7 +344,7 @@ module GraphKits
345
344
 
346
345
  alias :eigenfunction_graphkit :efn_graphkit
347
346
 
348
- def es_heat_vs_ky_vs_kx_graphkit(options={})
347
+ def es_heat_flux_vs_ky_vs_kx_graphkit(options={})
349
348
  case options[:command]
350
349
  when :help
351
350
  return "Graph of electrostatic contribution to heat flux at a given time vs kx and ky"
@@ -362,7 +361,7 @@ module GraphKits
362
361
  end
363
362
  end
364
363
 
365
- def es_heat_vs_kx_graphkit(options={})
364
+ def es_heat_flux_vs_kx_graphkit(options={})
366
365
  case options[:command]
367
366
  when :help
368
367
  return "Heat flux vs kx"
@@ -372,7 +371,7 @@ module GraphKits
372
371
  return es_heat_flux_vs_kxy_graphkit(options.absorb({direction: :kx}))
373
372
  end
374
373
  end
375
- def es_heat_vs_ky_graphkit(options={})
374
+ def es_heat_flux_vs_ky_graphkit(options={})
376
375
  case options[:command]
377
376
  when :help
378
377
  return "Heat flux vs ky"
@@ -391,7 +390,7 @@ module GraphKits
391
390
  return [:ky_index, :species_index]
392
391
  else
393
392
  kxy = options[:direction]||options[:kxy]
394
- kit = GraphKit.autocreate({x: axiskit(kxy.to_s, options), y: axiskit("es_heat_over_#{kxy}", options)})
393
+ kit = GraphKit.autocreate({x: axiskit(kxy.to_s, options), y: axiskit("es_heat_flux_over_#{kxy}", options)})
395
394
  kit.title = "Heat flux vs #{kxy} for species #{options[:species_index]}"
396
395
  kit.file_name = options[:graphkit_name] + options[:t_index].to_s
397
396
  kit.data[0].with = 'lp'
@@ -2012,25 +2011,25 @@ module GraphKits
2012
2011
  end
2013
2012
  # </MJL>
2014
2013
 
2015
- def es_heat_by_mode_vs_time_graphkit(options={})
2014
+ def es_heat_flux_by_mode_vs_time_graphkit(options={})
2016
2015
  options[:direction] = :mode
2017
- es_heat_by_kxy_or_mode_vs_time_graphkit(options)
2016
+ es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
2018
2017
  end
2019
2018
 
2020
- def es_heat_by_kx_vs_time_graphkit(options={})
2019
+ def es_heat_flux_by_kx_vs_time_graphkit(options={})
2021
2020
  options[:direction] = :kx
2022
- es_heat_by_kxy_or_mode_vs_time_graphkit(options)
2021
+ es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
2023
2022
  end
2024
2023
 
2025
- def es_heat_by_ky_vs_time_graphkit(options={})
2024
+ def es_heat_flux_by_ky_vs_time_graphkit(options={})
2026
2025
  options[:direction] = :ky
2027
- es_heat_by_kxy_or_mode_vs_time_graphkit(options)
2026
+ es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options)
2028
2027
  end
2029
2028
 
2030
- def es_heat_by_kxy_or_mode_vs_time_graphkit(options={})
2029
+ def es_heat_flux_by_kxy_or_mode_vs_time_graphkit(options={})
2031
2030
  case options[:command]
2032
2031
  when :help
2033
- return "'es_heat_by_ky_vs_time' or 'es_heat_by_kx_vs_time': Electrostatic Heat Flux vs Time for a given kx or ky, integrated over the other direction"
2032
+ return "'es_heat_flux_by_ky_vs_time' or 'es_heat_flux_by_kx_vs_time': Electrostatic Heat Flux vs Time for a given kx or ky, integrated over the other direction"
2034
2033
  when :options
2035
2034
  return [:ky, :ky_index, :kx, :kx_index, :species_index]
2036
2035
  else
@@ -2038,7 +2037,7 @@ module GraphKits
2038
2037
  nt_options = options.dup # 'no time' options
2039
2038
  #nt_options.delete(:t_index) if nt_options[:t_index]
2040
2039
  #nt_options.delete(:frame_index) if nt_options[:frame_index]
2041
- phiax = axiskit("es_heat_by_#{kxy}_over_time", nt_options)
2040
+ phiax = axiskit("es_heat_flux_by_#{kxy}_over_time", nt_options)
2042
2041
  kit = GraphKit.autocreate({x: axiskit('t', options), y: phiax})
2043
2042
  kit.data[0].title = "ES Heat Flux: #@run_name #{kxy} = #{options[kxy]}"
2044
2043
  kit.log_axis = 'y'
@@ -2081,7 +2080,6 @@ module GraphKits
2081
2080
  kit = GraphKit.autocreate({x: axiskit('t', options), y: phiax})
2082
2081
  kit.data[0].title = "Phi^2 total: #{kxy} = #{options[kxy]}"
2083
2082
  if options[:t_index]
2084
- # p 'hello'
2085
2083
  array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
2086
2084
  # p phiax.data.size, array_element
2087
2085
  # p options[:t_index], options[:t_index_window]
@@ -2133,7 +2131,6 @@ module GraphKits
2133
2131
  kit = GraphKit.autocreate({x: axiskit('t', options), y: tparax})
2134
2132
  kit.data[0].title = "Tpar^2 total: #{kxy} = #{options[kxy]}"
2135
2133
  if options[:t_index]
2136
- # p 'hello'
2137
2134
  array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
2138
2135
  # p tparax.data.size, array_element
2139
2136
  # p options[:t_index], options[:t_index_window]
@@ -2175,7 +2172,6 @@ module GraphKits
2175
2172
  kit = GraphKit.autocreate({x: axiskit('t', options), y: tperpax})
2176
2173
  kit.data[0].title = "Tperp^2 total: #{kxy} = #{options[kxy]}"
2177
2174
  if options[:t_index]
2178
- # p 'hello'
2179
2175
  array_element = options[:t_index_window] ? options[:t_index] - options[:t_index_window][0] : options[:t_index] - 1
2180
2176
  # p tparax.data.size, array_element
2181
2177
  # p options[:t_index], options[:t_index_window]
data/lib/gs2crmod/gs2.rb CHANGED
@@ -1273,9 +1273,9 @@ folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file
1273
1273
  [(kit = hflux_tot_vs_time_graphkit; kit.file_name = "hflux_tot_vs_time.eps"; kit), "Total heat flux $Q_{tot}$ as a function of time."],
1274
1274
  [(kit = es_heat_flux_vs_time_graphkit(species_index:1); kit.file_name = "es_heat_1_vs_time.eps"; kit), "Heat flux of species 1 versus time."],
1275
1275
  if @nspec > 1 then [(kit = es_heat_flux_vs_time_graphkit(species_index:2); kit.file_name = "es_heat_2_vs_time.eps"; kit), "Heat flux of species 2 versus time."] end,
1276
- [(kit = es_heat_vs_ky_graphkit(species_index:1); kit.gp.logscale="y" ; kit.file_name = "es_heat_1_vs_ky.eps"; kit), "Heat flux of species 1 as a function of $k_y$."],
1277
- if @nspec > 1 then [(kit = es_heat_vs_ky_graphkit(species_index:2); kit.gp.logscale="y" ; kit.file_name = "es_heat_2_vs_ky.eps"; kit), "Heat flux of species 2 as a function of $k_y$."] end,
1278
- [(kit = es_heat_vs_ky_vs_kx_graphkit; kit.gp.view="map" ; kit.file_name = "es_heat_vs_ky_vs_kx.eps"; kit), "2D total heat flux spectrum as a function of $k_x$ and $k_y$."],
1276
+ [(kit = es_heat_flux_vs_ky_graphkit(species_index:1); kit.gp.logscale="y" ; kit.file_name = "es_heat_1_vs_ky.eps"; kit), "Heat flux of species 1 as a function of $k_y$."],
1277
+ if @nspec > 1 then [(kit = es_heat_flux_vs_ky_graphkit(species_index:2); kit.gp.logscale="y" ; kit.file_name = "es_heat_2_vs_ky.eps"; kit), "Heat flux of species 2 as a function of $k_y$."] end,
1278
+ [(kit = es_heat_flux_vs_ky_vs_kx_graphkit; kit.gp.view="map" ; kit.file_name = "es_heat_vs_ky_vs_kx.eps"; kit), "2D total heat flux spectrum as a function of $k_x$ and $k_y$."],
1279
1279
  [(kit = phi_real_space_graphkit(n0:1, thetamin:get_list_of(:theta).length/2, thetamax:get_list_of(:theta).length/2, gs2_coordinate_factor:1.0); kit.gp.view="map" ; kit.file_name = "phi_real_space.eps"; kit), "Potential fluctuations at the final time step vs GS2 $x$ and $y$ at the outboard midplane."],
1280
1280
  [(kit = density_real_space_graphkit(n0:1, species_index:1, thetamin:get_list_of(:theta).length/2, thetamax:get_list_of(:theta).length/2, gs2_coordinate_factor:1.0); kit.gp.view="map" ; kit.file_name = "density_real_space.eps"; kit), "Density fluctuations for species 1 at the final time step vs GS2 $x$ and $y$ at the outboard midplane."],
1281
1281
  if @nspec > 1 then [(kit = density_real_space_graphkit(n0:1, species_index:2, thetamin:get_list_of(:theta).length/2, thetamax:get_list_of(:theta).length/2, gs2_coordinate_factor:1.0); kit.gp.view="map" ; kit.file_name = "density_real_space.eps"; kit), "Density fluctuations for species 2 at the final time step vs GS2 $x$ and $y$ at the outboard midplane."] end,
@@ -304,7 +304,7 @@ module GSLVectors
304
304
  return fix_norm(dphi/gsl_vector('dt'), 0, options)
305
305
  end
306
306
 
307
- # <MJL edits on 2013-09-19>
307
+ # <MJL edits on 2013-09-19>
308
308
  # The real frequency of the fluctuations, read from the .out file, indexed by time and normalised to vth_1/a.
309
309
  # :ky_index or :kx_index must be specified in options.
310
310
 
@@ -354,7 +354,7 @@ module GSLVectors
354
354
  raise "No real frequencies found in the .out file for the desired k" if (omega_reals.size==0)
355
355
  GSL::Vector.alloc(omega_reals)
356
356
  end
357
- # </MJL>
357
+ # </MJL>
358
358
 
359
359
 
360
360
  # The size of each time step, indexed by time, normalised to a/v_th1.
@@ -412,16 +412,16 @@ module GSLVectors
412
412
  return GSL::Vector.alloc(gsl_vector('ky').to_a.map{|ky| frequency_at_ky_at_kx[ky].values[options[:kx_index]-1]})
413
413
  end
414
414
 
415
- def es_heat_by_kx_over_time_gsl_vector(options)
415
+ def es_heat_flux_by_kx_over_time_gsl_vector(options)
416
416
  options[:direction] = :kx
417
- es_heat_by_kxy_over_time_gsl_vector(options)
417
+ es_heat_flux_by_kxy_over_time_gsl_vector(options)
418
418
  end
419
- def es_heat_by_ky_over_time_gsl_vector(options)
419
+ def es_heat_flux_by_ky_over_time_gsl_vector(options)
420
420
  options[:direction] = :ky
421
- es_heat_by_kxy_over_time_gsl_vector(options)
421
+ es_heat_flux_by_kxy_over_time_gsl_vector(options)
422
422
  end
423
423
 
424
- def es_heat_by_kxy_over_time_gsl_vector(options)
424
+ def es_heat_flux_by_kxy_over_time_gsl_vector(options)
425
425
  Dir.chdir(@directory) do
426
426
  kxy = options[:direction]
427
427
  #kxy_index = kxy + :_index
@@ -430,7 +430,7 @@ module GSLVectors
430
430
  if kxy==:ky
431
431
  lkx = list(:kx)
432
432
  es_heat_av = (lkx.keys.map do |kx_index|
433
- es_heat = netcdf_file.var('es_heat_by_k').get({'start' => [kx_index-1,options[:ky_index]-1,options[:species_index]-1, 0], 'end' => [kx_index-1,options[:ky_index]-1,options[:species_index]-1, -1]})
433
+ es_heat = netcdf_file.var('es_heat_flux_by_mode').get({'start' => [kx_index-1,options[:ky_index]-1,options[:species_index]-1, 0], 'end' => [kx_index-1,options[:ky_index]-1,options[:species_index]-1, -1]})
434
434
  #ep phi.shape
435
435
  es_heat.reshape(*es_heat.shape.values_at(3))
436
436
  end).sum / lkx.size
@@ -438,7 +438,7 @@ module GSLVectors
438
438
  else
439
439
  lky = list(:ky)
440
440
  es_heat_av = (lky.keys.map do |ky_index|
441
- es_heat = netcdf_file.var('es_heat_by_k').get({'start' => [options[:kx_index]-1,ky_index-1,options[:species_index]-1, 0], 'end' => [options[:kx_index]-1,ky_index-1,options[:species_index]-1, -1]})
441
+ es_heat = netcdf_file.var('es_heat_flux_by_mode').get({'start' => [options[:kx_index]-1,ky_index-1,options[:species_index]-1, 0], 'end' => [options[:kx_index]-1,ky_index-1,options[:species_index]-1, -1]})
442
442
  #ep phi.shape
443
443
  es_heat.reshape(*es_heat.shape.values_at(3))
444
444
  end).sum / lky.size
@@ -447,25 +447,25 @@ module GSLVectors
447
447
 
448
448
  end
449
449
  end
450
- private :es_heat_by_kxy_over_time_gsl_vector
450
+ private :es_heat_flux_by_kxy_over_time_gsl_vector
451
451
 
452
- def es_heat_over_kx_gsl_vector(options)
452
+ def es_heat_flux_over_kx_gsl_vector(options)
453
453
  options[:direction] = :kx
454
- es_heat_over_kxy_gsl_vector(options)
454
+ es_heat_flux_over_kxy_gsl_vector(options)
455
455
  end
456
- def es_heat_over_ky_gsl_vector(options)
456
+ def es_heat_flux_over_ky_gsl_vector(options)
457
457
  options[:direction] = :ky
458
- es_heat_over_kxy_gsl_vector(options)
458
+ es_heat_flux_over_kxy_gsl_vector(options)
459
459
  end
460
460
 
461
461
  #This function will output the heat flux as a function of kx or ky.
462
462
  #Default behaviour will be to average the heat flux over the time domain.
463
- def es_heat_over_kxy_gsl_vector(options)
463
+ def es_heat_flux_over_kxy_gsl_vector(options)
464
464
  Dir.chdir(@directory) do
465
465
  kxy = options[:direction]
466
466
  raise "Please provide species_index " unless options[:species_index]
467
467
  if kxy==:ky
468
- es_heat = (netcdf_file.var('es_heat_by_k').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
468
+ es_heat = (netcdf_file.var('es_heat_flux_by_mode').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
469
469
  #Need to average over time and sum over kx
470
470
  shape = es_heat.shape
471
471
  es_heat_av = []; temp = [];
@@ -477,7 +477,7 @@ module GSLVectors
477
477
  end
478
478
  return es_heat_av.to_gslv
479
479
  else
480
- es_heat = (netcdf_file.var('es_heat_by_k').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
480
+ es_heat = (netcdf_file.var('es_heat_flux_by_mode').get({'start' => [0,0,options[:species_index]-1, 0], 'end' => [-1,-1,options[:species_index]-1, -1]})) #index = [kx,ky,spec,t]
481
481
  shape = es_heat.shape
482
482
  es_heat_av = []; temp = [];
483
483
  for ix in 0...shape[0]
@@ -1039,12 +1039,11 @@ module GSLVectors
1039
1039
  #This is v_ZF = kxfac*IFT(i k_x phi_imag), where kxfac = (qinp/rhoc)*grho(rhoc).
1040
1040
  def zf_velocity_over_x_gsl_vector(options)
1041
1041
  Dir.chdir(@directory) do
1042
- raise CRFatal.new("Need to specify a theta_index.") unless options[:theta_index]
1043
1042
  raise CRFatal.new("Need either qinp or pk and epsl specified in order to calculate kxfac.
1044
1043
  If using numerical equil use the option :kxfac to override calculation.") unless @qinp or (@pk and @epsl or options[:kxfac])
1045
1044
 
1046
1045
  kx = gsl_vector(:kx).to_box_order
1047
- grho = gsl_vector('grho')[options[:theta_index]]
1046
+ grho = gsl_vector('grho')[get_list_of(:theta).length/2]
1048
1047
 
1049
1048
  phi = GSL::Vector.alloc(kx.size)
1050
1049
  for it in 0...gsl_vector(:t).size
@@ -1172,7 +1171,7 @@ module GSLVectorComplexes
1172
1171
  Dir.chdir(@directory) do
1173
1172
  raise CRFatal.new("write_eigenfunc is not enabled so this function won't work") unless @write_eigenfunc
1174
1173
  options.convert_to_index(self, :t)
1175
- a = netcdf_file.var('phi0').get({
1174
+ a = netcdf_file.var('phi_igomega_by_mode').get({
1176
1175
  'start' => [0,0,0, options[:t_index] - 1],
1177
1176
  'end' => [-1,-1,0, options[:t_index] - 1]
1178
1177
  })
@@ -1217,7 +1216,7 @@ module GSLMatrices
1217
1216
  options.convert_to_index(:t) if options[:t] or options[:t_element]
1218
1217
  options[:t_index] ||= list(:t).keys.max
1219
1218
  #es_heat_by_k index order (in Fortran) is kx, ky, t
1220
- es_heat_narray = netcdf_file.var("es_heat_by_k").get('start' => [0, 0, 0, options[:t_index] - 1], 'end' => [-1, -1, 0, options[:t_index] - 1])
1219
+ es_heat_narray = netcdf_file.var("es_heat_flux_by_mode").get('start' => [0, 0, 0, options[:t_index] - 1], 'end' => [-1, -1, 0, options[:t_index] - 1])
1221
1220
  es_heat_narray.reshape!(*es_heat_narray.shape.slice(0..1))
1222
1221
 
1223
1222
  gm = es_heat_narray.to_gm.move_cols_from_box_order
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gs2crmod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.101
4
+ version: 0.12.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Edmund Highcock
@@ -9,53 +10,60 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2015-07-03 00:00:00.000000000 Z
13
+ date: 2015-07-28 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: coderunner
16
17
  requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
- - - ">="
20
+ - - ! '>='
19
21
  - !ruby/object:Gem::Version
20
22
  version: 0.15.5
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
- - - ">="
28
+ - - ! '>='
26
29
  - !ruby/object:Gem::Version
27
30
  version: 0.15.5
28
31
  - !ruby/object:Gem::Dependency
29
32
  name: rubyhacks
30
33
  requirement: !ruby/object:Gem::Requirement
34
+ none: false
31
35
  requirements:
32
- - - ">="
36
+ - - ! '>='
33
37
  - !ruby/object:Gem::Version
34
38
  version: 0.1.2
35
39
  type: :runtime
36
40
  prerelease: false
37
41
  version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
38
43
  requirements:
39
- - - ">="
44
+ - - ! '>='
40
45
  - !ruby/object:Gem::Version
41
46
  version: 0.1.2
42
47
  - !ruby/object:Gem::Dependency
43
48
  name: ruby-netcdf
44
49
  requirement: !ruby/object:Gem::Requirement
50
+ none: false
45
51
  requirements:
46
- - - ">="
52
+ - - ! '>='
47
53
  - !ruby/object:Gem::Version
48
54
  version: 0.7.1
49
55
  type: :runtime
50
56
  prerelease: false
51
57
  version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
52
59
  requirements:
53
- - - ">="
60
+ - - ! '>='
54
61
  - !ruby/object:Gem::Version
55
62
  version: 0.7.1
56
63
  - !ruby/object:Gem::Dependency
57
64
  name: shoulda
58
65
  requirement: !ruby/object:Gem::Requirement
66
+ none: false
59
67
  requirements:
60
68
  - - '='
61
69
  - !ruby/object:Gem::Version
@@ -63,6 +71,7 @@ dependencies:
63
71
  type: :development
64
72
  prerelease: false
65
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
66
75
  requirements:
67
76
  - - '='
68
77
  - !ruby/object:Gem::Version
@@ -70,57 +79,65 @@ dependencies:
70
79
  - !ruby/object:Gem::Dependency
71
80
  name: rdoc
72
81
  requirement: !ruby/object:Gem::Requirement
82
+ none: false
73
83
  requirements:
74
- - - "~>"
84
+ - - ~>
75
85
  - !ruby/object:Gem::Version
76
86
  version: '3.12'
77
87
  type: :development
78
88
  prerelease: false
79
89
  version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
80
91
  requirements:
81
- - - "~>"
92
+ - - ~>
82
93
  - !ruby/object:Gem::Version
83
94
  version: '3.12'
84
95
  - !ruby/object:Gem::Dependency
85
96
  name: bundler
86
97
  requirement: !ruby/object:Gem::Requirement
98
+ none: false
87
99
  requirements:
88
- - - ">"
100
+ - - ! '>'
89
101
  - !ruby/object:Gem::Version
90
102
  version: 1.0.0
91
103
  type: :development
92
104
  prerelease: false
93
105
  version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
94
107
  requirements:
95
- - - ">"
108
+ - - ! '>'
96
109
  - !ruby/object:Gem::Version
97
110
  version: 1.0.0
98
111
  - !ruby/object:Gem::Dependency
99
112
  name: jeweler
100
113
  requirement: !ruby/object:Gem::Requirement
114
+ none: false
101
115
  requirements:
102
- - - ">="
116
+ - - ! '>='
103
117
  - !ruby/object:Gem::Version
104
118
  version: 1.8.4
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
108
123
  requirements:
109
- - - ">="
124
+ - - ! '>='
110
125
  - !ruby/object:Gem::Version
111
126
  version: 1.8.4
112
127
  - !ruby/object:Gem::Dependency
113
128
  name: minitest
114
129
  requirement: !ruby/object:Gem::Requirement
130
+ none: false
115
131
  requirements:
116
- - - "~>"
132
+ - - ~>
117
133
  - !ruby/object:Gem::Version
118
134
  version: '4'
119
135
  type: :development
120
136
  prerelease: false
121
137
  version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
122
139
  requirements:
123
- - - "~>"
140
+ - - ~>
124
141
  - !ruby/object:Gem::Version
125
142
  version: '4'
126
143
  description: GS2 is a gyrokinetic flux tube initial value turbulence code which can
@@ -136,7 +153,7 @@ extra_rdoc_files:
136
153
  - README.md
137
154
  - README.rdoc
138
155
  files:
139
- - ".document"
156
+ - .document
140
157
  - Gemfile
141
158
  - LICENSE.txt
142
159
  - README.md
@@ -193,25 +210,26 @@ files:
193
210
  homepage: http://gs2crmod.sourceforge.net
194
211
  licenses:
195
212
  - GSLv3
196
- metadata: {}
197
213
  post_install_message:
198
214
  rdoc_options: []
199
215
  require_paths:
200
216
  - lib
201
217
  required_ruby_version: !ruby/object:Gem::Requirement
218
+ none: false
202
219
  requirements:
203
- - - ">="
220
+ - - ! '>='
204
221
  - !ruby/object:Gem::Version
205
222
  version: 1.9.1
206
223
  required_rubygems_version: !ruby/object:Gem::Requirement
224
+ none: false
207
225
  requirements:
208
- - - ">="
226
+ - - ! '>='
209
227
  - !ruby/object:Gem::Version
210
228
  version: '0'
211
229
  requirements: []
212
230
  rubyforge_project:
213
- rubygems_version: 2.2.2
231
+ rubygems_version: 1.8.23
214
232
  signing_key:
215
- specification_version: 4
233
+ specification_version: 3
216
234
  summary: Module to allow CodeRunner to run and analyse the GS2 and AstroGK codes.
217
235
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: c7e94515190d1b62a7db69e4c7070e76565330ff
4
- data.tar.gz: 58c57e1fee6e4f6c6fc2b00bfa1fdae0c000958d
5
- SHA512:
6
- metadata.gz: 5c6b3065b8aadf887e06caabc6282f7ee61a44adf933b56a26c833cb354f3b422aba08c2001e275ef1a33b6cd121c53bad44c335a10446fcf99592ace9be8f66
7
- data.tar.gz: 77daa27fae195f0471cd329539b55ba750fb03e7b86a74fc1bcae348da12f8971b6921f80f8fc8fe7f7f696a12cf0a954267b480040045658e48d0cecaa9fef5