Working with mesa/star

Make as many copies of this work directory as you'd like, name them
anything, and put them wherever you'd like.

Edit your make/makefile to set MESA_DIR to hold the path to the top level 
mesa directory.  In my case it looks like this:

   MESA_DIR = /Users/bpaxton/mesa

Edit the 'inlist' file in work to redirect to read 'inlist_project'.
There are 3 places where you need to have the filename of the inlist:
      extra_star_job_inlist1_name = 'inlist_project'
      extra_controls_inlist1_name = 'inlist_project'
      extra_pgstar_inlist1_name = 'inlist_project'

Edit the &star_job section of the inlist_project file to define the path
to the mesa data directory.  For me it looks like this:

   mesa_data_dir = '/Users/bpaxton/mesa/data'

Make your work version of star by executing the 'mk' script.

   ./mk

   First, it compiles 3 files, placing output in your make directory:
   
      your src/run_star_extras.f
      mesa/star's test/src/run_star.f
      your src/run.f
   
   Then it links a lot of things to make your 'star' program.

Start your copy of mesa star by running the 'rn' script.

Remove the objects and the star program by running 'clean'.

Change parameters for star by editing inlist_project.
The full set of parameters and default values can be found in
the star/public directory -- see
   
   run_star_defaults.dek for the &star_job namelist
   star_defaults.dek for the &controls namelist
   pgstar_defaults.dek for the &pgstar namelist


**********************************************************************

Updates

When you update mesa, you'll need to update each of your working
directories too.  The process goes like this:

First, update mesa -- get the latest version number from the website.
For version nnn, do

cd <your mesa directory>
svn -r nnn update
./clean
./install


Now, update the working directory.

cd <your working directory>
./clean
./mk

That should do it.  However, you might get a message like this when you run:

   Failed while trying to read control namelist file: inlist
   The following runtime error message might help you find the problem
 
   forrtl: severe (19): invalid reference to variable in NAMELIST input, unit 9, file inlist, line 338, position 28

That means that the parameter on line 338 of your inlist file is no longer valid.
There's been a change in mesa/star that requires modifications to the inlist file.
Check your inlist line 338 to find out whats been removed, and check mesa/star 
info to see what's taken its place.


NOTE: you cannot expect to stop a run, update mesa, and then
restart the run using "re" with a photo from the previous mesa.
So if you have a big run in progess that you'll want to 
do 'save_model_number' before updating, and 
'load_saved_model' afterward.  That should do the trick.


**********************************************************************

The 'star_history' and 'star_profile' directories

PLEASE NOTE THAT TIOGA IS NOT SUPPORTED AS PART OF MESA.
IF IT WORKS FOR YOU, THAT'S GREAT.  IF NOT, GO BACK TO USING SM OR IDL.
Well, actually, before you do anything that extreme,
you might send an email to tioga-users to see if someone
will help you.

These directories have tioga scripts for plotting hsitory and profile information.

PLEASE NOTE (PART 2): I'VE HACKED THESE SCRIPTS TOGETHER FOR MY OWN USE.
THEY ARE UGLY (EVEN TO ME) AND FLAKY (FOR MY OWN USE, THEY ARE GOOD ENOUGH).
So if you can get any value out of them, good for you.
But understand that I'm not supporting them or providing tutorials for them.

If you plan to use them in spite of those warnings, 
there is an edit you'll need to make.

In mesa_dir.rb, make the necessary change to the line

   $MESA_DIR = '/Users/billpaxton/mesa'

With that done, the scripts should work.


If you are new to using Tioga, check out the tutorial:
http://theory.kitp.ucsb.edu/~paxton/tioga_doc/classes/Tioga/Tutorial.html


If you've installed Tioga and just want to made a star profile plot,
try this in your working directory after you've run something:

   cd star_profile
   tioga
   tioga by_mass -l
   tioga by_mass -s Abundances
