Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • j.coenen/frida
  • mlz/frida
2 results
Show changes
Commits on Source (415)
Showing
with 64966 additions and 52 deletions
......@@ -34,7 +34,8 @@ external_ci
gcc
clang
build
qtbuild
mybuild
qbuild
podstyle.css
pub/src/xax_yacc.hpp
demo/lm_test
......
stages:
- build
mac_x64:
tags:
- mac_x64_cloud
stage: build
before_script:
# Homebrew packages are installed in a non-standard path
- BREWDIR="/opt/homebrew-x86/"
- PATH="$BREWDIR:$BREWDIR/opt/flex/bin:$BREWDIR/opt/bison/bin:$PATH"
- PYPLAT="/Users/qtisas/.pyenv/versions/3.11.6/"
- cmake --version
script:
- OPTDIR=/Users/Shared/Software/scg
- mkdir pub/build
- cd pub/build
- cmake -DCMAKE_PREFIX_PATH="$BREWDIR;$OPTDIR;$PYPLAT" -DCMAKE_BUILD_TYPE=Release -S ..
- make -j4
- ctest --output-on-failure --timeout 120
artifacts:
paths:
- build/*zip
expire_in: 10 days
# windows:
# tags:
# - Windows
# stage: build
# script:
# - New-Item -ItemType "directory" -Confirm:$false -Force:$true -Name "build"
# - cd build
# - cmd.exe "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
# - cmake -G "Visual Studio 16 2019" -A x64 -T host=x64 -DLIB_MAN=OFF -DLIB_INSTALL=OFF -B. ..
# - cmake --build . --config Release
# - Get-Location
# - dir
# - dir Release
# - ctest -C Release --output-on-failure
native_Debian_clang:
tags: &native
- Debian
before_script: &debian_clang
- export CC=clang; export CXX=clang++
- cmake --version
- clang --version
stage: build
script: &native_scr
- pwd && ls
- mkdir pub/build
- cd pub/build
- cmake ..
- make -j6
- ctest -j6 --output-on-failure
# ## Dockerized:
#
# debS_clang:
# tags: &unix
# - Linux
# image: debian:stable
# before_script: &debian_clang
# - apt-get -y update
# - apt-get -y upgrade
# - apt-get -y install cmake perl pkgconf bison flex gnuplot-x11 git
# - apt-get -y install libreadline-dev libgsl-dev libfftw3-dev
# - apt-get -y install libboost-filesystem-dev libboost-dev libyaml-dev
# - apt-get -y install clang
# - git clone https://jugit.fz-juelich.de/mlz/kww.git
# - git clone https://jugit.fz-juelich.de/mlz/lmfit.git
# - git clone https://jugit.fz-juelich.de/mlz/libcerf.git
# stage: build
# script: &scr
# - pwd && ls
# - cd kww && mkdir build && cd build
# - cmake -DWERROR=ON .. && make -j3 && ctest && make install && cd ../..
# - cd lmfit && mkdir build && cd build
# - cmake -DWERROR=ON .. && make -j3 && ctest && make install && cd ../..
# - cd libcerf && mkdir build && cd build
# - cmake -DWERROR=ON .. && make -j3 && ctest && make install && cd ../..
# - cd pub
# - mkdir build
# - cd build
# - cmake -DWERROR=ON ..
# - make -j8
# - ctest --output-on-failure
#
# debS_gcc:
# tags: *unix
# image: debian:stable
# before_script: &debian_gcc
# - apt-get -y update
# - apt-get -y upgrade
# - apt-get -y install cmake perl pkgconf bison flex gnuplot-x11 git
# - apt-get -y install libreadline-dev libgsl-dev libfftw3-dev
# - apt-get -y install libboost-filesystem-dev libboost-dev libyaml-dev
# - apt-get -y install g++
# - git clone https://jugit.fz-juelich.de/mlz/kww.git
# - git clone https://jugit.fz-juelich.de/mlz/lmfit.git
# - git clone https://jugit.fz-juelich.de/mlz/libcerf.git
# stage: build
# script: *scr
#
# debT_clang:
# tags: *unix
# image: debian:testing
# before_script: *debian_clang
# stage: build
# script: *scr
#
# debT_gcc:
# tags: *unix
# image: debian:testing
# before_script: *debian_gcc
# stage: build
# script: *scr
#
# debU_clang:
# tags: *unix
# image: debian:unstable
# before_script: *debian_clang
# stage: build
# script: *scr
#
# debU_gcc:
# tags: *unix
# image: debian:unstable
# before_script: *debian_gcc
# stage: build
# script: *scr
#
# suse_clang:
# tags: *unix
# image: opensuse/tumbleweed
# # rolling release with infinite life time
# before_script:
# - zypper -n patch || echo "do it again"
# - zypper -n patch
# - zypper -n ref
# - zypper -n up
# - zypper -n dup
# - zypper -n in cmake perl pkgconf bison flex gnuplot git
# - zypper -n in readline-devel gsl-devel fftw3-devel libyaml-devel
# - zypper -n in boost-devel libboost_filesystem-devel
# - zypper -n in clang gcc glibc-devel libstdc++-devel
# - export CC=/usr/bin/clang
# - export CXX=/usr/bin/clang++
# - git clone https://jugit.fz-juelich.de/mlz/kww.git
# - git clone https://jugit.fz-juelich.de/mlz/lmfit.git
# - git clone https://jugit.fz-juelich.de/mlz/libcerf.git
# stage: build
# script: *scr
#
# suse_gcc:
# tags: *unix
# image: opensuse/tumbleweed
# # rolling release with infinite life time
# before_script:
# - zypper -n patch || echo "do it again"
# - zypper -n patch
# - zypper -n ref
# - zypper -n up
# - zypper -n dup
# - zypper -n in cmake perl pkgconf bison flex gnuplot git
# - zypper -n in readline-devel gsl-devel fftw3-devel libyaml-devel
# - zypper -n in boost-devel libboost_filesystem-devel
# - zypper -n in gcc-c++
# - git clone https://jugit.fz-juelich.de/mlz/kww.git
# - git clone https://jugit.fz-juelich.de/mlz/lmfit.git
# - git clone https://jugit.fz-juelich.de/mlz/libcerf.git
# stage: build
# script: *scr
#
# # suse_stable:
# # opensuse:leap, unsupported here because it is at cmake 3.5, while libcerf requires 3.6
#
# ## Centos7 permanently disabled because it does not fully support C++11
# ##
# ##centos7_clang:
# ## tags: *unix
# ## image: centos:centos7
# ## before_script:
# ## - yum -y update
# ## - yum -y install epel-release
# ## - yum repolist
# ## - yum -y install make cmake3 pkgconf perl bison flex gnuplot git
# ## - yum -y install readline-devel gsl-devel fftw3-devel libboost-filesystem boost-devel libyaml-devel
# ## - yum -y install clang gcc glibc-devel libstdc++-devel
# ## - export CC=/usr/bin/clang
# ## - export CXX=/usr/bin/clang++
# ## - git clone https://jugit.fz-juelich.de/mlz/kww.git
# ## - git clone https://jugit.fz-juelich.de/mlz/lmfit.git
# ## - git clone https://jugit.fz-juelich.de/mlz/libcerf.git
# ## - cmake3 --version
# ## - ctest3 --version
# ## - cpack3 --version
# ## - ln -s /usr/bin/cmake3 /usr/bin/cmake
# ## - ln -s /usr/bin/ctest3 /usr/bin/ctest
# ## - ln -s /usr/bin/cpack3 /usr/bin/cpack
# ## stage: build
# ## script: *scr
# ##
# ##centos7_gcc:
# ## tags: *unix
# ## image: centos:centos7
# ## before_script:
# ## - yum -y update
# ## - yum -y install epel-release
# ## - yum repolist
# ## - yum -y install make cmake3 pkgconf perl bison flex gnuplot git
# ## - yum -y install readline-devel gsl-devel fftw3-devel libboost-filesystem boost-devel libyaml-devel
# ## - yum -y install gcc-c++
# ## - git clone https://jugit.fz-juelich.de/mlz/kww.git
# ## - git clone https://jugit.fz-juelich.de/mlz/lmfit.git
# ## - git clone https://jugit.fz-juelich.de/mlz/libcerf.git
# ## - cmake3 --version
# ## - ctest3 --version
# ## - cpack3 --version
# ## - ln -s /usr/bin/cmake3 /usr/bin/cmake
# ## - ln -s /usr/bin/ctest3 /usr/bin/ctest
# ## - ln -s /usr/bin/cpack3 /usr/bin/cpack
# ## stage: build
# ## script: *scr
Frida
=====
**Frida** (\"Fast reliable interactive data analysis\") is a versatile
data analysis program with special routines for inelastic neutron
scattering. It is actively maintained by [Joachim
Wuttke](http://www.fz-juelich.de/SharedDocs/Personen/JCNS/EN/Wuttke_J.html).
News
----
12may20: Bug fix release 2.4.3b.
See the
[changelog](https://jugit.fz-juelich.de/mlz/frida/-/blob/master/pub/CHANGELOG)
for details.
Documentation
-------------
- [Introduction](wiki/introduction.md)
- [Installation](wiki/installation.md)
- [frida.ini](wiki/frida.ini.md) (the configure file)
- [Tutorial](wiki/tutorial/start.md)
- [Session 1](wiki/tutorial/basic_usage.md): Command-line basics, load
file, inspect, plot
- [Session 2](wiki/tutorial/simple_manipulations.md): Select, Bin,
reorganize data.
- [Session 3](wiki/tutorial/elementary_fitting.md): Fit.
- [Session 4](wiki/tutorial/fitting_with_convolution.md): Convolute
theory with experimental resolution.
- Online manual
- [Data model](wiki/data_model.md)
- [Commands](wiki/commands.md)
- [Overwrite or Duplicate](wiki/Overwrite or Duplicate.md)
- [Expressions](wiki/expressions.md)
- [Built-in functions](wiki/built-in_functions.md)
- [Curves](wiki/curves.md)
- [External curves](wiki/external_curves.md)
- Implementation notes (for developers)
- [Design principles](wiki/principles.md)
- [technologies and libraries used](wiki/technologies.md)
- [coding conventions](wiki/coding_conventions.md)
- Old Versions
- [historic data formats](wiki/historic_data_formats.md)
- [frida1](wiki/frida1/start.md)
- Offline manual:
- ![UserManual.pdf](doc/UserManual.pdf) (work in progress, mostly about graphics)
Resources
---------
Download location:
- <https://jugit.fz-juelich.de/mlz/frida/-/tags>: latest release, file
frida\<version\>.tgz
Or clone from
- <https://jugit.fz-juelich.de/mlz/frida/-/tree/master>: \"Clone\"
button on the upper right of the main window
Contact
-------
### Bug reports
Please send bug reports to Joachim. The git development snapshot
contains a bug list (\~/TODO).
### School on Data Analysis
The first JCNS School on Data Analysis for Quasielastic Neutron
Scattering with Frida took place on 28-29 April 2010. The next school
will be organized as soon as a sufficient number of potential
participants have indicated their interest.
==== BUGS ====
ctest -j4 fails
or+ should ask for name(unit) AND value
==== New functionality ====
"uninitialized variable" should also mention "unknown command"
pipes to avoid unnecessary files: oy y/[].mr{abs(x)>7}.oy{y^2}.avg[j] ?
==== IMPROVE EXTANT FUNCTIONALITY ====
splines (e.g. to approximate measured resolution)
convolution with function
- with spline
- with TOFTOF model
fit does not yet use improved lmmin API (done?)
'ep0', ...
==== Improve extant functcionality ====
merge registries; prevent creation of variable with name already used by function
coord name algebra
=== plotting ===
handling of inf, nan
dp: output for #spec>1 is obfuscated
fs: for curve-calling-external-program (cc ecr or similar)
mfj: remove redundant doc lines
oi: wenn mehrere Files mit rank=2, automatisch in einen File packen
"update plot" to replot after change of axes
fn key binding: fn3-4 to scan k
=== by command ===
ft: ignore "#.."
dp: output for #spec>1 is obfuscated
multi-oixy ?
fs: for curve-calling-external-program (cc ecr or similar)
fit functions that depend on y_i (consistent? needed? how?)
gp: version 'gp!' <filename> ?
==== REQUESTED FUNCTIONALITY ====
mfj: remove redundant doc lines
one-sided Fourier transform (Zach)
oi: wenn mehrere Files mit rank=2, automatisch in einen File packen
==== DOCUMENTATION ====
Terminology: "file" -> "workspace"
(surprisingly, this concerns almost only the documentation; in the code, only a few
output commands contain "file" in the sense of "workspace". To find them, use
grep -n [Ff]ile `fs` | grep -v "\\file" | grep -v FileIter | grep -v [a-zA-Z]File
)
Universal help/doc associated with
- environment variables like psdir
- operators and functions (now hf; separate operators and functions, reconsider sorting)
refer to external documentation
==== Refactoring ====
explain resol, conv, pconv
more info on commands (in command shell and in manual?)
==== REFACTORING ====
Register all commands;
transform within-command dialogs into command options
(this replaces the following "dialog generics":)
- restore ask callback help for lists (prompt for list, not for string)
- restore help on "?" (e.g. expression help for 'md')
- default for plot range
refactor func+op registration so that registered object can be const
(assemble typed function list prior to registration)
Terminology: "file" -> "workspace"
boost::format -> cppformat
lmfit call-back within class, thanks to std::functional
read-plus Interface in EINEN namespace ask:: stecken ??
Documentation:
- Universal help/doc associated with
- environment variables like psdir
- operators and functions (now hf; separate operators and functions, reconsider sorting)
- refer to external documentation
- explain resol, conv, pconv
- more info on commands (in command shell and in manual?)
When commands have become programmable:
- review history
- latest action on pX should be part of history
......@@ -87,27 +93,13 @@ history:
- save every input at once (from history to logging ...)
==== WISHLIST ====
customization
- let user choose points/line
- let user choose color/symbol/linestyle
- debug mode (e.g. gnuplot monitor)
allow ad-hoc addition of fit functions
(plugin ? distinguish from opr-functions ?)
- plot accessible Q-E-space
distribution
- include wupscat, wupsbb
- rewrite wupscat in bash instead of ruby
==== PROJECTS ====
splines (e.g. to approximate measured resolution)
2d plots using pm3d # was ist das ?
convolution with function
- with spline
- with TOFTOF model
==== WAITING FOR CLUE ====
......
Executive Summary
Of 68 files, 0 released, 9 changed
Status
for/num/kww.i96 Unchanged
for/num/kww_imag_full.i96 Unchanged
for/num/kww_imag.i96 Unchanged
for/num/kww_im_re.i96 Unchanged
for/num/kww_real.i96 Unchanged
for/num/kww_sqw.i96 Unchanged
for/num/Qz.i96 Unchanged
for/num/Qzn.i96 Unchanged
for/num/Vz.i96 Unchanged
for/num/Vzn.i96 Unchanged
g1.f Unchanged
g2.f Unchanged
g2.ps Unchanged
g3.ps Unchanged
g4.ps Unchanged
h.f Unchanged
i00.f Changed
i01.f Unchanged
i10.f Unchanged
i20.f Unchanged
i23.f Unchanged
i25.f Unchanged
i30.f Unchanged
i32.f Unchanged
i40.f Changed
i41.f Changed
i42.f Unchanged
i43.f Unchanged
i50.f Unchanged
i60.f Changed
i66.f Changed
i67.f Unchanged
i70.f Unchanged
i71.f Unchanged
i72.f Changed
i73.f Unchanged
i74.f Unchanged
i75.f Unchanged
i76.f Unchanged
i77.f Unchanged
i80.f Unchanged
i81.f Changed
i87.f Unchanged
i94.f Unchanged
i95.f Unchanged
i99.f Unchanged
ida.su Released
Ida.hlp Unchanged
l1.f Unchanged
l2.f Unchanged
l3.f Unchanged
l4.f Unchanged
l5.f Unchanged
l6.f Unchanged
l0i10.f Unchanged
l0sgi.f Unchanged
l0sos.f Unchanged
l0x11.f Unchanged
Makefile Changed
g_dim.f Unchanged
i_dim.f Changed
i_wrk.f Unchanged
l_def.f Unchanged
l_dim.f Changed
ramanfpiold.f Unchanged
README Unchanged
wups05a.ps Unchanged
wups97a.ps Unchanged
*this$file
Ida.hlp
last change 3mar94
contains on-line help for IDA
*Ida
IDA () main command line.
Short commands :
p = plot
a = add to plot
qui = quit IDA
Command groups :
f* = files (input, output, ..)
d* = directory (and modification of file headers)
e* = edit parameters
m* = manipulations (delete, sum, interpolate, ..)
o* = operations (arithmetics)
t* = transforms (Fourier, ..)
_* = incorporated programs
r* = raw data input
c* = curves and fits
g* = graphics
i* = info
For lists of command groups, enter the first letter.
For help on specific commands, try '? ' followed by the command.
The prompt IDA normally is followed by a list of default-files.
Most commands operate on these files. To operate on other files,
enter a new filelist, followed by a command or not.
*f
IDA> command group f*
(files: input, output, creation,
reorganisation in on-line-memory)
fl = load from disk
fm = make
fc = copy
fdel= delete
fx = exchange (fc and fdel)
fw = write to disk
*fl
IDA () fl <filename> : load file(s)
Load data files into on-line memory.
Usage : with argument : load one file
without argument : loop (reply nothing [RETURN] to exit)
If File names are given without extension, the program looks first
for ".dat", then for ".asc".
File formats : ILL-CrossX, IDA-binary, or IDA-ASCII
Source : FileWrite in i2.f, colling LoadSpectrum in i1.f
*fw
IDA (file-nos) fw : write file(s)
Save internal files on external device.
Any files hold in IDA's on-line memory can be saved, including curves.
As external filename, any valid path name is accepted. If filenames
are given without extension, files will be saved as ".dat", except
if ASCII-format is chosen in which case the extension will be ".asc".
Recommended storage format is IDA-binary; use IDA-ASCII if data shall
be send to sites with different operating system.
Source : FileLoad in i2.f, calling SaveSpectrum in i1.f
*fdel
IDA (file-nos) fdel : delete files
Files are deleted from on-line memory.
There is no way to recover deleted files. Use "fw" to save results.
Source : FileKill in i3.f, calling FileDel in i2.f
*fc
IDA (file-nos) fc : copy files
Duplicate files in on-line memory.
Source : FileCopy in i3.f
*fx
IDA (file-nos) fx : exchange order of files
Files are copied to the end of the on-line memory,
then deleted from their original positions.
Source : FileCopy and FileKill in i3.f
*fm
IDA () fm : make a new file
Create a new on-line file.
This option is used to enter data manually, or to convert foreign formats.
It includes the older conversion program any2ied.
For converting foreign data formats, first go through the interactive
questions section. Then, the program asks to enter spectra in a format
you have determined before. At this point, use "\ie <filename>" to read
the data points from an external file.
Source : FileMake in i3.f
*d
IDA> command group d*
(directory of on-line memory,
inspection and modification of file headers)
df = list of files
dz = list of spectra
dd = list of data entries
di = inspect integer parameters
dr = inspect (and modify) real parameters
dt = inspect (and modify) text parameters
dg = inspect (and modify) graphic parameters
*df
IDA () df : directory of on-line files
Source : FileInfo in i2.f
*dz
IDA (file-nos) dz : directory of spectra
For given files, list all spectra with their z-values
and their x-data ranges.
Source : FileInfo in i2.f
*dd
IDA (file-nos) dd : directory of data entries
For given files, ask for spectra and channels to list,
Source : FileInfo in i2.f
*di
IDA (file-nos) di : inspect integer parameters
Source : FileInfo in i2.f
*dr
IDA (file-nos) dr : inspect (and modify) real parameters
Source : FileRPar in i3.f
*dt
IDA (file-nos) dt : inspect (and modify) text parameters
Source : FileTPar in i3.f
*dg
IDA (file-nos) dg : inspect (and modify) graphics parameters
Source : FileGPar in i3.f
*mca
IDA (file-nos) mca : add channels
For each spectrum of given input files, channels are grouped
together : x and y will be replaced by their average values.
Groups are to be specified in ordered list format, e.g. if there
are 12 channels, "*i3" (which is shorthand for "1,4,7,10") means that
there will be four groups containing channels 1-3,4-6,7-9, and 10-12.
If some spectra of one file are defined on different subranges of a
common grid, the new groups can be set with respect to the common grid.
If spectra have different length and there is no common grid, groups
must be specified individually for each spectrum.
Source : OrgChSum in i4.f
*mcd
IDA (file-nos) mcd : delete channels
For each spectrum of given input files, some channels can be deleted.
The channels that shall NOT be deleted are to be specified, either by
their numbers in ordered list format, or by their x- or y-values.
Channel specification from files is decouraged.
If channels are specified by numbers, all spectra of one file are
compared in order to decide whether there is a common x-grid; in this
case, numbers can be specified with respect to the common grid.
If spectra have different length and there is no common grid, channel
numbers must be given individually for each spectrum.
Source : OrgChCut in i4.f
*mco
IDA (file-nos) mco : sort channels
Sort each spectrum of given input files in ascending order in x.
If there is more than one occurence of some x-value, the corresponding
channels are grouped together, taking the average y-value.
Source : OrgChSort in i4.f
*msa
IDA (file-nos) msa : add spectra
For each input file, replace spectra by groups of spectra.
For each group, channel by channel, input y are replaced by their
average values.
Groups are to be specified by the number of the first old spectrum
of each new group, in ordered list format.
If spectra have different x-grids but the same number of channels,
it is possible to proceed by channel numbers. New x-values are then
set by averaging over input files. It recommended, however, to first
regroup the data onto a common grid (using "mgr") before using "msa".
Source : OrgSpectraSum in i4.f
*msd
IDA (file-nos) msd : delete spectra
For each input file, delete some spectra.
The spectra to be deleted are to be specified in ordered list format.
Answer "-" (empty list) to escape.
Source : OrgSpectraCut in i4.f
*mso
IDA (file-nos) mso : sort spectra
For each input file, sort spectra by their z-value. The contents
of the spectra themselves is not changed.
Source : OrgSpectraSort in i4.f
*msj
IDA (file-nos) msj : join spectra
For each input file, group some spectra together. Output spectra
are build by simply appending input spectra one after each other.
Optionally, channels can be sorted (same as calling "mco").
Groups are to be specified the same way as in "msa".
Source : OrgSpectraJoin in i4.f
*msx
IDA (file-nos) msx : exchange spectra <-> channels
For each input file, exchange x- and z-coordinate.
Evidently, all spectra must be defined on a common x-grid.
Source : OrgSpectraExch in i4.f
*mfs
IDA (file-nos) mfs : sum spectra of different files
It supposed that the input files have commensurable z-scales.
Then, all spectra sharing the same z are averaged to form one
output spectrum (whether two z's are considered equal is controlled
by a "tolerance" parameter).
The averaging can only be done, if the x-grids are identical.
Source : OrgFileJoin in i4.f
*mfj
IDA (file-nos) mfj : append files into one file
Simply, make one file out of several input files.
Say, there are 2 files with 3 spectra each : (ABC) and (abc).
Then, the output file will contain either (ABCabc) (option "file
after file"), or (AaBbCc) (option "spectrum after spectrum").
The spectra themselves remain unchanged (except if "msj" is
called at the end).
Source : OrgFileJoin in i4.f
*mfx
IDA (file-nos) mfx : exchange files <-> spectra
Suppose, spectra y(x) have been measured for different values
of two parameters U and V. Originally, spectra with the same U
may have been grouped into files with a real-parameter r(n)=U,
and V has a z-coordinate. The operation "mfx" regroups them into
files with the same real-parameter r(n')=V and a z-coordinate U.
Source : OrgFileJoin in i4.f
*mgi
IDA (file-nos) mgi : new x-grid, interpolate y
Choose a new x-grid, then determine y(x) on this grid by
interpolation of input data.
Options for choosing a grid are :
> from a file f2
> > (1:1) for each output spectrum one spectrum of f2
with same z is searched for
> > (select one) one spectrum of f2 defines the grid for all output
> regular grid
> > (lin) X(i) = X(1) + [X(n)-X(1)]*[(i-1)/(n-1)]
> > (log) X(i) = X(1) * [X(n)/X(1)]^[(i-1)/(n-1)]
> > (1/2-log) starts logarithmically at X(1)=-X(n), becomes linear
around 0 (from -crossover to +crossover), then
returns to logarithmic increase until X(n).
Source : OrgGrid in i4.f
*mge
IDA (file-nos) mge : new x-grid, extrapolate y
Choose a new x-grid, then determine y(x) on this grid by
interpolation and extrapolation.
Options for extrapolations include
> by 0
> by any other given value
> by value of nearest neighbours
Options for choosing a new grid are the same as for mgi (see there).
Source : OrgGrid in i4.f
*mgr
IDA (file-nos) mgr : new x-grid, redistribute y
Choose a new x-grid, then determine y(x) on this grid by
redistributing histogram intensities of input data.
Options for choosing a new grid are the same as for mgi (see there).
Source : OrgGrid in i4.f
*mgd
IDA (file-nos) mgd : new x-grid, reduce input
Choose a new x-grid. If there are several x on input which
fall into the same interval of the new grid, only one x-y pair
per interval is retained, the other input data are thrown away.
This option is needed for producing final output, when experimental
data had to be temporarily interpolated onto a finer grid.
Options for choosing a new grid are the same as for mgi (see there).
Source : OrgGrid in i4.f
*ox
IDA (file-nos) ox <function <2nd argument>> : operate on x
Replace x by a function of x and possibly a second argument.
Examples : "6-8 ox / ef" devides x by a constant which will be asked
for individually for each of the input files 6-8;
"7 ox $ x'" replaces x by x' of another file (the number
of which will be asked for)
Source : OprPoint in i5.f
*oy
IDA (file-nos) oz <function <2nd argument>> : operate on y
Replace y by a function of y and possibly a second argument.
Examples : "6 oy * i" multiplies y by an argument y'(z) which
will be read from another file
"1-2 oy $/ d" replace y by dy/y, where dy will be taken
from the same input files 1-2 as y
Source : OprPoint in i5.f
*oz
IDA (file-nos) oz <function <2nd argument>> : operate on z
Replace z by a function of z and possibly a second argument.
Source : OprPoint in i5.f
*oi
IDA (file-nos) oi : calculate an integral property
For a spectrum y(x), a property i[y(x)] is calculated.
Examples: maximum value of y,
x at maximum of y,
integral I dx y(x).
If there is only one input spectrum, the output is a single number.
If the input file contains several spectra, the output is saved
as a file containing the spectrum i(z).
Source : OprIntegral in i5.f
*ot
IDA (file-nos) ot : clone y(x) into a tensor product y(x,z)
Suppose you have one spectrum y(x), and you want to manipulate
this spectrum for different values of a parameter p.
A convenient way to achieve this is to expand y(x) into a file y(x,z),
consisting of a set of identical spectra y(x) with z=p.
You can either read z from another file or specify a regular grid.
Source : OprTensor in i5.f
*p
IDA (file-nos) p <spectra-nos> : plot
Plot the input files.
When called for the first time, this command opens a graphic window;
on later calls, previous plots are cleared.
Use "a" to add more spectra into existing plot.
See "g*" commands for more graphic options.
Source : IdaPlot in i0.f, calling the graphic library g*.f
*a
IDA (file-nos) a <spectra-nos> : add
Add more spectra to existing plot.
See 'g*' commands for more graphic options.
Source : IdaPlot in i0.f, calling the graphic library g*.f
*gp
IDA () gp <ps-filename> : graphic to postscript
Write the graphic actually shown in the Tektronix window
in a PostScript file. Works even after the Tektronix window
has been closed.
The default filename is l<n>.ps, where <n> is the lowest
integer for which no such file already exists.
The PostScript file may subsequently be modified using
a text editor. Search for the string "Switchboard" for the
most relevant commands.
Source : GraSoftCopy in g2.f
*g:
IDA () g: : list graphic setup
List setup of the chosen graphic window.
Use "gw" to change the window.
Source : GraChoice in g2.f
*gw
IDA () gw <window-no> : select graphic window
A graphic window is here the ensemble of all parameters defining
a graphic setup, like coordinate bounds, symbol size, and toggles
between linear/logarithmic scales and so on. It is useful to switch
between graphic windows when functions of incommensurable coordinates
with completely different x- and y-bounds are to be plotted.
Different graphic windows do NOT correspond to different windows
on the X-terminal.
Source : GraChoice in g2.f
*cc
IDA (file-nos) cc : create curve
Create a curve for fitting the input files.
Curves are saved internally like data files; they can be written
to external files with "fw", they can be plotted with "p" and "a",
but most other operations are meaningless with curves.
Source : CuCreate in i6.f
*i
IDA> command group i* (info on the state of the program)
ia = array dimensions'
*eoi
# Makefile for IDA under LINUX:
#
# abbreviations :
#
FF = /opt/absoft10.2/bin/f77
LL = oba/l1.o oba/l2.o oba/l3.o oba/l4.o oba/l5.o \
oba/l6.o oba/l0x11.o
GG = oba/g1.o oba/g2.o
II = oba/i00.o oba/i01.o oba/i10.o oba/i20.o oba/i23.o oba/i25.o \
oba/i30.o oba/i32.o oba/i40.o oba/i41.o oba/i42.o oba/i43.o \
oba/i50.o oba/i60.o oba/i66.o oba/i67.o \
oba/i70.o oba/i71.o oba/i72.o oba/i73.o oba/i74.o oba/i75.o \
oba/i76.o oba/i80.o oba/i87.o oba/i95.o oba/i99.o \
oba/i77.o oba/i81.o oba/napi.o oba/napif.o
#
LD = l_dim.f
ID = i_dim.f
#
#CFLAGS = -O4 -ffixed-line-length-132 -assume bac -check nounderflow
#CFLAGS = -O4 -132 -dusty -w -save
#CFLAGS = -O0 -g -132 -dusty -w -save
CFLAGL = -O1 -lm -Bstatic
# -g debugging symbols (excl. -O)
# -O optimize
# -A suppress alignment warnings
# -W wide format
# -s all storage static and initialized to zero
# -w suppress warnings
# -f fold symbols to lower case (for compatibility with libnag and libV77)
# -B108 append underscore to symbols (dito)
# missing: no underflow check
CB = -check bounds
# Compiling with libnag.a binary provided by LRZ
CFLAGS = -O -A -W -s -w -f -B108
LNAG = -static -m32 -L/usr/local/lib -lnag -lgfortran -lm
LGET = -static -L/usr/local/lib -lget
#LNAG = -static -L/usr/local/lib -lnag -lgfortran -lm
#LNEX is used for the Nexus read in
LNEX = -static -L/usr/local/lib -lz -ljpeg -L/usr/local/lib/hdf/lib -lhdf5 -lmfhdf -ldf
LV77 = -L/opt/absoft10.2/lib -lV77 -lU77 -lNeXus
# -X options to be evaluated by ld
# -Bstatic option for ld to link all libraries statically
# libnag: Nag libraries
# libg2c: G77 routines references by libnag
# libm: math libraries
# libV77.a provides VAX-compatible DATE, IDATE and TIME
#
#
# Compile via C-stage
# gcc -O -c -I/usr/local/lib/NAGWare -Wuninitialized
# link :
#
exa/frida1 : $(II) $(GG) $(LL)
$(FF) -o exa/frida1 $(II) $(GG) $(LL) $(LNAG) $(LGET) $(LNEX) $(LV77)
#
# compile :
#
#i_dim.f : i_dim.alp ; cp i_dim.alp i_dim.f
oba/i00.o : i00.f $(ID) ; $(FF) -c $(CFLAGS) i00.f -o oba/i00.o
oba/i01.o : i01.f $(ID) ; $(FF) -c $(CFLAGS) i01.f -o oba/i01.o
oba/i10.o : i10.f $(ID) ; $(FF) -c $(CFLAGS) i10.f -o oba/i10.o
oba/i20.o : i20.f $(ID) ; $(FF) -c $(CFLAGS) i20.f -o oba/i20.o
oba/i23.o : i23.f $(ID) ; $(FF) -c $(CFLAGS) i23.f -o oba/i23.o
oba/i25.o : i25.f $(ID) ; $(FF) -c $(CFLAGS) i25.f -o oba/i25.o
oba/i30.o : i30.f $(ID) ; $(FF) -c $(CFLAGS) i30.f -o oba/i30.o
oba/i32.o : i32.f $(ID) ; $(FF) -c $(CFLAGS) i32.f -o oba/i32.o
oba/i40.o : i40.f $(ID) ; $(FF) -c $(CFLAGS) i40.f -o oba/i40.o
oba/i41.o : i41.f $(ID) ; $(FF) -c $(CFLAGS) i41.f -o oba/i41.o
oba/i42.o : i42.f $(ID) ; $(FF) -c $(CFLAGS) i42.f -o oba/i42.o
oba/i43.o : i43.f $(ID) ; $(FF) -c $(CFLAGS) i43.f -o oba/i43.o
oba/i50.o : i50.f $(ID) ; $(FF) -c $(CFLAGS) i50.f -o oba/i50.o
oba/i60.o : i60.f $(ID) ; $(FF) -c $(CFLAGS) i60.f -o oba/i60.o
oba/i66.o : i66.f $(ID) ; $(FF) -c $(CFLAGS) i66.f -o oba/i66.o
oba/i67.o : i67.f $(ID) ; $(FF) -c $(CFLAGS) i67.f -o oba/i67.o
oba/i70.o : i70.f $(ID) ; $(FF) -c $(CFLAGS) i70.f -o oba/i70.o
oba/i71.o : i71.f $(ID) ; $(FF) -c $(CFLAGS) i71.f -o oba/i71.o
oba/i72.o : i72.f $(ID) ; $(FF) -c $(CFLAGS) i72.f -o oba/i72.o
oba/i73.o : i73.f $(ID) ; $(FF) -c $(CFLAGS) i73.f -o oba/i73.o
oba/i74.o : i74.f $(ID) ; $(FF) -c $(CFLAGS) i74.f -o oba/i74.o
oba/i75.o : i75.f $(ID) ; $(FF) -c $(CFLAGS) i75.f -o oba/i75.o
oba/i76.o : i76.f $(ID) ; $(FF) -c $(CFLAGS) i76.f -o oba/i76.o
oba/i77.o : i77.f $(ID) ; $(FF) -c $(CFLAGS) i77.f -o oba/i77.o
oba/i80.o : i80.f $(ID) ; $(FF) -c $(CFLAGS) i80.f -o oba/i80.o
oba/i81.o : i81.f $(ID) ; $(FF) -c $(CFLAGS) i81.f -o oba/i81.o
oba/i82.o : i81.f $(ID) ; $(FF) -c $(CFLAGS) i81.f -o oba/i82.o
oba/i87.o : i87.f $(ID) ; $(FF) -c $(CFLAGS) i87.f -o oba/i87.o
oba/i95.o : i95.f $(ID) ; $(FF) -c $(CFLAGS) i95.f -o oba/i95.o
oba/i99.o : i99.f $(ID) ; $(FF) -c $(CFLAGS) i99.f -o oba/i99.o
oba/l0x11.o : l0x11.f ; $(FF) -c $(CFLAGS) l0x11.f -o oba/l0x11.o
oba/l1.o : l1.f ; $(FF) -c $(CFLAGS) l1.f -o oba/l1.o
oba/l2.o : l2.f ; $(FF) -c $(CFLAGS) l2.f -o oba/l2.o
oba/l3.o : l3.f $(LD) ; $(FF) -c $(CFLAGS) l3.f -o oba/l3.o
oba/l4.o : l4.f ; $(FF) -c $(CFLAGS) l4.f -o oba/l4.o
oba/l5.o : l5.f ; $(FF) -c $(CFLAGS) l5.f -o oba/l5.o
oba/l6.o : l6.f ; $(FF) -c $(CFLAGS) l6.f -o oba/l6.o
oba/g1.o : g1.f ; $(FF) -c $(CFLAGS) g1.f -o oba/g1.o
oba/g2.o : g2.f g_dim.f ; $(FF) -c $(CFLAGS) g2.f -o oba/g2.o
#remove the following two lines if nexus read in is not used.
oba/napif.o : napif.f napif.inc; /opt/absoft10.2/bin/f77 -m32 -g -f -X -static -c napif.f -o oba/napif.o
#oba/napif.o : napif.f napif.inc; /opt/absoft10.2/bin/f77 -m32 -g -f -B108 -X -static -c napif.f -o oba/napif.o
oba/napi.o : napi.c ; cc -m32 -static -c napi.c -o oba/napi.o
# Makefile for IDA under LINUX:
#
# abbreviations :
#
FF = /opt/absoft10.2/bin/f77
LL = oba/l1.o oba/l2.o oba/l3.o oba/l4.o oba/l5.o \
oba/l6.o oba/l0x11.o
GG = oba/g1.o oba/g2.o
II = oba/i00.o oba/i01.o oba/i10.o oba/i20.o oba/i23.o oba/i25.o \
oba/i30.o oba/i32.o oba/i40.o oba/i41.o oba/i42.o oba/i43.o \
oba/i50.o oba/i60.o oba/i66.o oba/i67.o \
oba/i70.o oba/i71.o oba/i72.o oba/i73.o oba/i74.o oba/i75.o \
oba/i76.o oba/i80_focus.o oba/i87.o oba/i95.o oba/i99.o \
oba/i77.o oba/i81.o oba/napi.o oba/napif.o
#
LD = l_dim.f
ID = i_dim.f
#
#CFLAGS = -O4 -ffixed-line-length-132 -assume bac -check nounderflow
#CFLAGS = -O4 -132 -dusty -w -save
#CFLAGS = -O0 -g -132 -dusty -w -save
CFLAGL = -O1 -lm -Bstatic
# -g debugging symbols (excl. -O)
# -O optimize
# -A suppress alignment warnings
# -W wide format
# -s all storage static and initialized to zero
# -w suppress warnings
# -f fold symbols to lower case (for compatibility with libnag and libV77)
# -B108 append underscore to symbols (dito)
# missing: no underflow check
CB = -check bounds
# Compiling with libnag.a binary provided by LRZ
CFLAGS = -O -A -W -s -w -f -B108
LNAG = -static -m32 -L/usr/local/lib -lnag -lgfortran -lm
LGET = -static -L/usr/local/lib -lget
#LNAG = -static -L/usr/local/lib -lnag -lgfortran -lm
#LNEX is used for the Nexus read in
LNEX = -L/usr/lib/i386-linux-gnu/hdf5/serial/ -lNeXus -lhdf5 -lpthread -lz -lsz -ldl -laec -ljpeg -lmfhdf -ldf
#LNEX = -static -L/usr/lib/i386-linux-gnu -lz -ljpeg -L/usr/lib/i386-linux-gnu/hdf5/serial -lhdf5 -lmfhdf -ldf
LV77 = -L/opt/absoft10.2/lib -lV77 -lU77 -lNeXus
# -X options to be evaluated by ld
# -Bstatic option for ld to link all libraries statically
# libnag: Nag libraries
# libg2c: G77 routines references by libnag
# libm: math libraries
# libV77.a provides VAX-compatible DATE, IDATE and TIME
#
#
# Compile via C-stage
# gcc -O -c -I/usr/local/lib/NAGWare -Wuninitialized
# link :
#
exa/frida1_focus : $(II) $(GG) $(LL)
$(FF) -o exa/frida1_focus $(II) $(GG) $(LL) $(LNAG) $(LGET) $(LNEX) $(LV77)
#
# compile :
#
#i_dim.f : i_dim.alp ; cp i_dim.alp i_dim.f
oba/i00.o : i00.f $(ID) ; $(FF) -c $(CFLAGS) i00.f -o oba/i00.o
oba/i01.o : i01.f $(ID) ; $(FF) -c $(CFLAGS) i01.f -o oba/i01.o
oba/i10.o : i10.f $(ID) ; $(FF) -c $(CFLAGS) i10.f -o oba/i10.o
oba/i20.o : i20.f $(ID) ; $(FF) -c $(CFLAGS) i20.f -o oba/i20.o
oba/i23.o : i23.f $(ID) ; $(FF) -c $(CFLAGS) i23.f -o oba/i23.o
oba/i25.o : i25.f $(ID) ; $(FF) -c $(CFLAGS) i25.f -o oba/i25.o
oba/i30.o : i30.f $(ID) ; $(FF) -c $(CFLAGS) i30.f -o oba/i30.o
oba/i32.o : i32.f $(ID) ; $(FF) -c $(CFLAGS) i32.f -o oba/i32.o
oba/i40.o : i40.f $(ID) ; $(FF) -c $(CFLAGS) i40.f -o oba/i40.o
oba/i41.o : i41.f $(ID) ; $(FF) -c $(CFLAGS) i41.f -o oba/i41.o
oba/i42.o : i42.f $(ID) ; $(FF) -c $(CFLAGS) i42.f -o oba/i42.o
oba/i43.o : i43.f $(ID) ; $(FF) -c $(CFLAGS) i43.f -o oba/i43.o
oba/i50.o : i50.f $(ID) ; $(FF) -c $(CFLAGS) i50.f -o oba/i50.o
oba/i60.o : i60.f $(ID) ; $(FF) -c $(CFLAGS) i60.f -o oba/i60.o
oba/i66.o : i66.f $(ID) ; $(FF) -c $(CFLAGS) i66.f -o oba/i66.o
oba/i67.o : i67.f $(ID) ; $(FF) -c $(CFLAGS) i67.f -o oba/i67.o
oba/i70.o : i70.f $(ID) ; $(FF) -c $(CFLAGS) i70.f -o oba/i70.o
oba/i71.o : i71.f $(ID) ; $(FF) -c $(CFLAGS) i71.f -o oba/i71.o
oba/i72.o : i72.f $(ID) ; $(FF) -c $(CFLAGS) i72.f -o oba/i72.o
oba/i73.o : i73.f $(ID) ; $(FF) -c $(CFLAGS) i73.f -o oba/i73.o
oba/i74.o : i74.f $(ID) ; $(FF) -c $(CFLAGS) i74.f -o oba/i74.o
oba/i75.o : i75.f $(ID) ; $(FF) -c $(CFLAGS) i75.f -o oba/i75.o
oba/i76.o : i76.f $(ID) ; $(FF) -c $(CFLAGS) i76.f -o oba/i76.o
oba/i77.o : i77.f $(ID) ; $(FF) -c $(CFLAGS) i77.f -o oba/i77.o
oba/i80_focus.o : i80_focus.f $(ID) ; $(FF) -c $(CFLAGS) i80_focus.f -o oba/i80_focus.o
oba/i81.o : i81.f $(ID) ; $(FF) -c $(CFLAGS) i81.f -o oba/i81.o
oba/i82.o : i81.f $(ID) ; $(FF) -c $(CFLAGS) i81.f -o oba/i82.o
oba/i87.o : i87.f $(ID) ; $(FF) -c $(CFLAGS) i87.f -o oba/i87.o
oba/i95.o : i95.f $(ID) ; $(FF) -c $(CFLAGS) i95.f -o oba/i95.o
oba/i99.o : i99.f $(ID) ; $(FF) -c $(CFLAGS) i99.f -o oba/i99.o
oba/l0x11.o : l0x11.f ; $(FF) -c $(CFLAGS) l0x11.f -o oba/l0x11.o
oba/l1.o : l1.f ; $(FF) -c $(CFLAGS) l1.f -o oba/l1.o
oba/l2.o : l2.f ; $(FF) -c $(CFLAGS) l2.f -o oba/l2.o
oba/l3.o : l3.f $(LD) ; $(FF) -c $(CFLAGS) l3.f -o oba/l3.o
oba/l4.o : l4.f ; $(FF) -c $(CFLAGS) l4.f -o oba/l4.o
oba/l5.o : l5.f ; $(FF) -c $(CFLAGS) l5.f -o oba/l5.o
oba/l6.o : l6.f ; $(FF) -c $(CFLAGS) l6.f -o oba/l6.o
oba/g1.o : g1.f ; $(FF) -c $(CFLAGS) g1.f -o oba/g1.o
oba/g2.o : g2.f g_dim.f ; $(FF) -c $(CFLAGS) g2.f -o oba/g2.o
#remove the following two lines if nexus read in is not used.
oba/napif.o : napif.f napif.inc; /opt/absoft10.2/bin/f77 -m32 -g -f -X -static -c napif.f -o oba/napif.o
#oba/napif.o : napif.f napif.inc; /opt/absoft10.2/bin/f77 -m32 -g -f -B108 -X -static -c napif.f -o oba/napif.o
oba/napi.o : napi.c ; cc -I/usr/include/hdf5/serial -m32 -static -c napi.c -o oba/napi.o
# Makefile for IDA under LINUX:
#
# abbreviations :
#
FF = f77
LL = oba/l1.o oba/l2.o oba/l3.o oba/l4.o oba/l5.o \
oba/l6.o oba/l0x11.o
GG = oba/g1.o oba/g2.o
II = oba/i00.o oba/i01.o oba/i10.o oba/i20.o oba/i23.o oba/i25.o \
oba/i30.o oba/i32.o oba/i40.o oba/i41.o oba/i42.o oba/i43.o \
oba/i50.o oba/i60.o oba/i66.o oba/i67.o \
oba/i70.o oba/i71.o oba/i72.o oba/i73.o oba/i74.o oba/i75.o \
oba/i76.o oba/i80.o oba/i87.o oba/i95.o oba/i99.o \
oba/i77.o oba/i81.o oba/napi.o oba/napif.o
#
LD = l_dim.f
ID = i_dim.f
#
#CFLAGS = -O4 -ffixed-line-length-132 -assume bac -check nounderflow
#CFLAGS = -O4 -132 -dusty -w -save
#CFLAGS = -O0 -g -132 -dusty -w -save
CFLAGL = -O1 -lm -Bstatic
# -g debugging symbols (excl. -O)
# -O optimize
# -A suppress alignment warnings
# -W wide format
# -s all storage static and initialized to zero
# -w suppress warnings
# -f fold symbols to lower case (for compatibility with libnag and libV77)
# -B108 append underscore to symbols (dito)
# missing: no underflow check
CB = -check bounds
# Compiling with libnag.a binary provided by LRZ
CFLAGS = -O -A -W -s -w -f -B108
LNAG = -X -static -L/usr/local/lib -lnag -lm -lfdat
LGET = -L/usr/local/lib -lget
#LNEX is used for the Nexus read in
LNEX = -L/usr/local/lib -L/usr/local/hdf5/lib -L/usr/local/hdf/lib -lNeXus -lhdf5 -lmfhdf -ldf -lz -ljpeg
# -X options to be evaluated by ld
# -Bstatic option for ld to link all libraries statically
# libnag: Nag libraries
# libg2c: G77 routines references by libnag
# libm: math libraries
# libV77.a provides VAX-compatible DATE, IDATE and TIME
#
#
# Compile via C-stage
# gcc -O -c -I/usr/local/lib/NAGWare -Wuninitialized
# link :
#
exa/frida1 : $(II) $(GG) $(LL)
$(FF) -o exa/frida1 $(II) $(GG) $(LL) $(LNAG) $(LGET) $(LNEX)
#
# compile :
#
#i_dim.f : i_dim.alp ; cp i_dim.alp i_dim.f
oba/i00.o : i00.f $(ID) ; $(FF) -c $(CFLAGS) i00.f -o oba/i00.o
oba/i01.o : i01.f $(ID) ; $(FF) -c $(CFLAGS) i01.f -o oba/i01.o
oba/i10.o : i10.f $(ID) ; $(FF) -c $(CFLAGS) i10.f -o oba/i10.o
oba/i20.o : i20.f $(ID) ; $(FF) -c $(CFLAGS) i20.f -o oba/i20.o
oba/i23.o : i23.f $(ID) ; $(FF) -c $(CFLAGS) i23.f -o oba/i23.o
oba/i25.o : i25.f $(ID) ; $(FF) -c $(CFLAGS) i25.f -o oba/i25.o
oba/i30.o : i30.f $(ID) ; $(FF) -c $(CFLAGS) i30.f -o oba/i30.o
oba/i32.o : i32.f $(ID) ; $(FF) -c $(CFLAGS) i32.f -o oba/i32.o
oba/i40.o : i40.f $(ID) ; $(FF) -c $(CFLAGS) i40.f -o oba/i40.o
oba/i41.o : i41.f $(ID) ; $(FF) -c $(CFLAGS) i41.f -o oba/i41.o
oba/i42.o : i42.f $(ID) ; $(FF) -c $(CFLAGS) i42.f -o oba/i42.o
oba/i43.o : i43.f $(ID) ; $(FF) -c $(CFLAGS) i43.f -o oba/i43.o
oba/i50.o : i50.f $(ID) ; $(FF) -c $(CFLAGS) i50.f -o oba/i50.o
oba/i60.o : i60.f $(ID) ; $(FF) -c $(CFLAGS) i60.f -o oba/i60.o
oba/i66.o : i66.f $(ID) ; $(FF) -c $(CFLAGS) i66.f -o oba/i66.o
oba/i67.o : i67.f $(ID) ; $(FF) -c $(CFLAGS) i67.f -o oba/i67.o
oba/i70.o : i70.f $(ID) ; $(FF) -c $(CFLAGS) i70.f -o oba/i70.o
oba/i71.o : i71.f $(ID) ; $(FF) -c $(CFLAGS) i71.f -o oba/i71.o
oba/i72.o : i72.f $(ID) ; $(FF) -c $(CFLAGS) i72.f -o oba/i72.o
oba/i73.o : i73.f $(ID) ; $(FF) -c $(CFLAGS) i73.f -o oba/i73.o
oba/i74.o : i74.f $(ID) ; $(FF) -c $(CFLAGS) i74.f -o oba/i74.o
oba/i75.o : i75.f $(ID) ; $(FF) -c $(CFLAGS) i75.f -o oba/i75.o
oba/i76.o : i76.f $(ID) ; $(FF) -c $(CFLAGS) i76.f -o oba/i76.o
oba/i77.o : i77.f $(ID) ; $(FF) -c $(CFLAGS) i77.f -o oba/i77.o
oba/i80.o : i80.f $(ID) ; $(FF) -c $(CFLAGS) i80.f -o oba/i80.o
oba/i81.o : i81.f $(ID) ; $(FF) -c $(CFLAGS) i81.f -o oba/i81.o
oba/i87.o : i87.f $(ID) ; $(FF) -c $(CFLAGS) i87.f -o oba/i87.o
oba/i95.o : i95.f $(ID) ; $(FF) -c $(CFLAGS) i95.f -o oba/i95.o
oba/i99.o : i99.f $(ID) ; $(FF) -c $(CFLAGS) i99.f -o oba/i99.o
oba/l0x11.o : l0x11.f ; $(FF) -c $(CFLAGS) l0x11.f -o oba/l0x11.o
oba/l1.o : l1.f ; $(FF) -c $(CFLAGS) l1.f -o oba/l1.o
oba/l2.o : l2.f ; $(FF) -c $(CFLAGS) l2.f -o oba/l2.o
oba/l3.o : l3.f $(LD) ; $(FF) -c $(CFLAGS) l3.f -o oba/l3.o
oba/l4.o : l4.f ; $(FF) -c $(CFLAGS) l4.f -o oba/l4.o
oba/l5.o : l5.f ; $(FF) -c $(CFLAGS) l5.f -o oba/l5.o
oba/l6.o : l6.f ; $(FF) -c $(CFLAGS) l6.f -o oba/l6.o
oba/g1.o : g1.f ; $(FF) -c $(CFLAGS) g1.f -o oba/g1.o
oba/g2.o : g2.f g_dim.f ; $(FF) -c $(CFLAGS) g2.f -o oba/g2.o
#remove the following two lines if nexus read in is not used.
oba/napif.o : napif.f napif.inc; f77 -g -f -B108 -X-static -c napif.f -o oba/napif.o
oba/napi.o : napi.c ; cc -c napi.c -o oba/napi.o
# Makefile for IDA under LINUX:
#
# abbreviations :
#
# FF = /amnt/software/packages/i686/absoft10.2/bin/f77
FF = f77
LL = oba/l1.o oba/l2.o oba/l3.o oba/l4.o oba/l5.o \
oba/l6.o oba/l0x11.o
GG = oba/g1.o oba/g2.o
II = oba/i00.o oba/i01.o oba/i10.o oba/i20.o oba/i23.o oba/i25.o \
oba/i30.o oba/i32.o oba/i40.o oba/i41.o oba/i42.o oba/i43.o \
oba/i50.o oba/i60.o oba/i66.o oba/i67.o \
oba/i70.o oba/i71.o oba/i72.o oba/i73.o oba/i74.o oba/i75.o \
oba/i76.o oba/i80.o oba/i87.o oba/i95.o oba/i99.o \
oba/i77.o oba/i83.o oba/napi.o oba/napif.o
#
LD = l_dim.f
ID = i_dim.f
#
#CFLAGS = -O4 -ffixed-line-length-132 -assume bac -check nounderflow
#CFLAGS = -O4 -132 -dusty -w -save
#CFLAGS = -O0 -g -132 -dusty -w -save
CFLAGL = -O1 -lm -Bstatic
# -g debugging symbols (excl. -O)
# -O optimize
# -A suppress alignment warnings
# -W wide format
# -s all storage static and initialized to zero
# -w suppress warnings
# -f fold symbols to lower case (for compatibility with libnag and libV77)
# -B108 append underscore to symbols (dito)
# missing: no underflow check
CB = -check bounds
# Compiling with libnag.a binary provided by LRZ
#CFLAGS = -O -A -W -s -w -f -B108
CFLAGS = -O -W -s -w -m32 -libm
LNAG = -static -m32 -L/usr/local/lib -lnag -lf2c -lm
LGET = -L/usr/local/lib
LNEX = -L/usr/lib/i386-linux-gnu/hdf5/serial/ -lNeXus -lhdf5 -lpthread -lz -lsz -ldl -laec -ljpeg -lmfhdf -ldf
LV77 = -lV77 -lU77 -lNeXus
#LNEX = -L/amnt/software/packages/i686/ida-locallib -lhdf5 -lz -ljpeg -lmfhdf -ldf
#LV77 = -L/amnt/software/packages/i686/absoft10.2/lib -lV77 -lU77 -lNeXus
#LNAG = -static -L/usr/local/lib -lnag -lgfortran -lm
#LNEX is used for the Nexus read in
#LNEX = -L/usr/lib -lhdf5 -lz -ljpeg -L/usr/local/lib -L/usr/local/hdf/lib -lmfhdf -ldf
#LV77 = -L/opt/absoft10.2/lib -lV77 -lU77 -lNeXus
# -X options to be evaluated by ld
# -Bstatic option for ld to link all libraries statically
# libnag: Nag libraries
# libg2c: G77 routines references by libnag
# libm: math libraries
# libV77.a provides VAX-compatible DATE, IDATE and TIME
#
#
# Compile via C-stage
# gcc -O -c -I/usr/local/lib/NAGWare -Wuninitialized
# link :
#
exa/frida1 : $(II) $(GG) $(LL)
$(FF) -o exa/frida1 $(II) $(GG) $(LL) $(LNAG) $(LGET) $(LNEX) $(LV77)
#
# compile :
#
#i_dim.f : i_dim.alp ; cp i_dim.alp i_dim.f
oba/i00.o : i00.f $(ID) ; $(FF) -c $(CFLAGS) i00.f -o oba/i00.o
oba/i01.o : i01.f $(ID) ; $(FF) -c $(CFLAGS) i01.f -o oba/i01.o
oba/i10.o : i10.f $(ID) ; $(FF) -c $(CFLAGS) i10.f -o oba/i10.o
oba/i20.o : i20.f $(ID) ; $(FF) -c $(CFLAGS) i20.f -o oba/i20.o
oba/i23.o : i23.f $(ID) ; $(FF) -c $(CFLAGS) i23.f -o oba/i23.o
oba/i25.o : i25.f $(ID) ; $(FF) -c $(CFLAGS) i25.f -o oba/i25.o
oba/i30.o : i30.f $(ID) ; $(FF) -c $(CFLAGS) i30.f -o oba/i30.o
oba/i32.o : i32.f $(ID) ; $(FF) -c $(CFLAGS) i32.f -o oba/i32.o
oba/i40.o : i40.f $(ID) ; $(FF) -c $(CFLAGS) i40.f -o oba/i40.o
oba/i41.o : i41.f $(ID) ; $(FF) -c $(CFLAGS) i41.f -o oba/i41.o
oba/i42.o : i42.f $(ID) ; $(FF) -c $(CFLAGS) i42.f -o oba/i42.o
oba/i43.o : i43.f $(ID) ; $(FF) -c $(CFLAGS) i43.f -o oba/i43.o
oba/i50.o : i50.f $(ID) ; $(FF) -c $(CFLAGS) i50.f -o oba/i50.o
oba/i60.o : i60.f $(ID) ; $(FF) -c $(CFLAGS) i60.f -o oba/i60.o
oba/i66.o : i66.f $(ID) ; $(FF) -c $(CFLAGS) i66.f -o oba/i66.o
oba/i67.o : i67.f $(ID) ; $(FF) -c $(CFLAGS) i67.f -o oba/i67.o
oba/i70.o : i70.f $(ID) ; $(FF) -c $(CFLAGS) i70.f -o oba/i70.o
oba/i71.o : i71.f $(ID) ; $(FF) -c $(CFLAGS) i71.f -o oba/i71.o
oba/i72.o : i72.f $(ID) ; $(FF) -c $(CFLAGS) i72.f -o oba/i72.o
oba/i73.o : i73.f $(ID) ; $(FF) -c $(CFLAGS) i73.f -o oba/i73.o
oba/i74.o : i74.f $(ID) ; $(FF) -c $(CFLAGS) i74.f -o oba/i74.o
oba/i75.o : i75.f $(ID) ; $(FF) -c $(CFLAGS) i75.f -o oba/i75.o
oba/i76.o : i76.f $(ID) ; $(FF) -c $(CFLAGS) i76.f -o oba/i76.o
oba/i77.o : i77.f $(ID) ; $(FF) -c $(CFLAGS) i77.f -o oba/i77.o
oba/i80.o : i80.f $(ID) ; $(FF) -c $(CFLAGS) i80.f -o oba/i80.o
oba/i81.o : i81.f $(ID) ; $(FF) -c $(CFLAGS) i81.f -o oba/i81.o
oba/i82.o : i82.f $(ID) ; $(FF) -c $(CFLAGS) i82.f -o oba/i82.o
oba/i83.o : i83.f $(ID) ; $(FF) -c $(CFLAGS) i83.f -o oba/i83.o
oba/i87.o : i87.f $(ID) ; $(FF) -c $(CFLAGS) i87.f -o oba/i87.o
oba/i95.o : i95.f $(ID) ; $(FF) -c $(CFLAGS) i95.f -o oba/i95.o
oba/i99.o : i99.f $(ID) ; $(FF) -c $(CFLAGS) i99.f -o oba/i99.o
oba/l0x11.o : l0x11.f ; $(FF) -c $(CFLAGS) l0x11.f -o oba/l0x11.o
oba/l1.o : l1.f ; $(FF) -c $(CFLAGS) l1.f -o oba/l1.o
oba/l2.o : l2.f ; $(FF) -c $(CFLAGS) l2.f -o oba/l2.o
oba/l3.o : l3.f $(LD) ; $(FF) -c $(CFLAGS) l3.f -o oba/l3.o
oba/l4.o : l4.f ; $(FF) -c $(CFLAGS) l4.f -o oba/l4.o
oba/l5.o : l5.f ; $(FF) -c $(CFLAGS) l5.f -o oba/l5.o
oba/l6.o : l6.f ; $(FF) -c $(CFLAGS) l6.f -o oba/l6.o
oba/g1.o : g1.f ; $(FF) -c $(CFLAGS) g1.f -o oba/g1.o
oba/g2.o : g2.f g_dim.f ; $(FF) -c $(CFLAGS) g2.f -o oba/g2.o
#remove the following two lines if nexus read in is not used.
oba/napif.o : napif.f napif.inc; f77 -m32 -g -f -X -static -c napif.f -o oba/napif.o
oba/napi.o : napi.c ; cc -I/usr/include/hdf5/serial -m32 -c napi.c -o oba/napi.o
--------------------------------------------------------------------------
--------------------------------------------------------------------------
FRIDA (fast reliable inelastic data analysis)
<http://frida.sourceforge.net> is a program for generic spectral
analysis, with many specialized routines for inelastic neutron
scattering. The FORTRAN version Frida-1 is an updated version of
Joachim Wuttke's IDA, with contributions from the community. The
maintainer is Florian Kargl <f_kargl@users.sourceforge.net>.
FRIDA is released under the GNU public license.
(C) Joachim Wuttke 1990-2001
(C) Florian Kargl 2006
--------------------------------------------------------------------------
--------------------------------------------------------------------------
==========================================================================
Frida-1-4
==========================================================================
Version July 2007
* several bug fixes
- 1619502 msa problem solved (i41.f bug)
- i60.f and i66.f severe bug for KWW fit.
times tau as shown by fitting routine were a factor e/hbar to large
-> now temporarily fixed by multiplication factor
-> final fix has to be new KWW tables.
- i72.f option for activated for _coq: grid chosen by hand
* Standard dimensions of program changed in i_dim.f
(variable Mmem=14000000) this corresponds to a program
size of approximately 128 MB after compilation which
is especially comfortable for the read in of TOFTOF data.
For other applications a tenth of this size might still be enough.
* some new fit routines in i66.f
==========================================================================
Frida-1-2
==========================================================================
Version November 2006
* Bug fixes for files
* NeXus read in routine for PSI instrument FOCUS implemented and
running --> Nexus installation see comments below
* TOFTOF frameoverlap option significantly speeded up
according to tracker comment of T. Unruh
* output options for postscript files changed to make it
more user friendly.
gp --> gs: short version, old style only postscript with
graph definitions without wups**a.ps header.
gp (new) : append g2.ps to graph. This file is a 'cat' version
of wups**a.ps and g3.ps
ga : postscript file without any definitions
* read in routine for IRIS instrument implemented, for documentation
of current steps see wiki documentation
* date and time function for ps printing works now properly
* ida.su file containing some definitions now contained in the release
==========================================================================
Frida-1-1
==========================================================================
Version in May 2006
* Bug fixes were performed in i66.f
* A new file was implemented i81.f allowing for the moment
to read in MSD Files generated by OpenGenie based on IRIS
data.
In the near future this file will contain the read in
routines for data of the IRIS instrument.
==========================================================================
Frida-1-0
==========================================================================
This is the first release of the program in April 2006.
----------------------
1. General Information
----------------------
The program consists of a number of modules containing subroutines
providing the general program structure and allowing for different
kinds of data treatment.
The source code can be found on <http://sourgeforge.net/projects/frida>
General information regarding the different modules can be found
in "i00.f". Subsequent information is found in the modules themselves.
A more detailed information can be found on <http://frida.sourceforge.net>.
Details on the project status will be posted via the mailing list of the
project on <http://sourceforge.net/projects/frida>.
The README file contains information on persons (2.) involved in
the project and providing different versions of the program
maintained in different locations. These versions have been merged
in this first release.
Details regarding the installation procedure on a Linux platform
are found under (3.).
Known problems arising during the installation are listed in
(4.). Here, a list of not yet fully implemented read in routines
is posted.
(5.) contains information regarding the printout of figures and
their modification.
----------------------
2. Acknowledgments
----------------------
Tobias Unruh (TOFTOF @ FRM-II) provided us with a refined version
of the Ida program existing at the FOCUS spectrometer at PSI.
The original Focus Read In was written by Andreas Meyer (E13, TUM),
and required a NeXus to Ascii converter program. To read in
the HDF/NEXUS data directly a subroutine was written by
Fanni Juranyi (FOCUS @ PSI) that has been modified by T. Unruh.
A commented version of this read in routine is provided in this
program for details see (4.).
M. M. Koza maintained a version of IDA at ILL. For the release
of Frida-1 the latest update of this version become not
available to us. The backscattering read in routines adapted
to new ILL standards will be included in the next release.
There are a number of people working on the code over the past
13 years. Their contribution is acknowledged within the source
code. Details will be attached to a forthcoming version of this
README.
----------------------
3. Installation
----------------------
!! Linux Absoft Compiler !!
*** pre installation instructions ***
* unzip and untar the source code
tar -zxvf frida-1-2.tgz
will unpack the data in a new directory
FRIDA1. Subdirectory for/num/ contains
numerical tables for fitting.
* create subdirectory 'oba'
* create subdirectory 'exa'
* Note: if MSCAT shall be executable
modify Makefile by including 'i94.f'
in compilation procedure. Change i00.f
removing the comment signs at '_mss'.
* If the full mode coupling model shall
be used remove comment signs at '_fmm'
in i00.f.
* If problems arise with the ida.su file
change path definitions in i00.f to
your path.
* In the current release the NEXUS Read in
(RRT_In_Foc in i80.f) is included. To make
the code working the latest Version of NEXUS
and HDF have to be installed on the system.
The napif.inc, the napif.f, the napi.f and the
napi.h of the NEXUS distribution shall be copied
in the source tree of the Frida-1 program. The
Makefile has to be modified accordingly. See
library calls in the Makefile attached to this
release (LIBNAG definition and following lines).
Check for missing libraries on your system.
!!! If you don't want to use the NEXUS file read in
comment the corresponding lines in i80.f and i00.f
similar to the previos release!!!
* For the IRIS read in that is contained in i81.f
the libget routines provided by the Computing
group at ISIS are necessary. The Fortran code
can be downloaded from there website.
* if the NeXus read and the libget routine to
read in ISIS data is used simultaneously
then the libget routines must be modified
prior to compilation:
In io.f the TRUELINE function must be commented.
* The makefile of the libget routines has to
be modified in any case to make it compatible
with the conventions used by absoft compilation.
All subroutines have to be in lowercase letters
and with a underscore at the end.
f77 has to be invoked with -c -f -B108 flag.
*** requirements ***
* libnag.a (NAG FORTRAN 77 library)
* libg2c.a
* libm.a
* for Nexus read in the following additional libraries
are required:
* libNeXus.a
* libhdf5.a
* libhdf.a
* libdf.a
* libz.a
* libjpeg.a
* for IRIS data read in the libget libraries are
necessary
* libget.a standard (if no Nexus read in is used)
* libget.a modified (if Nexus read in is used)
*** installation ***
* type 'make -f Makefile' or simply 'make'
in source directory
* the object files are created in the 'oba' subdirectory
* if the compilation is successful a
executable 'frida1' is created in the
'exa' subdirectory
*** post installation instructions ***
* to invoke Frida-1 a x-terminal or any terminal providing
Tektronix support is mandatory for full graphical capabilities.
Note: In a standard shell only the text base
part is working. No visualization is possible.
* it might be convenient to define the following
alias in the '.bashrc':
alias i="xterm -title 'Frida-1 Linux Version 1.0' -sb -sl 5000
-bg white -fg black -cr chartreuse -fn 13x8 -g 82x27+2+358
-e /home/user/Frida1/exa/frida1 &"
modify path according to where frida1 is located on the
harddisk
!! Linux GNU Compiler !!
* The posted version cannot be compiled with the standard
GNU compiler shipped with standard Linux versions for PC.
A major problem is the string handling and some intrinsics.
The problem was partly solved by Christian Geisler.
However, the program (not this release) has still to be
tested for some minor bugs.
!! SGI workstation !!
* Compilation on a SGI workstation should in principle
be possible. Be aware off using the correct l0sgi.f
instead of l0x11.f in the Makefile.
----------------------
4. Known 'bugs'
----------------------
1. The program dumps if a wrong file number is entered
while reading in DCS (rdcs command) data. Please
be careful on using the correct numbers.
2. The multiphonon correction procedure '_muc' based
on code of R. Reichardt is still in a cryptic
state. The source code may provide you with some
ideas.
----------------------
5. Figure printing
----------------------
We gratefully acknowledge the work of H. P. Schildberg providing
together with Joachim Wuttke a PostScript header file with intriguing
user commands.
The latest modification of the header file 'wups05a.ps' and a
previous version wups97a.ps are attached to this release.
The first file now allows also for correct printing of error
bars in logarithmic y-axis environments.
g3.ps contains basic definitions of the linestyle and
general layout of a file printed from the Frida-1 program
to the harddisk.
A figure shown in the Textronix window can be printed
by typing 'gp <file-name.ps>' at the command line.
If <file-name.ps> is omitted a file 'l#.ps' with '#'
being the smallest not yet existing number is created.
The ps-file contains the file g2.ps, axis definitions
and the data provided by Frida-1 plus the header file.
If you want to use a short version without the header
containing the ps-specific definitions then type
'gs <file-name.ps> in the terminal.
To print or visualize the file the header 'wups05a.ps'
has to be attached by e. g. 'cat wups05a.ps file.ps > ~/P.ps'.
The latter may be defined as alias 'gn' in your .bashrc.
In the g2.ps and g3.ps file there are a number of switches
that allow to modify the ps-file. A figure containing a number of
different possibilities like Greek letters, annotations,
lists for curve descriptions can be obtained upon request.
======
Update May 2006
======
i66.f function nr. 36 has been corrected
was not implemented in previous release
despite being available in the menu.
======
\ No newline at end of file
This diff is collapsed.
0.0000 0.0500 0.0200
0.5000 0.4985 0.0500
1.0000 1.0700 0.0600
1.5000 1.5400 0.0700
2.0000 1.8900 0.0500
2.5000 2.5100 0.1000
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.