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 +1 -1
- data/genecrmod.gemspec +5 -6
- data/lib/genecrmod/gene.rb +3 -48
- data/test/linear_run/.CODE_RUNNER_TEMP_RUN_LIST_CACHE +0 -0
- metadata +44 -23
- checksums.yaml +0 -7
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
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.
|
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 = "
|
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.
|
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 =
|
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"])
|
data/lib/genecrmod/gene.rb
CHANGED
@@ -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
|
|
Binary file
|
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.
|
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:
|
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
|
-
-
|
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:
|
190
|
+
rubygems_version: 1.8.23
|
170
191
|
signing_key:
|
171
|
-
specification_version:
|
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
|