FSCINT                    Routines d'interpolation                       FSCINT

NOM
   RGOPTC - Controle de l'interpolation et de l'extrapolation.

USAGE
   call rgoptc(item, valeur, flag)
	
   character*8 item, valeur
   logical flag
  
DESCRIPTION
   Cette routine initialise ou retourne le degre d'interpolation et 
   les actions a prendre en cas d'extrapolation. 

   Pour controler le degre d'interpolation, "item" doit prendre la valeur
   'INTERP', et "valeur" doit prendre les valeurs suivantes.

   valeur = 'VOISIN'  ->  interpolation de degre 0, au point le plus proche.
   valeur = 'LINEAIR' ->  interpolation lineaire.
   valeur = 'CUBIQUE' ->  interpolation cubique.

   Si flag est .true., la routine initialise le degre d'interpolation; 
   si flag est .false., la routine retourne le degre d'interpolation couramment
   utilise par le module.

   ex. initialisation du degre d'interpolation a 'LINEAIR'.
       call rgoptc('INTERP', 'LINEAIR', .true.) 

       interrogation du degre d'interpolation courant
       character*8 cordint
       call rgoptc('INTERP', cordint, .false.)
       print *, cordint
  
   Pour controler les actions en prendre en cas d'extrapolation, "item" doit
   prendre la valeur 'EXTRAP', et "valeur" doit prendre les valeurs suivantes:

   valeur = 'OUI'     -> On extrapole sans se preoccuper des resultats.
   valeur = 'ABORT'   -> On fait arreter le programme si des points de le
                         grille de destination se retrouvent hors de la 
                         grille source.
   valeur = 'VOISIN'  -> les points extrapoles prennent la valeur du point le
                         plus proche du bord de la grille.
   valeur = 'MAXIMUM' -> les points extrapoles prennent une valeur egale a
                         max + (max - min) * 0.25
   valeur = 'MINIMUM' -> les points extrapoles prennent une valeur egale a
                         min - (max - min) * 0.25
   valeur = 'VALEUR'  -> les points extrapoles prennent une valeur precise,
                         que l'on peut fixer par un appel a "rgoptr". 

   Si flag est .true., la routine initialise le type d'action a prendre en cas 
   d'extrapolation.
   si flag est .false., la routine retourne le type d'action a prendre en cas
   d'extrapolation.

   ex. on veut que le programme saute en cas d'extrapolation
       call rgoptc('EXTRAP', 'ABORT', .true.)

       on veut que les points extrapoles prennent la valeur 400.0
       call rgoptc('EXTRAP', 'VALEUR', .true.)
       call rgoptr('EXTRAP', 400.0,    .true.)

       Interrogation de l'action couramment prise en cas d'extrapolation
       character*8 cextrap
       call rgoptc('EXTRAP', cextrap, .false.)
       print *, cextrap
  
COMPILATION
   Pour le moment, le module d'interpolation est contenu dans un fichier ".o"
   residant sur $ARMNLIB/lib. Le module sera eventuellement integre dans
   RMNLIB.

   Pour utiliser le module sur le nec, cidsv02, cidsv07, cidsv08, faire:
   f77 prog.f -o prog $ARMNLIB/lib/fscint2.o $ARMNLIB/lib/rmnxlib.a

   Sur le cray, faire:
   ACCESS, DN=FSCLIB2, ID=ARMNYRC, OWN=ARMN000.
   ...
   LD2, LIB=FSCLIB2:AAAALIB, ...
   
AUTEUR
   Yves Chartier, RPN, 421-4736, ychartier@cid.aes.doe.CA

DERNIERE MISE A JOUR DE LA DOCUMENTATION
   18 decembre 1991

VOIR AUSSI
   igscint, iguvint, rgscint, rguvint, rgopti, rgoptr