Skip to content

Setup, compilation, configuration and transfer between systems

Clemens Kreutz edited this page May 31, 2018 · 8 revisions

Setup, compilation, configuration and transfer between systems

Definition and initialization of a model comprises the following steps:

arInit

arLoadModel(...) % one or serval calls

...

arLoadData(...) % one or several calls

...

arCompileAll

All these commands are stored including their arguments in ar.setup. This enables re-compilation, i.e. if a model is loaded and the binary compiled files are not available, they can be created in the same manner. To ensure that the data and model files were not changed in the meantime, backup files are created in the folders Models/Backup/... and Data/Backup/... The folder names conicide with the ar.checksum which uniquely labels model versions.

arRecompile also enables transfer of models between computers and operating systems. Just copy a Results folder, load the model via

arLoad

arRecompile.

Intermediate compilation steps which are available (folder Compiled) are reused to speed up compilation times.

In addition to defining and compiling a model, there might be addional steps for setting up and configuration of a model, e.g.

  • Defining lower and upper bounds via arSetPars or directly by changing ar.lb and/or ar.ub
  • Defining whether parameters are fitted (via arSetPars or ar.qFit) or whether parameters are analyzed on the log-scale (arSetPars or ar.qLog10)
  • Priors or penalties for parameters might be defined (via arSetPars or ar.mean, ar.std, ar.type)
  • Data might be included or excluded from fitting via ar.model.data.qFit
  • Handling of experimental errors might be changed (ar.config.fiterrors or ar.config.useFitErrorCorrection)
  • Events might be defined (via arFindInputs or arAddEvent)

Moreover, the numerical algorithms might be configured via serval options which are stored in ar.config.

To be able to compare model, fits, parameter setting and numerical configurations, several checksums have been implemented:

  1. The model structure as used during compilation generates a unique checksum stored in ar.checksum. It is also part of the name of the compiled model stored in ar.fkt.
  2. The parameter configuration (qLog10,qFit,lb,ub,type,mean,std) is calculated in arChecksumPara and stored for every fit in ar.fit.checksums.checkstr_parameters.
  3. The numerical configuration (several fields below ar.config) is calculated in arChecksumFitting and stored for every fit in ar.fit.checksums.checkstr_fitting.
  4. The data configuration (data points, errors, time points, ...) is calculated in arChecksumData and stored in ar.fit.checkstr_data after fitting.

For comparing numerical algorithms, it has to be ensured that all settings except the ones which are compared are the same. The above mentioned checksums are helpful for this purpose. A frequent issue is comparison of waterfall plot, i.e. the results of arFitLHS. To be sure that the settings are comparable one should evaluate the checksums.

Clone this wiki locally