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.
- in=in-file
- 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]
- out=out-file
- output file, will be in
orbit(5NEMO)
format [no default]
- ibody=number
- 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].
- nsteps=number
- 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.
snapshot(5NEMO)
, orbit(5NEMO)
, orblist(1NEMO)
, otos(1NEMO)
,
orboom(1NEMO)
Peter Teuben
~/src/orbit/misc stoo.c
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