SURFEX v7.3
General documentation of Surfex
|
00001 C 00002 C----- DESCRIPTION DES "PARAMETER" DU LOGICIEL DE FICHIERS INDEXES ----- 00003 C----- (et des variables logiques a charger absolument partout ) ----- 00004 C 00005 C JPNBIM = NOMBRE DE BITS PAR MOT MACHINE 00006 C JPNBIC = NOMBRE DE BITS PAR CARACTERE 00007 C JPNCMO = NOMBRE DE CARACTERES PAR MOT MACHINE 00008 C 00009 C JPNCPN = NOMBRE MAXI. POSSIBLE DE CARACTERES PAR NOM D'ARTICLE 00010 C JPLARD = LONGUEUR D'ARTICLE "PHYSIQUE" elementaire des Fichiers 00011 C ( exprimee en mots, DOIT ETRE PAIRE, SUPERIEURE OU EGALE 00012 C a JPLDOC, JPLARD*JPNCMO DOIT ETRE MULTIPLE DE JPNCPN ) 00013 C JPLARC = Longueur d'article "physique" exprimee en caracteres 00014 C JPRECL = PARAMETRE "RECL" de base POUR "OPEN" DES FICHIERS 00015 C JPNXFI = NOMBRE MAXIMUM DE FICHIERS INDEXES OUVERTS SIMULTANEMENT 00016 C (1 fichier de "multiplicite" N comptant comme N fichiers) 00017 C JPFACX = FACteur multiplicateur maXimum entre longueur d'article 00018 C physique effective et elementaire ( de 1 a JPNXFI ) 00019 C JPXUFM = Nombre maXimum d'Unites logiques a Facteur Mul. predefini 00020 C JPNPIA = NOMBRE DE *PAIRES* DE "PAGES D'INDEX" EN MEMOIRE 00021 C *PREALLOUEES* PAR UNITE LOGIQUE ( AU MOINS *4* ) 00022 C JPNXPI = NOMBRE TOTAL DE *PAIRES* DE "PAGES D'INDEX" EN MEMOIRE 00023 C ALLOUABLES ( DOIT ETRE AU MOINS EGAL A JPNPIA*JPNXFI ) 00024 C JPNPIS = NOMBRE DE *PAIRES* DE "PAGES D'INDEX" NON PREALLOUEES 00025 C JPNXNA = NOMBRE MAXI. DE NOMS D'ARTICLES PAR PAGE/ARTICLE D'INDEX 00026 C JPNBLP = NOMBRE MAXI. DE COUPLES (LONGUEUR/POSITION)" " " 00027 C JPNAPP = NOMBRE MAXI. UTILE DE NOMS D'ARTICLES PAR PAGE/AR D'INDEX 00028 C JPLDOC = LONGUEUR (MOTS) DE LA PARTIE DOCUMENTAIRE DU 1ER ARTICLE 00029 C JPNPDF = NOMBRE DE PAGES DE DONNEES PAR FICHIER OUVERT ( >= 2 ) 00030 C JPNXPR = NOMBRE MAXIMUM DE PAIRES D'ARTICLES D'INDEX RESERVABLES 00031 C JPNIL = CODE DE "VALEUR ABSENTE" POUR CERTAINES TABLES D'ENTIERS. 00032 C JPNMPN = NOMBRE DE MOTS NECESSAIRE AU STOCKAGE D'UN NOM D'ARTICLE 00033 C JPNAPX = JPNAPP*JPFACX 00034 C JPLARX = JPLARD*JPFACX = longueur d'article physique maximale 00035 C JPLFTX = Longueur maximale traitable des noms de fichiers. 00036 C JPLFIX = " " imprimable " " " " . 00037 C JPLSPX = " " des noms des sous-programmes du logiciel. 00038 C JPLSTX = " " des valeurs du "STATUS" FORTRAN (open/close). 00039 C JPCFMX = Nombre maximum de ConFigurations pour iMport/eXport. 00040 C JPIMEX = " " de fichiers imp/exportables "simultanement". 00041 C JPDEXP = Dimension tableau Descripteurs EXPlicites d'imp/export. 00042 C JPDIMP = " " " IMPlicites " " " . 00043 C JPXDAM = Nombre maXimum noms D'Articles d'imp/export en Memoire. 00044 C JPXCIE = " " de Caracteres par nom pour Import/Export. 00045 C JPXMET = " " " " " " avec METacaracteres. 00046 C JPXCCF = " " " " des noms de ConFig. imp/exp. 00047 C JPTYMX = " de TYpes de variables valides pour Import/Export. 00048 C 00049 INTEGER JPNBIM, JPNBIC, JPNCPN, JPLARD, JPNPDF, JPXUFM, JPNXFI 00050 INTEGER JPNPIA, JPNXPI, JPNXPR, JPLDOC, JPNIL, JPNCMO, JPLARC 00051 INTEGER JPXMET, JPRECL, JPFACX, JPLFTX, JPLFIX, JPLSPX, JPLSTX 00052 INTEGER JPIMEX, JPDEXP, JPDIMP, JPXDAM, JPXCIE, JPCFMX, JPXCCF 00053 INTEGER JPNXNA, JPNBLP, JPNAPP, JPNPIS, JPNAPX, JPNMPN, JPLARX 00054 INTEGER JPTYMX 00055 C 00056 C 00057 PARAMETER ( JPNCPN=16, JPLARD=512, JPNPDF=20, JPXUFM=100 ) 00058 PARAMETER ( JPNPIA=4, JPNXPR=100 ) 00059 #ifdef HIGHRES 00060 PARAMETER ( JPNXFI=300, JPFACX=120 ) 00061 #else 00062 PARAMETER ( JPNXFI=50, JPFACX=20 ) 00063 #endif 00064 C 00065 C Implementation-dependent symbolic constants (except for JPNCMO and 00066 C JPLARC definitions, which are there to have only one set of 00067 C "ifdef" in current header). 00068 C 00069 #if defined ( DEC ) 00070 PARAMETER ( JPNBIM=64, JPNBIC=8 ) 00071 PARAMETER ( JPNCMO=JPNBIM/JPNBIC ) 00072 PARAMETER ( JPLARC=JPNCMO*JPLARD ) 00073 PARAMETER ( JPRECL=2*JPLARD ) 00074 #elif defined ( HPPA ) 00075 PARAMETER ( JPNBIM=32, JPNBIC=8 ) 00076 PARAMETER ( JPNCMO=JPNBIM/JPNBIC ) 00077 PARAMETER ( JPLARC=JPNCMO*JPLARD ) 00078 PARAMETER ( JPRECL=JPLARC ) 00079 #else 00080 C Notice : record length should be in BYTES for the computer system 00081 PARAMETER ( JPNBIM=64, JPNBIC=8 ) 00082 PARAMETER ( JPNCMO=JPNBIM/JPNBIC ) 00083 PARAMETER ( JPLARC=JPNCMO*JPLARD ) 00084 PARAMETER ( JPRECL=JPLARC ) 00085 #endif 00086 PARAMETER ( JPLDOC=22, JPNIL=-999, JPXMET=2*JPNCPN, JPCFMX=4 ) 00087 PARAMETER ( JPNXPI=JPNPIA*JPNXFI+2*JPFACX, JPXCIE=2*JPNCPN ) 00088 PARAMETER ( JPLFTX=512, JPLFIX=128, JPLSPX=6, JPLSTX=7, JPTYMX=5 ) 00089 PARAMETER ( JPIMEX=2, JPDEXP=10000, JPDIMP=1000, JPXDAM=1000 ) 00090 PARAMETER ( JPNXNA=(JPLARD*JPNCMO)/JPNCPN, JPNBLP=JPLARD/2 ) 00091 PARAMETER ( JPNAPP=(JPNBLP*(JPNXNA/JPNBLP)+JPNXNA*(JPNBLP/JPNXNA)) 00092 S /(JPNXNA/JPNBLP+JPNBLP/JPNXNA), JPXCCF=16 ) 00093 PARAMETER ( JPNPIS=JPNXPI-JPNPIA*JPNXFI, JPNAPX=JPNAPP*JPFACX ) 00094 PARAMETER ( JPNMPN=1+(JPNCPN-1)/JPNCMO, JPLARX=JPLARD*JPFACX ) 00095 C 00096 C---------- VARIABLES LOGIQUES A CHARGER ABSOLUMENT PARTOUT ------------ 00097 C 00098 C LMISOP = VRAI SI ON DOIT TRAVAILLER EN MODE MISE AU POINT LOGICIEL 00099 C LFRANC = Vrai/Faux si la messagerie doit etre en francais/anglais 00100 C 00101 LOGICAL LMISOP, LFRANC 00102 C 00103 COMMON /LFIMAP/ LMISOP, LFRANC 00104 C 00105 C-------- DESCRIPTION DE LA PARTIE DOCUMENTAIRE DU 1ER ARTICLE --------- 00106 C 00107 C MOT 1 ==> LONGUEUR "PHYSIQUE" Effective DES ARTICLES (EN MOTS) 00108 C MOT 2 ==> LONGUEUR MAXIMUM DES NOMS D'ARTICLES (CARACTERES) 00109 C MOT 3 ==> "DRAPEAU" SIGNALANT SI LE FICHIER A BIEN ETE FERME 00110 C APRES LA DERNIERE MODIFICATION 00111 C MOT 4 ==> LONGUEUR DE LA PARTIE DOCUMENTAIRE DU FICHIER 00112 C MOT 5 ==> NOMBRE D'ARTICLES "PHYSIQUES" DANS LE FICHIER 00113 C MOT 6 ==> " " LOGIQUES " " " 00114 C (Y COMPRIS LES "TROUS" CREES PAR LES REECRITURES 00115 C D'ARTICLES PLUS LONGUES QUE PRECEDEMMENT, ET N'AYANT 00116 C PAS ENCORE PU ETRE REUTILISES, COMPTES DANS LE MOT 21) 00117 C MOT 7 ==> LONGUEUR MINI. DES ARTICLES LOGIQUES DE DONNEES (MOTS) 00118 C MOT 8 ==> " MAXI. " " " " " " 00119 C MOT 9 ==> " TOTALE " " " " " " 00120 C MOT 10 ==> NOMBRE DE REECRITURES SUR PLACE (VRAIES) 00121 C MOT 11 ==> " " " PLUS COURTES 00122 C MOT 12 ==> " " " " LONGUES 00123 C MOT 13 ==> NOMBRE MAXIMUM D'ARTICLES PAR PAGE OU ARTICLE D'INDEX 00124 C MOT 14 ==> DATE DE LA CREATION DU FICHIER (1ERE OUVERTURE) 00125 C MOT 15 ==> HEURE " " " " " ( " " ) 00126 C MOT 16 ==> DATE DE LA DERNIERE MODIFICATION GARANTIE (FERMETURE) 00127 C MOT 17 ==> HEURE " " " " " ( " ) 00128 C MOT 18 ==> DATE DE LA 1ERE MODIFICATION PAS FORCEMENT GARANTIE 00129 C MOT 19 ==> HEURE " " " " " " " 00130 C (LES MODIFICATIONS NE SONT GARANTIES QUE SI LE MOT 4 VAUT ZERO) 00131 C MOT 20 ==> NOMBRE DE PAIRES D'ARTICLES D'INDEX PRERESERVES . 00132 C MOT 21 ==> NOMBRE DE "TROUS" CORRESP. A DES REECRITURES + LONGUES 00133 C ( AVANT OUVERTURE ) 00134 C MOT 22 ==> NUMERO D'ARTICLE MAXI. DES ARTICLES PHYSIQ. DE DONNEES 00135 C 00136 C------ "PARAMETER" DECRIVANT LES POSITIONS DES ENTITES CI-DESSUS ------ 00137 C 00138 INTEGER JPLPAR, JPLMNA, JPFEAM, JPLLDO, JPNAPH, JPNALO, JPLNAL 00139 INTEGER JPLXAL, JPLTAL, JPNRES, JPNREC, JPNREL, JPXAPI, JPDCRE 00140 INTEGER JPHCRE, JPDDMG, JPHDMG, JPDMNG, JPHMNG, JPNPIR, JPNTRU 00141 INTEGER JPAXPD 00142 C 00143 PARAMETER ( JPLPAR=1, JPLMNA=2, JPFEAM=3, JPLLDO=4, JPNAPH=5 ) 00144 PARAMETER ( JPNALO=6, JPLNAL=7, JPLXAL=8, JPLTAL=9, JPNRES=10 ) 00145 PARAMETER ( JPNREC=11, JPNREL=12, JPXAPI=13, JPDCRE=14 ) 00146 PARAMETER ( JPHCRE=15, JPDDMG=16, JPHDMG=17, JPDMNG=18 ) 00147 PARAMETER ( JPHMNG=19, JPNPIR=20, JPNTRU=21, JPAXPD=22 ) 00148 C