One medium-resolution spectrum : AB Pic b#
Be sure that ForMoSA is in your environment. If you installed ForMoSA from GitHub and added it locally to your $PYTHONPATH, you want Jupyter to be able to read it. To do that, please run these two lines in your terminal before launching Jupyter Notebook:
echo 'export PYTHONPATH="/YOUR/PATH/TO/FORMOSA:$PYTHONPATH"' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
mkdir -p \$CONDA_PREFIX/etc/conda/activate.d
Also, check that the kernel of your Jupyter Notebook corresponds to the kernel of your local environment.
Finally, verify that you input data is at the correct format described in Guidelines
Imports#
[7]:
from ForMoSA.analysis import Analysis
from ForMoSA.core.config import set_filter_path, PlotsConfig, SPECTRAL_PLOT, PHOTOMETRIC_PLOT
from ForMoSA.config.global_config import ConfigLoader, ConfigGenerator, Config_NS
Root path of your analysis#
Please, copy the demo repository into your ForMoSA working environement
[9]:
demo_path = '/Users/spetrus/Desktop/ForMoSA_pkg/ForMoSA/docs/demos/sinfoni/'
formosa_working_path = '/Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/'
import shutil
shutil.copytree(demo_path, formosa_working_path)
[9]:
'/Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/'
Generation of your configuration file#
If this is the first time you are fitting your data, you will need a configuration file. This file can be generated automatically with default parameters using:
[10]:
generator = ConfigGenerator()
generator.save(formosa_working_path, 'abpicb/new_config.ini')
INFO Save config to path /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/
Modification of your configuration file#
You may want to adapt your configuration file to your analysis. You can do it manually or using this routine. You are encouraged to check the config.ini file to see if you need to modify any other parameters.
[12]:
config_r = open(formosa_working_path + 'abpicb/new_config.ini', "rt")
conf = config_r.read()
# Change the path of your data
conf = conf.replace("observation_path = unknown", "observation_path = " + formosa_working_path + "abpicb/data/")
# Change the location of the grid after its adaptation to your data
conf = conf.replace("adapt_store_path = unknown", "adapt_store_path = " + formosa_working_path + "adapted_grid/")
# Change the path where the results will be stored after the fit
conf = conf.replace("result_path = unknown", "result_path = " + formosa_working_path + "abpicb/results/")
# Change the path of the initial grid. In our case it will be the grid BT-Settl. See the tutorial for downloading it.
path_grid = '/Users/spetrus/Desktop/models_grids/BTSETTL_native.nc'
conf = conf.replace("model_path = unknown", "model_path = " + path_grid)
config_r.close()
config_w = open(formosa_working_path + 'abpicb/new_config.ini', "wt")
config_w.write(conf)
config_w.close()
With these lines, you can check the properties of the grid you have selected. This will help you define the parameter space explored by your fit. In our case, the BT-Settl grid explores two parameters:
Teff = 1200, 3000 K
log(g) = 2.5, 5.5 dex
[13]:
import xarray as xr
dataset = xr.open_dataset(path_grid, decode_cf=False)
print(dataset)
<xarray.Dataset> Size: 1GB
Dimensions: (wavelength: 1161983, par1: 22, par2: 7)
Coordinates:
* wavelength (wavelength) float64 9MB 0.3001 0.3001 0.3001 ... 30.0 30.0 30.0
* par1 (par1) float64 176B 1.2e+03 1.3e+03 1.4e+03 ... 2.8e+03 2.9e+03
* par2 (par2) float64 56B 2.5 3.0 3.5 4.0 4.5 5.0 5.5
Data variables:
grid (wavelength, par1, par2) float64 1GB ...
Attributes:
key: ['par1', 'par2']
par: ['teff', 'logg']
title: ['Teff', 'log(g)']
unit: ['(K)', '(dex)']
res: [ -60003.04331194 -60004.04324734 -60005.04318473 ... -150032...
[14]:
config_r = open(formosa_working_path + 'abpicb/new_config.ini', "rt")
conf = config_r.read()
# Change the wavelength range considered for the fit
conf = conf.replace('wav_fit = "0.9, 5.0"', 'wav_fit = "2.0, 2.45"')
# Change the paramter space explored by the nested sampling
conf = conf.replace('par1 = NA,', 'par1 = uniform, 1200, 3000,')
conf = conf.replace('par2 = NA,', 'par2 = uniform, 2.5, 5.5,')
# Change the number of living points.
conf = conf.replace('npoints = 50', 'npoints = 100')
# Change the nested sampling algorithm (/!\ only nestle seems to work with jupyter. Launche ForMoSA from a terminal to use the other ones)
conf = conf.replace('ns_algo = pymultinest', 'ns_algo = nestle')
config_r.close()
config_w = open(formosa_working_path + 'abpicb/new_config.ini', "wt")
config_w.write(conf)
config_w.close()
Loading of the configuration file#
You have to load the configuration file and pass it to all algorithms. The Nested Sampling class will use only the parameters relevant to the algorithm you are using. You should also save this configuration file to ensure it is consistent with your results.
[15]:
cfg = ConfigLoader(formosa_working_path + 'abpicb/new_config.ini')
sections = cfg.load()
config_ns = Config_NS(
nestle=cfg.config['config_nestle'],
pymultinest=cfg.config['config_pymultinest'],
ultranest=cfg.config['config_ultranest']
)
generator = ConfigGenerator(sections)
generator.save(cfg.config['config_path'].result_path)
INFO Config file loaded
INFO Save config to path /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/abpicb/results/
Preparation of the analysis#
You need to define you analysis plan by defining two variables.
[16]:
import os
import shutil
# If this is the first time you are adapting your model grid, or if you need to re-adapt it, set adapted = False
# If you have already adapted your model grid, set adapted = True
adapted = False
if adapted == False:
shutil.rmtree(formosa_working_path + "adapted_grid/")
os.mkdir(formosa_working_path + "adapted_grid/")
# If you want to perform the fit, set fitted = False
# If you only want to generate plots, set fitted = True
fitted = False
analysis = Analysis(cfg.config['config_path'], adapted=adapted, fitted=fitted)
INFO Paths checked
INFO ModelGrid generated from /Users/spetrus/Desktop/models_grids/BTSETTL_native.nc
WARNING Wavelength unit not found in grid attributes. Setting to default: um
/Users/spetrus/Desktop/ForMoSA_pkg/ForMoSA/ForMoSA/grid/model_grid.py:162: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
return list(self.grid.dims.values())
<frozen _collections_abc>:880: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
/Users/spetrus/Desktop/ForMoSA_pkg/ForMoSA/ForMoSA/grid/model_grid.py:158: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
return list(self.grid.dims.keys())
INFO Grid dimensions: (1161983, 22, 7) ('wavelength', 'par1', 'par2')
INFO Loading Observation from FITS file: /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/abpicb/data/ABPicb_SINFONI_K.fits
INFO Detected spectroscopic observation with instruments ['Paranal']/['SINFONI']
INFO Setting wavelength unit to um for observation [Paranal_SINFONI]
INFO Adding Spectroscopic Observation with name [Paranal_SINFONI] to the set of observations
INFO Set of Observations generated
Launch of the adaptation#
The grid and the observations will be modified to make them comparable. This step should take less than 10 seconds with this setup, data, and model.
[17]:
analysis.adapt(cfg.config['config_adapt'], cfg.config['config_inversion'])
INFO Adapting Observation: [Paranal_SINFONI]
INFO Target resolution for observation [Paranal_SINFONI]: [-390501.70563388 -390550.69225877 -390599.67888882 ... -489209.76425122 -489258.75085144 -489307.73752369]
INFO Spectral observation [Paranal_SINFONI] adapted to target resolution
INFO Observations ['[Paranal_SINFONI]'] adapted
INFO Saving all the observations ['[Paranal_SINFONI]'] to path /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/abpicb/results/Observations
WARNING path /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/abpicb/results/Observations does not exist. Creating it
INFO Saving Observation Observation_[Paranal_SINFONI].npz
INFO Grid dimensions: (1161983, 22, 7) ('wavelength', 'par1', 'par2')
INFO Setting wavelength unit of subgrid [Paranal_SINFONI] to um>
INFO Generated restricted Grid. Former grid length: 1161983. New grid length: 135879
0%| | 0/154 [00:00<?, ?it/s]
INFO Parallel adaptation
9%|███▊ | 14/154 [00:00<00:02, 66.36it/s]
WARNING Extraction of model failed : Teff=1400.0, log(g)=2.5,
40%|████████████████▉ | 62/154 [00:00<00:01, 76.29it/s]
WARNING Extraction of model failed : Teff=2050.0, log(g)=5.5,
51%|█████████████████████▎ | 78/154 [00:01<00:01, 75.62it/s]
WARNING Extraction of model failed : Teff=2150.0, log(g)=5.5,
61%|█████████████████████████▋ | 94/154 [00:01<00:00, 75.58it/s]
WARNING Extraction of model failed : Teff=2250.0, log(g)=5.5,
71%|█████████████████████████████▎ | 110/154 [00:01<00:00, 75.86it/s]
WARNING Extraction of model failed : Teff=2350.0, log(g)=5.5,
INFO Adding Spectroscopic Subgrid with name [Paranal_SINFONI] to the set of subgrids
INFO Set of subgrids generated: ['BTSETTL_native_[Paranal_SINFONI]_Spectroscopic']
INFO Interpolating between holes of the grid BTSETTL_native_[Paranal_SINFONI]_Spectroscopic
INFO BTSETTL_native_[Paranal_SINFONI]_Spectroscopic
INFO 1/2 - Teff
INFO 2/2 - log(g)
WARNING path /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/adapted_grid/Subgrids does not exist. Creating it
INFO Saving all the subgrids ['BTSETTL_native_[Paranal_SINFONI]_Spectroscopic'] to path /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/adapted_grid/Subgrids
INFO Saving Grid adapted_BTSETTL_native_[Paranal_SINFONI]_Spectroscopic.nc to /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/adapted_grid/Subgrids
Launch of the inversion#
The fit will be performed using the chosen nested sampling algorithm. This step should take less than 30 seconds with this setup, data, and model.
[18]:
analysis.nested_sampling(cfg.config['config_parameters'], cfg.config['config_adapt'], cfg.config['config_inversion'], config_NS=config_ns)
INFO Detected grid Parameter with name par1 from config
INFO Adding grid Parameter with name par1 to the set of parameters
INFO Detected grid Parameter with name par2 from config
INFO Adding grid Parameter with name par2 to the set of parameters
INFO Set of parameters generated
INFO Restrict subgris and observations to windows ['2.0, 2.45']
INFO Adding Spectroscopic Subgrid with name [Paranal_SINFONI] to the set of subgrids
INFO Adding Spectroscopic Observation with name [Paranal_SINFONI] to the set of observations
INFO Algorithm for the Nested Sampling: nestle
INFO Creating directory /Users/spetrus/Desktop/ForMoSA_pkg/sinfoni/abpicb/results
INFO Summary for the Nested Sampling parameters: name kind prior value fixed scope obs_index 0 par1 GRID uniform [1200.0, 3000.0] False global None 1 par2 GRID uniform [2.5, 5.5] False global None
WARNING Grid parameter 'par1'=2928.0799328980534 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2977.4256606418458 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2981.152786024053 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2933.6725792939833 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 18 logz=-56818.4831551000052504760255204420248704468581108159154915854115511802457988908195786371375080447864043704443832883878176942523235360430575644792184786706982848387200926575803737830233794788090059368953234970799945081119038967640880074652742780142494579258788820056842838115669472196386865459400540160.000000
/Users/spetrus/miniforge3/envs/formosa/lib/python3.11/site-packages/nestle.py:1050: RuntimeWarning: invalid value encountered in scalar multiply
math.exp(logwt - logz_new) * active_logl[worst]
WARNING Grid parameter 'par1'=2923.6219829135557 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 68 logz=-32155.339154
WARNING Grid parameter 'par1'=2904.124739281997 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 70 logz=-31243.504692
WARNING Grid parameter 'par1'=2959.9244635383006 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 79 logz=-28272.133771
WARNING Grid parameter 'par1'=2967.623131447137 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 82 logz=-27539.942702
WARNING Grid parameter 'par1'=2909.4568398385572 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2955.6335961391414 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 86 logz=-27347.615253
WARNING Grid parameter 'par1'=2959.368330038201 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 88 logz=-27175.187927
WARNING Grid parameter 'par1'=2937.785303414894 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 111 logz=-23667.300252
WARNING Grid parameter 'par1'=2947.2161154969385 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 113 logz=-23383.585253
WARNING Grid parameter 'par1'=2923.528031067137 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 136 logz=-21610.165241
WARNING Grid parameter 'par1'=2966.2764660027924 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 147 logz=-20751.285369
WARNING Grid parameter 'par1'=2995.673319407613 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 148 logz=-20726.510940
WARNING Grid parameter 'par1'=2928.8078988510515 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 151 logz=-20472.560152
WARNING Grid parameter 'par1'=2929.147185871888 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 161 logz=-19843.419018
WARNING Grid parameter 'par1'=2983.5444024514222 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 172 logz=-18526.886360
WARNING Grid parameter 'par1'=2982.952464624538 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 179 logz=-18064.765037
WARNING Grid parameter 'par1'=2932.6730313351627 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 182 logz=-18016.158032
WARNING Grid parameter 'par1'=2926.5679271284835 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2940.00414206843 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 191 logz=-17374.570531
WARNING Grid parameter 'par1'=2981.8060807819556 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 194 logz=-17066.085218
WARNING Grid parameter 'par1'=2909.688755292853 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 209 logz=-15969.459656
WARNING Grid parameter 'par1'=2974.4431095344717 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 211 logz=-15934.794594
WARNING Grid parameter 'par1'=2955.3810335572753 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 212 logz=-15866.495365
WARNING Grid parameter 'par1'=2937.504506618112 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 215 logz=-15835.670146
WARNING Grid parameter 'par1'=2984.83170138841 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 217 logz=-15747.632500
WARNING Grid parameter 'par1'=2930.3148775869254 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 229 logz=-15271.456290
WARNING Grid parameter 'par1'=2991.9541005623205 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 238 logz=-14947.344007
WARNING Grid parameter 'par1'=2908.494196320729 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 242 logz=-14866.562897
WARNING Grid parameter 'par1'=2960.7904984512043 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2903.84714378259 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2999.695306632357 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 246 logz=-14725.384154
WARNING Grid parameter 'par1'=2950.2592695228213 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 248 logz=-14667.854962
WARNING Grid parameter 'par1'=2932.0325902140357 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2957.318301883146 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 253 logz=-14552.873882
WARNING Grid parameter 'par1'=2983.1037528068473 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 256 logz=-14516.240260
WARNING Grid parameter 'par1'=2949.9997231375046 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 257 logz=-14504.811937
WARNING Grid parameter 'par1'=2927.603617560306 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 264 logz=-14412.379357
WARNING Grid parameter 'par1'=2928.395083779059 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 268 logz=-14353.228904
WARNING Grid parameter 'par1'=2971.592373767173 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 270 logz=-14322.762002
WARNING Grid parameter 'par1'=2962.525252389869 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 274 logz=-14264.598365
WARNING Grid parameter 'par1'=2952.045314660126 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 285 logz=-14062.663215
WARNING Grid parameter 'par1'=2957.9662182889924 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 288 logz=-14040.239817
WARNING Grid parameter 'par1'=2964.9393649636177 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 291 logz=-13895.069254
WARNING Grid parameter 'par1'=2955.400961323923 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 298 logz=-13762.467325
WARNING Grid parameter 'par1'=2909.0865125434657 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2927.738573155888 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 312 logz=-13485.071135
WARNING Grid parameter 'par1'=2993.3673803551965 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2936.5262585248133 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 313 logz=-13471.914665
WARNING Grid parameter 'par1'=2976.4767634939176 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2996.301146084439 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 323 logz=-13273.697757
WARNING Grid parameter 'par1'=2945.302727404301 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 324 logz=-13237.236683
WARNING Grid parameter 'par1'=2933.2770849093813 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 328 logz=-13148.052147
WARNING Grid parameter 'par1'=2949.408671608302 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 329 logz=-13134.314927
WARNING Grid parameter 'par1'=2949.2583927500145 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 331 logz=-13058.982754
WARNING Grid parameter 'par1'=2987.275148199634 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 347 logz=-12776.793348
WARNING Grid parameter 'par1'=2991.3612538643974 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 349 logz=-12706.962686
WARNING Grid parameter 'par1'=2976.1009679005656 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 352 logz=-12663.286966
WARNING Grid parameter 'par1'=2940.5740357454197 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2937.45336384883 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 356 logz=-12544.553748
WARNING Grid parameter 'par1'=2934.493945132876 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 357 logz=-12531.277471
WARNING Grid parameter 'par1'=2906.138497095599 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 365 logz=-12442.017982
WARNING Grid parameter 'par1'=2908.269837503809 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2978.370900393931 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 367 logz=-12416.893248
WARNING Grid parameter 'par1'=2938.2787727536956 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 368 logz=-12408.408839
WARNING Grid parameter 'par1'=2968.179597675493 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2982.055064884951 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 375 logz=-12294.301006
WARNING Grid parameter 'par1'=2992.1815039686803 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2908.615311914238 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 380 logz=-12200.339845
WARNING Grid parameter 'par1'=2908.2427300929094 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2986.888227255385 outside bounds [1200.0, 2900.0]. Returning NaN grid
WARNING Grid parameter 'par1'=2992.4741416438783 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 391 logz=-11907.597036
WARNING Grid parameter 'par1'=2913.4195752724127 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 395 logz=-11802.913926
WARNING Grid parameter 'par1'=2952.7026541522982 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 403 logz=-11677.754474
WARNING Grid parameter 'par1'=2944.3961300550814 outside bounds [1200.0, 2900.0]. Returning NaN grid
it= 1605 logz=-5824.0438524
INFO Time spent: 24.968754053115845
INFO Saving results
Plot of your results#
You are free to modify the plot parameters using the following lines (examples). The outputs are saved in the results folder if you want to create your own plots.
[19]:
SPECTRAL_PLOT.markersize = 0
PHOTOMETRIC_PLOT.linewidth = 3
analysis.plot(analysis.ns.results, plot_native_model=False)
INFO Plotting Corner plot
INFO Plotting posterior chains for each parameter.
INFO Plotting radar plot of the chains
INFO Plotting best fit and residuals
INFO Plotting data for observation [Paranal_SINFONI]
[ ]: