Traitement informatique des données limnimétriques et
67
INSTITUT FRANCAIS DE RECHERCHE SCIENTIFIQUE POUR LE DEVELOPPEMENT EN COOPERATION TRAITEMENT INFORMATIQUE DES OONNEES LIMNDlETRIQUBS ET COHDUCTIVIHETRIQUES D'UNE CENTRALE «CHLOE» (ORSTOM-ELSYDB) A 2 SONDES SPI PROGRAHMB CHLODAK POUR MICRO-ORDIIfATEUR *** Notice d'utilisation *** J.P. LAMAGAT, J.P. MONTOROI, M. PERAUDEAU DAKAR, Octobre 1989
Traitement informatique des données limnimétriques et
Traitement informatique des données limnimétriques et
conductivimétriques d'une centrale "Chloé" (ORSTOM-ELSYDE) à 2
sondes SPI : programme Chlodak pour micro-ordinateur : notice
d'utilisationINSTITUT FRANCAIS DE RECHERCHE SCIENTIFIQUE POUR LE
DEVELOPPEMENT EN COOPERATION
TRAITEMENT INFORMATIQUE DES OONNEES LIMNDlETRIQUBS ET
COHDUCTIVIHETRIQUES D'UNE CENTRALE «CHLOE» (ORSTOM-ELSYDB)
A 2 SONDES SPI
PROGRAHMB CHLODAK POUR MICRO-ORDIIfATEUR
DAKAR, Octobre 1989
2 - EXPLOITATION D'UNE CARTOUCHE MEMOIRE CHLOE A 2 SONDES SPI
3 - UTILISATION PRATIQUE DES LOGICIELS «CHLOE» ET «CHLODAK»
3.1. Matériel requis
ANNEXES
2
RESUME:
Dans le cadre des travaux hydrologiques menés en basse Casamance au
cours des années 1985-1987, un traitement rapide des données d'une
centrale CHLOE (ORSTOM/ELSYDE), reliée à deux sondes SPI, a été mis
au point. Les différentes étapes de ce traitement, la mise en
oeuvre pratique des programmes informatiques et quelques exemples
d' appli cation sont présentés dans cette note, destinée aux
futurs utili sateurs de ce type de centrale d'acquisition de
données.
MOTS-CLES: Centrale d'acquisition de données, logiciel, informa
tique, hydrologie.
3
1.. IHTRODUcrION
La centrale de mesures CHLOE (*) permet l'acquisition automatique
sur le terrain de plusieurs paramètres hydrologiques: hauteur,
masse volumique, conductivité électrique et température .. Elle
peut être dotée d'une ou de deux sondes limnimétriques (appelée(s)
sondees) SPI) permettant ainsi l'enregistrement d'une ou de deux
hauteurs d'eau. Le paramétrage de la centrale s'effectue selon les
capteurs mis en place, toutes les combinaisons d'enregistrement
étant possibles ..
Un logiciel de dépouillement «CHLOE» a été développé au laboratoire
d'hydrologie de Montpellier (ORSTOM) pour des appareils de type
CHLOE A classique disposant d'une seule sonde SPI. Ses principales
fonctions concernent le transfert des données de la cartouche
d'enregistrement sur micro-ordinateur: le formatage adéquat des
fichiers et l'impression par paramètre des mesures enregistrées.
Actuellement, ce type de traitement s'effectue à l'aide du logiciel
de banque de données hydrométriques «HYDROM» (COCHONEAU, 1987)
..
Hormis l'option de transfert des données, le logiciel «CHLOE» est
inadapté aux informations provenant d'une centrale à deux sondes
SPI, le format du fichier séquentiel, créé à l'issue du transfert,
étant différent.
Par conséquent, il a été nécessaire de transformer ce fichier brut
d'acquisition en deux fichiers, relatifs à chacune des sondes, et
conformes au logiciel «CHLOE». Les possibilités de celui-ci sont
ainsi conservées. De plus, un module graphique de visualisation des
paramètres mesurés a été mis au point. L'ensemble de ces nouvelles
options sont regroupées dans un logiciel complémentaire dénommé
«CHLODAK» •
2.. PRINCIPE DU DEPOUILLEMENT D'UNE CARTOUCHE MEMOIRE CHLOE
Les opérations de traitement comprennent quatre étapes principales,
dans le cas d'une centrale à 2 sondes SPI :
- transfert des informations sur micro-ordinateur, - transformation
du fichier brut en deux fichiers, - partition de ces deux fichiers,
- visualisation graphique des données ..
* CHLOE: Centrale Hydrologique Limnimétrique ORSTOM-ELSYDE.
4
La première étape est effectuée par le logiciel ccCHLOE», dont on a
présenté précédemment les autres possibilités et qui est conçu pour
tenir compte de toutes les configurations paramétriques de la
centrale CHLOE.
Les deuxième et troisième étapes sont régies par le logiciel
<cCHLODAK», développé à l 'ORSTOM-DAKAR dans le cadre d'une
étude hydrologique en basse-Casamance (PERAUDEAU, 1986). La
centrale CHLOE utilisée est équipée de deux sondes SPI, d'une sonde
conductivimétrique et d'un capteur thermique. Le logiciel est
opérationnel uniquement dans ce type de configuration, à savoir
deux mesures de hauteur d'eau, une mesure de conductivité
électrique et de température de l'eau. Les autres conf igurations
possibles restant nombreuses (12 permises par le fabricant), il ne
serait pas raisonnable de prendre en compte tous les cas de figure
sans rendre le logiciel trop imposant à l'usage. Le principe de
programmation demeurant le même, il est cependant aisé d'adapter le
logiciel CHLODAK à la configuration requise.
Une cartouche mémoire provenant d'une centrale dotée d'une seule
sonde SPI, peut également être traitée selon ce schéma, la seconde
étape devenant superflue.
ETAPE 1 - Transfert des données brute§ sur fichier micro-infQrma
tigye.
Cette opération nécessite la connexion d'un lecteur de cartouche
mémoire (LCM, ORSTOM/ELSYDE) au micro-ordinateur. Cette liaison se
fait par l'intermédiaire du port série (RS232C). Le programme
«CHLOE» effectue la lecture de la cartouche et le transfert vers
une mémoire de stockage (disque dur ou disquette) des données
brutes avec élimination des octets défectueux.
Une option de contrôle et de mise en forme des données génère
quatre fichiers contenant, pour chacun des paramètres hydrologiques
(hauteur, masse volumique, conductivité électrique et température),
tous les couples (temps, mesure enregistrée). Un module supplémen
taire permet l'impression sous forme de tableaux de chaque fichier
ainsi créé.
La création et l'impression de ces fichiers n'est possible que
lorsque les enregistrements limnimétriques se font à partir d'une
seule sonde. Dans le cas de deux sondes, on doit impérativement
passer par une étape intermédiaire. Celle-ci accomplie, on pourra
imprimer les données des fichiers, ainsi créés, en sollicitant à
nouveau le programme ccCHLOE».
5
ETAPE 2 - Transformation d'un fichier CHLOE à deux songes SPl en
deux fichiers CHLQE a une sonde SPI.
Le fichier brut CHLOE 2 SPI, résultant du transfert précédent, est
un fichier séquentiel qui se décompose de la manière suivante
:
* un code d/identification, comprenant les 32 premiers caractères
(16 octets), permet de connaître:
- le numéro de la centrale (= 4 octets) et des deux sondes SPI (= 2
x 2 octets),
- le paramétrage de la. centrale (configuration des capteurs,
différence de cote significative, pas de temps) = 3 octets,
- la date de mise en service (année, mois, jour, heure, minute) = 5
octets.
Dans le fichier brut obtenu lors de la première étape, les deux
derniers octets (heure, minute) sont séparés par une série de zéro.
Cette caractéristique se retrouve dans tous les fichiers
enregistrés par la centrale. Une petite modification sera
nécessaire pour intégrer ces octets à l'identificateur.
* des enregistrements de mesures, selon le pas de temps program
mé. Ils sont de deux types suivant l'instant auquel se fait la
mesure :
- les enregistrements bi-horaires aux demi-heures rondes comportent
7 octets relatifs à la minute ronde (00 ou 30, 1 octet), aux
hauteurs d'eau des deux sondes (3 octets), à la conductivité et à
la température (3 octets),
- les enregistrements à des temps intermédiaires se composent de la
valeur de la minute correspondante et uniquement des hauteurs d'eau
(4 octets en tout).
Le logiciel CHLODAK reprend ce fichier brut en entrée et génère
deux nouveauX fichiers:
- un fichier CHLOE 18PI A, dans lequel toutes les hauteurs d'eau
mesurées par la sonde B, ont été supprimées,
- un fichier CHLOE 18PI B, dans lequel toutes les valeurs en
registrées par la sonde A, ont été éliminées.
ETAPES 3 et 4 - Partition du fichier CHLQE 18PI en fichiers déca
daires.
- VisualisatiQn graphiJL~e et nymériqye des données gécadaires et
joyrn§li~res.
Le logiciel CHLODAK présente plusieurs options supplémentaires
permettant :
6
- de découper un fichier CHLOE lSPI, souvent très volumineux, en
fichiers décadaires rapidement exécutables par les programmes
graphiques,
- d'imprimer ces données décadaires après remise en forme,
- de visualiser sur l'écran les données par décade et par journée
(notamment lors de jaugeages effectués concomitamment) et
d'obtenir à tout moment une copie du graphique sur
imprimante.
Le choix d'un découpage en décades est purement arbitraire et
aurait pu être mensuel, hebdomadaire... La souplesse du langage de
programmation usité permet, ainsi, d'adapter les fichiers aux
besoins réels de l'utilisateur, tout en conservant une structure de
programme identique.
3. UTILISATIOIi PRATIQUE
3.1. Matériel requis
Le logiciel «CHLOE» est disponible pour des micro-ordinateurs IBM
et compatibles à deux unités de disquettes (<<CHLOE-PC») ou
une unité et un disque dur (<<CHLOE-XT»). La présence de ce
dernier est néanmoins préférable étant donné la taille ouvent
importante des fichiers à traiter (certains fichiers de données
relatives à trois mois d'enregistrement en continu peuvent dépasser
les 100 kilooctets). Les différents modules de ce logiciel sont
compilés et donc directement exécutables. Ils ne sont pas modif
iables, les programmes source n'étant pas en notre
possession.
Le logiciel «CHLODAK» est développé en langage de programmation
BASIC (Gloi-BASIC version 3.1). Il est envisagé d'améliorer les
performances d'exécution en proposant une version compilée. Les
programmes sources restent néanmoins disponibles pour d'éventuel
les modifications.
Le matériel utilisé se compose:
- d'un micro-ordinateur compatible IBM-XT ou IBM-AT géré par le
système d'exploitation Microsoft-DOS (version 3.1) et muni d'un
écran graphique (résolution 640x200),
- d'une imprimante matricielle, configurée en mode IBM-gra
phies.
Les logiciels «CHLOE» et «CHLODA!<» sont disponibles sur une
même disquette (5"1/4 ou 3"1/2).
7
3.2. Installation des logiciels
* Comme nous l'avons déjà indiqué, l'utilisation d'un disque dur
est vivement recommandée. Les logiciels «CHLOE» et «CHLODAK» sont
donc préalablement copiés à partir du lecteur de disquettes dans le
répertoire souhaité du disque dur (\CHLODAK par exemple). Le
programme GW-BASIC est également implanté dans ce répertoire pour
l'exécution des modules non compilés. S'il se trouve dans un autre
répertoire, la commande système PATH, suivie du chemin d'accès,
facilitera son appel.
Deux fichiers BATCH permettent le lancement automatique des deux
logiciels en tapant au clavier leur nom après la mise sous tension
du micro-ordinateur. Ils seront placés dans le répertoire
principal. Leur contenu peut être, par exemple, le suivant:
- pour CHLOE.BAT,
- pour CHLCDAK.BAT,
GRAPHICS GRAFTABL CD \CHLODAK BASIC: MENU. BAS
Il est toujours possible de modifier ce contenu, notamment le
chemin d'accès au répertoire de travail, en utilisant l'éditeur de
lignes (EDLIN) du système d'exploitation ou tout autre éditeur
disponible.
Il est recommandé de placer les commandes GRAPHICS et GRAFTABL dans
le fichier AUTOEXEC. BAT , exécuté à chaque initialisation du
système. On s'assurera que le fichier CONFIG.SYS contient les
instructions suivantes: 1 DEVICE = ANSI.SYS
1 FILES = 20 ! BUFFERS= 20
* Il est possible de lancer les deux logiciels à partir de 1 'unité
de disquette (A:) avec les fichiers .BAT, dont le contenu peut être
modifié de la manière suivante :
- pour CHLCE.BAT,
- pour CHLODAK.BAT,
8
* Tous les fichiers de données créés lors de l'exécution des
différents programmes BASIC sont stockés directement dans le
répertoire de travail du disque dur. A l'issue du traitement d'une
cartouche CHLOE, il est conseillé de copier tous les fichiers sur
une disquette et de les effacer du disque dur avant tout nouveau
dépouillement. Cela évitera d'éventuels écrasements inopinés de
fichiers, surtout lorsqu'on traite, par exemple, deux cartouches
relatives à la même décade.
3.3. Exécution des logiciels
Les quatre étapes de traitement, décrites au chapitre 2, sont
successivement mises en oeuvre.
A. Transfert des infçrmations yers le micro-ordinateur
- Brancher le lecteur de cartouche mémoire (LCM CE64), puis le
micro-ordinateur.
- Lancer le logiciel «CHLOE» en tapant CHLOE. Le menu suivant
s'affiche à l'écran:
l Transfert vers le disque d'une cartouche CHLOE 2 Mise en forme du
fichier CHLOE avec production
de fichiers de HAUTEUR D'EAU, de CONDUCTIVITE, de MASSE VOLUMIQUE
et de TEMPERATURE.
3 Impression de la hauteur d'eau 4 Impression de la conductivité 5
Impression de la masse volumique 6 Impression de la température 7
sortie et retour au DOS
Entrez le chiffre de votre choix.
- Taper l pour l'option transfert. Le nom du fichier à créer ne
doit pas dépasser 7 caractères. Nous avons adopté la nomenclature
suivante :
· les 3 premiers caractères définissent les initiales du site
expérimental,
• les 2 suivants l'année (on retranche 1900) • les 2 derniers le
numéro d'ordre de la cartouche mémoire
utilisée dans l'année.
Cette convention facilite la gestion des fichiers provenant de
cartouches différentes au cours de la même année. Elle n'est pas
exclusive.
Exemple: KOU861 pour le site de KOUBALAN, l'année 1986 et la
cartouche no 1. On peut, aussi, prendre simplement ROUBAL.
Résultat de l'opération:
Un fichier de données brutes est créé et stocké dans le répertoire
de travail du disque dur avec l'extension .CHL. Ce fichier
correspond à une centrale CHLOE à 2 sondes SPI. Il est séquentiel
et non formaté. (exemple: KOU861.CHL ou KOUBAL.CHL).
- Dès que le menu se réaff iche, quitter le logiciel en tapant
7.
- Charger le logiciel «CHLODAK)) en tapant CHLODAK, le menu
principal suivant apparaît à l'écran (programme MENU.BAS):
* * * MENU GENERAL * * *
1. TRANSFORMATION DU FICHIER CHLOE 2 SPI EN 2 FICHIERS CHLOE 1
SPI
2. PARTITION DES FICHIERS CHLOE l SPI EN FICHIERS DECADAIRES
3. IMPRESSION ET VISUALISATION DES DONNEES
4. RETOUR AU SYSTEME
FRAPPEZ LE CHIFFRE DE VOTRE CHOIX •••
B. Modification du fichier CHLOE 2 SPI en deux fichiers CHLOE 1
SPI
- Taper l'option 1 du menu principal, un second menu s'affiche
demandant de sélectionner chaque sonde SPI. L'une est repérée par
la lettre A, l'autre par un B:
10
3. RETOUR AU MENU PRINCIPAL
Votre choix?
- Taper 1 ou 2, c'est selon: il est cependant préférable de
commencer logiquement par l'option 1.
- A la question «nom de fichier originel CHLOE 2SPI, 7 caractères
maximum», entrer un nom de fichier précédemment créé par le
logiciel «CHLOE» sans son extension .CHL. Exemple: taper KOU861
pour le fichier KOU861.CHL.
- A la question «heure de formatage?», entrer les 4 chiffres des
heures et minutes uniquement. Il s'agit de l'heure à laquelle les
enregistrements ont débuté lors de la mise en place d'une cartouche
mémoire dans la centrale CHLOE.
Le programme KOUSPl1.BAS est alors lancé comme en témoignent les 3
compteurs à l'écran (le premier indique le nombre d'octets lus, le
second le nombre d'enregistrements hauteur d'eau, le troisième le
nombre d'enregistrements hauteur
d'eau/conductivité/température).
Résultat de l'opération:
Un fichier de données relatives à la sonde SPI A est créé et stocké
dans le répertoire de travail. Le nom de ce fichier reprend le nom
du fichier CHLOE 2SPI, auquel on ajoute à la fin la lettre A et
l'extension •CHL. Ce nouveau fichier est également séquentiel et
non formaté.
Exemple: à partir du fichier KOU861.CHL, on crée le fichier
KOU86A.CHL; à partir de KOUBAL.CHL, on aura KOUBALA.CHL.
- De retour au sous-menu précédent, on choisit l'option relative à
la seconde sonde SPI, en l'occurence la sonde SPI B. La procédure
est ensuite identique avec l'exécution du programme
KOUSPI2.BAS.
11
Résultat de l'opération:
Le fichier CHLOE 1 SPI relatif à la sonde SPI B est stocké comme
précédemment. Son nom présente les mêmes caractéristiques en
remplaçant A par B.
Exemple: à partir du fichier KOU861.CHL, on crée le fichier
KOU861B.CHL; également on a KOUBALB.CHL.
- Retour au menu principal en tapant 3 lorsque le sous-menu
réapparaît.
C. ~artition en fichiers décadaires
Il s'est avéré utile de découper les fichiers, ainsi issus d'une
même cartouche mémoire, en plusieurs sous-fichiers décadaires
beaucoup moins volumineux et plus rapides à traiter ultérieurement
(rappelons qu'une telle cartouche avec trois mois d'enregistrements
continus, toutes les dix minutes pour la hauteur d'eau et toutes
les demi-heures rondes pour la hauteur d'eau, la conductivité et la
température, contient plus de 15.000 enregistrements correspondant
à plus de 85. 000 octets).
- Sélectionner l'option 2 du menu principal, un sous-menu s'inscrit
à l'écran et propose la création de fichiers décadaires pour
chacune des sondes SPI (A ou B):
1. CREATION DES FICHIERS DECADAIRES DE LA SONDE SPI A
2. CREATION DES FICHIERS DECADAIRES DE LA SONDE SPI B
3. RETOUR AU MENU PRINCIPAL
Votre choix?
- Taper 1 et répondre à la question «nom de fichier originel CHLOE
2SPI (7 caractères maximum)>> par un nom de fichier déjà créé
par le logiciel «CHLOE» (sans son extension .CHL). Exemple: KOU861
ou KOUBAL.
- Choisir ensuite la sonde A ou B.
Le programme EXHCT.BAS s'exécute alors en deux phases:
12
* d'abord, il s'agit d'extraire les données d'un fichier CHLOE 1
SPI A ou B déjà existant et de les réécrire sous une forme plus
lisible dans un autre fichier. Ce fichier intermédiaire contient
tous les enregistrements d'une sonde SPI, repérés par le format
suivant: (Année, Mois, Jour, Heure, Minute, Hauteur d'eau) ou (si
la minute est égale à 00 ou 30: Année, Mois, Jour, Heure, Minute,
Hauteur d'eau, Conductivité, Température).
Le nom de ce fichier reprend les mêmes caractéristiques que celui
créé lors de la seconde étape (3.3. B. ), si ce n'est que l'on y
adjoint l'extension .INT au lieu de .CHL.
Exemple: KOU86lA.INT ou KOU861B.INT et KOUBAIA.INT ou KOUBALB.INT.
Il s'affiche à l'écran avant de passer à la phase suivante.
* La deuxième phase consiste en la partition proprement dite en
fichiers décadaires à partir de ce fichier intermédiaire.
Le nom de ces fichiers est composé:
• des trois premières lettres du fichier originel CHLOE 2 SPI, •
des deux chiffres de l'année, · du numéro de mois, • du numéro de
la décade (1,2 ou 3).
Il est suivi d'une extension:
- .DEA pour les fichiers de la sonde SPI A, - .DEB pour les
fichiers de la sonde SPI B.
Exemple: KOU86012.DEA ou KOU8601B.DEB.
Les enregistrements, contenus dans ces fichiers, sont formatés .
soit en Jour, Heure, Minute, Hauteur d'eau, . soit en Jour, Heure,
Minute, Hauteur d'eau, conductivité, Tem pérature (si la minute
est égale à 00 ou 30).
Résultat de l'opération:
Plusieurs fichiers formatés sont créés. L'un correspond aux
informations d'une cartouche et d'une sonde (FICHIER.INT). Chacun
des autres fichiers rassemblent les données d'une décade
(FICHIER.DEA ou . DEB) .
D. Visualisation et impression des données
- En sélectionnant l'option 3 du menu principal, le sous-menu
suivant propose plusieurs possibilités de représentation graphique
des données:
13
1. HAUTEUR 0' EAU (1 sonde SPI) PAR DECADE + option
conductivité
2. HAUTEUR D'EAU (1 sonde SPI) PAR JOURNEE + option
conductivité
3. HAUTEUR D'EAU (2 sondes SPI) PAR DECADE 4. HAUTEUR D'EAU (2
sondes SPI) PAR JOURNEE
5. TEMPERATURE (1 sonde SPI) PAR DECADE + option conductivité
6. TEMPERATURE (1 sonde SPI) PAR JOURNEE + option
conductivité
7. CONDUCTIVITE (1 sonde SPI) PAR DECADE 8. CONDUCTIVITE (1 sonde
SPI) PAR JOURNEE
9. IMPRESSION DES DONNEES D'UNE CARTOUCHE
M. RETOUR AU MENU PRINCIPAL
Votre choix ?
Les options 1 à 8 mettent en oeuvre les programmes de visualisation
graphique suivants: GRHCDEC.BAS et GRHCJO.BAS,
GRHHDEC.BAS et GRHHJO.BAS, GRTCDEC.BAS et GRTCJO.BAS, GRCODEC.BAS
et GRCOJO.BAS.
L'option 9 permet une impression sélective des données numériques
relatives soit à une cartouche mémoire CHLOE, soit à une période
décadaire. Les programmes respectifs IMPCHL.BAS et IMPDEC.BAS
utilisent en lecture les fichiers formatés créés au cours de la
phase de partition en fichiers décadaires pour chaque sonde SPI.
L'exten sion .INT est requise pour le premier programme, tandis
que le second nécessite l'extension .DEA ou .DEB.
Quelques exemples de sortie graphique et imprimée sont présentés en
annexe.
- Taper sur la touche Mpour revenir au menu principal. L'option 4
permet, alors, de sortir du logiciel «CHLODAK» et de retourner au
système d'exploitation du micro-ordinateur.
14
4. CONCLUSION
* * * * *
Quelques conseils:
* Le nom de tous les fichiers, créés au cours du traitement, est
affiché à l'écran. Il est utile de les noter systématiquement ou
bien de faire une copie d'écran, afin d'éviter d'éventuelles
erreurs de frappe dans les étapes suivantes.
* Une fois le traitement d'une cartouche mémoire CHLOE terminé, il
est souhaitable de ne pas encombrer le disque dur avec tous les
fichiers générés. Un moyen commode consiste à les copier sur une
disquette, pour chaque cartouche traitée, et à les réinstaller sur
le disque dur lors de toute réutilisation ultérieure.
* Deux cartouches mémoire CHLOE correspondant à la même décade (par
exemple, lors d'un changement de cartouche) peuvent donner, avec la
convention adoptée, deux fichiers décadaires ayant le même nom. Il
est donc nécessaire de procéder comme indiqué au paragraphe
précédent. Les deux fichiers pourront être ensuite concaténer pour
reconstituer la décade complète.
* Des procédures de contrôle des erreurs de frappe existent dans
certains cas. Elles ne sont pas systématiques. Par conséquent, il
se peut que l'exécution normale d'un programme puisse être
brutalement interrompue. Pour ne pas avoir à tout recommencer
depuis le début du logiciel «CHLODAK», il est toujours possible de
relancer le programme en cours en tapant RUN ou bien la touche
F2.
15
COCHONNEAU G. , 1987. HYDROM Logiciel de banque de données
hydrométriques. Laboratoire d'Hydrologie, ORSTOM/Montpellier.
ELSYDE, 1986. Notice technique.
PERAUDEAU M., 1986. Mise en valeur des mangroves du Sénégal. Vallée
des Kalounayes. site d'étude de Koubalan. Rapport de campagne
hydrologique, hivernage 1985. Multigr., ORSTOM/Dakar.
16
ANNEXES
17
18
334coeC308020851
0401308906180000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
141030000174EEE3334500017400001174EEE3391500017330000172EEE3954500017200000172EE
E3371600017230000171EEE3844600017000000170EEE3701600016830000167EEE3584600016600
000165EEE3521600016430000162EEE3404600015300000155EEE3221600015030000145EEE30346
00013300000133EEE2881600012830000124EEE2774600012100000124EEE2631600012730000131
EEE2634600013600000141EEE2591600014730000151EEE2584600015500000158EEE25816000161
30000163EEE2554600016500000167EEE2501600016830000170EEE2494600017100000172EEE248
1600017230000173EEE2484600017400000174EEE2481600017530000175EEE24746000176000001
77EEE2461600017730000177EEE2444600017700000176EEE2431600017630000175EEE242460001
7:3000001
7'fEEE2421600017230000170EEE2434600016700000163EEE24
• fichier brut de données CHLOE 1 SPI (ex: DJILAOIA.CHL_ sonde
A)
334coeC30802040130830618141000000000000000000000000000000000000000000000000000(10
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
30000EEE333F45000FOOOOIEEE399F15000F30000EEE335F45000F00000EEE337F16000F30000EEE
384F46000FOOOOOEEE370F16000F30000EEE358F46000FOOOOOEEE352F16000F30000EEE340F4600
OFOOOOOEEE322FI6000F30000EEE303F460(~FOOOOOEEE288FI600OF30000EEE277F46000FOOOOOE
EE269F 16000F30000EEE263F46000FOOOOOEEE253F
16000F30000EEE258F46000FOOOOOEEE258F16
OOOF30000EEE255F46000FOOOOOEEE250F16000F30000EEE249F46000FOOOOOEEE248F16000F3000
OEEE248F46000FOOOOOEEE248F16000F30000EEE247F46000FOOOOOEEE246F16000F30000EEE244F
46000FOOOOOEEE243F16000F30000EEE242F46000FOOOOOEEE242F16000F30000EEE243F46000FOO
000EEE24
• fichier brut de données CHLOE 1 SPI (ex: DJILAOIB.CHL_ sonde
B)
334coeC3085104013089061814100000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
30174EEE333F45174F00174EEE399F15173F30172EEE335F45172F00172EEE337F16172F30171EEE
384F46170F00170EEE370F16168F30167EEE358F46166F00165EEE352F16164F30162EEE340F4615
9F00155EEE322F16150F30145EEE303F46139F00133EEE288F16128F30124EEE277F46121F00124E
EE269F16127F30131EEE263F46136F00141EEE253F16147F30151EEE258F46155F00158EEE258F16
161F30163EEE255F46165F00167EEE250F16168F30170EEE243F46171F00172EEE248F16172F3017
3EEE248F46174F00174EEE248F16175F30175EEE2~7F46176F00177EEE246F16177F30177EEE244F
46177F00176EEE243F16176F30175EEE242F46175F00174EEE242F16172F30170EEE243F46167FOO
\53EEE24
19
09,6,18,14,30,0,0,3'33 8'3,6,18,14,45, ° 8'3,6,18, 15,0, 1,0,3'3'3
8'3,6,18,15,15, ° 8'3,6,18,15,30,0,0,3'35 8'3,6,18,15,45,0
8'3,6,18,16,0,0,0,3'37 8'3,6, 18, 16, 16, ° 8'3,6,18,16,30,0,0,384
8'3,6,18,16,46,0 8'3,6,18,17,0,0,0,370 8'3,6,18,17,16,0
8'3,6,18,17,30,0,0,358 8'3,5,18,17,46, ° 8'3,5, 18, 18,0,0,0, 352
8'3,5, 18, 18, 15, () 8'3,5,18,18,30,0,0,340 8'3,5,18,18,45,0
8'3,6,18,1'3,0,0,0,322 8'03, t:', 18, 1 '3, 15, Ü
• Fichier intermédiaire foraaté (ex: DJlLA01B.IHT. sonde D)
8 r j, 6, 18, 14, 30, 174,0, 3'33
8'3,6, 18, 14,45,174 89,6, 18, 15,0, 174,0,3'3'3 8'3,6,18,15,15,173
8'3,6,18,15,30,172,0,3'35 8'3,5,18,15,45,172 8'3,5, 18, 16,0,
172,0,3'37 8'3,6, 18, 16, 16, 172 8'3,6,18,15,30,171,0,384 8'3,5,
18, 15, 45, 170 8'3,6,18,17,0,170,0,370 8'3,5,18,17,15,158
8'3,5,18,17,30,167,0,358 89,5, 18, 17, 45, 155 B'3, 6, 18, 18, 0,
155,0,352 B'3, 5, 18, 18, 15, 164 8'3,5,18, 18,30, 162,0,340 8'3,5,
18, 18,46, 15'3 EV3, 5, 18, 1'3,0, 155, 0, 322 8 r3,
5,18,19,15,150
• Fichier décadaire formaté (ex: DJIB90B2.DEA et KOUB6081.DEA.
sonde Al
11,0,0,38,0,324 1 1, 0, 17, 38 11,0,30,38,0,322 11,0,47,38 11, 1,
0, 38,0, 320 1 1 , 1, 17, 38 11,1,30,38,0,317 11, 1, 'f 7, 38
11,2,0,38,0,313 11, 2, 17, 38 11, è:, 30, 38,0,3(1'3
11,2,47,38
• Fichier décadaire formaté (ex: DJI69ûB2.DEH. sonde H)
11,0,0,121,0,324 11,0,17,11'3 11,0,30,118,0,322 11,0,47,116 1 1, 1,
0, 1 15, 0, 320 11,1,17,113 11,1,30,113,0,317 11,1,47,114
11,2,0,115,0,313 11,2,17,118 11,2, 30, 120,0, 30'3
11,2,47,123
20
A.2. EXEIIPLES DE SORTIE GRAPHIQUE
21
100
l 1 t '1 ", (1 (\ '. (. ~r !'\~f(\(
( • !'. r ·/: f~ l . f' : ft, ! \ \ fi ~ ! i
~ ! ~ f~ {~ .~ :L~ : ;! ~: ;'1 LJ~ f ~: ~; ::: L ~: ~; • 1 1 ~
'..'. l' ..' •.' ,", , ' • , • • .1 , :
: il 1 : \ i ,':. 'j'" ~: 1 .. :, .; i' ." \' .. '" ': " " \. '. ~
1- i' : . , ' , , . :. . l '. ~.. f l' i' 1: \ ~ • l, t,· " ;: ,:
\: "; ~ 1, '1. .'\: l: " i ~ l : \.. . ~ " i.' :, ç , l'
1 ...-'~; ~ t \: V ,', v:: T 1 ~ \: ~ , \ . ~ ~. , .."
':.W;': .\' y ''':'·.'.'';',..,.·I.I':'~"··., . . . . . .. - • ,".
l' • 1
; : ........ ' ~...,.:.."" •• .,.'.' ' ..n. ':J-, .' " • l ,- ,.
'.v '/0.,., .'~ , ...-- ,.1 '-l.
• • .... -.....r"W\. '" "\J, ..~\
lee
e 1 2 3 4 5 6 7 8 9 la
• Hauteur d"eau par décade
S9
59 --:
- 43 -
33
19
11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 2B 1
22
CE, rs.cm-l (xl03) Fichier: KDUS6B81.DEA ( J= 7 ) B, ca
KOUBAIA~
300 1
..........1....."" •..,.. " ..........1' ......... ...,..,
'""
1 1 !
( J= 15 ) B, cm
B, Cil Fichier: DJI8ge82 DJIGUOOm
B, Cil
200
.l\ (' (\ 1\ f\ i\. /\ f\ f\ f\ i\ f\ 1\ 1\ 1\,.. r, (~ ': :, ::;,
,! 1: ,!.; '! '.i .j ./ 1 l' f ,. l' 1 • • • 1 .• .• • , 1 ~. :, ..
' • .' ., • 1 :J : ; : 1: ~ ; : : : ::' : 1 : .: :: ".: : : 1 :: •
• • "' 1: :: ; ~ : 1 : •• l ," ".::; • ": • "I °1· :. :: :. ..
"..:. \ • • 1 •• \ 1 • • " •
• \. 1: t' .. .1 ,: • 1
100
11 1 12 1 13 1 14 1 lS 16 1 17 1 18 1 19 1 29 T
• Hauteur d"eau pour deux sondes SPI par journée
100
8
1
1
~ 1
1
1
1 ,............... ', ..
1
100
Il Il Il .. Il ••• '.1 '" Il 1 ••• 1. Il .. Il Il .
, , , 1 1
Oh 6h
CE PS, cm-l (xie3)
\. : "': '_./ ',J "
T "
1
1 •
300
9 1 1 2 1 3 1 4 1 5 1 6 1 7 1 S 9 1 lB 1
200
300
233 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1- 19 1 29 1
25
* Température et conductivité par journée
CE Fichier: KOU86B81.DEA <J= lB ) r p.S. CI}-l <x100)
!iOUBA1JL~ ·e <xB.1>
60 n0
5e ... . . 319
4 Température par journée
r Fichier: DJI89082.DEA <J= 11 ) r ~C <Rfl.D DJIGUINOlAVIl ·e
<xo.u
340 ~
26
l
100 .. 100
o 1 2 3 4 5 6 7 8 9 10
o
l 1
30 24h
28
A N N E E 8'3 DJILAOIA.INT
1'1015 JOUR HEURE HAUTEUR CONDUCTIVITE TEMPERATURE (CIO ) (pS.
crn-l )(100) (OC)
6 18 14:30 0 0 3'33 6 18 14:45 0 6 18 15: 0 1 0 3'39 E.. 18 15: 15
0 6 18 15:30 0 0 3'35
6 18 15:45 0
6 18 16 : 0 0 0 3'37 6 18 16: 16 0 6 18 16:30 0 0 384 6 18 16:45 0
6 18 17: 0 0 0 370 6 18 17: 16 0 6 18 17:30 0 0 358 6 18 17:45 0 6
18 18 : 0 0 0 352
6 18 18: 16 0 6 18 18:30 0 0 340
page 1S) li 1 va Y, t e <F) i l"I 1 CIU l rolpr'E'SS 1 ':'l"I
éCr-~l"I
ANNEE: 8E.. - MOIS: 8 - Décë\de: KOU8E..081.DEA
JOUR HEURE f'i.':\UTEUR CONDUCT l ''; l TE TEMPERATURE (Chl) (pS.
cr.l-l x 100 ) (,:·C)
1 0: 0 88 '30 3~'2
1 (1 : 7 8'3 1 0: 17 '30 1 0:27 '32 1 0:30 '32 '31 32() 1 0:37 32 1
0:47 '33 1 0:57 34 1 1 : 0 34 '31 31'3 1 1 : 7 35 1 1 : 17 35 1 1:
27 '36 1 1: 30 '36 103 317 1 1: 37 '36 1 1:47 '37 1 1: 57 '37 1 2:
0 '37 113 317
page (S>lIivante / IF) i Y, / l rolpr'E?SS i ,:,y, éCr-~YI
...
29
A.4.1. Programme HENV.BAS
10 "---------------------------- MENU GENERAL
20 " 30 " 40 KEY OFF:CLS:BEEP 45 PRINT SPC(5):COLOR 0,7:PRINT
«********************************
*********************************»:COLOR 7,0 50 PRINT SPC(5):COLOR
0,7:PRINT «* TRAITEMENT DES CARTOUCHES DE LA CENTRALE CHLOE A 2
SONDES SPI *»:COLOR 7,0 60 PRINT SPC(5):COLOR 0,7:PRINT
«********************************
*********************************»: COLOR 7,0 80 PRINT :PRINT
:PRINT 82 PRINT SPC(25):COLOR 0,7:PRINT « «:COLOR 7,0 84 PRINT SPC(
25) :COLOR 0,7 :PRINT « * * * MENU GENERAL * * * «:COLOR 7,0 86
PRINT SPC ( 25) : COLOR 0,7: PRINT « ------------ «: COLOR 7,0 88
PRINT:PRINT 90 PRINT :PRINT SPC(8) «1- TRANSFORMATION DU FICHIER
CHLOE 2 SPI EN 2 FICHIERS CHLOE 1 SPI» 100 PRINT :PRINT SPC(8) «2-
PARTITION DES FICHIERS CHLOE 1 SPI EN FICHIERS DECADAIRES» 110
PRINT :PRINT SPC(8) «3- IMPRESSION ET VISUALISATION DES DONNEES»
130 PRINT :PRINT SPC(8) «4- RETOUR AU SYSTEME» 140 FOR 1=1 TO
3:PRINT :NEXT I:PRINT SPC(25) «FRAPPEZ LE CHIFFRE DE VOTRE CHOIX
••• » 150 X$=>>>>:WHILE
X$=>>>>:X$=INKEY$:WEND:BEEP:X=VAL(X$) :IF X*(X-5»=0
THEN 40 160 ON X GOTO 165,255,345,510 165 CLS 167 PRINT
SPC(4):COLOR 0,7:PRINT «
« : COLOR 7, 0 170 PRINT SPC ( 4 ) : COLOR 0,7: PRINT « * *
TRANSFORMATION DU FICHIER CHLOE 2 SPI EN 2 FICHIERS CHLOE 1 SPI * *
«:COLOR 7,0 172 PRINT SPC(4):COLOR 0,7:PRINT «
--------------------------
« : COLOR 7, 0 175 PRINT:PRINT 180 PRINT : PRINT SPC( 8) «1-
CREATION DU FICHIER CHLOE 1SPI A» 190 PRINT :PRINT SPC(8) «2-
CREATION DU FICHIER CHLOE 1SPI B» 200 PRINT :PRINT SPC(8) «3-
RETOUR AU MENU PRINCIPAL» 210 PRINT :PRINT :PRINT :PRINT SPC(25)
«Votre choix?» 220 X$=»»:WHILE
X$=»»:X$=INKEY$:WEND:BEEP:X=VAL(X$):IF X*(X-4»=0 THEN 165 230 IF
X=3 THEN 40 240 A$=»KOUSPI»+X$+».BAS» 250 CHAIN A$ 255 CLS 257
PRINT SPC(4):COLOR 0,7:PRINT «
« : COLOR 7, 0 260 PRINT SPC(4):COLOR 0,7:PRINT « * * PARTITION DES
FICHIERS CHLOE 1 SPI EN FICHIERS DECADAIRES * * «:COLOR 7,0 262
PRINT SPC(4):COLOR 0,7:PRINT « --------------------------
« : COLOR 7, 0 265 PRINT:PRINT 270 PRINT :PRINT SPC(8) «1- CREATION
DES FICHIERS DECADAIRES DE LA SONDE SPI A»
31
280 PRINT :PRINT SPC(8) «2- CREATION DES FICHIERS DECADAIRES DE LA
SONDE SPI B» 290 PRINT :PRINT SPC(8) «3- RETOUR AU MENU PRINCIPAL»
300 PRINT :PRINT :PRINT :PRINT SPC(25) «Votre choix 1» 310
X$=»»:WHILE X$=»»:X$=INKEY$:WEND:BEEP:X=VAL(X$):IF X*(X-4»=0 THEN
255 320 IF X=3 THEN 40 330 A$=»EXHCT.BAS» 340 CHAIN A$ 345 CLS 347
PRINT SPC(10):COLOR 0,7:PRINT «
«:COLOR 7,0 350 PRINT SPC(10):COLOR 0,7:PRINT« VISUALISATION ET
IMPRESSION DES DONNEES «:COLOR 7,0 355 PRINT SPC(10):COLOR
0,7:PRINT « -------------------------- ------------ «:COLOR 7,0 357
PRINT:PRINT 360 PRINT :PRINT SPC(8) « 1- HAUTEUR D'EAU (1 sonde
SPI) PAR DECADE + option conductivité» 364 PRINT SPC(8) (( 2-
HAUTEUR D'EAU (1 sonde SPI) PAR JOURNEE + option conductivité» 368
PRINT : PRINT SPC( 8) « 3- HAUTEUR D'EAU (2 sondes SPI) PAR DECADE»
370 PRINT SPC(8) « 4- HAUTEUR D'EAU (2 sondes SPI) PAR JOURNEE» 372
PRINT :PRINT SPC(8) « 5- TEMPERATURE (1 sonde SPI) PAR DECADE +
option conductivité» 376 PRINT SPC( 8) (( 6- TEMPERATURE (1 sonde
SPI) PAR JOURNEE + option conductivité» 380 PRINT :PRINT SPC(8) «
7- CONDUCTIVITE (1 sonde SPI) PAR DECADE» 382 PRINT SPC( 8) (( 8-
CONDUCTIVITE (1 sonde SPI) PAR JOURNEE» 384 PRINT :PRINT SPC(8) «
9- SELECTION ET IMPRESSION DES DONNEES» 386 PRINT : PRINT SPC ( 8)
(( M- RETOUR AU MENU PRINCIPAL» 388 PRINT : PRINT SPC ( 25) (Votre
choix 1» 390 X$=»»:WHILE X$=»»:X$=INKEY$:WEND:BEEP 395 IF (X$=»M»)
OR (X$=»m») THEN 40 ELSE 400 400 X=VAL(X$):IF X*(X-10»=0 THEN 345
402 ON X GOTO 404,406,408,410,412,414,416,418,420 404
A$=»GRHCDEC.BAS»:CHAIN A$ 406 A$=»GRHCJO.BAS»:CHAIN A$ 408
A$=»GRHHDEC.BAS»:CHAIN A$ 410 A$=»GRHHJO.BAS»:CHAIN A$ 412
A$=»GRTCDEC.BAS»:CHAIN A$ 414 A$=»GRTCJO.BAS»:CHAIN A$ 416
A$=»GRCODEC.BAS»:CHAIN A$ 418 A$=»GRCOJO.BAS»:CHAIN A$ 420 GOSUB
430:CHAIN A$ 430 CLS:PRINT:COLOR 0,7:PRINT ((* SELECTION ET
IMPRESSION DES DONNEES *»:COLOR 7,0 440 LOCATE 5,5:PRINT
«Voulez-vous sélectionner et/ou imprimer les données numériques
relatives:» 450 LOCATE 7,10:PRINT (* à une cartouche CHLOE
(C)>> 460 LOCATE 9,10:PRINT ((* à une période décadaire
(0)>> 470 LOCATE 13,25:INPUT ((Votre choix (C ou 0) ((;V$ 480
IF (V$=»c») OR (V$=»C») THEN 485 ELSE 490 485 A$=»IMPCHL.BAS»:GOTO
500 490 IF (V$=»d») OR (V$=»D») THEN 495 ELSE 470 495
A$=»IMPDEC.BAS» 500 RETURN 510 SYSTEM
32
A$=LEFT$(A$,5)+»F»
ON ERROR GOTO 460 A$=INPUT$(8,#1) IF LEFT$(A$,2)=»00"
B$=INPUT$(6,#1) C$=LEFT$(A$,5)+B$+»F» PRINT #2,C$; N=N+12:H=H+1
LOCATE 1,1 PRINT USING «####II#I»);N:PRINT USING
«########»;T:PRINT
«###I#I##»;H:PRINT:PRINT GOTO 380
70 " 80 " 85 CLS:N=O 90 LOCATE 2,2 :COLOR 0,7: PRINT «CREATION DU
FICHIER CHLOE 1 SPI A)) : COLOR 7,0: PRINT : PRINT : PRINT 95
LOCATE 5,3 100 PRINT «NOM DU FICHIER ORIGINEL CHLOE 2 SPI:)) 102
PRINT« (7 caractères maximum; ex: KOU861 ou KOUBAL)>> 103
LOCATE 5,50:INPUT FO$ 104 X1=LEN(FO$) 105 IF (X1<=7) AND
(X1>0) THEN 110 ELSE 95 110 FTA$=FO$h)A. CHL)) : FO$=FO$+))
•CHL)) 115 LOCATE 8,3 120 PRINT «HEURE DE FORMATAGE DE LA CARTOUCHE
MEMOIRE:)) 123 PRINT« (4 chiffres; ex: 9h15, taper 0915)>>
124 LOCATE 8,50:INPUT H$ 125 X=LEN(H$) 127 IF X=4 THEN 130 ELSE 115
130 CLS 132 IF N><O THEN 520 133 ON ERROR GOTO 510 142 OPEN
«1)), #1, FO$ 150 OPEN «0)), #2, FTA$ 155 LOCATE 1,15: PRINT «Nbre
octets lus)) 158 LOCATE 2,15: PRINT «Nbre enreg. intermédiaires))
159 LOCATE 3,15: PRINT «Nbre enreg. demi-heure)) 160
A$=INPUT$(244,#1):A$=LEFT$(A$,12)+MID$(A$,17,12)+H$+MID$(
A$,29,212) 170 PRINT #2,A$; 180 N=240 190 LOCATE 1,1 200 PRINT
USING «########));N:PRINT USING «########»)iT:PRINT USING
«########»;H:PRINT:PRINT 210 \\ 220 230 240 250 260 270 280 290 300
USING 310 320 " 330
33
340 PRINT 12,A$; 350 N=N+6:T=T+1 360 LOCATE 1,1 370 PRINT USING
«IIIIIIII»;N:PRINT USING «1111111'»;T:PRINT USING
«""""»;H:PRINT:PRINT 380 IF EOF(l) THEM 390 ELSE 230 390 BEEP 400
CLOSE 12 410 CLOSE Il 420 CLS:PRINT SPC(4) «Nbre d'octets:»;USING
«IIIIIIII»;N:PRINT 430 PRINT SPC(4) ccNbre d'enregistrements
hauteur d'eau:»;USING «IIIIIII»;T:PRINT 440 PRINT SPC( 4) «Nbre
d'enregistrements haut.d'eau/cond.électrique/ température» ;USING
«111111»;8 450 GOTO 480 460 IF LEN(A$)<8 THEN 390 470 RESUME 480
LOCATE 10,5:PRINT «Nom du fichier CHLOE créé (sonde SPI A):
«:LOCATE 10,50:COLOR 0,7:PRINT FTA$:COLOR 7,0:LOCATE 18,45:PRINT
«FRAPPER LA BARRE POUR CONTINUER» 490 X$=»»:WHILE
X$=»»:X$=INKEY$:WEND 500 CHAIN «MENU.BAS»,165 510 BEEP:CLS:LOCATE
15,5:PRINT <cCE FICHIER N'EXISTE PAS. ATTENTION ! ! 1» 515
N=N+l:GOTO 90 520 CLOSE Il:RESUME
34
A$=LEFT$(A$,2)+MIO$(A$,6,3)+»F»
ON ERROR GOTO 460 A$=INPUT$(8,#1) IF LEFT$(A$,2)=»00"
B$=INPUT$(6,#1) C$=LEFT$(A$,2)+MID$(A$,6,3)+B$+»F» PRINT 12,C$;
N=N+12;H=H+1 LOCATE 1,1 PRINT USING «########»;N:PRINT USING
«#######I»~T:PRINT
«#####I#I»;H: PRINT: PRINT GOTO 380
70 \\ 80 \\ 85 CLS:N=O 90 LOCATE 2,2: COLOR 0,7: PRINT «CREATION DU
FICHIER CHLOE 1 SPI B»:COLOR 7,0:PRINT :PRINT :PRINT 95 LOCATE 5,3
100 PRINT «NOM DU FICHIER ORIGINEL CHLOE 2 SPI:» 102 PRINT« (7
caractères maximum; ex: KOU861 ou KOUBAL)>> 103 LOCATE
5,50:INPUT FO$ 104 X1=LEN(FO$) 105 IF (X1<=7) AND (X1>0) THEN
110 ELSE 95 110 FTB$=FO$+»B.CHL»:FO$=FO$+».CHL» 115 LOCATE 8,3 120
PRINT «HEURE DE FORMATAGE DE LA CARTOUCHE MEMOIRE:» 123 PRINT« (4
chiffres; ex: 9h15, taper 0915)>> 124 LOCATE 8,50:INPUT H$
125 X=LEN(H$) 127 IF X=4 THEN 130 ELSE 115 130 CLS 132 IF
N><O THEN 520 140 ON ERROR GOTO 510 142 OPEN «I»,#l,FO$ 150
OPEN «O»,#2,FTB$ 155 LOCATE 1,15:PRINT «Nbre octets lus» 158 LOCATE
2,15:PRINT «Nbre enreg. intermédiaires» 159 LOCATE 3,15:PRINT «Nbre
enreg. demi-heure» 160
A$=INPUT$(244,11):A$=LEFT$(A$,8)+MIO$(A$,13,16)+H$+MIO$( A$,29,212)
170 PRINT #2,A$; 180 N=240 190 LOCATE 1,1 200 PRINT USING
«########»jN:PRINT USING «###I###I»;T:PRINT USING
«########»;H:PRINT;PRINT 210 \\ 220 230 240 250 260 270 280 290 300
USING 310 320 \\ 330
35
340 PRINT 12,A$: 350 N=N+6:T=T+1 360 LOCATE 1,1 370 PRINT USING
«IIIIIIII»:N:PRINT USING •• IIIIIII'»:T:PRINT USING
«""""»:H:PRINT:PRINT 380 IF EOF(l) THEN 390 ELSE 230 390 BEEP 400
CLOSE 12 410 CLOSE Il 420 CLS:PRINT SPC(4) «Nbre d'octets:»;USING
«IIIIIIII»;N:PRINT 430 PRINT SPC(4) «Nbre d'enregistrements hauteur
d'eau:»:USING «IIIIIII»:T:PRINT 440 PRINT SPC(4) «Nbre
d'enregistrements haut.d'eau/cond.électrique/ température»;USING
«IIIIII»;H 450 GOTO 480 460 IF LEN(A$)<8 THEN 390 470 RESUME 480
LOCATE 10,5:PRINT «Nom du fichier CHLOE créé (sonde SPI B): « :
LOCATE 10,50:COLOR 0, 7 : PRINT FTB$: COLOR 7,0: LOCATE 18, 45:
PRINT «FRAPPER LA BARRE POUR CONTINUER» 490 X$=»»:WHILE
X$=»»:X$=INKEY$:WEND 500 CHAIN «MENU.BAS»,165 510 BEEP:CLS:LOCATE
15,5:PRINT «CE FICHIER N'EXISTE PAS. ATTENTION ! ! ! » 515
N=N+1:GOTO 90 520 CLOSE Il : RESUME
36
20 " 30 " 40 "-------- EXTRACTION DES ENREGISTREMENTS DE lA
CARTOUCHE CHLCE
50 " 60 " 70 "-------- SORTIE DES HAUTEURS D'
'EAU,CONDUCTIVITE,TEMPERATURE
80 " 90 "------------------------------ PAR DECADES
100 " 110 " 120 " 140 OPTION BASE 1 150 DEFINT H,I-L,M:DEFSTR F 160
DIM JM(12) 170 FOR 1=1 TO 12:READ JM(I):NEXT l 180 DATA
31,28,31,30,31,30,31,31,30,31,30,31 182 CLS:N=O 185 LOCATE
2,2:COLOR 0,7:PRINT «PARTITION DES FICHIERS CHLOE UNE SONDE
SPI»:COLOR 7,O:PRINT :PRINT :PRINT 190 LOCATE 5,3:PRINT»NOM DU
FICHIER ORIGINEL CHLOE 2 SPI» 192 PRINT « (7 caractères maximum;
ex: KOU861 ou KOUBAL»> 194 LOCATE 5,50:INPUT FO$ 196 X1=LEN(FO$)
198 IF (X1<=7) AND (X1>0) THEN 200 ELSE 190 200 LOCATE 8,3:
PRINT «CONFIRMEZ LE CHOIX DE LA SONDE SPI: A ou B ?» 205 LOCATE
8,50:INPUT Z$ 210 IF (Z$=»A») OR (Z$=»a») OR (Z$=»B») OR (Z$=»b»)
THEN 220 ELSE 200 220 FK$=FO$+Z$+».INT»:FO$=FO$+Z$+».CHL» 221 IF
N><O THEN 870 222 ON ERROR GOTO 850 230 OPEN «I»,#l,FO$ 240
OPEN «O»,#2,FK$ 245 CLS:LOCATE 6,3:PRINT «La création d'un fichier
intermédiaire est en cours.»:LOCATE 8,3:PRINT «Patientez quelques
instants .•• » 250 ON ERROR GOTO 500 260 A$=INPUT$(240,#1) 270
AN%=VAL(MID$(A$,19,2)):MO=VAL(MID$(A$,21,2)):JO=VAL(MID$(A$,23,2))
280 HE=VAL(MID$(A$,25,2)):MI=VAL(MID$(A$,27,2)) 290 IF AN% MOD 4
THEN JM(2)=28 ELSE JM(2)=29 300 IF EOF(l) THEN 460 310
MIN$=INPUT$(2,#1):MIN=VAL(MIN$) 320 IF MIN=O OR MIN=30 THEN N%=10
ELSE N%=4 330 X$=INPUT$(N%,#l) 340 IF N%=10 THEN 350 ELSE 360 350
CO%=VAL(MID$(X$,4,3)):TE%=VAL(MID$(X$,7,3)) 360 IF MIN<>O
THEN 410 370 HE=HE+1:IF HE<24 THEN 410 380 HE=0:JO=JO+1:IF
JO<=JM(MO) THEN 410 390 JO=1:MO=MO+1:IF MO<=12 THEN 410 400
MO=l:AN%=AN%+l 410 H=VAL(MID$(X$,1,3))
37
420 IF N%=10 THEN 430 ELSE 440 430 WRITE
#2,AH%,MO,JO,HE,MIN,H,CO%,TE%:GOTO 300 440 WRITE
#2,AN%,MO,JO,HE,MIN,H 450 GOTO 300 460 BEEP 470 CLOSE 2 480 CLOSE 1
490 GOTO 520 500 IF VAL(X$}=O TREK 460 510 RESUME 520 CLS: LOCATE
9,3: PRINT «Nom du fichier intermédiaire créé:»: LOCATE 9,40:COLOR
0,7:PRINT FK$:COLOR 7,0 522 LOCATE 12,3:PRINT (dl contient, selon
le format (année, mois, jour, heure, minute, hauteur d'eau,»:
LOCATE 13, 3 : PRINT «conducti vté, température), les
enregistrements de la sonde SPI «;Z$ 524 LOCATE 17,3:PRINT «Il va
être partitionner en fichiers décadaires» 526 LOCATE 22,40:PRINT
«FRAPPER LA BARRE POUR CONTINUER» 530 X$=»»:WHILE
X$=»»:X$=INKEY$:WEND 550 OPEN «I»,#2,FK 555 CLS : LOCATE 2,3: PRINT
«Noms des fichiers décadaires créés: «:PRINT:PRINT 560 IF EOF(2)
THEN 810 570 INPUT #2,JA,JM,JJ,JH,JMI,H 580 IF JMI=O OR JMI=30 THEN
590 ELSE 600 590 INPUT 12,JCO,JTE 600 IF JJ<ll THEN 610 ELSE 620
610 FD=»l n :GOTO 630 620 IF JJ>20 THEN FD=»3 n ELSE FD=»2 n 630
IF JM<10 THEN 640 ELSE 660 640
FDEC=LEFT$(FO,3}+RIGHT$(STR$(JA},2}+»on+RIGHT$(STR$(JM},1}+FD
+».DE»+Z$:COLOR 0,7:PRINT FDEC:COLOR 7,0:PRINT 650 GOTO 670 660
FDEC=LEFT$(FO,3 }+RIGHT$ (STR$ (JA) ,2 )+RIGHT$(STR$(JM}
,2}+FD+».DE»+Z$ :COLOR 0,7:PRINT FDEC:COLOR 7,0:PRINT 670 OPEN
«O»,#3,FDEC 680 IF JMI=O OR JMI=30 THEN 700 690 WRITE
13,JJ,JH,JMI,H:GOTO 710 700 WHITE #3,JJ,JH,JMI,H,JCO,JTE 710 IF
EOF(2} THEN 810 720 INPUT #2,JA,JM,JJ,JH,JMI,H 730 IF JMI=O OR
JMI=30 THEN 740 ELSE 750 740 INPUT #2,JCO,JTE 750 IF JJ<ll THEN
760 ELSE 770 760 FDE=»l":GOTO 780 770 IF JJ<21 THEN FDE=»2" ELSE
FDE=»3" 780 IF FDE=FD THEN 680 ELSE 790 790 CLOSE 3 800 GOTO 600
810 CLOSE 3:CLOSE 2 820 LOCATE 20,40: PRINT «FRAPPER LA BARRE POUR
CONTINUER» 830 X$=»»:WHILE X$=»»:X$=INKEY$:WEND 840 CHAIN
«MENU.BAS»,255 850 CLS:BEEP:LOCATE 15,3:PRINT «CE FICHIER N'EXISTE
PAS. ATTENTION ! ! 1» 860 N=N+1:GOTO 185 870 CLOSE #l:RESUME
38
50 \\ 60 \\---------------------------- PAR DECADES (H ET Ee)
--------
70 \\ 80 \\ 90 \\ 100 SCREEN O:CLS:COLOR O,7:PRINT« SORTIE
GRAPHIQUE D'UNE DECADE (H ET EC) «:COLOR 7,0:PRINT :PRINT :PRINT
110 DEFINT I-L,X:DEFSTR F,S 120 DIM
IC(2200),IT(4200),IH(4200),TT(2200) 123 \\ 124 \\ LECTURE DU
FICHIER DE DONNEES 125 \\ 130 INPUT»LE NOM DU FICHIER DECADAIRE
AVEC SON EXTENSION (.DEA OU •DEB) «; F 140 ID=VAL(MID$(F,8,1»-1 150
OPEN «I»,#l,F 160 K=O:L=O 170 IF EOF(l) THEN 250 180 INPUT
#l,XJO,XHE,XMI,XH 190 IF XHI=O OR XHI=30 THEN 200 ELSE 220 200
INPUT #1,XCO,XTE:L=L+1:IC(L)=XCO:TT(L)=((XJO-ID*10)-
1)*1440+XHE*60+XHI 220 K=K+1:IH(K)=XH 230
IT(K)=((XJO-ID*10)-1)*1440+XHE*60+XMI 240 GOTO 170 250 CLOSE 1 260
\\ 270 \ \ SORTIE GRAPHIQUE DES HAUTEURS D' 'EAU ET CONDUCTIVITES
DE LA DECADE 280 \\ 290 KM=K:LM=L 300 CLS 310 KEY OFF 320 PRINT
:PRINT :PRINT «SI VOUS DESIREZ LA SORTIE DU GRAPHIQUE SUR
IMPRIMANTE»:PRINT :PRINT «TAPER LES TOUCHES <Shift> et
<PrtSc> AU MOMENT OU LE GRAPHIQUE EST A L'ECRAN»:PRINT :PRINT
:PRINT «SINON FRAPPER LA BARRE» 330 LOCATE 15,1:INPUT
«Souhaitez-vous un titre au graphique? (0/ N)>>;H$ 335 IF
(H$=»o») OR (H$=»O») THEN 337 336 IF (H$=»n») OR (H$=»N») THEN 340
ELSE 330 337 LOCATE 17,25:INPUT «TITRE: «;A$ 340 LOCATE 20,1:INPUT
«Voulez-vous exploiter les données conducti vimétriques ?
(O/N)>> iH$ 350 IF (H$=»o») OR (H$=»O») THEN 365 360 IF
(H$=»n») OR (H$=»N») THEN 420 ELSE 340 365 \\ 370 \\ TRAITEMENT DES
CONDUCTIVITES 375 \\ 380 MAX1=0
39
385 FOR 1=1 TO LM 390 IF IC(I)=9999 THEN 405 400 IF IC(I»MAX1 THEN
MAX1=IC(I) 405 NEXT l 410 ZY1=MAX1:ZY4=0 420 \\ 425 \\ TRAITEMENT
DES HAUTEURS D"EAU 430 \\ 435 \\ 440 MAX2=0 445 FOR 1=1 TO KM 450
IF IH(I»MAX2 THEN MAX2=IH(I) 455 NEXT l 460 ZY2=MAX2:ZY3=0 465
SCREEN 2:ZX=45/1440 470 LINE (0,0)-(639,199)"B 475 LINE
(70,180)-(565,180):LINE (70,180)-(70,30):LINE (565,180) (565,30)
476 IF (H$=»o») OR (H$=»O») THEN 477 ELSE 480 477 GOSUB 3070 480 \\
490 \\ Tracé de la courbe des hauteurs d"eau 500 \\ 580 FOR 1=1 TO
KM:IF ZY3>IH(I»ZY2 THEN 610 590
X=(ZX*IT(I»+70:Y=180-(150*((IH(I)-ZY3)/(ZY2-ZY3») 600 PSET (X, Y),l
610 NEXT l 620 \\ 630 \\ Optimisation des échelles sur le graphique
640 \\ 660 A2=10 A (INT(LOG(ZY2-ZY3)/LOG(10») 720 FOR J=O TO
INT((ZY2-ZY3)/A2):IF 150«A2*J*150/(ZY2-ZY3» THEN 741 730 LINE
(568,180-(A2*J*150/(ZY2-ZY3»)-(565,180-(A2*J*150/(ZY2 ZY3) » 733
IF (H$=»o») OR (H$=»O») THEN 740 ELSE 736 736 LINE
(67,180-(A2*J*150/(ZY2-ZY3»)-(70,180-(A2*J*150/(ZY2-ZY3») 740 NEXT
J 741 G=(150/8)/(J-1) 742 FOR K=O TO J:IF 150«A2*K*150/(ZY2-ZY3»
THEN 750 743 P(K)=ZY3+A2*K:LOCATE (23-(G*K»,73:PRINT P(K) 744 IF
(H$=»o») OR (H$=»O») THEN 747 ELSE 745 745 LOCATE (23-(G*K»,2:PRINT
P(K) 747 IF J=2 THEN 748 ELSE 749 748 G=INT((A2*150/(ZY2-ZY3»/8)
749 NEXT K 750 LOCATE 2,71:PRINT «H, cm» 753 IF (H$=»o») OR
(H$=»O») THEN 760 ELSE 756 756 LOCATE 2,9: PRINT «H, cm» 760 LOCATE
2,30:PRINT «Fichier: «iF 770 IF XJO<ll THEN 780 ELSE 800 780
LOCATE 24,12:PRINT «1»; :LOCATE 24,17:PRINT «2»; :LOCATE
24,23:PRINT «3»; :LOCATE 24,28 :PRINT «4»; :LOCATE 24,34 :PRINT
«5»; :LOCATE 24,40 :PRINT «6»; :LOCATE 24,45: PRINT «7»;: LOCATE
24,51: PRINT «8»;:LOCATE 24,56: PRINT «9»;:LOCATE 24,62:PRINT
«10»;: 790 GOTO 850 800 IF XJO>20 THEN 830 ELSE 810 810 LOCATE
24,12:PRINT «11»;:LOCATE 24,17:PRINT «12»;:LOCATE 24,23 :PRINT
«13»; :LOCATE 24,28:PRINT «14»; :LOCATE 24,34:PRINT «15»; :LOCATE
24,40:PRINT «16»i:LOCATE 24,45:PRINT «17»;:LOCATE 24,51:PRINT
40
«18»;:LOCATE 24,56:PRINT «19»;:LOCATE 24,62:PRINT «20»;: 820 GOTO
850 830 LOCATE 24,12:PRINT «21»; :LOCATE 24,17:PRINT «22»; :LOCATE
24,23 :PRINT «23»;:LOCATE 24,28:PRINT «24»;:LOCATE 24,34:PRINT
«25»;:LOCATE 24,40:PRINT «26»;:LOCATE 24,45:PRINT +c27»;:LOCATE
24,51:PRINT «28»; :LOCATE 24,56:PRINT «29»; :LOCATE 24,62:PRINT
«30»;: 840 LOCATE 24,68:PRINT «31»;: 850 LINE
(115,180)-(115,183):LINE (160,180)-(160,183):LINE (205,180)
(205,183):LINE (250,l80)-(250,183):LINE (295,l80)-(295,183):LINE
(340,180)-(340,183):LINE (385,180)-(385,183):LINE
(430,180)-(430,183) :LINE (475,180)-(475,183):LINE
(520,180)-(520,183) 860 LOCATE 3,30:PRINT A$ 870 \\ 880 \\ Option
ZOOM 890 \\ 900 X$=»»:WHILE X$=»»:X$=INKEY$:WEND 905 IF (H$=»o») OR
(H$=»O») THEN 910 ELSE 990 910 SCREEN O:LOCATE 3,5: INPUT
«Voulez-vous effectuer un ZOOM sur les conductivités?
(O/N)>>;I$ 920 IF (I$=»N») OR (I$=»n») THEN 990 925 IF
(1$=»0») OR (1$=»0») THEN 970 ELSE 910 970 LOCATE 6,10:INPUT
«Valeur maximale souhaitée: «;ZY1 980 LOCATE 8,10:INPUT «Valeur
minimale souhaitée: «;ZY4 985 IF ZY4>=ZY1 THEN 987 ELSE 990 987
LOCATE 11,15:PRINT «ATTENTION: valeur minimale>=valeur maximale
••• »:GOTO 970 990 SCREEN O:LOCATE 15,5:INPUT ~~Voulez-vous
effectuer un ZOOM sur les hauteurs d'eau? (O/N)>>;T$ 993 IF
(T$=»N») OR (T$=»n») THEN 994 ELSE 996 994 IF (H$=»N») OR (H$=»n»)
THEN I$=»N» 995 IF (I$=»N») OR (I$=»n») THEN 1040 ELSE 1030 996 IF
(T$=»O») OR (T$=»o») THEN 997 ELSE 990 997 LOCATE 18,10:INPUT
«Valeur maximale souhaitée: «;ZY2 998 LOCATE 20,10:INPUT «Valeur
minimale souhaitée: «;ZY3 999 IF ZY3>=ZY2 THEN 1000 ELSE 1030
1000 LOCATE 23,15: PRINT «ATTENTION: valeur minimale>=valeur
maximale ••• »:GOTO 997 1030 GOTO 465 1040 CLS:PRINT :PRINT :PRINT
«FRAPPER LA BARRE POUR CONTINUER»:PRINT :PRINT :PRINT «Et patientez
quelques instants ••• » 1050 X$=INKEY$:IF X$=»» THEN 1050 1060
CHAIN «MENU.BAS»,345 1070 \\ 1080 \\ 1090 \\ 3070 \\ 3080 \\ Tracé
de la courbe des conductivités 3090 \\ 3110 FOR 1=1 TO LM:IF
ZY4>IC(I»ZY1 THEN 3150 3130
X=(ZX*TT(I»+70:Y=180-(150*«IC(I)-ZY4)/(ZY1-ZY4») 3140 PSET (X,Y),l
3150 NEXT l 3160 \\ 3170 \\ optimisation de l"échelle des
conductivités 3180 \\ 3185 A1=10 A {INT(LOG(ZY1-ZY4)/LOG(10») 3190
FOR J=O TO INT«ZY1-ZY4)/A1):IF 150«A1*J*150/(ZY1-ZY4» THEN 3210
3200 LINE (67,180-(A1*J*150/(ZY1-ZY4»)-(70,180-(A1*J*150/(ZY1 ZY4»
)
41
3205 NEXT J 3210 G=(150/8)/(J-1) 3215 FOR K=O TO J:IF
150«A1*K*150/(ZY1-ZY4» THEN 3230 3220 P(K)=ZY4+A1*K:LOCATE
(23-(G*K»,2:PRINT P(K) 3221 IF J=2 THEN 3223 ELSE 3225 3223
G=INT«Al*150/(ZY1-ZY4»/8) 3225 NEXT K 3230 LOCATE 2,9:PRINT «CE,
~S.cm-l (x100)>> 3240 RETURN
42
A.4.6. Programme GRHCJO.BAS
10 \\-------------------------- GRHCJO ------------------------ 20
\ \ 30 \\ 40 \ \---- SORTIE GRAPHIQUE D' 'UNE JOURNEE
D'ENREGISTREMENT CHLOB (H et EC) ------ 50 \\ 60 \\ 70
\\------------------------------------------------------------
100 SCREEN O:CLS:COLOR 0,7:PRINT« SORTIE GRAPHIQUE D'UNE JOURNEE (H
ET EC) «:COLOR 7,O:PRINT :PRINT :PRINT 110 DEFINT I-L,X:DEFSTR F,S
120 DIM IC(1000),IT(1000),IH(1000),TT(1000) 123 \\ 124 \\ LECTURE
DU FICHIER DE DONNEES 125 \\ 130 INPUT»LE NOM DU FICHIER DECADAIRE
AVEC SON EXTENSION (.DEA OU .DEB) «;F 140 PRINT:PRINT:PRINT:INPUT
«Quel JOUR voulez-vous «;JJO 150 OPEN «I»,I1,F 160 K=O 170 IF
EOF(l) THEM 250 180 INPUT Il,XJO,XHE,XMI,XH 190 IF XMI=O OR XMI=30
THEN 200 ELSE 213 200 INPUT Il,XCO,XTE 213 IF XJO<JJO THEN 170
216 IF XJO>JJO THEN 250 217 IF XMI=O OR XMI=30 THEN 218 ELSE 220
218 L=L+1:IC(L)=XCO:TT(L)=XHE*60+XMI 220 K=K+1:IH(K)=XH 230
IT(K)=XHE*60+XMI 240 GOTO 170 250 CLOSE 1 260 \\ 270 \\ SORTIE
GRAPHIQUE DES HAUTEURS D"EAU ET CONDUCTIVITES DE LA JOURNEE 280 \\
290 KM=K: LM=L 300 CLS 310 KEY OFF 320 PRINT : PRINT : PRINT «SI
VOUS DESIREZ LA SORTIE DU GRAPHIQUE SUR IMPRIMANTE»:PRINT :PRINT
«TAPER LES TOUCHES <Shift> et <PrtSc> AU MOMENT OU LE
GRAPHIQUE EST A L'ECRAN»:PRINT :PRINT :PRINT «SINON FRAPPER LA
BARRE» 330 LOCATE 15,l:INPUT «Souhaitez-vous un titre au graphique?
(0/ N)>>;H$ 335 IF (H$=»o») OR (H$=»O») THEN 337 336 IF
(H$=»n») OR (H$=»N») THEN 340 ELSE 330 337 LOCATE 17,25: INPUT
«TITRE: «; A$ 340 LOCATE 20,1: INPUT «Voulez-vous exploiter les
données conducti vimétriques ? (OIN)>> ;H$ 350 IF (H$=»o»)
OR (H$=»O») THEN 365 360 IF (H$=»n») OR (H$=»N») THEN 420 ELSE 340
365 \\ 370 \\ TRAITEMENT DES CONDUCTIVITES 375 \\ 380 MAX1=0
43
385 FOR 1=1 TO LM 390 IF IC(I)=9999 THEN 405 400 IF IC(I»MAX1 THEN
MAX1=IC(I) 405 NEXT l 410 ZY1=MAX1:ZY4=0 420 \\ 425 \ \ TRAITEMENT
DES HAUTEURS D" EAU 430 \\ 435 \\ 440 MAX2=0 445 FOR 1=1 TO
IQ(
450 IF IH(I»MAX2 THEN MAX2=IH(I) 455 NEXT l 460 ZY2=MAX2:ZY3=0 465
SCREEN 2:ZX=20/60 470 LINE (0,0)-(639,199)"B 475 LINE
(80,180)-(560,180):LINE (80,180)-(80,30):LINE (560,180) (560,30)
476 IF (H$=»o») OR (H$=»O») THEN 477 ELSE 480 477 GOSUB 3070 480 \\
490 \\ Tracé de la courbe des hauteurs d"eau 500 \\ 580 FOR 1=1 TO
KM:IF ZY3>IH(I»ZY2 THEN 610 590
X=(ZX*IT(I»+80:Y=180-(150*«IH(I)-ZY3)/(ZY2-ZY3») 600 PSET (X,Y),1
610 NEXT l 620 \\ 630 \\ Optimisation des échelles sur le graphique
640 \\ 660 A2=10 A (INT(LOG(ZY2-ZY3)/LOG(10») 720 FOR J=O TO
INT«ZY2-ZY3)/A2):IF 150«A2*J*150/(ZY2-ZY3» THEN 741 730 LINE
(563,180-(A2*J*150/(ZY2-ZY3»)-(560,180-(A2*J*150/(ZY2 ZY3») 733 IF
(H$=»o») OR (H$=»O») THEN 740 ELSE 736 736 LINE
(77,180-(A2*J*150/(ZY2-ZY3»)-(80,180-(A2*J*150/(ZY2-ZY3») 740 NEXT
J 741 G=(150/8)/(J-1) 742 FOR K=O TO J:IF 150«A2*K*150/(ZY2-ZY3»
THEN 750 743 P(K)=ZY3+A2*K:LOCATE (23-(G*K»,73:PRINT P(K) 744 IF
(H$=»o») OR (H$=»O») THEN 747 ELSE 745 745 LOCATE (23-(G*K»,4:PRINT
P(K) 747 IF J=2 THEN 748 ELSE 749 748 G=INT«A2*150/(ZY2-ZY3»/8) 749
NEXT K 750 LOCATE 2,70:PRINT «H, cm» 753 IF (H$=»o») OR (H$=»O»)
THEN 760 ELSE 756 756 LOCATE 2,10:PRINT «H, cm» 760 LOCATE
2,30:PRINT «Fichier: «;F:LOCATE 2,55:PRINT «( J=»;JJOP»» 780 LOCATE
24,10:PRINT «Oh»;:LOCATE 24,25:PRINT «6h»;:LOCATE 24,40 :PRINT
«12h»;:LOCATE 24,55:PRINT «18h»;:LOCATE 24,70:PRINT «24h»; 850 LINE
(200,180)-(200,183):LINE (320,180)-(320,183):LINE (440,180)
(440,183) 851 T=20:H=80 852 FOR J=O TO 3:Z=H+6*T*J 853 FOR 1=1 TO
5:B1=Z+T*I:LINE (B1,180)-(Bl,178):NEXT l 854 NEXT J 860 LOCATE
3,30:PRINT A$ 870 \\ 880 \\ option ZOOM
44
890 \\ 900 X$=»»:WHILE X$=»»:X$=INKEY$:WEND 905 IF (H$=»o») OR
(H$=»O») THEN 910 ELSE 990 910 SCREEN 0: LOCATE 3,5: INPUT
«Voulez-vous effectuer un ZOOM sur les conductivités?
(O!N)>>;I$ 920 IF (I$=»N») OR (I$=»n») THEN 990 925 IF
(1$=»0») OR (1$=»0») THEN 970 ELSE 910 970 LOCATE 6,10:INPUT
«Valeur maximale souhaitée: «;ZY1 980 LOCATE 8,10:INPUT «Valeur
minimale souhaitée: «;ZY4 985 IF ZY4>=ZY1 THEM 987 ELSE 990 987
LOCATE 11,15:PRINT «ATTENTION: valeur minimale>=valeur maximale
••• »:GOTO 970 990 SCREEN O:LOCATE 15,5:INPUT «Voulez-vous
effectuer un ZOOM sur les hauteurs d'eau? (O/N)>>;T$ 993 IF
(T$=»N») OR (T$=»n») THEN 994 ELSE 996 994 IF (H$=»N») OR (H$=»n»)
THEN I$=»N» 995 IF (I$=»N») OR (I$=»n») THEN 1040 ELSE 1030 996 IF
(T$=»O») OR (T$=»o») THEN 997 ELSE 990 997 LOCATE 18,10:INPUT
«Valeur maximale souhaitée: «;ZY2 998 LOCATE 20,10:INPUT «Valeur
minimale souhaitée: «;ZY3 999 IF ZY3>=ZY2 THEN 1000 ELSE 1030
1000 LOCATE 23,15:PRINT «ATTENTION: valeur minimale>=valeur
maximale .•. »:GOTO 997 1030 GOTO 465 1040 CLS:PRINT :PRINT :PRINT
«FRAPPER LA BARRE POUR CONTINUER»:PRINT : PRINT : PRINT «Et
patientez quelques instants ••• » 1050 X$=INKEY$: IF X$=»» THEN
1050 1060 CHAIN «MENU.BAS»,345 1070 \\ 1080 \\ 1090 \\ 3070 \\ 3080
\\ Tracé de la courbe des conductivités 3090 \\ 3110 FOR 1=1 TO
LM:IF ZY4>IC(I»ZY1 THEN 3150 3130
X=(ZX*TT(I»+80:Y=180-(150*«IC(I)-ZY4)/(ZY1-ZY4») 3140 PSET (X,Y),l
3150 NEXT l 3160 \\ 3170 \\ Optimisation de l"échelle des
conductivités 3180 \\ 3185 A1=10 A (INT(LOG(ZY1-ZY4)/LOG(10») 3190
FOR J=O TO INT«ZY1-ZY4)/A1):IF 150«A1*J*150/(ZY1-ZY4» THEN 3210
3200 LINE (77,180-(A1*J*150/(ZY1-ZY4»)-(80,180-(A1*J*150/(ZY1 ZY4»
) 3205 NEXT J 3210 G=(150/8)/(J-1) 3215 FOR K=O TO J:IF
150«A1*K*150/(ZY1-ZY4» THEN 3230 3220 P(K)=ZY4+A1*K:LOCATE
(23-(G*K»,4:PRINT P(K) 3221 IF J=2 THEN 3223 ELSE 3225 3223
G=INT«A1*150/(ZYI-ZY4»/8) 3225 NEXT K 3230 LOCATE 2,10:PRINT «CE,
~S.cm-l (x100») 3240 RETURN
45
50 \\ 60 "---------------- HAUTEURS D"EAU DE 2 SONDES SPI PAR
DECADE
70 \\ 80 \\ 90 \\ 100 SCREEN O:CLS:COLOR O,7:PRINT ce SORTIE
GRAPHIQUE D'UNE DECADE (2 sondes SPI) <e:COLOR 7,O:PRINT :PRINT
:PRINT 110 DEFINT I-M,X:DEFSTR F,E 120 DIM
IT(3000),IH(3000),TT(3000),TH(3000) 123 " 124 " LECTURE DES
FICHIERS DE DONNEES 125 ,\ 130 LOCATE 5,3:PRINT «NOMS DES FICHIERS
RELATIFS A UNE MEME DECADE AVEC LEUR EXTENSION (.DEA OU .DEB)
ce
135 LOCATE 8,15: INPUT «Première sonde SPI: «; F: ID=VAL(MID$ (F
,8,1» 1 136 LOCATE 10,15:INPUT« Seconde sonde SPI:
«;E:IE=VAL(MID$(E,8,l» 1 140 IF ID=IE THEN 150 ELSE 145 145 LOCATE
20,10:PRINT «ATTENTION! Les fichiers n'appartiennent pas à la même
décade ••• »:GOTO 130 150 OPEN «I»,#l,F 160 K=O 170 IF EOF(l) THEN
245 180 INPUT #l,XJO,XHE,XMI,XH 190 IF XMI=O OR XMI=30 THEN 200
ELSE 220 200 INPUT #l,XCO,XTE 220 K=K+1:IH(K)=XH 230
IT(K)=((XJO-ID*10)-1)*1440+XHE*60+XMI 240 GOTO 170 245 CLOSE 1 251
OPEN «I»,#2,E 252 L=O 253 IF EOF(2) THEN 275 254 INPUT
#2,XJ,XHH,XM,XE 255 IF XM=O OR XM=30 THEN 256 ELSE 258 256 INPUT
#2,XC,XT 258 L=L+1:TH(L)=XE 259 TT(L)=((XJ-IE*10)-1)*1440+XHH*60+XM
260 GOTO 253 275 CLOSE 2 277 \\ 278 \\ SORTIE GRAPHIQUE DES
HAUTEURS D"EAU DE LA DECADE 280 ,\ 290 KM=K:LM=L 300 CLS 310 KEY
OFF 320 PRINT :PRINT :PRINT «SI VOUS DESIREZ LA SORTIE DU GRAPHIQUE
SUR IMPRIMANTE»:PRINT :PRINT «TAPER LES TOUCHES <Shift> et
<PrtSc> AU MOMENT OU LE GRAPHIQUE EST A L'ECRAN»:PRINT :PRINT
:PRINT «SINON
46
FRAPPER LA BARRE» 330 LOCATE 15,1:INPUT «Souhaitez-vous un titre au
graphique? (0/ N)) ;H$ 335 IF (H$=»o») OR (H$=»O») THEN 337 336 IF
(H$=»n») OR (H$=»N») THEN 380 ELSE 330 337 LOCATE 17,25:INPUT
«TITRE: «;A$ 380 MAX1=0 390 FOR I=l TO KM 420 IF IH(I»MAX1 THEN
MAX1=IH(I) 430 NEXT l 432 MAX2=0 434 FOR J=l TO LM 436 IF TH(J»MAX2
THEN MAX2=TH(J) 438 NEXT J 440 ZY1=MAX1:ZY2=MAX2:ZY3=0 444 IF
ZY1>ZY2 THEN 446 ELSE 448 446 ZY=ZY1:GOTO 450 448 ZY=ZY2 450
SCREEN 2:ZX=45/1440 460 LINE (0,0)-(639,199)"B 470 LINE
(70,180)-(565,180):LINE (70,180)-(70,30):LINE (565,180) (565,30)
480 \\ 490 \\ Tracé de la courbe des hauteurs d"eau 500 \\ 580 FOR
I=l TO KM:IF ZY3>IH(I»ZY THEN 610 590
X=(ZX*IT(I))+70:Y=180-(150*((IH(I)-ZY3)/(ZY-ZY3))) 600 PSET (X,Y),l
610 NEXT l 612 FOR J=l TO LM:IF ZY3>TH(J»ZY THEN 618 614
X=(ZX*TT(J))+70:Y=180-(150*((TH(J)-ZY3)/(ZY-ZY3))) 616 PSET (X,Y),l
618 NEXT J 620 \\ 630 \\ Optimisation des échelles sur le graphique
640 \\ 660 A2=10 A (INT(LOG(ZY-ZY3)/LOG(10))) 720 FOR J=O TO INT(
(ZY-ZY3)/A2) :IF 150«A2*J*150/(ZY-ZY3)) THEN 741 730 LINE
(568,180-(A2*J*150/(ZY-ZY3)))-(565,180-(A2*J*150/(ZY-ZY3))) 735
LINE (67,180-(A2*J*150/(ZY-ZY3)))-(70,180-(A2*J*150/(ZY-ZY3))) 740
NEXT J 741 G=(150/8)/(J-1) 743 FOR K=O TO J:IF
150«A2*K*150/(ZY-ZY3)) THEN 750 744 P(K)=ZY3+A2*K:LOCATE
(23-(G*K)),73:PRINT P(K):LOCATE (23 (G*K)),2:PRINT P(K) 745 IF J=2
THEN 746 ELSE 747 746 G=INT((A2*150/(ZY-ZY3))/8) 747 NEXT K 750
LOCATE 2,71:PRINT «H, cm»:LOCATE 2,9:PRINT «H, cm» 760
V$=MID$(F,1,8):LOCATE 2,30:PRINT «Fichier: «;V$ 770 IF XJO<ll
THEN 780 ELSE 800 780 LOCATE 24,12:PRINT «l»;:LOCATE 24,17:PRINT
«2»;:LOCATE 24,23:PRINT «3»; :LOCATE 24,28 :PRINT «4»; :I.OCATE
24,34 :PRINT «5»; :LOCATE 24,40:PRINT «6»; :I.OCATE 24,45:PRINT
«7»; :LOCATE 24,51:PRINT «8»; :LOCATE 24,56:PRINT «9»;:LOCATE
24,62:PRINT «10»;: 790 GOTO 850 800 IF XJO>20 THEN 830 ELSE 810
810 LOCATE 24,12:PRINT «11»; :LOCATE 24,17:PRINT «12»; : LOCATE
24,23 :PRINT «13»; :LOCATE 24,28 :PRINT «14»; :LOCATE 24,34 :PRINT
«15»; :LOCATE 24,40:PRINT «16»;:LOCATE 24,45:PRINT «17»;:LOCATE
24,51:PRINT
47
«18»;:LOCATE 24,56:PRINT «19»;:LOCATE 24,62:PRINT «20»;: 820 GOTO
850 830 LOCATE 24,12:PRINT «21»;:LOCATE 24,17:PRINT «22»;:LOCATE
24,23 :PRINT «23»;:LOCATE 24,28:PRINT «24»;:LOCATE 24,34:PRINT
«25»;:LOCATE 24,40:PRINT «26»;:LOCATE 24,45:PRINT «27»i:LOCATE
24,51:PRINT «28»; : LOCATE 24,56: PRINT «29»;: LOCATE 24,62: PRINT
«30»;: 840 LOCATE 24,68:PRINT «31»;: 850 LINE
(115,180)-(115,183):LINE (160,180)-(160,183):LINE (205,180)
(205,183):LINE (250,180)-(250,183):LINE (295,180)-(295,183):LINE
(340,180)-(340,183):LINE (385,180)-(385,183):LINE
(430,180)-(430,183) :LINE (475,180)-(475,183):LINE
(520,180)-(520,183) 860 LOCATE 3,30:PRINT A$ 870 \\ 880 \\ Option
ZOOM 890 \\ 900 X$=»»:WHILE X$=»»:X$=INKEY$:WEND 910 SCREEN 0:
LOCATE 5,5: INPUT «Voulez-vous effectuer un ZOOM sur les hauteurs
d'eau? (O/N)>>;H$ 920 IF (H$=»N») OR (H$=»n») THEN 1040 925
IF (H$=»o») OR (H$=»O») THEN 970 ELSE 910 970 LOCATE 10,10:INPUT
«Valeur maximale souhaitée: «;ZY 980 LOCATE 12,10:INPUT «Valeur
minimale souhaitée: «;ZY3 985 IF ZY3>=ZY THEN 987 ELSE 1030 987
LOCATE 20,15: PRINT «ATTENTION: valeur minimale>=valeur maximale
•.• »:GOTO 970 1030 GOTO 450 1040 CLS: PRINT : PRINT : PRINT
«FRAPPER LA BARRE POUR CONTINUER»: PRINT :PRINT :PRINT «Et
patientez quelques instants •.. » 1050 X$=INKEY$:IF X$=»» THEN 1050
1060 CHAIN «MENU.BAS»,345
48
50 " 60 "---------------- HAUTEURS D"EAU DE 2 SONDES SPI PAR JOUR
--
70 \\ 80 \\ 90 \\ 100 SCREEN O:CLS:COLOR 0,7:PRINT« SORTIE
GRAPHIQUE D'UNE JOURNEE (2 sondes SPI) «:COLOR 7,0:PRINT :PRINT
:PRINT 110 DEFINT I-M,X:DEFSTR F,E 120 DIM
IT(2000},IH(2000},TT(2000),TH(2000} 123 " 124 ,\ LECTURE DES
FICHIERS DE DONNEES 125 ,\ 130 LOCATE 5,3:PRINT «NOMS DES FICHIERS
RELATIFS A UNE MEME DECADE AVEC LEUR EXTENSION (.DEA OU .DEB) « 135
LOCATE 8,15:INPUT «Première sonde SPI: «;F:ID=VAL(MID$(F,8,1}} 1
136 LOCATE 10,15:INPUT« Seconde sonde SPI: cc;E:IE=VAL(MID$(E,8,1»
1 140 IF ID=IE THEN 147 ELSE 145 145 LOCATE 20,10:PRINT «ATTENTION!
Les fichiers n'appartiennent pas à la même décade ••• »:GOTO 130
147 LOCATE 15,3:INPUT «Quel JOUR voulez-vous cc;JJO 150 OPEN
ccI»,/1,F 160 K=O 170 IF EOF(l} THEN 245 180 INPUT
#l,XJO,XHE,XMI,XH 190 IF XMI=O OR XMI=30 THEN 200 ELSE 210 200
INPUT Il,XCO,XTE 210 IF XJO<JJO THEN 170 215 IF XJO>JJO THEN
245 220 K=K+l:IH(K}=XH 230 IT(K}=XHE*60+XMI 240 GOTO 170 245 CLOSE
1 251 OPEN ccI»,#2,E 252 L=O 253 IF EOF(2} THEN 275 254 INPUT
#2,XJ,XHH,XM,XE 255 IF XM=O OR XM=30 THEN 257 ELSE 259 257 INPUT
#2,XC,XT 259 IF XJ<JJO THEN 253 261 IF XJ>JJO THEN 275 263
L=L+1:TH(L)=XE 265 TT(L)=XHH*60+XM 270 GOTO 253 275 CLOSE 2 277 \\
278 \, SORTIE GRAPHIQUE DES HAUTEURS D" EAU DE LA JOURNEE 280 \\
290 KM=K:LM=L
49
300 CLS 310 KEY OFF 320 PRINT :PRINT :PRINT «SI VOUS DESIREZ LA
SORTIE DU GRAPHIQUE SUR IHPRIMANTE»:PRINT :PRINT «TAPER LES TOUCHES
<Shift> et <PrtSc> AU MOMENT OU LE GRAPHIQUE EST AL'
ECRAN» : PRINT : PRINT :PRINT «SINON FRAPPER LA BARRE» 330 LOCATE
15,1:INPUT «Souhaitez-vous un titre au graphique? (0/ N»);H$ 335 IF
(H$=»o») OR (H$=»O») THEN 337 336 IF (H$=»n») OR (H$=»N») THRN 380
ELSE 330 337 LOCATE 17,25:INPUT «TITRE: <qA$ 380 MAX1=0 390 FOR
1=1 TO KM 420 IF IH(I»MAX1 THEN MAX1=IH(I) 430 NEXT l 432 MAX2==0
434 FOR J=1 TO LM 436 IF TH(J»MAX2 THEN MAX2=TH(J) 438 NEXT J 440
ZY1=MAX1:ZY2=MAX2:ZY3=0 444 IF ZY1>ZY2 THEM 446 ELSE 448 446
ZY=ZY1:GOTO 450 448 ZY=ZY2 450 SCREEN 2:ZX=20/60 460 LINE
(0,0)-(639,199)"B 470 LINE (80,180)-(560,180):LINE
(80,180)-(80,30):LINE (560,180) (560,30) 480 \\ 490 \\ Tracé de la
courbe des hauteurs d"eau 500 \\ 580 FOR 1=1 TO KM:IF
ZY3>IH(I»ZY THEN 610 590
X=(ZX*IT(I»+80:Y=180-(150*((IH(I)-ZY3)/(ZY-ZY3») 600 PSET (X,Y),1
610 NEXT l 612 FOR J=1 TO LM:IF ZY3>TH(J»ZY THEM 618 614
X=(ZX*TT(J»+80:Y=180-(150*((TH(J)-ZY3)/(ZY-ZY3») 616 PSET (X,Y),1
618 NEXT J 620 \\ 630 \\ Optimisation des échelles sur le graphique
640 \\ 660 A2=10 A (INT(LOG(ZY-ZY3)/LOG(10») 720 FOR J=O TO
INT((ZY-ZY3)/A2):IF 150«A2*J*150/(ZY-ZY3» THEN 741 730 LINE
(563,180-(A2*J*150/(ZY-ZY3»)-(560,180-(A2*J*150/(ZY-ZY3») 735 LINE
(77,180-(A2*J*150/(ZY-ZY3»)-(80,180-(A2*J*150/(ZY-ZY3») 740 NEXT J
741 G=(150/8)/(J-1) 743 FOR K=O TO J:IF 150«A2*K*150/(ZY-ZY3» THEN
750 744 P(K)=ZY3+A2*K:LOCATE (23-(G*K»,73:PRINT P(K):LOCATE (23
(G*K»,2:PRINT P(K) 745 IF J=2 THEN 746 ELSE 747 746
G=INT((A2*150/(ZY-ZY3»/8) 747 NEXT K 750 LOCATE 2,70:PRINT «H,
cm»:LOCATE 2,10:PRINT «H, cm» 760 V$=MID$(F,1,8):LOCATE 2,30:PRINT
«Fichier: «;V$:LOCATE 2,55:PRINT « ( J=» ;JJO;»») 780 LOCATE
24,10:PRINT «Oh»; : LOCATE 24,25:PRINT «6h»; :LOCATE 24,40 :PRINT
«12h»;:LOCATE 24,55:PRINT «18h»;:LOCATE 24,70:PRINT «24h»; 850 LINE
(200,180)-(200,183):LINE (320,180)-(320,183):LINE (440,180)
(440,183)
50
851 B2=20:H=80 852 FOR J=O TO 3:Z=H+6*B2*J 853 FOR 1=1 TO
5:B1=Z+B2*I:LINE (B1,180)-(Bl,178):NEXT l 854 NEXT J 860 LOCATE
3,30:PRINT A$ 870 " 880" Option ZOOM 890 " 900 X$=»»:WHILE
X$=»»:X$=INKEY$:WEND 910 SCREEN O:LOCATE 5,5:INPUT «Voulez-vous
effectuer un ZOOM sur les hauteurs d'eau? (O/N)>>iH$ 920 IF
(H$=»N~») OR (H$=»n») THEN 1040 925 IF (H$=»o») OR (H$~)~») THEM
970 ELSE 910 970 LOCATE 10,10:INPUT «Valeur maximale souhaitée:
«iZY 980 LOCATE 12,10:INPUT «Valeur minimale souhaitée: «iZY3 985
IF ZY3>=ZY2 THEN 987 ELSE 1030 987 LOCATE 20,15 :PRINT
«ATTENTION: valeur minimale>=valeur maximale ••• »:GOTO 970 1030
GOTO 450 1040 CLS:PRINT :PRINT :PRINT «FRAPPER LA BARRE POUR
CONTINUER»:PRINT :PRINT :PRINT «Et patientez quelques instants •••
» 1050 X$=INKEY$:IF X$=»» THEN 1050 1060 CHAIN «MENU.BAS»,345
51
50 \\ 60 "---------------------------- PAR DECADE (T ET EC)
--------
70 \\ 80 " 90 \\ 100 SCREEN O:CLS:COLOR 0,7:PRINT« SORTIE GRAPHIQUE
D'UNE DECADE (T ET EC) «:COLOR 7,O:PRINT :PRINT :PRINT 110 DEFINT
I-L,X:DEFSTR F,S 120 DIM IC(4200),IT(4200),T(4200) 123 " 124 "
LECTURE DU FICHIER DE DONNEES 125 " 130 INPUT»LE NOM DU FICHIER
DECADAIRE AVEC SON EXTENSION (.DEA OU .DEB) «;F 140
ID=VAL(MID$(F,8,l»-1 150 OPEN «I»,#l,F 160 K=O 170 IF EOF(l) THEN
250 180 INPUT #l,XJO,XHE,XMI,XH 190 IF XMI=O OR XMI=30 THEN 200
ELSE 170 200 INPUT Il,XCO,XTE 220 K=K+1:IC(K)=XCO:T(K)=XTE 230
IT(K)=((XJO-ID*10)-1)*1440+XHE*60+XMI 240 GOTO 170 250 CLOSE 1 260
" 270" SORTIE GRAPHIQUE DES TEMPERATURES ET CONDUCTIVITES DE LA
DECADE 280 " 290 KM=K 300 CLS 310 KEY OFF 320 PRINT :PRINT :PRINT
«SI VOUS DESIREZ LA SORTIE DU GRAPHIQUE SUR IMPRlMANTE»:PRINT
:PRINT «TAPER LES TOUCHES <Shift> et <PrtSc> AU MOMENT
OU LE GRAPHIQUE EST A L'ECRAN»:PRINT :PRINT :PRINT «SINON FRAPPER
LA BARRE» 330 LOCATE 15,1:INPUT «Souhaitez-vous un titre au
graphique? (01 N)>>;H$ 335 IF (H$=»o») OR (H$=»O») THEN 337
336 IF (H$=»n») OR (H$=»N») THEN 340 ELSE 330 337 LOCATE
17,25:INPUT «TITRE: «;A$ 340 LOCATE 20,l:INPUT «Voulez-vous
exploiter les données conducti vimétriques ? (O/N)>> ;H$ 350
IF (H$=»o») OR (H$=»O») THEN 365 360 IF (H$=»n») OR (H$=»N») THEN
420 ELSE 340 365 " 370" TRAITEMENT DES CONDUCTIVITES 375 " 380
MAX1=0 385 FOR 1=1 TO KM
52
390 IF IC(I)=9999 THEN 405 400 IF IC(I»MAX1 THEM MAX1=IC(I) 405
NEXT l 410 ZY1=MAX1:ZY4=0 420 \\ 425 \\ TRAITEMENT DES HAUTEURS
D"EAU 430 \\ 435 \\ 440 MAX2=0 445 FOR 1=1 TO KM 450 IF T(I»MAX2
THEN MAX2=T(I) 455 NEXT l 460 ZY2=MAX2:ZY3=0 465 SCREEN
2:ZX=45/1440 470 LINE (0,0)-(639,199)"B 475 LINE
(70,180)-(565,180):LINE (70,180)-(70,30):LINE (565,180) (565,30)
476 IF (H$=»o») OR (H$=»O») THEN 477 ELSE 480 477 GOSUB 3070 480 \\
490 \\ Tracé de la courbe des températures 500 \\ 580 FOR 1=1 TO
KM:IF ZY3>T(I»ZY2 THEN 610 590
X=(ZX*IT(I»+70:Y=180-(150*((T(I)-ZY3)/(ZY2-ZY3») 600 PSET (X,Y),l
610 NEXT l 620 \\ 630 \\ Optimisation des échelles sur le graphique
640 \\ 660 A2=10 A (INT(LOG(ZY2-ZY3)/LOG(10») 720 FOR J=O TO
INT((ZY2-ZY3)/A2):IF 150«A2*J*150/(ZY2-ZY3» THEN 741 730 LINE
(568,180-(A2*J*150/(ZY2-ZY3»)-(565,180-(A2*J*150/(ZY2 ZY3» ) 733
IF (H$=»o») OR (H$=»O») THEN 740 ELSE 736 736 LINE
(67,180-(A2*J*150/(ZY2-ZY3»)-(70,180-(A2*J*150/(ZY2-ZY3») 740 NEXT
J 741 G=(150/8)/(J-1) 742 FOR K=O TO J:IF 150«A2*K*150/(ZY2-ZY3»
THEN 750 743 P(K)=ZY3+A2*K:LOCATE (23-(G*K»,73:PRINT P(K) 744 IF
(H$=»o») OR (H$=»O») THEN 747 ELSE 745 745 LOCATE (23-(G*K»,2:PRINT
P(K) 747 IF J=2 THEN 748 ELSE 749 748 G=INT((A2*150/(ZY2-ZY3»/8)
749 NEXT K 750 LOCATE 2,71:PRINT «T»:LOCATE 3,71:PRINT «oc
(xO.1)>> 753 IF (H$=»o») OR (H$=»O») THEN 760 ELSE 756 756
LOCATE 2,9:PRINT «T»:LOCATE 3,9:PRINT «oc (xO.1)>> 760 LOCATE
2,30:PRINT «Fichier: «;F 770 IF XJO<ll THEN 780 ELSE 800 780
LOCATE 24,12:PRINT «1»; :LOCATE 24,17:PRINT «2»; :LOCATE
24,23:PRINT «3»; :LOCATE 24,28:PRINT «4));:LOCATE 24,34:PRINT «5));
:LOCATE 24,40:PRINT «6)); :LOCATE 24,45:PRINT «7)); :LOCATE
24,51:PRINT «8)); :LOCATE 24,56:PRINT «9»;:LOCATE 24,62:PRINT
«10»;: 790 GOTO 850 800 IF XJO>20 THEN 830 ELSE 810 810 LOCATE
24,12: PRINT «11)); : LOCATE 24,17: PRINT «12)); : LOCATE 24,23
:PRINT «13)); :LOCATE 24,28 :PRINT «14)); :LOCATE 24,34 :PRINT
«15)); :LOCATE 24,40:PRINT «16»;:LOCATE 24,45:PRINT «17»;:LOCATE
24,51:PRINT «18»;:LOCATE 24,56:PRINT «19»;:LOCATE 24,62:PRINT
«20));:
53
820 GOTO 850 830 LOCATE 24,12: PRINT «21»; : LOCATE 24,17: PRINT
«22»;: LOCATE 24,23 :PRINT «23»; :LOCATE 24,28 :PRINT «24»; :LOCATE
24,34: PRINT «25»; :LOCATE 24,40:PRINT «26»;:LOCATE 24,45:PRINT
«27»;:LOCATE 24,51:PRINT «28»;:LOCATE 24,56:PRINT «29»;:LOCATE
24,62:PRINT «30»;: 840 LOCATE 24,68:PRINT «31»;: 850 LINE
(115,180)-(115,183):LINE (160,180)-(160,183):LINE (205,180)
(205,183):LINE (250,180)-(250,183):LINE (295,180)-(295,183):LINE
(340,180)-(340,183):LINE (385,180)-(385,183):LINE
(430,180)-(430,183) :LINE (475,180)-(475,183):LINE
(520,180)-(520,183) 860 LOCATE 3,30:PRINT A$ 870 \\ 880 \\ Option
ZOOM 890 \\ 900 X$=»»:WHILE X$=»»:X$=INKEY$:WEND 905 IF (H$=»o») OR
(H$=»O») THEN 910 ELSE 990 910 SCREEN 0: LOCATE 3,5: INPUT
«Voulez-vous effectuer un ZOOM sur les conductivités?
(O/N)>>;I$ 920 IF (I$=»N») OR (I$=»n») THEN 990 925 IF
(1$=»0») OR (1$=»0») THEN 970 ELSE 910 970 LOCATE 6,10:INPUT
«Valeur maximale souhaitée: «;ZY1 980 LOCATE 8,10: INPUT «Valeur
minimale souhaitée: cc; ZY4 985 IF ZY4>=ZY1 THEN 987 ELSE 990
987 LOCATE 11,15:PRINT «ATTENTION: valeur minimale>=valeur
maximale •.. »:GOTO 970 990 SCREEN O:LOCATE 15,5:INPUT «Voulez-vous
effectuer un ZOOM sur les températures? (O/N)>>;T$ 993 IF
(T$=»N») OR (T$=»n») THEN 994 ELSE 996 994 IF (H$=»N») OR (H$=»n»)
THEN I$=»N» 995 IF (I$=»N») OR (I$=»n») THEN 1040 ELSE 1030 996 IF
(T$=»O») OR (T$=»o») THEN 997 ELSE 990 997 LOCATE 18,10: INPUT
«Valeur maximale souhaitée: cc; ZY2 998 LOCATE 20,10: INPUT «Valeur
minimale souhaitée: cc; ZY3 999 IF ZY3>=ZY2 THEN 1000 ELSE 1030
1000 LOCATE 23,15:PRINT «ATTENTION: valeur minimale>=valeur
maximale ••• »:GOTO 997 1030 GOTO 465 1040 CLS: PRINT : PRINT :
PRINT «FRAPPER LA BARRE POUR CONTINUER»: PRINT :PRINT :PRINT «Et
patientez quelques instants ••• » 1050 X$=INKEY$:IF X$=»» THEN1050
1060 CHAIN «MENU.BAS»,345 1070 \\ 1080 \\ 1090 \\ 3070 \\ 3080 \\
Tracé de la courbe des conductivités 3090 \\ 3110 FOR 1=1 TO KM:IF
ZY4>IC(I»ZY1 THEN 3150 3130
X=(ZX*IT(I»+70:Y=180-(150*«IC(I)-ZY4)/(ZY1-ZY4») 3140 PSET (X,Y),l
3150 NEXT l 3160 \\ 3170 \\ Optimisation de l"échelle des
conductivités 3180 \\ 3185 A1=10 A (INT(LOG(ZY1-ZY4)/LOG(10») 3190
FOR J=O TO INT«ZY1-ZY4)/A1):IF 150«A1*J*150/(ZY1-ZY4» THEN 3210
3200 LINE (67,180-(A1*J*150/(ZY1-ZY4»)-(70,180-(A1*J*150/(ZY1 ZY4»
) 3205 NEXT J
54
3210 G=(150/8)/(J-1) 3215 FOR K=O TO J:IF 150«A1*K*150/(ZY1-ZY4»
THEN 3230 3220 P(K)=ZY4+A1*K:LOCATE (23-(G*K»,2:PRINT P(K) 3221 IF
J=2 THEN 3223 ELSE 3225 3223 G=INT(A1*150/(ZY1-ZY4»/8) 3225 NEXT K
3230 LOCATE 2,9:PRINT «CE»:LOCATE 3,9:PRINT «pS.cm-1 (x100)>>
3240 RETURN
55
SORTIE GRAPHIQUE D"UNE JOURNEE D'ENREGISTREMENT CHLOE
100 SCREEN O:CLS:COLOR O,7:PRINT« SORTIE GRAPHIQUE D'UNE JOURNEE (T
ET EC) «:COLOR 7,O:PRINT :PRINT :PRINT 110 DEFINT I-L,X:DEFSTR F,S
120 DIM IC(1000),IT(1000),T(1000) 123 \\ 124 \\ LECTURE DU FICHIER
DE DONNEES 125 \\ 130 INPUT»LE NOM DU FICHIER DECADAIRE AVEC SON
EXTENSION (.DEA OU .DEB) «iF 140 PRINT:PRINT:PRINT:INPUT «Quel JOUR
voulez-vous «iJJO 150 OPEN «I»,N1,F 160 K=O 170 IF EOF(l) THEN 250
180 INPUT #l,XJO,XHE,XMI,XH 190 IF XMI=O OR XMI=30 THEN 200 ELSE
170 200 INPUT Il,XCO,XTE 213 IF XJO<JJO THEN 170 216 IF
XJO>JJO THEN 250 220 K=K+1:IC(K)=XCO:T(K)=XTE 230
IT(K)=XHE*60+XMI 240 GOTO 170 250 CLOSE 1 260 \\ 270 \\ SORTIE
GRAPHIQUE DES HAUTEURS D"EAU ET CONDUCTIVITES DE LA JOURNEE 280 \\
290 KM=K 300 CLS 310 KEY OFF 320 PRINT :PRINT :PRINT «SI VOUS
DESIREZ LA SORTIE DU GRAPHIQUE SUR IMPRIMANTE»:PRINT :PRINT «TAPER
LES TOUCHES <Shift> et <PrtSc> AU MOMENT OU LE
GRAPHIQUE EST A L'ECRAN»:PRINT :PRINT :PRINT «SINON FRAPPER LA
BARRE» 330 LOCATE 15,l:INPUT «Souhaitez-vous un titre au graphique?
(0/ N)>>;H$ 335 IF (H$=»o») OR (H$=»O») THEN 337 336 IF
(H$=»n») OR (H$=»N») THEN 340 ELSE 330 337 LOCATE 17,25:INPUT
«TITRE: «;A$ 340 LOCATE 20,l:INPUT «Voulez-vous exploiter les
données conducti vimétriques ? (O/N)>> ;H$ 350 IF (H$=»o»)
OR (H$=»O») THEN 365 360 IF (H$=»n») OR (H$=»N») THEN 420 ELSE 340
365 \\ 370 \\ TRAITEMENT DES CONDUCTIVITES 375 \\ 380 MAX1=0 385
FOR 1=1 TO KM
56
390 IF IC(I)=9999 THEM 405 400 IF IC(I»MAX1 THEN MAX1=IC(I) 405
NEXT l 410 ZY1=MAX1:ZY4=0 420 \\ 425 \ \ TRAITEMENT DES
TEMPERATURES 430 \\ 435 \\ 440 MAX2=0 445 FOR 1=1 TO KM 450 IF
T(I»MAX2 THEN MAX2=T(I) 455 NEXT l 460 ZY2=MAX2:ZY3=0 465 SCREEM
2:ZX=20/60 470 LINE (0,0)-(639,199)"B 475 LINE
(80,180)-(560,180):LINE (80,180)-(80,30):LINE (560,180) (560,30)
476 IF (H$=»o») OR (H$=»O») THEN 477 ELSE 480 477 GOSUB 3070 480 \\
490 \\ Tracé de la courbe des températures 500 \\ 580 FOR 1=1 TO
KM:IF ZY3>T(I»ZY2 THEN 610 590
X=(ZX*IT(I»+80:Y=180-(150*«T(I)-ZY3)/(ZY2-ZY3») 600 PSET (X,Y),l
610 NEXT l 620 \\ 630 \\ Optimisation des échelles sur le graphique
640 \\ 660 A2=10 A (INT(LOG(ZY2-ZY3)/LOG(10») 720 FOR J=O TO
INT«ZY2-ZY3)/A2):IF 150«A2*J*150/(ZY2-ZY3» THEN 741 730 LINE
(563,180-(A2*J*150/(ZY2-ZY3»)-(560,180-(A2*J*150/(ZY2 ZY3» ) 733
IF (H$=))o))) OR (H$=))O))) THEN 740 ELSE 736 736 LINE
(77,180-(A2*J*150/(ZY2-ZY3»)-(80,180-(A2*J*150/(ZY2-ZY3») 740 NEXT
J 741 G=(150/8)/(J-1) 742 FOR K=O TO J:IF 150«A2*K*150/(ZY2-ZY3»
THEN 750 743 P(K)=ZY3+A2*K:LOCATE (23-(G*K»,73:PRINT P(K) 744 IF
(H$=))o))) OR (H$=))O») THEN 747 ELSE 745 745 LOCATE
(23-(G*K»,4:PRINT P(K) 747 IF J=2 THEN 748 ELSE 749 748
G=INT«A2*150/(ZY2-ZY3»/8) 749 NEXT K 750 LOCATE 2,70:PRINT
«T)):LOCATE 3,70:PRINT «oC (xO.1»)) 753 IF (H$=»o») OR (H$=»O»)
THEN 760 ELSE 756 756 LOCATE 2,10: PRINT «T»: LOCATE 3,10: PRINT «0
C (xO.1)>> 760 LOCATE 2,30:PRINT «Fichier: «;F:LOCATE
2,55:PRINT «( J=»;JJO;»)>> 780 LOCATE 24,10:PRINT
«Oh»;:LOCATE 24,25:PRINT «6h»;:LOCATE 24,40 :PRINT «12h»;:LOCATE
24,55:PRINT «18h»;:LOCATE 24,70:PRINT «24h»; 850 LINE
(200,180)-(200,183):LINE (320,180)-(320,183):LINE (440,180)
(440,183) 851 B2=20:H=80 852 FOR J=O TO 3:Z=H+6*B2*J 853 FOR 1=1 TO
5:B1=Z+B2*I:LINE (B1,180)-(B1,178):NEXT l 854 NEXT J 860 LOCATE
3,30:PRINT A$ 870 \\ 880 \\ option ZOOM
57
890 \\ 900 X$=»»:WHILE X$=»»:X$=INKEY$:WEND 905 IF (H$=»o») OR
(H$=»O») THEN 910 ELSE 990 910 SCREEN O:LOCATE 3,5:INPUT
«Voulez-vous effectuer un ZOOM sur les conductivités?
(O/N)>>;I$ 920 IF (I$=»N») OR (I$=»n») THEN 990 925 IF
(1$=»0») OR (1$=»0») THEN 970 ELSE 910 970 LOCATE 6,10:INPUT
«Valeur maximale souhaitée: «;ZY1 980 LOCATE 8,10:INPUT «Valeur
minimale souhaitée: «;ZY4 985 IF ZY4>=ZY1 THEM 987 ELSE 990 987
LOCATE 11, 15:PRINT «ATTENTION: valeur minimale>=valeur maximale
•.• »:GOTO 970 990 SCREEN O:LOCATE 15,5:INPUT «Voulez-vous
effectuer un ZOOM sur les températures? (O/N)>>;T$ 993 IF
(T$=»N») OR (T$=»n») THEN 994 ELSE 996 994 IF (H$=»N») OR (H$=»n»)
THEN I$=»N» 995 IF (I$=»N») OR (I$=»n») THEN 1040 ELSE 1030 996 IF
(T$=»O») OR (T$=»o») THEN 997 ELSE 990 997 LOCATE 18,10:INPUT
«Valeur maximale souhaitée: (C;ZY2 998 LOCATE 20,10:INPUT «Valeur
minimale souhaitée: «;ZY3 999 IF ZY3>=ZY2 THEN 1000 ELSE 1030
1000 LOCATE 23,15:PRINT «ATTENTION: valeur minimale>=valeur
maximale .•. »:GOTO 9