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.net/12/4729/2019/gmd-12-4729-2019.html).

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

openarray's People

Contributors

gwind avatar shaoboyang0321 avatar siofive avatar sxzhang2009 avatar wangdong1991 avatar wy0917 avatar xinghuang2050 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openarray's Issues

A problem needs to be solved during installation

Many .mod files are generated during compilation of OpenArray. All the .mod files need to be copied to include folder during the make install procedure. Otherwise, the users will fail to compile their model programs with error "Error in opening the compiled module file.".
This problem occurs in all operating systems and MPI environments.

OpenArray still depends on automake

I created a clean docker container (openSUSE Leap 15.1 x86_64, bash), then followed the instructions in https://github.com/hxmhuang/OpenArray_Dev/blob/master/docs/zh/build_from_scratch/opensuse-mpich.md, except installing automake. When I compiled OpenArray:

PNETCDF_DIR=${HOME}/install ./configure --prefix=${HOME}/install 

It appeard an error:

3b29fdf409f8:/OpenArray # make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /OpenArray/missing aclocal-1.15
/OpenArray/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [Makefile:542: aclocal.m4] Error 127

Yes, we want to remove the denpendency of OpenArray on automake.

负号问题

qfluz = DZF(quz)*(-1.d0) 计算表达式最好不要以负号开头,容易引发算子库的不稳定和bug;今天反复测试,qfluz每次计算错误,且每次结果可能会不一致;

make install 更正

make install 时,需要把所有的.mod 文件都拷贝到include文件夹中。

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.