Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

sdsscore

This repository contains files required for SDSS-V operations at APO and LCO.

Summary files

The directories apo/summary_files and lco/summary_files contain confSummray and confSummaryF files generates at the observatories for each configuration and FVC loop respectively. The structure is <observatory>/summary_files/NNNXXX/NNNMXX/ where summary files are grouped in directories of one hundred and those grouped in directories that contain a thousand summaries. Each thousand grouping directory (NNNXXX) is a submodule pointing to a different repository in the form sdss/sdsscore_apo_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). This structure prevents the main sdsscore repository to grow larger than the limits allowed by GitHub.

Cloning the sdsscore product

sdsscore can be cloned as any other git repository git

git clone git@github.com/sdsscore

This will checkout the main branch and fetch any files that directly belong in the repository, but the summary files directories will appear empty. To initialise them do

git submodule init

(this will take a long time as many GBs of data will need to be downloaded). Then you can update the submodules with

git submodule update --recursive

The submodule directories will appear as detached repositories, pointing to the latest commits. If you want to commit files or make changes you will need to checkout the main branch in the submodule and make and commit changes there.

In general, refer to the submodules documentation.

Adding a new submodule to summary_files

Every now and then the confSummary files being generated will catch up with the available summary_files submodules. If you need to add a new submodule, follow the following steps:

  • Create a new repository in the SDSS organisation with name sdsscore_OBS_summary_files_NNNXXX (e.g., sdsscore_apo_summary_files_015XXX). Make sure you select the option to add a README file so that the resulting repository has a main branch. (We'll use sdsscore_apo_summary_files_015XXX as the example for the rest of these instructions). Using the GitHub CLI you can do this with gh repo create --public --add-readme sdss/sdsscore_apo_summary_files_015XXX.

  • SSH to the observatory where you need to add the submodule. SSH as your own user and make sure you are forwarding an SSH key that also allows you to clone GitHub repositories.

  • cd /home/sdss5/software/sdsscore/main. Ideally you'll be adding the submodule before the previous submodule is full (in that case ignore the rest of this point), but if that's not the case jaeger, the product that creates the confSummary files will have continued creating summary files and adding them to sdsscore. Some, but not all of the files may have been committed directly to sdsscore instead to a submodule. Do not remove those files as you may lose them and with them the associated observations. Instead move the directory you want to replace with a submodule to a location outside sdsscore: mv apo/summary_files/015XXX ~/. Stage and commit the changes, if any, to have a clean directory tree:

    git add .git commit -m "Clearing apo/015XXX"git push
  • Now you can add the new submodule with

    git submodule add git@github.com:sdss/sdsscore_apo_summary_files_015XXX.git ./apo/summary_files/015XXX
  • Run the following command to commit the changes. This is the same script that gets run by a cronjob hourly to commit new summary files

    bash /home/sdss5/config/cronjobs/sdsscore.sh

    You will see a warning like this

    warning: adding embedded git repository: apo/summary_files/015XXXhint: You've added another git repository inside your current repository.hint: Clones of the outer repository will not contain the contents ofhint: the embedded repository and will not know how to obtain it.hint: If you meant to add a submodule, use:hint:hint: git submodule add <url> apo/summary_files/015XXXhint:hint: If you added this path by mistake, you can remove it from thehint: index with:hint:hint: git rm --cached apo/summary_files/015XXXhint:hint: See "git help submodule" for more information.[main be0a166d] Update submodules2 files changed, 4 insertions(+)create mode 160000 apo/summary_files/015XXX

    That is expected the first time. After the command finishes you should have a clean git session; running git status should return

    On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean

    You can rerun the same bash /home/sdss5/config/cronjobs/sdsscore.sh and now it should complete without warnings.

  • Now SSH to Utah and become the sdssunit user with sudo su - sdssunit (you need to belong to the group of users allowed to become sdssunit).

  • Run module load sdsscore and cd $SDSSCORE_DIR.

  • Run git pull, which should update .gitmodules and add the new submodule. Initialise the submodule with git submodule init. Now cd to the new submodule directory (cd apo/summary_files/015XXX) and run git status. If the submodule is not tracking the main branch (e.g. it's detached) do git checkout main.

  • Repeat these steps to add another submodule.

About

Metadata files

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages