Creation/Retouche de masques Netcdf
(grilles 2D régulières et
irrégulières)

"Persona", utilitaire de création et de retouche de masques
Netcdf,
est disponible sur les stations de travail elnino/vortex et sur
imhotep.
PATH: ~maisonna/Persona/persona (et readme.txt)
Cet utilitaire vous permet de créer et de retoucher à
la
souris vos fichiers de masque (au format Netcdf). Vous pouvez donc
interactivement modifier vos masques (2D), sans
avoir à programmer
de longues lignes illisibles en Fortran 77.
# Arg 1: Nom du fichier Netcdf
# Arg 2: Nom de la variable de masque (défaut: nmask)
exemple:
> persona meshmask.nc tmask
3 possibilités vous sont offertes:
>Would you like to:
>1: handly modify an existing mask
variable
?
>2: create a new mask variable
entering lat/lon limits ?
>3: define lat/lon limits for an
existing mask variable ?
>1 , 2 or 3 ?
Le premier choix vous permet de modifier interactivement à la
souris
un masque déjà créé (le nom de la variable
devra
avoir été spécifié en deuxième
argument
de la commande).
Le deuxième choix vous offre la possibilité de
créer un masque rectangulaire en précisant les limites
(longitudes et latitudes
minimales et maximales)
En optant pour le dernier choix, vous pourrez combiner les deux
premiers: ne prendre qu'une partie limitée en latitude/longitude
d'un masque déjà existant pour le modifier
interactivement.
netcdf mesh_11 {
dimensions:
lon = 360 ;
lat = 180 ;
variables:
float lat(lat) ;
lat:units = "degrees_north" ;
lat:long_name = "Latitude" ;
lat:actual_range = 89.5f, -89.5f ;
float lon(lon) ;
lon:units = "degrees_east" ;
lon:long_name = "Longitude" ;
lon:actual_range = 0.5f, 359.5f ;
...
>Longitude variable (x X lon LON jpio jpia) not found in file
$file_name
>Please, specify longitude variable
name
>nav_lon
>Please, specify latitude variable
name
>nav_lat
Seules les variables en 2 dimensions sont acceptées.
Exemple:
netcdf header_orca_T {
dimensions:
y = 149 ;
x = 182 ;
z = 31 ;
variables:
float nav_lon(y, x) ;
nav_lon:missing_value = 1.e+20f ;
float nav_lat(y, x) ;
nav_lat:missing_value = 1.e+20f ;
...
Les latitudes doivent être comprises entre -90 et 90
degrés.
Les longitudes doivent être comprises entre -360 et 360
degrés.
Seules les grilles globales en longitude sont acceptées.
Les masques 1D ne sont pas traités (peut-être dans une
future
version).
| La variable "tmask" telle qu'elle apparait lors du chargement dans "bitmap": | On inverse Nord et Sud pour pouvoir reconnaitre les contours des continents: |
|
|
| On zoome sur la région
Atlantique Nord:
|
| Pour pouvoir utiliser la fonction
de remplissage "Flood Fill", on inverse 0 et 1:
|
| On remplit les zones "blanches"
figurant les
mers interieures (Grands lacs, mer Noire, mer Rouge):
|
| Pour "remplir" la mer Baltique, on
ferme d'abord le detroit du Danemark à l'aide de la fonction
"Line":
|
| On se replace dans la configuration
de départ en inversant couleurs et latitudes:
|
| Sous ferret, on peut visualiser le
nouveau
masque: les valeurs non masquées (1) ne sont plus
présentes
que sur la zone Atlantique Nord - Méditerranée telle
qu'elle
vient d'etre définie:
|