double time(time) ;//........................................ Depending on the precision used for the variable, the data type could be int or double instead of float.
            time:long_name = "" ; //..................................... RECOMMENDED - Provide a descriptive, long name for this variable.
            time:standard_name = "time" ; //............................. REQUIRED    - Do not change
            time:units = "seconds since 1970-01-01 00:00:00 0:00" ; //... REQUIRED    - Use approved CF convention with approved UDUNITS.
            time:calendar = "julian" ; //................................ REQUIRED    - IF the calendar is not default calendar, which is "gregorian".
            time:axis = "T" ; //......................................... REQUIRED    - Do not change.
            time:_FillValue = 0.0f;//.................................... REQUIRED  if there could be missing values in the data.
            time:ancillary_variables = "" ; //........................... RECOMMENDED - List other variables providing information about this variable.
            time:comment = "" ; //....................................... RECOMMENDED - Add useful, additional information here.

def check_time(self, dataset):
        '''
        double time(time) ;//........................................ Depending on the precision used for the variable, the data type could be int or double instead of float.
            time:long_name = "" ; //..................................... RECOMMENDED - Provide a descriptive, long name for this variable.
            time:standard_name = "time" ; //............................. REQUIRED    - Do not change
            time:units = "seconds since 1970-01-01 00:00:00 0:00" ; //... REQUIRED    - Use approved CF convention with approved UDUNITS.
            time:calendar = "julian" ; //................................ REQUIRED    - IF the calendar is not default calendar, which is "gregorian".
            time:axis = "T" ; //......................................... REQUIRED    - Do not change.
            time:_FillValue = 0.0f;//.................................... REQUIRED  if there could be missing values in the data.
            time:ancillary_variables = "" ; //........................... RECOMMENDED - List other variables providing information about this variable.
            time:comment = "" ; //....................................... RECOMMENDED - Add useful, additional information here.
        '''
        results = []
        time_var = util.get_time_variable(dataset)
        if not time_var:
            return Result(BaseCheck.HIGH, False, 'Coordinate variable time', ['Time coordinate variable was not found'])
        required_ctx = TestCtx(BaseCheck.HIGH, 'Required attributes for variable time')
        required_ctx.assert_true(getattr(dataset.variables[time_var], 'standard_name', '') == 'time', 'standard_name is "time"')
        time_regex = r'(seconds|minutes|hours|days) since.*'
        time_units = getattr(dataset.variables[time_var], 'units', '')
        required_ctx.assert_true(re.match(time_regex, time_units) is not None, 'Valid units for time')
        calendar = getattr(dataset.variables[time_var], 'calendar', '')
        valid_calendars = [
            'standard',
            'gregorian',
            'proleptic_gregorian',
            'noleap',
            '365_day',
            '360_day',
            'julian',
            'all_leap',
            '366_day'
        ]

        if calendar:
            required_ctx.assert_true(calendar.lower() in valid_calendars, 'calendar attribute should be a valid calendar in ({})'.format(', '.join(valid_calendars)))

        results.append(required_ctx.to_result())
        recommended_ctx = TestCtx(BaseCheck.MEDIUM, 'Recommended attributes for variable time')
        recommended_ctx.assert_true(getattr(dataset.variables[time_var], 'long_name', '') != '', 'long_name attribute should exist and not be empty')
        if hasattr(dataset.variables[time_var], 'comment'):
            recommended_ctx.assert_true(getattr(dataset.variables[time_var], 'comment', '') != '', 'comment attribute should not be empty if specified')
        results.append(recommended_ctx.to_result())

        return results