Giter VIP home page Giter VIP logo

demon_simulation_code's Introduction

Requirements:

Intel CPU with SSE4.2 or higher support. 
Compiler with C++11 support and C++11 standard library support.
libcfitsio.a Avalible from http://heasarc.gsfc.nasa.gov/fitsio/

Before installing DEMON, be sure you have the cfitsio library installed from
here: http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html

Also make sure you have CMake installed from here:
http://www.cmake.org/

A step by step installation guide for mac and linux devices will be in section 4

Compiling:
    Download and build libcfitsio.a from the above link.

Sections:
    1. Using CMake:
    2. Using xcode:
    3. Multicore Support on Linux:
    4. Step-by-step installation on linux and mac devices
    5. Notes on github
    6. Looking at Data


1. Using CMake:

DEMON requires that the cfitsio library and include paths be set with the
following command.

    cmake -DCFITSIO_INC_PATH=/path/to/include -DCFITSIO_LIB_PATH=/path/to/lib

extra build flags maybe included by setting

    cmake -DCMAKE_CXX_FLAGS="flags"

A optimized build maybe specifed by

    cmake -DCMAKE_BUILD_TYPE=Release

Cmake will generate a make file. The built executable can be found in 

    build/bin


2. Using xcode:

In the xcode project, click on the Simulation project. In the "Build
Settings" Tab, under the "Search Paths" section add the path to the cfitsio 
header files and libcfitsio headers. Under the linking tab check to make sure 
"Other Linking Flags" is set to -lcfitsio.


3. Multicore Support on Linux:

For parallel processing support on linux, use the -fopenmp flag,

    cmake -DCMAKE_CXX_FLAGS="-fopenmp"


4. Step-by-step installation on linux and mac devices

Install cfitsio, if you use your distribution's software repository,
be sure to keep track of where the library and include paths are located.
Otherwise do the following:

    mkdir builds
    cd builds
    wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3360.tar.gz
    tar xvzf cfitsio3360.tar.gz
    cd cfitsio
    ./configure
    make
    cd ..

The FFTAnalysis code requires fftw3 to be installed. This can be done
with the package manager, or it can be done through the command line
as follows:
    wget http://www.fftw.org/fftw-3.3.4.tar.gz
    tar xvzf fftw-3.3.4.tar.gz
    cd fftw-3.3.4
    ./configure
    make
    make install

Now, make sure that cmake is installed correctly. More than likely,
you can do this with your package manager, but if you insist on doing this
through the command line, do the following:

    wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
    tar xvzf cmake-2.8.12.2.tar.gz
    cd cmake-2.8.12.2
    ./bootstrap
    make
    make install

Now we can start to work with DEMON. If you want to use git, please use:

    git clone [email protected]:leios/demonsimulationcode.git 
    cmake -DCFITSIO_INC_PATH=../cfitsio -DCFITSIO_LIB_PATH=../lib
    make


Now DEMON should be on your system, with the executable in the following
directory: ~builds/demonsimulationcode-read-only/build/bin/ . Now we just need
to make this directory callable in any directory on your system. 
Do the following:

    pwd

Now place a path to that directory in your bashrc file. On Linux:

    echo export PATH=$PATH:/home/USER/builds/demonsimulationcode-read-only/build/bin >> ~/.bashrc 

On Mac:

    echo export PATH=$PATH:/home/USER/builds/demonsimulationcode-read-only/build/bin >> ~/.PROFILE

And there you have it, a full copy of DEMON on your machine!


5. Notes on github

DEMON is now available on github and can be modified with both svn and git.


6. Looking at Data

DEMON data will be stored in a fits file. Please use additional software, such 
as astropy.io to use this data. An example of how to use astropy.io can be found
in the example directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.