Skip to content
Snippets Groups Projects
Commit 62a3d158 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

Initial material on data model and on Frida's history.

parent 5c7f7854
No related branches found
No related tags found
1 merge request!4Initial copy from wiki to Expressions.tex.
\section{Changes}
\index{Frida!history|(}%
\index{History of Frida|(}%
Development of Frida was started by J.~Wuttke in 1990.
\index{Wuttke, Joachim}%
Originally, the software was called IDA (``inelastic data analysis'').
\index{IDA}%
The code was written in Fortran77,
\index{Fortran}%
and depended on the proprietary NAG library for numerics, and on proprietary compilers.
It was freely given to interested scientist,
and some modules were contributed back.
When J.~Wuttke left the field in 2001,
maintenance of IDA was continued in the group of A.~Meyer at DLR Köln.
\index{Meyer, Andreas}%
In 2001--2003, J.~Wuttke wrote a C$++$ program
\index{C$++$@C++}%
for the analysis of time series,
heavily drawing on concepts from IDA.
When he came back to neutron science in 2005,
he used this code as base for a modernized rewrite of IDA.
By then, publication of open-source software on the world wide web had become commonplace.
The akronym IDA, however, had already been taken by other software projects.
Therefore, J.~Wuttke renamed his project Frida (``Fast reliable interactive data analysis'').
\index{Frida!name}%
The Fortran code IDA became Frida1,
\index{Frida1}%
and the new C$++$ code was called Frida2.
Since April 2008,
code changes are tracked in the version control system \texttt{git},
\index{Version control}%
\index{git}%
currently located at \url{git://apps.jcns.fz-juelich.de/frida.git/}.
Since April 2010,
changes are described in the file \texttt{CHANGELOG},
which is part of the source,
and also is available online at \url{http://apps.jcns.fz-juelich.de/src/frida/frida2-CHANGELOG}.
\index{Frida!history|)}%
\index{History of Frida|)}%
\section{Data Model}
Frida is basically a huge collection of methods that operate on files.
The structure of these files shall be designated as Frida's \E{data model}.
\index{Data model}%
The data model is the most basic design feature of Frida.
Internal and external storage formats and all method interfaces depend on it.
It has evolved only little since the inception of Frida,
and changes always go towards greater genericity.\footnote
{Major changes were the addition of multi-$z$-coordinates in 1996,
the insertion of an abstraction layer for $x-y-dy$ in 2006,
and full support for $r$ pars in 2010.}
Therefore, Frida will always remain backward compatible
\index{Compatibility!data}%
in the sense
that older data can still be treated with newer software versions.
Frida supports two types of files: \E{data files} and \E{curve files}.
\subsection{Data files}
A \E{data file} is basically an array of »spectra«. A \E{spectrum} contains $x,y$ data pairs (or $x,y,dy$ triples, if errors are given). The physical meaning of $x$ and $y$ is stored as »coordinate« information in the »meta data« of the file. A \E{coordinate} consists of »name« and »unit«, e.g. "mass (kg)" or "counts (Hz)".
If a data file contains more than one spectrum, it is mandatory that there is a $z$ coordinate; there may be several (denoted $z0, z1, ...$). Each spectrum contains as many $z$ entries as there are $z$ coordinates.
There are additional \E{file meta data}, like the »file name« and the »documentation« array. Furthermore, a file may contain an arbitrary number of »file constants«. An \E{file constant} is a coordinate-value pair, denoted $r0, r1, ...$. For instance, $r0$ may contain the coordinate "T (K)" and the value 320 to indicate a temperature of 320 K.
\subsection{Curve files}
A \E{curve file} contains additional file meta data, most importantly a \E{curve definition}. This is either an »expression« or a »script command«. Instead of a set of »spectra«, a curve file contains a set of »curves«. Each \E{curve} contains an array of curve parameters $p0, p1, ...$ (as many as prescribed by the curve definition), an array of flags that indicate whether a parameter is free or fixed, and a few numeric values $cq0, cq1, cq2$ describing fit quality.
......@@ -18,3 +18,5 @@ partner institutes.
This User Manual is a fragment:
A few topics are covered in depth, others are missing completely.
For complementary information,
see the online docs at \url{http://apps.jcns.fz-juelich.de/doku/frida/start}.
......@@ -62,6 +62,8 @@
\@ifpackagelater{unicode-math}{2014/07/01}{\olducmfalse}{\olducmtrue}
\makeatother
\def\E#1{\textit{#1}}
%-------------------------------------------------------------------------------
% Sectioning
%-------------------------------------------------------------------------------
......
......@@ -22,7 +22,9 @@
\tableofcontents %\cleardoublepage
\include{Introduction}
\include{DataModel}
\include{GraphicPostprocessing}
\include{Changes}
%\otherchapter{Bibliography}
%\section*{Bibliography}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment