This HTML automatically generated with rman for NEMO
Table of Contents


stoo - convert snapshot to orbit


stoo in=snapshot out=orbit [parameter=value]


stoo selects one or more bodies from a snapshot file and converts it to orbit format. Orbits are stored sequentially, the Key field in the snapshot is used to identify the particle making this orbit. If no Key field is present, the first body has key 0.


The following parameters are recognized in order; they may be given in any order if the keyword is also given. Use --help to confirm this man page is up to date.
input file, in snapshot(5NEMO) format. If in a pipe, the number of snapshots to be converted to orbits needs to be given via nsteps=, see below. [no default]
output file, will be in orbit(5NEMO) format [no default]
ranking number of the star in the snapshot file, normally the Key field. Multiple stars can be selected here, e.g. 0:1000:10 in the usual nemoinp(3NEMO) notation. However, all orbits need to be allocated in memory. Use a negative number to process all bodies. [default: -1].
number of timesteps to be allocated. Use 0 to allow the program to scan the input snapshot. However, if the input is from a pipe, nsteps needs to be given the (maximum) number of steps allowed.

[default: 0].


Here is an example of producing a large snapshot, in single precision, with gyrfalcon(1NEMO) . Since currently stoo(1NEMO) cannot read such single precision Positon/Velocity yet, they need to be converted via snapcopy(1NEMO) . Some timings are given. The input snapshot is 430MB, the output snapshot and orbit file are 860MB.
   mkplummer p10k 10000
   gyrfalcON p10k p10k.out tstop=100 step=0.1 kmax=8 eps=0.1 give=mxvap > p10k.log
   /usr/bin/time snapcopy p10k.out tmp.out
   2.52user 0.48system 0:03.02elapsed 99%CPU
   /usr/bin/time stoo tmp.out tmp.orb -1
   1.60user 1.04system 0:02.65elapsed 99%CPU
   /usr/bin/time orbstat tmp.orb > tmp.orb.log
   0.49user 0.23system 0:00.73elapsed 99%CPU

Data-wide this "Particle-Attribute-Time" dataset is 10000 x 11 x 1000 in this case, but at various stages dimensions are shuffled around rather haphazardly, and does not scale well for large numbers of particles and/or times.

See Also

snapshot(5NEMO) , orbit(5NEMO) , orblist(1NEMO) , otos(1NEMO) , orboom(1NEMO)


Peter Teuben


~/src/orbit/misc       stoo.c

Update History

27-jul-87    V1.0 created    PJT
8-jun-88    V2.1 new filestruct    PJT
23-jun-91    V2.4 fixed bugs, upgraded doc for NEMO2     PJT
24-jul-2013    V3.0 added support for multiple orbits and use Key    PJT
11-nov-2015    V3.1 efficient version without rewinding file    PJT
6-feb-2022    V3.3 process all particles by default, init I1    PJT

Table of Contents