Example case of estimating observing time for assumed A10 clusters
This thread shows how to use M2_ProposalTools to estimate the required time to observe clusters based on a single pointing.
[1]:
import M2_ProposalTools.WorkHorse as WH
import numpy as np
import astropy.units as u
import M2_ProposalTools.FilterImages as FI
import scipy
Let’s just take the case of a few masses at high redshift (\(z=1.0\))
[2]:
M500s = np.array([3.0,4.0,5.0,6.0])*1e14*u.M_sun
zs = np.array([1.0,1.0,1.0,1.0])
[3]:
h70 = 1 # Normalization of Hubble parameter
fwhm = 10.0 # Roughly the resolution of MUSTANG-2
pixsize = 2.0 # Assume this pixel size
s2f = np.sqrt(8.0*np.log(2.0)) # Conversion between FWHM and sigma
pix_sigma = fwhm/(pixsize*s2f) # Gaussian sigma, in pixel size
scansize = 3.0 # Assume scan sizes of 3 arcminutes
y2k = -3.3 # Approximate conversion.
We’ll just dive into some of the functions and get what we want:
[4]:
TotalTime=0
for M500,z in zip(M500s,zs):
y500 = WH.y_delta_from_mdelta(M500.value,z,delta=500,YMrel="A10",ycyl=False,h70=h70)
ymap = WH.make_A10Map(M500,z,pixsize=pixsize,Dist=True)
mymap = WH.smooth_by_M2_beam(ymap,pixsize=pixsize)
tab = WH.get_xfertab(scansize)
yxfer_init = FI.apply_xfer(mymap,tab,pixsize)
yxfer = scipy.ndimage.filters.gaussian_filter(yxfer_init, pix_sigma*0.9)
uKmap = yxfer*y2k*1e6
uJymap = uKmap * (56/73.0)
MS = 56.2
#print("pixel size: ",pixsize)
SZpeak_uK = np.min(uKmap)
SZpeak_uJy = np.min(uJymap)
SZpeak_yr = np.max(ymap)
SZpeak_yc = np.max(mymap)
SZpeak_yx = np.max(yxfer)
ObsTime = (MS*10/SZpeak_uJy)**2
TelTime = np.ceil(ObsTime*8)/4.0
print("M500 (1e14): ",(M500/1e14).value)
print("Redshift: ",z)
#print("R500 (arcmin): ",Theta500*60*180/np.pi)
print("Y500 (1e12 sr): ",y500*1e12)
print("Unfiltered y peak: ", SZpeak_yr)
print("Beam-convolved y peak: ", SZpeak_yc)
print("Filtered y peak: ", SZpeak_yx)
print("Filtered peak, uK: ", SZpeak_uK)
print("Filtered peak, uJy/beam: ", SZpeak_uJy)
print("Time to 10 sigma peak detection (hrs): ",ObsTime)
print("================================================")
TotalTime += TelTime
print("Total Telescope Time: ", TotalTime)
M500 (1e14): 3.0
Redshift: 1.0
Y500 (1e12 sr): 9.607250432078944
Unfiltered y peak: 9.619897496889924e-05
Beam-convolved y peak: 8.860120011199452e-05
Filtered y peak: 4.712003987027812e-05
Filtered peak, uK: -155.4961315719178
Filtered peak, uJy/beam: -119.28470367160817
Time to 10 sigma peak detection (hrs): 22.19745167103094
================================================
M500 (1e14): 4.0
Redshift: 1.0
Y500 (1e12 sr): 16.032087067090995
Unfiltered y peak: 0.00013376973214360876
Beam-convolved y peak: 0.00012461706064739533
Filtered y peak: 6.38786680129082e-05
Filtered peak, uK: -210.79960444259706
Filtered peak, uJy/beam: -161.70928559980047
Time to 10 sigma peak detection (hrs): 12.078213834594965
================================================
M500 (1e14): 5.0
Redshift: 1.0
Y500 (1e12 sr): 23.850082514564303
Unfiltered y peak: 0.00017266723341949052
Beam-convolved y peak: 0.0001609109038327221
Filtered y peak: 7.946347504129425e-05
Filtered peak, uK: -262.229467636271
Filtered peak, uJy/beam: -201.16233133741338
Time to 10 sigma peak detection (hrs): 7.805115080972119
================================================
M500 (1e14): 6.0
Redshift: 1.0
Y500 (1e12 sr): 32.99381264073863
Unfiltered y peak: 0.00021264462426804625
Beam-convolved y peak: 0.00019890428730061485
Filtered y peak: 9.512226057648411e-05
Filtered peak, uK: -313.90345990239757
Filtered peak, uJy/beam: -240.80265417170224
Time to 10 sigma peak detection (hrs): 5.446908654698684
================================================
Total Telescope Time: 95.5
[ ]: