Update Getting started authored by Doriann Blain's avatar Doriann Blain
...@@ -30,19 +30,17 @@ Copy and edit the file _inputs/example.nml_, rename it _corot-4b.nml_. An extend ...@@ -30,19 +30,17 @@ Copy and edit the file _inputs/example.nml_, rename it _corot-4b.nml_. An extend
latitude = 0 ! (deg) latitude of observation on the target latitude = 0 ! (deg) latitude of observation on the target
target_internal_temperature = 130 ! (K) internal temperature of the target target_internal_temperature = 130 ! (K) internal temperature of the target
``` ```
4. It is always better to use a stellar spectrum rather than a blackbody spectrum. Here we will download a [BT-Settl](http://svo2.cab.inta-csic.es/theory/newov2/index.php) spectrum model. Take T_eff = 6200 K, Log(g) = 4.5, and a metallicity of 0. Put the file into the _data/stellar_spectra_ directory and rename it e.g. "spectrum_BTSettl_6200K_logg4.5_met0.dat" (mind the .dat extension). Replace the header of the file by the following : 4. Edit the star ("light source") parameters as follow:
```text
# wavelength spectral_radiosity ! effective_temperature = 6200 K
# angstrom erg.s-1.cm-2.a-1
```
5. Edit the stellar ("light source") parameters:
```text ```text
add_light_source = True ! if True, add the light source
use_irradiation = False ! if True, use irradiation instead of range to calculate the light source spectrum
use_light_source_spectrum = False! if True, use a spectrum for the light source instead of a black body
light_source_radius = 814e6 ! (m) radius of the light source light_source_radius = 814e6 ! (m) radius of the light source
light_source_range = 13.5e9 ! (m) distance between the target and the light source light_source_range = 13.5e9 ! (m) distance between the target and the light source
light_source_effective_temperature = 6190 ! (K) light source effective temperature light_source_effective_temperature = 6190 ! (K) light source effective temperature
light_source_irradiation = 0 ! (W.m-2) light source irradiation ```text
``` 5. As a starting point, we will use a metallicity of 1 times the solar metallicity, no cloud, and a fixed eddy diffusion coefficient. Because of the effective temperature of the planet, TiO, VO and FeH are unlikely to have significant absorptions, so we will remove them in order to speed-up the calculations:
6. As a starting point, we will use a metallicity of 1 times the solar metallicity, no cloud, and a fixed eddy diffusion coefficient. Because of the effective temperature of the planet, TiO, VO and FeH are unlikely to have significant absorptions, so we will remove them in order to speed-up the calculations:
```text ```text
metallicity = 1.0 ! (solar metallicity) atmospheric metallicity metallicity = 1.0 ! (solar metallicity) atmospheric metallicity
...@@ -54,23 +52,23 @@ Copy and edit the file _inputs/example.nml_, rename it _corot-4b.nml_. An extend ...@@ -54,23 +52,23 @@ Copy and edit the file _inputs/example.nml_, rename it _corot-4b.nml_. An extend
eddy_mode = 'constant' ! eddy diffusion coefficient mode ('constant'|'Ackerman'|'AckermanConvective'|'infinity') eddy_mode = 'constant' ! eddy diffusion coefficient mode ('constant'|'Ackerman'|'AckermanConvective'|'infinity')
eddy_diffusion_coefficient = 1e8 ! (cm2.s-1) eddy diffusion coefficient eddy_diffusion_coefficient = 1e8 ! (cm2.s-1) eddy diffusion coefficient
``` ```
7. Edit the species parameters accordingly: 6. Edit the species parameters accordingly:
```text ```text
species_names = 'CH4', 'CO', 'CO2', 'H2O', 'H2S', 'HCN', 'K', 'Na', 'NH3', 'PH3' ! absorbing species in atmosphere species_names = 'CH4', 'CO', 'CO2', 'H2O', 'H2S', 'HCN', 'K', 'Na', 'NH3', 'PH3' ! absorbing species in atmosphere
species_at_equilibrium = False, False, False, False, False, False, False, False, False, False ! if True, the species is at thermochemical equilibrium, else it is out of equilibrium species_at_equilibrium = False, False, False, False, False, False, False, False, False, False ! if True, the species is at thermochemical equilibrium, else it is out of equilibrium
``` ```
8. The CoRot-4 is quite a hot star, so we will increase the wavenumber range in order to correctly take into account its spectrum.: 7. The CoRot-4 is quite a hot star, so we will increase the wavenumber range in order to correctly take into account its spectrum.:
```text ```text
wavenumber_max = 50130 ! (cm-1) last wavenumber wavenumber_max = 50130 ! (cm-1) last wavenumber
``` ```
9. We will use the reference temperature profile provided with the Exo-REM distribution, so we are likely to be far from the "right" temperature profile. So, increase the number of iterations and reduce the retrieval tolerance to 0: 8. We will use the reference temperature profile provided with the Exo-REM distribution, so we are likely to be far from the "right" temperature profile. So, increase the number of iterations and reduce the retrieval tolerance to 0:
```text ```text
n_iterations = 50 ! number of iterations n_iterations = 50 ! number of iterations
``` ```
```text ```text
retrieval_tolerance = 0 ! tolerance for the flux convergence (0 to use the iterations limits) retrieval_tolerance = 0 ! tolerance for the flux convergence (0 to use the iterations limits)
``` ```
10. Now we should be ready to go ! 9. Now we should be ready to go !
# Running # Running
1. Open a terminal. 1. Open a terminal.
...@@ -104,4 +102,68 @@ The transmission spectrum should look like this: ...@@ -104,4 +102,68 @@ The transmission spectrum should look like this:
This is nice, but the resolution is quite low. This is nice, but the resolution is quite low.
# More precision ! # More precision !
This time, our goal will be to have more precise results. We will use our calculated temperature profile as input. To keep it simple, we will consider only KCl and Na2S clouds. This time, our goal will be to have more precise results. We will use our calculated temperature profile as input, and a higher resolution power. We will also add a stellar spectrum, and use an advanced mode to calculate the eddy diffusion coefficient. To keep it simple, we will consider only KCl and Na2S clouds.
1. Download the R500 compressed *k*-tables [here](https://gitlab.obspm.fr/dblain/exorem/-/tree/master/data/k_coefficients_tables).
2. Decompress them inside the _data/k_coefficients_tables_ directory executing e.g. `tar xJvf R500.tar.xz R500`.
3. It is always better to use a stellar spectrum rather than a blackbody spectrum. Here we will download a [BT-Settl](http://svo2.cab.inta-csic.es/theory/newov2/index.php) spectrum model. Take T_eff = 6200 K, Log(g) = 4.5, and a metallicity of 0. Put the file into the _data/stellar_spectra_ directory and rename it e.g. "spectrum_BTSettl_6200K_logg4.5_met0.dat" (mind the .dat extension). Replace the header of the file by the following :
```text
# wavelength spectral_radiosity ! effective_temperature = 6200 K
# angstrom erg.s-1.cm-2.a-1
```
4. To avoid confusion with your previous run, change the output files suffix:
```text
output_files_suffix = 'corot-4b_R500' ! suffix of the output files
```
5. Edit the stellar ("light source") parameters:
```text
use_light_source_spectrum = True ! if True, use a spectrum for the light source instead of a black body
```
and
```text
light_source_spectrum_file = 'spectrum_BTSettl_6200K_logg4.5_met0.dat' ! spectrum of the light sourcetarget
```
6. We add the species we ignored in our previous run (because we can !), add the clouds and use a eddy diffusion calculation based on a model from Ackerman et al., taking into account convection:
```text
n_species = 10 ! number of absorbing species ; an error can happen if this number doesn't match the size of species_names or species_mode
n_cia = 3 ! number of collision induced absorptions ; an error can happen if this number doesn't match the size of cia_names
n_clouds = 2 ! number of clouds in atmosphere ; an error can happen if this number doesn't match the size of the cloud arrays
eddy_mode = 'AckermanConvective' ! eddy diffusion coefficient mode ('constant'|'Ackerman'|'AckermanConvective'|'infinity')
```
7. Remember to add the species in `species_parameters` and to precise if the species is at equilibrium or not:
```text
species_names = 'CH4', 'CO', 'CO2', 'FeH', 'H2O', 'H2S', 'HCN', 'K', 'Na', 'NH3', 'PH3', 'TiO', 'VO' ! absorbing species in atmosphere
species_at_equilibrium = False, False, False, False, False, False, False, False, False, False, False, False, False ! if True, the species is at thermochemical equilibrium, else it is out of equilibrium
```
8. Update the spectrum parameters the match the new resolution:
```text
wavenumber_min = 40! (cm-1) first wavenumber
wavenumber_max = 50010 ! (cm-1) last wavenumber
wavenumber_step = 20 ! (cm-1) wavenumber step size
```
9. Add the required cloud information. We will use the "fixed sedimentation parameter mode", based on a model from [Ackerman and Marley, 2001](https://iopscience.iop.org/article/10.1086/321540/meta), and a cloud coverage of 50%:
```text
cloud_mode = 'fixedSedimentation' ! cloud mode ('fixedRadius'|'fixedSedimentation'|'fixedRadiusCondensation'|'fixedRadiusTime')
cloud_fraction = 0.5 ! cloud cover fraction
cloud_names = 'KCl', 'Na2S' ! condensing species forming the clouds
cloud_particle_radius = 5e-6, 5e-6 ! (m) mean radius of the cloud particles (fixed radius modes)
sedimentation_parameter = 2, 2 ! sedimentation parameter of the clouds (fixed sedimentation mode)
cloud_particle_density = 1980, 1860 ! (kg.m-3) density of the clouds particles
cloud_molar_mass = 74.5513e-3, 78.0452e-3 ! (kg.mol-1) molar mass of the clouds particles
reference_wavenumber = 1e4, 1e4 ! (cm-1) [for diagnostic] wavenumber for cloud optical depth output
```
10. Update the retrieval parameters, we will use our previously retrieved temperature profile, and a lower number of iterations since we should be close to a solution:
```text
temperature_profile_file = 'temperature_profile_corot-4b.dat' ! a-priori temperature profile file
```
and
```text
n_iterations = 20 ! number of iterations
n_non_adiabatic_iterations = 0 ! number of iterations without including the adiabatic correction (necessary for convergence)
```
11. Finally, update your paths so that you load the right k-tables and the right temperature profile:
```text
path_k_coefficients = '../data/k_coefficients_tables/R500/' ! path to the k coefficients files
path_temperature_profile = '../outputs/exorem/' ! path to the a-priori temperature profile file
```
\ No newline at end of file