@@ -5,14 +5,20 @@ def namelist_sym(namelist)
55end
66
77class 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