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:
Input series of snapshot from a simulation. In snapshot(1NEMO) format. No default.
Output BOOM file. Currently NEMO BOOM (see hdf= below) format. No default.
2 or 3 dimensional. Not implemented. [3]
1,2,3 are for testing. use 0 for proper output. This option will also likely disappear at version 1.0 [0]
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].
Number of pixels along the X, Y or Z axes. Same number pixels in all dimensions. [32]
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=.
Allocate space how many snapshots (orbit steps) we need. No options for scanning yet.
If set, only this body will be output. This could be useful for debugging.
Output ODM?
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)

See Also

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)

Memory Usage

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

Update History

26-dec-2019    V0.2 Created    PJT
2-jan-2020    V0.7 Added nsteps= and odm= PJT

Table of Contents