RTModel 2.0__tar.gz → 2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. rtmodel-2.2/.github/workflows/run_tests.yml +41 -0
  2. rtmodel-2.2/.gitignore +42 -0
  3. rtmodel-2.2/CMakeLists.txt +49 -0
  4. {RTModel-2.0 → rtmodel-2.2}/LICENSE +3 -2
  5. {RTModel-2.0 → rtmodel-2.2}/MANIFEST.in +1 -2
  6. {RTModel-2.0/RTModel.egg-info → rtmodel-2.2}/PKG-INFO +78 -61
  7. RTModel-2.0/PKG-INFO → rtmodel-2.2/README.md +58 -61
  8. {RTModel-2.0 → rtmodel-2.2}/RTModel/RTModel.py +204 -22
  9. {RTModel-2.0 → rtmodel-2.2}/RTModel/__init__.py +2 -2
  10. rtmodel-2.2/RTModel/data/TemplateLibrary.txt +59 -0
  11. rtmodel-2.2/RTModel/include/LevMarFit.h +91 -0
  12. rtmodel-2.2/RTModel/include/VBMicrolensingLibrary.h +483 -0
  13. {RTModel-2.0 → rtmodel-2.2}/RTModel/lib/Finalizer.cpp +91 -67
  14. rtmodel-2.2/RTModel/lib/InitCond.cpp +1737 -0
  15. rtmodel-2.2/RTModel/lib/LevMarFit.cpp +1577 -0
  16. {RTModel-2.0 → rtmodel-2.2}/RTModel/lib/ModelSelector.cpp +243 -90
  17. {RTModel-2.0 → rtmodel-2.2}/RTModel/lib/Reader.cpp +4 -4
  18. rtmodel-2.2/RTModel/lib/VBMicrolensingLibrary.cpp +8007 -0
  19. {RTModel-2.0 → rtmodel-2.2}/RTModel/lib/bumper.cpp +2 -2
  20. {RTModel-2.0 → rtmodel-2.2}/RTModel/plotmodel/__init__.py +2 -2
  21. {RTModel-2.0 → rtmodel-2.2}/RTModel/plotmodel/plotmodel.py +74 -35
  22. rtmodel-2.2/RTModel/templates/__init__.py +5 -0
  23. rtmodel-2.2/RTModel/templates/templates.py +88 -0
  24. rtmodel-2.2/changelog.md +6 -0
  25. rtmodel-2.2/docs/Animation.md +56 -0
  26. rtmodel-2.2/docs/Archive.md +59 -0
  27. rtmodel-2.2/docs/Constraints.md +69 -0
  28. rtmodel-2.2/docs/DataPreparation.md +46 -0
  29. rtmodel-2.2/docs/DataPreprocessing.md +92 -0
  30. rtmodel-2.2/docs/FinalAssessment.md +34 -0
  31. rtmodel-2.2/docs/Fitting.md +112 -0
  32. rtmodel-2.2/docs/InitCond.md +80 -0
  33. rtmodel-2.2/docs/LimbDarkening.md +19 -0
  34. rtmodel-2.2/docs/ModelCategories.md +187 -0
  35. rtmodel-2.2/docs/ModelSelection.md +77 -0
  36. rtmodel-2.2/docs/ModelingRun.md +146 -0
  37. rtmodel-2.2/docs/PlotModel.md +83 -0
  38. rtmodel-2.2/docs/README.md +93 -0
  39. rtmodel-2.2/docs/Satellite.md +74 -0
  40. rtmodel-2.2/docs/Template.png +0 -0
  41. rtmodel-2.2/docs/TemplateLibraries.md +90 -0
  42. rtmodel-2.2/docs/ani.gif +0 -0
  43. rtmodel-2.2/docs/plotchain.png +0 -0
  44. rtmodel-2.2/docs/plotmodel_fig1.png +0 -0
  45. rtmodel-2.2/docs/plotmodel_fig2.png +0 -0
  46. rtmodel-2.2/events/OB190033.zip +0 -0
  47. rtmodel-2.2/events/event001.zip +0 -0
  48. rtmodel-2.2/events/event001done.zip +0 -0
  49. rtmodel-2.2/events/event002.zip +0 -0
  50. rtmodel-2.2/events/readme.md +5 -0
  51. rtmodel-2.2/events/satellite1.txt +2691 -0
  52. rtmodel-2.2/jupyter/Model_event001.ipynb +94 -0
  53. {RTModel-2.0 → rtmodel-2.2}/pyproject.toml +5 -5
  54. rtmodel-2.2/tests/build_tests/test_built_executables_exist.py +33 -0
  55. rtmodel-2.2/tests/end_to_end_tests/test_ps_run.py +17 -0
  56. rtmodel-2.2/tests/end_to_end_tests/test_ps_run_resources/example_event.zip +0 -0
  57. RTModel-2.0/README.md +0 -40
  58. RTModel-2.0/RTModel/bin/Finalizer.exe +0 -0
  59. RTModel-2.0/RTModel/bin/InitCond.exe +0 -0
  60. RTModel-2.0/RTModel/bin/LevMar.exe +0 -0
  61. RTModel-2.0/RTModel/bin/ModelSelector.exe +0 -0
  62. RTModel-2.0/RTModel/bin/Reader.exe +0 -0
  63. RTModel-2.0/RTModel/data/TemplateLibrary.txt +0 -114
  64. RTModel-2.0/RTModel/include/LevMarFit.h +0 -81
  65. RTModel-2.0/RTModel/include/VBBinaryLensingLibrary.h +0 -312
  66. RTModel-2.0/RTModel/lib/InitCond.cpp +0 -1398
  67. RTModel-2.0/RTModel/lib/LevMarFit.cpp +0 -1277
  68. RTModel-2.0/RTModel/lib/VBBinaryLensingLibrary.cpp +0 -4986
  69. RTModel-2.0/RTModel.egg-info/SOURCES.txt +0 -32
  70. RTModel-2.0/RTModel.egg-info/dependency_links.txt +0 -1
  71. RTModel-2.0/RTModel.egg-info/requires.txt +0 -5
  72. RTModel-2.0/RTModel.egg-info/top_level.txt +0 -1
  73. RTModel-2.0/setup.cfg +0 -4
  74. RTModel-2.0/setup.py +0 -29
  75. {RTModel-2.0 → rtmodel-2.2}/RTModel/data/ESPL.tbl +0 -0
  76. {RTModel-2.0 → rtmodel-2.2}/RTModel/include/bumper.h +0 -0
  77. {RTModel-2.0 → rtmodel-2.2}/RTModel/lib/LevMar.cpp +0 -0
@@ -0,0 +1,41 @@
1
+ name: run_tests
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ run_tests:
7
+ name: run_tests_on_${{ matrix.os }}_python_${{ matrix.python_version }}_pip_install_flag_${{ matrix.pip_install_flag }}
8
+ runs-on: ${{ matrix.os }}
9
+ strategy:
10
+ fail-fast: false
11
+ matrix:
12
+ os: [ubuntu-latest, windows-latest, macos-latest]
13
+ python_version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
14
+ pip_install_flag: ["none", "editable", "user"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v3
18
+
19
+ - name: setup_python_${{ matrix.python_version }}
20
+ uses: actions/setup-python@v4
21
+ with:
22
+ python-version: ${{ matrix.python_version }}
23
+
24
+ - name: install
25
+ shell: bash
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ if [ "${{ matrix.pip_install_flag }}" = "editable" ]; then
29
+ pip_install_flag="--editable"
30
+ elif [ "${{ matrix.pip_install_flag }}" = "user" ]; then
31
+ pip_install_flag="--user"
32
+ else
33
+ pip_install_flag=""
34
+ fi
35
+ pip install -v ${pip_install_flag} .
36
+
37
+ - name: test
38
+ run: |
39
+ pip install pytest
40
+ cd ..
41
+ python -m pytest RTModel/tests
rtmodel-2.2/.gitignore ADDED
@@ -0,0 +1,42 @@
1
+ ### C++ template
2
+ # Prerequisites
3
+ *.d
4
+
5
+ # Compiled Object files
6
+ *.slo
7
+ *.lo
8
+ *.o
9
+ *.obj
10
+
11
+ # Precompiled Headers
12
+ *.gch
13
+ *.pch
14
+
15
+ # Compiled Dynamic libraries
16
+ *.so
17
+ *.dylib
18
+ *.dll
19
+
20
+ # Fortran module files
21
+ *.mod
22
+ *.smod
23
+
24
+ # Compiled Static libraries
25
+ *.lai
26
+ *.la
27
+ *.a
28
+ *.lib
29
+
30
+ # Executables
31
+ *.exe
32
+ *.out
33
+ *.app
34
+
35
+ ### Example user template template
36
+ ### Example user template
37
+
38
+ # IntelliJ project files
39
+ .idea
40
+ *.iml
41
+ out
42
+ gen
@@ -0,0 +1,49 @@
1
+ cmake_minimum_required(VERSION 3.19)
2
+
3
+ project(RTModel LANGUAGES CXX)
4
+
5
+ set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
7
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
8
+ set(MINIMUM_GCC_VERSION "9.0")
9
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS MINIMUM_GCC_VERSION)
10
+ message(FATAL_ERROR "GCC must be ${MINIMUM_GCC_VERSION} or greater.")
11
+ endif()
12
+ endif()
13
+
14
+ # Build executables
15
+ # =================
16
+
17
+ add_executable(Reader RTModel/lib/Reader.cpp)
18
+ target_include_directories(Reader PRIVATE RTModel/include)
19
+
20
+ add_executable(InitCond RTModel/lib/InitCond.cpp)
21
+ target_include_directories(InitCond PRIVATE RTModel/include)
22
+
23
+ add_executable(LevMar RTModel/lib/bumper.cpp RTModel/lib/LevMar.cpp RTModel/lib/LevMarFit.cpp
24
+ RTModel/lib/VBMicrolensingLibrary.cpp)
25
+ target_include_directories(LevMar PRIVATE RTModel/include)
26
+
27
+ add_executable(ModelSelector RTModel/lib/bumper.cpp RTModel/lib/ModelSelector.cpp)
28
+ target_include_directories(ModelSelector PRIVATE RTModel/include)
29
+
30
+ add_executable(Finalizer RTModel/lib/bumper.cpp RTModel/lib/Finalizer.cpp)
31
+ target_include_directories(Finalizer PRIVATE RTModel/include)
32
+
33
+ # Install executables
34
+ # ===================
35
+
36
+ if(SKBUILD) # Only run if called through scikit-build-core. That is, don't run when called through CMake directly.
37
+ set(binary_directory "${SKBUILD_PLATLIB_DIR}/RTModel/bin")
38
+
39
+ install(TARGETS Reader DESTINATION ${binary_directory})
40
+ install(TARGETS InitCond DESTINATION ${binary_directory})
41
+ install(TARGETS LevMar DESTINATION ${binary_directory})
42
+ install(TARGETS ModelSelector DESTINATION ${binary_directory})
43
+ install(TARGETS Finalizer DESTINATION ${binary_directory})
44
+
45
+ # Ensure data files are present in platlib.
46
+ add_custom_command(TARGET Reader POST_BUILD
47
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
48
+ "${CMAKE_CURRENT_LIST_DIR}/RTModel/data" "${SKBUILD_PLATLIB_DIR}/RTModel/data")
49
+ endif()
@@ -1,7 +1,8 @@
1
- GNU LESSER GENERAL PUBLIC LICENSE
1
+ GNU LESSER GENERAL PUBLIC LICENSE
2
+
2
3
  Version 3, 29 June 2007
3
4
 
4
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
5
6
  Everyone is permitted to copy and distribute verbatim copies
6
7
  of this license document, but changing it is not allowed.
7
8
 
@@ -1,6 +1,5 @@
1
- include RTModel/bin/Reader.exe
2
1
  graft RTModel/data
3
2
  graft RTModel/lib
4
3
  graft RTModel/include
5
4
  graft RTModel/bin
6
- global-exclude RTModel/lib/*.o*
5
+ global-exclude RTModel/lib/*.o*
@@ -1,61 +1,78 @@
1
- Metadata-Version: 2.1
2
- Name: RTModel
3
- Version: 2.0
4
- Summary: RTModel is a tool for microlensing event interpretation.
5
- Author-email: Valerio Bozza <valboz@sa.infn.it>
6
- License: GPL-3.0
7
- Project-URL: Homepage, https://github.com/valboz/RTModel
8
- Keywords: Microlensing analysis and fitting
9
- Classifier: Development Status :: 1 - Planning
10
- Classifier: Intended Audience :: Science/Research
11
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
12
- Classifier: Programming Language :: Python :: 3
13
- Requires-Python: <4,>=3.6
14
- Description-Content-Type: text/markdown
15
- License-File: LICENSE
16
- Requires-Dist: numpy
17
- Requires-Dist: pytest
18
- Requires-Dist: matplotlib
19
- Requires-Dist: tqdm
20
- Requires-Dist: VBBinaryLensing>=3.7.0
21
-
22
- # RTModel
23
- `RTModel` is a package for modeling and interpretation of microlensing events. It uses photometric time series collected from ground and/or space telescopes to propose one or more possible models among the following:
24
- - Single-lens-single-source microlensing (i.e. Paczynski)
25
- - Single-lens-binary-source microlensing (with or without xallarap)
26
- - Binary-lens-single-source microlensing (including planetary microlensing, parallax and orbital motion)
27
-
28
- All models include the finite-size of the source(s).
29
-
30
- The modeling strategy is based on a grid search in the parameter space for single-lens models, whereas a **template library** for binary-lens models is used including all possible geometries of the source trajectory with respect to the caustics. In addition to this global search, planets are searched where maximal deviations from a Paczynski model occurs.
31
-
32
- The library is in the form of a standard Python package that launches specific subprocesses for different tasks. Model fitting is executed in **parallel** exploiting available processors in the machine. The full modeling may take from one to three hours depending on the event and on the machine speed. The results of modeling are given in the form of a text **assessment file**; in addition, **final models** are made available with their parameters and covariance matrices.
33
-
34
- `RTModel` also includes a subpackage **`RTModel.plotmodel`** that allows an immediate visualization of models and the possibility to review each individual fitting process as an animated gif.
35
-
36
- ## Attribution
37
-
38
- A paper is in preparation describing all algorithms behind RTModel in detail.
39
- At the moment, any use of this code for scientific publications should be acknowledged by citing this GitHub repository.
40
-
41
- ## Installation
42
-
43
- The easiest way to install `RTModel` is through `pip`
44
- ```
45
- pip install RTModel
46
- ```
47
-
48
- Currently, `RTModel` works on Linux and Windows, requiring Python >= 3.6.
49
- A C++ compiler compatible with C++17 standard is needed for installation.
50
- `RTModel` also incorporates version 3.7 of [`VBBinaryLensing`](https://github.com/valboz/VBBinaryLensing).
51
-
52
- Example Jupyter notebooks will be included in `examples/`.
53
-
54
- ## Documentation
55
- Provisional [documentation for the use of RTModel](docs/README.md) is available and under development.
56
-
57
- ## License
58
- `RTModel` is freely available to the community under the
59
- GNU Lesser General Public License Version 3 included in this repository.
60
-
61
-
1
+ Metadata-Version: 2.1
2
+ Name: RTModel
3
+ Version: 2.2
4
+ Summary: RTModel is a tool for microlensing event interpretation.
5
+ Keywords: Microlensing analysis and fitting
6
+ Author-Email: Valerio Bozza <valboz@sa.infn.it>
7
+ License: GPL-3.0
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
11
+ Classifier: Programming Language :: Python :: 3
12
+ Project-URL: Homepage, https://github.com/valboz/RTModel
13
+ Requires-Python: <4,>=3.6
14
+ Requires-Dist: numpy
15
+ Requires-Dist: pytest
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: tqdm
18
+ Requires-Dist: VBMicrolensing>=4.1.0
19
+ Description-Content-Type: text/markdown
20
+
21
+ # RTModel
22
+ `RTModel` is a package for modeling and interpretation of microlensing events. It uses photometric time series collected from ground and/or space telescopes to propose one or more possible models among the following:
23
+ - Single-lens-single-source microlensing (i.e. Paczynski)
24
+ - Single-lens-binary-source microlensing (with or without xallarap)
25
+ - Binary-lens-single-source microlensing (including planetary microlensing, parallax and orbital motion)
26
+
27
+ All models include the finite-size of the source(s).
28
+
29
+ The modeling strategy is based on a grid search in the parameter space for single-lens models, whereas a **template library** for binary-lens models is used including all possible geometries of the source trajectory with respect to the caustics. In addition to this global search, planets are searched where maximal deviations from a Paczynski model occurs.
30
+
31
+ The library is in the form of a standard Python package that launches specific subprocesses for different tasks. Model fitting is executed in **parallel** exploiting available processors in the machine. The full modeling may take from one to three hours depending on the event and on the machine speed. The results of modeling are given in the form of a text **assessment file**; in addition, **final models** are made available with their parameters and covariance matrices.
32
+
33
+ `RTModel` also includes a subpackage **`RTModel.plotmodel`** that allows an immediate visualization of models and the possibility to review each individual fitting process as an animated gif.
34
+
35
+ A second subpackage **`RTModel.templates`** helps the user in the visualization and customization of the template library.
36
+
37
+ ## Attribution
38
+
39
+ `RTModel` has been created by Valerio Bozza (University of Salerno) as a product of many years of direct experience on microlensing modeling (see [RTModel webpage](http://www.fisica.unisa.it/GravitationAstrophysics/RTModel.htm)).
40
+
41
+ Any scientific use of `RTModel` should be acknowledged by citing the paper [V.Bozza, A&A 688 (2024) 83](https://ui.adsabs.harvard.edu/abs/2024A%26A...688A..83B/abstract), describing all the algorithms behind the code.
42
+
43
+ We are grateful to Greg Olmschenk, who revised the package installation in order to make it as cross-platform as possible.
44
+
45
+ ## Installation
46
+
47
+ The easiest way to install `RTModel` is through `pip`.
48
+
49
+ First clone this repository.
50
+
51
+ Then go to the repository directory and type
52
+
53
+ ```
54
+ pip install .
55
+ ```
56
+
57
+ In alternative, you may directly install it from PyPI without cloning this repository:
58
+
59
+ ```
60
+ pip install RTModel
61
+ ```
62
+
63
+ Currently, `RTModel` works on Linux, Windows and MacOS, requiring Python >= 3.6.
64
+ A C++ compiler compatible with C++17 standard is needed for installation.
65
+ `RTModel` also incorporates version 4.1 of [`VBMicrolensing`](https://github.com/valboz/VBMicrolensing). You are encouraged to cite the relevant papers listed in that repository as well.
66
+
67
+ ## Documentation
68
+ Full [documentation for the use of RTModel](docs/README.md) is available.
69
+
70
+ In the directory [events](events) we provide some microlensing data on which you may practise with `RTModel`.
71
+
72
+ A Jupyter notebook for quick start-up is also available in the [jupyter](jupyter) folder.
73
+
74
+ ## License
75
+ `RTModel` is freely available to the community under the
76
+ GNU Lesser General Public License Version 3 included in this repository.
77
+
78
+
@@ -1,61 +1,58 @@
1
- Metadata-Version: 2.1
2
- Name: RTModel
3
- Version: 2.0
4
- Summary: RTModel is a tool for microlensing event interpretation.
5
- Author-email: Valerio Bozza <valboz@sa.infn.it>
6
- License: GPL-3.0
7
- Project-URL: Homepage, https://github.com/valboz/RTModel
8
- Keywords: Microlensing analysis and fitting
9
- Classifier: Development Status :: 1 - Planning
10
- Classifier: Intended Audience :: Science/Research
11
- Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
12
- Classifier: Programming Language :: Python :: 3
13
- Requires-Python: <4,>=3.6
14
- Description-Content-Type: text/markdown
15
- License-File: LICENSE
16
- Requires-Dist: numpy
17
- Requires-Dist: pytest
18
- Requires-Dist: matplotlib
19
- Requires-Dist: tqdm
20
- Requires-Dist: VBBinaryLensing>=3.7.0
21
-
22
- # RTModel
23
- `RTModel` is a package for modeling and interpretation of microlensing events. It uses photometric time series collected from ground and/or space telescopes to propose one or more possible models among the following:
24
- - Single-lens-single-source microlensing (i.e. Paczynski)
25
- - Single-lens-binary-source microlensing (with or without xallarap)
26
- - Binary-lens-single-source microlensing (including planetary microlensing, parallax and orbital motion)
27
-
28
- All models include the finite-size of the source(s).
29
-
30
- The modeling strategy is based on a grid search in the parameter space for single-lens models, whereas a **template library** for binary-lens models is used including all possible geometries of the source trajectory with respect to the caustics. In addition to this global search, planets are searched where maximal deviations from a Paczynski model occurs.
31
-
32
- The library is in the form of a standard Python package that launches specific subprocesses for different tasks. Model fitting is executed in **parallel** exploiting available processors in the machine. The full modeling may take from one to three hours depending on the event and on the machine speed. The results of modeling are given in the form of a text **assessment file**; in addition, **final models** are made available with their parameters and covariance matrices.
33
-
34
- `RTModel` also includes a subpackage **`RTModel.plotmodel`** that allows an immediate visualization of models and the possibility to review each individual fitting process as an animated gif.
35
-
36
- ## Attribution
37
-
38
- A paper is in preparation describing all algorithms behind RTModel in detail.
39
- At the moment, any use of this code for scientific publications should be acknowledged by citing this GitHub repository.
40
-
41
- ## Installation
42
-
43
- The easiest way to install `RTModel` is through `pip`
44
- ```
45
- pip install RTModel
46
- ```
47
-
48
- Currently, `RTModel` works on Linux and Windows, requiring Python >= 3.6.
49
- A C++ compiler compatible with C++17 standard is needed for installation.
50
- `RTModel` also incorporates version 3.7 of [`VBBinaryLensing`](https://github.com/valboz/VBBinaryLensing).
51
-
52
- Example Jupyter notebooks will be included in `examples/`.
53
-
54
- ## Documentation
55
- Provisional [documentation for the use of RTModel](docs/README.md) is available and under development.
56
-
57
- ## License
58
- `RTModel` is freely available to the community under the
59
- GNU Lesser General Public License Version 3 included in this repository.
60
-
61
-
1
+ # RTModel
2
+ `RTModel` is a package for modeling and interpretation of microlensing events. It uses photometric time series collected from ground and/or space telescopes to propose one or more possible models among the following:
3
+ - Single-lens-single-source microlensing (i.e. Paczynski)
4
+ - Single-lens-binary-source microlensing (with or without xallarap)
5
+ - Binary-lens-single-source microlensing (including planetary microlensing, parallax and orbital motion)
6
+
7
+ All models include the finite-size of the source(s).
8
+
9
+ The modeling strategy is based on a grid search in the parameter space for single-lens models, whereas a **template library** for binary-lens models is used including all possible geometries of the source trajectory with respect to the caustics. In addition to this global search, planets are searched where maximal deviations from a Paczynski model occurs.
10
+
11
+ The library is in the form of a standard Python package that launches specific subprocesses for different tasks. Model fitting is executed in **parallel** exploiting available processors in the machine. The full modeling may take from one to three hours depending on the event and on the machine speed. The results of modeling are given in the form of a text **assessment file**; in addition, **final models** are made available with their parameters and covariance matrices.
12
+
13
+ `RTModel` also includes a subpackage **`RTModel.plotmodel`** that allows an immediate visualization of models and the possibility to review each individual fitting process as an animated gif.
14
+
15
+ A second subpackage **`RTModel.templates`** helps the user in the visualization and customization of the template library.
16
+
17
+ ## Attribution
18
+
19
+ `RTModel` has been created by Valerio Bozza (University of Salerno) as a product of many years of direct experience on microlensing modeling (see [RTModel webpage](http://www.fisica.unisa.it/GravitationAstrophysics/RTModel.htm)).
20
+
21
+ Any scientific use of `RTModel` should be acknowledged by citing the paper [V.Bozza, A&A 688 (2024) 83](https://ui.adsabs.harvard.edu/abs/2024A%26A...688A..83B/abstract), describing all the algorithms behind the code.
22
+
23
+ We are grateful to Greg Olmschenk, who revised the package installation in order to make it as cross-platform as possible.
24
+
25
+ ## Installation
26
+
27
+ The easiest way to install `RTModel` is through `pip`.
28
+
29
+ First clone this repository.
30
+
31
+ Then go to the repository directory and type
32
+
33
+ ```
34
+ pip install .
35
+ ```
36
+
37
+ In alternative, you may directly install it from PyPI without cloning this repository:
38
+
39
+ ```
40
+ pip install RTModel
41
+ ```
42
+
43
+ Currently, `RTModel` works on Linux, Windows and MacOS, requiring Python >= 3.6.
44
+ A C++ compiler compatible with C++17 standard is needed for installation.
45
+ `RTModel` also incorporates version 4.1 of [`VBMicrolensing`](https://github.com/valboz/VBMicrolensing). You are encouraged to cite the relevant papers listed in that repository as well.
46
+
47
+ ## Documentation
48
+ Full [documentation for the use of RTModel](docs/README.md) is available.
49
+
50
+ In the directory [events](events) we provide some microlensing data on which you may practise with `RTModel`.
51
+
52
+ A Jupyter notebook for quick start-up is also available in the [jupyter](jupyter) folder.
53
+
54
+ ## License
55
+ `RTModel` is freely available to the community under the
56
+ GNU Lesser General Public License Version 3 included in this repository.
57
+
58
+