ecomcrmod 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3800303b163fadb3ddabb9fbe76ceb91328c1afa
4
+ data.tar.gz: 44c740dfb00700e0c16cb953c4896c6ab7b96025
5
+ SHA512:
6
+ metadata.gz: 1e0b5f8afb9c02523aeb1fdac544ef8dfec0c54596e4f9b516d9b455cf191e03bbeb8a89b67b163844fa705722f68af417b889819c3b45e5c4d7da86ff343368
7
+ data.tar.gz: cc6f27a9c81cb1991f2b7ffe69f3c950513b760f0a34d6f2c86db86c6931928888f3370801e95a6c0e363627533aeac97f7ed34cbd16c24f7b8439cc905e1f4d
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,16 @@
1
+ source "http://rubygems.org"
2
+ # Add dependencies required to use your gem here.
3
+ # Example:
4
+ # gem "activesupport", ">= 2.3.5"
5
+ gem "coderunner", ">= 0.14.2"
6
+
7
+ # Add dependencies to develop your gem here.
8
+ # Include everything needed to run rake, tests, features, etc.
9
+ group :development do
10
+ gem "shoulda", " 3.0.1"
11
+ gem "rdoc", "~> 3.12"
12
+ gem "bundler", "~> 1.0"
13
+ gem "jeweler", "~> 2.0.1"
14
+ gem "simplecov", ">= 0"
15
+ gem "minitest", "~> 4"
16
+ end
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2015 Edmund Highcock
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,19 @@
1
+ = ecomcrmod
2
+
3
+ Description goes here.
4
+
5
+ == Contributing to ecomcrmod
6
+
7
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
8
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
9
+ * Fork the project.
10
+ * Start a feature/bugfix branch.
11
+ * Commit and push until you are happy with your contribution.
12
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) 2015 Edmund Highcock. See LICENSE.txt for
18
+ further details.
19
+
@@ -0,0 +1,57 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
+ gem.name = "ecomcrmod"
18
+ gem.homepage = "http://github.com/edmundhighcock/ecomcrmod"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{A module to allow CodeRunner to run the Grad-Shafranov solver ECOM}
21
+ gem.description = %Q{A module to allow CodeRunner to run the Grad-Shafranov solver ECOM}
22
+ gem.email = "edmundhighcock@users.sourceforge.net"
23
+ gem.authors = ["Edmund Highcock"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rake/testtask'
29
+ Rake::TestTask.new(:test) do |test|
30
+ test.libs << 'lib' << 'test'
31
+ test.pattern = 'test/**/test_*.rb'
32
+ test.verbose = true
33
+ end
34
+
35
+ desc "Code coverage detail"
36
+ task :simplecov do
37
+ ENV['COVERAGE'] = "true"
38
+ Rake::Task['test'].execute
39
+ end
40
+
41
+ task :default => :test
42
+
43
+ Rake::TestTask.new(:sync_variables) do |test|
44
+ test.libs << 'lib' << 'sync_variables'
45
+ test.pattern = 'sync_variables/sync_variables.rb'
46
+ test.verbose = true
47
+ end
48
+
49
+ require 'rdoc/task'
50
+ Rake::RDocTask.new do |rdoc|
51
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
52
+
53
+ rdoc.rdoc_dir = 'rdoc'
54
+ rdoc.title = "ecomcrmod #{version}"
55
+ rdoc.rdoc_files.include('README*')
56
+ rdoc.rdoc_files.include('lib/**/*.rb')
57
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -0,0 +1 @@
1
+ require 'ecomcrmod/ecom'
@@ -0,0 +1,248 @@
1
+
2
+ class CodeRunner
3
+ # This is a customised subclass of the CodeRunner::Run class which allows CodeRunner to run and analyse the Grad Shafranov solver ECOM (see Lee & Cerfon, CPC, 2015)
4
+ #
5
+ class Ecom < Run::FortranNamelist
6
+ #include CodeRunner::SYSTEM_MODULE
7
+ #
8
+
9
+
10
+
11
+
12
+ # Where this file is
13
+ @code_module_folder = folder = File.dirname(File.expand_path(__FILE__)) # i.e. the directory this file is in
14
+
15
+ # Use the Run::FortranNamelist tools to process the variable database
16
+ setup_namelists(@code_module_folder)
17
+
18
+ ################################################
19
+ # Quantities that are read or determined by CodeRunner
20
+ # after the simulation has ended
21
+ ###################################################
22
+
23
+ @results = [
24
+ ]
25
+
26
+ @code_long="ECOM Grad Shafranov Solver"
27
+
28
+ @run_info=[:time, :is_a_restart, :restart_id, :restart_run_name, :completed_timesteps, :percent_complete]
29
+
30
+ @uses_mpi = false
31
+
32
+ @modlet_required = false
33
+
34
+ @naming_pars = []
35
+
36
+ # Any folders which are a number will contain the results from flux simulations.
37
+ @excluded_sub_folders = []
38
+
39
+ # A hook which gets called when printing the standard run information to the screen using the status command.
40
+ def print_out_line
41
+ #p ['id', id, 'ctd', ctd]
42
+ #p rcp.results.zip(rcp.results.map{|r| send(r)})
43
+ name = @run_name
44
+ name += " (res: #@restart_id)" if @restart_id
45
+ name += " real_id: #@real_id" if @real_id
46
+ beginning = sprintf("%2d:%d %-60s %1s:%2.1f(%s) %3s%1s", @id, @job_no, name, @status.to_s[0,1], @run_time.to_f / 60.0, @nprocs.to_s, percent_complete, "%")
47
+ if ctd
48
+ #beginning += sprintf("Q:%f, Pfusion:%f MW, Ti0:%f keV, Te0:%f keV, n0:%f x10^20", fusionQ, pfus, ti0, te0, ne0)
49
+ end
50
+ beginning += " ---#{@comment}" if @comment
51
+ beginning
52
+ end
53
+
54
+
55
+
56
+ # Modify new_run so that it becomes a restart of self. Adusts
57
+ # all the parameters of the new run to be equal to the parameters
58
+ # of the run that calls this function, and sets up its run name
59
+ # correctly
60
+ def restart(new_run)
61
+ #new_run = self.dup
62
+ (rcp.variables).each{|v| new_run.set(v, send(v)) if send(v)}
63
+ #if @flux_option == "gs2"
64
+ #gs2_runs.each_with_index do |run, i|
65
+ #CodeRunner::Gs2.rcp.variables.each{|v| new_run.gs2_runs[i].set(v, run.send(v)) if run.send(v)}
66
+ #end
67
+ #end
68
+ #@naming_pars.delete(:preamble)
69
+ #SUBMIT_OPTIONS.each{|v| new_run.set(v, self.send(v)) unless new_run.send(v)}
70
+ ##(rcp.results + rcp.gs2_run_info).each{|result| new_run.set(result, nil)}
71
+ new_run.is_a_restart = true
72
+ new_run.restart_id = @id
73
+ new_run.restart_run_name = @run_name
74
+ new_run.nopt = -1
75
+ #new_run.init_option = "restart"
76
+ #new_run.iternt_file = @run_name + ".iternt"
77
+ #new_run.iterflx_file = @run_name + ".iterflx"
78
+ #new_run.init_file = @run_name + ".tmp"
79
+ #@runner.nprocs = @nprocs if @runner.nprocs == "1" # 1 is the default so this means the user probably didn't specify nprocs
80
+ #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
81
+ ### @runner.parameters.each{|var, value| new_run.set(var,value)} if @runner.parameters
82
+ ### ep @runner.parameters
83
+ new_run.run_name = nil
84
+ new_run.naming_pars = @naming_pars
85
+ new_run.update_submission_parameters(new_run.parameter_hash.inspect, false) if new_run.parameter_hash
86
+ new_run.naming_pars.delete(:restart_id)
87
+ new_run.generate_run_name
88
+ #new_run.run_name += '_t'
89
+ eputs 'Copying CHEASE Restart file'
90
+ ##system "ls #@directory"
91
+ FileUtils.cp("#@directory/NOUT", "#{new_run.directory}/NIN")
92
+ ##########if new_run.flux_option == "gs2" and @flux_option == "gs2"
93
+ ##########for i in 0...n_flux_tubes
94
+ ##########new_run.gs2_runs[i].directory = new_run.directory + "/flux_tube_#{i+1}"
95
+ ##########FileUtils.makedirs(new_run.gs2_runs[i].directory)
96
+ ###########ep ['gs2_runs[i] before', gs2_runs[i].nwrite, new_run.gs2_runs[i].nwrite, new_run.gs2_runs[i].parameter_hash]
97
+ ##########gs2_runs[i].restart(new_run.gs2_runs[i])
98
+ ###########ep ['gs2_runs[i] after', gs2_runs[i].nwrite, new_run.gs2_runs[i].nwrite, new_run.gs2_runs[i].parameter_hash]
99
+ ###########new_run.gs2_runs[i].run_name = new_run.run_name + (i+1).to_s
100
+ ##########end
101
+ ##########end
102
+ ##@runner.submit(new_run)
103
+ #new_run
104
+ end
105
+ # This is a hook which gets called just before submitting a simulation. It sets up the folder and generates any necessary input files.
106
+ def generate_input_file
107
+ check_parameters
108
+ if @restart_id
109
+ @runner.run_list[@restart_id].restart(self)
110
+ end
111
+ write_input_file
112
+ end
113
+
114
+ def check_parameters
115
+ end
116
+
117
+
118
+
119
+ def vim_output
120
+ system "vim -Ro #{output_file} #{error_file}"
121
+ end
122
+ alias :vo :vim_output
123
+
124
+ # This command uses the infrastructure provided by Run::FortranNamelist, provided by CodeRunner itself.
125
+ def write_input_file
126
+ File.open("ecom.in", 'w'){|file| file.puts input_file_text}
127
+ end
128
+
129
+ # Parameters which follow the Trinity executable, in this case just the input file.
130
+ def parameter_string
131
+ " ecom.in"
132
+ end
133
+
134
+ def parameter_transition
135
+ end
136
+
137
+ def generate_component_runs
138
+ #puts "HERE"
139
+ end
140
+
141
+
142
+
143
+ @source_code_subfolders = []
144
+
145
+ # This method, as its name suggests, is called whenever CodeRunner is asked to analyse a run directory. This happens if the run status is not :Complete, or if the user has specified recalc_all(-A on the command line) or reprocess_all (-a on the command line).
146
+ #
147
+ def process_directory_code_specific
148
+ get_status
149
+ #p ['id is', id, 'ctd is ', ctd]
150
+ #if ctd
151
+ #get_global_results
152
+ #end
153
+ #p ['fusionQ is ', fusionQ]
154
+ #@percent_complete = completed_timesteps.to_f / ntstep.to_f * 100.0
155
+ end
156
+
157
+ def get_status
158
+ if not @running
159
+ if FileTest.exist? 'trinity.out'
160
+ @status = :Complete
161
+ else
162
+ @status = :Failed
163
+ end
164
+ end
165
+ end
166
+
167
+
168
+ #@fortran_namelist_source_file_match = /(?<!assign_code_parameters)((\.f9[05])|(\.fpp)|COMDAT.inc)$/
169
+
170
+ def input_file_header
171
+ <<EOF
172
+ !==============================================================================
173
+ ! ECOM INPUT FILE automatically generated by CodeRunner
174
+ !==============================================================================
175
+ !
176
+ ! ECOM is a code which solves the Grad Shafranov equation
177
+ !
178
+ ! See Lee & Cerfon, Comp Phys Comm, 2015
179
+ !
180
+ ! CodeRunner is a framework for the automated running and analysis
181
+ ! of large simulations.
182
+ !
183
+ ! See http://coderunner.sourceforge.net
184
+ !
185
+ ! Created #{Time.now.to_s}
186
+ ! by CodeRunner version #{CodeRunner::CODE_RUNNER_VERSION.to_s}
187
+ !
188
+ !==============================================================================
189
+
190
+ EOF
191
+ end
192
+ def self.defaults_file_header
193
+ <<EOF1
194
+ ############################################################################
195
+ # #
196
+ # Automatically generated defaults file for the ECOM CodeRunner module #
197
+ # #
198
+ # This defaults file specifies a set of defaults for ECOM which are #
199
+ # used by CodeRunner to set up and run ECOM simulations. #
200
+ # #
201
+ ############################################################################
202
+
203
+ # Created: #{Time.now.to_s}
204
+
205
+ @defaults_file_description = ""
206
+ EOF1
207
+ end
208
+
209
+
210
+ def input_file_extension
211
+ ''
212
+ end
213
+
214
+ @msdatching_regex = Regexp.new('(^|\A)(?<everything>[^!
215
+ ]*?\b #a word boundary
216
+
217
+ (?<name>[A-Za-z_]\w*) # the name, which must be a single word (not beginning
218
+ # with a digit) followed by
219
+
220
+ \s*=\s* # an equals sign (possibly with whitespace either side), then
221
+
222
+ (?<default>(?> # the default answer, which can be either:
223
+
224
+ (?<string>' + Regexp.quoted_string.to_s + ') # a quoted string
225
+
226
+ | # or
227
+
228
+
229
+ (?<float>\-?(?:(?>\d+\.\d*)|(?>\d*\.\d+))(?:[eEdD][+-]?\d+)?)(?:_RKIND)? # a floating point number
230
+
231
+ | #or
232
+
233
+ (?<int>\-?\d++) # an integer
234
+
235
+ | #or
236
+
237
+ (?<complex>\((?:\-?(?:(?>\d+\.\d*)|(?>\d*\.\d+))(?:[eEdD][+-]?\d+)?),\s*(?:\-?(?:(?>\d+\.\d*)|(?>\d*\.\d+))(?:[eEdD][+-]?\d+)?)\)) #a complex number
238
+
239
+ | #or
240
+
241
+
242
+ (?:(?<word>\S+)(?=\s|\)|\]|[\n\r]+|\Z)) # a single word containing no spaces
243
+ # which must be followed by a space or ) or ] or \n or \Z
244
+
245
+ )))', Regexp::EXTENDED)
246
+ end
247
+ end
248
+
@@ -0,0 +1,1121 @@
1
+ {:gsparameter=>
2
+ {:description=>"",
3
+ :should_include=>"true",
4
+ :variables=>
5
+ {:iecom=>
6
+ {:should_include=>"true",
7
+ :description=>nil,
8
+ :help=>nil,
9
+ :code_name=>:iecom,
10
+ :must_pass=>
11
+ [{:test=>"kind_of? Integer",
12
+ :explanation=>"This variable must be an integer."}],
13
+ :type=>:Integer},
14
+ :iptype=>
15
+ {:should_include=>"true",
16
+ :description=>nil,
17
+ :help=>nil,
18
+ :code_name=>:iptype,
19
+ :must_pass=>
20
+ [{:test=>"kind_of? Integer",
21
+ :explanation=>"This variable must be an integer."}],
22
+ :type=>:Integer},
23
+ :iftype=>
24
+ {:should_include=>"true",
25
+ :description=>nil,
26
+ :help=>nil,
27
+ :code_name=>:iftype,
28
+ :must_pass=>
29
+ [{:test=>"kind_of? Integer",
30
+ :explanation=>"This variable must be an integer."}],
31
+ :type=>:Integer},
32
+ :ibtype=>
33
+ {:should_include=>"true",
34
+ :description=>nil,
35
+ :help=>nil,
36
+ :code_name=>:ibtype,
37
+ :must_pass=>
38
+ [{:test=>"kind_of? Integer",
39
+ :explanation=>"This variable must be an integer."}],
40
+ :type=>:Integer},
41
+ :file_prof=>
42
+ {:should_include=>"true",
43
+ :description=>nil,
44
+ :help=>nil,
45
+ :code_name=>:file_prof,
46
+ :must_pass=>
47
+ [{:test=>"kind_of? String",
48
+ :explanation=>"This variable must be a string."}],
49
+ :type=>:String},
50
+ :file_bc=>
51
+ {:should_include=>"true",
52
+ :description=>nil,
53
+ :help=>nil,
54
+ :code_name=>:file_bc,
55
+ :must_pass=>
56
+ [{:test=>"kind_of? String",
57
+ :explanation=>"This variable must be a string."}],
58
+ :type=>:String},
59
+ :file_efit=>
60
+ {:should_include=>"true",
61
+ :description=>nil,
62
+ :help=>nil,
63
+ :code_name=>:file_efit,
64
+ :must_pass=>
65
+ [{:test=>"kind_of? String",
66
+ :explanation=>"This variable must be a string."}],
67
+ :type=>:String},
68
+ :file_tflow=>
69
+ {:should_include=>"true",
70
+ :description=>nil,
71
+ :help=>nil,
72
+ :code_name=>:file_tflow,
73
+ :must_pass=>
74
+ [{:test=>"kind_of? String",
75
+ :explanation=>"This variable must be a string."}],
76
+ :type=>:String},
77
+ :nt1=>
78
+ {:should_include=>"true",
79
+ :description=>nil,
80
+ :help=>nil,
81
+ :code_name=>:nt1,
82
+ :must_pass=>
83
+ [{:test=>"kind_of? Integer",
84
+ :explanation=>"This variable must be an integer."}],
85
+ :type=>:Integer},
86
+ :nt2=>
87
+ {:should_include=>"true",
88
+ :description=>nil,
89
+ :help=>nil,
90
+ :code_name=>:nt2,
91
+ :must_pass=>
92
+ [{:test=>"kind_of? Integer",
93
+ :explanation=>"This variable must be an integer."}],
94
+ :type=>:Integer},
95
+ :klag=>
96
+ {:should_include=>"true",
97
+ :description=>nil,
98
+ :help=>nil,
99
+ :code_name=>:klag,
100
+ :must_pass=>
101
+ [{:test=>"kind_of? Integer",
102
+ :explanation=>"This variable must be an integer."}],
103
+ :type=>:Integer},
104
+ :ksamp=>
105
+ {:should_include=>"true",
106
+ :description=>nil,
107
+ :help=>nil,
108
+ :code_name=>:ksamp,
109
+ :must_pass=>
110
+ [{:test=>"kind_of? Integer",
111
+ :explanation=>"This variable must be an integer."}],
112
+ :type=>:Integer},
113
+ :ksamp2=>
114
+ {:should_include=>"true",
115
+ :description=>nil,
116
+ :help=>nil,
117
+ :code_name=>:ksamp2,
118
+ :must_pass=>
119
+ [{:test=>"kind_of? Integer",
120
+ :explanation=>"This variable must be an integer."}],
121
+ :type=>:Integer},
122
+ :nsub=>
123
+ {:should_include=>"true",
124
+ :description=>nil,
125
+ :help=>nil,
126
+ :code_name=>:nsub,
127
+ :must_pass=>
128
+ [{:test=>"kind_of? Integer",
129
+ :explanation=>"This variable must be an integer."}],
130
+ :type=>:Integer},
131
+ :kcheb=>
132
+ {:should_include=>"true",
133
+ :description=>nil,
134
+ :help=>nil,
135
+ :code_name=>:kcheb,
136
+ :must_pass=>
137
+ [{:test=>"kind_of? Integer",
138
+ :explanation=>"This variable must be an integer."}],
139
+ :type=>:Integer},
140
+ :eps=>
141
+ {:should_include=>"true",
142
+ :description=>nil,
143
+ :help=>nil,
144
+ :code_name=>:eps,
145
+ :must_pass=>
146
+ [{:test=>"kind_of? Numeric",
147
+ :explanation=>
148
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
149
+ :type=>:Float},
150
+ :epsiter=>
151
+ {:should_include=>"true",
152
+ :description=>nil,
153
+ :help=>nil,
154
+ :code_name=>:epsiter,
155
+ :must_pass=>
156
+ [{:test=>"kind_of? Numeric",
157
+ :explanation=>
158
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
159
+ :type=>:Float},
160
+ :epslag=>
161
+ {:should_include=>"true",
162
+ :description=>nil,
163
+ :help=>nil,
164
+ :code_name=>:epslag,
165
+ :must_pass=>
166
+ [{:test=>"kind_of? Numeric",
167
+ :explanation=>
168
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
169
+ :type=>:Float},
170
+ :epslag2=>
171
+ {:should_include=>"true",
172
+ :description=>nil,
173
+ :help=>nil,
174
+ :code_name=>:epslag2,
175
+ :must_pass=>
176
+ [{:test=>"kind_of? Numeric",
177
+ :explanation=>
178
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
179
+ :type=>:Float},
180
+ :maxiter=>
181
+ {:should_include=>"true",
182
+ :description=>nil,
183
+ :help=>nil,
184
+ :code_name=>:maxiter,
185
+ :must_pass=>
186
+ [{:test=>"kind_of? Integer",
187
+ :explanation=>"This variable must be an integer."}],
188
+ :type=>:Integer},
189
+ :epsmaxdist=>
190
+ {:should_include=>"true",
191
+ :description=>nil,
192
+ :help=>nil,
193
+ :code_name=>:epsmaxdist,
194
+ :must_pass=>
195
+ [{:test=>"kind_of? Numeric",
196
+ :explanation=>
197
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
198
+ :type=>:Float},
199
+ :nchq=>
200
+ {:should_include=>"true",
201
+ :description=>nil,
202
+ :help=>nil,
203
+ :code_name=>:nchq,
204
+ :must_pass=>
205
+ [{:test=>"kind_of? Integer",
206
+ :explanation=>"This variable must be an integer."}],
207
+ :type=>:Integer},
208
+ :nflx=>
209
+ {:should_include=>"true",
210
+ :description=>nil,
211
+ :help=>nil,
212
+ :code_name=>:nflx,
213
+ :must_pass=>
214
+ [{:test=>"kind_of? Integer",
215
+ :explanation=>"This variable must be an integer."}],
216
+ :type=>:Integer},
217
+ :psiflx=>
218
+ {:should_include=>"true",
219
+ :description=>nil,
220
+ :help=>nil,
221
+ :code_name=>:psiflx,
222
+ :must_pass=>
223
+ [{:test=>"kind_of? Numeric",
224
+ :explanation=>
225
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
226
+ :type=>:Float},
227
+ :reps=>
228
+ {:should_include=>"true",
229
+ :description=>nil,
230
+ :help=>nil,
231
+ :code_name=>:reps,
232
+ :must_pass=>
233
+ [{:test=>"kind_of? Numeric",
234
+ :explanation=>
235
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
236
+ :type=>:Float},
237
+ :rkappa=>
238
+ {:should_include=>"true",
239
+ :description=>nil,
240
+ :help=>nil,
241
+ :code_name=>:rkappa,
242
+ :must_pass=>
243
+ [{:test=>"kind_of? Numeric",
244
+ :explanation=>
245
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
246
+ :type=>:Float},
247
+ :delta=>
248
+ {:should_include=>"true",
249
+ :description=>nil,
250
+ :help=>nil,
251
+ :code_name=>:delta,
252
+ :must_pass=>
253
+ [{:test=>"kind_of? Numeric",
254
+ :explanation=>
255
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
256
+ :type=>:Float},
257
+ :r0=>
258
+ {:should_include=>"true",
259
+ :description=>nil,
260
+ :help=>nil,
261
+ :code_name=>:r0,
262
+ :must_pass=>
263
+ [{:test=>"kind_of? Numeric",
264
+ :explanation=>
265
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
266
+ :type=>:Float},
267
+ :rmid=>
268
+ {:should_include=>"true",
269
+ :description=>nil,
270
+ :help=>nil,
271
+ :code_name=>:rmid,
272
+ :must_pass=>
273
+ [{:test=>"kind_of? Numeric",
274
+ :explanation=>
275
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
276
+ :type=>:Float},
277
+ :z0=>
278
+ {:should_include=>"true",
279
+ :description=>nil,
280
+ :help=>nil,
281
+ :code_name=>:z0,
282
+ :must_pass=>
283
+ [{:test=>"kind_of? Numeric",
284
+ :explanation=>
285
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
286
+ :type=>:Float},
287
+ :q0=>
288
+ {:should_include=>"true",
289
+ :description=>nil,
290
+ :help=>nil,
291
+ :code_name=>:q0,
292
+ :must_pass=>
293
+ [{:test=>"kind_of? Numeric",
294
+ :explanation=>
295
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
296
+ :type=>:Float},
297
+ :f0=>
298
+ {:should_include=>"true",
299
+ :description=>nil,
300
+ :help=>nil,
301
+ :code_name=>:f0,
302
+ :must_pass=>
303
+ [{:test=>"kind_of? Numeric",
304
+ :explanation=>
305
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
306
+ :type=>:Float},
307
+ :fedge=>
308
+ {:should_include=>"true",
309
+ :description=>nil,
310
+ :help=>nil,
311
+ :code_name=>:fedge,
312
+ :must_pass=>
313
+ [{:test=>"kind_of? Numeric",
314
+ :explanation=>
315
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
316
+ :type=>:Float},
317
+ :p0=>
318
+ {:should_include=>"true",
319
+ :description=>nil,
320
+ :help=>nil,
321
+ :code_name=>:p0,
322
+ :must_pass=>
323
+ [{:test=>"kind_of? Numeric",
324
+ :explanation=>
325
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
326
+ :type=>:Float},
327
+ :pin=>
328
+ {:should_include=>"true",
329
+ :description=>nil,
330
+ :help=>nil,
331
+ :code_name=>:pin,
332
+ :must_pass=>
333
+ [{:test=>"kind_of? Numeric",
334
+ :explanation=>
335
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
336
+ :type=>:Float},
337
+ :pout=>
338
+ {:should_include=>"true",
339
+ :description=>nil,
340
+ :help=>nil,
341
+ :code_name=>:pout,
342
+ :must_pass=>
343
+ [{:test=>"kind_of? Numeric",
344
+ :explanation=>
345
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
346
+ :type=>:Float},
347
+ :ff0=>
348
+ {:should_include=>"true",
349
+ :description=>nil,
350
+ :help=>nil,
351
+ :code_name=>:ff0,
352
+ :must_pass=>
353
+ [{:test=>"kind_of? Numeric",
354
+ :explanation=>
355
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
356
+ :type=>:Float},
357
+ :ffin=>
358
+ {:should_include=>"true",
359
+ :description=>nil,
360
+ :help=>nil,
361
+ :code_name=>:ffin,
362
+ :must_pass=>
363
+ [{:test=>"kind_of? Numeric",
364
+ :explanation=>
365
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
366
+ :type=>:Float},
367
+ :ffout=>
368
+ {:should_include=>"true",
369
+ :description=>nil,
370
+ :help=>nil,
371
+ :code_name=>:ffout,
372
+ :must_pass=>
373
+ [{:test=>"kind_of? Numeric",
374
+ :explanation=>
375
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
376
+ :type=>:Float},
377
+ :ptf0=>
378
+ {:should_include=>"true",
379
+ :description=>nil,
380
+ :help=>nil,
381
+ :code_name=>:ptf0,
382
+ :must_pass=>
383
+ [{:test=>"kind_of? Numeric",
384
+ :explanation=>
385
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
386
+ :type=>:Float},
387
+ :ptfin=>
388
+ {:should_include=>"true",
389
+ :description=>nil,
390
+ :help=>nil,
391
+ :code_name=>:ptfin,
392
+ :must_pass=>
393
+ [{:test=>"kind_of? Numeric",
394
+ :explanation=>
395
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
396
+ :type=>:Float},
397
+ :ptfout=>
398
+ {:should_include=>"true",
399
+ :description=>nil,
400
+ :help=>nil,
401
+ :code_name=>:ptfout,
402
+ :must_pass=>
403
+ [{:test=>"kind_of? Numeric",
404
+ :explanation=>
405
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
406
+ :type=>:Float},
407
+ :ptfmax=>
408
+ {:should_include=>"true",
409
+ :description=>nil,
410
+ :help=>nil,
411
+ :code_name=>:ptfmax,
412
+ :must_pass=>
413
+ [{:test=>"kind_of? Numeric",
414
+ :explanation=>
415
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
416
+ :type=>:Float},
417
+ :ptfloc=>
418
+ {:should_include=>"true",
419
+ :description=>nil,
420
+ :help=>nil,
421
+ :code_name=>:ptfloc,
422
+ :must_pass=>
423
+ [{:test=>"kind_of? Numeric",
424
+ :explanation=>
425
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
426
+ :type=>:Float},
427
+ :ptfw=>
428
+ {:should_include=>"true",
429
+ :description=>nil,
430
+ :help=>nil,
431
+ :code_name=>:ptfw,
432
+ :must_pass=>
433
+ [{:test=>"kind_of? Numeric",
434
+ :explanation=>
435
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
436
+ :type=>:Float},
437
+ :mach=>
438
+ {:should_include=>"true",
439
+ :description=>nil,
440
+ :help=>nil,
441
+ :code_name=>:mach,
442
+ :must_pass=>
443
+ [{:test=>"kind_of? Numeric",
444
+ :explanation=>
445
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
446
+ :type=>:Float},
447
+ :isymud=>
448
+ {:should_include=>"true",
449
+ :description=>nil,
450
+ :help=>nil,
451
+ :code_name=>:isymud,
452
+ :must_pass=>
453
+ [{:test=>"kind_of? Integer",
454
+ :explanation=>"This variable must be an integer."}],
455
+ :type=>:Integer},
456
+ :ifpol=>
457
+ {:should_include=>"true",
458
+ :description=>nil,
459
+ :help=>nil,
460
+ :code_name=>:ifpol,
461
+ :must_pass=>
462
+ [{:test=>"kind_of? Integer",
463
+ :explanation=>"This variable must be an integer."}],
464
+ :type=>:Integer},
465
+ :torcur=>
466
+ {:should_include=>"true",
467
+ :description=>nil,
468
+ :help=>nil,
469
+ :code_name=>:torcur,
470
+ :must_pass=>
471
+ [{:test=>"kind_of? Numeric",
472
+ :explanation=>
473
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
474
+ :type=>:Float},
475
+ :lambdaex=>
476
+ {:should_include=>"true",
477
+ :description=>nil,
478
+ :help=>nil,
479
+ :code_name=>:lambdaex,
480
+ :must_pass=>
481
+ [{:test=>"kind_of? Numeric",
482
+ :explanation=>
483
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
484
+ :type=>:Float},
485
+ :iprintsol=>
486
+ {:should_include=>"true",
487
+ :description=>nil,
488
+ :help=>nil,
489
+ :code_name=>:iprintsol,
490
+ :must_pass=>
491
+ [{:test=>"kind_of? Integer",
492
+ :explanation=>"This variable must be an integer."}],
493
+ :type=>:Integer},
494
+ :iprintsoldisk=>
495
+ {:should_include=>"true",
496
+ :description=>nil,
497
+ :help=>nil,
498
+ :code_name=>:iprintsoldisk,
499
+ :must_pass=>
500
+ [{:test=>"kind_of? Integer",
501
+ :explanation=>"This variable must be an integer."}],
502
+ :type=>:Integer},
503
+ :iprintcon=>
504
+ {:should_include=>"true",
505
+ :description=>nil,
506
+ :help=>nil,
507
+ :code_name=>:iprintcon,
508
+ :must_pass=>
509
+ [{:test=>"kind_of? Integer",
510
+ :explanation=>"This variable must be an integer."}],
511
+ :type=>:Integer},
512
+ :iprintqs=>
513
+ {:should_include=>"true",
514
+ :description=>nil,
515
+ :help=>nil,
516
+ :code_name=>:iprintqs,
517
+ :must_pass=>
518
+ [{:test=>"kind_of? Integer",
519
+ :explanation=>"This variable must be an integer."}],
520
+ :type=>:Integer},
521
+ :ifitmil=>
522
+ {:should_include=>"true",
523
+ :description=>nil,
524
+ :help=>nil,
525
+ :code_name=>:ifitmil,
526
+ :must_pass=>
527
+ [{:test=>"kind_of? Integer",
528
+ :explanation=>"This variable must be an integer."}],
529
+ :type=>:Integer},
530
+ :iscale=>
531
+ {:should_include=>"true",
532
+ :description=>nil,
533
+ :help=>nil,
534
+ :code_name=>:iscale,
535
+ :must_pass=>
536
+ [{:test=>"kind_of? Integer",
537
+ :explanation=>"This variable must be an integer."}],
538
+ :type=>:Integer},
539
+ :iprintmap=>
540
+ {:should_include=>"true",
541
+ :description=>nil,
542
+ :help=>nil,
543
+ :code_name=>:iprintmap,
544
+ :must_pass=>
545
+ [{:test=>"kind_of? Integer",
546
+ :explanation=>"This variable must be an integer."}],
547
+ :type=>:Integer},
548
+ :itftype=>
549
+ {:should_include=>"true",
550
+ :description=>nil,
551
+ :help=>nil,
552
+ :code_name=>:itftype,
553
+ :must_pass=>
554
+ [{:test=>"kind_of? Integer",
555
+ :explanation=>"This variable must be an integer."}],
556
+ :type=>:Integer},
557
+ :qfac=>
558
+ {:should_include=>"true",
559
+ :description=>nil,
560
+ :help=>nil,
561
+ :code_name=>:qfac,
562
+ :must_pass=>
563
+ [{:test=>"kind_of? Numeric",
564
+ :explanation=>
565
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
566
+ :type=>:Float},
567
+ :qpin=>
568
+ {:should_include=>"true",
569
+ :description=>nil,
570
+ :help=>nil,
571
+ :code_name=>:qpin,
572
+ :must_pass=>
573
+ [{:test=>"kind_of? Numeric",
574
+ :explanation=>
575
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
576
+ :type=>:Float},
577
+ :qpout=>
578
+ {:should_include=>"true",
579
+ :description=>nil,
580
+ :help=>nil,
581
+ :code_name=>:qpout,
582
+ :must_pass=>
583
+ [{:test=>"kind_of? Numeric",
584
+ :explanation=>
585
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
586
+ :type=>:Float},
587
+ :ffac=>
588
+ {:should_include=>"true",
589
+ :description=>nil,
590
+ :help=>nil,
591
+ :code_name=>:ffac,
592
+ :must_pass=>
593
+ [{:test=>"kind_of? Numeric",
594
+ :explanation=>
595
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
596
+ :type=>:Float},
597
+ :fpin=>
598
+ {:should_include=>"true",
599
+ :description=>nil,
600
+ :help=>nil,
601
+ :code_name=>:fpin,
602
+ :must_pass=>
603
+ [{:test=>"kind_of? Numeric",
604
+ :explanation=>
605
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
606
+ :type=>:Float},
607
+ :fpout=>
608
+ {:should_include=>"true",
609
+ :description=>nil,
610
+ :help=>nil,
611
+ :code_name=>:fpout,
612
+ :must_pass=>
613
+ [{:test=>"kind_of? Numeric",
614
+ :explanation=>
615
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
616
+ :type=>:Float},
617
+ :iqtype=>
618
+ {:should_include=>"true",
619
+ :description=>nil,
620
+ :help=>nil,
621
+ :code_name=>:iqtype,
622
+ :must_pass=>
623
+ [{:test=>"kind_of? Integer",
624
+ :explanation=>"This variable must be an integer."}],
625
+ :type=>:Integer},
626
+ :file_qprof=>
627
+ {:should_include=>"true",
628
+ :description=>nil,
629
+ :help=>nil,
630
+ :code_name=>:file_qprof,
631
+ :must_pass=>
632
+ [{:test=>"kind_of? String",
633
+ :explanation=>"This variable must be a string."}],
634
+ :type=>:String},
635
+ :jpar0=>
636
+ {:should_include=>"true",
637
+ :description=>nil,
638
+ :help=>nil,
639
+ :code_name=>:jpar0,
640
+ :must_pass=>
641
+ [{:test=>"kind_of? Numeric",
642
+ :explanation=>
643
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
644
+ :type=>:Float},
645
+ :jpin=>
646
+ {:should_include=>"true",
647
+ :description=>nil,
648
+ :help=>nil,
649
+ :code_name=>:jpin,
650
+ :must_pass=>
651
+ [{:test=>"kind_of? Numeric",
652
+ :explanation=>
653
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
654
+ :type=>:Float},
655
+ :jpout=>
656
+ {:should_include=>"true",
657
+ :description=>nil,
658
+ :help=>nil,
659
+ :code_name=>:jpout,
660
+ :must_pass=>
661
+ [{:test=>"kind_of? Numeric",
662
+ :explanation=>
663
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
664
+ :type=>:Float},
665
+ :ijtype=>
666
+ {:should_include=>"true",
667
+ :description=>nil,
668
+ :help=>nil,
669
+ :code_name=>:ijtype,
670
+ :must_pass=>
671
+ [{:test=>"kind_of? Integer",
672
+ :explanation=>"This variable must be an integer."}],
673
+ :type=>:Integer},
674
+ :file_jprof=>
675
+ {:should_include=>"true",
676
+ :description=>nil,
677
+ :help=>nil,
678
+ :code_name=>:file_jprof,
679
+ :must_pass=>
680
+ [{:test=>"kind_of? String",
681
+ :explanation=>"This variable must be a string."}],
682
+ :type=>:String},
683
+ :iconvq=>
684
+ {:should_include=>"true",
685
+ :description=>nil,
686
+ :help=>nil,
687
+ :code_name=>:iconvq,
688
+ :must_pass=>
689
+ [{:test=>"kind_of? Integer",
690
+ :explanation=>"This variable must be an integer."}],
691
+ :type=>:Integer},
692
+ :iconvj=>
693
+ {:should_include=>"true",
694
+ :description=>nil,
695
+ :help=>nil,
696
+ :code_name=>:iconvj,
697
+ :must_pass=>
698
+ [{:test=>"kind_of? Integer",
699
+ :explanation=>"This variable must be an integer."}],
700
+ :type=>:Integer},
701
+ :maxdpsiq=>
702
+ {:should_include=>"true",
703
+ :description=>nil,
704
+ :help=>nil,
705
+ :code_name=>:maxdpsiq,
706
+ :must_pass=>
707
+ [{:test=>"kind_of? Numeric",
708
+ :explanation=>
709
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
710
+ :type=>:Float},
711
+ :relaxiter=>
712
+ {:should_include=>"true",
713
+ :description=>nil,
714
+ :help=>nil,
715
+ :code_name=>:relaxiter,
716
+ :must_pass=>
717
+ [{:test=>"kind_of? Integer",
718
+ :explanation=>"This variable must be an integer."}],
719
+ :type=>:Integer},
720
+ :maxdpsij=>
721
+ {:should_include=>"true",
722
+ :description=>nil,
723
+ :help=>nil,
724
+ :code_name=>:maxdpsij,
725
+ :must_pass=>
726
+ [{:test=>"kind_of? Numeric",
727
+ :explanation=>
728
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
729
+ :type=>:Float},
730
+ :jomax=>
731
+ {:should_include=>"true",
732
+ :description=>nil,
733
+ :help=>nil,
734
+ :code_name=>:jomax,
735
+ :must_pass=>
736
+ [{:test=>"kind_of? Numeric",
737
+ :explanation=>
738
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
739
+ :type=>:Float},
740
+ :joloc=>
741
+ {:should_include=>"true",
742
+ :description=>nil,
743
+ :help=>nil,
744
+ :code_name=>:joloc,
745
+ :must_pass=>
746
+ [{:test=>"kind_of? Numeric",
747
+ :explanation=>
748
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
749
+ :type=>:Float},
750
+ :jow=>
751
+ {:should_include=>"true",
752
+ :description=>nil,
753
+ :help=>nil,
754
+ :code_name=>:jow,
755
+ :must_pass=>
756
+ [{:test=>"kind_of? Numeric",
757
+ :explanation=>
758
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
759
+ :type=>:Float},
760
+ :maxiterf=>
761
+ {:should_include=>"true",
762
+ :description=>nil,
763
+ :help=>nil,
764
+ :code_name=>:maxiterf,
765
+ :must_pass=>
766
+ [{:test=>"kind_of? Integer",
767
+ :explanation=>"This variable must be an integer."}],
768
+ :type=>:Integer},
769
+ :istability=>
770
+ {:should_include=>"true",
771
+ :description=>nil,
772
+ :help=>nil,
773
+ :code_name=>:istability,
774
+ :must_pass=>
775
+ [{:test=>"kind_of? Integer",
776
+ :explanation=>"This variable must be an integer."}],
777
+ :type=>:Integer},
778
+ :ibscur=>
779
+ {:should_include=>"true",
780
+ :description=>nil,
781
+ :help=>nil,
782
+ :code_name=>:ibscur,
783
+ :must_pass=>
784
+ [{:test=>"kind_of? Integer",
785
+ :explanation=>"This variable must be an integer."}],
786
+ :type=>:Integer},
787
+ :nchy=>
788
+ {:should_include=>"true",
789
+ :description=>nil,
790
+ :help=>nil,
791
+ :code_name=>:nchy,
792
+ :must_pass=>
793
+ [{:test=>"kind_of? Integer",
794
+ :explanation=>"This variable must be an integer."}],
795
+ :type=>:Integer},
796
+ :ijbsmodel=>
797
+ {:should_include=>"true",
798
+ :description=>nil,
799
+ :help=>nil,
800
+ :code_name=>:ijbsmodel,
801
+ :must_pass=>
802
+ [{:test=>"kind_of? Integer",
803
+ :explanation=>"This variable must be an integer."}],
804
+ :type=>:Integer},
805
+ :vloop0=>
806
+ {:should_include=>"true",
807
+ :description=>nil,
808
+ :help=>nil,
809
+ :code_name=>:vloop0,
810
+ :must_pass=>
811
+ [{:test=>"kind_of? Numeric",
812
+ :explanation=>
813
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
814
+ :type=>:Float},
815
+ :vloop=>
816
+ {:should_include=>"true",
817
+ :description=>nil,
818
+ :help=>nil,
819
+ :code_name=>:vloop,
820
+ :must_pass=>
821
+ [{:test=>"kind_of? Numeric",
822
+ :explanation=>
823
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
824
+ :type=>:Float},
825
+ :ifindmagaxis=>
826
+ {:should_include=>"true",
827
+ :description=>nil,
828
+ :help=>nil,
829
+ :code_name=>:ifindmagaxis,
830
+ :must_pass=>
831
+ [{:test=>"kind_of? Integer",
832
+ :explanation=>"This variable must be an integer."}],
833
+ :type=>:Integer},
834
+ :epsmag=>
835
+ {:should_include=>"true",
836
+ :description=>nil,
837
+ :help=>nil,
838
+ :code_name=>:epsmag,
839
+ :must_pass=>
840
+ [{:test=>"kind_of? Numeric",
841
+ :explanation=>
842
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
843
+ :type=>:Float},
844
+ :dpsistartmag=>
845
+ {:should_include=>"true",
846
+ :description=>nil,
847
+ :help=>nil,
848
+ :code_name=>:dpsistartmag,
849
+ :must_pass=>
850
+ [{:test=>"kind_of? Numeric",
851
+ :explanation=>
852
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
853
+ :type=>:Float},
854
+ :iprintefit=>
855
+ {:should_include=>"true",
856
+ :description=>nil,
857
+ :help=>nil,
858
+ :code_name=>:iprintefit,
859
+ :must_pass=>
860
+ [{:test=>"kind_of? Integer",
861
+ :explanation=>"This variable must be an integer."}],
862
+ :type=>:Integer},
863
+ :dense0=>
864
+ {:should_include=>"true",
865
+ :description=>nil,
866
+ :help=>nil,
867
+ :code_name=>:dense0,
868
+ :must_pass=>
869
+ [{:test=>"kind_of? Numeric",
870
+ :explanation=>
871
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
872
+ :type=>:Float},
873
+ :denseb=>
874
+ {:should_include=>"true",
875
+ :description=>nil,
876
+ :help=>nil,
877
+ :code_name=>:denseb,
878
+ :must_pass=>
879
+ [{:test=>"kind_of? Numeric",
880
+ :explanation=>
881
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
882
+ :type=>:Float},
883
+ :rn1de=>
884
+ {:should_include=>"true",
885
+ :description=>nil,
886
+ :help=>nil,
887
+ :code_name=>:rn1de,
888
+ :must_pass=>
889
+ [{:test=>"kind_of? Numeric",
890
+ :explanation=>
891
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
892
+ :type=>:Float},
893
+ :rn2de=>
894
+ {:should_include=>"true",
895
+ :description=>nil,
896
+ :help=>nil,
897
+ :code_name=>:rn2de,
898
+ :must_pass=>
899
+ [{:test=>"kind_of? Numeric",
900
+ :explanation=>
901
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
902
+ :type=>:Float},
903
+ :te0=>
904
+ {:should_include=>"true",
905
+ :description=>nil,
906
+ :help=>nil,
907
+ :code_name=>:te0,
908
+ :must_pass=>
909
+ [{:test=>"kind_of? Numeric",
910
+ :explanation=>
911
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
912
+ :type=>:Float},
913
+ :teb=>
914
+ {:should_include=>"true",
915
+ :description=>nil,
916
+ :help=>nil,
917
+ :code_name=>:teb,
918
+ :must_pass=>
919
+ [{:test=>"kind_of? Numeric",
920
+ :explanation=>
921
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
922
+ :type=>:Float},
923
+ :rn1te=>
924
+ {:should_include=>"true",
925
+ :description=>nil,
926
+ :help=>nil,
927
+ :code_name=>:rn1te,
928
+ :must_pass=>
929
+ [{:test=>"kind_of? Numeric",
930
+ :explanation=>
931
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
932
+ :type=>:Float},
933
+ :rn2te=>
934
+ {:should_include=>"true",
935
+ :description=>nil,
936
+ :help=>nil,
937
+ :code_name=>:rn2te,
938
+ :must_pass=>
939
+ [{:test=>"kind_of? Numeric",
940
+ :explanation=>
941
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
942
+ :type=>:Float},
943
+ :ti0=>
944
+ {:should_include=>"true",
945
+ :description=>nil,
946
+ :help=>nil,
947
+ :code_name=>:ti0,
948
+ :must_pass=>
949
+ [{:test=>"kind_of? Numeric",
950
+ :explanation=>
951
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
952
+ :type=>:Float},
953
+ :tib=>
954
+ {:should_include=>"true",
955
+ :description=>nil,
956
+ :help=>nil,
957
+ :code_name=>:tib,
958
+ :must_pass=>
959
+ [{:test=>"kind_of? Numeric",
960
+ :explanation=>
961
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
962
+ :type=>:Float},
963
+ :rn1ti=>
964
+ {:should_include=>"true",
965
+ :description=>nil,
966
+ :help=>nil,
967
+ :code_name=>:rn1ti,
968
+ :must_pass=>
969
+ [{:test=>"kind_of? Numeric",
970
+ :explanation=>
971
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
972
+ :type=>:Float},
973
+ :rn2ti=>
974
+ {:should_include=>"true",
975
+ :description=>nil,
976
+ :help=>nil,
977
+ :code_name=>:rn2ti,
978
+ :must_pass=>
979
+ [{:test=>"kind_of? Numeric",
980
+ :explanation=>
981
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
982
+ :type=>:Float},
983
+ :npsi=>
984
+ {:should_include=>"true",
985
+ :description=>nil,
986
+ :help=>nil,
987
+ :code_name=>:npsi,
988
+ :must_pass=>
989
+ [{:test=>"kind_of? Integer",
990
+ :explanation=>"This variable must be an integer."}],
991
+ :type=>:Integer},
992
+ :itrinity=>
993
+ {:should_include=>"true",
994
+ :description=>nil,
995
+ :help=>nil,
996
+ :code_name=>:itrinity,
997
+ :must_pass=>
998
+ [{:test=>"kind_of? Integer",
999
+ :explanation=>"This variable must be an integer."}],
1000
+ :type=>:Integer},
1001
+ :ntpsi=>
1002
+ {:should_include=>"true",
1003
+ :description=>nil,
1004
+ :help=>nil,
1005
+ :code_name=>:ntpsi,
1006
+ :must_pass=>
1007
+ [{:test=>"kind_of? Integer",
1008
+ :explanation=>"This variable must be an integer."}],
1009
+ :type=>:Integer},
1010
+ :nttin=>
1011
+ {:should_include=>"true",
1012
+ :description=>nil,
1013
+ :help=>nil,
1014
+ :code_name=>:nttin,
1015
+ :must_pass=>
1016
+ [{:test=>"kind_of? Integer",
1017
+ :explanation=>"This variable must be an integer."}],
1018
+ :type=>:Integer},
1019
+ :dpsistartnchq=>
1020
+ {:should_include=>"true",
1021
+ :description=>nil,
1022
+ :help=>nil,
1023
+ :code_name=>:dpsistartnchq,
1024
+ :must_pass=>
1025
+ [{:test=>"kind_of? Numeric",
1026
+ :explanation=>
1027
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1028
+ :type=>:Float},
1029
+ :isplch=>
1030
+ {:should_include=>"true",
1031
+ :description=>nil,
1032
+ :help=>nil,
1033
+ :code_name=>:isplch,
1034
+ :must_pass=>
1035
+ [{:test=>"kind_of? Integer",
1036
+ :explanation=>"This variable must be an integer."}],
1037
+ :type=>:Integer},
1038
+ :iptable=>
1039
+ {:should_include=>"true",
1040
+ :description=>nil,
1041
+ :help=>nil,
1042
+ :code_name=>:iptable,
1043
+ :must_pass=>
1044
+ [{:test=>"kind_of? Integer",
1045
+ :explanation=>"This variable must be an integer."}],
1046
+ :type=>:Integer},
1047
+ :irho=>
1048
+ {:should_include=>"true",
1049
+ :description=>nil,
1050
+ :help=>nil,
1051
+ :code_name=>:irho,
1052
+ :must_pass=>
1053
+ [{:test=>"kind_of? Integer",
1054
+ :explanation=>"This variable must be an integer."}],
1055
+ :type=>:Integer},
1056
+ :iqconstraint=>
1057
+ {:should_include=>"true",
1058
+ :description=>nil,
1059
+ :help=>nil,
1060
+ :code_name=>:iqconstraint,
1061
+ :must_pass=>
1062
+ [{:test=>"kind_of? Integer",
1063
+ :explanation=>"This variable must be an integer."}],
1064
+ :type=>:Integer},
1065
+ :iguessrmap0=>
1066
+ {:should_include=>"true",
1067
+ :description=>nil,
1068
+ :help=>nil,
1069
+ :code_name=>:iguessrmap0,
1070
+ :must_pass=>
1071
+ [{:test=>"kind_of? Integer",
1072
+ :explanation=>"This variable must be an integer."}],
1073
+ :type=>:Integer},
1074
+ :pgmax=>
1075
+ {:should_include=>"true",
1076
+ :description=>nil,
1077
+ :help=>nil,
1078
+ :code_name=>:pgmax,
1079
+ :must_pass=>
1080
+ [{:test=>"kind_of? Numeric",
1081
+ :explanation=>
1082
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1083
+ :type=>:Float},
1084
+ :pgloc=>
1085
+ {:should_include=>"true",
1086
+ :description=>nil,
1087
+ :help=>nil,
1088
+ :code_name=>:pgloc,
1089
+ :must_pass=>
1090
+ [{:test=>"kind_of? Numeric",
1091
+ :explanation=>
1092
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1093
+ :type=>:Float},
1094
+ :pgw=>
1095
+ {:should_include=>"true",
1096
+ :description=>nil,
1097
+ :help=>nil,
1098
+ :code_name=>:pgw,
1099
+ :must_pass=>
1100
+ [{:test=>"kind_of? Numeric",
1101
+ :explanation=>
1102
+ "This variable must be a floating point number (an integer is also acceptable: it will be converted into a floating point number)."}],
1103
+ :type=>:Float},
1104
+ :iremapon=>
1105
+ {:should_include=>"true",
1106
+ :description=>nil,
1107
+ :help=>nil,
1108
+ :code_name=>:iremapon,
1109
+ :must_pass=>
1110
+ [{:test=>"kind_of? Integer",
1111
+ :explanation=>"This variable must be an integer."}],
1112
+ :type=>:Integer},
1113
+ :iogyropsi=>
1114
+ {:should_include=>"true",
1115
+ :description=>nil,
1116
+ :help=>nil,
1117
+ :code_name=>:iogyropsi,
1118
+ :must_pass=>
1119
+ [{:test=>"kind_of? Integer",
1120
+ :explanation=>"This variable must be an integer."}],
1121
+ :type=>:Integer}}}}