SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/XRD38/FA/mt/faipar_mt.F
Go to the documentation of this file.
00001 C Jan-2011 P. Marguinaud Thread-safe FA
00002       SUBROUTINE FAIPAR_MT (FA,  KNUMER, KNIMES, KCODE, LDFATA, CDMESS, 
00003      S                      CDNSPR, CDACTI, LDRLFI )
00004       USE FA_MOD, ONLY : FA_COM
00005       USE PARKIND1, ONLY : JPRB
00006       USE YOMHOOK , ONLY : LHOOK, DR_HOOK
00007 C**** 
00008 C        Ce sous-programme est charge de FAIre PARt des Messages
00009 C     emis par le logiciel de Fichiers ARPEGE, en faisant si besoin est
00010 C     l'"ABORT" du programme .
00011 C**
00012 C        Arguments : KNUMER ==> Numero de l'unite logique eventuelle;
00013 C                               ( FA%JPNIIL ==> pas d'unite logique )
00014 C                    KNIMES ==> Niveau (0,1,2) du message;
00015 C                    KCODE  ==> Code correspondant a l'action;
00016 C                    LDFATA ==> Vrai si on doit avorter le programme;
00017 C                    CDMESS ==> si KNIMES#0, Message a emettre;
00018 C                    CDNSPR ==> Nom du Sous-Programme appelant;
00019 C                    CDACTI ==> Nom de l'action d'Entree/Sortie FORTRAN
00020 C                               (si KCODE >0), sinon fourre-tout !) .
00021 C                    LDRLFI ==> Vrai si le code-reponse different de 0
00022 C                               a ete detecte par le logiciel LFI.
00023 C*
00024 C     VALEURS POSSIBLES DES CODES-REPONSES DU LOGICIEL FICHIERS ARPEGE
00025 C
00026 C      0 ==> Aucune erreur detectee, message informatif.
00027 C     >0 ==> Il s'agit du code-reponse d'une erreur detectee lors d'un
00028 C            OPEN, READ, WRITE, CLOSE, ou INQUIRE FORTRAN; voir manuels.
00029 C -(1a50)==> Code-reponse renvoye par le logiciel LFI.
00030 C    -51 ==> Unite logique non ouverte pour le logiciel,
00031 C             ou bien cadre non defini .
00032 C    -52 ==> Valeur d'un "NIVEAU" hors plage [0-2] .
00033 C    -53 ==> *** code-reponse inutilise pour le moment ***.
00034 C    -54 ==> Changement explicite de mode Multi-Tasking avec au moins 1
00035 C            unite logique ouverte-risque de problemes (s/p "FARINE") .
00036 C    -55 ==> Unite logique deja ouverte ou cadre non redefinissable.
00037 C    -56 ==> Trop d'unites logiques deja ouvertes ou de cadres definis.
00038 C    -57 ==> Nouveau fichier, et cadre reference non defini au prealable
00039 C    -58 ==> Fichier preexistant, et cadre reference non compatible .
00040 C    -59 ==> Redefinition de cadre avec modification de parametre(s),
00041 C            impossible car il y a au moins un fichier qui s'y rattache.
00042 C    -60 ==> Un des articles definissant le cadre est manquant.
00043 C    -61 ==>  "  "      "        "       "  " a une longueur inattendue.
00044 C    -62 ==> L'article DATE est manquant.
00045 C    -63 ==> L'article DATE a une longueur inattendue.
00046 C    -64 ==> Argument d'appel de type ENTIER incorrect .
00047 C    -65 ==> Argument d'appel de type CARACTERE incorrect .
00048 C    -66 ==> INCOHERENCE tables, fichier, appels s/p internes, logiciel;
00049 C            CE CODE EST LE SEUL QUE *FA%NRFAGA* VALANT 2 NE PEUT MASQUER,
00050 C            ET PROVOQUE DONC UNE ERREUR FATALE DANS TOUS LES CAS.
00051 C    -67 ==> Le cadre reference a au moins un fichier associe,
00052 C            et ne peut donc pas etre supprime.
00053 C    -68 ==> Nom d'article compose uniquement de BLANCS, non accepte
00054 C            ( a cause du fonctionnement interne du logiciel LFI ),
00055 C            ou cadre de nom blanc non accepte (les cadres non definis
00056 C             sont reperes ainsi dans les tables du logiciel)
00057 C    -69 ==> La variable CARACTERE donnee en argument est TROP COURTE
00058 C            pour recevoir le NOM du cadre ou d'identificateur, meme en
00059 C            supprimant les eventuels caracteres blancs en fin de nom .
00060 C    -70 ==> Troncature hors plage [1-FA%NXTRON].
00061 C    -71 ==> Nombre de latitudes de pole a pole hors plage [1-FA%NXLATI].
00062 C    -72 ==> Nombre de niveaux verticaux hors plage [1-FA%NXNIVV].
00063 C    -73 ==> Coefficient de dilatation inferieur a 1.
00064 C    -74 ==> Un des nombres de points par parallele est <= 0 ou depasse
00065 C            le nombre maximum annonce dans la description du cadre.
00066 C    -75 ==> Un des nombres de points par parallele est inferieur
00067 C            a celui qui le precede.
00068 C    -76 ==> Un des nombres d'onde zonal maxi par parallele depasse
00069 C            la troncature ou n'est pas positif.
00070 C    -77 ==> Un des nombres d'onde zonal maxi par parallele est
00071 C            inferieur a celui qui le precede.
00072 C    -78 ==> Sur une latitude au moins, le nombre de points est insuffi-
00073 C            sans vis-a-vis du nombre d'onde zonal maximum.
00074 C    -79 ==> Inconsistance: le nombre de latitudes (de pole a pole)
00075 C            est insuffisant vis-a-vis de la troncature.
00076 C    -80 ==> Une valeur d'une des fonctions de la coordonnee hybride
00077 C            est en-dehors de l'intervalle [0,1] .
00078 C    -81 ==> Pour une couche, valeurs inadaptees des fonctions de la
00079 C            coordonnee hybride.
00080 C    -82 ==> L'article DATE a un contenu incorrect.
00081 C    -83 ==> Le nombre maximum de points par parallele est en-dehors de
00082 C            l'intervalle [1,FA%NXLONG]
00083 C    -84 ==> Le nombre maximum de points par parallele est insuffisant
00084 C            vis-a-vis de la troncature.
00085 C    -85 ==> Fichier en mode creation, donc vide d'articles vis-a-vis
00086 C            du logiciel (a la description du Cadre pres):
00087 C            il faut le munir d'une date...
00088 C    -86 ==> Prefixe et/ou suffixe "blanc" interdit.
00089 C    -87 ==> Prefixe de champ trop long.
00090 C    -88 ==> Troncature effective inferieure ou egale a
00091 C            la sous-troncature "non compactee".
00092 C    -89 ==> Article de type champ demande inexistant dans le fichier.
00093 C    -90 ==> L'article de type champ existe, mais est trop long.
00094 C    -91 ==> En-tete d'article champ incorrect.
00095 C    -92 ==> L'article demande est en points-de-grille au lieu de
00096 C            coefficients spectraux, ou vice-versa.
00097 C    -93 ==> L'article demande est trop COURT sur le fichier.
00098 C    -94 ==> L'article demande est trop LONG sur le fichier ( si cette
00099 C            erreur n'est pas fatale, on traite le debut de l'article ).
00100 C    -95 ==> Incoherence entre entete d'article champ et zone GRIB.
00101 C    -96 ==> Niveau de codage GRIB trop grand.
00102 C    -97 ==> Nombre de bits de codage trop grand.
00103 C    -98 ==> Puissance de laplacien trop grande.
00104 C    -99 ==> Sous-troncature superieure ou egale a la troncature
00105 C   -100 ==> Une des lignes trigonometriques definissant le pole de
00106 C            projection n'est pas dans [-1,1] .
00107 C   -101 ==> Cosinus et Sinus de la longitude du pole de projection
00108 C            incoherents.
00109 C   -102 ==> Le Sinus d'une latitude de la grille n'est pas dans [-1,1].
00110 C   -103 ==> Le Sinus d'une latitude est superieur ou egal a celui de
00111 C            la latitude precedente.
00112 C   -104 ==> Troncature maxi. incompatible avec cadre(s) deja defini(s).
00113 C   -105 ==> Nombre maxi. de niveaux verticaux "  "       "      "     .
00114 C   -106 ==> Nombre maxi. de latitudes pole a pole"       "      "     .
00115 C   -107 ==> Nombre maxi. de longitudes "      "  "       "      "     .
00116 C   -108 ==> Pression de reference aberrante.
00117 C   -109 ==> Type de transformation horizontale hors plage [1-FA%NTYPTX]
00118 C   -110 ==> Pas d'article "identificateur" (apres ceux du cadre)
00119 C   -111 ==> Article de nom reserve, a ne pas ecrire ou lire ainsi
00120 C   -112 ==> Caracteristiques des fichiers vraiment incompatibles,
00121 C            recopie d'article "champ" impossible.
00122 C   -113 ==> Sous-troncature implicite superieure ou egale a la
00123 C            limite usager de troncature.
00124 C   -114 ==> Ratio des troncatures (version LAM) superieur a 3.
00125 C            Garde-fou, modifiable dans FARCIS, FACSIM et FAPULA.
00126 C   -115 ==> (LAM) Le nombre maximum de points par parallele est insuffisant
00127 C            vis-a-vis de la troncature.
00128 C   -116 ==> (LAM) Le nombre maximum de points par meridien est insuffisant
00129 C            vis-a-vis de la troncature.
00130 C   -117 ==> (LAM) L'indicateur NDOMFP a une valeur hors de [-1,1]
00131 C   -118 ==> (LAM) L'indice de depart (C+I) en longitude est hors plage [1-KNXLON].
00132 C   -119 ==> (LAM) L'indice de fin (C+I) en longitude est errone.
00133 C   -120 ==> (LAM) L'indice de depart (C+I) en latitude est hors plage [1-KNLATI].
00134 C   -121 ==> (LAM) L'indice de fin (C+I) en latitude est errone.
00135 C   -122 ==> (LAM) La largeur de la zone de relaxation est trop large en longitude.
00136 C   -123 ==> (LAM) La largeur de la zone de relaxation est trop large en latitude.
00137 C   -124 ==> Nombre de bits de codage nul alors qu'un codage est demande
00138 C   -125 ==> Argument ayant une valeur incorrecte
00139 C   -126 ==> Detection d'une incoherence dans un controle interne
00140 C   -127 ==> (LAM) Description incoherente de l'ellipse contenant les troncatures
00141 C   -128 ==> Message GRIB incorrect dans l'appel a DECF10
00142 C <-1000 ==> Erreur rapportee par GRIBEX
00143 C
00144 
00145       USE SDL_MOD   , ONLY : SDL_SRLABORT
00146 
00147 #include "precision.h"
00148 C
00149 C
00150       TYPE(FA_COM) :: FA
00151       INTEGER KNUMER, KNIMES, KCODE
00152 C
00153       INTEGER ILNSPR, ILACTI, ILACT2, ILMESU, ILMESA, INUME1, INUME2
00154 C
00155       LOGICAL LDFATA, LDRLFI
00156 C
00157       CHARACTER  CDNSPR*(*), CLJOLI*6, CDMESS*(*), CLMESA*80, CDACTI*(*)
00158 #include "facom_mt.h"
00159 C
00160       REAL(KIND=JPRB) :: ZHOOK_HANDLE
00161       IF (LHOOK) CALL DR_HOOK('FAIPAR_MT',0,ZHOOK_HANDLE)
00162       ILNSPR=MIN (LEN (CDNSPR),6)
00163       ILACTI=MIN (LEN (CDACTI),8)
00164       ILACT2=MIN (LEN (CDACTI),FA%NCPCAD)
00165 C
00166       IF (LDFATA) THEN
00167         CLJOLI=' *****'
00168       ELSEIF (KNIMES.EQ.0.OR.KCODE.NE.0) THEN
00169         CLJOLI=' */*/*'
00170       ELSE
00171         CLJOLI=' /////'
00172       ENDIF
00173 C
00174       IF (KNIMES.NE.0) THEN
00175         ILMESU=MIN (LEN (CLMESS)-LEN (CLJOLI)-ILNSPR-4,LEN (CDMESS))
00176         CLMESS=CLJOLI//' '//CDNSPR(1:ILNSPR)//' - '//CDMESS(1:ILMESU)
00177         WRITE (UNIT=FA%NULOUT,FMT='(A)') CLMESS
00178       ENDIF
00179 C
00180       IF (KNIMES.EQ.0.OR.LDFATA) THEN
00181 C
00182 C        CONSTITUTION D'UN MESSAGE D'ERREUR AD HOC, EN FONCTION DE KCODE
00183 C
00184         IF (LDRLFI) THEN
00185           WRITE (UNIT=CLMESS,FMT='(''CODE-REPONSE DE *'',A6,''* ='
00186 ',     S           I4,'', UNITE ='',I3)') CDACTI(1:ILACTI),KCODE,KNUMER
00187 C
00188         ELSEIF (KCODE.GT.0) THEN
00189           WRITE (UNIT=CLMESS,
00190      S           FMT='(''ERREUR "'',A,''" FORTRAN, CODE ='
00191 ',     S           I4,'', UNITE ='',I3)') CDACTI(1:ILACTI),KCODE,KNUMER
00192 C
00193         ELSEIF (KCODE.EQ.-51) THEN
00194 C
00195           IF (KNUMER.EQ.FA%JPNIIL) THEN
00196             CLMESS='CADRE "'//CDACTI(1:ILACT2)//'" NON DEFINI'
00197           ELSE
00198             WRITE (UNIT=CLMESS,FMT='(''UNITE LOGIQUE'
00199 ',I3,     S             '' NON OUVERTE'')') KNUMER
00200           ENDIF
00201 C
00202         ELSEIF (KCODE.EQ.-52) THEN
00203 C
00204           IF (KNUMER.EQ.FA%JPNIIL) THEN
00205             CLMESS='PARAMETRE DE NIVEAU "KNIVAU" HORS PLAGE [0-2]'
00206           ELSE
00207             WRITE (UNIT=CLMESS,FMT=
00208      S   '(''NIVEAU DE MESSAGERIE HORS PLAGE [0-2], UNITE'',I3)') KNUMER
00209           ENDIF
00210 C
00211         ELSEIF (KCODE.EQ.-53) THEN
00212           CLMESS='CADRE "'//CDACTI(1:ILACT2)//
00213      S           '", PARAMETRE(S) INCORRECT(S)'
00214 C
00215         ELSEIF (KCODE.EQ.-54) THEN
00216           CLMESS=
00217      S      'CHANGEMENT EXPLICITE MODE MULTI AVEC UNITES OUVERTES'
00218 C
00219         ELSEIF (KCODE.EQ.-55) THEN
00220 C
00221           IF (KNUMER.EQ.FA%JPNIIL) THEN
00222             CLMESS='CADRE "'//CDACTI(1:ILACT2)//
00223      S                '" NON REDEFINISSABLE'
00224           ELSE
00225             WRITE (UNIT=CLMESS,FMT='(''UNITE LOGIQUE'
00226 ',I3,     S             '' DEJA OUVERTE'')') KNUMER
00227           ENDIF
00228 C
00229         ELSEIF (KCODE.EQ.-56) THEN
00230 C
00231           IF (KNUMER.EQ.FA%JPNIIL) THEN
00232             WRITE (UNIT=CLMESS,FMT=
00233      S         '(I2,'' CADRES DEFINIS, PAS DE PLACE POUR "'',A,''"'')')
00234      S      FA%JPNXCA,CDACTI(1:ILACT2)
00235           ELSE
00236             WRITE (UNIT=CLMESS,FMT=
00237 '(I2,     S           '' UNITES LOGIQUES OUVERTES, PAS DE PLACE POUR'',I3)')
00238      S      FA%JPNXFA,KNUMER
00239           ENDIF
00240 C
00241         ELSEIF (KCODE.EQ.-57) THEN
00242           WRITE (UNIT=CLMESS,
00243      S           FMT='(''UNITE'',I3,'' A CREER, CADRE "'
00244 ',A,     S           ''" NON DEFINI'')') KNUMER,CDACTI(1:ILACT2)
00245 C
00246         ELSEIF (KCODE.EQ.-58) THEN
00247           WRITE (UNIT=CLMESS,
00248      S           FMT='(''UNITE'',I3,'' /CADRE PREDEFINI "'
00249 ',     S           A,''" INCOMPATIBLES'')') KNUMER,CDACTI(1:ILACT2)
00250 C
00251         ELSEIF (KCODE.EQ.-59) THEN
00252           CLMESS='CADRE "'//CDACTI(1:ILACT2)//
00253      S           '"  NON MODIFIABLE CAR UTILISE'
00254 C
00255         ELSEIF (KCODE.EQ.-60) THEN
00256           WRITE (UNIT=CLMESS,FMT=
00257      S       '(''UN ARTICLE DU CADRE EST MANQUANT, UNITE'',I3)') KNUMER
00258 C
00259         ELSEIF (KCODE.EQ.-61) THEN
00260 C***** FAZZZZ - un article du cadre a une longueur inattendue, uniteiii *****
00261           WRITE (UNIT=CLMESS,FMT=
00262      S  '(''UN ARTICLE DU CADRE A UNE LONGUEUR INATTENDUE, UNITE'',I3)')
00263      S    KNUMER
00264 C
00265         ELSEIF (KCODE.EQ.-62) THEN
00266           WRITE (UNIT=CLMESS,FMT=
00267      S       '(''PAS D''''ARTICLE DATE SUR L''''UNITE'',I3)') KNUMER
00268 C
00269         ELSEIF (KCODE.EQ.-63) THEN
00270           WRITE (UNIT=CLMESS,FMT=
00271      S'(''L''''ARTICLE DATE A UNE LONGUEUR INATTENDUE SUR L'''' UNITE'
00272 ',     S    I3)')  KNUMER
00273 C
00274         ELSEIF (KCODE.EQ.-64) THEN
00275 C
00276           IF (CDNSPR.EQ.'FAIENC') THEN
00277             WRITE (UNIT=CLMESS,FMT=
00278      S   '(''NIVEAU VERTICAL HORS LIMITES, UNITE'',I3)') KNUMER
00279           ELSEIF (CDNSPR.EQ.'FAISAN'.OR.CDNSPR.EQ.'FALAIS') THEN
00280             WRITE (UNIT=CLMESS,FMT=
00281      S   '(''LONGUEUR D''''ARTICLE <=0, UNITE'',I3)') KNUMER
00282           ELSEIF (KNUMER.EQ.FA%JPNIIL) THEN
00283             CLMESS='RANG DANS UNE TABLE GLOBALE INCORRECT'
00284           ELSE
00285             WRITE (UNIT=CLMESS,FMT=
00286      S   '(''ARGUMENT ENTIER INCORRECT, UNITE'',I3)') KNUMER
00287           ENDIF
00288 C
00289         ELSEIF (KCODE.EQ.-65) THEN
00290 C
00291           IF (CDNSPR.EQ.'FAIENC'.OR.CDNSPR.EQ.'FACILE'.OR.
00292      S        CDNSPR.EQ.'FAISAN'.OR.CDNSPR.EQ.'FALAIS') THEN
00293             WRITE (UNIT=CLMESS,
00294      S             FMT='(''NOM D''''ARTICLE INCORRECT OU '
00295 ',     S           ''TROP LONG, UNITE'',I3)') KNUMER
00296           ELSEIF (KNUMER.EQ.FA%JPNIIL) THEN
00297             CLMESS='NOM DE CADRE INCORRECT OU TROP LONG: "'
00298      S             //CDACTI(1:ILACT2)//'"'
00299           ELSE
00300             WRITE (UNIT=CLMESS,
00301      S             FMT='(''CHAINE DE CARACTERES INCORRECT'
00302 ',     S           ''E OU TROP LONGUE, UNITE'',I3)') KNUMER
00303           ENDIF
00304 C
00305         ELSEIF (KCODE.EQ.-66) THEN
00306           WRITE (UNIT=CLMESS,
00307      S           FMT='(''INCOHERENCE (TABLES, FICHIER, '
00308 ',     S           ''APPELS S/P INT. OU FICHIER), UNITE'',I3)') KNUMER
00309 C
00310         ELSEIF (KCODE.EQ.-67) THEN
00311           CLMESS='FICHIER ASSOCIE, CADRE"'//CDACTI(1:ILACT2)
00312      S           //'" DEVANT SUBSISTER'
00313 C
00314         ELSEIF (KCODE.EQ.-68) THEN
00315 C
00316           IF (KNUMER.EQ.FA%JPNIIL) THEN
00317             CLMESS='CADRE DE NOM BLANC NON ACCEPTE'
00318           ELSE
00319             WRITE (UNIT=CLMESS,FMT=
00320      S        '(''ARTICLE DE NOM BLANC NON ACCEPTE, UNITE'',I3)') KNUMER
00321           ENDIF
00322 C
00323         ELSEIF (KCODE.EQ.-69) THEN
00324           WRITE (UNIT=CLMESS,FMT='(''VARIABLE CARACT. TROP COURTE '
00325 ',     S    ''POUR "'',A,''", UNITE'',I3)')
00326      S      CDACTI(1:ILACT2),KNUMER
00327 C
00328         ELSEIF (KCODE.EQ.-70) THEN
00329 C
00330           IF (KNUMER.EQ.FA%JPNIIL) THEN
00331             WRITE (UNIT=CLMESS,FMT='(''TRONCATURE HORS PLAGE [1-'
00332 ',     S                               I3,''], CADRE "'',A,''"'')')
00333      S      FA%NXTRON,CDACTI(1:ILACT2)
00334           ELSE
00335             WRITE (UNIT=CLMESS,FMT='(''TRONCATURE HORS PLAGE [1-'
00336 ',     S                      I3,''], UNITE'',I3)') FA%NXTRON,KNUMER
00337           ENDIF
00338 C
00339         ELSEIF (KCODE.EQ.-71) THEN
00340 C
00341           IF (KNUMER.EQ.FA%JPNIIL) THEN
00342             WRITE (UNIT=CLMESS,FMT='(''NOMBRE LATITUDES HORS [1-'
00343 ',     S             I4,''], CADRE "'',A,''"'')') 
00344      S             FA%NXLATI,CDACTI(1:ILACT2)
00345           ELSE
00346             WRITE (UNIT=CLMESS,FMT='(''NOMBRE LATITUDES HORS [1-'
00347 ',     S             I4,''], UNITE'',I3)') FA%NXLATI,KNUMER
00348           ENDIF
00349 C
00350         ELSEIF (KCODE.EQ.-72) THEN
00351 C
00352           IF (KNUMER.EQ.FA%JPNIIL) THEN
00353             WRITE (UNIT=CLMESS,FMT='(''NB. NIV. VERTICAUX HORS [1-'
00354 ',     S             I3,''], CADRE "'',A,''"'')') 
00355      S             FA%NXNIVV,CDACTI(1:ILACT2)
00356           ELSE
00357             WRITE (UNIT=CLMESS,FMT='(''NB. NIV. VERTICAUX HORS [1-'
00358 ',     S             I3,''], UNITE'',I3)') FA%NXNIVV,KNUMER
00359           ENDIF
00360 C
00361         ELSEIF (KCODE.EQ.-73) THEN
00362 C
00363           IF (KNUMER.EQ.FA%JPNIIL) THEN
00364             CLMESS='COEFF. DILATATION INFERIEUR A 1, CADRE "'
00365      S             //CDACTI(1:ILACT2)//'"'
00366           ELSE
00367             WRITE (UNIT=CLMESS,FMT=
00368      S         '(''COEFF. DILATATION INFERIEUR A 1, UNITE'',I3)') KNUMER
00369           ENDIF
00370 C
00371         ELSEIF (KCODE.EQ.-74) THEN
00372 C
00373           IF (KNUMER.EQ.FA%JPNIIL) THEN
00374             CLMESS='1 NB. POINTS/PARALL. HORS PLAGE, CADRE "'
00375      S             //CDACTI(1:ILACT2)//'"'
00376           ELSE
00377             WRITE (UNIT=CLMESS,FMT=
00378      S         '(''1 NB. POINTS/PARALL. HORS PLAGE, UNITE'',I3)') KNUMER
00379           ENDIF
00380 C
00381         ELSEIF (KCODE.EQ.-75) THEN
00382 C
00383           IF (KNUMER.EQ.FA%JPNIIL) THEN
00384             CLMESS='LISTE POINTS/PARALL. INCORRECTE, CADRE "'
00385      S             //CDACTI(1:ILACT2)//'"'
00386           ELSE
00387             WRITE (UNIT=CLMESS,FMT=
00388      S         '(''LISTE POINTS/PARALL. INCORRECTE, UNITE'',I3)') KNUMER
00389           ENDIF
00390 C
00391         ELSEIF (KCODE.EQ.-76) THEN
00392 C
00393           IF (KNUMER.EQ.FA%JPNIIL) THEN
00394             CLMESS='1 N.O.Z. MAX/PARALL. HORS PLAGE, CADRE "'
00395      S             //CDACTI(1:ILACT2)//'"'
00396           ELSE
00397             WRITE (UNIT=CLMESS,FMT=
00398      S         '(''1 N.O.Z. MAX/PARALL. HORS PLAGE, UNITE'',I3)') KNUMER
00399           ENDIF
00400 C
00401         ELSEIF (KCODE.EQ.-77) THEN
00402 C
00403           IF (KNUMER.EQ.FA%JPNIIL) THEN
00404             CLMESS='LISTE NOZMAX/PARALL. INCORRECTE, CADRE "'
00405      S             //CDACTI(1:ILACT2)//'"'
00406           ELSE
00407             WRITE (UNIT=CLMESS,FMT=
00408      S         '(''LISTE NOZMAX/PARALL. INCORRECTE, UNITE'',I3)') KNUMER
00409           ENDIF
00410 C
00411         ELSEIF (KCODE.EQ.-78) THEN
00412 C
00413           IF (KNUMER.EQ.FA%JPNIIL) THEN
00414             CLMESS='INCONSISTANCE NOZMAX/NB. POINTS, CADRE "'
00415      S             //CDACTI(1:ILACT2)//'"'
00416           ELSE
00417             WRITE (UNIT=CLMESS,FMT=
00418      S         '(''INCONSISTANCE NOZMAX/NB. POINTS, UNITE'',I3)') KNUMER
00419           ENDIF
00420 C
00421         ELSEIF (KCODE.EQ.-79) THEN
00422 C
00423           IF (KNUMER.EQ.FA%JPNIIL) THEN
00424             CLMESS='INCONSISTANCE NB.LAT/TRONCATURE, CADRE "'
00425      S             //CDACTI(1:ILACT2)//'"'
00426           ELSE
00427             WRITE (UNIT=CLMESS,FMT=
00428      S         '(''INCONSISTANCE NB.LAT/TRONCATURE, UNITE'',I3)') KNUMER
00429           ENDIF
00430 C
00431         ELSEIF (KCODE.EQ.-80) THEN
00432 C
00433           IF (KNUMER.EQ.FA%JPNIIL) THEN
00434             CLMESS='FONC. COORD. HYBRIDE HORS [0,1], CADRE "'
00435      S             //CDACTI(1:ILACT2)//'"'
00436           ELSE
00437             WRITE (UNIT=CLMESS,FMT=
00438      S         '(''FONC. COORD. HYBRIDE HORS [0,1], UNITE'',I3)') KNUMER
00439           ENDIF
00440 C
00441         ELSEIF (KCODE.EQ.-81) THEN
00442 C
00443           IF (KNUMER.EQ.FA%JPNIIL) THEN
00444 C***** FAZZZZ - fonc. coord. hybride inadaptees, CADRE "0123456789ABCDEF" *****
00445             CLMESS='FONC. COORD. HYBRIDE INADAPTEES, CADRE "'
00446      S             //CDACTI(1:ILACT2)//'"'
00447           ELSE
00448             WRITE (UNIT=CLMESS,FMT=
00449      S         '(''FONC. COORD. HYBRIDE INADAPTEES, UNITE'',I3)') KNUMER
00450           ENDIF
00451 C
00452         ELSEIF (KCODE.EQ.-82) THEN
00453 C
00454           IF (CDNSPR.EQ.'FANDAR') THEN
00455 C***** FAZZZZ - La DATE proposee a un contenu incorrect, UNITEiii *****
00456             WRITE (UNIT=CLMESS,FMT=
00457      S       '(''LA DATE PROPOSEE A UN CONTENU INCORRECT, UNITE'',I3)')
00458      S      KNUMER
00459           ELSE
00460             WRITE (UNIT=CLMESS,FMT=
00461      S       '(''L''''ARTICLE DATE A UN CONTENU INCORRECT, UNITE'',I3)')
00462      S      KNUMER
00463           ENDIF
00464 C
00465         ELSEIF (KCODE.EQ.-83) THEN
00466 C
00467           IF (KNUMER.EQ.FA%JPNIIL) THEN
00468 C***** FAZZZZ - Nb. Max. longitu. hors [1-iiii], CADRE "0123456789abcdef" *****
00469             WRITE (UNIT=CLMESS,FMT='(''NB. MAX. LONGITU. HORS [1-'
00470 ',     S             I4,''], CADRE "'',A,''"'')') 
00471      S             FA%NXLONG,CDACTI(1:ILACT2)
00472           ELSE
00473             WRITE (UNIT=CLMESS,FMT='(''NB. MAX. LONGITU. HORS [1-'
00474 ',     S             I4,''], UNITE'',I3)') FA%NXLONG,KNUMER
00475           ENDIF
00476 C
00477         ELSEIF (KCODE.EQ.-84) THEN
00478 C
00479           IF (KNUMER.EQ.FA%JPNIIL) THEN
00480             CLMESS='INCONSISTANCE KNXLON/TRONCATURE, CADRE "'
00481      S             //CDACTI(1:ILACT2)//'"'
00482           ELSE
00483             WRITE (UNIT=CLMESS,FMT=
00484      S         '(''INCONSISTANCE KNXLON/TRONCATURE, UNITE'',I3)') KNUMER
00485           ENDIF
00486 C
00487         ELSEIF (KCODE.EQ.-85) THEN
00488           WRITE (UNIT=CLMESS,FMT='(''UNITE'
00489 ',I3,     S           '' PAS ENCORE MUNIE D''''UNE DATE'')') KNUMER
00490 C
00491         ELSEIF (KCODE.EQ.-86) THEN
00492           WRITE (UNIT=CLMESS,FMT=
00493      S         '(''PREFIXE/SUFFIXE BLANC INTERDIT, UNITE'',I3)') KNUMER
00494 C
00495         ELSEIF (KCODE.EQ.-87) THEN
00496           WRITE (UNIT=CLMESS,FMT=
00497      S         '(''PREFIXE DE CHAMP TROP LONG, UNITE'',I3)') KNUMER
00498 C
00499         ELSEIF (KCODE.EQ.-88) THEN
00500           WRITE (UNIT=CLMESS,FMT=
00501      S  '(''TRONCATURE <= SOUS-TRONCATURE "NON COMPACTEE", UNITE'',I3)')
00502      S       KNUMER
00503 C
00504         ELSEIF (KCODE.EQ.-89) THEN
00505           WRITE (UNIT=CLMESS,FMT='(''ARTICLE-CHAMP "'
00506 ',A,     S           ''" INEXISTANT, UNITE'',I3)') CDACTI(1:ILACT2),KNUMER
00507 C
00508         ELSEIF (KCODE.EQ.-90) THEN
00509           WRITE (UNIT=CLMESS,FMT='(''ARTICLE-CHAMP "'
00510 ',A,     S           ''" TROP LONG, UNITE'',I3)') CDACTI(1:ILACT2),KNUMER
00511 C
00512         ELSEIF (KCODE.EQ.-91) THEN
00513 C***** FAZZZZ - Entete d'article "0123456789abcdef" incorrect, uniteiii *****
00514           WRITE (UNIT=CLMESS,FMT='(''ENTETE D''''ARTICLE "'
00515 ',A,     S           ''" INCORRECT, UNITE'',I3)') CDACTI(1:ILACT2),KNUMER
00516 C
00517         ELSEIF (KCODE.EQ.-92) THEN
00518 C***** FAZZZZ - Desaccord Csp./pdg., Article "0123456789abcdef", uniteiii *****
00519           WRITE (UNIT=CLMESS,
00520      S           FMT='(''DESACCORD CSP./PDG., ARTICLE "'
00521 ',A,     S           ''" , UNITE'',I3)') CDACTI(1:ILACT2),KNUMER
00522 C
00523         ELSEIF (KCODE.EQ.-93) THEN
00524           WRITE (UNIT=CLMESS,FMT='(''ARTICLE "'
00525 ',A,     S           ''" TROP *COURT* SUR L''''UNITE'',I3)')
00526      S        CDACTI(1:ILACT2),KNUMER
00527 C
00528         ELSEIF (KCODE.EQ.-94) THEN
00529           WRITE (UNIT=CLMESS,FMT='(''ARTICLE "'
00530 ',A,     S           ''" TROP *LONG* SUR L''''UNITE'',I3)')
00531      S        CDACTI(1:ILACT2),KNUMER
00532 C
00533         ELSEIF (KCODE.EQ.-95) THEN
00534 C***** FAZZZZ - inconsis entete/GRIB article "0123456789abcdef", uniteiii *****
00535           WRITE (UNIT=CLMESS,
00536      S           FMT='(''INCONSIS ENTETE/GRIB ARTICLE "'
00537 ',     S           ''", UNITE'',I3)')
00538      S        CDACTI(1:ILACT2),KNUMER
00539 C
00540         ELSEIF (KCODE.EQ.-96) THEN
00541 C
00542           IF (KNUMER.EQ.FA%JPNIIL) THEN
00543             CLMESS='NIVEAU IMPLICITE DE CODAGE GRIB TROP GRAND'
00544           ELSE
00545             WRITE (UNIT=CLMESS,FMT=
00546      S       '(''NIVEAU DE CODAGE GRIB TROP GRAND, UNITE'',I3)') KNUMER
00547           ENDIF
00548 C
00549         ELSEIF (KCODE.EQ.-97) THEN
00550 C
00551           IF (KNUMER.EQ.FA%JPNIIL) THEN
00552             WRITE (UNIT=CLMESS,FMT=
00553      S  '(''NOMBRE(S) IMPLICITE(S) DE BITS PAR VALEUR > MAXI ('
00554 ',I2,     S      '')'')')   FA%NBIMAX
00555           ELSE
00556             WRITE (UNIT=CLMESS,FMT=
00557      S  '(''NOMBRE(S) DE BITS PAR VALEUR > MAXI ('',I2,''), UNITE'
00558 ',     S      I3)')   FA%NBIMAX,KNUMER
00559           ENDIF
00560 C
00561         ELSEIF (KCODE.EQ.-98) THEN
00562 C
00563           IF (KNUMER.EQ.FA%JPNIIL) THEN
00564             CLMESS=
00565      S       'PUISSANCE IMPLICITE DE LAPLACIEN TROP GRANDE'
00566           ELSE
00567             WRITE (UNIT=CLMESS,FMT=
00568      S     '(''PUISSANCE DE LAPLACIEN TROP GRANDE, UNITE'',I3)')
00569      S         KNUMER
00570           ENDIF
00571 C
00572         ELSEIF (KCODE.EQ.-99) THEN
00573 C
00574           IF (CDNSPR.EQ.'FARFLU') THEN
00575             CLMESS=
00576      S       'TRONCATURE MAX INFERIEURE OU = SOUS-TRONCATURE IMPLICITE'
00577           ELSEIF (KNUMER.EQ.FA%JPNIIL) THEN
00578             CLMESS=
00579      S       'SS-TRONCATURE IMPLICITE SUPERIEURE OU = A UNE TRONCATURE'
00580           ELSE
00581             WRITE (UNIT=CLMESS,FMT=
00582      S     '(''SOUS-TRONCATURE SUPERIEURE OU = A LA TRONCATURE, UNITE'
00583 ',     S       I3)')  KNUMER
00584           ENDIF
00585 C
00586         ELSEIF (KCODE.EQ.-100) THEN
00587 C
00588           IF (KNUMER.EQ.FA%JPNIIL) THEN
00589             CLMESS='SIN/COS POLE PROJEC. HORS [-1,1], CADRE "'
00590      S             //CDACTI(1:ILACT2)//'"'
00591           ELSE
00592             WRITE (UNIT=CLMESS,FMT=
00593      S     '(''SINUS/COSINUS DU POLE DE PROJECTION HORS [-1,1], UNITE'
00594 ',     S       I3)')  KNUMER
00595           ENDIF
00596 C
00597         ELSEIF (KCODE.EQ.-101) THEN
00598 C
00599           IF (KNUMER.EQ.FA%JPNIIL) THEN
00600             CLMESS='INCOHERENCE COS/SIN LONGIT. POLE, CADRE "'
00601      S             //CDACTI(1:ILACT2)//'"'
00602           ELSE
00603             WRITE (UNIT=CLMESS,FMT=
00604      S     '(''INCOHERENCE COS/SIN LONGITUDE POLE PROJECTION, UNITE'
00605 ',     S       I3)')  KNUMER
00606           ENDIF
00607 C
00608         ELSEIF (KCODE.EQ.-102) THEN
00609 C
00610           IF (KNUMER.EQ.FA%JPNIIL) THEN
00611             CLMESS='SINUS D''UNE LATITUDE HORS [-1,1], CADRE "'
00612      S             //CDACTI(1:ILACT2)//'"'
00613           ELSE
00614             WRITE (UNIT=CLMESS,FMT=
00615      S    '(''SINUS D''''UNE LATITUDE DE LA GRILLE HORS [-1,1], UNITE'
00616 ',     S       I3)')  KNUMER
00617           ENDIF
00618 C
00619         ELSEIF (KCODE.EQ.-103) THEN
00620 C
00621           IF (KNUMER.EQ.FA%JPNIIL) THEN
00622 C***** FAZZZZ - sinus latitudes non decroissants, cadre '0123456789abcdef" *****
00623             CLMESS='SINUS LATITUDES NON DECROISSANTS, CADRE "'
00624      S             //CDACTI(1:ILACT2)//'"'
00625           ELSE
00626             WRITE (UNIT=CLMESS,FMT=
00627      S    '(''SINUS DES LATITUDES NON DECROISSANTS, UNITE'
00628 ',     S       I3)')  KNUMER
00629           ENDIF
00630 C
00631         ELSEIF (KCODE.EQ.-104) THEN
00632 C
00633           CLMESS=
00634      S     'TRONCATURE MAXI INCOMPATIBLE AVEC CADRE(S) DEJA DEFINI(S)'
00635 C
00636         ELSEIF (KCODE.EQ.-105) THEN
00637 C
00638           CLMESS=
00639      S     'NB MAX NIVEAUX VERTICAUX/CADRE(S) DEFINI(S) INCOMPATIBLES'
00640 C
00641         ELSEIF (KCODE.EQ.-106) THEN
00642 C
00643           CLMESS=
00644      S     'NOMBRE MAXI DE LATITUDES/CADRE(S) DEFINI(S) INCOMPATIBLES'
00645 C
00646         ELSEIF (KCODE.EQ.-107) THEN
00647 C
00648           CLMESS=
00649      S     'NOMBRE MAX DE LONGITUDES/CADRE(S) DEFINI(S) INCOMPATIBLES'
00650 C
00651         ELSEIF (KCODE.EQ.-108) THEN
00652 C
00653 C***** FAZZZZ - Pression de reference aberrante, cadre "0123456789abcdef" *****
00654           IF (KNUMER.EQ.FA%JPNIIL) THEN
00655             CLMESS='PRESSION DE REFERENCE ABERRANTE, CADRE "'
00656      S             //CDACTI(1:ILACT2)//'"'
00657           ELSE
00658             WRITE (UNIT=CLMESS,FMT=
00659      S             '(''PRESSION DE REFERENCE ABERRANTE, UNITE'',I3)')
00660      S          KNUMER
00661           ENDIF
00662 C
00663         ELSEIF (KCODE.EQ.-109) THEN
00664 C
00665           IF (KNUMER.EQ.FA%JPNIIL) THEN
00666             WRITE (UNIT=CLMESS,
00667      S             FMT='(''TYPE TRANSFO HORIZ. HORS [1-'
00668 ',     S             I2,''], CADRE "'',A,''"'')') 
00669      S             FA%NTYPTX,CDACTI(1:ILACT2)
00670           ELSE
00671             WRITE (UNIT=CLMESS,
00672      S             FMT='(''TYPE TRANSFO HORIZ. HORS [1-'
00673 ',     S             I2,''], UNITE'',I3)') FA%NTYPTX,KNUMER
00674           ENDIF
00675 C
00676         ELSEIF (KCODE.EQ.-110) THEN
00677           WRITE (UNIT=CLMESS,FMT=
00678      S    '(''PAS D''''ARTICLE DERRIERE CEUX DU CADRE, UNITE'',I3)')
00679      S           KNUMER
00680 C
00681         ELSEIF (KCODE.EQ.-111) THEN
00682           WRITE (UNIT=CLMESS,FMT=
00683      S    '(''NOM RESERVE, NE PEUT ETRE UTILISE AINSI, UNITE'',I3)')
00684      S           KNUMER
00685 C
00686         ELSEIF (KCODE.EQ.-112) THEN
00687           INUME1=KNUMER/1000
00688           INUME2=MOD (KNUMER,1000)
00689           WRITE (UNIT=CLMESS,
00690      S           FMT='(''COPIE DE '''''',A,'''''': UNITES'
00691 ',     S           I3,'' ET'',I3,'' INCOMPATIBLES'')') CDACTI(1:ILACT2),
00692      S      INUME1,INUME2
00693 C
00694         ELSEIF (KCODE.EQ.-113) THEN
00695           CLMESS=
00696      S       'SS-TRONCATURE IMPLICITE SUPERIEURE OU = A TRONCATURE MAXI'
00697 C
00698         ELSEIF (KCODE.EQ.-114) THEN
00699           CLMESS=
00700      S       
00701 'RATIO DES TRONCATURES HORIZ. (VERSION LAM) SUPERIEUR A 3:     S        GARDE-FOU, MODIFIABLE DANS FARCIS+FACSIM'
00702 C
00703         ELSEIF (KCODE.EQ.-115) THEN
00704           IF (KNUMER.EQ.FA%JPNIIL) THEN
00705             CLMESS='KNXLON<(-2*KTYPTR+1), CADRE "'
00706      S             //CDACTI(1:ILACT2)//'"'
00707           ELSE
00708             WRITE (UNIT=CLMESS,FMT=
00709      S         '(''KNXLON<(-2*KTYPTR+1), UNITE'',I3)') KNUMER
00710           ENDIF
00711 C
00712         ELSEIF (KCODE.EQ.-116) THEN
00713           IF (KNUMER.EQ.FA%JPNIIL) THEN
00714             CLMESS='KNXLON<(2*KTRONC+1), CADRE "'
00715      S             //CDACTI(1:ILACT2)//'"'
00716           ELSE
00717             WRITE (UNIT=CLMESS,FMT=
00718      S         '(''KNXLON<(2*KTRONC+1), UNITE'',I3)') KNUMER
00719           ENDIF
00720 C
00721         ELSEIF (KCODE.EQ.-117) THEN
00722 C
00723           IF (KNUMER.EQ.FA%JPNIIL) THEN
00724             CLMESS='INDICATEUR DE DOMAINE HORS [-1,1], CADRE "'
00725      S             //CDACTI(1:ILACT2)//'"'
00726           ELSE
00727             WRITE (UNIT=CLMESS,FMT=
00728      S    '(''INDICATEUR DE DOMAINE HORS [-1,1], UNITE'
00729 ',     S       I3)')  KNUMER
00730           ENDIF
00731 C
00732         ELSEIF (KCODE.EQ.-118) THEN
00733 C
00734           IF (KNUMER.EQ.FA%JPNIIL) THEN
00735             CLMESS=
00736      S       'INDICE DE DEPART EN LONGITUDE HORS [1,KNXLON], CADRE "' 
00737      S             //CDACTI(1:ILACT2)//'"'
00738           ELSE
00739             WRITE (UNIT=CLMESS,FMT=
00740      S    '(''INDICE DE DEPART EN LONGITUDE HORS [1,KNXLON], UNITE'
00741 ',     S       I3)')  KNUMER
00742           ENDIF
00743 C
00744         ELSEIF (KCODE.EQ.-119) THEN
00745 C
00746           IF (KNUMER.EQ.FA%JPNIIL) THEN
00747             CLMESS='INDICE DE FIN EN LONGITUDE ERRONE, CADRE "'
00748      S             //CDACTI(1:ILACT2)//'"'
00749           ELSE
00750             WRITE (UNIT=CLMESS,FMT=
00751      S    '(''INDICE DE FIN EN LONGITUDE ERRONE, UNITE'
00752 ',     S       I3)')  KNUMER
00753           ENDIF
00754 C
00755         ELSEIF (KCODE.EQ.-120) THEN
00756 C
00757           IF (KNUMER.EQ.FA%JPNIIL) THEN
00758             CLMESS=
00759      S       'INDICE DE DEPART EN LATITUDE HORS [1,KNLATI], CADRE "'
00760      S             //CDACTI(1:ILACT2)//'"'
00761           ELSE
00762             WRITE (UNIT=CLMESS,FMT=
00763      S    '(''INDICE DE DEPART EN LATITUDE HORS [1,KNLATI], UNITE'
00764 ',     S       I3)')  KNUMER
00765           ENDIF
00766 C
00767         ELSEIF (KCODE.EQ.-121) THEN
00768 C
00769           IF (KNUMER.EQ.FA%JPNIIL) THEN
00770             CLMESS='INDICE DE FIN EN LATITUDE ERRONE, CADRE "'
00771      S             //CDACTI(1:ILACT2)//'"'
00772           ELSE
00773             WRITE (UNIT=CLMESS,FMT=
00774      S    '(''INDICE DE FIN EN LATITUDE ERRONE, UNITE'
00775 ',     S       I3)')  KNUMER
00776           ENDIF
00777 C
00778         ELSEIF (KCODE.EQ.-122) THEN
00779 C
00780           IF (KNUMER.EQ.FA%JPNIIL) THEN
00781             CLMESS='ZONE DE RELAXATION TROP LARGE '//
00782      S                'EN LONGITUDE, CADRE "'
00783      S                //CDACTI(1:ILACT2)//'"'
00784           ELSE
00785             WRITE (UNIT=CLMESS,FMT=
00786      S    '(''ZONE DE RELAXATION TROP LARGE EN LONGITUDE, UNITE'
00787 ',     S       I3)')  KNUMER
00788           ENDIF
00789 C
00790         ELSEIF (KCODE.EQ.-123) THEN
00791 C
00792           IF (KNUMER.EQ.FA%JPNIIL) THEN
00793             CLMESS='ZONE DE RELAXATION TROP LARGE '//
00794      S                'EN LATITUDE, CADRE "'
00795      S                //CDACTI(1:ILACT2)//'"'
00796           ELSE
00797             WRITE (UNIT=CLMESS,FMT=
00798      S    '(''ZONE DE RELAXATION TROP LARGE EN LATITUDE, UNITE'
00799 ',     S       I3)')  KNUMER
00800           ENDIF
00801 C
00802         ELSEIF (KCODE.EQ.-124) THEN
00803           CLMESS=
00804      S       'NB DE BITS POUR CODER NUL'
00805 C
00806         ELSEIF (KCODE.EQ.-125) THEN
00807           CLMESS=
00808      S       'ARGUMENT AYANT UNE VALEUR INCORRECTE'
00809 C
00810         ELSEIF (KCODE.EQ.-126) THEN
00811           CLMESS=
00812      S       'INCOHERENCE DANS UN CONTROLE INTERNE'
00813 C
00814         ELSEIF (KCODE.EQ.-127) THEN
00815           CLMESS=
00816      S       'INCOHERENCE DANS LE CONTROLE DE L''ELLIPSE'
00817 C
00818         ELSEIF (KCODE.EQ.-128) THEN
00819           CLMESS=
00820      S       'MESSAGE GRIB INCORRECT POUR DECF10'
00821 C
00822         ELSEIF (KCODE.LT.-1000) THEN
00823           CLMESS=
00824      S  'ERREUR RAPPORTEE PAR GRIBEX (cf manuel, avec kret=-krep-1000)'
00825 C
00826         ELSEIF (KNUMER.EQ.FA%JPNIIL) THEN
00827           WRITE (UNIT=CLMESS,FMT='(''ERREUR GLOBALE NUMERO'',I6)') 
00828      S            KCODE
00829 C
00830         ELSE
00831           WRITE (UNIT=CLMESS,FMT='(''ERREUR GRIB'
00832 ',I6,     S           '' SUR UNITE LOGIQUE'',I3)') 200+KCODE,KNUMER
00833         ENDIF
00834 C
00835         ILMESA=LEN (CLMESA)
00836         ILMESU=ILMESA-1-2*LEN (CLJOLI)-ILNSPR-4
00837         CLMESA=CLJOLI//' '//CDNSPR(1:ILNSPR)//' - '//CLMESS(1:ILMESU)
00838      S         //CLJOLI
00839         WRITE (UNIT=FA%NULOUT,FMT='(A)') CLMESA
00840 C
00841         WRITE (UNIT=FA%NULOUT,FMT=*) CLMESA
00842         IF (LDFATA.AND.KCODE.NE.0) THEN
00843           CALL SDL_SRLABORT
00844         ENDIF
00845 C
00846       ENDIF
00847 C
00848       IF (LHOOK) CALL DR_HOOK('FAIPAR_MT',1,ZHOOK_HANDLE)
00849       END
00850