---
title: Software repositories
#tags:
keywords: modules, software, stable, unstable, deprecated, spack, repository, repositories
last_updated: 16 January 2024
summary: "This page contains information about the different software repositories"
sidebar: merlin7_sidebar
permalink: /merlin7/software-repositories.html
---

## Module Systems in Merlin7

Merlin7 provides a modular environment to ensure flexibility, compatibility, and optimized performance. 
The system supports three primary module types: PSI Environment Modules (PModules), Spack Modules, and Cray Environment Modules.

### PSI Environment Modules (PModules)

The PModules system, developed by PSI, is the officially supported module system on Merlin7. It is the preferred choice for accessing validated software across a wide range of applications.

Key Features:
* **Expert Deployment:** Each package is deployed and maintained by specific experts to ensure reliability and compatibility.
* **Broad Availability:** Commonly used software, such as OpenMPI, ANSYS, MATLAB, and other, is provided within PModules.
* **Custom Requests:** If a package, version, or feature is missing, users can contact the support team to explore feasibility for installation.

{{site.data.alerts.tip}}
For further information about <b>Pmodules</b> on Merlin7 please refer to the <b><a href="/merlin7/pmodules.html">PSI Modules</a></b> chapter.
{{site.data.alerts.end}}

### Spack Modules

Merlin7 also provides Spack modules, offering a modern and flexible package management system. Spack supports a wide variety of software packages and versions. For more information, refer to the **external [PSI Spack](https://gitea.psi.ch/HPCE/spack-psi) documentation**.

{{site.data.alerts.tip}}
For further information about <b>Spack</b> on Merlin7 please refer to the <b><a href="/merlin7/spack.html">Spack</a></b> chapter.
{{site.data.alerts.end}}

### Cray Environment Modules

Merlin7 also supports Cray Environment Modules, which include compilers, MPI implementations, and libraries optimized
for Cray systems. However, Cray modules are not recommended as the default choice due to potential backward compatibility 
issues when the Cray Programming Environment (CPE) is upgraded to a newer version.

Recommendations:
* **Compiling Software:** Cray modules can be used when optimization for Cray hardware is essential.
* **General Use:** For most applications, prefer PModules, which ensure stability, backward compatibility, and long-term support.

{{site.data.alerts.tip}}
For further information about <b>CPE</b> on Merlin7 please refer to the <b><a href="/merlin7/cray-module-env.html">Cray Modules</a></b> chapter.
{{site.data.alerts.end}}

