Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
c0674dc
fix: changes to context loading
skhrg Dec 26, 2024
5ef5dca
feat: include r2 from tod fits in the output files
skhrg Jan 19, 2025
cfbdc46
feat: dd option to remove roll
skhrg Apr 6, 2025
7699a8d
fixes for handling LAT data
skhrg Apr 27, 2025
e9496ea
feat: add lat pointing model and pointing model support in focal plan…
skhrg May 12, 2025
b857da6
feat: add ability to pass missing arrays with template
skhrg May 12, 2025
69529f4
fix: zero out defaults for LAT pointing model and revert formatting
skhrg May 12, 2025
fc95de2
fix: override params from context loaded pointing model properly
skhrg May 12, 2025
7e5fff0
also trim on proc_aman in fft_trim
May 27, 2025
60ca432
starting work
chervias May 27, 2025
1f16024
Merge remote-tracking branch 'origin/20250527_fft_trim' into more_ml_…
chervias May 27, 2025
f68260f
more work
chervias May 27, 2025
e727ee6
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias May 27, 2025
bda426f
Merge remote-tracking branch 'origin/ffp_updates' into more_ml_mapmaker
chervias May 27, 2025
c07083e
Made LAT and SAT model default parameter imports similar. Removed deg…
elle-shaw May 28, 2025
37818b7
non-opt detectors, pointing model, calibrate to pW
chervias May 29, 2025
2a87548
adding abscal and other things
chervias Jun 11, 2025
3b4e7dc
we increase the maxcut on find_usable_detectors since some scan types…
chervias Jun 16, 2025
4ee564f
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jun 16, 2025
39d4eb2
Moving some preprocessing under nocal steps
chervias Jun 23, 2025
c5a2dde
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jun 23, 2025
a92d55e
Implementing catch of LoaderError for obs that dont exist in the prep…
chervias Jun 24, 2025
84542bc
Fix broken pior support
amaurea Jun 24, 2025
20c298d
Merge remote-tracking branch 'origin/fix_prior' into more_ml_mapmaker
chervias Jun 24, 2025
f8bde19
restore x_zip member for evaluator
amaurea Jun 24, 2025
3b3e85e
Merge remote-tracking branch 'origin/fix_prior' into more_ml_mapmaker
chervias Jun 25, 2025
a712097
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jun 30, 2025
1d9aa55
fix: look for r2 properly
skhrg Jul 2, 2025
41c6c2c
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jul 3, 2025
5567fe5
removing the logger from load_an_preprocess since I dont want so much…
chervias Jul 4, 2025
c205068
Rename LAT parameters. Reconfigure definitions for clarity. Added des…
elle-shaw Jul 7, 2025
125d7a7
fix: fixes to padding
skhrg May 16, 2025
022fec0
fix: skip obs with no roll in obsdb
skhrg Jul 8, 2025
6c36a14
switch to close
skhrg Jul 10, 2025
96538da
fix: dont compute common modes when we have no data
skhrg Jul 10, 2025
1e17f54
update comments to address matthews review
skhrg Jul 10, 2025
d8599b0
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jul 16, 2025
d313314
check if freq cutoffs in full aman
Jul 16, 2025
19b827b
Merge remote-tracking branch 'origin/20250715_full_aman_cutoffs' into…
chervias Jul 16, 2025
99c51d2
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jul 17, 2025
a740669
Merge remote-tracking branch 'origin/ffp_updates' into more_ml_mapmaker
chervias Jul 17, 2025
c203f2a
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jul 17, 2025
da3c9f9
Fixing a conflict
chervias Jul 23, 2025
b6b5753
fix: missing quaternion in lat gamma calculation
skhrg Jul 26, 2025
c6a8a14
Merge remote-tracking branch 'origin/gamma_fp_fix' into more_ml_mapmaker
chervias Jul 26, 2025
9b2d327
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jul 29, 2025
44e5f61
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jul 31, 2025
37ddd9d
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Aug 3, 2025
9108f72
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Aug 5, 2025
03fa7e2
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Aug 6, 2025
13a46fe
use old load_and_preprocess
Sep 9, 2025
299ec4e
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Sep 10, 2025
538c8c6
Merge remote-tracking branch 'origin/20250909_load_preproc' into more…
chervias Sep 10, 2025
decaa06
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Sep 15, 2025
a4faf06
adding the sensitivity cut from Sigurd
chervias Sep 23, 2025
36d16cf
Fixing a conflict from merging master
chervias Sep 26, 2025
321d936
Updating estimate_rms the way Sigurd does it
chervias Sep 30, 2025
2ae937c
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Sep 30, 2025
c83a13e
feat: add cli arg to downgrade input geometry (#1399)
skhrg Oct 1, 2025
2bab595
Merge branch 'more_ml_mapmaker' of https://github.com/simonsobs/sotod…
chervias Oct 2, 2025
15ae506
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Oct 2, 2025
f6b315d
valid data backwards compatibility
Oct 2, 2025
d354b04
use default loader if aman
Oct 2, 2025
35052c0
remove added import
Oct 2, 2025
33bedf9
Merge remote-tracking branch 'origin/20251002_valid_data' into more_m…
chervias Oct 2, 2025
4cb71b2
Datacount output on ml mapmaker
chervias Oct 14, 2025
c45649c
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Oct 17, 2025
d783157
Fixing bug that would kill ml mpamker when there was a mpi rank left …
chervias Oct 21, 2025
2a8b743
Merge remote-tracking branch 'origin/chervias/20251021' into more_ml_…
chervias Oct 21, 2025
d3709aa
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Oct 28, 2025
2d831ca
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Nov 13, 2025
5383c9c
Dropping downweights in the ACT noise model
chervias Nov 13, 2025
902817a
Adding sidelobe cutting functions
chervias Nov 18, 2025
5fb42ea
Adding docstring for sidelobes
chervias Nov 18, 2025
3a7572b
fixing indentation
chervias Nov 18, 2025
bbcf0b2
adding the numpy-quaternion dependence
chervias Nov 18, 2025
d49d9f0
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Dec 16, 2025
c6f237b
fixing a conflict
chervias Jan 6, 2026
5a7681a
Merge branch 'master' into sidelobecutter
chervias Jan 8, 2026
6670d3f
Merge remote-tracking branch 'origin/sidelobecutter' into more_ml_map…
chervias Jan 14, 2026
bdb0126
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Jan 14, 2026
8025030
Changes to make_ml_map.py to use the sidelobe cutter
chervias Jan 14, 2026
95dcfc5
Adding the hits option to make_ml_map.fits
chervias Jan 14, 2026
19bc5b6
Fixing an error on the --hits option
chervias Jan 14, 2026
172f63c
ML Mapmaker fixes (#1404)
skhrg Jan 23, 2026
4d27633
Merge remote-tracking branch 'origin/master' into sidelobecutter
chervias Feb 2, 2026
7aa02b7
Changes due to Matthews comments
chervias Feb 2, 2026
9cd9c28
Merge remote-tracking branch 'origin/sidelobecutter' into more_ml_map…
chervias Feb 2, 2026
6f16008
sidelobe function changed names in the ml mapmaker script
chervias Feb 2, 2026
6e4d34b
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Feb 3, 2026
024ac53
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Feb 9, 2026
416691a
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Feb 11, 2026
f7b8b30
Adding option to skip sidelobe masks
chervias Feb 12, 2026
553e470
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Feb 17, 2026
13bd47b
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Feb 26, 2026
7e2a429
Merge remote-tracking branch 'origin/master' into more_ml_mapmaker
chervias Mar 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sotodlib/mapmaking/ml_mapmaker.py
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,7 @@ def add_obs(self, id, obs, nmat, Nd):
"""
# First scan our mask to find which samples need this
# treatment
ctime = obs.timestamps
if self.recenter:
rec = smutils.evaluate_recentering(self.recenter, ctime=ctime[len(ctime) // 2],
geom=(self.mask.shape, self.mask.wcs), site=smutils.unarr(obs.site))
Expand Down
53 changes: 46 additions & 7 deletions sotodlib/mapmaking/utils.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import sys
import logging
import os
from typing import Optional, Any, Union
Expand Down Expand Up @@ -380,14 +381,19 @@ def expand_ids(obs_ids, context=None, bands=None):
sub_ids.append("%s:ws%d:%s" % (obs_id, si, band))
return sub_ids

def filter_subids(subids, wafers=None, bands=None):
def filter_subids(subids, wafers=None, bands=None, ots=None):
subids = np.asarray(subids)
if wafers is not None:
wafs = astr_tok(subids,":",1)
subids = subids[np.isin(wafs, wafers)]
if bands is not None:
bpass = astr_tok(subids,":",2)
subids = subids[np.isin(bpass, bands)]
if ots is not None:
# Somewhat hacky implementation
obs_ids = astr_tok(subids, ":",0)
has_ot = np.prod([np.char.find(obs_ids, ot) for ot in ots], 0)
subids = subids[has_ot >= 0]
return subids

def astr_cat(*arrs):
Expand Down Expand Up @@ -484,10 +490,16 @@ def get_pos(name, ctime, sys=None):
elif name == "auto":
return np.array([0,0]) # would use geom here
else:
obj = getattr(ephem, name)()
djd = ctime/86400 + 40587.0 + 2400000.5 - 2415020
obj.compute(djd)
return np.array([obj.a_ra, obj.a_dec])
try:
planet = coords.planets.SlowSource.for_named_source(
name, ctime)
ra0, dec0 = planet.pos(tod.timestamps.mean())
except:
obj = getattr(ephem, name)()
djd = ctime/86400 + 40587.0 + 2400000.5 - 2415020
obj.compute(djd)
ra0, dec0 = obj.a_ra, obj.a_dec
return np.array([ra0, dec0])
else:
return to_cel(name, sys, ctime, site, weather)
p1 = get_pos(info["from"], ctime, info["from_sys"])
Expand Down Expand Up @@ -569,8 +581,11 @@ def rangemat_sum(rangemat):
res[i] = np.sum(ra[:,1]-ra[:,0])
return res

def find_usable_detectors(obs, maxcut=0.1, glitch_flags: str = "flags.glitch_flags"):
ncut = rangemat_sum(obs[glitch_flags])
def find_usable_detectors(obs, maxcut=0.1, glitch_flags: str = "flags.glitch_flags", to_null : str = "flags.expected_flags"):
flag = obs[glitch_flags]
if to_null != "" and to_null in obs._fields:
flag = flag*~obs[to_null]
ncut = rangemat_sum(flag)
good = ncut < obs.samps.count * maxcut
return obs.dets.vals[good]

Expand Down Expand Up @@ -830,3 +845,27 @@ def atomic_db_aux(atomic_db, info: list[AtomicInfo]):
session.commit()
except exc.IntegrityError:
session.rollback()


def prune_mpi(comm, ranks_to_keep):
"""
Prune unneeded MPI procs.

Arguments:

comm: The MPI communicator currently in use.

ranks_to_keep: List of current ranks to keep in the new communicator.

Returns:

comm: Modified communicator with only the processes we want to keep.
"""
group = comm.Get_group()
new_group = group.Incl(ranks_to_keep)
new_comm = comm.Create(new_group)
if comm.rank not in ranks_to_keep:
sys.exit(0)
comm = new_comm

return comm
2 changes: 1 addition & 1 deletion sotodlib/preprocess/preprocess_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@ def load_and_preprocess(obs_id, configs, context=None, dets=None, meta=None,
else:
pipe = Pipeline(configs["process_pipe"], logger=logger)
aman = context.get_obs(meta, no_signal=no_signal)
pipe.run(aman, aman.preprocess, select=False)
pipe.run(aman, aman.preprocess)
return aman


Expand Down
Loading
Loading