From c6059c0193643600e845dd186cd89865873d1a06 Mon Sep 17 00:00:00 2001 From: ckrogers <35336768+ckrogers@users.noreply.github.com> Date: Wed, 4 Apr 2018 16:15:00 +0200 Subject: [PATCH] Issue #12 GEE image collection upload using https://github.com/tracek/gee_asset_manager --- notebooks/NSO2EE.ipynb | 337 ++++++++++++++++++++++++++++------------- 1 file changed, 234 insertions(+), 103 deletions(-) diff --git a/notebooks/NSO2EE.ipynb b/notebooks/NSO2EE.ipynb index 21910ba..b77c9fe 100644 --- a/notebooks/NSO2EE.ipynb +++ b/notebooks/NSO2EE.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 35, + "execution_count": 1, "metadata": { "collapsed": false }, @@ -13,12 +13,12 @@ "import re\n", "import glob\n", "import subprocess\n", - "import datetime\n", "import time\n", + "import datetime\n", "import pytz\n", "import exifread\n", "import zipfile\n", - "# from osgeo import gdal\n", + "import pandas as pd\n", "\n", "import ee\n", "import ee.cli\n", @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 2, "metadata": { "collapsed": true }, @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 3, "metadata": { "collapsed": true }, @@ -61,59 +61,77 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 4, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Number of files to upload as assets = 69']\n", + "['Number of zipped files = 0']\n" + ] + } + ], "source": [ "input_dir = r'P:/11202200.005-kpp-cip2018/data/Satellitedataportaal'\n", "os.chdir(input_dir)\n", "\n", - "rapideye = True\n", - "triplesat = False\n", + "# find all .tif and .zip files\n", + "files = glob.glob('RapidEye/**/**/*.tif', recursive=True)\n", + "zippedfiles = glob.glob('RapidEye/**/**/*.zip', recursive=True)\n", + "print(['Number of files to upload as assets = '+str(len(files))])\n", + "print(['Number of zipped files = '+str(len(zippedfiles))])\n", "\n", - "local = pytz.timezone(\"Europe/Amsterdam\")\n" + "local = pytz.timezone(\"Europe/Amsterdam\")" ] }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 6, "metadata": { "collapsed": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['Number of files to upload as assets = 200']\n" - ] - } - ], + "outputs": [], "source": [ - "# unzip all .zip files\n", + "# Files must all be in the same file for Google Earth Engine Batch Asset Manager,\n", + "# but ftp.satellietdataportaal.nl transfer for RapidEye was categorized in monthly/daily folders\n", "\n", - "# find all .tif files\n", - "if rapideye:\n", - " files = glob.glob('RapidEye/**/**/*.tif', recursive=True)\n", - " zippedfiles = glob.glob('RapidEye/**/**/*.zip', recursive=True)\n", - "elif triplesat:\n", - " files = glob.glob('TripleSat/**/**/*.tif', recursive=True)\n", - " zippedfiles = glob.glob('TripleSat/**/**/*.zip', recursive=True)\n", - "else:\n", - " files = None\n", - " zippedfiles = None\n", - " print('Can only upload one satellite at a time. Please set rapideye or triplesat only.')\n", + "# Unzip all\n", + "for j in zippedfiles:\n", + " filename = os.path.basename(j)\n", + " filename_no_ext = os.path.splitext(j)[0]\n", + " filename_unzipped = os.path.join(input_dir,filename_no_ext+'.tif')\n", + " is_unzipped = os.path.lexists(filename_unzipped)\n", + " if is_unzipped: \n", + " os.remove(os.path.join(input_dir,j))\n", + " else:\n", + " extractAll(j)\n", + " print(['Unzipped .tif file from ' + filename])\n", + " os.remove(os.path.join(input_dir,j))\n", + "\n", + "dst = 'RapidEye/'\n", + "# Move all files to destination path\n", + "for k in files:\n", + " filename = os.path.basename(k)\n", + " path_move_file = os.path.join(input_dir,dst,filename)\n", + " if os.path.lexists(path_move_file):\n", + " pass\n", + " else:\n", + " os.rename(os.path.join(input_dir,k), path_move_file)\n", "\n", - "# files = glob.glob('TripleSat/**/*.tif')\n", + "# delete empty directories\n", + "empty_dir = glob.glob('RapidEye/**/**')\n", "\n", - "print(['Number of files to upload as assets = '+str(len(files))])\n" + "for e in empty_dir:\n", + " os.rmdir(os.path.join(input_dir,e))" ] }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 7, "metadata": { "collapsed": false }, @@ -122,54 +140,168 @@ "name": "stdout", "output_type": "stream", "text": [ - "False\n", - "['tif file DOES NOT exist for 20170331_3163722_RE_5m_8bit_RGB_RD.zip']\n" + "['Number of files to upload as assets = 69']\n", + "Processing file RapidEye\\20170511_3163722_RE_5m_8bit_RGB_RD.tif, file index: 0\n", + "Processing file RapidEye\\20170409_3162817_RE_5m_8bit_RGB_RD.tif, file index: 1\n", + "Processing file RapidEye\\20170409_3163721_RE_5m_8bit_RGB_RD.tif, file index: 2\n", + "Processing file RapidEye\\20170331_3263706_RE_5m_8bit_RGB_RD.tif, file index: 3\n", + "Processing file RapidEye\\20170425_3163722_RE_5m_8bit_RGB_RD.tif, file index: 4\n", + "Processing file RapidEye\\20170321_3163721_RE_5m_8bit_RGB_RD.tif, file index: 5\n", + "Processing file RapidEye\\20170321_3162817_RE_5m_8bit_RGB_RD.tif, file index: 6\n", + "Processing file RapidEye\\20170404_3162816_RE_5m_8bit_RGB_RD.tif, file index: 7\n", + "Processing file RapidEye\\20170829_3263706_RE_5m_8bit_RGB_RD.tif, file index: 8\n", + "Processing file RapidEye\\20170327_3163721_RE_5m_8bit_RGB_RD.tif, file index: 9\n", + "Processing file RapidEye\\20170420_3163721_RE_5m_8bit_RGB_RD.tif, file index: 10\n", + "Processing file RapidEye\\20170420_3162817_RE_5m_8bit_RGB_RD.tif, file index: 11\n", + "Processing file RapidEye\\20170525_3163722_RE_5m_8bit_RGB_RD.tif, file index: 12\n", + "Processing file RapidEye\\20170709_3163721_RE_5m_8bit_RGB_RD.tif, file index: 13\n", + "Processing file RapidEye\\20170709_3162817_RE_5m_8bit_RGB_RD.tif, file index: 14\n", + "Processing file RapidEye\\20170904_3163722_RE_5m_8bit_RGB_RD.tif, file index: 15\n", + "Processing file RapidEye\\20170601_3163722_RE_5m_8bit_RGB_RD.tif, file index: 16\n", + "Processing file RapidEye\\20170807_3263706_RE_5m_8bit_RGB_RD.tif, file index: 17\n", + "Processing file RapidEye\\20170331_3163721_RE_5m_8bit_RGB_RD.tif, file index: 18\n", + "Processing file RapidEye\\20170602_3163721_RE_5m_8bit_RGB_RD.tif, file index: 19\n", + "Processing file RapidEye\\20170315_3162816_RE_5m_8bit_RGB_RD.tif, file index: 20\n", + "Processing file RapidEye\\20170709_3263706_RE_5m_8bit_RGB_RD.tif, file index: 21\n", + "Processing file RapidEye\\20170327_3263706_RE_5m_8bit_RGB_RD.tif, file index: 22\n", + "Processing file RapidEye\\20170829_3163721_RE_5m_8bit_RGB_RD.tif, file index: 23\n", + "Processing file RapidEye\\20170409_3162816_RE_5m_8bit_RGB_RD.tif, file index: 24\n", + "Processing file RapidEye\\20170522_3163722_RE_5m_8bit_RGB_RD.tif, file index: 25\n", + "Processing file RapidEye\\20170330_3263706_RE_5m_8bit_RGB_RD.tif, file index: 26\n", + "Processing file RapidEye\\20170404_3162817_RE_5m_8bit_RGB_RD.tif, file index: 27\n", + "Processing file RapidEye\\20170404_3163721_RE_5m_8bit_RGB_RD.tif, file index: 28\n", + "Processing file RapidEye\\20170321_3162816_RE_5m_8bit_RGB_RD.tif, file index: 29\n", + "Processing file RapidEye\\20170420_3162816_RE_5m_8bit_RGB_RD.tif, file index: 30\n", + "Processing file RapidEye\\20170409_3263706_RE_5m_8bit_RGB_RD.tif, file index: 31\n", + "Processing file RapidEye\\20170323_3162818_RE_5m_8bit_RGB_RD.tif, file index: 32\n", + "Processing file RapidEye\\20170325_3163722_RE_5m_8bit_RGB_RD.tif, file index: 33\n", + "Processing file RapidEye\\20170709_3162816_RE_5m_8bit_RGB_RD.tif, file index: 34\n", + "Processing file RapidEye\\20170602_3163722_RE_5m_8bit_RGB_RD.tif, file index: 35\n", + "Processing file RapidEye\\20170425_3263706_RE_5m_8bit_RGB_RD.tif, file index: 36\n", + "Processing file RapidEye\\20170331_3163722_RE_5m_8bit_RGB_RD.tif, file index: 37\n", + "Processing file RapidEye\\20170510_3162817_RE_5m_8bit_RGB_RD.tif, file index: 38\n", + "Processing file RapidEye\\20170619_3163722_RE_5m_8bit_RGB_RD.tif, file index: 39\n", + "Processing file RapidEye\\20170707_3162817_RE_5m_8bit_RGB_RD.tif, file index: 40\n", + "Processing file RapidEye\\20170829_3163722_RE_5m_8bit_RGB_RD.tif, file index: 41\n", + "Processing file RapidEye\\20170831_3162817_RE_5m_8bit_RGB_RD.tif, file index: 42\n", + "Processing file RapidEye\\20170904_3263706_RE_5m_8bit_RGB_RD.tif, file index: 43\n", + "Processing file RapidEye\\20170331_3162818_RE_5m_8bit_RGB_RD.tif, file index: 44\n", + "Processing file RapidEye\\20170825_3163722_RE_5m_8bit_RGB_RD.tif, file index: 45\n", + "Processing file RapidEye\\20170511_3263706_RE_5m_8bit_RGB_RD.tif, file index: 46\n", + "Processing file RapidEye\\20170323_3163721_RE_5m_8bit_RGB_RD.tif, file index: 47\n", + "Processing file RapidEye\\20170522_3163721_RE_5m_8bit_RGB_RD.tif, file index: 48\n", + "Processing file RapidEye\\20170323_3162817_RE_5m_8bit_RGB_RD.tif, file index: 49\n", + "Processing file RapidEye\\20170902_3162816_RE_5m_8bit_RGB_RD.tif, file index: 50\n", + "Processing file RapidEye\\20170827_3162816_RE_5m_8bit_RGB_RD.tif, file index: 51\n", + "Processing file RapidEye\\20170404_3162818_RE_5m_8bit_RGB_RD.tif, file index: 52\n", + "Processing file RapidEye\\20170330_3163722_RE_5m_8bit_RGB_RD.tif, file index: 53\n", + "Processing file RapidEye\\20170707_3162816_RE_5m_8bit_RGB_RD.tif, file index: 54\n", + "Processing file RapidEye\\20170409_3162818_RE_5m_8bit_RGB_RD.tif, file index: 55\n", + "Processing file RapidEye\\20170510_3162816_RE_5m_8bit_RGB_RD.tif, file index: 56\n", + "Processing file RapidEye\\20170409_3163722_RE_5m_8bit_RGB_RD.tif, file index: 57\n", + "Processing file RapidEye\\20170325_3263706_RE_5m_8bit_RGB_RD.tif, file index: 58\n", + "Processing file RapidEye\\20170420_3162818_RE_5m_8bit_RGB_RD.tif, file index: 59\n", + "Processing file RapidEye\\20170425_3163721_RE_5m_8bit_RGB_RD.tif, file index: 60\n", + "Processing file RapidEye\\20170323_3162816_RE_5m_8bit_RGB_RD.tif, file index: 61\n", + "Processing file RapidEye\\20170827_3162817_RE_5m_8bit_RGB_RD.tif, file index: 62\n", + "Processing file RapidEye\\20170904_3163721_RE_5m_8bit_RGB_RD.tif, file index: 63\n", + "Processing file RapidEye\\20170709_3163722_RE_5m_8bit_RGB_RD.tif, file index: 64\n", + "Processing file RapidEye\\20170525_3162817_RE_5m_8bit_RGB_RD.tif, file index: 65\n", + "Processing file RapidEye\\20170525_3163721_RE_5m_8bit_RGB_RD.tif, file index: 66\n", + "Processing file RapidEye\\20170327_3163722_RE_5m_8bit_RGB_RD.tif, file index: 67\n", + "Processing file RapidEye\\20170321_3162818_RE_5m_8bit_RGB_RD.tif, file index: 68\n" ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
system:time_start
filename
20170511_3163722_RE_5m_8bit_RGB_RD1.494493e+09
20170409_3162817_RE_5m_8bit_RGB_RD1.491730e+09
20170409_3163721_RE_5m_8bit_RGB_RD1.491729e+09
20170331_3263706_RE_5m_8bit_RGB_RD1.490952e+09
20170425_3163722_RE_5m_8bit_RGB_RD1.493111e+09
\n", + "
" + ], + "text/plain": [ + " system:time_start\n", + "filename \n", + "20170511_3163722_RE_5m_8bit_RGB_RD 1.494493e+09\n", + "20170409_3162817_RE_5m_8bit_RGB_RD 1.491730e+09\n", + "20170409_3163721_RE_5m_8bit_RGB_RD 1.491729e+09\n", + "20170331_3263706_RE_5m_8bit_RGB_RD 1.490952e+09\n", + "20170425_3163722_RE_5m_8bit_RGB_RD 1.493111e+09" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "filename = os.path.basename(zippedfiles[1])\n", - "filename_no_ext = os.path.splitext(zippedfiles[1])[0]\n", - "dir_path = os.path.dirname(os.path.abspath(zippedfiles[1]))\n", - "filename_unzipped = os.path.join(dir_path,filename_no_ext+'.tif')\n", - "test_unzipped = os.path.exists(filename_unzipped)\n", - "print(test_unzipped)\n", - "if test_unzipped: \n", - " print(['tif file exists for ' + filename])\n", - "else:\n", - " print(['tif file DOES NOT exist for ' + filename])" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ + "files = glob.glob('RapidEye/*.tif')\n", "\n", - "# z = zipfile.ZipFile(zippedfiles)\n", + "# fh = open(files[0], 'rb')\n", + "# tags = exifread.process_file(fh)#, stop_tag=\"Image DateTime\")\n", + "# print(tags)\n", "\n", - "for j in zippedfiles:\n", - " filename = os.path.basename(j)\n", - " filename_no_ext = os.path.splitext(j)[0]\n", - " dir_path = os.path.dirname(os.path.abspath(files[1]))\n", - " unzipped = \n", - " if (dir_path,filename,'.tif'):\n", - " else:\n", - " extractAll(j)\n", + "df = pd.DataFrame(columns=['filename','system:time_start'])\n", "\n", + "print(['Number of files to upload as assets = '+str(len(files))])\n", "\n", - "# if __name__ == '__main__':\n", - "# zipList = ['one.zip', 'two.zip', 'three.zip']\n", - "# for zip in zipList:\n", - "# extractAll(zipName)" + "for i, f in enumerate(files):\n", + " print('Processing file ' + f + ', file index: ' + str(i))\n", + " filename = os.path.splitext(os.path.basename(f))[0]\n", + " \n", + " # convert time to EE DateTime stamp\n", + " fh = open(f, 'rb')\n", + " tags = exifread.process_file(fh, stop_tag=\"Image DateTime\")\n", + " datestring = str(tags[\"Image DateTime\"].values)\n", + " t = datetime.datetime.strptime(datestring, '%Y:%m:%d %H:%M:%S')\n", + " time_start = t.timestamp()\n", + " \n", + " # add filename and time to dataframe\n", + " df.loc[i] = [filename, time_start]\n", + "\n", + "# save dataframe as csv for metadata\n", + "df.set_index('filename', inplace=True)\n", + "meta = os.path.join(dst,'metadata.csv')\n", + "df.to_csv(meta)\n", + "df.head(n=5)" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 8, "metadata": { "collapsed": false }, @@ -178,21 +310,32 @@ "name": "stdout", "output_type": "stream", "text": [ - "Processing file RapidEye\\2017_03\\20170325\\20170325_3163722_RE_5m_8bit_RGB_RD.tif, file index: 0\n", - "C:\\Users\\Wilson\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gsutil.cmd cp P:/11202200.005-kpp-cip2018/data/Satellitedataportaal\\RapidEye\\2017_03\\20170325\\20170325_3163722_RE_5m_8bit_RGB_RD.tif gs://eo-bathymetry/rapideye/20170325_3163722_RE_5m_8bit_RGB_RD.tif\n", - "earthengine upload image --wait --asset_id=users/rogersckw9/rapideye/20170325_3163722_RE_5m_8bit_RGB_RD.tif --nodata_value=-99999999 gs://eo-bathymetry/rapideye/20170325_3163722_RE_5m_8bit_RGB_RD.tif\n", - "[{'id': 'IHJ2XPQJZSPO2GZHRAFA27PQ', 'state': 'COMPLETED', 'creation_timestamp_ms': 1522415523002, 'update_timestamp_ms': 1522415627887, 'description': 'Asset ingestion: users/rogersckw9/20170327_3163722_RE_5m_8bit_RGB_RD', 'task_type': 'INGEST', 'output_url': ['https://code.earthengine.google.com/?asset=users/rogersckw9/20170327_3163722_RE_5m_8bit_RGB_RD'], 'start_timestamp_ms': 1522415526221}]\n", - "earthengine asset set --time_start 2017-03-25T10:14:57 users/rogersckw9/rapideye/20170325_3163722_RE_5m_8bit_RGB_RD\n", - "Processing file RapidEye\\2017_03\\20170321\\20170321_3162818_RE_5m_8bit_RGB_RD.tif, file index: 1\n", - "C:\\Users\\Wilson\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gsutil.cmd cp P:/11202200.005-kpp-cip2018/data/Satellitedataportaal\\RapidEye\\2017_03\\20170321\\20170321_3162818_RE_5m_8bit_RGB_RD.tif gs://eo-bathymetry/rapideye/20170321_3162818_RE_5m_8bit_RGB_RD.tif\n", - "earthengine upload image --wait --asset_id=users/rogersckw9/rapideye/20170321_3162818_RE_5m_8bit_RGB_RD.tif --nodata_value=-99999999 gs://eo-bathymetry/rapideye/20170321_3162818_RE_5m_8bit_RGB_RD.tif\n", - "[{'id': 'IHJ2XPQJZSPO2GZHRAFA27PQ', 'state': 'COMPLETED', 'creation_timestamp_ms': 1522415523002, 'update_timestamp_ms': 1522415627887, 'description': 'Asset ingestion: users/rogersckw9/20170327_3163722_RE_5m_8bit_RGB_RD', 'task_type': 'INGEST', 'output_url': ['https://code.earthengine.google.com/?asset=users/rogersckw9/20170327_3163722_RE_5m_8bit_RGB_RD'], 'start_timestamp_ms': 1522415526221}]\n", - "earthengine asset set --time_start 2017-03-21T10:14:42 users/rogersckw9/rapideye/20170321_3162818_RE_5m_8bit_RGB_RD\n" + "geebam upload --source P:/11202200.005-kpp-cip2018/data/Satellitedataportaal\\RapidEye/ --dest users/rogersckw9/eo-bathymetry/rapideye -m P:/11202200.005-kpp-cip2018/data/Satellitedataportaal\\RapidEye/metadata.csv -u rogersckw9@gmail.com\n" ] } ], "source": [ - "for i, f in enumerate(files[1:3]):\n", + "# Use Google Earth Engine Batch Asset Manager\n", + "# Details at https://github.com/tracek/gee_asset_manager\n", + "\n", + "user = \"rogersckw9@gmail.com\"\n", + "\n", + "# Running the following within notebook doesn't work, need to input password.\n", + "# Copy and paste the following in command line to run\n", + "print(\"geebam upload --source {0} --dest users/rogersckw9/eo-bathymetry/rapideye -m {1} -u {2}\".format(os.path.join(input_dir,dst), os.path.join(input_dir,meta), user))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# if uploading to Google Cloud first, follow this protocol\n", + "\n", + "for i, f in enumerate(files):\n", " print('Processing file ' + f + ', file index: ' + str(i))\n", "\n", " # extract time in UTC\n", @@ -215,25 +358,16 @@ " if \"nodata_value\" in line.lower():\n", " nodata_value = line.split()[1]\n", " break\n", - " if rapideye:\n", - " # copy to GCS \n", - " run(r\"C:\\Users\\Wilson\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gsutil.cmd cp {0} gs://eo-bathymetry/rapideye/{1}\".format(os.path.join(input_dir,f),filename))\n", - " elif triplesat:\n", - " run(r\"C:\\Users\\Wilson\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gsutil.cmd cp {0} gs://eo-bathymetry/triplesat/{1}\".format(os.path.join(input_dir,f),filename))\n", - " else:\n", - " print('Can only upload one satellite at a time. Please set rapideye or triplesat only.')\n", - " break\n", - " \n", + " \n", + " run(r\"C:\\Users\\Wilson\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gsutil.cmd cp {0} gs://eo-bathymetry/rapideye/{1}\".format(os.path.join(input_dir,f),filename))\n", + " \n", " # upload to GEE\n", " retry_count = 0\n", "\n", - "# while True:\n", - "# if rapideye:\n", - "# run(\"earthengine upload image --wait --asset_id=users/rogersckw9/rapideye/{1} --nodata_value={0} gs://eo-bathymetry/rapideye/{1}\".format(nodata_value, filename))\n", - "# else:\n", - "# run(\"earthengine upload image --wait --asset_id=users/rogersckw9/triplesat/{1} --nodata_value={0} gs://eo-bathymetry/triplesat/{1}\".format(nodata_value, filename))\n", - " \n", - " # check last task status\n", + " while True:\n", + " run(\"earthengine upload image --wait --asset_id=users/rogersckw9/rapideye/{1} --nodata_value={0} gs://eo-bathymetry/rapideye/{1}\".format(nodata_value, filename))\n", + " \n", + " check last task status\n", " tasks = ee.data.getTaskList()\n", " task_state = None\n", " for task in tasks:\n", @@ -251,12 +385,9 @@ " if retry_count > 10:\n", " print('Maximum number of retry reached, exiting ...')\n", " sys.exit(0)\n", - "\n", + " \n", " # set time\n", - " if rapideye:\n", - " run(\"earthengine asset set --time_start {0} users/rogersckw9/rapideye/{1}\".format(time_start, filename_no_ext))\n", - " else:\n", - " run(\"earthengine asset set --time_start {0} users/rogersckw9/triplesat/{1}\".format(time_start, filename_no_ext))" + " run(\"earthengine asset set --time_start {0} users/rogersckw9/rapideye/{1}\".format(time_start, filename_no_ext))\n" ] } ],