GUIDE D'UTILISATION DU LOGICIEL ernril 2
numulumm« riom
-71.1:1,turugmb î E DES PERSONNES 'Y FIA TERRESTRE DES PERSON, RANsPoRT TERRESTRL rj sorvINIEs TRANSPORT TE
tE DES PERSONNES TRANS TERRESTRE DES PERSONN
oNNEsT ANSPORT TERRESTRE DES PERSONNES
-sEs r7.1,=r18,011%.1== -rira rtnia=rninun -r""ri=emos=1= -ff- m=
«NSPORT TE 'i k4See iNNES TRAIS
e-vt*,-ntee\ CIRT TERRESTRE „dTRE DES PERS
sargES TRANSPQRT TE li.s'\ - de d çoi \,,,,,■ ç)oee -JES PERSOruivEssir eSe dg Ge ,se ,4-ir TERRESTRE DES"-PERI es.' e.' tee 04 oya, é t. ....,s TRANSPORT TERRESTRE
PERSONNES TRANSPORT TE DES PERSONNES TRAC
y0- '
\ç RANSPORT TI SONNES TRAter \
RE DES PER; TERRESTRE
RT TERRESTRE
TERRESTRE DES PERI lly NSPORT TERRESTRE
NIVES TRANSPORT TE ES PERSONNES TRAP ERRESTRE DES PERS
ORT TERRESTRE TRANSPORT TE RSONNES TRAr STRIE DES PERS RT TERRESTRE
r: Prf—TERRESTRE DES PERSONNES TRANSPORT TE RSINISPC3RT TERRESTRE DES PERSONNES TRAFSJ
_ t 1:iNNES 'tPANSPORT TERRESTRE DES PERS _. DES PERSONNES T ANSPORT TERRESTRE RRESTRE DES PERSONNES TRANSPORT TE
NSPORT TERRESTRE DES PERSONNES TRAr RANSPORT TERRESTRE DES PERSONNES TRANSPORT TERRESTRE DES PERI sor.,INEs T ANSPC3RT TERRESTRE DES PERSONNES TRANSPORT TERRESTRE
IE DES PERSON ES TRANSPORT TERRESTRE DES PERSONNES TRANSPORT TE TERRESTRE ES PERSONNES TRANSPORT TERRESTRE DES PERSONNES TRAr RANSPCIRT TERRESTRE DES PERSONNES TRANSPORT TERRESTRE DES PERS SONNES TRANSPORT TERRESTRE DES PERSONNES TRANSPORT TERResTRE-
Gouvernement du Québec Ministère des Transports Direction générale du transport terrestre des personnes
;eirëtgéu'r i dfé jet
Novembre ' 1984.
•
•
DIRECTEUR
Jean-Pierre Primeau,,ing,
COORDONNATEUR
Michael
RÉDACTION
André Babin, C.R.T.
Linda James-Lefebvre, C.R.T.
RÉVISION
Pierre TreMblay, ing.
TRAITEMENT DE TEXTES
Nicole Audet
PRÉAMBULE
s
•
11
Ce document se veut un guide d'utilisation du logiciel Ure% ( I ) , tel
qu'implanté sur l'ordinateur de la RAAQ pour le Ministère des transports du
Québec (M.T.Q.). Il résume l'état de la situation, au moment de sa publi-
cation, des procédures d'accès et de création des banques de données rela-
tives à'6092 . Des mises-à-jour périodiques sont à prévoir, au fur à
mesure qu'évolue l'environnement informatique dans lequel le logiciel est
installé; il appartient au lecteur de s'assurer, auprès du Service des
systèmes d'information du transport des personnes de la D.G.T.T.P.( 2 ), que
le présent document constitue la version la plus récente du guide d'utili-
sation.
Le logiciel est installé de façon à pouvoir être facilement utilisé par
tous les gens du Ministère des transports. Â cet effet, les procédures ont
été paramétrisées pour permettre l'identification rapide du compte et du
projet de l'utilisateur. De même, le logiciel exécutable de Cre% réside
sur des fichiers à accès libre pour tous les usagers.
On doit considérer comme prérequis à la lecture et à la bonne compréhension
de ce document des notions solides du système TSO/SPF, ainsi qu'une
connaissance adéquate du logiciel grrrz . À cet effet, le lecteur pourra
consulter le manuel de l'usager d'erre% (User's Manual), disponible à la
D.G.T.T.P.
La D.G.T.T.P. tient à remercier la Direction des systèmes de gestion pour
son support et sa précieuse collaboration tout au long de l'implantation du
logiciel ge2 .
Equilibre Multimodal-Multimodal Equilibrium, développé au Centre de Recherche sur les Transports de l'Université de Montréal, Coordonnateur: Michael Florian.
D.G.T.T.P: Direction générale du transport terrestre des personnes.
• liste des révisions
•
Numéro
Date
Détail
0
6 novembre 1984
Texte de base
SD3IIV
W SI] 31
9V1
•
•
•
TABLE DES MATIÈRES
• PAGE
•
PRÉAMBULE j.
LISTE DES RÉVISIONS iii
TABLE DES MATIÈRES iv
LISTE DES TABLEAUX viii
SECTION 1 - AUTORISATION D'ACCÈS à emrrI2 1-1
1.1 Conditions préalables 1-2
1-2
2-1
2-2
2-3
1.2 Fichier de communication
SECTION 2 - ACCÈS À ere2 , AVEC LA PROCÉDURE EMME2
2.1 Appel de la procédure EMME2
2.2 Contenu de la procédure EMME2
2.3 Les paramètres de la procédure EMME2 2-6
2.3.1 Le paramètre NNN(nnn) 2-7
2.3.2 Le paramètre USERPREF(préfixe) 2-8
2.3.3 Le paramètre VOLSER(volume) 2-8
2.3.4 Les paramètres BANK(nomdebanque)
et BANKDISP(disp) 2-9
2.3.5 Les paramètres BANKTOT(btot),
BANKSP(bsp) et BANKINCR(bincr) 2-9
2.3.5.1 Évaluation des dimensions
d'une banque 2-9
2.3.5.2 Allocation de l'espace-disque 2-13
2.3.6 Le paramètre PUNCHSP(psp) 2-15
2.3.7 Le paramètre PRINTSP(prtsp) 2-17
2.3.8 Le paramètre PLOTSP(pltsp) 2-19
2.3.9 Le paramètre BATCHLIB(fichierpartitionnébatch)
et ses paramètres associés 2-23
2.3.10 Le paramètre USERPROC(fichierpartionnéproc) 2-27
PAGE
3-1 SECTION 3 - CRÉATION D'UNE BANQUE DE DONNÉES
3.1 Étape 1: Autorisation d'accès 3-2
3.2 Étape 2: Identification du fichier de données en lot
3.3 Étape 3: Dimensions de la banque
3.4 Étape 4: Création d'une procédure spécifique
d'accès à la banque
3.5 Étape 5: Création de la banque
3.6 Étape 6: Lecture des données dans la banque
3.6.1. Données d'un scénario
3.6.2. Données générales de la banque
SECTION 4 - EXEMPLE DE CRÉATION D'UNE BANQUE DE DONNÉES 4-1
4.1 Autorisation d'accès 4-2
4.2 Fichier de données en lot 4-2
4.3 Dimensions de la banque 4-4
4.4 Procédure spécifique d'accès 4-5
4.5 Création de la banque 4-7
4.6 Lecture des données dans la banque 4-7
• vi
3-2
3-2
3-2
3-5
3-5
3-6
3-8
APPENDICE "A" - DESCRIPTION DES FICHIERS
vii
PAGE
A-1
A-2
A-5
A.1 Fichiers généraux
A.2 Fichiers particuliers à la D.G.T.T.P., à Montréal
APPENDICE "B" - DESCRIPTION DES BANQUES DE LA D.G.T.T.P
MONTRÊAL B71
B.1 Réseau de transport collectif de la région de Montréal B-2
B.1.1 La procédure d'accès B-2
B.1.2 Préparation de la simulation B-4
B.2 Réseau routier de la région de Montréal B-7
B.3 Plan de transport de la Rive-Sud B-9
B.4 Plan de transport Cil-Lavai B-10
APPENDICE "C" MODIFICATION AUX - VALEURS PERMISES POUR
LE PARAMÈTRE "BANKTOT" C-1
APPENDICE "D" INTERFACES - MATRICES UTPS - emm92 D-1
D.1 Programme MATUTEM D-2
D.2 Programme MATEMUT D-4
D.3 Matrices de temps routier pour isochrones D-7
D.3.1 Méthode "Nuit" D-7
D.3.2 Méthode "Jour" D-11
D.3.3 Traçage des isochrones D-15
xnv]
ion
S30 U
SI1
•
•
•
LISTE DES TABLEAUX
•
•
ix
• PAGE
LISTE DES TABLEAUX
2-1 Procédure générale EMME2 2-4
2-2 Programme d'impression général 2-18
2-3 Procédure de rappel d'un traçage 2-20
2-4 Procédure de traçage sur Calcomp 2-22
2-5 Table des terminaux 2-25
2-6 Schéma des manipulations de données 2-26
3-1 Procédure d'initialisation d'une session 3-3
3-2 Exemple de procédure d'appel spécifique d'EMME2 3-4
4-1 Index d'un fichier de données typique 4-3
4-2 Procédure "EMSETUP" 4-5
4-3 Procédure "MTLTC" 4-6
B-1 Procédure "MTLRR" B-7
B-2 Procédure "RIVESD" B-9
B-3 Procédure "LAVAL35" B-10
B-4 Procédure "LAVAL8" B-11
B-5 Procédure "LAVAL105" B-12
C-1 Procédure "JCLBDISK" C-2
C-2 Exemple de modification à la procédure EMME2 C-4
D-1 Programme "Nuit" pour conversion des matrices D-8
D-2 Programme "Jour" pour conversion des matrices D-13
•
•
•
•
SECTION 1
AUTORISATION- D'ACCÈS À ernr1g2
1-2
Bien que l'accès à l'utilisation de telt ne fasse l'objet d'aucune
protection spéciale, la D.G.T.T.P. suggère aux usagers éventuels de
consulter les responsables de l'implantation de ce logiciel avant
d'entreprendre des travaux comportant des opérations de création ou de
destruction de banques de données. Ces gens pourront au besoin
assister tout usager dans ce genre de tâche. Il est d'autre part
entendu que l'accès aux programmes-sources de 01e2 est prohibé.
1.1 Conditions préalables
Pour qu'un usager ait accès au logiciel Ce2 , il suffit que son
profil d'usager lui permette l'accès à un volume de disque et au
logiciel "TSO".
Pour le reste du présent texte, on établira la convention
suivante:
le symbole "préfixe" correspond au numéro de compte informa-
tique de l'usager suivi du numéro de projet alloué à
l'usager.
(exemple: A017 .P0108)
(Voir la section 2.3.2)
le symbole "ZZZ" correspond au numéro d'usager de l'utili-
sateur.
(exemple: logonid = nu188 alors ZZZ est 188)
1.2 Fichier de communication
Au début de chaque session de travail, ellt créera temporaire-
ment, pour la durée de cette session, le fichier partionné
préfixe.EMPROZZZ , où ZZZ correspond au numéro de l'usager en
liaison.
• 1-3
Ce fichier permettra la communication entre les divers modules
d' 011192 au cours de la session et est transparent à l'usager.
Il faut par contre faire attention de ne pas utiliser ce nom de
fichier à d'autres fins, puisqu'il serait automatiquement détruit
par CM197 à l'initialisation de la prochaine session.
•
•
•
SECTION 2
ACCÈS À enr912,AVEC LA PROCÉDURE EMME2
•
• 2-2
Nous décrirons ici la procédure générale "EMME2" qui permet l'accès au
logiciel lui-même. Cette procédure TSO peut et devrait normalement
être appelée par des procédures plus spécifiques, préparées par l'usa-
ger pour son projet particulier, afin d'accélérer l'accès à efi11Ç2 . En
effet, la plupart des paramètres substituables seront invariables pour
une banque donnée dans le contexte d'un projet donné, de sorte que
l'appel à cette banque pourra se faire par une seule commande, comme
nous le verrons à la section 3.4 plus loin.
2.1 Appel de la procédure EMME2
Afin de démarrer la procédure d'accès à ork , l'usager doit,
une fois la session TSO active, demander l'exécution de la procé-
dure d'initialisation générale:
EXEC 'EMME2.EMPROC(EMSETUP
Cette initialisation sera valide tant que la session TSO durera,
peu importe le nombre de fois où EMME2 est appelée.
À l'intérieur de la session TSO donc, à chaque fois que l'on
voudrait accéder à une banque de données sous elee. 2 , on exécute
la procédure EMME2 en entrant sur une seule ligne:
pour une banque existante:
EMME2 USERPREF(préfixe) VOLSER(volume)
BANK(nomdebanque) BANKTOT(btot) BANKSP(bsp)
BANKINCR(bincr)
Pour une banque qu'on désire créer:
EMME2 NNN(001) USERPREF(préfixe) VOLSER(volume)
BANKDISP(NEW) BANK(nomdebanque) BANKTOP(btot) BANKSP(bsp)
BANKINCR(bincr) BATCHLIB(fichierpartitionnébatch)
Nous décrirons plus loin chacun de ces paramètres.
•
• 2-3
2.2 Contenu de la procédure EMME2
Le tableau 2-1 reproduit intégralement le contenu de la procédure
générale EMME2 qui sert à appeler le logiciel 0M 192 . La
procédure est abondamment commentée et contient des valeurs par
défaut pour la plupart des paramètres substituables.
•
PROC /l<EM2•/ 0 NHIH002l-USE~'PREF< 'A017.P0108' > VOLSER<lffll302>-BANI\ () BAHKDISP (()l.D > BAlfiTOT< 380 > BAlf(Sf' < 300 > BANK IHŒ C 40 > l1AP <> -PUNCHSP<O> PRIHTSf'<1 > PLOTSl'<O>-BATCK..IBO 0002<D002IN> DH1 <D141IH> 0201 ([r201IH> Ir202<D202IH>D211 Cll211 IN> D221W221INl 0231<02311Nl-ll301<[t301INl [1311([1311INl D411CD4111N>-· USERPROC< 'A017,P0108,El1f'ROCX' l-El1PREF<E111iE2i EHLH•<EHLIBl El10BJ<El10BJ> Elt.OADCEHLOADl
CONTROL HAIN /•LIST SYlt.IST I • PROŒillJ.:E TO EXECUTE E1111E2 !• 84 06 OB LU I• CALLING SEOUENr..E: !• EHl1E2 !• I• <FTIONAL PARAt'ETERS Af.f: SPECIFI\::D AS PARAMETERCVALUE> F<l..LOWING I• E1111E2 <SEE EXA11Ft.ES IN HE F'ROC STATEl1ElH> IN THE f·ARAHETER I• ItESCT<IPTIONS, ll.l INDICATES HE USER h'JMBER TAKEH F~'ClH HE USER I• ID tuZZZ, XXX.YYY IN!t!CATES TIE USER DSNA/1E PREFIX TAIŒN F~1l!1 !• PAAAHETER USERl'REF, EHl1E2 INDICATES THE SYSTEH PREFIX TAliEH FROl1 !• PARAHTER El1f'REF, !• !• OPTIONAL PARAt'ETffi'Sl !• NNN HODllE NUl1ItER !• !• !• !• !• !• !• I• !• !• !• !• !• I• !• I• !• !• !• !• !• !• !• !• !• !• !• !• !• !• !• !• !•
USERPREF USER PREFIX
VOL SER USER VOLUHE SERIAI.. DATA BANI< FILE
IWIKflISP D!Sf' OF EtANK
BANl\TOT BANK Sf'ACE BANl\SP PRIHARY SPAŒ
BANK! M::R SECONltARY Sf'
f'UHCHSP PUHCH Sf'ACE
PRIHTSP PRINTER Sf·ACE
PlOTSI' PLOT Sf'ACf
3 DIGITS, USE Oil.Y WIEH CREATING A NEW DATA BASE < NN!HOOll >, USERPREFC'XXX, YYY') USEI• TO FOF.'l'I FIRST PART O' DSNAl1E OF ALL FILES EXŒPT El1HE/2 SYSTEM FILES, E.6, XXX, YYY .EHPRTZZZ VOLUHE SERIAI.. USED FOR ltU. FILES EXCEF'T El1HE/2 SYSTEH FILES, BANKCXXXXXJO USED TO FORl1 DATA BANK FILE NAl1El XXX, YYY ,XXXXXX DATA BANK FILE HUST l<E ALLOCATEit BY USll«l BANKDISP<NEW> IN THIS F'l\'OC, ltUl1BER O' 1)1..0Cl\S < 4628 > FOR BANK IUŒIER OF RCJC!(S < 4628 > F'IUHARY ALLOCATION rœ BANK NUl1BER OF ROCKS < 4628> SECONDARY AL.LOCATION FOR BANK NOTE: DANKTOT 11UST BE LESS OR EClUAL TO EIAla<Sf' • 15•BANKINŒ NUHBER CF CHJCKS (9040) FOR f'RIMRY ALLOCATION FOR PUNCH FILE XXX, YYY .El1F'CHZZZ, îtELETErt AND AL.LOCATED AS NEW, SECONDARY ALLOC IS S. f'UNCHSP(O) WILL ALLOCATE A OO'lllY FILE. HUl'IBER OF BUJCIŒ < 9044 > FOR F'IUl1ARY At.LOCATION OF EM/2 PRINTER FILE XXX, YYY .El1PlfflZZ, DfLETEI• ANI• ALLOCA TED AS NEW, SECONDARY ALLDC 5, PRINTSP<O> WILL ALLOCATE A DUHl1Y FILE, NUl1BER or KOCl(S < 8919) FOR f'RIHARY ALLOCATION OF EHME/2 ft.OT FILE
!• !• !• !• !• I• !• !• I• I• I• !• !• !• I• !• !• !• I• I•
tableau 2-1
procédure générale EMME 2
!tATCK..IB BATCH INPUT LIBRAAY BATCH !Nf'UT [t002
[t141 ETC
El1HE2 PREFIX
XXX, YYY, El1Ft. TZZZ, llfl..ETEI• AND ALLOCA mi AS NEW. SECONCIARY AL LOC 5, Pl.OTSP<O> WILL ALLOCATE A OOHl1Y FILE
NAl1E OF f·ARTITIONED rILE COllTAINING BATCH INPUT DATA t'EHl<ER NAl1E OF BA 1 CH INF'UT TO HOCU.E 002 CitEVICE lABlEl l1El1BE1l NAl1E OF BA TCH INPUT TO 110IU.E 141 ETC <201,202,211,221 1231,301,311, 411) Fff:FIX USED TO FOC'11 Fl~'ST PART OF TIE [JC'...NAHE or EM/2 SYSTEH FILES,
SUI<l'.'<JIJTINE LIB El'U B <XXX> USEO TO FORl1 El1ME/2
EHOBJ
Flil.OAD
C011f'ILED l10[QES EXEQJTA!ti
HO[QES
SU BROUT !NE li BRARY NAHE : E1111E2, XXX EHOBJCXXX) USED TO FORl1 E1111E/2 Cotif'ILE[t HO[•LU LIIIRARY NAMtl E1111E2,XXX El1LOAD<XXX> IN:D TO rORM EXEQJTABLE
HOIU.E LI&RARY HAllEI El1!1E2.XXX
!• FHl1E/2 USES TIE FOLLOWING UNIT h'JMBERS: !• I• !• !• !• I• I• !• !• !• !• !•
1 IIATA MHK 3 BATCH INPUT FILE 4 f'\JNCH FILE 5 It1AL06 !HftJT CNORl1ALL Y Ff;'ClH TERHINAU 6 lt!ALOG OUTftJT <Nœl1ALLY TO TER111NAU 7 PRINTER FILE B f'LOT FILE
10 ERROR KESSAGF FI LE 98 BATCH HODf OR INTERACTIVE l10ItE INDICATOR FILE '19 NEXT MOlU_E FILE
!• fl1ME/2 SYSTEl1 FILES Al\f:: !• EHL IB SU!<F;OUTINE UEtRARY I• El10BJ COl1PILHt EH11E/2 l10ltULE LIBRARY !• Et'LOAD LOAI• HO[tl.l.E LIBRARY / • E11f'ROC TSO f'ROŒIU\:E LI BRARY I• IF &BANKTOT GT &BANKSP • lS • &BANl(INCR THEll [()
WRITE ••• BANKTOT<M•ANKTOT> GREATER THAN BANKSf· • 15 • BANKINCR fl<IT END
SfT USER = 6SUBSTR<3:5,6SYSUID> !• !• ATTAOi f'ROCE[llJl\'f LIBRARY FOR THIS USER !• FREE ATTR<NEXTOCB> FILE<FT99F001l ATTRIB HEXTICB RECF11<F Bl l.RECU80> BLKSIZE<2960> DSOf;G(f'Ol ru • MJSE~ff<EF •• El1Pf.'OMJSER • ALLOCATE FILE<FT'l9F001 > DA< '~USERPREF, ,fl1f'RO&USER• > NEW-
VOLUllE<~VOLSER> UNITC33ll0l SF'ACECl,1> TRACKS DIR<ll USING<NElffOCBl FREE FILE<FT99F001> FREE FILE<SYSPROCl ALLOCATE FILE<SYSPROC> SH°\-
DA< 'SYS1,SYSf'ROC' '&El1f'f..'ff, ,E11f'ROC' •MJSERF'REF, ,El'lf'f<O!.USER' > !• !• FREE FILES ANI• ATTRIBUTE LISTS COCBS> !• FREE ATTR(BANl\CCBl FILE<FT01F001>
FREE liTTR<TliOCB> FILE<FTOSFOO! FT06F00ll FREE ATTR<LDAOCB> F!LE<FT04f001 l FREE ATTR<PRIHTOCB> FILE<FT07f001l FREE ATTR<PLOTOCB> FILE<FT08F001l FREE FILE<FTlOFOOl FT9BF001l ATTRIB BANK[CB RECFl1<F> L~f:Q<4628l lll.J(SIZEC4628> OSOf\'GCPSl BlFNOC1l ATTRIB Th'ICI< RF:CFH<F Al LRECU132> BLKSIZE<132l ATTRIB UIAOCB RECFM<F Bl LREQ<BO> BLKSIZEC9040l ATTRIB PRIHTOCB RECFH<F l<l LREQ( 133) BLKSIZE<9044l ATTRIB PLOTDCB RECFH<V B S> LRECU102l BLKSIZE<B919l !• !• DATA BANI( !• ALLor.ATE FILE<FT01F001 > DA< 'Mlf>ERPREF .,&BANK•> &BANl\DISf·
VOLUl1E<&VOLSER>-UNI T< 33BO l SPACE C &!tANKSP 1 IJJANKINCR > BLKSIZE < 4620 > llSINGC BANKOCB)
!• !• DIALOG INl'UT !• ALLOCATE FILE<F105F001l DA<*> USING<Tl\lCB> !• !• [t!ALOG OUTPUT !• ALLOCATE FILE<FT06F001l !tA<*l USING<TKIICl<l !• I• PRIHTER FILE !• IF &PRINTSP NE 0 TIEN OO
DEL 'MJSERPRE:f .. EHf'RT 6USER' ALLOCATE FILE<FT07f00ll f!AC'MJSERPF.'[f .. Eltf'RTMJSER' > NEW
VOLLM'IE<6VOLSlîO UNIT<3380) SPACE<IJ'RINTSP,5> DLKSIZE<9044l FREE FILECFT07f00ll ALLOCATE FILE<FT07FOOll fJAC'&USERPRff, ,El1f'RT&USER' > .HOI>
RKSIZE:<9044l USING<f'RltfflCBl ~'ELEASE END
Et.SE-ALLOCATE FILE<FT07F001 > [lf-NAHE< 'NULLFILE' > BLKSIZE<9044l-
USING<F'RINTICBl !• !• ffi1"œ FILE !• AL.LOCATE FILECFT!OFOOll ItATASET<•l I• I• FILE TO COl111lJHCAlE TO NEXT HODl.l.E !• ALLOCATE FIL.E<FT99F00ll J:IA( '&USEkf'REF .. El1F1'1J&IJS[R(NlXT>' > OLD !• !• !tATCH OUTPUT OR PUNCH FILE !• IF !.f'UNCHSf' GT 0 TIEN ItO
EL.SE-
ItEL . '&USERPREF, , EHf'CHloUSER' ALLOC FILECFT04f001l DATASETC'MJSERPREF .. EHPCHWSER' >NEW KŒP Cl\TAL06 VOllJl1E(!.VOLSERl-lJNITC3380l SPAŒ<!.l'UNCHSf',5) BLKSIZEC9040> FREE FILE<FT04F001l ALLOC FTLECFT04f001 l [1ATASET< 'MJSERF'l\'fF ,,El1f'(.11WSER' lHOI1 ltlKSIZEC9040l USING<LDAiiCBl RELEASE END
AlLOCATE FILE<FT04f001) OUl1MY flLKSIZE<9040l USING<L[tAfl(;Bl
N 1 ~
•
/* /* PLOT FILE /* IF PLOTSP GT 0 TIEN DO
tEL IRUSERPREF..EMPLTRUSERI ALL0CFILE(FTO8F001) DATASET('&USERINEF..EMPLT&USER , ) - NEW KF_EP CATALOG VOLUME(&VOLSER) - UNIT(3380) SPACE(6PL0TSP,5) BLKSIZE(8918) FREE FILE(FTO8F001) ALLOC FILE(FT08F001) DATASET(I&USERPREF—EMPLTRUSERI)- MOI) BIKSIZE(8918) USING(PLOTDCB) RELEASE END
ELSE- ALLOCATE FILE(FTO8F001) DUNI« BLKSIZE(8918) 11SING(PLOTDCB)
/* /* SET TO INTERACTIVE MODE , /* ALLOC FILE(FT98F001) SPACE(1) BLKSIZE(9040) USING(LDADCB)
ENFILE FT98F001 OUTPUT SET 6FT98F001 = 0 /* 0= INTERACTIVE PUTFILE FT98F001 CLOSFILE FT98F001 /* /* SET TO CORRECT BDISK ROUTINE IF NEW DATA DAW /* SET 6BDISK 6STR( ) IF 6BANKIIISP EG (ID TIEN GOTO Li SET &DSIZE = 2700 IF &BANKTOT LT 2700 TIEN SET RIGIZE = 2600 IF 6BANKTOT LT 2600 TIEN SET &DSIZE = 1800 IF KRANKTOT LT 1800 TIEN SIT &DSIZE = 380 IF RDSIZE NE 2700 TIEN SET &BDISK = , , REMPREF..6EN_I8(BDS4(USIZE) , /* /* INITIALIZE LIBS USED INDICATOR /* L1:SET LIBS &STR(N) /* /* INITIALIZE MODULE HUMBER /* SET IMMUN = &HM SET ZEROS = 6STR(0000) /* /* LOOP TO EXECUTE EMME/2 MODULES AS SPECIFIED ON IENO. /* /* LINK AND CALL ARE &KY USED FOR A NEW DATA BANK TO USE CORRECT /* BDISK ROUTINE /* DO WHILE &MODNUM GE 000 AND &MODNUM LT 999
SET &MODTEX = 6611BSTRUMEVAL(4-6LENGTN(6MODNUM)),(JEROS)6MODNUM SET &MODTEX = &SUBSTR(2:4,6MODIEX)
/* /* SET UP ANY BATCH FILES SPECIFIED /* SET F103 = &STR(N) IF &LENGTH(1.BATCHLIB) EG 0 TIEN GOTO L3 IF &MODTEX En 002 AND 6LENGTH(60402) NE 0 TIEN DO
ALLOC FILE(F703,001) DAMUSERPREE..6BATEI(.IB(60002) , ) SHR GOTO L2 END
IF &MODTEX 141 AhM 6LENGTH(60141) NE 0 TIEN DO
tableau 2-1 (suite)
ALLOC FILE(FTO3F001) DA(INUSERPREF. .6BATChLIB(60141) , ) S(41 GOTO L2 END
IF 6140DIFY E0 201 AND 6LENGTHIRD201) NE 0 TIEN DO ALLOC FILE(FTO3F001) DA(INUSERPREF. .6BATCHLIB(60201) , ) SHR GOTO 12 END
IF &MODTEX EG 202 AND 6LENGTH(60202) NE 0 TIEN DO ALLOC FILE(FTO3F001) DAMUSERPREF. •6BATChtIB(6D202) , ) SHR GOTO 12 END
IF &MODTEX Et) 211 AND 6LEN6T0(6D211) NE 0 TIEN DO ALLOC FILE(FTO3F001) DAORUSERPREF., &BATC1t1B(61)211) , ) SUR 6010 12 END ,
IF &MODTEX Et) 221 AND 6LEN6TH(6D221) ME 0 TIEN DO ALLOC FILE(FTO3F001) DA(INUSERFREF.. 6BATCHLIB(61221) , ) SIR GOTO 12 END
IF MIODTEX Et) 231 NO 6LENGTH(6D231) NE 0 TIEN DO ALLIE FILE(FTO3F001) DA(I&USERPREF,. &BATCHLI8(60231)II SHR GOTO 12 END
IF 6MO0TEX En 301 AND &LEN6TH(6D301) NE 0 TIEN DO ALLIE FILE(FT03F001) DA('6USERPREF.. 6BATCHLIB(6D301) 0 ) SHR GOTO 12 END
IF &MODTEX Et) 311 AND &LENGTH(60311) hE 0 TIEN DO ALLOC FILE(FTO3F001) DAMUSERPREF., &DATCILIB(611311) , ) SHR GOTO 12 END
IF &MODTEX EG 411 AND 6LENGTH(0411) hE 0 TIEN DO ALLOC FILE(F103F001) DA('6USERPREF..&BATCHLIB(0411) , ) SHR GOTO 12 END
SOTO 13 L2:SET FT03 = (STR(Y) 13:IF 600I9K Et) 6STR( ) TIEN DO /* LINK , REMPREF..6E)i0BJ(E&MODTEX) , 64AP SIZE(999000)- /* LIB(tFORT.FORTLIB , ,o6EMPREF..&EMLIBI,ITETCS.LOADLIBI,- /* ISYSI.KAINTLIEP)- /* LOAD('REMFREF..EMTEMP(MOD)') /* CALL IDEMPREF..EMTEMP(MOD)I /* SET LIBS = 6STR(Y)
CALL'IEMPREF..&EMLOAD(E&MODTEX) , SET CCODE = &LASTCC END
ELSE DO LOAD (I&EMPREF../IEMOBJ(E&MODTEX) , &BDISK) -
&KAP SIZE(999000)- LIB( , FORT.FORTLIB', , REMPREF..6EMLIB., , TKTCS.LOADLIBI,- , SYS1.(4INTLIBI)
SET MODE = 6LASTCC SET &BDISK = &SM( ) SET LIBS = 6STR(Y) END
IF 6FT03 Et) 6STR(Y) TIEN FWIE FILE(FT03F001) IF &IXODE NE 000 TIEN GOTO SETMOD %TEXT SET CCOIE = &LASTCC
SETMOD: SET MODNUM = &CCODE - 3000
END /* /* FREE FILES /* XEMEND EMPREF(REMPREF) LI80(6LIPS) EMLIBI&EMLIE0 EMOBJ(NEMOBJ)-
USERPROC(RUSERPROC) DEL , NUSERPREF..EMPREIRUSERI END
2-6
• 2.3 Les paramètres de la procédure EMME2
Les paramètres substituables les plus importants pour l'usager
sont les suivants:
NNN(nnn)
USERPREF(préfixe)
VOLSER(volume)
BANK(nomdebanque)
BANKDISP(disp)
BANKTOT(btot)
BANKSP(bsp)
BANKINCR(bincr)
PUNCHSP(psp)
PRINTSP(prtsp)
PLOTSP(pltsp) • BATCHLIB(fichierpartitionnébatch)
D002(d002)
D141(d141)
D201(d201)
D202(d202)
D211(d211)
D221(d221)
D231 (d231)
D301(d301)
D311(d311)
D411(d411)
USERPROC( 'préfixe.fichierpartitionnéproc I )
Seulement deux de ceux-ci_ n'ont pas de valeur par défaut attri-
buée. Le nom de la banque de données désirée (BANK) doit être
mentionné obligatoirement. Le nom du fichier partionné contenant
les données de base, à lire en lot, (BATCHLIB) est requis seule-
ment si on veut lire, au cours de la session, des données en lot
pour constituer une banque de données celfM2 , ou encore générer
un scénario à l'intérieur d'une banque existante.
• 2-7
2.3.1 Le paramètre NNN(nnn)
Ce paramètre permet d'accéder directement au module n.nn
de Oint sans passer par le logo de 01 1,2 , ni son menu
principal.
On déconseille l'utilisation de ce paramètre puisque la
mise-à-jour du livre de bord ("logbook") (i.e. la mise-à-
jour de la date avec les initiales de l'usager) et
l'impression dans ce "logbook" de l'utilisation du module
n.nn ne sont pas faites. Pour plus de détails concernant
le "logbook", consulter le module 1.21 de Ote?
Pour la création d'une nouvelle banque de données ge1e2
il est nécessaire de faire l'appel suivant:
NNN(001)
Si NNN n'est pas appelé, alors par défaut:
nnn = 002, ce qui amène une session normale passant par
l'identification du logiciel suivi du menu principal.
2-8
2.3.2 Le paramètre USERPREF(préfixe)
Ce paramètre permet d'accéder aux différents fichiers
qu'utilise l'usager en rapport avec le logiciel. Il
représente la première partie du "dsname" des fichiers
utilisés, de sorte que oint reconnaîtra les fichiers:
préfixe .EMPROZZZ
préfixe .nomdebanque
préfixe. fichierpartitionnébatch
préfixe .empchZZZ
préfixe. emprtZZZ
préfixe .empltZZZ
préfixe .emproZZZ
Si USERPREF n'est pas appelé, alors par défaut on a
préfixe = A017.P0108 , - qui correspond au compte attribué
au Service des systèmes d'information de la D.G.T.T.P.
Pour le fichier partitionné contenant la ou les procédures
d'appel à ede2 on peut avoir un "préfixe" différent, tel
que donné par le paramètre USERPROC:
préfixe. fichierpartitionnéproc
(voir section 2.3.10).
2.3.3 Le paramètre VOLSER(volume)
Ce paramètre indique sur quel disque se situent les
fichiers de l'usager.
Par défaut,
volume = MTQ302 (D.G.T.T.P.)
2-9
2.3.4 Les paramètres BANK(nomdebanque) et BANKDISP(disp)
Le paramètre BANK est obligatoire.
Pour une banque existante, il permet d'accéder à la banque
préfixe. nomdebanque ;
Lors de la création d'une nouvelle banque, le fichier
préfixe.nomdebanque est créé à l'intérieur derel1T2 et
catalogué automatiquement.
BANKDISP contrôle la disposition de ce fichier par le
système.
disp = OLD permet d'accéder à la banque existante
préfixe.nomdebanque
11, disp = NEW entraîne la création d'une nouvelle banque
préfixe.nowdebanque
Si BANKDISP n'est pas donné, alors par défaut: disp =
OLD.
2.3.5 Les paramètres BANKTOT(btot), BANKSP(bsp) et
BANKINCR(bincr)
Ces paramètres sont reliés à la dimension de la banque de
données "nomdebanque".
2.3.5.1 Évaluation des dimensions d'une banque
La - création d'une banque ellen requiert la
détermination des paramètres suivants:
2-10
paramètres fixés par le système
MMODE: nombre maximum de modes de transport
(différent du nombre maximum de modes
par lien); fixé à 31.
MVEH: nombre maximum de véhicules (types de
véhicules en transport en commun);
fixé à 50.
MLINE: nombre maximum de lignes de transport
en commun; fixé à 500
MDEML: espace, en nombre maximum de mots,
attribué à chaque ensemble de
démarcations; fixé à 3000.
MLOGB: espace, en nombre maximum de mots,
attribué au livre de bord
("LOGBOOK"); fixé à 4000.
ii) Paramètres à fixer par l'usager pour une
banque spécifique
MSCEN: nombre maximum de scénarios.
(entre 1 et 20)
MCENT: nombre maximum de centroides.
(entre 1 et 750)
MNODE: nombre maximum de noeuds, incluant
les centroïdes.
(entre 1 et 8000)
2-11
MLINK: nombre maximum de liens.
(entre 1 et 20 000)
MTURN: nombre maximum de mots pour les
virages des intersections déclarées.
Chaque noeud déclaré "éclaté" occupe
environ [nombre de liens entrants au
noeud * nombre de liens sortants du
noeud] mots.
(entre 1 et 4 000)
MLSEG: nombre maximum de segments pour
l'ensemble des lignes de transport en
commun.
(entre 1 et 30 000)
MMAT: nombre maximum de matrices de chaque
type.
(entre 1 et 99)
MFUNC: nombre maximum de fonctions par
classe.
(entre 1 et 99)
MOPER: nombre maximum d'opérations, par
classe de fonctions.
(entre 1 et 2 000)
iii) autres paramètres
Ces paramètres n'ont pas d'incidence sur la
taille en espace-disque de la banque.
2-12
• MGROUP: nombre maximum de groupes (pour les
zones); fixé à 1 000.
MLTYP: nombre maximum de types de liens;
fixé à 999.
La formule suivante permet maintenant de
calculer le nombre de mots requis pour une
banque de données Ce2 , en fonction des
paramètres variables:
mots = (MMAT * MCENT * MCENT) +
max(MNODE,MLINK,MLSEG,MTURN,MCENT*MCENT)+
(((2*MMAT)+26) * MCENT)+
(13 * MSCEN * MLINK)+
(9 * MSCEN * MNODE)+ • (6 * MSCEN * MLSEG)+
(13723 * MSCEN)+
(5 * MSCEN * MTURN)+
(12 * MOPER)+
(6 * MFUNC)+
(101 * MMAT)+
35139.
On peut ensuite calculer "bbloc", le nombre
de blocs nécessaires pour la banque, à partir
de la formule suivante (1) :
bbloc = INT [(4*mmots/4628)+401
On trouvera à la section 3.2 un exemple
complet de calcul.
( 1 ) [1 mot = 4 bytes] et [1 bloc = 4628 bytes]
2.3.5.2 Allocation de l'espace-disque
Une fois déterminé l'espace-disque requis pour la
banque (bbloc), il reste à l'allouer au fichier
"nomdebanque" à travers la procédure EMME2.
Des contraintes reliées au compilateur FORTRAN IV
font qu'on ne peut utiliser ici que certaines
valeurs fixées pour "btot", qui correspond au
nombre de blocs (de 4628 bytes) attribués à la
banque. Quatre valeurs ont été définies comme
"permises" pour l'instant; elles peuvent par
contre être changées par les gens responsables de
l'entretien du logiciel ed1elÇ12 , si nécessaire.
On retiendra donc:
btot = 380 si 0 bbloc< = 380
=-1800 si 380 <bbloc< = 1800
= 2600 si 1800<bbloc< = 2600
= 2700 si 2600<bbloc< = 2700
Si bbloc > 2700, alors on doit recompiler la
routine BDISK du logiciel et modifier la procédu-
re EMME2 en conséquence, ceci étant du ressort
des gens de l'entretien du logiciel.
2-13
• 2-14
Maintenant que btot est connu, il suffit de
déterminer le nombre de blocs en espace primaire
(bsp) et en espace secondaire (bincr), de telle
sorte que
btot < = (bsp + 15 * bincr);
sous contrainte évidemment que cet espace soit
disponible sur l'unité de disque identifiée par
VOLSER.
La procédure EMME2 allouera ainsi bsp blocs de
4628 bytes en espace primaire et bincr blocs à
chacune des 15 extensions secondaires.
Une fois la banque créée, il faut quand même
fournir, à chaque appel par le procédure EMME2,
lie valeurs de btot, bsp et bincr. Par défaut,
btot = 380, bsp = 300 et bincr = 40.
• 2-15
2.3.6 Le paramètre PUNCHSP(psp)
Ce paramètre sert à créer un fichier général d'images-
cartes, utilisé au cours d'une session pour copier des
données originant de la banque de donnée sur laquelle on
travaille. Ce fichier pourra à son tour être plus tard lu
en lot, pour générer une partie d'une autre banque, ou
être utilisé par un programme quelconque de l'usager.
Au début d'une session, EMME2 attribue "psp" blocs de 9040
bytes au fichier préfixe.EMPCHZZZ , où ZZZ est le numéro
de l'usager ayant établi cette session. Si le fichier
existe déjà, découlant de la session précédente, il sera
détruit et réinitialisé.
On devra donc, lorsqu'on veut reproduire en fichiers
d'images-cartes le contenu d'une banque, refaire pour
chaque type de données de la banque une session distincte
(lignes de démarcation, matrices, lignes t.c., etc).
A la fin de chacune de ces sessions, on copiera le contenu
du fichier préfixe.EMPCHZZZ sous forme d'un membre d'un
fichier partitionné (via l'option 3.3 de SPF). Il faut en
effet, pour lire des données en lot avec ge2 , qu'elles
soient groupées comme membres d'un fichier partitionné
(voir paramètre BATCHLIB).
Les modules de Ce2 reconnaissent l'action de copier des
données en images-cartes par la sélection du verbe
"PUNCH".
Il est permis de spécifier une valeur nulle (psp = 0), ce
qui créera un fichier bidon au lieu du fichier
préfixe.EMPCHZZZ .
• 2-16
Si psp est non nul, EMME2 alloue psp blocs de 9040 bytes
en espace primaire et utilise un incrément de 5 blocs pour
les extensions secondaires. Il faudra donc s'assurer que
le fichier préfixe.EMPCHZZZ comporte un espace suffisant
pour recevoir le contenu à "puncher".
Par défaut, psp = 5
•
•
2.3.7 Le paramètre PRINTSP (prtsp)
Ce paramètre contrôle l'impression des rapports générés au
cours d'une session ge2 . Les modules de erM'2 recon-
naissent l'action d'envoyer ,sur le fichier d'impression
un rapport par le verbe "PRINT", le support choisi
("DEVICE") devant alors être "PRINTER".
Au début d'une session, EMME2 attribue "prtsp" blocs de
9044 bytes au fichier préfixe.EMPRTZZZ , où ZZZ est le
numéro de l'usager ayant établi cette session. Si néces-
saire, des extensions de 5 blocs seront allouées. Si le
fichier existe déjà, découlant de la session précédente,
il sera détruit et réinitialisé.
Il est permis de spécifier une valeur nulle (prst = 0), ce
qui créera un fichier bidon au lieu de préfixe.EMPRTZZZ .
L'usager doit s'assurer que l'espace qu'il requiert est
disponible et suffisant pour recevoir le contenu en
images—lignes des rapports produits par cide2 .
On peut envoyer le contenu du fichier préfixe.EMPRTZZZ
sur imprimante, en utilisant l'utilitaire IEBGENER D'IBM.
Un exemple de cette procédure peut être consulté au
fichier EMME2.JCLLIB(PRINTERA) , reproduit au tableau
2-2. Chaque usager est invité à se créer un membre de ce
genre, avec ses propres paramètres d'usager, afin
d'envoyer directement le fichier à l'impression
(MSGCLASS = A). -Il faut cependant ajuster la classe
2-17
d'exécution en fonction du nombre de lignes à imprimer
(20 000 lignes maximum en classe "A", sinon en classe •
"B"). Notons qu'on peut aussi employer l'utilitaire "3.6"
de TSO/SPF pour arriver aux mêmes fins.
• 2-18
tableau 2-2
programme d'impression général
//J7PRINTA JOB (XXXXXXXXXXX)000000(XXXXXXXXXXXXXXXXXX), // eSIZZZ' tCLASS=AeMSOCLASS=A,NOTIFY=NUZZZ t MSGLEVEL=(0,0) /*ROUTE PRINT RMT07 D= USER NAME //*T PRINTERA //ETAPEO2 EXEC PGM=IEDOENER,COND=EVEN //SYS1JT1 DD DSN=PREFIXE.EMPRTZZZ,DISP=(OLD,PASS) //SYSUT2 DD SYSOUT=(A), // DCB=(RECFM=FRA,LRECL=133,BUSIZE=19019,OPTCD=) //SYSPRINT DD DUMMY //SYSIN BD DUMMY //
•
2-19
2.3.8 Le paramètre PLOTSP(pltsp)
Ce paramètre sert à conserver le contenu d'un graphique
Cre2 , comme une séquence de caractères de contrôle, de
paramètres et d'adresses (x,y), conformément au protocole
graphique de Tektronix. Les modules de ge2 recon-
naissent l'action d'envoyer sur fichier le contenu d'un
graphique par la commande graphique "P".
EMME2 alloue, au début d'une session ge2 , pltsp blocs
de 8918 bytes au fichier préfixe.EMPLTZZZ , où ZZZ est
le numéro de l'usager ayant établi cette session. Si
nécessaire, des extensions secondaires de 5 blocs seront
allouées. Si le fichier existe déjà, il sera détruit et
réinitialisé par EMME2.
Il est aussi permis de spécifier une valeur nulle, afin de
définir un fichier bidon.
Par défaut, pltsp = O.
Pour envoyer sur l'écran Tektronix un fichier graphique,
on utilise la procédure
PLOTPAGE
montrée au tableau 2-3.
On effectue donc, à l'écran Tektronix,
EXEC 'EMME2.EMPROC(EMSETUP)'
PLOTPAGE
pour visionner l'image-fichier "préfixe.EMPLTZZZ" .
tableau 2-3
procédure de rappel d'un traçage
PROC /*PLOTPAGE*/ 0 NAME() NU(0) — USERPREF(IA017tP0108') — MAN) EMPREF(EMME2) EMLIB(EMLIB) EMOBJ(EMOBJ) EMLOAD(EMLOAD)
CONTROL MAIN LIST SYMLIST /* PROCEDURE TO DISPLAY A PLOT FILE /* 84 02 17 LGJL /* CALLING SEOUENCE: /* PLOTPAGE /* /* OPTIONAL PARAMETERS ARE SPECIFIED AS PARAME1ER(VALUE) FOLLOWING /* PLOTPAGE (SEE EXAMPLES IN THE FROC STATEMENT) IN THE PARAMETER /* DESCRIPTIONS ZZZ INDICAŒS THE USER NUMBER fAKEN FROM THE USER /* ID NUZZZ /* /* OPTIONAL PARAMETERS: /* NAME NAME OF PLOT FILE (CASE: ANY PLOT FILE BIFFE- /* RENT OF EMPLTZZZ) /* THIS PARAMETER HAS PRIORITY ON PARAMETER NU /* NU USER NUMBER 3 DIGITS, /* ALLOW ANY Z71 IN PLOT FILE EMPLTZZZ /* BY DEFAULT IT IS THE PRESENT LOGON ID /* (N.B.: NAME HAS PRIORITY ON NU) /* USERPREF tEMPREF — SEE PROCEDURE EMME2 /* SET USER = &SUBSTR(3:5 t &SYSUID) IF &NU NE 0 MEN SET &USER = &NU SET PFILE = &STR(EMPLT)&USER IF &LENGTH(&NAME) NE 0 THEN SET &PFILE = &NAME /* FREE FILES AND ATTRIBUTE LISTS (DCBS) FREE ATTR(PLOTDCB FKDCB) FILE(FT081001 rTo5roo1 FTO6F001) ATTRIB TKDCB RECFM(F A) LRECL(132) BLKSIZE(132) ATTRIB PLOTDCB RECFM(V B S) LRECL(182) BLKSIZE(19019) /* DIALOG INPUT */ ALLOCATE FILE(FTO5F001) DA(*) USING(TKDCB) /* DIALOG OUTPUT */ ALLOCATE FILE(FTO6F001) DA(*) USING(TKDCB) /* PLOT FILE */ ALLOC FILE(FTO8F001) PATASET('&USFRPREFft&PFILE')— OLD USING(PLOTDCB) SET LIBS = &STR(N) /* /* LINK '&EMPREF.&EMOBJ(E901)' &MAP SIZE(999000)- /* LIB('FORT.FORTLIB't'&EMPREFft&EMLIB' t 'TKICS.LOADLIBe t - /* 'SYS1.MAINTLIB#)— /* LOAD('&USERPREF..EMTEMP(MOD)') /* SET LIBS = &STR(Y) /* CALL t&USERPREFt£MTEMP(MOD)' /*
CALI_ '&EMPREFoaxEMLOAD(E901)' /* FREE FILES */ FREE ATTR(TKDCB PLOTDCB) FILE(FTO5F001 FTO6F001 FTO8F001) IF &LIBS EO &STR(Y) THEN DO
FREE DA(t&EMPREF.s&EMOBJ' e&EMPREF..&EMLIB' 'TKTCS.LOADLIBi-*FORT.FORTLIB"SYS1tMAINTLIB') END
END
2-20
2-21
Pour visionner le fichier préfixe.EMPLTXXX , où XXX est
un autre usager, on ajoute le paramètre NU(XXX):
PLOTPAGE NU(XXX)
Pour un fichier quelconque, on ferait
PLOTPAGE NAME("préfixe.filename") .
Un programme d'interface existe aussi pour interpréter le
fichier "préfixe.EMPLTZZZ" et générer une sortie
graphique sur table traceuse CALCOMP, à Québec.
Un exemple de ce programme peut être consulté au fichier
EMMEZ.JOLLIB(CALCOMP) , reproduit au tableau 2-4.
Chaque usager peut se créer sa copie du programme, en
changeant les paramètres préfixe et ZZZ partout. La carte
"JOB" doit aussi être adaptée à l'usager.
•
tableau 2-4
procédure de traçage sur Calcomp
//J7CALCOM JOB (XXXXXXXXXXXXXXXXXXXXXXXXXXXXX, // XXXXXXXXXXXXXXXX)(XX),'SIZZZ',CLASS=A,NOTIFY=NUZZZ,MSGCLASS=X //* //* LE COMMENTAIRE SUIVANT NE S'ADRESSE PAS A L'UTILISATEUR //* DU FICHIER CALCOMP (SEULEMENT A LA PERSONNE RES- //* PONSABLE DE L'ENTRETIEN DU SOURCE) //* //* LE PROGRAMME SOURCE DE L'EMULATEUR DU TEKTRONIX POUR CALCOMP //* EST SOUS LE CONTROLE DE FRANCOIS MONGRAIN //* A ETE REECRIT ET ADAPTE POUR LA D.G.T,T.P, DU M.T.O. //* PAR AMBRE RABIN //* ET PROVIENT ORIGINAIREMENT DU C.R.T. DE UNIVERSITE DE MONTREAL //* //INIT EXEC PGM=ST6803, // PARM='S1=B,62=R,S3=V,S4=N,T=METRE' //STEPLIB DD DSN=A041.MODLIB,DISP=SHR //0S01 BD SYSOUT=X,DCB=BLKSIZE=133 //SYSUDUMP BD DUMMY //0505 DD SYSOUT=X,DCB=BLKSIZE=133 //TRACEUR DD DSN=&&A002,DISP=(MOD,PASS), // UNIT=PUBLIC,DCB=BLKSIZE=500,SPACE=(TRK,(20,5)) //EMUL EXEC PGM=ETM95600 //STEPLIB DD DSN=A017.MODLIB,DISP=SHR //SYSUDUMP BD DUMMY //* //* YPRINT ET XPRINT SONT DEUX PARAMETRES MODIFIABLES PAR L'USAGER //* VALEURS EXPRIMEES EN CENTIMETRES, YPRINT REPRESENTE LA //* LARGUEUR DU GRAPHIQUE SUR CALCOMP (MAXIMUM PHYSIQUE ETANT //* DE 80) ET XPRINT REPRESENTE LA LONGUEUR DU GRAPHIQUE (SI //* CETTE VALEUR EST 0 ALORS XPRINT EST CALCULE PAR LE PROGRAMME //* DE TELLE FACON QUE LE RATIO X SUR Y DE L'ECRAN TEKTRONIX //* EST PRESERVE) //* N.B.; IL Y A TRANSFORMATION DU GRAPHIQUE TEKTRONIX EN GRA- //* PHIQUE CALCOMP EN TENANT COMPTE DU NOUVEAU RATIO //* FORME PAR XPRINT SUR YPRINT, SI ON VEUT OBTENIR LE //* GRAPHIQUE IL FAUT S'ASSURER QUE LE RATIO XPRINT SUR //* YPRINT SOIT LE MEME QUE LE RATIO DU GRAPHIQUE INITIAL //* //FTO5F001 DD * &PARAM YPRINT=80.,XPRINT=0. &END
/* //FTO6F001 BD SYSOUT=X //FTO8F001 Dl) DSN=PREFIXE.EMPLTZZZ,DISP=SHR //TRACEUR DO OS-&&A002,DISP=(MOD,PASS), // UNIT=PUBLIC,DCB=BLKSIZE=500,SPACE=(TRK,(20,5)) //DESSINE EXEC PGM=STG804,COND=(0,NE,EMUL) //STEPLIB BD DSN=A041.MODLIB,DISP=SHR //SYSUDUMP BD DUMMY //01102 DD DSN=A0414P0192.D02,DISP=SHR //TRACEUR BD DSN=&&A002,DISP=(OLD,DELETE), // UNIT=PUBLIC,DCB=BLKSIZE=500 //0S06 BD SYSOUT=X,DCB=BLKSIZE=133
2-22
•
• 2-23
2.3.9 Le paramètre BATCHLIB(fichierpartitionnébatch) et ses
paramètres associés
Le paramètre BATCHLIB sert à transmettre au logiciel
le nom du fichier partitionné (librairie) dont les membres
contiennent les données à lire en lot pour générer tout ou
partie d'une banque.
Ce fichier existant portera le nom:
préfixe.fichierpartitionnébatch et ses membres seront
constitués d'images-cartes de 80 colonnes.
Il est obligatoire de donner une "valeur" au paramètre
BATCHLIB, aucune n'étant prévue par défaut, lorsqu'on
•
désire accéder à un des modules suivants (voir tableau
ci-dessous).
Une fois identifié le fichier partitionné, il faut trans-
mettre le nom de chacun des membres où les différents
modules de gle2 pourront lire les données en lot.
Le paramètre BATCHLIB est donc associé aux paramètres
suivants dans la procédure EMME2:
Paramètre Module
correspondant Valeur par
défaut
D002(d002) Création de banque DOO2IN D141(d141) 1.41 D141IN D201(d201) 2.01 D201IN D211(d211) 2.11 D211IN D221(d221) 2.21 D221IN D231(d231) 2.31 D231IN D301(d301) 3.01 D301IN D311(d311) 3.11 D311IN D411(d411) 4.11 D411IN
• 2-24
Lorsque dans une session oidl on accède à un module de
lecture en lot ("BATCH ENTRY"), ou à l'option de lecture
en lot à l'intérieur du module n.nn, alors il faut que le
membre
préfixe.fichierpartitionnebatch(donn) existe et que son
nom soit transmis à EMME2.
Le contenu des membres doit respecter les définitions
suivantes:
Membre
Contenu
d002 la table descriptive des différents types de
terminaux utilisables pour une session 31 1l2 ,
graphiques ou non, et des imprimantes dispo-
nibles ("DEVICE TABLE") (voir manuel
pour la description). Ce membre peut être
obtenu en copiant
EMME2.DATA(D002IN) ; voir tableau 2-5.
d141
la table des lignes de démarcations.
d201
la table des modes.
d202
la table des véhicules (pour les lignes de
transport en commun).
d211 la table des noeuds suivie de la table des
liens (constituant le réseau de base).
d221 la table des lignes de transport en commun.
d231 la table des virages pénalisés (définissant
les noeuds qui sont considérés comme inter-
sections éclatées).
tableau 2-5
table des terminaux
2-25
TEKTRONIX 4116 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,59,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,58,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,58,27,12,32,32,32,32,32,32,32,32,32,32,32,32 07,27,26,32,32,32,32,32,32,32,32,32,32,32,32,32 27,59,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 13,10,7,62 0,5,525819,5,56,0,1000,1000,1500 IBM PC—XT (EMULATION TEKTRONIX) 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,59,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,58,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,58,27,12,32,32,32,32,32,32,32,32,32,32,32,32 07,27,26,32,32,32,32,32,32,32,32,32,32,32,32,32 27,59,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 13,10,7,62 0,5,525579,5,56,0,1000,1000,1500 TEKTRONIX 4116 + GRAPH. CALCOMP 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,59,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,58,27,12,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,58,27,12,32,32,32,32,32,32,32,32,32,32,32,32 07,27,26,32,32,32,32,32,32,32,32,32,32,32,32,32 27,59,27,12,32 e32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 13,10,7,62 0,5,527867,5,56,0,1000,1000,1500 TERMINAL NON—GRAPHIGUE 12,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 38,32,32,32,32,32,32,32,32032,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 12,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 12,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 78,79,32,71,82,65,80,72,73,67,83,32,79,78,32,84 72,73,83,32,84,69,82,77,73,78,65,76,33,33,32,32 13,37,47,76 0,1,0,0,24,4800,0,0,0
IMPRIMANTE LOURDE 60 LIGNES/PAGE 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 241,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32 0,2,0,0,60,0,0,0,0 IMPRIMANTE LOURDE 45 LIGNES/PAGE 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 241,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32 0,2,0,0,45,0,0,0,0 TEKTRONIX 4663
. 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 27,12,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 32,32,32,32 6,4,2811,5,0,010,0,0
•
préfixe. fichierpartitionnébatch
d002 d141 d201
d231 d211 d221
d231 d301 d311
d411 autres... lecture en lot copie
• 2-26
d301 la table des ensembles de groupes (le système
de zones est divisé en groupes).
d311 la table des matrices.
d411 la table des fonctions.
Les manipulations reliées à ce fichier sont schématisées
au tableau 2-6.
tableau 2-6
schéma des manipulations de données
•
•
logiciel Écriture préfixe. utilitaires
errin2 EMPCHZZZ TSO/SPF Images-cartes
Banque
Banque
Banque n.
• 2-27
2.3.10 Le paramètre USERPROC(fichierpartitionnéproc)
Ce paramètre sert à désigner le fichier partitionné qui
contient la ou les procédures appelant la procédure EMME2
pour une ou des banques de données particulières. On
notera que le nom doit apparaître au complet et que le
préfixe peut être différent de celui utilisé à travers ce
guide (voir section 2.3.2). Règle générale, le "préfixe"
sera celui désigné par le paramètre USERPREF (section
2.3.2)
par défaut,
fichierpartitionnéproc est
A017.P0108.EMPROCX
s
•
•
SECTION 3
CRÉATION D'UNE BANQUE DE DONNÉES
•
•
• 3-2
On présentera ici le déroulement complet du processus de création
d'une banque de données, incluant la création de procédures d'accès
spécifiques. Un exemple complet suivra à la section 4.
3.1 Étape 1: Autorisation d'accès
S'assurer que le code d'usager affecté au projet permette l'accès
au logiciel et qu'un espace-disque suffisant soit disponible
(voir section 1).
3.2 Étape 2: Identification du fichier de données en lot
Si la création d'une banque de données se fait dans le cadre d'un
nouveau projet, avec utilisation de données à générer, il devra y
avoir eu création d'un fichier partitionné avec longueur des
enregistrements à 80 colonnes. Ce fichier est différent du
fichier partitionné des procédures d'accès (section 3.4).
Chacun des membres de ce fichier représentera une table de
données à lire en lot pour construire la banque de données (voir
le paramètre BATCHLIB, section 2.3.9).
3.3 Étape 3: Dimensions de la banque
On évalue les dimensions de la banque de données à créer, tel
qu'expliqué à la section 2.3.5.1 et on détermine ensuite la
valeur des paramètres BANKTOT, BANKSP et BANKINCR de la procédure
EMME2.
3.4 Étape 4: Création d'une procédure spécifique
d'accès à la banque
Pour l'utilisation répétée d'une banque de données particulière
sous Cre2 , il faudra toujours associer des valeurs invariables
3-3
à la plupart des paramètres de la procédure générale d'accès
EMME2. Il peut donc devenir très intéressant de se créer des
procédures "privées", spécifiques aux banques de données qui nous
concernent, qui nous permettront d'y accéder plus rapidement et
efficacement.
Le processus est le suivant:
I. Identification ou création d'un fichier partitionné qui
contiendra les procédures d'accès à une ou plusieurs
banques de données. On peut employer l'option 3.2 de SPF,
pour connaître les caractéristiques du fichier
EMME2.EMPROC ; le fichier créé est désigné comme:
fichierpartitionnéproc .
Copier le membre EMME2.EMPROC(SETUP) de ce fichier dans
votre fichier partitionné, en lui donnant le nom EMSETUP ,
à l'aide de l'option 3.3 de SPF, (voir tableau 3-1).
Modifier le membre (EMSETUP) du nouveau fichier, en insé-
rant le nom de ce fichier partitionné au paramètre
USERPROC de EMSETUP (deuxième ligne). Le nom passé devra
être identique à celui passé au paramètre USERPROC d'une
procédure appelant EMME2 et qui sera aussi membre
(comme EMSETUP ) de ce fichier pP-t7itionné.
tableau 3-1
procédure d'initialisation d'une session
PROC /*SETUP*/ 0 EMPREF(EMME2)- USERPROC('PREFIXE,NOMBEFICHIERPARTITIONNEPROC , )
/*CONTROL LIST SYMLIST /* /*T EMSETUP 84 06 08 LGJL /* /* PROCEDURE TO - ATTACH EMME/2 PROCEDURE LIBRARY EMPROC FOR TS0 /* - SET TERMINAL DEFINITION (BACKSPACE,LINESIZE) /* /* IN THE PARAMETER DESCRIPTIONS, EMME2 INDIACTES THE SYSTEM PREFIX /* TAKEN FORM PARAMETER EMPREF, /* /* PARAMETERS: /* EMPREF PREFIX USED TO FORM THE FIRST PART OF THE /* DSNAME OF EMME/2 SYSTEM FILES /* USERPROC USER PROCEDURE LIBRARY NAME /* FREE FILE(SYSPROC) ALLOCATE FILE(SYSPROC) DA('SYS1,SYSPROC , -
, ISP.ISPPROC , ,SYS2.ISPP10C , ,SYS2.MTO.CLIST , - , 8EMPREF.,EMPROC , g&USERPROC. , ) SHR
UKSTART END
• 3-4
Pour créer chacune des procédures d'accès aux banques de
données, procédures qui feront appel à la procédure géné-
rale EMME2, on se basera sur une procédure existante qu'on
copiera;
Copier le membre EMME2.EMPROC(EXEM) (voir tableau 3-2)
dans votre nouveau fichier partitionné, en lui donnant le
nom que vous voulez donner à votre procédure spécifique, à
l'aide de l'option 3.3 de SPF; on obtient ainsi le membre
préfixe.fichierpartionnéproc(procéduredaccès) .
Editer dans ce nouveau membre les changements requis au
niveau des paramètres substituables (huit premières
lignes).
tableau 3-2
exemple de procédure d'appel spécifique d'EMME 2
PROC /*EXEM*/ 0 USERPREF( 'PREFIXE') VOLSER(VOLUME)- BANK(NOMDEBANGUE) BANKDISP(OLD) BANKTOT(BTOT)- BANKSP(BSP) BANKINCR(BINCR)- PUNCHSP(0) PRINTSP(0) PLOTSP(0)- BATCHLIB(FICHIERPARTITIONNEBATCH) D002(D002IN) D141(D141) D201(11201) 0202(D202) D211(D211) 0221(D221) D231(D231)- D301(D301) D311(0311) D411(D411)- USERPROC('PREFIXE.FICHIERPARTITIONNEPROC')
/* /* CONTRAINTE: BTOT PLUS GRAND GUE BSP + ( 15 * BINCR ) /* /* CONVENTION; FICHIERPARTITIONNEPROC DEVRAIT ETRE DE NOM =
/* EMPROCXX OU XX CORRESPOND A DEUX LETTRES OU
/* CHIFFRES ( S'ASSURER QU'IL N'EXISTE
/* PAS DEJA) /* CONTROL MAIN /*LIST SYMLIST SET &NNN = &STR(002) IF &BANKDISP EG &STR(NEW) THEN SET &NNN = &STR(001) EMME2 NNN(UNN) USERPREF( &MSERPREF) VOLSER( &NOLSER)-
BANK(&BANK) BANKDISP(&BANKDISP) BANKTOTC&BANKTOT)- BANKSP(OANKSP) BANKINCR(UAWIRCR)- PUNCHSP(&PUNCHSP) PRINTSP(WRINTSP) PLOTSP(&PLOTSP)- BATCHLIMBATCHLIB)- D002(&D002) D141(0141) D201(&D201) D202(&0202) D211(0211) - D221(&D221) D231(0231) 0301(e.D301) D311(&D311) D411(&0411)- USERPROMUSERPROC)
END
3-5
3.5 Étape 5: Création de la banque
Il suffit maintenant d'être en session TSO et d'exécuter pour
débuter cette session tede2 :
EXEC 'préfixe.fichierpartitionnéproc(ENSETUP
procéduredaccès BANKDISP(NEW)
Après quoi débutera la session 0,092 ; on aura alors à répondre
au dialogue pour donner les différentes dimensions ainsi qu'ini-
tialiser le premier scénario.
On peut alors poursuivre la session en débutant la lecture des
données.
3.6 Étape 6: Lecture des données dans la banque
Si on- n'est pas actuellement en session 011'92 , il faut y entrer:
EXEC 'préfixe.fichierpartitionnéproc(ENSETUP)'
procéduredaccès
On lit maintenant les données du fichier partitionné de l'étape 2
pour remplir la banque nouvellement créée, ou encore on les génè-
re interactivement durant la session 0092 .
Il y a deux types de données: celles reliées à un scénario et
qui sont hiérarchisées, et les autres données non reliées à un
scénario et qui servent à l'ensemble des scénarios de la banque.
3-6
3.6.1 Données d'un scénario
Il s'agit de s'assurer que le scénario courant est bien
celui sur lequel on veut entrer les données; pour ce
faire, au niveau du menu principal des modules, on entre
la commande:
S = n
où n est le numéro du scénario désiré.
Exemple: MODULE : S = 1000
Voici l'ordre dans lequel on doit lire les données pour
remplir un scénario, en passant par les modules de lecture
en lot correspondants:
module 2.01 (modes)
module 2.02 (véhicules)
module 2.11 (réseau de base)
module 2.31 (virages pénalisés)
module 2.21 (lignes T.C.)
Les deux derniers modules peuvent indifféremment être
appelés l'un avant l'autre, car il n'y a pas de relation
hiérarchique entre les deux types de données.
Si on veut relire dans un scénario des données en lot (à
cause d'une mise-à-jour par exemple), alors il suffit dans
le scénario en question de détruire les données qui sont
de niveau hiérarchique plus bas, puis de relire les
données en question ainsi que celles qui ont été détrui-
tes.
3-7
Exemple: relire le réseau de base
mettre le scénario en question comme scénario
courant (si ce n'est pas déjà fait);
2° 'détruire les lignes T.C.
(module 2.22 en initialisant la table
transit);
30 détruire les virages
(module 2.31 initialiser les virages)
relire le réseau de base
(module 2.11)
50 relire les virages
(module 2.31)
relire les lignes T.C.
(module 2.21)
3-8
3.6.2 Données générales de la banque
Il n'y a pas d'ordre pour la lecture des données suivan-
tes, à l'exception des matrices et des groupes pour
lesquels il doit exister un scénario avec la table des
noeuds lue (le réseau de base comprend la table des noeuds
suivie de la table des liens) dans la banque. Les données
qui suivent peuvent être lues à partir de n'importe lequel
scénario, puisqu'elles n'affectent pas les scénarios.
module 1.41 (démarcations)
module 3.01 (groupes)
module 3.11 (matrices)
module 4.11 (fonctions)
Il n'est pas nécessaire d'avoir, dans la banque de
données, toutes les données énumérées précédemment pour
pouvoir utiliser le logiciel 071192 sur la banque en
question. Par contre chaque module requiert certains
types de données làrsqu'on y accède.
Il doit y avoir consistence entre la liste des centroides
du scénario courant et les listes des centroïdes sous
lesquels on a traité les groupes ou matrices, lorsqu'on
veut traiter ces mêmes groupes ou matrices.
•
•
•
SECTION 4
EXEMPLE DE CRÉATION
D'UNE BANQUE DE DONNÉES
•
•
4-2
4.1 Autorisation d'accès
L'usager vérifie qu'il est autorisé à effectuer les manipulations
qui suivront et s'assure qu'il consommera de façon "justifiable"
les ressources en espace-disque qu'il gèlera.
4.2 Fichier de données en lot
Nous utiliserons simplement pour cette démonstration, les données
pour la région de Montréal, déjà contenues dans le fichier
partitionné A017.P0108.EMMTL ; ce fichier contient des membres
dont les noms sont mnémotechniques et qui deviendront des
paramètres substitués pour l'appel de EMME2.
Le tableau 4-1 montre l'index de ce fichier de données, avec ses
principales caractéristiques.
tableau 4-1
index d'un fichier de données typique
PROJECT: A017 DATE: 84/10/19 LIBRARY: P0108 TIME: 11:33 TYPE: EMMTL PAGE: 001
GENERAL DATA: GENERA1 DATA: CURRENT ALLOCATION: CURRENT UTILIZATION: VOLUME SERIAL: MT0302 RECORD FORMAT: FB 31 CYLINDERS 31 CYLINDERS DEVICE TYPE; 3380 RECORD LENGTH: 80 12 EXTENTS 12 EXTENTS ORGANIZATION: PO BLOCK SIZE: 9,040 20 DIRECTORY BLOCKS 5 DIRECTORY BLOCKS CREATION DATE: 84/10/16 1ST EXTENT SIZE; 9 27 MEMBERS
SECONDARY GUANI 2
MEMBER NAME
VERS.MOD LEVEL
CREATION DATE
DATE AND TIME LAST MODIFIED
CURRENT NO. LIMES
INITIAL NO. LIMES
MODIFIED NO. LIMES
USER ID
AUTO 01.00 84/10/19 84/10/19 11:23 5557 5557 0 NU188 DEMVI 01.00 84/10/19 84/10/19 11:23 1924 1924 0 NU188 DEMZ7 01.00 84/10/19 84/10/19 11:24 3988 3988 0 NU188 DOO2IN 01.08 83/11/11 84/09/19 19:29 91 104 0 NU157 FCT 01.02 84/02/21 84/08/22 09:33 72 18 0 NU104 FCTSIMUL 01.01 84/08/15 84/08/15 11133 27 27 0 NU752 FCT4OM 01.01 84/08/17 84/08/20 1020 27 27 0 NU141 FCT4OP 01.05 84/02/21 84/08/22 08:32 29 18 0 NU141 GRP 01.00 84/10/19 84/10/19 11:24 136 136 0 N1J188 MATFM 01.00 84/08/22 84/013/22 12115 5557 5557 0 NU104 MOD 01.01 83/09/22 83/09/26 10:23 16 16 0 NU552 NET 01.02 84/09/13 84/09/21 20:31 26662 26663 0 NU141 NETFUTUR 01.00 84/10/19 84/10/19 11:26 26744 26744 0 NU188 NETOBSRR 01.00 84/10/19 84/10/19 11:27 26654 26654 0 N1J188 NETTC 01.00 84/10/01 84/10/01 14:16 26664 26664 0 NU188 NETTRT 01.00 84/04/13 84/04/13 10:33 1 1 0 NU552 NET9999 01.00 84/10/19 84/10/19 11:29 26658 26658 0 NU188 PEN 01.00 84/10/19 84/10/19 11:29 204 204 0 NU188 TEST 01.01 84/01/18 84/01/18 12:54 21 21 0 NU552 TRANS 01.00 84/10/19 04/10/19 11:30 3605 3605 0 NU188 TRANSI 01.00 84/04/06 84/04/06 1106 265 265 0 NU552 TRI. 01.81 84/01/04 84/10/02 10:47 1030 676 0 NU141 TRLF2 01.01 84/07/27 84/07/27 14:03 1029 1029 0 NU104 TRLX 01.00 84/09/21 84/09/21 19:39 932 932 0 NU141 TRL9999 01.00 84/10/19 84/10/19 1130 1030 1030 0 NU188 VEH 01.00 84/10/19 84/10/19 1130 13 13 0 NUM VEH40 01.00 84/10/19 84/10/19 11:31 13 13 0 NU188
MAXIMUMS: 01.81 84/10/19 84/10/19 11;31 26,744 26,744 0
TOTALS: 158,899 158,544 0
END OF MEMBER LIST
4.3 Dimensions de la banque
Pour les données sur la région de Montréal, on a considéré la
construction d'une banque de données C1 192 (le nom de la banque
est MTLBANK1), possédant les dimensions suivantes:
paramètre variable valeur
MSCEN 2
MCENT 700
MNODE 7000
MLINK 20000
MTURN 1000
MLSEG 21000
MMAT 3
MFUNC 30
MOPER 600
par le formule, voir section 2.3.5.1.
mmots = 2960266
donc
bbloc = entier de [(2558.57) + 40]
bbloc = 2598
Dans les circonstances, on retiendra une valeur arrondie de 2600
pour le paramètre BANKTOT de la procédure EMME2.
Supposons qu'on constate qu'il reste un maximum de 155 pistes
contiguës sur le disque, en faisant appel à- l'utilitaire 3,7 de
SPF; on peut donc associer 1200 blocs au paramètre BANKSP, puis-
que 8 blocs correspondent à une piste. En posant BANKINCR = 96,
on s'assure d'un espace total suffisant
([1200 + 15 * 96] > 2600).
4-4
4-5
• 4.4 Procédure spécifique d'accès
on crée le fichier partitionné
A017.P0108.EMPROCUS , où "US" pourraient être
les initiales de l'usager.
on copie
EMME2.EMPROC(SETUP)
dans
A017.P0108.EMPROCUS(EMSETUP)
III) on modifie une ligne du membre
A017.P0108.EMPROCUSCEMSETUP)
pour obtenir sur cette ligne, le membre:
USERPROC('A017.P0108.EMPROCUS') , tel que montré au
tableau 4-2.
tableau 4-2
procédure "EMSETUP"
PROC /*EMSETUP*/ 0 EMPREF(EMME2) USERPROC('A017.P0108,EMPROCUS 1 ) /*CONTROL LIST SYMLIST /* /*T EMSETUP 84 06 08 LGJL /* /* PROCEDURE TO - ATTACH EMME/2 PROCEDURE LIBRARY EMPROC FOR TS0 /* - SET TERMINAL DEFINITION (BACKSPACE,LINESIZE) /* /* IN THE PARAMETER DESCRIPTIONS, EMME2 INDIACTES THE SYSTEM PREFIX /* TAKEN FORM PARAMETER EMPREF, /* /* PARAMETERS: /* EMPREF PREFIX USED TO FORM THE FIRST PART OF THE /* DSNAME OF EMME/2 SYSTEM FILES /* USERPROC USER PROCEDURE LIBRARY NAME /* FREE FILE(SYSPROC) ALLOCATE FILE(SYSPROC) DA('SYS1,SYSPROC'-
'ISP,ISPPROC' 'SYS2,ISPPROC' 'SYS2,MTG,CLIST'- '6EMPREF,,EMPROC"&USERPROC,') SHR
XTKSTART END
4-6
on copie
EMME2.EMPROC(EXEM)
dans
A017.P0108.EMPROCUS(MTLTC)
Ceci aura créé la procédure "MTLTC" qui servira à
appeler la banque de données "transport
collectif" pour la région de Montréal,' (voir
tableau 4-3).
on édite les changements pour les paramètres à
substituer, en leur donnant la valeur par défaut
appropriée. On notera ici que le paramètre NNN
est devenu transparent à l'usager.
tableau 4-3
procédure "MTLTC"
PROC /*MTLTC*/ 0 USERPREF('A017.P0108') VOLSER(MTQ302)- BANK(BANKMTLI) BANKDISP(OLD) BANKTOT(2600)- BANKSP(1200) BANKINCR(96) - PUNCHSP(0) PRINTSP(0) PLOTSP(0)- BATCHLIB(EMMIL) 0002(D002IN) D141(DEMZ7)- D201(MOD) 0202(VEH) D211(NETTC) D221(TRL) D231(PEN) - B301(GRP) 0311(TRANS) 0411(FCT)- USERPROC('A017.P0108.EMPROCUS')
/* /* CONTRAINTE: BTOT PLUS GRAND QUE BSP + ( 15 * BINCR ) /* /* CONVENTION: FICHIERPARTITIONNEPROC DEVRAIT ETRE DE NOM = /* EMPROCXX OU XX CORRESPOND A DEUX LETTRES OU /* CHIFFRES ( S'ASSURER QU'IL N'EXISTE /* PAS DEJA) /* CONTROL MAIN /*LIST SYMLIST SET &MN = &STR(002) IF &BANKDISP EU &STR(NEW) THEN SET &MN = &STR(001) EMME2 NNN(&NHH) USERPREF(WSERPREF) VOLSER(&VOLSER)-
BANK(OANK) BANKDISP(OANKDISP) BANKTOT(&BANKTOT)- BANKSK&BANKSP) BANKINCR(&8ANWINCR)- PUNCHSP(&PUNCHSP) PRINTSP(&FRIN1SP) PLOTSP(&PLOTSP)- BATCHLIB(&1uATCHLIB)- D002(0002) 0141(0141) D201(0201) D202(0202) D211(0211)- 0221(0221) D231(0231) 0301(0301) D311(0311) D411(0411)- USERPROC(&USERPROC)
END
NOTE : Cet exemple ne doit en aucun cas être exécuté tel quel
par un nouvel usager. Il est donné ici à titre
indicatif, puisque la banque BANKMTL1 existe déjà.
• 4-7
4.5 Création de la banque
EXEC 'A017.P0108.EMPROCUS(EMSETUP) 1
MTLTC BANKDISP(NEW)
4.6 Lecture des données dans la banque ou utilisation générale
Si on n'y est pas déjà, on entre dans la banque en tapant
simplement:
EXEC 'A017.P0108.EMPROCUS(EMSETUP)'
MTLTC
Le reste est strictement de la "cuisine" ge92 , et l'usager peut
alors se référer au manuel de l'usager pour toute question
d'application.
•
•
APPENDICE "A"
DESCRIPTION DES FICHIERS
•
A.1 Fichiers généraux
Plusieurs fichiers ci-dessous auront dans leur contenu des noms
symboliques. L'usager habituellement recopiera ces fichiers dans
sa librairie et en conséquent changera ces noms symboliques pour
les noms actuels reliés à son projet spécifique (exemple: nom de
la banque).
EMME2.EMPROC(EMME2)
Ce fichier est la procédure standard d'appel au logiciel ge2 .
En effet toute procédure de l'usager pour un projet donné
accédant à regier92 , fait appel à la procédure EMME2.
EMME2. ,EMPROC EMSETUP)
Ce fichier est la procédure à exécuter en T.S.O. pour pouvoir
accéder directement aux autres procédures du fichier partitionné
EMPROC.
EMME2.EMPROC(EXEM)
Ce fichier contient la procédure d'exemple avec noms symboliques
permettant d'appeler la procédure EMME2 pour un projet donné.
EMME2.EMPROC(PLOTPAGE)
Ce fichier est la procédure permettant de générer des graphiques
(109? sur un écran de terminal Tektronix à partir d'un fichier
graphique 00,2 (plot file).
A-2
A-3
EMME2.EMPROC(SETUP)
Ce fichier contient la procédure avec noms symboliques
permettant, lorsqu'éxécutée en T.S.O., de pouvoir accéder
directement aux autres procédures du fichier partitionné de
l'usager. Normalement ce fichier est recopié dans le fichier
partitionné de l'usager avec comme nom EMSETUP.
EMME2.JCLLIB(CALC0MP)
Ce fichier contient la procédure JCL avec noms symboliques,
permettant d'envoyer sur le traceur CALCOMP, les graphiques
provenant d'un fichier graphique Cet (plot file).
1244E2. JCLLIIS( PRINTERA)
Ce fichier est la procédure JCL permettant d'envoyer à
l'imprimante le fichier d'impression ermÇe (préfixe.EMPRTZZZ)
dont le nombre de lignes est plus petit que 20 000 (CLASS=A).
EMME2.JCLLIB(PRINTERB)
Ce fichier est la procédure JCL identique à PRINTERA, à utiliser
lorsque le nombre de lignes du fichier d'impression effleq,2 est
plus grand que 20 000 (maximum 50 000) (CLASS=B).
EMME2.JCLLIB(RON521)
Ce fichier est la procédure JCL permettant d'exécuter le module
5.21 de grelt en lot pour une banque donnée ge2 (simulation
sur le réseau routier).
• A-4
EMME2.JCLLIE(RUN531)
Ce fichier est la procédure JCL permettant d'exécuter le module
5.31 de egeq2 en lot pour une banque donnée gre.2 (simulation
sur le réseau de transport en commun).
EMME2.DATA(D002IN)
Ce fichier contient la table des données relatives à la
description des différentes composantes sur les terminaux
utilisés à la D.G.T.T.P. (service des Systèmes d'information).
• A.2 Fichiers particuliers à la D.G.T.T.P., à Montréal
A017.P0108.EMPROCUS
Le fichier partitionné qui contient les procédures d'appel à
gro* pour les projets sur le territoire de la région
métropolitaine.
EMSETUP Membre provenant du fichier EMME2.EMPROC(SETDP) .
MTLTC Membre qui est la procédure d'accès à OrM2 pour la
banque de Montréal relative au transport en commun.
MTLRR
Membre qui est procédure d'accès à Cie2 pour la
banque de Montréal relative au réseau routier.
A-5
LAVAL8 Membre qui est la procédure d'accès à erM,2 pour la
banque de Laval relative à 8 secteurs.
LAVAL35 Membre qui est la procédure d'accès à C1 1192 pour la
banque de Laval relative à 35 secteurs.
LAVAL105 Membre qui est la procédure d'accès à 001* pour la
banque de Laval relative à 105 secteurs.
RIVESD Membre qui est la procédure d'accès à 80092 pour la
banque de la Rive-Sud.
A017.P0108.EMJCLMTI.
PRINTERA membres qui ont été recopiés du fichier partitionné
PRINTERB EMME2.JCLLIB et qui ont été modifiés en fonction des
besoins de la D.G.T.T.P.
A-6
RUN521 membre recopié de EMME2.JCLLIB et modifié pour la
banque de Montréal sur le réseau routier:
A017.P0108.BANKMTL1 .
RUN531 membre recopié de EMME2.JCLLIB et modifié pour la
banque de Montréal sur le réseau de transport en
commun:
A017.P0108.BANKMTL2
FTTRL membre qui permet de transformer le fichier de
données sur les lignes T.C.
A017.P0108.EMMTL(TRL)
où la fréquence de chaque ligne est augmentée de 2;
résultat sur
A017.P0108.EMMTL(TRLF2)
TCVCNET_ membre qui permet de transformer - le fichier du réseau
de base
A017.P0108.EMMTL(NET)
-où certaines modifications, comme éliminer le mode
auto, sont faites pour obtenir un réseau orienté sur
le transport en commun
A017.P0108.EMMTL(NETTC)
LECTTRAN membre qui permet de créer la matrice des
déplacements en transport en commun ere? à partir
de la matrice UTPS correspondante.
LECTAUTO membre qui permet de créer la matrice des véhicules
pour le réseau routier gm192 à partir de la matrice
UTPS correspondante.
LECTNET membre qui permet de lire le réseau routier de la
banque Oro% pour la région de Montréal pour fin de
_comparaison avec les comptages (versus volumes
simulés).
A-7
FTEXSP membre qui permet d'extraire les liens du réseau
routier dont les vitesses simulées sont plus petites
qu'une valeur donnée.
PUNCHISO membre qui permet de lire une matrice de la banque
Ce2 réseau routier et de la transformer en matrice
UTPS pour fin de création du graphique des isochrones
(sur les temps simulés).
CALCOMP membre recopié de EMME2.JCLLIB et modifié en
conséquence pour le projet de la région de Montréal.
RUNCHAIN membre qui permet de faire deux simulations sur une
même banque ed/r2 (transport en commun) grâce au
chaînage des jobs.
A017.P0108.EMMTL
contient l'ensemble des tables de données61.e2 nécessaires pour
les banques Oint réseau routier et transport en commun de la
région de Montréal.
A017.P0108.EMIVL
contient l'ensemble des tables de données emmq%2 nécessaires pour
les banques ter092 du projet sur la région de Laval.
A017.P0108.EMRVS
contient l'ensemble des tables de données eirt nécessaires pour
les banques ele2 du projet de la Rive-Sud.
•
•
APPENDICE "B"
DESCRIPTION DES BANQUES DE LA D.G.T.T.P.,
MONTRÉAL
•
•
B-2
Afin de mieux orienter l'usager, cette section présentera les quatres
principales banques de données ette2 déjà créées et utilisées pour
les études courantes à la D.G.T.T.P.
Réseau de transport collectif de la région de Montréal;
Réseau routier de la région de Montréal;
Plan de transport de la Rive-Sud;
Plan de transport CTL-Laval.
8.1 Réseau de transport collectif de la région de Montréal
B.1.1 La procédure d'accès:
Cette banque a été construite afin de donner à chacune des
lignes de T.C. sa propre vitesse commerciale, plutôt
qu'une référence à des vitesses "automobiles" sur le
réseau routier.
Banque: BANKMTL1
Procédure d'appel: MTLTC (décrite au tableau 4-3)
Fichier: A017.P0108.EMPROCUS
Données en lot: A017.P0108.EMMTL
Dimensions: - 699 zones
2 scénarios
3 matrices
les autres dimensions sont telles que
montrées en exemple à la section 4 du guide.
B-3
La procédure MTLTC contient par défaut l'appel aux membres
suivants:
MOD modes
VEH véhicules
NETTC réseau de base
TRLF2 lignes T.C.
DEMZ7 démarcations
FCT fonctions
TRANS matrices des déplacements T.C.
où
TRANS vient de l'exécution du membre
A017.P0108.CDCLASSE(MBUILD02)
suivi de l'exécution du membre
A017.P0108.DUCLMTMLECTTRAN)
dont la- sortie est le fichier TRANS
NETTC vient de l'exécution du membre
A017.P0108.EMJCLMTL(TCVCNET)
qui lit le fichier NET et le transforme en
fichier NETTC
où
le mode "a" est enlevé sur la plupart des
liens;
- la donnée d'usager #3 Sur les noeuds
correspond au temps de transfert;
le mode !'p" est ajouté à certains liens.
B-4
TRLF2 vient du fichier TRL, où les fréquences des
lignes de transport collectif sont ajustées, de
telle sorte que le temps maximum d'attente pour
une ligne soit de 10 minutes. Obtenu par
l'exécution de A017.P0108.EMJCLMTL(FTTRL) .
Éventuellement, ces changements se feront
directement par 1e2 , de façon transparente à
l'usager.
B.1.2 Préparation de la simulation
Étape 1: s'assurer que l'accès aux fonctions "transit"
est permis pour les lignes T.C. circulant sur
des liens ayant le mode auto (mode "a");
La démarche suivante doit être entreprise toutes
les fois que le réseau de base ou bien les
lignes T.C. sont relus dans le scénario où on
veut simuler le transport en commun, avec les
vitesses commerciales.
Mettre les temps auto en valeurs positives, sur
le scénario en question, à l'aide de
module 1.11
select: 2 = fill data
enter: file, record =
17,1 (pour scénario 1000)
17,2 (pour scénario 2000)
enter: from word, to word, new value
= 1,20000,1.0
=1
quitter le module
• B-5
Note: on change IF,IR,1W1,1W2 =
17,ISCEN,1,200000
Voir manuel Ce2 .
Note: Cette étape est temporaire, en attendant
une nouvelle version de l'affectation
transport en commun.
Étape 2: S'assurer que
les fréquences des lignes T.C. sont celles
ajustées pour un temps maximum d'attente par
ligne de 10 minutes (fichier TRLF2);
_ la troisième donnée d'usager des noeuds
contient le temps de transfert.
normalement ces données sont déjà incluses
dans la lecture du réseau de base.
Étape 3: Préparation de l'affectation, à l'aide du module
5.11:
matrice de demande: MF1
matrices de temps obtenues: MF2
(scénario 1000) et MF3 (scénario 2000)
facteur global de temps d'attente: 0,5
poids unitaires pour les composantes de temps
B-6
Étape 4: À l'extérieur du logiciel,
lancer l'exécution du membre
A017 . P0108 EMJCLMTL ( RUN531 )
en s'assurant que ce membre ait été modifié en
conséquence, ait suffisamment de temps d'alloué
et que la bonne banque est appelée BANKMTL1
Note: On peut simuler interactivement, à
l'intérieur du logiciel g.M1 2 , une paire 0/O en
créant une matrice de zéros sauf pour la paire
en question et en appelant directement 5.31 à
l'intérieur de Ortrq2 .
B-7
• B.2 Réseau routier de la région de Montréal
Banque: BANKMTL2
Procédure: MTLRR
Fichier: A017.P0108.EMPROCUS
Données: A017.P0108.EMMTZ
Dimensions: 699 zones
2 scénarios
3 matrices
4000 mots pour les virages déclarés;
les autres dimensions sont telles que montrées à la
section 3.7.3.
111, tableau B-1
procédure "MTLRR"
PROC /*MTLRR*/ 0 USERPREF('A017.P0108') VOLSER(MT0302)- BANK(BANKMTL2) BANKDISP(OLD) BANKTOT(2700)- BANKSP(2400) BANKINCR(20)- PUNCHSP(0) PRINTSP(0) PLOTSP(0)- BATCHLIB(EMMTL) 0002(0002IN) 0141(DEMZ7)- D201(MOD) 0202(VEH40) D211(NET) 0221(TRL) 0231(PEN)- D301(GRP) 0311(AUTO) 0411(FCT4OP)- USERPROC('A017.P0108.EMPROCUS')
/* /* CONTRAINTE: BTOT PLUS GRAND QUE DSP ( 15 * BINCR ) /* /* CONVENTION: FICHIERPARCHIONNEPROC DEVRAIT ETRE DE NOM = /* EMPROCXX OU XX CORRESPOND A DEUX LETTRES OU /* CHIFFRES ( S'ASSURER QU'IL N'EXISTE /* PAS DEJA) /* CONTROL MAIN /*LIST SYMLIST SET &NNN = &STR(002) IF &BANKDISP EG &S1R(NEW) THEN SET &NNN = &STR(001) EMME2 NNN( &NNN) USERPREF( &USERPREF) VOLSER( &VOLSER)-
BANK(&BANK) BANKDISP( &BANKDISP) BANKTOTi&BANKTOT)- BANKSP( &BANKSP) BANKINCR(UANKINCR)- PUNCHSP(&PUNCHSP) PRINTSP(&PRINISP) PLOTSP( &PLOTSP)- BATCHLIB( &BATCHLIB)- 0002(e.11002) D141(0141) D201(410201) D202(0202) 0211(&0211)- 0221(&0221) 0231(0231) D301(4!0301) D311(60311) 0411(&0411)- • END USERPROC( &USERPROC)
• La procédure MTLRR contient par défaut l'appel aux membres
suivants:
MOD modes
VEH40 véhicules
NET réseau de base
PEN virages
TRL lignes T.C.
DEMZ7 démarcations (700 zones)
FCT4OP fonctions
AUTO matrice des déplacements auto
Le contenu de ces membres se caractérise ainsi:
VEH40 vient du fichier VER
où l'équivalent en auto est multiplié par 2.5
pour donner VEH40
FCT4OP vient de FCT40
dont on a réduit les puissances des fonctions
V/D pour donner FCT4OP
FCT40 vient de FCT
dont on a transformé VOLAU par VOLAU * 40%
pour donner FCT4OP
AUTO
vient de l'exécution du membre
A017.P108.CDCLASSE(MBUILD01)
suivi de l'exécution du membre
A017.P0108.EMJCLMTL(LECTAUTO)
dont la sortie est le fichier AUTO
NET viennent de l'exécution du membre
PEN A017.P0108.RESEAU(FTRESO)
DEMZ7 vient de l'exécution du membre
A017.P0108.RESEAU(FTEMMEZ7)
B-8
B-9
B.3 Plan de transport de la Rive—Sud
Afin de traiter l'analyse des lignes de désir dans le cadre de
cette étude, on a généré une banque de données spéciale, dédiée
uniquement à l'examen des matrices de demande. Les seuls noeuds
définis ici sont les centredes ( I ) , tandis qu'un ensemble
complet de lignes de démarcation permet de tracer toutes les
zones d'analyse.
Banque: BANKRVS
Procédure: RIVESD
Fichier: A017.P0108.EMPROCUS
Données: A017.P0108.EMRVS
Dimensions: 36 zones
1 scénario
50 matrices
tableau B-2
procédure "RIVESD"
PRIX /*RIVESD*/ 0 USERPREF('A0174P0108') VOLSER(MT0302)- BANK(BANKRVS) BANKDISP(OLD) BANKTOT(380)- BANKSP(230) BANKINCR(10)- PUNCHSP(0) PRINTSP(0) PLOTSP(0)- BATCHLIB(EMRVS) D002(0002IN) D141(DEM)- D201(MOD) 0202(VEH) D211(NET) D221(TRL) D231(PEN)- D301(GRP) D311(MAT) D411(FCT)- USERPROC('A017,P010B.EMPROCUS')
/* /* CONTRAINTE: BTOT PLUS GRAND QUE RSP + ( 15 * BINCR ) /* /* CONVENTION: FICH1ERPARTITIONNEPROC DEVRAIT ETRE DE NOM = /* EMPROCXX OU XX CORRESPOND A DEUX LETTRES OU /* CHIFFRES ( S'ASS(UER QU'IL N'EXISTE /* PAS DEJA) /* CONTROL MAIN /*LIST SYMLIST SET &&WN = &STR(002) IF &BANKDISP EQ &STR(NEW) THEN SET UNN = &STR(001) EMME2 NNN(&NNN) USERPREF(WSERPREF) VOLSER(&VOLSER)-
BANK( &BANK) BANKDISP(&BANKDISP) BANKTOT(0ANKTOT)- BANKSP(0AUKSP) BANKINCR(&BANKINCR)- PUNCHSP(&PUMCHSP) PRINTSP(&PRINTSP) PLOTSP(&PLOTSP)- BATCHLIMBATCHLIB)- D002(0002) D141(0141) D201(0201) D202(&D202) D211(0211)- D221(0221) 13231(0231) D301(0301) D311(0311) D411(0411)- USERPROC(&USERPROC)
END
(1) En réalité quelques liens "bidons" ont été définis, aux fins d'utilisation
des commandes graphiques qui sont axées sur la manipulation d'un réseau.
• B-10
•
B.4 Plan de transport CTL-Laval
Cette étude a nécessité la construction de trois banques,
correspondant à des systèmes de 8, 35 et 105 zones d'analyse.
Ces banques sont dédiées uniquement à l'examen des matrices de
demande, à l'aide de lignes de désir tracées sur un fond
représentant les découpages des zones d'analyse.
Banque: BANKLVL1
Procédure: LAVAL35
Fichier: A017.P0108.EMPROCUS
Données: A017.P0108.EMLVL
Dimensions: 35 zones
1 scénario
99 matrices
tableau B-3
procédure "LAVAL35"
PROC 0 LDI(*) LOO(*) LERO(*) MAP()- BANK(BANKLVL1) BANKDISP(OLD) BANKTOT(380) BANKSP(230)- BANKINCR(10)- PUNCHSP(0) PRINTSP(10) PLOTSP(0)- BATCHLIB(EMLVL) 11002(D002IN) D141(DEM35)- D201(MOD) 13202(VEH) D211(NET35) D221(TRL) D231(PEN)- D301(GRP) D311(MAT35) 11411(FCT)
CONTROL MAIN /*LIST SYMLIST SET &NNN = &STR(002) IF &BANKDISP EU &STR(NEW) THEN SET &NNN = &STR(001) SET MAPSTR = &STK) SET BLIBSTR = &STRO IF &LENGTH(&MAP) NE 0 THEN SET &MAPSTR =MAP(&MAP) IF &LENGTH(&BATCHLIB) NE 0 THEN SET &PLIDSTR =PATCHLID(UATCHLID) EMME2 Nel(&NNN) &MAPSTR &BLIBSTR-
BANK(UANK) BANKDISP(0ANKOISP) BANKTOT(UANKTOT) BANKSP(UANKSP)- BANKINCR(OANKINCR)- PRINTSP(PRINTSP) PUNCHSP( &PUNCHSP) PLOTSPOPLOTSP)- D002(0002) D141(0141) 0201(0201) D202(0202) D211(0211)- D221(0221) D231(0231) D301(0301) D311(0311) D411(0411)
END
•
Banque: BANKLVL2
Procédure: LAVAL8
Fichier: A017.P0108.EMPROCUS
Données: A017.P0108.EMLVL
Dimensions: 8 zones
1 scénario
99 matrices
tableau B-4
procédure "LAVAL8"
PROC /*LAVAL8*/ 0 USERPREF('A017.P0108') VOLSER(MT0302)- BANK(BANKLVL2) BANKDISP(OLD) BANKTOT(380)- BANKSP(230) BANKINCR(10)- PUNCHSP(0) PRINTSP(0) PLOTSP(0)- BATCHLIB(EMLVL) D002(D002IN) D141(DEM8)- D201(MOD) D202(VEH) D211(NET8) D221(TRL) D231(PEN)- D301(GRP) D311(MATS) D411(FCT)- USERPROC('A017.P0108.EMPROCUS')
/* /* CONTRAINTE: BTOT PLUS GRAND OUE ESP + ( 15 * BINCR ) /* /* CONVENTION: FICHIERPARTITIONNEPROC DEVRAIT ETRE DE NOM = /* EMPROCXX OU XX CORRESPOND A DEUX LETTRES OU /* CHIFFRES ( S'ASSURER QU'IL N'EXISTE /* PAS DEJA) /* CONTROL MAIN /*LIST SYMLIST SET &NNN = &STR(002) IF &BANKDISP EO &STR(NEW) TREN SET &NNN = &STR(001) EMME2 NNN( &NNH) USERPREFUUSERPRIEF) VOLSER( &VOLSER)-
BANK(0ANK) BANKDISP(&BANKDISP) BANKTOT(UANKTOT)- BANKSP( &BANKSP) BANKINCR( &BANKINCR)- PUNCHSP(WUNCHSP) PRINTSPUPRINTSP) PLOTSP(IPLOTSP)- BATCHLIB( &BATCHLIB)- 11002(0002) D141(0141) D201(0201) D202(0202) D211(0211)- D221(0221) D231(0231) 0301(0301) D311(0311) D411(0411)- USERPROC( &USERPROC) • END
• B-12
Banque: BANKLVL5
Procédure: LAVAL105
Fichier: A017.P0108.EMPROCUS
Données: A017.P0108.EMLVL
Dimensions: 105 zones
1 scénario
99 matrices
tableau B-5
procédure "LAVAL 1O5"
FROC 0 LDI(*) LDO(*) LERO(*) MAPO- DANK(BANKLVL5) BANKDISP(O(1) DANKTOT(380) BANKSP(230)- DANKINCR(10)- PUNCHSP(0) PRINTSP(10) PLOTSP(10)- DATCHLID(EMLVL) D002(11002IN) D141(DEM105)- D201(MOD) D202(VEH) D211(NET105) D221(TRL) 0231(PEN)- D301(GRP) D311(MAT105) D411(FCT)
CONTROL MAIN /*LIST SYMLIST SET &NNN = &STR(002) IF &DANKDISP &STR(NEW) THEN SET &NNN = &STR(001) SET MAPSTR = &STK) SET DLIDSTR = &STK) IF &LENGTH(&MAP) NE 0 THEN SET &MAPSTR =MAP(&MAP) IF &LENGTH(&ATCHLID) NE 0 THEN SET &BLIBSTR =DATCHLID(&DATCHLIB) EMME2 NNN(&NNN) &MAPSTR &BLIDSTR-
DANK( &BANK) BANKDISP(&BANKDISP) DANKTOT( &DANKTOT) BANKSP(UANKSP)- DANKINCR(eANKINCR)- PRINTSP(&PRINTSP) PUNCHSP( &PUNCHSP) PLOTSP( &PLOTSP)- 11002(&0002) D141(U141) D201(&D201) 0202(&0202) D211(&11211)- 11221(&t1221) D231(&0231) D301(&11301) D311(&0311) D411(0411)
END
•
•
•
APPENDICE "C"
MODIFICATION AUX VALEURS PERMISES
POUR LE PARAMÈTRE "BANKTOT"
s
C-2
• Le processus de modification aux valeurs permises de BANKTOT ne doit
être exécuté que par le responsable de l'entretien du logiciel ge2 ,
sur demande d'un usager.
Soit "btot", la nouvelle valeur permise à ajouter parmi les valeurs
possibles du paramètres BANKTOT de la procédure EMME2 (voir section
2.3.3.), et pour fin d'exemple, posons btot = 3000 blocs.
À l'intérieur d'une session TSO, on exécutera les tâches suivantes:
EXEC 'EMME2.EMPROC(EMSETUP)'
MKBDISK2 btot
Exemple: MKBDISK2 3000
édition du fichier
A017.P0108.EMCRTLIB(JCLBDISK) • substituer la nouvelle valeur de btot dans BDSKbtot pour les
énoncés FORT.SYSIN et LKED.SYSLMOD:
tableau C-1
procédure "JCLBDISK"
//J7JCLBDI JOB (R07,'A017,0108,952.0110',1.1,000010), // 'SI552 L.JAMES',NOTIFY=NU552.CLASS=AMSGCLASS=X.MSGLEVEL=(2.0) /*ROUTE PRINT RMT07 D=LINDA JAMES //* //*T JCLBDISK 84 06 01 LGJL //* //* COMPILE BDISK ROUTINE FOR A REOUIRED DATA BANK SIZE. //* THIS JOB IS RUN AFTER EXECUTING PROCEDURE EMPROC(MKBDISK2) //* TO CREATE THE SOURCE FILE IN LJ.EMMOD //* //JCLSELIB EXEC FORG1CL,CPARM='LOADMOSOURCP,PARM.LKED=NCAL //FORT.SYSIN DI) DSNAME=EMME2.LJ.EMMOD(BDSK1800),DISP=SHR //LKED.SYSLMOD DD DSN=EMME2.EMLIB(BDSK1800),DISP=OLD /*
C-3
soumettre en lot
A017.P0108.EMCRTLIB(JCLBDISK)
attendre le résultat
4- édition de la procédure
EMME2.EMPROC(EMME2)
a) substituer pour
SET &DSIZE = btot
h) et ajouter la ligne suivante:
IF &BANKTOT LT btot THEN SET &DSIZE = btot'
où btot' est la prochaine plus grande valeur (en faisant
abstraction de btot) possible comme paramètre de BANKTOT
Exemple: on change pour
SET &DSIZE = 3000
et ajoute immédiatement après
IF &BANKTOT LT 3000 THEN SET &DSIZE = 2700
c) et on modifie aussi une ligne pour
IF &DSIZE NE btot THEN SET
&BDISK = ,'&EMPREF..&EMLIB(BDSK&DSIZE) 1
Voir tableau C-2
tableau C-2
exemple de modification à la procédure EMME 2
XKX.YYY.EMPLIZZZ, DELETED AND ALLOCATED AS NEW. SECONDARY ALLOC 5. PLOTSP(0) WILL ALLOCATE A DeMY FILE
BATCHLIB BATCH IWUT NAME OF PARTITIOWI) FILE CONTAINING LIBRARY BATCH nem DATA
0002 BATL14 INPUT MEMEER NAME OF BATCH IWUT TO NODULE 002 (((VICE TABLE) MEMBER NAME OF BATCH INPUT TO MODULE 141 ETC (201,202,211,221,231,301,311, 411) PREFIX USED TO FORM FIRST PART OF THE IGNAME OF EMME/2 SYSTEM FILES. EMLIB(X0() USES TO FORM EMME/2 SUBROUTINE LIBRARY revIE: EMME2.XXX EMOBJ(XXX) USES TO FORM EMME/2 COMPILED MODULE LIWARY NAME: EMME2.XXX EMLOAD(00() ULED TO FORM EXECUTABLE
MODULE LIBRARY NAME: E19£2000(
FROC /*EMME2*/ 0 NNN(002)- USERPREF('A017.P0108') VOLSER(MT0302)- BANK() BAMCDISP(OLD) mecroT(380) DAM(SP(300) DAMCINCR(40) MAP()- PUNCHSP(0) PRINTSP(1) FUTSP(0)- EFATCHLIIM) 0002(00021N) 8141(D141IN) 0201(0201119) 0202(0202119)- 8211(021184) 11221(0221119) D231(02311N)- D301(D301IN) D311(03111N) D411(0411IN)- USERFROC('A017.P0108.EMPROCX')- EMPREF(E)WE2) EMLIB(EMLIB) EMOBJ(EMOBJ) EMLOAD(EMLOAD)
CONTROL MAIN /*LIST SYMLIST /* PROCEDURE TO EXECUTE EMME2 /* 84 06 08 LGJL /* CALLING SEOUENCE: /* 09E2 /* /* OPTIMAL PARAMETERG ARE SFECIFIED AS PARAMETER(VAL(C) FOLLOWING /* EMME2 (SEE EXAMPLES IN THE FROC STATEMENT) IN THE PARAME1IR /* DESCRIPTIONS, ZZZ INDICATES THE USER HUMBER TAKEN FROM T1E USER /* ID NUZZZ, XXX.YYY INDICATES THE USER DSMed£ PKIFIX TAKEN FROM /* PARAMETER USERPREF, EMME2 INDICATES THE SYSTEM PREFIX TANEN FROM /* PARAMTER EMPREF. /* /* OPTIONAL PARAMETERS: /* NNN MODULE NIMBER /* /* USERPREF USER PREFIX /* /* /* /* VOLSER USER VOLUME /* SERIAL /* BANK DATA 14W4K FILE /* /* BANRDISP DISP OF EMNK /* /* BANKTOT BANK SPACE /* BANKSP PRIMARY SPACE /* /* BANKINCi SECONDARY SP /* /* /* /* PUNCHS' RANCH SPACE /* /* /* /* /* /* /* PRINTSP PRINTER WACE /* /* /* /* /* /* FLOTS? PLOT SPACE /*
/*
/* /*
/* /* /* /* 0141 ETC . /* /* /* EffEF E19E2 PREFIX /* /* EKLIB SUBROUTINE LIB /* /* EMOBJ COMPILED /* MOUFLES /* EMLOAD EXECUTABLE /* MODULES /* /* /* 09E/2 USES THE FOLLOWING UNIT NUMDERS: /* /* 1 DATA BAIE /* 3 BATCH IMM. FILE /* 4 PUNCH FILE /* 5 DIALOG IPfUT (NORMALLY FROM TERMINAL) /* 6 DIALOG OUTPUT (NORMALLY TO weilmAL) /* 7 PRINTER FILE /* 8 PLOT FILE /* 10 ERROR MESSAGE FILE /* 98 BATCH MODE OR INTERACTIVE MODE INDICATOR FILE /* 99 NEXT MODULE FILE /* /* EMME/2 SYSTEM FILES ARE: /* EMLIB SUBROUTINE LIBRARY 1* EMOBJ COMPILED E1411112 MODULE LIBRARY /* EMLOAD LORD MODULE LIBRARY /* EMPROC TS0 PROCEDURE LIBRARY /* IF KBANKTOT ST &BAFESP + 15 * &BANKINCR TIEN DO
WRITE *** BANKT0T(1.BNW(T0T) GREATER THAN BANKSP + 15 * BK9CINCR EXIT END
SET USER &S1JBSTR(3:5,6SY01UID) /* /* ATTACH PROCEDURE LIBRARY FOR TRIS USER /* FREE ATTR(PLEXTDCB) FILE(FT99F001) ATTRIB NEXTICB RECFM(F B) LRECL(80) BLKSIZE(2960) DSORG(P0) IEL'&11SERPREE..0FROMISER , ALLOCATEFILE(FTWF001) DAM.USERPREF..EMPRO&USER , ) hue-
VClUME(&VOLSER) UNIT(3380) SPACE(1,1) TRAMS DIR(1) USINGOEXTDCB) FREE FILE(FT99F001) FFEE FILE(SYSPROC) ALLOCATE FILE(SYSPROC) SFR -
DAVSYSI.SYSPROC. '6EMEREF..EMPROC' '6USEKREF..EMFRO&USER , ) /* /* FREE FILES AND ATTRIBUTE LISTS (DCBS) /* eREE ATTR(BANKDCB) FILE(FTO1F001)
FREE ATTR(TKDCB) FILE(FTO5F001 FTO6F001) FREE ATIR(LDADCB) FILE(FTO4F001) FREE ATIR(PRINTDCB) FILE(FTO7F001) FREE ATTR(PLOTDCB) FILE(FIO8F001) FREE FILE(FTIOF001 FT98F001) ATTRID BANKICB RECFM(F) LRECL(4620) WKSIZE(4628) WORG(PS) BUFNO(1) ATTRIB MICH RECFM(F A) LRECL(132) BLKSI7E(132) ATTRIB LDADCB RECFM(F B) LREFL(80) BLKSIZE(9040) ATTRIB PRINTDCB RECFM(F B) LRECL(133) MJCSIZE(9044) ATTRIB PLOTICB RECFM(V B S) LRECL(182) BLKSIZE(8919) /* /* DATA BAN( /* ALLOCATE FILE(FTO1F001) DA('&USERPREF.A.DANK') &BANKDISP-
VOLUMEUVOLSER) UNIT(3380) SPACE(6BANKSP,&BAN(INCR) BLKSIZE(4628) USIAG(BAKKICD)
/* /* DIALOG Deur /16 ALLOCATE FILE(FTO5F001) DA(*) USING(TKDCB) /* /* DIALOG OUTPUT /* ALLOCATE FILE(FTO6F001) DA(*) USING(TKDCD) /* /* PRINTER FILE /* IF WRINTSP NE 0 TIEN DO
tEL '6USERPREF..EMPRT&USER. ALLCICATE FILE(FT07F001) DAL'&USERPREF..EMFRT&USER') NEW-
YOLUME(WOLSER) U19IT(3380) SPACE(WRINTSP,5) 14JKSIZE(9044) FREE FILE(FTO7F001) ALLOCATEFILE(FT07F001)DA('&USERPREF..EMPRT&USER')MOD-
DLKSIZE(9044) USING(PRINTDCB) RELEASE END
ELSE- ALLOCATE FILEŒTO7F000 DSNAME('NULLFILE') BLKSIZE(9044)-
USING(PRINTDCB) /* /* ERROR FILE /* ALLOCATE FILE(ET10F001) DATASET(*) /* /* FILE TO COMMUNICATE TO NEXT MODULE /* ALLOCATE FILE(FT99f001) DA('&USERPREF..EMPRO&USER(NEXT)') OLD /* /* BATCH OUTPUT OR PUNCH FILE /* IF fflIFCHSP GT 0 TIEN DO
(EL '6USERPREF..EMPCHEASER. ALLOC FILE(FTO4F001) DATASET('SUSERPREF..EMECH&USER')- NEU KEEP CATALOG VOLUME(WOLSER)- UNIT(3380) SPACE(WUNC8SP,5) MLKSIZE(9040) FREE FILE(FTO4F001) ALLOC FILE(FTO4F001) DATAWT('IMSERPREF..E)fCH&USER')- MOI) BLKSIZE(9040) 1J5I143(LDADC11) RELEASE END
ELSE- ALLOCATE FILE(FTO4F001) DUMMY BLKSIZE(9040) USING(LDADCB)
3 DIGITS. USE ONLY WHEN CREATING A NEW DATA BASE ( 109(001) ). USERPREF('XXX.YYY') USES TO FORM FIRST PART OF IGNAME OF ALL FILES EXCEPT 09E/2 SYSTEM FILES. E.G.XXX.TYY.EMPRIZZZ VOLUME SERIAL USES FOR ALL FILES EXCEPT 09E/2 SYSTEM FILES, DANK(C(XXXX) USED TO FORM DATA BAN( FILE NAME: XXX.YYY.COOM DATA BAW FILE MUST BE ALLOCATED BY USING DANK1ISP(NEW) IN THIS FROC. NUMBER OF BLOCKS (4628) FOR BAIE NUMBER OF BLOCKS (4628) PRIMARY ALLOCATION FOR BAIE NUMBER OF BLOCKS (4628) SECONIMRY ALLOCATION FOR BANK NOTE: BAMKTOT MUST DE LESS OR EOUAL TO DANKSP + 151BANKINCR NUMBER OF DLOCICS (9040) FOR FRIMARY ALLOCATION FOR PUMA FILE XXX.YYY.EMPCHZEZ, DE111ED AND ALLOCAIED AS NEW. SECONDARY ALLOC 15 5. PUNCHSP(0) WILL ALLOCATE A DUMMY FILE, NEMER OF DLOCKS (9044) FOR PRIMARY ALLOCATION OF E104E12 PRINTER FILE XXX.YYY.EMPRTZZZ, DELETED AND ALLOCATED AS NEW. SECONDARY ALLOC 5. PRINTSP(0) WILL ALLOCATE A DOM FILE. HUMBER CF BLOCKS (8919) FOR PRIMARY ALLOCATION OF EMME/2 PLOT FILE
tableau C-2 (suite)
/* /* PLOT FILE /* IF &FLOTSP GT 0 TIEN DO
DEL '&USERPREF..EMPLT&USER' ALEX FILE(FTO8F001) DATAŒT(I&USERPREF..EMPLT&USER') - NEW KEEP CATALOG VOLUME(&NOLSER)- UNIT(3380) SPACEOPLOTSP.5) BLKSIZE(8918) FREE FI1E(FTOEF001) ALEX FILE(FTO8F001) DATASET('&USERPREF..E)PLT&USER')- MOD IlKSIZE(8918) USIhG(FLOTDCB) RELEASE END
ELSE- ALLOCATE FILE(FTOSF001) îUiT BLKSIZE(0918) USING(PLOTDCB)
/* /* SET TO INTERACTIVE MODE ! /* ALLOC FILE(FT98F001) SPACE(1) BLKSIZE(9040) USING(LDAICB) OPENFILE FT98F001 OUTPUT SET &FT9SF001 . 0 /* 0= INTERACTIEE FUTFILE FT9SE001 CLOSFILE FT9SF001 /* /* SET TO CORRECT BISK ROUTIW IF NEW DATA.BAW /*
1 SET &MISS e•SSTRC I IF&IINKDISP E0 OLD - THEN 8010 LI -fEr&DSIZE = 3300 '"--
. . . IF &DANKTOT LT 3000 MIEN SET 'OSTIE Mc--3000 •
'f IF DANKTOT LT 2700 TIEN SET MIE m 2600 IF &MOUT LT 2600 TIDI SET 61812E 4'1800 -.
- IF &DAHU« LT 1800 PEN SET 636I71 •300 • IF 696I7E NE 3000 THEN SET 60019K = f'6EMPREF..6ENLI00DO9(60812E)* 7* /* INITIALIZE LIES USE!) INDICAN:G /* LliSET LIOS = &STR(N) /* /* INITIALIZE MODULE NtliffER /* SET NOM . teNN SET ZEROS &STR(0000) /* /* LOOP TO EXECUTE DIE/2 MODULES AS SPECIFIED ON MENU. /* /* LINK AND CALI. ARE OhLY USE!) FOR A NEW DATA D« TO USE CORRECT /* BDISK ROUTINE /* DO :MILE &MODNUM GE 000 AND HIODIAJM LT 999
SET &MODTEX = &SUBSTRIlt&EVAL(4 -2.LENGTH(IJIODAUM)).1ZEROSUMDAIRI SET &MODTEX = 6SUBSTR(2:4.&MODTEX)
/* /* SET EP ANY BATCH FILES SPECIFIED /* SET F103 = &STR(N) IF &LENGTH(&BATCHLIB) EU 0 TIEN GOTO 13 IF &MOINEX EU 002 AND &LEN6TH(&D002) NE 0 nu DO
ALLOC FILE(FTO3F001) DAMOSERPREF..&BATCHLIB(&D002)') SHR GOTO 12 EN!)
IF tecum EU 141 AND MENGTH(&3141) NE 0 TIEN DO ALLOC FILE(FTO3F001) DA( . 1eUSE11PREF.ABATCHLIB(0141)*) SHR GOTO 12 END
IF &MODTEX EU 201 AND WLEN6TH(11201) hE 0 TIEN DO ALLOC FILE(FTO3F001) DW&USERPRIT.J.DATOILID(&D201) 1 ) SII GOTO 12 END
IF hOODTEX EU 202 AND WLENGTH(1.0202) NE 0 TIEN DO ALLOC FILE(F103F001) DA('&USERPREF..UATCHLIB(0202)') SOTO 12 END
IF &MOTO( EU 211 AND &LENGTH(0211) NE 0 :MEN DO ALLOC FILE(FTO3F001) DA(4.USERPREF.A.BATLA_IB(&0211)') SHR 00T0 12 END
IF &MODTEX EU 221 AND &LENGTH(0221) NE 0 TIEN DO ALLIE FILE(FD:13F001) DA(4.USERPREF.A.BATCHLIB(U221)') SHR GOTO 12 END
IF &MODTD( EU 231 AND &LENGTH(0231) NE 0 TIEN DO ALLOC FILE(FTO3F001) DA('&USERPREF..&BATCH_IB(0231).) SHR GOTO 12 END
IF &MODTEX EU 301 AND &LENOTH(&D301) h£ 0 TIEN DO ALLOC FILE(FTO3F001) DA('&USERPREF..&BATCH-IB(&0301)') SHR GOTO 12 END
IF &MODTEX EU 311 AND &LENGTH(&0311) hE 0 TIEN DO ALLOC FILE(FTO3F001) DAMUSERPREF.ABATCHLIB(0311)') SHR GOTO 12 EMD
IF &MODIEX EU 411 AND &LENGTH(ID411) NE 0 «MEN DO ALLIE FILE(FTO3F001) DA('&U6)ERPREF.ABATCH-IB(0411).) SHR GOTO 12 END
GOTO L3 L2:SET FT03 • &STR(Y) L3:IF &BDISK EU &STR( ) TIEN DO /* LIN( 'GEMPREF..MEMOBJ(E&MODTEX). &MAP SIZE(999000) - /* LIB('FORT.FORILIBY&EMPREF.A.EMLIFO,'TKICS.LOADLIB',- /* IN LOAD('&EMPREF..EMTEMP(MOD)') /* CALI '&EMPREF..ENTEMP(MOD)* /* SET ues = &STR(Y)
CALL i&EMPREF..(EMLOAD(E&MODTEX)' SET CCODE = &LASTCC END
ELSE DO LOAD (41EMPREF..1.81OBJ(E&MODTEW &BOIS() -
&MM SIZE(999000)- LIB('FORT.FORILIBY&EMPREF.a.EMLIIP,'TKICS.LOADLIB'.- 'SYSI.MAINTLIB.)
SET CCODE &LASTCC SET &BDISK = &STR( ) SET LIBS &STR(Y) END
IF &d703 EU &STR(Y) DEN FREE FILE(FTO3F001) IF &CCODE NE 000 TIEN GOTO SETMOD MEXT
SET CCODE = &LASICC SETMOD: SET MODIMM = 6CCODE - 3000 END
END /* /* FREE FILES /* %UMM EMPREF(&EMPREF) LIBS(6LIBS) (MLIBMEMLIB) Emolummosl-
USERPROCUUSERPROC) DEL '&USENPREF..ETFROWEER' END
C-6
édition du fichier
EMME2.1.1.EMMOD(BASIC) ;
dans la routine BDISK,
on modifie une ligne pour obtenir
DEFINE FILE 1(btot,1157,U,NEXREC)
Exemple:
DEFINE FILE 1(3000,1157,U,NEXREC).
édition du fichier
A017.P0108.EMCRTLIB(JCLSU31)
pour s'assurer que partout dans ce fichier on a
EMME2.1.J.EMMOD(BASIC)
soumettre
A017.P0108.EMCRTLIBUCLS1JB1i
et attendre le résultat
soumettre
A017.P0108.EMCRTLIB(JCLL0AD)
et attendre le résultat
9- la soumission précédente a créé
EMME.EMLOAD2
qu'on rebaptisera EMME2.EMLOAD:
DELETE DIME2.EMICAD
RENAME EMME2.EMIOAD2 AS
EMME2MIOAD
(on peut utiliser l'option 3.2 de SPF).
•
•
APPENDICE "D"
INTERFACES - MATRICES UTPS / erling2
D.1 Programme HAMM
But: Convertir une matrice UTPS en une matrice Cre2
Données à fournir:
a) Les données suivantes sont lues en "stream imput", c'est-à-
dire à partir de l'unité 5:
# le numéro de matrice egteÇe qui sera générée (MFi)
format (I1)
# le nom de la matrice egrq générée (6 caractères) format (6A1)
# la description de la matrice ø11T2 générée (40 caractères)
format (40A1)
h) L'unité sur laquelle on lit la matrice UTPS dans le DATA du
début du programme sous la variable NIN (NIN = 8 par défaut)
et également la description de cette unité à la fin du
programme (ligne de JCL).
c) L'unité sur laquelle on écrit la matrice 0e2 dans le DATA
du début du programme sous la variable NOUT (NOUT = 9 par
défaut) et également la description de cette unité à la fin
du programme (ligne de JCL).
Il faut prévoir l'espace nécessaire pour un fichier
d'enregistrements de 72 caractères où le nombre
- d'enregistrements est environ le nombre de paires 0/D de
valeur non nulle de la matrice UTPS, divisé par cinq.
D-2
D-3
Description:
Ce programme lit une matrice UTPS selon l'un des quatres formats
possibles: compressé, 1-byte, 2-bytes ou 4-bytes. Puisque ce
format est inclus comme donnée, dans la lecture de la matrice
UTPS, le programme décode, automatiquement le format approprié et
agit en conséquence.
Une restriction est imposée quant à la question du "table
number", c'est-à-dire du nombre de matrices à lire. Cet attribut
qui est également inclus comme donnée des enregistrements lues de
la matrice UTPS doit être égal à 1.
Le fichier de sortie contenant la matrice Cr02 résultante est
composé d'enregistrements de 72 caractères, car cette matrice est
codée sous forme de caractères.
Toutes les paires 0/D de valeur non nulle provenant de la matrice
UTPS, sont écrites dans la matrice 6092 .
D-4
D.2 Programme HATEMUT
But: Convertir une matrice E00192 en une matrice UTPS.
Données à , fournir:
a) Les données suivantes sont lues en "stream imput",
c'est-à-dire à partir de l'unité 5:
# le format dans lequel on veut créer la matrice UTPS soit
COMP format compressé
1BYT format 1-byte
2BYT format 2-bytes
4BYT format 4-bytes
format (1A4)
# le nombre de centroides qui formeront la matrice UTPS
(variable NCEN)
format (1I4)
# le facteur multiplicatif qui appliqué à chaque valeur 0/D
de la matrice gmlt donne la valeur 0/D à sauver sur la
matrice UTPS. Cette dernière valeur est arrondie et
entière (par défaut 1)
format (114)
# une chaîne de caractères fixe qui sert à la manipulation de
caractères à l'intérieur du programme;
format (10A1)
cette chaîne doit être '0123456789.'
h) L'unité sur laquelle on lit la matriceree2 dans le DATA du
début du programme sous la variable NIN (NIN = 8 par défaut)
et également la description de cette unité à la fin du
programme (ligne de JCL).
D-5
Il faut prévoir que ce fichier a des enregistrements de 72
caractères et qu'il contient comme les deux premiers
enregistrements, des enregistrements bidons (habituellement
ces enregistrements contiennent la description de la matrice
Otr2 , telle que sortant du logiciel O7TI92 ).
c) L'unité sur laquelle on écrit la matrice UTPS dans le DATA du
début du programme sous la variable NOUT (NOUT = 9 par
défaut) et également la description de cette unité à la fin
du programme (ligne de JCL).
Il faut prévoir l'espace nécessaire pour la matrice UTPS
(dépendant du format demandé)
soit N = nombre de paires 0/D de la matrice 60 19'2 à lire
(nombre d'enregistrements - 2)15
La longueur maximale des enregistrements du fichier résultant
en mots de 32 bits doit être de LRECL mots (par défaut 400)
provenant du programme.
Alors le lrecl du JCL est
LRECL * 4 + 1 en bytes
le blksize du JCL est
LRECL * 4 + 8 en bytes
Le nombre d'enregistrement maximum pour le format 4-bytes est
NCEN * (int (NCEN/LRECL) + 1)
Pour le format 2-bytes est
NCEN * (int (NCEN/2*LRECL) + 1)
Pour le format 1-byte est
NCEN * (int (NCEN/4*LRECL) + 1)
Pour le format compressé est
NCEN + int(N - NCEN/LRECL) + 1 - N/NCEN
Description:
Ce programme lit une matrice 00e2 ayant comme deux premiers
enregistrements sa description.
Les paires 0/D, n'apparaissant pas dans la matrice 01111q2 , auront
leur valeur à zéro. De plus les valeurs des paires 0/D de la
matrice ree2 seront multipliées par le facteur multiplicatif et
arrondies à l'unité près, puisque ce sont des valeurs entières
qui seront écrites dans la matrice UTPS.
La longueur maximale des enregistrements de la matrice UTPS est
donnée par la variable LRECL (en mots de 32 bits). Par défaut
cette variable est à 400, mais on peut utiliser toute autre
valeur en changeant le DATA correspondant au début du programme.
Dans le cas des formats 1-byte et 2-bytes, les valeurs résultan-
tes des paires 0/D sont testées pour voir à la restriction de
non-négativité et à ce que ces valeurs soient plus petites ou
égales à 255 (format 1-byte) ou à 32 767 (format 2-bytes), si
cete restriction n'est pas respectée alors un message est imprimé
et les valeurs sont mises à 255 (format 1-byte) ou à 32 767
(format 2-bytes).
Enfin si il y a des paires 0/D pour lesquelles la destination est
plus grande que NCEN alors ces paires sont ignorées et un message
est imprimé pour cette destination hors limite.
D-6
D-7
D.3 Matrices de temps routier pour isochrones
Il y a deux façons de procéder pour créer des matrices de temps
routiers eninee2 dans un format compatible aux programmes de
traçage d'isochrones développés à la D.G.T.T.P.
La première est, de loin, beaucoup plus facile que l'autre, mais
ne peut s'exécuter qu'en classes de nuit (M ou N) sur
l'ordinateur central. L'autre façon peut fonctionner en classe
"C", de jour, mais nécessite temporairement beaucoup
d'espace-disque.
D.3.1 Méthode "Nuit"
Le tableau D-1 montre un exemple du programme à soumettre
pour fabriquer, de mit, la matrice des temps routiers
O71fle2 , sous format UTPS.
L'usager est invité à se faire une copie du fichier
A017 .P0108.EMJCLMTVPUNCHISO)
L'usager doit s'assurer que le nom du fichier qu'il veut
créer n'existe pas déjà. Par défaut, ce fichier portera
le nom A017.P0108.MAT.EMMEUTPS.ISO . S'il existe et
qu'on n'en a plus besoin, on le détruit dans l'étape "01"
du travail. L'usager est entièrement libre de donner le
nom qu'il veut au fichier de sortie.
Il est essentielde vérifier que, dans la banque de donnée
' eree en question, la "switch 4" est allumé ("ON"). Pour
être certain, on fait,.en session interactive au niveau du
menu principal,
4 = ON
tableau D-1
programme "Nuit e pour conversion des matrices
•
//J7PUNC1I JOB (R07, , A017,0108,188,03,D',6,8,0,0010), // '81104 A.BABIN',CLASS=N,NOTIFY=NU104,MSGPIASS=X,MSGLEVEL.(1,1) //ETAPECe EXEC P1314-314 //* //* SESSION EN BATCH DE El/2 POUR //* PURGER UNE MATRICE //* //STEPLIBDDOSN=U4NE2.EFILOAD,DISP=S-R //FTO6F001 DD SYSOUT.* //FTO7F001 DU SYSOUT=*,DCE(RECFK.FA,BLKSIZE=133) //FTO1F001DDISN.A017.P0108.BANKMTL2,DISP-41D,DCB=(B4ÇNO=1) //FTIOF001 DD SYSO1T=*,DCE(RECFM.FA,BLKSIZE.133) //FT99F001 DU MIT //FT98F001 DD DLINIT //FTO4F001 [ID DSN.68TEMPEM,UNIT=P1JB1IC,DISP=(,PASS), // SPACE.ORK,(350,20),RLSE),DCE(RECFM=FB,LP£CL.80,BL(5IZE=18960) //* //* S'ASSURER OUE SWITCH 4 EST ON SUR //* LA BAMME DE DONNEES EMME/2 (SINON IL FAUT DONNER //* UNE REPONSE DE PLUS DANS CE QUI SUIT, ET PAR //* CONSUMENT ENTRAINE UNE EMEUR SI ON NE LE FAIT PAS) //* //F105F001 DU * 4 2 6,1 4
3 MF2
0 /* //E1AF£01 EXEC P6M=IEFBR14 //DDOI BD DSN=A017.P0108.MAT.EM8lEUTPS.ISO,DISP=(OLD,DELETE) //ETAPE02 EXEC FORG1)16 //FORT.SYSIN BD *
C PROGRAMME I MATEMUT (MATRICES EM)E/2 --) MATRICES UTPS)
C INTERFACE SUR LES MATRICES C MATRICES E19€/2 CONVERTIES EN MATRICES UTPS
C EN ENTREE, ON FOURNIT: (IA4) LE TYPE DES MATRICES UTPS A LA SORTIE
SOIT COMP FORMAT COMPRESSION 1BYT FORMAT EN 1-BYTE 2BYT FORMAT EN 2-BYTES 4BYT FORMAT EN 4-BYTES
(I4) LE NOMBRE DE CENTROIDES (I4) UN FACTEUR MULTIFtICATIF S'APPLIQUANT A CHAIRE VALEUR 0/D
(CAR LES VALEURS UTES SONT SAUVEES COMME ENTIERS) (13A1) INSERTION DE LA CHAIRE DE CARACTERES: '0123456789.*M'
ITABN = TABLE NIMBER (BITS 8-15 WORD 2 ON UTPS MATRIX RECORDS) CONTINUATION RECORDS (BIT 0 WORD 2 ON UTFS MATRIX RECORDS, BIT ON) ICOMP . FORMAT CODE (BITS 1-7 WORD 2 ON UTPS MATRIX RECORDS)
IF(ITYP.01.JCOMP) ICOMP.0 IF(ITYP.E0.11BYT) ICOMP.1 IF(ITYP.M.I2BYT) ICOMP.2 IF(ITYP.M.I4BYT) ICOMP.4 IF(IC018',E0.0) VMAX=999999. IF(ICOMP.E0.1) VMAX=255 IF(ICOMP.E0.2) VMAX=32767 IF(ICOMP.E0.4) UMM-999999. DO 40 1=1,1000 VECT(I)=0.
40 CONTINUE
C IWORD NOMBRE DE MOTS - 2 (ENREGISTREMENTS UTPS)
BeRtfr-f4CFJ4 IF(ICOMP.E0.1) IDIV=4 IF(ICOMP.E0.2) IDIV=2 IF(ICOMP.E0.4) IDIV.1 IF(ICOMP.GE.1) IWORD = (NEER -I)/IDIV + 1 NLIG=0
50 READ(NIN,10,EN -500) LIG KLIG=NLIG+1 IF(NLIG.LE.1000) WRITE(6,1111) LIG
1111 FORMAT(' ---)',72A1) I)
37 I=I+1 IF(I.GT.10) GOTO 52 IF(LIG(I).NE.INUM(13)) GOTO 37 GOTO 50
52 CALL SCANO(LIG,NO) IF(.NOT.FIRST) GOTO 53 NORIG = HO FIRST = .FALSE.
53 IF(NORIG.EQ.NO ) GOTO 480 490 NWORDS(2)=ICOMP*16777216 + ITADN*65536 + NORIG
IF(ICOMP.NE.0) GOTO 100 NB.0 DO 70 I=I,NCEN IF(VECT(I).E0.0.) GOTO 70 IVALI = IFIX(VECT(I)*FACT+0.5)
60 IVAL2=IVAL1 IF(IVAL1.GT.262143) IVAL2.262143 NB=NB+1 NWORDS(NB+2)=1*262144+IVAL2 NTOT=NTOT+IVAL2 IF(IVALI.LE.262143) GOTO 70 IVALI=IVAL1 -262143 GOTO 60
70 CONTINUE NWORDS(I)=NB+1 GOTO 400
100 NWORDS(I)=IWORD+I IF(ICOMP.NE.4) GOTO 120 DO 110 I=1,IWORD
RESTRICTION: ON LIT PLUSIEURS MATRICES A LA FOIS DE EMME/2, C'EST [OC DIRE QUE TABLE «DER EST MISE AU NUMERO TE LA MATRICE amen LUE DEBUTANT AVEC UN ET INCREMENTANT DE UN. (BITS 8-15 DE MOT 2 DES ENREGISTREMENTS DE VIFS)
S'IL Y A PLUS QU'UNE MATRICE EMME/2 A TRANSFORMER ALORS IL FAUT SOUMETTRE PAR LA SUITE LE pROGRAME SUIVANT:
A017.P0108.ABMATEM(MATPOSTX) OUI PREND CO« FICHIER D'ENTREE, LE FICHIER DE SORTIE 0J PRESENI PROGRAKME, LE FICHIER INTERMEDIAIRE ETANT:
A01/.P0108.MAT.INTER.POSTX S'IL N'Y A QU'UNE MATRICE EMME/2 A TRANSFORMER
ALORS LE FICHIER DE SORTIE DU PRESENT MIGRAI« EST LE RESULTAT FINAL I.E. ON PEUT CHANGER
A017.P0108.MAT.INTER.POSTX FUR LE FICHIER QU'ON VEUT SAUVER (VOIR FOUR FTOEF001)
LOGICAL FIRST,LAST INTEGER LI6(72),ITYP,NCEN,M4ORDS(1000) RF_AL VECT(1000) COMMON /NUM/ INUM(13) DATA JCOMP,I1BYT,I2BYT,14BYTPCOMP','IBYT , , , 2BYT',"4BYT , / DATA NIN,NOUT/8,9/
NIN = UNITE D'ENTREE DE LA MATRICE EMME/2 MOUT = UNITE DE SORTIE DE LA MATRICE UTPS
DATA LRECL/400/
LRECL LONUEUR DES RECORDS LOGIQUES EN MOTS DE 4 BYTES EN FAIT CETTE LONGUEUR CORRESPOND A LRECL*4 + 4 BYTES DU LRECL DU CL POUR UNITE NOUT LRECL*4 + 8 BYTES DU BLXSIZE DU 321_ DE UNITE MOUT
PASSER LES DEUX PREMIERES LIGNES DE LA MATRICE EMME/2 (I.E. 'T MATRIX' ET LA LIGNE DE LA DESCRIPTION DE LA MATRICE)
READ(NIN,10) LIS READ(NIN,10) LIS
10 FORMAT(72A1)
LIRE LE TYPE DE MATRICE UTPS ET LE NOMBRE DE CENTROIDES SUR L'UNITE 5 (STREAM INPUT)
READ(5,20) ITYP READ(5,30) NCEN
20 FORMAT(1A4) 30 FORMAT(114)
WRITE(6,25) 25 FORMAT('1 ,//' -- MATEMUT - -"II)
READ(5,30) IFACT FACT.FLOAT( IFACT) READ(5,35) INUM
35 FORMAT(13A1) LAST=.FALSE, FIRST=.TRUE. ITABN=I ICOMP.3 NTOT=0
tableau D-1 (suite)
NWORDS(I+2) , IFIX(VECT(I)*FACT+0.5) NT0T=NT0T+1414ORDS(I+2)
110 CONTINUE . GOTO 400
120 IF(I60MP.NE.2) GOTO 200 DO 130 1=1,IWORD W11=IFIX(VECT(I*2-1)*FACT+0.5) NW2=IFIX(VECT(I*2)*FACT+0.5) IF(NWI.6E.0.A4D.0611.LE.32767) GOTO 125 II=1*2-1 WITE(6,122) NORI6,II,NW1
122 FORMAT(//' ATTENTION ORIGINE A DESTINATION ',I5, X ' VALEUR ',I12,' MISE A 32767')
NW1=32767 125 IFU42.GE.0.AN1'.002.LE.32767) GOTO 132
II.2*1 WRITE(6,122) N0RIG,II,NW2 NW2=32767
132 CONTINUE NWORDS(1+2)=NW1*65536 + NW2 NTOT.NTOTNA11+NW2
130 CONTI« GOTO 400
200 DO 300 I=1,IWORD NW1=IFIX(VECT(I*4-3)*FACT+0.5) NW2=IFIX(VECT(I*4-2)*FAC1+0.5) NW3=IFIX(VECT(I*4-1)*FACT+0.5) NW4=IFIX(VECT(I*4)*FACT+0.5) IF(Ne.GE.0.AN6.Ne.LE.255) GOTO 220 11=144-3 WRITE(6,225) NORIG,II,NW1
225 FORMAT(//' ATTENTION ORIGINE A DESTINATION ',I5, X ' VALEUR ',I8,' MISE A 255')
NW1.255 220 IF(NO2.GE.0.ANDA42.LE.255) GOTO 240
II=1*4-2 NRITE(6,225) N0RI6,11,P442 002.255
240 IF(NW3.GE.0.AND.N43.LE.255) GOTO 260 II=I*4-1 WRITE(6,225) NORIG,II,NW3 N613=255
260 IF(N04.GE.O.AND.,4144.LE.255) GOTO 310 11.I*4 WRITE(6,225) N0RI6,II,W.44 M44=255
310 CONTINUE NWORDS(1+2)=P411*16777216+NW2*65516+003*256+NW4 NT0T4470T+NWI+NW2+NW3+Nbi4
300 CONTINUE
C ECRIRE LE OU LES RECORDS SUR UNITE DE SORTIE NOUT C AVEC LE BIT DE CONTINUATION A 1 SALF LE DERNIER RECORD C S'IL Y A LIEU
400 CONTINUE L=NWORDS(1)+1 LP=2 IF(L.LE.LRECL) GOTO 420 LRECLM-4.RECL-1
C METTRE LE BIT 0 (BIT LE PLUS A GAUCHE) DU MOT 2 A UN C 2 ** 31 = 2147483648 . 2147481647 + 1
IF(IL.GT .72) RETURN IF(INTC(L(IL)).E0. -1) GOTO 10
20 IL=IL+1 IF(IL.GT .72) RETURN INOS=INTC(L(IL)) IF(INOS.GE.0.AND.INOS.LE.9) GOTO 20
30 IL.IL+I IF(IL.GT .72) RETURN INOS=INTC(L(IL))
35 ND=0 IF(IN05.E0. -I) GOTO 30
40 ND=ND*10+IN0S IL=IL+1 IF(IL.GT .72) RETURN INOS=IKTC(L(IL)) IF(I)OS.GE.0.AND.INOS.LE.9) GOTO 40
50 IL=IL+I IF(IL.GT.72) REILRN
',I4/ INOS=INTC(L(IL)) X=0, Y=0, YY.O. IF(INOS.E0. -1) ((((TU 50 IF(INOS.W.11) GOTO 58 V(N)=-VMAX
55 IL=IL+1 INOS=INTC(L(IL)) IF(INOS.E0.11) GOTO 55 GOTO 35
58 IF(INOS.E0.10) 0310 70 60 X.X*10.+FLOAT(INOS)
IL.IL+I IF(IL.GT .72) GOTO 90 INOS=INTC(L(IL)) IF(INOS.GE.0.AND.INOS.LE.9) GOTO 60 IF(INOS.NE.10) GOIO 90
70 IL=IL+1 IF(IL.GT .72) GOTO 80 INOS=INTC(L(IL)) IF(INOS.E0. -1) GOTO 80 Y=Y*10.+FLOAT(IN0S) YY=YY -1. GOTO 70
80 X=X+(Y*10.**YY) 90 IF(ND.LE.O.OR.ND.GT .NCEN) GOTO 100
V(ND)=X IF(IL.LT.72) GOTO 30 RETURN
100 WRITE(6,110) ND,NCEN,X 110 FORMAT(/' ATTENTION 11 EESTINATION ZONE = ',I6,
+ (MAX. ZONE IS ',I6,') WITH VALUE = ',F10.3,/, + 20X,'IS SKIPPED')
RETURN END
/* //GO.SYSIN DD * 2BYT
699 10
0123456789.*M /* //GO.FTO8F001 DD DSH--166TEMPVI,DISP.(OLD,DELETE) //G0.FTO9F001 DD 161-A017.P0108.14AT.EMME11TP(l.ISO,LNIT.3380, // V1L.SER=MT0302,SPACE=CTRI(,(10,3),RLSE),DISP -4,CATLG), // DCB.(FECFM.-VBS,LRECL=1604,BLKSIZE.1608)
C7
MAe-46JO1(DS(2)+21474133647 NNW244842+1 WRITE(NOUT) LREl1M,NNW2,(NUORDS(I),I=3,LRECL) LP--LRECL
410 IF(L-LP.LE.LRECL-2) GOTO 420 II=LP+1 LP-4P+LRECL-2 WRITE(NOUT) LRECLM,NNW2,(NWORDS(I),I=11,LP) GOTO 410
420 11=LP+1 LLP=L-LP+1 WRITE(NOUT) LLP,8WORDS(2),(NWORD(l(I),I=11,L) 10 450 I=1,1000 '.CT(I)=0.
450 CONTINUE IF(LAST) GOTO 510 IF(NORIG.LE.NO ) GOTO 470 WRITE(6,460) ITABN,NTOT
460 FORMAT(' UTES MATRIX CNEATED TABLE (AUMBER = + 20X,'MATRIX TOTAL = ',I12)
NTOT=0 ITA[4)=ITABN+1
470 NORIG=NO
480 GALL SCAN(LIG,VECT,NCEN,VMX) GOTO 50
500 LAST..TRUE. GOTO 490
510 CONTINUE WRITE(6,460) ITABN,NTOT STOP END SUBROUTINE SCANO(L,N) INTEGER L(72) IL.0 NO=0
10 IL=IL+1 IF(IL.6T.72) RETURN INOS=INTC(L(IL)) IF(INOS.E0.-1) GOTO 10
20 N0=N0*10+INOS 11=11+1 IF(IL.GT .72) RETURN INOS=INTC(L(IL)) IF(INOS.GE.0.AND.INOS.LE.9) GOTO 20 N440 RETURN END INTEGER FICTION INTC(LC) (»NON /Mi/ INUM(13) DO 10 1.1,12 IF(LC.NE.1hUM(1)) 6010 10 INTC=I -I RETURN
10 CONTINUE INTC. -1 RETURN END SUBROUTINE SCAN(L,V,NCEN,VMAX) REAL V(1) INTEGER 1(72) IL)
10 IL=IL+1
D-10
Après exécution du travail, la matrice des temps routiers,
en format UTPS, existera comme table no.1, dans le fichier
A017.P0108.MAT.EMMEUTPS.ISO .
D-11
D.3.2 Méthode "Jour"
Cette façon de faire demande temporairement environ 200
pistes sur l'unité de disques 3380.
Étape :
Faire un "Punch" de la matrice, à l'intérieur de la banque
choisie, dans Ce2 :
MTLRR PUNCHSP(1000)
Changer les paramètres du module 3.14:
dimension for in-hue report: 6,1
Exécuter le punch de la matrice contenant les temps
simulés, habituellement MF2.
Le résultat sera versé au fichier
A017.P0108.EMPCHZZZ
Étape 2:
En se servant du fichier
A017.P0108.ABMATEM(MATEMUT)
comme exemple (tableau D-2), s'en faire une copie avec les
modifications suivantes:
a) Insérer ses propres cartes JOB, avec class = C.
h) À l'étape 00 du travail, donner s'il y a lieu le nom du
fichier à détruire. Normalement; on détruira, s'il
existe, le fichier
A017.P0108.MAT.EMMEUTPS.ISO .
si cette étape n'est pas nécessaire, l'éliminer.
D-12
À la fin du fichier-programme, il faut avoir
2BYT
699
10
S'assurer que le fichier d'entrée [FTO8F001 de l'étape
GO] porte le nom
A017.P0108.EMPCHZZZ
Donner au fichier de sortie le nom que vous voulez.
Habituellement, on aurait
A017.P0108.MAT.EMMEUTPS.ISO .
La table 1 de ce fichier est la matrice des temps
routiers effle192 , en format UTPS.
• • • tableau D-2
programme 'Jour pour conversion des matrices
//,17MATEM1 JOB (R00,9,017,0108,188,03,D',3,8,0,0010), // , S1552 A BABIN',CLASS-,NOTIFY=NU188,MS0CLASS-X,MSGLEVEL=(1,1) //ETAPEO0 EXEC PGM=IEFERI4 //8001DDIEAP-A017.P01013.MAT.EMMEMS.ISO,DISP=((LD,DELETE) //ETAPEOI EXEC FORG1CLG //FORT.SYSIN DD *
C PROGRAMME MATEM(li (MATRICES EMME/2 --) MATRICES UTPS)
C INTERFACE SUR LES MATRICES C MATRICES EMME/2 CONVERTIES EN MATRICES UTPS
EN ENTREE, ON FOURNIT: (1A4) LE TYPE [ES MATRICES UTPS A LA SORTIE
SOIT COMP FORMAT COMPRESSION 1BYT FORMAT EN 1-BYTE 2BYT FORMAT EN 2,4BYTES 4BYT FORMAT EN 4-BYTES
(I4) LE NOKDK DE CENTROIDES (I4) UN FACTEUR MuLTIFLICATIF S'APPLIOUANT A CHAQUE vALEuR 0/8
(CAR LES VALEURS UTPS SONT SAUVEES C(1« ENTIERS) (13AI) INSERTION DE LA CHAINE DE CARACTERES: '0123455789.1w
C
•
RESTRICTION: ON LIT PLUSIEURS MATRICES A LA FOIS DE EMME/2, C'EST DONC DIRE QUE TABLE NuMBER EST MISE AU NUMERO DE LA MATRICE COURANTE LUE DEBUTANT AVEC UN ET INCREMENTANT DE UN. (BITS 8-15 DE MOT 2 DES ENREGISTREMENTS DE UTES)
C S'IL Y A PLUS QU'UNE MATRICE Er/2 A TRANSFORMER ALORS IL FAUT SOUMETTRE PAR LA SUITE LE PROGRAMME SUIVANT:
A017.P0108.ABMATLIVMATPOSTX) OUI PREND COMME FICHIER D'ENTREE, LE FICHIER DE SORTIE DJ FRESENT PROGRAMM, LE FICHIER INTERMEDIAIRE ETANT:
A017.P0108.MAT.INTER.POSTX C S'IL N'Y A QU'UNE MATRICE Bee./2 A TRANSFORMER
ALORS LE FICHIER If SORTIE DU PRESENT PROGRAME EST LE RESULTAT FINAL I.E. ON PEUT CHANGER
A017.P0108.MAT.INTER.F1)STX POUR LE FICHIER QU'ON VEUT SAUVER (VOIR POuR FTO8F001)
LOGICAL FIRST,LAST INTEGER LI6(72),ITYP,NCEN,NWORDS(1000) REAL VECT(1000) COMMON /NUM/ INUM(13) DATA JC0(MP,I1BYT,I2BYT,I4BYTPCOMP','1BYT','2BYT','4BYT'/ DATA NIN,NOUT/8,9/
C NIN = UNITE D'ENTREE DE LA MATRICE EM4E/2 C NOUT = UNITE DE SORTIE DE LA MATRICE UTPS
DATA LREC1/400/
LRECL : LONGUEUR DES RECORDS LOGIQUES EN MOTS DE 4 BYTES EN FAIT CETTE LONGUEUR CORRESPCM A LREI1*4 + 4 BYTES DU LRECL DU JCL POUR UNITE NOUT LRECL*4 + 8 BYTES DU BLKSIZE DU JC1 DE UNITE HOU]
53 IF(NORIG.EO.NO ) GOTO 480 490 MERDS(2)=ICOMP*16777216 + ITA0(4*65e36 + NORIG
IF(ICOMP.NE.0) GOTO 100
DO 70 I=1,NCEN IF(VECT(I).E0.0.) GOTO 70 IVAL1 IFIX(VECT(I)*FACT+0.5)
60 IVAL2=IVAL1 IF(IVAL1.GT.262143) IVAL2=262143 NB=h11+1 hUO1)DS(NB+2)=1*262144+1VAL2 NTOT=NTOT+IVAL2 IF(IVAL1.LE.262143) GOTO 70 IVAL1=IVAL1-262143 GOTO 60
70 CONTINLE NWORDS(I)=NB+1 GOTO 400
100 NWORDS(I)=I1UD+1 IF(ICOMP.NE.4) GOTO 120 DO 110 1=1,IWORD NWORDS(I+2)=IFIX(VECT(I)*FACT+0.5) NTOT=NT0T+NWO1)DS(I+2)
110 CONTINUE GOTO 400
120 IF(ICO(f.NE.2) GOTO 200 DO 130 I=1,IWORD NW1=IFIX(VECT(I*2-1)*FACT+0.5) NW2=IFIX(VECT(I*2)*FACT+0.5) IF(NW1.GE.0.AND.N41.LE.32767) GOTO 125 II=1*2-1 (1)ITE(6,122) NORIG,II,hUI
122 FORMAT(//' ATTENTION ORIGINE 0 ,14,' A DESTINATION ',I5, ' VALEUR ',I12,' MISE A 32767')
MAI=32767 125 IF(NW2.6E.0.AND.WW2.LE.32767) GOTO 132
II=I*2 11)ITE(6,122) NORIG,I1,Nu2 NW2=32767
132 CONTIN1E NW1)DS(1+2)=N1I*65536 + NTOT=NTOT+NW1+1612
130 CONTINuE GOTO 400
200 DO 300 1=1,II40RD NWI=IFIX(VECT(I*4-3)*FACT+0.5) NW2=IFIX(VECT(I*4-2)*EACT+0.5) NW3=IFIX(VECT(I*4-1)*FACT+0.5) NW4=IFIX(VECT(I*4)*FACT+0.5) IF(NWI.GE.0.AND.NWI.LE.255) GOTO 220 II=1*4-3 WRITE(6,225) NORIG,II,NW1
225 FORMAT(//' ATTENTION ORIGINE A DESTINATION 'iI5, X ' VOLEUR ',IO,' MISE A 255')
NUI =255 220 IF(N42.6E.0.AND.N42.LE.255) GOTO 240
11=11(4-2
C PASSER LES DEUX PREMIERES LIGNES DE LA MATRICE EMME12 C (I.E. 'T MATRIX' ET LA LIGKE DE LA DESCRIPTION DE LA MATRICE)
READ(NIN,10) LIS READ(NIN,10) LIG
10 FORMAT(72A1)
C LIRE LE TYPE DE MATRICE UTPS ET LE NOMBRE DE CENTROIDES SUR L'UNITE 5 (STREAM INPUT)
READ(5,20) ITYP READ(5,30) NC04
20 FORMAT(1A4) 30 FO1)MAT(II4)
WRITE(6,25) 25 FORMAT('I'//' -- MATEMUT -
READ(5,30) IFACT FACT=FLOAT(IFACT) READ(5,35) DAIM
35 FORMAT(13A1) LAST=.FALSE. FIRST=.TRUE. ITABN=I ICOMP=0 NTOT=0
ITABN = TABLE HUMBER (BITS 8-15 WORD 2 ON (1TPS MATRIX RECORDS) CONTINUATION RECORDS (BIT 0 wORD 2 ON VIFS MATRIX RECORDS, BIT ON) ICOMP - FORMAT CODE (BITS 1-1 WORD 2 ON UTPS MATRIX RECORDS)
IF(ITYP.O.JCOMP) ICOMP- 3 IF(ITYP.E0.11BYT) ICOMP=1 IF(ITYP.E0.I2ByT) ICOMP=2 IF(ITYP.EQ.I4BYT) ICOMP=4 IF(ICOmP.E0.0) ¼X -999999, IF(ICOMP.E0.1) VMAx.255 IF(ICOMP.E0.2) VMAX=32767 IF(ICOMP.E0.4) VMAX=999999. DO 40 I-1,1000 VECT(I)=0.
40 CONTINLE
C MORD . NOMBRE DE MOTS - 2 (ENREGISTREMENTS VIFS)
IWORD=NCEN IF(ICU4P.E0.1) IDIV-4 IF(ICOmP.E0.2) IDIv=2 IF(ICO8P.E0.4) IDIv=1 IF(ICO(Ç.GE.1) IWORD = (NCEN-1)/IDIv + 1
50 READ(NIN,10,END=500) LIG
37 1=1+1 IF(I.GT.10) GOTO 52 IF(LIG(1).NE.INUM(13)) 6010 37 GOTO 50
52 CALL SCANO(LIG,NO) IF(.NOT.FIRST) GOTO 53 NORIG = NO FIRST = •FALSE.
tableau D-2 (suite)
1RITE(6,225) NORI6,II,NW2 NW2=255
240 IFINW3.GE.0.A140.NO3.LE.255) GOTO 260 11.1*4-1 WRITE(6,225) NORIG,IIMW3 NW3.255
260 IF(NW4,GE.0.AND.W44.LE.255) GOTO 310 WI*4 WRITE(6,225) N60I6,II,M4 NW4=255
310 CONTINUE NWORDS(1+2)=NWI*16777216+NW2 ,65536+NW31(256+NW4 UTOT.NTOT+1,411+NW2+WW3+1W4
me CONTINUE
C ECRIRE LE OU LES RECORDS SUR (»UTE DE SORTIE NOUT C AVEC LE BIT DE CONTINUATION A I SAUF LE DERNIER RECORD C S'IL Y A LIEU
100 CONTINUE L=N4ORDS(1)+1 LP=2 IF(L.LE.LRECL) GOTO 420 LRECLW-LRECL-1
C METTRE LE BIT 0 (BIT LE PLUS A GAUCHE) DU MOT 2 A UN C 2 ** 31 2147483648 2147483647 + 1
NNW2--NWORDS(2)+2147483647 141412--)84142+ I WRITE ( NOUT ) LRECLM,NNW2, ( NWORDS ( I ) 1=3 ,LRECL LP=LRECL
410 IF(L -LP.LE.LRECL -2) GOTO 420 I1=LP+1 LP=LP+LRECL -2 WRITE(NOUT) LRECLM,NNW2,(NWORDS(I),I=11,1P) GOTO 410
420 II4P+1 LLP=L-LP+1 WRITE(NOUT) LLP,NWORDS(2),(NWURDS(I),I=11,L) DO 450 1=1,1000 VECT(I)=0.
450 CONTINUE IF(LAST) GOTO 510 IF(NORIG.LE.140) GOTO 470 W1ITE(6,460) ITABN,NTOT
460 FORMAT( UTPS MATRIX CREATED TABLE NUMBER = ',I4/ + 20X,'MATRIX TOTAL = ',I12)
NTOT.0 ITABWITABH+1
470 NORIG.NO
480 ('AIL SCAN(LIG,VECT,NCEN,VMAX) GOTO 50
C. 500 LAST=.TRUE.
GOTO 490
510 CONTINUE WITE(6,460) ITABN,NTOT
STOP END SUBROUTIRE SCANO(L,N) INTEGER 1(72) 11=0 NO4
10 IL=IL+I IF(IL.GT.72) REfURN INOS.INTC(L(IL)) IF(INOS.E0.-1) GOTO IO
20 10h-N10*10+INOS 11=11+1 IF(IL.GT .72) RETURN INOS=INTC(L(IL)) IF(INOS.GE.O.AND.INOS.LE.9) GOTO 20 PeN0 RETURN END INTEGER FUNCTION INTC(LC) COMMON eut/ INUM(13) DO 10 1=1,12 IF(LC.1.E.INUM(I)) GOTO 10 INTC=I -1 RETURN
10 CONTINUE INTC= -I RETURN END SUBROUTINE SCAN(L,V,NC94,VMAX) REAL V(I) INTEGER 1(72) IL=0
10 IL=IL+I IF(IL.GT .72) RETURN IF(IKTC(L(IL)).E0. -1) GOTO 10
20 11=11+1 IF(IL.GT.72) RETURN INOS=INTC(L(IL)) IF(INOS.GE.0.AND.INOS.LE.9) GOTO 20
30 11=11+1 IF(IL.GT .72) RETURN INOS=INTC(L(IL))
35 ND=0 IF(INOS.E0. -1) GOTO 30
40 ND=N1)*10+INOS 11=11+1 IF(IL.6T.72) FerteN INOS.INIC(L(11)) IF(INOS.GE.0.AND.INOS.1.E.9) GOTO 40
50 IL=11+1 IF(IL.6T.72) FETURN INOS=INTC(L(11)) X=0,
YY.O. IF(INOS.E0. -I) GOTO 50 IF(INOS.NE.11) GOTO 58 V(ND)=VMAX
55 IL=IL+1 INOS=INTC(L(IL))
IF(INOS.E0.11) GMTO 55 60T0 35
58 IF(INOS.E0.10) GOTO 70 60 X=X*10.+FLOAT(INOS)
IL=IL+I (F(11.67.72) GOTO 90 INOS=INTC(L(IL)) IF(INOS,G(.0.AND.INOS.LE.9) GOTO 60 IF(INOS.NE .10) GOTO 90
70 IL=IL+1 IF(IL.(lT.72) GOTO DO INOS=INTC(L(IL)) IF(INOS.E0. -1) GOTO 80 Y=Y*10.+FLOAT(IP10S) YY=YY -I. GOTO 70
80 X=X+(Y*10.**YY) 90 IF(ND.LE.O.OR.ND.GT .NCEN) GOTO 100
V(0)=X IF(IL.LT.72) GOTO 30 RETURN
100 WRITE(6,110) ND,NCEN,X 110 FORMAT(/' ATTENTION 11 DESTINATION ZONE = ',16,
+ (MAX. ZONE (S ',I6,') WITH VALUE ',F10.3,/, 20X,'IS SKIPPED')
RETURN END
/e //GO.SYSIN DO * 2BYT
699 10
0123456789.*M /* //00.FT08F001 DD D9 -4-A017.P0108.01PC11141,DISP=SIIR //6O.FT09F001 DD DSN=A017.P0108.MAT.EMMEUTPS.ISO,UNIT.3380, // VOL=SER=MT0302,SPACE=(TRK,(10,3),RLSE),DISP.(,CA1L3), // DCB=(RECFM=VBS,LRECL=1604,BLKSIZE.1608)
D.3.3 Traçage des isochrones
Le fichier créé plus haut, peu importe la méthode, peut
être maintenant passé aux programmes dé tràçaW
d'isochrones.
La documentation de ces programmes peut être obtenue sur
demande au service des Systèmes d'information et transport
des personnes.
D-15
,
,
er.e,
a
;
MIN STERE DE TRANSPORTS
I III Il I QTR
A 1111M 1 161i 11