8000 Mss3 by keskitalo · Pull Request #817 · hpc4cmb/toast · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Mss3 #817

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Apr 23, 2025
Merged

Mss3 #817

merged 8 commits into from
Apr 23, 2025

Conversation

keskitalo
Copy link
Member
@keskitalo keskitalo commented Apr 16, 2025

A bucket of tweaks needed to facilitate the MSS3 simulations:

  • improve compatibility between the FilterBin operator and sotodlib Splits operator
  • fix a bug in producing the string representation of a Scan object when the Celestial coordinates are not yet calculated
  • Add support for flagging the inverse of a given view
  • Add a unit test for FlagIntervals
  • Fix more interval time stamp comparison issues. The default relative tolerance is completely inadequate.

Copy link
Member
@tskisner tskisner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor comments. Thanks for the additional unit tests!

Comment on lines +168 to +171
if inverse:
return ~self.obj._views[view_name]
else:
return self.obj._views[view_name]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inverting intervals on the fly is a neat feature. However, this is not free. My concern is that if calling code repeatedly loops over negated intervals, then that will create a temporary object on every call. It would be much better to just create such an interval list once. For the use case in this PR (flagging negated intervals) it is fine, but we should avoid ever using the ~ syntax when passing views to pointing operators and mapmaking templates for example. Another option would be to only create these negated intervals temporarily in the FlagIntervals operator and then delete them. I am fine leaving this as-is, but we should perhaps add a warning to the documentation.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. Added a warning that is triggered when the same view is inverted more than 100 times.

@@ -20,7 +20,8 @@ class FlagIntervals(Operator):
with shared flags. The view_mask trait is a list of tuples. Each tuple contains
the name of the view (i.e. interval) to apply and the bitmask to use for that
view. For each interval view, flag values in the shared_flags object are bitwise-
OR'd with the specified mask for samples in the view.
OR'd with the specified mask for samples in the view. If the name of the view is
prefixed with '~' or '-', the bitmask is applied to all samples outside the view.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mention using - here in addition to ~, but the observation view manager only considers ~. Did I miss something?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was the original idea but really only ~ makes sense.

@keskitalo keskitalo merged commit 6480c04 into toast3 Apr 23, 2025
7 checks passed
@keskitalo keskitalo deleted the mss3 branch April 23, 2025 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0