Skip to content

Commit 9aa1de7

Browse files
author
William Wolf
committed
Update version checks and namelists.
Version checks now bail if the mesa directory has some special git-only files in it. Also added default behaviors for loading in the kap and eos namelists.
1 parent 31a5092 commit 9aa1de7

1 file changed

Lines changed: 35 additions & 3 deletions

File tree

mesa_script/lib/mesa_script.rb

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,20 @@ def namelist_sym(namelist)
55
end
66

77
class Inlist
8+
9+
# check if this version came from a github repository (newer than 15140)
10+
def self.version_is_git?
11+
File.exist?(File.join(ENV['MESA_DIR'], '.gitignore')) or File.exist?(File.join(ENV['MESA_DIR'], '.github'))
12+
end
13+
814
# Get access to current MESA version.
915
def self.version
10-
IO.read(File.join(ENV['MESA_DIR'], 'data', 'version_number')).to_i
16+
IO.read(File.join(ENV['MESA_DIR'], 'data', 'version_number')).sub('.', '').sub('r', '')
1117
end
1218

1319
# Determine proper file suffix for fortran source
1420
def self.f_end
15-
if Inlist.version >= 7380
21+
if Inlist.version_is_git || Inlist.version.to_i >= 7380
1622
'f90'
1723
else
1824
'f'
@@ -21,7 +27,7 @@ def self.f_end
2127

2228
# Determine proper file location for star-related .inc files
2329
def self.star_or_star_data
24-
if Inlist.version >= 12245
30+
if Inlist.version_is_git || Inlist.version.to_i >= 12245
2531
'star_data'
2632
else
2733
'star'
@@ -160,6 +166,30 @@ def self.add_controls_defaults(verbose: false)
160166
)
161167
end
162168

169+
# short hand for adding kap namelist using sensible defaults as of 22.11.1
170+
def self.add_kap_defaults(verbose: false)
171+
config_namelist(
172+
namelist: :kap,
173+
source_files: [File.join(ENV['MESA_DIR'], 'kap', 'private',
174+
"kap_ctrls_io.#{f_end}"),
175+
defaults_file: File.join(ENV['MESA_DIR'], 'kap', 'defaults',
176+
'kap.defaults'),
177+
verbose: verbose
178+
)
179+
end
180+
181+
# short hand for adding eos namelist using sensible defaults as of 22.11.1
182+
def self.add_eos_defaults(verbose: false)
183+
config_namelist(
184+
namelist: :eos,
185+
source_files: [File.join(ENV['MESA_DIR'], 'eos', 'private',
186+
"eos_ctrls_io.#{f_end}"),
187+
defaults_file: File.join(ENV['MESA_DIR'], 'eos', 'defaults',
188+
'eos.defaults'),
189+
verbose: verbose
190+
)
191+
end
192+
163193
# short hand for adding pgstar namelist using sensible defaults as of 10108
164194
def self.add_pgstar_defaults(verbose: false)
165195
config_namelist(
@@ -204,6 +234,8 @@ def self.add_star_defaults
204234
add_star_job_defaults
205235
add_controls_defaults
206236
add_pgstar_defaults
237+
add_kap_defaults
238+
add_eos_defaults
207239
end
208240

209241
# quickly add both major namelists for binary module (binary_job and

0 commit comments

Comments
 (0)