Version 51 (modified by 12 years ago) ( diff ) | ,
---|
Back Links
Obtaining and Building AstroBEAR
Below are instructions for obtaining a copy of AstroBEAR and setting up your environment to build it. The general instructions are (slightly) more in-depth and are a blueprint for setting up the code on a new machine. We also have machine-specific instructions for the clusters where AstroBEAR sees frequent use; these are highly procedural and ideal for new users.
General Build Requirements
Required Packages
- Compilers: AstroBEAR is written in Fortran 95 with C preprocessor tags. Development efforts use Intel compilers (version 9.0 and above), and we can't guarantee other compilers will work. Other packages' installation instructions assume you are using the version 9.0 Intel compilers.
- MPI Support: MPI (Message Passing Interface) support is required for parallelization. Current AstroBEAR builds use OpenMPI.
- HDF5:AstroBEAR writes its output to HDF5 files using an augmented version of the Chombo format. The current version of AstroBEAR requires HDF5 version 1.8.5, patch 1 or better.
- hypre: Elliptic and parabolic processes such as gravity and diffusion are handled by the hypre library of linear PDE solvers. AstroBEAR was developed using version 2.4.0, but it is possible that any revision from 2.0.0 on will work.
Loading Modules
Several of our group's clusters implement AstroBEAR's libraries as modules. To load a module, enter the following command into the command line:
module load <module1> [ <module2> ... <moduleN>]
For example, you would load the required modules on grass by entering:
module load hdf5 ifort openmpi fftw
You can simplify the process by adding these module load
commands to your .bash_profile
or .bashrc
. If you do this, you will need to wrap them in an if
statement:
if [ $TERM != "dumb" ] then module load ifort visit hdf5 fftw openmpi pgplot hypre fi
Otherwise the modules
commands may conflict with remote SSH connections, resulting in a string of alarming (if harmless) error messages. Your bashrc file on grass is located at ~/.bashrc. To open it, you must incorporate the dot before the name, as it is a hidden file.
Mercurial
The AstroBEAR source code is contained in a Mercurial repository on clover. Mercurial is a distributed version control system similar to subversion
, and subversion
users will find many of its options familiar. For more information on using Mercurial with AstroBEAR, see the Mercurial Tutorial.
Mercurial is available on the following machines:
grass.pas.rochester.edu
clover.pas.rochester.edu
bluehive.rochester.edu
(exists as a module; use themodule load mercurial
command to make it available)
Regardless of which machine you use, you will want to create a .hgrc
file in your home directory to set your global options. This is a global version of the .hg/hgrc
file found in each Mercurial repository, and its contents affect all your Mercurial actions. Add the text below to your .hgrc
file; this sets your default username and e-mail address. The merge=internal:merge
keeps grass from popping up random emacs
windows during merge conflicts, but may not be necessary on all machines.
[ui] username = name <blah@blahblah.blah> merge=internal:merge
A sample .hgrc
file is attached to this page.
For more information about mercurial, consult Joel Spolsky's mercurial tutorial. Subversion users in particular will find the Subversion Reeducation page helpful.
Bluehive build instructions
NOTE: Accessing bluehive
now requires an active University VPN connection. If you do not have a VPN client set up, go to the University IT VPN website and follow their instructions for setting up VPN software and establishing a VPN connection.
- Connect to
bluehive
using SSH:ssh <username>@bluehive.rochester.edu
- Run the following command, or else make sure that it is in your
.bashrc
:module load intel openmpi-intel mercurial
- Add the hypre and HDF5 paths to your environment by adding the following lines to your
.bashrc
file:
export PATH=/home/bshroyer/local/hdf5_185/bin:/$PATH export LD_LIBRARY_PATH=/home/bshroyer/local/hdf5_185/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/home/bshroyer/local/hypre24_ompi_opt/lib:$LD_LIBRARY_PATH
Remember to execute the command
source ~/.bashrc
after adding these lines.
- Create a new copy of the code in the directory
<current_path>/astrobear
by cloning the development repository:
hg clone ssh://<username>@clover.pas.rochester.edu//data/repositories/scrambler astrobear
Grass build instructions
- Connect to
grass
using SSH:ssh <username>@grass.pas.rochester.edu
- To enable the use of
modules
in your environment, add the following lines to your.bashrc
file:if [ -f /opt/Modules/current/init/bash ]; then . /opt/Modules/current/init/bash fi
- Add the following line to your
.bashrc
file, making sure to place it after the lines you added in Step 2:module load ifort openmpi hdf5 hypre
This this will automatically load the AstroBEAR's required modules whenever a new terminal is loaded.
- Execute the command
source ~/.bashrc
after adding these lines. This re-executes the environment setup commands in.bashrc
in the current terminal.
- Create a new copy of the code in the directory
<current_path>/astrobear
by cloning the development repository:
hg clone ssh://<username>@clover.pas.rochester.edu//data/repositories/scrambler astrobear
Alfalfa build instructions
NOTE: Accessing alfalfa
from outside the pas.rochester.edu
domain requires an active University VPN connection. If you do not have a VPN client set up, go to the University IT VPN website and follow their instructions for setting up VPN software and establishing a VPN connection. Users connecting via a machine on the PAS network follow the same procedure (below), but do not need a VPN connection.
- Connect to
alfalfa
using SSH:ssh <username>@alfalfa.pas.rochester.edu
- To enable the use of
modules
in your environment, add the following lines to your.bashrc
file:if [ -f /opt/Modules/current/init/bash ]; then . /opt/Modules/current/init/bash fi
- Add the following line to your
.bashrc
file, making sure to place it after the lines you added in Step 2:module load ifort openmpi hdf5 hypre
This this will automatically load the AstroBEAR's required modules whenever a new terminal is loaded.
- Execute the command
source ~/.bashrc
after adding these lines. This re-executes the environment setup commands in.bashrc
in the current terminal.
- Create a new copy of the code in the directory
<current_path>/astrobear
by cloning the development repository:
hg clone ssh://<username>@clover.pas.rochester.edu//data/repositories/scrambler astrobear
Itasca build instructions
- Connect to
itasca
using SSH:ssh <username>@itasca.msi.umn.edu
- Run the following command, or else make sure that it is in your
.bashrc
:module load intel ompi/intel
- Add the hypre and HDF5 paths to your environment by adding the following lines to your
.bashrc
file:
export LD_LIBRARY_PATH=/home/it1/bshroyer/local/hdf5_185/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/home/it1/bshroyer/local/hypre_ompi_opt/lib:$LD_LIBRARY_PATH export PATH=/home/it1/bshroyer/local/hdf5_185/bin:$PATH
Remember to execute the command
source ~/.bashrc
after adding these lines. This re-executes the environment setup commands in.bashrc
in the current terminal.
itasca
does not currently support Mercurial, so you will have to pull a copy of the code somewhere else. Clone a copy of the repository on a system that does have Mercurial installed:hg clone ssh://<username>@clover.pas.rochester.edu//data/repositories/scrambler astrobear
- Then copy AstroBEAR to your home directory on
itasca
, using eitherscp -r astrobear <username>@itasca.msi.umn.edu:
ortar -czvf astrobear.tar.gz astrobear scp astrobear.tar.gz <username>@itasca.msi.umn.edu (on itasca) tar -xzvf astrobear.tar.gz
BlueGene build instructions
NOTE: Accessing bluegene
now requires an active University VPN connection. If you do not have a VPN client set up, go to the University IT VPN website and follow their instructions for setting up VPN software and establishing a VPN connection.
- Connect to
BlueGene
using SSH:ssh <username>@bgpfen.crc.rochester.edu
BlueGene
does not have modules, so you will have to manually add your hypre and HDF5 paths to your environment. In your root directory, open the.bashrc
file and add the following lines:export LD_LIBRARY_PATH=/home/kyirak/bg/local/hypre/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/bgsys/local/hdf5/lib:$LD_LIBRARY_PATH export PATH=/bgsys/local/hdf5/bin:$PATH
Remember to execute the commandsource ~/.bashrc
after adding these lines.
BlueGene
does not currently support Mercurial, so you will have to pull a copy of the code somewhere else. Clone a copy of the repository on a system that does have Mercurial installed:hg clone ssh://<username>@clover.pas.rochester.edu//data/repositories/scrambler astrobear
- Then copy AstroBEAR to your home directory on
BlueGene
, using eitherscp -r astrobear <username>@bgpfen.crc.rochester.edu:
ortar -czvf astrobear.tar.gz astrobear scp astrobear.tar.gz <username>@bgpfen.crc.rochester.edu (on BlueGene) tar -xzvf astrobear.tar.gz