Changes between Initial Version and Version 2 of Ticket #23


Ignore:
Timestamp:
Dec 10, 2009, 1:26:37 PM (14 years ago)
Author:
lguez
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #23 – Description

    initial v2  
    77On a discuté plusieurs fois de sortir proprement la coordonnées verticale hybride. Mais je ne me souviens plus pourquoi ce n'est pas fait.
    88Il 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
     9
     10'''De Lionel :'''
     11Je 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
     12dont le nom est identique au nom de leur unique dimension, sont strictement
     13monotones. Ce qui n'est le cas ni avec "Ahyb" ni avec "Bhyb" ("Bhyb" constant
     14nul aux plus hauts niveaux). On se le fait tout de suite signaler par Ferret
     15quand on ouvre un fichier "hist" actuel. Deuxièmement, on est toujours loin
     16de la convention CF, selon laquelle l'en-tête devrait être de ce type :
     17
     18{{{
     19netcdf histday {
     20dimensions:
     21        time = UNLIMITED ; // (30 currently)
     22        s = 50 ;
     23        latitude = 73 ;
     24        longitude = 96 ;
     25variables:
     26        float time(time) ;
     27                time:units = "days since 1980-01-01" ;
     28                time:calendar = "360d" ;
     29                time:long_name = "time" ;
     30        float s(s) ;
     31                s:positive = "down" ;
     32                s:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
     33                s:long_name = "hybrid sigma-pressure coordinate" ;
     34                s:formula_terms = "ap: ap b: bp ps: psol p0: p0" ;
     35        float latitude(latitude) ;
     36                latitude:units = "degrees_north" ;
     37                latitude:standard_name = "latitude" ;
     38        float longitude(longitude) ;
     39                longitude:units = "degrees_east" ;
     40                longitude:standard_name = "longitude" ;
     41        float temp(time, s, latitude, longitude) ;
     42                temp:units = "K" ;
     43                temp:standard_name = "air_temperature" ;
     44                temp:long_name = "air temperature" ;
     45        float ap(s) ;
     46                ap:title = "Coefficient A pour hybride" ;
     47                ap:units = "hPa" ;
     48        float bp(s) ;
     49                bp:title = "Coefficient B pour hybride" ;
     50        float psol(time, latitude, longitude) ;
     51                psol:units = "hPa" ;
     52                psol:standard_name = "surface_air_pressure" ;
     53                psol:long_name = "surface pressure" ;
     54        float p0 ;
     55                p0:units = "hPa" ;
     56                p0:long_name = "reference pressure for hybrid coordinate" ;
     57
     58// global attributes:
     59                :Conventions = "CF-1.4" ;
     60                :institution = "IPSL" ;
     61data:
     62
     63 time = 360.5, 361.5, ..., 389.5 ;
     64
     65 s = 0.994072, ..., 0.0001417363 ;
     66
     67 latitude = 90, 87.5, ..., -90 ;
     68
     69 longitude = -180, -176.25, ..., 176.25 ;
     70
     71 p0 = 500 ;
     72
     73...
     74}
     75}}}
     76
     77Une possibilité qui aurait le mérite d'être propre serait de partir d'une
     78définition du fichier conforme à la convention CF comme ci-dessus et
     79d'ajouter pour le confort des variables "alt" et "presnivs" qui dépendent de
     80la coordonnée hybride "s". Dans Ferret par exemple, on pourrait taper :
     81
     82shade temp[x=@ave, l=1], y[g=temp], alt
     83
     84pour voir la température en fonction de la pseudo-altitude.