definitions:
  # -------------------------------------------------------------------------
  # Core packages
  # -------------------------------------------------------------------------
  - core_codes:
      - bzip2
      - cmake +ncurses
      - emacs
      - fastqc
      - fio
      - git
      - git-lfs
      - gmp
      - gnuplot
      - gurobi
      - gzip
      - intel-oneapi-advisor
      - intel-oneapi-inspector
      - intel-oneapi-vtune
      - libarchive
      - libgd
      - libjpeg-turbo
      - libpng
      - libtiff
      - libxml2
      - likwid
      - lmod
      - mpfr
      - neovim
      #- ninja
      - papi
      - parallel
      - picard
      - rclone
      - sbt
      - squashfs
      - squashfs-mount
      - sratoolkit
      - subversion
      - tar
      - tcl
      - tk
      - tmux@3.4
      - trimmomatic
      - xclip
      - zlib-ng

  # -------------------------------------------------------------------------
  # Serial codes
  # -------------------------------------------------------------------------
  - serial_codes:
      - fftw +openmp ~~mpi
      - fftw ~~openmp ~~mpi
      - gsl
      - hdf5@1.14.3 ~~mpi
      - htslib
      - kokkos
      - kokkos-kernels
      - metis
      - netcdf-c ~~mpi
      - netcdf-fortran ^netcdf-c ~~mpi
      - nfft ^fftw~~mpi~~openmp
      - scotch ~~mpi
      - stream

  - gcc_serial_codes:
      - bwa
      - eigen
      - ffmpeg
      - glpk+gmp
      - hwloc
      - intel-oneapi-mkl
      - intel-oneapi-tbb
      - jasper
      - kallisto ^hdf5 ~~mpi
      - libxc
      - mafft
      - muscle
      - ncview ^netcdf-c ~~mpi ~parallel-netcdf
      - python
      - qperf
      - sox
      - stacks
      - star
      - subread
      - unblur ^fftw~~mpi ~~openmp
      - voropp
      - xgboost

  - oneapi_serial_codes:
      - intel-oneapi-ipp

  # -------------------------------------------------------------------------
  # Blas dependent codes
  # -------------------------------------------------------------------------
  - blas_codes:
      - arpack-ng ~~mpi
      - superlu
      - suite-sparse

  - gcc_blas_codes:
      - armadillo +hdf5 ^arpack-ng ~~mpi ^hdf5 ~~mpi
      - gromacs ~~mpi ^fftw
      - octave

  # -------------------------------------------------------------------------
  # Python packages
  # -------------------------------------------------------------------------
  - python_codes:
      - bowtie2
      - cairo
      - mercurial
      - prinseq-lite
      - py-absl-py
      - py-astunparse
      - py-backports-entry-points-selectable
      - py-certifi
      - py-charset-normalizer
      - py-cycler
      - py-cython
      - py-distlib
      - py-filelock
      - py-gast
      - py-google-pasta
      - py-idna
      - py-kiwisolver
      - py-mpmath
      - py-packaging
      - py-pillow
      - py-pip
      - py-platformdirs
      - py-ply
      - py-pybind11
      - py-pyparsing
      - py-python-dateutil
      - py-pytz
      - py-requests
      - py-semver
      - py-six
      - py-sympy
      - py-termcolor
      - py-urllib3
      - py-virtualenv
      - py-wheel
      - py-wrapt
      - samtools
      - scons
      - snakemake

  - gcc_python_codes:
      - bedtools2
      - blast-plus
      - cistem  ^fftw ~~mpi
      - ctffind ^fftw ~~mpi
      - gatk
      - hisat2
      - imagemagick +ghostscript
      - julia+openlibm
      - mesa
      - mummer
      - node-js
      - py-protobuf
      - rust
      - spades

  - python_blas_codes:
      - boost ~~mpi
      #- gmsh ~~mpi +hdf5 +cgns +eigen ~opencascade +openmp ~fltk ~med
      - iq-tree
      - py-biopython
      - py-keras-preprocessing
      - py-numpy
      - py-opt-einsum
      - py-pandas
      - py-pybigwig
      - py-xarray
      - valgrind ~~mpi

  - gcc_python_blas_codes:
      - caffe +python ^hdf5 ~mpi
      - gdb +tui +source-highlight +xz
      - openbabel ++python ^boost ~~mpi
      - polymake ^cddlib@0.94h
      - py-cryolobm
      - py-deeptools
      - py-h5py ~~mpi
      - py-macs3
      - py-matplotlib
      - py-pymol ^hdf5~mpi
      - py-scikit-learn
      - py-scipy
      #- py-statsmodels
      - py-theano
      - r

  # -------------------------------------------------------------------------
  # Parallel codes
  # -------------------------------------------------------------------------
  - mpi_codes:
      - fftw ++mpi +openmp
      - hdf5@1.14.3 ++mpi
      - hpcg
      - osu-micro-benchmarks +graphing
      - parmetis
      - scotch ++mpi

  - gcc_mpi_codes:
      - ior
      - netcdf-c ++mpi
      - netcdf-fortran
      - openfoam-org +metis
      - phylobayesmpi
      - relion
      - scorep
      - wrf ~pnetcdf build_type=dm+sm

  - oneapi_mpi_codes:
      - scorep

  - nvhpc_mpi_codes: []
      #- boost ++mpi

  - mpi_python_codes:
      - py-mpi4py

  - mpi_blas_codes:
      - arpack-ng ++mpi
      - hypre@2.31.0
      - mumps ++mpi@5.6.2
      - superlu-dist@8.2.1

  - gcc_mpi_blas_codes:
      # - armadillo +hdf5 ^arpack-ng ++mpi ^hdf5 ++mpi
      # - gmsh ++mpi +eigen +openmp +hdf5 ~fltk ~opencascade ~med ^mmg ~vtk
      - cpmd ~openmp
      # - elmerfem +mumps +openmp +hypre
      - hpl
      - netlib-scalapack
      - quantum-espresso
      # - trilinos
      # - vtk
      # - yambo ++mpi io=iotk,etsf-io

  - nvhpc_mpi_blas_codes:
      - quantum-espresso

  - mpi_blas_python_codes:
      - petsc ++mpi
      - slepc

  - gcc_mpi_blas_python_codes:
      - adios2
      - boost ++mpi
      - cgal
      - cp2k ++mpi +plumed +openmp smm=blas
      - fenics-dolfinx
      - gromacs ++mpi +plumed
      - iq-tree@1.6.12++mpi
      - lammps
      - neuron ++mpi +python
      - opencv
      - openfoam +metis
      - paraview@5.12.0 +shared +python +hdf5  +opengl2 ++mpi
      - plumed
      - py-fenics-dolfinx
      - py-h5py ++mpi
      - py-keras
      - py-petsc4py
      - py-tensorflow
      - py-torch
      - py-torchvision
      - sirius
      - topaz

  # -------------------------------------------------------------------------
  # External packages
  # -------------------------------------------------------------------------
  - external_packages: []
  - when: env['environment_type'] != 'cloud'
    external_packages:
      - ansys
      - cfdplusplus
      - comsol
      - fdtd
      - gaussian
      - matlab
      - maple
      - mathematica
      - molpro
      - smr

  - when: env['environment_type'] != 'cloud'
    intel_external_packages:
      - abaqus@2023

  - when: env['environment_type'] != 'cloud'
    blas_mpi_codes:
      - vasp +hdf5 +scalapack +shmem +wannier90
