| | 9 | |
| | 10 | '''De Lionel :''' |
| | 11 | 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 |
| | 12 | dont le nom est identique au nom de leur unique dimension, sont strictement |
| | 13 | monotones. Ce qui n'est le cas ni avec "Ahyb" ni avec "Bhyb" ("Bhyb" constant |
| | 14 | nul aux plus hauts niveaux). On se le fait tout de suite signaler par Ferret |
| | 15 | quand on ouvre un fichier "hist" actuel. Deuxièmement, on est toujours loin |
| | 16 | de la convention CF, selon laquelle l'en-tête devrait être de ce type : |
| | 17 | |
| | 18 | {{{ |
| | 19 | netcdf histday { |
| | 20 | dimensions: |
| | 21 | time = UNLIMITED ; // (30 currently) |
| | 22 | s = 50 ; |
| | 23 | latitude = 73 ; |
| | 24 | longitude = 96 ; |
| | 25 | variables: |
| | 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" ; |
| | 61 | data: |
| | 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 | |
| | 77 | Une possibilité qui aurait le mérite d'être propre serait de partir d'une |
| | 78 | définition du fichier conforme à la convention CF comme ci-dessus et |
| | 79 | d'ajouter pour le confort des variables "alt" et "presnivs" qui dépendent de |
| | 80 | la coordonnée hybride "s". Dans Ferret par exemple, on pourrait taper : |
| | 81 | |
| | 82 | shade temp[x=@ave, l=1], y[g=temp], alt |
| | 83 | |
| | 84 | pour voir la température en fonction de la pseudo-altitude. |