Compile from source
No pre-compiled version of schiff is provided;
it must be compiled directly from its source tree.
A simple way is to rely on
star-build, which automates
the build and installation of schiff and its dependencies from source
code.
Prerequisites
To build schiff with star-build, first make sure your system has the
following prerequisites:
- POSIX shell
- POSIX make
- curl
- git
- mandoc
- pkg-config
- sha512sum
- GNU Compiler Collection in version 8.3 or higher
- GNU Scientific Library and headers in version 2.4 or higher
- LibYAML and headers in version 0.1 or higher
Build
Assuming that the aforementioned prerequisites are available, the build procedure is summed up to:
git clone git://git.meso-star.com/star-build.git
cd star-build
make \
PREFIX=~/schiff_0.5 \
BUILD=src/rad-apps/schiff_0.5.sh
With PREFIX defining the path where schiff will be installed and
BUILD defining the installation script to be run.
Run
Evaluate the installed profile file in the current shell to register
schiff against it.
You can then run schiff and consult its manual pages:
. ~/schiff_0.5/etc/profile
schiff -h
man schiff
man schiff-geometry
man schiff-output
Post-Process
The following Bash script illustrates how to post-process the Schiff results. It is an example, provided as is. According to your needs, you can study, modify, extend or redistribute it freely :
- Download the pretty result script
This script reads an output file generated by the schiff command line
and split its raw ASCII results in several human readable text files in
order to simplify their analysis.
schiff -i geom.yaml -l 2.3 -w0.5:0.6 -o output properties
url="https://www.meso-star.com/schiff/downloads"
curl -f -O "${url}/schiff_pretty_results.sh"
bash ./schiff_pretty_results.sh output
Write xsections.txt
Write descs.txt
Write func_0.5.txt
Write func_0.6.txt
Write cumul_0.5.txt
Write cumul_0.6.txt
Write invcumul_0.5.txt
Write invcumul_0.6.txt
The first generated file, named xsections.txt, lists for each
wavelength submitted with the -w option, its associated
absorption, extinction and scattering cross sections. The second file,
descs.txt, gives overall informations for each simulated
wavelengths, like the limit scattering angles from which its phase function was
analytically computed.
Then for each wavelength, the script generates 3 files named
func_<WLEN>.txt, cumul_<WLEN>.txt, and invcumul_<WLEN>.txt that
store for the wavelength <WLEN>, the value of its associated phase
function as well as its cumulative and its inverse cumulative,
respectively.