df = df.loc['1997':'2010']
PME = df['pme'].to_numpy()
ETP = df['etp'].to_numpy()
Qjus = df['qjus'].to_numpy()
idx = df.index.to_numpy()

### CALIBRAR
spot_setup = gr4h.spot_setup(area=area,
                             PME=PME,
                             ETP=ETP,
                             Qjus=Qjus,
                             h_aq=1440,
                             fobj='NSE')
sampler = sceua(spot_setup)
sampler.sample(5000, ngs=10, kstop=3, peps=0.1, pcento=0.1)
results = sampler.getdata()
params = get_best_parameterset(results, maximize=False)
bestindex, bestobjf = get_minlikeindex(results)
simulation_fields = get_simulation_fields(results)
Qsim = {}
Qsim['best_NSE'] = list(results[simulation_fields][bestindex])

# Plotagem
fig = plotar_hidro(idx=df.index,
                   PME=PME,
                   ETP=ETP,
                   Qobs=Qjus,
                   Qmon=None,
                   Qsims=Qsim)
fig.savefig('../dados/peq/bacia_01.png', dpi=300, bbox_inches='tight')
Example #2
0
x3 = 52
x4 = 1.21
Qsimulado_02 = gr4j.gr4j(area=area,
                         PME=PME,
                         ETP=ETP,
                         x1=x1,
                         x2=x2,
                         x3=x3,
                         x4=x4)
df['qsim_02'] = Qsimulado_02

df = df.loc['2020-06':'2020-07']
df2 = df[['qsim_auto', 'qsim_01', 'qsim_02']]

nash_auto = he.nse(df['qsim_auto'], df['qjus'])
print('Nash Calib. Automatica = ', nash_auto)

nash_01 = he.nse(df['qsim_01'], df['qjus'])
print('Nash Calib. Manual 01 = ', nash_01)

nash_02 = he.nse(df['qsim_02'], df['qjus'])
print('Nash Calib. Manual 02 = ', nash_02)

fig = plotar_hidro(idx=df.index,
                   PME=df['pme'],
                   ETP=df['etp'],
                   Qobs=df['qjus'],
                   Qmon=None,
                   Qsims=df2)
fig.savefig('../Teste/teste_calib_fiu_2020.png', dpi=300, bbox_inches='tight')
##CORTE DE TEMPO PARA NASH E PLOTAGEM##
df2 = df.loc['2020']

Qsimulado2 = df2[['q_sim', 'sim_ant']]

nash = he.nse(df2['q_sim'], df2['qjus'])
print('Nash = ' + str(nash))

nash_ant = he.nse(df2['sim_ant'], df2['qjus'])
print('Nash Antigo = ' + str(nash_ant))

# Plotagem
fig = plotar_hidro(idx=df2.index,
                   PME=df2['pme'],
                   ETP=df2['etp'],
                   Qobs=df2['qjus'],
                   Qmon=None,
                   Qsims=Qsimulado2)
fig.savefig('../dados/peq/teste_calib_bacia_01_full.png',
            dpi=300,
            bbox_inches='tight')

##CORTE DE TEMPO PARA NASH E PLOTAGEM##
df2015 = df.loc['2015']
Qsimulado2015 = df2015[['q_sim', 'sim_ant']]
nash2015 = he.nse(df2015['q_sim'], df2015['qjus'])
print('Nash 2015 = ' + str(nash2015))
nash_ant2015 = he.nse(df2015['sim_ant'], df2015['qjus'])
print('Nash Antigo 2015 = ' + str(nash_ant2015))
# Plotagem
fig2015 = plotar_hidro(idx=df2015.index,
Example #4
0
                      Qmon=Qmon,
                      x1=x1,
                      x2=x2,
                      x3=x3,
                      x4=x4)
df['q_gr4'] = pd.DataFrame(resultado, index=df.index)

df2 = df.loc['2020']

Qsimulado2 = df2[['q_gr5', 'q_gr4']]

nash_gr5 = he.nse(df2['q_gr5'], df2['qjus'])
print('Nash GR5i = ' + str(nash_gr5))
nash_gr4 = he.nse(df2['q_gr4'], df2['qjus'])
print('Nash GR4J = ' + str(nash_gr4))

kge_gr5 = he.kge_2012(df2['q_gr5'], df2['qjus'])
print('KGE GR5i = ' + str(kge_gr5))
kge_gr4 = he.kge_2012(df2['q_gr4'], df2['qjus'])
print('KGE GR4J = ' + str(kge_gr4))

# Plotagem
fig = plotar_hidro(idx=df2.index,
                   PME=df2['pme'],
                   ETP=df2['etp'],
                   Qobs=df2['qjus'],
                   Qmon=df2['qmon'],
                   Qsims=Qsimulado2)
#plt.show()
fig.savefig('../dados/gr_pcj/pcj_276_2020.png', dpi=300, bbox_inches='tight')
Example #5
0
import numpy as np
from plotar_hidro import plotar_hidro

# Leitura das forcantes
df = pd.read_excel('GR4J_EN_ORIGINAL.xlsx', sheet_name='GR4J', skiprows=38)
idx = df['Date'].to_numpy()
PME = df['Pluie (mm)'].to_numpy()
ETP = df['ETP (mm)'].to_numpy()
Qjus = df['Débit (m3/s)'].to_numpy()
area = 260

# Calibracao
from spotpy.analyser import *
from spotpy.algorithms import sceua
from spot_setup import setup_gr4j_nash
from plotar_hidro import plotar_hidro
spot_setup = setup_gr4j_nash(area, PME, ETP, Qjus, h_aq=365, fobj='NSE')
sampler = sceua(spot_setup)
sampler.sample(5000, ngs=10, kstop=3, peps=0.1, pcento=0.1)
results = sampler.getdata()
params = get_best_parameterset(results,maximize=False)
bestindex, bestobjf = get_minlikeindex(results)
simulation_fields = get_simulation_fields(results)
Qsim = {}
Qsim['best_NSE'] = list(results[simulation_fields][bestindex][0])

# Plotagem
fig = plotar_hidro(idx, PME, ETP, Qjus, Qmon=None, Qsim=Qsim)
import matplotlib.pyplot as plt
plt.show()