Here is a CDL illustration of how I think this could work, with separate 
variables for the (1) months and years (with each year 12 months, months 
variable numbers of days), (2) days, hours, minutes (60 minutes to the hour, 24 
hours to the day, variable length minutes) and (3) seconds (SI units .. only 
counting seconds since last minute). I've not included a true time axis, as 
trying to convert the times to UTC times in a single parameter would be error 
prone and defeat the point of the example.

```netcdf ex1 {
dimensions:
        time = 2 ;
variables:
        float mydata(time) ;
                mydata:coordinates = "time time_ca time_cl seconds" ;
        int time_ca(time) ;
                time_ca:long_name = "Calendar months [years*12 + months]" ;
                time_ca:units = "month_ca since 1980-01-01 00:00:00" ;
                time_ca:calendar = "gregorian_utc" ;
                time_ca:standard_name = "time_ca" ;
        int time_cl(time) ;
                time_cl:long_name = "Seconds elapsed since last full UTC 
minute" ;
                time_cl:units = "hour_cl since 1980-01-01 00:00:00" ;
                time_cl:calendar = "gregorian_utc" ;
                time_cl:standard_name = "time_cl" ;
        float seconds(time) ;
                seconds:standard_name = "time" ;
                seconds:units = "s";

// global attributes:
                :Conventions = "CF-1.7" ;
                :title = "Sample of proposed new abstract time variables" ;
                :comments = "encodes \'1980-06-01 12:02:15\' and \'1981-06-01 
12:04:35\' in UTC time" ;
data:

 mydata = 0, 1 ;

 time_ca = 6, 18 ;

 time_cl = 722, 724 ;

 seconds = 15, 35 ;
}```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/cf-convention/cf-conventions/issues/148#issuecomment-434298043

Reply via email to