\section{Test de fonctionnement}
Un test de fonctionnement est détaillé \paragr{sec:btst}.

\section{Mise en place des données physiques}\index{données}
\label{sec:dphys}\index{sun\_star\_data}
{\sc cesam5} utilise les données physiques tabulées \ie\ EOS, opacités
\etc\ sous forme de fichiers binaires; on décrit la formation de ces
fichiers à partir des données {\sc ascii} du sous-directory
{\sc sun\_star\_data} de la source dans lequel on se placera.

\medskip
\PB{Les fichiers binaires de ces tabulations sont les m\^emes que ceux exploit\'es
par les versions pr\'ec\'edenrtes de {\sc cesam}, il n'y donc pas lieu de les
reconstruire.}

\subsection{Opacités ``Yveline''}\index{opacités}\index{ascii2bin\_opa}
\label{sec:opayv}
Package construit par Y. Lebreton pour le
calcul de l'\opa\ OPAL, Iglesias \& Rogers \cite{ir91} pour
le m\'elange solaire de Grevesse \& Noels \cite{gn97}.
Il est appel\'e par l'une des routines externes
{\sf opa\_yveline} ou {\sf opa\_yveline\_lisse} \cf\ \paragr{sec:nopa}.
Le fichier ASCII {\sf opa\_yveline\_etendu.data.gz} du sous-directory
{\sc sun\_star\_data} contient sous forme
compressée les opacités ``Yveline'' \ie\ opacités OPAL+Alexander assemblées
et raccordées par Y.Lebreton, puis arbitrairement étendues au delà
de $X=0.9$. Il convient d'abord de décompresser ce fichier~:
\centerline{\tt gunzip opa\_yveline\_etendu.data.gz}

\noi puis de transformer les données ASCII en binaire en exécutant le
programme {\sf ascii2bin\_opa} du sous-directory {\sc sun\_star\_data}:
\centerline{\tt exef95 ascii2bin\_opa} 
\noindent A la question:
\begin{tt}\begin{verbatim}
 traduction ASCII ---> binaire (o/n?)
\end{verbatim}\end{tt}
répondre o, on obtient:
\begin{tt}\begin{verbatim}
 ASCII ---> binaire
 enter the name of the existing ASCII opacity table: opa_yveline.data
\end{verbatim}\end{tt}
répondre:
\begin{tt}\begin{verbatim}
 opa_yveline_etendu.data
\end{verbatim}\end{tt}
on obtient:
\begin{tt}\begin{verbatim}
 enter the name of the binary table: opa_yveline.bin
\end{verbatim}\end{tt}
répondre:
\begin{tt}\begin{verbatim}
 opa_yveline_etendu.bin
\end{verbatim}\end{tt}
à la question suivante répondre c. Eventuellement recompresser
le fichier en ASCII et supprimer l'exécutable. On obtient:
\begin{tt}\begin{verbatim}
 PAUSE: OK c'est fait
 pour arreter entrer q, poursuivre entrer c
 c
 bilou@port-morel% gzip opa_yveline_etendu.data
 bilou@port-morel% rm ascii2bin_opa.out
 rm: remove regular file `ascii2bin_opa.out'? y
 bilou@port-morel%
\end{verbatim}\end{tt}
 
\subsection{Opacités HOUDEK}\label{sec:opahd}\index{opa\_houdek9}
\index{link}
Package de calcul de l'\opa\ OPAL, Iglesias \& Rogers \cite{ir91},
par les routines d'interpolation par splines birationnelles de
Houdek \& Rogl \cite{hr96} il est appel\'e par la routines externe
{\sf opa\_houdek9}. Ce package de nom opint\_v9f.tar.gz peut \^etre obtenu 
``via anonymous ftp from ftp.ast.cam.ac.uk in the sub-dir
{\sc pub/hg/opacity}''.
%Ce package se trouve sur le site WEB
%{\tt ftp://solaris.tuwien.ac.at/incoming/}
Il est constitu\'e du fichier
{\sf opint\_v9f.tar.gz} qu'il faut d\'ecompresser et détarer~:
\begin{tt}\begin{verbatim}
bilou@port-morel% gunzip opint_v9f.tar.gz
bilou@port-morel% tar -xvf opint_v9f.tar
v9/
v9/.make.state
v9/.nse_depinfo
v9/.sbinit
v9/Makefile
v9/OPINTPATH_92
v9/OPINTPATH_95
v9/README
v9/Release_history
v9/a2b95.f

............................

v9/rksuite/Makefile
v9/rksuite/chkfl.f
v9/rksuite/.make.state
v9/alex94bext.f
v9/dopdalex94.f
v9/OPINTPATH_AX
v9/exakop95.f
bilou@port-morel%
\end{verbatim}\end{tt}
il est prudent de recompresser le fichier {\sf opint\_v9f.tar},
puis en suivant les instructructions du README,
\'editer ensuite le makefile du directory {\tt v9}
et adapter le compilateur et l'optimiseur \`a la machine UNIX
dont on dispose.

\noi Ex\'ecuter le MAKEFILE~: {\tt make}.

\noi dans le directory {\tt v9/OPINPATH\_AX}, remplacer les "./" par
les chemins {\tt ./v9/opal95/opal95e.bin} donne, par exemple:

\centerline{\tt /home/bilou/SUN\_STAR\_DATA/v9/opal95/opal95e.bin}

\noi faire de m\^eme pour
{\tt v9/OPINPATH\_91} et {\tt v9/OPINPATH\_95}.
\medskip

\PB{Dans la routine d'appel {\sf opa\_houdek9}
le chemin d'accès aux données:
{\tt tabnam=TRIM(nom\_chemin)//TRIM(f\_opa(2))} fait appel au
{\bf second} fichier {\tt f\_opa(2)} d'opacité, ainsi qu'il est codé dans
la NAMELIST NL\_OPA du test du \paragr{sec:btst}.}

\noi Toujours dans la routine d'appel {\sf opa\_houdek9} d\'efinir les
param\`etres
{\tt iorder} et {\tt imode} en se r\'ef\'erant \`a la notice constitu\'ee
par le fichier {\tt ./doc/notes.ps} du directory {\tt v9}.

\noi  Enfin, dans le script {\tt exe2k} indiquer au LINK le chemin d'accès à
 la bibliothèque {\sf libopint.a}.

%\begin{tt}\begin{verbatim}\end{verbatim}\end{tt}

\subsection{Equation d'état OPAL}\index{etat\_opal}\label{sec:eosopal}
Package de l'\EOS\ OPAL, Iglesias \& Rogers \cite{ir91},
appel\'ee par la routine {\sf etat\_opal}.
Le package original et les tables d'\EOS\ ont \'et\'e repris du site WEB
{\tt ftp://www-phys.llnl.gov/pub/opal/eos/} o\`u l'on trouve un "README"
expliquant la marche \`a suivre pour construire une table ASCII
d'\EOS\ pour une valeur de $Z$ fix\'ee. 
On transforme ensuite cette table ASCII en fichier binaire.

\medskip
\PB{Certains des sous-programmes du package original d'OPAL 
 ont \'et\'e mo\-di\-fi\'es pour l'ex\-ploi\-ta\-tion avec {\sc cesam2k};
 en particulier, le blockdata a été supprimé.}

\noindent Les fichiers ASCII compressés {\sf peos*.gz} contiennent
les données pour l'équation d'état OPAL. Se placer dans le sous-directory 
{\sc sun\_star\_data} décompresser ces fichiers~:
\centerline{\tt gunzip peos*}
\medskip

\noindent Exécuter le programme {\sf ZFSinterppeos}:
\begin{tt}\begin{verbatim}
exef95 ZFSinterppeos
Encountered 0 errors, 0 warnings in file ZFSinterppeos.f.
type Z:
\end{verbatim}\end{tt}
entrer la valeur de $Z$, fraction de masse de l'abondance des métaux; on
obtient:
\begin{tt}\begin{verbatim}
type Z:  0.0195
          0.020
   0.0000   0.0000            3.0000000                  4.0036974
   0.0000   0.0200            3.0301077                  4.0629535
   0.0000   0.0400            3.0611377                  4.1251554
   0.2000   0.0000            2.5018048                  2.5114787
   0.2000   0.0200            2.5158978                  2.5350964
   0.2000   0.0400            2.5302570                  2.5591605
   0.4000   0.0000            2.2741616                  1.8296305
   0.4000   0.0200            2.2828465                  1.8421309
   0.4000   0.0400            2.2916493                  1.8548033
   0.6000   0.0000            2.1437435                  1.4389958
   0.6000   0.0200            2.1498623                  1.4467140
   0.6000   0.0400            2.1560483                  1.4545176
   0.8000   0.0000            2.0592246                  1.1858406
   0.8000   0.0200            2.0638888                  1.1910768
   0.8000   0.0400            2.0685947                  1.1963595
\end{verbatim}\end{tt}
Le fichier ASCII {\sf EOSdata} occupant environ 9Mo a été créé.

\noi Editer la source du programme  {\sf opal\_ascii\_bin} et 
donner au fichier binaire le nom désiré, par exemple:
\begin{tt}\begin{verbatim}

......................................

     CLOSE(unit=60)   <===   ligne 117 de opal_ascii_bin.f
	
c    f_eos='eos_opal_190.bin'
     f_eos='eos_opal_195.bin'
c    f_eos='eos_opal_330.bin'		
c    f_eos='eos_opal_180.bin'
c    f_eos='eos_opal_170.bin'
c    f_eos='eos_opal_130.bin'
c    f_eos='eos_opal_050.bin'		
				
     WRITE(*,6)f_eos
6    FORMAT('debut ecriture sur le fichier binaire: ',a50)
     CLOSE(unit=60)

............................................


\end{verbatim}\end{tt} 
Ex\'ecuter le programme {\sf opal\_ascii\_bin} ainsi modifié:
\begin{tt}\begin{verbatim}
exef95 opal_ascii_bin
Encountered 0 errors, 0 warnings in file opal_ascii_bin.f.
donnees prises dans le fichier: EOSdata
lecture, et c'est long, de ce fichier
 fin de lecture des tables OPAL
 debut ecriture sur le fichier binaire: eos_opal_195.bin
 fin ecriture sur le fichier binaire
 donnees prises dans le fichier binaire: eos_opal_195.bin
 lecture, des donnees EOS opal, et c'est long
 fin de lecture des donnees EOS opal en binaire
 test relecture effectue
\end{verbatim}\end{tt}
Supprimer les modules exécutables:
\begin{tt}\begin{verbatim}
rm *.out
rm: remove regular file `ZFSinterppeos.out'? y
rm: remove regular file `opal_ascii_bin.out'? y
\end{verbatim}\end{tt}
Enfin recompresser les fichiers ASCII, et supprimer les fichiers
EOSdata et fort2 désormais inutiles:
\begin{tt}\begin{verbatim}
gzip peos*
rm EOSdata
rm: remove regular file `EOSdata'? y
rm fort.2
rm: remove regular file `fort.2'? y
\end{verbatim}\end{tt}

\subsection{Equation d'état MHD}\index{etat\_mhd}
Package de l'\EOS\ MHD, Mihalas \etal{mhd88}, appel\'ee par la routine
externe {\sf etat\_mhd}. Ce package a \'et\'e fourni par W. D\"appen
\cf\ \paragr{sec:mhdk}.
Les 8 tables {\sf mhd1\_oc\_tau.tab} ... {\sf mhd8\_oc\_tau.tab}
qui trouvent sur le serveur anonyme usc.edu, dans le r\'epertoire
{\tt pub/astro-physics/mhd-oc-tau/wd-evo} se trouvent dans
le sous-directory {\sc sun\_star\_data} sous les noms {\sf mhd1.tab.gz} ...
{\sf mhd8.tab.gz}. Apr\`es avoir
d\'ecompress\'e ces tables en ASCII, on les transforme en fichiers
binaires en ex\'ecutant le programme {\sf fmttob}.
\begin{tt}\begin{verbatim}
exef95 fmttob
Encountered 0 errors, 0 warnings in file fmttob.f.
 decompression

Press Enter to Continue.

 enter main
 ZAMS-type: filename of input (formatted) table #  1
 enter filename of output (unformatted) table #  1
 ZAMS-type: filename of input (formatted) table #  2
 enter filename of output (unformatted) table #  2
 ZAMS-type: filename of input (formatted) table #  3
 enter filename of output (unformatted) table #  3
 center-type: filename of input (formatted) table #  4
 
 ...................................
 
     4.002600       7.7222100E-02   0.2299999

     12.01100       4.2665000E-04   3.8132454E-03

     14.00670       1.0717000E-04   1.1169993E-03

     15.99940       9.1215000E-04   1.0859599E-02

     20.17900       2.8039000E-04   4.2102317E-03

 mean molecular weight =    1.2455340


bilou@port-morel%
\end{verbatim}\end{tt}
Supprimer les exécutables:
\begin{tt}\begin{verbatim}
bilou@port-morel% rm *.out
rm: remove regular file `fmttob.out'? y
bilou@port-morel%
\end{verbatim}\end{tt}



%\begin{tt}\begin{verbatim}\end{verbatim}\end{tt}
