Beispiel #1
0
def test_homogeneous_noise():

    seed = 1234
    tube = "ST3"

    simulator = mapsims.SONoiseSimulator(nside=nside, homogeneous=False)
    output_map = simulator.simulate(tube, seed=seed)

    assert hp.mask_bad(output_map).sum() > 100

    simulator = mapsims.SONoiseSimulator(nside=nside, homogeneous=True)
    output_map = simulator.simulate(tube, seed=seed)

    assert hp.mask_bad(output_map).sum() == 0
    assert output_map[0][0][1].std() < 4
Beispiel #2
0
def test_no_atmosphere():
    """Disabling atmosphere reduces power in the map"""

    seed = 1234
    tube = "ST3"

    simulator = mapsims.SONoiseSimulator(nside=nside, homogeneous=True, rolloff_ell=None)
    output_map = simulator.simulate(tube, seed=seed, atmosphere=True)

    assert output_map[0][0][0].std() > .5

    output_map = simulator.simulate(tube, seed=seed, atmosphere=False)

    assert output_map[0][0][0].std() < .5
Beispiel #3
0
def test_noise_simulator_car(tube):

    from pixell import enmap

    seed = 1234
    shape, wcs = enmap.fullsky_geometry(res=res)
    simulator = mapsims.SONoiseSimulator(shape=shape, wcs=wcs)

    output_map = simulator.simulate(tube, seed=seed)
    expected_map = enmap.read_map(
        data.get_pkg_data_filename(
            f"data/noise_{tube}_uKCMB_classical_res30_seed1234_car.fits.gz"
        )
    )
    assert_quantity_allclose(output_map, expected_map, rtol=1e-5)
Beispiel #4
0
def test_noise_simulator(tube):

    seed = 1234

    simulator = mapsims.SONoiseSimulator(nside=nside)
    output_map = simulator.simulate(tube, seed=seed)

    for i, ch in enumerate(simulator.tubes[tube]):
        expected_map = hp.read_map(
            data.get_pkg_data_filename(
                f"data/noise_{tube}_{ch.band}_uKCMB_classical_nside16_seed1234_healpix.fits.gz"
            ),
            (0, 1, 2),
            verbose=False,
        )
        assert_quantity_allclose(output_map[i, 0], expected_map)
Beispiel #5
0
def test_from_classes():

    noise = mapsims.SONoiseSimulator(
        nside=NSIDE,
        return_uK_CMB=True,
        sensitivity_mode="baseline",
        apply_beam_correction=False,
        apply_kludge_correction=True,
        SA_one_over_f_mode="pessimistic",
    )

    # Test CMB alms from Planck generated with
    # https://zonca.dev/2020/09/planck-spectra-healpy.html

    cmb = mapsims.SOPrecomputedCMB(
        num=0,
        nside=NSIDE,
        lensed=False,
        aberrated=False,
        has_polarization=True,
        cmb_set=0,
        cmb_dir="mapsims/tests/data",
        input_units="uK_CMB",
    )

    simulator = mapsims.MapSim(
        channels="tube:ST0",
        nside=NSIDE,
        unit="uK_CMB",
        pysm_components_string="SO_d0",
        pysm_custom_components={"cmb": cmb},
        pysm_output_reference_frame="C",
        other_components={"noise": noise},
    )

    output_map = simulator.execute(write_outputs=False)[simulator.channels[0][0].tag]

    expected_map = hp.read_map(
        data.get_pkg_data_filename("data/simonsobs_ST0_UHF1_nside16.fits.gz"), (0, 1, 2)
    )
    assert_quantity_allclose(output_map, expected_map, rtol=1e-6)
Beispiel #6
0
import mapsims
import healpy as hp

content = "relative_hitmap"

for tube in mapsims.so_utils.tubes.keys():
    sim = mapsims.MapSim(channels=tube), other_components=mapsims.SONoiseSimulator())
    sim = mapsims.SONoiseSimulator(telescopes=[\"LA\",\"SA\"], nside=256, scanning_strategy=False, num=134,\n",
    "                       rolloff_ell=50, hitmap_version=\"v0.2\", full_covariance=False)"
    hp.write_map("outputs/hitmaps/" +f"simonsobs_{content}_{scanning_strategy}_{telescope}_nside{nside}.fits", noise.hitmap[telescope])
import mapsims
import healpy as hp

content = "relative_hitmap"

for nside in [512, 4096]:
    for scanning_strategy in ["classical", "opportunistic"]:
        noise = mapsims.SONoiseSimulator(nside=nside, scanning_strategy=scanning_strategy)
        for telescope in ["SA", "LA"]:
            hp.write_map("/home/zonca/comet/simonsobs/hitmaps/" +f"simonsobs_{content}_{scanning_strategy}_{telescope}_nside{nside}.fits", noise.hitmap[telescope])
import numpy as np
import healpy as hp

import pytest
from astropy.tests.helper import assert_quantity_allclose

from astropy.utils import data
import mapsims
import pysm.units as u
from mapsims import so_utils
from pixell import enmap
from orphics import io

res = np.deg2rad(30 / 60.)

seed = 1234
shape, wcs = enmap.fullsky_geometry(res=res)
simulator = mapsims.SONoiseSimulator(shape=shape, wcs=wcs)
for tube in ["LT0", "ST3"]:
    output_map = simulator.simulate(tube, seed=seed)
    fname = f"noise_{tube}_uKCMB_classical_res30_seed1234_car"
    expected_map = enmap.write_map(f"{fname}.fits", output_map)

nside = 16
simulator = mapsims.SONoiseSimulator(nside=nside)
for tube in ["ST0", "ST3"]:
    output_map = simulator.simulate(tube, seed=seed)
    for i, band in enumerate(so_utils.tubes[tube]):
        fname = f"noise_{tube}_{band}_uKCMB_classical_nside16_seed1234_healpix"
        expected_map = hp.write_map(f"{fname}.fits", output_map[i, 0])