diff --git a/aws-landsat/install_packages.sh b/aws-landsat/install_packages.sh
new file mode 100755
index 0000000..43629a7
--- /dev/null
+++ b/aws-landsat/install_packages.sh
@@ -0,0 +1,16 @@
+#!/bin/bash -i
+  
+wget -q 'https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh'
+chmod ug+x ./Miniconda3-py39_4.10.3-Linux-x86_64.sh
+bash ./Miniconda3-py39_4.10.3-Linux-x86_64.sh -b
+
+echo 'export PATH="/home/ubuntu/miniconda3/bin:$PATH"' >> ~/.bashrc
+
+source ~/.bashrc
+
+
+conda create -q -y --name myenv
+
+conda activate myenv
+
+conda install -y -c conda-forge rasterio
diff --git a/aws-landsat/process_sat.py b/aws-landsat/process_sat.py
new file mode 100755
index 0000000..81cb0db
--- /dev/null
+++ b/aws-landsat/process_sat.py
@@ -0,0 +1,59 @@
+#!/usr/bin/python3
+import os
+import rasterio
+
+print('Landsat on AWS:')
+filepath = 'http://landsat-pds.s3.amazonaws.com/c1/L8/042/034/LC08_L1TP_042034_20170616_20170629_01_T1/LC08_L1TP_042034_20170616_20170629_01_T1_B4.TIF'
+with rasterio.open(filepath) as src:
+    print(src.profile)
+
+with rasterio.open(filepath) as src:
+   oviews = src.overviews(1) # list of overviews from biggest to smallest
+   oview = oviews[-1] # let's look at the smallest thumbnail
+   print('Decimation factor= {}'.format(oview))
+   # NOTE this is using a 'decimated read' (http://rasterio.readthedocs.io/en/latest/topics/resampling.html)
+   thumbnail = src.read(1, out_shape=(1, int(src.height // oview), int(src.width // oview)))
+
+print('array type: ',type(thumbnail))
+print(thumbnail)
+
+date = '2017-06-16'
+url = 'http://landsat-pds.s3.amazonaws.com/c1/L8/042/034/LC08_L1TP_042034_20170616_20170629_01_T1/'
+redband = 'LC08_L1TP_042034_20170616_20170629_01_T1_B{}.TIF'.format(4)
+nirband = 'LC08_L1TP_042034_20170616_20170629_01_T1_B{}.TIF'.format(5)
+
+with rasterio.open(url+redband) as src:
+    profile = src.profile
+    oviews = src.overviews(1) # list of overviews from biggest to smallest
+    oview = oviews[1]  # Use second-highest resolution overview
+    print('Decimation factor= {}'.format(oview))
+    red = src.read(1, out_shape=(1, int(src.height // oview), int(src.width // oview)))
+    print(red)
+
+def calc_ndvi(nir,red):
+    '''Calculate NDVI from integer arrays'''
+    nir = nir.astype('f4')
+    red = red.astype('f4')
+    ndvi = (nir - red) / (nir + red)
+    return ndvi
+
+np.seterr(invalid='ignore')
+ndvi = calc_ndvi(nir,red)
+print(ndvi)
+
+localname = 'LC08_L1TP_042034_20170616_20170629_01_T1_NDVI_OVIEW.tif'
+
+with rasterio.open(url+nirband) as src:
+    profile = src.profile.copy()
+
+    aff = src.transform
+    newaff = rasterio.Affine(aff.a * oview, aff.b, aff.c,
+                             aff.d, aff.e * oview, aff.f)
+    profile.update({
+            'dtype': 'float32',
+            'height': ndvi.shape[0],
+            'width': ndvi.shape[1],
+            'transform': newaff})  
+
+    with rasterio.open(localname, 'w', **profile) as dst:
+        dst.write_band(1, ndvi)
diff --git a/landsat/.combine.py.swp b/landsat/.combine.py.swp
new file mode 100644
index 0000000..2e0666f
Binary files /dev/null and b/landsat/.combine.py.swp differ