4 & (fa, knumer, knimes, kcode, ldfata, cdmess, &
5 & cdnspr, cdacti, ldrlfi )
157 INTEGER (KIND=JPLIKB) KNUMER, KNIMES, KCODE
159 INTEGER (KIND=JPLIKB) ILNSPR, ILACTI, ILACT2
160 INTEGER (KIND=JPLIKB) ILMESU, ILMESA, INUME1, INUME2
162 LOGICAL LDFATA, LDRLFI
164 CHARACTER(LEN=*) CDNSPR
165 CHARACTER(LEN=6) CLJOLI
166 CHARACTER(LEN=6) CLITID
167 CHARACTER(LEN=*) CDMESS
168 CHARACTER(LEN=80) CLMESA
169 CHARACTER(LEN=*) CDACTI
170 CHARACTER(LEN=FA%JPLMES) CLMESS
173 REAL(KIND=JPRB) :: ZHOOK_HANDLE
175 ilnspr=min(int(len(cdnspr),
jplikb),6_jplikb )
176 ilacti=min(int(len(cdacti),
jplikb),8_jplikb )
177 ilact2=min(int(len(cdacti),
jplikb),fa%NCPCAD)
181 ELSEIF (knimes.EQ.0.OR.kcode.NE.0)
THEN 192 IF (knimes.NE.0)
THEN 193 ilmesu=min(int(len(clmess),
jplikb)- &
194 & int(len(cljoli),
jplikb)-ilnspr-4, &
195 & int(len(cdmess),
jplikb))
196 clmess=cljoli//
' '//cdnspr(1:ilnspr)//
' - '//
trim(cdmess(1:ilmesu))//clitid
197 WRITE (unit=fa%NULOUT,fmt=
'(A)')
trim(clmess)
200 IF (knimes.EQ.0.OR.ldfata)
THEN 205 WRITE (unit=clmess,fmt=
'(''CODE-REPONSE DE *'',A6,''* ='', & 206 & I4,'', UNITE ='',I3)') cdacti(1:ilacti),kcode,knumer
208 ELSEIF (kcode.GT.0)
THEN 209 WRITE (unit=clmess, &
210 & fmt=
'(''ERREUR "'',A,''" FORTRAN, CODE ='', & 211 & I4,'', UNITE ='',I3)') cdacti(1:ilacti),kcode,knumer
213 ELSEIF (kcode.EQ.-51)
THEN 215 IF (knumer.EQ.
jpniil)
THEN 216 clmess=
'CADRE "'//cdacti(1:ilact2)//
'" NON DEFINI' 218 WRITE (unit=clmess,fmt=
'(''UNITE LOGIQUE'',I3, & 219 & '' NON OUVERTE'')') knumer
222 ELSEIF (kcode.EQ.-52)
THEN 224 IF (knumer.EQ.
jpniil)
THEN 225 clmess=
'PARAMETRE DE NIVEAU "KNIVAU" HORS PLAGE [0-2]' 227 WRITE (unit=clmess,fmt= &
228 &
'(''NIVEAU DE MESSAGERIE HORS PLAGE [0-2], UNITE'',I3)') knumer
231 ELSEIF (kcode.EQ.-53)
THEN 232 clmess=
'CADRE "'//cdacti(1:ilact2)// &
233 &
'", PARAMETRE(S) INCORRECT(S)' 235 ELSEIF (kcode.EQ.-54)
THEN 237 &
'CHANGEMENT EXPLICITE MODE MULTI AVEC UNITES OUVERTES' 239 ELSEIF (kcode.EQ.-55)
THEN 241 IF (knumer.EQ.
jpniil)
THEN 242 clmess=
'CADRE "'//cdacti(1:ilact2)// &
243 &
'" NON REDEFINISSABLE' 245 WRITE (unit=clmess,fmt=
'(''UNITE LOGIQUE'',I3, & 246 & '' DEJA OUVERTE'')') knumer
249 ELSEIF (kcode.EQ.-56)
THEN 251 IF (knumer.EQ.
jpniil)
THEN 252 WRITE (unit=clmess,fmt= &
253 &
'(I2,'' CADRES DEFINIS, PAS DE PLACE POUR "'',A,''"'')') &
254 & fa%JPNXCA,cdacti(1:ilact2)
256 WRITE (unit=clmess,fmt=
'(I2, & 257 & '' UNITES LOGIQUES OUVERTES, PAS DE PLACE POUR'',I3)') &
261 ELSEIF (kcode.EQ.-57)
THEN 262 WRITE (unit=clmess, &
263 & fmt=
'(''UNITE'',I3,'' A CREER, CADRE "'',A, & 264 & ''" NON DEFINI'')') knumer,cdacti(1:ilact2)
266 ELSEIF (kcode.EQ.-58)
THEN 267 WRITE (unit=clmess, &
268 & fmt=
'(''UNITE'',I3,'' /CADRE PREDEFINI "'', & 269 & A,''" INCOMPATIBLES'')') knumer,cdacti(1:ilact2)
271 ELSEIF (kcode.EQ.-59)
THEN 272 clmess=
'CADRE "'//cdacti(1:ilact2)// &
273 &
'" NON MODIFIABLE CAR UTILISE' 275 ELSEIF (kcode.EQ.-60)
THEN 276 WRITE (unit=clmess,fmt= &
277 &
'(''UN ARTICLE DU CADRE EST MANQUANT, UNITE'',I3)') knumer
279 ELSEIF (kcode.EQ.-61)
THEN 281 WRITE (unit=clmess,fmt= &
282 &
'(''UN ARTICLE DU CADRE A UNE LONGUEUR INATTENDUE, UNITE'',I3)') &
285 ELSEIF (kcode.EQ.-62)
THEN 286 WRITE (unit=clmess,fmt= &
287 &
'(''PAS D''''ARTICLE DATE SUR L''''UNITE'',I3)') knumer
289 ELSEIF (kcode.EQ.-63)
THEN 290 WRITE (unit=clmess,fmt= &
291 &
'(''L''''ARTICLE DATE A UNE LONGUEUR INATTENDUE SUR L'''' UNITE'', & 294 ELSEIF (kcode.EQ.-64)
THEN 296 IF (cdnspr.EQ.
'FAIENC')
THEN 297 WRITE (unit=clmess,fmt= &
298 &
'(''NIVEAU VERTICAL HORS LIMITES, UNITE'',I3)') knumer
299 ELSEIF (cdnspr.EQ.
'FAISAN'.OR.cdnspr.EQ.
'FALAIS')
THEN 300 WRITE (unit=clmess,fmt= &
301 &
'(''LONGUEUR D''''ARTICLE <=0, UNITE'',I3)') knumer
302 ELSEIF (knumer.EQ.
jpniil)
THEN 303 clmess=
'RANG DANS UNE TABLE GLOBALE INCORRECT' 305 WRITE (unit=clmess,fmt= &
306 &
'(''ARGUMENT ENTIER INCORRECT, UNITE'',I3)') knumer
309 ELSEIF (kcode.EQ.-65)
THEN 311 IF (cdnspr.EQ.
'FAIENC'.OR.cdnspr.EQ.
'FACILE'.OR. &
312 & cdnspr.EQ.
'FAISAN'.OR.cdnspr.EQ.
'FALAIS')
THEN 313 WRITE (unit=clmess, &
314 & fmt=
'(''NOM D''''ARTICLE INCORRECT OU '', & 315 & ''TROP LONG, UNITE'',I3)') knumer
316 ELSEIF (knumer.EQ.
jpniil)
THEN 317 clmess=
'NOM DE CADRE INCORRECT OU TROP LONG: "' &
318 & //cdacti(1:ilact2)//
'"' 320 WRITE (unit=clmess, &
321 & fmt=
'(''CHAINE DE CARACTERES INCORRECT'', & 322 & ''E OU TROP LONGUE, UNITE'',I3)') knumer
325 ELSEIF (kcode.EQ.-66)
THEN 326 WRITE (unit=clmess, &
327 & fmt=
'(''INCOHERENCE (TABLES, FICHIER, '', & 328 & ''APPELS S/P INT. OU FICHIER), UNITE'',I3)') knumer
330 ELSEIF (kcode.EQ.-67)
THEN 331 clmess=
'FICHIER ASSOCIE, CADRE"'//cdacti(1:ilact2) &
332 & //
'" DEVANT SUBSISTER' 334 ELSEIF (kcode.EQ.-68)
THEN 336 IF (knumer.EQ.
jpniil)
THEN 337 clmess=
'CADRE DE NOM BLANC NON ACCEPTE' 339 WRITE (unit=clmess,fmt= &
340 &
'(''ARTICLE DE NOM BLANC NON ACCEPTE, UNITE'',I3)') knumer
343 ELSEIF (kcode.EQ.-69)
THEN 344 WRITE (unit=clmess,fmt=
'(''VARIABLE CARACT. TROP COURTE '', & 345 & ''POUR "'',A,''", UNITE'',I3)') &
346 & cdacti(1:ilact2),knumer
348 ELSEIF (kcode.EQ.-70)
THEN 350 IF (knumer.EQ.
jpniil)
THEN 351 WRITE (unit=clmess,fmt=
'(''TRONCATURE HORS PLAGE [1-'', & 352 & I4,''], CADRE "'',A,''"'')') &
353 & fa%NXTRON,cdacti(1:ilact2)
355 WRITE (unit=clmess,fmt=
'(''TRONCATURE HORS PLAGE [1-'', & 356 & I4,''], UNITE'',I4)') fa%NXTRON,knumer
359 ELSEIF (kcode.EQ.-71)
THEN 361 IF (knumer.EQ.
jpniil)
THEN 362 WRITE (unit=clmess,fmt=
'(''NOMBRE LATITUDES HORS [1-'', & 363 & I4,''], CADRE "'',A,''"'')') &
364 & fa%NXLATI,cdacti(1:ilact2)
366 WRITE (unit=clmess,fmt=
'(''NOMBRE LATITUDES HORS [1-'', & 367 & I4,''], UNITE'',I3)') fa%NXLATI,knumer
370 ELSEIF (kcode.EQ.-72)
THEN 372 IF (knumer.EQ.
jpniil)
THEN 373 WRITE (unit=clmess,fmt=
'(''NB. NIV. VERTICAUX HORS [1-'', & 374 & I3,''], CADRE "'',A,''"'')') &
375 & fa%NXNIVV,cdacti(1:ilact2)
377 WRITE (unit=clmess,fmt=
'(''NB. NIV. VERTICAUX HORS [1-'', & 378 & I3,''], UNITE'',I3)') fa%NXNIVV,knumer
381 ELSEIF (kcode.EQ.-73)
THEN 383 IF (knumer.EQ.
jpniil)
THEN 384 clmess=
'COEFF. DILATATION INFERIEUR A 1, CADRE "' &
385 & //cdacti(1:ilact2)//
'"' 387 WRITE (unit=clmess,fmt= &
388 &
'(''COEFF. DILATATION INFERIEUR A 1, UNITE'',I3)') knumer
391 ELSEIF (kcode.EQ.-74)
THEN 393 IF (knumer.EQ.
jpniil)
THEN 394 clmess=
'1 NB. POINTS/PARALL. HORS PLAGE, CADRE "' &
395 & //cdacti(1:ilact2)//
'"' 397 WRITE (unit=clmess,fmt= &
398 &
'(''1 NB. POINTS/PARALL. HORS PLAGE, UNITE'',I3)') knumer
401 ELSEIF (kcode.EQ.-75)
THEN 403 IF (knumer.EQ.
jpniil)
THEN 404 clmess=
'LISTE POINTS/PARALL. INCORRECTE, CADRE "' &
405 & //cdacti(1:ilact2)//
'"' 407 WRITE (unit=clmess,fmt= &
408 &
'(''LISTE POINTS/PARALL. INCORRECTE, UNITE'',I3)') knumer
411 ELSEIF (kcode.EQ.-76)
THEN 413 IF (knumer.EQ.
jpniil)
THEN 414 clmess=
'1 N.O.Z. MAX/PARALL. HORS PLAGE, CADRE "' &
415 & //cdacti(1:ilact2)//
'"' 417 WRITE (unit=clmess,fmt= &
418 &
'(''1 N.O.Z. MAX/PARALL. HORS PLAGE, UNITE'',I3)') knumer
421 ELSEIF (kcode.EQ.-77)
THEN 423 IF (knumer.EQ.
jpniil)
THEN 424 clmess=
'LISTE NOZMAX/PARALL. INCORRECTE, CADRE "' &
425 & //cdacti(1:ilact2)//
'"' 427 WRITE (unit=clmess,fmt= &
428 &
'(''LISTE NOZMAX/PARALL. INCORRECTE, UNITE'',I3)') knumer
431 ELSEIF (kcode.EQ.-78)
THEN 433 IF (knumer.EQ.
jpniil)
THEN 434 clmess=
'INCONSISTANCE NOZMAX/NB. POINTS, CADRE "' &
435 & //cdacti(1:ilact2)//
'"' 437 WRITE (unit=clmess,fmt= &
438 &
'(''INCONSISTANCE NOZMAX/NB. POINTS, UNITE'',I3)') knumer
441 ELSEIF (kcode.EQ.-79)
THEN 443 IF (knumer.EQ.
jpniil)
THEN 444 clmess=
'INCONSISTANCE NB.LAT/TRONCATURE, CADRE "' &
445 & //cdacti(1:ilact2)//
'"' 447 WRITE (unit=clmess,fmt= &
448 &
'(''INCONSISTANCE NB.LAT/TRONCATURE, UNITE'',I3)') knumer
451 ELSEIF (kcode.EQ.-80)
THEN 453 IF (knumer.EQ.
jpniil)
THEN 454 clmess=
'FONC. COORD. HYBRIDE HORS [0,1], CADRE "' &
455 & //cdacti(1:ilact2)//
'"' 457 WRITE (unit=clmess,fmt= &
458 &
'(''FONC. COORD. HYBRIDE HORS [0,1], UNITE'',I3)') knumer
461 ELSEIF (kcode.EQ.-81)
THEN 463 IF (knumer.EQ.
jpniil)
THEN 465 clmess=
'FONC. COORD. HYBRIDE INADAPTEES, CADRE "' &
466 & //cdacti(1:ilact2)//
'"' 468 WRITE (unit=clmess,fmt= &
469 &
'(''FONC. COORD. HYBRIDE INADAPTEES, UNITE'',I3)') knumer
472 ELSEIF (kcode.EQ.-82)
THEN 474 IF (cdnspr.EQ.
'FANDAR')
THEN 476 WRITE (unit=clmess,fmt= &
477 &
'(''LA DATE PROPOSEE A UN CONTENU INCORRECT, UNITE'',I3)') &
480 WRITE (unit=clmess,fmt= &
481 &
'(''L''''ARTICLE DATE A UN CONTENU INCORRECT, UNITE'',I3)') &
485 ELSEIF (kcode.EQ.-83)
THEN 487 IF (knumer.EQ.
jpniil)
THEN 489 WRITE (unit=clmess,fmt=
'(''NB. MAX. LONGITU. HORS [1-'', & 490 & I4,''], CADRE "'',A,''"'')') &
491 & fa%NXLONG,cdacti(1:ilact2)
493 WRITE (unit=clmess,fmt=
'(''NB. MAX. LONGITU. HORS [1-'', & 494 & I4,''], UNITE'',I3)') fa%NXLONG,knumer
497 ELSEIF (kcode.EQ.-84)
THEN 499 IF (knumer.EQ.
jpniil)
THEN 500 clmess=
'INCONSISTANCE KNXLON/TRONCATURE, CADRE "' &
501 & //cdacti(1:ilact2)//
'"' 503 WRITE (unit=clmess,fmt= &
504 &
'(''INCONSISTANCE KNXLON/TRONCATURE, UNITE'',I3)') knumer
507 ELSEIF (kcode.EQ.-85)
THEN 508 WRITE (unit=clmess,fmt=
'(''UNITE'',I3, & 509 & '' PAS ENCORE MUNIE D''''UNE DATE'')') knumer
511 ELSEIF (kcode.EQ.-86)
THEN 512 WRITE (unit=clmess,fmt= &
513 &
'(''PREFIXE/SUFFIXE BLANC INTERDIT, UNITE'',I3)') knumer
515 ELSEIF (kcode.EQ.-87)
THEN 516 WRITE (unit=clmess,fmt= &
517 &
'(''PREFIXE DE CHAMP TROP LONG, UNITE'',I3)') knumer
519 ELSEIF (kcode.EQ.-88)
THEN 520 WRITE (unit=clmess,fmt= &
521 &
'(''TRONCATURE <= SOUS-TRONCATURE "NON COMPACTEE", UNITE'',I3)') &
524 ELSEIF (kcode.EQ.-89)
THEN 525 WRITE (unit=clmess,fmt=
'(''ARTICLE-CHAMP "'',A, & 526 & ''" INEXISTANT, UNITE'',I3)') cdacti(1:ilact2),knumer
528 ELSEIF (kcode.EQ.-90)
THEN 529 WRITE (unit=clmess,fmt=
'(''ARTICLE-CHAMP "'',A, & 530 & ''" TROP LONG, UNITE'',I3)') cdacti(1:ilact2),knumer
532 ELSEIF (kcode.EQ.-91)
THEN 534 WRITE (unit=clmess,fmt=
'(''ENTETE D''''ARTICLE "'',A, & 535 & ''" INCORRECT, UNITE'',I3)') cdacti(1:ilact2),knumer
537 ELSEIF (kcode.EQ.-92)
THEN 539 WRITE (unit=clmess, &
540 & fmt=
'(''DESACCORD CSP./PDG., ARTICLE "'',A, & 541 & ''" , UNITE'',I3)') cdacti(1:ilact2),knumer
543 ELSEIF (kcode.EQ.-93)
THEN 544 WRITE (unit=clmess,fmt=
'(''ARTICLE "'',A, & 545 & ''" TROP *COURT* SUR L''''UNITE'',I3)') &
546 & cdacti(1:ilact2),knumer
548 ELSEIF (kcode.EQ.-94)
THEN 549 WRITE (unit=clmess,fmt=
'(''ARTICLE "'',A, & 550 & ''" TROP *LONG* SUR L''''UNITE'',I3)') &
551 & cdacti(1:ilact2),knumer
553 ELSEIF (kcode.EQ.-95)
THEN 555 WRITE (unit=clmess, &
556 & fmt=
'(''INCONSIS ENTETE/GRIB ARTICLE "'',A, & 557 & ''", UNITE'',I3)') &
558 & cdacti(1:ilact2),knumer
560 ELSEIF (kcode.EQ.-96)
THEN 562 IF (knumer.EQ.
jpniil)
THEN 563 clmess=
'NIVEAU IMPLICITE DE CODAGE GRIB TROP GRAND' 565 WRITE (unit=clmess,fmt= &
566 &
'(''NIVEAU DE CODAGE GRIB TROP GRAND, UNITE'',I3)') knumer
569 ELSEIF (kcode.EQ.-97)
THEN 571 IF (knumer.EQ.
jpniil)
THEN 572 WRITE (unit=clmess,fmt= &
573 &
'(''NOMBRE(S) IMPLICITE(S) DE BITS PAR VALEUR > MAXI ('',I2, & 576 WRITE (unit=clmess,fmt= &
577 &
'(''NOMBRE(S) DE BITS PAR VALEUR > MAXI ('',I2,''), UNITE'', & 578 & I3)') fa%NBIMAX,knumer
581 ELSEIF (kcode.EQ.-98)
THEN 583 IF (knumer.EQ.
jpniil)
THEN 585 &
'PUISSANCE IMPLICITE DE LAPLACIEN TROP GRANDE' 587 WRITE (unit=clmess,fmt= &
588 &
'(''PUISSANCE DE LAPLACIEN TROP GRANDE, UNITE'',I3)') &
592 ELSEIF (kcode.EQ.-99)
THEN 594 IF (cdnspr.EQ.
'FARFLU')
THEN 596 &
'TRONCATURE MAX INFERIEURE OU = SOUS-TRONCATURE IMPLICITE' 597 ELSEIF (knumer.EQ.
jpniil)
THEN 599 &
'SS-TRONCATURE IMPLICITE SUPERIEURE OU = A UNE TRONCATURE' 601 WRITE (unit=clmess,fmt= &
602 &
'(''SOUS-TRONCATURE SUPERIEURE OU = A LA TRONCATURE, UNITE'', & 606 ELSEIF (kcode.EQ.-100)
THEN 608 IF (knumer.EQ.
jpniil)
THEN 609 clmess=
'SIN/COS POLE PROJEC. HORS [-1,1], CADRE "' &
610 & //cdacti(1:ilact2)//
'"' 612 WRITE (unit=clmess,fmt= &
613 &
'(''SINUS/COSINUS DU POLE DE PROJECTION HORS [-1,1], UNITE'', & 617 ELSEIF (kcode.EQ.-101)
THEN 619 IF (knumer.EQ.
jpniil)
THEN 620 clmess=
'INCOHERENCE COS/SIN LONGIT. POLE, CADRE "' &
621 & //cdacti(1:ilact2)//
'"' 623 WRITE (unit=clmess,fmt= &
624 &
'(''INCOHERENCE COS/SIN LONGITUDE POLE PROJECTION, UNITE'', & 628 ELSEIF (kcode.EQ.-102)
THEN 630 IF (knumer.EQ.
jpniil)
THEN 631 clmess=
'SINUS D''UNE LATITUDE HORS [-1,1], CADRE "' &
632 & //cdacti(1:ilact2)//
'"' 634 WRITE (unit=clmess,fmt= &
635 &
'(''SINUS D''''UNE LATITUDE DE LA GRILLE HORS [-1,1], UNITE'', & 639 ELSEIF (kcode.EQ.-103)
THEN 641 IF (knumer.EQ.
jpniil)
THEN 643 clmess=
'SINUS LATITUDES NON DECROISSANTS, CADRE "' &
644 & //cdacti(1:ilact2)//
'"' 646 WRITE (unit=clmess,fmt= &
647 &
'(''SINUS DES LATITUDES NON DECROISSANTS, UNITE'', & 651 ELSEIF (kcode.EQ.-104)
THEN 654 &
'TRONCATURE MAXI INCOMPATIBLE AVEC CADRE(S) DEJA DEFINI(S)' 656 ELSEIF (kcode.EQ.-105)
THEN 659 &
'NB MAX NIVEAUX VERTICAUX/CADRE(S) DEFINI(S) INCOMPATIBLES' 661 ELSEIF (kcode.EQ.-106)
THEN 664 &
'NOMBRE MAXI DE LATITUDES/CADRE(S) DEFINI(S) INCOMPATIBLES' 666 ELSEIF (kcode.EQ.-107)
THEN 669 &
'NOMBRE MAX DE LONGITUDES/CADRE(S) DEFINI(S) INCOMPATIBLES' 671 ELSEIF (kcode.EQ.-108)
THEN 674 IF (knumer.EQ.
jpniil)
THEN 675 clmess=
'PRESSION DE REFERENCE ABERRANTE, CADRE "' &
676 & //cdacti(1:ilact2)//
'"' 678 WRITE (unit=clmess,fmt= &
679 &
'(''PRESSION DE REFERENCE ABERRANTE, UNITE'',I3)') &
683 ELSEIF (kcode.EQ.-109)
THEN 685 IF (knumer.EQ.
jpniil)
THEN 686 WRITE (unit=clmess, &
687 & fmt=
'(''TYPE TRANSFO HORIZ. HORS [1-'', & 688 & I2,''], CADRE "'',A,''"'')') &
689 & fa%NTYPTX,cdacti(1:ilact2)
691 WRITE (unit=clmess, &
692 & fmt=
'(''TYPE TRANSFO HORIZ. HORS [1-'', & 693 & I2,''], UNITE'',I3)') fa%NTYPTX,knumer
696 ELSEIF (kcode.EQ.-110)
THEN 697 WRITE (unit=clmess,fmt= &
698 &
'(''PAS D''''ARTICLE DERRIERE CEUX DU CADRE, UNITE'',I3)') &
701 ELSEIF (kcode.EQ.-111)
THEN 702 WRITE (unit=clmess,fmt= &
703 &
'(''NOM RESERVE, NE PEUT ETRE UTILISE AINSI, UNITE'',I3)') &
706 ELSEIF (kcode.EQ.-112)
THEN 708 inume2=mod(knumer,1000_jplikb )
709 WRITE (unit=clmess, &
710 & fmt=
'(''COPIE DE '''''',A,'''''': UNITES'', & 711 & I3,'' ET'',I3,'' INCOMPATIBLES'')') cdacti(1:ilact2), &
714 ELSEIF (kcode.EQ.-113)
THEN 716 &
'SS-TRONCATURE IMPLICITE SUPERIEURE OU = A TRONCATURE MAXI' 718 ELSEIF (kcode.EQ.-114)
THEN 720 &
'RATIO DES TRONCATURES HORIZ. (VERSION LAM) SUPERIEUR A 3: & 721 & GARDE-FOU, MODIFIABLE DANS FARCIS+FACSIM' 723 ELSEIF (kcode.EQ.-115)
THEN 724 IF (knumer.EQ.
jpniil)
THEN 725 clmess=
'KNXLON<(-2*KTYPTR+1), CADRE "' &
726 & //cdacti(1:ilact2)//
'"' 728 WRITE (unit=clmess,fmt= &
729 &
'(''KNXLON<(-2*KTYPTR+1), UNITE'',I3)') knumer
732 ELSEIF (kcode.EQ.-116)
THEN 733 IF (knumer.EQ.
jpniil)
THEN 734 clmess=
'KNXLON<(2*KTRONC+1), CADRE "' &
735 & //cdacti(1:ilact2)//
'"' 737 WRITE (unit=clmess,fmt= &
738 &
'(''KNXLON<(2*KTRONC+1), UNITE'',I3)') knumer
741 ELSEIF (kcode.EQ.-117)
THEN 743 IF (knumer.EQ.
jpniil)
THEN 744 clmess=
'INDICATEUR DE DOMAINE HORS [-1,1], CADRE "' &
745 & //cdacti(1:ilact2)//
'"' 747 WRITE (unit=clmess,fmt= &
748 &
'(''INDICATEUR DE DOMAINE HORS [-1,1], UNITE'', & 752 ELSEIF (kcode.EQ.-118)
THEN 754 IF (knumer.EQ.
jpniil)
THEN 756 &
'INDICE DE DEPART EN LONGITUDE HORS [1,KNXLON], CADRE "' &
757 & //cdacti(1:ilact2)//
'"' 759 WRITE (unit=clmess,fmt= &
760 &
'(''INDICE DE DEPART EN LONGITUDE HORS [1,KNXLON], UNITE'', & 764 ELSEIF (kcode.EQ.-119)
THEN 766 IF (knumer.EQ.
jpniil)
THEN 767 clmess=
'INDICE DE FIN EN LONGITUDE ERRONE, CADRE "' &
768 & //cdacti(1:ilact2)//
'"' 770 WRITE (unit=clmess,fmt= &
771 &
'(''INDICE DE FIN EN LONGITUDE ERRONE, UNITE'', & 775 ELSEIF (kcode.EQ.-120)
THEN 777 IF (knumer.EQ.
jpniil)
THEN 779 &
'INDICE DE DEPART EN LATITUDE HORS [1,KNLATI], CADRE "' &
780 & //cdacti(1:ilact2)//
'"' 782 WRITE (unit=clmess,fmt= &
783 &
'(''INDICE DE DEPART EN LATITUDE HORS [1,KNLATI], UNITE'', & 787 ELSEIF (kcode.EQ.-121)
THEN 789 IF (knumer.EQ.
jpniil)
THEN 790 clmess=
'INDICE DE FIN EN LATITUDE ERRONE, CADRE "' &
791 & //cdacti(1:ilact2)//
'"' 793 WRITE (unit=clmess,fmt= &
794 &
'(''INDICE DE FIN EN LATITUDE ERRONE, UNITE'', & 798 ELSEIF (kcode.EQ.-122)
THEN 800 IF (knumer.EQ.
jpniil)
THEN 801 clmess=
'ZONE DE RELAXATION TROP LARGE '// &
802 &
'EN LONGITUDE, CADRE "' &
803 & //cdacti(1:ilact2)//
'"' 805 WRITE (unit=clmess,fmt= &
806 &
'(''ZONE DE RELAXATION TROP LARGE EN LONGITUDE, UNITE'', & 810 ELSEIF (kcode.EQ.-123)
THEN 812 IF (knumer.EQ.
jpniil)
THEN 813 clmess=
'ZONE DE RELAXATION TROP LARGE '// &
814 &
'EN LATITUDE, CADRE "' &
815 & //cdacti(1:ilact2)//
'"' 817 WRITE (unit=clmess,fmt= &
818 &
'(''ZONE DE RELAXATION TROP LARGE EN LATITUDE, UNITE'', & 822 ELSEIF (kcode.EQ.-124)
THEN 824 &
'NB DE BITS POUR CODER NUL' 826 ELSEIF (kcode.EQ.-125)
THEN 828 &
'ARGUMENT AYANT UNE VALEUR INCORRECTE' 830 ELSEIF (kcode.EQ.-126)
THEN 832 &
'INCOHERENCE DANS UN CONTROLE INTERNE' 834 ELSEIF (kcode.EQ.-127)
THEN 836 &
'INCOHERENCE DANS LE CONTROLE DE L''ELLIPSE' 838 ELSEIF (kcode.EQ.-128)
THEN 840 &
'MESSAGE GRIB INCORRECT POUR DECF10' 842 ELSEIF (kcode.EQ.-129)
THEN 844 &
'IMPOSSIBLE D''ENCODER CE CHAMP AVEC CES REGLAGES' 846 ELSEIF (kcode.EQ.-130)
THEN 848 &
'TABLEAU TROP COURT POUR ENCODER CE CHAMP' 850 ELSEIF (kcode.LT.-1000)
THEN 852 &
'ERREUR RAPPORTEE PAR GRIBEX (cf manuel, avec kret=-krep-1000)' 854 ELSEIF (knumer.EQ.
jpniil)
THEN 855 WRITE (unit=clmess,fmt=
'(''ERREUR GLOBALE NUMERO'',I6)') &
859 WRITE (unit=clmess,fmt=
'(''ERREUR GRIB'',I6, & 860 & '' SUR UNITE LOGIQUE'',I3)') 200+kcode,knumer
863 ilmesa=int(len(clmesa),
jplikb)
864 ilmesu=ilmesa-1-2*int(len(cljoli),
jplikb)-ilnspr-4
865 clmesa=cljoli//
' '//cdnspr(1:ilnspr)//
' - '//clmess(1:ilmesu) &
867 clmesa=
trim(clmesa)//clitid
868 WRITE (unit=fa%NULOUT,fmt=
'(A)') clmesa
870 WRITE (unit=fa%NULOUT,fmt=*) clmesa
871 IF (ldfata.AND.kcode.NE.0)
THEN 872 CALL flush(int(fa%NULOUT))
885 & (knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
893 INTEGER (KIND=JPLIKB) KNUMER
894 INTEGER (KIND=JPLIKB) KNIMES
895 INTEGER (KIND=JPLIKB) KCODE
897 CHARACTER (LEN=*) CDMESS
898 CHARACTER (LEN=*) CDNSPR
899 CHARACTER (LEN=*) CDACTI
905 & (fa, knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
911 & (knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
919 INTEGER (KIND=JPLIKM) KNUMER
920 INTEGER (KIND=JPLIKM) KNIMES
921 INTEGER (KIND=JPLIKM) KCODE
923 CHARACTER (LEN=*) CDMESS
924 CHARACTER (LEN=*) CDNSPR
925 CHARACTER (LEN=*) CDACTI
931 & (fa, knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
937 & (fa, knumer, knimes, kcode, ldfata, cdmess, cdnspr, &
944 INTEGER (KIND=JPLIKM) KNUMER
945 INTEGER (KIND=JPLIKM) KNIMES
946 INTEGER (KIND=JPLIKM) KCODE
948 CHARACTER (LEN=*) CDMESS
949 CHARACTER (LEN=*) CDNSPR
950 CHARACTER (LEN=*) CDACTI
953 INTEGER (KIND=JPLIKB) INUMER
954 INTEGER (KIND=JPLIKB) INIMES
955 INTEGER (KIND=JPLIKB) ICODE
958 inumer = int( knumer,
jplikb)
959 inimes = int( knimes,
jplikb)
960 icode = int( kcode,
jplikb)
963 & (fa, inumer, inimes, icode, ldfata, cdmess, cdnspr, &
static const char * trim(const char *name, int *n)
subroutine faipar_mt(FA, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI, LDRLFI)
integer, parameter jplikb
logical, save fa_com_default_init
subroutine new_fa_default()
subroutine faipar(KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI, LDRLFI)
logical function, public oml_in_parallel()
subroutine faipar64(KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI, LDRLFI)
integer(kind=jpim) function, public oml_my_thread()
type(fa_com), target, save fa_com_default
subroutine faipar_fort(FA, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI, LDRLFI)
integer(kind=jplikb), parameter jpniil