def test_fit(): model = xijafit.XijaFit(BASE_MODEL, set_data_exprs=(u'tcylaft6_0=22.0', ), start='2015:300', stop='2016:300', quiet=False, name='tcylaft6') model.freeze_all() model.thaw_solarheat_p() model.thaw_solarheat_roll() model.thaw_param(u'coupling__tcylaft6__tcylaft6_0__tau') model.thaw_param(u'solarheat__tcylaft6_0__ampl') model.fit(method='simplex') assert model.snapshots[0]['fit_stat'] > model.snapshots[1]['fit_stat']
# Licensed under a 3-clause BSD style license - see LICENSE.rst import xija from subprocess import Popen, PIPE import xijafit # The python Xija model conversion layer is used to ensure a clean model definition is used. fueltank = xijafit.XijaFit('pftank2t_spec.json', set_data_exprs=(u'pf0tank2t=22.0', ), quiet=False, name='pftank2t', start='2014:190', stop='2017:190') fueltank.model.write('model_conversion.py') print( Popen("python model_conversion.py pftank2t_spec_new.json", shell=True, stdout=PIPE)) # Fit the model fueltank = xijafit.XijaFit('pftank2t_spec_new.json', set_data_exprs=(u'pf0tank2t=22.0', ), quiet=False, name='pftank2t', start='2014:190', stop='2017:190') fueltank.freeze_all() fueltank.thaw_solarheat_p() fueltank.thaw_solarheat_roll() fueltank.thaw_param(u'coupling__pftank2t__pf0tank2t__tau')
# Licensed under a 3-clause BSD style license - see LICENSE.rst import xijafit newmodel = xijafit.XijaFit('tcylaft6_model_spec_roll_base.json', set_data_exprs=(u'tcylaft6_0=22.0', ), start='2014:300', stop='2016:300', quiet=False, name='tcylaft6') newmodel.freeze_all() newmodel.thaw_solarheat_p() newmodel.thaw_solarheat_roll() newmodel.thaw_param(u'coupling__tcylaft6__tcylaft6_0__tau') newmodel.thaw_param(u'solarheat__tcylaft6_0__ampl') newmodel.fit(method='moncar') newmodel.freeze_all() newmodel.thaw_param(u'heatsink__tcylaft6_0__T') newmodel.thaw_param(u'heatsink__tcylaft6_0__tau') newmodel.fit(method='moncar') newmodel.freeze_all() newmodel.set_range('solarheat__tcylaft6_0__dP_45', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_60', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_80', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_90', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_100', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_110', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_120', -0.5, 0.5) newmodel.set_range('solarheat__tcylaft6_0__dP_130', -0.5, 0.5)
import xija import sys from os.path import expanduser home = expanduser("~") addthispath = home + '/AXAFLIB/xijafit/' sys.path.insert(0, addthispath) import xijafit stars = '*' * 80 n = 0 newmodel = xijafit.XijaFit('pftank2t_model_spec.json', start='2014:001', stop='2018:200', set_data_exprs=(u'pf0tank2t=30.0', ), quiet=False, name='pftank2t') n = n + 1 print('{}\nStep {}\n{}'.format(stars, n, stars)) newmodel.freeze_all() newmodel.thaw_param(u'heatsink__pf0tank2t__tau') newmodel.thaw_param(u'heatsink__pf0tank2t__T') newmodel.thaw_param(u'coupling__pftank2t__pf0tank2t') newmodel.fit(method='moncar') n = n + 1 print('{}\nStep {}\n{}'.format(stars, n, stars)) newmodel.freeze_all() newmodel.thaw_solarheat_p()
# Licensed under a 3-clause BSD style license - see LICENSE.rst import xija import sys from os.path import expanduser home = expanduser("~") addthispath = home + '/AXAFLIB/xijafit/' sys.path.insert(0, addthispath) import xijafit stars = '*'*80 n = 0 newmodel = xijafit.XijaFit('aca_model_spec.json', start='2014:001', stop='2018:300', set_data_exprs=(u'aca0=12.0',), quiet=False, name='aacccdpt') n = n + 1 print('{}\nStep {}\n{}'.format(stars, n, stars)) newmodel.freeze_all() newmodel.thaw_param(u'heatsink__aca0__tau') newmodel.thaw_param(u'heatsink__aca0__T') newmodel.thaw_param(u'coupling__aacccdpt__aca0') newmodel.fit(method='moncar') n = n + 1 print('{}\nStep {}\n{}'.format(stars, n, stars)) newmodel.freeze_all() newmodel.thaw_solarheat_p() newmodel.thaw_param(u'coupling__aacccdpt__aca0__tau') newmodel.fit(method='moncar')
# Licensed under a 3-clause BSD style license - see LICENSE.rst import xija import sys from os.path import expanduser home = expanduser("~") addthispath = home + '/AXAFLIB/xijafit/' sys.path.insert(0, addthispath) import xijafit stars = '*'*80 n = 0 newmodel = xijafit.XijaFit('4rt700t_model_spec.json', start='2014:001', stop='2018:328', set_data_exprs=(u'oba0=30.0',), quiet=False, name='4rt700t') n = n + 1 print('{}\nStep {}\n{}'.format(stars, n, stars)) newmodel.freeze_all() newmodel.thaw_param(u'solarheat__oba0__ampl') newmodel.thaw_param(u'step_power__oba0__P') newmodel.fit(method='moncar') n = n + 1 print('{}\nStep {}\n{}'.format(stars, n, stars)) newmodel.freeze_all() newmodel.thaw_param(u'heatsink__oba0__tau') newmodel.thaw_param(u'heatsink__oba0__T') newmodel.thaw_param(u'coupling__4rt700t__oba0')