cpseis Code
Brought to you by:
billmenger,
seismick
#!/bin/bash
#<license>
#-------------------------------------------------------------------------------
# Copyright (c) 2011 Weinman Geoscience
# Copyright (c) 2017 Houston HPC Services Inc
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#-------------------------------------------------------------------------------
#</license>
# -- This provides instructions for installing CPSeis(tm) on a Linux system.
cat <<EOF
Instructions for installing CPSeis(tm) on your Linux computer.
1) Read the License agreement in license.txt, included with this distribution.
EOF
echo "hit enter to continue..."
read prompt
echo ""
echo " -------------------------------------"
echo ""
more ./license.txt
echo ""
echo " -------------------------------------"
echo ""
echo " hit enter to continue..."
read prompt
less -h 10 <<EOF
2) If you agree to the terms and conditions on the license, you may continue.
3) Decide on an installation directory for cpseis and for the thirdparty
packages that are with it. Put cpseis.tgz into the directory above where you
will install cpseis. (for example, if your installation will be in
/apps/cpseis, put cpseis.tgz into the /apps directory.)
NOTE: the $CPSEIS_INSTALL_DIR will be this directory (e.g. /apps/cpseis) and for
convenience, a "thirdparty" directory is included in the distribution, and
is in $CPSEIS_INSTALL_DIR/thirdparty.
3-OPTIONAL) download cpseis from sourceforge using SVN checkout. (see sourceforge
for help on this.) You will not be downloading a tar file, but all of the
source code + some prebuilt programs, scripts, help, etc. This is the best way to
ensure a clean build on your target platform, but "is/(could be)" more work.
4) To ensure no license issues arise, only properly open-source-licensed packages have
been redistributed herein, and they are required.
DEFINE a thirdparty directory and put it into your .cshrc or .bashrc. ALSO
DEFINE your installation directory location:
(example for .bashrc:
export CPSEIS_INSTALL_DIR=/apps/cpseis
export THIRDPARTY_DIR=/apps/cpseis/thirdparty (or the equivalent:
THIRDPARTY_DIR=$CPSEIS_INSTALL_DIR/thirdparty
(but it can go anywhere you want)
)
Packages you will need:
Java jdk 6 to 18 (see www.oracle.com) or
openjdk 8,11,or 17 (jdk as well as jre, to provide javac)
mpich2-1.1 or mpich-3.2.1 or openmpi-3.1.3
(via a script: build_mpich2.sh, build_mpich3.sh, build_openmpi.sh)
fftw-2.1.5 (This is available via a script file: .../cpseis/scripts/build_fftw)
Recommended linux distro is Centos or similar (RHEL, Oracle, Alma)
You might need to add some packages to CentOS, depending on what options you
chose at install time.
list of yum installs here:
gcc, g++, gfortran
libgomp
xorg-x11-devel
openmotif-devel
xterm
tcsh
libtool
openssh-server, openssh-client
python2 (if using mpich2)
However python2 is disappearing from linux distros from 2022-2024, so mpich2
may no longer be feasible.
Other distros such as Fedora, Ubuntu or Debian will work, but note the names
of the pre-requisites above may differ across distros.
5) You have now created a cpseis directory somewhere
(
either
via "tar -xvfz cpseis.tgz"
or
via "svn co https://cpseis.svn.sourceforge.net/svnroot/cpseis"
)
If you have the directory for thirdparty created, copy all of the tarballs
from the distribution into that directory. This will save time since the
scripts will attempt to download the tarballs if they don't exist.
(in other words, if /apps/third is your thirdparty directory, make sure that
fftw-2.1.5.tar.gz and mpich2-1.1.tar.gz are in this location. If you can,
download the jdk...1.6...14.bin from the code distro for cpseis if you don't
have it.)
6) Decide what your compiler and mpi will be, and then:
$ cd $CPSEIS_INSTALL_DIR
$ chmod +x install_cpseis*
$ ./install_cpseis "mpi" "compiler" where "compiler" in: (intel | gfortran)
and "mpi" in (intel | mpich2) (don't use lam anymore!)
It will tell you your "CPSEIS_ARCH", compiler, and MPI
7) build the banner program separately (Tarball included with this
distribution.)
8) If you don't have a queueing system for your cluster or workstations, you
can try out torque. (not included with this distribution.)
9) Make sure the environment variables are in your .cshrc or .bashrc files
.cshrc: setenv CPSEIS_INSTALL_DIR /apps/cpseis (from example above)
.bashrc: export CPSEIS_INSTALL_DIR=/apps/cpseis
Then add something in your "." file to source the script:
# bash example
EXE=$CPSEIS_INSTALL_DIR/etc/cpseis_bashrc.sh
[ -e $EXE ] && . $EXE
# ----------------
if install_cpseis script failed, try step-by-step:
$CPSEIS_HOME/scripts/create_directories $CPSEIS_ARCH
then in $CPSEIS_HOME/platforms/$CPSEIS_ARCH
make depend shared static progs cfe all install
fixhelp.sh
copy xml files from platforms/$CPSEIS_ARCH/xml to opencfe/xml
10) Testing: There are some test jobs in the sample_work_files directory you should try:
$ cd $CPSEIS_INSTALL_DIR/sample_work_files
$ icps testfunction.wrk
11) Test the gui by running "$ cfe"
It should run, starting up a lock file manager prior to starting the GUI.
click on "Select Current Workfile...."
select #3 testfunction.wrk
click on "OK"
You should see a Process List in the center section with the following:
PROJECT_DATA
JOB_DATA
RNSYN
HEADSUM
INTEGRATE
Now try running the single-cpu runtime, ICPS by clicking on "ICPS (local)".
You should see a separate window appear showing the current hostname, then some
messages about trying rsh...
If rsh is not enabled, the xongp script will not correctly work, so you will
need to enable rsh or modify the scripts. (see ...cpseis/scripts). I recommend
enabling rsh for this and later for MPI.
The job runs in about 1 second. It should end with the words:
Finished running ...testfunction.wrk"
========================================
Press ENTER to continue...
A log file is created for the run, in the current directory, ending in .icps.
If this does not work please email the cpseis-users user group for help.
Bill Menger (bill.menger@gmail.com) 06/14/2011
EOF
echo "Hit enter to exit (oxymoronic, ain't it?)"
read prompt
exit