zclaytor / kiauhoku

Python utilities for stellar model grid interpolation
MIT License
16 stars 5 forks source link

Unify common column names and scales #8

Open zclaytor opened 1 month ago

zclaytor commented 1 month ago

Is this a good idea?

Right now different grids have different column names and scales for the same parameter. For example,yrec has the luminosity as "L/Lsun" in log10 solar units, while rocrit has "L/Lsun" in regular solar units. And mist uses "log_L", etc.

For the columns that are used by the default EEP conversion, we could create a set of default names and scalings, and save each grid with those defaults. Of course, everyone has different opinions on what's "right" here, and I (or whoever resolves this issue) would have the liberty to assert their own opinion. But I'm fine with that.

For example: log_teff log_lum log_age etc.

This would make the actual code easier and clearer, but at the expense of the user or grid ingester to make the dictionary with column names and scales.

jtayar commented 1 month ago

Thoughts about this:

  1. Every grid having different names for similar things is confusing.
  2. We are going to want to load in new grids at some point, and it would be nice if 'load in a new MESA grid using the format of the current MIST tracks' was not too hard/ didn't require me to exponentiate one column for a ton of files on my hard drive (and risk messing up the formatting/ file spacing/etc) before I could load them in. - so I think we probably want to continue to have the ability to load them in using Log L or just L. 
  3. Similarly, I want to be able to load in grids as they are exported from the model making program (MESA, YREC, etc) without having to change file headers, column names, etc.
  4. Your proposed naming scheme (log_lum, log_teff, etc), or something similar as asserted by whoever actually fixes this seems fine to me.
  5. I don't think I remember/understand how much more complicated this would make loading in new grids. Do you have a good sense of that?