Giter VIP home page Giter VIP logo

openarray's Introduction

OpenArray V1.0.0

OpenArray is a simple operator library for the decoupling of ocean modelling and parallel computing. The library is promoted as a development tool for the future numerical models to make complex parallel programming transparent. For more details, please refer to our paper (https://www.geosci-model-dev-discuss.net/gmd-2019-28/).

OpenArray Installation Guide

  1. Getting Started
  2. Alternate Configure Options
  3. Testing the OpenArray installation
  4. Reporting Installation or Usage Problems

1. Getting Started

The following instructions take you through a sequence of steps to get the default configuration of OpenArray up and running. Important note: Please use the same set of compilers to build PnetCDF and OpenArray.

(a) You will need the following prerequisites.

    * The gcc/g++/gfortran compiler, version 4.9.0 or later

    * An MPI C/C++/Fortran compiler, there are three options:
      1) mpich 3.2.1 or later; 2) openmpi v3.0.0 or later; 3) Parallel Studio XE 2017 or later

    * Parallel netCDF version 1.11.2 (http://cucis.ece.northwestern.edu/projects/PnetCDF/)

    * Some basic development tools, including gzip, uzip, make, m4. 
      These are usually part of your operating system's development tools.

(b) Specify the MPI compiler. For MPICH and Openmpi:

  export MPICC=mpicc  
  export MPICXX=mpicxx  
  export MPIF90=mpif90  
  export MPIF77=mpif77  

For Intel compiler and Intel MPI library:

  export MPICC=mpiicc  
  export MPICXX=mpiicpc  
  export MPIF90=mpiifort  
  export MPIF77=mpiifort  

(c) Install Parallel netCDF. The default installation directory of PnetCDF is ${HOME}/install:

  cd
  wget http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/pnetcdf-1.11.2.tar.gz
  tar xf pnetcdf-1.11.2.tar.gz
  cd pnetcdf-1.11.2
  ./configure --prefix=${HOME}/install  
  make 
  make install 

(d) Install OpenArray. The default installation directory of OpenArray is ${HOME}/install:

  wget https://github.com/hxmhuang/OpenArray/archive/master.zip
  unzip master.zip
  cd OpenArray-master
  ./configure --prefix=${HOME}/install  PNETCDF_DIR=${HOME}/install   
  make (make -j8 for parallel make)
  make install
  ./manual_main

This executable program manual_main is a demo written based on OpenArray. If you have completed all of the above steps, you have successfully installed OpenArray.

2. Alternate Configure Options

OpenArray has a number of configure features. A complete list of configuration options can be found using:

./configure --help

Here lists a few important options:

 --prefix=PREFIX      install OpenArray files in PREFIX [/usr/local]
 --with-mpi=/path/to/implementation
                      The installation prefix path for MPI implementation.
Some influential environment variables:
 MPICC       MPI C compiler, [default: CC]
 MPICXX      MPI C++ compiler, [default: CXX]
 MPIF77      MPI Fortran 77 compiler, [default: F77]
 MPIF90      MPI Fortran 90 compiler, [default: FC]
 CC          C compiler command
 CFLAGS      C compiler flags
 LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
             nonstandard directory <lib dir>
 LIBS        libraries to pass to the linker, e.g. -l<library>
 CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
 CXX         C++ compiler command
 CXXFLAGS    C++ compiler flags
 FC          Fortran compiler command
 FCFLAGS     Fortran compiler flags
 PNETCDF_DIR Specify the pnetCdf lib installition root directory which
             contains the include and lib subdirectory, for example
             /path/to/pnetcdf_dir/
 CPP         C preprocessor

3. Testing the OpenArray installation

For testing OpenArray, the command is:

 make test

4. Reporting Installation or Usage Problems

Please report the problems on our github: https://github.com/hxmhuang/OpenArray/issues

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.