mesa_script 0.1.2 → 0.1.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.
- checksums.yaml +4 -4
- data/lib/mesa_script.rb +21 -5
- metadata +19 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5625fddbfb3e4c4f87d42ddc201c5adb6b45a75
|
4
|
+
data.tar.gz: 8b5e505dd02e1d65d84bd0bea5aaeef49076105b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6659a3b7d8b6cc11a59778c5fea9932ecead35b1a1ff2d8b14416e118414a1ebd306d36bd934fd15cd85aed75de65c6440439f65c7dd7ef393e4d10b5036d40
|
7
|
+
data.tar.gz: 1d365d16c557a9f06b055d643dc56f5ffe3f29de9487a444da6691a9a041180fb7a9586241cda93c37fed8a1fa93320ee2f8aa13aed2565cd283e25fb73f2682
|
data/lib/mesa_script.rb
CHANGED
@@ -3,6 +3,21 @@ InlistItem = Struct.new(:name, :type, :value, :namelist, :order, :is_arr,
|
|
3
3
|
|
4
4
|
class Inlist
|
5
5
|
|
6
|
+
# Get access to current MESA version.
|
7
|
+
def self.version
|
8
|
+
v_num = IO.read(File.join(ENV['MESA_DIR'], 'data', 'version_number')).to_i
|
9
|
+
return v_num
|
10
|
+
end
|
11
|
+
|
12
|
+
# Determine proper file suffix for fortran source
|
13
|
+
def self.f_end
|
14
|
+
if Inlist.version >= 7380
|
15
|
+
"f90"
|
16
|
+
else
|
17
|
+
"f"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
6
21
|
|
7
22
|
@inlist_data = {}
|
8
23
|
# Different namelists can be added or subtracted if MESA should change or
|
@@ -14,9 +29,10 @@ class Inlist
|
|
14
29
|
################## POINT TO .INC FILES HERE ####################
|
15
30
|
@nt_files = {
|
16
31
|
'star_job' => %w{star_job_controls.inc},
|
17
|
-
'controls' => %w{star_controls.inc
|
32
|
+
'controls' => %w{star_controls.inc},
|
18
33
|
'pgstar' => %w{pgstar_controls.inc}
|
19
34
|
}
|
35
|
+
@nt_files['controls'] << "ctrls_io.#{f_end}"
|
20
36
|
# User can specify a custom name for a namelist defaults file. The default
|
21
37
|
# is simply the namelist name followed by '.defaults'
|
22
38
|
|
@@ -240,8 +256,8 @@ class Inlist
|
|
240
256
|
puts "WARNING: 'type' values are currently unsupported (regarding #{name}) because your humble author has no idea what they look like in an inlist. You should tell him what to do at wmwolf@physics.ucsb.edu. Your input, #{value}, has been passed through to your inlist verbatim."
|
241
257
|
return value.to_s
|
242
258
|
else
|
243
|
-
raise "Error parsing value for namelist item #{name}: #{value}."
|
244
|
-
"
|
259
|
+
raise "Error parsing value for namelist item #{name}: #{value}. Expected "
|
260
|
+
"type was #{type}."
|
245
261
|
end
|
246
262
|
end
|
247
263
|
|
@@ -424,9 +440,9 @@ class Inlist
|
|
424
440
|
is_arr = true
|
425
441
|
num_indices = name.count('!') + 1
|
426
442
|
name.sub!(/\(.*\)/, '')
|
427
|
-
elsif pair[0] =~ /dimension\((.*)\)/
|
443
|
+
elsif pair[0] =~ /dimension\((.*)\)/i
|
428
444
|
is_arr = true
|
429
|
-
num_indices = $1.count(
|
445
|
+
num_indices = $1.count(',') + 1
|
430
446
|
end
|
431
447
|
type_default = {:bool => false, :string => '', :float => 0.0,
|
432
448
|
:int => 0}
|
metadata
CHANGED
@@ -1,22 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mesa_script
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Wolf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
14
|
-
|
15
|
-
For more\n detailed instructions, see the readme on the github page at \n\n https://github.com/wmwolf/MesaScript\n\n
|
16
|
-
\ This software requires a relatively modern installation of MESA (version >\n
|
17
|
-
\ 5596). It has been tested on Ruby versions > 1.9, but there is no guarantee\n
|
18
|
-
\ it will work on older (or newer!) versions. Any bugs or requests should be\n
|
19
|
-
\ sent to the author, Bill Wolf, at wmwolf@physics.ucsb.edu.\n"
|
13
|
+
description: MesaScript - a DSL for making dynamic inlists for the MESA stellar evolution
|
14
|
+
code.
|
20
15
|
email: wmwolf@physics.ucsb.edu
|
21
16
|
executables:
|
22
17
|
- inlist2mesascript
|
@@ -30,7 +25,13 @@ homepage: https://wmwolf.github.io
|
|
30
25
|
licenses:
|
31
26
|
- MIT
|
32
27
|
metadata: {}
|
33
|
-
post_install_message:
|
28
|
+
post_install_message: |2
|
29
|
+
Thanks for installing MesaScript!
|
30
|
+
|
31
|
+
To learn more about how to use MesaScript and to keep up to date with its
|
32
|
+
features, check out the README at the project homepage:
|
33
|
+
|
34
|
+
https://github.com/wmwolf/MesaScript
|
34
35
|
rdoc_options: []
|
35
36
|
require_paths:
|
36
37
|
- lib
|
@@ -46,9 +47,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
46
47
|
version: '0'
|
47
48
|
requirements: []
|
48
49
|
rubyforge_project:
|
49
|
-
rubygems_version: 2.4.
|
50
|
+
rubygems_version: 2.4.3
|
50
51
|
signing_key:
|
51
52
|
specification_version: 4
|
52
|
-
summary: MesaScript
|
53
|
-
|
53
|
+
summary: MesaScript is a domain specific language (DSL) that allows the user to write
|
54
|
+
inlists for MESA that include variables, loops, conditionals, etc. For more detailed
|
55
|
+
instructions, see the readme on the github page at https://github.com/wmwolf/MesaScript This
|
56
|
+
software requires a relatively modern installation of MESA (version > 5596). It
|
57
|
+
has been tested on Ruby versions > 1.9, but there is no guarantee it will work on
|
58
|
+
older (or newer!) versions. Any bugs or requests should be sent to the author, Bill
|
59
|
+
Wolf, at wmwolf@physics.ucsb.edu.
|
54
60
|
test_files: []
|