J . FERRARIS STRUCTURATI()N DE LA HASE DE...
J . FERRARIS
STRUCTURATI()N DE LA HASE DE DONNÉES “I’li~~lIl~: /\\RTISANA1,13”
V. FUNTENEAU
ET
CHAINE: DE TKAITEMICN’L’ INI~ORMA’I’I~~~!I<
A. SY BO
^-- ...--w”. ..” --_-
ARCHIVE
CENTRE IIE R E C H E R C H E S OCtANOGRAPHlQUES D E D A K A R - TIARQYE
* I N S T I T U T SÉNiGALAlS D E R E C H E R C H E S A G R I C O L E S +
1

STRUCTURATION DE LA BASE DE DONNÉES “PECHE ARTISANALE”
ET
CHAINE DE TRAITEMENT INFORMATIQUE
J. FERRARIS, V. FONTENEAU et A. SY BO
SOMMAIRE
INTRODUCTION
3
l- FICHIERS ET SYSTEME DE CODIFICATION
l.l- Fichiers bruts
1.2- Système de codification.
2- CHAINE DE TRAITEMENT INFORMATIQUE
5
2.1” Contrôle des données
6
2.1.1- CONTROLI
6
2.1.2- COALF
9
2.1.3- CONTROL2
9
2.2 Structuration des fichiers PA (lère partie)
13
2.2.1- RESTRUC.F
13
2.2.2 - Procédure SORTC
1 5
2.2.3 - Programme PASUMCAP.F
15
2.3 Structuration des fichiers PPC
LU
2.3.1 - Programme PPCRESTR.F
16
2.3.2 - Procédure PPCSORTC
1 7
2.3.3 - Programme PPCSUMCA.F
17
2.4 Structuration des fichiers PA (2ième partie)
18
2.4.1 - Programme PASTREG.F
18
2.4.2 - Programme PASUBST.F
19
2.5 Extrapolation des ports échantillonnés à l’ensemble du littoral maritime 21
2.5. l- Programme PACREDEF,F
21
2.5.2- Programme PADEF.F
2 3
2.6 Calcul des statistiques annuelles
2 2
2.6.1 - Programme PAREF.F
2 3
2.6.2 - Programme PATAB.F
2 3
2.7 Programmes SAS pour l’analyse des données
2 4
CONCLUSION
25
FIGURES
29
ANNEXES
3 9

3
INTRODUCTION
Les données de pêche artisanale récoltées par le Centre de Recherches Océanographiques de
Dakar-Thîaroye (Sénégal), depuis 1974 pour certains ports du littoral, ont subi au cours des
années de nombreuses transformations, que ce soit au point de vue du bordereau de terrain, des
systèmes de codage ou de la forme des fichiers informatiques. Une harmonisation des données
informatisées s’imposait ainsi qu’une mise en forme optimale des fichiers disparates en une
base de données structurée “Pêche Artisanale” (PA). La réflexion sur la structuration de cette
base de données a permis par la même occasion d’améliorer les programmes de validation des
données et d’optimiser la qualité de l’information en corrigeant l’ensemble des fichiers de pêche
artisanale. La base de données PA est maintenant constituée de fichiers homogènes
individualisés par port et par année. Tous les fichiers des ports échantillonnés régulièrement ou
occasionnellement (ex: le point de débarquement de Fass Boye échantillonné occasionnellement
en saison chaude) sont structurés de manière identique. Les fichiers issus de l’ancien
programme “Petits Pélagique Côtiers” sont également harmonisés et intégrés à la base de
données (sennes tournantes et filets maillants encerclants de la Petite Côte).
Ce document qui actualise l’archive No89 (Cury, 19811) traitant des programmes
informatiques développés à la fin des années 70 et périmés depuis plusieurs années (chaîne des
programmes PIR053, PIR**,...), présente:
- Les fichiers et le système de codage utilisé au moment de la rédaction de ce rapport.
- La chaîne de traitement informatique assurant:
- le contrôle de la qualité des donnkes,
- la structuration de la base de données,
- et la production des statistiques annuelles.
l- FICHIERS ET SYSTEME DE CODIFICATION
1.1” Fichiers bruts
Les fichiers et systèmes de codification PA décrits dans ce rapport correspondent à ceux utilisés
par le programme “Pêche Artisanale” depuis 1989. La chaîne informatique est décrite à partir de
ces fichiers mais les programmes sont adaptés pour la lecture des fichiers antérieurs à 1989 qui
présentent une structure et des codes différents. En cas de modifications ultérieures de la
structure des fichiers d’entrée, les formats de lecture devront être révisés en conséquence, mais
1 CURY P., 1981. Présentation et utilisation des programmes informatiques de la section pêche artisanale”.
Arch. Cent. Rech. Océanogr. Dakar-Thiaroye, 89,105 p,

4
la philosophie générale de la base de données ne devrait pas être modifiée: soit, l’utilisation de
tables de correspondance permettant de converger vers une base de données unique.
Les fiches de terrain utilisés en pêche artisanale permettent depuis 1989 de porter sur un
bordereau unique les informations de terrain et la transcription simultanée en données codées.
Cette caractéristique permet d’optimiser le travail de collecte et de codage des données sur les
prises et activités de pêche: l’enquêteur pouvant effectuer simultanément le codage au cours des
enquêtes sur la plage de débarquement au cours de l’attente de l’arrivée de nouvelles pirogues.
Un exemple du bordereau est donné en annexe 1.
Les données sont caractérisées par trois types d’enregistrement:
- Données “efforts” (nombre de sorties par engin) - cartes jour CO-
- Informations sur les pirogues échantillonnées - cartes Cl-
- Informations sur les poids et les tailles de la prise de chaque pirogue Cl- cartes C2-
Les bordereaux de terrain ont donc la particularité de contenir l’ensemble des informations
pertinentes pour la recherche halieutique, soit les données d’effort nominal, les caractéristiques
de pêche, les captures et les structures de taille. Ces fichiers bruts, peu malléables pour les
analyses spécifiques seront donc restructurés en fichiers thématiaues, soit des fichiers séparés
pour les efforts, les prises et les tailles.
1.2- Système de codification.
Le système de codification présenté en annexe II correspond aux codes utilisés depuis 1985 sur
les fiches terrains (Ila) pour les plages de débarquement (IIb), engins de pêche (11~) et lieux de
pêche (IId). Les annexes IIIa et IIIb donnent les codes d’espèces, classées respectivement par
ordre numérique et alphabétique, de la liste révisée en 1989 (plus de 200 codes) regroupant les
espèces marines et estuariennes accessibles à la pêche piroguière. Cette liste est réagencée en
annexe 111~ par ordre taxonomique. Parallèlement aux codes d’espèces utilisés à partir de 1989
pour la pêche piroguière, sont indiqués les codes antérieurs à cette année ainsi que les codes
utilisés par les autres programmes du CRODT, soit les codes de “Socio-économie” (SOE),
“Pêche Pélagique Côtière” (PPC), et “Pêche Démersale” (PD). Ces derniers codes en quatre
digits pourraient être utilisés comme code commun à l’ensemble des nrogrammes du CRODT
afin de viser une certaine harmonisation entre les différentes bases de données de pêche. Au
cours de la structuration de la base de données PA à partir des fichiers bruts, les codes utilisés
sur le terrain sont transformés en code à quatre digits. Ce nouveau système de codage permet
d’adopter une démarche hiérarchique pour le repère des espèces en fonction de leur

5
appartenance taxonomique: les deux premiers digits correspondent en général à l’identificateur
de famille et les deux derniers à l’identificateur de l’espèce ou d’un groupe d’espèces.
2- CHAINE DE TRAITEMENT INFORMATIQUE
L’ensemble de la chaîne informatique développée pour les fichiers de PA est décrit à la figure 1.
Cette chaîne se présente en quatre étapes:
- 1: Validation et correction des données brutes.
- 2: Restructuration des fichiers.
- 3: Production des statistiques annuelles.
- 4: Interrogation de la base de données.
Le niveaux 4 fait référence au document de Sarr2, 1991 permettant d’extraire des données de
PUE (Prise par Unité d’effort), d’effort et de prises selon un critère de choix d’espèce, de lieu
de débarquement et de temps Un cinquième niveau des traitements informatiques appliqués à la
base de données PA correspond aux différents programmes d’analyse statistique développés
pour répondre aux besoins spécifiques des chercheurs à l’aide des logiciels statistiques
implantés sur les différentes machines du CRODT. Ces logiciels (SAS, STATGRAPHICS,
BIOMECO, STATITCF, SPAD, SCA, ADE, etc..) peuvent être utilisés avec les données de la
base PA grâce au réseau ETHERNET reliant les différentes machines du centre de calcul (SUN,
PC-IBM, MACINTOSH).
Pour chacun des programmes informatiques intervenant dans les étapes 1 à 3, on présente:
- l’objectif du programme,
- les fichiers en entrée et sortie,
- le principe du programme et la justification des paramètres,
- les consignes d’utilisation
- et les méthodes de calcul.
La chaîne présentée dans ce document concerne donc les traitements appliqués à partir des
données brutes jusqu’aux sorties des tableaux de statistiques annuelles. En raison des
ressources informatiques disponibles au CRODT en 1993, une partie du traitement se réalise
sur I’IBM 4331 et une autre sur les machines SUN. Cependant les programmes écrits en
Fortran sont facilement transférables d’une machine à l’autre. Quant aux fichiers, on a choisi
d’utiliser des fichiers séquentiels de longueur fixe afin de pouvoir les utiliser sur les deux
systèmes.
2 SARR R., 199 1. Modélisation par l’intelligence artificielle du comportement du pêcheur artisan de Joal.
Mémoire de stage d’rngénieur-Informatique. Octobre 1990-Février 1991. CRODT. 46 p.

6
Les programmes qui s’exécutent sur I’IBM 4331 ont tous des fichiers procédures EXEC qui
portent le même nom que le programme. Les fichiers EXEC, n’existant pas sur le SUN, ont été
remplacés, d’un côté, par des NOMPROG.PAR correspondant à l’information sur les fichiers
utilisés et les paramètres et, d’un autre côté, par des ‘SHELLS’ d’exécution qui sont lancés
comme les EXEC du 4331. Les NOMPROG.PAR, qui sont une simple adaptation des EXEC,
contiennent en début les noms des fichiers à utiliser et ensuite les ‘cartes’ paramètres décrites en
unité 5, comme fichier d’entrée, dans les programmes. Les fichiers NOMPROG.PAR ne sont
pas à créer en tant que tel mais sont générés automatiquement suite aux indications fournies par
l’utilisateur au lancement du ‘SHELL’. Tous les formats de lecture/écriture des fichiers ainsi
que les listings des sources et des sorties des programmes se trouvent respectivement en
annexes IV, V et VI.
2.1- Contrôle des données
L’organigramme de la partie “validation des données” est présenté à la figure 2. Cette étape
comporte trois programmes qui permettent d’une part de contrôler la qualité des données et
d’autre part de fournir une première synthèse de l’information.
2.1.1- CONTROLl
mectif du nromamme: Ce programme réalise un premier contrôle des données brutes après la
saisie informatique et donne comme résultat un listing d’erreurs. Ce programme est exécuté sur
I’IBM 433 1.
Fichiers d’entrée
Unité 1: PA PPPAA X: PPP est le port , AA l’année et X le
disque où réside le fichier
Unité 3: CODA75 DATA X. + CODA83 DATA X
+CODA85 DATA X
Unité 4: MENSU891 DATA X
Unité 5: Cartes paramètres: année, ler mois, port, nombre de
fichiers, nombre d’espèces de la liste globale (NESPO).
Unité 6: ERRlPPP LISTING X: listing d’erreurs.
Princine du nrog;ramme: Le but du programme est de vérifier la séquence des enregistrements
du fichier brut: le nombre de pirogues enquêtées dans la carte CO doit correspondre au nombre
de cartes Cl; le nombre d’espèces annoncé dans la carte Cl doit correspondre au nombre de
cartes C2 suivantes. Le programme teste de plus l’adéquation des valeurs dans un intervalle

défini par des valeurs minimales et maximales. Les messages d’erreurs du listing en sortie
indiquent le numéro de l’enregistrement défectueux et une copie de l’enregistrement avec
éventuellement une marque sur la localisation de l’erreur. Le programme peut être appliqué sur
un fichier mensuel ou une année complète.
Le programme consiste en un programme principal (CONTROLl) et six sous-routines
permettant de vérifier les 3 types de cartes (CO, Cl et C2) en fonction de l’année du fichier:
CARTEO:
contrôle des cartes CO, pour année > 1984
CARTE20:
contrôle des cartes CO pour les années < 1985
CARTEIl:
contrôle les cartes Cl, pour les années < 1989
CARTE1 1:
contrôle les cartes Cl, pour les années > 1988
CARTlZ2:
contrôle les cartes C2, pour les années < 1989
CARTEI22:
contrôle les cartes C2, pour les années > 1988
Un exemple du listing de sortie est donné en annexe VI
Lis te des tests effectués dans CONTROL 1.
- La première ligne du fichier doit correspondre au port et au ler jour du mois indiqué en cartes
paramètres.
- L’année et le port doivent être conformes aux informations données en cartes paramètres.
- L’identificateur de l’enregistrement doit être 0, 1 ou 2,
- Le mois de la carte pirogue C 1 doit être égal au mois de la carte jour CO.
- Le jour de la carte pirogue doit être égal au jour de la carte jour CO.
- Vérifie si le No de pirogues enquêtées correspond au nombre de cartes pirogue Cl lues pour
un jour donné.
- Vérifie si le nombre de cartes C2 lues avant une nouvelle carte jour CO ou carte pirogue Cl
correspond au nombre d’espèces annoncé dans la pirogue précédente.
- Vérifie si le nombre de cartes pirogue Cl lues avant une carte jour correspond au nombre
d’enquêtes indiqué dans la carte jour précédente.
- Vérifie si le nombre de carte CO pour un fichier annuel est supérieur à 364 et inférieur à 367
jours.
- Vérifie si le nombre de carte CO du fichier mensuel correspond au nombre de jours du mois.
- Si le mois de la carte jour est le même que celui de la carte jour précédente alors le jour doit
être égal au jour précédent + 1. Le mois ne doit pas être inférieur au mois de la carte jour
précédente.
- Si le mois est plus grand que le mois précédent alors le jour doit être égal à 1 et le jour
précédent doit être supérieur ou égal à 28.
- Le code de la première espèce doit être présent.

8
- Si le code de l’espèce est absent, l’espèce prend le code de l‘espèce précédente.
- Si le code de l’espèce est absent, l’unité et la quantité doivent être également absentes.
- Si l’esgèce est présente, l’unité et la quantité doivent être présentes.
- Le code espèce doit être plus petit que le dernier code de la liste d’espèce.
- Si l’unité est en nombre, la quantité doit être inférieure au maximum fourni dans le fichier
MENSU891 DATA X.
- Si l’unité est en quintal, une quantité supérieure à 99 est suspecte et doit être vérifiée.
- Si l’unité est en quintal et que l’engin est ST ou FME, le message “à vérifier” est imprimé,
- Le poids de la pirogue doit être supérieur ou égal au poids minimal calculé à partir de la
longueur minimale et de la relation taille/poids.
- Les longueurs doivent être supérieures au minimum et inférieures au maximum donnés dans
MENSU891 DATA X.
- L,es valeurs de la carte jour CO doivent être comprises entre les valeurs extrêmes suivantes:
Port
L 75
Ltr
I 200
Année
I 99
PAL
5 100
Mois
I 12
EP
5 100
Jour
531
le
= o
F&ie
I l
FMDSE”
= o
Temps
I l
FMDSM5
= 0
PML
2 500
FMDFY”
= 0
PVL
5 100
= o
FD
5 500
“pDFT7
2 200
PGL
I 200
FDS
5 200
ST
5 100
FDE
I 100
I 200
2 100
“El
s 50
Et;
I 100
Lrh
5 100
P S
5 50
LCS2
5 100
Nb enquête
I 99
- Les valeurs de la carte pirogue Cl doivent être comprises entre les valeurs extrêmes suivantes:
Port
I 75
t<
1 7
Année Mois
2 I 99 12
12
Jour
531
l<
No pirogue
I 99
1 Si port < 40 alors FME =0
2 Si. port > 50 alors LCS c 500
3 si port > 60 alors k < 99
4 si port > 60 alors FMDSE < 99
5 si port > 60 alors FMDSM < 99
6 si port > 50 alors FMDFY < 99
7 si port > 60 alors FMDFT < 99

Type Nb pêche
5 18 24
pêcheurs
Heure Durée
5 5 99 99
Lieu Profondeur
59 5 99
Nbenquête
5 99
- Les valeurs de la carte espèce C2 doivent être comprises entre les valeurs extrêmes suivantes:
1s
Espèce
I NESPO
Type unité
53
;2
Min I
QLlantité
2 9 9 9
Longueur
I max de MENSU891 DATA X
1 ’
No pirogue
5 9 9
15
Typepêche
I 2 4
2.1.2- COALF
Objectif du nrogramme: Ce programme réalise un contrôle alphanumérique sur des champs qui
ne peuvent pas être contrôlés par CONTROLl ou CONTROL2. En sortie, on a un listing
d’erreurs. Ce programme est exécuté sur 1’IBM 433 1.
Fichiers d’entrée :
Unité 12 - PA PPPAA X (ou PPP est le port , AA l’année et X
le disque ou réside le fichier).
Unité 5 - Cartes paramètres: port, année.
Fichier de sortie:
Unité 6 - COALFPPP LISTING X: listing d’erreurs.
Tous les champs de deux ou trois caractères sont vérifiés et une erreur est détectée si la(les)
dernières positions du champ sont codées en blanc et le début de champ n’est pas codé en blanc
(décalage des colonnes).
Le listing de sortie se présente sous une forme équivalente à celui de CONTROLI donné à
l’annexe VI.
2.15 CONTROL2
Objectif du programme: Ce programme réalise un contrôle plus approfondi (contrôle statistique)
des données brutes, une fois corrigées les erreurs de CONTROLl. Le programme calcule des
statistiques afin de confronter les données saisies par rapport aux moyennes, écart-types, etc.
En sortie, on a un listing d’erreurs et un listing des statistiques de base fournissant une

synthèse mensuelle des données d’efforts, de tailles et de rendements de pêche. Ce programme
est exécuté sur I’IBM 433 1.
Fichiers d’entrée :
Unité 12 - PA PPPAA X (ou PPP est le port , AA l’annee et X le
disque où réside le fichier).
Unité 15 - ESPIR89 DATA X, fichier relation taille-poids et poids
moyens par défaut.
Unité 16 (1,2 et 3) - CODAYY DATA X ( ou YY=75,83 et 85),
fichiers codes espèces selon l’année.
Unité 17 - CORRES CODE X , fichier noms espèces.
Unité 18 - ENGIN DATA X, fichier noms engins.
Unité 5 - Cartes paramètres:
Carte 1: option niveau des sorties:
0 Tout
1 Efforts seuls
2 Poids moyens seuls
3 Rendements seuls
Cartes 2: (autant que nécessaire) port, année, mois
Fichiers de sortie:
Unité 8 - ERR2PPP LISTING X: listing d’erreurs.
Unité 6 - TABPPP LISTING X: listing de statistiques.
Fichiers de travail:
Unités 13, 14.20, 22,23 et 40.
Principe du nrogramme:
Le programme est basé sur le calcul des statistiques mensuelles des différentes variables, par
engin de pêche. Les tableaux synthétiques, qui permettent de contrôler régulièrement le système
d’échantillonnage, fournissent:
- le nombre de sorties et de pirogues échantillonnées par jour et par engin;
- les poids moyens par engin et par espèce mesurée, le nombre d’individus mesurés par espèce;
- les rendements par groupe d’engins et par espèce classée en ordre décroissant (PUE
mensuelle): rendement moyen quand l’espèce est présente (moyenne de présence), rendement
moyen sur l’ensemble des pirogues échantillonnées (moyenne générale), écart-type de
présence, minimum, maximum et nombre de pirogues échantillonnées où l’espèce est présente
(fréquence).

Le contrôle statistique est basé sur le calcul de la valeur moyenne mensuelle de la variable et de
son écart-type. Une mesure individuelle extérieure à l’intervalle moyenne plus ou moins X
écart-types (2,3 ou 4) est imprimée comme valeur suspecte à vérifier.
Le programme est conçu pour traiter les données d’un fichier mensuel par port, afin de suivre le
rythme de la saisie informatique qui se fait par mois et par port. Dans ce cas, on aura une seule
carte paramètre 2. Si on souhaite vérifier plusieurs mois dans un passage, il faut mettre autant
de cartes 2 qu’il y a des mois (attention: dans l’ordre ascendant des mois - le fichier est supposé
être organisé par mois). Cette option a surtout servi pour le contrôle des anciens fichiers.
Le programme consiste en un programme principal, CONTROL2, et de quatre sous-routines:
PASSO, PASS 1, PASS2 et PASS3. En début de programme, les valeurs du nombre maximal
d’espèces, d’engins et de groupes d’engins sont initialisées. Ces valeurs doivent être rnodifiées
en cas d’augmentation (l’augmentation du nombre d’espèces se fait uniquement en changeant
NBRESP; pour l’augmentation du nombre d’engins il faut changer NBRENG et les dimensions
des tableaux corresnondants). La carte paramètre 1 est lue ensuite et, selon la valeur lue, on fera
appel à une ou plusieurs routines:
a) La routine PASSO est toujours exécutée. On lit d’abord une carte paramètre 2 contenant le
port, l’année et le moîs à traiter. Le programme s’arrêtera si l’un de ces codes ne correspond
pas aux informations du fichier de données brutes PA. Les fichiers auxiliaires des relations
taille-poids, codes des espèces, noms des espèces et noms des engins sont ensuite lus. Le
fichier PA PPPAA X est lu avec un format variable selon l’année de saisie, et l’inforrnatîon est
réorganisée afin d’obtenir:
- Un enregistrement par jour avec les efforts par engin (à partir des cartes 0 ou 20), sortie
fichier temporaire 13.
- Un enregistrement par pirogue avec captures et longueurs mesurées par espèce, sortie fichier
temporaire 14.
b) La routine PASSl est exécutée avec les options niveau sortie 0 ou 1. Cette routine produit un
tableau avec le nombre de sorties et d’échantillons par engin et par jour pour vérification des
codages et des échantillonnages. Le tableau sort également des moyennes et écart-types par
engin (pour le mois). Des erreurs sont détectées et sorties sur listing (unité 8) si l’effort
journalier diffère de l’effort moyen plus ou moins 2 écart-types ou s’il y a plus de pirogues
échantillonnées que le nombre de pirogues sorties, pour l’engin correspondant.
c) La routine PASS2 est exécutée avec les options niveau sortie 0 ou 2. Cette routine calcule (et
imprime), à partir du fichier temporaire des captures par pirogue, un tableau avec les poids

1 2
moyens par espèce et par groupe d’engins, ainsi que le nombre de poissons mesurés et
comptés. Les engins (cf: codification des types d’engin de l’annexe II) sont regroupés en 8
categories -codes du groupe l-, soit: les pirogues lignes non motorisées (WL), lignes
motorisées (PML), lignes glacières (PGL), filets dormants (FD), sennes tournantes (ST), filets
maillants encerclants (FME), sennes de plage (SP) et divers (DIV).
d) La routine PASS3 est exécutée avec options niveau sortie 0 ou 3. Cette routine calcule, à
partir du fichier temporaire par pirogue, un tableau avec les captures par espèce et groupe
d’engins. Les engins sont regroupés en 12 catégories - codes groupe 2-; Pour les PML, on fait
la distinction entre les LCS, les PAL+LR et les autres types de lignes; Pour les filets, on
distingue d’une part les filets dérivants (FMD) et d’autre part les FDY des autres FD. La capture
de chaque pirogue est calculée comme suit:
- capture codée en poids: on cumule directement les poids en kilo,
- capture codée en nombre de poissons: si le nombre de poissons mesurés est supérieur
à 50% du nombre de poissons comptés, on utilise le poids moyen de ces poissons; sinon on
utilise le poids moyen du tableau calculé en PASS2. Si ce poids moyen est 0 (donc pas de
poissons mesurés pour l’espèce au cours du mois) on utilise le poids moyen général du fichier
ESPIR89 DATA.
Deux fichiers sont créés: un fichier intermédiaire temporaire non formaté en unité 20 qui
contient les captures en poids par pirogue et un fichier formaté avec la même information.
Plusieurs statistiques sont calculées: moyennes et écarts-types des captures par espèce et par
engin, du poids total par pirogue et engin, du nombre d’espèces capturées par pirogue et engin,
etc. (cf: “TABLEAU STATS SUR CAPTURES PAR GROUPE D’ENGINS ET ESPECE” du listing
TABPPP LISTING -annexe VI) Le fichier 20 temporaire est ensuite relu et on vérifie pour
chaque pirogue si les données individuelles sont comprises entre la moyenne plus ou moins 4
écart-types. Si ce n’est pas le cas, une erreur (‘indicative’ seulement) sort sur l’unité 8.
Des exemples des sorties d’erreurs (ERR2PPP LISTING) et de tableaux (TABPPP
LISTING) sont donnés en annexe VI.
Tvne de contrôle:
- Vérifie si le nombre de pirogues échantillonnées par jour et par engin est inférieur au nombre
de pirogues sorties.
- L’effort journalier d’un engin doit être compris dans la moyenne mensuelle plus ou moins 2
écart-types.
- La prise d’une espèce dans une pirogue à engin x, la richesse spécifique (nombre d’unités
taxonomiques) de la pirogue avec l’engin x, et 1.e poids total de la pirogue avec l’engin x
doivent être compris dans l’intervalle moyenne plus ou moins 4 écart-types.

13
Ce type de contrôle statistique a permis de vérifier et corriger l’ensemble des fichiers de peche
artisanale et de détecter de nombreuses erreurs de codage ou de saisie, notamment sur les codes
engin et espèce et sur les efforts (erreur détectée suite à une inadéquation entre l’effort et
l’échantillonnage journalier).
A partir d’ici, et une fois que les fichiers sont corrigés, une bande magnétique est fabriquée sur
I’IBM 4331 et les données sont transférées sur SUN (machine "MAREME"). Pour la procédure
de chargement d’une bande, voir PABANDEx EXEC sur I’IBM et, pour la lecture sur
"MAREME", voir les procédures BANDEPx. Le transfert par fichier individuel s’effectue à
l’aide des procédures PCOX et DOS2UNIX. Attention, afin de rendre plus lisible le texte qui
suit, tous les noms de programmes et de fichiers utilisés sur le SUN sont indiqués avec des
lettres majuscules. Le système UNIX faisant la différence entre les majuscules et les
minuscules, il sera important de respecter la typographie exacte des noms au moment de leur
utilisation (en général ces noms sont écrits en minuscules). Les programmes qui suivent sont
exécutés sur le SUN. Tous les programmes sources sont présentés en annexe V, ainsi que leurs
fichier paramètres et “shell” d’exécution correspondants.
*~****L*~***~*~*****~*~~~***~~*~**~***~~~****~~**~~~**~*
2.2 Structuration des fichiers PA (lère partie)
L’organigramme de la structuration des fichiers PA est présenté à la figure 3. Il comprend deux
parties permettant (1) d’harmoniser la structure des fichiers des différentes années - programme
RESTRUC - et (2) de compiler les données à la quinzaine et extrapoler les échantillons aux
sorties effectives - programme PASUMCAP.
2.2-l- RESTRUC.F
Obiectif du nrogramme: Ce programme réalise une restructuration des données brutes, calcule
des valeurs par pirogue et sort trois fichiers de travail: a) efforts par jour et engin de pêche, b)
captures par sortie par pirogue et c) longueurs de poissons mesurés par sortie par pirogue. Ce
programme suppose que le fichier ne contient plus d’erreurs (fichiers passés au préalable dans
CONTROLl, COALF et CONTROL2). En sortie, on a un listing d’erreurs (qui doit être vide).
F&hiers d’entrée :
Unité 12- PA.PPPAA (où PPP est le port et AA l’année).
Unité 15 - ESPIR89.DPA, fichier relation taille-poids et poids
moyens par défaut.

14
Unité 26,27 et 28 - CODAXX.DAT (ou Xx=75,83 et 85), fichiers
codes espèces selon année.
Unité 17 - LISTE.COD, fichier noms espèces.
Unité 18 - ENGIN.DAT, fichier noms engins.
Unité 11 - PORT.COD, fichier noms ports.
Unité 5 - Cartes paramètres (incorporées au fichier
RESTRUC.PAR)
Carte 1: nombre maximal d’espèces. Voir commentaire
CONTROL2.
Carte 2: options niveau sorties: 0 (toujours)
Cartes 3 (12 cartes: une par mois): port, année, mois.
Fichiers de sortie:
Unité 6 - ERREURS.PPPAA: listing d’erreurs
Unité 22 - PPPAA.EFFJOUR, fichier contenant les efforts par engin
par jour.
Unité 23 - PPPAA.CAPTPIR, fichier contenant les captures par
pirogue.
Unité 24 - PPPAA.LONGPIR, fichier contenant les longueurs des
poissons mesurés par pirogue.
Fit hiers de travail:
Unités 13, 14 et 40.
Le programme consiste en un programme principal et trois sous-routines: JPASSO, JPASS2 et
JPASS30. En début de programme, la valeur actuelle du nombre maximal d’espèces est lue et
les nombres d’engins et de groupes d’engins sont initialisés. Ces valeurs devront être modifiées
en cas d’augmentation (l’augmentation du nombre d’espèces se fait uniquement en changeant
NBRESP; pour l’augmentation du nombre d’engins il faut changer NBRENG ET les
dirnensionsp. La carte paramètre 2 est lue ensuite - elle doit
toujours être codée à 0-.
On fait ensuite appel aux sous-routines:
a) Dans la routine JPASSO, on lit d’abord une carte paramètre 3 contenant le port, l’année et le
mois à traiter. Le programme s’arrêtera si l’un de ces codes ne correspond pas aux valeurs du
fichier de données PA brutes (PA.PPPAA). Les fichiers auxiliaires des relations taille-poids,
codes espèces, codes ports, noms espèces et noms engins sont lus ensuite. Le fichier des
données brutes est ensuite lu avec un format variable selon l’année de saisie, et l’information est
réorganisée afin d’obtenir:

- un enregistrement par jour avec les efforts par engin (a partir des cartes 0,20), sortie fichier
22.
- un enregistrement par pirogue avec captures et longueurs mesurées par espèce, sortie
fichier temporaire 14.
b) La routine JPASS2 calcule, à partir du fichier temporaire des captures par pirogue, un
tableau avec les poids moyens par espèce et groupe d’engins ainsi que le nombre de poissons
mesurés et comptés. Voir annexe II pour les groupes d’engins (groupe 1).
c) La routine JPASS30 calcule, à partir du fichier temporaire par pirogue, le poids et le nombre
de poissons de chaque espèce de la pirogue. Le calcul du poids se fait comme dans le
programme CONTROL2.
Deux fichiers sont créés: un fichier avec les captures en poids par pirogue (unité 23), et un
fichier avec les longueurs des poissons mesurés par pirogue (unité 24).
2.2.2 - Procédure SORTC
Cette procédure (‘shell’) réalise un tri des fichiers PPPAA.CAPTPIR par port, quinzaine,
année, engin et zone. En sortie, on obtient le fichier temporaire SORTC.TMP.
2.2.3 - Programme PASUMCAP.F
Objectif du nrogramme: Ce programme totalise les données d’efforts et de captures par
quinzaine et donne en sortie trois fichiers: a) fichier efforts par port, année, quinzaine et engin;
b) fichier captures par port, année, quinzaine et engin; c) fichier captures par port, année,
quinzaine, engin et zone de pêche.
mhiers d’entrée :
Unité 12 - Fichier PPPAA.EFFJOUR sortie de RESTRUC.
Unité 13 - Fichier SORTCTMP, sortie de SORTC.
Unité 17 - Fichier LISTE.COD, fichier codes espèces.
Fichiers de sortie:
Unité 14 - Fichier PPPAA.EQZ, efforts par quinzaine.
Unité 15 - Fichier PPPAA.CQZZONE, captures non extrapolées par
quinzaine, engin et zone.
Unité 16 - Fichier PPPAA.CQZEXT, captures extrapolées par
quinzaine et engin.

1 6
Après lecture du fichier codes especes (qui est utilisé pour faire la correspondance entre anciens
et nouveaux codes espèces), le programme fait une: lecture du fichier efforts par jour et cumule
en rnémoire les sorties par quinzaine et engin. Une sortie est réalisée dans le fichier effort par
quinzaine (un enregistrement par port, année et quinzaine avec tous les engins). Ensuite le
fichier captures par pirogue est lu. Les données sont cumulées par quinzaine, engin et zone et le
fichier unité 15 est enregistré. Les données de nombre de pirogues par quinzaine et engin
échantillonnées sont cumulées en mémoire et on calcule ensuite les facteurs d’extrapolation
nombre pirogues sorties/nombre pirogues échantillonnées par quinzaine et engin de pêche. Le
fichier par quinzaine non-extrapolé est ensuite relu, les données cumulées pour toutes zones
sont extrapolées selon les facteurs calculés auparavant. La sortie finale est un fichier avec Pes
captures par port, année, quinzaine et engin extrapolées au nombre total de sorties du port dans
la quinzaine. Ce fichier contient aussi pour chaque enregistrement le nombre de pirogues
échantillonnées et le nombre de pirogues sorties. L’enregistrement donne la liste des captures
jusqu’à concurrence de 250 espèces. La place de l’espèce (ou groupe d’espèces) dans
l’enregistrement correspond au code de l’unité taxonomique utilisé par le programme “Pêche
Artisanale” depuis 1989: ainsi la 40ième espèce correspond à l’unité de code 40 soit mugi1 spp
(nouveau code 2115). La 250ième nlace est réservée à l’espèce non déterminée soit le code PA
999 ou le nouveau code 1 a
2.3 Structuration des fichiers PPC
L’organigramme de la structuration des fichiers de PPC est illustré à la figure 4. Cette
structuration est basée sur deux programmes et deux procédures de tri.
2.3.1 - Programme PPCRESTR.F
Objectif du nrogramme: Ce programme, qui réalise une restructuration des données brutes
PPC, calcule des valeurs par pirogue et sort trois fichiers: a) efforts par jour et par engin de
pêche,b) captures par pirogue non extrapolées et c) fichier temporaire des captures (par pirogue)
extrapolées au nombre de sorties. Ce programme suppose que le fichier ne contient plus
d’erreurs.
Fichiers d’entrée :
Unité 12 - PPC.PPPAA (où PPP est le port et AA l’année).
Unité 15 - LISTE.COQ fichier codes espèces
Unité 5 - Carte paramètre: port à traiter

na
Fichiers de sortie:
Unité 6 - listing d’erreurs.
Unité 14 - PPPAAPPCEFFJOUR, fichier contenant les efforts par
engin par jour.
Unité 15 - PPPAAPPC.CAPTPIR, fichier contenant les captures par
pirogue (non extrapolées).
Unité 16 - PPCTMP, fichier temporaire contenant les captures
extrapolées au nombre de sorties.
Le programme initialise d’abord les valeurs maximales d’espèces et d’engins. Comme pour les
programmes PA, ces valeurs doivent être changées si nécessaire. Le fichier avec les
correspondances codes espèces PA-PPC et le port à traiter sont ensuite lus. Les données brutes
captures pirogues PPC sont ensuite traitées; le programme recode les données suivantes:
- engins: codes 80 et 81 en code 7 @ME); code 90 en code 6 (ST),
- espèces recodées avec ‘nouveaux codes’ à 4 digits,
- durée en dixième d’heures retranscrites en trentaine de minutes,
- la méteo sera celle de la dernière carte de la journée,
_ le poids des espèces est recodé en kg.
Les captures sont extrapolées au facteur de la journée et de la quinzaine.
En sortie on a:
- un fichier efforts par engin et jour (unité 14), mais attention, ce fichier est exwapolé a fortiori
et donc pas comparable avec les fichier PA correspondants.
- un fichier avec les captures en poids (kg) par pirogue (unité 15) sans extrapolation.
- un fichier temporaire avec les captures en poids (kg) par pirogue (unité 16) extrapolées au
nombre de sorties.
2.13.2 - Procédure PPCSORTC
Cette procédure (‘shell’) réalise un tri des fichiers PPC.TMP et PPPAAPPC.CAPTPIR par
port, quinzaine, année, engin et zone. En sortie, on obtient respectivement les fichiers
temporaires SORTP2.TMP et SORTPl.TMP.
2.3.3 - Programme PPCSUMCA.F
Objectif du programme: Ce programme totalise les données d’efforts et de captures par
quinzaine et donne en sortie trois fichiers: a) fichier efforts par port, année, quinzaine et engin;
b) fichier captures par port, année, quinzaine et engin; c) fichier captures par port, année,
quinzaine, engin et zone de pêche.

18
Fichiers d’entrée :
Unité 12 - Fichier PPPAAPPC.EFFJOUR sortie de PPCRESTR.
Unité 13 - Fichier SORTPl.TMP, sortie de PPCSORTC.
Unité 18 - Fichier SORTP2.TMP, sortie de PPCSORTC.
Unité 17 - Fichier LISTE.COD, fichier codes espèces,
Fichiers de sortie:
Unité 14 - Fichier PPPAAPPC.EQZ, efforts par quinzaine.
Unité 15 - Fichier PPPAAPPC.CQZZONE, captures sans extrapoler
par quinzaine, engin et zone.
Unité 16 - Fichier PPPAAPPC.CQZEXT, captures extrapolées par
quinzaine et engin,
Après lecture du fichier codes espèces (qui sera utilisé pour faire la correspondance entre codes
PPC et nouveaux codes espèces), le programme fait une lecture du fichier efforts par jour et
cumule en mémoire les sorties par quinzaine et engin. Une sortie (unité 14) est réalisée dans le
fichier efforts par quinzaine (un enregistrement par port, année et quinzaine avec tous les
engins). Ensuite le fichier captures par pirogue non extrapolées est lu et les données sont
cumulées par quinzaine, engin et zone et le fichier unité 15 est enregistré. Idem pour le fichier
captures par pirogue extrapolées, qui aura en sortie (unité 16) un enregistrement par port,
année, quinzaine et engin avec les captures extrapolées par espèce et effort (sorties et
échantillons). La structure de ces fichiers est identique à celle des fichiers PA.
2.4 Structuration des fichiers PA (2ième partie)
La deuxième partie de la structuration des fichiers PA, illustrée à la figure 5, comporte d’une
part le calcul d’un fichier régional à partir de l’ensemble des fichiers CQZEXT (PA-tPPC) et
d’autre part le calcul de captures substituées dans le cas de strate quinzaine comprenant des
efforts sans échantillon (dans le cas par exemple du congé de l’enquêteur). Cette deuxième
partie de la chaîne doit être exécutée après avoir restructuré les fichiers de l’ensemble des ports
de l’année et donc après avoir passé les programmes PASUMCAP et PPCSUMCA sur les
fichiers PA et PPC.
2.4.1 - Programme PASTREG.F
Obiectif du programme: Ce programme effectue le cumul des efforts et des captures par région
et pour l’ensemble du littoral échantillonné. On distingue 3 régions: (1) la Grande Côte (Saint-
Louis + Kayar), (2) le Cap-Vert (Yoff, Ouakam, Soumbédioune, Hann) et (3) la Petite Côte
(Mbour, Joal, Pointe Sarène). Ces fichiers par région seront utilisés par le programme

19
PASUBST pour effectuer des substitutions dans le cas de quinzaines avec absence
d’échantillons quand il sera impossible de le faire à partir des données du port (cf. chapitre
2.4.2).
Fichiers d’entrée :
Unité 12- TEMPC: Fichier concaténé des PPPAA es PPPAAPPC
CQZEXT de l’an AA, sorties de PASUMCAP.et PPCSUMCA.
Unité 14 - TEMPE: Fichier concaténé des PPPAA et
PPPAAPPC.EQZ de l’an AA, sorties de PASUMCAP et
PPCSUMCA.
Fichiers de sortie:
Unité 13 - Fichier captures cumulées: REGTOTAA.CQZEXT.
Unité 15 - Fichier efforts cumulés: REGTOTAA.EQZ.
Le programme est basé sur un principe de cumul par mois, saison et année a) des efforts et des
captures par engin de tous les ports d’une même région et b) de tous les ports échantillonnés du
littoral maritime. On distingue deux saisons: la saison froide de novembre à mai et la saison
chaude de juin à octobre. La structure du fichier en sortie est la même que celle des fichiers
issus de PASUMCAP, avec à la place de l’indicateur de port les valeurs 1 à 3 pour les régions
(Grande Côte, Cap Vert et Petite Côte) et 4 pour l’ensemble du littoral et à la place de la
quinzaine, un indicateur de mois (1 à 12), de saison (13: froide, 14: chaude) ou d’année (15).
2.4.2 - Programme PASUBST.F
Objectif du nrogramme: Ce programme effectue des substitutions de strates pour chaque
enregistrement (port/année/quinzaine/engin) où on trouve des sorties sans échantillon, et donne
en sortie un fichier extrapolé et substitué.
Fichiers d’entrée :
Unité 12- Fichier PPPAA.CQZEXT, sortie de PASUMCAP:
captures par port, quinzaine et engin.
Unité 14 - Fichier PPPAA.EQZ, sortie de PASUMCAP: efforts par
port, quinzaine et engin.
Unité 15 - Fichier REGTOTAA.CQZEXT, sortie de PASTRRT:
captures extrapolées cumulées.
Unité 16 - Fichier REGTOTAA.EQZ, sortie de PASTRRT: efforts
cumulés.
Unité 5- Fichier paramètres

20
Fichiers de sortie:
Unité 13 - Fichier PPPAA.CQZSUB, captures substituées et
extrapolées par quinzaine.
Le principe du programme est basé sur le schéma de substitutions illustré à la figure 6. Les
fichiers de captures extrapolées et d’efforts par quinzaine sont lus et cumulés en mémoire. On
cumule également dans un tableau les sorties et les échantillons par engin et quinzaine. Pour
chaque strate ayant des sorties sans échantillon on crée une strate à partir du schéma de
substitution: on cherche d’abord des données dans les quinzaines voisines. La substitution
consiste à multiplier le nombre de sorties de la quinzaine par la capture/nombre de sorties de la
qumzaine adjacente. S’il n’y a pas d’échantillons et donc de captures dans les quinzaines
adjacentes, on fait la substitution à partir de la capture de la région et du mois correspondants.
Si l’information est toujours absente, on utilise les captures saisonnières du port ou de la région
ou enfin les données annuelles, soit les captures totales du port ou de la région. En dernier
recours, on se reporte aux données disponibles sur l’ensemble du littoral soit pour tous les
ports, les captures mensuelles, saisonnières ou annuelles. Ce schéma de substitution
correspond au schéma général appliqué à tous les ports quelque soit l’engin de pêche. Le
programme traite différemment deux cas particuliers:
- l- si l’engin de pêche est égal à FDG (code 5), on substitue d’abord l’engin 5 par l’engin 19
(FDP).
-2- si le port est Joal (code 52) et l’engin FDE (code 21), on ne fait pas de substitution au
niveau régional ou global: en effet les FDE de Joal correspondent à des engins de faible capacité
de capture qui ne ressemblent pas aux autres FDE de la région.
Les strates ainsi complétées sont stockées sur le fichier 13. Une trace des strates substituées est
imprimée au terminal ou dans un fichier de sortie donné par l’utilisateur lors du lancement du
‘SI-JELL’: ce fichier de sortie est important à analyser pour le contrôle des
substitutions. Pour une meilleure lecture des substitutions effectuées, un programme SAS est
disponible indiquant globalement sur l’année la part des captures substituées en fonction des
différentes strates (PASUBST.SAS). Un exemple de la sortie SAS est donné en annexe VI.
Les fichiers PPPAAPPC.CQZEXT qui ne possèdent pas normalement de strates sans
échantillon sont cumulés aux fichiers PPPAA.CQZSUB du port correspondant afin de ne
former qu’un seul fichier contenant les captures extrapolées pour tous les engins de pêche. Les
captures spécifiques aux engins échantillonnés par le programme PA sont recopiées dans un
fichier nommé PPPAAPA.CQZSUB.
Pour les données de Fass Boye, seules les strates de filets dormants sont conservées dans les
fichiers FASAA.CQZSUB (manipulation manuelle à faire avec l’éditeur de fichier). En raison

21
du faible taux d’échantillonnage (une fois par quinze jours), les captures des autres engins de
pêche sont extrapolés à partir des données de Kayar. Les captures au filet dormant
échantillonnées à Fass Boye permettent d’estimer grossièrement les prises démersales de la
région alors qu’aucun filet dormant n’est observé à Kayar.
2.5 Extrapolation des ports échantillonnés à l’ensemble du littoral maritime
La figure 7 illustre la partie de la chaîne calculant les données définitives à partir des facteurs
d’extrapolation régionale à l’aide des programmes PACREDEF et PADEF.
2.5. l- Programme PACREDEF.F
Ob-iectif du nrogramme: Ce programme crée de nouveaux fichiers contenant des captures
générées suite a des données manquantes qu’il est impossible de substituer au cours de l’étape
précédente, ni d’extrapoler à partir des facteurs d’extrapolation régionale. C’est le cas par
exemple de pirogues observées au cours du recensement dans un port non échantillonné et
qu’on ne peut déduire des données échantillonnées (ex: pirogues glacières de Joal en 1981 ou
1982 -1er semestre- dont les captures ne peuvent être extrapolées en raison de l’absence de
pirogues glacières dans les échantillons de Mbour à la même époque. Pour générer ces
données, on utilise les échantillons des PGL de Joal de 1983).
Fichiers d’entrée :
Unité 12 - PPPAA.CQZSUB (où PPP est le port et AA l’année).
Unité 14 - FACTEUR.CRE: fichier indiquant le port à utiliser, le
port et l’année à générer et le facteur d’extrapolation.
Unité 15 - ENGIN.DAT: fichier groupes d’engins.
Unité 5 - Carte paramètre: année, port à traiter.
Fichiers de sortie:
Unité 13 - PPPAACRE.CQZDEF: fichier contenant les données
estimées du port X, portant le nom du port ayant servi à créer les
données.
Le programme lit dans le fichier FACTEUR.CRE l’année, le semestre, l’engin et le port de
référence, puis le port et l’année à générer pour le même engin et enfin le facteur d’extrapolation
à appliquer aux données du premier port. Les captures de ce dernier multipliées par le facteur
d’extrapolation pour chaque quinzaine permettent de substituer les captures du deuxième port.
Le fichier créé a la même structure que les fichiers CQZDEF, issus du programme
d’extrapolation régionale PADEF. Le facteur d’extrapolation correspond au rapport entre le
nombre de pirogues recensées pour l’engin donné dans l’année et le port de référence sur le

22
nombre de pirogues recensées pour le même engin dans le port et l’année où les captures sont à
générer.
2.5.2- Programme PADEFF
Objectif du programme: Les données des ports échantillonnés sont extrapolées à l’ensemble de
la région à partir des facteurs d’extrapolation régionale issus des données de recensement.
Fichiers d’entrée :
Unité 12 - PPPAACQZSUB (où PPP est le port et AA l’année).
Unité 14 - FACTEUR.EXTRA: fichier indiquant le facteur
d’extrapolation à utiliser par région, groupe d’engins, année et
semestre.
Unité 15 - ENGIN.DAT: fichier groupes d’engins.
Fichiers de sortie:
Unité 13 - PPPAA.CQZDEF: fichier contenant les données
extrapolées.
Les facteurs d’extrapolation sont issus de l’analyse des données de recensement (rapport entre
le nombre de pirogues par engin de pêche de la région/nombre de pirogues dans les ports
échantillonnés de la région), révisés par les utilisateurs (exemple: certains ports secondaires
sont comptabilisés dans les ports échantillonnés lorsque les pirogues viennent débarquer dans
ces ports -cas par exemple de Thiaroye avec la plage de Hann). Les fichiers CQZDEF, bien que
portant le nom des ports PPP, correspondent en fait aux captures réelles de ces norts auxouelles
a été raioutée une nronortion des cantures des ports secondaires. L’ensemble des captures de la
régïon s’obtient en sommant tous les fichiers CQZDEF des ports encluêtés de la région (y
compris les captures générées par le programme precédent des fichiers PPPAACRE.CQZDEF).
2.6 Calcul des statistiques annuelles
L’organigramme du calcul des statistiques annuelles est illustré à la figure 8. Il comprend deux
programmes et génère une sortie listing. Les données contenues dans les tableaux formatés du
listing (tableaux standards des archives du CRODT de statistiques annuelles) peuvent être
retrouvées dans les fichiers CQZDEF, donnant les données extrapolées au niveau régional.

23
2.6.1 - Programme PAREF.F
Objectif du ut-ogramme: Ce programme effectue une restructuration des données des fichiers
PPPAA.CQZSUB (fichiers incluant les fichiers PPC) et sort un fichier temporaire avec les
données de tous les ports. Ce fichier servira comme entrée au programme PATAB.
Fit hiers d’entrée :
Unité 12 - Fichiers PPPAA.CQZSUB, sorties de PASUBST.
Fichier de sortie:
Unité 13 - Fichier temporaire PAREF.TMP: captures substituées et
extrapolées par quinzaine, avec une ligne par espèce.
Le programme effectue seulement une mise en forme des données pour le programme PATAB,
qui sera exécuté ensuite.
2.6.2 - Programme PATAB.F
Objectif du programme: Ce programme calcule des tableaux de statistiques annuelles à partir du
fichier des captures extrapolées et substituées et d’un fichier de facteurs d’extrapolation
régionale par semestre et groupe d’engins. Ces facteurs d’extrapolation permettent de prendre
en considération les ports secondaires non échantillonnés.
Fichiers d’entrée :
Unité 12 - PAREF.TMP, fichier captures, sortie de PAREF.
Unité 15 - ENGIN.LEY, fichier noms engins.
Unité 16 - ESPEC.LEY, fichier noms especes.
Unité 17 - PORT.LEY, fichier noms ports.
Unité 18 - REGIO.LEY, fichier noms regions.
Unité 19 - MOIS.LEY, fichier noms mois.
Unité 20 - LISTE.COD, fichier codes 4 digits espèces.
Unité 21 - FACAA.EXTRA, fichier des facteurs d’extrapolation de
l’année AA.
Unité 5 - Carte paramètre: année à traiter.
Fichier de sortie: Unité 6 - PATAB.LIS, listing tableaux.
Le programme lit d’abord l’année à traiter et ensuite les fichiers auxiliaires de légendes et codes
espèces. Les données des captures sont lues ensuite et extrapolées et cumulées dans les
tableaux. Voir annexe VI pour un exemple de sortie.

24
2.7 Programmes SAS pour l’analyse des données
Les données de toute la pêche piroguière maritime sont donc structurées en une base constituée
de fichiers thématiques individualisés par port et par année. Quelques exemples de programmes
SAS (logiciel statistique implanté sur SUN) développés pour l’analyse de ces fichiers sont
donnés à l’annexe VII. Le but de ces programmes est de présenter le principe de lecture des
différents fichiers de données et d’illustrer quelques exemples de compilation des données.
Nom du progrumme
Type de fichier d’entrée
But du programme
EFFJOUR.SAS
PPPAA.EFFJOUR
nombre de sorties/qz/engin
fréquence jours fériés et météo
statistiques sur sorties et enquêtes/port
EFFQZSAS
PPPAA.EQZ
cumul de tous les fichiers d’un port
nombre de sorties/an/engin
graphiques efforts/quinzaine
CAPTPIR.SAS
PPPAA.CAPTPIR
prises moyenne,min et max d’une espèce
calcul de rendements moyens/pirogue
stockage des résultats en fichier asci
Compilation sur profondeurs et lieux
CQZSUB.SAS
PPPAA.CQZSUB
Analyse par port
Capture totale annuelle/an/port/engin
Captures/espèces présenteslan/port/engin
Captures/espèces > 5% de capture totale
Tableaux avec noms des espèces
CQZDEFl .SAS
PPPAA.CQZDEF
statistiques extrapolées / région
captures totales annuelles/engin/région
captures pour qq espèces /engin/mois
stockage des résultats sur fichier asci
CQZDEF2.SAS
PPPAA.CQZDEF
tableaux avec noms des espèces
tableaux par groupe d’espèces et type
(pélagique, démersale, autre)
Ces programmes sont disponibles dans le répertoire /PECHART/PROGSAS.
Afin d’illustrer l’impact des procédures de substitution (passage des fichiers CQZEXT à
CQZSUB) et d’extrapolation (passage des fichiers CQZSUB à CQZDEF), un tableau
récapitulatif est donné à l’annexe VIII présentant le total des captures par port et par année. Ce
tableau, obtenu à partir d’un programme SAS appliqué à l’ensemble des fichiers CQZEXT,
CQZSUB et CQZDEF, permet de dresser un rapide bilan sur l’état des données contenues dans
la base “Pêche Artisanale” en novembre 1993.

25
CONCLUSION
En guise de conclusion, nous donnerons un résumé de la chaîne informatique de PA, un
descriptif de la base de données et du mode d’emploi pour la mise en opération de la chaîne.
Outre les programmes de validation et de structuration des données en fichiers homogènes, la
chaîne de traitement informatique PA est basée sur le principe suivant:
l- Extrapolation des enquêtes dans chaque strate port*quinzaine*engin: l’extrapolation des
captures échantillonnées est effectuée à partir du facteur d’extrapolation obtenu par le rapport
nombre sorties totales/nombre sorties échantillonnées. La capture totale de la quinzaine est
donc égale au rendement moyen observé sur la quinzaine multiplié par le nombre total de
sorties de la quinzaine. Pour les ST et FME de Joal et Mbour, l’extrapolation se passe à deux
niveaux: au niveau journalier par le rapport du nombre de sorties du jour considéré sur le
nombre de sorties échantillonnées et au niveau de la quinzaine pour extrapoler les jours sans
enquête (nombre total de sorties de la période sur le nombre de sorties des jours enquêtés).
2 - Substitution pour les absences d’information: les quinzaines sans échantillon de prises (mais
avec efforts) sont remplacées par des captures substituées selon le principe suivant :
- utilisation de la PUE moyenne d’une des quinzaines adjacentes du port concerné,
sinon
- utilisation de la PUE mensuelle moyenne de la région,
sinon
- utilisation de la PUE moyenne de la saison du port concerné ou de la région,
sinon
- utilisation de la PUE moyenne annuelle du port ou de la région concernée,
sinon
- utilisation de la PUE moyenne mensuelle, saisonnière ou annuelle de tous les ports
3 - Extrapolation des ports enquêtes à l’ensemble des ports de la région à partir des facteurs
d’extrapolation calculés d’après les données de recensement .
La base de données PA constitue pour l’instant un ensemble de fichiers séquentiels structurés et
harmonisés qui se présentent en plusieurs “sous-bases”, stockées sur le SUN “M~ EME”:
- PAFICH:
fichiers bruts PA.PPPAA et PPC.PPP.AA
- EFFJOUR:
fichiers des efforts journaliers
- EQZ:
fichiers des efforts cumulés à la quinzaine
- CAPTPIR:
fichiers des captures à la pirogue
- LONGPIR:
fichiers des tailles à la pirogue
- CQZZONE:
fichiers de captures échantillonnées réparties par zone de pêche a la qz.
- CQZEXT:
fichiers de captures extrapolées au port cumulées à la quinzaine
- CQZSUB:
fichiers de captures extrapolées avec substitutions de strate, à la qz
1 - CQZDEF:
fichiers de captures extrapolées au niveau régional à la qz.

26
L’ensemble des programmes et fichiers de données sont placés chez l’utilisateur PECHART/PA
dans cinq répertoires: les programmes sources sont contenus dans SRC, les fichiers de données
nécessaires à la mise en oeuvre de la chaîne dans PARAM (important: vérifier sue ces fichiers
sont non comDressés), les fichiers bruts dans PAFICH, les sous-répertoires des fichiers
générés par la chaîne dans BASEPA et les programmes exécutables nécessaires à l’exécution de
la chaîne dans BIN. La structure du répertoire PECHART est illustrée à la figure 9.
Deux autres documents concernant les données de la pêche artisanale présentent une chaîne de
traitement développée pour la structuration des fichiers LONGPIR en distributions de
fréquences de tailles (Fontenau V.“, 1993) et une base de données regroupant l’ensemble des
données de recensement du parc piroguier effectués depuis 1982 (Ferraris J.**, 1993).
Mise en oeuvre de la chaîne de traitement:
Pour faciliter les traitements sur “MAREME”, plusieurs procédures ‘shell’ disponibles dans le
répertoire /PECHART/PA/BIN ont été écrites :
1.) PAT - ce shell effectue un passage des programmes RESTRUC, SORTC et
PASUMCAP. Plusieurs ‘PAT’ peuvent être exécutés ensemble: exemple PAT.92. Si on
donne un fichier en sortie, les écritures en unité 6 seront réalisées dans ce fichier.
2) PATPPC - ce shell effectue un passage des programmes PPCRESTR, SORTPPC et
PPCSUMCA. Plusieurs ‘PATPPC’ sont exécutés en, par exemple, PATPPC.92.
3) PATREG - ce shell effectue un passage du programme PASTREG générant le fichier
global régional de l’année AA.
4) PATSUBST - ce shell effectue un passage du programme PASUBST. Plusieurs
‘PATSUB’ sont exécutés en, par exemple, PATSUBST.92.
5) PATCREDEF et PATDEF - ces shells exécute les programmes pour le passage des
progamme PACREDEF et PADEF transformant les fichiers CQZSUB en CQZDEF.
6) LANCEPAREF - ce shell exécute d’une part le programme PAREF compilant tous les
fichiers d’une année en vue de la publication des statistiques et d’autre part le programme
PATAB générant des tableaux formatés des statistiques annuelles.
La mise en opération de la chaîne informatique structurant la base de données est résumée dans
le protocole donné ci-après. Les fichiers sources (programmes et fichiers de données brutes) ne
peuvent être modifiés que par la personne responsable de la gestion des SUN; les fichiers créés
sont stockés dans le répertoire “BASEPA” et ne peuvent être modifiés que par l’utilisateur
PECHART. Tous les fichiers de données et d’exécutables sont accessibles à l’ensemble des
utilisateurs du SUN.
--
* FONTENEAU V., 1993. Chaîne de traitement des fréquences de tailles de la pêche artisanale. Archive CRODT
** FERRARE J.. 1993. Structuration et analyse des données de recensement du parc piroguier de 1982 à 199 1.
Note interne, Programme Pêche Artisanale, CRODT.

27
PROTOCOLE DE LA CHAINE DE TRAITEMENT “PECHE ARTISANALE”
Validation des données (IBM 4331)
l - Modifier le nom des fichiers et les cartes paramètres dans CONTROLl
EXEC
2- Soumettre le programme CONTROLI FORTRAN (faire CONTROLZ centrée>)
:3- Corriger les erreurs données dans ERRlPPP LISTING
4- Modifier nom du fichier PA PPPAA dans COALF EXEC
5- Soumettre le programme COALF FORTRAN (Faire COALF <entrée>)
6- Corriger les erreurs données dans COALFPPP LISTING
7- Modifier les noms des fichiers et les cartes paramètres dans CONTROL2 EXEC
8- Soumettre le programme CONTROL2 FORTRAN (faire
CONTROL2 <entrée>)
9- Corriger les erreurs données dans ERR2PPP LISTING
lO- Repasser le programme CONTROL2 FORTRAN (faire CONTROL2 <entrée>)
l l- Imprimer les tableaux synthèse de TABPPP LISTING
12- Analyser le contenu scientifique des tableaux mensuels et si corrections eventuelles revenir au point 10.
Transfert des données de I’IBM sur le SUN
13- Transférer les fichiers PA PPPAA de l’IBM sur le SUN par les commandes PCOX et DOS2 UNIX
Structuration des données (SUN)
-Important de respecter les minuscules en tapant les noms des fichiers-
14- Restructurer les fichiers bruts PA avec le “shell” pat: taper pat ppp xx aa > sortie.pat (ppp=abreviation du port;
xx=N’ du port. ; aa=année, ex: pat k.ay 3 1 91). Pour faire passer plusieurs fichiers, les pat peuvent être en “shell”, voir par
exemple pat.92. Vérifier le fichier des erreurs. Lire le fichier de sortie.
15 Restructurer les fichiers bruts PPC avec le “shell” patppc: taper patppc ppp xx aa > sortie.patppc (ppp: abréviation
du port: xx: no du port: aa: année: ex: patppc mbo 51 91) ou patppc.aa pour passer plusieurs fichiers annuels. Lire le
fichier de sortie.
16 Une fois tous les fichiers de l’année structurés, appliquer le programme de substitution aux fichiers CQZEXT pour les
quinzaines avec effort et sans échantillon: taper patreg aa pour créer le fichier régional puis patsubst ppp aa >
sortie.subst
(ppp: abréviation du port, aa: année) ou patsubst.aa pour passer tous les ports de l’année.
17- Analyser dans le fichier sortie les substitutions proposées: cette analyse permet de détecter certaines erreurs ayant échappé
au contrôle automalique. Soumettre éventuellement le programme pasubst.sas dans PECHART/PROGSAS.
lg- Analyser les données de recensement et créer les fichiers d’extrapolation: facteur.cre, facteur.extra, facaa.extra. Si
nkcessaire ne conserver que les FD dans fassaa.cqzsub du répertoire /PA/BASEPA/CQZSUB (codes 5. 19 à 23).
1% Extrapoler les fichiers CQZSUB des ports échantillonnés à l’ensemble de la région, Taper patcredef xx ppp aa (si
nkessaire) et patdef ppp aa > sortie.def (xx: N” du port, ppp: abréviation du porl. aa: année) ou patdef.aa. Lire la
sortie.
Calcul des statistiques annuelles (SUN)
20- Modifier le fichier pare$par: les fichiers soumis au calcul des statistiques annuelles sont fonctions du calcul des facteurs
d’extrapolation régionale.
2l- Editer les statistiques annuelles en tapant lanceparef aa cparefpar
22- Ajouter les numéros de tableaux et les statistiques de la DOPM dans le fichier
patab.lisaa, enlever les tableaux non
nPcessGw

29
LISTE DES FIGURES
l- Description générale de la chaîne de traitement PA
31
2- Validation des données
32
3- Structuration de la base de données PA: Extrapolation des données
33
échantillonnées
4- Structuration des fichiers de données PPC: Extrapolation des données
34
échantillonnées
5- Structuration de la base de données PA: Substitution des strates sans
35
échantillon35
6- Schéma général de substitution du programme PASUBST.F
36
7- Structuration de la base de données PA et PPC: Extrapolation aux
37
captures totales du littoral maritime37
S- Calcul des statistiques annuelles
38
9- Schéma de la structure de la “base de données” PA sur le SUN.
39

31
CORRECTION
,O1
VALIDATION
1 RESTRUCTURATION
1
FICHIERS
FICHIERS
\\
04
INTERROGATION
DE LA BASE DE DONNÉES
FIGURE 1: Description générale de la chaîne de traitement PA

32
1-1
C A R T 2 0 . F 1
1
1
I
1
1
CARTE1.F
]
r
CARTE1 .F
CARTE2.F
ERR2PPP
TABPPP
LISTING
LISTING
0 Fichier de données
t
P r o g r a m m e
Listing
FIGURE 2: Validation des données PA

PPPAA.
PPPAA.
EFFJOUK
CAPTPIR
LONGPIR
\\
9
PASORTC
PPPAA.
PPPAA.
PPPAA.
EQZ
CQIZONE
CQZEXT
0 Fichier de données
1-J
P r o g r a m m e
Procédure de tri
L-l Listing
FIGURE 3: Structuration de la base de données PA
Extrapolation des données échantillonnées

PPCRESTR.F
f?
S O R T P 2 .
0 Fichier de données
Programme
Procédure de tri
FIGURE 4: Structuration des fichiers de données PPC
Extrapolation des données échantillonnées

35
REGTOTAA.
REiGTOTAA
CQZEXT
.EQZ
PPPAA.
PPPAA.
CQZEXT
.-w PASUBST.F
4
Cartes
Paramètres
Si PPP=Mbo ou Joa
PPPAA.
‘-fiij U
CQZSUB
.
PPPAAPA.
0 Fichier de données
Programme
I
Procédure de tri ou de cumul
FIGURE 5: Structuration de la base de données PA (suite)
Substitution des strates sans échantillon pour données PA
et cumul des données PPC

1 QZ=Qz+l-
NON I
NON t
1 NON
pour toutes régions dans
OUI
REGTOTAA.CQZEXT
l
A
NON f
NON
OUI
pour toutes régions dans
-
FIGURE 6: Schéma général de substitution du programme PASUl3ST.F

37
FACTEUR
cartes
.b
PACREDEF.F
Paramètres
PADEF.F
0
PPPAA.
PPPAACRE
.CQZDEF
CQZDEF
FIGURE 7: Structuration de la base de données PA et PPC
Extrapolation aux captures totales du littoral maritime

38
r --- --
I PAREF.F I
paramètres
0 Fichier de données
t
I
Programme
Listing
FIGURE 8: Calcul des statistiques annuelles

39
-

I
pppaa.cqzsub
- . pppaa.cqzdef
- I pppaa.cqzext
- . pppaa.cqzzone
- . pppaa.captpil
- pppaa.effjour
-
pppaa.eqz
- = pppaa.longpil
- ex: restruc
I ex: liste.cod
-
-
-
ex: pa.pppaa
-
ex: ppc.pppaa
Y
src
k-------
ex: restruct.f.
--M-D-------
ex: cqzdefl.sas
\\
n
I
1
recfich
- - - - - - - -
ex:recaa.dat
FIGURE 9: Schéma de la structure de l’utilisateur “PECHART” du SUN “MAREME”
contenant la base de données PA

41
LISTE DES ANNEXES
1: Bordereau de pêche artisanale
43
II: Système de codification en pêche artisanale
a- Structure du fichier PA PPPAA
4 4
b- Codes “Lieu de mise à terre”
46
c- Codes “‘Type de pêche”
46
d- Liste et codes ‘“Lieux de pêche”
47
III: Codes des espèces de pêche artisanale
a- Liste classée par odre numérique
5 7
b- Liste classée par odre alphabétique
60
b- Correspondance entre codes à partir de la liste classée par ordre taxonomique
6 3
IV: Formats de lecturekcriture des fichiers de données
- con-es code
68
- codaaa data, codaaa.dat
69
- engin data, engin.dat
70
- espec.ley
71
- espîr89 data, espîr89.dpa
72
- facaa.extra
74
- facteur.cre
75
- facteur.extra
76
- lîste.cod
7 7
- mensu891 data
78
- mois.ley
80
- pa pppm ppppaa
81
- portcod
8 2
- port.ley
8 2
I ppcmwa
8 3
- pppaacaptpir, pppaappc.captpir
8 4
- pppaa.cqzext, pppaappc.cqzext, regtotaa.cqzext
8 5
- pppaa.cqzsub
8 5
- pppaa.cqzdef, pppaacre.cqzdef
85
- pppaa.cqzzone, pppaappccqzzone
SS
- pppaa.effjour, pppaappc.effjour
86
- pppaa.eqz, pppaappc.eqz, regtotaa.eqz
86
- pppaa.longpir
8 7
- regio.ley
8 8
V: Listing des programmes sources
- CONTROLI FORTRAN
8 9
- COALF FORTRAN
104
- CONTROL2 FORTRAN
108
- decomp (shell)
123
- pat (shell)
124
- restrucpar + restruc.f
126
- pasumcap.paa + pasumcap.f
137
- patppc (shell)
140
- ppcrestr.par + ppcrestf
142
- ppcsumca.par + ppcsumca.f
14s
- patreg (shell)
148
- pastreg.par + pastreg.f
150
- patsubst (shell)
152

42
- pasubst.par +pasubst.f
154
- pasubst.sas
158
- patcredef (shell)
160
- pacredef.par + pacredef.f
161
- patdef (shell)
163
- padef.par + padef.f
164
- lanceparef (shell)
166
- paref.par + paref.f
168
- patab.par + patab.f
169
VI: Listing des sorties
- errlpp listing
176
- errlpp listing
177
- tabpp listing
178
- pasubst.lst
181
- patab.list
182
VII: Programmes SAS d’analyse de données
- effjoursas
187
- captpirsas
190
- effqz.sas
193
- cqzsub.sas
197
- cqzdef 1. sas
201
- cqzdef2.sas
204
WI: Comparaison des fichiers CQZEXT, CQZSUB et CQZDEF
208

ANNEXE 1: Bordereau de Pêche Artisanale
PAliE:.. . . . . . . . _ j.I . . . . . . .
Q U E T E U R : . .
. . . . . . . .
.........
CTEU R: . . . . .
. . . . . * . . . .
........
NTRE- . . . . . . .
. . . . . . . . . . .
.........
jJ?
Port d’origine:
Type de Péche:
T E : .._.. _ _... ........
Ibr. Pêch:
Position :
P r o f o n d e u r :
I
Iépa rt :
Retour:
Tps de Route:
E S P E C E S
INOMBREI Pol DS
I
I
1
J 0
Port d’origine:
Type de Pêche:
lb. Pêch:
Position :
Profondeur:
101
151
201
ROI
X!l

?&SE : .................
2J-i
Nq#ETEIït : .................
I
fcTE@#: ...................
Port d ’ o r i g i n e :
ENTIIE: ......................
l
.JP= u- recne:
Nbr. Pêch:
Position :
OATE: _.____............... . . . .
Déca rt :
P r o f o n d e u r :
P an
suit
l 1
I I
Il
III
I
Nb. Pêch:

44
ANNEXE 1I.a
STRUCTURE DU FICHIER PA PPPAA
PPP: Port, AA: Année (PA KAY90)
No des colonnes
Variable
CARTE TITRE JOUR CO
1
Code 0 titre jour
2-3
Lieu de mise à terre
4-5
Année
6-7
Mois
8-9
Jour
10
Jour de fête oui = 1 non = 0
II
Météo 0 = bon 1 = mauvais temps
12-14
Nombre de sorties Pirogues Moteur Ligne
15-16
Nombre de sorties Pirogues Voile Ligne
17-19
Nombre de sorties Filet dormant général
20-22
Nombre de sorties Pirogue ligne glacière
23-24
Nombre de sorties Senne tournante
25-26
Nombre de sorties Filet maillant encerclant
27-28
Nombre de sorties Senne de plage
29-30
Nombre de sorties Ligne Rhinobatos
31-33
Nombre de sorties Ligne casier seiche
34-36
Nombre de sorties Ligne trame
37-38
Nombre de sorties Palangre
39-40
Nombre de sorties Epervier
41-42
Nombre de sorties Raya = Palissade : Barrage
43-44
Nombre de sorties Filet maillant dérivant de surface à Etmalose
4546
Nombre de sorties Filet maillant dérivant de surface à Mulet
47-48
Nombre de sorties Filet maillant dérivant de fond ou Yolal
49-50
Nombre de sorties Filet maillant dérivant de fond à Trachinote
51-52
Nombre de sorties Filet dormant à poisson
53-54
Nombre de sorties Filet dormant à Sole
55-56
Nombre de sorties Filet dormant a Ethmalose el sardinelle
57-58
Nombre de sorties Filet dormant à Langouste
59-60
Nombre de sorties Filet dormant à Yett
61-62
Nombre de sorties Pêche sous marine
63-64
Nombre de pirogues enquêtées.

45
CARTE TITRE PIROGUE C 1
1
Code 1
2-3
Lieu de mise à terre (voir port)
4-5
Année
6-7
Mois
8-9
Jour
10-l 1
Numéro de pirogue
12-13
Type de pêche (voir code correspondant)
14
Nombre de pêcheurs:
l-2-3-4-5-6 : nombre effectif de pêcheurs:
7: de 7 à 20 pêcheurs;
8: plus de 20 pêcheurs .
15-16
Heures de retour en 1/2 heure
17-18
Temps de pêche en 1/2 heure
19-20
Lieu dit de pêche (voir code correspondant)
21
Profondeur :
1 : 0 à 10 mètres soit 0 à 6 brasses
2 : 10 à 25 mètres soit 6 à 14 brasses
3 : 25 à 50 mètres soit 14 à 28 brasses
4 : 50 à 75 mètres soit 28 à 42 brasses
5 : 75 à 120 mètres soit 42 à 67 brasses
6 : 120 à 180 mètres soit 67 à 100 brasses
7 : 180 à 250 mètres soit 100 à 140 brasses
8 : 250 à 500 mètres soit 140 à 250 brasses
9 : > à 500 mètres soit > à 250 brasses
22-25
Prix de vente de la prise
26-27
Nombre de cartes suites (carte C2): le nombre de cartes suites correspond au nombre
d’espèces recensées dans la pirogue.
CARTES SUITES c2
1
Code de la carte 2
2-4
Code espèce (voir liste en annexe 3)
5
T =l en nombre d’individus ;
T=2 en kilogrammes:
T= 3 en quintaux
6-8
Quantité échantillonnée exprimée en unité T.
9-44
Fréquences de longueur (1213)

46
ANNEXE I1.b
CODES LIEU DE MISE A TERRE
SECTEUR
LIEU DE MISE A TBRRE
1. Fleuve
1.1. Saint-Louis
2. Louga
3. Thiès Nord
3.1. Kayar
3.2. Mboro
3.3. Fass Boye
4.1. Yoff
4.2. Ouakam
4. Cap-Vert
4.3. Soumbédioune
4.4. Hann
4.5. Rufisque
5.1. Mbour
5. Thies
5.2. Joal
5.3. Pointe Sarène
6. Saloum
7.1. Kafountine
7.2. Ziguinchor 1-Sefca
7. Casamance
7.3. Ziguinchor 2-Boudodi
7.4. Goudomp
7.5. Simbandi Brassou
ANNEXE 11x
CODES TYPE DE PECHE
C O D E
GROUPES
NOM D’ENGIN
1
Il
1.
1
1
PVL:
Pirogue ligne voile
7L.
2
2
PML:
Pirogue ligne moteur (cl2 cv)
3
3
2
PML:
Pirogue ligne moteur (> 12 cv)
4
4
3
PGL:
Pirogue ligne glacière
5
3
4
FDG:
Filet dormant général
6
5
5
S T :
Senne tournante
7
6
6
FMB:
Filet maillant encerclant
8
7
7
SP:
Senne de plage
9
2
8
LR:
Ligne rhinobatos
10
2
9
LCS:
Ligne casier seiche
11
2
2
L T :
Ligne traîne
12
2
8
PAL:
Palangre
1 3
8
12
EP:
Epervier
14
8
12
KAY:
Kaya = Barrage = Palissade
15
3
10
FMDSE:
Filet maillant dérivant de surface à Ethmalose
16
3
10
FMDSM:
Filet maillant dérivant de surface à Mulet
17
3
10
FMDF:
Filet maillant dérivant de fond (Yolal)
18
3
10
FMDFT:
Filet maillant derivant de fond à Trachinote
19
3
4
FDP:
Filet dormant à poisson
20
3
4
FDS :
Filet dormant à sole
21
3
4
FDE:
Filet dormant à Ethmalose (+sardinelle)
2 2
3
4
FDL:
Filet dormant à Langouste
2 3
3
11
FDY:
Filet dormant à Yett
2 4
8
12
PS:
Pêche sous marine

ANNEXE 1l.d
LISTE ET CODES DES LIEUX DE PECHE
CODE
LIEUX DITS DE SAINT-LOUIS
1
Marième Sirou, Rône
2
Beul Assane
3
Sdrpely
4
Toundoudalia
5
Takalé
60
7
Thiolet
8
Keur Gaspard
9
Ndiago
10
Le Graïm
11
Boyo (Ngor)
12
Nguedjgua
13
Toundou Keur Zass (Here Abdoulaye GUEYE)
14
Sal-sa1
15
Gohe Badj (Here Magaye)
16
Here Fatou NDIAYB
17
Diatara, Kellou Diatara
18
Paraïa
19
Here Hopital
20
Here Mouit (Gal Demel, Gabard, Mboubaye, Mouit)
22
Here Ourey (Keur Oumar Baye, Bar, Bar,Saliguir, Doun,
Travaux, Hydrobase, P. maritimes, cimetières)
23
Bop Here Ourey
24
Embouchure Sénégal. Phase gandiole
2s
Tank, kellou Tank
26
Kherou Ma Mory
27
Kelle, Large Saint-Louis
28
Boleu
29
Beulba
30
Diakhardie, Diokhoudjii
31
Deurbi
32
Gueti (Nieti) Coco
33
Gouye
34
Khotba
35
Kellou gop
36
Gap
37
Karema
38
Khadj Bad
39
Keur Samba
40
Keur Mbarik
41
Filao ya
42
Garrau khankh
43
Bintebi
44
LAO
4s
Keur Ablaye sow
46
Fatawane
5047
Soufou Diatara
48
Kherwa
49
Boutourdy
SI
Kelleur kheur
52
Deurou ndaw
53
Ker kou bess
54
Kerou Madabo
99
Indéterminé

48
CODE
LIEUX DITS DE KAYAR
Nord de la fosse
Fass Boye
2
Mboro
3
Keur Thierno Malick
4
Keur Barka (K. Thiathie)- Nguedjga
5
Niari Raya-Boyeba
6
Dienawaï
7
Bemup
8
Keur ya Awa
9
Keur Malatyr - Khère Marne Bounama - khère Yawal
10
Diemdiock
II
Toundekhorom
12
Anguelterre
13
Pass Gop
14
Rhyboté
15
Keurouss
16
Gop, Bountebi
17
Khotebi
18
Mame B. Oumar
19
Ker Yawai
Sud de la fosse
20
Pass Tank
21
Filap
22
Seukebi, Keur Peulh
23
Kelle, large
24
Lalba, kawlalbi
2s
Yoff
26
Cambérène
27
Dialbou ya
28
Monsatir
29
Yaram, Nekh
36
Tank
37
Assemblée
40
Tabdji Bount bi
99
Inconnu : ne figurant pas sur la lisle
CODE
LIEU DITS DE MBORO
Nord
Fass Boy
2
Sagga
3
Keur Dior
4
Go1 Gaindé
5
G~PP
Sud
7
Khondio
8
Nguedjgui
9
Keyr Thierno Malick
10
Tivaouane II
11
Keur Barka
12
Kelle
13
Khot ba
14
Mboro gou Mag

49
CODE
LIEU DITS DE FASS BOYE
N O R D 1
Khérou Altal
2
Place Mamour
3
Khérou Katala DIOP
SUD
5
Kher Samba Goumba
6
Khérou Digue
7
Khérou Sangory
8
Khérou Astou Kholé
9
Khérou Fatoun Mbaye
10
Msmo
11
Tank
1 2
Kelle
13
Khot ba
14
Tiwaouane ou Riganté (la nouvelle Roche)
CODE
LIEU DITS DE YOFF
CENTRE 1
Ripe
2
Wakhalldé
3
Sangueya
4
Bargott-Thimbe
5
Laali
6
Teonguene
7
Tipe
8
Wanack-Ganaw Wanack
9
Khondemi-Roukhebi île
10
Nioulyi-Nioulou Khass-Nioulou Marne- NioulounModou
1 1
Tefesse-Pass, Diamalaye gadioume
12
Kelle - large indéterminée
NORD 14
Keufeul-Pologne
15
Niaga-Yaram Nekh
16
Kherou Ndiangue
1 7
Khonteba
18
Mali&-Amy Diobe
19
Filao-Sansfil
2 0
Camvérène
21
Parefe
2 2
Diakhor
2 3
Khondir-khonder
2 4
Kherou Matar Guèye
25
Khérou Mbaye Mbor
2 6
Monastyr
2 7
Guedjaway
2 8
Kendema
2 9
Kherou Ndar
3 0
Kherou lbrahima
31
NdilE
32
Thioury-Thiouriba
33
Thimbane
34
Thiongana
3s
Decka
3 6
Koussoum
37
Gop-Nord indéterminé - Kelle Gop
SUD 39
Tianket t
40
Kherou Baye Yoro
41
Ndiouta virage
4 2
Ngognonba
4 3
Sikaré - Khotbi-kelle Sikaré
44
Tank - sud indéterminé
45
Almadieq
46
Lampe Ngor, Ngor

50
CODE
LIEUX DITS DE OUAKAM
Centre
1
Terroubi
3&
Yewrewbi
3
Ndogale
4
Kherow Arona Faye - Takhète
5
Yassowba-Yassowba
- Keur Thiagadji
6
Dereubow Mandowmba-Kelle
NO&
7
Kherow Gopp - Passow Gopp
8
Echelle-bi
9
Pharow Ngor - Lampow Ngor
10
Champ de tir
11
Tefessow bir - khérow Maïssa
12
Kherow Balla
1 3
Kherow Bow Mack bopp kherrow, Kelle khetwi
14
Tegal Sassap
15
Tegwil Sassap
16
Ile de Ngor
17
Yarouba
18
Dimanche
19
Diewne Gwene
20
Dar Dare
21.
Keufeul
2 2
Pakh-kelle Pakh
23
Kongoli
2 4
Almadies
2s
Sibanor
2 6
Gouye Gowbeune
2 7
Ngonva
28
Kerow Mbor
2 9
Albadar
Swd
3 0
Rewpe
31
Rack rack
3 2
Kakalam
33
Université
34
IFAN
3s
Iles des Serpents
3 6
Tank-Pass Tank-Kellou Tank
9 9
Indéterminé

51
CODE
LIEUX DITS DE SOUMBEDIOUNE
Centre
1
L’île: Kelle Ile, Bouée du drapeau, Tekentélé-
Rouss, Tefesse
2
Khère Bayole, Soumbédioune Banebi
Na-d
3
Oune, Kelle Oune, Kawaloune
4
Albadar, Kelle Albadar
s
Almadies
6
Mboumma
7
ouakam
8
IFAN, Kakalou
9
Gop, Pass Gop, Khonaké, Kellou Gop
10
Berebou BAye Ndiémé
1 1
Ngor, Lampou Ngor
12
Tata Dimor
1 3
Serou Ilimane
14
Thiafa
1s
Roukhebi (Musée dynamique)
16
Takalé
17
Niouli Ousmane
18
Kelle, Reup, Nord
19
Nord indéterminé
Sud
2 0
L’Arc
21
Barabis
2 2
Brésil-Béréjine
23
Peref
2 4
MatZlyêpe
2s
Beugnebi, Beugne, Cap Manuel, Ligne Magou t
Beugne-Kelle , Beugne, Lampa Rouge
2 6
Gorée, Kelle Gorée, Khère Diop
2 7
Keur dhe
2 8
Mboukhi
2 9
Ngalam
30
Feutouber
31
Boghé, Bohé
33
Ndayane
3 3
Gouille Tanimbott
3 4
Tank, Pass Tank, Kellou Tank
3s
Ndjimbona
3 6
bye
37
Thiouriba
3 8
Seukeni (Anse Bernard)
3 9
Ndiangué
40
Congo
41
Ndangé-e
42
Bord indéterminé
4 3
Ngadjé
4 4
Kesoune
45
Rufisque

52
CODE
LIEU DITS DE HANN
Centre
1
Soldarsi-Tefesse
2
Nateaux yi
3
Pass-bi bancbi
4
Marinas - Dankoume
s
Mbande yi
6
Soufou hydrobase
7
Hydrobase
8
Kelle - Draguebi
Ncad
9
Boukhou hydrobase
to
Mobebi Bop Molbi
11
Ganaw molebi
12
Tourne - arrête
13
Takalé
14
Ndhd
15
Russie
16
Ahnand
17
Khère bou mack
18
Gare-lx
19
Bel-Air
20
Port Bounton port
21
Go& Kelle Gorée
22
Anse-Bernard-Kotou
23
Kherou ndar
24
Thiouriba
25
Beugne Cap Manuel
- Lamperouge
26
Nord indéterminée = Kelle - Gopp - Pass gopp
Sud
27
Boyebi
28
Lampou Yarakh
29
Sotiba Ndari
30
Tefesse Thiaroye Kelle Thiaroye Warf-Thiaroye
31
Lampou Thiaroye Lampe verte
32
Raffinerie - SIES
33
Tefessou Mbao - Khery Mbao
34
Boyou Mbao - Khery Mbao Kelle Mbao
3s
Lampou Mbao
36
Cap des Biches - Thiothie
37
Tefessou Rufisque
38
Kellou Rufisque
39
Tefessou Bargny
40
Kellou Bargny
41
Sud indéterminée - Tank, kellou-tank
99
Inconnu

LIEUX DITS DE RUFISQUE
1. Centre
N
II. o r d
1 Tefess
4 8 Borom Ndar
2 Kelle
49 Bandami
3 Khervi
5 0 Oubi-Caserne
4 Bouée
51 Peref
5 Kassaw-khautou kassaw
52 Khourma
6 Deddiakhou
5 3 Gopp-kellou gop
7 Kherou baye Ablaye Mbengue
54 Nord indéterminé
8 Mbeureumbathie
9 Kherou Andm
II.&!!d
III. $l&!
10 Thiothie Cap des biches
55. Sococim-khautou- sococim
11 Mbao Kelle Mbao
56 Khautou Bargny Kelle
Bargny
12 MBatal
57 Bakhaligne
13 KherounMbor
58 Ndongop
14 Taly Yaboy
59 Motif
15 Kherou Baye Mod Samb
60 Kherou Ahmet Sène
Raffinerie
61 Keynguel Gou Ndaw
16 Kher bou Mack
62 Keunguel Gou Mag
17 Cimetière Bateaux-yi
63 Keregnegui
18 Thiaroye
64 Kherou Baye
19 Thiokhemeu
65 Kherou CECE
20 Keuriguebi
66 Kherou Kembe
2 1 Keunguette
67 Kherou Baye Mar
22 Sorawi
68 Kherou Alioune Samb
23 Dadjmi
69 Kherou Ndiankou
24 Mbeudemi
70 Kherou Le Bave
25 MBambama
71 Kherou Dialaw
26 Kherou Baye Gorgui Guèye
72 Dahomey
27 Kherou Baye Med Nar
73 Ndiakhoume
28 Yakhoum NDieugue
74 Keumeu
29 Nourouba
75 Doche
30 Kherou Mod Diouf
76 Y enne
3 1 Kherou Sérere
77 Kherou Baye Dame1
32 Sapema sérou
78 Toubab Dialaw
33 Diakle
79 Tank-kellou tank
34 Kherou Babou
80 Sud indéterminé
35 Kherou Moussa Siki
36 Kherou Biro
IV. PG
37 Kongreya - Gorée
81 Khaikine
38 Thiouriba-Bou Mag
82 Guetto Nianing
39 Thiouriba Bou Ndaw
8 3 Guetto Mbandemi
40 Matayeupe - Bengne
8 4 Allemagne
41 Selimba - sans fil
8 5 Bissagos (pitagoss - G.Bissau)
42 Gare-ba
8 6 Kafountine
43 Ndari
87 Bandjul
44 Boye sete
8 8 Casamance
45 Dioulikaye-ba
8 9 Kellou Joal
46 Thiop-ma
90 Kellou Tank-tank
47 Rothie Khangya

54
CODE
LIEU DITS DE MBOUR
CENTRE 1 Tefesse
2 Warf
3 Centre touristique, Gadegua
4 Wassanama (Bouée Wassanama)
5 Pass-Passbi
6 Bouée noire
7 Kelle
8 Guetto digue
9 Konkemy
NORD 10 Ecole Normale (Golf)
11 Kherounkaw
12 Guebleguy
13 Gopp-Kelle Gopp
14 saly
15 Takale
16 Kaikine
17 Ngaparou
18 Gorgui
19 Somone
20 Mbeunema
21 Dialba
22 Ngamboubouroukh-Gambouroukh
23 Guéréo
24 Yenne
S U D 25 ORSTOM-Filao
26 Mballing-Mballène warane
27 Tripano
28 Guene gorgui
29 Kherou Ndiawar
30 Canal-Club
3 1 Tank-kellou Tank
32 Bouée 50
33 Allemagne-kelle
Bouée 50
34 Rothie Guy ya
35 Guetto Nianing
36 Pointe sarène
37 Mbodiène
38 Ngazobil
39 Joal
99 Indéterminé

55
CODE
LIEU DITS DE JOAL
CENTRE 1
Kelle, Kelle Joal
NORD 2
Joal
3
Ngazohil
4
Pointe Sarène
5
Nianing
6
Bouée 50
7
Gopp, Kelle Gopp
8
Kelle Gopp (Guetto digue)
SUD 9
Diakhanor
10
Palmarin
11
Palmarin Sam-Sam
12
Palmarin Ngalou
13
Palmarin Fanfanda
14
Djifere
15
Sangomar
16
Maral Sangomar
17
Betenti
18
Bakao
19
Banc rouge
20
Tank, kelle tank
21
Banjul
22
Kafountine
99
Indéterminé

56
LIEUX DITS DE CASAMANCE
Secteur 1 :
Secteur 7 :
1 Gundiour (Gambie)
44 Ziguinchor
2 Abene
45 Boudodi-abattoirs
3 Diana
46 Poudrière
4 Indéterminé
47 Kandé
Secteur 2
48 Face SEFCA
5 Kafountine
49 Pont Emile Badiane
6 Kafountine forage ELF
50 Tobor Mangrove
7 Tank
52 Boutomol
8 Saloulou
5 1 Marigot de Tobor
9 Diogué 53 Djiguinoum
10 Embouchure “fleuve” CasamanCe
54 Djilakoum
11 Katoum 55 Koubalan
12 Indéterminé
56 Niaguis
Secteur 3
57 Fanda
13 Diembering
58 Bolong coquillage
14 Boukott 59 Agnack
15 Cap
60 Indéterminé
16 Indéterminé
Secteur 8
61 Mangacounda
Secteur : 4
17 Elinkine
62 Kaour
18 Kagnout
63 Goudomp
19 Marigot de Diouloulou
64 Boumouda
20 Indéterminé
65 Tambacounda
Secteur : 5
66 Diagnon
21 Pointe St Georges
67 Medina aïdara
22 Banc de Elana
68 Bali
23 Pointe Elanamadour
69 Sindina
24 Bandial
70 Same
25 Bouteme
71 Birkama
26 Mlomp
72 Djibanar
27 Bodé
73 Djiredji
28 Kadjinol Bolon
74 Kounayan
29 Essyl
75 Dakabantang
30 Djiromait
76 Indéterminé
3 1 Kandseul kamoubul
Secteur : 9
32 Batinier
77 Bambali
33 Brin
78 Hamdellaï
34 Iles aux oiseaux
79 Niafor Douma
35 1 ère Bouée - 4ème Bouée
80 Kouniara Douma
36 Kolobane
81 Bouno
37 Indéterminé
82 Binako
Secteur 6
83 Simbandur-Brassou
38 Afiniam
84 Tambanaba
39 Djilapao
85 Malandiankounda
40 Kabolang
86 Sédhiou
41 2ème Bolong (Marigot de Bignona
87 Sandinieri
42 Tendouck
88 Ile du diable
43 Indéterminé
89 Malforo
90 Tambam
9 1 Kounayan
92 Indéterminé

57
ANNEXE II1.a: Liste des espèces de pêche artisanale classée par ordre numérique
Code PA Genre ou famille
Espèce
Nom Wolof
Nom I;rai@s
1
ETHMALOSA
DORSALIS
COBO
ETHMALOSE
2
SARDINELLA
AURITA
YABOI MEUREUG
SARDINELLE RONDE
2,
SARDINELLA
MADERENSIS
YABOI TASS
SARDINELLE PLATE
4
ILISHA
AFRICANA
---
ALOSE RASOIR
5
SARDINA
PILCHARDUS
---
SARDINE
6
CLUPEIDAE
DIVERS
---
---
7
ENGRAULIS
GUINEENSIS
YOSS NOUKOUM
ANCHOIS DE GUINEE
8
ERYTHROCLES
MONOD1
---
POISSON RUBIS
9
GERRES
MELANOPTERUS
KHOUR KHOUR
FRITURE
10
GERRES
OCTATIS
KHOUR KHOUR
FRITURE RAYEE
11
BRANCH.
SEMIFASCIATUS
TEUL TEUL
TILE ZEBRE
12
SMARIS
MELANURUS
---
PICAREL
13
LAGOCEPHALUS
LAEVIGATUS
BOUN FOKI
POISSON GLOBE
14
TETRAODONTIDAE
DIVERS
---
---
15
EPHIPPION
GUTTIFER
BOUN FOKI
TETRODON TACHETE
16
EPHIPPUS
LIPPE1
---
17
DREPANE
AFRICANA
TAPANDAR
DREPANE
lb
EPHIPPIDAE
DIVERS
---
---
19
ARIUS
GAMBIENSIS
KONG
MACHOIRON
20
ARIUS
HEUDELOTII
KONG
MACHOIRCN
21
ARIUS
MERCATORIS
KONG
MACHOIRON
22
ARIIDAE
DIVERS
KONG
MACHOIRON
23
CYNOPONTICUS
FEROX
DIEYE
CONGRE
24
MURAENIDAE
SIIK
MURENE
25
ABLENNES
HIANS
SOUNDOU SOUNDOU
ORPHIE PLATE
26
STRONGYLURA
SENENEGALENSIS
NGUEULEUDEU
AIGUILLETTE
21
BELONIDAE
DIVERS
---
---
28
PSEUDUP
PRAYENSIS
NGOR SIKIM
ROUGET
29
SPHYRAENA
SPHYRAENA
KHEDE
BROCHET DE MER
30
SPHYRAENA
DUBIA
KHEDE
BROCHET DE MER
31
SPHYRAENA
PISCATORUM
KHEDE
BARRACUDA
32
SPHYRAENA
BARRACCUDA
KHEDE
BARRACUDA
33
SPHYRAENIDAE
DIVERS
KHEDE
---
34
HEMIRAMPHUS
BRASILIENSIS
SOUN SOUN
DEMI-BEC
35
HEMIRAMPHIDAE
DIVERS
---
---
36
MUGIL
CEPHALUS
ROUME = DEME
MULET-CABOT
37
LIZA
FALCIPINNIS
THIAR MBEKH
MULET A GDE NAG.
38
LIZA
GRANDISQUAMIS
KHIR , SAOUR
MULET ECAILLEUX
39
MUGILIDAE
DIVERS
GUISS
MULET
40
MUGIL
SPP
GUISS
MULET
41
GALEOIDES
DECADACTYLUS
THIEKEM
PLEXIGLASS
42
PENTANEMUS
QUINQUARIUS
NDIANE
CAPITAINE ROYALE
43
POLYDACTYLUS
QUADRIFILIS
NDIANE
GROS CAPITAINE
44
ZEUS
FABER
DIAMOU NDOR
SAINT-PIERRE
45
ZEIDAE
DIVERS
---
---
46
CORYPHAENA
HIPPURUS
KAKATAR
CORYPHENE
4?
DICENTRARCHUS
PUNCTATUS
SILINKEU
BAR TACHETE
48
MYCTEROPERCA
RUBRA
YATANTE
BADEC'HE
49
EPINEPHELUS
AENEUS
THIOF
MERCU BLANC
50
EPINEE'HELUS
GIGAS = GUAZA
KAUTHIEU
MEROU DE MEDIT.
51
EPINEPHELUS
GORENSIS
DOY
MEROU DE GOREE
52
EPINEPHELUS
CANINUS
ROUR
MEROU GRIS
53
EPINEPHELUS
FASCIATUS
SANDARIKA
MEROU RAYE
54
SERRANUS
CABRILLA
SOPA NGANE
SERRAN CHEVRETTE
55
SERRANUS
SCRIBA
---
SERRAN ECRITURE
56
CEPHAL,OPHOLIS
TAENIOPS
KELLE
MEROU ROUGE
57
PETROMETOPON
NIGRI
KELLE
MEROU
PTS ROUGE
58
MAMMIFERES
MARINS
---
---
59
SERRANIDAE
DIVERS
---
---
60
LUTJANUS
FULGENS
MAME SIMERE
CARPE ROUGE
61
LUTJANUS
AGENNES
DIABAR
CARPE ROUGE
62
LUTJANUS
GOREENSIS
NDIAGATOUN
LUTtJAN DE GOREE
63
LUTJANUS
DENTATUS
WARALE
CARPE ROUGE
64
APSILUS
FUSCUS
MBEUREGANE
VIVANEAU FOURCHE

58
65
LUTJANIDAE
DIVERS
---
66
POMADASYS
INCISUS
DAKHA
CROC(.)
67
POMADASYS
JUBELINI
SOMPAT
CARPE BLANCHE
68
POMADASYS
ROGER1
YEKEM
CARPE BLANCHE
69
POMADASYS
PEROTETI
COROGNE
PRISTIPOME ORD.
70
BRACHYDEUT.
AURITUS
FAIOUR
PELON
71
PLECTORH.
MEDITERRANEUS
BANDA
DORADE GRISE
72
PLECTORH.
MACROLEPIS
WASSAMPER
73
PARAPRIST.
OCTOLINEATUM
MBEULBEUTE
PRISTIPOME DORE
74
POMADASYIDAE
DIVERS
---
7 5)
UMBRINA
CANARIENSIS
NIAW NEKH
OMBRINE
76
IJMBRIPJA
STEINDACHNERI
---
77
SCIAENA
UMBRA
KUYE
CORBEAU
78
PSEUDOTOLITH.
TYPUS
TOUNOUN
OTOLITHE NAIN
79
PSEUD.
BRACHYGNATHUS
NGOUKEU
OTOLITHE EPAIS
80
PSEUD.
SENEGALENSIS
FEUTE
OTOLITHE DU SEN.
81
PSEUD.
ELONGATUS
---
---
82
PTEROSCION
PELI
BARALE
FRITURE
83
ARGYROSOMUS
REGIUS
BEUR
COURBINE
84
MIRACORVINA
ANGOLENSIS
85
SCIAENIDAE
DIVERS
---
86
DECAPTERUS
RHONCHUS
DIA1
CHINCHARD JAUNE
87
CARANX
SENEGALLUS
SAFAR
CARAtJGUE DU SEN.
88
CARANX
CRYSOS
CAFANG
CARANGUE
89
CARANX
CARANGUS =HIP
SAAKA
GRANDE CARANGUE
90
LICHIh
AMIA
YEURBELE
LICHE AMIE
91
CAMPOGRAMMA
GLAYCOS(L VADj
TATHIEU
LICHE VADIGO
92
TRACHINOTUS
OVATUS(L GLAU)
KHANE
LICHE GLAUQUE
93
SERIOLA
SPP
THIE
SERIOLE
94
SCYRIS
ALEXANDRINUS
YAWAL
SCYRIS D,ALEXANDRE
95
CHLOROSC.
CHRYSURUS
LAGNA LAGNA
PLAT PLAT
96
ELAGATIS
BIPINNULATUS
---
COUREUR ARC-EN-CIE
97
SELENE
DORSALIS
FANTA
MUSSOLINI
98
SELAR
CRUMENOPHTALMUS
DIA1
CHINCH
GROS YEUX
99
TRACHINOTUS
GOREENSIS
NDOUMBOUTAKH
TRACHI DE GOREE
100
TRACHINOTUS
MAXILLOSUS
TERAI
GRANDE TRACHINOTE
101
TRACHURUS
TRECAE
DIA1 BOU GNOUL
CHINCHARD NOIR
102
TRACHURUS
SP
DIA1 BOU GNOUL
CHINCHARD NOIR
103
HUITRES
YOKHOSS
HUITRE
104
CARANGIDAE
DIVERS
---
---
105
POMATOMUS
SALTATOR
NGOT
TASSERGAL
106
PRIACANTHUS
ARENATUS
---
BEAU CLAIR
107
PSETTODES
BELCHERI
---
TURBOT
108
RACHYCENTRON
CANADUM
TODIE
MAFOU ( ELACATE )
109
LETHRINUS
ATLANTICUS
SIMPOT
CARPE LETHRINE
110
BROTULA
BARBATA
LEER
BROTULE
111
BODIANUS
IAGONENSIS
TIATHIE
VIEILLE DU SEN.
112
ALBULA
VULPES
NGUIGNANE
ALBUL,E
113
ACANTHURUS
MONROVIAE
DOCTOROU GUEDJ
CHIRURGIEN
114
BOOPS
BOOPS
UEKH UEKH
BOGUE
115
DENTEX
GIBBOSUS
DIAREGNE
DENTE BASSA
116
DENTEX
MACROPHTALMUS
MBAGNE MBAGNERE
DENTE
GROS YEUX
117
DENTEX
SPP
---
113
DENTEX
CANARIENSIS
BASSE
DENTE
TACHE ROUGE
ll,?
DIPLODUS
SARGUS
NGATE
SAR COMMUN
129
DIPLODUS
WLGARIS
NGATE
SAR DORE
121
DIPLODUS
SENEGALENSIS
NGATE
SAR DU SENEGAL
122
DIPLODUS
CERVINUS
NGATE
SAR
123
LITHOGNATHUS
MORMYRUS
RINGEU
MARBRE
124
CANTHARUS
CANTHARUS
TJERSOUN
GRISET
125
PAGELLUS
BELLOTTII
YOUFOUF
PAGEOT
126
SARPA
SALPA
---
SAUPE
127
SPARUS
AURIGA
YEUNEU
PAGRE RAYE
128
SPARUS
PAGRUS
KHAYA
PAGRE DES TROPIQUE
129
SPARUS
CAERULEOSTICTUS
WARAGNE
PAGRE
PTS BLEU
13 0
SPARIDAE
DIVERS
---
---
13l
SCOMBER
JAPONICUS
OU0
MAQTJEREAU ESP.
13 2
ORCYNOPSIS
UNICOLOR
SIPPON
PALOMETTE

59
133
SCOMBEiROMORUS
TRITOR
NDIOUNEU
MAQUEREAU BONITE
134
ACANTHOCYBIUM
SOLANDRI
---
THAZARD BATARD
135
EUTHUNNUS
ALLETTERATUS
OUALASS
THONINE
136
SARDA
SARDA
OUAL
BONITE
DOS RAYE
137
KATSUWONUS
PELAMIS
LISTA0
138
THUNNUS
OBESUS
CjUAKHANDOR
THON OBESE
139
AUXIS
THAZARD
---
MELVA
140
THUNN'CJS
ALBACARES
ALBACORE
141
SCOMBEROMORIDAE
---
142
TRICHIURUS
LEPTURUS
TALLAR
CEINTURE
143
MERLUCCIUS
SENEGALENSIS
MERLU DU SENEGAL
144
MERLUCCIDAE
DIVERS
---
145
STROMATEUS
FIATOLA
KHASSAW
DEMCISELLE
146
PALINURICHT.
PRINGLEI
KHASSAW
---
147
BALISTES
CAROLINENSIS
NDOR
BALISTE
148
BALISTES
FORCIPATUS
NDOR
BALISTE
149
EXOCOETIDAE
DIVERS
NAWANE
EXOCET
15 0
CEPHALACANTH.
VOLITANS
GUINAROU GUEDJ
POULE DE MER
151
TRIGLA
SPP
NAWANE
GRONDIN
152
SYNAPTURA
SPP
TAPALE
SOLE DE ROCHE
153
SCYACIUM
MICRURUM
---
FAUSSE LIMANDE
154
CYNOGLOSSUS
SPP
TAPALE
SOLE LANGUE
155
T;CORPAENA
SPP
RASCASSE
RASCASSE
156
ELOPS
SENEGALENSIS
LOUL
ELOPS DU SENEGAL
157
FISTULARIA
TABACCARIA
MBEUMBANE
POISSON TROMPETTE
158
CARCHARHINUS
SPP
GAINDE GUEDJ
REQUIN DE NUIT
159
SPHYRNA
SPP
DIANGUE
REQUIN MARTEAU
16 0
SPHYRNIDAE
DIVERS
DIANGUE
REQUIN MARTEAU
161
MUSTELUS
MUSTELUS
MANE
EMISSOLE LISSE
162
TRIAKIDAE
DIVERS
---
163
RHYNCOBATUS
LUBBERTI
THIAUKER
RAIE GUITARE
164
RHIZOPRIONOD.
ACUTUS
---
REQ
MUSEAU PTU
165
RHINOBATOS
RHINOBATOS
YANNEU
RAIE GUITARE
166
CARCHARHINIDAE
DIVERS
---
---
167
TORPEDO
SPP
NDOUGNE SOKHOR
TORPILLE
168
CENTROPHORIJS
SPP
MBIRIM LAYE
SQUALE-CHAGRIN
169
DHSYATIS
MARGARITA
RAYANTAN
PASTENAGUE
170
TAENIURA
GRABATA
--_.
171
SQUALIDAE
SQUALE
172
RAJA
MIRALETUS
LALAN
RAIE MIROIR
173
RAJIDAE
DIVERS
---
---
174
PTEROMYLAEUS
BOVINUS
AIGLE VACHETTE
175
MOBULA
MOBULAR
NDIAOUTE MBEDJENE
MANTE
176
GYMNURA
ALTAVELA
RAIE PAPILLON
177
MANTA
BIROSTRIS
MANTE ATLANTIQUE
178
ISTIOPHORUS
PLATYPTARUS
NAWANE
VOILIER
179
MAKAIRA
NIGRICANS
MAKAIRE BLEU
180
XIPHIAS
GLADIUS
ESPADON
lt?l
SEPIA
OFFICINALIS
YEUREUDEU
SEICHE
182
LOLIGO
VULGARIS
CALAMAR
CALMAR
183
OCTOPUS
WLGARIS
YARANKA
POULPE
184
CEPHALOPODES
DIVERS
---
185
PALINURUS
DIVERS
SOUM
LANGOUSTE
186
PEANEUS
NOTIALIS
SIPAKH
CREVETTE
le?
CREVETTE
PROFONDE
SIPAKH
CREVETTE
188
CYMBIUM
SPP
YETT
VOLUTE
189
MUREX
SPP
TOUFA
ROCHER
190
PUGILINA
MORIO
TOUFA
MELONGENE NOIR
191
COQUILLAGES
DIVERS
----
192
CRABE
KOTI
CRABE
193
CIGALE
CIGALE
194
SAROTH
MELANOTHERON
---
195
TILAPIA
GUINEENSIS
---
196
CICHLIDAE
DIVERS
---
197
COQUES
---
COQUES
198
PLEUROTREMES
DIVERS
---
---
199
HYPOTREMES
DIVERS
---
--_.
999
ESPECE NON DET.
MARINE
---

60
ANNEXE 1Il.b: Liste des espèces de pêche artisanale classée par ordre alphabétique
Code PA Genre ou famille
Espdce
Nom Woloj”
Nom Frunpis
25
ABLENNES
HIANS
SOUNDOU SOUNDOU
ORPHIE PLATE
113
ACANTHURUS
MONROVIAE
DOCTOROU GUEDJ
CHIRURGIEN
134
ACANTHOCYBIUM
SOLANDRI
---
THAZARD BATARD
112
ALBULA
WLPES
NGUIGNANE
ALBJJLE
64
APSILIJS
FUSCUS
MBEUREGANE
VIVANEAU FOURCHE
2 0
ARIUS
HEUDELOTII
KONG
MACHOIRON
19
ARIUS
GAMBIENSIS
KONG
MACHOIRON
83
ARGYROSOMUS
REGIUS
BEUR
COIJRBINE
22
ARIIDAE
DIVERS
KONG
MACHOIRON
21
ARIUS
MERCATORIS
KONG
MACHOIRON
139
AUXIS
THAZARD
---
MELVA
147
BALISTES
CAROLINENSIS
NDOR
BALISTE
148
BALISTES
FORCIPATUS
NDOR
BALISTE
27
BELONIDAE
DIVERS
---
---
112
BODIANUS
IAGONENSIS
TIATHIE
VIEILLE DU SEN.
114
BOOPS
BOOPS
UEKH UEKH
BOGUE
110
BROTULA
BARBATA
LEER
BROTULE
11
BRANCH.
SEMIFASCIATUS
TEUL TEUL
TILE ZEBRE
70
BRACHYDEUT.
AURITUS
FAIOUR
PELON
9 I
CAMPOGRAMMA
GLAYCOS(L VAD)
TATHIEU
LIC‘HE VADIGO
89
CARANX
CARANGUS =HIP
SAAKA
GRANDE CARANGUE
88
CARANX
CRYSOS
CAFANG
CARANGUE
158
CARCHARHINUS
SPP
GAINDE GUEDJ
REQUIN DE NUIT
87
CARANX
SENEGALLUS
SAFAR
CARANGUE DU SEN.
IL04
CARANGIDAE
DIVERS
---
---
:L2 4
CANTHARUS
CANTHARUS
UERSOUN
GRISET
166
CARCHARHINIDAE
DIVERS
---
-- _.
IL@4
LEPHALOPODES
DIVERS
---
56
CEPHALOPHOLIS
TAENIOPS
KELLE
MEROU ROUGE
168
CENTROPHORUS
SPP
MBIRIM LAYE
SQUALE-CHAGRIN
150
CEPHALACANTH.
VOLITANS
GUINAROU GUEDJ
POULE DE MER
95
CHLOROSC.
CHRYSURUS
LAGNA LAGNA
PL#AT PLAT
193
CIGALE
---
CIGALE
196
'CICHLIDAE
DIVERS
---
---
6
CLUPEIDAE
DIVERS
---
-- __
:19 I.
COQUILLAGES
DIVERS
---
----
197
COQUES
---
COQUES
46
CORYPHAENA
HIPPURUS
KAKATAR
CORYPHENE
192
CRABE
KOTI
CRABE
ILE 7
CREVETTE
PROFONDE
SIPAKH
CREVETTE
23
CYNOPONTICUÇ b
FEROX
DIEYE
CONGRE
154
CYNOGLOSSUS
SPP
TAPALE
SOLE LANGUE
188
CYMBIUM
SPP
YETT
VOLUTE
169
DASYATIS
MARGARITA
RAYANTAN
PASTENAGUE
116
DENTE:~
MACROPHTALMUS
MBAGNE MBAGNERE
DENTE
GROS YEUX
115
DENTE:~
GIBBOSUS
DIAREGNE
DENTE BASSA
118
DENTE:~
CANARIENSIS
BASSE
DENTE
TACHE ROUGE
8G
DECAPTERUS
RHONCHUS
DIA1
CHIINCHARD JAUNE
ll?
DENTEX
SPP
---
---
47
DICENTRARCHUS
PUNCTATUS
SILINKEU
BAR TACHETE
121
DIPLODUS
SENEGALENSIS
NGATE
SAR DU SENEGAL
119
DIPLODUS
SARGUS
NGATE
SAR COMMUN
120
DIPLODUS
WLGARIS
NGATE
SAR DORE
122
DIPLODUS
CERVINUS
NGATE
SAF:
17
DREPANE
AFRICANA
TAPANDAR
DREPANE
96
ELAGATIS
BIPINNULATUS
---
CCUREUR ARC-EN-CIE
156
ELOPS
SENEGALENSIS
LOUL
ELOPS DU SENEGAL
7
ENGRAULIS
GUINEENSIS
YOSS NOUKOUM
ANCHOIS DE GUINEE
50
EPINEPHELUS
GIGAS = GUAZA
KAUTHIEU
MEROU DE MEDIT.
49
EPINEPHELUS
AENEUS
THIOF
MEROU BLANC
52
EPINEPHELUS
CANINUS
ROUR
MEROU GRIS
18
EPHIPPIDAE
DIVERS
---
---
51
EPINEPHELUS
GORENSIS
DOY
MEROU DE GOREE
16
EPHIPPUS
LIPPE1
--.-

6 1
15
EPHIPPION
GUTTIFER
BOUN FOKI
TETRODON TACHETE
53
EPINEPHELUS
FASCIATUS
SANDARIKA
MEROU RAYE
8
ERYTHROCLES
MONOD1
---
POISSON RUBIS
999
ESPECE NON DET. MARINE
---
---
1
ETHMALOSA
DORSALIS
COBO
ETHMALOSE
135
EUTHUNNUS
ALLETTERATUS
OUALASS
THCNINE
149
EXOCOETIDAE
DIVERS
NAWANE
EXCCET
157
FISTULARIA
TABACCARIA
MBEUMBANE
POI!<SON TROMPETTE
41
GALEOZDES
DECADACTYLUS
THIEKEM
PLEXIGLASS
10
GERRES
OCTATIS
KHOUR KHOUR
FRITURE RAYEE
9
GERRES
MELANOPTERUS
KHOUR KHOUR
FRITURE
176
GYMNURA
ALTAVELA
---
RAIE PAPILLON
34
HEMIRAMPHUS
BRASILIENSIS
SOUN SOUN
DEMI-BEC
3 5
HEMIRAMPHIDAE
DIVERS
---
---
103
HUITRES
YOKHOSS
HUITRE
199
HYPOTREMES
DIVERS
---
---
4
ILISHA
AFRICANA
---
ALOSE RASOIR
3.7 a
ISTIOPHORUS
PLATYPTARUS
NAWANE
VOILIER
137
KATSUWONUS
PELAMIS
---
LISTAC
13
LAGOCEPHALUS
LAEVIGATUS
BOUN FOKI
POISSON GLOBE
109
LETHRINUS
ATLANTICUS
SIMPOT
CARPE LETHRINE
38
LIZA
GRANDISQUAMIS
KHIR , SAOUR
MULET ECAILLEUX
123
LITHOGNATHUS
MORMYRUS
RINGEU
MARBRE
37
LIZA
FALCIPINNIS
THIAR MBEKH
MULET A GDE NAG.
9c
LICHIA
AMIA
YEURBELE
LIC‘HE AMIE
182
LOLIGO
VULGARIS
CALAMAR
CALMAR
62
LUTJANUS
GOREENSIS
NDIAGATOUN
LUTJAN DE GOREE
63
LUTJANUS
DENTATUS
WARALE
CARPE ROUGE
61
LUTJANUS
AGENNES
DIABAR
CARPE ROUGE
65
LUTJANIDAE
DIVERS
---
---
6C
LUTJANUS
FULGENS
MAME SIMERE
CARPE ROUGE
177
MANTA
BIROSTRIS
---
MANTE ATLANTIQUE
58
MAMMIFERES
MARINS
---
---
179
MAKAIRA
NIGRICANS
---
MAKAIRE BLEU
143
MERLUCCIUS
SENEGALENSIS
---
MERLU DU SENEGAL
144
MERLUCCIDAE
DIVERS
---
---
84
MIRACORVINA
ANGOLENSIS
---
---
Ii.75
MOBULA
MOBULAR
NDIAOUTE MBEDJENE
MANTE
36
MUGIL
CEPHALUS
ROUME = DEME
MULET-CABOT
24
MURAENIDAE
SIIK
MURENE
161
MUSTELUS
MUSTELUS
MANE
EMISSOLE LISSE
189
MUREX
SPP
TOUFA
ROCHER
39
MUGILIDAE
DIVERS
GUISS
MULET
40
MUGIL
SPP
GUISS
MULET
48
MYCTEROPERCA
RUBRA
YATANTE
BADECHE
183
OCTOPIJS
VTJLGARIS
YARANKA
POULPE
132
ORCYNOPSIS
UNICOLOR
SIPPON
PALOMETTE
185
PALINURUS
DIVERS
SOUM
LANGOUSTE
125
PAGELLUS
BELLOTTII
YOUFOUF
PAGEOT
146
PALINURICHT.
PRINGLEI
KHASSAW
---
73
PARAPRIST.
OCTOLINEATUM
MBEULBEUTE
PRISTIPOME DORE
5'7
PETROMETOPON
NIGRI
KELLE
MEROU
PTS ROUGE
42
PENTANEMUS
QUINQUARIUS
NDIANE
CAPITAINE ROYALE
186
PEANEUS
NOTIALIS
SIPAKH
CREVETTE
198
PLEUROTREMES
DIVERS
---
---
7 .2
PLECTORH.
MACROLEPIS
WASSAMPER
71
PLECTORH.
MEDITERRANEUS
BANDA
DORADE GRISE
43
POLYDACTYLUS
QUADRIFILIS
NDIANE
GROS
CAPITAINE
683
POMADASYS
ROGER1
YEKEM
CARPE BLANCHE
6'7
POMADASYS
JUBELINI
SOMPAT
CARPE BLANCHE
6 ,5
POMADASYS
11\\Tc1sus
DAKHA
CROC'0
105
POMATCMUS
SALTATOR
NGOT
TAXERGAL
7 4
POMADASYIDAE
DIVERS
---
613
POMADASYS
PEROTETI
COROGNE
PRTSTIPOME ORD.
106
PRIACANTHUS
ARENATUS
BEA!J CLAIR
107
PSETTODES
BELCHERI
TURBOT
2 8
PSEUDUP
PRAYENSIS
NGOR SIKIM
ROTJGET
7 9
PSEUD.
BRACHYGNATHUS
NGOUKEU
OTOLITHE EPAIS

62
81
PSEUD.
ELONGATUS
---
--.
80
PSEUD,
SENEGALENSIS
FEUTE
OTOLITHE DIJ SEN.
78
PSEUDOTOLITH.
TYPUS
TOUNOUN
OTOLITHE NAIN
174
PTEROMYLAEIJS
BOVINUS
---
AIGLE VACHETTE
82
PTEROSCION
PELI
BARALE
FRITURE
19 0
PUGILINA
MORIO
TOUFA
MELONGENE NOIR
173
RAJIDAE
DIVERS
---
172
RAJA
MIRALETUS
LALAN
RAIE MIROIR
108
RACHYCENTRON
CANADUM
TODIE
MAFOLJ ( ELACATE )
165
RHINOBATOS
RHINOBATOS
YANNEU
RAIE GUITARE
164
RHIZOPRIONOD.
ACUTUS
---
REQ
MUSEAU PTU
163
RHYNCOBATUS
LUBBERTI
THIAUKER
RAIE GUITARE
126
SARPA
SALPA
---
SAUPE
5
SARDINA
PILCHARDUS
---
SARDINE
136
!;ARDA
SARDA
OUAL
BONITE
DOS RAYE
3
SARDINELLA
MADERENSIS
YABOI TASS
SARDINELLE PLATE
2
SARDINELLA
AURITA
YABOI MEUREUG
SARDINELLE RONDE
194
SAROTH
MELANOTHERON
---
---
77
SCIAENA
UMBRA
KUYE
CORBEAU
141
SCOMBEROMORIDAE
---
---
153
!;CYACIUM
MICRURUM
---
FAUSSE LIMANDE
131
SCOMBER
JAPONICUS
ou0
MAQUEREAU ESP.
155
SCORPAENA
SPP
RASCASSE
RA"CACC-E
L-- I>L.
85
SCIAEIJIDAE
DIVERS
---
---
94
SCYRIS
ALEXANDRINUS
YAWAL
SCYRIS D,ALEXANDRE
13:3
SCOMBEROMORUS
TRITOR
NDIOUNEU
MAQUEREAU BONITE
98
SELAR
CRUMENOPHTALMUS
DIA1
CHINCH
GROS YEUX
93
SERIOLA
SPP
THIE
SERIOLE
181
SEPIA
OFFICINALIS
YEUREUDEU
SEICHE
54
SERRAPJUS
CABRILLA
SOPA NGANE
SERRAN CHEVRETTE
59
SERRANIDAE
DIVERS
---
55
SERRAPJUS
SCRIBA
---
SERRAN ECRITURE
97
SELENE
DORSALIS
FANTA
MUSSOLINI
12
SMARIS
MELANURUS
---
PICAREL
129
SPARUC:
CAERULEOSTICTUS
WARAGNE
PAGRE
PTS BLEtJ
128
SPARUS
PAGRUS
KHAYA
PAGRE DES TROPIQUE
127
SPARUS
AURIGA
YEUNEU
PAGRE RAYE
30
SPHYRAENA
DUBIA
KHEDE
BROCHET DE MER
159
SPHYRNA
SPP
DIANGUE
REQIJIN MARTEAU
33
SPHYRAENIDAE
DIVERS
KHEDE
130
SPARIDAE
DIVERS
31
SPHYRAENA
PISCATORUM
KHEDE
BARRACUDA
29
SPHYRAENA
SPHYRAENA
KHEDE
BROCHET DE MER
160
SPHYRNIDAE
DIVERS
DIANGUE
REQUIN MARTEAU
32
SPHYRAENA
BARRACCUDA
KHEDE
BARRACUDA
171
SQUALIDAE
---
SQUALE
26
STRONGYLURA
SENENEGALENSIS
NGUEULEUDEU
AIGUILLETTE
145
STROMATEUS
FIATOLA
KHASSAW
DEMOISELLE
152
SYNAPTURA
SPP
TAPALE
SOLE DE ROCHE
170
TAENIURA
GRABATA
---
14
TETRAODONTIDAE
DIVERS
---
---
138
THUNNUS
OBESUS
OUAKHANDOR
THON OBESE
140
THUNNUS
ALBACARES
---
ALBACORE
195
TILAPIA
GUINEENSIS
---
---
16'7
TORPEDO
SPP
NDOUGNE SOKHOR
TORPILLE
97
TRACHINOTUS
GOREENSIS
NDOUMBOUTAKH
TRACHI DE GOREE
92
TRACHINOTUS
OVATUS(L GLAU)
KHANE
LICHE GLAUQUE
162
TRIAKIDAE
DIVERS
---
---
142
TRICHIURUS
LEPTURUS
TALLAR
CEINTURE
102
TRACHURUS
SP
DIA1 BOU GNOUL
CHINCHARD NOIR
101
TRACHURUS
TRECAE
DIA1 BOU GNOUL
CHINCHARD NOIR
151
TRIGLA
SPP
NAWANE
GRONDIN
10 '3
TRACHINOTUS
MAXILLOSUS
TERAI
GRANDE TRACHINOTE
7 e
UMBRINA
STEINDACHNERI
---
---
75
UMBRINA
CANARIENSIS
NIAW NEKH
OMBRINE
180
XIPHIAS
GLADIUS
---
ESPADON
41s
ZEIDAE
DIVERS
---
--._
4 4
UEIIS
FABER
DIAMOU NDOR
SAINT-PIERRE

63
ANNEXE 111.~: Liste espèces de pêche artisanale classées par ordre taxonomique
CRL!STA(:ES
*._- _..__
CRABE.5
CRABE
.
K!IT~
.:F,4BE
LPNGOUSTE
1 FALINUR~S
C.VERS
31
9i 91
185
042: 3
. SOUM
CREVETTE
PEANEUS
N".r'l‘:ALIS
. SiF.AKH
CREVETTE
FWR3NDE
, SlFAXH
:lIl:ALES
:IGALE
::Et HALCIPCDES
SEFI IDAE
1 SEFIA
OFFI':INAI IS
8 9
89 89
181
3202
2
89
YEUREUDEU
. 90 . 182
ii211 2
. CALAMAR
‘3 5
9f.
9 6
188
?31f,
9
9 6
YETT
.
3E.
.
189
c317
3
35
TCUFA
. TCUFA
REf;l! iblS
_. .._.
SPHYIWID4E
SFHYRNA
SF r
. CI: AMGIJE
1 SPHYIWIDAE
C'i VFXS
. DIANGIJE:
'l'RIAIIIDAE
1 MIJSTELUS
M:"ljr?BL'JS
. MANE
EMISS3LE: LISSE
TRIARIDAE
eI'JE:Ks
CARCHARH
L
IN1 DAE:
1 CARCHARHINUS SFF
1
,30
80
158
t04i
2
RHIZOFRI:XWD. WX'P'JS
.
.
.
164
$030
2
CARCHARHIUICJAE C,I-.XRS
.
.
1 6 6
?OYE
2
.
168
:Cl54
2
MBIRIM
LAYE
S'JUALE '?HAGRIN
*
.
171
5074
2
.-:,>IJALE
37
81
87
198
iooo
2
32
87 ---
ÏQRPEDINiDfiE
T@FPED~'I
'S-FF
. . .
167
-112 2
<
.
.
163
'114
2
.
132
82
165
-120
2
. LALRN

. ~JLIIAIOUTE MEEDJEJJI
.
.
82;
a8
i l
,
84
L,'JUI.
29
7
1
I
CT" IEO
1
2
Y AEO 1 MEUREU:;
2
3
YABOI TASS
4
--
5
_-
7
7
.
.
8
8
10
.
.
2 3
SJIK
c
DJEYF
11
li
. SOUMT"XJ XXJI~JDOI!
.
.
. NGUEULE'JDEU
30
1'
15
.
.
22
1c
.
. NAWANE
.
.
12
12
12
KHEDE
13
13
i3
KHEDE
14
14
14
?:HEiX
.
.
K H E D E
.
.
14
15
KHEL'E
16
. F&UME = DEME
.
92
. THIAR MBEKH
.
'33
I
YHIF/
<AOUR
.
.
2 0
16
G c 1 s 5
16
34
. ,GUISS
27
l?
1 7
THIEKEM
18
18
. NCIANE
.
.
"4
MDIANE
.
.

“!,R’f PHAEN: DAE.
l. COR‘I PHAf?IW
HfFFUFU$
;: 0
1Y
19
, 2c
KAKA’I’AI..
SERRAfI 1 DAE
1 ~II~'ENZ~G.CHC~
i"JllCTATI.:.‘
1
MYCTERGI’ERCA F:IE<RA
21
1 EPINEFHELVS
AEliE’JS
2:
1 EPINEPHEL!JS
GIGAS : iX.JAZii
2L
1 E:FINEPHf:LUi
GljEFN$ 1
. c.
2 4
i fi , ALEXAEJLX3INJ.S
EN P. 11.
1 EF1IJEPHE1,U.S
;‘A14 INUS
. 25
R<XJE
EFINEf’lIELUS
< FA.=2’” -1ATII:;
SAffDP.Rl KA
IE. GORE:EJSIS
E N R.D.!
1 SEPHALGf’HGLI3 TAENIGPS
.
2f
YELLE’
\\
SERRACJU?
C‘rrBOILLA
SOPA PJ’XNE
SERRANU!:
9?F 1 BA
FETROME”OPùb. Pi: (:SI
KEL,LE
1 :SERRANII)AE
cII‘:~Rc
PRIACANTHI LIPE
PRIACAWHUS
ARENATUS
"
.
.
PGMADASY 1 L’AE
1 P’IMADAS’I’SL
IIrISüS
3 0
3'2
3 0
.
3 0
DAKHA
1 FGMADAS’I’S
J‘IJEELINI
31
31
31
4
31
SOMP”?
1 PCMADAS~ S
FW;XRI
3;:
32
3 2
3 2
YEKEM
1 PGMADASYE:
FEF.:TETI
3 3
3.1
33
33
CORLJGNE
1 BRACHYDEXT.
FIJF [TUS
34
34
3 4
24
3 4
FAIOUR
1 PLEC?Y)RH ,
ME:.ITERR.Af’~EU.
3:.
3 5
35
.
3 5
BANDA
1 PLECTC’Rt! .
M&Cl?GLEFI .S
.
.
3 5
WASSAMFEE
1 PARAPEIC’T.
CC7’jLINEE;TUM
3 f,
36
3 6
3 6
MHEULBEOTE
1 PGMADPSE’IDAF
ra i’lERC
3;
3 7
3 7
.
.
.
.
KHWJR KHGUH
.
.
KHOUR KHGUH
SCIe3IDPE
1 !JMERINA
3i
3:<
38
UMBF’IP’A
< ”
.
.
.SCIAEN.A
.
.
1 FSEllXTC XTH.
35
39
3 9
1 FSEU3.
‘IL
4 0
4 0
1 PSEUS.
41
4:
41
1 FSEUD.
14
FTERGSCICN
.
.
1 .ARGYRCSCM’JS
42
42
42
MIRACCRVTNA
.
1 S’IAENItsAE i
43
41
4;
44
4 4
4 4
.
.
4 5
4 6
4 6
1
g*'WAiJY
-1 .
3
4s
4 5
45
1 LICXA
47
41
4 7
7 CAMFGGRAMMA
4 .3
4e
45
TRACH1NGTU.S
43
.
.
I SERIGLA
.
49
49
1 SCTPI.5
5 4
54
54
1 CHLCRGSC.
fi
51
51
ELAGRT:S
.
.
.
1 :SELENE
53
33
53
S E L A E ?
.
.
i TRACHI NOTUR
5 .?
si
5 2
TFACHINOI’JS
TR4CHUKU.S
1 TRACHURUY
46

.
5 ”/
L1
.
UWH UEKH
. 54
D;.P.REGrJE
.
56
MBAGNE
MEAGNERE
I 60
EASS
61
NGAT
T.SSP,TE
Nf;ATE
.
N(;ATE
RJNGEU
1
.
UERSCZN
2 f
62
i’?UFi,fJF
.
et
67
TAFANDAR
6C
TIATHIE
.
08
LEER
10
7 0
.
71
SIPWII
li
?2
NC,1 STJNE’J
19 73
GL’AL
TALLAR

67
7 t?
1 8
.
t
83 a3
.
. SI
. 98
.

, .
.

68
ANNEXE IV
Formats de lecturekcriture des fichiers de données
Format (14,2X,A28)
Code
Nom espèce
CC:RPF~PONDANCES
I il
CiODES
DES
ESPECESc
“7 5 8 2
82 8384 8598
H9
ETLHMAL,CSA
DSRSALIS
1
1
1
SAHDINELLA
AURITA
2
2
2
SARDLNELLP
MADERENSIS
3
3
3
ILISHA
AFRICANA
4
5
4
SARDLNA
F'ILCHARDUS
5
5
5
AUTRES
î'LUPEIDAE
5
5
6
ENGRAULI B
'YJINEENS
.a
1 S
6
6
7
e ERYTHRCCLES
MONOD1
99
99
8
9 OERRES
MELANOPTERIJS 9 9
99
3
tri GEREES
CCTAT I C:
99
99
10
.t 1
BRANCHIr)C?'YG.
SEMIFASCIATUS
99
99
11
12
!;MARIS
MELANURUS
95
99
1?
tj
LASOCEPHAL:JS
LAEVIGATUS
7
7
1;
i4
AUTRES
TETRAODONTIDAE 7
7
14
15
EPHIPI-ION
:GCTTIFER
7
1
15
16
EPHIPFUS
L,IPPEI
99
99
lb
17
DREPAP?E
P.FRIIANA
61
67
17
le
AUTRES
EPHIPPIDAE
99
99
18
19
ARIUS
GAMBIENS18
a
8
19
20
AR!.US
HEUDELOTI
8
8
2 0
21
‘&R'IT"
> ‘ _L..
YERCATQRIS
8
8
21
.
.
.
.
..“.....................................”............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
186
CREVE?"?E
ELANCHE: 99 93 9
9
9 ‘3 186
!87
CREVETTE
FROFONDE 99 93
95 99 187
i88
CY~*lBIU42 SPP.
90 96 96 96 188
189
MURE:<
SFP. 37 95
95
39 189
190
PU,:;ILINA
p,<
r‘
p.
1
,y,> 97
91
31
93
150
1 5) 1
AUTRE(2
L
M'ILLUSQrJES 97
9?
9'1
9'1 191
192
CR.ABES 99 99 Y
9 93 192
193
C‘I';ALES 99 99
33
c;‘”
i 193
194
SAR3THER~:;DrjN MELANOTHERON 99 99 99 37 194
195
TILAPIA
GUINEEKSIS 99 99 53
98
135
11'6
AUTRES
~:ICHLIDAE 93 99
9? 99 135
19-l
cogJes 99 99 99 93 19’7
; 98
AUTRES
FLEUROTREMES 87 87
8’7
8’1 193
i"9
A'J'I'RES
H‘JPOTREMES
88 88
Bk?
A8
19'9
C?ri0
SAXDNELLES INDETERMINEES 99 4 99
39 993
9 Y 9
1)
1
‘JER
.>
c 95 99
99 95
9
9
‘3
Voir ANNEXE III pour la liste complète des noms d'espèces

69
CODAAA DATA (IBM 4331)
codaaa.dat (SUN)
AAA=Année, ex: CODA75 DATA
Format (10X,215)
Code an
Code
AAA
1989
-
-
-
^--
Voir ANNEXE III pour la liste complète des correspondances des codes

7 0
ENGIN DATA (IBM 4331)
engin.dat (SUN)
Format (12,l X,A4,1 X,12,14)
Code Engin Groupe Groupe
PA
1
2
01 PVL
1
1
02 PML
2
2
03 PML
2 2
(14 PGL
4
3
05 FD
3
4
06 ST
5 5
07 FME
6 6
08 SP
7
7
09 LRH
2
8
10 LCS
2
9
il LT
2 2
12 PAL
2
8
:13 EP
8 12
14 BAR
8 12
15 FMDE
3 10
16 FMDM
3
1 0
17 FMDF
3 10
18 FMDT
3
10
19 FDP
3 4
20 FDS
eI
s
4
21 FDE
3 4
22 FDL
3 4
23 FDY
3 11
24 PS
8 12
Voir ANNEXE II pour la signification des codes

71
1espec.ley (SUN)
Format: (12,1X,A22))
No
Nom de l’espèce ou du groupe d’espèce
d’ordre

72
ESPIRS9 DATA (IBM 4331)
espir89.dpa (SUN)
Format (3X,E10.3,F6.3,E10.3)
1 I I I I Id I I I IEI I I I 14 I I 1 I I@l I I I IEI I 1
Coefficient a
Coefficient b
Poids moyen
1
1.2;8Em-2 .;.Ci99
5 6
O.LliE-1 j.us3
il. 2CiOE- .i
2
0.556E--2 !.:23
57
0.116E-1 3.083
O.lOOE-3
l.O?4E-2 .i.14?
58 .E .
.E
.
5'1 .
E .
0.300E-3
E .
60 . E .
0.200E-3
E
61 .
E
.
0 . 3(.rOE- -:
.E
.
62 .
E .
O.lVOE-3
.
E:
ci:
"
E .
O.?l!lOE-2
.
E
.
64.
iF
.
0.300%13
E
65
.
E
"
O.LOOE-3
E
.
66
0.199E-1 2.988
0.2!lOE-3
.
"
"
67
0.185E--1 2.964
0.5OOE-.!
3.488E-2 ::.klrj
6b' O.l89E-1 2.964
0.8OOE-i
3.488E-t i?.?16
69
0.44LE-1 2.733
D.600E-.\\
.E
.
711 O.:49E-1 3.058
0.200E-3
.
E
.
71
@.202E-1 2.948
0.3OOE-3
1.15FE-2 :.187
7, .
E
.
0.8CiOE-3
. E .
73
0.135E--1 3.034
0.2OOE-3
O.?93E- 1 ::. 307
74
.E
.
0.400E-3
O.l33E-1 :..>0?
‘1 5
0.934E-2 3.132
0.3IOE-3
0.13?E-1 1:. 307
'7 6 . E .
O.-;CiOE-3
0.133E-1 ::.307
77 .
E
.
0 . 5 10 il E :'
. E
7
8
0.582E-2 3.129 0.5OOE-3
7 9
0.582E--2 3.129
0.800E-:3
9C 0.582E--2 3.129
0 . 3 0 0 E - :s
RI. E .
0.5Pi?E-I:
82
E
.
0.20üE-3
83
.
cJ.l16E-1 ,2.948
0. a(:,oE-;i
Fi4
.E
.
0.20UE-!
85 .
F,
.
0.2ilCOE-:i
86
ij.lO'lE--1 3.102
0.30OE-s
67
0 .'15E-1 2.991
O.EOOE-3
88 O.715E-1 2.991
0.8OOE-:i
8 9 0 .315E-! 2.991
0.5OOE-2
90 O.L8&E-l 2.930
0.700E-:.
il
O.lt?RE--1 2.930
0.600E-Y
92 .
E
.
0 . 1 il û E -. ?,
93 . E .
O.EOOE-:'
'14
0.551E-i 2.702
0.200E--L
95
O.54lE-1 2.554
0 . IOOE - j
56 .E .
0.6GOE- 2
(I?
_r
.
E .
O.lOOE-3
98 . E .
O.300E-S
99 0.187E-1 2.950
0.300E-3
lUO
O.L87E-1 2.950
0.500E-2
10 1
O.t44E-1 2.969
0.300E-3
102
0.144E-1 2.969
0.300E-3
103
E
.
C.20@E-3
104 : E .
0. bOOE--3
105
0.?27E-i 2.970
0. LOGE-2
1 Ci 6 . E .
O.lOOE-J
1 1) 7
.
E .
O.GOOE-3
11-18 .
E
.
0.5OOE-3
1 0 ii
*
E .
0 . 2 0 ii E - 3
1 1 Cl
O.jl!ilE-2 3.329
O.i00E-2

73
.
E
.
E
0" 5(lO&.i
G
.
Ad
.

E
Cl _ 5:lOE i
E
. E
12 . 5 :, 0 E - .i
E
. E
0. 10OE-.c
0.4(:3E- i ::."15
.
E
0 . 1 ! !Cl E -- .<
D.274E- 1‘/ ‘i24
. .
_
E
o.:(IOE-:1
0.?74E- 1 2.924
.
E
Il . 2 i 10 E -- .i
0.274E--1 a.426
. E
0 ~ 20OE-.!
.
E
.
. E
0.2QflE-:(
.
1-3
.
.
E
0. lIOE-J
.
E
.
E
ü.200E-.:
, E
1
y
E
0.40OE-.t
. E .
.
E
0.3(iOE-.i
. E
1
.
E
0.300:-~~
O.l3LE- 1 :t.I6r;
. E
0.2!lOE-3
E
_
.
E
4 . 0 00 ii. -- 2
!1.2dyE 1 :y.?43
. E
2.0OOE-3
O.2d7E- 1 x.949
. E
0. 2UOE--.{
0 . 2 $7 E 1A '.a c.
.,._> 4 -
.
E
0 . 2 no E .I
. E .
0.348E-Z 's.370
O.L5ïE- 1 :.P55
0.1"70- 1 :!.E55

. E
"
O.l_iRE- 1 ::.,-35
0 _ 29nE- i _:. ?UT

.
E
"
. E
"
E
E
.

E
.
. E
.T
.
L
.
5
E
.
.
E
.
O.l56E- 1 :: . L'93
0.156E.l j.:99
"
E
.
E
.
.
E
0.25nE-i .:.üli
0.25üE- 1 .;.Y13
0 . 2 5 (1 E "., _' i 13


74
facaa.extra (SUN)
Format ( 2X, F9.6,7F10.6)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
facteur
facteur
facteur
facteur
facteur
PVL
PML
FD
PGL
S T
1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l
facteur
facteur
facteur
FME
SP
DIV
FACTEURS DE PONDERATION POUR 1990
COL 1
= SEMESTRE
COL 2
= REGION
.--PV= -.-
--PML--
--FI-J--
--PGL--
--ST--
--FME--
--SP--
--DIV-
11 01000000
1000000
1178860
1000000
1000000
0000000
1000000
2000000
12 00000000
0000000
0000000
0000000
0000000
0000000
0000000
0000000
13 01000000
1006290
2654540
0000000
1481480
0000000
1000000
1000000
14 03000000
1386170
1413330
1031640
1057970
1000000
3ooooc)o
1666667
115 01937500
1037480
1604970
1000000
1000000
1000000
2000000
1000000
16 00000000
0000000
0000000
0000000
0000000
0000000
0000000
0000000
--O--PVL--
--PML--
--FD--
--PGL--
--ST--
--FME--
--SP--
---DIV--
21 01000000
1024630
1590480
1000000
1000000
0000000
0000000
1000000
22 00000000
0000000
0000000
0000000
0000000
0000000
0000000
0000000
23 01000000
1138300
1119403
0000000
1833330
0000000
1000000
1000000
24 03571430
1517940
3078000
1071000
1464280
1000000
3650000
1000000
25 01764710
1168230
2073860
1000000
1000000
1032970
1727270
1000000
26 00000000
0000000
0000000
0000000
0000000
0000000
0000000
0000000
NE
: LE FORMAT .DES FACTEURS EST F7.5
LE POINT DECIMAL EST IMPLICITE

Ifacteur.cre (SUN)
I
Format (415,10X,315,F10.3)
(IrIIIIIllIllllIllllIlllIlIlllIllllIllIlIllrlIlIlll*lll(
Année
semestre
région
fP”F
port de
port à
année de
facteur
engins
référence
créer
référence
83 1 5
4
0.000
52
52
81
1.437
82 1 5
1
0.000
51
67
81
0.577
83 1 5
2
0.000
52
67
81
0.051
83
1
5
3
0.000
52
67
81
3.100
83 1 5
4
0.000
52
67
81
0.825
82 1 5
5
0.000
52
67
81
0.000
82
1
5
6
0.000
52
67
81
1.696
82 1 5
7
0.000
51
67
81
30.500
82 2 5
4
0 * 000
52
52
81
1.000
82 2 5
1
0.000
52
67
81
2.875
82 2 5
2
0.000
52
67
81
0.012
..a......s.
84 1 5
5
0.000
52
67
84
0.000
84 1 5
6
0.000
52
67
84
1.273
84 1 5
7
0.000
51
67
84
93.000
84 1 5
8
0.000
51
67
84
7.000
84 2 5
1
0.000
51
67
84
5.666
84 2 5
2
0.000
52
67
84
0.177
84 2
5
3
0.000
52
67
84
3.000
84 2 5
4
0.000
52
67
84
0.200
84 2 5
5
0.000
52
67
84
0.000
84 2 5
6
0.000
52
67
84
1.060
84 2 5
7
0.000
51
63
84
63.500
84 2 5
8
0.000
52
67
84
35.000
85 1 5
1
0.000
51
67
85
1.000
85 1
5
2
0.000
52
67
85
0.042
85 1 5
3
0.000
52
67
85
2.456
91
5
6
0.000
52
67
91
2.000
9:1
2
5
7
0.000
52
67
91
21.660
91
2 5
8
0.000
52
67
91
11.000

facteur.extra (SUN)
Format (415, F10.3)
1 Ii l Ill I I II I I I II I I I Ill I I I Il.1 I II
Année
Semestre
Région
Groupe
Facteur
engins
81
1
1
1
1.000
81
1
1
2
1.000
81
1
1
3
1.145
81
1
1
4
1.000
81
1
1
5
1.000
81
1
1
6
1.000
81
1
1
7
1.000
81
1
1
8
1.000
81
2
1
1
1.000
81
2
1
2
1.000
81
2
1
3
1.830
81
2
1
4
1.000
81
2
1
5
1.042
81
2
1
6
1.000
81
2
1
7
1.000
81
2
1
8
1.000
82
1
1
1
1.000
82
1
1
2
1.000
82
1
1
3
1.145
82
1
1
4
1.000
82
1
1
5
1.000
82
1
1
6
1.000
82
1
1
7
1.000
82
1
1
8
1.000
82
2
1
1
1"OGO
82
2
1
2
1.000
., . . . .
.*........*
.
.
<
-............“....
91 11 3
1.063
91 11 4
1.028
91 11 5
1.000
9
1
1
1

6
1.000
91 11
7
1.000
91
1
1
8
1.000
9
1
2

1
1
1.000
91 2 12
1.000
91 2 13
1.844
91 2
1
4
1.000
91 2
1
5
1.000
91 2 16
1.000
91 2 17
1.000
91 2 18
1.000

liste.cod (SUN)
Format (14,2X,A28,14,16,14,16,10X,14,2X,11,4X,12,4X,12,3X,12,3X,A19,A20)
NUIll
Nom espèce
Code 75 Code 83
Code 85
Code 89
1111 ~IIIIIIIIlIIIII’IIIIIIIIIIIIlIIIIl
Code PPD Type
Groupe
Code PPC Code SOE
IIIIIIIIIIIIIIIII~~~~~~~~~~~
IIIIIIIII
II
Nom français
1
0409 1
2
0401 1
3
0402 1
4
0408 1
5
0406 1
5
0
0400
1
0
7
0501 1
h
3601
2
9
3701 1
1 il
3702 1
11
3801
2
9 5
12
4603 1
7
13
0904 1
14
090û
1
15
0902 1
16
4902
1
6 7
17
4901 1
le
4900 2
1”
1202 2
2 (1
1201
2
2 1
1705
2
22
1’00
8,
::
9 c
l b 4
8200 7
91
105
8421 9
Lt!6
8401 ?
107
8416 9
9 6
188
8316 9
1 0 9
8317 9
1 3 0
8322 9
!Pl
8300 9
i32
8450 9
193
0433 9
1 9 4
9902
1
1 9 5
990.3
1
136
9904 1
1 ji7
8323 $1
8:
198
8000
2
88
1.9 9
8100
1
6
0400 1
YAJdC) i
q 5, scj
_
1
p
A-
_~ liste complète des espèces

MENSU891 DATA (IBM)
Long. Long.
Nombre maxi. de poissons
maxi. Mini.
comptés /pirogue
1
40 005
1
50
53
70 010
1
50
2
35 005
1
50
54
25 010
1
50
3
35 005
1
50
55
30 010
1
50
4
35 005
1
50
56
50 010
1
50
5
50 010
1
50
57
40 010
1
50
.

.
6
50 005
1
50
58
50
7
15 005
1
50
59
120 010
2
50
8
45 010
1
50
60
80 010
1
50
9
25 010
1
50
61
120 010
2
50
10
25 010
1
50
62
120 010
2
50
1:
70 010
1
50
63
120 010
2
50
12
30 010
1
50
64
80 010
1
50
13
65 010
1
20
65
120 010
2
50
14
65 010
1
50
66
45 010
1
50
15
60 010
1
50
67
60 010
1
50
16
30 010
1
50
68
60 010
1
50
1 7
60 010
1
20
69
50 010
1
50
18
35 010
1
50
70
30 010
1
15
19
90 010
1
20...
71
75 010
1
30
20
150 010
2
20
72
60 010
1
5
21
90 010
1
50
73
45 010
1
30
22
?O 010
1
50
74
70 010
1
50
23
160 050
2
50
75
70 010
1
15
24
120 040
2
50
76
80 010
1
50
25
150 010
2
50
77
80 010
1
50
26
150 010
2
50
78
150 010
2
20
27
150 010
2
50
79
150 010
2
20
28
30 010
1
50
80
100 010
1
50
29
90 020
1
50
81
80 010
1
50
30
160 020
2
20
82
40 010
1
50
31
160 020
2
20
83
165 010
2
50
32
160 020
2
50
84
80 010
1
50
33
160 020
2
50
85
80 010
1
50
34
80 010
1
50
86
45 010
1
50
35
80 010
1
50
87
60 010
1
50
36
95 020
1
50
88
80 010
1
50
37
60 010
1
20
89
120 010
2
50
38
60 010
1
50
90
150 020
2
3 0
39
70 0:o
1
35
91
100 010
1
20
40
95 010
1
50
92
50 010
1
50
41
5c 010
1
35
93
160 020
2
5
42
85 010
1
5
94
120 010
2
50
43
170 010
2
50
95
70 010
1
5
44
70 010
1
50
96
100 010
1
50
45
70 010
1
50
97
40 010
1
50
46
150 020
2
15
98
50 010
1
50
47
60 010
1
50
99
80 010
1
50
48
90 010
1
50
100
80 010
1
50
49
110 010
2
50 . . .
101
50 010
1
50
50
120 010
2
50
102
80 010
1
15
51
100 310
1
50
103
52
160 010
2
50
104
130 010
2
50

105
110 OI.0 2 50
171
150 030 2
5 0
106
40 010 1 50
172
150 030 2 50
107
60 010 1 50
173
150 030 2 50
108
120 020
2
50
174
150 030 2 50
109
40 010 1 50
175
150 030 2 50
110
80 010 1 50
176
150 030 2 50
111
70 010
1
50
177
150 030 2 50
112
80 010
1
50
178
250 100 2 10
113
60 010 1 50
179
300 100 2 10
114
30 010
1
50
180
400 100 3 10
115
110 010 2 20
181
60 006 1 50
116
50 010
1
20
182
60 006 1 50
117
70 010 1 20
183
60 006 1 50
118
70 005 1 20
184
60 006 1 50
119
50 010 1 50
185
70 006 1 50
120
50 010 1 50
186
20 003 1 50
121
50 010 1 50
187
20 003 1 50
122
50 010 1 50
188
20 006 1 50
123
40 010
1
50
189
20 006 1 50
124
50 010
1
50
190
20 006
1
50
125
38 010
1
30
191
20 006
1
50
126
50 010
1
50
192
20 006 1 50
127
70 010 1 50
193
20 006 1 50
128
60 010 1 30
194
20 003 1 5
129
75 010 1 30
195
30 006 1 5
130
60 010 1 50
196
30 006 1 50
131
60 010
1
15
197
20 006 1 50
132
120 020 2 50
198
200 020 2 50
133
100 020 1 50
199
200 030 2 50
134
200 020 2 50
200
40 005 1
20
135
95 010 1 50....
999
400 003 4 50
136
70 010
1
50
137
90 010 1 50
138
200 010 2 50
139
60 010 1 50
140
200 030 2 50
141
120 020 2 50
142
160 020 2 50
143
70 010 1 50
144
70 010
1
50
145
70 010
1
50
146
90 010 1 50
147
45 010 1 10
148
50 010 1 50
149
40 010 1 50
150
40 010 1 50
151
40 010 1 50
152
40 010 1 50
153
40 010 1 50
154
60 310
1
15
155
40 010 1 50
156
80 010 1 50
157
180 040 2 50
158
200 020
2
50
159
200 030
2
50
160
200 030 2 50
161
200 030 2 50
162
200 030
2
50
163
200 030 2 50
164
200 030 2 50
165
200 030 2 50
166
200 030 2 50
167
60 010 1 50
168
200 030 2 50
169
100 030 1 50
170
150 030
2
50

Imois.ley (SUN)
I
I
I
Format (15,l X,A22))
N” du
Abréviation du mois
mois
1JANV
2 FEVR
3 MARS
4 AVRI
5
tu41
6 JUIN
7 JUIL
8 AOUT
9 SEPT
10
OCT
11
NOV
12
DEC

8 1
PA PPPAA (IBM 4331)
wpppaa (SUN)
(PPP= Abréviation du port, AA= Année, ex PA KAY9 1)
Format
:
(11,412,211,13,12,213,412,213,1412)
Format
c1.
(11,612,11,312,11,4X,12)
Format
c2I
(11,13,11,1313)
Voir ANNEXE 1 pour lu sigm~cation du jbrmat
03191 1. 1
4 0
17 14
2
03191 :. 2 18514
31 13
5
03191 L 3
21610
35 14
2
6
26
13191 1 3 1 92182240
1
21652200
13191 L 3 2 lit19 816
1
2 511 7 36 45 40 42 41 39
13191 1 3 3 112411 93
1
2 491 7 75 70 76 73 71
13191 1 3 4 232512243
3
2 491
6 79 78 68 74 79
2 481 4 40 31 36 45
3 132 ;!O
13191 1. 3 5 232512363
3
2 491 5 80 76 77 70
2 132 8
21252 5
13191 1. 3 6 232516 73
3
2 491 4
2 511 3.5
2 481 1
13191 1 3 7 1125 ,316
2
2 512 1.5
2 491
1 76
13191 3 3 8 2325 (3153
3
21252 30
21051 1 48
2 862 10
13191 1 3 9 23251224
1
2 491 3 79 78 81
13191 1 310 232613 73
2

8 2
port.cod (SUN)
Format (15,1X,A22))
1” “Il”“““““““““‘1
N’du
Code PA du port
port
1
11
2
31
3
43
4
41.
5
44
6
51
7
42
8
52
9
33
Iport.ley (SUN:)
Format (15,1X,A22))
l”“ll”“““““““““‘l
N” du
Nom du port
port
1 ST LOUIS
2 KAYAR
3 MBORO
4 FASS BOYE
5 YOFF
6 OUAKAM
7 SOUMBEDIOUNE
8WANN
9 RUFISQUE
10 MBOUR
11 JOAL
12 F'OINTE SARENE
13 KAFOUNTINE
14 ZIGUINCHOR 1
15 ZqIGUINCHOR 2
16 GOUDOMP
17 SIMRANDI

Format (//3F6.3)
Format (2X,312,13,X2,1X,11,4X,14,1X,13,15X,5(I2,1X,13),F3.1)
1 I I 1.1 I I I I I I@I I I I I I Iol I I 1
Facteur 1
Facteur 2
Facteur 3
1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ll~lll~lIIlIll~
An Mois Jour N” Engin Météo
Durée
Zone
Espèce 1 Poids1
1 I I I 1 I I I I I I I I i I I I I I I I I I l I I I 1.1 1
Espèce2 Poids2
Espèce4 Poids4
Fac. Extra.
Espèce3 Poids3
Espèce5 Poids5
4
4
4
4
4
4
4
4
4
6

4
2

2
4

4
1 4 c,ii
2
1 7 il 9 7 1 4
2
17 16107
1 1

8 4
pppaappc.captpir (SUN)
pppaa.captpir (SUN)
Format (1315,30(15,F7.1))
l~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ IlIll
Nombre
Port Qz
Année
Mois
Jour
N” Pirogue Engin
de
Heure
Durée
pêcheurs
.
.
IIIIIIIIIIIIIIIIIIIIIIIIIIIl
. ..I...II..~
lllllllll(
Nombre Espl
Capt 1
Lieu Profondeur
Es~30
Capt30
d’espèces
19
2 2
1 812ü
!!.I.
.,”
19
8
1 3 0 1 D
l’.!i . .
24
11
1 3015
i!.il
25
12
3
904
IJ.i! . . .
25
8
2 3111”
iJ”i’l
,.
25
8
3 4 (i 17
3tJ.Ï’ . .”
25
1?i
1 3C!15
u.0 ._
31
li
5 301c
6 . (! .
3 1
15
L3 31irl7
.i.!! .,.
31
1 1.
3 4 0 1 7
3ir.i) . .
3 1
10
3 4301
5 . 0 .
3 3
14
4 4301
ijr,"i! ",
3.3
18
6 4 3 0 1

pppaappc.cqzext
pppaa.cqzext
pppaa.cqzsub
pppaa.cqzdef
pppaacre.cqzdef
regtotaa.cqzext
(SUN)
Format (614,250F 11.1)
Port
Année Qz
Engin Nbre de Nbre de
CaptEsp999
sorties pimgues.
échantillonnées
Format (614,250Fll. 1)
)IrlIllIIlllIllIIlllIlllIIlllllllll[mmmm~~~

I
l
l

Ill I lIII[
Nbre de
Port
Année Qz
Engin
Zone pirogues.
CaptEsp 1
CaptEsp999
échantillonnées
0.0
1 . I?
. . . . .
f’., . ‘-1
0 . 1:
?.G
. . . .
i: . 1
G . c
‘Cl . ji
. . . . .
c, . 1
u . 0
‘3 . c
. . . .
ti.0
24?.1
‘1 . ?!
. . . . .
1;. 0
0.0
‘1 . 0
<....
n . b 1
0 . Cl
9. c
. , I
‘, 0
0 . 0
r) . i;
. .
1-J . i 1
r) . (?
‘1. 0
II
.

,, ,I’
0.0
i) . 0
. . . . .
0. fi

86
pppaa.effjour (SUN)
pppaappc.effjour (SUN)
Format (3214)
Qz
Port
Ann& Mois
Jour
Férié
Temps Effort Effort
Effort
Nombre
Engin1 Engin2
Engin24 d’enquêtes
Format (2814)
Port
Année Mois Qz
Effort Effort
Effort
Engin1 Engin2
Engin24
1)
0
178
95.... 77
j
0
0
319
0 . . . . ii9
f
1.)
0
1 9 6
4....
16
fi
ÏJ
(1
140
ci . . . . 25
ri 1
0
(1
5 5
:! . . . .
9
336
I?
0
347
Cl....
2
gj(
c.1 . . . .
ci
!’
c-i....
0
(’
0 . . . .
ri
i!
i i . . . . 5
c
il.. . .
0
,(,
(1.. . . 20 Il

8 7
pppaa.longpir (SUN)
Format(915,F7.1,215,5014)
I~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~l
Port Qz
Année
Mois
Jour
No Pirogue Engin
Lieu
Prof.
.
l~~~~‘~~~~~~~~~~~~~~~~~~~l m m - - - llllllll(
Poids
Code
Nombre Long1 Long2
Long49 Long50
de
(nouveau) de
I’espèce
longueurs
1 6
1-j
6 . 5 3 0 16
6
3 6
4 5
4 0
4 2
3 1
ns)....
(I
i!
,>
9
3
39.6 3015
5
75
111
-1 6
13
71
1.1..,...”
,.!
’ )
I
2 4
3
3 . 7 31Ji77
4
40
3 1
36
45
10
ii.. . .
0
Il
(8
2 4
.s
3 8 . 2
??II115
5
79
79
68
14
‘7 ‘2
C!. . . .
i:r
,Y’
,
36
T’
3 2 . 0 3Oi5
4
80
7i:
17
I(I
!i .
1-i
.<...~

!I
0
/,

88
regio.ley (SUN)
Format (15,1X,A22))
N” de la
Nom de la région
région
1 FLEUVE
2 LOUGA
3 FHIES NORD
4 CAP VERT
5 THIES SUD
6 SALOUM
7 CASAMANCE
8 THIES NORD+SUD

ANNEXE V: Listing des programmes sources
CONTROLl
EXEC
FI * CLEAR
FI 1 DISK PA2 MB092 1 ( RECFM FB LRECL 80 BLKSIZE 8000
FI FT03FOOl DISK CODA75 DATA 1
FI FT03FOO2 DISK CODA83 DATA 1
FI FT03FO03 DISK CODA85 DATA 1
FI 4 DISK MENSU891 DATA D
FI 6 DISK ESSJOA LISTING 1
FI 40 TERM
* ANNEE ;MOIS (0
POUR ANNEE , OU N- DU MOIS );No PORT;NBRE FCHIERS,NB ESP
&BEGSTACK
92 4 51
1 201
&END
LOAD CONTROLl ( START
&EXIT
**************************X***********************************************~~~~~~~~
*
*CON00020
*
PROGRAMME DE: CONTROLE TECHNIQUE DES DONNEES DE LA PECHE ARTISANALE
*CON00030
*
*CON00040
*
CE PROGRAMME FAIT APPEL AUX SOUS-PROGRAMMES
*CON00050
*
*CON00060
*
- CARTE0
*CON0007 0
*
- CARTE1
*CON00080
*
- CARTE2
*CON00090
*
- CAR?'11
*CON00100
*
- CAR?'22
*CON00110
*
- CAR?'20
*CON00120
*
MODIFIE LE 18/03/92 PAR J. FERRARIS
*CON00130
***k'~**************************k******************************************CONOOl40
*
CON00150
*
CON00160
*
DATE: DATE DE LA CARTE 0 , NBRE DE JOURS ENQUETES , NUM.PORT
CON00170
*
TABESP: TABLEAU CONTENANT POUR CHAQUE ESPECE LONG.MIN , LONG.MAX CON00180
INFO: NBRE DE CARTE 1 (
TROWER , DEJA TROWER)... IDEM CARTE 2 CON00190
,NUMERO-CARTE ,DERN.ESP.TRAITE, CONTENU DE LA CARTE
CON00200
UNITE 1 : FICHIER PA XXXNN
CON00210
UNITE 4 : FICHIER MENSU891 DATA
CON00220
UNITE 6 : FICHIER SORTIE
CON00230
UNITE 40: TERMINAL
CON00240
CON00250
DEBUG SUBCHK,UNIT(G)
CON00260
END DEBUG
CON00270
COMMON /DATE/NAO,MOISO,JOURO,NCO,NPORO,NESPO
CON00280
COMMON /TABESP/INCOD(99,3),LLESP(220,3),JB
CON00290
COMMON /INFO/NCl,NClT,NC2,NC2T,NBCAR,IESP,CARTE
CON00300
INTEGER CO(31)
CON00310
CHARACTER*79 CARTE
CON00320
NFICH = 1
CON00330
MOIS0 = 1
CON00340
JOUR0 = 0
CON00350
NC1 = 0
CON00360
NClT = 0
CON00370
NC2 = 0
CON00380
NC2T = 0
CON00390
C
LECTURE CARTE PARAMETRE ( ANNEE , MOIS , PORT ,NB.FICH,NB.ESP)
CON00400
C
CON00410
1.113. READ(5,5O0)NAO,MOIST,NPORO,NFIC,NESPO
CON00420
IF(NESPO.GT.22O)THEN
CON00430
WRITE(40,*)
CON00440
1' REVOIR :LE PROGRAMME AVEC L INFORMATICIEN DU CRODT'
CON00450
WRITE(40,")'
NE PEUT PAS DEPASSER 220 ESPECES '
CON00460
STOP
CON00470
ENDIF
CON00480

c
90
CON00490
C
LECTURE DU FICHIER MENSUP
CON00500
r,
L
CON00510
DO 20 1 = 1 I NESPO
CON00520
READ(4,15,)(LLESP(I,J),J=1,3)
CONOO53O
c
PRINT *,
(LLESP(I,J),J=1,3)
CON00540
* 15
FORMAT(12X,I3,15)
CON00550
15
FORMAT(8X,I3,14,5X,I5)
CON00560
20 CONTINUE
CON00570
***** VOIR LE C'ODE ACTUEL SUIVANT ANNEE DE CODAGE
CON00580
DO 934 X:l = 1, 3
CON00590
DO 933 K2 = 1, 100
CON00600
READ(3,233,END=934)I,INCOD(I,Kl)
CON00610
933
CONTINUE
CON00620
934
CONTINUE
CON00630
233
FORMAT (5X,315)
CON00640
C
CON00650
500 FORMAT(5I5)
CON00660
JB = 3
CON00670
IF(NAO.GE.74.AND.NAO.LE.82)JB
= 1
CON00680
IF(MOIST.EQ.O)MOISO = 1
CON00690
IF(MOIST.NE.O)MOISO = MOIST
CON00700
IF(NAO.GT.82.AND.NAO.LE.84)JB
= 2
CON00710
ASSIGN 100 TO IFORM
CON00720
IF(NAO.LE.84)ASSIGN 110 TO IFORM
CON00730
C
CON00740
C
LECTURE CARTE 0 ( 1 RE CARTE )
CON00750
CON00760
READ(l,FMT=IFORM,END=99)(CO(I),I=1,5)
CON00770
100 FORMAT(Il,412)
CON00780
110 FORMAT(IL,Il,312)
CON00790
WRITE(4O,*)(CO(I),I=l,5)
CON00800
NC0 = 0
CON00810
IF(C0(2).NE.NPORO.OR.C0(4).NE.MOISO.OR.C0(5).NE.l)THEN
CON00820
WRITE(40,*)
CON00830
1'LE FICHIER DOIT COMMENCER PAR UNE CARTE 0 DU l/',MOISO,'/',NAO
CON00840
99 WRITE(40,*)'REVOIR LE FICHIER'
CON00850
STOP
CON00860
ENDTF
CON00870
BACKSPACE 1
CON00880
NBCAR = 0
CON00890
ASSIGN 1.05 TO IFORM
CON00900
IF(NAO.LE.84)ASSIGN
106 TO IFORM
CON00910
1 READ(l,FMT=IFORM,END=999)ID,CARTE
CON00920
2000 NBCAR = NBCAR + 1
CON00930
105 FORMAT(Il,A79)
CON00940
106 FORMAT(I2,A78)
CON00950
IF(ID.EQ.0) THEN
CON00960
CALL CARTE0
CON00970
ELSE
CON00980
IF(ID.EQ.l.OR.ID.EQ.21) THEN
CON00990
IF(NAO.GE.89)THEN
CON01000
CALL CARTll
CON01010
ELSE
CON01020
CALL CARTE1
CON01030
ENDIF
CON01040
ELSE
CON01050
IF(ID.EQ.2.OR.ID.EQ.22) THEN
CON01060
IF(NAO.GE.89)THEN
CON01070
CALL CART22
CON01080
ELSE
c0N01090
CALL CARTE2
CON01100
ENDIF
CON01110
ELSE
CON01120
IF(ID.EQ.20) THEN
CON01130
CALL CART20
CON01140
ELSE
CON01150
WRITE(6,120)NBCAR,ID,CARTE
CON01160
12 O
FORMAT(' CARTE Nx : ',15,5X,'CODE INVALIDE. . <.',14X,Il,A79)
CON01170
ENDIF
CON01180
ENDIF
CON01190

ENDIF
91
CON01200
ENDIF
CON01210
GOTO 1
CON01220
*
CON01230
*
DERNIERES
VERIFICATIONS
CON01240
*
CON01250
999 CONTINUE
CON01260
IF(NAO.GE.89.AND.NFICH.LT.NFIC)THEN
CON01270
NFICH=NFICH+l
CON01280
READ(l,FMT=IFORM,END=l999)ID,CARTE
CON01290
WRITE(6,IFORM)ID,CARTE
CON01300
NBCAR = 0
CON01310
GOTO 2000
CON01320
ENDIF
CON01330
C
CON01340
C
VERIFICATION DES CARTES 2
CON01350
L
CON01360
1999 IF(NC2T.LT.NC2) THEN
CON01370
NM0 = NC;:-NC2T
CON01380
WRITE(G,l.Ol)NBCAR,NMO
CON01390
101 FORMAT(' CARTE Nx : ',215,' CARTE 2 MQTES OU NB.STE FAUX‘)
CON01400
NC2 = 0
CON01410
NC2T= 0
CON01420
ENDIF
CON01430
C
CON01440
C
VERIFICATION DES CARTES 1
CON01450
c
CON01460
IF(NClT.LT.NCl) THEN
CON01470
NM0 = NCI-NClT
CON01480
WRITE(6,102)NBCAR,NMO
CON01490
.02 FORMAT(' CARTE Nx : ',215,'
CARTE 1 MQTES OU NB.ENQ FAUX')
CON01500
NC1 = 0
CON01510
NClT= 0
CON01520
ENDIF
CONo
L
CON01540
C
CONTROLE DU NOMBRE TOTAL DE CARTES 0
CON01550
L
CON01560
IF(MOIST.EQ.O)THEN
CON01570
IF(NCO.LT.365.OR.NCO.GT.366) THEN
CON01580
WRITE(6,122)NCO
CON01590
WRITE(6,123)
CON01600
ENDIF
CON01610
ENDIF
CON01620
IF(MOIST.NE.O)THEN
CON01630
IF (MOIST.EQ.1) INJO=
CON01640
IF (MOIST.EQ.3) INJO=
CON01650
IF (MOIST.EQ.4) INJO=
CON01660
IF (MOIST.EQ.5) INJO=
CON01670
IF (MOIST.EQ.6) INJO=
CON01680
IF (MOIST.EQ.7) INJO=
CON01690
IF (MOIST.EQ.8) INJO=
CON01700
IF (MGIST.EQ.9) INJO=
CON01710
IF (MOIST.EQ.lO) INJO=
CON01720
IF (MCIST.EQ.ll) INJO=
CON01730
IF (MCIST.EQ.12) INJO=
CON01740
INJOM=INJO
CON01750
IF (MCIST.EQ.2) INJO=
CON01760
IF (MOIST.EQ.2) INJOM=29
CON01770
IF(NCO.LT.INJO.OR.NCO.GT.INJOM) THEN
CON01780
WRITE(6,122)NCO
CON01790
WRITE(6,123)
CON01800
ENDIF
CON01810
ENDIF
CON01820
122 FORMAT(5X,I7,'
CARTES 0 POUR TOUT LE FICHIER...')
CON01830
12'3 FORMAT(lX, '
***** EXCES OU MANQUE DE CARTE 0
***** 0 )
CON01840
STOP
CON01850
END
CON01860

92
C A R T E 0
FORTRAN
SUBROUTINE CARTE0
CAR00010
x**********************************************************~~~~~~~~~~~*~~
CAR00020
*
SUBROUTINE DE VERIFICATION DE LA CARTE ZERO.
*
CAR00030
*
VERICATION DES CARTES 2 . ..DE LA CARTE 1 PRECEDENTE.
*
CAR00040
*
VERICATION DES CARTES 1 . ..DE LA CARTE 0 PRECEDENTE.
x
CAR00050
*
VERIFICATION DE LA COHERENCE AVEC LA CARTE ZERO PRECEDENTE.
*
CAR00060
*
VERIFICATION DE LA CARTE 0 .
*
CAR00070
*
MODIFIE PAR J FERRARIS LE 17/03/92 *
CAR00080
****X***XX***********************************~~~~~~~~~~*~~~~~~~~~~~~~~
CAR00090
*
CAR00100
COMMON /DATE/NAO,MOISO,JOURO,NCO,NPORO,NESPO
CAR00110
COMMON /TABESP/INCOD(99,3),LLESP(220,2),JB
CAR00120
COMMON ,'INFO/NCl,NClT,NC2,NC2T,NBCAR,IESP,CARTE
CAR00130
INTEGER IER(30),MIN(3O),MAX(3O),ID(30)
CAR00140
CHARACTER*79 CARTE
CAR00150
CHARACTER"3 ERR(30)
CAR00160
DATA ERR/30*' "/
CAR00170
DATA IER/30*0/
CAR00180
DATA MIN/1,74,1,1,26*0/
CAR00190
DATA MAx/75,99,12,31,1,1,500,99,500,200,99,99,50,2*99,200
CAR00200
1,2*100,5*0,5*99,50,99/
CAR00210
ASSIGN 100 TO IFORM
CAR00220
IF(NAO.GT.85)ASSIGN 190 TO IFORM
CAR00230
IF(NPORO.LT.4O)MAX(l2)=0
CAR00240
IF(NPORO.GT.5O)MAX(l5)=500
CAR00250
IF(NPORO.GT.SO)THEN
CAR00260
MAX(22)=99
CAR00270
ENDIF
CAR00280
IF(NPORO.GT.GO)THEN
CAR00290
MAx(20) =99
CAR00300
MAX(21)=99
CAR00310
MAx(22) =99
CAR00320
MAx(23) =99
CAR00330
ENDIF
CAR00340
READ(CARTE,FMT=IFORM)ID
CAR00350
103 F0RMAT(412,211,13,12,213,2012,18X)
CAR00360
19<3 F0RMAT(412,211,13,12,213,412,213,1412,16X)
CAR00370
C
CAR00380
C
VERIFICATION DES CARTES 2
CAR00390
C
CAR00400
NUCAR = NBCAR - 1
CAR00410
IF(NC2T.LjT.NC2) THEN
CAR00420
NM0 = NC2-NC2T
CAR00430
WRITE(G,lOl)NUCAR,NMO
CAR00440
101 FORMAT(' CARTE Nx : ',215,' CARTES 2 MQTES OU NB.STE FAUX')
CAR00450
NC2 = 0
CAR00460
NC2T= 0
CAR00470
ENDIF
CAR00480
C
CAR00490
C
VERIFICATION DES CARTES 1
CAR00500
C
CAR00510
IF(NClT.LT.NCl) THEN
CAR00520
NM0 = NCl-NClT
CAR00530
WRITE(6,102)NUCAR,NMO
CAR00540
102 FORMAT(' CARTE Nx : ',215,' CARTE 1 MQTES OU NB ENQ FAUX')
CAR00550
NC1 = 0
CAR00560
NClT= 0
CAR00570
ENDIF
CAR00580
C
CAR00590
C
VERIFICATION DE LA COHERENCE AVEC LA CARTE ZERO PRECEDENTE
CAR00600
C
CAR00610
IF((ID(3).EQ.MOISO.~D.ID(4).LT.JOURO).OR.ID(3).LT.MOISO )THEN
CAR00620
WRITE(6,103)NBCAR,CARTE
CAR00630
103 FORMAT(' CARTE Nx : ',15,'
ERREUR DATE CARTE 0 ',11X , 'O',A79) CAR00640
ENDIF
CAR00650
IF(ID(3).EQ.MOISO.AND.ID(4).GT.(JOURO+1))THEN
CAR00660
WRITE(6,104)NBCAR,CARTE
CAR00670

104 FORMAT(' CARTE Nx : ',15,'
93SAUT DE JRS ENTRE DATE CARTE 0',
CAR00680
14X,'O',A79)
CAR00690
ENDIF
CAR00700
IF(ID(3).GT.MOISO.~D.(ID(4).NE.1.OR.JOURO.LT.28))THEN
CAR00710
WRITE(6,104)NBCAR,CARTE
CAR00720
ENDIF
CAR00730
C
CAR00740
C
VERIFICATION DE LA CARTE 0
CAR00750
c
CAR00760
DO 10 1 =: 1 , 30
CAR00770
IF(ID(I).LT.MIN(I,.OR.ID(I).GT.MAX(I))THEN
CAR00780
IER(I) = 1
CAR00790
ERR(1) = '***'
CAR00800
ENDIF
CAR00810
10 CONTINUE
CAR00820
IF(ID(l).NE.NPORO) THEN
CAR00830
IER(l) = 1
CAR00840
ERR(1) = '***'
CAR00850
ENDIF
CAR00860
IF(ID(2).NE.NAO) THEN
CAR00870
IER(2) = 1
CAR00880
ERR(2) = ****'
CAR00890
ENDIF
CAR00900
IERT = 0
CAR00910
DO 20 1 =: 1,30
CAR00920
IF(IER(I).EQ.l)IERT = 1
CAR00930
20 CONTINUE
CAR00940
IF(IERT.EQ.l)THEN
CAR00950
WRITE(6,12O)NBCAR,CARTE
CAR00960
ASSIGN 121 TO IFORM
CAR00970
IF(NAO.GT.85)ASSIGN 191 TO IFORM
CAR00980
WRITE(6,FMT=IFORM)(ERR(I),I=l,3O)
CAR00990
121 FORMAT(53X,4A2,2Al,A3,A2,2A3,4A2,2A3,14A2)
CAR01000
191 FORMAT(53X,4A2,2Al,A3,A2,2A3,2OA2)
CAR01010
120 FORMAT(' CARTE Nx : ',15,35X,'O',A79)
CAR01020
ENDIF
CAR01030
IF(IER(3).EQ.O)MOISO = ID(3)
CAR01040
IF(IER(4).EQ.O)JOURO = ID(4)
CAR01050
*
NBRE DE CARTES 0 TRAITEES
CAR01060
NCO = NCO + 1
CAR01070
IF(IER(30).EQ.O) THEN
CAR01080
NCl = ID(30)
CAR01090
NClT= 0
CAR01100
NC2 = 0
CAR01110
NC2T= 0
CAR01120
ENDIF
CAR01130
DO 555 1=1,30
CAR01140
IER(I) = 0
CAR01150
ERR(1) = ' '
CAR01160
555 CONTINUE
CAR01170
RETURN
CAR01180
END
CAR01190
CARTE1
FORTRAN
SUBROUTINE CARTE1
CAR00010
****~**********************************k****~****************~**~~~*~~
CAR00020
*
SUBROUTINE DE VERIFICATION DE LA CARTE UN .
*
CAR00030
*
VERICATION DES CARTES 2 . . .DE LA CARTE 1 PRECEDENTE.
*
CAR00040
*
VERIFICATION DE LA COHERENCE AVEC LES CARTES UN ET ZERO
.
*
CAR00050
*
VERIFICATION DE LA CARTE 1 .
*
CAR00060
****r*xx********************************************************~~~~~~**~*
CAR00070
*
CAR00080
COMMON /DATE/NAO,MOISO,JOURO,NCO,NPORO,NESPO
CAR00090
COMMON /TABESP/INCOD(99,3),LLE S P(220,3),JB
CAR00100
COMMON /INFO/NCl,NClT,NC2,NC2T
NBCAR,IESP,CARTE
CAR00110
INTEGER IER(36),MIN(36),MAX(36
,ID(36)
CAR00120
CHARACTER"79 CARTE
CAR00130
CHARACTER*3 ERR(36)
CAR00140
DATA ERR/36*' '/
CAR00150
DATA IER/36*0/
CAR00160


ERR(E;) = I***I
95
CAR00880
NClT = ID(5)
CAR00890
ENDIF
CAR00900
IF(IER(12).EQ.OjNC2 = ID(12)
CAR00910
C
CAR00920
C
VERIFICATIONS DES LONGUEUR , TYPE ET QUANTITE
CAR00930
C
CAR00940
DO 1000 I = 1, 3
CAR00950
IN = 1
CAR00960
K = ( I -1)*8+13
CAR00970
IF(ID(K).EQ.O.AND.I.GT.l)IESP
= ID(K-8)
CAR00980
IF(ID(K).EQ.O.AND.I.GT.l)IN=3
CAR00990
IF(ID(K).NE.O.AND.ID(K+l).EQ.O.AND.ID(K).NE.IESP)
THEN
CAR01000
IER(K+l) = 1
CAR01010
ERR(K+l.) = '***'
CAR01020
ENDIF
CAR01030
IF(ID(K).NE.O.AND.ID(K+2).EQ.O.AND.ID(K).NE.IESP)
THEN
CAR01040
IER(Kt2) = 1
CAR01050
ERR(K+2) = '***'
CAR01060
ENDIF
CAR01070
IF(ID(K).EQ.O.AND.I.GT.l)ID(K)
= ID(K-8)
CAR01080
IF(ID(K).GT.O) IESP=ID(K)
CAR01090
C
IF(ID(K).EQ.22)WRITE(7,FMT=l25)
(ID(JIJ),JIJ=K,Kt7)
CAR01100
IF(IER(K).EQ.l)GOTO 1000
CAR01110
IF(ID(K).EQ.O) THEN
CAR01120
DO 20 J = IN,7
CAR01130
IF(ID(K+J).NE.O) THEN
CAR01140
IER(K+J) = 1
CAR01150
ERR(K+J) = '***'
CAR01160
ENDIF
CAR01170
20
CONTINUE
CAR01180
ELSE
CAR01190
IF(I.GT.l)GO TO 33
CAR01200
DO 30 J = 1,2
CAR01210
IF(ID(K+J).EQ.O) THEN
CAR01220
IER(K+J) = 1
CAR01230
ERR(K+J) = '***'
CAR01240
ENDIF
CAR01250
3 9
CONTINUE
CAR01260
33
CONTINUE
CAR01270
LI=K+2
CAR01280
ISP = INCOD(ID(K),JB)
CAR01290
IF(ISP.EQ.999)ISP = NESPO
CAR01300
IF(ID(K+1).EQ.l.AND.ID(K+2j.GT.LLESP(ISP,3j)THEN
CAR01310
IER(K+2) = 1
CAR01320
ERR(K+2) = '***'
CAR01330
ENDIF
CAR01340
IF(ID(K+l).EQ.3.AND.ID(K+2).GT.g9)THEN
CAR01350
IER(K+2) = 1
CAR01360
ERR(K+2) = '***'
CAR01370
ENDIF
CAR01380
INBR = 0
CAR01390
DO 40 J = 1,5
CAR01400
KK = LI + J
CAR01410
IF(ID(KI~).EQ.O)GOTO 40
CAR01420
INBR = INBR + 1
CAR01430
IF(ID(KKj.GT.LLESP(ISP,l).OR.ID(KKj.LT.LLESP(ISP,2))THEN
CAR01440
IER(KK) = 1
CAR01450
ERR(KK) = '***'
CAR01460
ENDIF
CAR01470
4 0
CONTINUE
CAR01480
IF(ID(K).EQ.l.AND.INBR.GT.ID(K+2))THEN
CAR01490
IER(K+2) = 1
CAR01500
ERR(K+2) = '***'
CAR01510
ENDIF
CAR01520
ENDIF
CAR01530
1000 CONTINUE
CAR01540
c
CAR01550
C
RECAPITULATIONS
CAR01560
C
CAR01570
IERT = 0
CAR01580

DO 50 1 =: 1,36
96
CAR01590
IF(IER(I).EQ.l)IERT = 1
CAR01600
50 CONTINUE
CAR01610
IF(IERT.EQ.l)THEN
CAR01620
ASSIGN 121 TO IFORM
CAR01630
ASSIGN 120 TO IFORI
CAR01640
IF(NAO.LE.84)ASSIGN 122 TO IFORM
CAR01650
IF(NAO.LE.84)ASSIGN 123 TO IFORl
CAR01660
WRITE(G,FMT=IFORl)NBCAR,CARTE
CAR01670
WRITE(6,FMT=IFORM)(ERR(I),I=l,36)
CAR01680
125 FORMAT(8I5)
CAR01690
120 FORMAT(' CARTE Nx : ',15,35X,'l',A79)
CAR01700
123 FORMAT(' CARTE Nx : ',15,35X,'21',A79)
CAR01710
121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAR01720
c 122 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAR01730
122 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAR01740
ENDIF
CAR01750
DO 555 1 = 1 ,36
CAR01760
IER(I) = 0
CAR01770
ERR(1) = ' '
CAR01780
555 CONTINUE
CAR01790
RETURN
CAR01800
END
CAR01810
CARTll FORTRAN
SUBROUTINE CARTll
CAR00010
***x**x*****************************************************~~~~~~~*~~
CAR00020
*
SUBROUTINE DE VERIFICATION DE LA CARTE UN .
*
CAR00030
*
VERICATION DES CARTES 2 . . .DE LA CARTE 1 PRECEDENTE.
*
CAR00040
*
VERIFICATION DE LA COHERENCE AVEC LES CARTES UN ET ZERO
.
*
CAR00050
*
VERIFICATION DE LA CARTE 1 .
*
CAR00060
*
MODIFIE PAR J FERRARIS LE 17/03/92
*
CAR00070
**************x******************x******~~~*~~~~~~~~~*~~~~~~~~~~~~~~~~
CAR00080
*
CAR00090
COMMON /DATE/NAO,MOISO,JOURO,NCO,NPORO,NESPO
CAR00100
COMMON /INFO/NCl,NClT,NC2,NC2T,NBCAR,IESP,CARTE
CAR00110
INTEGER IER(l2),MIN(l2),MAX(l2),ID(l2)
CAR00120
CHARACTEh*79 CARTE
CAR00130
CHARACTER*3 ERR(12)
CAR00140
DATA ERR/12*' '!
CAR00150
DATA IER/12*0/
CAR00160
DATA MIN/1,89,4*1,0,1,4*0/
CAR00170
DATA MAX/75,99,12,31,99,24,8,3*99,9,99/
CAR00180
C
CONTROLE DU LIEU DE PECHE
CAR00190
IF (NPORO.EQ.11) MAX(10)=55
CAR00200
IF (NPOR0.EQ.31) MAX(10)=40
CAR00210
IF (NPOR0.EQ.32) MAX(10)=14
CAR00220
IF (NPOR0.EQ.33) MAX(10)=14
CAR00230
IF (NPORO.EQ.41) MAX(10)=46
CAR00240
IF (NPOR0.EQ.42) MAX(10)=36
CAR00250
IF (NPOR0.EQ.43) MAX(10)=45
CAR00260
IF (NPOR0.EQ.44) MAX(10)=41
CAR00270
IF (NPOR0.EQ.45) MAX(10)=90
CAR00280
IF (NPORO.EQ.51) MAX(10)=39
CAR00290
IF (NPOR0.EQ.52) MAX(10)=22
CAR00300
ASSIGN 100 TO IFORM
CAR00310
READ(CARTE,FMT=IFORM)ID
CAR00320
100 F0RMAT(612,11,312,11,4X,12)
CAR00330
c
CAR00340
c
VERIFICATION DES CARTES 2 DE LA CARTE 1 PRECEDENTE
CAR00350
C
CAR00360
IF(NC2T.LT.NC2) THEN
CAR00370
NM0 = NC2-NC2T
CAR00380
NUCAR = NBCAR - 1
CAR00390
WRITE(6,1Ol)NUCAR,NMO
CAR00400
1O:L FORMAT(' CARTE Nx : ',215,' CARTE 2 MQTES OU NB.STE FAUX')
CAR00410
ENDIF
CAR00420
NC2T= 0
CAR00430
C
CAR00440
C
VERIFICATION DE LA COHERENCE AVEC CARTE 1 ET 0.
CAR00450

C
97
ZAROO460
IF((NClT+l) .GT.NCl) THEN
CAR00470
NM0 = NClT-NC1 + 1
CAR00480
WRITE(6,102)NBCAR,NMO
CAR00490
102 FORMAT(' CARTE Nx',2I5,' CARTES 1 EN TROP OU NB.ENQ FAUX')
CAR00500
ENDIF
CAR00510
NClT = NClT + 1
CAR00520
CAR00530
VERIFICATION DE LA CARTE 1
CAR00540
CAR00550
IF (ID(lO).EQ.99)
ID(lO)=MAX (10)
CAR00560
DO 10 1 = 1 , 12
CAR00570
IF(ID(I).LT.MIN(I).OR.ID(I).~ GT.MAX(I))THEN
CAR00580
IER(I) = 1
CAR00590
ERR(1) = '***'
CAR00600
ENDIF
CAR00610
CONTINUE
CAR00620
IF(ID(l).NE.NPORO) THEN
CAR00630
IER(l) = 1
CAR00640
ERR(1) = '***'
CAR00650
ENDIF
CAR00660
IF(ID(2).NE.NAO) THEN
CAR00670
IER(L) = 1
CAR00680
ERR(2) = '***'
CAR00690
ENDIF
CAR00700
IF(ID (3).NE.MOISO) THEN
CAR00710
IER(3 ) =1
CAR00720
ERRi3 1 = I ***a
CAR00730
CC
CAR00740
MOIS0 = ID(3)
CAR00750
CC
CAR00760
ENDIF
CAR00770
IF(ID (4).NE.JOURO) THEN
CAR00780
IER(4 I=l
CAR00790
ERR(4 ) = I *** 8
CAR00800
cc
CAR00810
JOUR0 = ID(4)
CAR00820
cc
CAR00830
ENDIF
CAR00840
IF(ID(5).NE.NClT) THEN
CAR00850
IER(5) = 1
CAR00860
ERR(5) = '***'
CAR00870
NClT = ID(5)
CAR00880
ENDIF
CAR00890
IF(IER(12).EQ.O)NC2 = ID(12)
CAR00900
C
CAR00910
C
CAR00920
C
RECAPITULATIONS
CAR00930
C
CAR00940
IERT = 0
CAR00950
DO 50 1 = 1,12
CAR00960
IF(IER(I).EQ.l)IERT = 1
CAR00970
50 CONTINUE
CAR00980
IF(IERT.EQ.l)THEN
CAR00990
ASSIGN 121 TO IFORM
CAR01000
ASSIGN 120 TO IFORl
CAR01010
WRITE(G,FMT=IFORl)NBCAR,CARTE
CAR01020
WRITE(6,FMT=IFORM)(ERR(I),I=l,l2)
CAR01030
120 FORMAT(' ,CARTE Nx : ',15,35X,'l',A79)
CAR01040
121 FORMAT(53X,6A2,A1,3A2,Al,4X,A2)
CAR01050
ENDIF
CAR01060
DO 555 1 = 1 ,12
CAR01070
IER(I) = 0
CAR01080
ERR(1) = ' '
CAR01090
555 CONTINUE
CAR01100
RETURN
CAR01110
END
CAR01120
1 CARTE2
FORTRAN 1
SUBROUTINE CARTE2
CARGO010





C
102
CAR00310
C
VERIFICATION DE LA CARTE 2
CAR00320
c
CAR00330
DO 10 1 = 1 , 15
CAR00340
IF(ID(I).LT.MIN(I).OR.ID(I).GT.MAX(I))THEN
CAR00350
IER(I) = 1
CAR00360
ERR(I) = I***I
CAR00370
ENDIF
CAR00380
10 CONTINUE
CAR00390
c
CAR00400
C
VERIFICATIONS DES LONGUEUR , TYPE ET QUANTITE
CAR00410
c
CAR00420
IF(ID(l).EQ.O.AND.NC2T.EQ.l)
THEN
CAR00430
IER(l) = 1
CAR00440
ERR(l) = '***'
CAR00450
ENDIF
CAR00460
IF(ID(l).EQ.O.AND.NC2T.GT.l)
THEN
CAR00470
IF(ID(2).GT.O.OR.ID(3).GT.O)
THEN
CAR00480
IER(l) = 1
CAR00490
ERR(l) = '***'
CAR00500
ENDIF
CAR00510
ENDIF
CAR00520
IF(ID(l).EQ.999)ID(l)=NESPO
CAR00530
IF(ID(l).GT.NESPO) THEN
CAR00540
IER(l) = 1
CAR00550
ERR(1) = '***'
CAR00560
ENDIF
CAR00570
IF(ID(2).EQ.O.AND.ID(l).GT.O)THEN
CAR00580
IER(2) = 1
CAR00590
ERR(2) = '***'
CAR00600
ENDIF
CAR00610
IF(ID(3).EQ.O.AND.ID(l).GT.O)THEN
CAR00620
IER(3) = 1
CAR00630
ERR(3) = '***'
CAR00640
ENDIF
CAR00650
IF(ID(2).EQ.l.AND.ID(3).GT.LLESP(ID(l),3))THEN
CAR00660
IER(2) = 1
CAR00670
ERR(2) = '***'
CAR00680
ENDIF
CAR00690
IF(ID(2).EQ.3.AND.ID(3).GT.g9)THEN
CAR00700
IER(2) = 1
CAR00710
ERR(2) = I***I
CAR00720
ENDIF
CAR00730
INBR = 0
CAR00740
DO 40 J = 1,12
CAR00750
KK = 3 + J
CAR00760
IF(ID(KK).EQ.O)GOTO 1000
CAR00770
INBR = INBR + 1
CAR00780
IF(ID(KK).GT.LLESP(ID(~),l).OR.ID(KK).LT.LLESP(ID(l),2))THEN
CAR00790
C
PRINT *,ID(l),LLESP(ID(l),l)
CAR00800
IER(KK) = 1
CAR00810
ERR(KK) = '***'
CAR00820
ENDIF
CAR00830
IF(ID(2).EQ.l.AND.INBR.GT.ID(3))THEN
CAR00840
IER(2) = 1
CAR00850
ERR(2) = '***'
CAR00860
ENDIF
CAR00870
4 0
CONTINUE
CAR00880
1000 CONTINUE
CAR00890
C
CAR00900
C
RECAPITULATIONS
CAR00910
C
CAR00920
IERT = 0
CAR00930
DO 50 1 = 1,15
CAR00940
IF(IER(I).EQ.l)IERT = 1
CAR00950
50 CONTINUE
CAR00960
IF(IERT.EQ.l)THEN
CAR00970
ASSIGN 121 TO IFORM
CAR00980
ASSIGN 120 TO IFORl
CAR00990
WRITE(6,FMT=IFORl)NBCAR,CARTE
CAR01000
WRITE(6,FMT=IFORM)(ERR(I),I=l,l5)
CAR01010

103
120 FOFUAT(' CARTE Nx : ',15,35X,'2',A79)
CAR01020
121 FORMAT(5~~X,A3,A1,13A3)
CAR01030
ENDIF
CAR01040
DO 555 I=l,15
CAR01050
IER(I) = 0
CAR01060
ERR(1) = ' '
CAR01070
555 CONTINUE
CAR01080
RETURN
CAR01090
END
CAR01100

1 0 4
I
C O A L F E X E C
I
FI * CLEAR
FI 12 DISK PA2 MB092 1
( RECFM FB LRECL 80 BLKSIZE 8000
FI 6 DISK COALFJOA LISTING 1
FI 40 TERM
* ANNEE ;MOIS (0
POUR ANNEE , OU N- DU MOIS );No PORT;NBRE FCHIERS,NB ESP
&BEGmSTACK
51. 92
&END
LOAD COALF ( START
CrEXIT
COALF
FORTRAN
C
PROGRAMME CONTROLB CHECK BLANCS EN FIN DE CHAMPS
COAOOOlO
C
FICHIERS PA
COA00020
C
EN ENTREE UNITE 12 FICHIER DE DONNEES
COA00030
C
EN SORTIE UNITE 6 LISTING ERREURS
COA00040
C CHAQUE CHAMP DE + DE 2 CHARACTERS EST VERIFIE: SI LA DERNIERE
COA00050
C COL EST EN BLANC ET L'AVANT DERNIERE NON-BLANC => ERREUR
cOA00060
CHARACTER.*3 D0(30),D1(36),D2(32),DVAL
COA00070
CHARACTEF.*3 ERR(36),LPO
COA00080
CHARACTER*ll DEB
COA00090
INTEGER
M0(3O),M1(36),M2(32)
COAOOlOO
INTEGER 1C89(30);0,2,2,2,0,0,3,2,3,3,2,2,2,3,16*0/
COA00110
INTEGER IC90(30)/'2,2,2,2,0,0,3,2,3,3,20*2/
COA00120
INTEGER IC91(30);2,2,2,2,0,0,3,2,3,3,4*2,3,3,14*2/
COA00130
INTEGER IC93(36)/2,2,2,2,2,2,0,2,2,2,0,2,2,0,3,5*2,
COA00140
1
2,0,3,5*2,2,0,6*3/
COA00150
INTEGER IC92(36)/0,2,2,2,2,0,0,2,2,2,0,2,2,0,3,5*2,
COA00160
1
2,0,3,5*2,2,0,6*3/
COA00170
INTEGER IC94(32)/2,0,3,5*2,2,0,3,5*2,2,0,3,5*2,2,0,6*3/
COA00180
INTEGER IC993(12)/2,2,2,2,2,2,0,2,2,2,0,2/
COA00190
INTEGER IC994(15)/3,0,13*3/
COA00200
NTR=î2
COA00210
NREG=O
COA00220
C PORT ANNEE POUR CHECK FICHIER
COA00230
READ(5,98) LPO,IAN
COAOO240
C
READ(5,98) IP,IAN
COA00250
C 9.3 FORMAT(215)
COA00260
C
PRINT *, 'PORT ET ANNEE
',IP,IAN
COA00270
PRINT *, 'PORT ET ANNEE
',LPO,IAN
COA00280
c
COA00290
C LECTURE CARTE 20
COA00300
ASSIGN 89 TO IFORM
COA00310
ASSIGN 92 TO ICl
COA00320
ASSIGN 94 TO IC2
COA00330
ASSIGN 889 TO IEFORM
COA00340
ASSIGN 892 TO IECl
COA00350
ASSIGN 894 TO IEC2
COA00360
IMAX=30
COA00370
IF(IAN .EQ.85) ASSIGN 90 TO IFORM
COA00380
IF(IAN .GT.85) ASSIGN 91 TO IFORM
COA00390
IF(IAN .GE.85) ASSIGN 93 TO ICI
CO400400
IF(IAN .EQ.85) ASSIGN 890 TO IEFORM
COA00410
IF(IAN .GT.85) ASSIGN 891 TO IEFORM
COA00420
IF(1A.N .GE.85) ASSIGN 893 TO IECl
COA00430
IF(IAN .LE.84) IMAX=î$
COA00440
JFORM=89
COA00450
JC1=92
COAOO460
JC2=94
COA00470
IF(IAN .EQ.85) JFORM=90
COA00480
IF(IAN .GT.85) JFORM=91
COA00490
IF(IAN .GE.85) JC1=93
COA00500
Il:! CONTINUE
COAOO51O
DO 330 I=l,30
COA00520
330 MO!I)=0
COA00530

105
c--------------------------------- ---.---------- ----.--------_-------.
COA00540
C
LECTURE CARTES @,2O
COA00550
READ(NTR,FMT=IFORM,END=9500)
(MO(I),I=l,IMAX),(DO(I),I=1,IMAX)
COA00560
NREG=NREG+l
COA00570
IERR=O
COA00580
DO 31 I=l,IMAX
COA00590
31 ERR(I)=' '
C0A00600
C TEST ERREURS
COA00610
DO 777 I=l,IMAX
COA00620
IF(JFORM.EQ.89) ;J=IC89(1)
COA00630
IF(JFORM.EQ.90) ;J=IC90(1)
COA00640
IF(JFORM.EQ.91) J=IC91(1)
COA00650
IF(J.EQ.0) GOTO 777
COA00660
DVAL=DO(I)
COA00670
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:J-l).NE.' ') ERR(I)='***'
COA00680
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:J-l).NE.' ') IERR=l
COA00690
IF(J.LT.3) GOTO ?77
COA00700
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') ERR(I)='***'
COA00710
IF(DVAL(J:J).EQ."
'.AND.DVAL(J-2:J-2).NE.' ') IERR=l
COA00720
777 CONTINUE
COA00730
IF(IERR.EQ.0) GOTO 41
COA0074O
PRINT IEFORM,NREG, (DO(I),I=l,IMAX)
COAO0750
1
I (ERR(I),I=l,IMAX)
COA00?60
41 CONTINUE
COA00770
NR=MO(IMAX)
COA00780
IF(NR.EQ.0) GOTO 111
COA00790
C LE(CTURE NR CARTES 21
COA00800
DO 1882 II=l,NR
COA00810
C +++++++++++LECTURE 21 ET 22 SELON ANNEE
(<89 OU >=89)
COA00820
IF(IAN .GE.89) GOTO 4000
COA00830
C
AVANT 89
COA00840
C
LECTURE CARTE 21
COA00850
C---------------------------------------------------------------------.
COA00860
READ(NTR,FMT=ICl) Ml,Dl
COA00870
NREG=NREG+l
COA00880
IERR=O
COA00890
DO 32 I=l,36
COA00900
32 ERR(I)=' '
COA00910
C TEST ERREURS
COA00920
DO 778 I=l,36
COA00930
IF(JCl.EQ.92) J=IC92(1)
COA00940
IF(JCl.EQ.93) J=IC93(1)
COAOO950
IF(J.EQ.0) GOTO 778
COA00960
DVAL=Dl(I)
COA00970
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:J-l).NE.' ') ERR(I)='***'
COA00980
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:J-l).NE.' ') IERR=l
COA00990
IF(J.LT.3) GOTO 778
COAOlOOO
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') ERR(I)='***'
c0A01010
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') IERR=l
COA01020
778 CONTINUE
COA01030
IF(IERR.EQ.O) GOTO 42
COA01040
PRINT IECl ,NREG ,(D1(1),1=1,36 )
COA01050
1
I (ERR(I),I=1,36 )
C0A01060
42 CONTINUE
COA01070
NS=M1(12)
COA01080
IF(NS.EQ.0) IM = 3
COA01090
IF(NS.EQ.0) GOTO 333
COAOllOO
IK=O
COAOlllO
C
LECTURE NS CARTES 22
COA01120
DO 133 IJ=l,NS
COA01130
IK=IK+4
COA01140
IM=IK+3
COA01150
C---------------------------------------------------------------------
COA01160
READ(NTR,FMT=IC2) (M2(1),1=1,32),DEB,(D2(1),1=1,32)
COA01170
NREG=NREG+l
COA01180
IERR=O
COA01190
DO 33 I=l,32
COA01200
33 ERR(I)=' '
COA01210
C TE!;T ERREURS
COA01220

DO 779 I=l,32
WA01230
IF(JC2.EQ.94) J=IC94(1)
106
COA01240
IF(J.EQ.0) GOTO '779
COA01250
DVAL=D2(I)
COA01260
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:nJ-l).NE.' ') ERR(I)="***'
COA01270
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:J-l).NE.' ') IERR=l
COA01280
IF(J.LT.3) GOTO 779
COA01290
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') ERR(I)="***'
COA01300
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') IERR=l
COA01310
779 CONTINUE
COA01320
IF(IERR.EQ.0) GOTO 43
COA01330
PRINT IEC2 ,NREG ,DEB,(D2(1),1=1,32 )
COA01340
1
) (ERR(I),I=1,32 )
COA01350
43 CONTINUE
COA01360
133 CONTINUE
COA01370
GOTO 4444
COA01380
C
ANNEES >=89
COA01390
C
LECTURE
CARTE 21
COA01400
4000 CONTINUE
COA01410
C-------------------------------------------------------------~----
----_
COA01420
READ(NTR,FMT=993)(M1(1),1=1,11)
,NS,(D1(1),1=1,12)
COA01430
NREG=NREG+l
COA01440
IERR=O
COA01450
DO 34 1=1,12
COA01460
34 ERR(I)=' '
COA01470
C TEST ERREURS
COA01480
DO 780 I=l,12
WA01490
J=IC993(1)
COA01500
IF(J.EQ.0) GOTO 780
COA01510
DVAL=Dl(I)
COA01520
IF(DVAL(J:J).EQ. '
'.AND.DVAL J-l:J-l).NE.'
') ERR(I)='***'
COAO1530
IF(DVAL(J:J).EQ.' '.AND.DVAL J-l:J-l).NE.' ') IERR=l
COA01540
IF(J.LT.3) GOTO 780
COA01550
IF(DVAL(J:J).EQ.' '.AND.DVAL J-2:J-2).NE.'
') ERR(I)='***'
COA01560
IF(DVAL(J:J).EQ.' '.AND.DVAL J-2:J-2).NE.' ') IERR=l
COA01570
780 CONTINUE
COA01580
IF(IERR.EQ.0) GOTO 44
COA01590
PRINT 8993, NREG ,(D1(1),1=1,12 )
COA01600
1
I (ERR(I),I=1,12 )
COA01610
44 CONTINUE
COA01620
C
IF(IAN .GE.89) NS = NS -1
COA01630
IF(NS.EQ.O) GOTO 333
COA01640
IK=O
COA01650
C
LECTURE NS CARTES 22
COA01660
DO 4133 IJ=l,NS
COA01670
C---------------------------------------------------------------
----_
COA01680
READ(NTR,FMT=994) (M2(1),1=1,15),(D2(1),1=1,15)
COA01690
NREG=NREG+l
COA01700
IF(M2(1).EQ.O.AND.(M2(2).EQ.2.OR.M2(2).EQ.3))
COA01710
1PRINT 8995 ,NREG ,(Dl(K),K=1,5),(D2(1),1=1,15
)
COA01720
IERR=O
COA01730
DO 35 I=l,15
COA01740
35 ERR(I)=' '
COA01750
C TEST ERREURS
COA01760
DO 781 I=l,15
COA01770
J=IC994(1)
COA01780
IF(J.EQ.0) GOTO 781
COA01790
DVAL=D2(I)
COA01800
IF(DVAL(J:J).EQ.' '.AND.DVAL(J-1 :J-l).NE.' ') ERR(I)='***'
COA01810
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-l:J-1).NE.' ') IERR=1
COA01820
IF(J.LT.3) GOTO ï81
COA01830
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') ERR(I)='***'
COA01840
IF(DVAL(J:J).EQ.'
'.AND.DVAL(J-2:J-2).NE.' ') IERR=l
COA01850
781 CONTINUE
COA01860
IF(IERR.EQ.0) GOTO 45
COA01870
PRINT 8994 ,NREG , (Dl(K),K=1,5), (D2(1),1=1,15 )
COA01880
1
,(ERR(I),I=1,15 )
COA01890
45 CONTINUE
COA01900
413.3 CONTINUE
COA01910
IM=NS
COA01920
333 CONTINUE
COA01930


108
I
CONTROL2 EXEC
J
* C~HANGEMENT DANS L EXEC: DONNER LE NB D ESPECES TOTAL
FI * CLEAR
FI 15 DISK ESFIR89 DATA 1
FI FT16FOOl DISK CODA75 DATA 1
FI FT16F002 DISK CODA83 DATA 1
FI FT16FC03 DISK CODA85 DATA 1
FI 17 DISK CORRES CODE 1
FI 18 DISK ENGIN DATA A
FI 12 DISK PA MB090 N
FI 06 DISK CONTROLM LISTING 1
FI 08 DISK ERREUMBO LISTING N (RECFM F LRECL 133
FI 13 DISK TEMP 13 N(RECFM F LRECL 155
FI 14 DISK TEMP 14 N(RECFM VBS LRECL 4000 BLKSIZE 4004
FI 20 DISK TEMP 20 N(RECFM VBS LRECL 4000 BLKSIZE 4004
FI 23 DISK TEMP 23 N(RECFM F LRECL 1047
FI 22 DISK TEMP 22 N(RECFM F LRECL 15
FI 40 TERM
* LECTURE CARTE l OPTION NIVEAU SORTIES: 0 TOUT
*
1 EFFORTS SEUL
j,
2 POIDS MOYENS SEUL
*
3 STATS SEUL
* LECTURE NOMBRE D ESPECES NBRESP
* LECTURE CARTES 2 (1 PAR SELECTION): PORT ANNEE MOIS
ErBEGSTACK
0
L'O1
'51
90
1
51
90
2
51
90
3
51
90
4
51
90
5
51
90
r
51
9 0
7"
51
90
8
51
9 0
'9
51
90
10
51
90
11
51
90
12
&,END
&STACK
LOAD CONTROL2 ( START
1 CONTROLâ
F O R T R A N 1
C E'ROGRAMME STATS ET CONTROLE PA
CON00010
C QUATRE ETAPES: 0 CREATION DE FICHIERS TEMPORAIRES
PASSO
CON00020
>*
L
1 STATS EFFORTS
PASSl
CON00030
c
2 POIDS MOYENS
PASSZ
CON00040
c
3 CONTROLE CAPT/PIR ET NB ESPECES
PASS3
CON00050
C FICHIERS D'ENTREE
CON00060
'e
15 - ESPIR89 (A ET B PAR ESPECE)
CON00070
c
16 - CODPXX DATA (CODES ESPECES SELON ANNEE
CON00080
C
17 - CORRES DATA (CODES NOMS ESPECES
CON00090
c
18 - ENGIN DATA (CODES NOMS ENGINS
CON00100
c
12 - FICHIER PA
CON00110
C
5 - PARAMETRES SELECTION PORT ANNEE ET MOIS
CON00120
C FICHIERS DE SORTIE
CON00130
c
13 - FICHIER CARTES 20/0 UTILISE APRES EN PASSl STATS EFFORTS
CON00140
c
14 - FICHIER CARTES 21ET 22/1 ET 2, UN ENREGISTREMENT/PAR PIR.
CON00150
c
20 - FICHIER ENREG PAR PIROGUE AVEC NBESP ET POIDS(PASS3)
CON00160
c
22 - FICHIER TEMP SORTIE 4 ESPECES POUR STATGRAPH
CON00170
c
23 - FICHIER COMME 20 MAIS FORMATTE POUR SPSS
CON00180
C
6 - LISTING TABLEAUX
CON00190
c
8 - LISTING ERREURS
CON00203
C
DECL EN COMMON TOUS TABLEAUX
CON00210

109
CHARACTER LESP(9991*28,LENG(24)*4
CONOG220
INTEGER
D(15),E(l1),IT(100),IQ(lOO),IL(lOO,20)
CON00230
INTEGER
1T2(100),1Q2(100),1L2(100,30)
CON00240
INTEGER
JSP(lOO),JSP2(100)
CON00250
INTEGER
D1(30),INCOD(99,3)
CON00260
DIMENSION A(25O),B(25O),PM(250)
CON00270
INTEGER IEFF(32,24,2)
CON00280
REAL EFF(3,24,2)
CON00290
REAL ANPIR(250,2,8)
CON00300
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
CON00310
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,Dl,INCOD,A,B,PM
CON00320
1,IPORT1,INEE,IMOIS1
CON00330
2,IEFF,EFF
CON00340
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
CON00350
4,LESP,LENG
CON00360
5,NBRESP,NBRENG,NBRGEl,NBRGE2
CON00370
6,NBLECT
CON00380
C VALEURS ACTUELLES DE NB ESP,ENGINS,GROUPE D'ENGINS 1 ET 2
CON00390
c' GROUPE D'ENGINS 1 UTILISES POUR TABLEAU DES CAPT MOYENNES PAR MOIS
CON00400
c' C:ROUPE D'ENGINS 2 UTILISES POUR MOYENNES CAPT ET ESP PAR PIROGUES
CON00410
C POUR ESP LES DIMENSIONS SONT PREVUES A 250 MAX
CON00420
C E'OUR ENGINS ET GR. D'ENGINS LES DIMENSIONS SONT 24,8 ET 11
CON00430
C E:T DOIVENT ETRE CHANGEES PARTOUT SI AUGMENTATION
CON00440
C
NBRESP=LOl
CON00450
NBRENG=24
CON00460
NBRGE1=8
CON00470
NBRGE2=12
CON00480
NBLECT=O
CON00490
C LECTURE CARTE OPTION: 0 TOUT
CON00500
C
1 EFFORTS SEUL
CON00510
C'
2 POIDS MOYENS SEUL
CON00520
C
3 STATS SEUL
CON00530
READ(5,90) IOP
CON00540
READ(5,90) NBRESP
CON00550
90 FORMAT(I5)
CON00560
C
CON00570
C LECTURE FICHIERS AUX ET CREATION FICHIERS TEMP.
CON00580
1 CALL PASSO
CON00590
WRITE(40,*) 'FIN PASSO - CREATION FICHIERS INTERMEDIAIRES'
CON00600
C CALCUL STATS EFFORTS
CON00610
IF(IOP.LE.l)CALL PASSl
CON00620
IF(IOP.LE.l)
CON00630
lWRITE(40,")
‘FIN PASSl - TABLEAUX EFFORTS'
CON00640
c
CALCUL TABLEAU POIDS MOYENS
CON00650
IF(IOP.EQ.O.OR.IOP.EQ.2)CALL
PASS2
CON00660
IF(IOP.EQ.O.OR.IOP.EQ.2)
CON00670
lWRITE(40,*)
'FIN PASS2 - TABLEAUX POIDS MOYENS'
CON00680
C
CONTROL CAPTURES ET NOMBRE D'ESPECES PAR PIROGUE
CON00690
IF(IOP.EQ.O.OR.IOP.EQ.3)CALL
PASS3
CON00700
IF(IOP.EQ.O.OR.IOP.EQ.3)
CON00710
lWRITE(40,*)
'FIN PASS3 - STATS'
CON00720
NBLECT=l
CON00730
CLOSE (1:3)
CON00740
CLOSE (14)
CON00750
CLOSE (20)
CON00760
CLOSE (22)
CON00770
CLOSE (23)
CON00780
GOTO 1
CON00790
10000 CONTINUE
CON00800
CLOSE (12)
CON00810
STOP
CON00820
END
CON00830
I
PASSO
FORTRAN
I
/r.
L
DEBUG SUBCHK,UNIT(G)
PASO0010

C
END DEBUG
PASO0020
110
SUBROUTINE PA!;SO
PAS00030
C
ROUTINE PASSO: LECTURE FICHIERS AUX. ET CREATION FICHIERS 'TEMP.
PASO0040
c
A PARTIR DE FICHIER PA MENSUEL OU ANNUEL;1 SEUL PORT
PAS00050
C
DECL EN COMMON TOUS TABLEAUX
PASO0060
CHARACTER LESP(999)*28,LENG(24)*4
PAS00070
INTEGER
D(15),E(l1),IT(lOO),IQ(lOO),IL(lOO,20)
PASO0080
INTEGER
1T2(100),1Q2(100),1L2(100,30)
PAS00090
INTEGER
JSP(lOO),JSP2(100)
PAS00100
INTEGER
D1(30),INCOD(99,3)
PAS00110
DIMENSION A(25O),B(25O),PM(250)
PAS00120
INTEGER IEFF(32,24,2)
PAS00130
REAL EFF(3,24,2)
PAS00140
REAL ANPIR(250,2,8)
PAS00150
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
PAS00160
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,D1,INCOD,A,B,PM
PAS00170
1,IPORT1,IMEE,IMOISl
PAS00180
2,IEFF,EFF
PAS00190
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
PAS00200
4, LESP,LENG
PAS00210
5,NBRESP,NBRENG,NBRGEl,NBRGE2
PAS00220
6,NBLECT
PASO0230
C*"***LECTURE STACK PORT ,ANNEE ET MOIS SELECTIONNES
PAS00240
READ(5,110,END=11111)
IPORT1,INEE,IMOIS1
PASO0250
C
PRINT * ,IPORTl,INEE,IMOIS1
PAS00260
13.0 FORMAT(315)
PAS00270
GOTO 11112
PAS00280
113.11 STOP
PASO029C
11112 CONTINUE
PAS00300
IF(NBLECT.GT.0) GOTO 10000
PAS00310
C*"******LECTURE COEFF DES RELATIONS TAILLE-POIDS*******
PAS00320
READ(l5,2OO)(A(I),B(I),PM(I),I=l,NBRESP)
PAS00330
200 FORMAT (3X,E10.3,F6.3,E10.3)
PAS00340
c' E'OIDS MOYEN EM KG
PASO0350
DO 3640 I=l,NBRESP
PAS00360
3640 PM(I)=PM(I)*lOOO.
PAS00370
C********LECTURE FICHIER CO:DES ESPECES************
PAS00380
DO 364 Kl = 1, 3
PAS00390
DO 363 K2 = 1, 100
PAS00400
READ(16,233,END=364)I,INCOD(I,Kl)
PAS00410
363 CONTINUE
PAS00420
364 CONTINUE
PAS00430
223 FORMAT (5X,15,15)
PAS00440
C*"******LECTURE FICHIER NOMS ESPECES************
CPAS00450
READ(17,2340)
PAS00460
READ(17,2340)
PAS00470
2340 FORMAT
PAS00480
DO 366 K2 = 1, NBRESP
PAS00490
READ(17,234,END=367)I,LESP(I)
PAS00500
366 CONTINUE
PAS00510
367 CONTINUE
PAS00520
234 FORMAT (I4,2X,A28)
PAS00530
C********LECTURE FICHIER NOMS ENGINS************
PAS00540
DO 368 K2 = 1, NBRENG
PAS00550
READ(l8,235,END=369)I,LENG(I),IGRENG(I),IGREN2(1)
PAS00560
368 CONTINUE
PASO0570
369 CONTINUE
PAS00580
235 FORMAT (12,1X,A4,1X,I2,14)
PAS00590
1:
PAS00600
c
UNITE LECTURE FICHIER PA
PAS00610
NTR=12
PAS00620
10000 CONTINUE
PAS00630
JCUMUL = 0
PAS00640
NREG=O
PAS00650
C CODE ESPECE DANS TABLEAU INCOD SELON L’ANNEE
PAS00660
JB=3
PAS00670
IF(INEE.GE.74.AND.INEE.LE.82) JB=1
PAS00680
IF(INEE.GE.83.AND.INEE.LE.84) JB=2
PAS00690
PAS00700

c:
PAS00710
C LECTURE CARTE 20
1111.
PASO0720
ASSIGN 89 TO ‘IFORM
PASO0730
ASSIGN 92 TO ICl
PAS00740
ASSIGN 94 TO IC2
PAS00750
IMAX-30
PAS00760
IF(INEE.EQ.85) ASSIGN 90 TO IFORM
PASO0770
IF(INEE.GT.85) ASSIGN 91 TO IFORM
PAS00780
IF(INEE.GE.85) ASSIGN 93 TO ICl
PAS00790
IF(INEE.LE.84) IMAX = 14
PAS00800
111 CONTINUE
PAS00810
DO 330 1=1,30
PAS00820
330 Dl(I)=0
PAS00830
READ(NTR,FMT=IFORM,END=9500)
(Dl(I),I=l,IMAX)
PAS00840
NREG=NREG+l
PAS00850
NREG20=NREG
PAS00860
C
FORMAT JUSQU'A 1984
PAS00870
89 F0RMAT(2X,11,312,211,13,12,213,312,13)
PASO0880
C
FORMAT 1985
PAS00890
90 F0FMAT(1X,412,211,13,12,213,2012)
PAS00900
C
FORMAT 1986 +
PAS00910
91 F0RMAT(1X,412,211,13,12,213,412,213,1412)
PAS00920
C TEST MOIS SELECTIONNE;S1 ANNEE OU PORT PAS CORRECT ON S'ARRETE
PAS00930
C: SI PLIJSIEURS MOIS DANS LE FICHIER ON SAUTE JUSQ.MOIS SEL.
PAS00940
c' IFICHIER SUPPOSE ETRE EN 3RDRE ASCENDANT)
PAS00950
IF(IPORTl.NE.Dl(l).OR.INEE.NE.Dl(2))
PAS00960
1
WRITE(8,965)NREG,NREG2O,IPORTl,INEE,D1
PASO0970
965 FORMAT(lX,'MAUVAISE SEL.ANNE-PORT ',215,212,1X,2013,1012)
PASO0980
IF(IPORT1.NE.Dl(l).OR.INEE.NE.Dl(2)j
STOP
PAS00990
IF(D1(3)-IMOISl) 9300,9400,9500
PAS01000
9300 DO 9301 I=l,10000
PAS01010
READ(NTR,98,END=9500) LAl,LA2
PAS01020
NREG=NREG+l
PAS01030
98 FORMAT(211)
PAS01040
IF(INEE.GE.85.AND.LAl.EQ.O) GOTO 9302
PAS01050
IF(INEE.LT.85.AND.(LAl*lO+LA2).EQ.20)
GOTO 9302
PAS01060
9301 CONTINUE
PAS01070
9302 BACKSPACE 12
PAS01080
NREG=NREG-1
PAS01090
GOTO 111
PAS01100
9400 CONTINUE
PASO1110
c' MOIS OK
PAS01120
NR=Dl(IMAX)
PAS01130
c' ECRITURE FICHIER TEMP 13
PAS01140
WRITE(13,131) NREG20,DZ
PASO1150
131 FORMAT(3115)
PASO1160
IF(NR.EQ.0) GOTO 111
PASO1170
C LECTURE NR CARTES 21
PAS01180
DO 1882 II=l,NR
PAS01190
C METTRE A 0 JSP,IT,IQ,IL
PAS01200
DO 390 I=l,100
PAS01210
JSF(I)=O
PAS01220
IT(I)=O
PAS01230
IQ(I)=O
PAS01240
DO 390 J=1,20
PAS01250
390 IL(I,J)=O
PAS01260
DO 120 I=l,100
PAS01270
120 JSP(I)=O
PAS01280
93 FORMAT(lX,612,1 1,312,11,4X,12,2(12, 11,13,512), 12,11,6 13
PAS01290
92 F0RMAT(2X,11,412,2I1,:~12,11,5X,12,2(12,11,13,512),12,11,613)
PASO1300
C t++++++++++LECTURE 21 ET 22 SELON ANNEE
(<89 OU >=89)
PAS01310
IF(INEE.GE.89) GOTO 4000
PAS01320
c'L
AVANT 89
PAS01330
c
LECTURE CARTE 21
PAS01340
READ(NTR,FMT=ICl) E,NS,(JSP(I),IT(I),IQ(I),(IL(I,K),K=1,5).I=l,3)
PASO1350
NREG=NREG+l
PAS01360
NREGLl=NREG
PAS01370
IF(NS.EQ.0) IM = 3
PAS01380
IF(NS.EQ.C) GOTO 333
PAS01390
IK=C
PAS01400
c
LECTURE NS CARTES 22
PAS01410

DO 133 IJ=l,NS
PASO1420
IK=IK+4
112
PAS01430
TM=IK+3
PAS01440
IF(IM.GT.lOO) WRITE(8,971)INEE,IC1,IM,(E(IP),IP=l,5),NS
PAS01450
IF(IM.GT.100) STOP
PAS01460
971 FORMAT(lX,'PLUS DE 100 GROUPES ECHANT. BIZARRE!
1,915)
PASO1470
READ(NTR,FMT=IC2) (JSP(1)
IT(I),IQ(I),(IL(I,K),K=l,5),I=II~,IM)
PAS01480
NREG=NREG+l
PAS01490
153 CONTINUE
PAS01500
94 F0RMAT(11X,3(I2,11,13,512)
I 12,11,13,513)
PASO1510
GOTO 4444
PAS01520
c
ANNEES >=89
PAS01530
C
LECTURE
CARTE 21
PAS01540
4000 CONTINUE
PAS01550
READ(NTR,FMT=993) E,NS
PAS01560
NREG=NREG+l
PAS01570
NREG21=NREG
PAS01580
993 F0RMAT(1X,612,11,3I2,11,4X,12)
PAS01590
C
IF(INEE.GE.891 NS = NS -1
PAS01600
IF(NS.EQ.0) GOTO 333
PASO1610
IK=O
PAS01620
C
LECTURE NS CARTES 22
PAS01630
DO 4133 IJ=l,NS
PASO1640
READ(NTR,FMT=994) JSP(IJ),IT(IJ),IQ(IJ),(IL(IJ,K),K=l,l2)
PAS01650
NREG=NREG+l
PAS01660
994 FORMAT(lX,I3,I1,1313)
PAS01670
4333 CONTINUE
PAS01680
IM=NS
PASO1690
333 CONTINUE
PAS01700
4444 CONTINUE
PAS01710
c
PAS01720
C KESHUFFLE INFO POUR AVOIR UN ENREG.PAR PIROGUE
PAS01730
c' ON AURA Il ESPECES MAX 30 POISSONS PAR ESPECE
PAS01740
DO 300 I=l,100
PAS01750
JSP2(1)=0
PAS01760
IT2(1)=0
PAS01770
IQ2(1)=0
PAS01780
DO 300 J=1,30
PASO1790
300 IL2(I,J)-0
PAS01800
NBF=5
PAS01810
IF(INEE.GE.89j NBP=12
PAS01820
Il=0
PAS01830
c' SI PAS DE POISSONS SAUTER
PAS01840
C
IF(IM.EQ.0) GOTO 30100
PAS01850
DO 301 I=l,IM
PAS01860
IF(JSP(I).EQ.O.AND.I.EQ.l)
GOTO 30100
PASO1870
IF(JSP(1)‘EQ.O) GOTO 302
PAS01880
C NOUVELLE ESPECE
PAS01890
Il=Il+l
PAS01900
JSFL(Il)=JSP(I)
PAS01910
IT2(Il)=IT(I)
PAS01920
IQ2(Il)=IQ(I)
PAS01930
DO 303 J=l,NBP
PAS01940
303 IL2(Il,J)=IL(I,J)
PAS01950
J:=l
PAS01960
GOTO 301
PAS01970
302 CONTINUE
PAS01980
C >5 POISSONS MESURES
PAS01990
Jl=Jl+NBP
PAS02000
J2=Jl+NBP-1
PAS02010
IF(J2.GT.30) WRITE(8,972)(E(IP),IP=l,5),JSP2(11)
PAS02020
IF(J2.GT.30) GOTO 301
PAS02030
972 FORMAT(lX,'>30 POISSONS DANS L-ECHANT.RESTE IGN.
',615)
PAS02040
DO 304 J=Jl,J2
PAS02050
304 IL2(Il,J)=IL(I,J-Jl+l)
PAS02060
301 CONTINUE
PAS02070
C RECODE ESPECES SELON TABLEAU INCOD SI AVANT 89
999 TOUJ
PAS02080
c
IF(INEE.GE.89) GOTO 3050
PAS02090
DO 305 I=l,11
PAS02100
IF(INEE.LT.89) JSP2(1>=INCOD(JSP2(I),JB)
PAS02110
IF(JSP2(I).EQ.999) JSP2(I)=NBRESP
PAS02120

305 CONTINUE
113
PASO2130
3050 CONTINUE
PAS02140
3OLOO CONTINUE
PAS02150
C SORTIE ENREG. EN FICHIER 14
PAS02160
WRITE(14) NREG21,(E(I),I=1,6)
Il,
PAS02170
1
(JSP2(1 ),IT2(I),IQ2(I),(IL2
I,J),J=1,30),1=1,11)
PAS02180
c:
NREG=NREG+l
PAS02190
c
IF(NREG.LT.6) PRINT 9535,(E(I),I=l,6),11
PAS02200
c
IF(NREG.LT.6) PRINT 9535,
PASO2210
c
1
(JSP2(1),1T2(1),1Q2(1),(1L2(1,J),~J=1,13),1=1,11)
PAS02220
C9535 FORMAT(lX,1314)
PAS02230
1882 CONTINUE
PAS02240
GO TO 111
PAS02250
Y500
CONTINUE
PAS02260
BACKSPACE 12
PAS02270
END FILE 13
PASO2280
END FILE 14
PAS02290
RETIJRN
PAS02300
END
PAS02310
I
PASSI F O R T R A N
I
C
DEBUG SUBCHK,TJNIT(G)
PASO0010
C
END DEBUG
PAS00020
SUBROUTINE PA!;S1
PAS00030
C ROUTINE PASSl CALCUL EFFORT TOTAL CARTE 20/0 VERSUS 21/1
PAS00040
c' SONT AUSSI CALCULES MOYENS(ET ST.DEV.)PAR JOUR
PAS00050
C FICHIERS D'ENTREE 13 - FICHIER TEMPORAIRE CREE PAR PASSO
PAS00060
C'
AVEC INFO CARTES20/0
PAS00070
c
14 - FICHIER TEMPORAIRE CREE PAR PASSO
PAS00080
C
AVEC INFO CARTES21/1 ET 22/2
PAS00090
c' EN SORTIE: ERREUR!; ET TABLEAU COMPARATIF
PAS00100
C
DECL EN COMMON TOUS TABLEAUX
PAS00110
CHARACTER LESP(999)*28,LENG(24)*4
PAS00120
INTEGER
D(l5),E(11),IT(l00),IQ(lOO),IL(lOO,2O)
PAS00130
INTEGER
1T2(100),1Q2(100),1L2(100,30)
PAS00140
INTEGER
JSP(lOO),JSP2(100)
PAS00150
INTEGER
D1(30),INCOD(99,3)
PAS00160
INTEGER ITOECH(31)/31*0/
PAS00170
DIMENSION A(25O),B(25O),PM(250)
PAS00180
INTEGER IEFF(32,24,2)
PAS00190
REAL EFF(3,24,2)
PAS00200
REAL ANPIR(250,2,8)
PAS00210
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
PAS00220
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,Dl,INCOD,A,B,PM
PAS00230
l,IPORTl,INEE,IMOISI
PAS00240
2,IEFF,EFF
PAS00250
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
PAS00260
I,LESP,LENG
PAS00270
5,NBRESP,NBRENG,NBRGEl,NBRGE2
PAS00280
6,NBLECT
PASO0290
C TABL LOCAL
PAS00300
INTEGER IENG(23)/2,1,5,4,6,7,8,9,
12,13, 14,15,16,17
PASO0310
1 ,18,19,20,21,22,23,24/
PAS00320
INTEGER IGR4(4)/7,6,7,3/
PAS00330
1,1VEC(7,4)/1,2,4,9,10,11,12
PAS00340
2
,5,19,20,21,22,23,0
PASO0350
3
,6,?,8,15,16,17,18
PAS00360
4
, 13,14,24,0,0,0,0/
PAS00370
INTEGER NJOURS(24),'24'*O/.INUM(3l)/3l*O/,IQZEFF(24,2,2)
PAS00380
CHARACTER*20 LENT
PAS00390
DATA LENT/'EFFORT ECHAN.
'/
PAS00400
1: INIT IEFF(JOUR,ENGIN,TOTAL/ECH)
PAS00410
C INIT EFF(MOY/STDEV,ENGIN,TOTAL/ECH)
PAS00420
C N AURA LE NOMBRE DE JOURS DU MOIS(= # CARTES 0)
PAS00430
DO 200 J=l,NBRENG
PAS00440
DO 200 K=1,2
PAS00450
DO 200 KK=1,2
PASO0460
IQZEFF(J,K,KK)=O
PAS00470
DO 201 I=l,32
PAS00480

201 IEFF(I,J,K)=O
114
PAS00490
DO 202 I=l,3
PAS00500
202 EFF(I,J,K)=O.
PAS00510
200 CONTINUE
PAS00520
N=O
PAS00530
REWIND 13
PAS00540
REWIND 14
PAS00550
1 READ(13,90,END=lO) NREG20,Dl
PAS00560
IF (D1(2).LE.84) D1(14)=0
PASO0570
90 FORMAT(3115)
PAS00580
N=N- 1
PAS00590
INUM(D1(4))=NREG20
PAS00600
DO 11 J=1,23
PAS00610
K=IENG(J)
PAS00620
EFF(3,K,l)=EFF(3,K,l)+Dl(J+6)
PASO0630
IF (D1(4).LT.16) IQZEFF(K,1,1)=IQZEFF(K,l,l)+Dl(J+G)
PAS00640
IF (D1(4).GT.15) IQZEFF(K,2,l)=IQZEFF(K,2,1)+D1(J+6)
PAS00650
11 IEFF(D1(4),K,l)=IEFF(Dl(4),K,l)+Dl(J+6)
PAS00660
GOTO 1
PAS00670
10 CONTINUE
PAS00680
2 READ(14,END=20) NREG21,IDUM,IDUM,IDUM,IJ,IDUM,ITYPE
PAS00690
C: RECODE ENGIN 3 EN 2 POUR CONSIST CARTE 0
PAS00700
IF(ITYPE.EQ.3,ITYPE=2
PAS00710
IEFF(IJ,ITYPE,2)=IEFF(IJ,ITYPE,2)+1
PAS00720
IF (IJ.LT.16) IQZEFF(ITYPE,1,2)=IEFF(ITYPE,l,2)+1
PAS00730
IF (IJ.GT.15) IQZEFF(ITYPE,2,2)=IEFF(ITYPE,2,2)+1
PAS00740
EFF(3,ITYPE,2)=EFF(3,ITYPE,2)+1
PAS00750
GOTO 2
PAS00760
20 CONTINUE
PAS00770
c' CALCUL NB JOURS ECHANT ENGIN
PAS00780
NBJ=O
PAS00790
DO 26 I=l,31
PAS00800
NJC=O
PAS00810
DO 260 J=l,NBRENG
PAS00820
IF(IEFF(I,J,2).GT.O) NJO=l
PAS00830
260 CONTINUE
PAS00840
IF(NJO.EQ.l) NBJ=NBJ+l
PAS00850
26 CONTINUE
PAS00860
C SORTIE ERREURS
(EFF TOTAL<EFF ECH.)
PAS00870
ISw'=O
PAS00880
DO 3 I=l,31
PAS00890
DO 3 J=l,NBRENG
PAS00900
IF(IEFF(I,J,1).LT.IEFF(I,J,2).AND.ISW.EQ.O)
THEN
PAS00910
ISW=l
PAS00920
WRITE(8,900)
PAS00930
ENDIF
PAS00940
IF(IEFF(I,J,l;.LT.IEFF(I,J,2))
PAS00950
1
WRITE(8,9O1)INUM(I,,I,LENG(J),IEFF(I,J,1)
PAS00960
2
IEFF(I,J,2)
PAS00970
900 FORMAT;lH1,1X,'
ERREURS EFFORTS JOUR/ECHANTILLONS',/lx,
PAS00980
1
' CARTE JOUR ENGIN
EFFORT JOURN.
EFFORT ECH. ')
PAS00990
901 FORMAT(lX,I5, 16,2X,A4,2115)
PAS01000
3 CONTINUE
PAS01010
C SORTIE ERREUR QZ AVEC EFFORT ET SANS ECHANTILLON
PAS01020
ISW=O
PAS01030
DO 5 I=l,2
PAS01040
DO 5 J=l,NBRENG
PAS01050
IF(IQZEFF(J,I,1).GT.O.AND.IQZEFF(~J,I,2).EQ.O.AND.ISW.EQ.O)
THEN
PAS01060
ISW=l
PAS01070
WRITE(8,800)
PAS01080
ENDIF
PAS01090
IF(IQZEFF(J,I,1).GT.O.AND.IQZEFF(J,I,2).EQ.O)
PAS01100
1
WRITE(8,801) I,LENG(J),IQZEFF(J,I,l)
PASO1110
2
IQZEFF(J,I,2)
PAS01120
800 FORMATilHl,lX,'
ERREURS EFFORTS QUINZ,'SORTIE SANS ECH.',/1X,
PAS01130
1
,
QUINZ ENGIN
EFFORT QUINZ.
EFFORT ECH.')
PASO1140
801 FORMAT(GX, 16,2X,A4,2I15)
PAS01150
5 CONTINUE
PASO1160
C CALCUL POURCENTAGE PIR.ECH./PIR.TOT.
PAR ENGIN
PASO1170
DO 21 K=l,NBRENG
PAS01180
IF(EFF(3,K,l).GT.O.) EFF(3,K,2)=EFF(3,#,2)*lOO./EFF(3,K,1)
PASO1190

IF(EFF(3,K,l).EQ.O.) EFF(3,K,2)=0.
PAS01200
21 CONTINUE
115
PAS01210
C CALCUL MOYENNES ET ECART TYPES
PAS01220
DO 4 K=l,%
PAS01230
DO 4 J=l,NBRENG
PAS01240
AN=N
PAS01250
IF(K.EQ.2) AN=NBJ
PAS01260
IF(AN.EQ.0.) GOTO 4
PAS01270
x4=0.
PAS01280
AM2=0.
PAS01290
sx=ou
PAS01300
DO 44 I=l,31
PAS01310
AM=AM+IEFF(I,J,K)
PAS01320
IEFF(32,J,K)=IEFF(32,J,K)+IEFF(I,J,K)
PASO1330
44 AM2=AM2+IEFF(I,J,K)*IEFF(I,J,K)
PAS01340
IF(AN.GT.l.)SX=SQRT((AM2-AM*AM/AN)/(AN-1.))
PASO1350
EFF(l,J,K)=AM,'AN
PAS01360
EFF(2,J,K)=SX
PAS01370
4 CONTINUE
PAS01380
C CALCUL TOTAL ECHANTILLONE/JOUR
PAS01390
DO 3210 I=l,31
PAS01400
ITCECH(Ij=O
PAS01410
DO 3211 II=1,4
PAS01420
Jl=IGR4(11)
PAS01430
DO 3211 J=l,J:L
PAS01440
3211 ITOECH(I)=ITOECH(I>+IEFF(I,IVEC(J,II),2)
PAS01450
3210 CONTINUE
PAS01460
C SORTIE TABLEAU
PASO1470
C ON IMPRIME TOTAL ECHANT SI PREMIER TABLEAU
PAS01480
DO 30 11=1,4
PAS01490
Jl=IGR$(II)
PAS01500
ISUM=O
PAS01510
DO 3200 I=l,31
PAS01520
DO 3200 J=l,Jl
PAS01530
3200 ISUM=ISUM+IEFF(I,IVEC(J,II),1)+IEFF(I,IVEC(J,II),2)
PAS01540
IF(ISUM.EQ.0) GOTO 30
PAS01550
PRINT 950,IPORT1,INEE,IMOIS1
PAS01560
950 FORMAT(lHL,//ïX, 'TABLEAU EFFORTS JOURNALIERS ET ECHANTILLONNES',
PAS01570
1
/// '
PORT ',15,'
ANNEE ',15,'
MOIS ',15,,')
PAS01580
PRINT 902, (LENG(IVEC(J,II)),J=l,Jl)
PAS01590
"02 FORMAT(SX,lOX,8(3X,A8,3X))
PAS01600
IF(II.EQ.l)PRINT 933,(LENT,J=l,Jl)
PASO1610
IF(II.GT.l)PRINT 903,(LENT,J=l,Jl)
PAS01620
933 FORMAT(lHO,4X,'TOT.ECH',lX,'
JOUR ',8A14)
PAS01630
903 FORMAT(lHG,4X,'
',1X,' JOUR ',8A14)
PAS01640
DO 32 I=l,31
PAS01650
c
1 SUM= 0
PAS01660
c
DO 320 J=l,Jl
PAS01670
C 320 IS~~=ISUM+IEFF(I,IVEC(J,II),l)+IEFF(I,IVEC(J,II),2)
PAS01680
c
IF(ISUM.EQ.0) GOTO 32
PASO1690
IF(II.GT.l) PRINT 935, 1,
PAS01700
1(IEFF(I,IVEC(J,II),l),IEFF(I,IVEC(J,II),2)
,J=l,Jl)
PASO1710
IF(II.EQ.l) PRINT 905,ITOECH(I),I,
PAS01720
1(IEFF(I,IVEC(J,II),l),IEFF(I,IVEC(J,II),2)
,J=l,Jl)
PASO1730
32 CONTINUE
PAS01740
SO5 F0RMAT(1X,17,1X,18,8(18,15,1X))
PAS01750
935 FORMAT(1X,7X,lX,I8,8(I8,I5,1X))
PAS01760
PRINT 915,(IEFF(32,IVEC(J,II),l),IEFF(32,IVEC(J,II),2),J=l,Jl)
PAS01770
915 FORMAT(lH0,4X,'TOTAL
',4X,8(18,15,1X))
PAS01780
PRINT 906, (EFF(1,IVEC(J,II),1),EFF(l,IVEC(J,II),2)
PAS01790
1 ,J=l,Jl)
PAS01800
906 FORMAT(5X,'MOYENNE ',4X,8(F8.1,FS.l,lX))
PAS01810
PRINT 907, (EFF(2,IVEC(J,II),l),EFF(2,IVEC(J,II),2)
PAS01820
1 J=l,Jl)
PAS01830
907 FOhAT(5X,'ST.DEV. ',4X,S(F8.1,F5.1,1X),/)
PAS01840
PRINT 908, (EFF(3,IVEC(J,II),2)
PAS01850
1 ,J=l,Jl)
PAS01860
908 FORMAT(5X,'% ECH./TOT. ',4X,8(F7.2,7x),/)
PAS01870
30 CONTINUE
PAS01880
PRINT 953
PAS01890

953 FOF!!T(lX,/)
PAS01900
C SORTIE ERREURS 5 EFFORT JOURNALIER CO NM& MOYEN/JOUR CARTES 0
PAS01910
REWIND 13
PAS01920
ISW=O
PAS01930
954 FOFMAT(//lX, ‘ERREURS EFFORT JOURN. VERSUS MOYENNES',/
PAS01940
117X,'
PORT
DATE
ENGIN ERREUR ',
PAS01950
2
56X,'MOYENNE
SX',/)
PAS01960
51 READ(13,90,END=50) NREG20,Dl
PAS01970
IF (D1(2),LE.84) D1(14)=0
PAS01980
DO 52 J=1,23
PAS01990
K=IENG(J)
PAS02000
IF((Dl(J+6).LT.(EFF(l,K,l)-2.*EFF(2,K,l))).OR.
PAS02010
1
(Dl(J+6).GT.(EFF(l,K,l)+2.*EFF(2,K,l))))
PASO2020
2 THEN
PAS02030
IF(ISW.EQ.0) THEN
PAS02040
ISW=l
PAS02050
WRITE(8,954)
PAS02060
ENDIF
PAS02070
WRITE(8,909) NREG2O,(Dl(JJ),JJ=l,4),LENG(K),
PAS02080
1
K ,Dl(J+G),EFF(l,K,l)
PAS02090
2
I EFF(2,K,l)
PAS02100
ENDIF
PAS02110
909 FORMAT(lX,'CARTE 0 Nx=',I5,415,1X,A4,15,
PAS02120
1 3X,'EFF.ENGIN HORS LIM.',34X,I5,FlO.l,Fl4.2)
PAS02130
52 CONTINUE
PAS02140
GOTO 51
PAS02150
50 CONTINUE
PAS02160
WRITE(8,953)
PAS02170
RETURN
PAS02180
END
PAS02190
I
PASSâ
FORTRAN
I
SUBROUTINE PASS2
PAS00010
C: PASS2 PASTAT
PAS00020
C: CALCUL STATS: ESPPIR(TABLEAU POIDS MOYENS /ESP/QZ/GR.ENGIN)
PAS00030
C: FICHIER D'ENTREE UNITE 14:FICHIER TEMP CREE PAR PASSl
PAS00040
C: COMMON?
PAS00050
C
DEC'L EN COMMON TOUS TABLEAUX
PAS00060
C
DEBUG SUBCHK,UNIT(S)
PAS00070
C
END DEBUG
PAS00080
CHARACTER LESP(999)*28,LENG(24)*4
PAS00090
INTEGER
D(15),E(11),IT(l00),IQ(lOO),IL(
100,20
PAS00100
INTEGER
1T2(100),1Q2(100),1L2(100,30)
PASO0110
INTEGER
JSP(lOO),JSP2(100)
PAS00120
INTEGER
D1(30),INCOD(99,3)
PAS00130
DIMENSION A(25O),B(25O),PM(250)
PAS00140
INTEGER IEFF(32,24,2)
PAS00150
REAL EFF(3,24,2)
PAS00160
REAL ANPIR(250,2,8)
PAS00170
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
PAS00180
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,D1,INCOD,A,B,PM
PAS00190
l,IPORTl,INEE,IMOISï
PAS00200
2,IEFF,EFF
PASO0210
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
PASO0220
4,LESP,LENG
PAS00230
5,NBRESP,NBRENG,NBRGEl,NBRGE2
PAS00240
6,NBLECT
PAS00250
i TAB LOCAL
PAS00260
CHARACTER*8 LGRENG(8)
PASO0270
DATA LGRENG/'
VOILE','
LIGNES','
FD','
PGL',
PAS00280
1
I
ST', '
FME', '
SP','
DIVERS'/'
PAS00290
C ANPIR(ESP,QUINZ,GROUP ENGIN),ESPPIR IDEM
PAS00300
C TNIT
PAS00310
DO 2 I=l,NBRESP
PAS00320
DO 2 J=1,2
PAS00330
DO 222 K=l,NBRGEl
PAS00340
ANPIR(I,J,K)=O.
PAS00350
222 ESPPIR(I,J,K)=O.
PAS00360
NCOMPT(I,J)=O
PAS00370
2 CONTINUE
PAS00380

REWIND 14
117
PAS00390
C LECTrJRE FICHIER ET CUMUL TABLEAUX
PASO0400
1 READ(14,END=lO) NREG2l,IP,IAN,IM,IJ,IN,ITT,N,(JSP2(I),IT2(I),
PAS00410
lIQ2(I),(IL2(I,J),J=1,3O),1=1,N)
PAS00420
c' TABLEAU PREW INITIALEMENT POUR QZ. JE GARDE KQZ AU CAS OU...
PAS00430
KQZ=l
PAS00440
c
IF(IJ.GT.15) KQZ=2
PASO0450
IENG=IGRENG(ITT)
PAS00460
:: CALCULER NB POISSONS ET POIDS DES POISSONS UTILISANT PO-LONG.
PAS00470
C LES ESPECES SANS A ET B NE SONT PAS INCLUES
PAS00480
C: SEULEMENT CAPTURES EN NOMBRE
PAS00490
DO 3 I=l,N
PAS00500
IF(IT2(I).NE.l) GOTO 3
PAS00510
IF(A(JSP2(I))*B(JSP2(I)).EQ.O)
GOTO 3
PAS00520
NCOMPT(JSP2(I),KQZ)=NCOMPT(JSP2(I),KQZ)+IQ2(1)
PASO0530
POIDS=O.
PAS00540
AN=().
PAS00550
D O 4 J=1,3O
PAS00560
IF(IL2(I,J).EQ.O) GOTO 40
PAS00570
POIDS=POIDS+(A(JSP2(I))*((IL2(I,J)+0.5)**B(JSP2(I))))/lOOO.
PAS00580
AN&N+ 1.
PAS00590
4 CONTINUE
PAS00600
40 CONTINUE
PAS00610
ESPPIR(JSP2(I,,KQZ,IENG)=ESPPIR(JSP2(I),KQZ,IENG)+POIDS
PAS00620
ANP1R(JSP2(I),KQZ,IENG)=ANPIR(JSP2(I),KQZ,IENG)+AN
PAS00630
3 CONTINUE
PAS00640
GOTO 1
PAS00650
10 CONTINUE
PAS00660
C CALCUL MOYENNES
PAS00670
DO 11 I=l,NBRESP
PAS00680
DO 11 J-1,2
PASO0690
DO 11 K=l,NBRGEl
PAS00700
IF(ANPIR( I,J,K).GT.O.)
PAS00710
1 ESPPIR(I,J,K)=ESPPIR(I,J,K)/ANPIR(I,J,K)
PAS00720
11 CONTINUE
PAS00730
C SORTIE TABLEAU
PAS00740
DO 12 J=1,2
PAS00750
suM= 0 D
PAS00760
DO 120 I=I,NBRESP
PAS00770
DO 120 K=l,NBRGEl
PAS00780
120 SUM=SUMtANPIR(I,J,K)
PASO0790
IF(SUM.EQ.0.) GOTO 12
PAS00800
PRINT 901
PAS00810
PRINT 900,IPORT1,INEE,IMOIS1
,(LGRENG(K),K=l,NBRGEl)
PAS00820
900 FOF%AT(lHI, 'TABLEAU POIDS MOYENS (KG) ',
PAS00830
1
'PAR ESPECE ET GROUPE D-ENGIN
',PAS00840
1 '
' , //1x,
PAS00850
2
'PORT
',15,'
ANNEE
',15,'
MOIS
',I5,//,
PAS00860
2 4X,'ESPECE',l9X,'NB.COMPTES
NB.MESURES',35X,'BOIDS MOYEN'
PAS00870
3,//,49X,8(2X,A8),/)
PAS00880
DO 12 I=l,NBRESP
PAS00890
suM=o.
PAS00900
DO 13 K=l,NBRGEl
PAS00910
13 SUM=SUM+ANPIR(I,J,K)
PAS00920
IF(SUM.EQ.0.) GOTO 12
PAS00930
PRINT 901,I,LESP(I),NCOMPT(I,J),SUM
,(ESPPIR(I,J,K),K= 1,NBRGEl)
PAS00940
901 FORMAT(1X,I5,1X,A28,I4,FlO.O,8FlO.2
PAS00950
12 CONTINUE
PAS00960
RETURN
PAS00970
END
PAS00980
I
P A S S 3
FORTRAN
I
C
DEBUG SUBCHK,UNIT(O)
PAS00010
C
END DEBUG
PAS00020
STJBROUTINE PA!;S3
PAS00030
c' PASS3 PASTAT
PAS00040
c' CALCUL STATS: CAPTURES MOYENNES PAR PIROGUE ET
PAS00050
C
NOMBRE D'ESPECES MOYEN PAR ENGIN
PASO0060
(.' FICHIER D'ENTREE UNITE 14:FICHIER TEMP CREE PAR PASSl
PASO0070

c: CAP(ESF,ENGIN,l=SOMME X
118
FASO0080
'
L.
,2=SOMME X*X
PAS00090
cL
,3=X MOYEN
FASGGlGG
c
,4=sx
FASO0110
l-
.5=MIN
PAS00120
c
* o=MAx
PASO0130
c
,7=NB FIR
PAS00140
C TOT(ENGIN)=TOTAL CAPT ENGIN
PAS00150
C ANBF(ENGIN,l)=NOMBRE DE PIROGUES DE L'ENGIN
PASGO
c
, 2)=NOMBRE D'ESPECES DE L'ENGIN
PAS00170
t-c
,3)=NOMBRE D'ESPECES DE L'ENGIN **2
PAS00180
c
,4)=CAPTURE DE L'ENGIN
PAS00190
c
,5)=CAPTURE DE L'ENGIN **2
PAS00200
c
I 6)=NOMBRE MOYEN D'ESPECES DE L'ENGIN
PAS00210
c
,7)= S.DEV.D'ESPECES DE L'ENGIN
PAS00220
c
,8)=CAPTURE MOYENNE DE L'ENGIN
PAS00230
f
, g)=S.DEV. CAPTURE DE L'ENGIN
FASO0240
C C'OMMON
PAS00250
c
DECL EN COMMON TOUS TABLEAUX
PAS00260
CHARACTER LESP(999)*28,LENG(24)*4
PAS00270
INTEGER
D(15),E(l1),IT(lOO),IQ(lOO),IL(lOO,2O)
PAS00280
INTEGER
1T2(100),1Q2(100),1L2(100,30)
FASO0290
INTEGER
JSP(lOO),JSP2(100)
FASO0300
INTEGER
D1(3O),INCOD(99,3)
PAS00310
DIMENSION A(25O),B(25O),FM(250)
PAS00320
INTEGER IEFF(32,24,2)
FASO0330
REAL EFF(3,24,2)
PAS00340
REAL ANFIR(250,2,8)
PAS00350
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
PAS00360
COMMON D,E,IT,IQ,IL,I'~2,IQ2,IL2,JSP,JSP2,D1,INCOD,A,B,FM
PAS00370
1,IFC~RT1,INEE,IMOISl
PAS00380
2,IEFF,EFF
PAS00390
3,ANFIR,ESFFIR,IGRENG,IGREN2,NCOMPT
PASG040G
4,LESP,LENG
PAS00410
5,NBRESP,NBRENG,NBRGEl,NBRGE2
PAS00420
6,NBLECT
PAS00430
C TABLEAUX LOCAUX
PAS00440
INTEGER*2 IFLAGE(250)
PAS00450
REAL CAP(250,24,7),TOT(24),ANBP(24,9),POIDES(250)
PAS00460
REAL VECC(250j
PAS004?0
INTEGER NBESP(25O),IPOIDE(250)
PAS00480
INTEGER IORDER(250)
PAS00490
INTEGER IESANC(9991/999*0/
PAS00500
CHARACTER*8 LGRENG(8)
PASO0510
CHARACTER*8 LGREN2(12)
PAS00520
DATA LGRENG/'
VOILE','
LIGNES','
FD','
FGL',
PAS00530
1
I
ST','
FME','
SF','
DIVERS'/
PAS00540
DATA LGREN2/'
FVL','
PML', '
FGL', '
FDFO',
PAS00550
1
ST','
FME','
SF',' PAL+LRH',
PAS00560
2
I
LCS','
FMD', '
FDY','
DIVERS'/
PAS00570
C VAR TEMP
PAS00580
J181=181
FASO0590
J183=183
PAS00600
5188=188
PAS00610
J49=49
PAS00620
C INIT
PAS00630
DO 2 I=l,NBRESP
PAS00640
DO 2 J=l,NBRGE2
PAS00650
DO 2 K=1,7
PASGG660
CAP(I,J,K)=O.
FASG0670
IF(K.EQ.5) CAP(I,J,K)=9999.
PASO0680
2 CONTINUE
PAS00690
DO 22 J=l,NBRGE2
PAS00700
22 TOT(J)=O.
PAS00710
DO 24 J=l,NBRGE2
PAS00720
DO 24 K=1,9
PAS00730
24 ANBP(J,K)=O.
PAS00740
C RETROUVER ANCIEN CODE ESP SI ANNEE<89
PAS00750
DC) 25 I=l.,999
PAS00760
25 IESANC(I)=I
PAS00770
IF(INEE.GT.88) GOTO 27
PAS00780

JR=3
PASOO?
IF(INEE.GE.74.AND
119
INEE.LE.82) JB=l
PASO0800
IF(INEE.GE.83.AND
INEE.LE.84) JB=2
PAS00810
DO 26 I=l,99
PAS00820
26 IESANC(INCOD(I,JB )=I
PAS00830
27 CONTINUE
PAS00840
REWIND 14
PAS00850
C: LECTURE FICHIER ET CUMUL EN TABLEAU
PAS00860
1 READ(14,END=lO) NREG21,IP,IAN,IM,IJ,IN,ITT,N,(JSP2(I),IT2(I),
PAS00870
lIQ2(I),(IL2(I,J),J-1,3O),I=l,N)
PASO0880
C
PRINT *,NREG21,IP,XAN,IM,IJ
PAS00890
c' CALCUL QUINZ ET GROUP D'ENGIN
PASO0900
c' QUINZ RAMENE AU MOIS POUR TABLEAU ESPPIR FINALEMENT
PAS00910
KQZ=l
PAS00920
C
IF(IJ.GT.15) KQZ=2
PAS00930
IENG=IGRENG(ITT)
PAS00940
C ON UTILISE FINALEMENT GROUPE2 D'ENGINS
PAS00950
ITTT=ITT
PAS00960
ITT=IGREN2(ITT)
PAS00970
C +*******+*****
CALC CAPT
PAS00980
c' CUMUL EN TABLEAU CAP SELON ESPECE ET GROUPE2 D'ENGIN DE LA PIROGUE
PAS00990
c' CALCULER LE POIDS DES POISSONS SELON:
PAS01000
C
SI CAPT EN POIDS - OK
PAS01010
C
SI CAPT EN NOMBRE- A) SI NB POISS MES>SO% NB POISS COMPTE
PAS01020
c
ON UTILISE LE POIDS MOYEN DE CES POISSONS
PAS01030
C
- B) SI NB POISS MES<50% NB POISS COMPTE
PAS01040
c
ON UTILISE LE POIDS MOYEN DE ESPPIR
PASO1050
c' I:L Y A N ESPECES ECHANTILLONNEES DE LA PIROGUE
PAS01060
C ON INCLUT UNIQUEMENT LES PIROGUES ECHENTILLONNEES
PAS01070
IF(N.EQ.0) GOTO 1
PAS01080
POIPIR=O.
PAS01090
DO 35 J=l,NBRESP
PAS01100
35 POIDES(Jj=O.
PASO1110
C IFLAGES SERA 1 POUR LA PIROGUE POUR CHAQUE ESPECE RENCONTRE
PAS01120
C CF.PB.SARDINELLES:PLUSIEURS
CARTES 2 POUR UNE PIR.
PAS01130
DO 315 I=l,NBRESP
PAS01140
315 IFLAGE(I)=O
PAS01150
DO 3 I=l,N
PASO1160
GOTO (31,32,33) ITL(I)
PAS01170
31 CONTINUE
PAS01180
AN=o.
PAS01190
DO 40 J=1,30
PAS01200
IF(IL2(I,J).GT.O) AN=AN+l.
PASO1210
40 CONTINUE
PAS01220
POURC=AN*100.,'IQ2(I)
PAS01230
IF(POURC.LT.50.) GOTO 41
PASO1240
POIDS=O.
PAS01250
IF (A(JSP2(I)j*B(JSP2(I)j .EQ.O.) THEN
PAS01260
WRITE(8,917) NREG21,JSP2(1)
PAS01270
917 FORMAT(lX,'CARTE 1 Nx= ',15,' ESPECE AVEC LONG. ET A,B=O ',15)
PAS01280
ENCIF
PAS01290
DO 4 J=1,30
PAS01300
IF(IL2(I,J).EQ.O) GOTO 4
PASO1310
IF(A(JSP2(I))*B(JSP2(I)).GT.O.)
THEN
PAS01320
POIDS=POIDS+A(JSP2(I))*((IL2
(I,J)+O.5)**B(JSP2(1>)))
PAS01330
ELSE
PAS01340
POIDS=POIDS+PM(JSP2(1))
PAS01350
ENDIF
PAS01360
c
PRINT
*,I,AN,IQ2(I),JSP2(I),A(JSP2(1
)),B(JSP2(I)),POIDS
PAS01370
4 CONTINUE
PAS01380
POIDS=POIDS*1OO./POURC
PAS01390
POIDS=POIDS/1O00.
PAS01400
GOTO 34
PAS01410
41 CONTINUE
PAS01420
PMMM=ESPPIR(JSP2(Ij,KQZ,IENG)
PAS01430
IF((A(~JSP2(I))*B(JSP2(I))).EQ.O..OR.ESPPIR(JSP2(Ij,KQZ,IENG)
PAS01440
1
.EQ.O.) PMMM=PM(JSP2(1))
PAS01450
POIDS=IQ2(I)*PMMM
PAS01460
i'
PRINT *,NREG2l,I,JSP2(Ij,IQ2(I),POIDS
PAS01470
GOTO 34
PAS01480
32 CONTINUE
PAS01490

PCIDS=IQ2 i 1)
120
PAS01500
GOTO 34
PAS01510
33 CONTINUE
PAS01520
POIDS=IQL(I)*lOO.
PAS01530
34 CONTINUE
PAS01540
r
PRINT *,I,ITT,JSP2(I),POIDS,CAP(JSP2(I),ITT,1),TOT(ITT),POIPIR
PAS01550
CAP<JSP2(I),ITT,1)=CAP(JSP2(I),ITT,l)+POIDS
PAS01560
TOT(ITT)=TOT(ITT)+POIDS
PASG15?0
CAP(JsP2(I),ITT,2)=CAP(JSP2(Ij,ITT,2)+POIDS*POIDS
PAS01580
IF(POIDS.LT.CAP(JSP2(I),ITT,5))
CAP(JSP2(I),ITT,5)=POIDS
PASO1590
IF(POIDS.GT.CAP(JSP2(I),ITT,6))
CAP(JSP2(I),ITT,G)=POIDS
PAS01600
C ON CUMULE EN CAP(. .7) SEULEMENT LA PREM. OCCURRENCE
PASO1610
IF(IFLAGE(JSP2(I)).EQ.G)
PASG1620
1 CAP(JSP2(I),ITT,7)=CAP(JSP2(I),ITT,7)+1
PAS01630
IFLAGE(JSP2(1) j=l
PAS01640
POIPIR=POIPIRtPOIDS
PASO1650
POIDES(JSP2(Ij)=POIDES(JSP2(I))+POIDS
PASG1660
c
PRINT *,NREG21,I,JSP2(I),POIDS
PAS01670
3 CONTINUE
PAS01680
C SORTIE FICHIER TEST BOX Gr W
PASO1690
rL
IF(POIDES(l8lj.GT.O)WRITE(22,989)
ITT,J181,POIDES(181)
PAS01700
ç
IF(POIDES(l83j.GT.O)WRITE(22,989)
ITT,J183,POIDES(183)
PAS01710
c
IF(POIDES(l88j.GT.O)wRITE(22,989)
ITT,J188,POIDES(188)
PAS01720
c
IF(POIDES(49).GT.OjWRITE(22,989)
ITT,J49,POIDES(49)
PAS01730
C 989 FORMAT(215,F5.1)
PAS01740
C VERIF SI MEME ESPECE PLUSIEURS FOIS
NN=NB.D'ESPECES
PAS01750
DO 36 I=l,NBRESP
PAS01760
36 NBESP(I)=G
PAS01770
DO 37 I=l,N
PAS01780
37 NBESP(JSP2(I)j=NBESP(Jsp2(1))+1
PAS01790
NN= G
PAS01800
DO 38 I=l,NBRESP
PASO1810
IF(NBESP(I).GT.O) NN=NN+l
PAS01820
38 CONTINUE
PAS01830
c' ************ CALC NB ESPECES PRESENTES ET CAPT.PAR GROUPE D'ENGINS
PAS01840
ANEP(ITT ,l)=ANBP(ITT ,l)+l
PAS01850
ANEP(ITT ,2)=ANBP(ITT ,2)+NN
PAS01860
ANBP(ITT , 3)=ANBP(ITT ,3)+NN*NN
PAS01870
ANBP(ITT ,4)=ANBP(ITT ,4)+POIPIR
PAS01880
ANBP(ITT ,5)=ANBP(ITT ,5)+POIPIR*POIPIR
PAS01890
c' SORTIE FICHIER TEMP EN 20 AVEC NBESP ET POIDS(TOTAL ET PAR ESP)
PAS01900
DO 3456 J=1,250
PAS01910
3456 IPOIDE(J)=POIDES(Jl
PAS01920
WRITE(23,983) NREG2l,IP,IAN,IM,IJ,IN,ITTT,NN,POIPIR,
PAS01930
1
(IPOIDE(J),J=l,NBRESP)
PAS01940
983 FORMAT(815,F7.1,25014)
PASG1950
WRITE(2O) NREG2l,IP,IAN,IM,IJ,IN,ITTT,NN,POIPIR,
PAS01960
1
(POIDES(J),J=l,NBRESP)
PAS01970
GOTO 1
PAS01980
10 CONTINUE
PAS01990
END FILE 20
PASO2000
REWIND 20
PAS02010
C C'ALCIJL POIDS MOYEN ET SX PAR PIROGUE SELON L'ENGIN
PAS02020
DO 11 I=l,NBRESP
PAS02030
DO 11 J=l,NBRGE2
PAS02040
AN=CAP(I,J,7)
PAS02050
IF(AN.EQ.G.) GOTO 11
PAS02060
IF(AN.EQ.l.)CAP(I,J,3)=CAP(I,J,l)
PAS02070
IF(AN.GT.l.)CAP(I,J,3)=CAP(I,J,l)/AN
PAS02080
CAP(I,J,4j=O.
PAS02090
IF(AN.GT.l.) THEN
PAS02100
ASQ=(CAP(I,J,2)-CAP(I,J,l)*CAP(I,J,l)/AN)/(AN-l.)
PAS02110
IF(ASQ.GT.0.j CAP(I,J,4)=SQRT(ASQ)
PAS02120
ENDIF
PASO2130
11 CONTINUE
PAS02140
C CALCUL NB MOYEN ET SX D'E!SPECES ET POIDS PAR ENGIN
PAS02150
DO 61 I=l,NBRGE2
PAS02160
AN=ANBP(I,l)
PAS02170
IF(AN.EQ.0.) GOTO 61
PAS02180
IF(AN.GT.l.) ANBP(I,6)=ANBP(I,2)/AN
PAS02190
IF(AN.EQ.l.) ANBP(I,G)=ANBP(I,2)
PAS02200

ANBP(I,7j=O.
121
PASO2210
IF(AN.GT.1.) THEN
PAS02220
ASQ=(ANBP<I,3)-ANBP(I,2)*ANBP(I,2)/AN)/(AN-1.)
PAS02230
IF(ASQ.GT.0.) ANBP(I,7)=SQRT(ASQ)
PAS02240
ENDIF
PAS02250
IF(AN.GT.l. ) ANBP(I,8)=ANBP(I,4)/AN
PASO2260
IF(AN.EQ.l.) ANBP(I,8)=ANBP(I,4j
PASO2270
ANBP(I,9)=0.
PAS02280
IF(AN.GT.l.)
THEN
PASO2290
ASQ=(ANBP(I,5)-ANBP(I,4)*ANBP(I,4)/AN)/'(AN-1.)
PAS02300
IF(ASQ.GT.0.) ANBP(I,g)=SQRT(ASQ)
PAS02310
ENDIF
PAS02320
61 CONTINUE
PASO2330
C PRINTOUT TAELE
PAS02340
DO 50 J=l,NBRGEL
PAS02350
IF(TOT(Jj.EQ.0.) GOTO 50
PAS02360
NBTOT=O
PAS02370
DO 51 I=l,NBRESP
PAS02380
IF(CAP(I,J,l).GT.O) NBTOT=NBTOT+l
PAS02390
51 CONTINUE
PAS02400
IANBP=ANBP(J,l)
PASO2410
PRINT 950,IPORT1,INEE,IMOIS1
PAS02420
950 FORMAT(lHl,//,lX, 'TABLEAU STATS SUR CAPTURES ',
PAS02430
1
'(PUE) KG PAR GROUPE D-ENGINS ET ESPECE',
PAS02440
2
//,1X,'
PORT ',15,'
ANNEE ',15,'
MOIS ' ,I5,ijPAS02450
PRINT 901, J,LGREN2(J),NBTOT,TOT(J),IANBP(J,G),ANBP(J,8)
PAS02460
901 FORMAT( /1Xt'GR.ENG',13,'=',A8,3X,'NB.ESPECES
',14,'
CAPT.TOTALE'PAS02470
1
,F8.1,'
PIR.ECHANT.',IS, '
NB.ESP.MOYEN/PIR. ',F6.1,
PAS02480
2 '
CAPT.MOYEN/PIR.' ,F8.1,//7X,'ESPECE',24X,'
CAPTURE', PAS02490
3'
MOYENNE
ST.DEV
MIN
MAX
FREQ'
PAS02500
4 ,/46X,'MOYENNE
DE PRESENCE',/)
PAS02510
c' CHERCHER ORDER CAPTURE (SERA EN IORDER)
PAS02520
DO 520 I=l,NBRESP
PAS02530
IORDER(Ij=O
PAS02540
520 VECC(I)=CkP(I,J,lj
PAS02550
DO 521 II=l,NBRESP
PASO2560
AMA=o.
PAS02570
IORD=O
PAS02580
DO 522 I=l,NBRESP
PAS02590
IF(VECC(I).LT.O.OOl) GOTO 522
PAS02600
IF(VECC(I).LE.AMA) GOTO 522
PAS02610
AMA=VECC(I)
PAS02620
IORD=I
PAS02630
522 CONTINUE
PAS02640
IF(IORD.EQ.0) GOTO 521
PAS02650
IORDER(II)=IORD
PAS02660
VECC(IORDj=O.
PAS02670
521 CONTINUE
PAS02680
DO 52 II=l,NBRESP
PAS02690
I=IORDER(II)
PAS02700
IF(CAP(I,J,l).EQ.O.) GOTO 52
PAS02710
ICAP=CAP(I,J,7)
PAS02720
CMOY=CAP(I,J,1)/IANBP
PAS02730
PRINT 902,I,LESP(I),CMOY
,(CAP(I,J,K),K=3,6),ICAP
PAS02740
CO2 F0RMAT(1X,15,1X,A28,6X,5F12.2~112)
PAS02750
52 CONTINUE
PAS02760
50 CONTINUE
PAS02770
C F'RINTOUT TABLE
ç.
PAS02780
L
PRINT 910
PAS02790
c
DO 70 I=l,NBRGE2
PAS02800
C 70 PRINT 911, LENG(I),(ANBP(I,J),J =1,9)
PAS02810
C 910 FORMAT(lH0, 'TABLEAU STATS PAR ENGIN',/lX
PAS02820
c
1
, 'ENGIN
NB.PIROGUES XXXXXXXXXXXXXX',/)
PAS02830
C 911 FORMAT(lX,A4,2X,9F12.1)
PASO2840
C RELECTURE FICHIER REDUIT/PIR ET VERIF CAPT ET NB.ESP ET CAPT/ESP
PAS02850
C VERSUS ANBP
PAS02860
ISW=O
PAS02870
71 READ(2O,END=72) NREG21,IP,IAN,IM,IJ,IN,ITT,NN,POIPIR,
PAS02880
1
(POIDES(J),J=l,NBRESP)
PAS02890
C 71 READ(20,983,END=72) NREG~~,IP,IAN,IM,IJ,IN,ITT,NN,POIPIR,P()IDES
PAS02900
c
IENG=IGRENG(ITT)
PAS02910

CI
IENG=ITT
122
PAS02920
IENG=IGREN2(ITT)
PASO2930
AN=NN
E'AS 0 2 9 4 O
IF(AN.LT.[ANBF(IENG,6)-4.*ANBP(IENG,7)).OR.
PASO295D
1
AN.GT.(ANBP(IENG,6)+4.*ANBP(IENG,7)))
THEN
PAS02960
IF(1SW.EQ.O) THEN
PAS02970
ISW=l
PASO2980
WRITE(8,915)
PAS0299G
ENDIF
PAS03000
fJRITE(8,913)
NREG21, IP,IAN,IM,IJ,IN,ITT,NN
PAS03010
1
,ANBP(IENG,6),ANBP(IENG,7)
PASO3020
ENDIF
PAS03030
IF(POIPIR.LT.(ANBP(IENG,8)-4.*ANBP(IENG,g)).OR.
PAS03040
1
POIPIR.GT.(ANBP(IENG,8)+4.*ANBP(IENG,9)))
THEN
PAS03050
IF(ISW.EQ.0) THEN
PAS03060
ISW=l
PAS03070
WRITE(8,915)
PAS03080
ENDIF
PAS03090
WRITE(8,914)
NREG21, IP,IAN,IM,IJ,IN,ITT,POIPIR
PAS03100
1
,ANBP(IENG,8),ANBP(IENG,9)
PAS03110
ENDIF
PASO3120
DO '73 J=l,NBRESP
PAS03130
IF(POIDES(J).EQ.O.) GOTO 73
PAS03140
IF(POIDES(J).LT.(CAP(J,IENG,3)-4.*CAP(J,IENG,4)).OR.
PAS03150
1
POIDES(J).GT.(CAP(J,IENG,3)+4.*CAP(J,IENG,4)))
THEN
PAS03160
IF(ISW.EQ.0) THEN
PAS03170
ISW=l
PASO3180
WRITE(8,915)
PAS03190
ENDIF
PAS03200
WRITE(8,9140) NREG21,IP,IAN,IM,IJ,IN,ITT,IESANC(J),LESP(,J)
PAS03210
1
POIDES(J),CAP(J,IENG,3),CAP(J,IENG,4)
PAS03220
Pi
PRINT *,POIDES(J;,CAP(J,IENG,3),CAP(J,IENG,4)
PASO3230
ENCIF
PAS03240
73 CONTINUE
PAS03250
GOTO 71
PAS03260
72 CONTINUE
PAS03270
915 FORMAT(//ilX, 'ERREURS CAPT.ET NB ESP. PIROGUES VERSUS MOYENNES',
PAS03280
1 /17X,"
PORT
DATE
PIR ENGIN ERREUR',
PAS03290
2 57X,'MCYENNE
SX',/)
PASO3300
913 FORMAT(lX,'CARTE 1 Nx=',I5,615,'
NBESP PIROGUE'
PAS03310
1 ,43X,I3,F10.1,'
',F10.2)
PAS03320
914 FOFM.AT(lX, 'CARTE 1 Nx=',I5,615,'
POIDS PIROGUE',34X,F12.1
PAS03330
2 ,FlO.l,'
',F10.2)
PAS03340
9140 FORMAT(lX,'CARTE 1 Nx=',I5,615,'
POIDS ESPECE ' ,14,2X,A28,F12.1 PAS03350
3 ,FlO.l,'
',F10.2)
PAS03360
RETURN
PAS03370
END
PAS03380

123
I
decomp
I
bin/csh
# ce programme permet de ramener dans le repertoire
ii courant un fichier dans une arborescence.
# si ce fichier est compresse -> il est decompresse dans
#
le repertoire courant. Le compresse n'est pas efface
# si le fichier n'est pas compresse, on en fait une copie
# dans le repertoire courant.
if ($#argv
!= 1) then
echo "usage : decomp <nom de fichier>"
exit(1)
endif
if (-e "$l.Z") then
echo "Decompression de $l.Z"
zcat "$l.Z" >! ‘basename $1'
if ($status != 0) then
echo "decomp : erreur lors de la decompression de $1.2"
exit(1)
endif
else
if i-e $1) then
alias cp cp
echo "Copie de $1"
cp $1 'basename $1‘
if ($status != 0) then
echo "decomp :erreur lors de la copie de $1
exitil)
endif
else
echo "decomp : $1 n'existe pas"
exit(1)
endi.f
endif

124
I
pat
I
#! /bin/csh
set NbParam = $#argv
if ( SNbParam != 3 1 then
echo "usage : $0 NomDePort NumeroPort Annee"
exit
endif
set Port = $1
8 NumPort = $2
@ Annee = $3
set NomFichier = $1$3
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '/home/mareme/crodt/pechart/pa/basepa'
echo " "
echo 'Traitement pour les donnees du port : $Port
Numero : $NumPort Annee :
$Annee"
echo " "
echo "ATTENTION : LES FICHIERS DU REPERTOIRES PARAM DOIVENT ETRE DECOMPRESSES '
# CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo '
250"
>! restruc.par
echo "15 $pechart/param/espir89.dpa"
>> restruc.par
echo "26 $pechart/param/coda75.dat"
>> restruc.par
echo "27 $pechart/param/coda83.dat"
>> restruc.par
echo "28 $pechart/param/coda85.dat"
>> restruc.par
echo "17 $pechart/param/liste.cod"
>> restruc.par
echo "18 $pechart/param/engin.dat"
>> restruc.par
echo "12 pa.$Port$Annee"
>> restruc.par
echo "11 $pechart/paramiport.cod"
>> restruc.par
echo "06 erreurs.$Port$Annee"
>> restruc.par
echo "13 temp2.13"
>> restruc.par
echo "14 temp2.14"
>> restruc.par
echo "23 $pechartbase/captpir/$Port$Annee.captpir
>> restruc.par
echo "22 $pechartbase/effjour/$Port$Annee.effjour"
>> restruc.par
echo "24 $pechartbase/longpir/$Port$Annee.longpir"
>> restruc.par
echo *
0 "
>> restruc.par
echo '
SNumPort
$Annee
1 "
>> restruc.par
echo '
$NumPort
$Annee
2 "
>> restruc.par
echo '
SNumPort
$Annee
3 "
>> restruc.par
echo '
$NumPort
$Annee
4 "
>> restruc.par
echo I>
$NumPort
$Annee
5 "
>> restruc.par
echo "
$NumPort
$Annee
6 "
>> restruc.par
echo "
$NumPort
$Annee
7 "
>r restruc.par
echo '
$NumPort
$Annee
8 "
>> restruc.par
echo '
$NumPort
$Annee
9 "
>> restruc.par
echo II
$NumPort
$Annee
10 "
>> restruc.par
echo '
SNumPort
$Annee
11 "
>> restruc.par
echo '
SNumPort
$Annee
12 "
>> restruc.par
echo '1 sort
-t$ +o.o -0.15 +0.30 -0.35 +0.50 -0.55 -osortc.tmp
-2425
$pechart/basepa!captpir/$Port$Annee.c:aptpir
-T /home/mareme/crodt/tmp" >i
pasortc
echo "12 $pechartbase/effjour/$Port$Annee.effjour"
>! pasumcap.par
echo "13 sortc.tmp"
>> pasumcap.par
echo "14 $pechartbase/eqz/$Port$Annee.egz"
>> pasumcap.par
echo "15 $pechartbase/cqzzone/$Port$Annee.cqzzone"
>> pasumcap.par
echo "16 $pechartbase/cqzext/$Port$Annee.cqzext"
>> pasumcap.par
echo "17 $pechart/param/liste.cod"
>> pasumcap.par
# TRAITEMENT
decomp "$pechart/pafich/pa.$NomFichier"
if ($status != 0) exit

125
echo 'Lancement de restruc'
restruc
if (Sstatus != 0 1 then
@Ch0 "erreur dans restruc pour le port $Port annee $Annee"
exit
enàîf
echo 'Lancement de pasortc'
sh pasortc
if (Sstatus != 0 1 then
echo "erreur dans pasortc pour le port $Port annee $Annee"
exit
endif
echo 'Lancement de pasumcap'
pasumcap
if ($status != 0 ) then
echo "erreur dans pasumcap pour le port $Port annee SAnnee"
exit
endif
echo "Compression des donnees"
compress -f "$pecharthase/captpir/$NomFichier.captpir"
compress -f "$pechartbase/longpir/$NomFîchier.longpir"
compress -f "$pechartbase/eqz/$NomFichier.eqz"
compress -f "$pechartbase/cqzext/$NomFichier.cqzext"
compress -f "$pechartbase/cqzzone/$NomFichier.cqzzone"
compress -f "$pechartbase/effjour/$NomFichier.effjour'
alias rm rm
rm "pa.$Port$Annee"
temp2.13 temp2.14 sortc.tmp
echo "That Al1 Folk's"

126
restruc.par
2 50
15 espir89.dpa
26 coda75.dat
27 coda83.dat
28 coda85.dat
17 liste.cod
î8 engin.dat
12 pafichlpa.aaa91
11 port.cod
06 erreurs.aaa91
13 temp2.13
14 temp2.14
23 captpir/aaa9l.captpir
22 effjour/aaa91.effjour
24 longpir/aaa9l.longpir
0
31 91 1
31 91 2
3 1 9 : 3
31 91 4
31
91
5
31 91 6
31
91
7
31 91 8
31 91 9
31 91 10
31 91 1 1.
31 91 12
I
re8truc.f
I
C PROGRAMME RESTRUC
FEV 92
c modifie mars 93 pour mettre espece inconnue en 250
C PROGRAMME DE STRUCTURATION DE LA BASE PA
C CE PROG CREE DES FICHIERS INTERMEDIAIRES:
c
EFFORTS PAR JOUR
C
CAPTURES PAR PIROGUE
C
TAILLES PAR PIROGUE
C CES FICHIERS SERONT LES FICHIERS DE REFERENCE PA
C MAIS SERVIRONT AUSSI POUR LA CONFECTION DE FICHIERS PAR
C QUINZAINE,ENGIN,ZONE (EXTRAP OU PAS...)
C TROIS ETAPES
:0 CREATION DE FICHIERS TEMPORAIRES
JPASSO
C
2 calcul poids moyens/esp/qz/gr.eng /
JPASS2
C
3 calcul capt/pir et sortie fichiers/pir.
JPAS30
C FIZHIERS D'ENTREE
C
15 - ESPIR89 (A ET B PAR ESPECE)
C
16 - CODAXX DATA (CODES ESPECES SELON ANNEE
C
17 - liste cod
(CODES NOMS ESPECES
C
18 - ENGIN DATA (CODES NOMS ENGINS
C
12 - FICHIER PA
C
11 - PORT DATA (CODE DES PORTS < 85
C
5 - PARAMETRES SELECTION PORT ANNEE ET MOIS
C FICHIERS DE SORTIE
C
13 - FICHIER CARTES 20/0 UTILISE APRES EN PASSl STATS EFFORTS
C
14 - FICHIER CARTES 21ET 22/1 ET 2, UN ENREGISTREMENT/PAR PIR.
C
22 - FICHIER FORMATE DES EFFORTS JOURNALIERS
C
23 - FICHIER BINAIRE DES PRISES PAR PIROGUES
C
24 - FICHIER BINAIRE DES TAILLES PAR PIROGUES
C
6 - LISTING D'ERREURS
C
DECL EN COMMON TOUS TABLEAUX
CHARACTER LESP(999)*28,LENG(24)*4
INTEGER
D(15),E(11),1T(100),1Q(100,20)
INTEGER
1T2(100),1Q2(100),1L2(100,35)
INTEGER
JSP(lOO),JSP2(100)
INTEGER
D1(30),INCOD(99,3),NOUCOD(250)
DIMENSION A(250),B(250),PM(250)
INTEGER IEFF(32,24,2)
CHARACTER*32 FILEl,FILE2,FILE3,FILE4,FILE5,FILE6,FILE7


128
END
ccccccccccccccccccccccccccccccccccccccccccccccccccc
SUBROUTINE JPASSO
ccccccccccccccccccccccccccccccccccccccccccccccccccc
C
ROUTINE JPASSO: L$ECTURE FICHIERS AUX. ET CREATION FICHIERS TEMP.
c
A PARTIR DE FICHIER PA MENSUEL OU ANNUEL;1 SEUL PORT
c
DECL EN COMMON TOUS TABLEAUX
CHARACTER LESP(999)*28,LENG(24)*4,LLESP*28
INTEGER
D(15),E(11),IT(100),IQ(lOO),IL(lOO,20)
INTEGER
1T2(100),1Q2(100),1L2(100,35)
INTEGER
JSP(lOO),JSP2(100)
INTEGER
Dl(3O),INCOD(99,3),NOUCOD(250)
DIMENSION A(25O),B(25O),PM(250)
INTEGER IEFF(32,24,2)
REAL EFF(3,24,2)
REAL ANPIR(250,2,8)
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,D1,INCOD,A,B,PM
1,IPORT1,INEE,IMOISl
2,IEFF,EFF
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
4,LESP,LENG,NOUCOD
5,NBRESP,NBRENG,NBRGEl,NBRGE2,JCUMUL
6,NBLECT
C TABLEAUX LOCAUX
integer d2(24),icorrd1(23)/2,1,5,4,6,7,8,9,10,
11, 12,13,14, 15,16
1 ,17,18,19,20,21,22,23,24/
INTEGER ICPORT(9)
INTEGER
NUMBP(lOO)
C*****LECTURE STACK PORT ,ANNEE ET MOIS SELECTIONNES
READ(5,110,END=l1111)
IPORTl,INEE,IMOISl
110 FORMAT(3I5)
GOTO 11112
11111 continue
CLOSE(12!
CLOSE(15)
CLoSE(26)
CLOSE(27)
cLoSE(28)
CLOSE(17!
CLOSE(18)
CLOSE(~~:I
CLOSE(O6)
CLOSE(13j
CLOSE(14)
cLOSE(23)
CLOSE(221
CLOSE(24)
stop
11112 CONTINUE
IF(NBLECT.GT.0) GOTO 10000
C********LECTURE COEFF DES RELATIONS TAILLE-POIDS*******
do 45543 i=l,nbresp
READ(15,200,end=45544) j,aj,bj,pmj
if(j.eq.g99)j=nbresp
a(j)=aj
h(j)=bj
p(j)=&
200 FORMAT (i3,E10.3,F6.3,E10.3)
45543 continue
45544 continue
C POIDS MOYEN EN KG
DO 3640 I=l,NBRESP
.3640 PM(I)=PM(I)*lOOO.
C********LECTURE FICHIERS CODES ESPECES************
DO 364 Kl = 1, 3
nb6=25+kï
DO 363
K2 = 1, 100
READ(nb6,233,END=364)I,INCOD(I,Kl)
363 CONTINUE

129
364
CONTINUE
233
FORMAT (5X,15,15)
C*******LECTURE (-ODE PORT < 85*******************
DO 350 Kl = 1,9
READ(11,232,END=351) I,ICPORT(I)
350 CONTINUE
232 FORMAT(215)
351 CONTINUE
C********LECTURE FICHIER NOMS ESPECES************
C
READ(17,2340)
READ(17,2340)
2340 FORMAT
DO 366 K2 = 1, NBRESP
READ(17,234,END=367)LLESP,I,NOUC
IF (I.EQ.999) I=NBRESP
LESP(I)=LLESP
NOUCOD(I)=NOUC
366 CONTINUE
367 CONTINUE
234 FORMAT (6X,A28,16X,I3,10X,I4)
WRITE(40,*)'FINI LECTURE DES NOMS ESPECES'
C********LECTURE FICHIER NOMS ENGINS************
DO 368 K2 = 1, NBRENG
READ(18,235,END=369)I,LENG(I),IGRENG(I),IGREN2(1)
368
CONTINUE
369 CONTINUE
235 FORMAT (12,1X,A4,1X,I2,14)
C
UNITE LECTURE FICHIER PA
NTR==12
10000 CONTINUE
NREG=O
C CODE ESPECE DANS TABLEAU INCOD SELON L'ANNEE
JB=3
IF(INEE.GE.74.AND.INEE.LE.82) JB=l
IF(INEE.GE.83.AND.INEE.LE.84) JB=2
C********LECTURE FICHIER DONNEES PA (UN AN,PORT) *****************
C +++++++++++LECTURE CARTE 2O(FORMAT VARIABLE SELON ANNEE) +++++++
ASSIGN 89 TO IFORM
ASSIGN 92 TO ICl
ASSIGN 94 TO IC2
IMAX = 30
IF(INEE.EQ.85) ASSIGN 90 TO IFORM
IF(INEE.GT.85) ASSIGN 91 TO IFORM
IF(INEE.GE.85) ASSIGN 93 TO ICl
IF(INEE.LE.84) IMAX = 14
111 CONTINUE
DO 3.30 I=l,30
3313 Dl(I)=0
READ(NTR,FMT=IFORM,END=9500)
(Dl(I),I=l,IMAX)
C
FORMAT JUSQU'A 1984
89 F0RMAT(2X,11,312,211,13,12,213,312,13)
C
FORMAT 1985
90 F0RMAT(1X,412,211,13,I2,213,2012}
C
FORMAT 1986 +
9.1
F0RMAT(1X,412,211,13.12,213,412,213,1412)
JCUMUL=JCUMUL+l
c recode port annees avant 85
if(d1(2).le.84) Dl(l)=ICPORT(dl(l) )
c câ.Lcul quinzaine
IF (D1(4).LE.15) IQZ=(D1(3)*2)-1
IF (D1(4).GT.15) IQZ=(D1(3)*2)
NREG=NREG+l
NREG2O=NREG
C TE!ST MOIS SELECTIONNE;S1 ANNEE OU PORT PAS CORRECT ON S'ARRETE
C SI PLUSIEURS MOIS DANS LE FICHIER ON SAUTE JUSQ.MOIS SEL.
C (FICHIER SUPPOSE ETRE EN ORDRE ASCENDANT)
IF(IPORT1.NE.Dl(l).OR.INEE.NE.Dl(2))
1
WRITE(6,965)NREG,NREG2O,IPORTl,INEE,D1
965 FORMAT(lX,'MAUVAISE SEL.ANNE-PORT ',215,212,1X,2013,1OI2)
IF(IPORT1.NE.D1(1).0R.INEE.NE.Dl(2))
STOP

130
IF(D1(3)-IMOISl) 9300,9400,9500
c lecture vide jusqu au mois selectionne
930C DO 9301 I=l.,10000
READ(NTR,98,END=9500) LAl,LA2
NREG=NREG+l
90 FORMAT(211)
IF(INEE.GE.85.AND.LAl.EQ.O)
GOTO 9302
IF(INEE.LT.85.AND.(LAl*lO+LA2).EQ.20)
GOTO 9302
9301 CONTINUE
9302 BACKSPACE 12
NREG=NREG-1
GOTO 111
9400 CONTINUE
C MOIS OK
NR=Dl(IMAX)
C ECRITURE FICHIER TEMP 13
c recod d'abord donnees <=84 et recode aussi des engins
IF (D1(2).LE.84) THEN
D1(3O)=D1(14)
D1(14)=0
ENDIF
do 9321 j=1,24
9321 d2(jj=O
do 9322 j=7,29
k=j-6
9322 dl(icorrdl(k))=dk(j)
c ******SORTIE ENREG EN FICHIER EFFORTS PAR JOUR **********************
WRITE(22,9991) IQZ,(Dl(j),j=1,6),d2,d1(30)
9991 FORMAT(3214)
IF(NR.EQ.0) GOTO 111
C +++++++++++LECTURE 21 ET 22 SELON ANNEE
(<89 OU >=89) +++++++++
DO 1882 II=l,NR
C METTRE A 0 JSP,IT,IQ,IL POUR CHACUNE DES NR CARTES 21
DO 390 I=l,lOC
JSP(I)=O
IT(Ij=O
IQ(I)=O
DO 390 J=1,20
390 IL(I,J)=O
DO 120 I=l,100
120 JSP(I)=O
93 F0RMAT(1X,612,11,312,11,4X,12,2(12,11,13,512),12,11,6I3)
92 F0RMAT~2X,11,412,211,312,11,5X~12,2(12,11,13,512),12,11,6I3)
im=O
IF(INEE.GE.89) GOTO 4000
ccc
AVANT 89
C
LECTURE CARTE 21
READ(NTR,FMT=ICl) E,NS,(JSP(I),IT(I),IQ(I),(IL(I,K),K=l,5),I~l,3)
IF (INEE.LE.84) E(l)=IPORTl
NREG=NREG+l
NREG21=NREG
IF(NS.EQ.0) IM = 3
IF(NS.EQ.0) GOTO 333
IK=O
C
LECTURE NS CARTES 22
DO 133 IJ=l,NS
IK=IK+C
IM=IK+3
IF(IM.GT.100) WRITE(6,971)INEE,IC1,IM,(E(IP),IP~l,5),NS
IF(IM.GT.100) STOP
971 FORMAT(lX,'PLUS DE 100 GROUPES ECHANT. BIZARRE!
1,915)
READ(NTR,FMT=IC2) (JSP(I),IT(I),IQ(I),(IL(I,K),K=1,5),I=IK,IM)
NREG=NREG+l
133 CONTINUE
94 F0RMAT(11X,3(12,11,13,512),12,11,13,5I3)
GOTO 4444
ccc
ANNEES >=89
c
LECTURE
CARTE 21
4000 CONTINUE
READ(NTR,FMT=993) E,NS

131
NREG=NREG+l
NREG21=NREG
993 F0RMAT(1X,612,11,312,11,4X,12)
C
IF(INEE.GE.89) NS = NS -1
IF(NS.EQ.0) GOTO 333
IK=O
C
LECTURE NS CARTES 22
DO 4133 IJ=l,NS
READ(NTR,FMT=994) JSP(IJ),IT(IJ),IQ(IJ),(IL(IJ,K),K=l,l2)
NREG=NREG+l
994 FORMAT(lX,I3,Il,l313)
4133 CONTINUE
IM=NS
333 CONTINUE
4444 CONTINUE
C RESHUFFLE INFO POUR AVOIR UN ENREG.PAR PIROGUE
C ON AURA Il ESPECES MAX 35 POISSONS PAR ESPECE
DO 300 I=l,100
JSP2(1)=0
IT2(1)=0
IQ2(,1)=0
DO 300 J-1,35
300 IL2(I,J)=O
NBP=5
IF(INEE.GE.89) NBP=12
Il=0
C SI PAS DE POISSONS SAUTER
C
IF(IM.EQ.O) GOTO 30100
DO 301 I=l,IM
if(inee.ge.89) goto 42222
c
gcarte 21 peut avoir les deux premiers champs en blanc (gros poiss.)
isunun=jsp(i)+it(i)+iq(i)+il(i,l)
if(isumm.eq.0)
goto 301
42222 IF(im.ge.l.and.JSP(I).EQ.O.AND.I.EQ.l)print
*,'esp O',nreg,iy(i)
l,im,(e(ij),ij=l,a)
IF(im.ge.l.and.JSP(I).EQ.O.AND.I.EQ.l)
jsp(i)=999
IF(JSP(I).EQ.O.AND.I.EQ.l) GOTO 30100
c continuation poissons mesures si pas de type ,quantite????
c 1 espece est parfois codee.....
C
IF(JSP(I).EQ.O) GOTO 302
IF(it(I).eq.O.or.iq(i).EQ.O)
GOTO 302
C NOUVELLE ESPECE
Il=Il+l
if(il.gt.30)print *, '+ de 30 especes echant. de la pir.',
1 ' on garde 30',e,im
if(il.gt.30) goto 301
c recode temporaire especes mal codees (>202 et not 999).......
c ATTN POUR LE FUTUR: NE DEVRAIT PAS SE PRODUIRE !!!!!!!!!!!!!!!!!!!!
if(jsp(i).ne.999 .and.jsp(i).gt.nbresp) print *, 'attn corr.esp! ',
1
e,im,i,jsp(i)
if(jsp(i).ne.999.and.jsp(i).ge.nbresp)
jsp(i)=999
c attn enle-qer apr!!!!!!!
if(jsp(if.eq.0) jsp(i)=999
JSP2(11)=JSP(I)
IT2(Il)=IT(I)
IQ2(Il)=IQ(I)
DO 303 J=l,NBP
303 IL2iIl,J)=IL(I,J)
Jl=l
GOTO 301
302 CONTINUE
C .5 POISSONS MESURES
Jl=Jl+NBP
J2=Jl+NBP-1
IF(J2.GT.35) WRITE(6,972)(E(IP),IP=l,5),JSP2(11)
IF(J2.GT.35) GOTO 301
972 FORMAT(lX,'>35 POISSONS DANS L-ECHANT.RESTE IGN.
',615)
DO 304 J=Jl,J2
304 ILZ(Il,J)=IL(I,J-Jl+l)
301 CONTIPJUE

132
if(il.gt.30) 11=:30
C RECODE ESPECES SELON TABLEAU INCOD SI AVANT 89
999 TOUJ
C
IF(INEE.GE.89) GOTO 3050
DO 305 I=l,11
c
IF(INEE.LT.89) JSP2(I)=INCOD(JSP2(I),JB)
IF(INEE.LT.89.and.jsp2(i).ne.999)
JSP2(I)=INCOD(JSP2(I),JB)
IF(JSP2(I).EQ.999) JSP2(I)=NBRESP
305 CONTINUE
3050 CONTINUE
30100 CONTINUE
DO 22224 I=l,Il
NTJMBP(1 )=0
C
if(jsp2(i).gt.l99.and
.jsp2(i).ne.999) print *,iqz,jsp2(i),iql(i)
DO 22224 J=1,35
IF(ILZ(I,J).GT.O>NUMBP
(I)=J
22224 CONTINUE
c ******SORTIE ENREG EN FICH IER TEMp/pIR ***************X*X**X*
WRITE(14) JCUMUL,IQZ,NREG2l,(E(I),I=l,ll),I1,
1(JsP2(I),IT2(I),IQ2(I),NITMBP(I),(IL2(I,J),J=l,~BP(Ij),I=l,Il)
if(il.eq.O) goto 1882
DO 2222 I=l,11
IF (JSP2~,I).EQ.0.OR.IT2(I).EQ.O.OR.IQ2(I).EQ.O)
1 WRITE(6,9499) NREG21,JSP2(I),IT2(I),IQ2(I),iqz,
2 (e(j),j=1,5)
9499 FORMAT(lX,'ERREUR CODE ESPECE TYPE OU QUANTITE',1015)
2222 CONTINUE
1882 CONTINUE
GO TO 111
9500 CONTINUE
c fin lecture pour le mois
BACKSPACE 12
END FILE 13
END FILE 14
RETURN
END
ccc~c~cccccccccccccccccccccccccccccccccccccccccccccccc
SUBROUTINE JPASS2
C ROUTINE JPASSZ
C CALCUL STATS: ESPPIR:TABLEAU POIDS MOYENS /ESP/QZ/GR.ENGIN)
C FICHIER D'ENTREE UNITE 14:FICHIER TEMP CREE PAR JPASSO
C
DECL EN COMMON TOUS TABLEAUX
CHARACTER LESP(999)*28,LENG(24)*4
INTEGER
D(15),E(11),IT(100),IQ(lOO),IL(lOO,2O)
INTEGER
1T2(100),1Q2(100),1L2(100,35)
INTEGER
JSP(lOO),JSP2(100)
INTEGER
D1(30),INCOD(99,3),NOUCOD(250)
DIMENSION A(25O),B(25O),PM(250)
INTEGER IEFF(32,24,2)
REAL EFF(3,24,2)
REAL ANPIR(250,2,8)
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2j
C ANPIR(ESP,QUINZ,GROUP ENGIN),ESPPIR IDEM
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,Dl,INCOD,A,B,PM
1,IPORT1,INEE,IMOIS1
2,IEFF,EFF
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
4,LESP,LENG,NOUCOD
S,NBRESP,NBRENG,NBRGEl,NBRGE2,JCUMUL
6,NBLECT
C INIT DO 2 I=l,NBRESP
DO 2 J=1,2
DO 222 K=l,NBRGEl
ANPIR(I,J,K)=O.
222 ESPPIR(I,J,K)=O.
NCOMPT(I,J)=O
2 CONTINUE
REWIND 14
C LECTURE FICHIER TEMP/PIR ET CUMUL TABLEAUX
1 CONTINUE

133
DG 15 J=l,35
DO 15 I=l,100
15 IL2(I,J)=O
READ(14,END=l0) JCUMUL,IQZ,NREG2l,IP,IAN,IM,IJ,IN,ITT,JNBP,JHR~
1JDURtJLIEU,JPROF,N,(JSP2(I),IT2(I),
1IQ2(I),J2,(IL2(I,J),J=l,J2),I=l,N)
C TABLEAU PREmJ INITIALEMENT POUR QZ. JE GARDE KQZ AU CAS OU...
KQZ=l
CI
IF(IJ.GT.15) KQZ=2
IENG=IGRENG(ITT)
C CALCULER NB POISSONS ET POIDS DES POISSONS UTILISANT PO-LONG.
C LES ESPECES SANS A ET B NE SONT PAS INCLUES
C SEULEMENT CAPTURES EN NOMBRE
DO 3 I=l,N
IF(IT2(I).NE.l) GOTO 3
IF(A(JSP2(I))*B(JSP2(I)).EQ.O)
GOTO 3
NCOMPT(JSP2(I),KQZ)=NCOMPT(JSP2(I),KQZ)+IQ2(1)
POIDS=O.
AN=o.
DO 4 J=1,35
IF(IL2(I,J).EQ.O) GOTO 40
POIDS=POIDS+(A(JSP2(I))*((IL2(I,J)+O.5)**B(JSP2(I))))~lOOO.
AN=AN+l.
4 CONTINUE
40 CONTINUE
ESPPIR(JSP2(I),KQZ,IENG)=ESPPIR(JSP2(I),KQZ,IENG)+POIDS
ANPIR(JSP~(I),KQZ,IENG)=ANPIR(JSP~(IJSP~(I),KQZ,IENG)+~
3 CONTINUE
GOTO 1
10 CONTINUE
C CALCUL MOYENNES
DO 11 I=l,NBRESP
DO 11 J=1,2
DO 11 K=l,NBRGEl
IF(ANPIR(I,J,K).GT.O.)
1 ESPPIR(I,J,K)=ESPPIR(I,J,K),'ANPIR(I,J,K)
11 CONTINUE
RETURN
END
cccc~ccccc~ccccccccccccccccccccccccccccccccccccccccc
SUBROUTINE JPAS3C)
C ROUTINE JPAS30
C calcule le poids et le nb de poissons de chaque espece de la pirogue
C FICHIER D'ENTREE UNITE 14:FICHIER TEMP/PIR CREE PAR JPASSO
C COMMON
c
DECL EN COMMON TOUS TABLEAUX
CHARACTER LESP(999)*28,LENG(24)*4
INTEGER
D(i5),E(1l),IT(l00),IQ(lOO),IL(lOO,2O)
INTEGER
1T2(100),1Q2(100),1L2(100,.35)
INTEGER
JSP(lOO),JSP2(100)
INTEGER
D1(30),INCOD(99,3),NOUCOD(250)
DIMENSION A(25O),B(25O),PM(250)
INTEGER IEFF(32,24,2)
REAL EFF(3,24,2)
REAL ANPIR(250,2,8)
DIMENSION ESPPIR(250,2,8),IGRENG(24),IGREN2(24),NCOMPT(250,2)
COMMON D,E,IT,IQ,IL,IT2,IQ2,IL2,JSP,JSP2,D1,INCOD,A,B,PM
1,IPORT1,INEE,IMOIS1
2,IEFF,EFF
3,ANPIR,ESPPIR,IGRENG,IGREN2,NCOMPT
4,LESP,LENG,NOUCOD
5,NBRESP,NBRENG,NBRGEl,NBRGE2,JCUMUL
6,NBLECT
C TABLEAUX LOCAUX
REAL POIDES(250)
INTEGER*2 NLONGP(25O,lOO),NMAXX(250)
INTEGER NBESP(250)
INTEGER IESANC(999)/999*0/
INTEGER*2 JOIP,JOJC,JOIQZ,JOIA,JOIM,JOIJ,JOITTT,JOJNBP,JOJHR
INTEGER*2 JOJDUR.JOJLIE,JOJPRO,JON,NCOD(lOO),JGIN


135
c: IL Y A N ESPECES ECHANTILLONNEES DE LA PIROGUE
POIPIR=O.
DO 35 J=1,250
POIDES(J)=O.
NMAXX(J)=O
DO 35000 K=l,lOO
NLONGP(J,K)=O
35000 CONTINUE
35
CONTINUE
DO 3 I=l,N
POIDSl=O.
POIDS2=0.
POIDS3=0.
POURC=O.
GOTO (31,32,33) IT2(1)
3i CONTINUE
C LONGUEURS
TIN=O.
DO 40 J=1,35
IF(IL2(I,J).GT.O) AN=AN+l.
40 CONTINUE
POURC=AN*lOO.iIQ2(Ij
IF(POURC.LT.50.) GOTO 41
POIDS=O.
C
IF(A(JSP2(I))*B(JSP2(I)).EQ.O.)
THEN
c
WRITE(8,917) NREG21,JSP2(1)
C 917 FORMAT(lX,'CARTE 1 N-=',15,'ESPECE AVEC LONG. ET A,B=O',Ic;)
C
ENDIF
C
PRINT *, 'LONG. & A,B=O ',JSP2(1)
DO 4 J=1,35
IF(IL2(I,J).EQ.O) GOTO 4
IF(A(JSPL(I))*B(JSP2(I)).GT.O.)
THEN
POIDS=POIDS+A(JSP2(I,)*((IL2(I,J
)+0.5)**B(JSP2(1))
ELSE
POIDS=POIDS+PM(JSP2(I))
ENDIF
4 CONTINUE
POIDS=POIDS*100.;POURC
POIDS=POIDS/lOOO.
POIDSl=POIDS
GOTO 34
41 CONTINUE
PMMM=ESPPIR(JSP2(I),KQZ,IENG)
IF((A(JSP2(I))*B(JSP2(I))).EQ.O..OR.ESPPIR(JSP2(I),KQZ,IENG)
1
.EQ.O.) PMMM=PM(JSP2(1))
POIDS=IQ2(I)*PMMM
POIDS2=POIDS
C
PRINT *,NREG2l,I,JSP2(I),IQ2(I),POIDS
GOTO 34
32 CONTINUE
POIDS=IQL(I)
POIDS3=POIDS
GOTO 34
3.3 CONTINUE
POIDS=IQ2(I)*100.
POIDS3=POIDS
34 CONTINUE
DO 35002 J=1,35
ILONG=IL2(I,J)
IF (1LONG.EQ.O) GOTO 35002
NMAXX(JSP2(I))=NMAXX(JSP2(1))+1
if(nmaxx(jspl(i) ).gt.lOO) print *, 'voir nlongp',
1 joip,joian,joim,joij,joittt,jonbp,i,j,jsp2(i),ilong
if(nmaxx(jsp2(i)).gt.l00) goto 35002
NLONGP(JSP2(I),NMAXX(JSP2(I)))=ILONG
35002 CONTINUE
POIPIR=POIPIR+POIDS
if(jsp2(i).gt.250) print *,'??' ,joim,joij,join,jon,i,jspz(i)
POIDES(JSP2(I))=POIDES(JSP2(I))+POIDS
3 CONTINUE

136
C VERIF SI MEME ESPECE PLUSIEURS FOIS
NN=NB.D'ESPECES
DO 36 I=l,NBRESP
35 NBESP(I)=O
DO 37 I=l,N
3'7
NBESP(JSP2(I)j=NBESP(JSP2(1))+1
pJpJ=(l
DO 38 I=l,NBRESP
IF(MBESP(I).GT.O) NN=NN+l
33 CONTINUE
NNN=o
DO 3455 J=l,lOO
NCOD(J)=O
JPOIDE(J)=O
3455 CONTINUE
DO 3456 J=1,250
IF (POIDES(J).GT.O) THEN
NNN=NNN+l
NCOD(NNN)=NOUCOD(J)
JPOIDE(NNN)=POIDES(J)
if(jpoide(nnn).gt.O.and.ncod(nnn).eq.O)
print *,j,poides(j)
if(jpoide(nnn).gt.O.and.ncod(nnn).eq.O)
print *,
4 IP,
IQZ,
IAN, IM, IJ, IN,
ITTT,
1 JNBP,
JHR,
JDUR,
JLIEu,
JPROf,
Nnn
ENDIF
3455 CONTINUE
JC=JCUMUL,
JOIP=IP
JOJC=JC
JOIQZ=IQZ
JOIAN=IAN
JOIM=IM
JOIJ=IJ
JOITTT=ITTT
JOJNBP=JNBP
JOJHR=JHF
JOJDUR=JDUR
JOJLIE=JLIEU
JOJPRO=JPROF
JOIN=IN
JON=NNN
ccc
IF (NNN.EQ.O) GOTO 983
C ***** SORTIE FICHIER CAPTURES/PIROGUE; 30 ESPECES MAX *************
WRITE(23,957)JOIP,JOIQZ,JOIAN,JOIM,JOIM,JOIJ,JOIN,JOITTT,
1JOJNBP,JOJHR,JOJDUR,JOJLIE,JOJPRO,JON
2
,(NCOD(J),JPOIDE(J),J=l,30)
957 format(13i5,50(i5,f7.1))
C ***** SORTIE FICHIER LONGUEURS/PIROGUE; 50 LONG/ESPECES MAX *******
DO 35004 I=l,250
IF (NMAXX(I).EQ.O) GOTO 35004
WRITE(24,958) JOIP,JOIQZ,JOIAN,JOIM,JOIJ,JOIN,JOITTT,
1JOJLIE,JOJPRO,POIDES(I),NOUCOD(I),NMAXX(I)
2
(NLONGP(I,K),K=1,50
)
9Ei13 format( 915,f7.1,2i5,50i4)
35004 CONTINUE
983 CONTINUE
GOTO 1
10 CONTINUE
RETURN
END

137
pasumcap.par
12 /home/mareme/crodt/pechart/pa/basepa/effjour/yof9l.effjour
13 sortc.tmp
14 /home/mareme/crodt/pechart/pa/basepa/eqz/yof9l.eqz
15 /home/mareme/crodt/pechart/pa/basepa/cqzzone/yof9l.cqzzone
16 /home/mareme/crodt/pechart/pa/basepa/cqzext/yof9l.cqzext
17 /home/mareme/crodt/pechart/pa/param/liste.cod
1 pasumcap.f 1
C PROG CREATION FICHIER PAR QUINZAINE DES CAPTURES ET EFF PA
C EN ENTREE FICHIERS 12 EFFORTS FICHIER FORMATTE sorite restruc
C
13 CAPTURES FICHIER formatte sortie pasort
C
(1 enreg par pir.)
C
17 liste.cod liste des especes
C EN SORTIE UNITE 14 - FICHIER EFFORTS PAR QZ
C
15 - FICHIER CAPTURES sans extrap
c
(1 enreg par qz,eng,zone)
C
16 -
captures - avec eff- extrap.
c
(1 enreg par qz,eng)
c on fait d'abord un passage pour cumuler les donnees par
c pirogue en qz,eng,zone et ce fichier est enregistre
c sans extrapolation donc avec les pirogues echantillonnees
c Ce fichier est ensuite ramene a qz,eng est extrapole aux
c pirogues sorties.
c on remet engin 3 de captpir en 2
C IEFF(QZ,ENG),IPIR(QZ,ENG)
INTEGER*2 NOUCOD(25O)/250*O/,ANCCOD(lOOOO)/lOOOO*O/
INTEGER*2 L(5),11(5),1ESP(250),11(13)
INTEGER IEFF(24,24)/576*0/
INTEGER IPIR(24,24)/576*0/
integer dl(30)
REAL CES(50),capt(250),captc(25O),fac(24,24)
CHARACTER"32 FILEl,FILE2,FILE3,FILE4,FILE5,file6
NBRESP=250
NBRENG=24
NBZ=12
OPEN(5,FILE='pasumcap.par')
READ(5,9O)FILE1,FILE2,FILE3,FILE4,FILE5,file6
90 FORMAT(3X,A32)
OPEN(12,FILE=FILEl,blank='zero')
OPEN(13,FILE=FILE2)
OPEN(14,FILE=FILE3j
OPEN(15,FILE=FILE4)
OPEN(16,FILE=FILE5)
OPEN(17,FILE=FILE6)
C********LECTURE FIC~HIER NOMS ESPECES************
READ(17,2340)
READ(17,2340)
2343 FORMAT(1X)
DO 366 K2 = 1, 250
READ(17,234,END=367)I,NOUC
IF (I.EQ.999) I=NBRESP
c
LESP(I)=LLESP
NOUCOD(I)=NOUC
ANCCOD(NOUC)=I
366 CONTINUE
367 CONTINUE
234 FORMAT (6X,28X,16X,13,10X,14)
PRINT
* 'FINI LECTURE DES NOMS ESPECES'
C
********** LECTURE FICHIER EFFORTS ET CUMUL EN TAB IEFF
1 READ(12,91,END=lG) IQZ,Dl
91 FORMAT(3114)
C RETENIR PORT ET ANNEE
IP=Dl(l)
IA=D1(2)
DO 2 J=7,30

138
K=J-6
2 IEFF(IQZ,K)=IEFF(IQZ,K)+Dl(J)
GOTO 1
10 CONTINUE
PRINT *, 'FINI LECTURE FICHIER EFFORTS'
C ************* SORTIE FICHIERS EFF(14)
DO 20 IQZ=1,24
IM=(IQZ+1)/2
20 WRITE(14,900) IP,IA,IM,IQZ,(IEFF(IQZ,J),J=l,NBRENG)
900 FORMAT(2815)
PRINT *, 'FINI ecriture fichier eff par qz'
C ************ LECTURE FICHIER CAPTURES ET CUMUL par qz,eng,zone
isw=O
nreg=O
4 READ(13,96,end=40) ll,(iesp(j),ces(j),j=l,30)
96 format(13i5,50(i5,f7.1))
nreg=nreg+l
c on recode engin 3 en 2......
if(11(7).eq.3)11(7)=2
1(1)=11(l)
1(2)=11(3)
1(3)=11(2)
1(4)=11(7)
1(5)=11(11)
C
if(nreg.lt.100) print *,l
if(isw.eq.1) goto 44
do 45 i=1,5
45 ll(i)=l(i)
do 46 i=1,250
46 capt(i)=O.
nbpir=O
isw=l
44 continue
c cumul en tableau ipir(nombre de pir.ech par qz et eng)
iqz=1(3)
ien=l($)
IPIR(IQZ,IEN)=IPIR(IQZ,IEN)+1
c test changem strate
if(l(l).eq.ll(l).and.l(2).eq.ll(2j.and.l(3).eq.ll(3)
1
.and.l(4).eq.11(4).and.l(5).eq.l1(5))
goto 51
c change strate. sortie enreg et reinit
C
if(nreg.lt.lOO) print *,'ll',ll,nhpir
write(15,901) ll,nbpir,capt
901 format(6i4,250fll.l)
do 61 i=1,5
61 ll(i)=l(i)
do 62 i=1,250
62 capt(i)=O.
nbpir=O
c same cumul
51 continue
if(ll(l3).eq.O) goto 5200
do 52 j=1,11(13)
if(iesp(j).eq.O)
lprint *,ll,j,iesp(j),ces(j)
if(iesp(j).eq.O) goto 52
K=ANCCOD(IESP(J))
capt(k)=capt(k)+CES(J)
52 continue
5200 nbpir=nbpir+l
GOTO 4
40 CONTINUE
c dern enreg.
write(15,901) ll,nbpir,capt
end file (15)
rewind (15)
PRINT *, ' FINI LECTURE FICHIER CAPTS par pirogue' ,nreg
PRINT *, ' et ecriture capts par qz,eng,zone'
c
************ CALCUL FACTEURS D EXTRAP PIR ECH A PIR SORTIES
DO G I=l,24

139
DO 6 J=l,NBRENG
FAC(i,j)=O.
IF(IPIR(I,J).GT.O) FAC(i,j)=IEFF(I,J)*l./IPIR(I,J)
if(ieff(i,j).gt.O.and.ipir(i,j).eq.O)
1 print 978,
ieff(i,j),i,j
978 format(lx, 'ATTN ',i5,' sorties sans echantillon qz ',i5,
1
I engin ',i5)
6 continue
print *, 'fini talc fac '
c
************ lecture fichier par zones. Extrap et cumul
c
par qz,,eng. Sortie fichier (16)
isw=O
nreg=O
7 READ(15,9Ol,end=70) l,nbp,capt
nreg=nreg+l
1(5)=9999
if(isw.eq.1) goto 74
do 75 i=1,5
75 11(1)=1(i)
do 76 i=1,250
76 captc(i)=O.
nbpir=O
isw=l
74 continue
c test changem strate
if(l(l).eq.ll(l).and.l(2).eq.ll(2).and.l(3).eq.ll(3)
1
.and.l(4).eq.l1(4).and.l(5).eq.l1(5))
goto 8
c change strate. sortie enreg et reinit
C
extrapoler captures et nbpir
iqz=11(3)
ien-ll(4)
f=fac(iqz,ien)
do 88 i=1,250
88 captc(i)=captc(i)*f
11(5)=nbpir*f
C
if(nreg.lt.100) print *,'ll bis',ll,nbpir
write(16‘901) ll,nbpir,captc
do 86 i=1,5
85 ll(i)=l(i)
do 87 i=1,250
8'7 captc(i)=O.
nbpir=O
c same cumul
81 continue
do 82 j=1,250
captc(j)=captç(j)+capt(j)
82 continue
nbpir=nbpir+nbp
GOTO 7
?G CONTINUE
c dern enreg.
c
extrapoler captures et nbpir
iqz=11(3)
ien=11(4)
f=fac(iqz,ien)
do 888 i=1,250
888 captc(i)=captc(i)*f
11(5)=nbpir*f
C
print *, 11,nbpir
write(16,901) ll,nbpir,captc
PRINT *,' FINI LECTURE FICHIER CAPTS par zone' ,nreg
PRINT *,' et sortie fichier capt par qz,eng'
CLOSE (12)
CLOSE (13)
CLOSE (14)
CLOSE (15)
CLOSE (16)
CLOSE (17)
STOP
END

140
I
patppc
1
# 1 /bin/csh
set NbParam = $kargv
if ( $NbParam != 3 ) then
echo "usage : $0 NomDePort NumeroPort Annee"
exit
endif
set Port = $1
@ NumPort = $2
8 Annee = $3
set NomFichier = $1$3
set ppc = 'ppc'
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '/home/mareme/crodt/pechart/pa/basepal
echo ” ”
echo "Traitement pour les donnees du port : $Port
Numero : SNumPort Annee :
$Annee"
echo Ii "
echo " "
# CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "ppc.SPort$Annee"
>! ppcrestr.par
echo "$pechart/param/liste.cod"
>Z
ppcrestr.par
echo "$pechartbase/effjour/$Port$Annee$ppc.effjour >> ppcrestr.par
echo
"$pechartbase/captpir/$Port$Annee$ppc.captpir'
>> ppcrestr.par
echo "ppc.tmp"
.> ppcrestr.par
echo "
$NumPort"
>> ppcrestr.par
echo "rm -f sortpl.tmp"
>! ppcsortc
echo "rm -f sortp2.tmp"
>> ppcsortc
echo "sort
-t$ +O.O -0.15 +0.30 -0.35 +0.50 -0.55 -osortpl.tmp
-2425
$pechart.ba.se/captpir/$Port~Annee$ppc.captpirq' >> ppcsortc
echo "sort
-t$ +O.O -0.15 +0.30 -0.35 +0.50 -0.55 -0sortp2.tmp
-2485 ppc.tmp"
>> ppcsortc
echo "12 $pechartbase/effjour/$Port$Annee$ppc.effjour'
>! ppcsumca.par
echo "13 sortpl.tmp"
>> ppcsumca.par
echo "14 $pechartbase/eqz/$Port$Annee$ppc.eqz"
>> ppcsumca.par
echo "15 $pechartbase/cqzzone/$Port$Annee$ppc.cqzzone'
>> ppcsumca.par
echo "16 $pechartbase/cqzext/$Port$Annee$ppc.cqzext"
>> ppcsumca.par
echo "17 Spechart/param/liste.cod"
:>>
ppcsumca.par
echo "18 sortp2.tmp"
>> ppcsumca.par
#
TRAITEMENT
decomp $pechart/pafich/ppc.$Port$Annee
if (Sstatus != 0 ) exit
echo 'Lancement de ppcrestr'
ppcrestr
if (Sstatus != 0 ) then
echo "erreur dans ppcrestr pour le port $Port annee $Annee"
exit

141
endif
echo 'Lancement de ppcsortc'
ppcsortc
if ($status i= 0 ) then
echc "erreur dans ppcsortc pour le port $Port annee SAnnee"
exit
endif
echo 'Lancement de ppcsumca'
ppcsumca
if (Sstatus != 0 ) then
echo "erreur dans ppcsumca pour le port $Port annee $Annee"
exit
endif
echo "Compression des donnees"
compress -f "$pechartbase/captpir/$NomFichier$ppc.captpir'
compress -f v$pechartbase/cqzext/$NomFichier$ppc.cqzext'
compress -f ~~$pechartbase/cqzzone/$NomFichier$ppc.cqzzone"
compress -f *$pechartbase/effjour/$NomFichier$ppc.effjour'
compress -f "$pechartbaseieqz/$NomFichier$ppc.eqz'
alias rm rm
rm sortpl.tmp sortpl.trnp ppc.tmp ppc.$Port$Annee
echo "That Al1 Folk's"

142
1 ppcreat.par 1
ppc.mbo91
ihome/mareme/crodt/pechart/palparamiliste.cod
ihome/mareme/crodt/pechart/pa/basepa/basepa~effjour/mbo9lppc.effjour
/home/mareme/crodt/pechart/pa/basepa/basepa~captpir/mbo9lppc.captpir
ppc.tmp
51
1 ppcreatr.f 1
C PROG ppcrestr CREATION FICHIERS PPC EFFORTS ET CAPTURES PAR PIROGI
C F3RMAT PA
C EN ENTREE FICHIER 12 - PPC STATS JOAL ET MBOUR(EX PPC89 STATJOAL
C EN ENTREE FICHIER 13 - CODES ESP
liste.cod
C EN SORTIE UNITE 14 - FICHIER EFFORTS FORMATTE (1 ENREG/JOUR)
C
15 - FICHIER CAPTURES formatte/PIROGUE sans extrap
C
16 - F.tmp capt form/pir extrap
C LES EFFORTS SERONT CUMULES EN MATRICE EFF(MOIS,JOUR,ENG)
C EXTRAPOLES A EXT (DE LA JOURNEE) ET FAC (DU QUINZ.)
C ET SORTIE A LA FII\\J DE LA LECTURE FICHIER 12
C L EXTRAPOLATION EST FAITE SUR LES JOURS AVEC ENQUETE
C LES JOURS SANS ENQUETE N'AYANT PAS D'ENREG.
C LES CAPTURES SERONT CALC POUR CHAQUE ENREG D'ENTREE
C QUI DONNERA 2 ENREG DE SORTIE UNFORMATTED
C PAS D'EXTRAP.
INTEGER IES(5O),IPS(5),ICORR(99)/99*O/,IEFF(24)
INTEGER"2 NCODE(50),IZ2/0/
REAL POIDES(50)
C
INTEGER*L L(14),IESP(250),ICES(250)
REAL FAC(3),EFF(12,31,24)/8928*O./,RZ/O./
INTEGER 1ME(12,31)/372*0/,1EN4(12,31)/372*0/
character*32 filel,file2
character*32 file3,file4,file5
INTEGER*2 IP,IQZ,IA,IM,IJ,INB,IN,INBP,IHEUR,IDUR,IZ,IPROF,II
DATA IFER/O/,INBP/O/,IPROF/O/,IHEUR/O/'
NBRESP=25,0
NBRENG=24
open(5,file='ppcrestr.par')
read(5,98) filel,file2,file3,file4,file5
95 format(a32)
open(12,file=filel,blank='zero')
open(l3,file=file2)
open(l4,file=file3)
open(l5,file=file4)
open(l6,file=file5)
C LECTURE FICHIER CODES
DO 9999 I=l,2
999'9 READ(13,9998)
9998 FORMAT
DO 30 I=l,10000
READ(13,96,END=31) NOUCOD,IPPCOD
IF(IPPCOD.EQ.0) GOTO 30
c 96 FORMAT(62X,I4,12X,I4)
96 FORMAT(63X,I4,11X,I4)
ICORR(IPPCOD)=NOUCOD
C
PRINT *,I,NOUCOD,IPPCOD,ICORR(IPPCOD)
30 CONTINUE
31 CONTINUE
C LECTURE PORT
READ(5,91) IP
91 FORMAT(15)
C LECTURE FICHIER D'ENTREE.
ISW=O
NREG=g
1 READ(12,92,ENC=lO) FAC
92 FORMAT(//3F6.3)

143
2 READ(12,93,EN~~=10)ICODE,IA,IM,IJ,INB,IENG,MET,IDUR,IZ,
1 (IES(I),IPS(I),I=l,5),EXT
93 F0RMAT(~12,13,12,~X,I1,~X,1~,1X,13,15X,5(12,1X,13),F3.1)
993 FO~T(lX,~I2,I3,I2,lX,Il,~X,I3,1~X,5(I2,lX,I3),F3.l)
C
IF(NREG.LT.30) PRINT 993,ICODE,IA,IM,IJ,INB,IENG,MET,IDUR,IZ,
c
1 (IES(I),IPS(I),I=1,5),EXT
IF(ISW.EQ.l) GOTO 222
ISW=l
INBl=O
IAN=IA
222 CONTINUE
11
NREG=NREG+l
IF(IA.EQ.O)GOTO I
C RECODE ENGIN ET CALC FACTEUR D'EXTRAP.
IN=5
IF(IENG.EQ.80.OR.IENG.EQ.81) IN=7
K=3
IF(IENG.EQ.80) K=l
IF(IENG.EQ.81) K=2
FP=EXT*FAC(K)
C CUMUL MATRICE EFF SI INBl NE INB(DONC CHANG.PIR)
C LA METEO SERA CELL,E DE LA DERNIERE CARTE DE LA JOURNEE . ..I
c
IF(INBl.EQ.INB) PRINT *,NREG,ia,im,ij,inb
IF(INBl.EQ.INB) GOTO 7
INBl=INB
EFF(IM,IJ,IN)=EFF(IM,IJ,IN)+FP
IENQ(IM,IJ)=IENQ(IM,IJ)+l
IME(IM,IJ)=MET
7 CONTINUE
C RECODE DUREE EN 30 MIN. LA DUREE PPC EST EN DIXIEME D HEURES
C PAR EX 52 VEUT DIRE !;HEURES ET 2 DIXIEMES(=12 MIN). SIMPLE!!!
IMINlO=(IDUR-IDUR/10*10)*6
IDUR=(IDUR/10*60+IMINlO)*l./3O.+O.5
C QUINZIQZ=l
IF(IJ.GT.15) IQZ=2
iqz-iim-1)*2+iqz
II=0
do 3333 i=1,30
ncode(i)=O
poides(i)=O.
3333 continue
DO 3 I=l,5
if(ies(i).gt.O.and.icorr(ies(
i)).eq.O) print *, im,ij,inb,ies(i)
IF(IES(I).EQ.O.or.icorr(ies(i
)).eq.O) GOTO 3
II=II+l
C RECODE ESP
NCODE(II)=ICORR(IES(I))
POIDES(II)=IPS(I)*lO0.
C
IF(NREG.LT.30) PRINT *,IA,IM,IJ,II,NCODE(II),POIDES(II)
3 CONTINUE
C SORTIE CAPTPIR en 15 ***************XX*****X********8
WRITE(15,957) IP,IQZ,IA,IM,IJ,INB,IN,INBP,IHEUR,IDUR,IZ,IPROF,II
1
,(NCODE(J),POIDES(J),J=l,30)
c SORTIE CAPT EXTRTAP EN 16 ****************x****x***x
Jl=II+l
WRITE(16.958) IP,IQZ,IA,IM,IJ,INB,IN,INBP,IHEUR,IDUR,IZ~
IPROF,II
1
(NCODE(J),POIDES(J)*fp,J=l,30)
7
format(13i5,30(i5 f711))
;:8 format(13i5,30(i5:f9.1))
GOTO 2
10 CONTINUE
C SORTIE FICHIER EFFORTS *******X************X***X**8
DO 50 I=l,12
DO 50 J=1,31
suM=o.
DO 51 K=l,NBRENG
51 SUM=SUM+EFF(I,J,K)
IF(SUM.EO.0.) GOTO 50

144
DO 52 K=I.,NBRENG
52 IEFF(K)=EFF(I,J,K)+O.5
IQZ=l
IF(J.GT.15) IQZ=2
iqz=iqz+Z!*(i-1)
WRITE(14,97) IQZ,IP,IAN,I,J,IFER,IME(I,J),IEFF,IENQ(I,J
97 FORMAT(3214)
50 CONTINUE
close (5)
close (12)
close (13)
close (14)
close (15)
STOP
END

145
1 ppcsumca.par [
12 /home/rnareme/crocit/pechart/pa/basepa/effjour/mbo9lppc.effjour
13 sortpl.tmp
14 /home/mareme/crodt/pechart/pa/basepa/eqz/mbo9lppc.eqz
15 /home/mareme/croclt/pechart/pa/basepa/cqzzone/mbo9lppc.cqzzone
16 /home/mareme/crodt~pechart/pa/basepa/cqzext/mbo9lppc.cqzext
17 /home/mareme/crodt/pechart/pa/param/liste.cod
18 sortp2.tmp
1 ppcsumca.f 1
C PROG CREATION FICHIER PAR QUINZAINE DES CAPTURES ET EFF PPC
C EN ENTREE FICHIERS 12 EFFORTS FICHIER FORMATTE SORTIE PPCRESTR
C
13 CAPTURES FICHIER FORMATTE SORTIE PPCSORTC
c
18 CAPTURES FICHIER FORMATTE SORTIE PPCSORTC
C
(EXTRAP)
C
17 liste.cod
liste especes
C EN SORTIE UNITE 14 - FICHIER EFFORTS PAR QZ
C
15 - FICHIER CAPTURES sans extrap
c
(1 enreg par qz,eng,zone)
C
16 -
captures - avec eff- extrap.
C
(1 enreg par qz,eng)
C LES EFFORTS SONT LU 1) ABORD ET CUMULES PAR QZ ET ENG (SORTIE 14)
c on fait ENSUITE un passage pour cumuler les donnees CAPT PAR
c pirogue en qz,eng,zone et ce fichier est enregistre
c sans extrapolation donc avec les pirogues echantillonnees
c MEME CHOSE POUR LE FICHIER CAPT DEJA EXTRAPOLE QUI SERA CUMULE
C PAR QZ ET ENGIN
C IEFF(QZ,ENG),IPIR(QZ,ENG)
INTEGER*2 NOUCOD(25O)/250*O/,ANCCOD(lOOOO)/lOOOO*O/
INTEGER*2 L(5),11(5),IESP(250) ,11(13)
INTEGER IEFF(24,24)/576*0/
INTEGER IPIR(24,24),'576*0/
integer dl(30)
REAL CES(50),capt(250),fac(24,24)
CHARACTER*32 FILEl,FILE2,FILE3,FILE4,FILE5,file6,file7
NBRESP=250
NBRENG=24
NBZ=l2
OPEN(S,FILE='ppcsumca.par')
READ(5,90)FILEl,FILE2,FILE3,FILE4,FILE5,file6,file7
90 FORMAT(3X,A32j
OPEN(l2,FILE=FILEl,blank='zero')
OPEM(i3,FILE=FILE2
OPEN(l4,FILE=FILE3
OPEN(lS,FILE=FILE$
OPEN(lG,FILE=FILE5
OPEN(l7,FILE=FILEG
OPEN(i8,FILE=FILE7
C********LECTURE FICHIER NOMS ESPECES************
READ(l7,2340)
READ(l7,2340)
2340 FORMAT
DO 366 K2 = 1, NBRESP
READ(17,234,END=367)I,NOUC
IF (I.EQ.999) I=NBRESP
C
LESP(I)=LLESP
NOUCOD(I)=NOUC
ANCCOD(NOUC)=I
366 CONTINUE
367 CONTINUE
234 FORMAT (6X,28X,16X,13,10X,14)
PRINT
* 'FINI LECTURE DES NOMS ESPECES'
C
********** LECTURE FICHIER EFFORTS ET CUMUL EN TAB IEFF
i READ(ï2,91,END=lO) IQZ,Dl
91 FORMAT(3114)
C RETENIR PORT ET ANNEE

146
IF=D~(l)
IA=D1(2)
DO 2 J=7,30
K=J-6
2 IEFF(IQZ.K)=IEFFiIQZ,K)+Dl(J)
GOTO 1
1.3 CONTINUE
PRINT *, ' FINI LECTURE FICHIER EFFORTS'
C *************
SORTIE FICHIERS EFF(14)
DO 20 IQZ=1,24
IM=(IQZ+1)/2
20 WRITE(l4,900) IP,IA,IM,IQZ, (IEFF(IQz,J),J=~,NBRENG)
900 FORMAT(2815)
PRINT *,' FINI ecriture fichier eff par qz'
c ***x*x****** LECTURE F.CAPT.NON EXTRAP. ET CUMUL par qz,eng,zone
isw=O
c
4 READ!13,96,end=40) l,(iesp(j),ces(j),j,l,50)
c 96 format(Si3,50(i5,fll.o))
4 READ(l3,957,end=40) ll,(iesp(j),ces(j),j=l,30)
957 format(13i5,30(i5,f7.1))
1(1)=11(l)
1(2)=11(3)
1(3)=11(2)
1(4)=11(7)
l(Si=ll(ll)
if(isw.eq.1) goto 44
do 45 i=1,5
45 ll(i)=l(i)
do 46 i=1,250
46 capt(i)=O.
nbpir=O
isw=l
44 cont.inue
c cumul en tableau ipir(nombre de pir.ech par qz et eng)
iqz=1(3)
ien=1(4)
IPIR(IQZ,IEN)=IPIR(IQZ,IEN)+l
c test changem strate
if(l(l).eq.ll(l).and.l(2).eq.ll(2).and.1(3).eq.11(3)
1
.and.l(4).eq.11(4).and.l(5).eq.l1(5))
goto 51
c change strate. sortie enreg et reinit
write(15,901) ll,nbpir,capt
901 format(6i4,250fll.l)
do 61 i=1,5
61 ll(i)=l(i)
do 62 i=1,250
62 capt(i)=O.
rtbpir=C
c same cumul
51 continue
if(ll(l3).eq.O) goto 5200
I"
print *,11, iesp(l),ces(l)
do 52 j=1,11(13)
K=ANCCOD(IESP(J))
capt(k)=capt(k)+CES(J)
52 continue
5200 nbpir=nbpir+l
GOTO 4
40 CONTINUE
c dern enreg.
write(15,901) ll,nbpir,capt
CLOSE (15)
PRINT *, 'FINI LECT'IJRE FICHIER CAPTS par pirogue'
PRINT *, 'et ecriture capts par qz,eng,zone'
C!
************ CALCUL FACTEURS D EXTRAP PIR ECH A PIR SORTIES
C
bidon pour P~C.....
DO 6 I=l,24
DO 6
J=l,NBRENG
CAP I G ; 1-n

147
IF(IPIR(T,J).GT.O) FAC(i,j)=IEFF(I,J)*l./IPIR(I,J)
6 continue
print *, 'fini talc fac '
C ************ LECTURE F.CAPT.EXTRAP. ET CUMUL par qz,eng
isw=O
t 164 READ(18,96,end=140) l,(iesp(j),ces(j),j=1,50)
1C4 READ(18,958,end=140) ll,(iesp(j),ces(j),j=1,30)
958 format(13i5,3O(i5,f9.1))
1(1)=11(l)
1(2)=11(3)
1(3)=11(2)
1(4j=ll(ï)
1(5)=11(11)
if(isw.eq.1) goto 144
do 145 i=1,5
145 ll(i)=l(i)
do 146 i=1,250
l46 capt(i)=O.
do 148 i=1,24
do 148 j=l,nbreng
148 ipir(i,j)=O
nbpir=O
isw=l
144 continue
c cumul en tableau ipir(nombre de pir.ech par qz et eng)
iqz=1(3)
ien=1(4)
IPIR(IQZ,IEN)=IPIR(IQZ,IEN)+1
c test changem strate
if(l(l).eq.ll(l).and.l(2).eq.ll(2).and.l(3).eq.ll(3)
1
.and.1(4).eq.11(4)) goto 151
c
1
.and.l(4).eq.ll(4).and.l(5).eq.l1(5))
goto 151
c change strate. sortie enreg et reinit
11(5)=ieff(ll(3),11(4))
write(16,901) ll,nbpir,capt
do 161 i=1,5
161 11(i)=l(i)
do 162 i=1,250
162 capt(i)=O.
nbpir=O
c same cumul
151 continue
if(ll(l3)"eq.O) goto 15200
do 152 j=1,11(13)
K=ANCCOD(IESP(J))
capt(k)=capt(k)+CES(J)
152 continue
15200 nhpir=nbpir+l
GOTO 104
140 CONTINUE
c dern enreg.
11(5)=ieff(ll(3),11(4))
write(16,901) ll,nbpir,capt
PRINT *,' FINI LECTURE FICHIER CAPTS extrap par pirogue'
PRINT *, ' FINI sortie fichier capt extr.par qz,eng'
CLOSE (12)
CLOSE (13)
CLOSE (14)
CLOSE (16)
CLOSE (17)
CLOSE (18)
STOP
END

148
I
patreg
I
#! !bin/csh
set NbParam = $#argv
if ( $NbParam != 1 ) then
echo "usage 0 'basename $0'
Annee"
exit.
endiE
set Annee = $1
set ppc = 'ppc'
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '/home/mareme/crodt/pechart/pa/basepa'
echo " "
echo "Creation fichier cumul ext pour Annee : $Annee"
# CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "12 tempe"
>! pastreg.par
echo "13 $pechartbaseicqzext/regtot$Annee.cqzext"
>> pastreg.par
echo "14 tempe"
>> pastreg.par
echo "15 $pechartbaseieqz/regtot$Annee.eqz"
>> pastreg.par
tt TRAITEMENT
echo >! tempe
echo >! tempe
decompcumul $pechartbase/cqzext/fas$Annee.cqzext
tempe
#if ($status != 0 1 exit
decompcumul $pechartbase/cqzext/han$Annee.cqzext
tempe
#if ($status != 0 1 exit
decompcumul $pechartbase/cqzext/joa$Annee.cqzext
tempe
#if (Sstatus != 0 1 exit
decompcumul $pechartbase/cqzext/kay$Annee.cqzext
tempe
if (Sstatus != 0 ) exit.
decompcumul $pechartbaseicqzext/lou$Annee.cqzext
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/cqzext/mbo$Annee.cqzext
tempe
#if ($status != 0 1 exit
decompcumul $pechartbase/cqzext/oua$Annee.cqzext
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/cqzext/sar$Annee.cqzext
tempe
#if ($status != 0 ) exil
decompcumul $pechartbas,e/cqzext/sou$Annee.cqzext
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/cqzext/yof$Annee.cqzext
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/cqzext/joa$Annee$ppc.cqzext tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/cqzext/mbo$Annee$ppc.cqzext tempe
#if ;$status != 0 ) exit
decompcumul $pechartbase/eqz/mbo$AnneeSppc.eqz
tempe
*if <$status != 0 ) exit
decompcumul $pechartbase/eqz/joa$Annee$ppc.eqz
tempe
#if ($status != 0 1 exit
decompcumul $pechartbase/eqz/fas$Annee.eqz
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/eqz/han$Annee.eqz
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/eqz/joa$Annee.eqz
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/eqz/kay$Annee.eqz
tempe
*if ($status != 0 ) exit
decompcumul $pechartbase/eqz/lou$Annee.eqz
tempe
#if ($status ?= 0 ) exit

149
decompcumul $pechartbase/eqz/mbo$Annee.eqz
tempe
kif (Sstatus != 0 ) exit
decompcumul $pechartbase/eqz/oua$Annee.eqz
tempe
#If ($status != 0 ) exit
decompcumul $pechartbase/eqz/sar$Annee.eqz
tempe
#if ($status != 0 ) exit
decompcumul $pechartbase/eqz/sou$Annee.eqz
tempe
#if ($status != 0 ) exit
decompcumul $pechartbaseieqz/yof$Annee.eqz
tempe
#if ($status != 0 ) exit
pastreg
if (Sstatus != 0 ) then
echo "erreur dans pastrrt pour 1 annee SAnnee"
exit
endif
compress -f $pechartbase/cqzext/regtot$Annee.cqzext
compress -f $pechartbase/eqz/regtot$Annee.eqz
alias rm rm
rm tempe tempe fort.??

150
1 pastreg.par 1
12 tempe
13 /~ome/mareme/crodtipechart/pa/basepa!cqzext/regtot92.cqzext
14 tempe
15 /~ome/mareme/crodt/pechart/pa/basepa/eqz/regtot92.eqz
I
pastreg.f
I
C PROG pastreg creation fichier cumul par regions et total
sub
C et
fichier cumul par regions et total effjour
C pour un an (par engin). Ces fichiers seront ensuite utilises par le
c programme pasubst pour effectuer des substitutions la ou on
c ne peut pas substituer avec des donnees du port meme
c On aura un enreg. par region par mois, saison et annuel.
c idem tous ports.
c saison froide:mois 1-5 et 11-12
c saison chaude:mois 6-10
C EN ENTREE FICHIERS 12 captures extrapolees
c
14 efforts jour
C EN SORTIE UNITE 13 - FICHIER captures cumules
C
15 - FICHIER efforts cumules
c la structure du fichier en sortie est la meme que les fichier extsub
c mais avec port l-3 et 4 pour les regions et le total resp.
c et saison 13, 14 et 1.5 pour froide, chaude et total resp.
C
integer ieff(reg,temps,engin,sort/ech)
C
real cap(reg,temps,engin,esp)
C
integer isor(reg,temps,engin)
integer ieff(4,15,24,2)/2880*0/
real cap(4,15,24,250)/360000*0/
integer isor(4,15,24)/1440*0/,ieng(24)
C
INTEGER
L(6),isais(24)/10*1,10*2,4*1/
INTEGER
L(6),isais(24)/10*13,10*14,4*13/
REAL capt(250)
CHARACTER*75 FILEl,FILE2,file3,file4
NRRENG=24
OPEN(5,FILE='pastreg.par')
READ(5,95)FILEl,FILE2,file3,file4
95 FORMAT(3X,A75)
OPEN(12,FILE=FILEl)
OPEN(13,FILE=FILE2)
OPEN(14,FILE=FILE3)
OPEN(15,FILE=FILE4)
C
*xX********* lecture fichier efforts jour******************
nreg=O
21 READ(14,93,end=20) ip,ia,im,iqz,ieng
93 format(28i5)
nreg=nreg+l
if(ip.lt.40) ireg=l
if(ip.ge.40.and.ip.lt.50) ireg=2
if(ip.ge.50) ireg=3
is=isais(iqz)
do 26 ien=1,24
n=ieng(ien)
if(n.eq.O) goto 26
isor(ireg,im,ien)=isor(ireg,im,ien)+n
isor(ireg,is,ien)=isor(ireg,is,ien)+n
isor(ireg,l5,ien)=isor(ireg,l5,ien)+n
isor(4,im,ien)=isor(4,im,ien)+n
isor(4,is,ien)=isor(4,is,ien)+n
isor(4,15,ien)=isor(4,15,ien)+n
26 continue
GOTO 21
20 CONTINUE
C
************ lecture fichier extrap.tous ports de 1 annee
nreg=O
1 READ(12,90,end=lO) 1,capt
30 format(6i4,250fll.l)

151
nreg=nreg+l
ip=l(l)
ia=l(2)
iqz=l(3)
if(ip.lt.40) ireg=l
if(ip.ge.40.and.ip.lt.50) ireg=2
if(ip.ge.50) ireg=3
is=isais(iqz)
im=(iqz+l)/2
ien=1(4)
ieff(ireg,im,ien,l)=ieff(ireg,lm,ien,l)+l(5)
ieff(ireg,is,ien,l)=ieff(ireg,is,ien,l)+l(5)
ieff(ireg,l5,ien,l)=ieff(ireq,l5,ien,l)
ieff(4,i~~,ien,l)=ieff(4,im,i&,l)+l(~)
ieff(4,is,ien,l)=ieff(4,is,ien,l)+l(5)
ieff(4,15,ien,l)=ieff(4,15,ien,l}+l(5)
ieff(ireg,im,ien,2)=ieff(ireg,im,ien,2
ieff(ireg,is,ien,2)=ieff(ireg,is,ien,2
ieff(ireg,15,ien,2)=ieff(ireg,l5,ien,2
ieff(4,im,ien,2)=ieff(4,im,ien,2)+1(6)
ieff(4,is,ien,2)=ieff(4,is,ien,2)+1(6)
ieff(4,15,ien,2)-ieff(4,15,ien,2)+1(6)
do 3
j=l, 250
cap(ireg,im,ien,j)=cap(ireg,im,ien,j)+capt(j)
cap(ireg,is,ien,j)=cap(ireg,is,ien,j)+capt(j)
cap(ireg,l5,ien,j)=cap(ireg,l5,ien,j)+capt(j)
cap(4,im,ien,j)=cap(4,im,ien,j)+capt(j)
cap(4,is,ien,j)=cap(4,is,ien,j)+capt(j)
cap(4,15,ien,j)=cap(4,15,ien,j)+capt(j)
3 continue
GOTO 1
10 CONTINUE
c sortie donnees cumulees
do 11 i=1,4
do 11 j=1,15
do 11 k=1,24
if(ieff(i,j,k,l).eq.O) goto 11
sum- 0 .
do 12 jj=1,250
12 sum=sum+cap(i,j,k,jj)
c
print 90,i,ia,j,k,
c
1 ieff(i,j,k,l),ieff(i,j,k,2),sum
write(13,96) i,ia,j,k,
1 ieff(i,j,k,l),ieff(i,j,k,2),(cap(i,j,k,jj),jj=l,250)
96 format(6i7,250fll.l)
1:t continue
do 41 i=1,4
do 41 j=1,15
isum=O
do 42 k=1,24
42 isum=isum+isor(i,j,k)
C
print 94,i,ia,j,isum
94 format(3i5,ilO)
write(15,97) i,ia,j,(isor(i,j,k),k=l,24)
97 format(3i5,24i7)
41 continue
CLOSE (12)
CLOSE (13)
CLOSE (14)
CLOSE (15)
STOP
END

152
I
patsubst
I
#! /bin/csh
set NbParam = Stiargv
rf ( $NbParam != 2 ) then
echo "usage : 'basename $0' NomDePort Annee"
exit
endif
set Port = $1
@ Annee = $2
set ppc='ppc'
set pa='pa'
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '/home/mareme/crodt/pechart/pa/basepa'
echo '( "
echo "Traitement pour les donnees du port : $Port
Annee : $Annee"
echo " "
echo " "
# CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "$Port$Annee.cqzext"
>! pasubst.par
echo "$pechartbase/cqzsub/$Port$Annee.cqzsub"
>> pasubst.par
echo "$Port$Annee.eqz"
>> pasubst.par
echo "regtot$Annee.cqzext"
>> pasubst.par
echo "regtot$Annee.eqz"
B> pasubst.par
decomp $pechartbase/cqzext/$Port$Annee.cqzext
if (Sstatus != 0)
exit
decomp $pechartbase/eqz/$Port$Annee.eqz
if (Sstatus != 0)
exit
decomp $pechartbase/cqzext/regtot$Annee.cqzext
if (Sstatus != 0)
exit
decomp Spechartbase/eqz/regtot$Annee.eqz
if (Sstatus != 0)
exit
# TRAITEMENT
echo 'Lancement de pasubst'
pasubst >>! sortie
if (Sstatus != 0 ) then
echo "erreur dans pasubst pour le port $Port annee $Annee"
exit
endif
alias rm rm
echo "begin"
# si port joal. ou mbour, ajouter donnees ppc au cqzsub de pa
if (($Port == 'joa') II ($Port == 'mbo')) then
echo "existnce fichier"
if (-e "$Port$Annee$pa.cqzsub.Z") then
rm $Port$Annee$pa.cqzsub.Z
endif
if (-e "$Port$Annee$pa.cqzsub") then
rm $Port$Annee$pa.cqzsub
endif
clecomp $pechartbase/cqzext/$Port$Annee$ppc.cqzext
cp Spechartbase/cqzsub/~~Qrt~An~ee-c~zsub
$pechartbase/cqzsub/$Port.$Annee$pa.cqzsub
cat $Port$Annee$ppc.cqzext >>
$pechartbase/cqzsub/$Port$Annee.cqzsub

153
compress -f "$pechartbase/cqzsubi$Port$Annee$pa.cqzsub"
rm $Port$Annee$ppc.cqzext
endi?
echo “Compression des donnees"
compress -f SO$pechartbase/cqzsub/$Port$Annee.cqzsub"
rm $Port.$Annee.cqzext $Port$Annee.eqz regtotSAnnee.cqzext regtot$Annee.eqz
echo "That Al1 Folk's'"

154
1 pasubst.par 1
kay92.cqzext
/home/mareme/cr<~dt/pechart/pa/basepa/cqzsub/kay92.cqzsub
kay92.eqz
regtot92.cqzext
regtot92.eqz
I
gasub8t.f
I
C PROG substitution de strates pa
C EN ENTREE 12 fichier pppaa.cqzext par port qz eng
C EN
14 fichier pppaa.eqz par port qz eng
C EN
15 fichier regtotaa.cqzext donnees ext cumul.
C EN
16 fichier regtotaa.eqz donnees eff cumul.
C
5 fichier par (noms des fichiers)
C EN SORTIE UNITE 13 - fichier avec substitutions
c
pour patab (stats)
et extrap au def.
c itab(2,eng,qz),tab(eng,qz,esp)
avec totaux
en qz 25-27
c
c pour chaque strate ou on a sorties sans echant on cherche une subst
c a partir du tableau isub:on utilise strates voisines ou
c ordre de substit (avril 93):
c
1. meme pcrt qz+l
C
2. meme port qz-1
C
3. region meme mois
C
4. meme port saison
C
5. region saison
C
6. meme port total annee
C
7. region total annee
C
8. toutes regions meme mois
C
9. toutes regions saison
C
10. toutes regions total annee
c totaux saison (chjfr) ou total annee
c ensuite on essaie la region (saison ou tot)
c et finalement total ports (saison ou tot)
integer
isub(10,24)/240*Oi,itab(3,24,57)/4104*0/
REAL capt(250),tab(24,57,250)/342000*0/
C
REAL captmf(250),captmc(250),captto(250)
integer isais(24:/10*25,10*26,4*25/
,ieng(24)
CHARACTER*80 FILEl,FILE2,file3,file4,file5
nbreng=24
nbresp=250
OPEN(5,FILE='pasubst.par')
READ(5,9O)FILEl,file2,file3,file4,file5
90 FORMAT(A80)
open(l2,file=filel)
open(l3,file=file2)
open(l4,file=file3)
open(lS,file=file4)
open(l6,Eile=file5)
X*XX******** creaf-ion
C
schema substit***************XX***********
do 40 iqz=1,24
im=(iqz+l)/2
is=2
if(im~.lt.6.or.im.gt.l0) is=l
isuiv=iqz+l
if(isuiv.gt.24) isuiv=l
iava=iqz-1
if(iava.lt.1) iava=24
isub(l,iqz)=isuiv
isub(l,iqz)=iava
isub(3,iqz)=27+irn
isub(4,iqz)=24+is
isub(5,iqz)=39+is
isub(6,iqz)=27
isuh(7,iqz)=42
isuh(8,iqz)=42+im
isub(g,iqz)=54+is

155
lsub(iO,iqz)=57
40 continue
c
print
94., isub
c 94 format(lCi5)
c ************ lecture schema substit xxx**********xxx*****xx***
c
read(5,95,) (iqz,(isub(i,iqz),i=l,8),ii=l,24)
c
print 95, isub
c 95 format(9i5)
c ************ lecture fichier capt extrap ********************X*****x*
1 read(l2,9l,end=lO) ip,ia,iqz,ien,isor,iech,capt
91 format(6i4,250fll.l)
c cumul tabl.tab et itab
is=isais(iqz)
itab(2,ien,iqz)=itab(2,ien,iqz)+iech
itab(l,ien,is )=itab(L,ien,is )+iech
itab(2,ien,27 )=itab(2,ien,27 )+iech
itab(3,ien,iqz)=itab(3,ien,iqz)+isor
itab(3,ien,is )=itab(3,ien,is )+isor
itab(3,ien,27 )=itab(3,ien,27 !+isor
do 2 i=1,250
tab(ien,iqz,i)=tab(ien,iqz,i)+capt(i)
tab(ien,is , i)=tab(ien,is ,i)+capt(i)
2 tab(ien,27 ,i)=tab(ien,27 ,i)+capt(i)
goto 1
13 continue
close(l2)
c ************ lecture fichier sorties
**************************
6 read(l4,93,end=7 ) ip,ia,im,iqz,ieng
9.3 format(28i5)
c cumul tabl.tab et itab
do 8 i=1,24
is=isais(iqz)
itab(l,i ,iqz)=itab 1,i , iqzj+ieng(i)
itab(l,i ,is )=itab l,i , is )+ieng(i)
8 itab(l,i
,27 )=itab l,i , 27 )+ieng(i)
goto 6
'7 continue
close(l4)
c ************ lecture fichier capt strates cumulees ****************
c cumul tabl.tab et itab. region en 28-42 et total en 43-57
c se.Lon mois, saison et. total annuel
c region l-3 (et 4 pour total) en ireg.
c saison l-2 (et 3 pour total) en isa
c on cumul les strates de la region (et le total) corresp au port
if(ip.lt.40) istr=l
if(ip.ge.40.and.ip.lt.50) istr=2
if(ip.ge.50) istr=3
71 read(15,98,end=70) ireg,ia,isa,ien,isor,iech,capt
98 format(6i7,250flL.l)
if(ireg.ne.istr.and.ireg.ne.4) goto 71
ite=27+isa
if(ireg.eq.4) ite=42+isa
itab(2,ien,ite)=itab(2,ien,ite)+iech
itab(3,ien,ite)=itab(3,ien,ite)+isor
do ?2 i=1,250
tab(ien,ite,i)=tab(ien,ite,i)+capt(i)
72 continue
goto 71
70 continue
close(l5)
c ************ lecture fichier sorties
cumulees********************
106 read(16,99,end=107 ) ireg,ia,isa,ieng
99 format(3i5,24i7)
if(ireg.ne.istr.and.ireg.ne.4) goto 106
ite=27+isa
if(ireg.eq.4) ite=30 +isa
do 108 i=1,24
itab(l,i,ite)=itab(l,i,ite)+ieng(i)
108 continue
qoto 106

156
107 continue
close(l6)
C
do 4735 is=1,33
~4735 print 955, is,((ltab(i,j,is),i=1,3),j=i,l2)
c 955 format(lx,l2(3i6,lx))
c
do 4736 is=l,?S
~4736 print 955,is,((ltab(i,j,is),l=1,3),j=l3,24)
print 900
900 format(2Gx,' strate mauvaise
strate utilisee',/
1
lx,'
port
annee qz
eng
sorties
ech
I
2 lx,'
cl=
ew
sort.st.ut. ech
capt generee
capt 8tr ut')
c *********** substitutions
**************k*************
c on cree des enreg pour engin 5 a partir d engin 19
c si on n a rien en 5
do ii00 is=1,57
if(itab(2,5,is).eq.O.and.itab(2,19,is).gt.O)
goto 701
goto 700
701 itab(2,5,is)=itab(2,19,is)
itab(3,5,is)=itab(3,19,is)
itab(l,5,is)=itab(l,l9,is)
do 702 i=1,250
70.2 tab(5,is,i)=tab(lg,is,i)
703 continue
do 11 i=l,nbreng
do 31 j=1,24
if(itab(l,i,j).eq.O) goto 31
if(itab(2,i,j).gt.O) goto 31
c sorties sans echant chercher subst
dans les 9 strates
do 34 ij=l,lO
c pour port joal et engin FDES(21) on n'utilise pas la region ni tot
if(ip.eq.52.and.i.eq.2l.and.ij.gt.4) goto 34
is=isub(ij,j)
if(itab(2,i,is).eq.O.) goto 34
c on n utilise pas la strate si < 2% echant (region et total)
c non!enleve... je laisse quand meme le
code
C
if(is.gt.24.and.(itab(2,i,is)*l./itab(l,i,is).le.O.O2))
goto 34
c strate trouve
gota 35
34 continue
c pas de çubst poss.
print 902,ip,ia,j,i,itab(l,i,j),itab(2,i,j)
902 format(lx,'pas de subst possible pour strate ', 6i6)
goto 31
3!j continue
isu=isub(ij,j)
c si c'est une strate voisine, prendre celle avec plus d echant
if(ij.gt.1) goto 36
isul=isub(2,j)
if(itab(2,i,isu2).gt.itab(2,i,ij))
isu=isu2
36 continue
c on doit avoir des sorties en fichier efforts spour la strate
if(itab(l,i,isu).eq.O) print *, 'ATTN:AVEZ VOUS PASSE CONTROL2??',
lip,ia,j,i,isu,itab(l,i,j)
if(itab(l,i,isu).eq.O) goto 31
if(itab(3,i,isu).eq.O) print *,i,j,ij,isu,itab(l,i,j)
1 ,itab(l,i,isu),itab(2,i,isu)
fac=itab(l,i,j)*l./itab(3,i,isu)
do 50 k=l,nbresp
tab(i,j,k)=tab(i,isu,k)*fac
50 continue
sum=O.
do 59 k=l,nbresp
sum=sum+tab(i,j,k)
59 continue
suml=O.
do 58 k=l,nbresp
suml=suml+tab(i,isu,k)
58 continue
print gOl,ip,ia,j,i,itab(l,i,j),itab(2,i,j)
1
isu,i,itab(3,i,isu),itab(2,i,isu),sum,suml

157
901 format( 6,i7,5x,4i7.2flO.l)
31 continue
11 continue
c sortie fichier
do 60 j=1,24
do 60 i=l,nbreng
c po'ur fas on conserve uniquement engions 5 et 19-23
if(ip.ne.33) goto 66
if(i.lt.5,) goto 60
if(i.eq.24) goto 60
if(i.gt.5. .and.i.lt.l9) goto 60
66 continue
if(itab(l,i,j).gt.O) write(l3,9l)ip,ia,j,i,itab(l,i,j),itab(2,i,j)
l,(tab(i,j,k),k=1,250)
if(tab(i,j,l78).gt.O) print *,ip,ia,j,i, tab(i,j,178)
63 continue
CLOSE (13)
STOP
END

158
1 gasubst.sas 1
option linesize=225;
/*Programme permettant d'analyser l'importance des substitutrons
et le type de strate utilisee. Si la majorite des captures s'explique
par des substitutions au niveau annuelle et de la region, on peut se
poser des questions sur la pertinence des statistiques....
fichier d'ent.ree fichiers cqzext et fichier de sortie de patsubst
"i
option pagesize=200;
data d;
array cap( 250) pl-~250;
*ATTENTION IL FAUT D'ABORD DECOMPRESSER LE CQZEXT DANS VOTRE REPERTOIRE;
infile '/home/mareme/crodt/pechart/kay92.cqzext1
lrecl=2774;
input
port l-4 an 5-8 qz 9-12 eng
13-16 sorties 17-20 enquetes 21-24
(pl-p250) (11.);
capttot=O;
do i=l to 250;
capttot=capttot+cap(i);
end;
typesu=O;
keep port an qz eng typesu capttot;
run;
data dp;
*ATTENTION ENLEVER LES COMMENTAIRES EN DEBUT DE FICHIER;
infile 'ihome/maremeicrodt/pechart/sortie';
inputport an qz eng i3 i4 isu i5 i6 i7 capttot;
if port=. then delete;
if port lt 1 then delete;
:ypesu=O;
if isu le 24 then typesu=l;
if isu ge 25 and isu le 36 then typesu=2;
if isu ge 37 and isu le 38 then typesu=3;
if isu ge 39 and isu le 40 then typesu=4;
if isu= 41 then typesu=5;
if isu= 42 then typesw6;
if isu ge 43 and isu le 54 then typesu=7;
if isu ge 55 and isu le 56 then typesu=8;
if isu= 57 then typesu=9;
if ~SU> 57 then typesu=lO;
keep port an qz eng typesu capttot;
run;
data dd;
set d dp;
if typesu=. then typesu=O;
run;
proc format;
value ftypesu
l='qz inf!sup'
2='mois region'
3='saison port'
4='saison region'
5='an port'
6="an region'
7='mois tous ports'
8='saison tous ports'
9='an tous ports';
proc format;
value feng
Ol-'PLV'
02-'PLM'
03~'PLM'
04=:'PLG'

159
05='FDG"
06='ST'
07='FME,
08='SP'
@9='LR'
l.O='LCS'
ll='LT'
12='PAL*
13='EP'
l$='KAY'
15='FMDE'
16='FMDM'
17='FMDF'
18='FMDT'
19='FDP'
2O='FDS'
21='FDES'
22='FDL'
23='FDY'
24='PSM';
proc tahulate data=dd;
format eng
feng. -
format typesu ftypes;.;
label typesu='strates de substitution';
keylabel all='total';
title 'Repartition des captures en fonction des substitutions de strate';
vdr capttot;
class eng typesu;
table eng
ail,
(typesu all)*capttot*sum*f=lO.l /rts=lO;
run;
endsas;

160
I
patcredef
ti! /bin/csh
set NbParam = $Qargv
if ( $NbParam != 3 ) then
echo "usage : 'basename $0' NomDePort NumeroDePort
Annee"
exit
endif
set Nport = $2
set Port = $1
set Annee = $3
set vre = acre'
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '/home/mareme/crodt/pechart/pa/basepa'
echo " "
echo "Traitemect extr pour les donnees du port : $Port Annee : $Annee"
echo " "
echo 'I '@
t CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "$Port$Annee.cqzsub"
>! pacredef.par
echo "$pechartbase/cqzdef/$Port$Annee$cre.cqzdef"
>> pacredef.par
echo "$pechart/param/facteur.cre"
>> pacredef.par
echo **$pechart/param/engin.dat"
>> pacredef.par
echo "
$Annee
SNport"
>> pacredef.par
decomp $pechartbase/cqzsub/$Port$Annee.cqzsub
if (3status != 0) exit
endiE
# TRAITEMENT
echo 'Lancement de pacredef'
pacredef >>! scrtie.cre
if (:$status != 0 ) then
echo "erreur dans pacredef pour le port $Port annee $Annee"
exit
endif
echo "Compression des donnees"
compress -f $pechartbase/cqzdef/$Port$Annee$cre.cqzdef
alias rm rm
rm $Port$Annee.cqzsub

161
p a c r e d e f . p a r
cqzsub/'bbb9l.cqzsub
cqzdef/bbb9lcre.cqzdef
facteur.cre
engin.dat
91
31
1 pacredef .f
1
C PRYG creation fichiers manquants avant extrap def
c les strates a creer sont dans fichier facteur.cre
c On les cree en utilisant le fichier d entree et
c facteurs d extrap selon an reg sem et gr engin
C EN ENTREE 12 fichier pppaa.cqzsub par port qz eng
C
14 fichier facteur.cre str.et facteurs d extrapolation
c
15 fichier groupes d engins
c
5 fichier par
C EN SORTIE UNITE 13 - fichier pppaa.cqzdef
c
c on cree des s,trates pour des portslannees qui ont des pirogues
c en recensements mais pas de captures (saloum casam etc)
c capt(eng,qz,esp),ifac(an,reg,greng, sem)
C
ifac2(an,port,greng,sem,4)
C
a creer
seg : 1 port a utiliser 2 port a creer 3 an 4 facteur
C
a appliquer sur port/an utilise
REAL capt(24,24,250)
REAL capdef(250),cap(250)
integer itab(24,24,2)/1152*0/
integer 11(8,500)/4000*0/
C
integer ifac2(30,7,24,2,4)/40320*0/
integer igre(24)/24*O/,ipres(24,24)/576*0/
CHARACTER*32 FILEl,FILE2,file3,file4
nbreng=24
nbresp=250
OPEN(5,FILE='pacredef.par')
READ(5,90)FILEl,file2,file3,file4
90 FORMAT(A32)
read(5,*) iansel,ipsel
open(l2,file=filel)
open(l3,file=file2)
open(l4,file=file3j
open(l5,file=file4)
c ************ lecture fichier capt subst
*******************x*x******
nreg=O
1 read(l2,9l,end=lO) ip,ia,iqz,ien,isor,iech,cap
91 format(6i4,250fll.l)
nreg=nreg+l
c cumul tabl.tab
do 2 i=1,250
2 capt(ien,iqz,i)=capt(ien,iqz,i)+cap(i)
ipres(ien,iqz)=l
itab(ien,iqz,l)=isor
itab(ien,iqz,2)=iech
goto 1
10 continue
close(l2)
iai=ia-69
print *,nreg
C
**+********* lecture fichier str. a creer et fac extrap
*************x*x*
ii=0
6 read(14,93,end=7 ) ian,is,ir,igreng,
ipouti,ips,ias,facs
93 format(4i5,lOx,
3i5,f10.3)
c on prend les strates corr au fichier d entree
if(ipouti.ne.ipsel.or.ian.ne.iansel) goto 6
ii=ii+l
ll(l,ii)=ran
11(2,ii)=is

162
11(3,ii)=ir
11(4,ii)=igreng
11(5,ii)=ipouti
ll(O,ii)=ips
ll(:,ii)=ias
11(8,li)=facs*lOO0+0.5
print
93,
ian,is,igreng,ir,
ipouti,ips,ias,facs
goto 6
7 continue
nhstr=ii
close(l4)
c *****X**x***
lecture fichier groupes d engins
*************xx*
71 read(15,98,end=70) ieng,igr
98 format(i2,6x,i2)
igre(ieng)=igs
goto 71
70 continue
close(l5)
C
***X*XX**** creation de strates X********X**************
ir=ip/lO
c!
nbrcre=O
do 11 j=1,24
do 11 i=l,nbreng
ie=igre(i)
if(ipres(i,j).eq.O) goto 11
isem=(j+ll)/l2
c on cree une strate si fac2 et on traite le bon port de la region
do 555 ii=l,nbstr
if(ll(2,ii).ne.isem.or.ll(3,ii).ne.ir.or.ll(4,ii).ne.ie)
goto 555
ips=ll(O,ii)
ian=11(7,ii)
facteur=11(8,ii)*0.001
nbrcre=nbprcre+l
print 997, ian,ips, i,j,ir,ie,isem,facteur
997 format(' str cree.facteur an port eng qz reg igre sem',7i3,f10.5)
do 113 k=1,250
11'3 capdef(k)=capt(i,j,k)*facteur
isor=itab.(i,j,l)*facteur+O.5
c on enleve yet, seiche et poulpes pour le saloum
if(ips.ne.67) goto 114
capdef(l88
=o.
capdef(l81
=o.
capdef(l83
=o”
114 continue
c sortie fichier
write(l3,9
) ips,ian, j,i,isor,itab(i, j,2),capdef
555 continue
I:L continue
CLOSE (13)
print *,nbrcre
STOP
END

163
p a t d e f
#i /bin/csh
set NbParam = $#argv
lf ( $NbParam != 2 ) then
echo "usage : 'basename $O‘b NomDePort Annee"
exit
endif
set Port = $1
@ Annee = $2
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '!home/mareme/crodt./pechart/pa/basepa'
echo "Traitement extr pour les donnees du port : $Port Annee : $Annee"
echo " "
echo a* "
ii CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "$Port$Annee.cqzsub" >! padef.par
echo "$pechartbase/cqzdef/$Port$Annee.cqzdef"
>> padef.par
echo "$pechart/param/facteur.extra"
>> padef.par
echo "$pechart/param/engin.dat" >> padef.par
decomp $pechartbase/cqzsub/$??ort$Annee.cqzsub
if (Sstatus != 0) exit
k TRAITEMENT
echo 'Lancement de padef'
padeE >>! sortie.def
if ($status != 0 ) then
echo "erreur dans padef pour le port $Port annee $Annee"
exit
endif
echo "Compression des donnees"
compress
-f $pechartbase/cqzdef/$Port$Annee.cqzdef
alias rm rm
rm $Port$Annee.cqzsub
echo "That Al1 Folk"s"

164
Ipadef.parl
cqzsub/kay9l.cqzsub
cqzdef/kaygl.cqzdef
facteur.extra
engin.dat
Ipadef.1
C PROG extrapolation donnees pa subst a captures totales en appl
c fact.eurs d extrap selon an reg sem et gr engin
C EN ENTREE 12 fichier pppaa.cqzsub par port qz eng
c
14 fichier fac.ext
facteurs d extrapolation
C
15 fich.ier groupes d engins
c
5 fichier par
C EN SORTIE UNITE 13 - fichier pppaa.cqzdef
c pour chaque strate on applique le fqcteur de 1 annee region groupe
c d engins et semestre selon les recensements
c capt(eng,qz,esp),ifac(an,reg,greng,sem)
REAL capt(24,24,250)
REAL zapdef(250),cap(250)
integer ifac(30,7,24,2)/10080*0/
integer itab(24,24,2)/1152*0/
integer igre(24)/24*0/,ipres(24,24)/576*0/
CHARACTER*32 FILEl,FILE2,file3,file4
nbreng=24
nbresp=250
OPEN(S,FILE='padef.par')
READ(5,90)FILEl,file2,file3,file4
90 FORMAT(A32)
open(ll,file=filel)
open(l3,file=file2)
open(l4,file=file3)
open(l5,file=file4)
c ************ lecture fichier capt subst
***********************X*+
nreg=O
:L read(l2,9l,end=lG) ip,ia,iqz,ien,isor,iech,cap
9:L format(6i4,250fll.l)
nreg=nreg+l
c cumul tabl.tab
do 2 i=lr250
2 capt(ien,iqz,i)=capt(ien,iqz,i)+cap(i)
ipres(ien,iqz)=l
itab(ien,iqz,l)=isor
itab(ien,iqz,l)=iech
goto 1
10 continue
close(l2)
iai=ia-69
c
print *,nreg
c xx**********
lecture fichier fac extrap
**********************A-k**
6 read(14,93,end=7 ) ian,is,ir,igreng,fac
C
print
93,
ian,is,igreng,ir,fac
93 format(4iS,f10.3,3i5,flO.3)
c cumul tabl ifac
if(ian-69.gt.30.or.ir.gt.7.or.igreng.gt.24.or.is.gt.2)
1 print *, ian,is,ir,igreng,fac
if(ian*is*ir*igreng.eq.O)
1 print *, ian,is,ir,igreng,fac
ifac(ian-69,ir,igreng,is)=fac*lOOO+O.5
goto 6
7 continue
close(l4)
C
do 611 i=1,8
~611 print *, i,j,ifac(l2,4,i,l),ifac(l2,4,i,2)
c ***x*x****** lecture fichier groupes d engins
***************x
71 read(15,98,end=70) ieng,igr
98 format(i2,6x,i2)
igre(iengi=igr
goto 71
7G continue

165
close(l5)
c *********** extrapolations
**************X***X*********
ir=ip/ïO
nbrcre=O
do 11 j=1,24
do 11 i=l,nbreng
ie=igre(i)
if(ipres(i,j).eq.Oj goto lï
isem=(j+ll)/ll
if(ifac(iai,ir,ie,lsem).eq.O)
print *r'facteur 0 strate I,
1 ia,ip,i,j,ir,ie, ' strate eliminee'
if(ifac(iai,ir,ie,isem).eq.O)
goto 11
facteur=ifac(iai,ir,ie,isem)*O.OOl
print 999, ia,ip,i,j,ir,ie,isem,facteur
999 format(' facteur pour an port eng qz reg igre sem1,7i3,f10.5)
do 111 k=1,25G
111 capdef(k)=capt(i,j,k)*facteur
isor=itab(i,j,l)*facteur+O.5
if(isor.gt.9999) print *,' attn isor trop gr....',ip,ia,j,i,isor
if(isor.gt.9999) isor=9999
write(l3,91) ip,ia,j,i,isor,itab(i,j,2),capdef
C
34 format(4i4,i5,i3,250fll.l)
11 continue
CLOSE (13)
STOP
END

166
lanceparef
#! /bm/sh
# ce script shell permet de lancer le programme paref
# dans n'importe quel repertoire
# mode d'utilisation : lanceparef < fichier.par
# le fichier fichier.par contient la liste des fichiers
* a utiliser. Le script shell les recopie ou les decompresse
# dans le repertoire courant pour lancer le programme paref.
# Ensuite le menage est fait automatiquement.
if [ $# -ne 1 1
then echo "usage : 'basename SO‘ Anne@"
exit
fi
Annee=$l
pechart='/home/maremeicrodt/pechart/pa'
pechartbase='/~-ome/mareme/crodt/pechart/pa/basepa'
read fichiertmp
echo "Sfichiertmp"
> paref.param
echo '# destruction des fichiers utilise par pa ref' > paref.exec
ok=t-rue
while read fichier
do
echo 'basename Sfichier' >> paref.param
echo "rm
‘basename Sfichier' " >> paref.exec
if [ 'pwd' = 'dirname Sfichier' ]
then
echo "Erreur avec $fichier"
echo 'Il ne faut pas lancer ce programme a partir'
echo "d'un repertoire contenant des fichiers a traiter"
exit 1
fi
if [ -f $fichier ]
then
echo "Copie de Sfichier dans 'pwd'"
cp Sfichier .
elif [ -f "$fichier.Z" ]
then
echo "Decompression de $fichier.Z dans ‘pwd‘"
zcat "$fichier.Z" > 'basename $fichier'
else
echo "Sfichier non trouve"
echo "Verifier la liste des fichiers dans pa.ref.par”
ok='false"
fl
done
echo " ok? ? "
echo $ok
if test $ok = 'truc'
; then paref < paref.param ; fi
sh paref.exec
rm paref.exec
rm paref.param
echo "patab.lis$Annee"
> patab.par
echo "paref.tmp"
>> patab.par
echo "$pechart/engin.ley"
>> patab.par
echo "$pechart/param/espec.ley"
>> patab.par
echo "$pechart/param/port.ley"
>> patab.par
echo "$pechart/param/regio.ley"
>> patab.par

167
echo "$pechart/param/mois.ley"
>> patab.par
echo "$pechart/param/liste.cod"
>> patab.par
echo -n "$pechart/param/fac" >> patab.par
echo -n $1 >> patab.par
echo ".extra" >> patab.par
echo ' 1991"'
>> patab.par
patab

168
1 paref.par 1
paref.tmp
/home/mareme/crodt/viveca/pa/cqzsubihan9l.cqzsub
/nome/mareme/crodt/viveca/pa/pa/cqzsub/joa9l.cqzsub
/home/mareme/crodt/viveca/pa/cqzsub/kay9l.cqzsub
ihome/mareme/crodt/viveca/pa/cqzsub/lou9l.cqzsub
/home/mareme/crodt/viveca/pa/cqzsub/mbo9l.cqzsub
lhom~/mareme/crodt/viveca/pa/cqzsubioua9l.cqzsub
/hom~/mareme/crodt/viveca/pa/cqzsub/sar9l.cqzsub
ihome/maremelcrodtlviveca/pa/cqzsub/sou9l.cqzsub
/home/mareme/crodt/viveca/pa/cqzsub/yof9l.cqzsub
/hem-/mareme/crodt/viveca/pa/cqzsub/fas9l.cqzsub
I
paref.f
I
C PROG CREATION FICHIER intermed pour patab
C EN ENTREE nb FICHIERS xx catures extrap par eng qz pa an
C
w et PPC
C EN SORTIE UNITE 13 - meme info format 1 enreg par espece
C
pour patab (stats)
C
integer l(6)
REAL capt(250)
CHARACTER*50 FILE1 ,FILE2
integer igr(24)/1,2,2,4,3,5,6,7,2,2,2,2,8,8,9*3,8/
integer ipo(99)/10*0,1,19*0,2,3,4,7*0,5,6,7,8,9,
1 5*0,10,11,12,17*0,13,14,15,16,17,24*0/
C
OPEN(5,FILE='paref.par')
READ(5,90)FILE2
90 FORMAT(A50)
OPEN(13,FILE=FILE2)
print *,file2
1 read(5 ,90,end=lOO) file1
print *,filel
open(l2,file=filel)
11 read(l2,9l,end=lO) ip,ia,iq,ie,capt
91 format(4i4,8x,250fll.O)
do 3333 i=202,250
if(capt(i).gt.O) print *,ip,ia,iq,ie,i,capt(i)
3333 continue
ir=ip/lO
it=O
ieng=igr(ie)
im=(iq+l)/2
ip=ipo(ip)
do 3 i=1,250
if(capt(i).eq.O.) goto 3
ic=capt(i)
write(13,900) ir,ip,im,it,i,ieng,ic
900 format(il,2i2,il,i3,i2,i9)
3 continue
goto 11
10 continue
close(l2)
goto 1
100 continue
CLOSE (13)
STOP
END

169
1 patab.par 1
patab.lis91
paref.tmp
/home/mareme/crodt/viveca/pa/engin.ley
X
/home/mareme/crodt/viveca/pa/espec.ley
x
/home/mareme/crodt/viveca/pa/port.ley
X
/home/mareme/crodt/viveca/pa/regio.ley
x
/home/mareme/crodt/viveca/pa/mois.ley
X
/home/mareme/crodt./viveca/pa/liste.cod
X
fac9l.extra
1991
I
patab.f
1
C PRZG TABLEAUX STATS ANNUELS PA
C EN ENTREE DEUX FICHIERS DE DONNEES
C - EN UNITE 12
FICHIER PAref.tmp sortie de paref
c
donnees a partir des fichiers capt qz extrap
C ET 4 FICHIERS PARAM (CODES ET LEGENDES) EN UNITES
C - EN UNITE 15~
ENGINS
C - EN UNITE 16
ESPECES (GROUPES PAR ORDRE DE SORTIE)
C - EN UNITE 17
PORT
C - EN UNITE 18 REGIONS
C - EN UNITE 19 MOIS
C - EN IJNITE 20
liste.cod:CODES 4DIGITS GROUPEMENTS ESPECE ET TYPE
C - EN UNITE 25
FICH facteurs extrap
C EN SORTIE UNITE 6 TABLEAUX 34-82
C
DEBUG SUBCHK,UNIT(G)
c
END DEBUG
INTEGER IT34(8,8)/64*0/
INTEGER IT3538(12,8,8)/768*0/
INTEGER IT4167(12,55,8,8)/4224O*O,'
INTEGER IT68(8,16)/128*0/
INTEGER IT69(8,55)/440*0/
INTEGER IT7077(12,55,17)/1122O*O/
INTEGER IT7882(12,55,8)/5280*0,'
CHARACTER ENG(8)*22,ESP(55)*22,REG(8)*22,POR(l7)*22,MOI(l2)*22
C H A R A C T E R INVE(4)*14/'CREVETTE ','SEICHE
0
1
'GASTEROPODES II 'AUTRES INVERT.';
INTEGER IORD(55)/55*0/
INTEGER 14D(1000),1GR(1000),1TY(55)
REAL T(13),TOT(13,3)/39*0./
REAL FAC(2,6,8)
CHARACTER*52 FILEl,FILE2,FILE3,FILE4,FILE5,fileG
CHARACTER*52 FILE7,FILE8,FILE9
open (5,file="patab.par')
READ(5,96)FILEl,FILE2,FILE3,FILE4,FILE5,file6
,
1
FILE7,FILE8,FILE9
96 FORMAT(A52)
OPEN(6 , FILE=FILEl)
OPEN(l2,FILE=FILE2)
OPEN(lS,FILE=FILE3)
OPEN(lG,FILE=FILE4)
OPEN(17,FILE=FILE5)
OPEN(18,FILE=FILE6)
OPEN(lg,FILE=FILE7)
OPEN(20,FILE=FILE8)
OPEN(25,FILE=FILE9)
C LECTURE ANNEE A TRAITER
READ(5,9998)IAN
9998 FORMAT(15)
DO 333 I=l,55
3 3 3 IORD(I)=I
DO 11 I=l,100
READ(l5,91,END=12) J,ENG(J)
c
PRINT *, J,ENG(J)
9 2. FORMAT(I5,1X,A22)
11 CONTINUE

170
12 CONTINUE
DO 21 I=l,100
READ(16,92,END=22) J,ESP(I)
IORD(J)=I
92 FORMAT(I2,1X,A22)
c
PRINT *,J,ESP(I),IORD(J)
21 CONTINUE
22 CONTINUE
DO 31 I=l,100
READ(17,93,END=32) J,POR(J)
C
PRINT *, J,POR(J)
93 FORMAT(IS,lX,A22)
31 CONTINUE
3.2 CONTINUE
DO 41 I=l,100
READ(18,94,END=42) J,REG(J)
C
PRINT *, J,REG(J)
94 FORMAT(IS,lX,A22)
41 CONTINUE
42 CONTINUE
DO 51 I=l,100
READ(19,95,END=52) J,MOI(J)
c
PRINT *, J,MOI(J)
95 FORMAT(IS,lX,A22)
51 CONTINUE
52 CONTINUE
IGRMAX=O
READ(20,98)
READ(20,98)
DO 221 I=l,1000
READ(20,98,END=222) J,I4D(J),Jl,IGR (J)
ITY(IGR(J))=Jl
IGRMAX=MAX(IGRMAX,IGR(J))
98 F0RMAT(50X,13,10X,14,13,16)
c
PRINT *,J,I4D(J),IGR(J),ITY(IGR(J))
,IORD(IGR(J))
221 CONTINUE
222 CONTINUE
C CACLCUL LIGNES SORTIE FIN PEL ET DEM.
C POUR CONTROLER L IMPRESSION TOTS
ITYlMA=O
ITY2MA=O
DO 230 I=l,IGRMAX
GOTO (231,232),1TY(I)
GOTO 230
C 231 PRINT *,ITY(I),ITYlMA,IORD(I)
231 CONTINUE
ITYlMA=MAX(ITYlMA,IORD(I))
GOTO 230
232 ITY2MA=MAX(ITY2MA,IORD(I))
230 CONTINUE
C
PRINT *,IGRMAX,ITYlMA,ITY2MA
C LECTURE FACTEURS
READ(25,9995)
READ(25,9996) ((FAC(l,J,K),K=1,8),J=l,6)
C
PRINT *,' SEM l',
((FAC(l,J,K),K=1,8),J=l,6)
READ(25,9997)
READ(25,9996) ((FAC(2,J,K),K=1,8),J=l,6)
c
PRINT *, ' SEM 2',
((FAC(Z,J,K),K=1,8),J=l,6)
9995 FORMAT(////)
9997 FORMAT(/)
9996 FORMAT(2X,F9.6,7F10.6)
C
LECTURE FICHIERS DE DONNEES
C
DO 1000 11=1,3
ibm
DO 1000 fI=l,l
NB=ll+II
nreg=O
nregl=O
i READ(NB,gO,END=lO) IR,IP,IM,IT,IE,IN,IC
C
IF(IP.EQ.l.AND.IM.EQ.l.AND.IE.EQ.3)
C
lWRITE(33.9933) IR,IP,IM,IT,IE,IN,IC

171
C9933 FORMAT(719)
nreg=nreg+l
C
iflnreg.lt.10) PRINT *,'DONNEES', IR,IP,IM,IT,IE,IN,IC
PAT01070 c
PRINT *, 'DONNEES', IR,IP,IM,IT,IE,IN,IC
C CALCUL CAPT EXTRAP POUR TABLEAUX REGIONS
ISE=(IM+5)/6
c
PRINT *, 'DONNEES', ise,ir,in
ICR=IC*FAC(ISE,IR,IN)+.5
IF(IE.EQ.200) IE=999
r-.
IF(IE.ge.201) print *,'esp',ie,ir,ip,im,it,ie,in,ic
IF(IE.ge.201) IE=999
90 F0RMAT(11,212,11,13,12,19)
IO= 0
IF(IGR(IE).GT.55) PRINT *, 'ERREUR',IGR(IE),IR,IP,IM,IT,IE,IN,IC
IF(IGR(IE).GT.55) goto 1
IF(IGR(IE:).LE.55.and.igr(ie).gt.O) IO=IORD(IGR(IE))
PATO1160 C CHEC'K INDICES
IF(IM*IP*IR*IE*IN*IO.EQ.O)
1PRINT *, 'ERREUR',IGR(IE),IR,IP,IM,IT,IE,IN,IC,IO
IF(IM*IP*IR*IE*IN*IO.EQ.O)
goto 1
IF(IM.GT.12.0R.IR.GT.8.OR.IP.GT.l7.OR.IO.GT.5O.OR.IN.GT.8)
1PRINT *, 'ERREUR',IGR(IE),IR,IP,IM,IT,IE,IN,IC,IO
IF(IM.GT.12.0R.IR.GT.8.OR.IP.GT.l7.OR.IO.GT.5O.OR.IN.GT.8)
1 goto 1
nregl=nregl+l
C CUMUL TABLEAU 34
IT34(IN,IR)=IT34(IN,IR)+ICR
C FAIRE SUM THIES N+S
IF(IR.EQ.3.OR.IR.EQ.5) IT34(IN,8)=IT34(IN,8)+ICR
C CUMUL TABLEACX 35-38
IT3538(IM,IN,IR)=IT3538(IM,IN,IR)+ICR
IF(IR.EQ.3.OR.IR.EQ.5)
lIT3538(IM,IN, 8)=IT3538(IM,IN, 8)+ICR
C CUMUL TABLEAUX 41-67
IT4167(IM,IO,IN,IR)=IT4l67(IM,IO,IN,IR)+ICR
C CUMUL TABLEAU 68
IJ=I4D(IE)/lOO
IF(IJ.EQ.82.OR.IJ.EQ.83.OR.IJ.EQ.84) GOTO 250
IT68(IR,IM)=IT68(IR,IM)+ICR
GOTO 251
250 CONTINUE
K=16
IJ=IID(IE)
IF(IJ.EQ.84Ol.OR.IJ.EQ.84l6)
K=13
IF(IJ.EQ.8202) K=14
IF(IJ/lOO.EQ.83) K=15
IT68(IR,K)=IT68(IR,K,+ICR
251 CONTINUE
C CUMUL TABLEAU 69
IT69(IR,IO)=IT69(IR,IO)+ICR
C CUMUL TABLEAUX 70-77
IT7077(IM,IO,IP)=IT7O77(IM,IO,IP)+IC
C CUMUL TABLEAUX 78-82
IT7882(IM,IO,IR)=IT7882(IM,IO,IR)+ICR
GOTO 1
10 CONTINUE
1000 CONTINUE
print *,nreg,nregl
C CALCUL TOTAUX ET SORTIE TABLEAUX
C TAB34PRINT 901,IAN
DO 61 I=l,8
T(13)=0.
DO 62 J=1,8
T(J)=IT34(J,I)
T(13)=T(13)+IT34(J,I)
IF(I.EQ.8) GOTO 62
TOT(J,l)=TOT(J,l)+IT34(J,I)
TOT!13,l)=TOT(13,1)+IT34(J,I)
62 CONTINUE

172
PRINT 902,REG(I),(T(J)/1000.,J=1,8),T(13)/1000.
61 CONTINUE
PRINT 903,(TOT(J,1)/1000.,J=1,8),T0T(13,1)/1000~
PRINT 904
901 FORMAT(lH1,3OX,'DEBARQUEMENTS
TOTAUX ',15,' PAR REGION ET PAR',
1 ' ENGIN DE PECHE (TONNES) ',j'/,
2 1x,22x, I PIROGUE PIROGUE
PIROGUE
3 '
FILET
SENNE',/23X,'
VOILE
MOTEUR
FILET',
4 ' GLACIERE
SENNE MAILLANT
DE
ENGINS',
5 /lX,'REGION',lGX,'
LIGNE
LIGNE DORMANT ',
6 'LIGNE TOURNANTE ENCERCL.
PLAGE
DIVERS
TOTAL',
7
//)
902 FORMAT(lX,A22,8F9.1,Fll.l)
903 FORMAT(/LX,'TOTAL GENERAL',9X,8F9.1,Fll.l)
904 FORMAT(//'/)
C TAB35 -38
DO 70 K=1,8
DO 700 I=l,13
DO 700 J-11,3
700 TOT(I,J)=O.
C VERIF DONNEES DANS LE TABLEAU
ISUM=O
DO 701 I=:l,8
DO 701 J=1,12
701 ISUM=ISUM+IT3538(J,I,K)
IF(ISUM.EQ.0) GOTO 70
PRINT 91l,IAN,REG(K),MOI
DO 71 I=l,8
T(13)=0.
DO 72 J=1.,12
T(J)=IT3538(J,I,Kj
T(13j=T(l3)+IT3538(J,I,K)
TOT(J,l)=TOT(J,l!+IT3538(J,I,K)
TOT(l3,1)=TOT(l3,1)+IT3538(J,I,K)
72 CONTINUE
PRINT 9l2,ENG(I),(T(J)/lOOO.,J-1,13)
71 CONTINUE
PRINT 9l3,(TOT(J,lj,'1000.,J=l,l3)
PRINT 904
70 CONTINUE
911 FORMAT(30X,'DEBARQUEMENTS
TOTAUX ',15,' POUR LA REGION DE ',
1 AlS,' (TONNES)',/,
5 /lX,'ENGIN ',16X,12(4X,A4),'
TOTAL',//)
912 FORMAT(lX,A22,12F8.1,Fl4.l)
91'3 FORMAT(/lX,'TOTAL GENERAL',9X,12F8.1,Fl4.1)
C 702 CONTINUE
C TAB41-67
DO 80 K=1,8
DO 88 L=1,8
C VERIF DONNEES DANS LE TABLEAU
ISUM=O
DO 850 I=l,55
DO 850 J=1,12
850 ISUM=ISUM+IT4167(J,I,L,K)
IF(ISUM.EQ.0) GOTO 88
DO 800 I=l,13
DO 800 J=1,3
800 TOT(I,J)=O.
PRINT 921,IAN,REG(K),ENG(L),MOI
DO 81 I=l,55
T(13)=0.
DO 82 J=1,12
T(J)=IT4167(J,I,L,K)
T(13)=T(13j+IT4167(J,I,L,K)
Il=0
IF(I.LE.ITYlMA) Il=1
IF(I.GT.I'I'YlMA.AND.I.LE.ITY2MA) Il=2
IF(Il.EQ.0) GOTO 4000
TOT(J,Ilj=TOT(J,Ilj+IT4l67(J,I,L,K)
TOT(13,Il)=TOT(13,I1)+IT4l67~J,I,L,K)


174
TOT(J,3)=TOT(J,3,+IT69(J,I)
TOT(13,3)=TOT(13,3)+IT69(J,I)
862 CONTINUE
IF(T(13)/lOOO..GT.O.O5)
1
PRINT 962,ESP(I),(T(J)/1OOO.,J=1,7),T(i3)/l~OO.
962 FORMAT(1X,A20,7F12.l,Fl4.1)
963 FORMAT(/lX,'TOTAL GENERAL ',6X,7Fï2.1,F14.1)
964 FORMAT(/lX,'TOTAL PELAGIQUES ',3X,7F12.1,F14.1/)
965 FORMAT(/l.X, 'TOTAL DEMERSAUX
',3X,7F12.1,F14.1/)
IF(I.EQ.ITYlMA) PRINT 964,(TOT(J,1)/10O0.,J=1,7),TOT(13,1)/lO~O.
IF(I.EQ.ITY2MA) PRINT 965,(TOT(J,2)/1000.,J=1,7),TOT(l3,2)/lOOO.
865 CONTINUE
IF(TOT(13,1).GT.O.)
1
PRINT 963,(TOT(J,3)/1000.,J=1,7),TOT(13,3)/lOOO.
PRINT 904
C 961 FORMAT(3cX,'DEBARQUEMENTS
TOTAUX PAR ESPECE ET PAR REGION ',
C
5//1X,'ESPECE',lGX,12(4X,A4),
TOTAL',/)
961 FOF!MAT(3fiX,'DEBARQUEMENTS TOTATJX ',15,
1
' PAR ESPECE ET PAR REGION',
2//1X,'ESPECE',2OX,A6,7X,A5,2X,AlO,4X,A8,3X,A9,6X,A6,3X,A9,
3
,
TOTAL',//)
C TAB70-77
DO 870 L=:l,17
C VERIF DONNEES DANS LE TABLEAU
ISUM=O
DO 8?1 I-1,55
DO 871 J=:l,12
871 ISUM=ISUM+IT7077(J,I,L)
IF(ISUM.EQ.0) GOTO 870
DO 872 I=:l,13
DO 872 J=.1,3
872 TOT(I,J)=O.
PRINT 971,IAN,POR(L),MOI
DO 873 I-1,55
T(13)=0.
DO 874 J=1,12
T(J)=IT7077(J,I,L)
T(l3)=T(13)+IT70?7(J,I,L)
Il=0
IF(I.LE.ITYlMA) Il=1
IF(I.GT.ITYlMA.AND.I.LE.ITY2MA)
Il=2
IF(Il.EQ.0) GOTO 4700
TOT(J,I1)=TOT(J,Il)+IT7O77(J,I,L)
TOT(13,Il)=TOT(l3,Il)+IT7O77(J,I,L)
470,3 CONTINUE
TOT(J,3)=TOT(J,3)+IT7077(J,I,Lj
TOT(13,3)=TOT(13,3)+IT7077(J,I,L)
874 CONTINUE
IF(T(l3)/lOOO..GT.O.O5) PRINT 912,ESP(I),(T(J)/lOOO.,J~l,~3)
IF(I.EQ.ITYlMA) PRINT 924,(TOT(J,l)/lOOO.,J=1,13)
IF(I.EQ.ITY2MA) PRINT 925,(TOT(J,2)/1000.,J=1,13)
87.3 CONTINUE
IF(TOT(13,1).GT.O.) PRINT 913,(TOT(J,3)/1OOO.,J=1,13)
PRINT 904
870 CONTINUE
97.1 FORMAT(30X,'DEBARQUEMENTS
',15,' A ',
1 A15,' (TONNES)',/
5 /lX,'ESPECE',lGX,12(4X,A4),'
TOTAL',//)
C TAB78-82
DO 880 L=1,8
C VEKIF DONNEES DANS LE TABLEAU
ISUM=O
DO 881 I=l,55
DO 881 J=1,12
881 ISUM=ISUM+IT7882(J,I,L)
IF(ISUM.EQ.0) GOTO 880
DO 882 I=l,13
DO 882 J=1,3
882 TOT(I,J)=O.
PRINT 981,IAN,REG(L),MOI

175
DO 883 I=l,55
T(13)=0.
DO 884 J=1,12
T(J)=IT7882(J,I,L)
T(13)=T(l3)+IT7882(J,I,L)
II=0
IF(I.LE.ITYlMA) Il=1
IF(I.GT.ITYlMA.AND.I.LE.ITY2MA)
Il=2
IF(Il.EQ.0) GOTO 4800
TOT(J,I1)=TOT(J,I1)+IT7882(J,I,L)
TOT(13,Il.)=TOT(l3,I1)+IT7882(J,I,L)
4800 CONTINUE
TOT(J,3)=TOT(J,3)+IT7882(J,I,L)
TOT(13,3)=TOT(13,3)+IT7882(J,I,L)
884 CONTINUE
IF(T(l3)ilOOO..GT.O.) PRINT 9l2,ESP(I),(T(J)/lOOO.,J=l,l3)
IF(I.EQ.ITYlMA) PRINT 924,(TOT(J,l)/lOOO.,J=l,l3)
IF(I.EQ.ITY2MA) PRINT 925,(TOT(J,2)/1000.,J=1,13)
883 CONTINUE
IF(TOT(13, lj.GT.0.) PRINT 913,(T0T(J,3)/1000.,J=1,13)
PRINT 904
880 CONTINUE
981 FORMAT(30X,'DEBARQUEMENTS
',15,' PAR ESPECE POUR LA REGION DE I,
1 A15,' (TONNES)',/
5 /lX,'ESPECE',16X,12(4X,A4),
TOTAL',//)
CLOSE (12)
CLOSE ( 6)
CLOSE (15)
CLOSE (16)
CLOSE (17)
CLOSE (ltj
CLOSE (19)
CLOSE (2C)
CLOSE (25,)
STOP
END

1
ERRlPP
LISTING
1
CARTE Nx :
2
SAUT DE tTRS ENTRE DATE CARTE 0
?
Xi.90 7 3
10713
2
CARTE Nx :
5
03290 7 5
22 2
**
CARTE Nx :
7
03191 7 7
lû0 8
2
x*
CARTE Nx :
9
SAUT DE JRS ENTRE DATE CARTE 0
0
3190 8 9
10212
4
CARTE Nx :
10
ERREUR DATE CARTE 0
03190 710
129 9
5
CARTE Nx :
16
1 CARTE 2 MQTES OU NB.STE FAUX
CARTE Nx :
22
2 24
***
CARTE Nx :
25
CODE INVALIDE...
33190 711 5 233014183
3
CARTE Nx :
26
1 CARTE 2 EN TROP OU NB-STE FAUX
CARTE Nx :
27
2 CARTE 2 EN TROP OU NB.STE FAUX
CARTE Nx :
2 8
3 CARTE 2 EN TROP OU NB.STE FAUX
CARTE Nx :
29
13190 711 6 67311316
1
**
CARTE Nx :
37
2 1 8 70 74 76 74 77
***x
CARTE Nx 40
1 CARTES 1 EN TROP OU NB.ENQ FAUX
CARTE Nx :
47
13191 712 2 332810153
2
**
CARTE Nx :
55
1 CARTE 2 EN TROP OU NB.STE FAUX
CARTE Nx :
56
13190 712 6 112912403
**
CARTE Nx :
77
13190 81212 223012 63
**
CARTE Nx :
7 9
13190 71213 233012 83
**
CARTE Nx :
8 5
13190 71315 243012 73
**
CARTE Nx :
93
13190 71216 233014113
**

I
ERR2PP
L I S T I N G
I
1 ERREURS EFFORTS JOUR/ECHANTILLONS
CARTE
JOUR ENGIN
EFFORT JOURN.
EFFORT ECH.
11
11 ST
0
2
ERREURS EFFORT JOURN. VERSUS MOYENNES
PORT
DATE
ENGIN ERREUR
MOYENNE
sx
CARTE 0 Nx=
3
3 1

7
3 PML
2
EFF.ENGIN
HORS LIM.
0
102.3
3 9 . 8 0
CARTE 0 Nx=
3
31
90
7
3 PVL
1
EFF.ENGIN
HORS LIM.
0
8.3
3 . 8 9
CARTE 0 Nx=
4
31
90
7
4 PML
2
EFF.ENGIN
HORS LIM.
0
102.3
3 9 . 8 0
CARTE 0 Nx=
4
3 1
90
7
4 PVL
1
EFF.ENGIN
HORS LIM.
0
8.3
3 . 8 9
CARTE 0 Nx=
5
31
90
7
5 PML
2
EFF.ENGIN
HORS LIM.
22
102.3
39.80
CARTE 0 Nx=
447
31
90
7
23 PVL
1
EFF.ENGIN
HORS LIM.
0
8.3
3 . 8 9
ERREURS CAPT.ET NB ESP. PIROGUES VERSUS MOYENNES
PORT
DATE
PIR ENGIN ERREUR
MOYENNE
sx
CARTE 1 Nx=
63
3 1
90
7
12
7
2
POIDS PIROGUE
150.0
33.6
26.57
CARTE 1 Nx=
63
31
90
7
12
7
2
POIDS ESPECE
8 6
DECAPTERUS
RHONCHUS
150.0
17.2
30.76
CARTE 1 Nx=
337
3 1
90
7
19
7
6
POIDS PIROGUE
7500.0
1475.0
1401.09
CARTE 1 Nx=
362
3 1
90
7
19
15
2
POIDS ESPECE
4 6
CORYPHAENA
HIPPURUS
80.1
11.9
14.12
CARTE 1 Nx=
578
3 1
90
7
2 5
1 5
3
NBESP PIROGUE
10
2.4
1.64
CARTE 1 Nx=
589
31
90
7
2 5
16
2
NBESP PIROGUE
9
2.4
1.64

178
~0000000000000000000000000000000000
-
. .
2w
0
0
0
0
CLI ~00000000000000000000000000000000000* *
E
00
w
3,oooooooooooooooooooooooooooooooooo
u
D .
000
2”
3
E00000000000000000000000000000000000
0
* .
L
00
Ei
2 0000000000000000000000000000000000
u;
* .0030
J ~00000000000000000000000000000000000
. .
00
&W
2 0000000000000000000000000000000000
11
* .
000
igd
0
6-l ~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
* I
0
0
8
ki
2 0000000000000000000000000000000000
x
. .
000
p
0
~ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
I 0
0
0
E
w

I
TABPP LISTING (suite)
I
LTABLEAU POIDS MOYENS (KG) PAR ESPECE
ET GROUPE D-ENGIN
PORT
31
ANNEE
90
MOIS
7
ESPECE
NB.COMPTES NB-MESURES
POIDS MOYEN
VOILE
LIGNES
FD
PGL
ST
FME
SP
DIVERS
19 ARIUS
GAMBIENSIS
4
4.
0.00
1.88
0.00
0.00
0.00
O.Oû
ci.00
0.00
29 SPHYRAENA
SPHYRAENA
1
1.
0.40
0.00
0.00
0.00
0.00
0.00
0.00
0.00
31 SPHYRAENA
PISCATORUM
3
3.
0.00
0.83
0.00
0.00
0.98
0.00
0.00
0.00
46 CORYPHAENA
HIPPURUS
81
64.
6.06
5.59
0.00
0.00
4.87
0.00
0.00
0.00
48 MYCTEROPERCA
RUBRA
2 0
19.
1.19
2.32
0.00
0.00
0.00
0.00
0.00
0.00
49 EPINEPHELUS
AENEUS
265
201.
3.93
5.66
0.00
0.00
0.00
0.00
0.00
0.00
50 EPINEPHELUS
GIGAS = GUAZA
43
35.
21.03
6.36
0.00
0.00
0.00
0.00
0.00
12.06
51 EPINEPHELUS
GOREENSIS
60
42.
0.51
0.84
0.00
0.00
0.00
0.00
0.00
0.00
56 CEPHALOPHOLIS TAENIOPS
2
1.
0.22
0.00
0.00
0.00
0.00
0.00
0.00
0.00
68 POMADASYS
ROGER1
33
19.
1.18
1.77
0.00
0.00
1.36
0.00
0.00
o.o&
69 POMADASYS
PEROTETI
6
6.
0.36
0.37
0.00
0.00
0.00
0.00
0.00
o.oQo
7 1 PLECTORHYNC.
MEDITERRANEUS
3 5
34.
1.24
1.15
0.00
0.00
0.00
0.00
0.00
0.00
7 3 PARAPRISTIP.
OCTOLINEATUM
2
2.
0.00
0.33
0.00
0.00
0.00
0.00
0.00
0.00
7 5 UMBRINA
CANARIENSIS
9
9.
0.00
0.48
0.00
0.00
0.00
0.00
0.00
0.00
80 PSEUDOTOLITH
SENEGALENSIS
14
8.
0.54
0.61
0.00
0.00
0.00
0.00
0.00
0.00
83 ARGYROSOMUS
REGIUS
10
10.
1.53
9.36
0.00
0.00
0.00
0.00
0.00
0.00
8 6 DECAPTERUS
RHONCHUS
34
24.
0.39
0.24
0.00
0.00
0.00
0.00
0.00
0.00
87 CARANX
SENEGALLUS
4
3.
0.00
1.73
0.00
0.00
0.00
0.00
0.00
0.00
8 8 CARANX
CRYSOS
8
2.
0.00
1.78
0.00
0.00
0.00
0.00
0.00
0.00
8 9 CARANX
CARANGUS(HIP.)
4
4.
0.00
0.00
0.00
0.00
1.16
0.00
0.00
0.00
91 CAMPOGRAMMA
GLAYCOS(L.VAD)
2
2.
0.00
0.63
0.00
0.00
0.00
0.00
0.00
0.00
9 4 SCYRIS
ALEXANDRINUS
137
95.
2.26
2.14
0.00
0.00
0.00
0.00
0.00
0.00
9 9 TRACHINOTUS
GOREENSIS
1
1.
0.00
0.00
0.00
0.00
0.26
0.00
0.00
0.00
110 BROTULA
BARBATA
3
3.
0.00
0.79
0.00
0.00
0.00
0.00
0.00
0.00
115 DENTEX
GIBBOSUS
5
5.
0.00
0.72
0.00
0.00
0.00
0.00
0.00
0.00
117 AUTRES
DENTEX
1
1.
0.00
0.60
0.00
0.00
0.00
0.00
0.00
0.00
125 PAGELLUS
BELLOTTII
13
13.
0.00
0.18
0.00
0.00
0.00
0.00
0.00
0.00
129 SPARUS
CAERULEOSTIC c
3 9
22.
0.45
1.44
0.00
0.00
0.00
0.00
0.00
0.00
133 SCOMBEROMORUS TRITOR
2
2.
0.00
1.14
0.00
0.00
3.89
0.00
0.00
0.00
178 ISTIOPHORUS
PLATYPTERUS
62
58.
0.00
29.04
0.00
0.00
0.00
0.00
0.00
0.00
1

I
TABPP LISTING
(fin)
l
TABLEAU STATS SUR CAPTURES (PUE)
-.-^II-
KG PAR ~KUUYE D-ENGINS ET ESPECE
PORT
31
ANNEE
90
MOIS
7
GR.ENG
2=
PML
NB.ESPECES
56 CAPT.TOTALE
6245.4
PIR.ECHANT.
186
NB.ESP.MOYEN/PIR.
2.4
CAPT.MOYEN/PIR.
33.6
ESPECE
CAPTURE
MOYENNE
ST.DEV
MIN
MAX
FREQ
MOYENNE
DE PRESENCE
178 ISTIOPHORUS
PLATYPTERUS
9.68
46.16
17.74
22.02
94.21
39
49 EPINEPHELUS
AENEUS
7.82
15.98
10.14
1.04
47.66
91
86 DECAPTERUS
RHONCHUS
3. 71
17.23
30.76
0.97
150.00
40
46 CORYPHAENA
HIPPURUS
2.30
11.89
14.12
1.44
80.09
3 6
9 4 SCYRIS
ALEXANDRINUS
1.52
9.76
8.19
1.47
34.28
2 9
129 SPARUS
CAERULEOSTIC
1.52
28.19
28.27
3.16
90.00
10
161 MUSTELUS
MUSTELUS
1.35
25.10
30.08
2.00
100.00
10
50 EPINEPHELUS
GIGAS = GUAZA
1.19
9.23
6.24
1.42
24.94
24
168 CENTROPHORUS
SPP
0.75
70.00
0.00
70.00
70.00
2
165 RHINOBATOS
SPP
0.40
75.00
0.00
75.00
75.00
1
83 ARGYROSOMUS
REGIUS
0.40
12.48
9.23
2.74
29.87
6
51 EPINEPHELUS
GOREENSIS
0.30
3.32
2.92
0.27
10.20
17
125 PAGELLUS
BELLOTTII
0.29
5.43
5.30
0.23
15.00
10
48 MYCTEROPERCA
RUBRA
0.21
4.37
3.78
1.47
13.43
9
24 MURAENA ET
LYCODONTIS
0.21
4.33
1.80
2.00
6.00
9
71 PLECTORHYNC.
MEDITERRANEUS
0.17
2.25
2.05
0.35
7.68
14
7 0 BRACHYDEUT.
AURITUS
0.16
5.80
4.02
2.00
10.00
5
183 OCTOPUS
W L G A R I S
0.15
5.40
2.97
2.00
10.00
5
133 SCOMBEROMORUS TRITOR
0.14
13.07
16.87
1.14
25.00
2
158 CARCHARHINUS
SPP
0.13
12.50
3.54
10.00
15.00
2
13 LAGOCEPHALUS
LAEVIGATUS
0.11
4.20
2.05
2.00
6.00
5
162 AUTRES
TRIAKIDAE
0.09
16.00
0.00
16.00
16.00
1
68 POMADASYS
ROGER1
0.08
3.12
1.95
1.76
6.48
5
109 LETHRINUS
ATLANTICUS
0.08
3.75
7.50
0.00
15.00
4
8 8 CARANX
CRYSOS
0.08
4.74
5.13
1.60
10.66
3
8 4 MIRACORVINA
ANGOLENSIS
0.07
6.50
0.71
6.00
7.00
2
2 8 PSEUDUPENEUS
PRAYENSIS
0.05
2.00
1.73
1.00
5.00
5
113 ACANTHURUS
MONROVIAE
0.05
10.00
0.00
10.00
10.00
1
150 CEPHALACANTH. VOLITANS
0.05
2.50
2.38
1.00
6.00
4
19 ARIUS
GAMBIENSIS
0.05
2.38
0.93
1.73
3.77
4
7 5 UMBRINA
CANARIENSIS
0.04
1.67
1.50
0.51
4.00
5
155 SCORPAENA
SPP
0.04
2.67
2.89
1.00
6.00
3
8 0 PSEUDOTOLITH
SENEGALENSIS
0.04
3.66
3.41
1.24
6.07
2

I
p a s u b s t . l s t
Repartition des captures en fonction des substitutions de strate
.- ___..-___------- ---- ----__ ----..- ----.__ --- ---- ---_--- ..---_ ------- -----.- -
I
l
strates de substitution
I
I
I
I__---_____-________------------------------l
1
l
I
I
I
mois
Imois tous 1
I
I
I
0
lqz inf/supl
I
I
( CAPTTOT 1 CAPTTOT
1 CAPTTOT
1 CAPTTOT
1 CAPTTOT (
I
1----------+----------+----------+----------+----------1
I
I
SUM
I
SU-M
I
SU34
I
SUM
l
SUM
I
1--------+----------+----------+----------+----------+----------1
IENG
I
I
I
I
I
l--------1
I
l
I
I
I
I PLV
I
49770.01
IPLM
1 3275992.3 I
I
I 3275992.3 1
,--------+----------+---------I,---------~~---------~+----------l
IFDG
I
24403.21
320.51
I
I
24723.71
,--------+----------+----------+----------+---------~+----------1
IST

121080196.81
I
I
.121080196.81
1--------+----------+----------+----------+----------+----------1
2220.01
1104.51
I
8870.71
+----------+----------+----------+----------1
ILR
I
2850.01
8340.01
67910.01
.I
79100.01
I--------+----------+----------+----------+----------+----------l
ILCS

I
30.01
I
I
I
30.01
IEP
I
8994.41
10039.01
7424.21
.I
26457.6
I--------+----------+----------+----------+----------+----------
IFDP
I
60112.81
69.91
I
I
60182.7
I--------+----------+----------+------------+----------+----------
IFDS
I 4 7 3 6 7 0 . 2 1
821.11
I
.I 4 7 4 4 9 1 . 3
IFDL
i 188.21
6.01
I
I
194.2/
1--------+----------+----------+----------+----------+----------1
IPSM
I
1318.31
248.01
. I
. I
1566.31
1--------+----------+----------+----------+----------+----------1
Itotal

124983164.41
22064.51
76761.11
30926.8~25112916.81
--_---__--_________----------------------------------------------

c>
<
,=>
.
.)
.
_Y
.
i,
.
3
.
13
.
\\D
.
m
182
b 3
J
dchr-lnmooo
.

-lmmo
.

drnrn
.

.

.

.

.

.
n d Cc
CO

183

TOTAL POISSONS
15712.9
Il . Cl
2 2 1 1 6 . 3
33683.9
TOTAL
15749.3
(1 . CJi
22397 .o
36494.2
(1 . 0

-1’:
: :) ; I
:,.: ! ,_ : ‘r. .
.+:. !.; .; : ;.;1.
TIC --._.-
r ..;; >,[ ‘C
:‘i”; F.; IJ<>i;.:,
“S-~E” .;i.:i:
;fi.jJ:,!,q”J
A.,';.~.L&.TJc::e
‘il
b’ LELX E
:.,t.i;::-:‘A
‘.itT utri,
.I
-mT.z. I,
.r* >
5 7 gll
1 ( / I‘ L
L < !: . t
;:: . ;
::; _ i;
s.! . i :
‘J._,UL
:: . <.
G . -
0 :> I * . -r
0694.5
bJ,,i .
.;&s:>,,‘-‘LJ,E
X”[;L’
.-
ai
., _ i,
;sy; . i
15432.:
i:rlud.i
:i _ :>
8:; . i.;
y 4 q 7 j . k )
: ‘Y 8 8 . L
/
SY~VD:NELL~
:‘&h.: i-
_
:: :’
3.534. .:
3i5i:;
,-;g4: ~b:
. . . . :
s-1 _ :s
bsy<Js.:,
TETRl.lDON
17.4
!Y _ /i
65.6
s!!ez t.
77,
_.A..!
!? . !-:
I!. l:
7 8 :-! F
IFOcy~T
,- . .
\\
I
7 . .i
;.; . :-,
1 ‘; . .
z j 4 . :
3 :r i ~ i.
l.! . :
i., . i:
“ ; il _ 1
MULET
j 1 j _ (?
(: . :
.3 4.4
,q i J . c
4 ! ’ . e
I!. !!
!i. :;
'Il5:l.x
._
CARPE BLANWE
26.3
i_J _ s-1
211.6
225.1
3il-i.L
Cl . ii
u . il
3Ïl7.4
PELISN
185.7
1.’ . il
463.5
1 . "
.!llI)Y. 6
0 . c
0 . lc!
2 0 fj (1 . b
22 1 î,JiH>.4F,
1 L <TA-g;,JE
1Dù.i
ce. \\I
iL6h. 3
;:n:. _
10-4.c
I_i . ij
ii. ii
.:Yil.i . .l
CHIPK'HARD NOIR
0 . I!
0 . f!
742.0
853.b
2 j 1 5 _ y1
0.0
ü . 0
3916.3
GRANDE CARANGIJE
5.5
i: . !(!
148.6
17.3 . ;;
816.7
0.I:
0 _ (1
1144.8
LIZHE
1.3 . 3
-.jr
-,
ü . i.;
3 I > .3
1ir.4
ii.5
c.iJ
0.U
78.3.U
SCïRIS D ' ALEXA!ZDI\\i F,
i ;j .4
i; . ::
32.5
l64.Y
ZY.u
ii . ci
Li _ (:
337 ..2
PLAT PLAT
170. a
(J _ ‘j
239.:
1 î
Id. 3
2388.i
ü.c
ic _ i!
2522.2
'TASSERGAL
657.1
ü . IJ
111.8
.3 Cl _ h
1:1. 2
Ii . !Ci
(1 . (1
809. 7
MAQUEREAU
1l.U
u . u
128.1
442.7
242.1
0.0
0 . 0
823.9
MAQUEREAU BONITE
8.6
0 . 0
5.4
173.2
41.3.5
0.0
0 . 0
600.8
THONINE
0.3
0 . 0
927.2
1767.9
139.0
0.0
0 . 0
2834.4
BONITE
0.0
0.0
179.3
342.3
1.8
0.0
0 . 0
523.3
CEINTURE
5.5
cl.0
lbCI.2
200.4
3. 8
0-ü
ü . 0
368.8
VOILIERS
2.2
I;l . !)
110.2
4 0 0 . 6
3 . 0
0.0
0 . 0
516.0
AUTRES TELAGZQiES
2i.i
,., _ 1:
tj (1 3 _ ;
:jgp _
._.
,.I
71 > . <.
!Ci . i:;
1.1 . 1:.
15.85.0
TOTAL PELAGIQUES
12079.5
0.0
16300.6
26984.1
148105.6
3.0
C.0
2û3469.6
-
MACHOIRON
83.3
0.0
172.8
2.2
2211.6
0 . c
0 . 0
2469.9
oc
MURENE
10.6
0 . ü
10.3
22.4
54.0
0.0
0 . 0
97 .A
wl
PLEXIGLASS
di.0
0 . û
258.7
34.4
54.7
0.0
0 . 0
37R.8
BADECHE
9 . 4
0 . I?
19.5
139.2
12.1
0.0
0 . 0
180.1
THIOF
396.1
0 . 0
222.7
539.4
118.3
0.0
0 . 0
1276.6
MEROU DE MEDITERRANE
105.1
0.0
17.5
272.5
30.5
0.0
0 . 0
425.6
MEROU DE GOREE
121.6
0.0
46.7
442.4
136.3
0.0
0 . 0
747.0
CARPE ROUGE
5.0
0.0
16.7
203.7
29.3
0.0
0 . 0
254.8
DORADE GRISE
155.5
0.0
46.2
469.7
405.7
0.0
0 . 0
1077.1
CAPITAINE
133.9
0.0
451.2
19.2
186.5
0.0
0 . 0
790.8
COURBINE
152.4
0.0
73.6
144.8
1123.1
In . 1)
!) . n
1493.8
BROTULE
0.0
0.û
90.9
131.5
8.5
0 . 0
0 . 0
230.9
DENTES
46.3
0.0
453.1
1012.7
24.0
G . 0
0 . 0
1536.1
PAGEOT
125.0
0.0
1048.2
2086.2
110.4
0.0
0 . 0
3369.8
PAGRE
1086.4
0.0
69.7
1616.9
1182.0
0 . 0
0 . 0
3954.9
SOLE LANGUE
75.7
0 . 0
315.4
10.3
394.7
0 . 0
0.ü
796.1
REQUINS
455.6
n . Cl
574.C'
1 .? 7 7
. <
c; g-!
. . F
î‘.I . 1:
i(! . :
; 6 2 *)&. 7
RAIES
513.5
ci.0
3?5. 1
78.1
1393.1
ü . 0
0 . L:
2359.H
SEICHE
14.2
û.0
n
12.r
37.9
1715.6
0 . 0
0 . 0
1794.i
POULPE
0.3
0.0
214.1
64C.?
'7284.1
0 .O
0 . 8
8144.2
AUTRES DEMERSAUX
111.8
0 . 0
1111.3
1234.5
1309.4
0 . 0
0.D
3767.0
TOTAL DEMERSAÜX
3645.3
0.0
6014.6
9324.9
i7850.1
0-G
0 . 0
36834.9
GASTEROPODES
1.6
0.0
2.8
88.7
8737.4
0.0
0 . 0
8830.6
LANGOUSTE
20.5
0.0
31.2
20.5
12.4
0 . 0
0 . 0
84.6
DIVERS
2.9
0.0
41.4
75.8
2345.3
0.0
0 . 0
2471.4
TOTAL GENERAL
15749.9
0.0
22397.0
36494.2
177072.3
0.0
0 . 0
251713.3

t:;$L,‘C
-... . .
k<. /_
j rt%.: r,;
FEVR
?“TA 7fi .:
A.%- :
;,&-i
NA ;
rJ .‘i,i
‘ii1 :.
,A.<^,“7
1 i; F 7
$K:j'y
::r 1;
ï 1 p>“>t!$ Lt-: &; i
..: . II
: ! _ t:
, .

:./ . ‘_
/i . _
“i -d . _r;
, : . 3:.
2i.r
i ) . I:l
4*.-
1 . .*
4-Ï. i
il. l*’
_ -~
i---
.:i.4.iJ.i’i>J~,7~LE
;:(,:i:jj;;
n ,:j : . ,-,
; 8:: .1
L,i.:l _ ,
: 8 7 . .i
_ t> 2 _ 3
l’/4 . 1
0 _ <.:
)LJ rl
-j!.l.k3
532.5
1. d ‘i 1 . n
_ i / Y . .?
,‘.Ag,Ll:piF&r ;‘L‘q”“
., _.
.-
;3i<.i
i 2 B
'
.-
i : j, . 2
5’7. 5.
3 1; c) . 4
ii.;
: /. 1
i 45 .n
ii; .H
./ r; 5 . 1.;
./ I Y .
lR.. I c
TETKODON
il . ;
ii _ Il
C!
< I . y;
. !
‘!.:i
l? . 1
:! . !!
4 .-
6, i
. ’
2
1
-4
‘1’ . 1
?REPAIuTE
::: . 1
;-: .;
:: ” -
ci. j
I:l . i
,. _ 1
::r . ;
!!. .=
i.: . 3
:, . ::
:_/ . Se!
1.: _ t:
ERljC::<ET
<: . I /
', . c/
!!. ”
,:. i:
:,
Il.,!
. i
1:. 1_/
(1. .'
I-’
:: _ G
,!, 2
i ..!
: ;a
MULET
(1 . il
0 . (!
i-1 . 9
I_I . I,
1J _ 2
(1 . i
Cl . 0
_I 2 . Y
' b . 4
hi..i
1.1 . fJ
u . 11
11 j . il
C'ARPE BLANCHE
(I . .2
0 . 5
il. i
4I ” R
2.3
2 . 3
1.c
3.2
4.1
4 . 7
111 . 5
1-j . 4
23.7
s Erh(J;j
Cl . 1
1! . 5
ij _ 4
11-
4u.3
?1 . h
i ! 'Y . i
i . -:
t> . i
8. *
1.’ . ?
IJ . i
i85.t>
CHINCHARD <TAIJNF
Cl . 7
2. 7
14.1
g .7
3 0 . 5
58.5
35.6
!Y1 .5
0 . 3
1 I !Y!
1.2
2 . g
1 0 8 . 0
GRANDE CARLANGUE
ü . 0
il . 17
1ü . i!
I l _ c
0. 0
5.4
cl . :?
1’
0 . 0
:j. I)
1) _ 9
ii . ü
5.5
LI(HE
1 \\
.
;.: . 5
; _ (;
ii . f-b
3 . b
5.3
i.:
U.4
ij . i
u . ii
cl.0
ü.u
il. 3
;c.,rx 19 D ' A’LE>‘Aîd’jki
. /
t.
ii . !,
0 _ ü
(1 _ i,
! 1 . ii
I:i . fi
c: . ij
2. ‘
ii.7
2.5
U . 3
G . IJ
ll . il
i 1.1 . i
PLAT PLAT
!J _ 6
0 . !J
ü . '2
CI ?
: . 0
6 . 8
C. . ‘.
id.2
ü.c
c .i
i . v
1jj.S
0 . C
1 7 1:; .6
TRACHINOTE
il . (1
ru . III
ü . ü
r-i !
0 . ü
ICI . (1
0 _ I?
f) _ 1)
1.0
ü.?
ü . 0
ü.?
1 . ‘2
TASSERGAL
U.8
0 . 3
0.3
4.0
13.6
6 1 6 . 4
12.n
5.3
0.1
0 . 6
ü . 7
1 .I
6 5 5 . 4
MAQUEREAU
ü.ü
r! . 0
ü . il
ü.0
0.ü
5 . 5
0 . L7
Il . 0
cl . 0
0 . ü
ü . 0
4.7
10.6
MAQUEREAU BONITE
0.0
0 . 0
0.0
0.1
0.7
ü . ü
1 .2
4 . 7
0.1
0 . 2
0.4
0.1
7.3
THONINE
0.0
0 . 0
0 . 0
0.0
0.0
cl . 0
0.1
0 . 0
0.0
0 . 0
0.0
0.0
0.2
CEINTURE
ü.n
ü . 0
ü . i
ü . u
II.4
(1 . 1)
0.5
V . ‘?
1.9
0 . 1.
ü . 5
0.5
5.5
VOILIERS
0.0
ü . 0
0.u
0.0
0 . 0
u . il
1.P
0 . ?
0 . 0
ü _ ii
Cl . ü
!Il . Il
2 . I?
AUTRES iELAG:Q!UE.;
; .L
..-
<j _ 1)
il _ !.,
:/ . -1
1 _ lj
L . &:
5. i
3.1
'3 _ 1
::1 . ‘?
() . I
> 1
-t .5
TOTAL PELAGIQUES
t135.1
3 2 3 . 1
6 6 9 . 7
451.7
6 7 7 . 4
902 .?
223.3
5 3 6 . 5
400.0
9 3 4 . 9
2 2 0 2 . 3
305;:9
1 2 0 6 4 . 8
MACHOIRON
3.1
1 . 6
0.E
7.8
1 8 . 4
8 . 6
1 3 . 4
3.4
2. 7
3 . 1
1.7
0 . 3
5 4 . 9
MURENE
0.3
0 . 6
12 . 1
ü . 0
ü . ü
îr . 0
0.1
0.0
1:) . 4
0 . 0
4 . 5
4.4
10.5
PLEXIGLASS
fj . n
ü . 3
0.7
7 . b
5.3
7 . 2
0.3
i.2
6 . 1
3 . 8
0 . 5
ii.1
3 4 . 2
BADECHE
2.5
1 . 0
0.1
ü.3
0.2
0 . 5
1.4
ü . 1
CI.1
1.3
0.ü
1-ü
9.1
THIOF
35.2
3 6 . 2
1.3
5.8
3 2 . 4
4 8 . 6
3 8 . 8
3 8 . 4
4 3 . 3
2 7 . 0
3 3 . 3
5 0 . 5
3 9 0 . 8
MEROU DE MEDITERRANEE
2 5 . 9
11.6
0.3
0.7
2 5 . 4
1 1 . 4
1.6
9.6
1.7
4 . 6
3 . 6
5.7
1 0 2 . 3
MEROU DE GOREE
1 3 . 0
12.2
0.0
0.1
2 . 3
2 . 2
3 . 9
2 1 . 2
1 9 . 7
1 3 . 4
5 . 8
2 6 . 9
120.8
MEROU GRIS
ü.0
0.0
0.0
0.0
0 . 0
0 . 0
2.6
0.0
0 . 0
0 . 0
0 . 0
0 . 0
2 . 6
CARPE ROUGE
2.6
0.2
0.0
0.0
0.1
ü.ü
0.ü
1.0
ü . 3
0 . 6
ü.ü
0.ü
4 . 8
DORADE GRISE
1 5 . 0
6 . 4
1.1
4.2
4.3
1 3 . 6
1 0 . 9
21.1
2 3 . 7
18.5
2 7 . 5
6.0
1 5 2 . 2
CAPITAINE
1.3
5 . 7
6 . 4
1 5 . 8
31.9
11.8
5.6
4.9
ç.4
7 . 4
4 . 5
0 . 7
1 0 8 . 5
COUREINE
I
7 3 . 8
2 9 . 0
6 . 5
b . L!
‘22.4
0.u
0.4
0.5
0 . 6
1.4
0 . 2
1.1
1 4 2 . 0
DENTES
6.1
2 . 1
ü . 6
4 . 3
6 . 3
7.6
4 . 5
8.7
1.4
2 . 7
0 . 3
1.2
4 5 . 6
PAGEOT
2.4
0 . 9
1.1
2. 9
3 8 . 3
3 2 . 0
16.0
9.1
6 . 8
5.3
6 . 0
3.4
1 2 4 . 1
PAGRE
30.4
17.7
0 . 6
9.5
4 3 . 6
1 2 8 . 8
2 6 5 . 2
2 0 5 . 9
196.5
117.1
5 2 . 5
1.4
1079.2
SOLE LANGUE
ü.0
0.3
5.9
1 6 . 8
1 5 . 9
15.2
cl.3
-4 7
_.I
3 . 5
2 . 2
0 . 3
0.0
63.9
REQIIINS
c ?
. .
1.7
i ~ 9
: 1 2
5.6
15.6
1:': . i
?rj P
. _
45.E
35.c
11.9
2.4
26Zei)
RAIES
51.5
4 i . i
4 . 2
2 . t
4 . 0
7 . i
19.7
4 3 . 9
1 3 . 7
2fi :,
.-
3 9 . 5
7 5 . 9
3 2 8 . 9
SEICHE
(1 . fi
fü . ü
0 _ c:
0.2
0 . 0
ICI.?
2 . ü
ü . 6
ü . 2
0 . ci
ü . 1
0 . il
1J.U
?OI&PE
ü.ü
0.1
?.C
0.c
0.0
f) . 0
y.0
ü.0
0.c
ü.0
0 .:
n.2
0 . 3
AUTRES DEMERSAUX
12.2
1 . 4
ü . 7
1.8
1.0
2 . 2
5 6 . 8
6 . 5
5 . 1
e,.:
4 . 9
i"3
103.6
TOTAL DEMERSAUX
28'7.0
1 7 0 . 1
3 4 . 4
69.7
2 6 4 . 2
3 2 3 . 6
5 5 9 . 3
359.2
3 7 8 . 3
2 7 7 . 8
1 9 7 . 3
1 8 9 . 4
3170.3
GASTEROPODES
0.0
ü.0
0 f ü
0.2
0.1
0.1
0.1
0.0
0.1
0 5
0 . 2
0.1
1.i
LANGOUSTE
3.û
5 . 2
0.1
1. 8
4 . 0
1.3
0.6
0.6
0.3
ü:;
0.3
0.1
17.6
DIVERS
cl.4
0 . 0
0.ü
0 . 0
0 . 0
0 . 0
0 . 0
0 . 3
0.0
Cl . 2
0 . 4
1.1
2 . 3
TOTAL GENERAL
1425.51 0 9 8 . 4
7 0 4 . 3
5 4 3 . 4
895.1
1 2 2 7 . 8
7 8 3 . 4
9 3 6 . 5
7 7 8 . 7
1 2 1 3 . 5
2 4 0 0 . 5
3 2 4 8 . 5
1 5 2 5 6 . 1

187
effjour.sas
/* TABLIEAUX EFFORTS PA SORTIES ET NB ENQUETES
COMPILATION SUR FICHIERS EFFJOUR*/
libname pa ";
opt:on pagesize=60;
option linesize=220;
proc format;
value fengin
O>='PLV'
02='PLM'
O?,='PLM'
04='PLG'
05='FDG'
06='ST'
O?="FME'
08='SP'
OIi="LR'
lO='LCS
l;='LT"
lY='PAL'
13='EP'
14='KAY'
lS='FMDE'
16='FMDM'
17='FMDF'
18='FMDT'
lY='FDP'
2O='FDS
2l='FDES'
22='FDL'
23z'FDY'
24='PSM';
run;
proc: format;
value fport
ll='StLouis'
31='Kayar'
32='Mboro'
33='Fass Boye'
4l='Yoff'
42='0uakam'
43='Soumbedioune'
44='Hann'
45='Rufisque*
51='Mbour'
52='Joal'
53='Pointe Sarene'
511z'Mbour.ppc'
522='Joal.ppc'
6l='Djifer'
71='Kafountine'
72='Zigunchor 1'
73='Ziguinchor 2'
74='Goudomp'
7C='Simbandi';
run;
/* LECTURE DES DONNEES*/'
data d;
array eff(24, el-e24;
*infile '/home/mareme/c:rodt/pechart/pa/basepa/effjour/kay9O.effjour';

188
infile '/mtp/tmp/port90.effjour';
inputqz 1-4 port 5-8 an 9-12 mois 13-16 jour 17-20 f 21-24 t 25-28
(el-e24) (4.) nbenq;
array engin (24) el-e24;
efftot=O;
do i=l to 24:
efftot=efftot+engin(i);
if engin(i)=0 then engin(i)=.;
end;
if efftot=O then efftot=.;
run;
*SYNTHESE ENGIN PAR QUINZAINE; UN TABLEAU/PORT;
Proc tabulate noseps ;
format port fport.;
label
eI='PLV'
eL='PLM'
eX='PLM
e4='PLG'
eI>='FDG'
e6='ST'
e’i=‘FME’
eB='SP'
e9='LR'
elO='LCS'
ell='LT'
el2='PAL'
elX='EP
el4='KAY'
el5='FMDE'
el6='FMDM'
el:'='FMDF'
el8='FMDT'
el9='FDP'
e2O='FDS'
e21='FDES'
e22='FDL'
e25='FDY'
e24='PSM'
efftot='effort total';
keylabel all='total';
title 'Nombre de sorties par QZ et engin ANNEE 1990';
class qz port;
var el-e24 efftot;
table port,qz,(e5 e19 e20 e21 e22 e23 efftot)*sum*f=lO. /condense;
* VERIFICATION JOURS FERIES ET METEO;
proc: tabulate missing;
format port fport.;
label f='jours feries'
t='meteo';
title ‘codification des jours feries et meteo ANNEE 1990';
class port t f;
table port,(f t)*n='nb jour'*f=lO.;
* VE;RIFICATION EFFORT/NOMBRE D ENQUETES;
proc: tabulate
missing;
format port fport.;
label nbenq='nombre d enquetes'
efftot-'efforts totaux';
keylabel all:='tous ports enquetes';

189
trtle ‘Effort et enyuetes/jour avec enquete par port ANNEE 1990';
class port;
var nbenq efftot;
table port ail,
efftot*!sum='total' n='nbjour' mean='moy' std='ecart')
nbenq*(sum='total' n='nbjour' mean='moy' std='ecart'
pctsum<efftot>='taux d echantillonnage');
run:

190
captpir.sas
libname pa" '-
options pagesfze=60;
options linesize=256;
filename cod 'nomesp.pa6';
/* ANALYSE DES DONNEES DE CAPTURES DES FICHIERS CAPTPIR*/
data lect;
%include cod;
infile '/home/mareme/crodt/pechart/pa/basepa/captpir/kay85.captpir1
lrecl=2774;
axay esp(50) spl-sp50;
array capt(50) capl-cap50;
input
port qz an mois jour no engin nbpech heure duree lieu prof nesp @;
tot=o :
do i=l to 50;
esp(i)=O;
capt(i)=O;
end;
if nesp>O then do;
dc i=l to nesp;
input esp(i) 5. capt(i) 7.1 B;
tot=tot+capt(i);
if esp(i)=7609 then sole=capt(i);
end;
end;
if jour>7 and jour<16 then qz=qz+O.5:
if jour >22 then qz=qz+O.5;
* SELECTION D'ENGIN ET DE PERIODE;
if engin ne 5 then delete;
if rnois ~4 then delete;
if mois>6 then delete;
iden=mois*lOO+jour;
keep port lieu prof engin mois jour nesp tot sole qz iden;
run;
* ANALYSE SUR UNE ESPECE;
proc sort;
by iden;
proc univariate plot ;
var sole;
by iden;
proc: tabulate 'noseps;
title 'jour de 1 annee 85 avec captures de sole';
class engin mois jour lieu;
var sole;
table mois*jour,engin*sole*(mean
N min max) /condense rts=lO;
table mois*jour, engin*N;
* CALCUL DU RENDEMENT MOYEN/PIROGUE;
proc sort data=lect;
by qz;
proc means noprint;
var tot;
output out=sortie mean=pue;
by qz;
*CREATION D'UN FICHIER ASCI;

191
data sortie2;
set sortie;
cile 'sortie.asc'*
put gz l-5 pue 1o:i;
run;
* COMPILATION SUR PROFONDEUR ET LIEUX;
proc sort data=lect;
by port;
proc tabulate noseps;
bq' port;
class lieu prof;
table lieu,prof*N*f=5. / condense rts=5;
data lect2;
set lect;
array prise(250) pl-p250;
do i=l to 250;
prise(i)=O;
end;
do î=l to nesF;
codpi=esp(i);
%nomesp6(codpi,codpa) ;
prise(codpa)=capt(i);
end;
run;
proc format;
value fengin
Ol='PLV'
O%='PLM
0:3='PLM'
04='PLG'
05Z'FN
06z'ST'
0'7='FME'
08=‘SP’
û9='LR'
l<j=GLcc (
ll='LT'
lL='PAL'
1:3='EP'
14='KAY
15='FMDE'
16='FMDM'
l'T='FMDF'
18='FMDT'
l!?='FDP'
2O='FDS'
21='FDES'
22='FDL'
23='FDY'
24='PSM';
proc tabulate;
format engin fengin.;
label pl52='synaptura'
pl54='cynoglosus'
an='annee';
title 'somme des captures de soles';
class an engin;
var ~152 ~154;
table an, (engin all)*(p152 p154)*(sum);
*CALCUL DE RENDEMENTS MOYENS EN TENANT COMPTE DES PRISES NULLES:

192
prot: sort;
‘by engin an mois jour;
proc means noprint;
'by engin an. mois jour;
var p49 ~116 ~118 ~125 ~181 ~183 ~71 p83 p51 p80 p129 ~154 tot;
Output out=rdtmoy mean=p49 ~116 ~118 ~125 ~181 ~183 ~71 p83 p51 p80
p129 ~154 tot N= nl n2 n3 n4 n5 n6 n7 n8 n9 n10 nll n12 ntot:
*STOCKAGE SUR FICHIER ASCI;
*RENDEMENT;
data rdtm2;
set rdtmoy;
fil+ 'kayl.rdt';
put (an mois jour engin) (4*3.)
(P49
~116 ~118 ~125 ~181 ~183 p71 p83 ~51 p80 p129 ~154 tot) (13*10.2);
*FREQUENCE;
data rdtm3;
set rdtmoy;
file 'kayll.rdt';
put (an mois jour engin) (4*3.) (nl-n12 ntot) (13* 10.);

193
I
effqz.sas
I
Iihname pa ' I ;
option pagesize=60;
option linesize=130;
* COMPILATIONS SUR FICHIERS EQZ;
proc format;
value fengin
o:L='PLv'
02='PLM'
03='PLM'
04='PLG'
05='FDG'
Ot;='ST
07='FME'
08='SP'
09='LR'
lf)="LCS'
ll='LT'
l:,='PAL'
13='EP'
14='KAY'
15='FMDE'
16='FMDM'
l'l='FMDF'
18='FMDT'
l!>='FDP'
2O='FDS'
2l='FDES'
22='FDL'
23='FDY'
24='PSM';
run;
proc format;
value fport
ll='StLouis
3î='Kayar'
32='Mboro'
33='Fass Baye'
4î='Yoff'
42='Ouakam'
43='Soumbedioune'
44='Hann'
45='Rufisque'
51='Mbour'
52='Joal'
53='Pointe Sarene'
511='Mbour.ppc'
522='Joal.ppc'
6l='Djifer'
7l='Kafountine'
72='Zigunchor 1'
73='Ziguinchor 2'
74='Goudomp'
75='Simbandi';
run;
*COMCATENATION DE TOUS LES FICHIERS D'UN PORT;
data a;
infile '/home/mareme/crodt/pa/basepa/eqz/kay74.eqz1
lrecl=l50;
array eff(24) el-e24;

194
input port an mois qz
el-e24 ;
data b;
rnfile '/home/mareme/crodt/pa/basepaieqz/kay75.eqzN
lrecl= 150;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data c;
infile '/home/mareme/crodt/pa/basepaieqz/kay76.eqz1
lrecl=150;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data d;
infile 'ihome/mareme/crodt/pa/basepa/eqz/kay77.eqz0
lrecl=l50;
array eff(24) el-e24;
inputport an mois qz
el-e24 ;
data e;
infile '/home/mareme/crodt/pa/basepa/eqz/kay78.eqz0
lrecl=150;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data f;
infile '/home/mareme/crodt/pa/basepa/eqz/kay79.eqzB
lrecl=l50;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data g;
infile '/home/maremeicrodt/pa/basepaieqz/kay8O.eqz'
lrecl=150;
array eff(24) el-e24;
Input port an mois qz
el-e24 ;
data h;
infile '/home/mareme/crodt/pa/basepa/eqz/kay81.eqz1
lrecl=l50;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data i;
infile '/home/mareme/crodt/pa/basepaieqz/kay82.eqz0
lrecl=l50;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data j;
infi.le 'ihome/mareme/crodtlpa/basepa/eqz/kay83.eqz'
lrecl=l50;
ar-ray eff(24) el-e24;
input port an mois qz
el-e24 ;
data k;
infile '/home/mareme/crodt/pa/basepa/eqz/kay84.eqz'
lrecl=150;
array eff(24) el-e24;
input port an mois qz
el-e24 ;

195
data 1:
infile '/home/maremeicrodt/pa/basepa/eqz/kay85.eqzB
lrecl=l50;
array eff(24) el-e24;
1nput port an mois qz
el-e24 ;
data m;
infile '/home/mareme/crodt/pa/basepa/eqz/kay86.eqz1
lrecl=l50;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data n;
infile '/home/mareme/crodt/pa/basepa/eqz/kay87.eqzB
lrecl=150;
array eff(24) el-e24;
input port an mois qz
eï-e24 ;
data o;
infile '/home/mareme/crodt/pa/basepa/eqz/kay88.eqzB
lrecl=150;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data p;
infile '/home/mareme/crodt/pa/basepa!eqz/kay89.eqz1
lrecl=150;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
data q;
rnfile '/home/mareme/c:rodt/pa/basepa/eqz/kay90.eqz'
lrecl=l50;
array eff(24) el-e24;
input port an mois qz
el-e24 ;
run;
data tout;
set a b d e f g h i j k l m n o p ;
arraÿ eff(24) el-e24;
efftot=O;
do i=l to 24;
efftot=efftot+eff(i);
end;
Proc tabulate noseps ;
format port fport.;
label
e2='pL\\T'
eY='PLM'
eX.='PLM'
e4=-'PLG'
e5:='FDG'
eE;='ST'
e7:='FME'
e8=-'SP'
e9='LR'
elO='LCS'
ell:='LT'
el$='PAL'
el3='EP'
el4='KAY'
elS='FMDE'

196
eli='FMDM'
el'?='FMDF'
elâ='FMDT'
el!3='FDP'
e213='FDS'
e21='FDES'
e22='FDL'
e23="FDY'
e24='PSM'
efftot='effort total';
keylabel all='total';
title 'Nombre de sorties par engin de 74 a 89 a kayar';
class an;
var el-e24 efftot ;
table (el e2 e3 e4 e5 e6 e7 e8 e9 e10 ell e12 e13
e14 e15 e16 e17 e18 e19 e20 e21 e22 e23 e24 efftot ),
(an)*sum*f=lO. / condense;
data pa.kef7490;
set tout:
PVLP-el;
PML=e2;
FD=e5+e19+e20;
ST=eG ;
DIV=efftot-(PVL+PML+ST+FD);
noqz=-N-;
keep noqz PVL PML FD ST DIV efftot;
run:
*GRAPHIQUE DE L'EVOLUTION DES EFFORTS;
proc timeplot;
plot PVL PML FD ST DIV;

197
I
cqzsub.sas
I
option pagesize=200;
option linesize=250;
*FICHIERS TYPES CQZSUB OU DEF: SELECTION D'ESPECES;
* SELECTION DE FAMILLES ET ESPECES SUP A 5% PAR ENGIN;
* SELECTION DES ESPECES PRESENTES;
data lectout;
infile '/mtp/tmp/lou9l.cqzsub'
lrecl=2774;
input
port l-4 an 5-8 qz 9-12 engin 13-16 sorties 17-20 enquetes 21-24
(espl-esp250) (11.1);
reg=int(port/lO);
mois=int(qz/2+0.5);
array espece(250) espl-esp250;
totesp=sum(of espl-esp250);
* transformation des poids en tonnes;
totesp=totesp/lOOO;
do i=l to 250;
espece(i)=espece(i)/lOOO;
end:
if engin=1 then nomengin='PVL';
else if engin=2 or engin=9 or engin=10 or engin=11 then nomengin='PML';
else if engin=12 then nomengin='PML';
else if engin=4 then nomengin='PGL';
else if engin=6 then nomengin='ST';
else if engin=5 or engin=19 or engin=20 or engin=22 then nomengin='FD';
else if engin=15 or engin=16 or engin=17 or engin=18 then nomengin='FD';
else if engin=21 or engin=23 then nomengin='FD';
else if engin=7
then nomengin='FME';
else nomengin='DIV';
run;
11 *
*CALCUL DES CAPTURES TOTALES ANNUELLE!; PAR AN/PORT/ENGIN;
proc sort out=do;
by port an
engin;
proc means noprint data=do;
by port an
engin;
var
espl-esp250 totesp sorties;
* calcul du total annuel par engin;
output out=prisl
sum= espl-esp250 totesp sorties;
run;
*MODIFICATION DE LA STRUCTURE DU FICHIER DE CUMUL;
*UN ENREGISTREMENT PAR ESPECE;
data portespl;
set prisl;
*SELECTION DE L'ENGIN;
*f nomengin ne 'PGL' then delete;
array espece(250) espl-esp250;
do i=l to 250;
if (espece(i)>O) then do;
poids=espece(i);
codpa=i;
keep an codpa poids totesp port
engin sorties;
output;
end;

198
end;
run;
*/
*MODIFICATION DE LA STRUCTURE DIJ FICHIER INITIAL;
*IJN ENREGISTREMENT PAR ESPECE;
data portespl;
set lectout;
*f nomengin ne 'PGL' then delete;
* ON CONSERVE QUE LES ESPECES AVEC DES PRISES;
array espece(250) espl-esp250;
do i=l to 250;
if (espece(i)>O) then do;
poids=espece(i);
codpa=i;
keep an codpa poids totesp port
engin sorties nomengin mois
output;
end;
end:
run;
proc tabulate noseps data=portesp2;
title 'essai pour selection des variables sans 0';
class codpa nomengin mois;
keylabel ALL='TOTAL';
var poids;
table nomengin,codpa,mois*poids*sum
;
*SELECTION DES ESPECES SELON UN CRITERE DONNE;
* selection des especes superieures a 5 % du total par an et engin;
data a;
set portespl;
* VALEUR TEST =0 OU 1 SUIVANT LE CRITERE;
arr-q testesp(250) testl-test201;
do i-l to 250;
testesp(i)=O;
end;
if poidsitotesp > 0.05 then testesp(codpa)=l;
run;
* CREATION D'UN ENREGISTREMENT AVEC LA VALEUR TEST POUR TOUT
LE FICHIER;
proc: means noprint;
var testl-test201;
output out=listesp sum= testl-test201;
'* MERGE DE L'ENREGISTREMENT AVEC LE FICHIER INITIAL;
data b;
merge portespl listesp;
run;
*RESTRUCTURATION DU FICHIER;
data c;
set 1~;
" DEMARCHE POUR CONSERVER L'ENREGISTREMENT DE LA VALEUR TEST;
array rtest(250) rtl-rt201;
array testesp(250) testl-test201;
retain rtl-rt201;
do i=l to 250;
if -N- eq 1 then rtest(i)=testesp(i);
if N- ne 1 then testesp(i)=rtest(i);

199
end; *SI CRITERE NON RENCONTRE L'ESPECE EST ASSIMILEE A 999;
if testesp(codpa)=O then codpa=250;
keep an codpa poids totesp nomengin port;
run ;
*/
*ASSOCIATION ENTRE CODES ET NOMS;
*FICHIER nomesp.pal= CODE PA/NOMS SCIENTIFIQUES
nomesp.pa2= NOMS SCIENTIFIQUES/CODEPA
nomesp.pa3= CODE PA/CODE PI
nomesp.pa4= CODE PA/TYPE (PELAGIQUE, DEMERSAUX,AUTRES)
nomesp.pa5= CODE PA/GROUPE (Tableaux stat. annuelles)
nomesp.pa6= CODE PI/CODE PA
nomesp.pa7= CODE FAMILLE /NOM FAMILLE
nomesp.pa8= CODE GROUPE / NOM FRANCAIS;
data dd;
set portesp2;
if codpa=250 then codpa=999;
filename cod '/home/mareme/crodt/£erraris/painomesp.pal';
%include cod;
'knomespl (codpa,nomsc);
filename cod '/home/mareme/crodt/ferraris/pa/nomesp.pa3';
%include cod;
%nomesp3 (codpa,codpi);
codfam=int(codpi/lOO);
filename nom '/home/mareme/crodt/ferraris./pa/nomesp.pa7';
%include nom;
%nomesp7 (codfam,nomfam);
rdt=poids/sorties;
*SELECTION DE PORTS;
if port=41 then delete;
if port=42 then delete;
if port=43 then delete;
run.:
proc format;
value portf ll='Sain.t-Louis'
31='Kayar'
41='Yoff'
42='0uakam'
43='Soumbedioune'
44='Hann'
5l='Mbour'
52='Joal';
proc format;
value enginf l='PVL'
2='PML'
4='PGL'
5='FDG'
6='ST'
7='FME'
8='SF'
9='LR'
lO='LCS'
ll='LT'
12='PAL'
13='EP'
19='FDP'
20='FDS'
21='FDES'
22='FDL'
23='FDY'

200
24='PSM';
proc sort;
by an port;
*TABLEAUX AVEC NOMS;
proc tabulate noseps;
by an port;
title "tableau des rendements annuels par engin';
Format port portf.;
Format engin enginf.;
class nomsc engin;
keylabel ALL='TOTAL";
-Jar rdt:
table nomsc all,rdt*engin*sum*f=7.l/condense;
data d;
set c;
run;*TABLEAU AVEC ESPECES SELECTIONNEES ET NOMS;
proc tabulate noseps;
by port nomengin;
title 'liste des especes superieures a 5% du total';
class nomsc an nomfam;
keylabel ALL='TOTAL';
var poids codpa;
table nomfam*nomsc all,an*poids*sum*f=7.l/condense;
endsas;

201
1 cgzdefl.sas
libname pa ";
option pagesize=200;
option linesizez230;
,'* ANALYSE DES DONNEES PA DES FICHIERS CQZDEF
LECTURE + CREATIOM DE VARIABLES
COMPILATIONS /ESPECE/ENGIN/MOIS/REGION
*/
data lectout;
infile '/mtp/tmpjtotalcqz'
lrecl=2774;
input
port l-4 an 5-8 qz: 9-12 engin 13-16 sorties 17-20 enquetes 21-24
(espl-esp250) (11.1);
if an<81 then delete;
reg=int(port/lO);
if reg=6 then delete;
mois=int(qz/2+0.5);
array espece(250) espl-esp250;
totesp=sum(of espl-esp250);
* TRANSFORMATION DES POIDS EN TONNES;
totesp=totesp/lOOO;
do i=l to 250;
espece(i)=espece(i)/lOOO;
end; * REGROUPEMENT DES ENGINS EN 8 CATEGORIES;
if engin=1 then nomengin='PVL';
else if engin=2 or engin=9 or engin=10 or engin=11 then nomengin='PML';
else if engin=12 then nomengin='PML':
else if engin=4 then nomengin='PGL';
else if engin=6 then nomengin='ST';
else if engin=5 or engin=19 or engin=20 or engin=22 then nomengin:='FD';
else if engin=15 or engin=16 or engin=17 or engin=18 then nomengin='FD';
else if engin=21 or engin=23 then nomengin='FD';
else if engin=7
then nomengin='FME';
else nomengin='DIV';
* REGROUPEMENT D ESPECES;
cepha=esp182+esp183+esp184;
* REGROUPEMENT DES REGIONS EN DEUX SUD ET NORD (Almadies);
if reg=l or reg=3 then reg2=1;
if reg=4 or reg=5 then reg2=2;
if port=41 then reg2=1;
* CALCUL DES CAPTURES PAR ENGIN ET POUR UNE ESPECE SELECTIONNEE ;
array nbsort(8) nbsl-nbs8;
array total(8) totl-tot8;
do i=l to 8;
total(i)=O;
end;
if nomengin='PVL' then totl=espl25;
if nomengin='PML' then tot2=esp125;
if nomengin='FD'
then tot3=esp125;
if nomengin='ST'
then tot5=esp125;
if nomengin='DIV' then tot7=esp125;
if nomengin='PGL' then tot4=esp125;
if nomengin='FME' then tot6=esp125;
tot8=sum(of totl-tot7);
* SELECTION DES VARIABLES;
keep reg an esp86 espl01 espl02 totesp mois esp125 engin nomengin

202
esp2 esp3 esp131 cepha espl81 esp183
totl-tot8 qz reg2;
* NOMS AUX VARIABLES CONSERVEES;
label esp86='D. rhonchus'
esplOl='T. trecae'
espl02='T. trachurus'
esp2='S. aurita'
esp3='S. maderensis'
espl3l='Sc. japonicus'
espl81='seiche'
espl83='poulpe'
cepha='cephalopodes sauf seiche';
run;
* CAPTURES TOTALES ANNUELLES PAR ENGIN;
proc sort;
by an;
proc means noprint ;
by an ;
var
tot1-t.ota;
output outxapteng sum=
totl-tot8;
* CALCUL DU TOTAL DE CAPTURES D'UNE ESPECE/MOIS/REGION/ENGIN;
proc sort data=lectout;
W reg
an mois ;
proc means noprint;
by reg
an mois ;
var
totl-tot8;
output out=prisl sum= totl tot2 tot3 tot4 tot5 tot6 tot7 tot8;
* STOCKAGE DU RESULTAT DE SOMMATION DANS FICHIER ASCI;
data b;
set prisl;
file 'pageot.reg';
put (reg2 an mois) (3.) (
totl-tot8) (10.1);
run;
* TABLEAU DE CAPTURES TOTALES D'ESPECES DONNEES/AN/REGION;
proc tabulate noseps data=lectout;
title 'total des prises par an et region';
class reg an;
var esp86 espl01 esp102 esp2 esp3 espl31;
table reg,an,(esp86 espl01 espl02 esp2 esp3 espl31)*sum/condense
RTS=5;
table
an, (esp86 espl01 esp102 esp2 esp3 espl3l)*sum/condense
RTS=5;
proc tabulate noseps data=lectout;
title 'total des prises par an et Nord/Sud';
class reg2 an;
var
espl01 esp102 esp2 esp3 espl31;
tab.le an, (
espl01 esp102 esp2 esp3 espl31)*(reg2 all)*sum/condense
RTS=5;
proc: format;
value
reg2f
l='NORD'
2:z'SUD' -
proc: tabulate noseps data=lectout;
format reg2 reg2f.;
keylabel ALL='TOTAL';
title 'total des prises de cephalopodes par mois et region';
class reg2 an mois;

203
var
cepha esp181 esp183
table an*mois, (espl81 cepha esp183)*(reg2'
all)*sum*f=8.2 /
RTS=lO condense;
* CREATION D'UN FICHIER ASCI AVEC CAPTURES ESPECES/AN/REGION;
pro<: sort data=lectout;
by reg2 an mois;
proc means noprint;
by reg2 an mois;
var
espl01 esp102 esp2 esp3 esp131 esp181 cepha esp183;
output out=pris2 SU~= espl01 esp102 esp2 esp3 esp131 esp181 cepha
esp183;
* STOCKAGE DU RESULTAT DE SOMMATION DANS FICHIER ASCI;
data b2;
set pris2;
file 'cepha.asc';
put (reg2 an mois ) (5.) (esp181 cepha esp183) (10.2);
run;
*TABLEAU DE CAPTURES TOTALES PAR ENGIN/AN/REGION;
proc sort out=do;
by reg an nomengin;
proc tabulate noseps;
class an nomengin -
title 'total des captk-es par groupe d"engins
I ;
var totesp;
table
an,(nomengin all)*totesp*sum*f=lO.l /condense
rts=l5;
proc tabulate noseps;
ciass an nomengin reg;
title 'total des captures par groupe d"engins par region' ;
var totesp;
table reg*an,(nomengin all)*totesp*sum*f=lO.l /condense
rts=15;
* TABLEAU DES CAPTURES TOTALES/ANiMOIS,'REGION;
proc tabulate noseps;
class mois reg an;
title 'total des captures par mois, region et annee';
var totesp;
table reg*mois,an*totesp*sum*f=lO.l
/condense rts=15;

204
cqzdef2.sas
libname pa ";
option pagesize=20G;
option linesize=230;
* ANALYSE DES FICHIERS CQZDEF AVEC TABLEAUX CONTENANT LES
NOMS DES ESPECES OU GROUPES D'ESPECES
EN CONSERVANT TOUTES LES ESPECES;
data lectout;
infile '/mtp/tmp/totalcqz'
lrecl=2774;
input
port 1-4 an 5-8 qz 9-12 engin 13-16 sorties 17-20 enquetes 21-24
(espl-esp250) (11.1);
if an<81 then delete;
reg=int(port/lO);
if reg=6 then delete;
mois=int(qz/2+0.5);
array espece(250) espl-esp250;
totesp=sum(of espl-esp250);
* TRANSFORMATION DES POIDS EN TONNES;
totesp=totesp/lOOO;
do i=l to 250;
espece(i)=espece(i)/lOOO;
end: * REGROUPEMENT DES ENGINS EN 8 CATEGORIES;
if engin=1 then nomengin='PVL';
else if engin=2 or engin=9 or engin=10 or engin=11 then nomengin='PML';
else if engin=12 then nomengin='PML';
else if engin=4 then nomengin='PGL';
else if engin=6 then nomengin='ST';
else if engin=5 or engin=19 or engin=20 or engin=22 then nomengin='FD';
else if engin=15 or engin=16 or engin=17 or engin=18 then nomengin='FD';
else if engin=21 or engin=23 then nomengin='FD';
else if engin=7
then nomengin='FME';
else nomengin='DIV';
* REGROUPEMENT DES REGIONS EN DEUX SUD ET NORD (Almadies);
if reg=l or reg=3 then reg2=1;
if reg=4 or reg=5 then reg2=2;
if port=41 then reg2=1;
run;
*CAPTURES TOTALES ANNUELLES PAR REGION ET ENGIN;
proc sort data=lectout;
by reg an
nomengin;
proc means noprint;
W
reg an
nomengin;
var
espl-esp250 totesp;
output out=pris3 sum= espl-esp250 totesp ;
* RESTRUCTURATION DU FICHIER CUMUL;
data
regesp;
set pris?;
array espece(250) espl-esp250;
do i=l to 250;
if (espece(i)>O) then do;
poids=espece(i);
codpa=i;
keep an codpa poids totesp reg
nomengin ;
output;

205
end;
end;
run;
* ASSOCIATION ENTRE CODES ET NOMS;
*FICHIER nomesp.pal= CODE PA/NOMS SCIENTIFIQUES
nomesp.pa2= NOMS SCIENTIFIQUES/CODEPA
nomesp.pa3= CODE PA/CODE PI
nomesp.pa4= CODE PA/TYPE (PELAGIQUE, DEMERSAUX,AUTRES
nomesp.pa5= CODE PA/GROUPE (Tableaux stat. annuelles)
nomesp.pa6= CODE PI/CODE PA
nomesp.pa7= CODE FAMILLE /NOM FAMILLE
nomesp.pa8= CODE GROUPE / NOM FRANCAIS;
data regesp2;
set
regesp;
if codpa=25G then codpa=999;
filename cod '/home/mareme/crodt/ferraris/pa/nomesp.pa4';
%include cod;
rknomesp4 (codpa,type );
filename cod '/home/mareme/crodt/ferraris/pa/nomesp.paS';
'Iinclude cod;
%nomesp5 (codpa,group);
filename nom '/home/maren~e/crodt/ferraris,/pa/nomesp.pa8°;
%include nom;
%nomesp8 (group ,nomgroup);
filename cod 'lhome/mareme/crodt/ferraris/pa/nomesp.pa3';
%include cod;
%nomesp3 (codpa,codpi);
codfam=int(codpi/lGG);
if reg=l then nreg='FLEWE';
if reg=3 then nreg='THIES NORD';
if reg=4 then nreg='CAP VERT';
if reg=5 then nreg='THIES SUD';
run;
proc formât;
value $ftype
l='esp. pelagiques'
2='esp demersales'
9='autres';
* TABLEAU DES CAPTURES TOTALES PAR REGION, ENGIN, ANNEE;
proc tabulate noseps;
title 'totale des captures par region/annee et engin';
class an nreg nomengin;
keylabel ALL='TOTAL';
var poids;
table (nreg all)*an,nomengin*poids*sum*f=lG.2;
* TABLEAU DES CAPTURES PAR GROUPE ESPECES, ANNEES ET REGION;
proc tabulate noseps;
title 'EVOLUTION DES CAPTURES PAR GROUPE ET TYPE D"ESPECE';
format type Sftype.;
class an nomgroup group type;
keylabel ALL='TOTAL';
var poids;
table type, (nomgroup all),an*poids*sum*f=lG.l;
table type all,an*poids*sum*f=lG.l;
proc: sort;
b:y nreg;
proc tabulate noseps;
by nreg;

206
title 'EVOLUTION DES CAPTURES PAR GROUPE ET TYPE D"ESPECE';
format type Sftype.:
class an nomgroup group type:
keylabel ALL='TOTAL';
var poids;
table type, (nomgroup all),an*poids*sum*f=lO.l;
table type all,an*poids*sum*f=lO.l;
endsas;
proc tabulate noseps;
title 'total des ca.ptures par type et region';
class type reg an;
var poids:
table an,(type*reg)*poids*sum/ rts=lO;
proc tabulate noseps;
title 'total des especes par type et saison';
class nomgroup group saison reg type;
var poids;
table type,group*nomgroup all,( reg*saison)*poids*sum;
table
type,nomgroup, (reg*saison)*poids*pctsum<nomgroup>
endsas;

207
Annexe VIII
Comparaison des fichiers CQZEXT, CQZSUB et CQZDEF
_-_--- -.--- -- ------ ----- . . -_----__
(ZQZEXT
I
cçzsw
l
CQZDEF
i
tonnes
I
tonnes
I
tonnes
/
-..--_-___I- ..--- ----- . . .._ ---- _____
i
,_-..-_---.-------
____
L.
IAN
PORT
/
I
l
174
11
/
6915.311
7343.201
I
31
/
6628.271
6634.901
175
11
I
3948.981
3969.56!
I
31
/
9606.831
9621.391
l7U
11
l
2859.351
2888.85!
/
31
/
7894.?Ol
7965.?71
/
43
/
2128.021
2128.261
/
77

11
l
4978.381
4992.821
/
31
l
7765.991
8077.821
/
43
I
2097.521
2097.561
I
52
I
12901.621
12901.621
178
11
I
2714.241
2714.441
I
31
/
7719.901
8460.091
/
43
/
1947.861
1953.921
I
51
/
15579.631
15579.631
1
52
/
12672.271
12672.271
i79
11
I
3214.331
3331.511
/
/
31
I
7149.361
7300.441
,
41
I
16C3.771
2528.221
43
I
llFJ6.371
1191.111
51
I
15603.571
15603.571
52
I
17587.921
17587.921
8 0
11
I
4132.111
4199.751
31
/
L4094.161
14256.461
41
/
1528.711
1556.591
43
/
1426.091
1436.381
,
51
I
L4854.521
14854.521
/
52
I
15339.321
15339.321
181
11
/
7557.091
7557.201
8122.:'!, ,
/
31
,
l4230.121
14230.241
15967. hi /
41
I
2794.361
2795.471
7687.;~I
/
43
I
1977.331
1977.99i
39Y4. C'!l /
44
I
6092.421
6092.421
9035. -ii, /
I
51
I
3iO661.?5l
30992.111
35033.l;ti
l
52
/
20743.OFJl
20743.081
2 2 1 10 . ca 5 l
132
11
/
7537.901
7555.901
8256.,L!
I
31
l
13702.291
13704.311
15947.-i:'
I
41
l
2005.931
2068.831
4832.Ç,i!
/
42
/
397.031
414.721
893.h
I
43
/
2140.231
2142.681
3511.::
I
44
/
YL91.101
9198.411
14026.iP
I
5:
/
12888.491
22908.881
26923.-i
/
52
I
36665.96
36833.731
40774.1LI
I a3
11
/
7065.571
7065.571
?330.E%
I
31
/
13924.841
13924.841
i?572.kI!
I
33
l
977.291
572.661
627.4,:
/
41
/
2687.841
2687.891
5028.7&
I
42
l
485.491
485.821
989.?(,i
l
43
/
2986.371
4250.981
7653.961
l
44
I
8296.?21
8335.48
13657.321
I
51
l
40151.631
40328.011
42618.541
I
52
I
44176.391
44384.921
51534.Cli
184
11
!
8753.441
8779.321
8859.161
I
31
/
13137.201
13167.961
18955.C15
I
33
/
1109.031
474.891
4?4.8S'I
I
41
I
2932.881
3107.19i
5266.3C~l
I
42
/
521.471
522.971
lî17.liI
I
43
I
2831.281
4111.401
7625.121
I
44
l
9947.74 l
9974.401
15181.321
I
51
I
28930.461
28966.081
30886.731
I
52
48175.321
48205.171
537x5.071

208
/ 85
11
/
5837.3ij l
5837.3ül
5944.1':
/
31
/
YlO3.491
9147.93 1
12512.!f; i
!
33
/
1648.4C~l
621.481
67-J
&,. 'jj!
I
41
/
37;1.12 I
3804.53;
6646.:4 ii
I
42
/
440.711
445.26,
939. i2i
/
43
I
2187.231
4574.04&
8i'7..!+
44
/
?023?
I. 6.s
10234.00
1575'
i
)Gl
L.i.
/
51
l
33501.781
34661.79i
37064:7:4l
/
52
/
56727.121
57238.551
62814.33,
186
11
I
7308.061
7559.49 /
7667.8'i
/
31
I
101?8.211
10209.351
16421..3"!
I
33
/
1510.371
804.551
904.2 ' 1
1
41
/
3359.561
378?.41z
?904 .'? { /
l
42
/
345.171
431.571
933.l(l
/
43
l
2381.91 l
5077.05;
6365.3 Ii
I
44
I
18544.251
i8800.82i
293il.ii~ll
/
51
I
48952.971
49127.211
5 0 6 2 6 . ii ri i
/
52
/
63660.141
65116.12;
'7 187'7 . 4 '1 I
! HV7
11
I
6864.181
7182.77'
1 5 ü 8 . 7 5 i
/
31
l
15422.411
15427.61i
L9317.G \\
33
I
1440.131
532.991
693. 'j" 1
,
41
I
4200.441
4579.37 /
8438.'jk
/
42
,
403.011
529.661
?14r).[;-l
1
43
I
2267.251
4058.481
6 0 6 0 . 0 ', /
l
44
l
710:.5.891
2118O.321
29221.'i'ii
51
I
3 9 3 5 7 . 3 0 I
39569.01 I
41682..1%
52
l
81776.301
88289.38 1
98877.;)il!
188
11
l
6727.911
7070.221
7513.1).:1
/
31
/
14542.651
14562.121
18 7 3 4 . 4 ‘4 I
/
33
/
1368.871
976.73 i
!125.dA
,
41
/
3961.711
4034.201
7795.HL,
l
42
/
426.081
552.841
134.2.": /
/
43
I
~~î1.911
y LI .
3970.641
5424.4.: I
/
44
/
l(1317.321
18629.381
23853
I
. .!Y‘ 1
/
51
l
'51209.32 I
51438.381
5296c;.',: I
I
52
/
91289.311
91731.821
j6953 .'-':
/
53
l
520.11 I
536.561
7E4.:il~I
185
11
/
65'74.241
6904.971
72 04 1 4 :< !
/
31
l
181~7.501
16161.851
.: 2 .l 9 8 . r; !-. I
I
33
/
1846.361
1693.051
1902.::i: /
41
I
4907.371
5568.881
9604. II.1 i
I
42
I
297.311
374.271
838. . :
/
43
I
2000.871
4387.31!
6686.'+'fi
l
44
/
17540.'761
18057.581
.56!7.3P!
/
51
I
3845,9.741
36914.351
41318.[;“ 1
/
52
I
107@77.47l
107269.961
1?1911.b&
I
53
I
835.111
836.491
1169.<,I
i
9c

11
I
10275.261
10835.751
11355.:1;
31
I
?8256.811
?8288.931
36369.: "
33
/
1192.391
1915.681
2 2 3 5 . -3' i'
41
I
5248.451
5574.431
7933.Gii
42
I
303.'791
395.911
897.<,: 1
43
3329.49!
4675.651
6088. C+il
I
44
/
13308.301
20009.22 /
26613.i:~: I
/
51
/
42653.291
43135.481
‘I5177.i?I
/
52
/
107241.411
1077O5.17:
1:3759.i-,-
I
53
I
790.001
799.711
1209.-i
/ 31
11
/
14718.i321
15235.731
157îc>
il_ c-'
._,_
l
31
/
L7052.551
17180.641
20707.il
/
33
/
464.551
887.69 t
iO48.4L
I
41
/
3727.341
4295.211
6592.95
I
42
/
422.42
532.68!
982.4L
l
43
/
i945.851
2366.021
3467.LtT I
I
44
/
17181.461
18157.381
25910.4?Y
I
51
I
52554.651
52969.161
55652..fi!
I
52
/
11347O.OCil
I.14048.381
11(l87O.y4$
/
53
/
931.781
848.761
1294.411

ADDENDUM A LA DESCRIPTION DE LA CHAINE PA
Cette note constitue une mise à jour du document de la
description de la chaîne de traitements PA. Deux programmes ont
été
modifiés,
un programme nouveau a été
ajouté et
les
programmes de contrôle technique ont été adaptés sous UNIX
(installés sur mareme, utilisateur 'pechart').
1) Modification programme ppcstruct.f:
Dans
ce programme les facteurs d'extrapolation de la
quinzaine avaient toujours été appliqués dans
l'ordre des
engins, c'est à dire le facteur 1 correspondait à l'engin 80,
facteur 2 à l'engin 81 et facteur 3 à l'engin 90. Ceci a été
modifié afin de faire correspondre chaque facteur avec un engin
quelconque.
2) Modification programme pasubst. f:
Une erreur mineure a été détectée et corrigée dans un des
tests sur la substitution region/saison.
3) Création du programme facconv.f sur mareme, utilisateur
'pechart'. Ce programme a pour objectif de convertir le fichier
facaa.extra en un
fichier
facteur.temp
avec un
format
différent. Ce fichier est ensuite ajouté au fichier de facteurs
d'extrapolation de l'année précédente
(facteur.8laa-2) et le
fichier résultant est facteur.8laa,
qui sera ensuite utilisé
dans le programme padef.f. Ce programme est donc a exécuter une
fois par an,
quand le fichier facaa.extra de l'année sera
correct.
Pour lancer le programme, utiliser le shell fac, en tapant
fac aa, où aa est l'année à ajouter.
L'organigramme ci-joint doit être placé entre les figures 6
et 7 de la description générale de la chaîne de traitements PA,
et le nom du fichier des facteurs d'extrapolation dans la
figure 7 doit être facteur.8laa.
4) Le shell patdef a été modifié, voir listing ci-joint.
5) Les programmes de contrôle technique ont été adaptés
sous UNIX, et sont installés sur mareme, utilisateur 'pechart'.
Aucune
modification
n'a
été
effectuée.
Les
shells
correspondants sont:
contr2 pour le programme controll
contr2 pour le programme control2
contr3 pour le programme coalf

Des shells de "l'année" ont été préparés afin de faciliter
l'utilisation de ces trois programmes.
Ainsi
le programme
controll peut être lancé pour plusieurs fichiers port/année en
utilisant un shell type contrl.93, qui contient des lignes:
contrl ppp numppp aa moisinit
nbfich
nbesp
06 ppp est le port, aa est l'année
(le fichier doit donc
s"appeler pa.pppaa),
n ww le numéro du port, moisinit le
premier mois du fichier à traiter, nbfich toujours=1 et nbesp
maxespèces (201 ou plus...).
En sortie, listing contlppp.lisaa
Pour control2,
le shell
'année'
s'appelle
contr2.93 et
contient des lignes:
contr2 ppp
numppp aa
mois
En sortie, listing cont2pp.lisaamois
Pour Coalf,
le shell s'appelle contr3.93 et contient des
lignes:
contr3 ppp
numppp aa
En sortie, listing cont3pp.lisaa
Un nouveau répertoire de travail, pechart/pa/travail, a été
créé pour exécuter tous les programmes.
On y trouve les fichiers de base (pa.pppaa) de l'année 'en
cours' pendant le contrôle technique. Une fois corrigés, ces
fichiers doivent être placés
(par
l'utlisateur
root,
voir
Bureau Calcul) dans le répertoire pechart/pa/pafich.
On y trouve également
tous les shells nécessaires pour
l'utilisation de la chaîne de traitements. Des shells pour le
traitement des données 92 ont été crées
(pat.92,
patppc.92,
pareg.92,
pasub.92 et padef.92) et peuvent servir de modèle
pour d'autres années.

Programme facconv
facaa.extra
facc0nv.f
t
factkur.temp
facteur.8laa-1
factepr.8laa
/

C JOB FACconv REFORMATTAGE FACTEURS PA de fichier facxx.extra vers
c facteur.extraxx ce dernier doit ensuite etre appende au facteur.extra
c fichier d entree 12 - facxx.extra
c fichier de sortie 13- facteurxx.extra
real FAC(2,7,8)/112*0./
CHARACTER"84 FILEl,FILE2
OEbEN(5,FILE='facconv.par')
READ(5,96) FILEl,FILE2
READ(5,97) ian
96 FORMAT(A84)
97 FORMAT(i.5)
OPEN(12,FILE=FILEl)
OPEN(13,FILE=FILEX)
dc 333 i=1,5
333 read(12,94)
94 format
do 334 i=l ,6
334 read(12,90) is,ir,(fac(is,ir,k),k=1,8)
90 FORMAT(2il,f9.6,7f10.6)
do 343 i=1,2
343 read(12,94)
do 344 i=l ,6
344 read(12,90) is,ir,(fac(is,ir,k),k=l,8)
do 335 ir=1,6
do 335 is=1,2
do 335 igr=1,8
if(fac(is,ir,igr).@.O.)write(l3,91) ian,is,ir,igr,fac(is,ir,igr)
335 continue
91 format(415,f10.3)
CLOSE (12)
CLOSE (13)
STOP
END

#! /bin/csh
set NbParam = $#argv
if ( $NbParam != 1 ) then
echo '"usage : $0 An "
exit
endif
set An = $1
#set An1 = $An-l
@ Anl= $1 - 1
set pechart = '/home/mareme/crodt/pechart/pa'
echo $pechart/param/facteur.8l$An
echo $pechart/param/facteur.81SAnl
echo "Facconv pour les donnees annee :
$An"
#cho "ATTENTION : LES FICHIERS DU REPERTOIRES PARAM DOIVENT ETRE DECOMPRESSES w
# CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "$pechart/param/fac92.extra"
>! facconv.par
echo "$pechart/param/facteur.temp"
>> facconv.par
echo "
$An"
>> facconv.par
facconv
cat $pechart/param/facteur.Bl$Anl
>! $pechart/param/facteur.8l$An
cat Spechart/param/facteur.temp
>> $pechart/param/facteur.8l$An

Q! /bin/csh
jet NbParam = $#argv
if ( $NbParam != 2 ) then
echo "usage : 'basename SO‘b NomDePort Annee"
exit
tendif
set Port = $1
@ Annee = $2
set pechart = '/home/mareme/crodt/pechart/pa'
set pechartbase = '/homelmareme/crodt/pechart/pa/basepa'
echo " "
echo "Traitement extr pour les donnees du port : $Port Annee : SAnnee"
echo " "
echo " "
# CONSTRUCTION DES FICHIERS POUR EXECUTER LES COMMANDES
echo "$Port$Annee.cqzsub" >! padef.par
echo "$pechartbase/cqzdef/$Port$Annee.cqzdef"
>> padef.par
echo "$pechart/param/facteur.8l$Annee"
>> padef.par
echo "$pechart/param/engin.dat"
>> padef.par
decomp $pechartbase/cqzsub/$Port$Annee.cqzsub
if (Sstatus != 0) exit
# TRAITEMENT
echo 'Lancement de padef'
padef >>! sortie.def
if (Sstatus != 0 ) then
echo "erreur dans padef pour le port $Port annee $Annee"
exit
endïf
echo "Compression des donnees"
compress -f $pechartbase/cqzdef/$Port$Annee.cqzdef
alias rm rm
rm SPort$Annee.cqzsub
echo "That Al1 Folk's"

paaddendum
ISW=O
X*t*************************************************
NREG=O
*
1 continue
ppcrestr.t
*
READ(12,92,END=lO)
iengin,facin
92 FORMAT(/3i3,/
3F6.3)
do 111 i=1.3
Ill fac(ienginiil)=facin(ii
2 RRA~~~1~,9i,F~NI~=lO!lCOI~F:,IA,IM,i~l,lNH,IENG,M~~'I',ll~llH,l%,
PROG ppcrestt- CREATION FICHIERS PPC EFFORTS ET CAPTURES PAR PIROGUE
1 (IES(I),IPS(I),I=1,5),EXT
FORMAT PA
33 FORMAT~4I2,I3,12,1X,I1,4X,I4,1X,I3,15X,5(I2,1X,13~,F3.1)
EN ENTREE FICHIER 12 - PPC STATS JOAL ET MBOUR(EX PPC89 STATJOAI,
333 FORMAT~lX,4I2,I3,12,3X,I1,4X,I4,1X,I3,15X,5(12,1X,I3~,F3.1)
EN ENTREE FICHIER 13 - CODES ESP
liste.cod
c
IF(NREG.LT.301 PRINT 993,ICODE,IA,IM,IJ,INB,IENG,MET,IDUR,IZ,
EN SORTIE UNITE 14 - FICHTER EFFORTS FORMATTE (1 ENREG/JOUR)
c
1 <IES(I>,IPS(I,,I=1,5>,EXT
15 - FICHIER CAPTURES formatte/PIROGUE sans extrap
IF(ISW.EQ.l) GOTO 222
16 F.tmp capt form/pir
extrap
ISW=l
I.RS EFFORTS SERONT CUMUT,ES EN M4TRICE EFF(MOIS,JOUR,ENG)
INBl=O
EXTRAPOLES A EXT (DE LA JOURNEE) ET FAC (DU QÿINZ.1
iAN= IA
$T SORTIE A LA FIN DE LA LECTUKE FICHIER 12
222 CONTINUE
r, EXTRAPOT,ATTON EST FAITE SUR LES .JOURS AVEC ENQUETE
11
NREG=NREG+l
,ES JOURS SANS ENQUETE N'AYAN'T PAS D'ENREG.
IF(IA.EQ.O)GOTO 1
2ES CAPTURES SERONT CALC POUR CHAQUE ENREG D'ENTREE
C RECODE ENGIN
ET CALC FACTEUR D'EXTRAP.
>UI DONNERA 2 ENREG DE SORTIE UNFORMATTED
IN=6
PAS D'EXTRAP.
IF(IENG.EQ.8O.OR.IENG.EQ.81) IN=7
corrections janv 94:fac en fonction de l'engin de la carte entete
c
K=3
nt non pas par ordre predefini
c
IF(IENG.EQ.80) K=l
integer iengin(3)
c
IF(IENG.EQ.81) K=2
real facin(3),fac(100)/100*0./
c
F'P=EXT*FAC(KI
INTEGER 1ES(50),1PS(51,1C0RR(99)/99*0:,1EFF(24)
FP=EXT*FAC(ieng)
INTEGER*2 NCODE(50),IZ2/0/
C CUMUL MATRICE EFF SI INBl NE INB(DONC CHANG.PIR)
REAL POIDES(501
C LA METEO SERA CELLE DE LA DERNIERE CARTE DE LA JOURNEE . . .
INTEGER*Z L(14),IESP(250),ICES(250)
c
IF(INBl.EQ.INB)
PRINT *,NREG,ia,im,ij,inb
REAL
EFF(12,31,24)/8928*0./,RZ/O./
IF(INBl.EQ.INB)
GOTO 7
INTEGER TME(12,31)/372*0/,1ENQ(12,31)/372*0/
INBl=INB
character*80 filel.file2
EFF(IM,IJ,IN)=EFF(IM,IJ,IN)+FP
character*80 file3.file4,fileS
IENQ(IM,IJ)=IENQ(IM,IJ)+1
INTEGER*2 IP,IQZ,IA,IM,IJ,INB,IN,INBP,IHEUR,IDUR,IZ,IPROF,II
IME(IM,IJ)=MET
DATA IFER/O/,INBP/O/,IPROF/O/,IHEUR/O/
7 CONTINUE
NBRESP=250
C RECODE DUREE EN 30 MIN. LA DUREE PPC EST EN DIXIEME D HEURES
NBRENG=24
C PAR EX 52 VEUT DIRE 5HEURES ET 2 DIXIEMES(=12 MIN). SIMPLE!!!
open(5,file='ppcrestr.par')
IMINlO=(IDUR-IDUR/lO*lO~*6
read(5.96) filel,file2,file3,file4,fileS
IDUR=(TDUR/10*60+IMIN10~*1./30.+0.5
98 format(a80)
C QUINZ
print *, filel,file2,file3,file4,file5
IQZ=l
open(l2,file=filel,blank='zero')
IF(IJ.GT.15) IQZ=2
open(l3,file=file2)
iqz=(im-1)*2+iqz
open(l4,file=file3)
II=0
open(l5,file=file4)
do 3333 i=1,30
open(l6,file=fileS)
ncode(i)=O
,ECTURE FICHIER CODES
poides(i)=O.
DO 9933 I=l,2
3333 continue
'99 READ(l3,9998i
DO 3 I=l,5
'98 FORMAT
if(ies(i).gt.O.and.icorr(ies Ci )).eq.O) print *,im,ij,inb,ies(i)
DO 30 1=1,10000
IF(~ES(I).EQ.O.or.icorr(ies( 1) j.eq.0) GOTO 3
READ(13,96,END=31)
NOUCOD,IPPCOD
II=II+l
IF(IPPCOD.EQ.0)
GOTO 30
C RECODE ESP
36 FOl?MAT(62X,I4,12X,14)
NCODE(II~=ICORR~lES(r))
36 FORMAT(63X,I4,1lX,I4)
POIDES(I1)=IPS(I)*lOO.
ICORR(IPPCOD)=NOUCOD
c
IF(NREG.LT.30) PRINT *, IA,IM,IJ,II,NCODE(II),POIDES(II)
PRINT * ,I,NOUCOD,IPPCOD,ICORR(IPPCOD)
3 CONTINUE
30 CONTINUE
C SORTIE CAPTPIR en 15 ..***..~r~~r~..xr~..r*c*X1**~~...~
31 CONTINUE
WRITE(15,957) IP.IQZ,IA,IM,IJ,INB,IN,INBP,IHEUR,IDUR,IZ,IPROF,II
,ECTURE PORT
1
,(NCODE(J),POIDES(J),J=1,30)
READ(5.91) IP
c SORTIE CAPT EXTRTAP EN 1,j ***r...**....*****..****lr
91 FORMAT(I5)
Jl=II+I
,ECTURE FICHIEH U'E:NTREE.
WRITE(l6,958) IP.IQZ.IA.IM.IJ.INB.IN.INBP,IHEUR,IDUR,IZ,IPROF,II


~~~~~~~
~~~~~
paaddendum
..,....
::z::
.
7 continue
is=isub(ij,j)
close(l41
if(itab(l,i,is).eq.O.:
got" 34
r***-******* leîtrjre fichier capt strates cumt,llees *-**************
c "n n utilise pas la strate si e 2% echnnt (region Et tûta?:
cumui tabi.tab et ~tab.
reg~on e n 2H-42 e t t o t a l e n 4 3 - 5 7
c non!enleve...je laisse quand meme le
code
selon mois, saison et total annuel
c
if(is.gt.24.and.(itab~2,i.is~*l./itab~l.i.is~.lc.0.02~~ g"t" 34
region l-3 (et 4 pour total) en ireg.
c strate trouve
saison 1-2
(et 3 pour total) en isa
yuto 35
on cumul les strates de la reyion (PL le total) corresp au p"rt
34 continue
if(ip.lt.40) istr=l
c pas de subst poss.
it(ip.ge.40.and.ip.lt.50)
istr=2
print 902,ip,ia,j,i,itab(l,i,j~,i.j)
if(lp.ge.50) istr=?
902 format(lx,'pas de subst possible pour strate ', 6i6)
71 reùd(15,98,end=70)
ireg,ia,isa,ien,is"r,iech,capL
goto 31
98 format(6i7.250fil.l)
35 continue
if(ireg.ne.istr.and.ireg.ne.4) goto 71
isu=isub(ij,j)
itc=27+isù
c si c'esL une slrate voisine, prendre celle avec plus d echant
if(ireg.eq.41 ite=42+jso
if(ij.gt.1) got" 36
itab(2,ien,itc)=iLab:2,ifn.itf!+ifch
isul-isub(2,ji
itab(3,ien,ite)=itab(3,ien,ite)+isor
if(itab(Z,i,isu2).gt.itab(2,i,ij)) isu=isu2
do 72 i=1,250
36 continue
Lab(ien,ite,i)=tab(ien,ite,i)+captii)
c on doit avoir des sorties en fichier efforts spour la strate
'72 continue
if(itab(l,i,isu).eq.O) print *, 'ATTN:AVEZ VOUS PASSE CONTROL2??',
goto 71
lip,ia,j,i,isu,itab(l,i,j)
70 continue
if(itab(l,i,isu).eq.O)
goto 31
close(15)
if(itab(3,i,isu).eq.O) print *,i.j.ij,isu,itab(l.i.j)
************ lecture fichier sorties
cum"~~~s****xx*"*"*********
1 ,itab(l,i,isu),itab(2,i,isu)
106 read(16,99,end=107 1 ireg,ia,isa,ieng
fac=itab(l,i,j)*l./itab(3,i,isu)
99 format(3i5.24i7)
do 50 k=l,nbresp
if(ireg.ne.lstr.and.ireg.ne.4) goto 106
Lab(i,j,k)=tab(i,isu.k)rfac
ite=27+isa
50 continue
if(ireg.eq.4) ite=42 +isa
sum=O.
do 108 i=1.24
do 59 k=l,nbresp
itab(l,i,ite)=~tab(l,i,ite~+ieng(i)
sum=sum+tab(i,j,k)
108 contjnue
59 continue
goto 106
suml=O.
107 continue
do 58 k=l,nbresp
close(l6)
suml=suml+tab(i,isu,k)
do 4735 is=1,33
58 continue
735 print 955,is,((itab(i,j,is),i=1,3),j=l,l2)
print 90l,ip,ia,j,i,itab(l,i,j~,itab(2.i.j)
355 format(l.x,12 (3i6,lx))
1
isu,i,itab(3,i,isu),itab(2,i,isu),sum,suml
do 4736 is=1,33
901 format( 6i7,5x,4i7,2flO.l)
736 print 955,is,((itab(i,j,is),i=1,3).j=13,24)
31 continue
print 900
11 continue
300 format(20x.' strate mauvaise
strate utilisee',i
c sortie fichier
1
IX, '
p o r t annee qz
ew
sorties
ech
'*
do 60 j=1,24
2 IX,'
qz
‘=ng
sort.st.ut. ech
capt generee
capt str ut'
do 60 l=l,nbre"g
'*******"f* substilutions
r*r.*rxr*.**rX******I*r-***r
c pour fas on conserve uniquement engions 5 et 19-23
XI cree des enreg pour engin 5 a partir d engin 19
if(ip.ne.33) gota 66
3i on n a rien en 5
if(i.lt.5) goto 60
do 700 is=1,57
if(i.eq.24) goto 60
if~iLabj2,5,is).eq.O.and.~tab~L,19,is).gt.O) goto '101
if(i.gt.5.and.i.lt.19) got" 60
goto 700
66 continue
JO1 itab(2,5,is)=itab(2,19,isJ
if(itab(l,i,j).qt.O) write(l3,93)ip,ia,j,i,itab(l,i,j),itab(2,i,j~
itab(3,5,is)=itab(3,19,isI
l,(tab(i,j,k),k=1,250)
itab(l,5,is)=itab(l,l9,is)
C
if(tab(i,j.l78).gt.O> print *,ip.ia,j.i. tab(i,j,l78)
do 702 i=1,250
60 continue
)02 tùb(5,is,i)=tab(l9,is,i)
CLOSE (13)
700 c""tl""e
STOP
do 1: i=l,nbrenq
ENV
do 31 j=1,24
if(itab(l,i,j) .eq.O) goto 31
***X******X***X***.***********************************
if(itab(2,i,j).gt.O)
goto 31
*
x
sorties sans echant chercher subst
dans les 9 strates
1
c"ntrol1.f
*
do 34 ij=l,lO
*
*
)"UT port joal et engin FDES(Z1) "n n'utilise pas la region ni tot
.T******'*f*r,***rrl-*tlr**lt-*r*.l*rcfr~*~***********
if(ip.eq.SZ.and.i.eq.2l.and.ij.gt.4) qoto 34

paaddendum
933 CONTINUE
********r*******%f%r*****r*****l*f-*l*%***%%.*%**%*“%%%*%%%%%**%%.*
934 CONTINUE
*
2?3
FORMAT (5X,?.T5t
PROGRAMME DE CONTROL,E TRCHNIQUE DRS DONNEES DE 1.A PRCHE ARTISANALE *
C
x
500 FORMAT(5151
CE PROGRAMMR FAIT APPEI. AUX SOUS-PROGRAMMES
*
JB = 3
*
TF(NAO.GE.74.AND.NAO.LR.R2)3U = 1
- CARTE0
x
IF(MOIST.EQ.OlMOTSO = 1
- CARTE1
1
IF(MOIST.NE.O)MOISO = MOIST
- CARTE2
*
IF(NAO.GT.62.AND.NAO.LE.64lJB = 2
- CARTIL
%
ASSIGN 100 TO IFORM
C A R T 2 2
*
IF(NAO.LE.84)ASSIGN 110 'TO IFORN
- CART20
*
C
MODIFIE LE 18/03/92 PAR J. FERRARIS
*
C
LECTURE CARTE 0 ( 1RE CARTE )
***rr*~tt."*******.*..**%%.%%~%%%%%%%%%%%%%%%%%%%%%%"%%%%"%%%%%%%%%%%"
C
READ(I,FMT=IFORM,END=99999~ (CD(Tt.T=1,5)
100 FORMAT(I1.412)
DATE: DATE DE LA CAHTE 0 , NBKE DE JOURS ENQUETES , NUM.PORT
110 FORMAT(I2,t1,312)
TABESP: TABLEAU CONTENANT POUR CHAQUE ESPECE LONG.MIN , LONG.MAX
WRITE(40,*) (CO(I),I=1,51
INFO: NBRE DE CARTE 1 ( TROUVER , DEJA TKOUVER)... IDEM CARTE 2 C
NC0 = 0
,NUMERO-CARTE ,DERN.ESP.TR'+ITE, CONTENU DE LA CARTE
IF(C0(2).NE.NPORO.OR.C0(4~.NE.MOISO.OR.C0(5~.NE.1~THEN
UNITE 1 : FICHIER PA XXXNN
WRITE(40,*)
UNITE 4 : FICHIER MENSUt DATA
1'LE FICHIER DOIT COMMENCER PAR UNE CARTE 0 DU 1/',MOISO,'/',NAO
UNITE 6 : FICHIER SORTIE
WRITE(40,*)'REVOIR LE FICHIER'
UNITE 40: TERMINAL
99 continue
STOP
DEBUG StJBCHK.UNIT(61
ENDIF
END DEBUG
BACKSPACE 1
C O M M O N /DATE/NA~,MOIS~,J~UR~,NC~,NP~R~,NESP~
NBCAR = 0
COMMON /TABESP/INCOD(99,3),LLESP(220,3),JB
ASSIGN 105 TO IFORM
COMMON /INFO/NC1,NC1T,NC2.NC2T.NBCAR.IESP,CARTE
IF(NA~.LE.~~)ASSIGN 106 TO IFORM
INTEGER CO(31)
1 READ(1,FMT=IFORM,END=999)ID,CARTE
CHARACTER-79 CARI$
2000 NBCAR = NBCAR + 1
iores=ioinit(.FALSE., .FALSE., .FALSE., 'FI', .FALSE.)
105 FORMAT(Il,A79)
NFICH = 1
106 FORMAT(I2,A781
MOIS0 = 1
IF(ID.EQ.01 THEN
JOUR0 = 0
CALL CARTE0
NC1 = 0
ELSE
NClT= 0
IF(ID.EQ.l.OR.ID.EQ.21) THEN
NC2 = 0
IF(NAO.GE.aY)THEN
NCZT= 0
CALL CARTll
LECTURE CARTE PARAMETRE ( ANNEE , MOIS , PORT ,NB.FICH,NB.ESP)
ELSE
CALL CARTE1
1111 READ(5,500)NAO,MOIST,NPORO,NFIC,NESPO
ENDIF
il1 READ(5,*)NAO,MOIST,NPORO,NFIC,NESPO
ELSE
IF(NESPO.GT.22O)THEN
IF(ID.EQ.2.OR.ID.EQ.22) THEN
miITE(40,*)
IF(NAO.GE.89)THEN
1' REVOIR LE PROGRAMME AVEC L INFORMATICIEN DU CRODT'
CALL CART22
WRITE(40,*)' NE PEUT PAS DEPASSER 220 ESPECES '
ELSE
STOP
CALL, CARTE2
ENDIF
ENDIF
ELSE
LECTURE DU FICHIER MENSUP
IF(ID.EQ.20) THEN
CALL CARTâO
DO 20 1 = 1 , NESPO
ELSE
READ(4,lSi (LLESP(I,J),J=1,3)
WRITE(6,120)NBCAR.ID,CARTE
PRINT *,
(LLESP(I,J),J=1,3)
120
FORMAT(' CARTE N : ',15,5X,'CODE INVALIDE...',14X,I1,A7Y~
L5 FORMAT(12X.13.15)
ENDIF
L5 FORMAT(8X,I3,14,5X,IS)
ENDIF
20 CONTINUE
ENDIF
'** VOIR LE CODE ACTUEL SUIVANT ANNEE DE CODAGE
ENDIF
w 934
Kl = 1, 3
GOTO 1
nbb=50+kl
*
Do 933
K2 = 1, 100
1
DERNIERES
VERIFICATIONS
READ(nbb,233,END=934)Z,INCOD(I,Klt
%

ndum
999 CONTINUE
1
VERICATION DES CARTES 2 . ..DE LA CARTE 1 PRECEDENTE.
1
TF(NAO.GR.R9.AND.NFISH.LT.NFIC)THEN
I
VERICATION DES CARTES 1 . ..DE LA CARTE 0 PRECEDENTE.
*
NFTCH=NFTCH+l
*
VERIFICATION DE LA COHERENCE AVEC I+A CARTE ZERO PRRCRDRNTC.
-
REAIJ[I,FMT=IFu~,~;N~~=~Y~S~~,",CAK'~E:
x
VERIFICATION DE LA CARTE 0 .
*
WRITE(S,IFORM)IIJ,CARTE
*
MODIFIE PAR J FERRARIS LE 17/03/92 *
NBCRR = 0
*************r******************************************************“*
GOTC 2000
r
ENDIF
cOw4ON /DATE~NA~,MOIS~,JO~~R~,NC~I,NPOKO,NESP~
COMMON /TABESP/INCOD(99,3),LLESP(220,3),JB
Vh'RLFICA'rION DES CAF'rES 2
COMMON /INFO/NCl.NClT,NC2.NC2T.NBCAR.IESP.CARTE
INTEGER IER(30),MIN(30).MAX(30),TD(30)
999 IF(NCZT.LT.NC2) THEN
CHARACTER-79 CARTE
NM0 = NC2-NC2T
CHARACTER*3 ERR(30)
WRITE(6,101)NBCAR,NMO
D A T A ERR/30*' '/
101 FORMAT(' CARTE N
: ',215,' CARTE 2 MQTES OU NB.STE FAUX'1
U.w.4 lEK/3O"Ui
NC2 = 0
DATA MIN/1,74,1,1,,"6-0,'
NCâT= û
DATA MAXi75,93,12,31,1,1,~0û,99.33,5ü,2-99,20û
ENDCF
1,2*100,5*0,5*99,50,99/
ASSIGN
100 TO IFORM
VERIFICATION DES CARTES 1
IF(NAO.GT.B5)ASSIGN 130 TO IFORM
IF(NPORO.LT.40)MAX(12)=0
IF(Nc~T.LT.NC~)
THEN
IF(NPORO.GT.5O)MAX(15)=500
NM0 = NCl-NClT
IF(NPORO.GT.SO)THEN
WRITE(6.102)NBCAR.NMO
MAX(22)=93
102 FORMhT(' CARTE N
: ',215,'
CARTE 1 MQTES OU NB.ENQ FAUX')
ENDIF
NC1 = 0
IF(NPORO.GT.6O)THEN
NClT= 0
MAX(20)=99
ENDIP
MAX(21)=33
MAX(22)=99
CONTROLE DU NOMBRE TOTAL DE CARTES 0
MAX(23)=33
ENDIF
IF(MüIST.EQ.O)THEN
READ(CARTE,FMT=IFORM)ID
IF(NCO.LT.365.OR.NCO.GT.366) THEN
100 F0RMAT(412,211,13,12,213,2012,18X)
WRITE(6.122)NCO
190 FORMAT(4I2,2I1.I3,I2,2I3,4I2.2I3.1412,16X)
WRITE(6,123)
C
ENDIF
C
VERIFICATION DES CARTES 2
ENDIF
C
IF(MOIST.NE.O)THEN
NUCAR = NBCAR 1
IF (MOIST.EQ.~) INJO=~~
IF(NC2T.LT.NC2)
THEN
IF (MOIST.EQ.3) INJO=
NM0 = NC2-NC2T
IP (MOIST.EQ.4) IN.J0=30
WRITE(6,lOl)NUCAR.NMO
IF (MOIST.EQ.5) INJO=
101 FORMAT(' CARTE Na : ',215,'
CARTES 2 MQTES OU NB.STE FAUX')
IF (MOIST.EQ.6) INJO=
NC2 = 0
IF (MOIST.EQ.71 INJO=
NCZT= 0
IF (MOIST.EQ.~) INJo=
ENDIF
IP (MOIST.EQ.9) INdO=
C
IF (M~IsT.EQ.~O)
1~Jo=31
C
VERIFICATION DES CARTES 1
IF (MOIST.EQ.~~)
INJO=~O
C
IF (MOIST.EQ.12) INJO=
IF(Nc~T.LT.NC~)
THEN
INJOM=INJO
NM0 = NCl-NClT
IF (MOIST.EQ.2) INJO=
WRlPE(6,102JNUCAR,NMO
IF (MOIST.EQ.2) INJOM=29
102 FORMAT(' CARTE N' : ',215,'
CAPTE 1 MQTES OU NB ENQ FAUX')
IF(NCo.LT.INJO.OR.NCO.GT.INJOM) THEN
NC1 = 0
WRITE(6.122)NCO
NClT= 0
WRITE(6.123)
ENDIF
ENDIF
c
ENDIF
C
VERIFICATION DE LA COHERENCE AVEC LA CARTE ZERO PRECEDENTE
122 FORMAT(SX,I7,'
CARTES 0 POUR TOUT LE FICHIER...')
C
123 FORMAT(lX,'
***** EXCES OU MANQUE DE CARTE 0 *****')
199 continue
WRITE(6,103)NBCAR,CARTE
STOP
103 FORMAT(' CARTE N' : ',15,'
ERREUR DATE CARTE 0 ',llX,'O',A79)
END
ENDIF
SUBROUTINE CARTE0
C
IF(ID(3).BQ.MOISO.AND.ID(4).GT.~JOUHO+l))THEN
'*******.*****L***************.*****~~*.***~**************+******."*
WRITE(6.104)NBCAR.CARTE
SUBHOUTINE DE VERIFICATION DE LA CARTE ZERO.
1
104 FORMAT(' CARTE Na : ',IS,'
SAUT DE JRS ENTRE DATE CARTE 0'.

paaddendum
14X,'3',A79)
CHARACTERx3 ERR(3éj
ENDPF
DATA ERR:361'
' :
TF(ID(3) ,GT.M@ISO.AND. (10!4! .NF:.!.^R.;'^IIRO.!,T.2R)!THEn!
DATA IER,'36*0/
WRTTE(6,104lNBCAR,CARTE
DATA M1N/1,74,4"1,0,1,28'0,'
ENDIF
DATA MAX/75,88,12,31,99,24,8,3--99,9,2*99.3.99Y.6-99,
1 3,999,6-99,3,6-999/
VERIFICATTDN DE I,A CARTE 0
C CijNTROLE DU I.IEU DE PECHE
IF' (NPORO.EQ.~~.~F..NPOR~.EQ.I)
M.4~(10)=55
DO 10 1 = 1 , 30
IF (NPORO.EQ.31.0R.NPORO.EQ.2) MAX(10)=40
IF(ID(I).LT.MIN(I).oR.I~(L).~T.MAx(I))THEN
IF (NPORO.EQ.33.0R.NPORO.EQ.9) MAX(10)=14
ICI?(l) = 1
IF (NPORO.EQ.41.OR.NPORO.EQ.4) MAX(10)=46
ERR(I) = '***'
IF (NPORO.EQ.42.OR.NPORO.EQ.7) MAX(10)=36
ENDIF
IF (NPORO.EQ.43.OR.NPORO.EQ.3) MAX(10)=45
10 CONTINUE
IF (NPORO.EQ.44.OR.NPORO.EQ.5) MAX(10)=41
IF(ID(ïi.NE.NPOKû)
THEN
IF (NPOR0.EQ.45) MAX(lO)=PO
TER(l) = 1
IF (NPORO.EQ.Sl.OR.NPORO.EQ.6) MAX(10)=39
ERR(1) = c-f*,
1F iNPûRO.EQ.52.ûR.NPORO.EQ.s) MRX(iO)=22
ENDIF
ASSIGN 100 TO TFORM
TF(TD(Z).NE.NAO)
THEN
IF(NAO.LE.BQ)ASSIGN 190 TO IFORM
IER(Z) = 1
READ(CARTE,FMT=IFORM)ID
ERR(2) = '***'
100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ENDIF
190 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IERT = 0
C
DO 20 1 = 1,30
C
VERIFICATION DES CARTES 2 DE LA CARTE 1 PRECEDENTE
IF(IER(I).EQ.I)IERT = 1
C
20 CONTINUE
lF(NCLT.LT.NCL)
THEN
IF(IERT.EQ.l)THEN
NMO = NC2-NC2T
NRIT~(6.120)NBCAR.CARTE
NUCAR = NBCAR . 1
ASSIGN 121 TO IFORM
WRITE(6,101)NUCAR,NMO
IF(NAO.GT.85)ASSIGN 191 TO IFORM
101 FORMAT(' CARTE No : ',215,'
CARTE 2 MQTES OU NB.STE FAUX')
NRITE(~,FMT=IFORM)
(ERR(I),I=~,~o)
ENDIF
121 FORMAT(53X,4A2,2A1,A3,A2,2A3,4A2,2A3,14A2)
NCZT= 0
191 FORMAT(53X,4A2,2Al,A3,A2,2A3,20A2)
C
120 FORMAT(' CARTE N" : ',15,35X,'O',A79!
C
VERIFICATION DE LA COHERENCE AVEC CARTE 1 ET 0.
ENDIF
C
IF(IER(3).EQ.O)MOISO = ID(3)
IF((NClT+l).GT.NCl)
THEN
IF(IER(I).EQ.O)JOURO = ID(4)
NMO = NClT-NCl + 1
NBRE DE CARTES 0 TRAITEES
WRITE(6.102)NBCAR.NMO
NCO = NCO + 1
102 FORMAT(' CARTE N“ : '.215.'
CARTE 1 EN TROP OU NB.ENQ FAUX')
IF(IER(30).EQ.O)
THEN
ENDIF
NCl = ID(30)
NClT = NClT + 1
NClT= 0
C
NC2 = 0
C
VERIFICATION DE LA CARPE 1
NCZT= 0
C
ENDIF
DO 10 1 = 1 , 36
DO 555 1=1,30
IF(lD(I).LT.MIN(I).OR.ID(I).GT.MAX(I))THEN
IER(I) = 0
IER(I) = 1
ERR(1) = ' '
ERR(1) = '***'
i55 CONTINUE
ENDIF
RETURN
10
CONTINUE
END
IF(ID(l).NE.NPORO)
THEN
IER(l) = 1
SUBROUTINE CARTE1
ERR(1) = '**w'
-**************t***************C*ri*~**********~***********~****
ENDIF
SUBROUTINE DE VERIFICATION DE LA CARTE UN _
*
IF(LD(Z).NE.NAO)
THEN
VERICATION DES CARTES 2 . ..DE LA CARTE 1 PRECEDENTE.
r
IER(2) = 1
VERIFICATION DE LA COHERENCE AVEC LES CARTES UN ET ZERO .
*
ERR(2) = '-**'
VERIFICATION DE LA CARTE 1 _
1
ENDIF
'***************X********************************-*****~*************
IF(IDO).NE.MOISO) THEN
IER(31 = 1
cot4Mo~ /DATE/NAO,M~IS~,JOIJRO,NC~,NPOR~,NESP~
ERR(3) = '***'
COMMON /TABESP/TNCOD(99,3),LLESP(220,3),JB
cc
COMMON ,'INFO/NCl,NC1T,NC2,NC2T,NBCAR,IESP,CARTE
MOISO=ID(3)
INTECER IER(36),MIN(36),MAX(36),ID(36)
cc
CHARACTER'79 CARTE
ENDTF

paaddendum
IF(ID(4).NE.JOURO)
TIIEN
IF(IUiKK~.GT.LLESF(ISF,1~.OR.I~!KK!.LT.LLESP(iSP,2)i~I'HEN
IER(I! = 1
IER(KK) = 1
RRR(4) = '***'
ERR(KK) = '***'
ENDIF
JOURO=IU(41
40
CONTINUE
IF(ID(K).EQ.l.AND.INBR.GT.ID(K+2))THEN
ENDIF
IER(K+2) = 1
IF(ID(5).NE.NClT)
THEN
ERR(K+2) = '---'
IER(S) = 1
ENDIF
ERR(5) = '***'
ENDIF
NClT = m(5)
1000 CONTINUE
ENDIF
C
IF(IER(l2).EQ.O)NC2 = IO(12)
C
KECAPITULATIONS
C
VERIFICATIONS DES LONGUEUR , TYPE ET QUANTITE
IERT = 0
DG SO 1 = 1,36
DG 1000 ? = 1, 3
IF(iER(I).EQ.i)iERT = i
IN = 1
50 CONTINUE
K=(I-1)*8+13
IF(IERT.EQ.l)THEN
IF(ID(K).EQ.O.AND.T.GT.l)IESP = ID(K-8)
ASSIGN 121 'TO IFORM
IF(ID(K).EQ.O.AND.I.GT.l)IN=3
ASSIGN 120 TO IFORl
IF(ID(K~.NE.O.AND.ID(K+1).EQ.O.AND.ID(K).NE.IESP) THEN
IF(NAO.LE.84)ASSIGN 122 TO IFORM
IER(K+l) = 1
IF(NAO.LE.84)ASSIGN 123 TO IFORl
ERR(K+l) = '=**'
WRITE(6,FMT=IFORl)NBCAR,CARTE
ENDIF
WRITE(tS,FMT=IFORM)
(ERR(I),I=1,36)
IF(ID(K).NE.O.AND.ID(K+2).EQ.O.AND.In(K).NE.IESP) THEN
125 FORMAT(815)
IER(K+Zl = 1
120 FORMA'I'(' CARTE No : ',15,35X,'l',A79)
ERR(K+Z) = '--1'
123 FORMAT(' CARTE No : ',15,35X,'21',A79)
ENDIF
121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF(lD(K).EQ.O.AND.I.GT.l)ID(K) = ID(K-8)
C 122 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF(ID(K).GT.O) IESP=ID(K)
122 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ïFiïD(K).EQ.22)WRlTE('7,FMT=125)
(ID(JTJ),JIJ=K,K+7)
ENDIF
IF(IER(K).EQ.l)GOTO 1000
DO 555 1 = 1 ,36
IF(ID(K).EQ.O) THEN
IER(I) = 0
Do 20 J = IN,7
ERR(1) = ' '
IF(ID(K+J).NE.O) THEN
555 CONTINUE
IER(K+J) = 1
RETURN
ERR(K+J) = '***'
END
ENDIF
20
CONTINUE
ELSE
SUBROUTINE CARTE2
IF(I.GT.~)Go TO 33
**r*r**-*****l**************rl*-*rlrr.l****-*******~*-**~******~*****
DO 30 J = 1,2
*
SUBROUTINE DE VERIFICATION DE LA CARTE 2 _
*
IF(ID(K+J).EQ.O)
THEN
x
VERIFICATION DE LA COHERENCE AVEC LES CARTES UN ET ZERO .
*
IER(K+J) = 1
*
VERIFICATION DE LA CARTE 2 .
*
ERR(K+J) = '*es'
**xxXIX1*xt*X*X*X*************~~*~~~~~~*~~~~**~**~~~*~~~"**~~*****~~**
ENDIF
*
30
CONTINUE
cornoN /DATE/NAO,M~IS~.J~URO,NCO,NP~RO,NESP~
33
CONTINUE
COMMON /TABESP/INCOD(99,3),LLESP(220,3),JB
LI=K+2
COMMON /INFO/NC1,NC1T,NC2,NC2T,NBCAR,IESP,CARTE
ISP = INCOD(ID(K),JB)
INTEGER IER(37),MIN(3'7),M.AX(37),1D(37)
IF(ISP.EQ.999)ISP = NESPO
CHARACTER*79 CARTE
IF~ID(K+l~.EQ.l.AND.ID(K+2).GT.LLESP(ISP,3))THEN
CHARACTER=3 ERR(37)
IER(K+â) = 1
D A T A ERR/37*' '/
ERR(K+Z) = '***'
DATA IER/37*0/
ENDIF
DATA MIN/1,74,3*1.32*0/
IF(ID(K+l).EQ.3.AND.ID(K+2).GT.g9)THEN
DATA MAx/75,88,12,31.2-99,3,999,6"99,3,399.6*99,3,999,6*99,
IER(K+Z) = 1
1 3,6*999/
ERR(K+Z) = '***'
ASSIGN
100 TO IFORM
ENDIF
IF(NAO.LE.ElQ)ASSIGN
190 TO IFORM
INBR = 0
READ(CARTE,FMT=IFORM)ID
DO 40 J = 1.5
100 F0RMAT(512,3(12,11.13,5I2),12,11.613)
KK = LI + J
190 F0RMAT(11,412,3(12,11,13,512:.12,11,613,1X)
IF(lD(KK).EQ.O)GOTO 40
C
1NBH = INBR + 1
C
VERIFICATION DE LA COHERENCE AVEC CARTE 1 .