parrun

Section: Convention\ COARDS,CF-1.0,ROM-1.1 (5)
Updated: 11 fevrier 2009
Index  

NOM

parrun - fichier permettant de controler l'execution du modele ROM et de faire la gestion des variables a sortir.  

DEFINITION DES TERMES

variable ROM
Dans cette documentation, le terme variable ROM s'applique aux variables telles qu'elles sont connues du modele. A chaque variable connue du modele, le modele associe une etiquette de quatre lettres (TAG) permettant d'en controler la sortie. Une variable ROM n'est connue que du modele et existe donc toujours sur le domaine complet du modele. Par exemple, le champ de salinite salt(ilo,m,n) est une variable du modele a laquelle est associee l'etiquette 'SALT'. Pour effectuer une sortie de la salinite, le modele fait un appel a la fonction d'ecriture write_rom_var() de la facon suivante:
write_rom_var('SALT',kstep,salt,ilo,m,n)

pseudo-variable
Le terme pseudo-variable sert a designer une variable ROM pour laquelle on desire faire une sortie sur un certain domaine et a une certaine periode.
Par exemple, la pseudo-variable 'SAL1' pourrait servir a demander une sortie de la variable ROM 'SALT' (i.e., le champ salt) sur un certain sous-domaine de la grille a chaque pas de temps alors que la pseudo-variable 'SAL2' pourrait indiquer de faire des sorties de 'SALT' sur tout le domaine a chaque heure. Pour effectuer une sortie de la salinite, le modele fait un appel a la fonction d'ecriture write_rom_var() de la facon suivante:
write_rom_var('SALT',kstep,salt,ilo,m,n)
ce qui provoquera la sortie des variables SAL1 et SAL2 sur leurs domaines respectifs.
La correspondance entre une pseudo-variable et une variable ROM est faite dans la section du parrun servant a controler les sorties (namelist nc_out_dir ).

parrun
Le parrun est un fichier texte qui contient toutes les directives necessaires pour effectuer les sorties des pseudo-variables. Le parrun se divise en deux grandes sections: une premiere section composee d'un seul namelist Fortran servant a decrire les parametres d'execution du modele et une deuxieme section regroupant un ensemble de namelist Fortran servant a decrire les pseudo-variables a sortir. Dans la seconde section, on retrouve un namelist par pseudo-variable a sortir.

 

DESCRIPTION

 

parrun_nml

La premiere section du parrun est formee d'une liste nommee FORTRAN (namelist) ayant pour nom parrun_nml et qui contient tous les parametres necessaire pour initialiser l'environnement d'execution du modele (e.g., rnc_startdate ). Ce namelist contient aussi certains parametres globaux qui servent a la documentation interne des fichiers de sorties de toutes les pseudo-variables (e.g., rnc_file_comment ). La section suivante decrit en detail chacune des variables composant le namelist parrun_nml

rnc_startdate
Variable de type caractere contenant la date de depart de la simulation. La date est representee selon le format 'ss mm hh jj MM AAAA'.

rnc_startstep
Variable entiere indiquant le numero de pas de temps de depart de la simulation. Lorsqu'on demarre une nouvelle simulation, rnc_starstep doit etre egal a 1.

rnc_endstep
Variable entiere indiquant le numero de pas de temps de fin de la simulation. Lorsque le pas de temps du modele atteint la valeur de rnc_endstep le modele met fin a son execution.

rnc_deltat
Variable entiere contenant la longueur du pas de temps du modele (en secondes).

rnc_offdt
Variable optionnelle entiere utilisee uniquement par le modele hors-ligne (off line) contenant l'intervalle de temps pour les interpolations des champs d'entree du modele. Si on ne donne pas de valeur a offdt ,alors offdt prend la valeur attribuee a deltat .

rnc_deltaki
Variable entiere contenant la resolution de la grille horizontale du modele en metres.

rnc_inputdir
Variable de type caractere contenant le chemin vers le repertoire des champs d'entree du modele.

rnc_outdir
Variable de type caractere contenant le chemin vers le repertoire des champs de sortie du modele.

rnc_prefix
Variable de type caractere contenant le prefixe des fichiers d'entree du modele.

rnc_author
Variable de type caractere contenant le nom de la personne qui lance la simulation. Cette information est ecrite dans chacun des fichiers NetCDF de sortie en tant qu'attribut global.

rnc_file_comment
Variable de type caractere contenant un bref commentaire qui sera ecrit dans chacun des fichiers NetCDF de sortie a titre d'attribut global.

rnc_source
Variable de type caractere decrivant la version des differentes composantes du modele qui ont ete utilisees pour creer l'executable servant a faire la simulation. Cette information sera ecrite dans chaque fichier NetCDF de sortie a titre d'attribut global.

rnc_title
Variable de type caractere servant a attribuer un titre (ou un nom) a la simulation. Cette information sera ecrite dans chaque fichier NetCDF de sortie a titre d'attribut global.

rnc_institution
Variable de type caractere contenant le nom de l'institution ou la simulation a ete faite. Cette information sera ecrite dans chaque fichier NetCDF de sortie a titre d'attribut global.

EXEMPLE

&parrun_nml
RNC_STARTDATE= '0 0 0 16 7 2002'
RNC_STARTSTEP= 1
RNC_ENDSTEP= 288
RNC_DELTAT= 30
RNC_DELTAKI= 400
RNC_INPUTDIR ='/sunismer_2/stle400/input' ! Input data directory
RNC_OUTDIR ='/sunismer_2/stle400/output' ! Output data directory
RNC_PREFIX ='mes_forcages'
rnc_author = "James Caveen"
rnc_file_comment = "Un fichier netcdf nouveau format"
rnc_source = 'copepod model v1.1 with rom v2.2.2'
rnc_title ='Simulation de polulation de copepodes'
rnc_institution ='ISMER-LASSO'
/

 

nc_out_dir

La seconde section du parrun est composee d'une collection de namelist de type nc_out_dir (un namelist par pseudo-variable a sortir). Chacun de ces namelist forme un jeu de directives contenant toutes les informations necessaires pour controler le domaine spatial de chaque pseudo-variable a sortir ainsi que la periode temporelle a laquelle chacune de ces variables est desiree.

var_name
Variable de type character*4 contenant le nom de la pseudo-variable que l'on desire sortir.

NOTE: Pour les champs du modele qui sont moyennes au moment de la sortie (par exemple 'UWAT''VWAT' ), le nom attribue a une des pseudo-variables nom_var doit etre identique a rom_var_name. C'est a dire, que nom_var doit contenir un TAG connu du modele.

Par exemple, la composante U du courant moyennee sur la periode de sortie et centree dans la cellule est connue du modele sous le nom de variable ROM 'UWAT'. Avant de faire la moyenne et de centrer la composante U du courant , le modele verifie s'il doit sortir une pseudo-variable ayant pour nom 'UWAT'. et doit connaitre sa periode de sortie. Il est donc essentiel que var_name soit egal a 'UWAT' pour que les calculs soient faits. Cette restriction decoule du fait que le modele ne dispose d'aucun moyen pour connaitre la periode de sortie d'une pseudo-variable sauf si le nom de la pseudo-variable correspond a un TAG connu du modele (les noms des pseudo-variables ne sont connus que du module de sortie).

long_var_name
Variable de type caractere contenant le nom long (NetCdf long_name) de la pseudo-variable a sortir.

rom_var_name
Variable optionnelle de type character*4 contenant le nom de la variable ROM (i.e., champ du modele) a laquelle est associee la pseudo-variable nommee par var_name. Lorsque rom_var_name est absent d'un jeu de directives, il prend automatiquement la valeur attribuee a var_name.

NOTE: Pour les champs du modele qui sont moyennes au moment de la sortie (par exemple 'UWAT''VWAT' ), le nom attribuee a la pseudo-variable nom_var doit etre identique a rom_var_name. C'est a dire, que nom_var doit contenir un TAG connu du modele.

Par exemple, la composante U du courant moyennee sur la periode de sortie et centree dans la cellule est connue du modele sous le nom de TAG 'UWAT'. Avant de faire la moyenne et de centrer la composante U du courant , le modele verifie s'il doit sortir une pseudo-variable ayant pour nom 'UWAT'. et doit connaitre sa periode de sortie. Il est donc essentiel que var_name soit egal a 'UWAT' pour que les calculs soient faits. Cette restriction decoule du fait que le modele ne dispose d'aucun moyen pour connaitre la periode de sortie d'une pseudo-variable sauf si le nom de la pseudo-variable correspond a un TAG connu du modele (les noms des pseudo-variables ne sont connus que du module de sortie).

i_limi_lo
Variable entiere indiquant la borne inferieure, selon l'axe IROM, du sous-domaine sur lequel on desire faire une sortie.

i_limi_hi
Variable entiere indiquant la borne superieure, selon l'axe IROM, du sous-domaine sur lequel on desire faire une sortie.

k_limi_lo
Variable entiere indiquant la borne inferieure, selon l'axe KROM, du sous-domaine sur lequel on desire faire une sortie.

k_limi_hi
Variable entiere indiquant la borne superieure, selon l'axe KROM, du sous-domaine sur lequel on desire faire une sortie.

nlayer
Variable entiere indiquant le nombre de couches a partir de la surface pour lesquelles on desire faire une sortie.

start_step
Variable entiere indiquant le premier numero de pas de temps a partir duquel on desire faire des sorties.

ouput_period
Variable entiere indiquant la periode, en pas de temps, a laquelle on desire faire des sorties.

var_units
Variable de type caractere servant a preciser les unites de la pseudo-variable a sortir. var_units est ecrit dans le fichier NetCDF de sortie a titre d'attribut de la

pseudo-variable.

var_comment
Variable de type caractere servant a assocer un commentaire quelconque a la pseudo-variable a sortir. var_comment est ecrit dans le fichier NetCDF de sortie a titre d'attribut de la pseudo-variable.

var_archive
Variable de type caractere servant a indiquer le repertoire ou le fichier NetCDF de la pseudo-variable a sortir sera cree ainsi que le prefixe a utiliser dans le nom du fichier de sortie. Si par exemple, var_archive = '/run/outputs/ROM_NC' , la pseudo-variable 'SALT' sera ecrite dans un fichier ayant pour nom: /run/outputs/ROM_NC_SALT.nc. Ce parametre est optionnel. En son absence, on utilise la valeur de rnc_outdir du namelist parrun_nml

scale_factor
Variable optionnelle reelle utilisee pour la compression des donnees. scale_factor defini le facteur multiplicatif a appliquer aux donnnees pour la compression.
La compression des donnees n'est pas implantee dans la version courante des modules de sortie du modele. scale_factor n'a donc aucun effet sur les sorties pour le moment.

offset
Variable optionnelle reelle utilisee pour la compression des donnees. offset defini le biais a appliquer aux donnees lors de la compression.
La compression des donnees n'est pas implantee dans la version courante des modules de sortie du modele. offset n'a donc aucun effet sur les sorties pour le moment.

EXEMPLE

&nc_out_dir
var_name='TEMP',
long_var_name='Temperature,
rom_var_name ='TEMP'
var_units='Degres C',
var_comment='Temperature forcee a T+4 degres',
i_limit_lo = 1,
i_limit_hi = 150,
k_limit_lo = 1,
k_limit_hi = 236,
output_frequency = 10,
nlayers = 35,
start_step = 10,
archive='/run/out/ROM_NC',
/

 

EXEMPLE COMPLET D'UN FICHIER PARRUN

Dans cet exemple, nous faisons une simulation sur le golfe St-Laurent. Dans cette configuration, le pas de temps est de 300 secondes (deltat) et la resolution horizontale est de 5000 metres (deltaki). La simulation debute a minuit le 9 novembre 1998 et on integre le modele pour 50000 pas de temps.


 Nous desirons sortir les champs suivants:

- la temperature a chaque 20 pas de temps sur les 30 premieres couches du modele sur tout le domaine a partir du pas de temps 0. Le resultat sera ecrit dans le fichier /run/out/ROM_NC_TEMP.nc.

- la temperature a chaque pas de temps sur un sous-domaine a chaque 40 pas de temps a partir du pas numero 100 . Le resultat sera ecrit dans le fichier /run/out/ROM_NC_TEM1.nc.

- la salinite a chaque 300 pas de temps sur les 4 premieres couches de tout le domaine. Le resultat sera ecrit dans le fichier /run/out/ROM_NC_SALT.nc.

- la composante instantanne U du courant a chaque 300 pas de temps sur tout le domaine.Le resultat sera ecrit dans le fichier /run/out/ROM_NC_USTA.nc.

- la composante U moyennee a chaque 300 pas de temps sur tout le domaine.Le resultat sera ecrit dans le fichier /run/out/ROM_NC_UWAT.nc.

&parrun_nml
RNC_STARTDATE= '0 0 0 9 11 1998'
RNC_STARTSTEP= 1
RNC_ENDSTEP= 50000
RNC_DELTAT= 300
RNC_DELTAKI= 5000
RNC_INPUTDIR ='/sunismer_1/clim_gulf/Atmos5/Input5'
rnc_author = "James Caveen"
rnc_file_comment = "Temperature forcee a + 4 degres"
rnc_source = 'ROM v5.3'
rnc_title ='Simulation avec forcage de temperature'
rnc_institution ='ISMER-LASSO'
/
&nc_out_dir.br
var_name='TEMP',
long_var_name='TEMPERATURE',
i_limit_lo = 1,
i_limit_hi = 150,
k_limit_lo = 1,
k_limit_hi = 236,
nlayers = 30,
output_frequency = 20,
start_step = 0,
archive = '/run/out/ROM_NC',
var_units='C',
var_comment='Temperature'
/
&nc_out_dir
var_name='TEM1',
rom_var_name = 'TEMP',
long_var_name='Temperature',
var_units='degres C',
var_comment='Sous-domaine temperature',
i_limit_lo = 10,
i_limit_hi = 40,
k_limit_lo = 45,
k_limit_hi = 120,
output_frequency = 40,
start_step = 100,
archive='/run/out/ROM_NC',
/
&nc_out_dir
var_name='SALT',
long_var_name='Salinity,
var_units='PSU',
var_comment='Salinite',
i_limit_lo = 1,
i_limit_hi = 150,
k_limit_lo = 1,
k_limit_hi = 236,
output_frequency = 300,
nlayers = 4,
start_step = 0,
archive='/run/out/ROM_NC',
/
&nc_out_dir
var_name='USTA',
long_var_name='Composante U',
var_units='m.s**-1',
var_comment='Composante instantanee sur la frontiere',
i_limit_lo = 1,
i_limit_hi = 150,
k_limit_lo = 1,
k_limit_hi = 236,
output_frequency = 300,
nlayers = 73,
start_step = 0,
archive='/run/out/ROM_NC',
/
&nc_out_dir
var_name='UWAT',
long_var_name='Composante U moyenne',
var_units='m/s',
var_comment='U centree moyenne aux 300 pas de temps',
i_limit_lo = 1,
i_limit_hi = 150,
k_limit_lo = 1,
k_limit_hi = 236,
output_frequency = 300,
nlayers = 73,
start_step = 0,
archive='/run/out/ROM_NC',
/

 

AUTEURS

James Caveen, Simon Senneville et Frederic Maps - ISMER/UQAR, novembre 2007
Derniere mise a jour: James Caveen fevrier 2009 pour implanter la Convention COARDS,CF-1.0,ROM-1.1  

VOIR AUSSI

rom_var_name(5), rom_nc_fcns(3)

 

NOTES

Dans un namelist FORTRAN, l'ordre des parametres n'a aucune importance et aucune distinction n'est faire entre un parametre en minuscules ou en majuscules (deltaki == DELTAKI == DeLtAkI).


 

Index

NOM
DEFINITION DES TERMES
DESCRIPTION
parrun_nml
nc_out_dir
EXEMPLE COMPLET D'UN FICHIER PARRUN
AUTEURS
VOIR AUSSI
NOTES

This document was created by man2html, using the manual pages.
Time: 16:13:38 GMT, February 12, 2009