Open grenville opened 2 years ago
(as far as I have looked, CMIP6 atmos data do not have explicit area: cell methods (with the exception of some obscure data in co2Clim and other Clims, and zonal data) - I propose to simply hand edit atmos xml to handle the 6 zonal fields we have (30, [310-316])
Omon has 292 fields
219 with "cell_methods": "area: mean where sea 29 with cell_methods": "area: mean where sea depth: sum where sea 15 with "cell_methods": "longitude: sum (comment: basin sum [along zig-zag grid path]) depth: sum 8 with "cell_methods": "area: mean where ice_free_sea over sea
plus a few without area cell_methods
186 of these are in ocnBgchem so of no interest to us.
Probably not a big job to add these area cell_methods to nemo xml
CICE output does not include standard names -- got what the MO used for their CMIP & added through the modify metadata task. Can add areas cell methods the same way, plus ocean area cell methods. (I don't know how to add the NEMO cell methods by modifying the xml)
as far as I have looked, CMIP6 atmos data do not have explicit area: cell methods
Apologies if I've misunderstood, but that surprised me, given that the data are area means, it would be wrong since the metadata would not correctly describe the data. By not specifying "area: mean", a default cell method of either "area: sum" or "area: point" is assumed, which one depends on whether the quantity depends on the cell size ("extensive", like an accumulation) or does not ("intensive", like a rate). See paragraphs four and five of section 7.3.
I checked a random CMIP6 file, and it did have an area cell method:
netcdf tasmax_day_CNRM-CM6-1_historical_r1i1p1f2_gr_18500101-18500131 {
<snip>
float tasmax(time, lat, lon) ;
tasmax:online_operation = "maximum" ;
tasmax:cell_methods = "area: mean time: maximum" ;
tasmax:interval_operation = "900 s" ;
tasmax:interval_write = "1 d" ;
tasmax:_FillValue = 1.e+20f ;
tasmax:missing_value = 1.e+20f ;
tasmax:coordinates = "" ;
tasmax:standard_name = "air_temperature" ;
tasmax:description = "maximum near-surface (usually, 2 meter) air temperature (add cell_method attribute \"time: max\")" ;
tasmax:long_name = "Daily Maximum Near-Surface Air Temperature" ;
tasmax:history = "none" ;
tasmax:units = "K" ;
tasmax:cell_measures = "area: areacella" ;
there were a couple of exceptions - tasmax is one, but not so for tas
float tas(time, lat, lon) ;
tas:standard_name = "air_temperature" ;
tas:long_name = "Near-Surface Air Temperature" ;
tas:comment = "near-surface (usually, 2 meter) air temperature" ;
tas:units = "K" ;
tas:original_name = "mo: (stash: m01s03i236, lbproc: 128)" ;
tas:cell_methods = "area: time: mean" ;
tas:cell_measures = "area: areacella" ;
tas:history = "2020-05-12T13:01:29Z altered by CMOR: Treated scalar dimension: \'height\'." ;
tas:coordinates = "height" ;
tas:missing_value = 1.e+20f ;
unless
tas:cell_methods = "area: time: mean" ;
implies area and time are both means?
That it does.
added area:mean to atmos fields added longitude:mean to (30, [310-316]) fixed CICE standard names and cell_methods where known
added longitude:mean to (30, [310-316]) - back this out, it's probably wrong. the sec 30 stash referred to above are things like
(xy)-(x)(y), where (x) is the zonal mean of x.
how do we handle CICE and NEMO area cell_methods -- neither model writes them