Manual Unembargo¶
From time to time, there may be errors within obs headers, such as faults or bugs that cause images to be taken with can_see_sky=True or can_see_sky=None when in fact it was not possible to see the sky.
These images would normally have to wait for the full embargo period before being copied out of embargo, which can significantly hamper the Calibrations Team.
The process below will allow these images to be unembargoed manually.
Ensure that a DM Jira ticket has been filed with the observation ids (
day_obsandseq_num) of the images that were taken with incorrect metadata.Check what the header should be changed to. This may involve certification from experts. For
can_see_sky, check that the images were in fact taken inside the dome, which may require experts spot-checking images in RubinTV to ensure that they don’t have astronomical objects.Add the
day_obsandseq_numranges to thefix_rangesdictionary in theobs_lssttranslator code. Get this reviewed and merged tomain.Setup the local version of
obs_lsst# update environment source /cvmfs/sw.lsst.eu/almalinux-x86_64/lsst_distrib/w_2025_29/loadLSST.sh setup lsst_distrib # Add obs_lsst to eups environment git clone https://github.com/lsst/obs_lsst.git && cd obs_lsst git checkout main scons # add to eups setup -r . # verify local obs_lsst, should say LOCAL:{path} eups list --setup obs_lsst
Ensure s3 and database credentials are set
# s3 credentials are located in $HOME/.lsst/aws-credentials.ini export AWS_PROFILE=embargo_rw # postgres credentials export PGPASSFILE=$HOME/.lsst/postgres-credentials.txt export PGUSER=rubin
Reingest the raw images (
echois for a dry-run)# Remove echo when ready day_obs=20250715; for seq_num in $(seq -w 000205 001218); do echo butler ingest-raws embargo --regex '[W\d]\d.fits$' -t direct -j 10 --output-run LSSTCam/raw/all --update-records s3://embargo@rubin-summit/LSSTCam/${day_obs}/MC_O_${day_obs}_${seq_num}/; done # Verifying the ingest # Exposure sequence numbers are 5 digits and need to be padded with zeroes butler query-datasets --collections LSSTCam/raw/all embargo --where "instrument='LSSTCam' and exposure=YYYYMMDDXXXXX"
--regex: Exclude guiders that cannot be ingested usingingest-raws-t direct: Mandatory because raws do not live in the butler repo’s datastore-j 10: Speed things up a bit--output-run: the default, but it’s there for safety--update-records: is required to fix headers
Login to the
usdf-embargo-dmzvcluster usinghttps://k8s.slac.stanford.edu/usdf-embargo-dmzand execute thecatchup-raw.shscript fromslaclab/usdf-embargo-deploy/kubernetes/overlays/transferwith the date. This script deploys a Kubernetes Job to the cluster that re-scans the exposure dimension and unembargo the data.git clone https://github.com/slaclab/usdf-embargo-deploy # script is in this branch git checkout tickets/DM-51916 cd kubernetes/overlays/transfer bash ./catchup-raw.sh <YYYY-MM-DD>