﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc
23	Sortie de la coordonnée verticale hybride	Laurent Fairhead	Laurent Fairhead	"'''De Pascale:'''

Je n'ai pas tout suivi mais au fait, avez vous corrigé les niveaux indiqués dans les fichiers histmth. Si ma memoire est bonne l'axe indique des coordonnées pression alors qu'en fait ce sont des niveaux sigma et du coup tout le monde se plante. Les etudiants ne font pas attention et produisent de jolis graphes faux. En praticulier, Charline a du refaire enormement de choses pour sa thèse lorsque j'ai fini par m'en rendre compte. Pas tres agreable à la fin de thèse...

'''De Frédéric:'''

On a discuté plusieurs fois de sortir proprement la coordonnées verticale hybride. Mais je ne me souviens plus pourquoi ce n'est pas fait.
Il faut en tous cas garder une pseudo-coordonnée pour sortir les choses simplement en mod interactif. Mais il faudrait indiquer que l'axe est en pseudo-pression par exemple

'''De Lionel :'''
Je crois aussi que les méta-données actuelles ne sont pas bonnes. Premièrement, une convention de base des fichiers NetCDF est que les variables coordonnées, c'est-à-dire les variables 
dont le nom est identique au nom de leur unique dimension, sont strictement 
monotones. Ce qui n'est le cas ni avec ""Ahyb"" ni avec ""Bhyb"" (""Bhyb"" constant 
nul aux plus hauts niveaux). On se le fait tout de suite signaler par Ferret 
quand on ouvre un fichier ""hist"" actuel. Deuxièmement, on est toujours loin 
de la convention CF, selon laquelle l'en-tête devrait être de ce type :

{{{
netcdf histday {
dimensions:
        time = UNLIMITED ; // (30 currently)
        s = 50 ;
        latitude = 73 ;
        longitude = 96 ;
variables:
        float time(time) ;
                time:units = ""days since 1980-01-01"" ;
                time:calendar = ""360d"" ;
                time:long_name = ""time"" ;
        float s(s) ;
                s:positive = ""down"" ;
                s:standard_name = ""atmosphere_hybrid_sigma_pressure_coordinate"" ;
                s:long_name = ""hybrid sigma-pressure coordinate"" ;
                s:formula_terms = ""ap: ap b: bp ps: psol p0: p0"" ;
        float latitude(latitude) ;
                latitude:units = ""degrees_north"" ;
                latitude:standard_name = ""latitude"" ;
        float longitude(longitude) ;
                longitude:units = ""degrees_east"" ;
                longitude:standard_name = ""longitude"" ;
        float temp(time, s, latitude, longitude) ;
                temp:units = ""K"" ;
                temp:standard_name = ""air_temperature"" ;
                temp:long_name = ""air temperature"" ;
        float ap(s) ;
                ap:title = ""Coefficient A pour hybride"" ;
                ap:units = ""hPa"" ;
        float bp(s) ;
                bp:title = ""Coefficient B pour hybride"" ;
        float psol(time, latitude, longitude) ;
                psol:units = ""hPa"" ;
                psol:standard_name = ""surface_air_pressure"" ;
                psol:long_name = ""surface pressure"" ;
        float p0 ;
                p0:units = ""hPa"" ;
                p0:long_name = ""reference pressure for hybrid coordinate"" ;

// global attributes:
                :Conventions = ""CF-1.4"" ;
                :institution = ""IPSL"" ;
data:

 time = 360.5, 361.5, ..., 389.5 ;

 s = 0.994072, ..., 0.0001417363 ;

 latitude = 90, 87.5, ..., -90 ;

 longitude = -180, -176.25, ..., 176.25 ;

 p0 = 500 ;

...
}
}}}

Une possibilité qui aurait le mérite d'être propre serait de partir d'une 
définition du fichier conforme à la convention CF comme ci-dessus et 
d'ajouter pour le confort des variables ""alt"" et ""presnivs"" qui dépendent de 
la coordonnée hybride ""s"". Dans Ferret par exemple, on pourrait taper :

shade temp[x=@ave, l=1], y[g=temp], alt

pour voir la température en fonction de la pseudo-altitude.
"	defect	closed	major		I/O	fixed		
