genecrmod 0.2.3 → 0.2.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.3
1
+ 0.2.4
data/genecrmod.gemspec CHANGED
@@ -2,16 +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: genecrmod 0.2.3 ruby lib
6
5
 
7
6
  Gem::Specification.new do |s|
8
7
  s.name = "genecrmod"
9
- s.version = "0.2.3"
8
+ s.version = "0.2.4"
10
9
 
11
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
11
  s.authors = ["Edmund Highcock"]
14
- s.date = "2014-12-03"
12
+ s.date = "2015-08-26"
15
13
  s.description = "A module which allows the GENE gyrokinetic code to be run using the CodeRunner framework. "
16
14
  s.email = "edmundhighcock@users.sourceforge.net"
17
15
  s.extra_rdoc_files = [
@@ -37,11 +35,12 @@ Gem::Specification.new do |s|
37
35
  ]
38
36
  s.homepage = "http://github.com/edmundhighcock/genecrmod"
39
37
  s.licenses = ["GPLv3"]
40
- s.rubygems_version = "2.2.2"
38
+ s.require_paths = ["lib"]
39
+ s.rubygems_version = "1.8.23"
41
40
  s.summary = "A module which allows the GENE gyrokinetic code to be run using the CodeRunner framework."
42
41
 
43
42
  if s.respond_to? :specification_version then
44
- s.specification_version = 4
43
+ s.specification_version = 3
45
44
 
46
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
46
  s.add_runtime_dependency(%q<coderunner>, [">= 0.14.2"])
@@ -2,14 +2,8 @@
2
2
  class CodeRunner
3
3
  # This is a customised subclass of the CodeRunner::Run class which allows CodeRunner to run and analyse the GENE gyrokinetic code (see http://www2.ipp.mpg.de/~fsj/gene/)
4
4
  #
5
- #p 'hellllllooooo!!!'
6
5
  class Gene < Run::FortranNamelist
7
6
  #include CodeRunner::SYSTEM_MODULE
8
- #
9
-
10
-
11
-
12
-
13
7
  # Where this file is
14
8
  @code_module_folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file is in
15
9
 
@@ -19,8 +13,6 @@ class CodeRunner
19
13
  # Use the Run::FortranNamelist tools to process the variable database
20
14
  setup_namelists(@code_module_folder)
21
15
 
22
- # Setup gs2 in case people are using it
23
-
24
16
  ################################################
25
17
  # Quantities that are read or determined by CodeRunner
26
18
  # after the simulation has ended
@@ -45,8 +37,6 @@ class CodeRunner
45
37
 
46
38
  # A hook which gets called when printing the standard run information to the screen using the status command.
47
39
  def print_out_line
48
- #p ['id', id, 'ctd', ctd]
49
- #p rcp.results.zip(rcp.results.map{|r| send(r)})
50
40
  name = @run_name
51
41
  name += " (res: #@restart_id)" if @restart_id
52
42
  name += " real_id: #@real_id" if @real_id
@@ -68,47 +58,17 @@ class CodeRunner
68
58
  raise "Restart not tested yet"
69
59
  #new_run = self.dup
70
60
  (rcp.variables).each{|v| new_run.set(v, send(v)) if send(v)}
71
- #if @flux_option == "gs2"
72
- #gs2_runs.each_with_index do |run, i|
73
- #CodeRunner::Gs2.rcp.variables.each{|v| new_run.gs2_runs[i].set(v, run.send(v)) if run.send(v)}
74
- #end
75
- #end
76
- #@naming_pars.delete(:preamble)
77
- #SUBMIT_OPTIONS.each{|v| new_run.set(v, self.send(v)) unless new_run.send(v)}
78
- ##(rcp.results + rcp.gs2_run_info).each{|result| new_run.set(result, nil)}
79
61
  new_run.is_a_restart = true
80
62
  new_run.restart_id = @id
81
63
  new_run.restart_run_name = @run_name
82
64
  new_run.nopt = -1
83
- #new_run.init_option = "restart"
84
- #new_run.iternt_file = @run_name + ".iternt"
85
- #new_run.iterflx_file = @run_name + ".iterflx"
86
- #new_run.init_file = @run_name + ".tmp"
87
- #@runner.nprocs = @nprocs if @runner.nprocs == "1" # 1 is the default so this means the user probably didn't specify nprocs
88
- #raise "Restart must be on the same number of processors as the previous run: new is #{new_run.nprocs.inspect} and old is #{@nprocs.inspect}" if !new_run.nprocs or new_run.nprocs != @nprocs
89
- ### @runner.parameters.each{|var, value| new_run.set(var,value)} if @runner.parameters
90
- ### ep @runner.parameters
91
65
  new_run.run_name = nil
92
66
  new_run.naming_pars = @naming_pars
93
67
  new_run.update_submission_parameters(new_run.parameter_hash.inspect, false) if new_run.parameter_hash
94
68
  new_run.naming_pars.delete(:restart_id)
95
69
  new_run.generate_run_name
96
- #new_run.run_name += '_t'
97
70
  eputs 'Copying GENE Restart file'
98
- ##system "ls #@directory"
99
71
  FileUtils.cp("#@directory/NOUT", "#{new_run.directory}/NIN")
100
- ##########if new_run.flux_option == "gs2" and @flux_option == "gs2"
101
- ##########for i in 0...n_flux_tubes
102
- ##########new_run.gs2_runs[i].directory = new_run.directory + "/flux_tube_#{i+1}"
103
- ##########FileUtils.makedirs(new_run.gs2_runs[i].directory)
104
- ###########ep ['gs2_runs[i] before', gs2_runs[i].nwrite, new_run.gs2_runs[i].nwrite, new_run.gs2_runs[i].parameter_hash]
105
- ##########gs2_runs[i].restart(new_run.gs2_runs[i])
106
- ###########ep ['gs2_runs[i] after', gs2_runs[i].nwrite, new_run.gs2_runs[i].nwrite, new_run.gs2_runs[i].parameter_hash]
107
- ###########new_run.gs2_runs[i].run_name = new_run.run_name + (i+1).to_s
108
- ##########end
109
- ##########end
110
- ##@runner.submit(new_run)
111
- #new_run
112
72
  end
113
73
  # This is a hook which gets called just before submitting a simulation. It sets up the folder and generates any necessary input files.
114
74
  def generate_input_file
@@ -118,6 +78,9 @@ class CodeRunner
118
78
  end
119
79
  @diagdir = "."
120
80
  @n_procs_sim = actual_number_of_processors
81
+ # Simulation time limit is set to ~ 90% of wall mins to allow GENE to
82
+ # exit gracefully
83
+ @timelim = @wall_mins * 55 if @wall_mins
121
84
  write_input_file
122
85
  end
123
86
 
@@ -136,7 +99,6 @@ class CodeRunner
136
99
  text = ""
137
100
  ext = enum ? "_#{enum}" : ""
138
101
  text << "!#{'='*30}\n!#{hash[:description]} #{enum} \n!#{'='*30}\n" if hash[:description]
139
- #text << "&#{namelist}#{ext}\n"
140
102
  text << "&#{namelist}\n"
141
103
  hash[:variables].each do |var, var_hash|
142
104
  code_var = (var_hash[:code_name] or var)
@@ -170,7 +132,6 @@ class CodeRunner
170
132
 
171
133
  # This command uses the infrastructure provided by Run::FortranNamelist, provided by CodeRunner itself.
172
134
  def write_input_file
173
- #File.open("#@run_name.in", 'w'){|file| file.puts input_file_text}
174
135
  File.open("parameters", 'w'){|file| file.puts input_file_text}
175
136
  end
176
137
 
@@ -194,14 +155,12 @@ class CodeRunner
194
155
  #
195
156
  def process_directory_code_specific
196
157
  get_status
197
- #p ['id is', id, 'ctd is ', ctd]
198
158
  if ctd
199
159
  #get_global_results
200
160
  if !nonlinear or nonlinear.fortran_false?
201
161
  get_growth_rates
202
162
  end
203
163
  end
204
- #p ['fusionQ is ', fusionQ]
205
164
  @percent_complete = completed_timesteps.to_f * (istep_nrg||10) / ntimesteps.to_f * 100.0
206
165
  end
207
166
 
@@ -230,11 +189,7 @@ class CodeRunner
230
189
  end
231
190
  def get_completed_timesteps
232
191
  Dir.chdir(@directory) do
233
- #if FileTest.exist?('nrg.dat.h5')
234
- #@completed_timesteps = get_h5_narray_all('nrg.dat.h5', '/nrgIons/time').shape[0]
235
- #else
236
192
  @completed_timesteps = %x[grep '^\\s\\+\\S\\+\\s*$' nrg.dat 2>/dev/null].split("\n").size
237
- #end
238
193
  end
239
194
  end
240
195
 
metadata CHANGED
@@ -1,46 +1,52 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: genecrmod
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Edmund Highcock
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-12-03 00:00:00.000000000 Z
12
+ date: 2015-08-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: coderunner
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - ">="
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: 0.14.2
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - ">="
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.14.2
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: hdf5
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - ">="
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - ">="
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: shoulda
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - '='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - '='
53
60
  - !ruby/object:Gem::Version
@@ -55,74 +62,84 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rdoc
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - "~>"
67
+ - - ~>
60
68
  - !ruby/object:Gem::Version
61
69
  version: '3.12'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - "~>"
75
+ - - ~>
67
76
  - !ruby/object:Gem::Version
68
77
  version: '3.12'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: bundler
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - "~>"
83
+ - - ~>
74
84
  - !ruby/object:Gem::Version
75
85
  version: '1.0'
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - "~>"
91
+ - - ~>
81
92
  - !ruby/object:Gem::Version
82
93
  version: '1.0'
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: jeweler
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
- - - "~>"
99
+ - - ~>
88
100
  - !ruby/object:Gem::Version
89
101
  version: 2.0.1
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
- - - "~>"
107
+ - - ~>
95
108
  - !ruby/object:Gem::Version
96
109
  version: 2.0.1
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: simplecov
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
- - - ">="
115
+ - - ! '>='
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
- - - ">="
123
+ - - ! '>='
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: minitest
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
- - - "~>"
131
+ - - ~>
116
132
  - !ruby/object:Gem::Version
117
133
  version: '4'
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
- - - "~>"
139
+ - - ~>
123
140
  - !ruby/object:Gem::Version
124
141
  version: '4'
125
- description: 'A module which allows the GENE gyrokinetic code to be run using the
142
+ description: ! 'A module which allows the GENE gyrokinetic code to be run using the
126
143
  CodeRunner framework. '
127
144
  email: edmundhighcock@users.sourceforge.net
128
145
  executables: []
@@ -131,7 +148,7 @@ extra_rdoc_files:
131
148
  - LICENSE.txt
132
149
  - README.rdoc
133
150
  files:
134
- - ".document"
151
+ - .document
135
152
  - Gemfile
136
153
  - LICENSE.txt
137
154
  - README.rdoc
@@ -149,26 +166,30 @@ files:
149
166
  homepage: http://github.com/edmundhighcock/genecrmod
150
167
  licenses:
151
168
  - GPLv3
152
- metadata: {}
153
169
  post_install_message:
154
170
  rdoc_options: []
155
171
  require_paths:
156
172
  - lib
157
173
  required_ruby_version: !ruby/object:Gem::Requirement
174
+ none: false
158
175
  requirements:
159
- - - ">="
176
+ - - ! '>='
160
177
  - !ruby/object:Gem::Version
161
178
  version: '0'
179
+ segments:
180
+ - 0
181
+ hash: -2164838482483879517
162
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
+ none: false
163
184
  requirements:
164
- - - ">="
185
+ - - ! '>='
165
186
  - !ruby/object:Gem::Version
166
187
  version: '0'
167
188
  requirements: []
168
189
  rubyforge_project:
169
- rubygems_version: 2.2.2
190
+ rubygems_version: 1.8.23
170
191
  signing_key:
171
- specification_version: 4
192
+ specification_version: 3
172
193
  summary: A module which allows the GENE gyrokinetic code to be run using the CodeRunner
173
194
  framework.
174
195
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 7938f1cf7fa6c6d75757a3d78b995cc0bbcd49c4
4
- data.tar.gz: 72a2d2d1f472665cf5e7279173ae2f8b1647a17c
5
- SHA512:
6
- metadata.gz: a9923c1cbb1e840c62784b6f6fcdb6c7cb46037087e19f0bc1c9fb0ac6f30a20a64ca5a044edc5a477028d9fbf32126a51110bbb705a5b15f01532e5ec71dd2e
7
- data.tar.gz: 722b2b098f705b6f53897e43f7c6166e38da9787e4b34a325e7f4d3e9e2dd68e44347d32064a2de243258630a03f9a7149cb1cfe351b049b6442971d311e8e98