Project Resources

At NERSC, a “project” is a group of users which have access to a common project disk space and have one or more UNIX filegroups. A single NERSC allocation (e.g. mp107) can have multiple projects. Typically each CMB experiment is its own project.

Project User Account

Each project comes with a special “project user” account. This account can be used to copy files into the project storage space so that they are not owned by individual users.

Todo

collabsu command

Todo

give and take example

Sharing Data

Each project has a directory in:

/project/projectdirs/(project name)

and this area is accessible from all of the NERSC systems. The performance of this disk is not as good as the scratch filesystem, but is better than the filesystem where home directories are located.

The project directory is not purged, so members of the project can keep persistent data here. Every project can set their own policies, but we recommend limiting the areas where user-owned files can exist inside the project directory.

Sharing Software

The project directory is fine for sharing data, but should not be used for software installations (especially python packages or software to be run at high concurrency). Instead, each project has a directory here:

/global/common/software/<project>

which is optimized for small files and fast reads at runtime across all machines. If you software is independent of particular compilers (i.e. pure python), then you can share one installation across all machines. Otherwise, you should create subdirectories for each machine:

%>  mkdir -p /global/common/software/<project>/${NERSC_HOST}

and install machine specific software there.

Web Interfaces

Each project has a specific directory:

/project/projectdirs/<project>/www

Whose contents are visible on the web. Full details are available here. If users want to share personally-owned files, we recommend making a separate “users” directory under this and then one directory per user beneath that. Permissions must be world readable for the webserver to access these files.