Skip to content
Snippets Groups Projects
Commit c08c6618 authored by Sumbel Shangareeva's avatar Sumbel Shangareeva
Browse files

small refactoring of spot_setup

parent 0fae3c42
No related branches found
No related tags found
No related merge requests found
import os
import numpy as np
import spotpy
import f90nml as nml
from source.spotpy_optim.spot_setup import spot_setup
from plot import main_plot
from source.spotpy_optim.spot_setup import spot_setup
parameters_nml_path = os.path.join('parameters_config.nml')
config_nml_path = os.path.join('ui1_config.nml')
......@@ -26,15 +24,8 @@ sampler.sample(n_it)
results = sampler.getdata()
kd_in_optim = spotpy.analyser.get_best_parameterset(results)[0]
params_nml = nml.read(parameters_nml_path)
kd_in = np.array(params_nml['parameters_config_namelist']['kd_in'])
kd_in[0, 5] = kd_in_optim
params_nml['parameters_config_namelist']['kd_in'] = kd_in.tolist()
params_nml.write(parameters_nml_path, force=True)
kd_in_optim = spotpy.analyser.get_best_parameterset(results)
setup.write_params(kd_in_optim)
os.system(f'./run.exe')
main_plot()
......
&parameters_config_namelist
kd_in(1:6,1) = 0.03, 0.03, 0.0402, 0.08581933, 0.012, 0.07087475
kd_in(1:6,1) = 0.03, 0.03, 0.0402, 0.08581933, 0.012, 0.07115579
kd_in(1:6,2) = 0.03, 0.03, 0.05067, 0.08581933, 0.007, 0.007
kd_in(1:6,3) = 0.035, 0.035, 0.04185, 0.08581933, 0.007, 0.007
kd_in(1:6,4) = 0.03, 0.03, 0.0, 0.0, 0.0, 0.0
......
......@@ -48,12 +48,7 @@ class spot_setup(object):
return model_out
def simulation(self, x):
params_nml = nml.read(self.params_path)
kd_in = np.array(params_nml['parameters_config_namelist']['kd_in'])
kd_in[self.station_opt - 1, 5] = x[0]
params_nml['parameters_config_namelist']['kd_in'] = kd_in.tolist()
params_nml.write(self.params_path, force=True)
self.write_params(x)
os.system(f'./run.exe')
model_out = self.read_model_output()
......@@ -78,4 +73,10 @@ class spot_setup(object):
def parameters(self):
return spotpy.parameter.generate(self.params)
def write_params(self, par):
params_nml = nml.read(self.params_path)
kd_in = np.array(params_nml['parameters_config_namelist']['kd_in'])
kd_in[self.station_opt - 1, 5] = par[0]
params_nml['parameters_config_namelist']['kd_in'] = kd_in.tolist()
params_nml.write(self.params_path, force=True)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment