Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
jenniferyee committed Nov 30, 2023
2 parents fcada18 + 7bc1c08 commit 2e6280d
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 63 deletions.
18 changes: 2 additions & 16 deletions developers_board.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Next big tasks - think about the order:
1. xallarap
2. full Keplerian motion of the lens (because 2-parameter approximation is unphysical and is already implemented)
3. triple sources
4. triple lenses
Expand All @@ -8,17 +7,12 @@
7. terrestial parallax

# Next smaller tasks:
1. gradient for parallax model issue
2. ModelParameters - note that t_0_1 etc. are for "binary source" models
2. update VBBL
3. make directory with reference plots from examples
4. remove unused branches
5. UC40 - finish it and implement Event.get\_lc and plot\_lc
6. example 16
7. UC38 - finish it
8. chi2 gradient for rho or t_star - first move code from FitData to Trajectory and PointLens (which means new minor version)
9. faster FFP calculations
10. print Model/ModelParameters: add t\_0\_par somewhere - maybe only when it is != t\_0
11. "import MulensModel as mm" everywhere: use_cases/->30,31,34 examples/run_time_tests/check_system.py examples/checks.py TUTORIALS
12. satellite positions read from a file similar to data challenge files
13. check open issues on github
Expand All @@ -42,7 +36,7 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* more on setup.py: [link](https://github.com/kennethreitz/setup.py)
* compile with "pedantic" flags for compilers
* Documentation
* magnification\_methods.pdf - add full references there and link this file in the code
* magnification\_methods.pdf - add full references there
* Sagan workshop hands-on activity in MM
* examples as ipython notebooks
* Add \_\_repr\_\_ functions to Lens and Source
Expand All @@ -61,8 +55,6 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* Fit.fit\_fluxes docstring to be updated
* which\_parameters() - note that it doesnt work for binary source parameters, but the parameters work properly; just BSPL and rho\_2 etc. are optional
* parallax models
* binary source - there should be one Fit less in Event.get\_chi2xxx functions - if there are 2 sources, then calculate magnification and use F\_S = F\_S\_1+F\_S\_2 and get it from self.model.fit; most probably adding some function to Fit would help
* test binary-lens binary-source
* different t\_E for each source (correct Model.set\_times)
* test binary source with exactly one rho\_X defined
* add t\_eff\_1, t\_eff\_2
Expand All @@ -83,7 +75,6 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* get gamma/u LD coeffs from Claret papers etc.
* [Lee+09](https://ui.adsabs.harvard.edu/abs/2009ApJ...695..200L/abstract) - gradient calculations for uniform source, also faster calculations - profile
* FSPL for large sources using [Agol 2003](https://ui.adsabs.harvard.edu/abs/2003ApJ...594..449A/abstract)
* Xallarap (see below for references)
* Quadratic limb darkening
* Multi-lens ray shooting:
* mapmaking version which adds new rays as needed (but remember that it runs for fixed (s,q) only!)
Expand Down Expand Up @@ -132,7 +123,6 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* Event should sync information on which of the 3 types of parallax are used, so that if it is specified for event, then there will be exception if one dataset is missing earth\_coords etc. In general there should be some way to make sure which parallax types are used in which calculation of magnification.
* Class Event should have not only set\_datasets() methods but also add\_datasets(), i.e. a similar method that appends datasets to self.\_datasets.
* reduce calls to Fit.fit\_fluxes()
* add finite source in chi2\_gradient()
* chi2\_gradient() should cope NaN values in a way similar to get\_chi2()
* **check all functions that should pass** fit\_blending parameter - Event.plot\_model, what else??? Already done: Event.get\_ref\_fluxes()
* chi2 with maximum value provided - if the chi2 for point-source gives chi2 larger than specified limit, then finite source calculations are not undertaken (this should significantly speed-up MultiNest)
Expand Down Expand Up @@ -214,7 +204,7 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* when plotting data, make sure that max/min limits on Y axis include errorbars, if the errorbars are shown
* export/save given data file in scale of other dataset and model
* this line may be wrong for some values of char: kwargs['fmt'] = kwargs['fmt'].replace(char, "")
* for plt.scatter() the color can be set as 'facecolor', 'facecolors', or 'edgecolors' and this should be dealt with in _set_plot_properties()
* for plt.scatter() the color can be set as 'facecolor', 'facecolors', or 'edgecolors' and this should be dealt with in \_set\_plot\_properties()
* for plotting X for bad data use large size and/or thinner line
* separate colors (or even kwargs) for X-es as an option (to get contrasting colors see https://itsphbytes.wordpress.com/2016/08/29/complementary-colors-python-code/)
* PointLens class:
Expand All @@ -230,7 +220,6 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* _warning when too many annual parallax calculations are conducted_
* _\_get\_delta\_satellite() should be using self.times_
* annual parallax caching - if moved to MulensData, then would be faster because hashing of coords and time vector takes time
* maybe Trajectory should be able to plot itself, and Model.plot\_trajectory() should call it - it would be easier for binary sources etc.
* colorscale time or magnification (see Fig 2 in [Ranc+19](https://arxiv.org/abs/1810.00014))
* plot in units of theta\_star (or even days) instead of theta\_E
* UniformCausticSampling class:
Expand Down Expand Up @@ -263,7 +252,6 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* _Hamiltonian MCMC [link 1](http://arogozhnikov.github.io/2016/12/19/markov_chain_monte_carlo.html) and [link 2](https://theclevermachine.wordpress.com/2012/11/18/mcmc-hamiltonian-monte-carlo-a-k-a-hybrid-monte-carlo/) and [link 3](https://colindcarroll.com/2019/04/11/hamiltonian-monte-carlo-from-scratch/)_
* example with [parallel EMCEE](https://emcee.readthedocs.io/en/stable/tutorials/parallel/)
* _plot many models from posterior_
* **chi2 per dataset**
* **scipy.curve\_fit() and print parameter uncertainties**
* **corner plots; they require [corner](https://github.com/dfm/corner.py), [pyhdust](https://github.com/danmoser/pyhdust), or [pyGTC](https://pypi.org/project/pyGTC/)**
* _F\_s for MOA data for MB08310 differs from Janczak paper - is it caused by FSPL vs. FSBL models?_
Expand All @@ -277,8 +265,6 @@ Changes for planned v3 are here: [documents/MM\_v3.md](documents/MM_v3.md)
* note in PSPL tutorial about plotting data in MulensData
* add example that after calling Event.get\_chi2() use Event.fit to get e.g. magnifications so that the magnification is not calculated twice
* **satellite data fitted and plotted - what is missing now?**
* use ast.literal\_eval() for .cfg files to read dict or list, e.g., for MulensData options.
* _high-level fitting example where we dont care how complicated it is, we just want to make it simple and useful for the user_
* some cfg files use "../data/..." - change it to MM.DATA\_PATH somehow
* in emcee we should check if all the starting points are in prior
* check if MM correctly interacts with scipy.optimize.leastsq and maybe add an example
Expand Down
15 changes: 8 additions & 7 deletions examples/example_16/ob03235_2_full.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,14 @@ plots:
# makes legend in 2 columns
loc: lower center
second Y scale:
# This adds second Y axis on the right-hand side. Only first line below is required.
magnifications: [2, 3, 4, 5, 6, 7, 8, 9]
# If you don't know what will be the range of magnifications on your plot, then make
# a test run with some very small and very large values and a warning will tell you
# what is exact range on the plot.
labels: [a, b, c, d, e, f, g, h]
# If you remove the line above, then magnification values will be printed.
# This adds second Y axis to the right side. Only magnifications key is required.
magnifications: optimal
# magnifications: [2, 3, 4, 5, 6, 7, 8, 9]
# If you want to provide magnification values but don't know what will be the range
# of magnifications on your plot, then make a test with very small and large numbers
# and a warning will tell you the exact range.
# labels: [a, b, c, d, e, f, g, h]
# The list of labels above can not be given if magnifications = "optimal"
label: What is shown on this axis?
color: magenta
trajectory:
Expand Down
Loading

0 comments on commit 2e6280d

Please sign in to comment.