/psuade

Problem Solving environment for Uncertainty Analysis and Design Exploration

Primary LanguageC++OtherNOASSERTION

*****************************************************************************
Copyright (c) 2007   Lawrence Livermore National Security, LLC.
Produced at the Lawrence Livermore National Laboratory.
Written by the PSUADE team.
All rights reserved.

Please see the LICENCE file for the copyright notice, disclaimer, 
contact information and the GNU Lesser General Public License.

PSUADE is free software; you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License (as published by the Free 
Software Foundation) version 2.1 dated February 1999.

PSUADE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

The PSUADE distribution contains libraries which are available
separately under compatible licensing terms.  In particular, MARS and
BOSE, if used, are available under the StatLib licensing agreement.  A copy of
this license is included in the "LICENSE_MARS" and "LICENSE_BOSE" files
in the External/MARS and External/Bose directories, respectively, and 
is also available online from http://lib.stat.cmu.edu/graphmod/submissions.

*****************************************************************************

*****************************************************************************
Author:      Charles Tong
Affiliation: Lawerence Livermore National Laboratory
             Center for Applied Scientific Computing
Date:        2013
*****************************************************************************

*****************************************************************************
*****************************************************************************
*** Quick Installation Guide 
-----------------------------------------------------------------------------
For problems with installation, contact

Charles Tong at tong10@llnl.gov, or
James Leek at leek2@llnl.gov
*****************************************************************************
*****************************************************************************

Below are 3 sections on building and installing PSUADE.  Each section is for
a different Operating System.  1. Linux, 2. Windows, 3. MaxOSX

-----------------------------------------------------------------------------
1. Linux:

A. To install the PSUADE package, you need to make sure you have cmake on your
   system.  (cmake is open source software availible at www.cmake.org) 
   cmake should also have installed an easier interface program called
   ccmake, but that isn't required.  If you do not have ccmake, you will need to
   turn on some of the packages manually. 

   You will also need gcc, g++, and gfortran of version 4.4 or greater.
   icc 10 or higher will also work.

   Follow the steps below:

   1. mkdir build
   2. cd build
   3  if you have a preferred Fortran compiler, you should now set the environment
      variable FC to it (use setenv in c-shell or export in other shells)
   4. ccmake ..
      hit 'c'

      BUILD_SHARED, MARS, BOBYQA, and METIS should have been selected 
      (for additional packages, contact us).

      If you would like to install psuade at a designated location accessible to
      other users, set the installation directory.

      hit 'c'
      hit 'c' again until you are able to hit 'g'.
      hit 'g' to generate an exit
      
      If you do not have ccmake, :
      cmake ..
      and then open the CMakeCache.txt file and make sure the packages
      MARS (set to on from off), BOBYQA, and METIS are turned on. 

   5. now do a "make" or "make install" if you desire to install it somewhere
   
B. After all compilation is done successfully, the executable "psuade"
   can be found in the bin directory and the libraries will be in 
   the lib directory. 

C. You can run a simple test by going to the 
   <toplevel>/Examples/Bungee directory and issuing:
       cc -o simulator simulator.c -lm
       ../../build/bin/psuade psuade.in
   Afterward, you should see a file called 'psuadeData'.

D. You can also run the built in tests my running 'make test' from the 
   build directory.  WARNINGS:  
   1. This will take a long time.  At least 20 minutes
   2. Some tests are expected to fail if you aren't running on LLNL LC
      cluster.  PSUADE is very sensitive to the processor it's running on
      and the numeric results will be off on different processors and 
      environment variables.  As long as a few tests pass you're probably OK.

E. You can install PSUADE by running 'make install'

F. You can build a package for other people to install by running 'make package'

G. Now read the short manual in the Doc/Manual directory and follow the 
   instructions to get a simple application running within minutes.

-----------------------------------------------------------------------------

2. Windows

   Requires Cmake and mingw (preferably including gfortran).  If you want to build 
   an installable package you will need NSIS.

A. Make sure you have cmake >= 2.8 installed on your system.  Then start the 
   cmake-gui.  
   Select you PSUADE source tree, and where you want it to build.
   Click configure.
   Select MingGW make files.
   Select BUILD_SHARED, BOBYQA, and METIS.
   Click Generate.

B. Open a command line window, either powershell of cmd.
   cd builddir
   c:\mingw\bin\mingw-make.exe
   It should build for a while.

C. You can also run the built in tests my running: 
   c:\mingw\bin\mingw-make.exe test 
   WARNING:
   1. This will take a long time.  At least 20 minutes
   2. Some tests are expected to fail on Windows. PSUADE is very sensitive 
      to the processor it's running on and the numeric results will be off 
      on different processors and enviromnet variables.  As long as a few 
      tests pass you're probably OK.

E. You can install PSUADE by running c:\mingw\bin\mingw-make.exe install

F. You can build a package for other people to install by running 
   c:\mingw\bin\mingw-make.exe package

G. Now read the short manual in the Doc/Manual directory and follow the
   instructions to get a simple application running within minutes.

-----------------------------------------------------------------------------

3. MacOSX

   Requires cmake, and cc/gcc, c++/g++, gfortran >= 4.4.

A. Check to make sure you have cc, c++, gfortran, ccmake

B. Now let's run cmake.  Go to your psuade source.
   mkdir build
   cd build
   ccmake ..
   hit 'c' to get started
   Make sure BUILD_SHARED, MARS, BOBYQA, and METIS have already been selected.
   hit 'c'
   hit 't' to go to advanced options.  
   I can see in my case cmake has picked up the wrong cc:
   CMAKE_C_COMPILER                 /usr/bin/cc          
   I need to change it to:
   CMAKE_C_COMPILER                 /opt/local/bin//gcc

   Aside from that it seems OK, so I hit 'c' until I can hit 'g'
   hit 'g' to generate and exit.

C. Now build: run 'make'  It should build for a while.

D. You can run a simple test by going to the
   Examples/Bungee directory and issuing:
       cc -o simulator simulator.c -lm
       ../../build/bin/psuade psuade.in
   Afterward, you should see a file called 'psuadeData'.

E. You can also run the built in tests my running 'make test' from the
   build directory.  WARNINGS:
   1. This will take a long time.  At least 20 minutes
   2. Some tests are expected to fail on MACOSX PSUADE is very sensitive 
      to the system it's running on, and we get different results on OSX 
      than Linux.  So the following tests are expected to fail:
          8 - ARSM1 (Failed)
         10 - Morris20MOAT (Failed)
         11 - Morris20LH (Failed)
         12 - MCMCTest (Failed)

F. You can install PSUADE by running 'make install'

G. You can build a package for other people to install by running 'make package'

H. Now read the short manual in the Doc/Manual directory and follow the
   instructions to get a simple application running within minutes.

*****************************************************************************
Explanation of directories

Examples : test programs 
Src      : source code
Doc      : documentations
External : external packages