Euclid File Systems
Euclid has 3 kinds of file systems available to users: home directories, scratch directories and project directories, all provided by the NERSC Global File system. Each file system serves a different purpose.
|$HOME||$SCRATCH or $GSCRATCH||No environment variable
|Peak Performance||Low, ~100 MB/sec||15 GB/sec||40 GB/sec|
|Purged?||No||Yes, files older than 8 weeks are purged||No|
Upon logging in, users are placed in their home directory by default. Home directories are limited in size and are meant for permanent storage of source code and other relatively small files. This file system is not configured for high I/O performance.
Home directories should always be referred to by the environment variable $HOME. The absolute path to a home directory (e.g., /u4/joe/) may change, but the value of $HOME will always be correct.
Please back up all important files on a regular basis.
For security reasons, never allow "world write" access to the directories $HOME or $HOME/.ssh. NERSC scans for such security weakness, and, if detected, will change the permissions on the directories to disable "world write" access. Furthermore, SSH will not allow you to login if $HOME/.ssh is writeable by anyone other than you.
Home directories contain various shell initialization files ("dot-files", e.g. .login, .cshrc, .profile). These are symbolic links to NERSC-defined and controlled files that contain definitions needed by all users. Please do not not remove or modify these links. Customizations of login behavior can be specified in "extension" files with names such as .login.ext, .cshrc.ext, and .profile.ext. See Global Home.
The contents of $SCRATCH will be deleted ("purged") as needed as the system's disks approach capacity. You should back up your important files frequently to HPSS.
Project directories provide a large-capacity file storage resource that is intended for groups of users ("projects") that desire to share data among themselves and/or between major compute platforms. Note that this definition of project may include users from multiple NERSC repositories. See Project Directories.
Do Not Use /tmp Explicitly
WARNING: Do not attempt to explicitly use the file system named /tmp. Your job may fail or be deleted if it writes to /tmp.
Some software tools (editors, compilers, etc.) use the location specified by the $TMPDIR environment variable to store temporary files. Additionally, Fortran codes which open files with status="scratch" will write those files into $TMPDIR. On many Unix systems, $TMPDIR is set to /tmp. NERSC has set $TMPDIR to be $SCRATCH. Please do not redefine $TMPDIR!