code: def save_cloud_optimized(self, dest_url, resampling=Resampling.gauss, blocksize=256,
                               overview_blocksize=256, creation_options=None):
          
  
          src = self  # GeoRaster2.open(self._filename)
  
          with tempfile.NamedTemporaryFile(suffix='.tif') as tf:
              src.save(tf.name, overviews=False)
              convert_to_cog(tf.name, dest_url, resampling, blocksize, overview_blocksize, creation_options)
  
          geotiff = GeoRaster2.open(dest_url)
          return geotiff
docs: Save as Cloud Optimized GeoTiff object to a new file.
  
          :param dest_url: path to the new raster
          :param resampling: which Resampling to use on reading, default Resampling.gauss
          :param blocksize: the size of the blocks default 256
          :param overview_blocksize: the block size of the overviews, default 256
          :param creation_options: dict, options that can override the source raster profile,
                                notice that you can't override tiled=True, and the blocksize
                                the list of creation_options can be found here https://www.gdal.org/frmt_gtiff.html
          :return: new GeoRaster of the tiled object