Example of how to upload with ftp a MODIS granule from ICARE server to my local machine in python 3.
Table of contents
Import python modules
from ftplib import FTPfrom datetime import dateimport numpy as npimport calendar
Granule date & time
year = 2008month = 1day = 8hour = 14minutes = 20
Retrieve count of days:
d = date(year, month, day) - date(year, 1, 1)
File name
file = 'MYD06_L2.A{:04d}{:03d}.{:02d}{:02d}'.format(year,d.days+1,hour,minutes)
Path to data
path_to = '/DATA/LIENS/MODIS/MYD06_L2/{:04d}/{:04d}_{:02d}_{:02d}'.format(year,year,month,day)
ICARE id:
icare_username = 'johndoe'icare_password = '********'
Upload the granule using ftp
ftp = FTP('ftp.icare.univ-lille1.fr')ftp.login(icare_username,icare_password)ftp.cwd(path_to)yyy = []ftp.retrlines('NLST', yyy.append)for j in np.arange(len(yyy)):file_name = yyy[j]if file in file_name:ftp.retrbinary('RETR ' + file_name, open(file_name, 'wb').write)ftp.close()
Example of python script
#!/usr/bin/env pythonfrom ftplib import FTPfrom datetime import dateimport numpy as npimport calendaryear = 2008month = 1day = 8hour = 14minutes = 20d = date(year, month, day) - date(year, 1, 1)path_to = '/DATA/LIENS/MODIS/MYD06_L2/{:04d}/{:04d}_{:02d}_{:02d}'.format(year,year,month,day)file = 'MYD06_L2.A{:04d}{:03d}.{:02d}{:02d}'.format(year,d.days+1,hour,minutes)icare_username = 'johndoe'icare_password = '********'ftp = FTP('ftp.icare.univ-lille1.fr')ftp.login(icare_username,icare_password)ftp.cwd(path_to)yyy = []ftp.retrlines('NLST', yyy.append)for j in np.arange(len(yyy)):file_name = yyy[j]if file in file_name:ftp.retrbinary('RETR ' + file_name, open(file_name, 'wb').write)ftp.close()
