UCL-RITS / rcps-buildscripts

Scripts to automate package builds on RC Platforms
MIT License
39 stars 27 forks source link

AstroBEAR (IN:03087372) #188

Closed owainkenwayucl closed 5 years ago

owainkenwayucl commented 6 years ago

I am helping a user with a ticket and they mentioned that other people in their group would also use this so I'll do a central install.

It's GPL.

https://astrobear.pas.rochester.edu/trac/

owainkenwayucl commented 6 years ago

I've filled out the form but I'm awaiting an email to let me download this (despite it being GPL).

owainkenwayucl commented 6 years ago

This also needs HYPRE: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods/software

owainkenwayucl commented 6 years ago

I've been sent a link. I have to think about how we present this to users as part of the process of running the code is compiling a binary with your problem linked in (similar to things like CESM). It might be sensible to have the example problems built, the prerequisites and the makefile available to users.

owainkenwayucl commented 6 years ago
owainkenwayucl commented 6 years ago

Currently doing HDF5.

owainkenwayucl commented 6 years ago

Since the user has reported issues with OpenMPI 3.0.0 I'm going to build all this stuff with 3.1.1.

owainkenwayucl commented 6 years ago

Currently there's something wonky going on when AstroBEAR's build process uses the C preprocessor to generate F90 files and I've not worked out what yet.

owainkenwayucl commented 6 years ago

Right. I've re-fixed the C preprocessor stuff and worked out that AstroBEAR really wants HDF 5 1.8.x, not 1.10.x.

I've successfully built it in ccspapp's home dir on myriad. I now need to work out how we present this to the users.

owainkenwayucl commented 6 years ago

Makefile.inc.ucl:

FC = mpif90
CC = mpicc
CPP = cpp -P -E -w

OMP_FC=mpif90
OMP_CC=mpicc
OMP_FLAGS = -qopenmp

DEBUG_FFLAGS += -g -traceback -check uninit,pointers,bounds 
FFLAGS += -g -O3 -align all -pad
CPPFLAGS += -g -D_MPI
LFLAGS += -lifcore

HDF5PATH = /shared/ucl/apps/HDF/5-1.8.15-Intel_2015
HYPREPATH = $(HYPRE_DIR)
FFTW3PATH = $(MKLROOT)
PGPLOTPATH = $(PGPLOT_DIR)
INCLUDE =

ifdef HDF5PATH
  CPPFLAGS += -D_HDF5
  LFLAGS += -L$(HDF5PATH)/lib -lhdf5_fortran -lhdf5
  INCLUDE += -I$(HDF5PATH)/include
endif

ifdef HYPREPATH
  CPPFLAGS += -D_HYPRE
  LFLAGS += -L$(HYPREPATH)/lib -lHYPRE
  INCLUDE += -I$(HYPREPATH)/include
endif

ifdef FFTW3PATH
  CPPFLAGS += -D_FFTW3
  LFLAGS += -mkl
  INCLUDE += -I$(FFTW3PATH)/include/fftw
endif

ifdef PGPLOTPATH
  LFLAGS += -L$(PGPLOTPATH) -lpgplot
endif

Loaded modules:

rcps-core/1.0.0 compilers/intel/2018/update3 mpi/openmpi/3.1.1/intel-2018 pgplot/5.2.2/intel-2018 hypre/2.11.2/openmpi-3.1.1/intel-2018 hdf/5-1.8.15/intel-2015-update2

owainkenwayucl commented 6 years ago

https://github.com/UCL-RITS/rcps-buildscripts/blob/master/files/AstroBEAR/Makefile.inc.ucl

owainkenwayucl commented 5 years ago

I think this can't really be provided centrally in its current form, but we can give users our Makefile from the repo.