| SCHIFF-OUTPUT(5) | File Formats Manual | SCHIFF-OUTPUT(5) |
NAME
schiff-output —
schiff's results format
DESCRIPTION
The output result of the schiff(1) program is a collection of ASCII floating point data. Each set of floating point values are separated by an empty line.
| ⟨schiff-output⟩ | ::= | ⟨cross-sections⟩ |
| EMPTY-LINE | ||
| ⟨phase-func-desc⟩ | ||
| EMPTY-LINE | ||
| ⟨phase-func-list⟩ | ||
| EMPTY-LINE | ||
| ⟨cumul-phase-func-list⟩ | ||
| EMPTY-LINE | ||
| ⟨invcumul-phase-func-list⟩ | ||
| EMPTY-LINE |
Cross sections
The first set is a list of per wavelength cross-sections. Each
line stores the estimated cross-section for a wavelength submitted by the
-w option of
schiff(1).
Its grammar is as follows:
| ⟨cross-sections⟩ | ::= | ⟨wavelength⟩ ⟨extinction⟩ \ |
| ⟨absorption⟩ ⟨scattering⟩ ⟨area⟩ | ||
| ... | ||
| ⟨extinction⟩ | ::= | ⟨estimation⟩ |
| ⟨absorption⟩ | ::= | ⟨estimation⟩ |
| ⟨scattering⟩ | ::= | ⟨estimation⟩ |
| ⟨area⟩ | ::= | ⟨estimation⟩ |
| ⟨estimation⟩ | ::= | ⟨mean-value⟩ ⟨standard-error⟩ |
| ⟨wavelength⟩ | ::= | real |
| ⟨mean-value⟩ | ::= | real |
| ⟨standard-error⟩ | ::= | real |
A line is a set of 9 reals: a
‘wavelength’ in vacuum (in microns),
followed by the estimations (i.e., the mean values and standard errors) of
the ‘extinction’,
‘absorption’ and
‘scattering’ cross-sections in square
microns per particle, and finally the estimation of the projected
‘area’ of the soft particles, also in
square microns per particle.
Phase function descriptor
Following the list of cross-sections comes the list of phase function descriptors. Each descriptor is a line that gives informations on the [[inverse-]cumulative] phase functions.
Its grammar is as follows:
| ⟨phase-funcs-desc⟩ | ::= | ⟨wavelength⟩ ⟨theta⟩ \ |
| ⟨pf(theta)⟩ ⟨cdf(theta)⟩ \ | ||
| ⟨n⟩ ⟨nangles⟩ ⟨nangles-inv⟩ | ||
| ... | ||
| ⟨pf(theta)⟩ | ::= | ⟨estimation⟩ |
| ⟨cdf(theta)⟩ | ::= | ⟨estimation⟩ |
The first value of a descriptor is the wavelength in vacuum (in
microns) of the inverse cumulative phase function. It is followed by
‘theta’ that is the scattering angle
in radians from which the phase function was analytically computed. Then
come the estimation of the differential cross-section
‘pf(theta)’ and its cumulative
‘cdf(theta)’ at the angle
‘theta’.
‘n’ is the parameter of the model used
to analytically evaluate the phase function for large scattering angles
(i.e. angles greater than ‘theta’).
The last 2 values, ‘nangles’ and
‘nangles-inv’, are integers that
correspond to the number of scattering angles (option
-a of
schiff(1)) and the number of
inverse cumulative phase function values (option -A
of
schiff(1)).
List of phase functions
The list of phase functions contains as many phase functions as
there are wavelengths associated with the result (option
-w of
schiff(1)). They are sorted
in ascending order by their associated wavelengths. The phase functions are
separated from one another by a blank line.
| ⟨phase-func-list⟩ | ::= | ⟨phase-func⟩ |
| [ EMPTY-LINE | ||
| ⟨phase-func⟩ ] ... |
A phase function is a list of lines starting with a scattering
angle in radians, followed by an estimate of the phase function's value -
that is, its mean value and standard error. The number of scattering angles,
and thus the number of lines describing the phase function, is controlled by
the -a option of
schiff(1).
| ⟨phase-func⟩ | ::= | ⟨angle⟩ ⟨estimation⟩ |
| ... | ||
| ⟨angle⟩ | ::= | real # In [0,PI] |
List of cumulative phase functions
The list of cumulative phase functions is formatted in the same
way as the list of phase functions, that is, it contains as many functions
as there are wavelengths associated with the result (option
-w of
schiff(1)), sorted in
ascending order of wavelength, and separated by a blank line.
| ⟨cumul-phase-func-list⟩ | ::= | ⟨cumul-phase-func⟩ |
| [ EMPTY-LINE | ||
| ⟨cumul-phase-func⟩ ] ... |
Similarly, a cumulative phase function follows the same data
structure as a phase function, namely as many lines as there are scattering
angles (see the -a option of
schiff(1)), where each line
begins with the value of the scattering angle in radians followed by the
estimate of the cumulative phase function, namely its mean value and
standard error.
| ⟨cumul-phase-func⟩ | ::= | ⟨angle⟩ ⟨estimation⟩ |
| ... |
List of inverse cumulative phase function
The last data set consists of a list of inverse cumulative phase
functions which, like the previous function lists, contains as many entries
as there are wavelengths used in the calculation (option
-w of
schiff(1)). The functions in
this list are sorted in ascending order of these wavelengths, and separated
by a blank line.
| ⟨invcumul-phase-func-list⟩ | ::= | ⟨invcumul-phase-func⟩ |
| [ EMPTY-LINE | ||
| ⟨invcumul-phase-func⟩ ] ... |
Each function corresponds to a list of lines, the number of which
equals the number of scattering angles used to discretize the function
(option -A in
schiff(1)). Each line of an
inverse cumulative phase function contains two values: the scattering angle
in radians (in [0,PI]) and its probability, which is equal to i/(N-1) for
the i^th angle (i in [0,N-1]), where N is the number of angles used to
discretize the function.
| ⟨invcumul-phase-func⟩ | ::= | ⟨angle⟩ ⟨proba⟩ |
| ... | ||
| ⟨proba⟩ | ::= | real # In [0,1] |
EXAMPLES
The following output is emitted by the schiff(1) program invoked on the wavelengths 0.3 and 0.6 micron. Note that actually, schiff(1) does not write comments, i.e. text preceeded by the hash character (#). The comments here are intended to help in the understanding of the data structure.
| 0.3 10.61 0.20 9.51e-3 2.37e-4 10.6 0.20 5.25 0.10 # X-sections |
| 0.6 11.15 0.25 4.76e-3 1.19e-4 11.1 0.25 5.25 0.10 # X-sections |
| 0.3 0.18 1.37 17.6 7.74 0.73 0.80 1000 2000 # Descriptor |
| 0.6 0.26 9.81 5.26 7.65 0.48 2.90 1000 2000 # Descriptor |
| 0 520.23 64.2971 # Phase function (0.3 micron) |
| 0.00314474 474.315 50.6471 |
| ... |
| 3.13845 0.0196258 0 |
| 3.14159 0.0196259 0 |
| 0 150.183 25.4822 # Phase function (0.6 micron) |
| 0.00314474 145.969 23.7955 |
| ... |
| 3.13845 0.00262338 0 |
| 3.14159 0.00262338 0 |
| 0 0 0 # Cumulative (0.3 micron) |
| 0.00314474 0.0154297 0.00177366 |
| ... |
| 3.13845 0.999999 0 |
| 3.14159 1 0 |
| 0 0 0 # Cumulative (0.6 micron) |
| 0.00314474 0.00460001 0.000765182 |
| ... |
| 3.13845 1 0 |
| 3.14159 1 0 |
| 0 0 # Inverse cumulative (0.3 micron) |
| 0.00050025 0.000101956 |
| ... |
| 0.9995 3.05143 |
| 1 3.14159 |
| 0 0 # Inverse cumulative (0.6 micron) |
| 0.00050025 0.00034199 |
| ... |
| 0.9995 2.89409 |
| 1 3.14159 |
SEE ALSO
HISTORY
schiff-output has been developed as part
of ANR-11-IDEX-0002-02 ALGUE project.
| May 18, 2026 | UNIX |