UCL-RITS / rcps-buildscripts

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

Install Request: GrADS Grid Analysis and Display System on Myriad [IN05701117] #506

Open balston opened 1 year ago

balston commented 1 year ago

The Grid Analysis and Display System (GrADS) is an interactive desktop tool that is used for easy access, manipulation, and visualisation of earth science data which can also run in batch mode.

http://cola.gmu.edu/grads/

balston commented 1 year ago

They provide both source code and binaries for CentOS-7.4 which may work on Myriad. I will experiment with both to find out.

balston commented 1 year ago

The binary distribution assume you have particular versions of HDF5, NetCDF and libtiff installed and is not statically linked.

balston commented 1 year ago

I'm going to do a test build in my Scratch to see if I can get a working set of modules for the above.

balston commented 1 year ago

So these are the external package options wheN configuring the build:

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-sysroot=DIR Search for dependent libraries within DIR
                        (or the compiler's sysroot if not specified).
  --with-gadap            enable OPeNDAP support for station data
  --with-x                use the X Window System
  --with-geotiff=ARG      geotiff directory
  --with-geotiff-include=ARG
                          geotiff include directory
  --with-geotiff-libdir=ARG
                          geotiff library directory
  --with-hdf5=ARG         hdf5 directory
  --with-hdf5-include=ARG hdf5 include directory
  --with-hdf5-libdir=ARG  hdf5 library directory
  --with-udunits=ARG      udunits directory
  --with-udunits-include=ARG
                          udunits include directory
  --with-udunits-libdir=ARG
                          udunits library directory
  --with-hdf4=ARG         hdf4 directory
  --with-hdf4-include=ARG hdf 4 include directory
  --with-hdf4-libdir=ARG  hdf 4 library directory
  --with-netcdf=ARG       netcdf directory
  --with-netcdf-include=ARG
                          netcdf include directory
  --with-netcdf-libdir=ARG
                          netcdf library directory
balston commented 1 year ago

Starting with these modules:

module -f unload compilers mpi
module load compilers/gnu/4.9.2
module load hdf/5-1.8.15/gnu-4.9.2
module load udunits/2.2.26/gnu-4.9.2
module load netcdf/4.3.3.1/gnu-4.9.2
balston commented 1 year ago

So GrADS needs an external libgeotiff eg from here:

https://github.com/OSGeo/libgeotiff/releases/download/1.7.1/libgeotiff-1.7.1.tar.gz

which itself depends on PROJ4.

balston commented 1 year ago

There are other dependencies we don't have - GADAP, shapelib are just two of them. Good news GrADS is in Spack:

spack info --all grads

AutotoolsPackage:   grads

Description:
    The Grid Analysis and Display System (GrADS) is an interactive desktop
    tool that is used for easy access, manipulation, and visualization of
    earth science data. GrADS has two data models for handling gridded and
    station data. GrADS supports many data file formats, including binary
    (stream or sequential), GRIB (version 1 and 2), NetCDF, HDF (version 4
    and 5), and BUFR (for station data).

Homepage: http://cola.gmu.edu/grads/grads.php

Externally Detectable:
    False

Tags:
    None

Preferred version:
    2.2.1    ftp://cola.gmu.edu/grads/2.2/grads-2.2.1-src.tar.gz

Safe versions:
    2.2.1    ftp://cola.gmu.edu/grads/2.2/grads-2.2.1-src.tar.gz

Deprecated versions:
    None

Variants:
    Name [Default]              When    Allowed values    Description
    ========================    ====    ==============    ============================

    build_system [autotools]    --      autotools         Build systems supported by
                                                          the package
    geotiff [on]                --      on, off           Enable GeoTIFF support
    shapefile [on]              --      on, off           Enable Shapefile support

Installation Phases:
    autoreconf    configure    build    install

Build Dependencies:
    cairo      libgd       libxmu     readline  udunits
    gnuconfig  libgeotiff  pkgconfig  shapelib

Link Dependencies:
    cairo  libgd  libgeotiff  libxmu  readline  shapelib  udunits

Run Dependencies:
    None

Virtual Packages:
    None

Available Build Phase Test Methods:
    None

Available Install Phase Test Methods:
    None

Stand-Alone/Smoke Test Methods:
    None

I will try this method in my local Myriad Spack instance. Unfortunately it needs updating first.