A field with cell_methods = "time: mean" should have a time coordinate with a bounds attribute pointing at a time_bnds variable that gives the averaging interval (CF 7.1 and 7.3). Omega's TimeMean analysis outputs now carry time: mean (#548), but IOStream writes time without bounds, so cfchecks reports WARN: (7.3): Coordinate variable time should have bounds or climatology attribute on every time-mean variable. The file is otherwise clean.
Expected: streams that hold time means write a time_bnds(time, 2) variable, with time:bounds = "time_bnds", holding the start and end of each averaging period. Snapshot streams need no bounds.
To reproduce: run the analysis_members_test task of Polaris omega_pr at QU240 on chrysalis and run cfchecks (cfchecker 4.1.0) on the global_stats_1DayTimeStats file it writes.
Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.
A field with
cell_methods = "time: mean"should have atimecoordinate with aboundsattribute pointing at atime_bndsvariable that gives the averaging interval (CF 7.1 and 7.3). Omega'sTimeMeananalysis outputs now carrytime: mean(#548), but IOStream writestimewithout bounds, so cfchecks reportsWARN: (7.3): Coordinate variable time should have bounds or climatology attributeon every time-mean variable. The file is otherwise clean.Expected: streams that hold time means write a
time_bnds(time, 2)variable, withtime:bounds = "time_bnds", holding the start and end of each averaging period. Snapshot streams need no bounds.To reproduce: run the
analysis_members_testtask of Polarisomega_prat QU240 on chrysalis and runcfchecks(cfchecker 4.1.0) on theglobal_stats_1DayTimeStatsfile it writes.Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.