CF Metadata: Ticket Query!closed&keywords=~averaging&order=priority CF Metadata en-US CF Metadata!closed&keywords=~averaging&order=priority Trac 1.0.12 #82: Extend cell_methods attribute to document multi-step operations on a variable Thu, 08 Mar 2012 15:59:37 GMT mgschultz <h2 id="a1.Title">1. Title</h2> <blockquote> <p> Extend cell_methods attribute to document multi-step operations on a variable </p> </blockquote> <h2 id="a2.Moderator">2. Moderator</h2> <blockquote> <p> Philip Cameron-Smith (TBC) </p> </blockquote> <h2 id="a3.Requirement">3. Requirement</h2> <blockquote> <p> Air quality data (and possibly other data sets) require to store more complex arithmetic information than cell_methods currently allow for. An example are "daily maximum 8-hour-running-average concentrations". Other examples include (current US EPA standard for ozone) "0.075 ppm over 8 hour period: To attain this standard, the 3-year average of the fourth-highest daily maximum 8-hour average ozone concentrations measured at each monitor within an area over each year must not exceed 0.075 ppm." Or from a new standard proposal <a class="ext-link" href=""><span class="icon">​</span></a> : "cumulative, seasonal standard expressed as an annual index of the sum of weighted hourly concentrations, cumulated over 12 hours per day (8 am to 8 pm) during the consecutive 3-month period within the O3 season with the maximum index value, set at a level within the range of 7 to 15 ppm-hours". </p> </blockquote> <blockquote> <p> The proposed changes to the cell_methods attribute shall allow for a description of multiple arithmetic operations while preserving backward compatibility as much as possible. </p> </blockquote> <blockquote> <p> Multiple averaging times (e.g. "max 1-hourly average" and "max 8-hourly average" need to be stored in the same file. There is a need in principle to be able to specify the three relevant time quantities: </p> </blockquote> <blockquote> <p> 1) the length of the running-mean kernel (1-hour, 8-hour, annual), </p> </blockquote> <blockquote> <p> 2) the time interval within which the maximum of the running mean is searched for (daily, monthly, yearly), </p> </blockquote> <blockquote> <p> 3) the point/time in the running-mean kernel that is used to decide whether an 8-hour mean falls within the time interval for no.2, since an 8-hour mean will often include values from outside the time interval. </p> </blockquote> <blockquote> <p> In practice no.3 is often not mentioned because there is usually a diurnal cycle to air-quality that helps to avoid confusion in given instances (ozone peaks in the afternoon, and smoke particles peak at night). </p> </blockquote> <h2 id="a4.InitialStatementofTechnicalProposal">4. Initial Statement of Technical Proposal</h2> <blockquote> <p> We propose to <strong>enhance the cell_methods attribute</strong>, because its rationale (section 1.3 of CF-1.6) reads "An important application of this attribute is to describe climatological and diurnal statistics." This is exactly what we want to do. </p> </blockquote> <blockquote> <p> Specifically, the following changes should be made to <strong>section 7.3.2. "Recording the spacing of the original data and other information"</strong>: (additions marked by <em>TEXT</em>, deletions by <del>TEXT</del>. </p> </blockquote> <blockquote> <p> To indicate more precisely how the cell method was applied, extra information may be included in parentheses () after the identification of the method. This information includes standardized and non-standardized parts. <del>Currently the only s</del><em>S</em>tandardized information <del>is to provide</del><em>includes</em> the typical interval between the original data values to which the method was applied<em> or the period (length of time) which was considered in the arithmetic operation.</em> <del>, in the situation where the present data values are statistically representative of original data values which had a finer spacing.</del> </p> </blockquote> <blockquote> <p> The syntax is (interval: value unit<em>[ period: value unit]</em>), where value is a numerical value and unit is a string that can be recognized by UNIDATA's Udunits package [UDUNITS]. The unit will usually be dimensionally equivalent to the unit of the corresponding dimension, but this is not required (which allows, for example, the interval for a standard deviation calculated from points evenly spaced in distance along a parallel to be reported in units of length even if the zonal coordinate of the cells is given in degrees). Recording the original interval is particularly important for standard deviations. For example, the standard deviation of daily values could be indicated by cell_methods="time: standard_deviation (interval: 1 day)" and of annual values by cell_methods="time: standard_deviation (interval: 1 year)". </p> </blockquote> <blockquote> <p> <em>The (period: value unit) syntax can be used for example to express the length of an averaging interval. One such example is the recording of "daily maximum 8-hour average concentrations". In this case the cell_methods attribute would read "time:maximum time:mean (interval: 1 hour, period: 8 hours)" - this indicates processing from right to left, i.e. first averaging over eight hourly values, then computing the maximum of these averaged values. If the period is given, an interval attribute must also be given.</em> </p> </blockquote> <blockquote> <p> (the rest of the section remains unchanged) </p> </blockquote> <blockquote> <p> <strong>Implication on section 7.3</strong>: "Furthermore, it should be noted that if any method other than 'point' is specified for a given axis, then cell_bounds should also be provided for that axis (except for the relatively rare exceptions described in Section 7.3.4, 'Cell methods when there are no coordinates')." - This statement may contradict the new formulation for running averages. The time coordinates will generally be recorded daily at regular intervals (i.e. 12:00 h). A time_bounds variable would give false information. </p> </blockquote> <blockquote> <p> <strong>Implications on Appendix E</strong>: no changes are necessary in Appendix E. </p> </blockquote> <h2 id="a5.Benefits">5. Benefits</h2> <blockquote> <p> This enhancement would be of immediate value to the community of air quality research, but we expect that others can also benefit from it. </p> </blockquote> <h2 id="a6.StatusQuo">6. Status Quo</h2> <blockquote> <p> The only way this information can currently be conveyed is via the use of non-standard attributes (e.g. long_name) or by defining lengthy (non standard) variable names (e.g. o3_daily_max_8hourly_running_mean). This has the disadvantage that either no standard_name can be used, or two different fields (instantaneous output and averaged quantity) would use the same standard_name. </p> </blockquote> Results