
          Welcome to MARBLE

** Install on K Computer 

cd src
ln -s Makefile.machine.K Makefile.machine
make
make install

Executable files (marble.x.x.x_K and molx.x.x.x_K) will be created in
bin directory.  x.x.x is version numbers.

These files can be executed only in compute nodes. Execute them using
the job submiting system in K Computer. Interactive jobs may be useful
for execution of molx.


** Install on FX10 

cd src
ln -s Makefile.machine.FX10 Makefile.machine
module load fftw   (if fftw is available in 'module' command) 
make
make install

In FX10 of the University of Tokyo, fftw is available after "module
load fftw".  If fftw is not available in 'module' command, modify fftw
directories in Makefile.machine.FX10.

After "make install", executable files (marble.x.x.x_FX10 and
molx.x.x.x_FX10) will be created in bin directory.  x.x.x is version
numbers.

These files can be executed only in compute nodes. Execute them using
the job submiting system in FX10. Interactive jobs may be useful for
execution of molx.


** Install on Cray XE6

cd src
ln -s Makefile.machine.cray Makefile.machine
module load PrgEnv-cray
module load fftw
make
make install


Executable files (marble.x.x.x-cray and molx.x.x.x-cray) will be created in
bin directory.  x.x.x is version numbers.

marble.x.x.x-cray can be executed only in compute nodes. 
molx.x.x.x-cray can be executed in login nodes.


** Install on other computers

MARBLE is written using the standard C language, OpenMP, MPI, and
FFTW3. It may be possible to run MARBLE on most parallel
computers. However, we have only checked K computer, FX10, and Cray
XE6. Try to install by referencing the following intructions.

1. Install FFTW3

Download FFTW 3.x from http://www.fftw.org/ and install it.

2. Modify Makefile.machine file

Copy Makefile.machine.x (x=intel, gnu) to Makefile.machine and modify it for your system.

----- Makefile.machine ------
#
#  Makefile Setting for icc + openmpi
#

# for parallel programs
PCC		= mpicc                # c compiler for mpi programs
PCOPTFLAG	= -std=gnu99 -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE  # optimize options
PCOMPFLAG	= -openmp -D_OPENMP    # openmp options
PLD		= mpicc                # linker for mpi programs
PLIBFLAG	=                      # flags for linked libraries  (e.g., -lm)
PARCH		= -intel               # suffix for your system

# for serial programs
CC		= icc                  # c compiler for serial programs
COPTFLAG	= $(PCOPTFLAG)         # optimize options
LD		= icc                  # linker for serial programs
LDFLAG		=                      # linker flags for serial programs  
LIBFLAG		=                      # flags for linked libraries  (e.g., -lm)
LIBDIR		=                      # flags for directories of linked libraries
ARCH		= $(PARCH)             # suffix for your system

MARBLEHOME	= ../..
BINDIR		= $(MARBLEHOME)/bin    # install directory for binaries
DATDIR		= $(MARBLEHOME)/data   # install directory for data

# for FFTW
FFTW_DIR	= /home/xxx/pub/fftw-3.3.2-install   # FFTW install directory
FFTW_INCLUDE    = $(FFTW_DIR)/include                # FFTW header directory
FFTW_LIBDIR     = $(FFTW_DIR)/lib                    # FFTW library directory
FFTW_LIB        = $(FFTW_LIBDIR)/libfftw3.a          # FFTW libraries

3. make & make install

make
make install





