[Mesa-users] Disabling eos, kap, etc. caching

Warrick Ball W.H.Ball at bham.ac.uk
Thu Feb 7 11:42:53 EST 2019

Hi everyone,

I have a group of undergraduate students who are running MESA on a shared 
server with just 1 GB of home directory space per student.  MESA itself 
has been installed in a shared (and root-only accessible) area, so it 
doesn't count against their quotas.  However, after running a roughly 
solar-mass track to near the helium flash, many of them are approaching or 
filling their 1 GB quotas.  It turns out this because of all the cache 
files being written to `.mesa_temp_cache` under their MESA work folder. 
Is it possible to stop or limit the use of the cache?

As a temporary fix, I've advised them to delete cached files manually as 
necessary.  I had a look for a control but it seems that the option of 
whether or not to use the caches is hardcoded.  Grepping for "cache" and 
following some function calls, I found this at line 401 (MESA r10398) in 

     logical, parameter :: use_cache = .true.

`use_cache` is then passed to `init` routines for `eos`, `kap`, `atm` and 
`ionization`.  Besides changing this hardcoded value to `.false.`, I can't 
see an option.  Also, I can't see that it's easy to add an option to the 
inlists because of the sequence of the initialisation calls.  This line is 
ultimately called through `star/public/star_lib:starlib_init`, which is 
part of the `before_evolve_loop` subroutine in 
`star/job/run_star_support.f90`.  It's called *before* `star_setup`, which 
seems to be what reads the namelist.

Alternatively, is there a way to limit the amount of space the caches use? 
Or tell MESA to clear the caches after some number of steps?  Perhaps a 
control like `clear_cache_interval`?


Warrick Ball
Postdoc, School of Physics and Astronomy
University of Birmingham, Edgbaston, Birmingham B15 2TT
W.H.Ball at bham.ac.uk
+44 (0)121 414 4552

More information about the Mesa-users mailing list