#23 closed defect (fixed)
Sortie de la coordonnée verticale hybride
Reported by: | Laurent Fairhead | Owned by: | Laurent Fairhead |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | I/O | Keywords: | |
Cc: |
Description (last modified by )
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.
Change History (4)
comment:1 follow-up: 2 Changed 15 years ago by
comment:2 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Attention depuis qu'on utilise XIOS, on ne sort plus que presnivs dans les fichiers histoire (pour une incompatibilité de XIOS 1.0)
Replying to fairhead:
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 :
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.