FormingWorlds / PROTEUS

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

Pass radionuclide parameters from config #278

Closed nichollsh closed 5 days ago

nichollsh commented 5 days ago

Adds ability to pass radionuclide parameters from the configuration file, and to turn off radiogenic heating entirely (for both SPIDER and Aragog). This is done by specifying concentrations (ppmw) for naturally occurring Th, U, K, and the reference age to which these concentrations correspond. Other physical quantities (heat production, half life, isotopic abundance) are specified in constants.py.

Closes #276.

Requires https://github.com/ExPlanetology/aragog/pull/33 to be merged first.

I have compared the results against SPIDER, and we get the exact same heat production [W/kg] when using the same parameters. We also get reasonable values for the globally-averaged heat flux F_radio which is ~0.8 W/m^2.

nichollsh commented 5 days ago

Yes, definitely. Thanks Tim!

lsoucasse commented 5 days ago

Sorry @nichollsh @timlichtenberg , but there is an issue here. Aragog requires at least one radionucleide element (even if radioactive heating is turned off) to be setup otherwise it crashes. So either we set up an empty radionucleide in proteus when radiogenic_heat is turned off or we modify Aragog such that the solver object can be created without radionucleide element.

nichollsh commented 5 days ago

Ah good catch! I must have misread the code, because I thought that passing an empty list was sufficient. I would say that the latter suggestion would be the best going forward, since it makes Aragog more portable.

That being said, I cannot reproduce this behaviour that you describe. The model runs fine for me (via PROTEUS) when passing an empty list and when radionuclides are turned off.

lsoucasse commented 5 days ago

Oh... I was mistaken. It works fine to run with current version and radiogenic_heat turned to false. I had issues in the past running with empty radionucleide array that made me creating a dummy one, but it seems it has been fixed in the meantime.

nichollsh commented 5 days ago

Fair enough. Thanks for pointing this out though - I had not considered this condition!