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 os
import numpy as np
import spotpy import spotpy
import f90nml as nml
from source.spotpy_optim.spot_setup import spot_setup
from plot import main_plot from plot import main_plot
from source.spotpy_optim.spot_setup import spot_setup
parameters_nml_path = os.path.join('parameters_config.nml') parameters_nml_path = os.path.join('parameters_config.nml')
config_nml_path = os.path.join('ui1_config.nml') config_nml_path = os.path.join('ui1_config.nml')
...@@ -26,15 +24,8 @@ sampler.sample(n_it) ...@@ -26,15 +24,8 @@ sampler.sample(n_it)
results = sampler.getdata() results = sampler.getdata()
kd_in_optim = spotpy.analyser.get_best_parameterset(results)[0] kd_in_optim = spotpy.analyser.get_best_parameterset(results)
setup.write_params(kd_in_optim)
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)
os.system(f'./run.exe') os.system(f'./run.exe')
main_plot() main_plot()
......
&parameters_config_namelist &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,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,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 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): ...@@ -48,12 +48,7 @@ class spot_setup(object):
return model_out return model_out
def simulation(self, x): def simulation(self, x):
params_nml = nml.read(self.params_path) self.write_params(x)
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)
os.system(f'./run.exe') os.system(f'./run.exe')
model_out = self.read_model_output() model_out = self.read_model_output()
...@@ -78,4 +73,10 @@ class spot_setup(object): ...@@ -78,4 +73,10 @@ class spot_setup(object):
def parameters(self): def parameters(self):
return spotpy.parameter.generate(self.params) 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