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