FormingWorlds / PROTEUS

Coupled atmosphere-interior framework to simulate the temporal evolution of rocky planets.
https://proteus-code.readthedocs.io
Apache License 2.0
11 stars 1 forks source link

Mors as sub-module #39

Closed timlichtenberg closed 1 year ago

timlichtenberg commented 1 year ago
nichollsh commented 1 year ago

Mors allows us to calculate the luminosities L_n of a star for different ages and rotation rates. These L_n are for different spectral bands: X-ray, EUV, bolometric. Having just L_bol is helpful for AEOLUS alone, but if we want to provide a spectrum to VULCAN we need to think about how to generate a spectrum from these.

Since presumably we'll know the spectrum of the star in its current state (or that of a similar star), we could use the past L_n to scale up/down the different bands over time. This seems fairly reasonable as it captures the XUV evolution in such a way that the total energy is correct, although we'd likely be over- and under-estimating certain spectral features.

One issue with this is that stellar spectra diverge from the Planck function at around 600 nm, but the EUV band is defined up to 92 nm. Thus, most of the UV is left unconstrained by this model. We can use the planck function and the fact that all the bands need to add up to L_bol to solve the system for the luminosity in the UV region which isn't captured by the model.

timlichtenberg commented 1 year ago

I've seen in Zilinskas+2023 that they used the PHOENIX stellar evolution code. However, I think we may be fine settling on specific spectrum as you suggest. An additional option is to make use of Sarah Rugheimer's model spectra for M stars. I think there will be no general solution. The Mors code is a good first step probably, and then develop a set of stellar spectra for specific purposes?

nichollsh commented 1 year ago

In that case, it might be reasonable to use the luminosity-scaling approach I outlined above. It should be pretty easy to set that up with spectra from the following websites:

We could at least use Sarah's M-star evolution model to validate the L-scaling approach.

nichollsh commented 1 year ago

I've given this approach a go. It seems to work quite well so far, and probably well enough for our purposes. It'd be good to validate it against some other model/approach, and I wouldn't go as far to trust it in generating stellar spectra for synthetic observations.

I've also added a tool for automatically downloading/parsing spectra from the MUSCLES/VPL websites. At runtime, spectra are saved to output/ so that they can be debugged and used by submodules.

See the example plot below, for GJ1132. Updates are in the Mors branch.

image
timlichtenberg commented 1 year ago

Very nice! :-) If this is automated enough, we could even consider generating an appropriate spectral file during runtime for SOCRATES. The insertion of the stellar spectrum is the last step in creating spectral files for SOCRATES. The file /AEOLUS/spectral_files/sp_b318_HITRAN_a16/sp_b318_HITRAN_a16_no_spectrum_k is essentially a vanilla version of the spectral file, inserting the stellar spectrum takes ~ a second.