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')
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,
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')
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()