#!/usr/bin/python
import datetime

# headless matplotlib (for johansen)
import matplotlib
matplotlib.use('Agg')

from nansat import Nansat

from sadcat import *
from sadcat.tools import Radarsat2ImageIce, Radarsat2Image
from sadcat.config import l2 as l2config
from l3proc_rs2ice import L3PROC_rs2ice
'''
# lite processing of a sample RS2 image
r2i = Radarsat2Image('/Data/sat/downloads/Radarsat2/RS2_20141201_055327_0076_SCWA_HHHV_SGF_363665_8348_10224873.zip')
web_opts = l2config['radarsat2']['opts']
r2i.process_web(web_opts)

# ice processing of a sample RS2 image
ice_opts = l2config['radarsat2ice']['opts']
r2i.process_ice(ice_opts)
'''

'''
# L2 processing of Radarsat2 with Ice/water classification
# image-by-image calculation of ice mask using GLCM_NN
# Update database of all images
cic = CommonImagesCatalog()
cic.fill_database('radarsat2', '/Data/sat/downloads/Radarsat2/', 'RS2*[z,Z][i,I][p,P]', Radarsat2Image)
cic = None # close connection to the database

## perform L2-processing for web (quicklook pngs)
rs2ice = L2Catalog('radarsat2')
rs2ice.process(Radarsat2Image)
rs2ice = None


## perform L2-processing of ice/water classification of multiple images
rs2ice = L2Catalog('radarsat2ice')
rs2ice.process(Radarsat2Image)
rs2ice = None
'''

# perform L3-processing for few days only
rs2ice = L2Catalog('radarsat2ice')
dbRows, dbFields = rs2ice.get_sensor_list(rs2ice.sensor)
rs2ice = None

l3p = L3PROC_rs2ice('SvalbardIceLarge', 'radarsat2ice', Radarsat2ImageIce, 10)

dateField = dbFields.index('sensstart')
nameField = dbFields.index('name')

binPeriod = 'daily'
l3p.binPeriod = binPeriod
l3p.tempBP = l3p.tempBinningParams[binPeriod]

start_date = datetime.datetime(2015, 1, 1)
stop_date  = datetime.datetime(2015, 1, 5)
days = (stop_date - start_date).days + 1
for d in range(days):
    uDate = start_date + datetime.timedelta(d)
    print uDate
    l3p.one_date_processing(uDate, dbRows, dateField, nameField)
