Updating sbnd data
- As of Fall 2025, sbnd_data is now version controlled by git.
- In order to ensure compatibility with large files, GIT LFS is used for deployment.
- This package leverages Git Large File Storage in order to resolve issues with files > 50 MB. If you receive errors when attempting to create a PR with a large file, or are manually cloning this repo for non-standard use, please reference the following documentation: https://git-lfs.com/
- CI does not run on sbnd_data PRs, this is due to some limitations on the CI side.
Steps: GitHub Release
- Merge the any PR’s located at https://github.com/SBNSoftware/sbnd_data that are being added to the release.
- To cut a release, go to releases->Draft a new release. Create a new tag for the new version and target main.
- Title the release according to the version and generate release notes.
- After hitting ‘Publish release’, the release is available on github, but isn’t yet available on cvmfs/scisoft for users. Please follow the next set of steps to do this.
Steps: SciSoft/CVMFS Release
-
In a dedicated sbnd_data work area, clone the sbnd_data repository.
git clone git@github.com:SBNSoftware/sbnd_data.git -
Move into the repository, and checkout the new tag.
git checkout tags/<new_version> -
Fetch and checkout the large files for the new version.
git lfs fetch --all && git lfs checkout -
Move out of the repository, and modify the directory’s name to match the new versioning. Create a version info directory alongside it.
cd .. && mv sbnd_data <new_version> && mkdir <new_version>.version && cd <new_version>.version -
Copy the old version information’s NULL_ file into the new version information directory.
cat ../../$1/$2.version/NULL_ > NULL_ - Modify the contents of the new NULL_ file.
FILE = version PRODUCT = sbnd_data VERSION = vXX_YY_ZZ #Bump the version #************************************************* # FLAVOR = NULL QUALIFIERS = "" DECLARER = <your-username> DECLARED = 2025-03-25 19.52.40 GMT #Modify date MODIFIER = <your-username> MODIFIED = 2025-03-25 19.52.40 GMT #Modify the date PROD_DIR = sbnd_data/vXX_YY_ZZ #Bump the version UPS_DIR = ups TABLE_FILE = sbnd_data.table - Copy to fermigrid area
ssh sbnd@sbndgpvm01.fnal.gov cp sbnd_data/vXX_YY_ZZ* /grid/fermiapp/products/sbnd/ - Copy to cvmfs
ssh cvmfssbnd@oasiscfs.fnal.gov cvmfs_server transaction sbnd.opensciencegrid.org rsync -r <your-username>@sbndgpvm01.fnal.gov:/grid/fermiapp/products/sbnd/sbnd_data/vXX_YY_ZZ* /cvmfs/sbnd.opensciencegrid.org/products/sbnd/sbnd_data/ cvmfs_server tag -l sbnd.opensciencegrid.org #check which tag to use cvmfs_server publish -m "Published sbnd_data XX.YY.ZZ" -a <tag> sbnd.opensciencegrid.org logout - Copy to scisoft, use copyToScisoft
ssh <your-username>@sbndgpvm01.fnal.gov #Navigate to scratch area tar -cjf sbnd_data-< dot version >-noarch.tar.bz2 -C /grid/fermiapp/products/sbnd sbnd_data/vXX_YY_ZZ sbnd_data/vXX_YY_ZZ.version tar -tf *.bz2 #check the contents ./copyToSciSoft.sh *.bz2
Deprecated Documentation
This documentation predates the existence of the sbnd_data repository. If for some reason it becomes necessary to cut a release on SciSoft/CVMFS only, these steps can be taken.
- Have author copy latest
sbnd_datainto their area to modify code. - Once their modifications are complete, copy into your area and make the following changes to
sbnd_data/vXX_YY_ZZ.version/NULL_FILE = version PRODUCT = sbnd_data VERSION = vXX_YY_ZZ #Bump the version #************************************************* # FLAVOR = NULL QUALIFIERS = "" DECLARER = <your-username> DECLARED = 2025-03-25 19.52.40 GMT #Modify date MODIFIER = <your-username> MODIFIED = 2025-03-25 19.52.40 GMT #Modify the date PROD_DIR = sbnd_data/vXX_YY_ZZ #Bump the version UPS_DIR = ups TABLE_FILE = sbnd_data.table - Copy to fermigrid area
ssh sbnd@sbndgpvm01.fnal.gov cp sbnd_data/vXX_YY_ZZ* /grid/fermiapp/products/sbnd/ - Copy to cvmfs
ssh cvmfssbnd@oasiscfs.fnal.gov cvmfs_server transaction sbnd.opensciencegrid.org rsync -r <your-username>@sbndgpvm01.fnal.gov:/grid/fermiapp/products/sbnd/sbnd_data/vXX_YY_ZZ* /cvmfs/sbnd.opensciencegrid.org/products/sbnd/sbnd_data/ cvmfs_server tag -l sbnd.opensciencegrid.org #check which tag to use cvmfs_server publish -m "Published sbnd_data XX.YY.ZZ" -a <tag> sbnd.opensciencegrid.org logout - Copy to scisoft, use copyToScisoft
ssh <your-username>@sbndgpvm01.fnal.gov #Navigate to scratch area tar -cjf sbnd_data-< dot version >-noarch.tar.bz2 -C /grid/fermiapp/products/sbnd sbnd_data/vXX_YY_ZZ sbnd_data/vXX_YY_ZZ.version tar -tf *.bz2 #check the contents ./copyToSciSoft.sh *.bz2
Worked example (Deprecated)
ssh tbrooks@sbndgpvm01.fnal.gov
source /grid/fermiapp/products/sbnd/setup_sbnd.sh
app
mkdir data_v01_01_00
cd data_v01_01_00/
cp -av /grid/fermiapp/products/sbnd/setup /grid/fermiapp/products/sbnd/.up* .
mkdir -p sbnd_data
source "$(pwd)/setup"
declare LatestVersion="v01_00_00"
cp -av "/grid/fermiapp/products/sbnd/sbnd_data/${LatestVersion}" sbnd_data/
mkdir -p sbnd_data/v01_00_00/OpticalLibrary
cp /sbnd/data/users/gamez/OpLibraryFiles/NewOpLibrary/op_library_sbnd_v2.root sbnd_data/v01_00_00/OpticalLibrary/.
cp sbnd_data/v01_00_00/Response/CHANGES sbnd_data/v01_00_00/OpticalLibrary/.
vim sbnd_data/v01_00_00/OpticalLibrary/CHANGES
vim sbnd_data/v01_00_00/CHANGES
vim sbnd_data/v01_00_00/README
declare NewVersion="v01_01_00"
mv -v "sbnd_data/${LatestVersion}" "sbnd_data/${NewVersion}"
ups declare sbnd_data "$NewVersion" -f NULL -m sbnd_data.table -r "sbnd_data/${NewVersion}"
setup larutils v1_20_05
makeDataTar.sh "$(pwd)" sbnd_data "$NewVersion"
cp sbnd_data-01.01.00-noarch.tar.bz2 /sbnd/data/users/tbrooks/.
ssh sbnd@sbndgpvm01.fnal.gov
tar xvvf /sbnd/data/users/tbrooks/sbnd_data-01.01.00-noarch.tar.bz2 -C /grid/fermiapp/products/sbnd/
logout
ssh cvmfssbnd@oasiscfs.fnal.gov
cvmfs_server transaction sbnd.opensciencegrid.org
rsync -r tbrooks@sbndgpvm01.fnal.gov:/grid/fermiapp/products/sbnd/sbnd_data/v01_01_00* /cvmfs/sbnd.opensciencegrid.org/products/sbnd/sbnd_data/
cvmfs_server publish -m "Published sbnd_data 01.01.00" -a 2.0 sbnd.opensciencegrid.org
logout
~/scripts/copyToSciSoft.sh sbnd_data-01.01.00-noarch.tar.bz2