$PROJECT¶
$PROJECT is a shared project directory on the globally visible IBM Storage Scale (GPFS) home file system, automatically created per project group and intended for permanent data related to a specific project, such as software installations or important results. The environment variable $PROJECT is set automatically and points to this directory.
Member of multiple compute time projects
If you are a member of more than one compute project — for example multiple NHR projects or a combination of NHR and HAICORE projects — you must actively switch between them to ensure the correct $PROJECT directory is used and that compute time is billed to the correct Slurm account. See Switching Between Projects for details.
Sharing data¶
All members of a project share the same Unix group, which makes $PROJECT the natural place for permanent shared data within a project.
As first step you should make sure that all data which should be shared belongs to the Unix group of your project. You can check it with
If the command above reports files you can modify the owning group of all data below $PROJECT with
By default, each user's personal subdirectory under $PROJECT is not accessible by other project members. To share your project directory with all project members, grant group read and execute permissions:
To also allow group members to write:
For finer control — for example to share with a specific user outside your project group — use ACLs:
See Data sharing in Workspaces for more ACL examples.
Note
ACLs and extended attributes are not saved by the backup system, but the file data itself in $PROJECT is backed up.
Quotas¶
There are quota limits per user for capacity and number of inodes (number of files and directories). In order to check the current usage and limits see general information on quotas.
Switching Between Projects¶
Switching between projects affects both the $PROJECT directory and the Slurm billing account. See Switching Between Projects in the batch system documentation for full details.