trinitycrmod 0.6.7 → 0.6.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a503c473f40ba4b2ca103f5090436139493cb4bf
4
- data.tar.gz: cc96ac7458372f96ecee8699c46acb961dcb6adb
3
+ metadata.gz: 2deca7cf4f421e80bcc0192a8a0aa5a0ba3bf61d
4
+ data.tar.gz: 9124cb09beb00f542f77a8556331a766412c7e7d
5
5
  SHA512:
6
- metadata.gz: d72b2c4f73867e77416463d28cdc2f417588a2137670789e273231f19cad231bd189e012e32df00bd185e460160b50c4f89ab0d3715e03ac8e16ba988fd82ede
7
- data.tar.gz: 0985fc5769ef619c157882057103078adb5a361d9d6eae0f725dbf61369ae19112aedf26e460bca76e82a079b37611ede885311cb27b0ff7149a439ed8e3d498
6
+ metadata.gz: e0802307c2613319d71789cc590eb4012852551a9b73520a24bc34c0ebbc13f8336984d1d4f17bbcf6f84b8ae48e727dc044b9f8fc6e92d40567aeed77667afc
7
+ data.tar.gz: 8328d59ea46c6011cc99100b705e597d09e22a146336858d4400cad6aa4ca49fa7f32afecd69d56ac24013200545439a97fbdf1a4602c698959497189061075e
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.7
1
+ 0.6.8
@@ -0,0 +1,48 @@
1
+
2
+ class Calib
3
+ def self.analyse_file(filename)
4
+ str = File.read(filename)
5
+ str.sub!(/calibra.*\s+/, '')
6
+ cal = $~[0]
7
+ strs = str.split(/(?=reduced_qflux)/); strs.shift
8
+ return strs.map{|s| new_from_string(cal,s)}
9
+ end
10
+ def self.new_from_string(cal,str)
11
+ pp str
12
+ cal = cal.sub(/cal\w+/,'').split(/\s+/).delete_if{|s| s=~/\A\s*\Z/}.map{|s| s.to_i}
13
+ hash = str.scan(
14
+ /((?:(?:reduced|full)_[pq]flux)|[pq]flux factor)([\deE\s.+-]+)/
15
+ ).inject({}){|h,(k,v)|
16
+ arr = v.split(/\s+/).delete_if{|s| s=~/\A\s*\Z/}.map{|s| s.to_f}
17
+ h[k.gsub(/ /, '_')]=arr.pieces(arr.size>cal.size*3?2:3); h}
18
+ pp hash
19
+ hash[:calibration_jobs] = cal
20
+ new(hash)
21
+ end
22
+ attr_accessor :calibration_jobs
23
+ def initialize(hash)
24
+ hash.each{|k,v| instance_variable_set("@".to_sym + k, v)}
25
+ end
26
+ def pflux_graphkit(i)
27
+ #k = (0..0).to_a.map{|i|
28
+ k = GraphKit.quick_create([@calibration_jobs, raw_pflux_factor(i)], [(0...(@pflux_factor[i].size)).to_a, @pflux_factor[i]])
29
+ #}.sum
30
+ k.data.each{|dk| dk.gp.with = 'lp'}
31
+ k.data[1].title = 'factor'
32
+ k
33
+ end
34
+ def qflux_graphkit(i)
35
+ #k = (0..0).to_a.map{|i|
36
+ k = GraphKit.quick_create([@calibration_jobs, raw_qflux_factor(i)], [(0...(@qflux_factor[i].size)).to_a, @qflux_factor[i]])
37
+ #}.sum
38
+ k.data.each{|dk| dk.gp.with = 'lp'}
39
+ k.data[1].title = 'factor'
40
+ k
41
+ end
42
+ def raw_qflux_factor(i)
43
+ (@full_qflux[i].to_gslv/@reduced_qflux[i].to_gslv).to_a
44
+ end
45
+ def raw_pflux_factor(i)
46
+ (@full_pflux[i].to_gslv/@reduced_pflux[i].to_gslv).to_a
47
+ end
48
+ end
@@ -124,6 +124,28 @@ class CodeRunner::Trinity
124
124
  end
125
125
  end
126
126
 
127
+ # Graph of the ion heat calibration factor
128
+ def ion_hflux_calibration_graphkit(options)
129
+ calibs = Calib.analyse_file("#@directory/#@run_name.calib")
130
+ k = calibs.map{|c| c.qflux_graphkit(0)}.sum
131
+ k.ylabel = 'Qi'
132
+ k
133
+ end
134
+ # Graph of the electron heat calibration factor
135
+ def eln_hflux_calibration_graphkit(options)
136
+ calibs = Calib.analyse_file("#@directory/#@run_name.calib")
137
+ k = calibs.map{|c| c.qflux_graphkit(1)}.sum
138
+ k.ylabel = 'Qe'
139
+ k
140
+ end
141
+ # Graph of the particle flux calibration factor
142
+ def pflux_calibration_graphkit(options)
143
+ calibs = Calib.analyse_file("#@directory/#@run_name.calib")
144
+ k = calibs.map{|c| c.pflux_graphkit(1)}.sum
145
+ k.ylabel = 'Gamma'
146
+ k
147
+ end
148
+
127
149
  include TrinityGraphKits
128
150
 
129
151
  module TrinityMultiKits
@@ -148,6 +170,19 @@ class CodeRunner::Trinity
148
170
  kit
149
171
 
150
172
  end
173
+ def calibration_graphkit(options)
174
+ kit = GraphKit::MultiKit.new(
175
+ [
176
+ ion_hflux_calibration_graphkit(options),
177
+ eln_hflux_calibration_graphkit(options),
178
+ pflux_calibration_graphkit(options)
179
+ ]
180
+ )
181
+ kit.gp.multiplot = "layout 2,2"
182
+ kit.gp.key = "tmargin"
183
+ kit
184
+ end
185
+
151
186
  end
152
187
 
153
188
  include TrinityMultiKits
@@ -24,6 +24,7 @@ class CodeRunner
24
24
  require 'trinitycrmod/check_parameters'
25
25
  require 'trinitycrmod/actual_parameter_values'
26
26
  require 'trinitycrmod/chease'
27
+ require 'trinitycrmod/calib'
27
28
 
28
29
  # Setup gs2 in case people are using it
29
30
  CodeRunner.setup_run_class('gs2')
data/trinitycrmod.gemspec CHANGED
@@ -2,16 +2,16 @@
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: trinitycrmod 0.6.7 ruby lib
5
+ # stub: trinitycrmod 0.6.8 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "trinitycrmod"
9
- s.version = "0.6.7"
9
+ s.version = "0.6.8"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Edmund Highcock"]
14
- s.date = "2015-02-21"
14
+ s.date = "2015-02-22"
15
15
  s.description = "This module allows Trinity, the Multiscale Gyrokinetic Turbulent Transport solver for Fusion Reactors, to harness the power of CodeRunner, a framework for the automated running and analysis of simulations."
16
16
  s.email = "edmundhighcock@sourceforge.net"
17
17
  s.extra_rdoc_files = [
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  "VERSION",
28
28
  "lib/trinitycrmod.rb",
29
29
  "lib/trinitycrmod/actual_parameter_values.rb",
30
+ "lib/trinitycrmod/calib.rb",
30
31
  "lib/trinitycrmod/chease.rb",
31
32
  "lib/trinitycrmod/check_parameters.rb",
32
33
  "lib/trinitycrmod/deleted_variables.rb",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trinitycrmod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmund Highcock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-21 00:00:00.000000000 Z
11
+ date: 2015-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coderunner
@@ -140,6 +140,7 @@ files:
140
140
  - VERSION
141
141
  - lib/trinitycrmod.rb
142
142
  - lib/trinitycrmod/actual_parameter_values.rb
143
+ - lib/trinitycrmod/calib.rb
143
144
  - lib/trinitycrmod/chease.rb
144
145
  - lib/trinitycrmod/check_parameters.rb
145
146
  - lib/trinitycrmod/deleted_variables.rb