Skip to content
Snippets Groups Projects
Yori Fournier's avatar
Yori Fournier authored
BUGFiX:

See merge request !11
3936d717
History
Name Last commit Last update
src/titvs
test
README
TODO
TITVS - A visualization tool for NIRVANA
----------------------------------------


About
-----
TITVS is a python based tool to watch the current state of a simulation
running on a local (or remote) unix/linux machine. It uses matplotlib to plot global
conservation quantities and numerical / grid benchmarking values.


Authors
-------

* Main developpers

  - Yori Fournier (agy@univers-libre.net)
  - Philipp Gast (Philipp.Gast@aip.de)


* Ideas and critics

  - Udo Ziegler

* Advanced Widgets

  - TextCtrlAutoComplete: http://www.wiki.wxpython.org/TextCtrlAutoComplete

Features
--------
The basic features are:
- graphical output of current status
- live modification of the displayed Plots
- easily adaptable to further needs


Requirements
------------
The following libs have to be present:
- python 2.7
- matplotlib (with wxAGG interface)
- wxPython (2.8 & 2.9 are tested)


Installation
------------
Installing is done by adding TTITVS to you PHYTHONPATH environment:

   $ export PYTHONPATH=/path/to/TITVS/src:$PYTHONPATH

or adding a symbolink link in your <python module> directory that 
points at /path/to/TITVS/src

   $ cd /path/to/<python modules>
   $ ln -s /path/to/TITVS/src titvs



Testing the Installation
------------------------
you can test your intalation by:

1. Testing myPlotLib

   $ cd /path/to/TITVS/src/titvs/tvsPlots/
   $ python2.7 -m myPlotLib -t

Should execute a series of tests and return True


2. Testing tvsPlots

   $ cd /path/to/TITVS/src/titvs/
   $ python2.7 -m tvsPlots -t

Should execute a series of tests and return True


3. Testing titvs

   $ cd /path/to/TITVS/src
   $ python2.7 titvs -t

Should execute a series of tests and return True



Remark for live monitoring
--------------------------
If automatic updating of remote files is requested the ssh conection 
has to be passwordless. See ssh and key-gen manuals for more details. 

This can be achieved like:

0. Create a public rsa id key:

   [user@local] $ ssh-keygen -t rsa
   
   beware of already existing keys which may be overwriten! If you 
   already have an identity (and want to use it for this connection) 
   you want to skip this step.


1. Copy the public key of your default identity (use -i identity_file for other identities) to the remote host. 

   [user@local] $ ssh-copy-id user@hostname.example.com

   (((
   This is equivalent to:
   [user@local] $ cat .ssh/id_rsa.pub | ssh user@remote 'cat >> ~/.ssh/authorized_keys'
   
   If you want to use this variant you may need to create the remote directory (first) 
   and set the correct permissions (later).

   [user@local] $ ssh user@remote ' chmod 770 .ssh; chmod 640 .ssh/authorized_keys'
   )))

2. create/edit the local file "~/.ssh/config" to contain the servers 
   which are stored in the "SERVERS" list in the file "TITVS/src/__init__.py"
   (see "$ man ssh_config" for details)
   
   an example may look like this:
   
   """
   Host newton
       Hostname 141.33.4.141
       IdentityFile ~/.ssh/id_rsa_newton
       User your_username
   """

3. Enjoy passwordless connection!



Usage
-----
Run on a console:

   $ python2.7 titvs

There a few command line options. See the output of

   $ python2.7 titvs --help

for details.


License
-------
TITVS is distributed under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version. A copy of this license
can be found in the file COPYING included with the source code of this
program.


Ideas, questions, patches and bug reports
-----------------------------------------
If you add something, or fix a bug, please send a patch (in 'diff -u'
format) to one of the authors.