-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #220 from FormingWorlds/star
Generalise stellar wrapper, dummy star module
- Loading branch information
Showing
25 changed files
with
789 additions
and
275 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,233 @@ | ||
# PROTEUS configuration file (version 2.0) | ||
|
||
# Root tables should be physical, with the exception of "params" | ||
# Software related options should go within the appropriate physical table | ||
|
||
# The general structure is: | ||
# [root] metadata | ||
# [params] parameters for code execution, output files, time-stepping, convergence | ||
# [star] stellar parameters, model selection | ||
# [orbit] planetary orbital parameters | ||
# [struct] planetary structure (mass, radius) | ||
# [atmos] atmosphere parameters, model selection | ||
# [escape] escape parameters, model selection | ||
# [interior] magma ocean model selection and parameters | ||
# [outgas] outgassing parameters (fO2) and included volatiles | ||
# [delivery] initial volatile inventory, and delivery model selection | ||
|
||
# ---------------------------------------------------- | ||
# Metadata | ||
version = "2.0" | ||
author = "Harrison Nicholls, Tim Lichtenberg" | ||
|
||
# ---------------------------------------------------- | ||
# Parameters | ||
[params] | ||
# output files | ||
[params.out] | ||
path = "dummy_star" | ||
logging = "DEBUG" | ||
plot_mod = 0 # Plotting frequency, 0: wait until completion | n: every n iterations | ||
plot_fmt = "png" # Plotting image file format, "png" or "pdf" recommended | ||
|
||
# time-stepping | ||
[params.dt] | ||
minimum = 1e2 # yr, minimum time-step | ||
maximum = 3e7 # yr, maximum time-step | ||
initial = 1e2 # yr, inital step size | ||
starspec = 1e7 # yr, interval to re-calculate the stellar spectrum | ||
starinst = 1e1 # yr, interval to re-calculate the instellation | ||
method = "adaptive" # proportional | adaptive | maximum | ||
|
||
[params.dt.proportional] | ||
propconst = 52.0 # Proportionality constant | ||
|
||
[params.dt.adaptive] | ||
atol = 0.02 # Step size atol | ||
rtol = 0.10 # Step size rtol | ||
|
||
# termination criteria | ||
[params.stop] | ||
|
||
# required number of iterations | ||
[params.stop.iters] | ||
enabled = true | ||
minimum = 3 | ||
maximum = 9000 | ||
|
||
# required time constraints | ||
[params.stop.time] | ||
enabled = true | ||
minimum = 1.0e3 # yr, model will certainly run to t > minimum | ||
maximum = 4.567e+9 # yr, model will terminate when t > maximum | ||
|
||
# solidification | ||
[params.stop.solid] | ||
enabled = false | ||
phi_crit = 0.005 # non-dim., model will terminate when global melt fraction < phi_crit | ||
|
||
# radiative equilibrium | ||
[params.stop.radeqm] | ||
enabled = false | ||
F_crit = 0.2 # W m-2, model will terminate when |F_atm| < F_crit | ||
|
||
# steady state | ||
[params.stop.steady] | ||
enabled = false | ||
F_crit = 0.8 # Maximum absolute value of F_atm allowed for convergence | ||
dprel = 1.0e-9 # Percentage change in melt fraction over time (dp/p)/dt*100 | ||
|
||
[params.stop.escape] | ||
enabled = true | ||
mass_frac = 3e-4 # Stop when atm_mass < this frac of initial mass | ||
|
||
|
||
# ---------------------------------------------------- | ||
# Star | ||
[star] | ||
|
||
# Physical parameters | ||
radius = 1.0 # R_sun | ||
Teff = 5772.0 # K | ||
mass = 1.0 # M_sun | ||
lum_now = 1.0 # L_sun, Luminosity as observed today. | ||
omega = 50.0 # rotation percentile | ||
age_now = 4.567 # Gyr, current age of star used for scaling | ||
age_ini = 0.100 # Gyr, model initialisation/start age | ||
|
||
module = "dummy" | ||
[star.mors] | ||
tracks = "baraffe" # evolution tracks: spada | baraffe | ||
spec = "stellar_spectra/Named/sun.txt" # stellar spectrum | ||
|
||
# Orbital system | ||
[orbit] | ||
semimajoraxis = 1.0 # AU | ||
eccentricity = 0.0 # dimensionless | ||
zenith_angle = 48.19 # degrees | ||
s0_factor = 0.375 # dimensionless | ||
|
||
# No module specifically for tides / orbital dynamics | ||
module = "none" | ||
|
||
|
||
# Planetary structure - physics table | ||
[struct] | ||
mass = 1.0 # M_earth | ||
radius = 1.0 # R_earth | ||
corefrac = 0.55 # non-dim., radius fraction | ||
|
||
# No module for specifically for internal structure | ||
module = "none" | ||
|
||
# Atmosphere - physics table | ||
[atmos_clim] | ||
prevent_warming = true # do not allow the planet to heat up | ||
surface_d = 0.01 # m, conductive skin thickness | ||
surface_k = 2.0 # W m-1 K-1, conductive skin thermal conductivity | ||
cloud_enabled = false # enable water cloud radiative effects | ||
cloud_alpha = 0.0 # condensate retention fraction (1 -> fully retained) | ||
surf_state = "fixed" # surface scheme: "mixed_layer" | "fixed" | "skin" | ||
surf_albedo = 0.1 # path to file ("string") or grey quantity (float) | ||
albedo_pl = 0.1 # Bond albedo (scattering) | ||
rayleigh = true # enable rayleigh scattering | ||
tmp_minimum = 0.5 # temperature floor on solver | ||
tmp_maximum = 5000.0 # temperature ceiling on solver | ||
|
||
module = "dummy" # Which atmosphere module to use | ||
|
||
[atmos_clim.agni] | ||
p_top = 1.0e-5 # bar, top of atmosphere grid pressure | ||
spectral_group = "Frostflow" # which gas opacities to include | ||
spectral_bands = "48" # how many spectral bands? | ||
num_levels = 40 # Number of atmospheric grid levels | ||
chemistry = "none" # "none" | "eq" | "kin" | ||
|
||
[atmos_clim.janus] | ||
p_top = 1.0e-6 # bar, top of atmosphere grid pressure | ||
spectral_group = "Frostflow" # which gas opacities to include | ||
spectral_bands = "48" # how many spectral bands? | ||
F_atm_bc = 0 # measure outgoing flux at: (0) TOA | (1) Surface | ||
num_levels = 40 # Number of atmospheric grid levels | ||
tropopause = "none" # none | skin | dynamic | ||
|
||
[atmos_clim.dummy] | ||
gamma = 0.7 # atmosphere opacity between 0 and 1 | ||
|
||
# Volatile escape - physics table | ||
[escape] | ||
|
||
module = "dummy" # Which escape module to use | ||
|
||
[escape.zephyrus] | ||
some_parameter = "some_value" | ||
|
||
[escape.dummy] | ||
rate = 2.0e4 # Bulk unfractionated escape rate [kg s-1] | ||
|
||
# Interior - physics table | ||
[interior] | ||
grain_size = 0.1 # crystal settling grain size [m] | ||
F_initial = 1e6 # Initial heat flux guess [W m-2] | ||
|
||
module = "dummy" # Which interior module to use | ||
|
||
[interior.spider] | ||
num_levels = 220 # Number of SPIDER grid levels | ||
mixing_length = 2 # Mixing length parameterization | ||
tolerance = 1.0e-10 # solver tolerance | ||
tsurf_atol = 30.0 # tsurf_poststep_change | ||
tsurf_rtol = 0.02 # tsurf_poststep_change_frac | ||
ini_entropy = 2700.0 # Surface entropy conditions [J K-1 kg-1] | ||
ini_dsdr = -4.698e-6 # Interior entropy gradient [J K-1 kg-1 m-1] | ||
|
||
[interior.aragog] | ||
some_parameter = "some_value" | ||
|
||
# Outgassing - physics table | ||
[outgas] | ||
fO2_shift_IW = 2 # log10(ΔIW), atmosphere/interior boundary oxidation state | ||
|
||
module = "calliope" # Which outgassing module to use | ||
|
||
[outgas.calliope] | ||
include_H2O = true # Include H2O compound | ||
include_CO2 = true # Include CO2 compound | ||
include_N2 = true # Include N2 compound | ||
include_S2 = true # Include S2 compound | ||
include_SO2 = true # Include SO2 compound | ||
include_H2 = true # Include H2 compound | ||
include_CH4 = true # Include CH4 compound | ||
include_CO = true # Include CO compound | ||
|
||
[outgas.atmodeller] | ||
some_parameter = "some_value" | ||
|
||
# Volatile delivery - physics table | ||
[delivery] | ||
|
||
# [Settings here for accretion rate, etc.] | ||
|
||
# Which initial inventory to use? | ||
initial = 'elements' # "elements" | "volatiles" | ||
|
||
# No module for accretion as of yet | ||
module = "none" | ||
|
||
# Set initial volatile inventory by planetary element abundances | ||
[delivery.elements] | ||
CH_ratio = 1.0 # C/H ratio in mantle/atmosphere system | ||
H_oceans = 6.0 # Hydrogen inventory in units of equivalent Earth oceans, by mass | ||
N_ppmw = 2.0 # Nitrogen inventory in ppmw relative to mantle mass, by mass | ||
S_ppmw = 200.0 # Sulfur inventory in ppmw relative to mass of melt | ||
|
||
# Set initial volatile inventory by partial pressures in atmosphere | ||
[delivery.volatiles] | ||
H2O = 0.0 # partial pressure of H2O | ||
CO2 = 0.0 # partial pressure of CO2 | ||
N2 = 0.0 # etc | ||
S2 = 0.0 | ||
SO2 = 0.0 | ||
H2 = 0.0 | ||
CH4 = 0.0 | ||
CO = 0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.