Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

finesse-ligo-1.0.15.tar.gz (420.1 kB view details)

Uploaded Source

Built Distribution

finesse_ligo-1.0.15-py3-none-any.whl (415.3 kB view details)

Uploaded Python 3

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

Hashes for finesse-ligo-1.0.15.tar.gz
Algorithm Hash digest
SHA256 75dd44f4022c727b49b6e3ae2882906a47571f66b14c8ba8f4a9b8105c4f72c4
MD5 3449298bd67b888cae842efde94e78d1
BLAKE2b-256 fd4d3cf84f7ab1e50f59802b62ecaa2c308c341b32eaa5747fd25e820d06e15a

See more details on using hashes here.

File details

Details for the file finesse_ligo-1.0.15-py3-none-any.whl.

File metadata

File hashes

Hashes for finesse_ligo-1.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 94ca29acaaf68527264e19791d3ce359c8c8248c6bb8bb9366f2129c555e14b6
MD5 0a89ed57e43275308d5997fc000131b1
BLAKE2b-256 a07e479b8240b1f494d259b7a83b755e724740b37f4b2f32ef5e980e5b733514

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page