Skip to content

Commit

Permalink
Merge pull request #243 from FormingWorlds/hn/atmos
Browse files Browse the repository at this point in the history
Atmosphere model wrapper
  • Loading branch information
nichollsh authored Oct 29, 2024
2 parents 6b61095 + a361268 commit 3754cf3
Show file tree
Hide file tree
Showing 22 changed files with 521 additions and 683 deletions.
6 changes: 6 additions & 0 deletions docs/data.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Reference data

## Stars
Data taken primarily from MUSCLES and NREL.
Available options can be found by running `ls $FWL_DATA/stellar_spectra/Named`.

### Epsilon Eridani

Expand Down Expand Up @@ -111,6 +113,10 @@
* Source: Mega-MUSCLES


## Surfaces
Single-scattering albedo data taken from Hammond et al., (2024): [Zenodo data](https://zenodo.org/records/13691960).
Available options can be found by running the command `ls $FWL_DATA/surface_albedos/Hammond24`

## Exoplanet population data
These are obtained from the DACE PlanetS database ([Parc et al., 2024](https://arxiv.org/abs/2406.04311)).

Expand Down
2 changes: 1 addition & 1 deletion examples/default/init_coupler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ author = "Harrison Nicholls, Tim Lichtenberg"
spectral_group = "Frostflow" # which gas opacities to include
spectral_bands = "256" # how many spectral bands?
num_levels = 250 # Number of atmospheric grid levels
chemistry = "none" # "none" | "eq" | "kin"
chemistry = "none" # "none" | "eq"

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
Expand Down
2 changes: 1 addition & 1 deletion examples/hd63433d/init_coupler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ author = "Harrison Nicholls, Tim Lichtenberg"
spectral_group = "Honeyside" # which gas opacities to include
spectral_bands = "256" # how many spectral bands?
num_levels = 60 # Number of atmospheric grid levels
chemistry = "none" # "none" | "eq" | "kin"
chemistry = "none" # "none" | "eq"

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
Expand Down
11 changes: 7 additions & 4 deletions input/aragog.toml
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,9 @@ author = "Harrison Nicholls, Tim Lichtenberg"
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)
surf_state = "fixed" # surface scheme: "mixed_layer" | "fixed" | "skin"
surf_greyalbedo = 0.1 # surface grey albedo
albedo_pl = 0.0 # Bond albedo (scattering)
rayleigh = true # enable rayleigh scattering
tmp_minimum = 0.5 # temperature floor on solver
tmp_maximum = 5000.0 # temperature ceiling on solver
Expand All @@ -142,7 +142,10 @@ author = "Harrison Nicholls, Tim Lichtenberg"
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"
chemistry = "none" # "none" | "eq"
surf_material = "greybody" # surface material file for scattering
solution_atol = 1e-3 # solver absolute tolerance
solution_rtol = 2e-2 # solver relative tolerance

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
Expand Down
11 changes: 7 additions & 4 deletions input/default.toml
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,8 @@ author = "Harrison Nicholls, Tim Lichtenberg"
cloud_enabled = false # enable water cloud radiative effects
cloud_alpha = 0.0 # condensate retention fraction (1 -> fully retained)
surf_state = "skin" # 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)
surf_greyalbedo = 0.1 # surface grey albedo
albedo_pl = 0.0 # Bond albedo (scattering)
rayleigh = true # enable rayleigh scattering
tmp_minimum = 0.5 # temperature floor on solver
tmp_maximum = 5000.0 # temperature ceiling on solver
Expand All @@ -144,10 +144,13 @@ author = "Harrison Nicholls, Tim Lichtenberg"
spectral_group = "Frostflow" # which gas opacities to include
spectral_bands = "256" # how many spectral bands?
num_levels = 250 # Number of atmospheric grid levels
chemistry = "none" # "none" | "eq" | "kin"
chemistry = "none" # "none" | "eq"
surf_material = "greybody" # surface material file for scattering
solution_atol = 1e-3 # solver absolute tolerance
solution_rtol = 2e-2 # solver relative tolerance

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
p_top = 1.0e-7 # bar, top of atmosphere grid pressure
spectral_group = "Frostflow" # which gas opacities to include
spectral_bands = "256" # how many spectral bands?
F_atm_bc = 0 # measure outgoing flux at: (0) TOA | (1) Surface
Expand Down
15 changes: 9 additions & 6 deletions input/dummy.toml
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,12 @@ author = "Harrison Nicholls, Tim Lichtenberg"
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)
surf_state = "fixed" # surface scheme: "mixed_layer" | "fixed" | "skin"
surf_greyalbedo = 0.1 # surface grey albedo
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
rayleigh = false # 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

Expand All @@ -142,7 +142,10 @@ author = "Harrison Nicholls, Tim Lichtenberg"
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"
chemistry = "none" # "none" | "eq"
surf_material = "greybody" # surface material file for scattering
solution_atol = 1e-3 # solver absolute tolerance
solution_rtol = 2e-2 # solver relative tolerance

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
Expand Down
9 changes: 6 additions & 3 deletions input/escape.toml
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ author = "Harrison Nicholls, Tim Lichtenberg"
cloud_enabled = false # enable water cloud radiative effects
cloud_alpha = 0.0 # condensate retention fraction (1 -> fully retained)
surf_state = "skin" # 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)
surf_greyalbedo = 0.1 # surface grey albedo
albedo_pl = 0.0 # Bond albedo (scattering)
rayleigh = true # enable rayleigh scattering
tmp_minimum = 0.5 # temperature floor on solver
tmp_maximum = 5000.0 # temperature ceiling on solver
Expand All @@ -142,7 +142,10 @@ author = "Harrison Nicholls, Tim Lichtenberg"
spectral_group = "Frostflow" # which gas opacities to include
spectral_bands = "48" # how many spectral bands?
num_levels = 250 # Number of atmospheric grid levels
chemistry = "none" # "none" | "eq" | "kin"
chemistry = "none" # "none" | "eq"
surf_material = "greybody" # surface material file for scattering
solution_atol = 1e-3 # solver absolute tolerance
solution_rtol = 2e-2 # solver relative tolerance

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
Expand Down
25 changes: 14 additions & 11 deletions input/hd63433d.toml
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,15 @@ author = "Harrison Nicholls, Tim Lichtenberg"
mass = 0.99 # M_sun
age_ini = 0.100 # Gyr, model initialisation/start age

module = "dummy"
module = "mors"
[star.mors]
rot_pctle = 50.0 # rotation percentile
tracks = "baraffe" # evolution tracks: spada | baraffe
age_now = 4.140 # Gyr, current age of star used for scaling
age_now = 0.414 # Gyr, current age of star used for scaling
spec = "stellar_spectra/Named/sun.txt" # stellar spectrum

[star.dummy]
radius = 1.0 # R_sun
radius = 0.912 # R_sun
Teff = 5772.0 # K

# Orbital system
Expand Down Expand Up @@ -129,27 +129,30 @@ author = "Harrison Nicholls, Tim Lichtenberg"
cloud_enabled = false # enable water cloud radiative effects
cloud_alpha = 0.0 # condensate retention fraction (1 -> fully retained)
surf_state = "skin" # surface scheme: "mixed_layer" | "fixed" | "skin"
surf_albedo = 0.2 # path to file ("string") or grey quantity (float)
albedo_pl = 0.0 # Bond albedo (scattering)
rayleigh = true # enable rayleigh scattering
surf_greyalbedo = 0.2 # surface grey albedo
albedo_pl = 0.0 # Enforced Bond albedo (do not use with `rayleigh = true`)
rayleigh = true # Enable rayleigh scattering
tmp_minimum = 0.5 # temperature floor on solver
tmp_maximum = 5000.0 # temperature ceiling on solver

module = "agni" # Which atmosphere module to use

[atmos_clim.agni]
p_top = 1.0e-5 # bar, top of atmosphere grid pressure
spectral_group = "Honeyside" # which gas opacities to include
spectral_bands = "256" # how many spectral bands?
num_levels = 60 # Number of atmospheric grid levels
chemistry = "none" # "none" | "eq" | "kin"
spectral_group = "Dayspring" # which gas opacities to include
spectral_bands = "16" # how many spectral bands?
num_levels = 55 # Number of atmospheric grid levels
chemistry = "eq" # "none" | "eq"
surf_material = "greybody" # surface material file for scattering
solution_atol = 2e-3 # solver absolute tolerance
solution_rtol = 5e-2 # solver relative tolerance

[atmos_clim.janus]
p_top = 1.0e-6 # bar, top of atmosphere grid pressure
spectral_group = "Honeyside" # which gas opacities to include
spectral_bands = "256" # how many spectral bands?
F_atm_bc = 0 # measure outgoing flux at: (0) TOA | (1) Surface
num_levels = 60 # Number of atmospheric grid levels
num_levels = 80 # Number of atmospheric grid levels
tropopause = "skin" # none | skin | dynamic

[atmos_clim.dummy]
Expand Down
Loading

0 comments on commit 3754cf3

Please sign in to comment.