healpy anafast приводит к большим Cl

#python #healpy

#python #healpy

Вопрос:

Я использую anafast HEALPy для извлечения Cl из карт Планка, либо карты данных [1], либо карты моделирования. Кажется, что даже после того, как я применил их общую маску интенсивности [2], я получил спектр мощности, который примерно в пять раз больше, чем их релиз [3].

 # extract Cl's
filename = 'path/to/COM_CMB_IQU-commander_2048_R3.00_full.fits'
test_map = read_map(filename)

path = 'path/to/COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits'
mask = hp.read_map(path)
map_masked = hp.ma(test_map)
map_masked.mask = np.logical_not(mask)

test_cls_meas_frommap = anafast(map_masked, lmax=3000)

# load up Planck meas powerspectrum
path = '/path/to/powerspectrum'
T2 = 10**12*2.7255**2  # in muK^2
datalist = {
    'tt': 'COM_PowerSpect_CMB-TT-binned_R3.01.txt',
    'ee': 'COM_PowerSpect_CMB-EE-binned_R3.02.txt',
    'te': 'COM_PowerSpect_CMB-TE-binned_R3.02.txt'
}
targ = os.path.join(path, datalist['tt'])
res = cmb.load_meas(targ)
ll_meas = res[:, 0]
test_cls_meas = res[:, 1]/ll_meas/(ll_meas 1)*2.*np.pi/T2

# output
plt.subplots()
plt.plot(ll_meas, ll_meas*(ll_meas 1.)*test_cls_meas*T2/2./np.pi, '--', alpha=0.6, label='Planck 2018 PS release')
plt.plot(ll, ll*(ll 1.)*test_cls_meas_frommap*T2/2./np.pi, '--', alpha=0.6, label='Planck 2018 PS from Data Map')
plt.xlabel(r'$ell

С другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full "pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 ")

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits "http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits")

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt "http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt ")


Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:

 cmb_binned_spectrum = np.loadtxt('COM_PowerSpect_CMB-TT-binned_R3.01.txt')
k2muK = 1e6
plt.plot(cmb_binned_spectrum[:,0], cmb_binned_spectrum[:,1], '--', alpha=1, label='Planck 2018 PS release')
plt.plot(ll, ll*(ll 1.)*test_cls_meas_frommap*k2muK**2/2./np.pi / sky_fraction, '--', alpha=0.6, label='Planck 2018 PS from Data Map')
plt.xlabel(r'$ell

Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html


Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой - я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
plt.ylabel(r'$D_ellС другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full "pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 ")

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits "http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits")

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt "http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt ")

Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:


Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой - я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
#plt.xscale('log')
plt.legend(loc='best')

С другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full "pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 ")

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits "http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits")

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt "http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt ")

Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:


Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой - я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
plt.ylabel(r'$D_ell~[mu K^2]Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой - я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
plt.ylabel(r'$D_ellС другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full "pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 ")

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits "http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits")

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt "http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt ")

Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:


Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой - я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
#plt.xscale('log')
plt.legend(loc='best')

С другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full «pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 «)

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits «http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits»)

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt «http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt «)

Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:


Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой — я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
plt.grid()
plt.legend(loc=‘best’)Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой — я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
plt.ylabel(r’$D_ellС другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full «pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 «)

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits «http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits»)

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt «http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt «)

Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:


Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой — я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?

)
#plt.xscale(‘log’)
plt.legend(loc=‘best’)

С другой стороны, если я использую synfast для самостоятельного синтеза карты, а затем извлекаю спектр мощности с помощью anafast, я могу убедиться, что я получил входной спектр мощности. Интересно, есть ли какие-либо потенциальные подводные камни, которые могут привести к несоответствию вычислений спектра мощности по сравнению с способом Планка?

Источник данных:

[1] карта данных: (wget -O COM_CMB_IQU-commander_2048_R3.00_full «pla.esac.esa.int/pla-sl/data-action?MAP.MAP_OID=13470 «)

[2] карта маски: (wget -O COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits «http://pla.esac.esa.int/pla/aio/product-action?MAP.MAP_ID=COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits»)

[3] официальный спектр мощности: (wget -O COM_PowerSpect_CMB-TT-binned_R3.01.txt «http://pla.esac.esa.int/pla/aio/product-action ?COSMOLOGY.FILE_ID=COM_PowerSpect_CMB-TT-binned_R3.01.txt «)

Ответ №1:

в ваших вычислениях есть несколько проблем:

  • объединенный спектр мощности уже находится в D_ell, вы не должны умножать его ни на коэффициент ell (ell 1), ни на T2
  • при вычислении спектра на разрезанном небе вам нужно разделить на долю неба

Так что это должно сработать:


Я объяснил это и прошел все шаги в этой записной книжке: https://zonca.dev/2021/02/compute-planck-spectra-healpy-anafast.html

Комментарии:

1. Большое вам спасибо за ответ, Андреа. Мой плохой — я слишком привык к КЛАССОВОМУ способу определения безразмерного Cl. Ваша заметка тоже очень полезна. Просто любопытно, есть ли у вас хорошая рекомендация для начинающих по анализу CMB на уровне карты? Я имею в виду некоторые введения в основные понятия, такие как лучи и модусная связь, возникающие из-за маскировки и т. Д. было бы чрезвычайно полезно. Насколько я понимаю, документы Планка являются хорошим ресурсом, но детали анализа на данный момент немного выше моей головы. Как эксперт, возможно, вы знаете несколько более простых учебников / конспектов лекций с менее крутой кривой обучения?