Commit c3a7b37a authored by Andreas Freise's avatar Andreas Freise

changing script for building binaries for web development, started to update install instructions

parent 85086cec
------------------------------------------------------------------------
FINESSE 2.1
FINESSE 2.3
o_.-=.
(\'".\| Frequency domain INterferomEter Simulation SoftwarE
.>' (_--.
_=/d ,^\ 05.11.2014 http://www.gwoptics.org/finesse/
_=/d ,^\ 16.12.2019 http://www.gwoptics.org/finesse/
~~ \)-' '
/ | INSTALL
' '
......@@ -30,9 +30,9 @@ This is a short guide for installing and running FINESSE. Please see
`Finesse-2.0.pdf' (or later) for the manual and `CHANGES' for the
latest additions (also at http://www.gwoptics.org/finesse/changes).
If you have any problems, suggestions or advice, please don't hesitate
to post it at the Finesse forums http://www.gwoptics.org/finesse/forums.
to get in touch.
FINESSE is a interferometer simulation program written in C. It
FINESSE is an interferometer simulation program written in C. It
calculates light amplitudes in a user specified interferometer
configuration. It can generate output signals for various photo
detector types. All calculations are done in the frequency domain
......@@ -63,7 +63,7 @@ is calculated. The program writes several text files:
a file with '.py' for plotting with Python
- similarly a file with extension `.m' is a Matlab script file
- in addition all screen output is stored in a logfile
(extension `.out').
(extension `.log').
By default Gnuplot is then started to plot the data.
FINESSE uses Gnuplot to generate plots of the calculated data. Gnuplot
......@@ -78,15 +78,29 @@ ________________________________________________________________________
2. Installation
There are binaries available for several operating systems. After
downloading the appropriate package for your operating system from
http://www.gwoptics.org/finesse/ you can install FINESSE simply
by unpacking the zip (or tar.gz) file. This will create a directory
`Finesse2.1' with all the necessary files.
Installation using Conda:
We generally recommend to install FINESSE and PYKAT (a Python wrapper
for Finesse) together via the Conda package manager as described in
http://www.gwoptics.org/finesse/install
PYKAT allows the easy use of FINESSE from a Jupyter notebook. Our
Conda packages provide a simple installtion procedure to install
all required packages in one go.
Manual installation:
If you prefer to install FINESSE by hand, you can do this without
the need for any package manager or Python. There are binaries
available for several operating systems at:
http://www.gwoptics.org/finesse/.
After downloading the appropriate package for your operating system
you can install FINESSE simply by unpacking the zip (or tar.gz) file.
This will create a directory `Finesse' with all the necessary files.
( Alternatively you can build FINESSE directly from the source code.
To find more about this, please visit
http://kvasir.sr.bham.ac.uk/redmine/projects/finesse )
To find more about this, please visit:
http://www.gwoptics.org/finesse/#source )
In addition you can download a small collection of simple example files.
These examples should run on any system but probably you won't get any
......@@ -120,10 +134,10 @@ Unix/OS X:
Windows:
Firstly you must move the FINESSE folder to a location on
your computer where you want to store it. Becareful putting it in a
system wide directory such as 'Program Files' as you will require
adminstrator rights to write to such a location. Once move to the
desired location you should double click the
your computer where you want to store it. Be careful if putting it
in a system wide directory such as 'Program Files' as you will
require adminstrator rights to write to such a location. Once move
to the desired location you should double click the
`install.bat` file. Running this will bring up a command window
to update your PATH variables. After this has been run you must
NOT move this Finesse folder, as the system PATH variable has been
......@@ -348,15 +362,15 @@ ________________________________________________________________________
5. Further development
With Finesse 2.0 we have completed the implementation of radiation
With FINESSE 2.0 we have completed the implementation of radiation
pressure effects and have further achieved a full implementation
of quantum noise in the two-photon formalism.
In the near future we will continue to use and test these new
features for the commissioning of Acvanced LIGO. At the same
time we will continue to improve and develop the code. One
focus of our activity will be speed improvements, another the
development and integration of PyKat (www.gwoptics.org/pykat/).
We are currently developing FINESSE 3.0, a complete rewrite of the
software in Python, combining the best practises from FINESSE and
PYKAT in one modern package. This will allow us to implement new
features faster and it will make it easier to collaborate with more
developpers in the community.
________________________________________________________________________
......@@ -381,13 +395,8 @@ for the publication of FINESSE as open source. Charlotte Bond has
carefully tested the new code and provided tutorials, examples and
documentation.
Parts of the original FINESSE source and `mkat' have been written by
Gerhard Heinzel, the document `sidebands.ps' by Keita Kawabe, the
Octave examples and its description by Gabriele Vajente, part of the
FINESSE source have been written by Paul Cochrane.
The software and documentation is provided as is without any warranty
of any kind. Copyright (c) by Andreas Freise 1999 - 2014.
of any kind. Copyright (c) by Andreas Freise 1999 - 2020.
The source code for FINESSE is available as open source under the GNU
General Public License version 3 as published by the Free Software
......
......@@ -7,26 +7,26 @@ binaries:
https://anaconda.org/gwoptics/finesse/files
""")
conda_win32 = "https://anaconda.org/gwoptics/finesse/2.2/download/win-32/finesse-2.2-hf88ea13_11.tar.bz2"
conda_win64 = "https://anaconda.org/gwoptics/finesse/2.2/download/win-64/finesse-2.2-h995273b_11.tar.bz2"
conda_linux32 = "https://anaconda.org/gwoptics/finesse/2.2/download/linux-32/finesse-2.2-h69580f5_11.tar.bz2"
conda_linux64 = "https://anaconda.org/gwoptics/finesse/2.2/download/linux-64/finesse-2.2-hd0a936e_11.tar.bz2"
conda_osx64 = "https://anaconda.org/gwoptics/finesse/2.2/download/osx-64/finesse-2.2-h4005e35_11.tar.bz2"
#conda_win32 = "https://anaconda.org/gwoptics/finesse/2.2/download/win-32/finesse-2.2-hf88ea13_11.tar.bz2"
conda_win64 = "https://anaconda.org/gwoptics/finesse/2.3.1/download/win-64/finesse-2.3.1-6.tar.bz2"
#conda_linux32 = "https://anaconda.org/gwoptics/finesse/2.2/download/linux-32/finesse-2.2-h69580f5_11.tar.bz2"
conda_linux64 = "https://anaconda.org/gwoptics/finesse/2.3.1/download/linux-64/finesse-2.3.1-2.tar.bz2"
conda_osx64 = "https://anaconda.org/gwoptics/finesse/2.3.1/download/osx-64/finesse-2.3.1-2.tar.bz2"
version = "2.2"
version = "2.3.1"
conda_pkgs = [
conda_win32,
#conda_win32,
conda_win64,
conda_linux32,
#conda_linux32,
conda_linux64,
conda_osx64
]
output_pkgs = [
"kat-" +version + "-win_32bit",
#"kat-" +version + "-win_32bit",
"kat-" +version + "-win_64bit",
"kat-" +version + "-linux_32bit",
#"kat-" +version + "-linux_32bit",
"kat-" +version + "-linux_64bit",
"kat-" +version + "-osx_64bit"
]
......@@ -34,17 +34,18 @@ output_pkgs = [
for _ in conda_pkgs:
assert(version in _)
assert("win-32" in conda_win32)
#assert("win-32" in conda_win32)
assert("win-64" in conda_win64)
assert("linux-32" in conda_linux32)
#assert("linux-32" in conda_linux32)
assert("linux-64" in conda_linux64)
assert("osx-64" in conda_osx64)
import tempfile
import tarfile
import shutil
import urllib.request
import os
import requests
outputdir = os.getcwd()
......@@ -52,8 +53,12 @@ for pkg, out in zip(conda_pkgs, output_pkgs):
tmpdir = tempfile.TemporaryDirectory()
print("Creating", pkg, ", output at", out)
os.chdir(tmpdir.name)
urllib.request.urlretrieve(pkg, 'pkg.tar.bz2')
os.makedirs('Finesse')
#print(f"tempdir: {tmpdir.name}")
#print(f"Retrieving {pkg}")
r = requests.get(pkg)
with open('pkg.tar.bz2', 'wb') as outfile:
outfile.write(r.content)
tar = tarfile.open('pkg.tar.bz2', "r:bz2")
......@@ -61,23 +66,23 @@ for pkg, out in zip(conda_pkgs, output_pkgs):
if _.isfile() and 'bin' in _.name:
tar.extract(_, tmpdir.name)
path, f = os.path.split(_.name)
shutil.move(_.name, f)
shutil.move(_.name, os.path.join("Finesse/",f))
os.removedirs (path)
shutil.copyfile(os.path.join(outputdir, "CHANGES"), os.path.join(tmpdir.name,"CHANGES"))
shutil.copyfile(os.path.join(outputdir, "INSTALL"), os.path.join(tmpdir.name,"INSTALL"))
shutil.copyfile(os.path.join(outputdir, "README.md"), os.path.join(tmpdir.name,"README.md"))
shutil.copyfile(os.path.join(outputdir, "LICENSES"), os.path.join(tmpdir.name,"LICENSES"))
shutil.copyfile(os.path.join(outputdir, "test.kat"), os.path.join(tmpdir.name,"test.kat"))
shutil.copyfile(os.path.join(outputdir, "test_plot.kat"), os.path.join(tmpdir.name,"test_plot.kat"))
shutil.copyfile(os.path.join(outputdir, "CHANGES"), os.path.join(tmpdir.name,"Finesse/CHANGES"))
shutil.copyfile(os.path.join(outputdir, "INSTALL"), os.path.join(tmpdir.name,"Finesse/INSTALL"))
shutil.copyfile(os.path.join(outputdir, "README.md"), os.path.join(tmpdir.name,"Finesse/README.md"))
shutil.copyfile(os.path.join(outputdir, "LICENSES"), os.path.join(tmpdir.name,"Finesse/LICENSES"))
shutil.copyfile(os.path.join(outputdir, "test.kat"), os.path.join(tmpdir.name,"Finesse/test.kat"))
shutil.copyfile(os.path.join(outputdir, "test_plot.kat"), os.path.join(tmpdir.name,"Finesse/test_plot.kat"))
if "win" in pkg:
shutil.copyfile(os.path.join(outputdir, "SetEnv.exe"), os.path.join(tmpdir.name, "SetEnv.exe"))
shutil.copyfile(os.path.join(outputdir, "findGnuplot.bat"), os.path.join(tmpdir.name, "findGnuplot.bat"))
shutil.copyfile(os.path.join(outputdir, "install.bat"), os.path.join(tmpdir.name, "install.bat"))
shutil.copyfile(os.path.join(outputdir, "SetEnv.exe"), os.path.join(tmpdir.name, "Finesse/SetEnv.exe"))
shutil.copyfile(os.path.join(outputdir, "findGnuplot.bat"), os.path.join(tmpdir.name, "Finesse/findGnuplot.bat"))
shutil.copyfile(os.path.join(outputdir, "install.bat"), os.path.join(tmpdir.name, "Finesse/install.bat"))
os.remove('pkg.tar.bz2')
shutil.make_archive(os.path.join(outputdir, out), "zip")
tmpdir.cleanup()
\ No newline at end of file
tmpdir.cleanup()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment