Note
Go to the end to download the full example code
Plot the lightcurve of a spotted star#
This example plots the lightcurve caused by a spotted photosphere.
Saved settings to /home/ted/.pypsg/settings.json
Reloading settings...
Initialize the VSPEC run#
We read in the config file and run the model.
model = ObservationModel.from_yaml(CFG_PATH)
model.build_planet()
model.build_spectra()
Starting at phase 0.0 deg, observe for 40.0 d in 10 steps
Phases = [ 0. 144. 288. 72. 216. 0. 144. 288. 72. 216. 0.] deg
Build Planet: 0%| | 0/10 [00:00<?, ?it/s]
Build Planet: 10%|█ | 1/10 [00:00<00:01, 5.08it/s]
Build Planet: 20%|██ | 2/10 [00:00<00:01, 6.85it/s]
Build Planet: 30%|███ | 3/10 [00:00<00:00, 7.56it/s]
Build Planet: 40%|████ | 4/10 [00:00<00:00, 7.99it/s]
Build Planet: 50%|█████ | 5/10 [00:00<00:00, 8.12it/s]
Build Planet: 60%|██████ | 6/10 [00:00<00:00, 8.24it/s]
Build Planet: 70%|███████ | 7/10 [00:00<00:00, 8.19it/s]
Build Planet: 80%|████████ | 8/10 [00:01<00:00, 8.02it/s]
Build Planet: 90%|█████████ | 9/10 [00:01<00:00, 8.31it/s]
Build Planet: 100%|██████████| 10/10 [00:01<00:00, 8.34it/s]
Build Planet: 11it [00:01, 8.43it/s]
Build Planet: 11it [00:01, 8.00it/s]
Generated 2 mature spots
Build Spectra: 0%| | 0/40 [00:00<?, ?it/s]
Loading Spectra: 0%| | 0/17 [00:00<?, ?it/s]
Loading Spectra: 6%|▌ | 1/17 [00:00<00:05, 2.96it/s]
Loading Spectra: 12%|█▏ | 2/17 [00:00<00:04, 3.09it/s]
Loading Spectra: 18%|█▊ | 3/17 [00:00<00:04, 3.14it/s]
Loading Spectra: 24%|██▎ | 4/17 [00:01<00:04, 3.09it/s]
Loading Spectra: 29%|██▉ | 5/17 [00:01<00:03, 3.08it/s]
Loading Spectra: 35%|███▌ | 6/17 [00:01<00:03, 3.13it/s]
Loading Spectra: 41%|████ | 7/17 [00:02<00:03, 3.15it/s]
Loading Spectra: 47%|████▋ | 8/17 [00:02<00:02, 3.13it/s]
Loading Spectra: 53%|█████▎ | 9/17 [00:02<00:02, 3.17it/s]
Loading Spectra: 59%|█████▉ | 10/17 [00:03<00:02, 3.26it/s]
Loading Spectra: 65%|██████▍ | 11/17 [00:03<00:01, 3.33it/s]
Loading Spectra: 71%|███████ | 12/17 [00:03<00:01, 3.37it/s]
Loading Spectra: 76%|███████▋ | 13/17 [00:04<00:01, 3.31it/s]
Loading Spectra: 82%|████████▏ | 14/17 [00:04<00:00, 3.28it/s]
Loading Spectra: 88%|████████▊ | 15/17 [00:04<00:00, 3.25it/s]
Loading Spectra: 94%|█████████▍| 16/17 [00:04<00:00, 3.28it/s]
Loading Spectra: 100%|██████████| 17/17 [00:05<00:00, 3.20it/s]
Loading Spectra: 100%|██████████| 17/17 [00:05<00:00, 3.20it/s]
Build Spectra: 2%|▎ | 1/40 [00:05<03:47, 5.82s/it]
Build Spectra: 5%|▌ | 2/40 [00:06<01:41, 2.66s/it]
Build Spectra: 8%|▊ | 3/40 [00:06<01:01, 1.65s/it]
Build Spectra: 10%|█ | 4/40 [00:07<00:42, 1.18s/it]
Build Spectra: 12%|█▎ | 5/40 [00:07<00:32, 1.09it/s]
Build Spectra: 15%|█▌ | 6/40 [00:08<00:25, 1.32it/s]
Build Spectra: 18%|█▊ | 7/40 [00:08<00:21, 1.52it/s]
Build Spectra: 20%|██ | 8/40 [00:08<00:18, 1.69it/s]
Build Spectra: 22%|██▎ | 9/40 [00:09<00:16, 1.83it/s]
Build Spectra: 25%|██▌ | 10/40 [00:09<00:15, 1.93it/s]
Build Spectra: 28%|██▊ | 11/40 [00:10<00:14, 2.01it/s]
Build Spectra: 30%|███ | 12/40 [00:10<00:13, 2.07it/s]
Build Spectra: 32%|███▎ | 13/40 [00:11<00:12, 2.12it/s]
Build Spectra: 35%|███▌ | 14/40 [00:11<00:12, 2.15it/s]
Build Spectra: 38%|███▊ | 15/40 [00:12<00:11, 2.17it/s]
Build Spectra: 40%|████ | 16/40 [00:12<00:10, 2.18it/s]
Build Spectra: 42%|████▎ | 17/40 [00:13<00:10, 2.19it/s]
Build Spectra: 45%|████▌ | 18/40 [00:13<00:09, 2.20it/s]
Build Spectra: 48%|████▊ | 19/40 [00:13<00:09, 2.21it/s]
Build Spectra: 50%|█████ | 20/40 [00:14<00:09, 2.21it/s]
Build Spectra: 52%|█████▎ | 21/40 [00:14<00:08, 2.21it/s]
Build Spectra: 55%|█████▌ | 22/40 [00:15<00:08, 2.21it/s]
Build Spectra: 57%|█████▊ | 23/40 [00:15<00:07, 2.21it/s]
Build Spectra: 60%|██████ | 24/40 [00:16<00:07, 2.21it/s]
Build Spectra: 62%|██████▎ | 25/40 [00:16<00:06, 2.21it/s]
Build Spectra: 65%|██████▌ | 26/40 [00:17<00:06, 2.21it/s]
Build Spectra: 68%|██████▊ | 27/40 [00:17<00:05, 2.21it/s]
Build Spectra: 70%|███████ | 28/40 [00:17<00:05, 2.21it/s]
Build Spectra: 72%|███████▎ | 29/40 [00:18<00:04, 2.21it/s]
Build Spectra: 75%|███████▌ | 30/40 [00:18<00:04, 2.22it/s]
Build Spectra: 78%|███████▊ | 31/40 [00:19<00:04, 2.22it/s]
Build Spectra: 80%|████████ | 32/40 [00:19<00:03, 2.22it/s]
Build Spectra: 82%|████████▎ | 33/40 [00:20<00:03, 2.22it/s]
Build Spectra: 85%|████████▌ | 34/40 [00:20<00:02, 2.22it/s]
Build Spectra: 88%|████████▊ | 35/40 [00:21<00:02, 2.22it/s]
Build Spectra: 90%|█████████ | 36/40 [00:21<00:01, 2.22it/s]
Build Spectra: 92%|█████████▎| 37/40 [00:22<00:01, 2.21it/s]
Build Spectra: 95%|█████████▌| 38/40 [00:22<00:00, 2.22it/s]
Build Spectra: 98%|█████████▊| 39/40 [00:22<00:00, 2.21it/s]
Build Spectra: 100%|██████████| 40/40 [00:23<00:00, 2.22it/s]
Build Spectra: 100%|██████████| 40/40 [00:23<00:00, 1.71it/s]
Load in the data#
We can use VSPEC to read in the synthetic data we just created.
data = PhaseAnalyzer(model.directories['all_model'])
/home/ted/github/VSPEC/VSPEC/analysis.py:115: RuntimeWarning: No Layer info, maybe globes or molecular signatures are off
warnings.warn(
Get the lightcurve#
We will look in a few different wavelengths.
wl_pixels = [0,300,500,700]
time = data.time.to(u.day)
for i in wl_pixels:
wl = data.wavelength[i]
lc = data.lightcurve(
source='star',
pixel=i,
normalize=0
)
plt.plot(time,lc,label=f'{wl:.1f}')
plt.legend()
plt.xlabel(f'time ({time.unit})')
_=plt.ylabel('Flux (normalized)')

Total running time of the script: (0 minutes 28.031 seconds)