Skip to content

Add support for multiple sources in lightcurve generation and plotting - #8

Merged
mtpenny merged 1 commit into
mtpenny:devfrom
AmberLee2427:feature/add-source-relative-flux-to-lc
Nov 4, 2025
Merged

Add support for multiple sources in lightcurve generation and plotting#8
mtpenny merged 1 commit into
mtpenny:devfrom
AmberLee2427:feature/add-source-relative-flux-to-lc

Conversation

@AmberLee2427

Copy link
Copy Markdown

multiple source flux columns in lightcurve

  • Implemented a strict flux conservation sanity check in the python plotting module to ensure the sum of source fluxes aligns with the true flux.
  • Enhanced the python plotting functions to optionally display fluxes for two sources.
  • Updated the lightcurve output to include relative fluxes for both sources in the output files.
  • Modified the lightcurve generator to compute and store individual source magnifications for binary source events.
  • Adjusted the smoke test runner to correctly reference parameter files for binary source cases. (smoke bug)
  • Expanded the event structure to accommodate magnifications for both sources.
  • Ensured memory allocation for new source magnification vectors during setup.
  • Fixed malformed fits files from outputLightcurve.cpp (src bug)
smoke_croin_binary_0_0_0 det_plot smoke_fish_binary_0_0_0 det_plot smoke_std_binary_0_0_0 det_plot

- Implemented a strict flux conservation sanity check in the plotting module to ensure the sum of source fluxes aligns with the true flux.
- Enhanced the plotting functions to optionally display fluxes for two sources.
- Updated the lightcurve output to include relative fluxes for both sources in the output files.
- Modified the lightcurve generator to compute and store individual source magnifications for binary events.
- Adjusted the runner to correctly reference parameter files for binary source cases. (smoke bug)
- Expanded the event structure to accommodate magnifications for both sources.
- Ensured memory allocation for new source magnification vectors during setup.
- Fixed malformed fits files from outputLightcurve.cpp (src bug)
@AmberLee2427

Copy link
Copy Markdown
Author

If John wanted the magnifications, not individual flux components, I can add that too.

@AmberLee2427

AmberLee2427 commented Nov 4, 2025

Copy link
Copy Markdown
Author

Specific addition to the lightcurve generator were:

	    if(Paramfile->multiple_sources && Event->scompanions.size()>0)
	    {    
...
			// Store individual source magnifications
			Event->Asrc1[idx] = amp;
			Event->Asrc2[idx] = amp2;
...
	    } else {
		
			Event->Asrc1[idx] = amp;
			Event->Asrc2[idx] = 0.0; // No second source
...

@mtpenny mtpenny left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Thanks Amber - this will be helpful! I'm approving the requests for now, but I have a couple of requests - at least one is annoying, sorry.

  1. Can you change to using mu instead of A to differentiate it from the relative flux which is using A currently (terrible choice I know)
  2. (the annoying one) can we 2-d vectorize these, please to enable future development of more complicated source systems. For computational efficiency I think the first index should be source number, and the second should be observation epoch (i.e., each magnification curve is a vector inside a vector of vectors.

@mtpenny
mtpenny merged commit ed7ea60 into mtpenny:dev Nov 4, 2025
4 checks passed
mtpenny pushed a commit that referenced this pull request Jan 30, 2026
Add v2.1.0 release documentation for astrometry feature
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