-
Notifications
You must be signed in to change notification settings - Fork 46
fix file management policy
Any text fix files (less than 1.0 MB) will be tracked by git, just like script/config/etc files in the rrfs_workflow repo.
Any binary or large text file will be tracked through a link (not the file content itself).
Binary/large files themselves are stored at a fixed location (FIX_RRFS2/) and available on Jet, Hera, Orion, Gaea, Ursa, WCOSS in a similar setting.
Synchronization between RDHPCS will be done manually by the fix-file managers.
FIX_RRFS Locations at different HPCs:
- Jet: /lfs5/BMC/nrtrr/FIX_RRFS2
- Hera: /scratch2/BMC/rtrr/FIX_RRFS2
- Ursa: /scratch4/BMC/rtrr/FIX_RRFS2
- Orion: /work/noaa/rtrr/FIX_RRFS2
- Gaea: /gpfs/f6/bil-fire10-oar/world-shared/role.rrfsfix/FIX_RRFS2
The "init.sh" script under rrfs-workflow/workflow/ush will create correct links based on the current HPC platform.
- The build step will run "init.sh" automatically.
- If cloning the "rrfs-workflow" independently, one needs to run "init.sh" first
- If fix/INIT_DONE exists, it means the local work copy has already initialized fix/.
- setup_rocoto.py will also run "init.sh".
Same as committing all scripts/codes:
git add
git commit
git push
Follow the following examples:
-
Add a timestamp to the binary/large files (or the parent directories) and copy to FIX_RRFS2/:
FIX_RRFS2/static_bec/conus12km_L60.20250606/
or
FIX_RRFS2/meshes/conus3km.invariant.nc_L60_RAP.20250405
-
make links through
.agent
:
under rrfs-workflow/fix/meshes
ln -snf ../.agent/meshes/conus3km.invariant.nc_L60_RAP.20250405 conus3km.invariant.nc_L60_RAP
git add fix/meshes/conus3km.invariant.nc_L60_RAP
git commit
git push
either
- modify workflow/ush/init.sh
or -
ln -snf /to/your/FIX_RRFS fix/.agent
(this will be overwritten when init.sh runs)
Don't use a linked directory as we cannot track individual files inside a linked directory.
Instead, create a corresponding directory and link files under that directory.
If we will not track individual files for a group of fix files in rrfs-workflow anyway, we can create a directory link (such as crtm)
This step utilizes the git-mega-rrfs tool to track the binary fix file change history in the FIX_RRFS2 repository. This step is behind the scenes and should be transparent to most developers/users. Only a few fix file managers have to deal with this.
If interested, check the git-mega-rrfs README.md for more information.