Example #1
0
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']
Example #2
0
# 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)
Example #4
0
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()
Example #5
0
# 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')
Example #6
0
# 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')