Variables de configuration utilisées par R.DIAG

1)
VARIABLES D'ENVIRONNEMENT


ARMNLIB

(Variable obsolète qui était utilisée entre autres choses comme point de départ de la recherche de la documentation. Cette variable ne devrait plus etre utilisée. Remplacée par la variable DIAGNOSTIQUE)

BIG_TMPDIR

(Répertoire temporaire, typiquement créé à chaque début de session ("login") et détruit à chaque fin de session ("logout"). Voir la variable USE_BIG_TEMPDIR pour plus de détails. Selon la valeur de cette variable, il se peut que les nouveaux fichiers soient par défaut créés dans ce répertoire, à moins que leur nom ne contienne une disposition explicite de répertoire telle que dans "./nomfich". De plus, si un fichier d'entrée ne se trouve pas dans le répertoire courant, les applications tenteront de le trouver dans ce BIG_TMPDIR)

DATE_FORMAT
(Chaine de caractères décrivant le format utilisé à la lecture d'une date en argument sur la ligne de commande. Les valeurs reconnues vont de 'YYYYMMDDHHMMSS' à 'YYYYMM'. Il est également possible d'utiliser 'TIMESTEP' pour spécifier des pas-de-temps. Valeur par défaut: 'YYYYMMDDHH')

ECHO_COMMAND_LINE
(Demande de reconstruire une copie de la ligne de commande et de l'afficher sur stdout. Valeurs par défaut: no/non)

DEFAULT_PACKING_TYPE
(Spécifie le type de compaction à être utilisé pour les fichiers de sortie. Les valeurs supportées sont présentement sont PK84 (wkoffit = 5), PK92 (wkoffit = 4), SQ89 (wkoffit = 2 ou 3) et SQ98 (wkoffit= 33 ou 34). Les fichiers standards CMC/RPN utilisent par définition un des types SQxx. Ceux du CCCma utilisent présentement le type PK92. La valeur par défaut de la variable, PK84, corresponds à la version précédente de ces fichiers. Notez que les fichiers RPN standard random 1989 (wkoffit = 1) ne sont pas supportés par r.diag)

DIAGNOSTIC_EXIT

(Le nom complet du fichier pouvant contenir les codes de complétions/erreurs des travaux diagnostiques. Si ce fichier existe et est non-vide, r.diag ne fera aucuns calculs. Si la variable est définie, les codes d'erreurs fatales ne seront pas généres par un appel à EXIT et un message sera plutôt écrit dans le fichier correspondant. Valeur par défaut: DIAGNOSTIC_EXIT)

DIAGNOSTIQUE
(Le répertoire d'installation de r.diag sous lequel se retrouveront les scripts et binaires du package, les codes sources de ces binaires et toutes les pages de documentation en format html et textuelle. Cette variable devrait être automatiquement définie lors de l'activation SSM du package. Valeur par défaut: nil/aucune)

FREE_FORMAT_LEVEL_IO
(Indique que la lecture des niveaux verticaux dans le modules concernés tels que gsapl et gpasg se fera en format libre "*". Valeurs par défaut: no/non)

INFORM
(Activer le mode informatif. Peut aussi être activé par la clé -info à l'appel. Valeur par défaut: non)

INPUT
 (Nom de fichier tenant lieu de stdin)
 
JOB

(Nom du travail. Équivalent au paramètre "JN=" d'une carte JOB de CRAY/OS. Cette variable n'est utilisée que lors de l'écriture de message d'erreur. Il n'y a aucune valeur par défaut)

LEAP_YEAR_CONTROL

(Tenir compte ou non des années bisextiles. Cette variable a préséance sur le paramètre de ligne de commande -bisect documenté plus bas et aussi sur la variable d'environnement NEWDATE_OPTIONS mais alors seulement lorsqu'elle est spécifiée)

MISSING_VALUE
 (La valeur réelle utilisée pour identifier les valeurs manquantes dans un fichier. Un sous-ensemble restreint de modules a été équipé pour tenir compte de ceci et leur documentation en fait alors état. Par défaut, aucune valeur n'est définie. Un format de lecture FORTRAN E20.0 est alors utilisé. Voir également le paramètre de ligne de commande -mvalue plus bas)

NEWDATE_OPTIONS
(Variable utilisée par la collection de routines NEWDATE de la librairie RMNLIB. Ces routines sont utilisées dans tous les calculs de dates. Par défaut, le calendrier utilisé est un calendrier Grégorien. Les valeurs optionelles modifiant ce comportement sont "year=365_day" et "year=360_day". Tous les calendriers sont valides de l'an 1 à l'année 9999)

OUTPUT
(Nom de fichier tenant lieu de stdout)

PAGER

(Le nom du programme utilisé pour l'affichage des écrans de documentation. Valeur par défaut: more)

TMPDIR
(Répertoire temporaire, typiquement créé à chaque "login" et détruit à chaque "logout". Voir la variable USE_BIG_TEMPDIR pour plus de détails.  Selon la valeur de cette variable, il se peut que les nouveaux fichiers soient par défaut crees dans ce répertoire, à moins que leur nom ne contienne une disposition explicite de répertoire telle que  "./nomfich". De plus, si un fichier d'entrée ne se trouve pas dans le répertoire courant, les applications tenteront de le trouver dans ce TMPDIR)

USE_BIG_TMPDIR
(Placer les fichiers locaux/temporaires dans BIG_TMPDIR plutot que dans TMPDIR ? Sinon, BIG_TMPDIR est ignoré au profit de TMPDIR. Si BIG_TMPDIR n'est pas définie, on essayera d'utiliser TMPDIR. Au moins l'une de ces deux variables doit être définie. Valeur par défaut: oui)

USE_OLD_STYLE_IP1
(Utiliser le type de codage compatible STD89 pour le paramètre représentant les niveaux verticaux, i.e. IP1, dans l'écriture des fichiers STD98. Valeur par défaut: non)

VERY_NICE_DIAG
(Permets de changer la priorité d'exécution de r.diag dans la mesure où celui-ci est généralement configuré pour tourner avec l'équivalent d'un nice -19. Les valeurs possibles sont oui, non ou bien une valeur numérique entre 1 et 19)


Les variables logiques décrites dans la section précédente sont lues comme étant vraies lorsque qu'elles sont définies avec des valeurs
égale à oui, yes, vrai, true ou on. Celles qui devraient être lues comme étant fausses le seront
lorsque qu'elles sont définies avec des valeurs égales à non, no, faux, false ou off


2) CHEMIN D'ACCÈS (
PATH)

La script accédant à la plus récente version officielle du programme r.diag est disponibles dans le répertoire

${DIAGNOSTIQUE}/scripts


3) DOCUMENTATION

La liste des modules de commande et une courte description de chacun d'entre eux est disponible en exécutant le module "lspgm"  sans paramètre. Chaque commande est de plus documentée de façon interne. Pour accéder à cette information, il suffit d'invoquer r.diag avec comme seul paramètre le nom de la commande, comme suit

r.diag Command_Name

Command_Name est remplacé par le nom de la commande qui nous interésse.

La liste des codes d'erreurs générés par les sous-routines de bas niveaux est également disponible. Pour la consulter, il suffit d'exécuter la commande suivante

r.diag lssub


4) PARAMÈTRES GÉNÉRIQUES DE LA LIGNE DE COMMANDE


Tous les commandes connaissent un nombre limité de clés "génériques" affectant certains aspects de leur fonctionnement. La routine ccard est utilisée pour le traitement de ces options. Celles-ci sont présentement:

-ipktyp
Valeur
(Spécifie le type de compaction à être utilisée pour les fichiers d'entrées. Les valeurs connues sont présentement PK84 et PK92. Cette clé permet de lire les fichiers de type 1984 qui ont été écrits avec une version précédente de r.diag)
-opktyp Valeur
(Spécifie le type de compaction a etre utilise pour les fichiers de sorties. Les valeurs connues sont presentement PK84, PK92, SQ89 et SQ98. Cette clé a préséance sur la variable DEFAULT_PACKING_TYPE).

-help
(Active le mode documentation. L'absence de tout paramètre active également ce mode)
-info [Valeur]
(Spécifie la présence de messages d'erreurs des sous-routines. Par défaut, ceux-ci ne sont pas imprimés. La valeur du paramètre peu indiquer le niveau de sévérité des messages dans le cas des fichiers standards RPN, tel que documenté par fstopc)
-vers
(Imprime le numéro de révision de r.diag ainsi que celui de la version de la programmathèque RMNLIB qu'elle utilise)

-cendian
(Si égal à BIG, les enregistrements de type caractère CHAR sont traités comme ayant été écrits en mode Big Endian. Si égal à SMALL, ils seront traités comme Little Endian. La valeur par défaut est BIG)

-mvalue Valeur1 [Valeur2]
(Valeur1 est ici le nombre réel utilisé pour identifier les valeurs manquantes dans un fichier. De même, Valeur2 est le facteur relatif de précision Epsilon qui sera utilisé dans les comparaisons avec cette valeur manquante. La valeur par défaut de cet Epsilon est 1%. Voir également la variable d'environnement MISSING_VALUE ci-haut; la valeur manquante définie avec cette derniere variable à préséance sur celle définie ici. Par défaut, cette valeur manquante est inexistante)

-na
(Spécifie si le programme doit arrêter le traitement en présence d'erreurs. Cette clé controle le comportement dans un nombre très limité de situations)

-bisect [Valeur]
(Il est possible d'activer ou bien de désactiver le traitement des jours bissextiles (eg. "Leap Years control"). La valeur logique de cet argument est interprétée de la même manière que les valeur logique des variables d'environnements, tel que décrit un peu plus haut. Par défaut, les jours bissextiles sont pris en charge.)
-date [Valeur]
(Si ce paramètre est spécifié sans valeur, il indique que le deuxième mot du tampon d'information qui sera lu dans un fichier de type CCC est une date valide du 20ième siècle et non pas un pas de temps. Si de plus, une valeur est spécifiée, celle-ci corresponds alors au siècle, eg. 1800, 1900 ou 2000. A ne pas confondre avec le paramètre du même nom dans le module CONVERT et qui doit contenir un DATE-TIME-STAMP CMC/RPN)
-keepip2
(Lors du traitement de fichiers CMC/RPN, r.diag tente toujours de se conformer aux conventions associées aux clés temporelles, documentées ici. Certains fichiers, tels que les fichiers de climatologie, peuvent ne pas adhérer à cette convention. Lorsque cette cle est specifiée, une partie de cette convention est ignorée, i.e. lorsque le descripteur interne deet est nul. Dans ce cas, les ip2 sont conservés tels quels à la sortie)

-singlz
(Active les modes de lecture et d'écriture en mode niveaux par niveaux qui peuvent etre utilisés avec les coupes zonales)

Notez que la clé -ipktyp ne devrait être utilisée qu'en dernier ressort. r.diag tente toujours de déterminer lui-même le type de fichier d'entrée qu'on lui passe (voir l'utilitaire RPN wkoffit pour en savoir plus long sur la technique employée).

Enfin, certaines commandes peuvent être invoquées avec un mode de fonctionnement particulier en utilisant la clé -def [Valeur1][...][ValeursN]. Cette clé signifie que la commande devra soit d'utiliser ses valeurs par défaut (e.g. xlin), soit d'utiliser un mode de fonctionnement alternatif (e.g. timcov). Dans tous les cas, la présence de cette clé empêchera la lecture d'un premier groupe d'arguments qui pourraient être définis via un enregistrement (ligne) STDIN et ce, tel que décrit dans la documentation des différents modules. Si d'autres variables sont normalement définies via des enregistrements STDIN supplémentaires, celles-ci pourraient également ne plus l'être ou l'être différemment, dépendant des valeurs qui auront été définies avec cette clé (e.g. la liste de niveaux verticaux qui seront utilisés dans gsapl et pgen) .


5) PARAMÈTRES SPÉCIFIQUES DE LA LIGNE DE COMMANDE

Un deuxième jeu de clés décrivant des paramètres spécifiques aux différents modules tels que les nombres de latitudes et longitudes, la troncature spectrale ou bien le facteur de compaction est généralement disponible. Consultez la documentation des différents modules pour en savoir plus long. Notez que certaines valeurs telles que -cle="****" , "N/A" ou "S/O" seront interprétées comme une clé non spécifiée dans ce contexte. Ceci peut être utile lorsqu'on veut spécifier une seule valeur d'une clé pouvant en avoir plusieurs.

Par exemple, dans cet appel de la commande zxplot, la première valeur de la clé -lv1 ne sera pas définie:

r.diag zxplot fichier_zonal -lv1 N/A FULL

Notons que la liste de toutes les clés supportées sera affichée aussitôt qu'une commande est démarrée avec une clé non reconnue (i.e. -wxyz).

Enfin, un nom de fichier peut être substitué par un "+"  à l'appel. Ceci indique à la commande (par le biais de la routine jclpnt) que l'unité d'E/S correspondante ne doit pas etre ouverte. Cette substitution ne devrait être utilisée qu'avec des commandes lisant/écrivant un nombre variable de fichiers d'E/S.


6) NOTES


------------------------------------------------
Contact : Dugas.Bernard@uqam.ca
 Dernière mise-à-jour : décembre 2018
------------------------------------------------