1 | import numpy as np |
---|
2 | import matplotlib.pyplot as plt |
---|
3 | import exo_k as xk |
---|
4 | plt.set_cmap("viridis") |
---|
5 | |
---|
6 | ### where is the data? |
---|
7 | corrk_dir="datadir/corrk_data/" |
---|
8 | lmdz_corrk = corrk_dir+"pluton_ch4var_COfix/" |
---|
9 | # xk.Settings().set_search_path(corrk_dir+"xsec/taurex_R15000/") |
---|
10 | |
---|
11 | ### select pressure, temperature, and mixing ratio to plot |
---|
12 | p=1e8 |
---|
13 | t=300 |
---|
14 | x=1e-4 |
---|
15 | |
---|
16 | mols = [ |
---|
17 | "C2H4", |
---|
18 | "CO", |
---|
19 | # "C2H2", |
---|
20 | # "CH4", |
---|
21 | ] |
---|
22 | |
---|
23 | xk.Settings().set_mks(True) |
---|
24 | xk.Settings().set_log_interp(False) |
---|
25 | xk.Settings().set_case_sensitive(True) |
---|
26 | |
---|
27 | fig, ax = plt.subplots() |
---|
28 | |
---|
29 | xk.Settings().set_search_path("datadir/exomol/taurex_R15000") |
---|
30 | kdata = xk.Kdatabase(mols) |
---|
31 | kdata.bin_down(xk.wavenumber_grid_R(10000/50,10000/0.5,100)) |
---|
32 | print(kdata) |
---|
33 | for mol in mols: |
---|
34 | kdata.ktables[mol].plot_spectrum(ax=ax,p=p,t=t,x=x,g=1,label=mol+" exomol (original)", linestyle="dashdot") |
---|
35 | |
---|
36 | plt.gca().set_prop_cycle(None) |
---|
37 | |
---|
38 | |
---|
39 | xk.Settings().set_search_path(corrk_dir+"R500_from_R15000/") |
---|
40 | kdata = xk.Kdatabase(mols) |
---|
41 | kdata.bin_down(xk.wavenumber_grid_R(10000/50,10000/0.5,100)) |
---|
42 | print(kdata) |
---|
43 | for mol in mols: |
---|
44 | kdata.ktables[mol].plot_spectrum(ax=ax,p=p,t=t,x=x,g=1,label=mol+" exomol (R500)") |
---|
45 | |
---|
46 | isotopologues = ["12C-16O", "12C2-1H4", |
---|
47 | # "12C-1H4", "12C-1H2" |
---|
48 | ] |
---|
49 | |
---|
50 | plt.gca().set_prop_cycle(None) |
---|
51 | xk.Settings().set_search_path(corrk_dir+"R500_from_dace/") |
---|
52 | kdata = xk.Kdatabase(isotopologues) |
---|
53 | print(kdata) |
---|
54 | for mol in mols: |
---|
55 | try: |
---|
56 | kdata.ktables[mol].plot_spectrum(ax=ax,p=p,t=t,x=x,g=1,label=mol+" dace (R500)", dashes=[5,5]) |
---|
57 | except: |
---|
58 | print(f"Missing {mol} dace") |
---|
59 | |
---|
60 | plt.xlim(0.5,20) |
---|
61 | plt.ylim(1e-40,None) |
---|
62 | # plt.xscale("log") |
---|
63 | plt.yscale("log") |
---|
64 | plt.legend() |
---|
65 | plt.savefig(f"corrk_dace_exomol_p{p}_t{t}_x{x}.png") |
---|