Index: /trunk/Ohana/doc/INSTALL
===================================================================
--- /trunk/Ohana/doc/INSTALL	(revision 2645)
+++ /trunk/Ohana/doc/INSTALL	(revision 2645)
@@ -0,0 +1,48 @@
+
+The Elixir system consists of two main software packages: Ohana (main
+developer Eugene Magnier) and Flips (main developer Jean-Charles
+Cuillandre).  The Elixir system combines these two packages, along
+with other external software products, into a complete system
+providing many utilities and functions for image processing at CFHT
+and elsewhere.  This document describes how to install the Ohana
+portion of the Elixir system.  Ohana may be installed from CVS or from
+a distributed tar ball.  Within the Elixir development community, the
+Ohana source tree may be checked out of the Elixir CVS tree.  Ohana is
+also distributed as a tar ball to users outside of the Elixir
+development community.
+
+Installing Ohana from source tar ball
+
+un-gzip and untar:  
+
+  > gunzip -c ohana.tgz | tar xvf -
+
+enter the ohana top-level directory:
+
+  > cd ohana
+
+construct the input Configure file [1]:
+
+  > configure
+
+this step will note the binary installation path.  This should be
+added to your PATH
+
+compile the software
+
+  > make
+
+install the software
+
+  > make install
+
+***** Notes *****
+
+[1] Ohana is configured for multiple architecture development, which
+is convenient for end users as well.  The libraries, include files,
+and programs, are all installed in directories with the architecture
+type appended: bin/linux, bin/sol, lib/linux, etc.  To take advantage
+of this multiple architecture organization when compiling, end users
+should arrange for the environment variable ARCH to be set based on
+the machine architecture, and for the PATH to depend on ARCH, rather
+than setting it to a fixed quantity.  
Index: unk/Ohana/doc/Todo
===================================================================
--- /trunk/Ohana/doc/Todo	(revision 2644)
+++ 	(revision )
@@ -1,21 +1,0 @@
-Things to do / fix in the ohana release
-
-1- error handling in FITS (fits_error_message)
-
-2- ohana PS overlay needs to be cleaned
-
-3- kii needs to handle ieee errors in the image without crshing
-
-4- check for kii errors if there is no image displayed
-
-5- loops in mana 
-
-6- better mana image math?  (parse expressions into RPN)
-
-7- mana logical image assignments
-
-8- mana: function to read a line from file into a variable
-
-9- variables from the image header
-
-10- more than 1 mana at a time
Index: unk/Ohana/doc/analysis.txt
===================================================================
--- /trunk/Ohana/doc/analysis.txt	(revision 2644)
+++ 	(revision )
@@ -1,25 +1,0 @@
-
-major analysis steps:
-
-bias, flat, dark:	images (*.f)
-check images
-doscript:		parameter files (*.par_in)
-dophot:			object lists (*.obj_out), misc files (*.par_out, *.dout, *.shd_out)
-striphead:		header files (*.head)
-astro
-rastro
-relphot
-lightcurve
-absphot
-
-
-1) bias, dark, flat, zero bad columns
-2) create a file containing all image names (*.f)
-3) dosetup files:  this will
-    1) strip the headers (*.head),
-    2) run mana and ask you to choose a star for every image 
-	  (a good time to check the quality of each image)
-    3) create a script to run dophot (dophot.script)
-4) dophot.script
-5) 
-
Index: unk/Ohana/doc/elixir-todo.txt
===================================================================
--- /trunk/Ohana/doc/elixir-todo.txt	(revision 2644)
+++ 	(revision )
@@ -1,26 +1,0 @@
-
-Cleaning the Ohana portion of Elixir:
-
-Goals: 
-  - enable CVS
-  - allow for tarball releases of ohana & subsets
-  - clean up the software configuration
-
-- identify external dependencies
-  * libpng
-  * libjpeg
-  * readline
-
-- move notes & documentation to a single location
-
-- fix the compile system for 'misc' to match the others
-
-- remove the links / save links in a tarball
-
-- compilation should be possible with just:
-
-  configure
-  make
-
-  do this by hand
-
Index: unk/Ohana/doc/linux.txt
===================================================================
--- /trunk/Ohana/doc/linux.txt	(revision 2644)
+++ 	(revision )
@@ -1,148 +1,0 @@
-From jht@ing.iac.es Mon Jul 21 03:58 PDT 1997
-Return-Path: <jht@ing.iac.es>
-Received: from ing.iac.es by pikake.astro.washington.edu
-	(8.6.12/UW-NDC Revision: 2.33 ) id DAA16312;
-	Mon, 21 Jul 1997 03:58:40 -0700
-Received: by ing.iac.es (4.1/1.0)
-	id AA20304; Mon, 21 Jul 97 11:58:27 BST
-Date: Mon, 21 Jul 1997 11:58:26 +0100 (BST)
-From: John Telting <jht@ing.iac.es>
-To: Eugene Magnier <gene@pikake.astro.washington.edu>
-Cc: Saskia Prins <stp@ing.iac.es>, John Telting <jht@ing.iac.es>
-Subject: Re: fits tools on linux
-In-Reply-To: <199706101748.KAA22094@pikake.astro.washington.edu>
-Message-Id: <Pine.SUN.3.91.970721114404.19653B-100000@vega.ing.iac.es>
-Mime-Version: 1.0
-Content-Type: TEXT/PLAIN; charset=US-ASCII
-Content-Length: 3744
-Status: O
-
-hi gene,
-
-HOWZIT?
-we saw lots of dreamcatchers on indian territory, but only few
-were 3D like the one you gave us.  Stunning views in and in between
-the national parks/monuments.  Great vacation behind us!!
-
-gdb is useful!
-apparently the linux C compiler reads the FITS bytes into the
-variables in the reverse order (NOT a byteswap!!).
-i only tested SIGNED bitpix=16,32,-32.
-for bitpix=8 there is a sign problem.
-
-we had a closer look at sas's linux mana version, and all data values
-are affected by the same problem. (So Sas cannot really use it conveniently.)
-
-below a hack in the 1D vector routine you made especially for my use
-when we both were in amsterdam.  I guess you can make use of my hacking.
-if/when you are going to do a port to linux, please let us know!!!
-
-See You!!
-John
-
-ps. the compiler gives warnings about the way i coded the pointers.
-dont know how to do it the way it likes it, sorry.
-
-----------------------------------------------------------------
-file: F_get_V_value.c
-----------------------------------------------------------------
-# include "fits.h"
-
-/***************** fits get matrix value *******************/
-double fits_get_vector_value (matrix, x) 
-Matrix *matrix; 
-int x;
-{
-
-  double value;
-  float float1, float2;
-  int pixel, int1, int2;
-  short short1, short2;
-  char yyy[3], zzz[3];
-
-  if ((x < 0) || (x >= matrix[0].Naxis[0])) {
-    fprintf (stderr, "%6d %d\n", x, matrix[0].Naxis[0]);
-    return (0.0);
-  }
-  pixel = x;
-  value = fmod (1.0,0.0);
-
-  if (pixel==0) {
-    fprintf(stderr,"\n\n!!  fits_get_vector_value  !!\n");
-    fprintf(stderr,"!!  USE THIS hack ONLY UNDER linux !!\n");
-    fprintf(stderr,"!!  DONT USE FOR bitpix=8  !!\n");
-    fprintf(stderr,"!!  DONT USE FOR bitpix=-64  !!\n");
-    fprintf(stderr,"!!  DONT USE FOR UNSIGNED TYPES  !!\n");
-  }
-
-  if (matrix[0].unsign) {
-    switch (matrix[0].bitpix) {
-    case 8:
-      value = *((unsigned char  *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR UNSIGNED TYPES  !!\n");
-      break;
-    case 16:
-      value = *((unsigned short *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR UNSIGNED TYPES  !!\n");
-      break;
-    case 32:
-      value = *((unsigned int   *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR UNSIGNED TYPES  !!\n");
-      break;
-    case -32:
-      value = *((float          *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR UNSIGNED TYPES  !!\n");
-      break;
-    case -64:
-      value = *((double         *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR UNSIGNED TYPES  !!\n");
-      break;
-    }
-  }
-  else {
-    switch (matrix[0].bitpix) {
-    case 8:
-      value = *((char  *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR bitpix=8  !!\n");
-      break;
-    case 16:
-      short1 = *((short *) matrix[0].buffer + pixel);
-      short2 = 0;
-      swab(&short1,&short2,2);
-      value = short2;
-      break;
-    case 32:
-      int1 = *((int   *) matrix[0].buffer + pixel);
-      int2 = 0;
-      bcopy(&int1,&zzz[0],4);
-      yyy[0] = zzz[3];
-      yyy[1] = zzz[2];
-      yyy[2] = zzz[1];
-      yyy[3] = zzz[0];
-      bcopy(&yyy[0],&int2,4);
-      value = int2;
-      break;
-    case -32:
-      float1 = *((float          *) matrix[0].buffer + pixel);
-      float2 = 0;
-      bcopy(&float1,&zzz[0],4);
-      yyy[0] = zzz[3];
-      yyy[1] = zzz[2];
-      yyy[2] = zzz[1];
-      yyy[3] = zzz[0];
-      bcopy(&yyy[0],&float2,4);
-      value = float2;
-      break;
-    case -64:
-      value = *((double         *) matrix[0].buffer + pixel);
-      fprintf(stderr,"!!  DONT USE FOR bitpix=-64  !!\n");
-      break;
-    }
-  }
-
-  value = matrix[0].bscale*value + matrix[0].bzero;
-  return (value);
-
-}
-
-
Index: unk/Ohana/doc/notes.trange.txt
===================================================================
--- /trunk/Ohana/doc/notes.trange.txt	(revision 2644)
+++ 	(revision )
@@ -1,119 +1,0 @@
-
----- info on locks ----
-
-addrefs/src/addrefs.c:  fd = setlockfile2 (ImageCat, 3600.0, LCK_HARD, &dbstate);
-addspphot/src/addspphot.c:  fd = setlockfile2 (ImageCat, 3600.0, LCK_HARD, &dbstate);
-addstar/src/addstar.c:  fd = setlockfile2 (ImageCat, 3600.0, LCK_HARD, &dbstate);
-elixir/src/DumpStatus.c:    fd = setlockfile2 (filename, 0.1, LCK_XCLD, &state);
-elixir/src/LoadPending.c:    fd = setlockfile2 (filename, 1.0, LCK_XCLD, &lockstate);
-elixir/src/MachineOps.c:    fd = setlockfile2 (filename, 0.1, LCK_XCLD, &state);
-elixir/src/MsgOps.c:  fd = setlockfile2 (fifo, 0.1, LCK_XCLD, &state);
-elixir/src/MsgOps.c:  fd = setlockfile2 (fifo, 0.1, LCK_XCLD, &state);
-imregister/old/imregister1.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister/old/imsort1.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister/old/imstatreg1.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister/old/photreg1.c:  fd = setlockfile2 (dBFile, 120.0, LCK_HARD, &dbstate);
-imregister/old/photsearch1.c:  fd = setlockfile2 (dBFile, 300.0, lockstate, &dbstate);
-imregister/old/transearch1.c:  fd = setlockfile2 (dBFile, 300.0, lockstate, &dbstate);
-imregister/old/transreg1.c:  fd = setlockfile2 (dBFile, 120.0, LCK_HARD, &dbstate);
-imregister/old/imregister1b.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister/old/imsearch.c:  fd = setlockfile2 (DataBase, 300.0, lockstate, &dbstate);
-imregister/old/imsort.c:  fd = setlockfile2 (DataBase, 600.0, LCK_HARD, &dbstate);
-imregister/old/imstatreg.c:  fd = setlockfile2 (DataBase, 600.0, LCK_HARD, &dbstate);
-imregister/base/WriteFIFO.c:  fd = setlockfile2 (filename, 20.0, LCK_XCLD, &state);
-imregister/detrend/detregister2.c:    fd = setlockfile2 (fullname, 2.0, LCK_XCLD, &filestate);
-imregister-1.0/src/old/imdbset.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/old/detsearch1.c:  fd = setlockfile2 (dBFile, 300.0, lockstate, &dbstate);
-imregister-1.0/src/WriteFIFO.c:  fd = setlockfile2 (filename, 20.0, LCK_XCLD, &state);
-imregister-1.0/src/photsearch1.c:  fd = setlockfile2 (dBFile, 300.0, lockstate, &dbstate);
-imregister-1.0/src/detsearch1.c:  fd = setlockfile2 (dBFile, 300.0, lockstate, &dbstate);
-imregister-1.0/src/imstatreg1.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/imregister1.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/photreg1.c:  fd = setlockfile2 (dBFile, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/detregister1.c:  fd = setlockfile2 (dBFile, 600.0, LCK_HARD, &dbstate);
-imregister-1.0/src/transearch1.c:  fd = setlockfile2 (dBFile, 300.0, lockstate, &dbstate);
-imregister-1.0/src/transreg1.c:  fd = setlockfile2 (dBFile, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/detregister.c:    fd = setlockfile2 (fullname, 2.0, LCK_XCLD, &filestate);
-imregister-1.0/src/imsort1.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/imregister.c:  fd = setlockfile2 (DataBase, 120.0, LCK_HARD, &dbstate);
-imregister-1.0/src/imsearch.c:  fd = setlockfile2 (DataBase, 300.0, lockstate, &dbstate);
-imregister-1.0/src/imsort.c:  fd = setlockfile2 (DataBase, 600.0, LCK_HARD, &dbstate);
-imregister-1.0/src/detregister2.c:    fd = setlockfile2 (fullname, 2.0, LCK_XCLD, &filestate);
-imregister-1.0/src/imstatreg.c:  fd = setlockfile2 (DataBase, 600.0, LCK_HARD, &dbstate);
-imregister-1.0/src/mknames.c:  fd = setlockfile2 (argv[1], 60.0, LCK_XCLD, &dbstate);
-libohana/src/glockfile.c:   setlockfile2 returns a file descriptor to an open READ/WRITE access file,
-libohana/src/glockfile.c:  fd = setlockfile2 (filename, timeout, type, state);
-libohana/src/glockfile.c:  /* setlockfile2 returns a pointer to a vile open for update */
-libohana/src/glockfile.c:int setlockfile2 (char *filename, double timeout, int type, int *state) {
-libohana/src/phot_catalog.c:  fd = setlockfile2 (catalog[0].filename, 3600.0, lockmode, &dbstate);
-misc/src/dbtest.c:int setlockfile2 (char *filename, double timeout, int hard, int *state);
-misc/src/dbtest.c:  if ((fd = setlockfile2 (dbfile, 60.0, LCK_HARD, &dbstate)) == -1) {
-misc/src/glockfile2.c:int setlockfile2 (char *filename, double timeout, int type, int *state) {
-status/user/elixir.c:  fd = setlockfile2 (fifo, 2.0, LCK_XCLD, &state);
-status/user/elixir.c:  fd = setlockfile2 (fifo, 2.0, LCK_XCLD, &state);
-
----- info on -time -trange ----
-
-
-convert to a single usage: -trange (start) (stop||range), -time (time)
-allow multiple entries
-
--time vs -trange:
-
-./imregister/src/photsearch.c:   if (N = get_argument (argc, argv, "-trange")) {
-./imregister/src/transreg.c:     if (N = get_argument (argc, argv, "-trange")) {
-./imregister/src/imsearch.c:     if (N = get_argument (argc, argv, "-trange")) {
-./imregister/src/photsearch2.c:  if (N = get_argument (argc, argv, "-trange")) {
-./status/user/detrend.c:         if (N = get_argument (argc, argv, "-trange")) {
-./status/user/images.c:          if (N = get_argument (argc, argv, "-trange")) {
-./status/user/imrough.c:         if (N = get_argument (argc, argv, "-trange")) {
-
-elixir2: grep -- -time `find . -name "*.c"`
-./addrefs/src/args.c:  if ((i = get_argument (argc, argv, "-time"))) {
-./imregister/src/old/detsearch.new.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/old/imsearchrough.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/old/detregister.old2.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/old/detregister.old.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/old/detsearch1.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/detsearch.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/detregister.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/photsearch.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/transearch.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/imsearch.c:  if (N = get_argument (argc, argv, "-time")) {
-./imregister/src/photsearch2.c:  if (N = get_argument (argc, argv, "-time")) {
-./scatfit/src/initialize.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/gimages.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/detrend.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/dmags.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/elixir.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/ddmags.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/resid.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/photresid.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/images.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/imdata.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/imextract.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/imlist.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/imrough.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/imsearch.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/photcodes.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/zeropts.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/ddmagsextract.c:  if (N = get_argument (argc, argv, "-time")) {
-./status/user/ddmagextract.c:  if (N = get_argument (argc, argv, "-time")) {
-
-
-haka1: grep -- -trange *
-dt.select:    $line = "-type flat -filter $name -mode $mode -trange $start $stop";
-fr.select:    $line = "-type object -mode $mode -trange $start $stop -filter $name";
-imselect:     $line = "-type flat -filter $name -mode $mode -trange $ARGV[3] $ARGV[4]";
-mktrans:      @list = `photsearch -trange $start $stop -photcode $code`;
-
-haka1: grep -- -time *
-normalize:    if ($ARGV[0] eq "-time") {
-
-haka1: grep -- -trange *
-mk.ptlist:  imsearch $config $type -trange $start $stop | awk '{n=substr($6,0,7)}{printf "%s/%s %s/%s%s %s %s\n", $5, $6, n, n, $4, $4, $3}'
-phot.by.night: transreg $code $zp $dzp $date 1d -trange
-
-haka1: grep -- -time *
-fr.smooth:set mask=`detsearch -ccd $ccd -type mask -time $start -select -quiet`
-phot.by.night:set answer=`photsearch -time $date 1d -photcode $code | awk '{f+=$3}{f2+=$3*$3}END{print f/NR, sqrt (f2/NR - f*f/NR/NR)}'`
