def find_datasets(self, source_dir):
        
        # Allow an individual netCDF file to be nominated as the source
        if os.path.isfile(source_dir) and source_dir.endswith(".nc"):
            LOGGER.debug('%s is a netCDF file')
            return [source_dir]

        assert os.path.isdir(source_dir), '%s is not a directory' % source_dir
        LOGGER.info('Searching for datasets in %s', source_dir)

        # Get all .nc files under source_dir (all levels)
        dataset_list = []
        for root, _dirs, files in os.walk(source_dir):
            dataset_list += [os.path.join(root, nc) for nc in files if nc.endswith('.nc')]
            
        dataset_list = sorted(dataset_list)
        
        LOGGER.debug('dataset_list = %s', dataset_list)
        return dataset_list
Return a list of path to the netCDF datasets under 'source_dir' or a single-item list
dataset/ETHPy150Open GeoscienceAustralia/agdc/src/modis_ingester/__init__.py/ModisIngester.find_datasets