for i, day in enumerate(days):

                [ano, mes, dia] = day.split("-", 2)

                namedata = "{0}{1}{2}".format(dia, mes, ano)

                print 'dia:', namedata, dbtd, 'membro:', m + 51

                thiall = []

                print 'calculando thiessen...'

                for bacia in bacias:

                        thi = th.thiessen(var[m, i, :, :], lat, lon, bacia, pf=1, sep=';', usenc=True)

                        thiall.append(float(thi[0,:]))

                thiall = map(str, np.round(thiall, 2))

                thiall.insert(0, namedata)

                thiall.insert(1, str(dbtd))

                line.append(thiall)

                dbtd = dbtd + 1

        line = np.array(line)
Ejemplo n.º 2
0
from netCDF4 import Dataset
from PyFuncemeClimateTools import Thiessen as th
from mpl_toolkits.basemap import shiftgrid
import numpy as np

myfile = 'plev.2016.DJF.DAILY.PER13.10-19.nc'

d = Dataset(myfile, 'r')
# print(d.variables)
pcp = d.variables['pcp'][:]
lon = d.variables['lon'][:]
lat = d.variables['lat'][:]
d.close()

print(pcp.shape)

data_all = np.full((1, 10), np.nan)

for year in range(1):

    for memb in range(10):

        thi = th.thiessen(pcp[memb:memb+1, ...], lat, lon, '../piranhas-acu.asc',
        pf=-1, sep=' ', usenc=True, figname='piranhas-acu.png')

        print(thi)

        data_all[year, memb] = thi

np.save('rsm-th-2015', data_all)
Ejemplo n.º 3
0
from netCDF4 import Dataset
from PyFuncemeClimateTools import Thiessen as th
from mpl_toolkits.basemap import shiftgrid
import numpy as np

myfile = 'prec.cptec.total.1981-2015.DJF.nc'

d = Dataset(myfile, 'r')
# print(d.variables)
pcp = d.variables['prec'][:]
lon = d.variables['lon'][:]
lat = d.variables['lat'][:]
d.close()

print(pcp.shape)

data_all = []

for year in range(35):

    print(np.max(pcp[year:year+1, ...]), np.min(pcp[year:year+1, ...]))

    thi = th.thiessen(pcp[year:year+1, ...], lat, lon, 'piranhas-acu.asc',
    pf=-1, sep=' ', usenc=True, figname='piranhas-acu.png')

    print(thi)

    data_all.append(thi)

np.save('obs-th-1981-2015', data_all)
Ejemplo n.º 4
0
    barcolor=my_colors, barlevs=levs, fig_title=figtitle, barinf='neither', ocean_mask=1)

###########  VIÉS  ###########
print(hind.shape)
print(obs.shape)

exit()
error_bias = cs.compute_bias(hind, obs)
error_bias[np.isinf(error_bias)] = 0
print(np.min(error_bias))
print(np.max(error_bias))

figtitle =u'RSM2008 x INMET - JAN/{0} (8110)\nVIÉS (mm) - PRECIP ACUM'.format(tri.upper())
figname = 'rsm.vies.{0}.png'.format(tri)
levs = (-4, -3, -2., -1., -0.5, 0.5, 1, 2, 3, 4)
my_colors = ('#ff0219', '#ff2e1b', '#ff5f26', '#ff9d37', '#fbe78a',
             '#ffffff', '#b0f0f7', '#93d3f6', '#76bbf3', '#4ba7ef', '#3498ed') #11
pm.plotmap(error_bias, lats_hind, lons_hind, latsouthpoint=-38.27, latnorthpoint=13.63,
    lonwestpoint=-84.3, loneastpoint=-33., fig_name=figname, barloc='right',
    barcolor=my_colors, barlevs=levs, fig_title=figtitle, barinf='both', ocean_mask=1)

# THIESSEN

th_fcst = np.full((20, 30), np.nan)

for memb in range(20):
    for year in range(30):
        thi = th.thiessen(hind[memb, year:year+1, ...], lat, lon, 'pontos_ce.txt',
        pf=-1, sep=' ', usenc=True, figname='ce-th.png')
        data_all[memb, year] = thi
# myfiles = ['pcp-rgkf-weeksst-3km-2009020200-2009060100-24h.npy',
#            'pcp-rgkf-weeksst-3km-2009020300-2009060200-48h.npy',
#            'pcp-rgkf-weeksst-3km-2009020400-2009060300-72h.npy',
#            'pcp-rgkf-weeksst-3km-2009020400-2009060300-acc3d.npy']

# flats = 'lats-3km.npy'
# flons = 'lons-3km.npy'

for fdata in myfiles:

    mydata = np.load(fdata)
    lats = np.load(flats)
    lons = np.load(flons)

    # 12 num bacias
    # 120 num dias
    resth = np.full((12, 120), np.nan)

    for i, bacia in enumerate(range(1, 13)):
        rh = 'reg_hidro/reg{0}.txt'.format(bacia)
        print rh, fdata
        nfig = 'bacia{0}.png'.format(bacia)
        res = th.thiessen(mydata, lats, lons, rh, -1, usenc=True, figname=nfig)
        resth[i, ...] = res[0, ...]

    # salva todas as bacias
    fout = 'thiessen-{0}'.format(fdata)
    np.save(fout, resth)