In [15]:
from flyingpigeon import sdm 
reload(sdm)
from datetime import datetime as dt
from os.path import join
from os import getenv

tic = dt.now()

names = ['FD_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1_May_20010101-20051231.nc',
'TG_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1_AMJJAS_20010101-20051231.nc',
'TG_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1_AMJJAS_20010101-20051231.nc',
'FD_EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1_May_20010101-20051231.nc',
'TG_EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1_AMJJAS_20010101-20051231.nc',
'ID_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1_yr_20010101-20051231.nc',
'FD_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1_May_20010101-20051231.nc',
'ID_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1_yr_20010101-20051231.nc',
'ID_EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1_yr_20010101-20051231.nc',
'ID_EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1_yr_20010101-20051231.nc',
'TG_EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1_AMJJAS_20010101-20051231.nc',
'FD_EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1_May_20010101-20051231.nc']
HOME = getenv('HOME')

ncs = [join(HOME+'/data/sdm/', nc )for nc in names]

print HOME
print ncs


/home/nils
['/home/nils/data/sdm/FD_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1_May_20010101-20051231.nc', '/home/nils/data/sdm/TG_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1_AMJJAS_20010101-20051231.nc', '/home/nils/data/sdm/TG_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1_AMJJAS_20010101-20051231.nc', '/home/nils/data/sdm/FD_EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1_May_20010101-20051231.nc', '/home/nils/data/sdm/TG_EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1_AMJJAS_20010101-20051231.nc', '/home/nils/data/sdm/ID_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1_yr_20010101-20051231.nc', '/home/nils/data/sdm/FD_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1_May_20010101-20051231.nc', '/home/nils/data/sdm/ID_EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1_yr_20010101-20051231.nc', '/home/nils/data/sdm/ID_EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1_yr_20010101-20051231.nc', '/home/nils/data/sdm/ID_EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1_yr_20010101-20051231.nc', '/home/nils/data/sdm/TG_EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1_AMJJAS_20010101-20051231.nc', '/home/nils/data/sdm/FD_EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1_May_20010101-20051231.nc']

In [7]:
reload(sdm)
csv = join(HOME+'/data/sdm/','output_csv-246e16ee-ba7f-11e6-8713-142d277ef1f3.csv')
latlon = sdm.latlon_gbifcsv(csv)

PApoints = sdm.get_PAmask(coordinates=latlon, domain='EUR-44')


length of decimalLongitude: 244289

In [18]:
PApoints.shape

ncs_dic = sdm.sort_indices(ncs)
print ncs_dic.keys()


['EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1', 'EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1', 'EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1', 'EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1']

In [23]:
#dataf.sample
reload(sdm)
for key in ncs_dic.keys():
    try:
        gam_model, predict_ref, gam_info = sdm.get_gam(ncs_dic[key], PApoints)
        print gam_model.names
        from IPython.display import Image
        Image(filename=gam_info)
    except Exception as e: 
        print 'failed for %s : %s' % (key, e)


failed for EUR-44_ICHEC-EC-EARTH_historical_r1i1p1_KNMI-RACMO22E_v1 : cannot import name constants
failed for EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_MPI-CSC-REMO2009_v1 : cannot import name constants
failed for EUR-44_MPI-M-MPI-ESM-LR_historical_r1i1p1_CLMcom-CCLM4-8-17_v1 : cannot import name constants
failed for EUR-44_CNRM-CERFACS-CNRM-CM5_historical_r1i1p1_HMS-ALADIN52_v1 : cannot import name constants

In [ ]:
prediction = sdm.get_prediction(gam_model, ncs_indices)

from numpy import invert, isnan, nan, broadcast_arrays, array, zeros, linspace, meshgrid
mask = invert(isnan(PApoints))
mask = broadcast_arrays(prediction, mask)[1]
prediction[mask==False] = nan

species_file = sdm.write_to_file(ncs_indices[0], prediction)

tac = dt.now()

print 'prediction finished in %s minutes' % (tac - tic)