gwoptics companion package
Things to implement in gwoptics (imported from finesse3#283):
-
Put LIGO-specific components into gwoptics
(recreating setup files and tools that used to be in Pykat) -
Move map handling code from Pykat (Antonella) -
(probably maps/FFT/others need the beam parameter utilities moved as well) -
Move pdtype generation code from Pykat -
Move FFT code from Pykat -
Move ROMHOM code from Pykat -
Move Hello-Vinet code from Pykat -
Move knm gneration code from Pykat (Mischa) -
Add cavity utilities (some from pykat) -
Move the (not finished) Finesse optimisation toolkit? (see !31) -
Algorithms like T2000286
Perhaps there could be a gwoptics
CLI as well:
-
gwoptics init
: create a copy of the current reference LIGO/Virgo/etc. file using the latest version -
An interactive step-by-step wizard for constructing a file: choose a laser wavelength, choose a layout (Fabry-Perot, simple Michelson, DRFPMI, etc.), choose a parameter to sweep. -
gwoptics update
: check for updates -
gwoptics issue
: open issue tracker in default browser -
Plot TEM modes (see example in #289) -
Run kat file on the LIGO cluster -
Upload script and plot outputs to ifosim.org (via the WordPress REST API, using application passwords)
Structure
Since we might add things that aren't just for Finesse, e.g. general optics tools, perhaps we should put the Finesse stuff in a gwoptics.finesse
subpackage.
Registering components in the kat parser
This needs some thought. How does the gwoptics
package add support for its components to the kat3 parser? This could be automatic upon import, or via the Finesse configuration file, or some other way. Doing this via configuration seems nicer for the end user to me, since importing Python libraries via kat script (e.g. some use "gwoptics"
directive that under the hood does import gwoptics
) seems a bit too magic.
Distribution
See discussion on finesse3#283.