Skip to content

$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

find $PROJECT ! -group $PROJECT_GROUP

If the command above reports files you can modify the owning group of all data below $PROJECT with

chgrp -hR $PROJECT_GROUP $PROJECT

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:

chmod -R g+rx $PROJECT

To also allow group members to write:

chmod -R g+rwx $PROJECT

For finer control — for example to share with a specific user outside your project group — use ACLs:

setfacl -R -m u:<username>:rX $PROJECT

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.