NEMO2/Workspaces
Note: This is the updated Workspaces guide for NEMO2. For other clusters please use: Workspace.
Workspace tools provide temporary storage on NEMO's fast parallel filesystem (Weka). They are meant for data that needs to persist longer than a single job, but not permanently.
For advanced features — user config (~/.ws_user.conf), reminders, quotas, workspace handover, and more — see Advanced Features.
What are Workspaces?
Use workspaces for:
- Jobs generating intermediate data
- Data shared between multiple compute nodes
- Multi-step workflows
Don't use workspaces for:
- Permanent storage (use HOME or project directories)
- Single-node temporary files (use $TMPDIR instead)
Important - Read First
- No Backup: Data is not backed up and will be automatically deleted after expiration
- Time-limited: Maximum lifetime is 100 days, up to 100 extensions
- Email Reminders: You receive email notifications before expiration
- Backup Important Data: Copy results to permanent storage before expiration
Command Overview
- ws_allocate - Create or extend workspace
- ws_list - List your workspaces
- ws_find - Find workspace path (for scripts)
- ws_extend - Extend workspace lifetime
- ws_release - Release (delete) workspace
- ws_restore - Restore expired/released workspace
- ws_register - Create symbolic links
All commands support -h for help.
Quick Start
| Task | Command |
|---|---|
| Create workspace (100 days) | ws_allocate myWs 100 |
| Create group workspace | ws_allocate -G groupname myWs 100 |
| List all workspaces | ws_list |
| See what expires soon | ws_list -Rr |
| Find path (for scripts) | ws_find myWs |
| Extend by 100 days | ws_extend myWs 100 |
| Delete workspace (permanent, next nightly run) | ws_release myWs |
| Restore expired workspace (30d grace) | ws_restore -l then ws_restore oldname newname |
Creating Workspaces
Create a workspace with a name and lifetime in days:
$ ws_allocate myWs 100
Returns:
/work/classic/$USER-myWs
Capture path in variable:
$ WORKSPACE=$(ws_allocate myWs 100) $ cd "$WORKSPACE"
Important: Running the same command again is safe - returns the existing workspace path.
Listing Workspaces
$ ws_list # List all workspaces $ ws_list -Rr # Sort by remaining time, soonest first $ ws_list -g # Show group workspaces
Extending Workspaces
$ ws_extend myWs 100 # Extend by 100 days from now
Alternative: ws_allocate -x myWs 100
Each extension consumes one of your available extensions (100 total).
Releasing Workspaces
$ ws_release myWs
The workspace becomes inaccessible immediately and is permanently deleted at the next nightly expirer run. Do not rely on recovering a released workspace.
Restoring Workspaces
Recover workspaces that expired naturally (reached end of lifetime) within the 30-day grace period:
$ ws_restore -l # (1) List restorable workspaces $ ws_allocate restored 100 # (2) Create target workspace $ ws_restore username-myWs-0 restored # (3) Restore
Important: Use the full name from ws_restore -l (with username and timestamp), not the short name. Released workspaces (via ws_release) can also be restored, but only until the next nightly expirer run — after that they are permanently deleted.
Sharing Workspaces
Group workspace (recommended)
$ ws_allocate -g myWs 100 # Group-readable (read-only for group) $ ws_allocate -G projectgroup myWs 100 # Group-writable (recommended for teams)
Anyone in the group can use ws_list -g to see the workspace and extend it with ws_allocate -x -u owner myWs 100. Using -G also enables smooth handover when team members leave — see Workspace Handover.
Set default group in ~/.ws_user.conf:
groupname: projectgroup
If you didn't use -g/-G at creation, share read-only with ws_share:
$ ws_share share myWs alice bob # Grant read access $ ws_share list myWs # Show who has access $ ws_share unshare myWs alice # Remove access
Advanced sharing: Sharing guide for ACL-based per-user permissions.