From 97747716b69d5b067074f46895175c4f3ab312f3 Mon Sep 17 00:00:00 2001 From: DanielaBreitman Date: Wed, 12 Feb 2025 14:41:13 +0100 Subject: [PATCH 1/5] fix: double quotes in the yaml files can lead to not being able to read the file on windows, replaced w single quotes --- src/py21cmsense/data/profiles/SKA-LOW1-central.yaml | 2 +- src/py21cmsense/data/profiles/SKA-LOW1-core.yaml | 2 +- src/py21cmsense/observatory.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/py21cmsense/data/profiles/SKA-LOW1-central.yaml b/src/py21cmsense/data/profiles/SKA-LOW1-central.yaml index 7d4c83d..d0bdd31 100644 --- a/src/py21cmsense/data/profiles/SKA-LOW1-central.yaml +++ b/src/py21cmsense/data/profiles/SKA-LOW1-central.yaml @@ -1,5 +1,5 @@ antpos: !astropy.units.Quantity - value: !txt "{{ DATA_PATH }}/antpos/layout_enu_ska_central.txt" + value: !txt '{{ DATA_PATH }}/antpos/layout_enu_ska_central.txt' unit: !astropy.units.Unit {unit: m} beam: class: GaussianBeam diff --git a/src/py21cmsense/data/profiles/SKA-LOW1-core.yaml b/src/py21cmsense/data/profiles/SKA-LOW1-core.yaml index 8d96eee..7f45bc9 100644 --- a/src/py21cmsense/data/profiles/SKA-LOW1-core.yaml +++ b/src/py21cmsense/data/profiles/SKA-LOW1-core.yaml @@ -1,5 +1,5 @@ antpos: !astropy.units.Quantity - value: !txt "{{ DATA_PATH }}/antpos/layout_enu_ska_core.txt" + value: !txt '{{ DATA_PATH }}/antpos/layout_enu_ska_core.txt' unit: !astropy.units.Unit {unit: m} beam: class: GaussianBeam diff --git a/src/py21cmsense/observatory.py b/src/py21cmsense/observatory.py index 501c0d6..39421cc 100644 --- a/src/py21cmsense/observatory.py +++ b/src/py21cmsense/observatory.py @@ -272,7 +272,7 @@ def from_ska( else: raise ValueError("array_type must be 'low' or 'mid'.") antpos = subarray.array_config.xyz.data * un.m - _beam = beam.GaussianBeam(frequency=frequency, dish_size=35.0 * un.m) + _beam = beam.GaussianBeam(frequency=frequency, dish_size=np.array(subarray.array_config.diameter)[0] * un.m) lat = subarray.array_config.location.lat.rad * un.rad return cls(antpos=antpos, beam=_beam, latitude=lat, Trcv=Trcv) @@ -551,7 +551,7 @@ def grid_baselines( weights = self.baseline_weights_from_groups(baseline_groups) bl_max = np.sqrt(np.max(np.sum(baselines**2, axis=1))) - + print(len(baselines), len(weights), bl_max) if weights is None: raise ValueError("If baselines are provided, weights must also be provided.") From a79f1ff5b34c7e56feb8aebef7e5f7a52829aef1 Mon Sep 17 00:00:00 2001 From: DanielaBreitman Date: Wed, 12 Feb 2025 14:41:49 +0100 Subject: [PATCH 2/5] fix: double quotes in the yaml files can lead to not being able to read the file on windows, replaced w single quotes --- src/py21cmsense/data/profiles/HERA-H1C-IDR3.yaml | 2 +- src/py21cmsense/data/profiles/MWA-PhaseII.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/py21cmsense/data/profiles/HERA-H1C-IDR3.yaml b/src/py21cmsense/data/profiles/HERA-H1C-IDR3.yaml index 7a1b948..70ec8a5 100644 --- a/src/py21cmsense/data/profiles/HERA-H1C-IDR3.yaml +++ b/src/py21cmsense/data/profiles/HERA-H1C-IDR3.yaml @@ -1,5 +1,5 @@ antpos: !astropy.units.Quantity - value: !txt "{{ DATA_PATH }}/antpos/hera-h1c-idr3.txt" + value: !txt '{{ DATA_PATH }}/antpos/hera-h1c-idr3.txt' unit: !astropy.units.Unit {unit: m} beam: class: GaussianBeam diff --git a/src/py21cmsense/data/profiles/MWA-PhaseII.yaml b/src/py21cmsense/data/profiles/MWA-PhaseII.yaml index 21e770d..e503eb7 100644 --- a/src/py21cmsense/data/profiles/MWA-PhaseII.yaml +++ b/src/py21cmsense/data/profiles/MWA-PhaseII.yaml @@ -1,5 +1,5 @@ antpos: !astropy.units.Quantity - value: !txt "{{ DATA_PATH }}/antpos/mwa_phase2_compact_antpos.txt" + value: !txt '{{ DATA_PATH }}/antpos/mwa_phase2_compact_antpos.txt' unit: !astropy.units.Unit {unit: m} beam: class: GaussianBeam From 3f97ce7bb34689011dfd7955ce6f9a35a97077a2 Mon Sep 17 00:00:00 2001 From: DanielaBreitman Date: Wed, 12 Feb 2025 14:49:34 +0100 Subject: [PATCH 3/5] fix: double quotes in the yaml files can lead to not being able to read the file on windows, replaced w single quotes --- src/py21cmsense/observatory.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py21cmsense/observatory.py b/src/py21cmsense/observatory.py index 39421cc..6b2a702 100644 --- a/src/py21cmsense/observatory.py +++ b/src/py21cmsense/observatory.py @@ -551,7 +551,7 @@ def grid_baselines( weights = self.baseline_weights_from_groups(baseline_groups) bl_max = np.sqrt(np.max(np.sum(baselines**2, axis=1))) - print(len(baselines), len(weights), bl_max) + if weights is None: raise ValueError("If baselines are provided, weights must also be provided.") From ca8ae8f6810b7ca11e6a97e17939b51ddc038575 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 12 Feb 2025 13:50:52 +0000 Subject: [PATCH 4/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/py21cmsense/observatory.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/py21cmsense/observatory.py b/src/py21cmsense/observatory.py index 6b2a702..781e053 100644 --- a/src/py21cmsense/observatory.py +++ b/src/py21cmsense/observatory.py @@ -272,7 +272,9 @@ def from_ska( else: raise ValueError("array_type must be 'low' or 'mid'.") antpos = subarray.array_config.xyz.data * un.m - _beam = beam.GaussianBeam(frequency=frequency, dish_size=np.array(subarray.array_config.diameter)[0] * un.m) + _beam = beam.GaussianBeam( + frequency=frequency, dish_size=np.array(subarray.array_config.diameter)[0] * un.m + ) lat = subarray.array_config.location.lat.rad * un.rad return cls(antpos=antpos, beam=_beam, latitude=lat, Trcv=Trcv) From 190393284d2f4cb5d97c7634545e867f1fbfd128 Mon Sep 17 00:00:00 2001 From: DanielaBreitman Date: Fri, 21 Feb 2025 16:53:55 +0100 Subject: [PATCH 5/5] fix: sample variance should decrease with the number of fields --- src/py21cmsense/sensitivity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/py21cmsense/sensitivity.py b/src/py21cmsense/sensitivity.py index b9f0492..4b3f960 100644 --- a/src/py21cmsense/sensitivity.py +++ b/src/py21cmsense/sensitivity.py @@ -388,7 +388,7 @@ def calculate_sensitivity_2d( if sample: total_std = sample_std = 1 / np.sqrt( self._nsamples_2d["sample"][k_perp][mask] - * (self.observation.time_per_day / self.observation.beam_crossing_time).to("") + * (self.observation.time_per_day / self.observation.lst_bin_size).to("") ) if thermal and sample: total_std = thermal_std + sample_std