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