hammurabi README

(current version X.01)

hammurabi is a HEALPix-based tool for simulating observables, such as polarized synchrotron and thermal dust emission, from models of physical inputs such as magnetic fields, dust and electron distributions, etc.

It is a modular C++ framework into which you can add your own models easily, and then use it to perform the line-of-sight integration to compute the observables. Please cite the original Waelkens et al. (2009) paper if you use hammurabi.

Original hammurabi can be found here.

about X.01 release

Currently we are in TESTING release, with only minimal amount of features available. Not all modelings have been thoroughly cross-checked with original hammurabi! A full release of version X is scheduled in 2018.

X.01 provides simulation of:

  • polarized synchrotron emission
  • Faraday depth
  • dispersion measure

with support from following packages:

with major improvements:

  • in c++11 std
  • XML style parameter file
  • parameters, memory, and I/O handled collectively
  • apply Simpson's rule in integration
  • YMW16 regular free-electron field
  • divergence-free (an)isotropic turbulent magnetic field generators
  • turbulent free-electron field generators

with package dependencies:


$ cd [package root]
$ make -f install/[makefile]


$ cd [package root]
$ make documentation -f install/[makefile]


$ cd bin/
$ ./hamx [paramfile]

remarks: we suggest users to compile without -DNDEBUG to verify pipeline, while run the code with -DNDEBUG to save computing time.


bug reports and code contributions are warmly welcomed, feel free to contact Jiaxin Wang, Tess Jaffe, and Torsten Ensslin