4. Code Installation Notes

4.1. Powderday on HiPerGator

4.1.1. Manual Installation With gcc Compilers

[1] As of August 2022, this is the preferred way to install (i.e., least headache). Thanks to Prerak Garg for these.:

First, load up the compilers that we’ll use throughout:

>module load gcc/9.3.0 openmpi/4.1.1 libz/1.2.11 hdf5/1.10.1 git/2.30.1

yt:

>cd $HOME
>git clone https://github.com/yt-project/yt
>cd yt
>pip install -e .

fsps and python-fsps

The development version of python-fsps now includes the Fortran FSPS source code. You can get both via:

fsps:

>cd $HOME
>git clone https://github.com/cconroy20/fsps
>cd fsps/src

in the Makefile set F90=$(FC) and this will ensure that the compilers fsps uses are what you have module loaded.:

>make clean
>make

then in your .bashrc set the analog to:

>export SPS_HOME=/Users/desika/fsps

python fsps:

>CC=gcc F90=gfortran F77=gfortran python setup.py install

hyperion

As of commit 7cae6d0, a bug has been introduced with the __version__ module. Once cloned, checkout stable commit 4170c6c:

>cd $HOME
>git clone https://github.com/hyperion-rt/hyperion.git
>cd hyperion
>git checkout 4170c6cc3009893e2b591e133baeb9927122aef1
>python setup.py install
>git submodule init
>git submodule update

>./configure --prefix=$HOME/local

>make
>make install

hyperion dust:

>cd $HOME
>wget http://pypi.python.org/packages/source/h/hyperion-dust/hyperion-dust-0.1.0.tar.gz
>tar -xzvf hyperion-dust-0.1.0.tar.gz
>cd hyperion-dust-0.1.0
>python setup.py build_dust

powderday:

>git clone https://github.com/dnarayanan/powderday.git
>conda install numpy scipy cython h5py matplotlib psutil joblib six astropy scikit-learn ipython
>cd powderday
>python setup.py install

4.1.2. Manual Installation With Intel Compilers (updated for el8 installation by Dhruv as of 9/13/2023)

[2] The first set of instructions for the University of Florida HiPerGator3.0 facility is to employ intel compilers, and to compile everything manually. This allows the greatest flexibility, as well as the ability to use private forks of individual codes.

First, load up the compilers that we’ll use throughout:

>module load intel/2020.0.166
>module load openmpi/4.1.5
>module load hdf5/1.14.1
>module load git

yt:

>cd $HOME
>git clone https://github.com/yt-project/yt
>cd yt
>pip install -e .

python fsps and fsps:

>cd $HOME
>git clone --recursive https://github.com/dfm/python-fsps.git
>cd python-fsps
>cd src/fsps/libfsps/src
>make clean
>make

python-fsps now comes pre-packaged with fsps, so we don’t need to install them separately anymore. The –recursive option on the git clone pulls the appropriate version of fsps as well. First let’s compile fsps. In the Makefile set F90=$(FC) and this will ensure that the compilers fsps uses are what you have module loaded.

Set in your .bashrc the analog to:

>export SPS_HOME=$HOME/python-fsps/src/fsps/libfsps

Now we can install python-fsps:

>cd $HOME/python-fsps
>CC=icc F90=ifort python setup.py install

hyperion:

>cd $HOME
>git clone https://github.com/hyperion-rt/hyperion.git
>cd hyperion
>python setup.py install
>git submodule init
>git submodule update
>./configure --prefix=$HOME/local
>make
>make install

Make sure that whatever directory you put for configure is in your $PATH. You can check whether this is true by typing $PATH in the command line and looking for the <location>/bin directory.

hyperion dust:

>cd $HOME
>wget http://pypi.python.org/packages/source/h/hyperion-dust/hyperion-dust-0.1.0.tar.gz
>tar -xzvf hyperion-dust-0.1.0.tar.gz
>cd hyperion-dust-0.1.0
>python setup.py build_dust

powderday:

>git clone https://github.com/dnarayanan/powderday.git
>cd powderday
>python setup.py install

4.1.3. Installations With Intel Compilers (updated for el9 installation by Dhruv as of 6/10/2025)

[3] The set of instructions for the University of Florida HiPerGator3.0 facility to employ intel compilers, and to compile everything. This installation will list versions and commits where appropriate. This relies more on pip installs than previous attempts. The python version used for this installation is python 3.10.18.

First, load up the compilers that we’ll use throughout:

>module load intel/2025.1.0
>module load openmpi/5.0.7
>module load hdf5/1.14.6
>module load git

miscellaneous packages:

>conda install numpy scipy cython h5py matplotlib psutil joblib six astropy scikit-learn ipython
>pip install synphot extinction
>conda install mpi4py

yt (version 4.4.0):

>cd $HOME
>pip install yt

pygadgetreader (commit bea9c958592b6435d8fd907007e19a15be76486a):

>cd $HOME
>git clone https://github.com/dnarayanan/pygadgetreader.git
>cd pygadgetreader
>python setup.py install

caesar (commit c7139f6adc6f4ad10ee5d2827db8407c0445aa0d):

>cd $HOME
>git clone https://github.com/dnarayanan/caesar.git
>cd caesar
>python setup.py install

python fsps and fsps (version 0.4.7,commit 30c1fec374ffccb4556d32c9f1ddb73789b06ad9):

>cd $HOME
>git clone --recursive https://github.com/dfm/python-fsps.git
>cd python-fsps
>git submodule init
>git submodule update
>cd $HOME
>python -m pip install fsps

python-fsps now comes pre-packaged with fsps, so we don’t need to install them separately anymore. The –recursive option on the git clone pulls the appropriate version of fsps as well. Here I’ve installed it with pip because of issues in the past, but there is everything you need to do the manual installation in this download.

Set in your .bashrc the analog to:

>export SPS_HOME=$HOME/python-fsps/src/fsps/libfsps

hyperion (Desika’s fork, commit 434191330f5d4c7f9d2dd55b6420bb039f97c6f4)

NOTE - if you get an error trying to run the configure step on EL9 that looks like configure: error: Could not determine MPI compiler: ifx, you likely need to change line 2090 of configure in hyperion from elif test "$mpi_compiler" == ifort to elif test "$mpi_compiler" == ifx for the configure to be successful:

>cd $HOME
>git clone https://github.com/dnarayanan/hyperion.git
>cd hyperion
>git submodule init
>git submodule update
>pip install ".[recommended]"
>conda deactivate
>module load ufrc
>./configure --prefix=$HOME/<location>
>make
>make install
>module unload ufrc

Make sure that whatever directory you put for configure is in your $PATH. You can check whether this is true by typing $PATH in the command line and looking for the <location>/bin directory. The ufrc step is to prevent compiling the binaries in an environment to prevent unexpected behavior. Reactivate your environment at this point.

hyperion dust (commit 66b04df0d06bbd2338ad180bb0ed247cc8d1fe29):

>cd $HOME
>git clone https://github.com/hyperion-rt/hyperion-dust.git
>cd hyperion-dust
>python setup.py build_dust
>cd dust_files
>wget https://github.com/hyperion-rt/paper-galaxy-rt-model/blob/master/dust/big.hdf5
>wget https://github.com/hyperion-rt/paper-galaxy-rt-model/blob/master/dust/vsg.hdf5
>wget https://github.com/hyperion-rt/paper-galaxy-rt-model/blob/master/dust/usg.hdf5

powderday (commit 00e0fae87e2751ab7a9dcc5760368b818fb1647f)

>git clone https://github.com/dnarayanan/powderday.git
>cd powderday
>python setup.py install

4.1.4. Conda Installation

[4] The final set of instructions use gcc, and the conda installation of Hyperion. Thanks to Paul Torrey for these.:

>module load openmpi/4.1.1 libz/1.2.11 hdf5/1.10.1 conda/4.12.0 git/2.30.1 gcc
>conda install -c conda-forge hyperion
>python -c "import hyperion" (just to ensure no errors thrown)
>hyperion (just to ensure command is found)
>python -m pip install fsps
>[set $SPS_HOME variable in .bashrc)
>cd $HOME
>git clone https://github.com/dnarayanan/powderday.git
>cd powderday
>python setup.py install

then fix import six line in the equivalent of all of these:

>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/model/model.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/util/validator.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/conf/conf_files.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/filter/filter.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/dust/dust_type.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/model/model_output.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/densities/flared_disk.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/densities/alpha_disk.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/densities/bipolar_cavity.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/densities/ulrich_envelope.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/densities/power_law_envelope.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/densities/ambient_medium.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/model/sed.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/model/image.py
>vi /home/paul.torrey/.conda/envs/pd_gcc/lib/python3.8/site-packages/hyperion/grid/yt3_wrappers.py

4.2. Caesar on HiPerGator

4.3. AREPO

The current best set of modules to compile AREPO for hpg2-default are:

module purge
module load intel/2020.0.166
module load openmpi/4.1.5
module load python/3.11.4
module load fftw/3.3.10
module load hdf5/1.14.1
module load grackle/3.2.1
module load gsl/2.6

Alternatively the best set of modules for hpg-default are:

module load gcc/9.3.0 openmpi/4.1.1 gsl/2.6  fftw

following this:

make build

4.4. GIZMO