diff --git a/.gitignore b/.gitignore index 1265ec97..49cce526 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ source/MulensModel/*.so # Coverage report: coverage.xml +/source/MulensModel/htmlcov/ diff --git a/README.md b/README.md index e372cda1..6f3651cb 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [**Detailed documentation: https://rpoleski.github.io/MulensModel/**](https://rpoleski.github.io/MulensModel/) -[Latest release: 2.18.0](https://github.com/rpoleski/MulensModel/releases/latest) and we're working on further developing the code. +[Latest release: 2.19.0](https://github.com/rpoleski/MulensModel/releases/latest) and we're working on further developing the code. MulensModel can generate a microlensing light curve for a given set of microlensing parameters, fit that light curve to some data, and return a chi2 value. That chi2 (and its gradient in some cases) can then be input into an arbitrary likelihood function to find the best-fit parameters. @@ -62,4 +62,4 @@ If you want to contribute to MulensModel, then please see [this file](CONTRIBUTI ![example workflow](https://github.com/rpoleski/MulensModel/actions/workflows/python-app.yml/badge.svg) [![Coverage Status](https://codecov.io/gh/rpoleski/MulensModel/branch/master/graph/badge.svg)](https://codecov.io/gh/rpoleski/MulensModel) -file revised Sep 2023 +file revised Dec 2023 diff --git a/data/unit_test_files/ob140939_OGLE_ref_v1.dat b/data/unit_test_files/ob140939_OGLE_ref_v1.dat deleted file mode 100644 index 115a8a74..00000000 --- a/data/unit_test_files/ob140939_OGLE_ref_v1.dat +++ /dev/null @@ -1,485 +0,0 @@ -5265.84145 15.398 0.004 0.003 0.632 1.000000 -5268.87687 15.400 0.004 0.005 1.132 1.000000 -5272.78672 15.394 0.004 -.001 -0.368 1.000000 -5275.90692 15.391 0.004 -.004 -1.118 1.000000 -5279.77302 15.395 0.005 0.000 -.094 1.000000 -5284.91145 15.396 0.004 0.001 0.132 1.000000 -5286.90166 15.395 0.004 0.000 -0.118 1.000000 -5287.77347 15.395 0.004 0.000 -0.118 1.000000 -5293.91017 15.402 0.004 0.007 1.632 1.000000 -5294.89669 15.397 0.003 0.002 0.509 1.000000 -5295.90638 15.390 0.003 -.005 -1.824 1.000000 -5297.78939 15.395 0.004 0.000 -0.118 1.000000 -5298.82812 15.392 0.004 -.003 -0.868 1.000000 -5299.81247 15.401 0.003 0.006 1.843 1.000000 -5300.92440 15.400 0.004 0.005 1.132 1.000000 -5303.90208 15.398 0.004 0.003 0.632 1.000000 -5306.91778 15.392 0.004 -.003 -0.868 1.000000 -5307.91870 15.400 0.004 0.005 1.132 1.000000 -5309.70411 15.393 0.004 -.002 -0.618 1.000000 -5310.72298 15.394 0.004 -.001 -0.368 1.000000 -5312.82980 15.400 0.004 0.005 1.132 1.000000 -5313.86419 15.395 0.004 0.000 -0.118 1.000000 -5314.79292 15.398 0.004 0.003 0.632 1.000000 -5315.73859 15.399 0.004 0.004 0.882 1.000000 -5316.68183 15.403 0.005 0.008 1.506 1.000000 -5319.82684 15.394 0.006 -.001 -0.245 1.000000 -5320.73266 15.397 0.004 0.002 0.382 1.000000 -5320.93079 15.393 0.004 -.002 -0.618 1.000000 -5321.87380 15.388 0.004 -.007 -1.868 1.000000 -5323.78477 15.404 0.004 0.009 2.132 1.000000 -5324.72164 15.398 0.004 0.003 0.632 1.000000 -5324.91622 15.389 0.004 -.006 -1.618 1.000000 -5325.83128 15.397 0.004 0.002 0.382 1.000000 -5326.76183 15.398 0.004 0.003 0.632 1.000000 -5327.64646 15.397 0.004 0.002 0.382 1.000000 -5327.90305 15.396 0.004 0.001 0.132 1.000000 -5328.83440 15.394 0.004 -.001 -0.368 1.000000 -5334.69876 15.399 0.004 0.004 0.882 1.000000 -5335.72440 15.388 0.003 -.007 -2.491 1.000000 -5335.91812 15.396 0.004 0.001 0.132 1.000000 -5337.82460 15.383 0.004 -.012 -3.118 1.000000 -5338.82505 15.390 0.004 -.005 -1.368 1.000000 -5339.85690 15.388 0.004 -.007 -1.868 1.000000 -5340.78321 15.392 0.004 -.003 -0.868 1.000000 -5341.62685 15.395 0.004 0.000 -0.118 1.000000 -5341.92402 15.393 0.004 -.002 -0.618 1.000000 -5342.74951 15.386 0.004 -.009 -2.368 1.000000 -5342.94506 15.398 0.007 0.003 0.361 1.000000 -5343.77101 15.390 0.005 -.005 -1.094 1.000000 -5348.66532 15.393 0.004 -.002 -0.618 1.000000 -5348.91830 15.402 0.005 0.007 1.306 1.000000 -5349.84717 15.389 0.004 -.006 -1.618 1.000000 -5351.64259 15.401 0.004 0.006 1.382 1.000000 -5352.64412 15.397 0.004 0.002 0.382 1.000000 -5353.62442 15.397 0.004 0.002 0.382 1.000000 -5353.89963 15.396 0.004 0.001 0.132 1.000000 -5354.91060 15.397 0.005 0.002 0.306 1.000000 -5355.86437 15.402 0.005 0.007 1.306 1.000000 -5358.64214 15.395 0.003 0.000 -0.157 1.000000 -5359.58119 15.401 0.004 0.006 1.382 1.000000 -5359.81604 15.395 0.004 0.000 -0.118 1.000000 -5362.67192 15.396 0.004 0.001 0.132 1.000000 -5364.64520 15.390 0.004 -.005 -1.368 1.000000 -5364.83475 15.394 0.004 -.001 -0.368 1.000000 -5365.76152 15.401 0.004 0.006 1.382 1.000000 -5369.74496 15.400 0.004 0.005 1.132 1.000000 -5376.72632 15.393 0.004 -.002 -0.618 1.000000 -5377.61835 15.396 0.004 0.001 0.132 1.000000 -5377.85428 15.391 0.004 -.004 -1.118 1.000000 -5378.77827 15.403 0.004 0.008 1.882 1.000000 -5379.63423 15.393 0.003 -.002 -0.824 1.000000 -5380.77724 15.391 0.004 -.004 -1.118 1.000000 -5381.64937 15.398 0.004 0.003 0.632 1.000000 -5381.85152 15.394 0.005 -.001 -0.294 1.000000 -5382.72287 15.401 0.004 0.006 1.382 1.000000 -5385.47371 15.387 0.004 -.008 -2.118 1.000000 -5386.74647 15.398 0.003 0.003 0.843 1.000000 -5387.72885 15.398 0.003 0.003 0.843 1.000000 -5388.56830 15.397 0.003 0.002 0.509 1.000000 -5389.50926 15.400 0.004 0.005 1.132 1.000000 -5389.83906 15.397 0.004 0.002 0.382 1.000000 -5390.77448 15.400 0.004 0.005 1.132 1.000000 -5391.69293 15.386 0.004 -.009 -2.368 1.000000 -5392.56131 15.400 0.004 0.005 1.132 1.000000 -5393.66826 15.384 0.004 -.011 -2.868 1.000000 -5396.52816 15.397 0.004 0.002 0.382 1.000000 -5397.62129 15.396 0.004 0.001 0.132 1.000000 -5403.59778 15.397 0.004 0.002 0.382 1.000000 -5404.47172 15.398 0.004 0.003 0.632 1.000000 -5404.66785 15.394 0.004 -.001 -0.368 1.000000 -5405.68460 15.396 0.004 0.001 0.132 1.000000 -5407.53727 15.391 0.004 -.004 -1.118 1.000000 -5407.73149 15.393 0.004 -.002 -0.618 1.000000 -5408.66018 15.401 0.004 0.006 1.382 1.000000 -5409.52596 15.389 0.004 -.006 -1.618 1.000000 -5410.52705 15.401 0.004 0.006 1.382 1.000000 -5411.56412 15.404 0.003 0.009 2.843 1.000000 -5412.59442 15.402 0.004 0.007 1.632 1.000000 -5413.55670 15.397 0.003 0.002 0.509 1.000000 -5414.59910 15.396 0.003 0.001 0.176 1.000000 -5418.55118 15.397 0.003 0.002 0.509 1.000000 -5421.58202 15.406 0.004 0.011 2.632 1.000000 -5422.55025 15.401 0.004 0.006 1.382 1.000000 -5425.49649 15.403 0.004 0.008 1.882 1.000000 -5430.49240 15.401 0.004 0.006 1.382 1.000000 -5431.49353 15.397 0.004 0.002 0.382 1.000000 -5431.69221 15.404 0.005 0.009 1.706 1.000000 -5433.66643 15.404 0.004 0.009 2.132 1.000000 -5434.66868 15.396 0.004 0.001 0.132 1.000000 -5435.67438 15.393 0.004 -.002 -0.618 1.000000 -5437.58622 15.399 0.004 0.004 0.882 1.000000 -5439.52778 15.399 0.004 0.004 0.882 1.000000 -5443.53987 15.399 0.004 0.004 0.882 1.000000 -5444.55946 15.395 0.004 0.000 -0.118 1.000000 -5445.65658 15.392 0.004 -.003 -0.868 1.000000 -5446.65730 15.392 0.004 -.003 -0.868 1.000000 -5448.52440 15.392 0.004 -.003 -0.868 1.000000 -5449.63382 15.396 0.004 0.001 0.132 1.000000 -5451.52174 15.380 0.004 -.015 -3.868 1.000000 -5453.49942 15.399 0.004 0.004 0.882 1.000000 -5458.50974 15.388 0.004 -.007 -1.868 1.000000 -5460.48663 15.399 0.004 0.004 0.882 1.000000 -5461.58699 15.395 0.004 0.000 -0.118 1.000000 -5465.51578 15.403 0.004 0.008 1.882 1.000000 -5470.54753 15.406 0.004 0.011 2.632 1.000000 -5472.60290 15.401 0.004 0.006 1.382 1.000000 -5478.55028 15.393 0.004 -.002 -0.618 1.000000 -5487.52556 15.398 0.004 0.003 0.632 1.000000 -5490.53552 15.391 0.005 -.004 -0.894 1.000000 -5604.89333 15.409 0.007 0.014 1.933 1.000000 -5605.88080 15.397 0.003 0.002 0.509 1.000000 -5608.88831 15.397 0.004 0.002 0.382 1.000000 -5611.87992 15.396 0.004 0.001 0.132 1.000000 -5614.84054 15.393 0.004 -.002 -0.618 1.000000 -5620.82999 15.385 0.004 -.010 -2.618 1.000000 -5624.80727 15.399 0.004 0.004 0.882 1.000000 -5625.80455 15.394 0.004 -.001 -0.368 1.000000 -5627.79351 15.394 0.004 -.001 -0.368 1.000000 -5629.80769 15.396 0.004 0.001 0.132 1.000000 -5630.84407 15.395 0.004 0.000 -0.118 1.000000 -5632.80322 15.398 0.004 0.003 0.632 1.000000 -5634.78213 15.392 0.003 -.003 -1.157 1.000000 -5635.81953 15.393 0.004 -.002 -0.618 1.000000 -5638.77858 15.392 0.004 -.003 -0.868 1.000000 -5639.89959 15.394 0.004 -.001 -0.368 1.000000 -5640.76372 15.391 0.005 -.004 -0.894 1.000000 -5642.75401 15.395 0.004 0.000 -0.118 1.000000 -5643.91425 15.403 0.004 0.008 1.882 1.000000 -5649.74526 15.398 0.004 0.003 0.632 1.000000 -5650.86930 15.403 0.003 0.008 2.509 1.000000 -5652.85413 15.396 0.003 0.001 0.176 1.000000 -5655.77186 15.400 0.004 0.005 1.132 1.000000 -5657.79382 15.393 0.003 -.002 -0.824 1.000000 -5658.91466 15.403 0.003 0.008 2.509 1.000000 -5660.76670 15.393 0.003 -.002 -0.824 1.000000 -5662.88533 15.400 0.003 0.005 1.509 1.000000 -5665.75818 15.392 0.004 -.003 -0.868 1.000000 -5668.83449 15.396 0.004 0.001 0.132 1.000000 -5670.89947 15.398 0.004 0.003 0.632 1.000000 -5676.78060 15.393 0.003 -.002 -0.824 1.000000 -5679.74241 15.396 0.003 0.001 0.176 1.000000 -5680.91217 15.395 0.003 0.000 -0.157 1.000000 -5682.79675 15.400 0.004 0.005 1.132 1.000000 -5684.78440 15.396 0.003 0.001 0.176 1.000000 -5686.78955 15.400 0.003 0.005 1.509 1.000000 -5689.67869 15.401 0.003 0.006 1.843 1.000000 -5691.71249 15.394 0.003 -.001 -0.491 1.000000 -5692.86229 15.403 0.003 0.008 2.509 1.000000 -5694.62860 15.401 0.004 0.006 1.382 1.000000 -5695.78620 15.400 0.003 0.005 1.509 1.000000 -5696.85745 15.389 0.004 -.006 -1.618 1.000000 -5698.61137 15.391 0.004 -.004 -1.118 1.000000 -5703.82137 15.391 0.004 -.004 -1.118 1.000000 -5706.87643 15.394 0.004 -.001 -0.368 1.000000 -5708.62761 15.391 0.004 -.004 -1.118 1.000000 -5712.61539 15.404 0.003 0.009 2.843 1.000000 -5714.65843 15.412 0.003 0.017 5.509 1.000000 -5714.67142 15.400 0.003 0.005 1.509 1.000000 -5716.69391 15.396 0.003 0.001 0.176 1.000000 -5721.87393 15.401 0.004 0.006 1.382 1.000000 -5723.69989 15.391 0.003 -.004 -1.491 1.000000 -5724.83009 15.398 0.004 0.003 0.632 1.000000 -5726.74338 15.388 0.006 -.007 -1.245 1.000000 -5734.70883 15.396 0.004 0.001 0.132 1.000000 -5736.54334 15.392 0.003 -.003 -1.157 1.000000 -5737.61783 15.398 0.003 0.003 0.843 1.000000 -5738.74158 15.394 0.003 -.001 -0.491 1.000000 -5740.50611 15.395 0.004 0.000 -0.118 1.000000 -5741.58363 15.390 0.003 -.005 -1.824 1.000000 -5742.59459 15.392 0.003 -.003 -1.157 1.000000 -5743.74495 15.391 0.004 -.004 -1.118 1.000000 -5744.78307 15.404 0.004 0.009 2.132 1.000000 -5746.54768 15.390 0.003 -.005 -1.824 1.000000 -5747.72306 15.393 0.004 -.002 -0.618 1.000000 -5749.74745 15.392 0.004 -.003 -0.868 1.000000 -5753.62941 15.400 0.005 0.005 0.906 1.000000 -5760.61473 15.403 0.004 0.008 1.882 1.000000 -5763.52376 15.397 0.003 0.002 0.509 1.000000 -5764.61151 15.401 0.003 0.006 1.843 1.000000 -5765.76848 15.398 0.004 0.003 0.632 1.000000 -5767.59242 15.394 0.004 -.001 -0.368 1.000000 -5768.72982 15.395 0.003 0.000 -0.157 1.000000 -5770.75569 15.393 0.004 -.002 -0.618 1.000000 -5777.63722 15.404 0.003 0.009 2.843 1.000000 -5786.63080 15.401 0.004 0.006 1.382 1.000000 -5788.58646 15.393 0.004 -.002 -0.618 1.000000 -5790.72524 15.388 0.004 -.007 -1.868 1.000000 -5794.60637 15.398 0.004 0.003 0.632 1.000000 -5796.66835 15.393 0.004 -.002 -0.618 1.000000 -5803.59397 15.394 0.004 -.001 -0.368 1.000000 -5806.54354 15.396 0.004 0.001 0.132 1.000000 -5813.56641 15.401 0.003 0.006 1.843 1.000000 -5816.59160 15.396 0.004 0.001 0.132 1.000000 -5819.52268 15.393 0.003 -.002 -0.824 1.000000 -5823.60919 15.398 0.004 0.003 0.632 1.000000 -5824.61398 15.387 0.004 -.008 -2.118 1.000000 -5826.60072 15.379 0.004 -.016 -4.118 1.000000 -5828.57564 15.389 0.004 -.006 -1.618 1.000000 -5830.54914 15.388 0.004 -.007 -1.868 1.000000 -5832.56933 15.391 0.004 -.004 -1.118 1.000000 -5835.52034 15.392 0.005 -.003 -0.694 1.000000 -5839.57057 15.389 0.004 -.006 -1.618 1.000000 -5841.57480 15.401 0.004 0.006 1.382 1.000000 -5843.57344 15.397 0.004 0.002 0.382 1.000000 -5845.58468 15.406 0.005 0.011 2.106 1.000000 -5851.53506 15.397 0.004 0.002 0.382 1.000000 -5855.51918 15.397 0.004 0.002 0.382 1.000000 -5971.88197 15.399 0.003 0.004 1.176 1.000001 -5979.88578 15.394 0.004 -.001 -0.368 1.000001 -5984.87110 15.397 0.003 0.002 0.509 1.000001 -5987.86431 15.388 0.003 -.007 -2.491 1.000001 -5990.82818 15.382 0.003 -.013 -4.491 1.000001 -5992.90227 15.402 0.003 0.007 2.176 1.000001 -5995.81677 15.400 0.003 0.005 1.509 1.000001 -5997.83497 15.401 0.003 0.006 1.843 1.000001 -5999.84427 15.391 0.003 -.004 -1.491 1.000001 -6004.88742 15.409 0.003 0.014 4.510 1.000001 -6006.88318 15.397 0.003 0.002 0.510 1.000001 -6008.80570 15.395 0.003 0.000 -0.157 1.000001 -6010.74501 15.403 0.004 0.008 1.882 1.000001 -6011.87715 15.394 0.004 -.001 -0.368 1.000001 -6013.79782 15.389 0.003 -.006 -2.157 1.000001 -6014.91208 15.402 0.003 0.007 2.176 1.000001 -6016.81244 15.395 0.003 0.000 -0.157 1.000001 -6017.92416 15.388 0.004 -.007 -1.868 1.000001 -6019.83656 15.400 0.003 0.005 1.510 1.000001 -6020.89268 15.399 0.003 0.004 1.176 1.000001 -6022.74023 15.401 0.003 0.006 1.843 1.000001 -6023.80127 15.400 0.003 0.005 1.510 1.000001 -6024.78442 15.402 0.003 0.007 2.176 1.000001 -6025.86491 15.393 0.004 -.002 -0.618 1.000001 -6032.86463 15.393 0.003 -.002 -0.824 1.000001 -6034.84193 15.397 0.003 0.002 0.510 1.000001 -6037.82516 15.391 0.003 -.004 -1.490 1.000001 -6039.88398 15.391 0.003 -.004 -1.490 1.000001 -6041.91807 15.391 0.003 -.004 -1.490 1.000001 -6046.88256 15.398 0.003 0.003 0.843 1.000001 -6048.81695 15.384 0.003 -.011 -3.824 1.000001 -6050.71226 15.392 0.004 -.003 -0.868 1.000001 -6052.80640 15.395 0.004 0.000 -0.118 1.000001 -6053.93383 15.403 0.004 0.008 1.882 1.000001 -6057.82920 15.410 0.004 0.015 3.632 1.000001 -6058.93090 15.386 0.004 -.009 -2.368 1.000001 -6059.92789 15.392 0.003 -.003 -1.157 1.000001 -6062.77678 15.390 0.003 -.005 -1.824 1.000001 -6064.80552 15.401 0.003 0.006 1.843 1.000001 -6066.65360 15.389 0.003 -.006 -2.157 1.000001 -6067.71707 15.398 0.003 0.003 0.843 1.000001 -6068.87247 15.398 0.003 0.003 0.843 1.000001 -6070.63023 15.399 0.004 0.004 0.882 1.000001 -6071.68367 15.390 0.003 -.005 -1.824 1.000001 -6075.75948 15.386 0.003 -.009 -3.157 1.000001 -6076.88948 15.398 0.003 0.003 0.843 1.000001 -6078.74000 15.398 0.003 0.003 0.843 1.000001 -6079.81929 15.383 0.003 -.012 -4.157 1.000001 -6080.86209 15.384 0.004 -.011 -2.868 1.000001 -6085.66485 15.396 0.004 0.001 0.132 1.000001 -6086.65667 15.402 0.003 0.007 2.176 1.000001 -6087.83694 15.391 0.003 -.004 -1.490 1.000001 -6092.60096 15.399 0.003 0.004 1.176 1.000001 -6093.79383 15.399 0.004 0.004 0.882 1.000001 -6096.57787 15.402 0.004 0.007 1.632 1.000001 -6097.79270 15.400 0.003 0.005 1.510 1.000001 -6098.84429 15.403 0.003 0.008 2.510 1.000001 -6100.79907 15.396 0.004 0.001 0.132 1.000001 -6101.82586 15.388 0.004 -.007 -1.868 1.000001 -6102.86312 15.392 0.004 -.003 -0.868 1.000001 -6104.54680 15.400 0.003 0.005 1.510 1.000001 -6105.57098 15.399 0.003 0.004 1.176 1.000001 -6108.67701 15.407 0.003 0.012 3.843 1.000001 -6113.63146 15.388 0.004 -.007 -1.868 1.000001 -6114.73557 15.394 0.003 -.001 -0.490 1.000001 -6115.80530 15.389 0.004 -.006 -1.618 1.000001 -6117.53121 15.395 0.003 0.000 -0.157 1.000001 -6118.57485 15.401 0.003 0.006 1.843 1.000001 -6119.61141 15.392 0.003 -.003 -1.157 1.000001 -6120.73432 15.404 0.004 0.009 2.132 1.000001 -6121.77643 15.394 0.003 -.001 -0.490 1.000001 -6124.58835 15.391 0.003 -.004 -1.490 1.000001 -6125.70289 15.408 0.003 0.013 4.176 1.000001 -6127.52346 15.395 0.003 0.000 -0.157 1.000001 -6131.62012 15.385 0.003 -.010 -3.490 1.000002 -6133.69424 15.408 0.004 0.013 3.132 1.000002 -6135.69362 15.392 0.003 -.003 -1.157 1.000002 -6140.67617 15.408 0.004 0.013 3.132 1.000002 -6142.52507 15.408 0.005 0.013 2.506 1.000002 -6147.69283 15.398 0.004 0.003 0.632 1.000002 -6148.65411 15.400 0.003 0.005 1.510 1.000002 -6151.66359 15.388 0.003 -.007 -2.490 1.000002 -6154.59763 15.393 0.004 -.002 -0.618 1.000002 -6158.65987 15.396 0.003 0.001 0.177 1.000002 -6160.67539 15.398 0.003 0.003 0.843 1.000002 -6167.67264 15.389 0.004 -.006 -1.618 1.000002 -6169.66431 15.393 0.004 -.002 -0.618 1.000002 -6171.66491 15.396 0.004 0.001 0.132 1.000002 -6172.66274 15.395 0.003 0.000 -0.157 1.000002 -6175.64095 15.397 0.003 0.002 0.510 1.000002 -6181.55014 15.388 0.003 -.007 -2.490 1.000002 -6184.53153 15.401 0.003 0.006 1.843 1.000002 -6190.50652 15.396 0.003 0.001 0.177 1.000002 -6195.56425 15.397 0.003 0.002 0.510 1.000002 -6197.53708 15.398 0.004 0.003 0.633 1.000002 -6202.57079 15.391 0.004 -.004 -1.117 1.000002 -6205.53790 15.406 0.003 0.011 3.510 1.000002 -6210.49647 15.401 0.004 0.006 1.383 1.000002 -6212.56157 15.400 0.004 0.005 1.133 1.000002 -6217.50292 15.399 0.003 0.004 1.177 1.000002 -6223.52941 15.395 0.004 0.000 -0.117 1.000003 -6344.83682 15.402 0.003 0.007 2.179 1.000007 -6348.89745 15.402 0.003 0.007 2.179 1.000007 -6352.88464 15.398 0.003 0.003 0.846 1.000007 -6360.88675 15.386 0.003 -.009 -3.154 1.000008 -6363.81658 15.399 0.003 0.004 1.179 1.000008 -6368.90522 15.399 0.003 0.004 1.179 1.000008 -6370.91931 15.389 0.004 -.006 -1.615 1.000008 -6373.88537 15.397 0.003 0.002 0.513 1.000009 -6375.85391 15.401 0.003 0.006 1.846 1.000009 -6377.79878 15.396 0.003 0.001 0.180 1.000009 -6378.91142 15.392 0.003 -.003 -1.154 1.000009 -6380.87219 15.393 0.003 -.002 -0.820 1.000009 -6382.80986 15.389 0.003 -.006 -2.153 1.000009 -6387.73538 15.395 0.003 0.000 -0.153 1.000010 -6388.83902 15.403 0.003 0.008 2.513 1.000010 -6390.73364 15.389 0.003 -.006 -2.153 1.000010 -6391.89955 15.396 0.004 0.001 0.135 1.000010 -6395.70086 15.395 0.004 0.000 -0.115 1.000010 -6396.90748 15.407 0.003 0.012 3.847 1.000010 -6398.86078 15.391 0.003 -.004 -1.486 1.000011 -6400.87274 15.398 0.003 0.003 0.847 1.000011 -6402.81633 15.383 0.003 -.012 -4.153 1.000011 -6404.74662 15.392 0.003 -.003 -1.153 1.000011 -6407.69108 15.395 0.004 0.000 -0.114 1.000012 -6416.76870 15.394 0.003 -.001 -0.485 1.000012 -6418.63712 15.389 0.003 -.006 -2.152 1.000013 -6419.77852 15.407 0.003 0.012 3.848 1.000013 -6420.90217 15.394 0.003 -.001 -0.485 1.000013 -6423.75502 15.405 0.003 0.010 3.182 1.000013 -6424.89382 15.394 0.003 -.001 -0.485 1.000013 -6428.75285 15.394 0.003 -.001 -0.485 1.000014 -6431.87155 15.392 0.003 -.003 -1.151 1.000014 -6433.63050 15.394 0.004 -.001 -0.363 1.000015 -6434.81632 15.393 0.003 -.002 -0.818 1.000015 -6435.93424 15.394 0.003 -.001 -0.484 1.000015 -6442.61446 15.396 0.003 0.001 0.183 1.000016 -6444.73788 15.390 0.003 -.005 -1.817 1.000016 -6445.85354 15.398 0.003 0.003 0.850 1.000016 -6446.77016 15.393 0.003 -.002 -0.817 1.000016 -6447.82407 15.394 0.003 -.001 -0.484 1.000017 -6448.85322 15.387 0.003 -.008 -2.817 1.000017 -6449.89448 15.389 0.004 -.006 -1.613 1.000017 -6451.56987 15.394 0.003 -.001 -0.483 1.000017 -6452.63002 15.400 0.003 0.005 1.517 1.000017 -6454.74208 15.395 0.003 0.000 -0.150 1.000018 -6456.60577 15.400 0.003 0.005 1.517 1.000018 -6457.84799 15.395 0.003 0.000 -0.150 1.000018 -6459.52860 15.390 0.004 -.005 -1.362 1.000018 -6460.68411 15.393 0.003 -.002 -0.816 1.000019 -6462.59241 15.401 0.003 0.006 1.851 1.000019 -6463.74496 15.397 0.003 0.002 0.517 1.000019 -6464.83643 15.388 0.003 -.007 -2.482 1.000019 -6469.61251 15.387 0.003 -.008 -2.815 1.000020 -6472.77864 15.401 0.003 0.006 1.852 1.000021 -6475.59230 15.393 0.003 -.002 -0.815 1.000022 -6476.67730 15.400 0.003 0.005 1.519 1.000022 -6477.75289 15.400 0.003 0.005 1.519 1.000022 -6479.80179 15.389 0.004 -.006 -1.611 1.000023 -6481.57318 15.401 0.003 0.006 1.852 1.000023 -6484.56606 15.404 0.003 0.009 2.853 1.000024 -6486.59198 15.399 0.003 0.004 1.186 1.000024 -6487.70487 15.395 0.003 0.000 -0.147 1.000024 -6490.49903 15.389 0.003 -.006 -2.147 1.000025 -6491.64893 15.392 0.004 -.003 -0.860 1.000025 -6497.77197 15.400 0.003 0.005 1.521 1.000027 -6499.55905 15.392 0.003 -.003 -1.146 1.000028 -6504.65612 15.393 0.003 -.002 -0.812 1.000029 -6506.65213 15.401 0.003 0.006 1.855 1.000030 -6508.70466 15.398 0.003 0.003 0.856 1.000031 -6510.61683 15.399 0.003 0.004 1.189 1.000031 -6514.57191 15.391 0.003 -.004 -1.477 1.000033 -6516.63777 15.391 0.003 -.004 -1.476 1.000033 -6519.70279 15.395 0.003 0.000 -0.142 1.000035 -6524.63736 15.394 0.003 -.001 -0.475 1.000037 -6529.61386 15.389 0.004 -.006 -1.605 1.000039 -6533.50937 15.396 0.003 0.001 0.194 1.000041 -6543.55988 15.405 0.003 0.010 3.196 1.000046 -6546.58057 15.373 0.003 -.022 -7.470 1.000048 -6558.56975 15.394 0.003 -.001 -0.466 1.000057 -6562.53589 15.383 0.003 -.012 -4.131 1.000060 -6564.57199 15.394 0.003 -.001 -0.464 1.000062 -6568.56687 15.380 0.004 -.015 -3.847 1.000065 -6571.53919 15.389 0.004 -.006 -1.596 1.000068 -6578.54357 15.395 0.004 0.000 -.093 1.000076 -6582.55008 15.396 0.003 0.001 0.211 1.000081 -6583.48614 15.393 0.006 -.002 -0.394 1.000082 -6586.52312 15.388 0.004 -.007 -1.840 1.000086 -6698.86926 15.388 0.003 -.006 -2.029 1.001063 -6705.88527 15.401 0.003 0.007 2.414 1.001317 -6710.83602 15.381 0.003 -.012 -4.156 1.001541 -6715.89686 15.381 0.003 -.012 -4.036 1.001817 -6718.87424 15.389 0.003 -.004 -1.287 1.002007 -6721.80820 15.385 0.004 -.008 -1.897 1.002217 -6723.83549 15.394 0.003 0.002 0.540 1.002378 -6725.84717 15.390 0.003 -.002 -0.718 1.002551 -6727.84464 15.396 0.003 0.004 1.363 1.002738 -6729.81907 15.391 0.003 -.001 -0.217 1.002939 -6731.88319 15.393 0.003 0.002 0.549 1.003167 -6733.84605 15.381 0.003 -.010 -3.348 1.003405 -6735.77254 15.388 0.003 -.003 -0.905 1.003658 -6736.88607 15.380 0.003 -.011 -3.504 1.003815 -6742.91782 15.384 0.003 -.005 -1.739 1.004814 -6745.83673 15.387 0.003 -.001 -0.483 1.005406 -6747.86878 15.395 0.003 0.007 2.383 1.005869 -6749.78998 15.368 0.003 -.019 -6.409 1.006351 -6754.74122 15.378 0.003 -.007 -2.443 1.007820 -6756.76883 15.380 0.003 -.004 -1.469 1.008534 -6757.81857 15.383 0.003 -.001 -0.298 1.008934 -6760.87277 15.376 0.003 -.006 -2.076 1.010227 -6763.86382 15.378 0.003 -.002 -0.774 1.011709 -6768.86992 15.383 0.003 0.007 2.210 1.014788 -6771.70961 15.374 0.003 0.000 0.131 1.016949 -6773.85450 15.376 0.003 0.005 1.595 1.018825 -6776.80234 15.369 0.003 0.002 0.527 1.021808 -6789.71371 15.343 0.004 0.002 0.596 1.043179 -6791.69533 15.330 0.004 -.004 -1.098 1.048216 -6796.64036 15.317 0.004 0.002 0.430 1.063870 -6798.78179 15.305 0.004 0.000 -.029 1.072306 -6804.67000 15.264 0.003 -.006 -1.939 1.102232 -6805.93442 15.267 0.004 0.006 1.596 1.110191 -6808.80895 15.232 0.003 -.005 -1.769 1.130664 -6810.71270 15.229 0.003 0.009 3.017 1.146199 -6813.69273 15.182 0.003 -.008 -2.544 1.173931 -6815.66455 15.162 0.003 -.006 -1.847 1.194633 -6817.87748 15.145 0.003 0.004 1.317 1.220022 -6819.70970 15.119 0.003 0.001 0.320 1.242580 -6824.77208 15.055 0.003 0.002 0.651 1.308943 -6826.62295 15.031 0.003 0.000 0.118 1.332752 -6827.84859 15.016 0.003 -.001 -0.291 1.347639 -6829.73596 15.001 0.003 0.003 0.994 1.368322 -6831.74952 14.980 0.003 -.002 -0.678 1.386142 -6833.69476 14.974 0.003 0.002 0.795 1.397900 -6835.58442 14.971 0.003 0.004 1.367 1.403261 -6836.85718 14.965 0.003 -.002 -0.633 1.403259 -6838.72413 14.971 0.003 -.001 -0.178 1.397991 -6840.61152 14.980 0.003 -.002 -0.508 1.386715 -6842.63577 14.994 0.003 -.003 -1.148 1.368960 -6845.51378 15.024 0.003 -.003 -1.086 1.336398 -6847.70747 15.058 0.003 0.004 1.424 1.308227 -6852.60304 15.114 0.003 -.003 -0.933 1.243809 -6856.53541 15.168 0.003 0.003 0.905 1.196770 -6858.48946 15.189 0.003 0.002 0.522 1.175973 -6862.69174 15.232 0.003 0.002 0.787 1.137496 -6864.69384 15.243 0.003 -.004 -1.353 1.122047 -6872.73560 15.301 0.004 0.000 -.023 1.075669 -6879.58318 15.330 0.004 -.001 -0.273 1.050902 -6882.56949 15.349 0.004 0.008 2.047 1.043022 -6886.47974 15.346 0.004 -.005 -1.297 1.034688 -6888.64369 15.365 0.003 0.009 3.008 1.030868 -6891.59883 15.364 0.004 0.002 0.598 1.026397 -6907.54789 15.386 0.003 0.006 2.024 1.012016 -6915.55310 15.378 0.004 -.007 -1.652 1.008378 -6923.52221 15.376 0.004 -.012 -2.929 1.005973 -6928.49862 15.389 0.004 0.000 -.032 1.004882 -6937.49145 15.393 0.004 0.002 0.504 1.003451 -6940.55485 15.391 0.004 0.000 -0.116 1.003081 -6948.49604 15.389 0.004 -.003 -0.863 1.002320 diff --git a/data/unit_test_files/ob140939_OGLE_ref_v2.dat b/data/unit_test_files/ob140939_OGLE_ref_v2.dat new file mode 100644 index 00000000..21806446 --- /dev/null +++ b/data/unit_test_files/ob140939_OGLE_ref_v2.dat @@ -0,0 +1,485 @@ +5265.84145 15.398 0.004 0.003 0.632 1.000000 -74.6361 7.0625 +5268.87687 15.400 0.004 0.005 1.132 1.000000 -74.4903 7.0481 +5272.78672 15.394 0.004 -0.001 -0.368 1.000000 -74.3033 7.0307 +5275.90692 15.391 0.004 -0.004 -1.118 1.000000 -74.1550 7.0175 +5279.77302 15.395 0.005 0.000 -0.094 1.000000 -73.9721 7.0022 +5284.91145 15.396 0.004 0.001 0.132 1.000000 -73.7307 6.9835 +5286.90166 15.395 0.004 0.000 -0.118 1.000000 -73.6376 6.9768 +5287.77347 15.395 0.004 0.000 -0.118 1.000000 -73.5970 6.9739 +5293.91017 15.402 0.004 0.007 1.632 1.000000 -73.3122 6.9553 +5294.89669 15.397 0.003 0.002 0.509 1.000000 -73.2666 6.9525 +5295.90638 15.390 0.003 -0.005 -1.824 1.000000 -73.2201 6.9497 +5297.78939 15.395 0.004 0.000 -0.118 1.000000 -73.1335 6.9448 +5298.82812 15.392 0.004 -0.003 -0.868 1.000000 -73.0858 6.9422 +5299.81247 15.401 0.003 0.006 1.843 1.000000 -73.0406 6.9397 +5300.92440 15.400 0.004 0.005 1.132 1.000000 -72.9897 6.9371 +5303.90208 15.398 0.004 0.003 0.632 1.000000 -72.8537 6.9303 +5306.91778 15.392 0.004 -0.003 -0.868 1.000000 -72.7166 6.9241 +5307.91870 15.400 0.004 0.005 1.132 1.000000 -72.6712 6.9221 +5309.70411 15.393 0.004 -0.002 -0.618 1.000000 -72.5903 6.9188 +5310.72298 15.394 0.004 -0.001 -0.368 1.000000 -72.5442 6.9170 +5312.82980 15.400 0.004 0.005 1.132 1.000000 -72.4491 6.9134 +5313.86419 15.395 0.004 0.000 -0.118 1.000000 -72.4026 6.9117 +5314.79292 15.398 0.004 0.003 0.632 1.000000 -72.3608 6.9103 +5315.73859 15.399 0.004 0.004 0.882 1.000000 -72.3183 6.9089 +5316.68183 15.403 0.005 0.008 1.506 1.000000 -72.2759 6.9075 +5319.82684 15.394 0.006 -0.001 -0.245 1.000000 -72.1350 6.9033 +5320.73266 15.397 0.004 0.002 0.382 1.000000 -72.0945 6.9022 +5320.93079 15.393 0.004 -0.002 -0.618 1.000000 -72.0857 6.9019 +5321.87380 15.388 0.004 -0.007 -1.868 1.000000 -72.0436 6.9008 +5323.78477 15.404 0.004 0.009 2.132 1.000000 -71.9584 6.8987 +5324.72164 15.398 0.004 0.003 0.632 1.000000 -71.9167 6.8977 +5324.91622 15.389 0.004 -0.006 -1.618 1.000000 -71.9080 6.8975 +5325.83128 15.397 0.004 0.002 0.382 1.000000 -71.8673 6.8966 +5326.76183 15.398 0.004 0.003 0.632 1.000000 -71.8260 6.8957 +5327.64646 15.397 0.004 0.002 0.382 1.000000 -71.7867 6.8949 +5327.90305 15.396 0.004 0.001 0.132 1.000000 -71.7753 6.8947 +5328.83440 15.394 0.004 -0.001 -0.368 1.000000 -71.7340 6.8939 +5334.69876 15.399 0.004 0.004 0.882 1.000000 -71.4746 6.8897 +5335.72440 15.388 0.003 -0.007 -2.491 1.000000 -71.4294 6.8891 +5335.91812 15.396 0.004 0.001 0.132 1.000000 -71.4208 6.8890 +5337.82460 15.383 0.004 -0.012 -3.118 1.000000 -71.3368 6.8880 +5338.82505 15.390 0.004 -0.005 -1.368 1.000000 -71.2928 6.8876 +5339.85690 15.388 0.004 -0.007 -1.868 1.000000 -71.2474 6.8871 +5340.78321 15.392 0.004 -0.003 -0.868 1.000000 -71.2067 6.8867 +5341.62685 15.395 0.004 0.000 -0.118 1.000000 -71.1696 6.8864 +5341.92402 15.393 0.004 -0.002 -0.618 1.000000 -71.1565 6.8863 +5342.74951 15.386 0.004 -0.009 -2.368 1.000000 -71.1203 6.8860 +5342.94506 15.398 0.007 0.003 0.361 1.000000 -71.1117 6.8860 +5343.77101 15.390 0.005 -0.005 -1.094 1.000000 -71.0755 6.8857 +5348.66532 15.393 0.004 -0.002 -0.618 1.000000 -70.8609 6.8845 +5348.91830 15.402 0.005 0.007 1.306 1.000000 -70.8499 6.8845 +5349.84717 15.389 0.004 -0.006 -1.618 1.000000 -70.8092 6.8843 +5351.64259 15.401 0.004 0.006 1.382 1.000000 -70.7307 6.8841 +5352.64412 15.397 0.004 0.002 0.382 1.000000 -70.6869 6.8840 +5353.62442 15.397 0.004 0.002 0.382 1.000000 -70.6440 6.8839 +5353.89963 15.396 0.004 0.001 0.132 1.000000 -70.6320 6.8838 +5354.91060 15.397 0.005 0.002 0.306 1.000000 -70.5878 6.8838 +5355.86437 15.402 0.005 0.007 1.306 1.000000 -70.5461 6.8837 +5358.64214 15.395 0.003 0.000 -0.157 1.000000 -70.4248 6.8836 +5359.58119 15.401 0.004 0.006 1.382 1.000000 -70.3838 6.8836 +5359.81604 15.395 0.004 0.000 -0.118 1.000000 -70.3736 6.8836 +5362.67192 15.396 0.004 0.001 0.132 1.000000 -70.2489 6.8836 +5364.64520 15.390 0.004 -0.005 -1.368 1.000000 -70.1628 6.8836 +5364.83475 15.394 0.004 -0.001 -0.368 1.000000 -70.1545 6.8836 +5365.76152 15.401 0.004 0.006 1.382 1.000000 -70.1140 6.8837 +5369.74496 15.400 0.004 0.005 1.132 1.000000 -69.9401 6.8838 +5376.72632 15.393 0.004 -0.002 -0.618 1.000000 -69.6350 6.8839 +5377.61835 15.396 0.004 0.001 0.132 1.000000 -69.5960 6.8839 +5377.85428 15.391 0.004 -0.004 -1.118 1.000000 -69.5856 6.8839 +5378.77827 15.403 0.004 0.008 1.882 1.000000 -69.5452 6.8838 +5379.63423 15.393 0.003 -0.002 -0.824 1.000000 -69.5077 6.8838 +5380.77724 15.391 0.004 -0.004 -1.118 1.000000 -69.4577 6.8837 +5381.64937 15.398 0.004 0.003 0.632 1.000000 -69.4194 6.8837 +5381.85152 15.394 0.005 -0.001 -0.294 1.000000 -69.4106 6.8837 +5382.72287 15.401 0.004 0.006 1.382 1.000000 -69.3724 6.8836 +5385.47371 15.387 0.004 -0.008 -2.118 1.000000 -69.2517 6.8832 +5386.74647 15.398 0.003 0.003 0.843 1.000000 -69.1957 6.8830 +5387.72885 15.398 0.003 0.003 0.843 1.000000 -69.1526 6.8829 +5388.56830 15.397 0.003 0.002 0.509 1.000000 -69.1156 6.8827 +5389.50926 15.400 0.004 0.005 1.132 1.000000 -69.0742 6.8825 +5389.83906 15.397 0.004 0.002 0.382 1.000000 -69.0597 6.8824 +5390.77448 15.400 0.004 0.005 1.132 1.000000 -69.0185 6.8822 +5391.69293 15.386 0.004 -0.009 -2.368 1.000000 -68.9780 6.8819 +5392.56131 15.400 0.004 0.005 1.132 1.000000 -68.9397 6.8816 +5393.66826 15.384 0.004 -0.011 -2.868 1.000000 -68.8909 6.8813 +5396.52816 15.397 0.004 0.002 0.382 1.000000 -68.7645 6.8802 +5397.62129 15.396 0.004 0.001 0.132 1.000000 -68.7161 6.8797 +5403.59778 15.397 0.004 0.002 0.382 1.000000 -68.4507 6.8762 +5404.47172 15.398 0.004 0.003 0.632 1.000000 -68.4118 6.8756 +5404.66785 15.394 0.004 -0.001 -0.368 1.000000 -68.4030 6.8755 +5405.68460 15.396 0.004 0.001 0.132 1.000000 -68.3577 6.8747 +5407.53727 15.391 0.004 -0.004 -1.118 1.000000 -68.2750 6.8732 +5407.73149 15.393 0.004 -0.002 -0.618 1.000000 -68.2663 6.8731 +5408.66018 15.401 0.004 0.006 1.382 1.000000 -68.2247 6.8723 +5409.52596 15.389 0.004 -0.006 -1.618 1.000000 -68.1860 6.8715 +5410.52705 15.401 0.004 0.006 1.382 1.000000 -68.1411 6.8705 +5411.56412 15.404 0.003 0.009 2.843 1.000000 -68.0946 6.8695 +5412.59442 15.402 0.004 0.007 1.632 1.000000 -68.0483 6.8684 +5413.55670 15.397 0.003 0.002 0.509 1.000000 -68.0050 6.8673 +5414.59910 15.396 0.003 0.001 0.176 1.000000 -67.9581 6.8661 +5418.55118 15.397 0.003 0.002 0.509 1.000000 -67.7797 6.8611 +5421.58202 15.406 0.004 0.011 2.632 1.000000 -67.6423 6.8567 +5422.55025 15.401 0.004 0.006 1.382 1.000000 -67.5983 6.8552 +5425.49649 15.403 0.004 0.008 1.882 1.000000 -67.4641 6.8503 +5430.49240 15.401 0.004 0.006 1.382 1.000000 -67.2353 6.8409 +5431.49353 15.397 0.004 0.002 0.382 1.000000 -67.1892 6.8388 +5431.69221 15.404 0.005 0.009 1.706 1.000000 -67.1801 6.8384 +5433.66643 15.404 0.004 0.009 2.132 1.000000 -67.0891 6.8340 +5434.66868 15.396 0.004 0.001 0.132 1.000000 -67.0428 6.8318 +5435.67438 15.393 0.004 -0.002 -0.618 1.000000 -66.9963 6.8294 +5437.58622 15.399 0.004 0.004 0.882 1.000000 -66.9077 6.8248 +5439.52778 15.399 0.004 0.004 0.882 1.000000 -66.8175 6.8198 +5443.53987 15.399 0.004 0.004 0.882 1.000000 -66.6302 6.8088 +5444.55946 15.395 0.004 0.000 -0.118 1.000000 -66.5825 6.8058 +5445.65658 15.392 0.004 -0.003 -0.868 1.000000 -66.5310 6.8025 +5446.65730 15.392 0.004 -0.003 -0.868 1.000000 -66.4840 6.7995 +5448.52440 15.392 0.004 -0.003 -0.868 1.000000 -66.3961 6.7936 +5449.63382 15.396 0.004 0.001 0.132 1.000000 -66.3438 6.7900 +5451.52174 15.380 0.004 -0.015 -3.868 1.000000 -66.2545 6.7836 +5453.49942 15.399 0.004 0.004 0.882 1.000000 -66.1607 6.7767 +5458.50974 15.388 0.004 -0.007 -1.868 1.000000 -65.9219 6.7579 +5460.48663 15.399 0.004 0.004 0.882 1.000000 -65.8272 6.7500 +5461.58699 15.395 0.004 0.000 -0.118 1.000000 -65.7744 6.7455 +5465.51578 15.403 0.004 0.008 1.882 1.000000 -65.5851 6.7287 +5470.54753 15.406 0.004 0.011 2.632 1.000000 -65.3410 6.7055 +5472.60290 15.401 0.004 0.006 1.382 1.000000 -65.2408 6.6955 +5478.55028 15.393 0.004 -0.002 -0.618 1.000000 -64.9492 6.6650 +5487.52556 15.398 0.004 0.003 0.632 1.000000 -64.5048 6.6143 +5490.53552 15.391 0.005 -0.004 -0.894 1.000000 -64.3547 6.5961 +5604.89333 15.409 0.007 0.014 1.933 1.000000 -58.4966 5.7223 +5605.88080 15.397 0.003 0.002 0.509 1.000000 -58.4473 5.7158 +5608.88831 15.397 0.004 0.002 0.382 1.000000 -58.2976 5.6965 +5611.87992 15.396 0.004 0.001 0.132 1.000000 -58.1492 5.6778 +5614.84054 15.393 0.004 -0.002 -0.618 1.000000 -58.0029 5.6598 +5620.82999 15.385 0.004 -0.010 -2.618 1.000000 -57.7089 5.6253 +5624.80727 15.399 0.004 0.004 0.882 1.000000 -57.5150 5.6038 +5625.80455 15.394 0.004 -0.001 -0.368 1.000000 -57.4665 5.5985 +5627.79351 15.394 0.004 -0.001 -0.368 1.000000 -57.3701 5.5883 +5629.80769 15.396 0.004 0.001 0.132 1.000000 -57.2728 5.5783 +5630.84407 15.395 0.004 0.000 -0.118 1.000000 -57.2228 5.5732 +5632.80322 15.398 0.004 0.003 0.632 1.000000 -57.1286 5.5638 +5634.78213 15.392 0.003 -0.003 -1.157 1.000000 -57.0336 5.5547 +5635.81953 15.393 0.004 -0.002 -0.618 1.000000 -56.9840 5.5500 +5638.77858 15.392 0.004 -0.003 -0.868 1.000000 -56.8428 5.5370 +5639.89959 15.394 0.004 -0.001 -0.368 1.000000 -56.7895 5.5322 +5640.76372 15.391 0.005 -0.004 -0.894 1.000000 -56.7484 5.5286 +5642.75401 15.395 0.004 0.000 -0.118 1.000000 -56.6541 5.5206 +5643.91425 15.403 0.004 0.008 1.882 1.000000 -56.5992 5.5160 +5649.74526 15.398 0.004 0.003 0.632 1.000000 -56.3249 5.4945 +5650.86930 15.403 0.003 0.008 2.509 1.000000 -56.2723 5.4906 +5652.85413 15.396 0.003 0.001 0.176 1.000000 -56.1796 5.4840 +5655.77186 15.400 0.004 0.005 1.132 1.000000 -56.0439 5.4748 +5657.79382 15.393 0.003 -0.002 -0.824 1.000000 -55.9502 5.4687 +5658.91466 15.403 0.003 0.008 2.509 1.000000 -55.8983 5.4655 +5660.76670 15.393 0.003 -0.002 -0.824 1.000000 -55.8128 5.4603 +5662.88533 15.400 0.003 0.005 1.509 1.000000 -55.7153 5.4547 +5665.75818 15.392 0.004 -0.003 -0.868 1.000000 -55.5835 5.4476 +5668.83449 15.396 0.004 0.001 0.132 1.000000 -55.4430 5.4406 +5670.89947 15.398 0.004 0.003 0.632 1.000000 -55.3490 5.4362 +5676.78060 15.393 0.003 -0.002 -0.824 1.000000 -55.0825 5.4251 +5679.74241 15.396 0.003 0.001 0.176 1.000000 -54.9491 5.4203 +5680.91217 15.395 0.003 0.000 -0.157 1.000000 -54.8965 5.4185 +5682.79675 15.400 0.004 0.005 1.132 1.000000 -54.8119 5.4158 +5684.78440 15.396 0.003 0.001 0.176 1.000000 -54.7229 5.4132 +5686.78955 15.400 0.003 0.005 1.509 1.000000 -54.6333 5.4107 +5689.67869 15.401 0.003 0.006 1.843 1.000000 -54.5045 5.4076 +5691.71249 15.394 0.003 -0.001 -0.491 1.000000 -54.4140 5.4056 +5692.86229 15.403 0.003 0.008 2.509 1.000000 -54.3630 5.4045 +5694.62860 15.401 0.004 0.006 1.382 1.000000 -54.2846 5.4030 +5695.78620 15.400 0.003 0.005 1.509 1.000000 -54.2334 5.4021 +5696.85745 15.389 0.004 -0.006 -1.618 1.000000 -54.1860 5.4013 +5698.61137 15.391 0.004 -0.004 -1.118 1.000000 -54.1084 5.4001 +5703.82137 15.391 0.004 -0.004 -1.118 1.000000 -53.8787 5.3972 +5706.87643 15.394 0.004 -0.001 -0.368 1.000000 -53.7444 5.3960 +5708.62761 15.391 0.004 -0.004 -1.118 1.000000 -53.6675 5.3954 +5712.61539 15.404 0.003 0.009 2.843 1.000000 -53.4927 5.3943 +5714.65843 15.412 0.003 0.017 5.509 1.000000 -53.4032 5.3939 +5714.67142 15.400 0.003 0.005 1.509 1.000000 -53.4026 5.3939 +5716.69391 15.396 0.003 0.001 0.176 1.000000 -53.3141 5.3936 +5721.87393 15.401 0.004 0.006 1.382 1.000000 -53.0877 5.3932 +5723.69989 15.391 0.003 -0.004 -1.491 1.000000 -53.0080 5.3931 +5724.83009 15.398 0.004 0.003 0.632 1.000000 -52.9587 5.3931 +5726.74338 15.388 0.006 -0.007 -1.245 1.000000 -52.8751 5.3931 +5734.70883 15.396 0.004 0.001 0.132 1.000000 -52.5274 5.3933 +5736.54334 15.392 0.003 -0.003 -1.157 1.000000 -52.4473 5.3934 +5737.61783 15.398 0.003 0.003 0.843 1.000000 -52.4003 5.3934 +5738.74158 15.394 0.003 -0.001 -0.491 1.000000 -52.3512 5.3934 +5740.50611 15.395 0.004 0.000 -0.118 1.000000 -52.2741 5.3934 +5741.58363 15.390 0.003 -0.005 -1.824 1.000000 -52.2270 5.3934 +5742.59459 15.392 0.003 -0.003 -1.157 1.000000 -52.1827 5.3934 +5743.74495 15.391 0.004 -0.004 -1.118 1.000000 -52.1324 5.3934 +5744.78307 15.404 0.004 0.009 2.132 1.000000 -52.0869 5.3933 +5746.54768 15.390 0.003 -0.005 -1.824 1.000000 -52.0096 5.3932 +5747.72306 15.393 0.004 -0.002 -0.618 1.000000 -51.9581 5.3931 +5749.74745 15.392 0.004 -0.003 -0.868 1.000000 -51.8693 5.3929 +5753.62941 15.400 0.005 0.005 0.906 1.000000 -51.6987 5.3923 +5760.61473 15.403 0.004 0.008 1.882 1.000000 -51.3907 5.3902 +5763.52376 15.397 0.003 0.002 0.509 1.000000 -51.2619 5.3889 +5764.61151 15.401 0.003 0.006 1.843 1.000000 -51.2137 5.3883 +5765.76848 15.398 0.004 0.003 0.632 1.000000 -51.1624 5.3877 +5767.59242 15.394 0.004 -0.001 -0.368 1.000000 -51.0813 5.3866 +5768.72982 15.395 0.003 0.000 -0.157 1.000000 -51.0307 5.3859 +5770.75569 15.393 0.004 -0.002 -0.618 1.000000 -50.9405 5.3844 +5777.63722 15.404 0.003 0.009 2.843 1.000000 -50.6324 5.3781 +5786.63080 15.401 0.004 0.006 1.382 1.000000 -50.2262 5.3666 +5788.58646 15.393 0.004 -0.002 -0.618 1.000000 -50.1373 5.3635 +5790.72524 15.388 0.004 -0.007 -1.868 1.000000 -50.0398 5.3599 +5794.60637 15.398 0.004 0.003 0.632 1.000000 -49.8622 5.3527 +5796.66835 15.393 0.004 -0.002 -0.618 1.000000 -49.7675 5.3485 +5803.59397 15.394 0.004 -0.001 -0.368 1.000000 -49.4473 5.3324 +5806.54354 15.396 0.004 0.001 0.132 1.000000 -49.3100 5.3246 +5813.56641 15.401 0.003 0.006 1.843 1.000000 -48.9807 5.3038 +5816.59160 15.396 0.004 0.001 0.132 1.000000 -48.8378 5.2937 +5819.52268 15.393 0.003 -0.002 -0.824 1.000000 -48.6988 5.2834 +5823.60919 15.398 0.004 0.003 0.632 1.000000 -48.5039 5.2680 +5824.61398 15.387 0.004 -0.008 -2.118 1.000000 -48.4558 5.2640 +5826.60072 15.379 0.004 -0.016 -4.118 1.000000 -48.3605 5.2560 +5828.57564 15.389 0.004 -0.006 -1.618 1.000000 -48.2655 5.2477 +5830.54914 15.388 0.004 -0.007 -1.868 1.000000 -48.1703 5.2391 +5832.56933 15.391 0.004 -0.004 -1.118 1.000000 -48.0726 5.2301 +5835.52034 15.392 0.005 -0.003 -0.694 1.000000 -47.9293 5.2163 +5839.57057 15.389 0.004 -0.006 -1.618 1.000000 -47.7316 5.1965 +5841.57480 15.401 0.004 0.006 1.382 1.000000 -47.6334 5.1862 +5843.57344 15.397 0.004 0.002 0.382 1.000000 -47.5352 5.1757 +5845.58468 15.406 0.005 0.011 2.106 1.000000 -47.4361 5.1649 +5851.53506 15.397 0.004 0.002 0.382 1.000000 -47.1414 5.1312 +5855.51918 15.397 0.004 0.002 0.382 1.000000 -46.9428 5.1073 +5971.88197 15.399 0.003 0.004 1.176 1.000001 -40.9846 4.2205 +5979.88578 15.394 0.004 -0.001 -0.368 1.000001 -40.5878 4.1706 +5984.87110 15.397 0.003 0.002 0.509 1.000001 -40.3428 4.1416 +5987.86431 15.388 0.003 -0.007 -2.491 1.000001 -40.1965 4.1250 +5990.82818 15.382 0.003 -0.013 -4.491 1.000001 -40.0523 4.1092 +5992.90227 15.402 0.003 0.007 2.176 1.000001 -39.9518 4.0986 +5995.81677 15.400 0.003 0.005 1.509 1.000001 -39.8110 4.0841 +5997.83497 15.401 0.003 0.006 1.843 1.000001 -39.7138 4.0744 +5999.84427 15.391 0.003 -0.004 -1.491 1.000001 -39.6174 4.0650 +6004.88742 15.409 0.003 0.014 4.510 1.000001 -39.3767 4.0429 +6006.88318 15.397 0.003 0.002 0.510 1.000001 -39.2820 4.0346 +6008.80570 15.395 0.003 0.000 -0.157 1.000001 -39.1909 4.0269 +6010.74501 15.403 0.004 0.008 1.882 1.000001 -39.0994 4.0194 +6011.87715 15.394 0.004 -0.001 -0.368 1.000001 -39.0461 4.0152 +6013.79782 15.389 0.003 -0.006 -2.157 1.000001 -38.9558 4.0082 +6014.91208 15.402 0.003 0.007 2.176 1.000001 -38.9036 4.0043 +6016.81244 15.395 0.003 0.000 -0.157 1.000001 -38.8147 3.9978 +6017.92416 15.388 0.004 -0.007 -1.868 1.000001 -38.7628 3.9941 +6019.83656 15.400 0.003 0.005 1.510 1.000001 -38.6738 3.9880 +6020.89268 15.399 0.003 0.004 1.176 1.000001 -38.6247 3.9847 +6022.74023 15.401 0.003 0.006 1.843 1.000001 -38.5390 3.9791 +6023.80127 15.400 0.003 0.005 1.510 1.000001 -38.4899 3.9760 +6024.78442 15.402 0.003 0.007 2.176 1.000001 -38.4445 3.9733 +6025.86491 15.393 0.004 -0.002 -0.618 1.000001 -38.3946 3.9703 +6032.86463 15.393 0.003 -0.002 -0.824 1.000001 -38.0734 3.9528 +6034.84193 15.397 0.003 0.002 0.510 1.000001 -37.9833 3.9484 +6037.82516 15.391 0.003 -0.004 -1.490 1.000001 -37.8476 3.9423 +6039.88398 15.391 0.003 -0.004 -1.490 1.000001 -37.7543 3.9384 +6041.91807 15.391 0.003 -0.004 -1.490 1.000001 -37.6624 3.9348 +6046.88256 15.398 0.003 0.003 0.843 1.000001 -37.4389 3.9270 +6048.81695 15.384 0.003 -0.011 -3.824 1.000001 -37.3522 3.9243 +6050.71226 15.392 0.004 -0.003 -0.868 1.000001 -37.2674 3.9219 +6052.80640 15.395 0.004 0.000 -0.118 1.000001 -37.1738 3.9194 +6053.93383 15.403 0.004 0.008 1.882 1.000001 -37.1236 3.9181 +6057.82920 15.410 0.004 0.015 3.632 1.000001 -36.9503 3.9143 +6058.93090 15.386 0.004 -0.009 -2.368 1.000001 -36.9014 3.9133 +6059.92789 15.392 0.003 -0.003 -1.157 1.000001 -36.8572 3.9125 +6062.77678 15.390 0.003 -0.005 -1.824 1.000001 -36.7311 3.9104 +6064.80552 15.401 0.003 0.006 1.843 1.000001 -36.6415 3.9090 +6066.65360 15.389 0.003 -0.006 -2.157 1.000001 -36.5600 3.9080 +6067.71707 15.398 0.003 0.003 0.843 1.000001 -36.5131 3.9074 +6068.87247 15.398 0.003 0.003 0.843 1.000001 -36.4623 3.9068 +6070.63023 15.399 0.004 0.004 0.882 1.000001 -36.3849 3.9061 +6071.68367 15.390 0.003 -0.005 -1.824 1.000001 -36.3386 3.9056 +6075.75948 15.386 0.003 -0.009 -3.157 1.000001 -36.1597 3.9043 +6076.88948 15.398 0.003 0.003 0.843 1.000001 -36.1102 3.9041 +6078.74000 15.398 0.003 0.003 0.843 1.000001 -36.0291 3.9037 +6079.81929 15.383 0.003 -0.012 -4.157 1.000001 -35.9819 3.9035 +6080.86209 15.384 0.004 -0.011 -2.868 1.000001 -35.9363 3.9033 +6085.66485 15.396 0.004 0.001 0.132 1.000001 -35.7263 3.9028 +6086.65667 15.402 0.003 0.007 2.176 1.000001 -35.6829 3.9027 +6087.83694 15.391 0.003 -0.004 -1.490 1.000001 -35.6314 3.9027 +6092.60096 15.399 0.003 0.004 1.176 1.000001 -35.4234 3.9027 +6093.79383 15.399 0.004 0.004 0.882 1.000001 -35.3713 3.9027 +6096.57787 15.402 0.004 0.007 1.632 1.000001 -35.2498 3.9027 +6097.79270 15.400 0.003 0.005 1.510 1.000001 -35.1968 3.9028 +6098.84429 15.403 0.003 0.008 2.510 1.000001 -35.1508 3.9028 +6100.79907 15.396 0.004 0.001 0.132 1.000001 -35.0655 3.9029 +6101.82586 15.388 0.004 -0.007 -1.868 1.000001 -35.0206 3.9029 +6102.86312 15.392 0.004 -0.003 -0.868 1.000001 -34.9753 3.9029 +6104.54680 15.400 0.003 0.005 1.510 1.000001 -34.9017 3.9029 +6105.57098 15.399 0.003 0.004 1.176 1.000001 -34.8570 3.9029 +6108.67701 15.407 0.003 0.012 3.843 1.000001 -34.7211 3.9029 +6113.63146 15.388 0.004 -0.007 -1.868 1.000001 -34.5040 3.9026 +6114.73557 15.394 0.003 -0.001 -0.490 1.000001 -34.4556 3.9025 +6115.80530 15.389 0.004 -0.006 -1.618 1.000001 -34.4086 3.9023 +6117.53121 15.395 0.003 0.000 -0.157 1.000001 -34.3328 3.9020 +6118.57485 15.401 0.003 0.006 1.843 1.000001 -34.2869 3.9018 +6119.61141 15.392 0.003 -0.003 -1.157 1.000001 -34.2413 3.9016 +6120.73432 15.404 0.004 0.009 2.132 1.000001 -34.1919 3.9014 +6121.77643 15.394 0.003 -0.001 -0.490 1.000001 -34.1459 3.9011 +6124.58835 15.391 0.003 -0.004 -1.490 1.000001 -34.0219 3.9002 +6125.70289 15.408 0.003 0.013 4.176 1.000001 -33.9726 3.8998 +6127.52346 15.395 0.003 0.000 -0.157 1.000001 -33.8921 3.8990 +6131.62012 15.385 0.003 -0.010 -3.490 1.000002 -33.7104 3.8969 +6133.69424 15.408 0.004 0.013 3.132 1.000002 -33.6182 3.8956 +6135.69362 15.392 0.003 -0.003 -1.157 1.000002 -33.5292 3.8942 +6140.67617 15.408 0.004 0.013 3.132 1.000002 -33.3064 3.8899 +6142.52507 15.408 0.005 0.013 2.506 1.000002 -33.2235 3.8881 +6147.69283 15.398 0.004 0.003 0.632 1.000002 -32.9907 3.8820 +6148.65411 15.400 0.003 0.005 1.510 1.000002 -32.9472 3.8807 +6151.66359 15.388 0.003 -0.007 -2.490 1.000002 -32.8109 3.8764 +6154.59763 15.393 0.004 -0.002 -0.618 1.000002 -32.6774 3.8718 +6158.65987 15.396 0.003 0.001 0.177 1.000002 -32.4918 3.8645 +6160.67539 15.398 0.003 0.003 0.843 1.000002 -32.3994 3.8606 +6167.67264 15.389 0.004 -0.006 -1.618 1.000002 -32.0764 3.8449 +6169.66431 15.393 0.004 -0.002 -0.618 1.000002 -31.9840 3.8398 +6171.66491 15.396 0.004 0.001 0.132 1.000002 -31.8908 3.8345 +6172.66274 15.395 0.003 0.000 -0.157 1.000002 -31.8442 3.8318 +6175.64095 15.397 0.003 0.002 0.510 1.000002 -31.7048 3.8231 +6181.55014 15.388 0.003 -0.007 -2.490 1.000002 -31.4264 3.8043 +6184.53153 15.401 0.003 0.006 1.843 1.000002 -31.2850 3.7938 +6190.50652 15.396 0.003 0.001 0.177 1.000002 -30.9998 3.7710 +6195.56425 15.397 0.003 0.002 0.510 1.000002 -30.7564 3.7497 +6197.53708 15.398 0.004 0.003 0.633 1.000002 -30.6610 3.7409 +6202.57079 15.391 0.004 -0.004 -1.117 1.000002 -30.4163 3.7172 +6205.53790 15.406 0.003 0.011 3.510 1.000002 -30.2713 3.7024 +6210.49647 15.401 0.004 0.006 1.383 1.000002 -30.0276 3.6762 +6212.56157 15.400 0.004 0.005 1.133 1.000002 -29.9256 3.6649 +6217.50292 15.399 0.003 0.004 1.177 1.000002 -29.6804 3.6365 +6223.52941 15.395 0.004 0.000 -0.117 1.000003 -29.3794 3.5997 +6344.83682 15.402 0.003 0.007 2.179 1.000007 -23.1773 2.6819 +6348.89745 15.402 0.003 0.007 2.179 1.000007 -22.9776 2.6581 +6352.88464 15.398 0.003 0.003 0.846 1.000007 -22.7825 2.6358 +6360.88675 15.386 0.003 -0.009 -3.154 1.000008 -22.3944 2.5945 +6363.81658 15.399 0.003 0.004 1.179 1.000008 -22.2535 2.5805 +6368.90522 15.399 0.003 0.004 1.179 1.000008 -22.0101 2.5576 +6370.91931 15.389 0.004 -0.006 -1.615 1.000008 -21.9143 2.5491 +6373.88537 15.397 0.003 0.002 0.513 1.000009 -21.7738 2.5371 +6375.85391 15.401 0.003 0.006 1.846 1.000009 -21.6808 2.5295 +6377.79878 15.396 0.003 0.001 0.180 1.000009 -21.5893 2.5223 +6378.91142 15.392 0.003 -0.003 -1.154 1.000009 -21.5370 2.5182 +6380.87219 15.393 0.003 -0.002 -0.820 1.000009 -21.4451 2.5113 +6382.80986 15.389 0.003 -0.006 -2.153 1.000009 -21.3546 2.5048 +6387.73538 15.395 0.003 0.000 -0.153 1.000010 -21.1256 2.4894 +6388.83902 15.403 0.003 0.008 2.513 1.000010 -21.0745 2.4862 +6390.73364 15.389 0.003 -0.006 -2.153 1.000010 -20.9870 2.4808 +6391.89955 15.396 0.004 0.001 0.135 1.000010 -20.9332 2.4777 +6395.70086 15.395 0.004 0.000 -0.115 1.000010 -20.7586 2.4680 +6396.90748 15.407 0.003 0.012 3.847 1.000010 -20.7034 2.4651 +6398.86078 15.391 0.003 -0.004 -1.486 1.000011 -20.6142 2.4607 +6400.87274 15.398 0.003 0.003 0.847 1.000011 -20.5225 2.4563 +6402.81633 15.383 0.003 -0.012 -4.153 1.000011 -20.4342 2.4524 +6404.74662 15.392 0.003 -0.003 -1.153 1.000011 -20.3467 2.4487 +6407.69108 15.395 0.004 0.000 -0.114 1.000012 -20.2136 2.4434 +6416.76870 15.394 0.003 -0.001 -0.485 1.000012 -19.8061 2.4304 +6418.63712 15.389 0.003 -0.006 -2.152 1.000013 -19.7227 2.4283 +6419.77852 15.407 0.003 0.012 3.848 1.000013 -19.6719 2.4270 +6420.90217 15.394 0.003 -0.001 -0.485 1.000013 -19.6219 2.4259 +6423.75502 15.405 0.003 0.010 3.182 1.000013 -19.4951 2.4232 +6424.89382 15.394 0.003 -0.001 -0.485 1.000013 -19.4446 2.4223 +6428.75285 15.394 0.003 -0.001 -0.485 1.000014 -19.2738 2.4194 +6431.87155 15.392 0.003 -0.003 -1.151 1.000014 -19.1362 2.4175 +6433.63050 15.394 0.004 -0.001 -0.363 1.000015 -19.0587 2.4166 +6434.81632 15.393 0.003 -0.002 -0.818 1.000015 -19.0065 2.4161 +6435.93424 15.394 0.003 -0.001 -0.484 1.000015 -18.9573 2.4156 +6442.61446 15.396 0.003 0.001 0.183 1.000016 -18.6642 2.4135 +6444.73788 15.390 0.003 -0.005 -1.817 1.000016 -18.5712 2.4130 +6445.85354 15.398 0.003 0.003 0.850 1.000016 -18.5223 2.4129 +6446.77016 15.393 0.003 -0.002 -0.817 1.000016 -18.4822 2.4127 +6447.82407 15.394 0.003 -0.001 -0.484 1.000017 -18.4362 2.4126 +6448.85322 15.387 0.003 -0.008 -2.817 1.000017 -18.3912 2.4125 +6449.89448 15.389 0.004 -0.006 -1.613 1.000017 -18.3456 2.4124 +6451.56987 15.394 0.003 -0.001 -0.483 1.000017 -18.2724 2.4123 +6452.63002 15.400 0.003 0.005 1.517 1.000017 -18.2261 2.4122 +6454.74208 15.395 0.003 0.000 -0.150 1.000018 -18.1339 2.4122 +6456.60577 15.400 0.003 0.005 1.517 1.000018 -18.0525 2.4122 +6457.84799 15.395 0.003 0.000 -0.150 1.000018 -17.9983 2.4122 +6459.52860 15.390 0.004 -0.005 -1.362 1.000018 -17.9249 2.4122 +6460.68411 15.393 0.003 -0.002 -0.816 1.000019 -17.8745 2.4122 +6462.59241 15.401 0.003 0.006 1.851 1.000019 -17.7912 2.4123 +6463.74496 15.397 0.003 0.002 0.517 1.000019 -17.7409 2.4123 +6464.83643 15.388 0.003 -0.007 -2.482 1.000019 -17.6932 2.4124 +6469.61251 15.387 0.003 -0.008 -2.815 1.000020 -17.4846 2.4125 +6472.77864 15.401 0.003 0.006 1.852 1.000021 -17.3461 2.4125 +6475.59230 15.393 0.003 -0.002 -0.815 1.000022 -17.2230 2.4124 +6476.67730 15.400 0.003 0.005 1.519 1.000022 -17.1754 2.4123 +6477.75289 15.400 0.003 0.005 1.519 1.000022 -17.1283 2.4122 +6479.80179 15.389 0.004 -0.006 -1.611 1.000023 -17.0384 2.4120 +6481.57318 15.401 0.003 0.006 1.852 1.000023 -16.9606 2.4118 +6484.56606 15.404 0.003 0.009 2.853 1.000024 -16.8291 2.4112 +6486.59198 15.399 0.003 0.004 1.186 1.000024 -16.7399 2.4107 +6487.70487 15.395 0.003 0.000 -0.147 1.000024 -16.6908 2.4104 +6490.49903 15.389 0.003 -0.006 -2.147 1.000025 -16.5675 2.4095 +6491.64893 15.392 0.004 -0.003 -0.860 1.000025 -16.5166 2.4090 +6497.77197 15.400 0.003 0.005 1.521 1.000027 -16.2452 2.4059 +6499.55905 15.392 0.003 -0.003 -1.146 1.000028 -16.1656 2.4047 +6504.65612 15.393 0.003 -0.002 -0.812 1.000029 -15.9381 2.4006 +6506.65213 15.401 0.003 0.006 1.855 1.000030 -15.8486 2.3987 +6508.70466 15.398 0.003 0.003 0.856 1.000031 -15.7565 2.3966 +6510.61683 15.399 0.003 0.004 1.189 1.000031 -15.6704 2.3944 +6514.57191 15.391 0.003 -0.004 -1.477 1.000033 -15.4918 2.3893 +6516.63777 15.391 0.003 -0.004 -1.476 1.000033 -15.3982 2.3864 +6519.70279 15.395 0.003 0.000 -0.142 1.000035 -15.2588 2.3815 +6524.63736 15.394 0.003 -0.001 -0.475 1.000037 -15.0333 2.3726 +6529.61386 15.389 0.004 -0.006 -1.605 1.000039 -14.8043 2.3622 +6533.50937 15.396 0.003 0.001 0.194 1.000041 -14.6240 2.3529 +6543.55988 15.405 0.003 0.010 3.196 1.000046 -14.1541 2.3244 +6546.58057 15.373 0.003 -0.022 -7.470 1.000048 -14.0116 2.3145 +6558.56975 15.394 0.003 -0.001 -0.466 1.000057 -13.4394 2.2689 +6562.53589 15.383 0.003 -0.012 -4.131 1.000060 -13.2480 2.2516 +6564.57199 15.394 0.003 -0.001 -0.464 1.000062 -13.1492 2.2422 +6568.56687 15.380 0.004 -0.015 -3.847 1.000065 -12.9547 2.2230 +6571.53919 15.389 0.004 -0.006 -1.596 1.000068 -12.8092 2.2080 +6578.54357 15.395 0.004 0.000 -0.093 1.000076 -12.4641 2.1703 +6582.55008 15.396 0.003 0.001 0.211 1.000081 -12.2653 2.1472 +6583.48614 15.393 0.006 -0.002 -0.394 1.000082 -12.2187 2.1416 +6586.52312 15.388 0.004 -0.007 -1.840 1.000086 -12.0671 2.1232 +6698.86926 15.388 0.003 -0.006 -2.029 1.001063 -6.3096 1.2627 +6705.88527 15.401 0.003 0.007 2.414 1.001317 -5.9600 1.2172 +6710.83602 15.381 0.003 -0.012 -4.156 1.001541 -5.7152 1.1869 +6715.89686 15.381 0.003 -0.012 -4.036 1.001817 -5.4666 1.1577 +6718.87424 15.389 0.003 -0.004 -1.287 1.002007 -5.3212 1.1413 +6721.80820 15.385 0.004 -0.008 -1.897 1.002217 -5.1786 1.1258 +6723.83549 15.394 0.003 0.002 0.540 1.002378 -5.0804 1.1154 +6725.84717 15.390 0.003 -0.002 -0.718 1.002551 -4.9832 1.1054 +6727.84464 15.396 0.003 0.004 1.363 1.002738 -4.8870 1.0958 +6729.81907 15.391 0.003 -0.001 -0.217 1.002939 -4.7922 1.0865 +6731.88319 15.393 0.003 0.002 0.549 1.003167 -4.6933 1.0771 +6733.84605 15.381 0.003 -0.010 -3.348 1.003405 -4.5997 1.0685 +6735.77254 15.388 0.003 -0.003 -0.905 1.003658 -4.5080 1.0603 +6736.88607 15.380 0.003 -0.011 -3.504 1.003815 -4.4551 1.0557 +6742.91782 15.384 0.003 -0.005 -1.739 1.004814 -4.1702 1.0323 +6745.83673 15.387 0.003 -0.001 -0.483 1.005406 -4.0333 1.0219 +6747.86878 15.395 0.003 0.007 2.383 1.005870 -3.9383 1.0150 +6749.78998 15.368 0.003 -0.019 -6.409 1.006351 -3.8488 1.0087 +6754.74122 15.378 0.003 -0.007 -2.443 1.007820 -3.6191 0.9938 +6756.76883 15.380 0.003 -0.004 -1.469 1.008534 -3.5256 0.9882 +6757.81857 15.383 0.003 -0.001 -0.298 1.008934 -3.4772 0.9854 +6760.87277 15.376 0.003 -0.006 -2.076 1.010227 -3.3370 0.9777 +6763.86382 15.378 0.003 -0.002 -0.774 1.011709 -3.2002 0.9707 +6768.86992 15.383 0.003 0.007 2.210 1.014788 -2.9725 0.9603 +6771.70961 15.374 0.003 0.000 0.131 1.016949 -2.8440 0.9551 +6773.85450 15.376 0.003 0.005 1.595 1.018826 -2.7472 0.9515 +6776.80234 15.369 0.003 0.002 0.527 1.021808 -2.6145 0.9469 +6789.71371 15.343 0.004 0.002 0.596 1.043179 -2.0385 0.9321 +6791.69533 15.330 0.004 -0.004 -1.098 1.048217 -1.9507 0.9306 +6796.64036 15.317 0.004 0.002 0.430 1.063871 -1.7322 0.9273 +6798.78179 15.305 0.004 0.000 -0.029 1.072307 -1.6378 0.9262 +6804.67000 15.264 0.003 -0.006 -1.939 1.102233 -1.3790 0.9239 +6805.93442 15.267 0.004 0.006 1.596 1.110192 -1.3236 0.9235 +6808.80895 15.232 0.003 -0.005 -1.769 1.130665 -1.1976 0.9228 +6810.71270 15.229 0.003 0.009 3.017 1.146200 -1.1142 0.9225 +6813.69273 15.182 0.003 -0.008 -2.544 1.173931 -0.9839 0.9221 +6815.66455 15.162 0.003 -0.006 -1.847 1.194633 -0.8977 0.9219 +6817.87748 15.145 0.003 0.004 1.317 1.220022 -0.8010 0.9218 +6819.70970 15.119 0.003 0.001 0.320 1.242579 -0.7210 0.9217 +6824.77208 15.055 0.003 0.002 0.651 1.308942 -0.5000 0.9217 +6826.62295 15.031 0.003 0.000 0.118 1.332751 -0.4192 0.9218 +6827.84859 15.016 0.003 -0.001 -0.291 1.347638 -0.3657 0.9218 +6829.73596 15.001 0.003 0.003 0.994 1.368321 -0.2833 0.9219 +6831.74952 14.980 0.003 -0.002 -0.678 1.386141 -0.1954 0.9219 +6833.69476 14.974 0.003 0.002 0.795 1.397900 -0.1104 0.9220 +6835.58442 14.971 0.003 0.004 1.367 1.403261 -0.0278 0.9220 +6836.85718 14.965 0.003 -0.002 -0.633 1.403259 0.0279 0.9220 +6838.72413 14.971 0.003 -0.001 -0.178 1.397992 0.1095 0.9220 +6840.61152 14.980 0.003 -0.002 -0.508 1.386716 0.1922 0.9219 +6842.63577 14.994 0.003 -0.003 -1.148 1.368961 0.2808 0.9218 +6845.51378 15.024 0.003 -0.003 -1.086 1.336400 0.4071 0.9215 +6847.70747 15.058 0.003 0.004 1.424 1.308230 0.5034 0.9212 +6852.60304 15.114 0.003 -0.003 -0.933 1.243812 0.7189 0.9200 +6856.53541 15.168 0.003 0.003 0.905 1.196773 0.8925 0.9187 +6858.48946 15.189 0.003 0.002 0.522 1.175975 0.9790 0.9178 +6862.69174 15.232 0.003 0.002 0.787 1.137498 1.1654 0.9156 +6864.69384 15.243 0.003 -0.004 -1.353 1.122049 1.2545 0.9143 +6872.73560 15.301 0.004 0.000 -0.023 1.075670 1.6140 0.9074 +6879.58318 15.330 0.004 -0.001 -0.273 1.050903 1.9226 0.8992 +6882.56949 15.349 0.004 0.008 2.047 1.043023 2.0580 0.8949 +6886.47974 15.346 0.004 -0.005 -1.297 1.034689 2.2360 0.8885 +6888.64369 15.365 0.003 0.009 3.008 1.030868 2.3350 0.8845 +6891.59883 15.364 0.004 0.002 0.598 1.026398 2.4705 0.8787 +6907.54789 15.386 0.003 0.006 2.024 1.012016 3.2117 0.8379 +6915.55310 15.378 0.004 -0.007 -1.652 1.008378 3.5902 0.8110 +6923.52221 15.376 0.004 -0.012 -2.929 1.005973 3.9715 0.7797 +6928.49862 15.389 0.004 0.000 -0.032 1.004882 4.2118 0.7579 +6937.49145 15.393 0.004 0.002 0.504 1.003451 4.6504 0.7139 +6940.55485 15.391 0.004 0.000 -0.116 1.003081 4.8011 0.6977 +6948.49604 15.389 0.004 -0.003 -0.863 1.002320 5.1946 0.6526 diff --git a/data/unit_test_files/ob140939_Spitzer_ref_v1.dat b/data/unit_test_files/ob140939_Spitzer_ref_v1.dat deleted file mode 100644 index 7f19a6e2..00000000 --- a/data/unit_test_files/ob140939_Spitzer_ref_v1.dat +++ /dev/null @@ -1,31 +0,0 @@ -6814.07844 15.042 0.001 -.023 -19.345 1.296867 -6815.03086 15.039 0.001 -.005 -4.165 1.319118 -6815.82782 15.016 0.001 -.009 -7.327 1.338840 -6816.77402 15.028 0.001 0.026 22.175 1.363561 -6817.58341 14.974 0.001 -.009 -7.510 1.385807 -6818.73166 14.932 0.001 -.021 -18.234 1.419008 -6819.53932 14.909 0.001 -.023 -22.244 1.443407 -6820.52634 14.889 0.001 -.018 -17.159 1.474199 -6821.48308 14.870 0.001 -.011 -10.516 1.504800 -6822.65891 14.856 0.001 0.005 4.743 1.542872 -6823.46861 14.810 0.001 -.020 -19.788 1.568959 -6824.70223 14.790 0.001 -.011 -10.841 1.607595 -6825.49204 14.774 0.001 -.009 -9.173 1.631038 -6827.09946 14.745 0.001 -.008 -7.411 1.673595 -6827.80323 14.740 0.001 -.001 -0.745 1.689287 -6828.52669 14.723 0.001 -.008 -7.725 1.703094 -6830.38779 14.720 0.001 0.005 4.732 1.725830 -6831.42212 14.721 0.001 0.009 8.424 1.729580 -6832.59984 14.703 0.001 -.012 -11.978 1.725776 -6834.21402 14.729 0.001 0.001 0.721 1.707229 -6835.29855 14.737 0.001 -.006 -5.597 1.687135 -6836.28071 14.762 0.001 0.003 2.840 1.664593 -6836.97713 14.774 0.001 0.002 2.114 1.646579 -6838.16978 14.809 0.001 0.012 11.890 1.612799 -6839.03530 14.844 0.001 0.027 26.868 1.586662 -6839.94137 14.841 0.001 0.002 2.256 1.558468 -6841.10244 14.877 0.001 0.010 9.571 1.521886 -6842.17330 14.924 0.001 0.030 25.773 1.488392 -6843.58489 14.948 0.001 0.018 15.543 1.445505 -6844.44113 14.973 0.001 0.021 17.904 1.420521 -6845.70596 15.007 0.001 0.024 21.116 1.385358 diff --git a/data/unit_test_files/ob140939_Spitzer_ref_v2.dat b/data/unit_test_files/ob140939_Spitzer_ref_v2.dat new file mode 100644 index 00000000..24f7a71d --- /dev/null +++ b/data/unit_test_files/ob140939_Spitzer_ref_v2.dat @@ -0,0 +1,31 @@ +6814.07844 15.042 0.001 -0.023 -19.345 1.296867 -0.7731 0.7371 +6815.03086 15.039 0.001 -0.005 -4.165 1.319117 -0.7277 0.7329 +6815.82782 15.016 0.001 -0.009 -7.327 1.338840 -0.6898 0.7294 +6816.77402 15.028 0.001 0.026 22.175 1.363561 -0.6449 0.7253 +6817.58341 14.974 0.001 -0.009 -7.510 1.385806 -0.6064 0.7219 +6818.73166 14.932 0.001 -0.021 -18.234 1.419008 -0.5520 0.7171 +6819.53932 14.909 0.001 -0.023 -22.244 1.443406 -0.5138 0.7138 +6820.52634 14.889 0.001 -0.018 -17.159 1.474198 -0.4671 0.7098 +6821.48308 14.870 0.001 -0.011 -10.516 1.504799 -0.4220 0.7060 +6822.65891 14.856 0.001 0.005 4.743 1.542871 -0.3666 0.7014 +6823.46861 14.810 0.001 -0.020 -19.788 1.568958 -0.3285 0.6983 +6824.70223 14.790 0.001 -0.011 -10.841 1.607594 -0.2705 0.6937 +6825.49204 14.774 0.001 -0.009 -9.173 1.631038 -0.2335 0.6908 +6827.09946 14.745 0.001 -0.008 -7.411 1.673595 -0.1582 0.6850 +6827.80323 14.740 0.001 -0.001 -0.745 1.689287 -0.1253 0.6825 +6828.52669 14.723 0.001 -0.008 -7.725 1.703095 -0.0915 0.6800 +6830.38779 14.720 0.001 0.005 4.732 1.725832 -0.0047 0.6737 +6831.42212 14.721 0.001 0.009 8.424 1.729582 0.0434 0.6703 +6832.59984 14.703 0.001 -0.012 -11.978 1.725780 0.0982 0.6666 +6834.21402 14.729 0.001 0.001 0.721 1.707234 0.1730 0.6616 +6835.29855 14.737 0.001 -0.006 -5.597 1.687140 0.2232 0.6583 +6836.28071 14.762 0.001 0.003 2.840 1.664599 0.2686 0.6554 +6836.97713 14.774 0.001 0.002 2.114 1.646585 0.3007 0.6534 +6838.16978 14.809 0.001 0.012 11.890 1.612805 0.3557 0.6501 +6839.03530 14.844 0.001 0.027 26.868 1.586669 0.3956 0.6477 +6839.94137 14.841 0.001 0.002 2.256 1.558475 0.4372 0.6453 +6841.10244 14.877 0.001 0.010 9.571 1.521894 0.4905 0.6423 +6842.17330 14.924 0.001 0.030 25.773 1.488399 0.5396 0.6396 +6843.58489 14.948 0.001 0.018 15.543 1.445512 0.6042 0.6361 +6844.44113 14.973 0.001 0.021 17.904 1.420527 0.6434 0.6341 +6845.70596 15.007 0.001 0.024 21.116 1.385364 0.7011 0.6311 diff --git a/examples/example_17_1L2S_plotting.py b/examples/example_17_1L2S_plotting.py index 15fc564e..69d68b4b 100644 --- a/examples/example_17_1L2S_plotting.py +++ b/examples/example_17_1L2S_plotting.py @@ -94,4 +94,9 @@ def generate_dataset(time, flux_1, flux_2, blend_flux, flux_err, my_event.plot_model(zorder=10, color='black') my_event.plot_data() +# Plot the source trajectories +plt.figure() +plt.title('Model Source Trajectories') +my_model.plot_trajectory() + plt.show() diff --git a/source/MulensModel/fitdata.py b/source/MulensModel/fitdata.py index 4020a653..be05f824 100644 --- a/source/MulensModel/fitdata.py +++ b/source/MulensModel/fitdata.py @@ -647,16 +647,11 @@ def get_dataset_trajectory(self): trajectory: :py:class:`~MulensModel.trajectory.Trajectory` Trajectory for given dataset. """ - if self.dataset.ephemerides_file is None: - return self.model.get_trajectory(self.dataset.time) - else: - kwargs_ = { - 'times': self.dataset.time, - 'parallax': self.model.get_parallax(), - 'coords': self.model.coords, - 'satellite_skycoord': self.dataset.satellite_skycoord} + kwargs = dict() + if self.dataset.ephemerides_file is not None: + kwargs['satellite_skycoord'] = self.dataset.satellite_skycoord - return mm.Trajectory(parameters=self.model.parameters, **kwargs_) + return self.model.get_trajectory(self.dataset.time, **kwargs) def get_d_A_d_u_for_PSPL_model(self): """ diff --git a/source/MulensModel/model.py b/source/MulensModel/model.py index 98f1273b..02eda247 100644 --- a/source/MulensModel/model.py +++ b/source/MulensModel/model.py @@ -599,6 +599,7 @@ def plot_trajectory( times = self.set_times( t_range=t_range, t_start=t_start, t_stop=t_stop, dt=dt, n_epochs=n_epochs) + if satellite_skycoord is None: satellite_skycoord = self.get_satellite_coords(times) else: @@ -755,7 +756,7 @@ def _plot_source_for_trajectory(self, trajectory, **kwargs): for (x, y) in zip(trajectory.x, trajectory.y): axis.add_artist(plt.Circle((x, y), **kwargs)) - def get_trajectory(self, times): + def get_trajectory(self, times, satellite_skycoord=None): """ Get the source trajectory for the given set of times. @@ -763,13 +764,34 @@ def get_trajectory(self, times): times: *np.ndarray*, *list of floats*, or *float* Epochs for which source positions are requested. - Returns : A `:py:class:`~MulensModel.trajectory.Trajectory` object. + satellite_skycoord: *astropy.SkyCoord* + Allows the user to specify that the trajectory is calculated + for a satellite. If *astropy.SkyCoord* object is provided, + then these are satellite positions for all epochs. + See also :py:func:`get_satellite_coords()` + + Returns : A `:py:class:`~MulensModel.trajectory.Trajectory` object. If + n_sources > 1, returns a tuple of + `:py:class:`~MulensModel.trajectory.Trajectory`s """ + if satellite_skycoord is None: + satellite_skycoord = self.get_satellite_coords(times) + kwargs_ = { 'times': times, 'parallax': self._parallax, 'coords': self._coords, - 'satellite_skycoord': self.get_satellite_coords(times)} - return Trajectory(parameters=self.parameters, **kwargs_) + 'satellite_skycoord': satellite_skycoord} + if self.n_sources == 1: + return Trajectory(parameters=self.parameters, **kwargs_) + elif self.n_sources == 2: + trajectory_1 = Trajectory( + parameters=self.parameters.source_1_parameters, **kwargs_) + trajectory_2 = Trajectory( + parameters=self.parameters.source_2_parameters, **kwargs_) + return (trajectory_1, trajectory_2) + else: + raise NotImplementedError( + "only 1 or 2 sources allowed here at this point") def set_times( self, t_range=None, t_start=None, t_stop=None, dt=None, diff --git a/source/MulensModel/mulensdata.py b/source/MulensModel/mulensdata.py index db6a79fd..e5de250a 100644 --- a/source/MulensModel/mulensdata.py +++ b/source/MulensModel/mulensdata.py @@ -450,17 +450,26 @@ def _plot_datapoints( if show_errorbars: if np.any(y_err[self.good] < 0.): - warnings.warn("Cannot plot errorbars with negative values. " - "Skipping dataset: " + self._get_name()) - return + ind_neg_err = np.where((y_err < 0.) & self.good) + warnings.warn( + "Some points have errorbars with negative values. " + + "Setting to zero. \n" + + "Dataset: " + self._get_name() + + "\nEpochs: {0}".format(self.time[ind_neg_err])) + y_err[ind_neg_err] = 0. + container = self._plt_errorbar(time_good, y_good, y_err[self.good], properties) if show_bad: if np.any(y_err[self.bad] < 0.): + ind_neg_err = np.where((y_err < 0.) & self.bad) warnings.warn( - "Cannot plot errorbars with negative values (bad " - "data). Skipping dataset: " + self._get_name()) - return + "Some (bad data) points have errorbars with " + + "negative values. Setting to zero. \n" + + "Dataset: " + self._get_name() + + "\nEpochs: {0}".format(self.time[ind_neg_err])) + y_err[ind_neg_err] = 0. + if not ('color' in properties_bad or 'c' in properties_bad): properties_bad['color'] = container[0].get_color() diff --git a/source/MulensModel/tests/test_FitData.py b/source/MulensModel/tests/test_FitData.py index 4273cf6d..ede364d4 100644 --- a/source/MulensModel/tests/test_FitData.py +++ b/source/MulensModel/tests/test_FitData.py @@ -12,10 +12,10 @@ dir_4 = join(dir_2, 'fspl_derivs') SAMPLE_FILE_02 = join(dir_1, 'ob140939_OGLE.dat') # HJD' -SAMPLE_FILE_02_REF = join(dir_2, 'ob140939_OGLE_ref_v1.dat') # HJD' +SAMPLE_FILE_02_REF = join(dir_2, 'ob140939_OGLE_ref_v2.dat') # HJD' SAMPLE_FILE_03 = join(dir_1, 'ob140939_Spitzer.dat') # HJD' SAMPLE_FILE_03_EPH = join(dir_3, 'Spitzer_ephemeris_01.dat') # UTC -SAMPLE_FILE_03_REF = join(dir_2, 'ob140939_Spitzer_ref_v1.dat') # HJD' +SAMPLE_FILE_03_REF = join(dir_2, 'ob140939_Spitzer_ref_v2.dat') # HJD' SAMPLE_FILE_04_WF = join(mm.DATA_PATH, 'WFIRST_1827.dat') SAMPLE_FILE_FSPL_51 = join(dir_4, 'fort.51') SAMPLE_FILE_FSPL_61 = join(dir_4, 'fort.61') @@ -1006,6 +1006,31 @@ def test_FSPLDerivs_get_satellite_coords(): np.testing.assert_almost_equal(result_2.dec.value, dec_2, decimal=3) +def test_get_trajectory_1L2S_satellite_parallax(): + """test parallax calculation with Spitzer data""" + model_parameters = {'t_0': 2456836.22, 'u_0': 0.922, 't_E': 22.87, + 'pi_E_N': -0.248, 'pi_E_E': 0.234, + 't_0_par': 2456836.2} + coords = "17:47:12.25 -21:22:58.2" + + model_with_par = mm.Model(model_parameters, coords=coords) + model_with_par.parallax(satellite=True, earth_orbital=True, + topocentric=False) + + data_Spitzer = mm.MulensData( + file_name=SAMPLE_FILE_03, ephemerides_file=SAMPLE_FILE_03_EPH) + + fit = mm.FitData(model=model_with_par, dataset=data_Spitzer) + + ref_Spitzer = np.loadtxt(SAMPLE_FILE_03_REF, unpack=True) + + trajectory = fit.get_dataset_trajectory() + + ratio_x = trajectory.x / ref_Spitzer[6] + ratio_y = trajectory.y / ref_Spitzer[7] + np.testing.assert_almost_equal(ratio_x, 1., decimal=2) + np.testing.assert_almost_equal(ratio_y, 1., decimal=3) + # Tests to add: # # test get_chi2_gradient(), chi2_gradient: diff --git a/source/MulensModel/tests/test_Model.py b/source/MulensModel/tests/test_Model.py index e58f2484..883736a1 100644 --- a/source/MulensModel/tests/test_Model.py +++ b/source/MulensModel/tests/test_Model.py @@ -3,10 +3,17 @@ from math import isclose import unittest from astropy import units as u +import os.path import warnings import MulensModel as mm +dir_2 = os.path.join(mm.DATA_PATH, 'unit_test_files') +dir_3 = os.path.join(mm.DATA_PATH, 'ephemeris_files') +SAMPLE_FILE_02_REF = os.path.join(dir_2, 'ob140939_OGLE_ref_v2.dat') # HJD' +SAMPLE_FILE_03_EPH = os.path.join(dir_3, 'Spitzer_ephemeris_01.dat') # UTC +SAMPLE_FILE_03_REF = os.path.join(dir_2, 'ob140939_Spitzer_ref_v2.dat') # HJD' + def test_n_lenses(): """check n_lenses property""" @@ -765,14 +772,99 @@ def test_xallarap_at_t_0_plus_half_of_period_7_eccentric(): almost(expected, model.get_magnification(t_0+d_time)) +class TestGetTrajectory(unittest.TestCase): + + def setUp(self): + # Parallax model parameters + self.model_parameters_par = { + 't_0': 2456836.22, 'u_0': 0.922, 't_E': 22.87, + 'pi_E_N': -0.248, 'pi_E_E': 0.234, 't_0_par': 2456836.2} + self.coords = "17:47:12.25 -21:22:58.2" + + self.model_with_par = mm.Model( + self.model_parameters_par, coords=self.coords) + self.model_with_par.parallax(satellite=True, earth_orbital=True, + topocentric=False) + + self.ref_OGLE = np.loadtxt(SAMPLE_FILE_02_REF, unpack=True) + self.times_OGLE = self.ref_OGLE[0] + 2450000. + self.ref_Spitzer = np.loadtxt(SAMPLE_FILE_03_REF, unpack=True) + self.ephemerides_file = SAMPLE_FILE_03_EPH + self.times_spz = self.ref_Spitzer[0] + 2450000. + + def test_1L1S(self): + # straight-up trajectory for static point-lens model + t_0 = self.model_parameters_par['t_0'] + u_0 = self.model_parameters_par['u_0'] + t_E = self.model_parameters_par['t_E'] + times = np.arange(t_0 - t_E, t_0 + t_E, 1.) + + model = mm.Model({'t_0': t_0, 'u_0': u_0, 't_E': t_E}) + trajectory = model.get_trajectory(times) + y = np.ones(len(times)) * u_0 + x = (times - t_0) / t_E + ratio_x = trajectory.x / x + ratio_y = trajectory.y / y + np.testing.assert_almost_equal(ratio_x, 1.) + np.testing.assert_almost_equal(ratio_y, 1.) + + def test_1L1S_annual_parallax(self): + """case with annual parallax""" + trajectory = self.model_with_par.get_trajectory( + self.times_OGLE) + + ratio_x = trajectory.x / self.ref_OGLE[6] + ratio_y = trajectory.y / self.ref_OGLE[7] + np.testing.assert_almost_equal(ratio_x, [1.] * len(ratio_x), decimal=3) + np.testing.assert_almost_equal(ratio_y, [1.] * len(ratio_y), decimal=3) + + def test_1L1S_satellite_parallax_1(self): + """Case with satellite parallax (check test_Model_Parallax.py)""" + satellite_skycoord_obj = mm.SatelliteSkyCoord( + ephemerides_file=self.ephemerides_file) + satellite_skycoord = satellite_skycoord_obj.get_satellite_coords( + self.times_spz) + trajectory = self.model_with_par.get_trajectory( + self.times_spz, satellite_skycoord=satellite_skycoord) + + ratio_x = trajectory.x / self.ref_Spitzer[6] + ratio_y = trajectory.y / self.ref_Spitzer[7] + np.testing.assert_almost_equal(ratio_x, [1.] * len(ratio_x), decimal=2) + np.testing.assert_almost_equal(ratio_y, [1.] * len(ratio_y), decimal=3) + + def test_1L1S_satellite_parallax_2(self): + """Case with satellite parallax (check test_Model_Parallax.py)""" + model_with_sat_par = mm.Model( + self.model_parameters_par, ephemerides_file=self.ephemerides_file, + coords=self.coords) + trajectory = model_with_sat_par.get_trajectory(self.times_spz) + + ratio_x = trajectory.x / self.ref_Spitzer[6] + ratio_y = trajectory.y / self.ref_Spitzer[7] + np.testing.assert_almost_equal(ratio_x, [1.] * len(ratio_x), decimal=2) + np.testing.assert_almost_equal(ratio_y, [1.] * len(ratio_y), decimal=3) + + def test_1L2S(self): + """Binary source trajectories""" + model = mm.Model({ + 't_0_1': 5000., 'u_0_1': 0.005, 'rho_1': 0.001, + 't_0_2': 5100., 'u_0_2': 0.0003, 't_star_2': 0.03, 't_E': 25.}) + model_1 = mm.Model(model.parameters.source_1_parameters) + model_2 = mm.Model(model.parameters.source_2_parameters) + + time = np.linspace(4900., 5200., 4200) + + (traj_1_1L2S, traj_2_1L2S) = model.get_trajectory(time) + traj_1_1L1S = model_1.get_trajectory(time) + np.testing.assert_equal(traj_1_1L2S.x, traj_1_1L1S.x) + np.testing.assert_equal(traj_1_1L2S.y, traj_1_1L1S.y) + + traj_2_1L1S = model_2.get_trajectory(time) + np.testing.assert_equal(traj_2_1L2S.x, traj_2_1L1S.x) + np.testing.assert_equal(traj_2_1L2S.y, traj_2_1L1S.y) + # Tests to Add: # -# test get_trajectory: -# straight-up trajectory -# case with annual parallax (check test_Model_Parallax.py) -# case with satellite parallax (check test_Model_Parallax.py) -# coords is propagating correctly (check test_Model_Parallax.py) -# # test set_times: # keywords to test: # t_range=None, t_start=None, t_stop=None, dt=None, n_epochs=1000 diff --git a/source/MulensModel/tests/test_Model_Parallax.py b/source/MulensModel/tests/test_Model_Parallax.py index 205a2c2c..6772991b 100644 --- a/source/MulensModel/tests/test_Model_Parallax.py +++ b/source/MulensModel/tests/test_Model_Parallax.py @@ -12,10 +12,10 @@ dir_3 = os.path.join(mm.DATA_PATH, 'ephemeris_files') SAMPLE_FILE_02 = os.path.join(dir_1, 'ob140939_OGLE.dat') # HJD' -SAMPLE_FILE_02_REF = os.path.join(dir_2, 'ob140939_OGLE_ref_v1.dat') # HJD' +SAMPLE_FILE_02_REF = os.path.join(dir_2, 'ob140939_OGLE_ref_v2.dat') # HJD' SAMPLE_FILE_03 = os.path.join(dir_1, 'ob140939_Spitzer.dat') # HJD' SAMPLE_FILE_03_EPH = os.path.join(dir_3, 'Spitzer_ephemeris_01.dat') # UTC -SAMPLE_FILE_03_REF = os.path.join(dir_2, 'ob140939_Spitzer_ref_v1.dat') # HJD' +SAMPLE_FILE_03_REF = os.path.join(dir_2, 'ob140939_Spitzer_ref_v2.dat') # HJD' SAMPLE_FILE_04_EPH = os.path.join(dir_3, 'Spitzer_ephemeris_03.dat') # UTC SAMPLE_FILE_04_REF = os.path.join(dir_2, 'gets_70.dat') diff --git a/source/MulensModel/tests/test_Trajectory.py b/source/MulensModel/tests/test_Trajectory.py index 75eafc92..91d00be4 100644 --- a/source/MulensModel/tests/test_Trajectory.py +++ b/source/MulensModel/tests/test_Trajectory.py @@ -19,10 +19,10 @@ def test_coords_format(): coords = [None, coords_txt, mm.Coordinates(coords_txt), SkyCoord(coords_txt, unit=(u.hourangle, u.deg))] - trajecotories = [mm.Trajectory(times, params, coords=c) for c in coords] - for trajectory in trajecotories: - assert np.all(trajectory.x == trajecotories[0].x) - assert np.all(trajectory.y == trajecotories[0].y) + trajectories = [mm.Trajectory(times, params, coords=c) for c in coords] + for trajectory in trajectories: + assert np.all(trajectory.x == trajectories[0].x) + assert np.all(trajectory.y == trajectories[0].y) parameters['pi_E_E'] = 0.1 parameters['pi_E_N'] = -0.15 @@ -31,7 +31,7 @@ def test_coords_format(): coords = coords[1:] p = {'earth_orbital': True, 'satellite': False, 'topocentric': False} kwargs = {'times': times, 'parameters': params, 'parallax': p} - trajecotories = [mm.Trajectory(coords=c, **kwargs) for c in coords] - for trajectory in trajecotories: - assert np.all(trajectory.x == trajecotories[0].x) - assert np.all(trajectory.y == trajecotories[0].y) + trajectories = [mm.Trajectory(coords=c, **kwargs) for c in coords] + for trajectory in trajectories: + assert np.all(trajectory.x == trajectories[0].x) + assert np.all(trajectory.y == trajectories[0].y) diff --git a/source/MulensModel/utils.py b/source/MulensModel/utils.py index 7e78f887..3361fce9 100644 --- a/source/MulensModel/utils.py +++ b/source/MulensModel/utils.py @@ -371,23 +371,14 @@ def get_y_value_y_err(phot_fmt, flux, flux_err): """ if phot_fmt == 'mag': - (y_value, y_err) = Utils.get_mag_and_err_from_flux(flux, flux_err) + return Utils.get_mag_and_err_from_flux(flux, flux_err) elif phot_fmt == 'flux': - (y_value, y_err) = (flux, flux_err) + return (flux, flux_err) else: raise ValueError( 'Unrecognized photometry format: {:}, '.format(phot_fmt) + 'allowed values are "mag" and "flux"') - index = (y_err < 0) - if np.sum(index) > 0: - if not isinstance(y_err, np.ndarray): - y_err = np.array(y_err) - - y_err[index] = 0 - - return (y_value, y_err) - get_y_value_y_err = staticmethod(get_y_value_y_err) def find_subtract(subtract_2450000=False, subtract_2460000=False): diff --git a/source/MulensModel/version.py b/source/MulensModel/version.py index 5c8d0158..326b86ff 100644 --- a/source/MulensModel/version.py +++ b/source/MulensModel/version.py @@ -1 +1 @@ -__version__ = "2.18.5" +__version__ = "2.19.0"