This HTML automatically generated with rman for NEMO
Table of Contents
orboom - Transform an orbit and ODM into ’BOOM’ HDF
orboom [parameter=value]
This program is under development for the BOOM project. It will
take some combination input of a simulation (series of snapshots), orbit(s)
and ODM’s [all to be determined] and turn them into a BOOM hdf for further
analysis outside of NEMO.
For the ODM (Orbit Density Map) some gridding
parameters are needed to represent a simple cube, so we only need number
of pixels and box size.
The following parameters are recognized
in any order if the keyword is also given:
- in=snapshot
- Input series of
snapshot from a simulation. In snapshot(1NEMO)
format. No default.
- out=
- Output
BOOM file. Currently NEMO BOOM (see hdf= below) format. No default.
- ndim=2|3
- 2 or 3 dimensional. Not implemented. [3]
- mode=0|1|2|3
- 1,2,3 are for testing.
use 0 for proper output. This option will also likely disappear at version
1.0 [0]
- size=
- Half the size of the ODM box, meaning the X, Y and Z coordinates
of the orbit are gridded from -size:size. This also implies we only compute
square cubes [2].
- npix=
- Number of pixels along the X, Y or Z axes. Same number
pixels in all dimensions. [32]
- times=t0:t1,t2:t3,...
- What times to select for
output. which is of the form, eg, "1.0:1.5,2.5,3.0". Currently all. The maximum
number is determined by nsteps=.
- nsteps=
- Allocate space how many snapshots
(orbit steps) we need. No options for scanning yet.
- ibody=
- If set, only this
body will be output. This could be useful for debugging.
- odm=t|f
- Output ODM?
- hdf=t|f
- Output file format in HDF ? If not, NEMO format will be used. Currently
only NEMO format is supported. [f]
The current version just writes
NEMO Orbit/Image file. To extract a certain orbit or image, here is an
example
# create a BOOM file
mkplummer p100 100 seed=100
gyrfalcON p100 p100.out step=0.1 tstop=10 eps=0.025 kmax=8 give=mxvap
orboom p100.out p100.boom
# look at an orbit, an ODM, and a projected ODM along the Z axis
csf p100.boom - Orbit 11 | orbplot -
csf p100.boom - Image 11 | ccdfits - p100_10.fits
csf p100.boom - Image 11 | ccdmom - - | ccdfits - p100_10_mom0.fits
Of course there two other ways to select that same orbit (11th one in this
example) from a simulation, but both methods need a patch for more efficiency:
stoo p100.out - ibody=10 | tsf -
snapcopy p100.out - select=i==10 ibody=10 | snapmerge - - | snapplot -
The latter one is useful to view a 3D orbit with snapplot3(1NEMO)
or glnemo2(1NEMO)
boom(5NEMO)
, h5dump(1)
, orbint(1NEMO)
, stoo(1NEMO)
, orbsos(1NEMO)
,
snapgrid(1NEMO)
src/orbit/misc - source code
Although orboom compiles via the Makefile (and mknemo), this
is the first program in NEMO that combines all three major objects: SnapShot,
Orbit and Image, as well as links with a 3rd party library (hdf5). Linking
with hdf5 may require some configure tricks, or simply editing $NEMOLIB/makedefs.
Here are some sample commands to help you with this:
pkg-config --libs hdf5
h5cc -showconfig
dpkg --list | grep hdf5 (debian/ubuntu)
dpkg -L libhdf5-dev (debian/ubuntu)
rpm -qa | grep hdf5 (redhat/centos)
rpm -ql hdf5-devel (redhat/centos)
orboom is an example of a program that does a transpose of
a matrix, which in some parts of the parameter space can cause issues. Essentially
it does
SNAP(Na,Np,Nt) -> BOOM(Na,Nt,Np)
with of order
Na = 11
Np = 10,000
Nt = 10,000
which at 8 bytes per real means about 8GB. We have a benchmark to time just
this operation, for which the example command will be written down here
at some point. There is also the I/O component.
Peter Teuben
26-dec-2019 V0.2 Created PJT
2-jan-2020 V0.7 Added nsteps= and odm= PJT
Table of Contents