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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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