All physics simulation code is pulled from the WarpX repository.
Before setting up the development environment, create a jupyter account and connect to perlmutter via nersc.
git clone git@github.com:ECP-WarpX/WarpX.git
git clone https://github.com/ECP-WarpX/WarpX.git
cmake .
cmake -S . -B build
cmake --build build -j 4
module load python/3.9
python3 -m pip wheel -v .
export PYTHONUSERBASE=/YOUR_PATH/WarpXPython
python setup.py install --user
######################### #########################
Start here if you only need python pywarpx on jupyter
######################### #########################
module load python/3.9
conda create -n warpx -c conda-forge warpx
conda activate warpx
conda config --set solver libmamba
mamba install --yes -c conda-forge python ipykernel ipympl matplotlib numpy pandas yt openpmd-viewer openpmd-api h5py fast-histogram dask dask-jobqueue pyarrow
python -m ipykernel install --user --name warpx --display-name warpx
echo -e '#!/bin/bash\nmodule load python\nsource activate warpx\nexec "$@"' > $HOME/.local/share/jupyter/kernels/warpx/kernel-helper.sh
chmod a+rx $HOME/.local/share/jupyter/kernels/warpx/kernel-helper.sh
KERNEL_STR=$(jq '.argv |= ["{resource_dir}/kernel-helper.sh"] + .' $HOME/.local/share/jupyter/kernels/warpx/kernel.json | jq '.argv[1] = "python"')
echo ${KERNEL_STR} | jq > $HOME/.local/share/jupyter/kernels/warpx/kernel.json
conda install --channel conda-forge yt
conda update -y -n base conda