**************************************************************************
***************************  Installation ********************************
********************  Robert FRANCHISSEUR (1996/02/06) *******************
**************************************************************************

(en cours de modifs) Version 1.24/00


INTRODUCTION
------------

Le logiciel ZOOM ( Zone Optimal Organize Modelling) est constitué d' un noyau
(kernel) appelé KER, d' un ensemble de 'processeurs' et d' un 'zinit' ecrits
par l' utilisateur pour décrire son problème et d' un programme de visualisation
des résultats appelé VIZU (Visualisation Interface for Zoom User).

Dans ce qui suit le terme ZOOM poura représenter aussi bien l'ensemble du logiciel
que le noyau.


Cette notice est destinée à familiariser le "novice" à une installation
et à une utilisation rapide et simple de ZOOM. La convivialité de ce logiciel
faisant qu' il est beaucoup plus facile à utiliser qu' à décrire dans cette notice.

Les logiciels ZOOM et VIZU ont été portés sur les machines suivantes :

 +--------------------+--------------+---------------+
 | Machine            | O.S.         |   Release     |
 +--------------------+--------------+---------------+
 | UNIVAC 11xx        | EXEC 8       |               |
 | HP/Apollo DNxxxx   | Domain/OS    |   10.4.1.1    |
 | HP/Apollo 4xxxt    | Domain/OS    |   10.4.1.2    |
 | HP 9000/7xx        | HP-UX        |   A.09.01     |
 | BULL SPS7          |              |               |
 | BULL DPX2000       | AIX          |   3.2         |
 | SUN Spark          | SunOS        |   4.1_PSR_A   |
 | SUN Spark          | SunOS        |   4.1.3_U1 1  |
 | CRAY Y-MP          | unicos       |   8.0.3.1     |
 | CRAY C9x           | sn4607       |   7.C.3 7.C.4 |
 | IBM RS6000         | AIX          |   3.2         |
 | IBM SP2            | AIX          |   3.2         |
 | DEC Alpha          | OSF1         |   2.0         |
 | SUN Spark          | Solaris      |   5.5.1       |
 | SUN Spark          | Solaris      |   5.6         |
 | Clone P.C.         | Linux        |   2.0.32      |
 +--------------------+--------------+---------------+


L'outil de développement choisi est CMZ ( Code Management system using Zebra) [1]
conçu et développé au CERN. Ce choix permet d'obtenir une grande cohérence
entre toutes les "interfaces utilisateur" depuis la phase de développement et
de gestion de versions jusqu' à la visualisation des résultats puisqu' elles sont
toutes basées sur le même langage KUIP (Kit for a User Interface Package) [2].
Ce langage permet d' écrire des macros (kumac) qui constituent l'ensemble des
commandes vues par l' utilisateur qui se retrouve ainsi toujours dans le même environnement.

Par ailleurs, à l' intérieur de CMZ, il n' existe aucune différence dans la syntaxe
des commandes que ce soit pour installer le noyau (KER), VIZU ou lancer l'execution
d' une simulation.




CONFIGURATION NECESSAIRE
------------------------

Dans ce qui suit nous distingueront deux niveaux distincts d 'installation que nous nomerons
"développeur" ( permettant le developpement du noyau lui-même) et "utilisateur".

La machine sur laquelle l' installation doit être faite doit posséder un compilateur FORTRAN
les librairies 'X Window System' (X11R4 ou +)* et être raccordée au réseau Internet via TCP/IP.

* 'X Window System' est une marque déposée du "Massachusetts Institute of Technology".


Une autorisation du CERN doit être obtenue afin d' obtenir et utiliser leurs libraries.
Pour se faire il faut se connecter au CERN récupérer le fichier cernlib.registration ,
le remplir et le renvoyer par e-mail à cernlib@cernvm.cern.ch à l' aide de la procédure
suivante :

     ftp asisftp.cern.ch
     (IP address 128.141.202.89,  userid ftp or anonymous)
     ftp> get cernlib.registration
     ftp> quit

Voir en annexe 1 les différents copyrights du CERN.


Espace disque necessaire :                                 1998/05/13

        Librairies CERN :         environ   40 Mo          60 Mo

        ZOOM
                "Utilisateur"     environ   12 Mo          18 Mo
                "Développeur"     environ   22 Mo          ?

                auquels on ajoutera environ 5 Mo pour l' installation proprement dite.


        Projet UTILISATEUR
                Suivant la complexité du projet étudié et la quantité de résultats souhaités
                de 2 Mo ( Cellule de Hambourg) à 100 Mo ( Convection naturelle en cavité)


PROCEDURE D' INSTALLATION
-------------------------


        Il suffit de transférer à l' aide de ftp l' arborescence de ZOOM pour la machine
        désirée dans le directory d' accueil :

           cd /directory

           ftp> binary
           ftp> cd /pub/zoom_server
           ftp> get unpack_zip_machine  bin/unpack_zip
           ftp> get gunzip_machine  bin/gunzip
           ftp> mget README*
           ftp> get zoom_x.y_zz_machine.tar.gz zoom.tar.gz
           ftp> quit

           où x.y_zz   est le numero de version
           où machine peut être :

           apo :       Apollo m68k running SR10.x
           hpx :       Hewlett-Packard 9000 Series 700 running HP-UX 9.x
           sun :       Sun SPARCstation running Sun OS 4.1.x
           ibm :       Ibm station running  AIX 3.2
           sol :       Sun SPARCstation running Solaris 5.1.x
           cru :       Cray Y-MP or C9x running Unicos 8.0.3.1
           irs :       IBM RS/6000 running AIX 3.2
           lnx :       Clone P.C. running Linux 2.0.32


           unpack_zip zoom

        Suivant le niveau "développeur" ou "utilisateur" les sources du noyau et de
        VIZU seront ou non incluses.

        On trouvera l' arborescence des fichiers à l' annexe 2.

        A terme il est prévu d'installer ZOOM sur un serveur Word-Wide-Web.


UTILISATION
-----------

VOIR aussi :
> $ZOOM/Help/Users/00_New_User_Environment_Installation
> $ZOOM/Help/Users/Upgrades/Creation_d_une_Version_CMZ
> $ZOOM/Help/Users/General/Execution_sur_Site_distant


   "Utilisateur"

        creer un directory user_data sous son home_dir


        Une fois pour toutes on ajoutera les lignes suivantes dans le fichier .profile (Bourne,Korn shells)

           CERN=XXX/cern   ; export CERN
           CERN_VER=pro ; export CERN_VER
           ZOOM=XXX/zoom   ; export ZOOM
           ZOOM_VER=pro ; export ZOOM_VER
           CMZSYS=$CERN/cmz/cmzsys.kumac ;export CMZSYS
           PATH=$PATH:$CERN/$CERN_VER/bin:$ZOOM/$ZOOM_VER/bin

        ou dans le fichier .cshrc (C-shell)

           setenv CERN XXX/cern
           setenv CERN_VER pro
           setenv ZOOM XXX/zoom
           setenv ZOOM_VER pro
           setenv CMZSYS $CERN/cmz/cmzsys.kumac
           set path=($path $CERN/$CERN_VER/bin $ZOOM/$ZOOM_VER/bin)

        en remplacant XXX par la bonne arborescence.

        Si, de plus, on veut utiliser la procédure d' exécution à distance, il conviendra d' avoir
        un fichier $HOME/.netrc sur la machine source et un fichier $HOME/.rhosts sur la machine cible
        avec les protections ad hoc.   Le ficher .cshrc est *obligatoire* sur la machine distante.



        L' utilisateur crée un directory par projet et après s' être placé dans ce directory
        exécute cmz

        Une fois dans cet environnement il peut charger un 'canevas'  à l'aide de la commande

                shell cp $ZOOM/pro/exos/modele.cmz .
                file modele

        Après avoir édité ses processeurs et son 'zinit' (cf. les autres manuels ZOOM [3]) il lui
        suffira de taper les commandes :

                 exec mod proc [cpu] [site]
        et
                 exec mod zinit [cpu] [site]


        les arguments optionnels [cpu] et [site] permettant une execution automatique sur
        une machine distante ( opérationnel sur Apollo uniquement à ce jour)


        La première de ces commandes exécutera MORTRAN [4] ,la compilation Fortran et crééra
        la librairie des processeurs.

        La seconde exécutera MORTRAN [4] ,la compilation Fortran pour le 'zinit' , l' édition
        de liens avec le noyau , lancera l' exécution du job et une fois celle ci terminée
        générera l'exécutable VIZU correspondant.

        L' utilisateur n' a plus qu' à aller dans le directory contenant son 'zinit' (et les
        fichiers de résultats de son run) et taper la commande :

                vizu

        pour visualiser ses résultats.



   "Développeur"


        En allant dans dans le directory contenant le noyau et/ou VIZU ($ZOOM/$ZOOM_VER/src/cmz/ker ou
        $ZOOM/$ZOOM_VER/src/cmz/vizu) on exécute cmz puis

                 exec mod [cpu] [site]

        pour mettre à jour la librairie du noyau et/ou de vizu




ANNEXE 1
--------

Copyright CERN, Geneva 1992

Copyright and any other appropriate legal protection of these computer
programs and associated documentation reserved in all countries of the world.

These programs or documentation may not be reproduced and/or redistributed
to any third party by any method without prior written consent of the
Director-General of CERN or his delegate.

Permission for the scientific usage of any programs described herein is
granted apriori to those scientific institutes associated with the CERN
experimental program or with whom CERN has concluded a scientific
collaboration agreement.

Commercial utilisation requires explicit a priori permission from CERN and
will be subjected to payment of a license fee.

These statements are without prejudice to any rights that third parties
may hold in these programs.

CERN welcomes comments concerning the CERNlib software, but undertakes no
obligation for the maintenance of the programs, nor responsability for their
correctness, and accepts no liability whatsoever resulting from the use of
its programs.

Requests for information should be addressed to:


                    CERN Program Library Office
                    CERN-CN Division
                    CH-1211 Geneva 23
                    Switzerland
                    Tel.      +41 22 767 4951
                    Fax.      +41 22 767 7155
                    Bitnet:   CERNLIB@CERNVM
                    DECnet:   VXCERN::CERNLIB (node 22.190)
                    Internet: cernlib@cernvm.cern.ch

ANNEXE 2
--------
Structure des fichiers de ZOOM


zoom/Help                             Comme son nom l'indique
zoom/cmzmacs                          Les kumacs CMZ pour les exos (utilisateurs)
zoom/kumacs                           Les kumacs pour vizu
zoom/user_data                        Les templates files de CMZ
zoom/zoom_1.24_00                     La version pro
zoom/zoom_1.24_00/bin                 Les shells diverses
zoom/zoom_1.24_00/exe                 Mortran ( + vizu sur apollo)
zoom/zoom_1.24_00/exos                La fameuse cellule de Hambourg !
zoom/zoom_1.24_00/lib                 Les librairies ker mtn et vizu
zoom/zoom_1.24_00/mac                 Les macros mtn
zoom/zoom_1.24_00/out                 Les sorties d' installation
zoom/zoom_1.24_00/src                 Les sources
zoom/zoom_1.24_00/src/car             Les .car
zoom/zoom_1.24_00/src/cfs             Les sources fortran :
zoom/zoom_1.24_00/src/cfs/ker                             pour ker
zoom/zoom_1.24_00/src/cfs/mtn                                  mtn
zoom/zoom_1.24_00/src/cfs/vizu                                 vizu
zoom/zoom_1.24_00/src/cmz             Les cmz files :
zoom/zoom_1.24_00/src/cmz/ker                             pour ker
zoom/zoom_1.24_00/src/cmz/mac                                  mac
zoom/zoom_1.24_00/src/cmz/mtn                                  mtn
zoom/zoom_1.24_00/src/cmz/vizu                                 vizu


NOTA : les directory sous cmz contiennent chacun un cmzlogon.kumac qui charge
       automatiquement le fichier concerne ( ker mac mtn vizu ) et annule les
       macros de cmzmacs pour ne pas qu'il y ait conflit avec celles des dits
       fichiers (elles ont les meme noms)

       i.e. Si on est sous zoom/pro/src/cmz/vizu par exemple et que l'on fait
       cmz vizu est charge avec ses kumacs.

       si l'on est n'importe ou ailleurs ( un exo ) cmz herite des kumacs
       du directory zoom/cmzmacs


        Si l'on fait de l'installatiom a distance on trouve egalement sur la
        machine source les informations de la machine cible avec des noms du
        style : zoom/zoom_1.24_00/src/cfs/ker_ibm_l7 qui contiendra les source
        pour ibm ( apres un exec mod ibm l7)



BIBLIOGRAPHIE
-------------

[1] CMZ  : Users's Guide & Reference Manual (1.48), CodeME S.A.R.L. & CERN PROGRAM LIBRARY, 1996.
[2] KUIP : Users's Guide  Reference Manual  (2.04), CERN PROGRAM LIBRARY 1102, 1993.
[3] ZOOM : Users's Manuals  & $ZOOM/Help/...
[4] MTN  : MORTRAN User's Guide , CERN, 1979.
