Private bucket to save and read data using s3fs#

Discover data and create
  • We show how to access s3 anonymous data in geotiff using Xarray, make a geographical area selection and store into zarr on s3 private object storage
  • We do not address dask (chunking optimization, etc.)
import os
import logging
import s3fs
import rioxarray
import xarray as xr
from hvplot import xarray
from distributed import Client
import zipfile
client = Client(n_workers=8, silence_logs=logging.ERROR)
client

Client

Client-d21030db-331e-11ef-8d99-aa21e200a370

Connection method: Cluster object Cluster type: distributed.LocalCluster
Dashboard: http://127.0.0.1:8787/status

Cluster Info

Access Data from OpenTopography#

  • OpenTopography facilitates efficient access to topography data, tools, and resources to advance our understanding of the Earth’s surface, vegetation, and built environment.

  • The example below is taken from OpenTopography with some adjustments for the purpose of this training material. The original jupyter notebook OT_BulkAccessCOGs.ipynb has been developed by Matthew Beckley (UNAVCO, Inc.), Christopher Crosby (UNAVCO, Inc.), Viswanath Nandigam (San Diego Supercomputer Center, UC San Diego), Minh Phan (San Diego Supercomputer Center, UC San Diego). See OpenTopography/OT_BulkAccess_COGs for more information.

  • Data is accessible via public S3-compatible object storage. See detailed information on OpenTopography data, which are publicly available in the Analysis Ready Cloud Optimized (ARCO) data format. See more info at https://opentopography.org/blog/programmatic-access-cloud-optimized-geotiff-cog-global-datasets

Connect to bucket (anonymous login for public data only)#

fsd = s3fs.S3FileSystem(anon=True,
      client_kwargs={
         "endpoint_url": "https://opentopography.s3.sdsc.edu"
      })

List bucket content#

fsd.ls("raster/SRTM_GL1/SRTM_GL1_srtm/")
Hide code cell output
['raster/SRTM_GL1/SRTM_GL1_srtm/N00E006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E103.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E104.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E106.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E107.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E108.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E109.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E110.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E111.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E112.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E119.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E120.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E121.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E122.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E123.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E124.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E127.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E128.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E129.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E130.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E131.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E134.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E172.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00E173.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W050.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W051.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W052.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W053.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W054.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W055.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W081.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W090.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W091.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W092.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N00W177.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E103.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E104.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E106.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E107.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E108.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E109.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E110.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E111.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E112.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E119.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E120.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E121.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E122.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E124.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E127.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E128.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E131.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E154.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E172.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01E173.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W050.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W051.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W052.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W053.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W054.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W055.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W092.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N01W158.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E095.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E096.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E103.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E104.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E105.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E106.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E107.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E108.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E109.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E111.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E112.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E127.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E128.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E131.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02E173.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W051.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W052.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W053.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W054.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W055.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N02W158.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E047.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E095.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E096.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E103.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E105.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E106.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E107.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E108.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E112.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E131.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E154.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E172.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03E173.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W051.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W052.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W053.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W054.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W055.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W082.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N03W160.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E047.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E048.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E095.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E096.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E103.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E107.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E108.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E119.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E127.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E131.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E132.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04E168.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W052.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W053.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W054.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W055.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W082.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N04W161.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E000.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E047.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E048.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E094.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E095.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E096.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E103.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E119.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E120.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E121.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E124.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E132.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E153.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E157.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E162.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E163.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E168.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E169.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05E172.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W053.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W054.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W055.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W088.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N05W163.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E000.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E047.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E048.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E049.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E081.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E093.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E095.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E101.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E102.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E115.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E120.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E121.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E122.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E123.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E124.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E134.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E143.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E149.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E151.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E152.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E157.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E158.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E159.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E160.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E169.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E171.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06E172.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W056.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W057.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W058.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N06W163.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E000.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E047.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E048.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E049.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E081.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E093.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E121.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E122.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E123.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E124.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E134.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E143.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E144.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E145.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E146.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E147.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E149.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E151.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E152.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E155.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E157.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E158.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E168.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07E171.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W059.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W081.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W082.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N07W083.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E000.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E015.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E016.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E017.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E018.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E019.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E020.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E021.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E022.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E023.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E024.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E025.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E026.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E027.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E028.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E029.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E030.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E031.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E032.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E033.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E034.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E035.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E036.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E037.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E038.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E039.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E040.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E041.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E042.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E043.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E044.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E045.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E046.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E047.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E048.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E049.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E050.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E077.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E078.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E079.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E080.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E081.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E092.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E093.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E097.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E098.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E099.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E100.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E104.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E105.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E106.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E111.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E116.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E117.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E118.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E122.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E123.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E124.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E125.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E126.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E134.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E137.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E140.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E144.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E146.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E147.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E149.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E150.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E151.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E152.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E154.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E165.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E166.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E167.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E168.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E170.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08E171.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W001.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W002.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W003.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W004.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W005.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W006.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W007.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W008.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W009.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W010.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W011.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W012.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W013.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W014.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W060.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W061.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W062.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W063.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W064.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W065.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W066.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W067.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W068.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W069.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W070.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W071.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W072.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W073.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W074.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W075.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W076.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N08W077.tif',
 ...]

Access data files#

s3path = "s3://raster/SRTM_GL1/SRTM_GL1_srtm/N3[56]W11[234].tif"
remote_files = fsd.glob(s3path)
remote_files
['raster/SRTM_GL1/SRTM_GL1_srtm/N35W112.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N35W113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N35W114.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N36W112.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N36W113.tif',
 'raster/SRTM_GL1/SRTM_GL1_srtm/N36W114.tif']
# Iterate through remote_files to create a fileset
fileset = [fsd.open(file) for file in remote_files]

# This works
dset = xr.open_mfdataset(fileset, combine='by_coords', engine="rasterio")
dset
<xarray.Dataset>
Dimensions:      (band: 1, x: 10803, y: 7202)
Coordinates:
  * band         (band) int64 1
  * x            (x) float64 -114.0 -114.0 -114.0 ... -111.0 -111.0 -111.0
  * y            (y) float64 37.0 37.0 37.0 37.0 37.0 ... 35.0 35.0 35.0 35.0
    spatial_ref  int64 0
Data variables:
    band_data    (band, y, x) float32 dask.array<chunksize=(1, 512, 512), meta=np.ndarray>

Coarsen to visualize data faster#

  • It is good practice to use coarsen to quickly visualize your data

  • persist() triggers computation but keeps data as dask arrays.

dsmall = dset.band_data.coarsen(x=10, y=10, boundary='pad').mean().persist()
dsmall.hvplot(x = 'x', y = 'y',
           cmap='RdYlGn',  alpha=0.7,
           geo=True, tiles= 'CartoLight', width=700, height=700)
WARNING:param.Image01689: Image dimension(s) x and y are not evenly sampled to relative tolerance of 0.001. Please use the QuadMesh element for irregularly sampled data or set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.
WARNING:param.Image01689: Image dimension(s) x and y are not evenly sampled to relative tolerance of 0.001. Please use the QuadMesh element for irregularly sampled data or set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.

Save the dataset into a local Zarr#

dset.chunk(chunks="auto").to_zarr("SRTM_GL1_Colorado.zarr", mode="w", consolidated=True, compute=True, encoding={"x": {}, "y": {}})
<xarray.backends.zarr.ZarrStore at 0x7fa71a984b40>

Zip the local Zarr#

def zipzarr(file):
    filename = file + os.path.extsep + "zip"
    with zipfile.ZipFile(
        filename, "w", compression=zipfile.ZIP_STORED, allowZip64=True) as fh:
        for root, _, filenames in os.walk(file):
            for each_filename in filenames:
                each_filename = os.path.join(root, each_filename)
                fh.write(each_filename, os.path.relpath(each_filename, file))
zipzarr("SRTM_GL1_Colorado.zarr")

Read local zarr#

dc = xr.open_dataset("SRTM_GL1_Colorado.zarr.zip", engine="zarr", consolidated=True)
dc
<xarray.Dataset>
Dimensions:      (band: 1, y: 7202, x: 10803)
Coordinates:
  * band         (band) int64 1
  * x            (x) float64 -114.0 -114.0 -114.0 ... -111.0 -111.0 -111.0
  * y            (y) float64 37.0 37.0 37.0 37.0 37.0 ... 35.0 35.0 35.0 35.0
Data variables:
    band_data    (band, y, x) float32 ...
    spatial_ref  int64 ...
dc.band_data.coarsen(x=10, y=10, boundary='pad').mean().persist().hvplot(x = 'x', y = 'y',
           cmap='RdYlGn',  alpha=0.7,
           geo=True, tiles= 'CartoLight', width=700, height=700)
WARNING:param.Image01892: Image dimension(s) x and y are not evenly sampled to relative tolerance of 0.001. Please use the QuadMesh element for irregularly sampled data or set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.
WARNING:param.Image01892: Image dimension(s) x and y are not evenly sampled to relative tolerance of 0.001. Please use the QuadMesh element for irregularly sampled data or set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.

Put zarr into private bucket#

Save results in zarr on private object storage for further analysis#

  • your credentials are in $HOME/.aws/credentials

  • check with your instructor to get the secret access key (replace XXX by the right key)

[default]
aws_access_key_id=XXXXXXXXXXXX
aws_secret_access_key=YYYYYYYYYY
aws_endpoint_url=https://pangeo-eosc-minioapi.vm.fedcloud.eu/

Set the path to your group’s location (ask your instructor)#

s3_prefix = os.environ['JUPYTERHUB_USER']
# s3_suffix below is what you need to customise to create your own buckets:
s3_suffix = 'work'
s3_bucket = s3_prefix + '-' + s3_suffix + '/'
s3_bucket
'afouilloux-work/'
fss = s3fs.S3FileSystem(anon=False,
      client_kwargs={
         "endpoint_url": "https://pangeo-eosc-minioapi.vm.fedcloud.eu/"
      })
fss.ls(s3_bucket)
['afouilloux-work/SRTM_GL1_srtm_Colorado.zarr',
 'afouilloux-work/SRTM_GL1_srtm_Colorado.zarr.zip']
try:
    fss.ls(s3_bucket + "SRTM_GL1_srtm_Colorado.zarr.zip")
    print("zarr is present online so we delete it")
    fss.rm(s3_bucket + "SRTM_GL1_srtm_Colorado.zarr.zip")
except:
    print("Zarr is not there; no need to delete it")

fss.put("SRTM_GL1_Colorado.zarr.zip", s3_bucket + "/SRTM_GL1_srtm_Colorado.zarr.zip")
zarr is present online so we delete it
[None]

Check what you have stored in s3#

Read zarr from private s3 bucket#

import os
import s3fs
import zipfile
import fsspec
from fsspec.implementations.zip import ZipFileSystem
from fsspec.mapping import FSMap
import xarray as xr
from hvplot import xarray
fst = s3fs.S3FileSystem(anon=False,
      client_kwargs={
         "endpoint_url": "https://pangeo-eosc-minioapi.vm.fedcloud.eu/"
      })
s3_prefix = os.environ['JUPYTERHUB_USER']
# s3_suffix below is what you need to customise to create your own buckets:
s3_suffix = 'work'
s3_bucket = s3_prefix + '-' + s3_suffix + '/'
s3_bucket
'afouilloux-work/'
s3_path = "s3://" + s3_bucket + "SRTM_GL1_srtm_Colorado.zarr.zip"
f = fst.open(s3_path)
fs = ZipFileSystem(f, mode="r")
store = FSMap("", fs, check=False)
# Read Zarr file
ds = xr.open_zarr(store=store, consolidated=True)
ds
<xarray.Dataset>
Dimensions:      (band: 1, y: 7202, x: 10803)
Coordinates:
  * band         (band) int64 1
  * x            (x) float64 -114.0 -114.0 -114.0 ... -111.0 -111.0 -111.0
  * y            (y) float64 37.0 37.0 37.0 37.0 37.0 ... 35.0 35.0 35.0 35.0
Data variables:
    band_data    (band, y, x) float32 dask.array<chunksize=(1, 5632, 5632), meta=np.ndarray>
    spatial_ref  int64 ...

Access and visualize#

ds.band_data.coarsen(x=10, y=10, boundary='pad').mean().persist().hvplot(x = 'x', y = 'y',
           cmap='RdYlGn',  alpha=0.7,
           geo=True, tiles= 'CartoLight', width=700, height=700)
WARNING:param.Image02095: Image dimension(s) x and y are not evenly sampled to relative tolerance of 0.001. Please use the QuadMesh element for irregularly sampled data or set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.
WARNING:param.Image02095: Image dimension(s) x and y are not evenly sampled to relative tolerance of 0.001. Please use the QuadMesh element for irregularly sampled data or set a higher tolerance on hv.config.image_rtol or the rtol parameter in the Image constructor.
client.close()