コード例 #1
0
ファイル: fgNIR.py プロジェクト: HajimeKawahara/exocounts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from astropy import constants as const
from astropy import units as u
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
import diflimit

emis = 1.e-15 * u.J / u.s / u.arcsec / u.arcsec / u.micron
aparture = ((diflimit.ld(1.5 * u.micron, 30. * u.m)))**2 * np.pi
print("TMT aperture a=", aparture)
print("e*a=", aparture * emis)

apartureV = ((diflimit.ld(1.5 * u.micron, 10. * u.m)))**2 * np.pi
print("VLT aperture a=", apartureV)
print("e*a2=", apartureV * emis)
コード例 #2
0
            plt.text(sep,
                     fluxc,
                     dat["name"][i],
                     color=col,
                     alpha=0.5,
                     fontsize=13)
        else:
            plt.text(sep,
                     fluxc,
                     dat["propername"][i],
                     color=col,
                     alpha=0.5,
                     fontsize=13)
        print("OK:", dat["name"][i])

    except:
        print("Error:", dat["name"][i])

for i in range(1, 4):
    ld = (diflimit.ld(MIR, TelD))
    plt.axvline(i * (ld.value), alpha=0.5, ls="dashed")
plt.xscale("log")
plt.yscale("log")
plt.xlabel("Separation [arcsec]", fontsize=18)
plt.ylabel("Flux [J/s/m2/um]", fontsize=18)
plt.xlim(3.e-3, 1.e1)

plt.ylim(3.e-21, 3.e-17)
plt.tick_params(labelsize=18)
plt.show()
コード例 #3
0
ファイル: tao.py プロジェクト: HajimeKawahara/exocounts
#c=(((target.rstar)**2*nstar.Blunitless(target.teff,michi.lamb))/(nstar.Blunitless(tau_ceti_teff,michi.lamb)*(tau_ceti_rstar)**2)).to(1)
#print("contrast=",c)

#target.d = 3.65*u.pc #pc
target.d = 1.3 * u.pc  #pc

obs = exocounts.ObsClass(michi, target)

obs.texposure = 100.0 * u.h  #cadence [hour] # 30 x visits (1 hr=transit dur trappist e)
obs.tframe = 7.1 * u.s  #time for one frame [sec]
obs.napix = 15  # number of the pixels in aperture
obs.mu = 1
S = 1.8 * 1.8 * np.pi  #core size
obs.effnpix = S / 3.0  #3 is an approx. increment factor of PSF
obs.mu = 1
obs.fgaparture = ((diflimit.ld(michi.lamb, michi.dtel)) / 2.0)**2 * np.pi

obs.target = target
obs.update()

magdict = convmag.get_magdict()
print("photon count for foreground", obs.nphoton_foreground)
print("photon count signal for exp=", obs.nphoton_exposure)

print("S/N for Nsig/sqrt(Nthermal)",
      obs.nphoton_exposure / np.sqrt(obs.nphoton_foreground))

print("Contrast for/sig (log)",
      np.log10(obs.nphoton_foreground / obs.nphoton_exposure))
print("Contrast for/sig ", (obs.nphoton_foreground / obs.nphoton_exposure))
コード例 #4
0
        amin=dat["amin"][i]
        d=dat["dpc"][i]
        sep=float(amin)/float(d)
        if decdeg > -40:
            col="C1"
        else:
            col="gray"
        plt.plot([sep],[contrast],"o",color=col)
            
        if str(dat["propername"][i])=="nan":
            plt.text(sep,contrast,dat["name"][i],color=col,alpha=0.5,fontsize=13)
        else:
            plt.text(sep,contrast,dat["propername"][i],color=col,alpha=0.5,fontsize=13)
        print("OK:",dat["name"][i])

    except:
        print("Error:",dat["name"][i])

for i in range(1,4):
    ld=(diflimit.ld(NIR,TelD))
    plt.axvline(i*(ld.value),alpha=0.5,ls="dashed")
plt.xscale("log")
plt.yscale("log")
plt.xlabel("Separation [arcsec]",fontsize=18)
plt.ylabel("Contrast",fontsize=18)
plt.xlim(3.e-3,1.e1)

plt.ylim(3.e-10,3.e-5)
plt.tick_params(labelsize=18)
plt.show()