Tools for modelling LIGO in Finesse 3.0
Project description
finesse-ligo
Finesse 3.0 LIGO models, tools, and data. This package is an optional extra to the finesse
package which must be installed to use this package.
Installation
If you just want to use the tools and models provided you can use: pip install finesse-ligo
finesse-ligo
also uses a variety of datasets for its models, such as finite element model results or optical surface metrology data. These are not included in the pypi package as some of the datasets can be large (>GB) and may not be needed by everyone. These can be installed via python using the finesse_ligo.download
method. Or they can be downloaded via a commandline interface finesse_ligo download [datasetname]
.
The location in which datasets are stored is set by the main package finesse
, in its user configuration usr.ini
file. The location of which can be found a variety of ways, for example via a terminal with Finesse installed:
$ kat3 config --paths
Configuration paths (1 = highest priority; ✓ = found, ✗ = not found):
✗ 1: /Users/user/git/finesse3/finesse.ini
✓ 2: /Users/user/.config/finesse/usr.ini
Or using the python interface:
import finesse
finesse.config.config_instance().user_config_path()
The current data directory being used can be found with:
finesse.config.config_instance()['finesse.data']['path']
Usage and Contributing
This package includes top-level tools and models for simulating LIGO in Finesse 3. Individal simulations that you perform should be stored elsewhere, such as the finesse_playground
reposistory. Your scripts should just import this package.
If you want to contribute any changes or code to this project then it must be done via a merge request. Merge requests must pass all tests before being merged.
The pipeline will fail if pre-commit
has not been run. After cloning the git repository please run pip install pre-commit; pre-commit install
. This will ensure that formating and simple code errorrs are fixed using black
and flake8
.
Documentation for functions should be in the numpydoc format: https://numpydoc.readthedocs.io/en/latest/format.html
Adding new katscript
New KatScript elements and commands must be registered with the FINESSE
parser. This is done in the top level __init__.py
which registers each of the objects required.
Adding new datafiles
New datafiles can be added to the repository in the tools.py
file. In which is a DATAFILES
and CHECKSUM
dictionary with the relevant URL to download the file from. The checksum is the MD5 value for the file to ensure it hasn't been corrupted during the download.
Datasets can be stored in git repositories that have public access. However, datasets tend to be large binary files which are not well suited to being stored in git repositories. In such cases we recommend Zenodo (https://www.zenodo.org), an open source, open data platform for sharing data and research.
Support
Please post an issue if you are experiencing any bugs, problems, or feature requests. https://chat.ligo.org/ligo/channels/finesse
can also be used for broader discussion on Finesse and modelling LIGO with it.
License
All code here is distributed under GPL v3.
Packaging
The finesse-ligo
is automatically uploaded to pypi when new tags are pushed to main
. Tags must be annotated and be in the semantic versioning form MAJOR.MINOR.PATCH
:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
Only maintainers can push tags to the main branch.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file finesse-ligo-1.0.15.tar.gz
.
File metadata
- Download URL: finesse-ligo-1.0.15.tar.gz
- Upload date:
- Size: 420.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75dd44f4022c727b49b6e3ae2882906a47571f66b14c8ba8f4a9b8105c4f72c4 |
|
MD5 | 3449298bd67b888cae842efde94e78d1 |
|
BLAKE2b-256 | fd4d3cf84f7ab1e50f59802b62ecaa2c308c341b32eaa5747fd25e820d06e15a |
File details
Details for the file finesse_ligo-1.0.15-py3-none-any.whl
.
File metadata
- Download URL: finesse_ligo-1.0.15-py3-none-any.whl
- Upload date:
- Size: 415.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94ca29acaaf68527264e19791d3ce359c8c8248c6bb8bb9366f2129c555e14b6 |
|
MD5 | 0a89ed57e43275308d5997fc000131b1 |
|
BLAKE2b-256 | a07e479b8240b1f494d259b7a83b755e724740b37f4b2f32ef5e980e5b733514 |