From 94dc6afa8f49c6abb88ed2befb0e693cfac952e2 Mon Sep 17 00:00:00 2001 From: svenbuder Date: Fri, 28 Jul 2023 17:03:02 +1000 Subject: [PATCH 01/22] fix from max comment --- docs/model_evaluation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/model_evaluation/index.md b/docs/model_evaluation/index.md index 16203221b..dfe73b1bf 100644 --- a/docs/model_evaluation/index.md +++ b/docs/model_evaluation/index.md @@ -2,7 +2,7 @@ -ACCESS-NRI's "Model Evaluation and Diagnostics" work is a critical facet of climate modeling, encompassing various tasks designed to ensure the model's reliability and accuracy. +ACCESS-NRI's Model Evaluation and Diagnostics (MED) work is a critical facet of climate modeling, encompassing various tasks designed to ensure the model's reliability and accuracy. If you are new to model evaluation and diagnostics, we recommend you read our [Getting Started with MED page](./model_evaluation_getting_started/index.md):
From a32b3c299c1250ff5d862747b9b43d63ee682236 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 11:01:32 +1000 Subject: [PATCH 02/22] - Added new animated-terminal.js CDN from https://github.com/atteggiani/animated-terminal.js \n- Added button at the top of page (next to pen to edit page) to toggle all terminal animations for the page, based on a cookie that remembers the option people visit the Hive again in the future --- docs/js/miscellaneous.js | 62 ++ docs/js/terminal_animation.js | 1037 --------------------------------- 2 files changed, 62 insertions(+), 1037 deletions(-) delete mode 100644 docs/js/terminal_animation.js diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index f699267f5..a4fa65ccd 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -88,6 +88,67 @@ function addExternalLinkIcon() { } +/* + Add button to toggle terminal-animations for the whole page (next to the page title) +*/ +function toggleTerminalAnimations() { + if (document.querySelector('terminal-window')) { + let state; + + function applyState() { + let terminalWindows = document.querySelectorAll('terminal-window'); + if (state == 'active') { + terminalWindows.forEach(t => { + t.removeAttribute('static'); + }) + } else { + terminalWindows.forEach(t => { + t.setAttribute('static',""); + }) + } + } + + function getCookie() { + let cvalue = document.cookie.split(';') + .find(c => c.trim().startsWith('terminalState=')) + ?.split("=")[1]; + return cvalue; + } + + function setCookie() { + document.cookie = `terminalState=${state};path=${location.origin};max-age=31536000;samesite=lax`; + } + + function toggleState(e) { + if (state == 'active') { + state='inactive' + } else { + state='active' + } + setCookie(); + location.reload(); + } + + let terminalStateCookie = getCookie(); + if (! terminalStateCookie) { + state = 'active'; + setCookie(); + } else { + state = terminalStateCookie; + } + applyState(); + let terminalAnimationsSwitch = document.createElement('img'); + terminalAnimationsSwitch.setAttribute('src',`/assets/terminal_animation_switch_${state}.png`); + let action = state == 'active' ? 'Disable' : 'Enable'; + terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); + terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); + let h1 = document.querySelector('h1'); + h1.parentElement.insertBefore(terminalAnimationsSwitch, h1); + terminalAnimationsSwitch.addEventListener('click', toggleState, false); + } +} + + // Join all functions function main() { sortTables(); @@ -95,6 +156,7 @@ function main() { adjustScrollingToId(); tabFunctionality(); addExternalLinkIcon(); + toggleTerminalAnimations(); } // Run all functions diff --git a/docs/js/terminal_animation.js b/docs/js/terminal_animation.js deleted file mode 100644 index 4e23b4c4d..000000000 --- a/docs/js/terminal_animation.js +++ /dev/null @@ -1,1037 +0,0 @@ -/** - * terminal-animation components - * Components based on the animated terminal app 'termynal.js' by Ines Montani . - * - * @author Davide Marchegiani - * @version 1.0.0 - * - * The usage is as follow: - * - * - * First input line - * Second input line - * Third input with red span - * First output line - * - * - * The tag allows only and tags inside it. All the other nodes will be removed. - * E.g.: - * - * This line will be removed - * This line will be kept - *
Also this line will be removed
- *
- * - * The tag allows only text nodes or tags inside it. All the other nodes will be removed. - * E.g.: - * All this line will be kept - * This will be kept but
this will be removed
- * - * The animation starts only when the terminal becomes visible, unless the 'init' - * attribute is present (in that case the animation starts right after the page loads). - * To know all the other possible attributes and what they do please read the specific components. - * - * - * List of sub-components editable with the CSS ::part pseudo-element: - * - Terminal Container -> ::part(terminal-container) - * - Fast Button -> ::part(fast-button) - * - Restart Button -> ::part(restart-button) - * - Directory -> ::part(directory) - * - Input Character(s) -> ::part(input-character) - * - Prompt Character(s) -> ::part(prompt-character) -*/ -'use strict'; - -function replaceTagSymbols(str) { - /** - * Replace HTML tag symbols '<' and '>' with HTML enities '<' and '>' - * for correct usage in directories, PS1, input/promp characters etc. - */ - return str?.replace('<','<').replace('>','>') -} - -const terminalTemplate = document.createElement('template'); -terminalTemplate.innerHTML = ` - - -
- -
-` -/* Terminal component */ -class TerminalAnimation extends HTMLElement { - /** - * Custom attributes for the component: - * - * @param {string} mode - 'light' for light mode; 'dark' for dark mode (default). - * @param {string} data - Type of prompt for each line of the entire terminal. Choices can be: - * - 'output': Output of the terminal. Written all at once; (default) - * - 'input': Input to the terminal. Written with typing animation after 'directory' and 'inputChar' attributes; - * - 'prompt': Same as input, but with written with typing animation after 'promptChar' attribute; - * - 'progress' Line with progress bar animation. - * @param {number || string} startDelay - Delay before the start of terminal animation, in ms. - * @param {number || string} lineDelay - Delay before the start of each terminal line animation, in ms. - * @param {number || string} typingDelay - Delay between each typed character in the terminal, in ms. - * @param {string} progressChar – Character(s) to use for progress bar for the entire terminal, defaults to █. - * @param {number || string} progressPercent - Max percent of progress for the entire terminal, default 100%. - * @param {string} cursor – Character to use for cursor for the entire terminal, defaults to ▋. - * @param {string} inputChar – Character(s) to use before the 'input' prompt for the entire terminal, defaults to '$'. - * @param {string} directory – Directory to write in the 'input' prompt before the input character for the entire terminal. - * @param {string} promptChar – Character(s) to use before the 'prompt' prompt for the entire terminal, defaults to '>>>'. - * @param {string} PS1 – String to write in the 'input' prompt before the actual line for the entire terminal. - * If present, any 'directory' or 'input' attribute will be disregarded. - * Accepts HTML format. E.g.: "This is a valid PS1 attribute" - * @param {boolean} init - Initialise the terminal animation at page load. - * @param {boolean} static - Create a static terminal without animation. - */ - constructor() { - super(); - this.attachShadow({ mode: "open" }); - this.shadowRoot.appendChild(terminalTemplate.content.cloneNode(true)); - this.applyMode(); - this.ALLOWED_TAGS = ['terminal-line','img']; - this.DATA_TYPES = ['input','prompt','progress','output']; - this.keepLines(); - if (!this.static) { - this.setTerminal(); - if (this.init) { - this.initialiseAnimation(); - } else { - this.initialiseWhenVisible(); - } - } else { - this.generateAllProgress(); - } - } - - get container() { - const container = this.shadowRoot.querySelector(".terminal-container"); - if (this.hasAttribute('lineDelay')) { - container.setAttribute('lineDelay',parseFloat(this.getAttribute('lineDelay'))) - } - if (this.hasAttribute('typingDelay')) { - container.setAttribute('typingDelay',parseFloat(this.getAttribute('typingDelay'))) - } - return container - } - - get mode() { - /** - * Getter for the mode property - */ - if (this.getAttribute('mode')?.toString().toLowerCase() == 'light') { - return 'light'; - } else { - return 'dark'; - } - } - - get data() { - /** - * Getter for the data property - */ - let attr = this.getAttribute('data'); - if (this.DATA_TYPES.includes(attr)) { - return attr; - } else { - return 'output' - } - } - - get startDelay() { - /** - * Resets startDelay property. - */ - return parseFloat(this.getAttribute('startDelay')) || 300; - } - - get progressChar() { - /** - * Getter for the progressChar property - */ - return replaceTagSymbols(this.getAttribute('progressChar')?.toString()) || '█'; - } - - get progressPercent() { - /** - * Getter for the progressPercent property - */ - return parseFloat(this.getAttribute('progressPercent')) || 100; - } - - get cursor() { - /** - * Getter for the cursor property - */ - return replaceTagSymbols(this.getAttribute('cursor')?.toString()) || '▋'; - } - - get inputChar() { - /** - * Getter for the inputChar property - */ - if (this.hasAttribute('PS1')) { - return ''; - } else { - return replaceTagSymbols(this.getAttribute('inputChar')?.toString()) || '$'; - } - } - - get promptChar() { - /** - * Getter for the promptChar property - */ - return replaceTagSymbols(this.getAttribute('promptChar')?.toString()) || '>>>'; - } - - get directory() { - /** - * Getter for the directory property - */ - if (this.hasAttribute('PS1')) { - return ''; - } else { - return replaceTagSymbols(this.getAttribute('directory')?.toString()) || ''; - } - } - - get PS1() { - /** - * Getter for the PS1 property - */ - if (this.hasAttribute('PS1')) { - return this.getAttribute('PS1'); - } else { - return `${this.directory}${this.inputChar} `; - } - } - - get static() { - /** - * Getter for the static property - */ - let attr = this.getAttribute('static') - if (attr == 'false') { - return false - } else if (attr == "") { - return true - } else { - return !!attr - } - } - - get init() { - /** - * Getter for the init property - */ - let attr = this.getAttribute('init') - if (attr == 'false') { - return false - } else if (attr == "") { - return true - } else { - return !!attr - } - } - - applyMode() { - /** - * Sets the color scheme according to the mode selected. - */ - const colors = document.createElement('style'); - if (this.mode == 'dark') { - colors.innerHTML = ` - :host { - --color-bg: #252a33; - --color-text: #eee; - --color-control-buttons: #FAA619; - --color-control-buttons-hover: #115D97; - --color-scrollbar: rgba(255, 255, 255, .6); - ` - } else { - colors.innerHTML = ` - :host { - --color-text: #252a33; - --color-bg: #eee; - --color-control-buttons-hover: #FAA619; - --color-control-buttons: #115D97; - --color-scrollbar: rgba(0, 0, 0, .6); - ` - } - this.shadowRoot.appendChild(colors); - } - - keepLines() { - /* - * Delete all terminal lines without tags or whose tags are not within the elementList - * and create the lines property with the kept ones. - */ - for (let i=0; i { - if (line.data == 'progress') { - line.generateProgress(); - } - }) - } - - hide(element) { - /** - * Change element's style to 'hidden' - */ - element.style.visibility = 'hidden'; - } - - show(element) { - /** - * Change element's style to 'visible' - */ - element.style.visibility = 'visible'; - } - - sleep(time) { - /** - * Sleep for an amount of time - */ - return new Promise(resolve => setTimeout(resolve, time)); - } - - resetDelays() { - this.lines.forEach(line => { - line._lineDelay; - line._typingDelay; - }) - } - - hideLines() { - /** - * Hide lines inside the terminal - */ - this.lines.forEach(line => this.hide(line)); - } - - generateRestartButton() { - /** - * Generate restart button and adds it hidden to 'this.container' - */ - const restart = document.createElement('a') - restart.setAttribute('part','restart-button') - restart.onclick = e => { - e.preventDefault(); - this.hideAll(); - this.scrollToTop(); - this.mutationObserver.disconnect(); - this.initialiseAnimation(); - } - restart.href = ''; - restart.classList.add('restart-button'); - restart.innerHTML = "restart ↻"; - this.hide(restart); - restart.addEventListener('click', e => this.hide(restart)); - this.restartButton = restart; - this.container.appendChild(restart); - } - - generateFastButton() { - /** - * Generate fast button and adds it hidden to 'this.container' - */ - function nullifyDelays(_this) { - _this.lines.forEach(line => { - line._lineDelay = 0; - line._typingDelay = 0; - }) - } - const fast = document.createElement('a') - fast.setAttribute('part','fast-button') - fast.onclick = (e) => { - e.preventDefault(); - nullifyDelays(this); - } - fast.href = ''; - fast.classList.add('fast-button'); - fast.innerHTML = "fast ❯❯❯"; - this.hide(fast); - fast.addEventListener('click', e => this.hide(fast)); - this.addFocusOnTerminalContainerOnClick(fast); - this.fastButton = fast; - this.container.prepend(fast); - } - - setTerminal() { - /** - * Clear container and generate restart/fast buttons. - */ - this.hideLines(); - this.generateRestartButton(); - this.generateFastButton(); - this.generateObservers(); - } - - hidePS1AndPromptChar() { - /** - * Hides PS1 and Prompt Char for terminal reset - */ - this.lines.forEach(line => { - let elem = line.shadowRoot?.querySelector('.ps1, .promptChar'); - if (elem) { - this.hide(elem); - } - }) - } - - hideAll() { - this.hideLines(); - this.hidePS1AndPromptChar(); - } - - async initialiseAnimation() { - /** - * Start the animation and render the lines - */ - // while (this.container.scrollTop != 0) {await this.sleep(50)} //Start when the container is scroll up to the top. - this.autoScroll(); - await this.sleep(this.startDelay); - this.show(this.fastButton); - for (let line of this.lines) { - line.classList.add('isBeingTyped'); - if (line.tagName.toLowerCase() == 'terminal-line') { - // Handle lines - await line.type(); - } else if (line.tagName.toLowerCase() == 'img') { - // Handle lines - this.show(line); - // await this.sleep(2000); - // this.hide(line); - } - line.classList.remove('isBeingTyped'); - } - this.hide(this.fastButton); - this.resetDelays(); - this.show(this.restartButton); - } - - initialiseWhenVisible() { - /** - * Initialise the terminal only when it becomes visible - */ - let observer = new IntersectionObserver(entries => { - entries.forEach(entry => { - if (entry.isIntersecting) { - this.initialiseAnimation(); - observer.unobserve(this); - } - }) - }, - { - rootMargin: "-50px", - }) - observer.observe(this); - } - - addFocusOnTerminalContainerOnClick(elem) { - elem.addEventListener('click',() => this.container.focus()) - } - - scrollToTop() { - // Scroll to the bottom of the container. - this.container.scrollTop = 0; - } - - scrollToBottom() { - // Scroll to the bottom of the container. - this.container.scrollTop = this.container.scrollHeight; - } - - scrollOneLine(line) { - const nPix = parseInt(getComputedStyle(line).height); - this.container.scrollBy(0,nPix); - } - - generateObservers() { - const intersectionFunction = entry => { - if (entry.intersectionRatio == 1) { - intersectionObserver.unobserve(entry.target); - } else { - if (entry.target.nextSibling) { - this.scrollOneLine(entry.target); - } - intersectionObserver.unobserve(entry.target); - } - } - - let margin = `${parseInt(getComputedStyle(this.container).marginBottom) - 5}px` // Margin of the intersectionObserver computed as bottom margin - 5px (5px padding) - let intersectionObserver = new IntersectionObserver(entries => { - entries.forEach(entry => { - intersectionFunction(entry) - }) - }, - { - root: this.container, - rootMargin: `0px 0px ${margin} 0px`, - }) - - const mutationFunction = entry => { - if (entry.target.nextSibling) { - intersectionObserver.observe(entry.target.nextSibling) - } else { - this.scrollToBottom(); - } - } - - this.mutationObserver = new MutationObserver(entries => { - entries.forEach(entry => { - if (entry.oldValue?.includes("isBeingTyped")) { - mutationFunction(entry) - } - }) - }) - } - - autoScroll() { - /** - * Auto scrolls 1 line if the terminal content exceeds the terminal max-height. - */ - this.lines.forEach(line => { - this.mutationObserver.observe(line,{ - attributes: true, - attributeOldValue: true, - attributeFilter: ["class"] - }) - }); - - this.addEventListener('wheel', e => { - this.mutationObserver.disconnect(); - }) - - this.addEventListener('keydown', e => { - if (['ArrowDown','Space','ArrowUp'].includes(e.code)) { - this.mutationObserver.disconnect(); - } - }) - } -} - -/* ============================================================================================================= - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== - =============================================================================================================== */ - - /* Terminal line */ -const lineTemplate = document.createElement('template'); -lineTemplate.innerHTML = ` - - - -
- - -` - -class TerminalLine extends HTMLElement { - /** - * Defining custom attributes for component - // * @param {string} data - Type of prompt for the current line. Choices can be: - // * - 'output': Output of the terminal. Written all at once; (default) - // * - 'input': Input to the terminal. Written with typing animation after 'directory' and 'inputChar' attributes; - // * - 'prompt': Same as input, but with written with typing animation after 'promptChar' attribute; - // * - 'progress' Line with progress bar animation. - // * @param {number} lineDelay - Delay before the start of the line animation, in ms. - // * @param {number} typingDelay - Delay between each typed character in the line, in ms. - // * @param {string} progressChar – Character to use for progress bar in the line, defaults to █. - // * @param {number} progressPercent - Max percent of progress in the line, default 100%. - // * @param {string} cursor – Character to use for cursor in the line, defaults to ▋. - // * @param {string} inputChar – Character(s) to use before the 'input' prompt in the line, defaults to '$'. - // * @param {string} directory – Directory to write in the 'input' prompt before the input character in the line. - // * @param {string} promptChar – Character(s) to use before the 'prompt' prompt in the line, defaults to '>>>'. - // * @param {string} PS1 – String to write in the 'input' prompt before the actual line. - If present, any 'directory' or 'input' attribute will be disregarded. - Accepts HTML format. E.g.: "This is a valid PS1 attribute" - // */ - constructor() { - super(); - const shadow = this.attachShadow({ mode: "open" }); - shadow.appendChild(lineTemplate.content.cloneNode(true)); - this.ALLOWED_NODES = ["span"]; - this.line = this.shadowRoot.querySelector(".terminal-line"); - this.setCursorChar(); - this.keepNodes(); - this.generatePS1AndPromptCharElements(); - this.resetDelays(); - this.container.addFocusOnTerminalContainerOnClick(this); - } - - get container() { - if (this.parentElement.tagName.toLowerCase() != 'terminal-animation') { - throw new Error("A 'terminal-line' tag can only be placed inside a 'terminal-animation' tag."); - } - return this.parentElement; - } - - get data() { - /** - * Getter for the data property - */ - if (this.hasAttribute('data')) { - let attr = this.getAttribute('data'); - if (this.container.DATA_TYPES.includes(attr)) { - return attr; - } else { - return 'output'; - } - } else { - return this.container.data; - } - } - - get _lineDelay() { - /** - * Resets lineDelay property. - */ - if (this.hasAttribute('lineDelay')) { - this.lineDelay = parseFloat(this.getAttribute('lineDelay')); - } else if (this.container.hasAttribute('lineDelay')) { - this.lineDelay = parseFloat(this.container.getAttribute('lineDelay')); - } else if (["input","prompt"].includes(this.data)) { - this.lineDelay = 600; - } else { - this.lineDelay = 100; - } - } - - set _lineDelay(time) { - /** - * Sets lineDelay property. - */ - this.lineDelay = time; - } - - get _typingDelay() { - /** - * Resets typingDelay property. - */ - if (this.hasAttribute('typingDelay')) { - this.typingDelay = parseFloat(this.getAttribute('typingDelay')); - } else if (this.container.hasAttribute('typingDelay')) { - this.typingDelay = parseFloat(this.container.getAttribute('typingDelay')); - } else if (["progress"].includes(this.data)) { - this.typingDelay = 30; - } else { - this.typingDelay = 80; - } - } - - set _typingDelay(time) { - /** - * Sets typingDelay property. - */ - this.typingDelay = time; - } - - resetDelays() { - this._lineDelay; - this._typingDelay; - } - - get progressChar() { - /** - * Getter for the progressChar property - */ - return replaceTagSymbols(this.getAttribute('progressChar')?.toString()) || this.container.progressChar; - } - - get progressPercent() { - /** - * Getter for the progressPercent property - */ - return parseFloat(this.getAttribute('progressPercent')) || this.container.progressPercent; - } - - get cursor() { - /** - * Getter for the cursor property - */ - return replaceTagSymbols(this.getAttribute('cursor')?.toString()) || this.container.cursor; - } - - get inputChar() { - /** - * Getter for the inputChar property - */ - if (this.hasAttribute('PS1')) { - return ''; - } else { - return replaceTagSymbols(this.getAttribute('inputChar')?.toString()) || this.container.inputChar; - } - } - - get promptChar() { - /** - * Getter for the promptChar property - */ - return replaceTagSymbols(this.getAttribute('promptChar')?.toString()) || this.container.promptChar; - } - - get directory() { - /** - * Getter for the directory property - */ - if (this.hasAttribute('PS1')) { - return ''; - } else { - return replaceTagSymbols(this.getAttribute('directory')?.toString()) || this.container.directory; - } - } - - get PS1() { - /** - * Getter for the PS1 property - */ - if (this.hasAttribute('PS1')) { - return this.getAttribute('PS1'); - } else if (this.hasAttribute('directory') || this.hasAttribute('inputChar')) { - return `${this.directory}${this.inputChar} `; - } else { - return this.container.PS1; - } - } - - setCursorChar() { - const style = document.createElement('style'); - style.innerHTML=` - .cursor::after { - content: '${this.cursor}'; - font-family: monospace; - -webkit-animation: blink 1s infinite; - animation: blink 1s infinite; - } - - @-webkit-keyframes blink { - 50% { - opacity: 0; - } - } - - @keyframes blink { - 50% { - opacity: 0; - } - } - ` - this.shadowRoot.appendChild(style); - } - - keepNodes(elementList=this.ALLOWED_NODES) { - /* - * Delete all line nodes whose tags are not within the elementList, - * create tags around textNodes, - * and create the nodes property with the kept ones. - */ - for (let i=0; i setTimeout(resolve, time)); - } - - showPS1() { - this.show(this.shadowRoot.querySelector('.ps1')); - } - - showPromptChar() { - this.show(this.shadowRoot.querySelector('.promptChar')); - } - - async type() { - /** - * Function that handles the animation of the current line based on its data property - */ - if (this.data == 'input') { - this.showPS1(); - await this.typeInput(); - } else if (this.data == 'progress') { - await this.sleep(this.lineDelay); - await this.typeProgress(); - return; - } else if (this.data == 'prompt') { - this.showPromptChar(); - await this.typeInput(); - } else { - await this.sleep(this.lineDelay); - this.show() - } - - } - - measureChar(char=this.progressChar) { - const ruler = document.createElement('span'); - ruler.innerHTML = char; - ruler.style.whiteSpace = 'pre'; - this.appendChild(ruler); - const width = ruler.offsetWidth; - this.removeChild(ruler); - return width; - } - - async typeProgress() { - /** - * Animate a progress bar. - */ - const progressCharWidth = this.measureChar(); - const progressSteps = Math.round((parseInt(getComputedStyle(this).width)*0.8*(this.progressPercent/100))/progressCharWidth); - let percent = 0; - this.textContent = '0%'; - this.show(); - for (let i=1; i<=progressSteps; i++) { - await this.sleep(this.typingDelay); - percent = Math.round(this.progressPercent/progressSteps*i) - this.textContent = `${this.progressChar.repeat(i)} ${percent}%`; - } - } - - generateProgress() { - const progressCharWidth = this.measureChar(); - const progressLength = Math.round((parseInt(getComputedStyle(this).width)*0.8*(this.progressPercent/100))/progressCharWidth); - this.textContent = `${this.progressChar.repeat(progressLength)} ${this.progressPercent}%`; - } - - async typeInput() { - /** - * Animate an input line. - */ - let textArray = this.getAndRemoveTextContent(); - this.show(); - this.addCursor(); - await this.sleep(this.lineDelay); - for (let i=0; i Date: Wed, 2 Aug 2023 11:21:04 +1000 Subject: [PATCH 03/22] Update intake showcase text --- .../model_evaluation_model_catalogs/index.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/model_evaluation/model_evaluation_model_catalogs/index.md b/docs/model_evaluation/model_evaluation_model_catalogs/index.md index b5747bea8..b4f88010b 100644 --- a/docs/model_evaluation/model_evaluation_model_catalogs/index.md +++ b/docs/model_evaluation/model_evaluation_model_catalogs/index.md @@ -16,7 +16,7 @@ The ACCESS-NRI catalog is essentially a table of climate data products that exis ## Showcase: use intake to easily find, load and plot data -In this showcase, we'll demonstrate one of the simplest use-cases of the ACCESS-NRI intake catalog: a user wants to plot a timeseries of a variable from a specific data product. Here, the variable is a scalar ocean variable called "temp_global_ave" and the product is an ACCESS-OM2 run called "025deg_jra55_iaf_omip2_cycle1". +In this showcase, we'll demonstrate one of the simplest use-cases of the ACCESS-NRI intake catalog: a user wants to plot a timeseries of a variable from a specific data product. Here, the variable is a scalar ocean variable called "temp_global_ave" and the product is an ACCESS-ESM1-5 run called "HI_CN_05", which is an historical run using same configuration as CMIP6 ACCESS-ESM1-5 historical r1i1p1f1, but with phosphorus limitation disabled within CASA-CNP. First we load the catalog using @@ -25,20 +25,17 @@ import intake catalog = intake.cat.access_nri ``` -Now we can load and plot available datasets of the variable "temp_global_ave" from the product "025deg_jra55_iaf_omip2_cycle1" using +Now we can load and plot available datasets of the variable "temp_global_ave" from the product "HI_CN_05" using ```python import matplotlib.pyplot as plt -dataset_dict = catalog["025deg_jra55_iaf_omip2_cycle1"].search( - variable="temp_global_ave" -).to_dataset_dict() +# This returns an xarray Dataset +dataset = catalog["HI_CN_05"].search(variable="temp_global_ave").to_dask() -# `dataset_dict` contains two xarray Datasets, one at daily frequency and one at monthly -dataset_dict["ocean_scalar_snapshot.1day"]["temp_global_ave"].plot(label="daily") -dataset_dict["ocean_scalar.1mon"]["temp_global_ave"].plot(label="monthly") +# Plot the data +dataset["temp_global_ave"].plot() plt.title("") -plt.legend() plt.grid() ``` From 6306fc2857237d6bad050388e277d8cd54a38e46 Mon Sep 17 00:00:00 2001 From: svenbuder Date: Wed, 2 Aug 2023 11:25:29 +1000 Subject: [PATCH 04/22] warning and information boxes for level of support --- .../community_med/community_data_processing.md | 4 ++-- .../community_med/community_med_recipes.md | 3 ++- .../community_med/community_model_catalogs.md | 3 +++ .../community_med/community_observational_catalogs.md | 3 +++ docs/community_resources/community_med/index.md | 3 ++- .../model_evaluation_on_gadi_esmvaltool.md | 10 ++++++++-- .../model_evaluation_on_gadi_ilamb.md | 11 ++++++++++- .../model_evaluation_on_gadi_metplus.md | 7 ++++++- .../model_evaluation_on_gadi_pangeo_cosima.md | 7 +++++++ 9 files changed, 43 insertions(+), 8 deletions(-) diff --git a/docs/community_resources/community_med/community_data_processing.md b/docs/community_resources/community_med/community_data_processing.md index 2f40edbfc..f72dc092d 100644 --- a/docs/community_resources/community_med/community_data_processing.md +++ b/docs/community_resources/community_med/community_data_processing.md @@ -1,7 +1,7 @@ # Community Processing Data Processing Tools - - +???+ warning "These resource collections are not actively supported by ACCESS-NRI" + Here, we collate lists of useful resources for Model Evaluation and Diagnostics (MED). Contrary to the supported content of our [ACCESS-NRI Model Evaluation pages](../../model_evaluation/index.md), the information below is not actively support unless stated otherwise. ## Tools diff --git a/docs/community_resources/community_med/community_med_recipes.md b/docs/community_resources/community_med/community_med_recipes.md index 24911e44b..d2a59ac2e 100644 --- a/docs/community_resources/community_med/community_med_recipes.md +++ b/docs/community_resources/community_med/community_med_recipes.md @@ -1,6 +1,7 @@ # Community Model Evaluation and Diagnostics (MED) Recipe Gallery - +???+ warning "These resource collections are not actively supported by ACCESS-NRI" + Here, we collate lists of useful resources for Model Evaluation and Diagnostics (MED). Contrary to the supported content of our [ACCESS-NRI Model Evaluation pages](../../model_evaluation/index.md), the information below is not actively support unless stated otherwise. We are trying to ingest more and more model evaluation and diagnostics recipes in your currated [recipe gallery on this website](../../model_evaluation/model_evaluation_recipe_gallery.md). While this is a continous effort, this site is intented for a list of model evaluation and diagnostics recipes that are not (yet) ingested but may be interesting for the community: diff --git a/docs/community_resources/community_med/community_model_catalogs.md b/docs/community_resources/community_med/community_model_catalogs.md index 0870c9dcb..f578c9155 100644 --- a/docs/community_resources/community_med/community_model_catalogs.md +++ b/docs/community_resources/community_med/community_model_catalogs.md @@ -1,5 +1,8 @@ # Community Model Data Catalogs +???+ warning "These resource collections are not actively supported by ACCESS-NRI" + Here, we collate lists of useful resources for Model Evaluation and Diagnostics (MED). Contrary to the supported content of our [ACCESS-NRI Model Evaluation pages](../../model_evaluation/index.md), the information below is not actively support unless stated otherwise. + We are trying to ingest more and more model data catalogs in your currated [catalog on this website](../../model_evaluation/model_evaluation_model_catalogs/model_evaluation_search_models.md). While this is a continous effort, this site is intented for a list of additional model data catalogs that are not (yet) ingested but are recommended by us or may be interesting for the community: diff --git a/docs/community_resources/community_med/community_observational_catalogs.md b/docs/community_resources/community_med/community_observational_catalogs.md index 6b7b02a7e..f681b6654 100644 --- a/docs/community_resources/community_med/community_observational_catalogs.md +++ b/docs/community_resources/community_med/community_observational_catalogs.md @@ -1,5 +1,8 @@ # Community Observational Data Catalogs +???+ warning "These resource collections are not actively supported by ACCESS-NRI" + Here, we collate lists of useful resources for Model Evaluation and Diagnostics (MED). Contrary to the supported content of our [ACCESS-NRI Model Evaluation pages](../../model_evaluation/index.md), the information below is not actively support unless stated otherwise. + We are trying to ingest more and more model data catalogs in your currated [catalog on this website](../../model_evaluation/model_evaluation_model_catalogs/model_evaluation_search_models.md). While this is a continous effort, this site is intented for a list of additional model data catalogs that are not (yet) ingested but are recommended by us or may be interesting for the community:
diff --git a/docs/community_resources/community_med/index.md b/docs/community_resources/community_med/index.md index 7e8c767f5..8aa5c4bcf 100644 --- a/docs/community_resources/community_med/index.md +++ b/docs/community_resources/community_med/index.md @@ -1,6 +1,7 @@ # Community Model Evaluation and Diagnostics Links - +???+ warning "These resource collections are not actively supported by ACCESS-NRI" + Here, we collate lists of useful resources for Model Evaluation and Diagnostics (MED). Contrary to the supported content of our [ACCESS-NRI Model Evaluation pages](../../model_evaluation/index.md), the information below is not actively support unless stated otherwise.
diff --git a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md index ea747e49e..c5c3b1b9d 100644 --- a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md +++ b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md @@ -1,9 +1,15 @@ # Tutorial for using `esmvaltool` on Gadi@NCI -![ESMValTool-logo](https://docs.esmvaltool.org/en/latest/_static/ESMValTool-logo-2.png) +`esmvaltool` is the Earth System Model Evaluation Tool. -{% include "call_contribute.md" %} +???+ int "ACCESS-NRI is actively supporting ESMValTool on Gadi" + + ESMValTool is a community-developed climate model diagnostics and evaluation software package. + + ACCESS-NRI does not own the code of ESMValTool, but actively supports the use of ESMValTool on Gadi. + ACCESS-NRI provides access to the latest version of ESMValTool via the `xp65` access-med conda environment deployed on NCI-Gadi. +![ESMValTool-logo](https://docs.esmvaltool.org/en/latest/_static/ESMValTool-logo-2.png) [ACCESS ESMValTool Worflow recipe status][esmvaltool-workflow-repository] diff --git a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_ilamb.md b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_ilamb.md index b3497e70a..2a1b759bd 100644 --- a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_ilamb.md +++ b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_ilamb.md @@ -1,6 +1,15 @@ # `ilamb` on Gadi at NCI -ACCESS-NRI is maintaining a version of the `python` package `ilamb` for International Land Model Benchmarking (ILAMB) and International Ocean Model Benchmark (IOMB) on Gadi at the National Compuational Infrastructure (NCI). +`ilamb` is a Python framework for for International Land Model Benchmarking (ILAMB) and International Ocean Model Benchmark (IOMB). + +???+ int "ACCESS-NRI is actively supporting ILAMB/IOMB on Gadi" + + ILAMB/IOMB is a community-developed climate model diagnostics and evaluation software package. + + ACCESS-NRI does not own the code of ILAMB/IOMB, but actively supports the use of ILAMB/IOMB on Gadi. + ACCESS-NRI provides access to the latest version of ILAMB/IOMB via the `xp65` access-med conda environment deployed on NCI-Gadi. + +ACCESS-NRI is maintaining a version of the package `ilamb` on Gadi at the National Compuational Infrastructure (NCI). Here, we provide a quick tutorial on how use `ilamb` on Gadi. We assume that you already have access to Gadi, logged onto Gadi via secure shell (ssh) and loaded our `access-med` `conda` environment (if not, follow [these instructions](../model_evaluation_getting_started/index.md)). diff --git a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_metplus.md b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_metplus.md index 96d96df05..5a47ac38b 100644 --- a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_metplus.md +++ b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_metplus.md @@ -3,6 +3,11 @@ [METplus](https://dtcenter.org/community-code/metplus) is the enhanced Model Evaluation Tools (METplus) verification system. ???+ int "ACCESS-NRI is actively supporting METplus on Gadi" + + METplus was developed by the Developmental Testbed Center (DTC) and is being actively developed by NCAR/Research Applications Laboratory (RAL), NOAA/Earth Systems Research Laboratories (ESRL), NOAA/Environmental Modeling Center (EMC), and is open to community contributions. + + ACCESS-NRI does not own the code of METplus, but actively supports the use of METplus on Gadi. + ACCESS-NRI provides access to the latest version of ESMValTool via the `access` conda environment deployed on NCI-Gadi. For detailed information, tutorials and more of [METplus](https://metplus.readthedocs.io/en/latest/index.html), please go to the
@@ -16,7 +21,7 @@ For detailed information, tutorials and more of [METplus](https://metplus.readth ## What is METplus? -[METplus](https://dtcenter.org/community-code/metplus) is a verification framework that spans a wide range of temporal (warn-on-forecast to climate) and spatial (storm to global) scales. It is intended to be extensible through additional capability developed by the community The core components of the framework include the [Model Evaluation Tools (MET)](https://met.readthedocs.io/en/latest/), the associated database and display systems called METviewer and METexpress, and a suite of Python wrappers to provide low-level automation and examples, also called use-cases. METplus will be a component of NOAA's Unified Forecast System (UFS) cross-cutting infrastructure as well as NCAR's System for Integrated Modeling of the Atmosphere (SIMA). METplus was developed by the Developmental Testbed Center (DTC) and is being actively developed by NCAR/Research Applications Laboratory (RAL), NOAA/Earth Systems Research Laboratories (ESRL), NOAA/Environmental Modeling Center (EMC), and is open to community contributions. +[METplus](https://dtcenter.org/community-code/metplus) is a verification framework that spans a wide range of temporal (warn-on-forecast to climate) and spatial (storm to global) scales. It is intended to be extensible through additional capability developed by the community The core components of the framework include the [Model Evaluation Tools (MET)](https://met.readthedocs.io/en/latest/), the associated database and display systems called METviewer and METexpress, and a suite of Python wrappers to provide low-level automation and examples, also called use-cases. METplus will be a component of NOAA's Unified Forecast System (UFS) cross-cutting infrastructure as well as NCAR's System for Integrated Modeling of the Atmosphere (SIMA). ## Showcase of METplus 5.0 diff --git a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_pangeo_cosima.md b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_pangeo_cosima.md index e690a1e20..fec74d1d5 100644 --- a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_pangeo_cosima.md +++ b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_pangeo_cosima.md @@ -1,6 +1,13 @@ # COSIMA cookbooks on NCI's Gadi +???+ int "ACCESS-NRI is actively supporting the COSIMA Cookbook on Gadi" + + The COSIMA Cookbook is developed by the Consortium for Ocean-Sea Ice Modelling in Australia. + + ACCESS-NRI does not own the code of the COSIMA Cookbook, but actively supports the use of the COSIMA Cookbook on Gadi. + ACCESS-NRI provides access to the latest version of the COSIMA Cookbook via the `hh5` access-med conda environment deployed on NCI-Gadi. + COSIMA is the Consortium for Ocean-Sea Ice Modelling in Australia, which brings together Australian researchers involved in global ocean and sea ice modelling. The consortium provides a collection of `cosmia-recipes` for the evaluation of ocean-sea ice modelling that are currated for you on Gadi. From 61982ac44acab2dbf89121d656118130f8266e88 Mon Sep 17 00:00:00 2001 From: dougiesquire Date: Wed, 2 Aug 2023 11:29:15 +1000 Subject: [PATCH 05/22] Update intake showcase plot --- .../model_evaluation/intake_example.png | Bin 53956 -> 35415 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/assets/model_evaluation/intake_example.png b/docs/assets/model_evaluation/intake_example.png index ab033c4f581e1d670cc690b3b37268e26045b8a7..c5bbbee780bc05d79eac7630628c7b0c81c56965 100644 GIT binary patch literal 35415 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 Geg6l9qjEn0 literal 53956 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

aV@&ZsCoay;_Apaz4~96_Xp__X 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 z zQ<0U4&eDu9q@Gfe=bPaMazZ#&Rod|Re|{S&^P)smmX!YGTp8BPgQ5Pi{Gk#mMiRo#eGR(5Vv~(M@86nLM=0q04ds7bwcBB_4lM* z=}yQS8RNY^AI!=SXx>HiU@(!FNTvP!${a;#X`$hQj(hLO+`U_**_Y4No2=0dSjCqy z-5;De-xro+&*J8BYv8-$2Uz)7O^xJsEMrHE6=?Ur_=WIZ?{O%4Vs@cAsmKDGEJijj zWUJLe6F4XHs#MGL^%Q@gN_ZJ-X{gX|JLgJCe(ZBTEz;NVs-!jgpF--NiPy9)F=E

fontello font demo

icon-key0xe804
+
+ icon-group-10xe805 +

%mF4E9WGbW3kJE`RM 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 Date: Wed, 2 Aug 2023 11:32:23 +1000 Subject: [PATCH 06/22] remove whitespace around plot --- .../model_evaluation/intake_example.png | Bin 35415 -> 34874 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/assets/model_evaluation/intake_example.png b/docs/assets/model_evaluation/intake_example.png index c5bbbee780bc05d79eac7630628c7b0c81c56965..23e47f110945ba5d1cb8c586b4fb5ff9decaa1ad 100644 GIT binary patch literal 34874 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 DhpbGi literal 35415 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 Geg6l9qjEn0 From f290f36415a1799556a064e667aa053a15e900ca Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 11:37:54 +1000 Subject: [PATCH 07/22] - Added new animated-terminal.js CDN from https://github.com/atteggiani/animated-terminal.js \n- Added button at the top of page (next to pen to edit page) to toggle all terminal animations for the page, based on a cookie that remembers the option people visit the Hive again in the future --- .../terminal_animation_switch_active.png | Bin 0 -> 4337 bytes .../terminal_animation_switch_inactive.png | Bin 0 -> 8696 bytes docs/css/access-nri.css | 39 +++++++++----- docs/fontello/config.json | 14 +++++ docs/fontello/css/fontello-codes.css | 1 + docs/fontello/css/fontello-embedded.css | 13 ++--- docs/fontello/css/fontello-ie7-codes.css | 1 + docs/fontello/css/fontello-ie7.css | 1 + docs/fontello/css/fontello.css | 15 +++--- docs/fontello/demo.html | 13 +++-- docs/fontello/font/fontello.eot | Bin 7116 -> 7348 bytes docs/fontello/font/fontello.svg | 2 + docs/fontello/font/fontello.ttf | Bin 6948 -> 7180 bytes docs/fontello/font/fontello.woff | Bin 4240 -> 4400 bytes docs/fontello/font/fontello.woff2 | Bin 3456 -> 3628 bytes docs/get_started/index.md | 32 ++++++------ docs/models/run-a-model/run-access-cm.md | 49 +++++++++--------- docs/models/run-a-model/run-access-esm.md | 30 +++++------ docs/models/run-a-model/run-access-om.md | 30 +++++------ mkdocs.yml | 2 +- 20 files changed, 138 insertions(+), 104 deletions(-) create mode 100644 docs/assets/terminal_animation_switch_active.png create mode 100644 docs/assets/terminal_animation_switch_inactive.png diff --git a/docs/assets/terminal_animation_switch_active.png b/docs/assets/terminal_animation_switch_active.png new file mode 100644 index 0000000000000000000000000000000000000000..c47e28535fff7ae5f841506165bd068505bcba27 GIT binary patch literal 4337 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 BDB}PC literal 0 HcmV?d00001 diff --git a/docs/assets/terminal_animation_switch_inactive.png b/docs/assets/terminal_animation_switch_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc9d8997a463c5d0a911e868de07a0fceeffb85 GIT binary patch literal 8696 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 literal 0 HcmV?d00001 diff --git a/docs/css/access-nri.css b/docs/css/access-nri.css index 72cd6e965..58f6c5e23 100644 --- a/docs/css/access-nri.css +++ b/docs/css/access-nri.css @@ -76,9 +76,9 @@ --card-shadows-hover: #00000090; /* Shadows hover on cards and other elements */ --white-background: rgb(255, 255, 255); /* Background for transparent images */ --darker-background-hover: rgba(28, 28, 28, 0.185); /* Darker background on hover */ - --terminal-animation-directory: var(--nri-green); - --terminal-animation-buttons: var(--nri-orange); - --terminal-animation-buttons-hover: var(--nri-blue); + --animated-terminal-directory: var(--nri-green); + --animated-terminal-buttons: var(--nri-orange); + --animated-terminal-buttons-hover: var(--nri-blue); --note: var(--card-borders); /* Note border and icon */ --note-bg: rgba(var(--nri-orange-color),.05); /* Note background */ } @@ -154,9 +154,9 @@ --card-shadows-hover: #00000090; /* Shadows hover on cards and other elements */ --white-background: rgb(255, 255, 255); /* Background for transparent images */ --darker-background-hover: rgba(28, 28, 28, 0.185); /* Darker background on hover */ - --terminal-animation-directory: var(--nri-dark-blue); - --terminal-animation-buttons: var(--nri-orange); - --terminal-animation-buttons-hover: var(--nri-blue); + --animated-terminal-directory: var(--nri-dark-blue); + --animated-terminal-buttons: var(--nri-orange); + --animated-terminal-buttons-hover: var(--nri-blue); --note: var(--card-borders); /* Note border and icon */ --note-bg: rgba(var(--nri-orange-color),.05); /* Note background */ } @@ -625,28 +625,29 @@ pre:has(code):hover > button { /* =============================================================== Terminal animations */ -::part(terminal-container) { +::part(terminal-window) { background-color: var(--md-code-bg-color); color: var(--md-code-fg-color); font-family: var(--md-code-font-family); font-weight: unset; + box-shadow: 0 0 2px var(--card-borders); } ::part(input-character) { - color: var(--terminal-animation-buttons); + color: var(--animated-terminal-buttons); } ::part(directory) { - color: var(--terminal-animation-directory); + color: var(--animated-terminal-directory); } -::part(fast-button), ::part(restart-button) { - color: var(--terminal-animation-buttons); +::part(fast-button), ::part(restart-button), ::part(img-icon) { + color: var(--animated-terminal-buttons); font-weight: 700; } -::part(fast-button):hover, ::part(restart-button):hover { - color: var(--terminal-animation-buttons-hover); +::part(fast-button):hover, ::part(restart-button):hover, ::part(img-icon):hover { + color: var(--animated-terminal-buttons-hover); } /* Try to format like the output of `ls` command */ @@ -655,6 +656,17 @@ pre:has(code):hover > button { word-break: normal; } +#terminalSwitch { + float: right; + height: 1.1rem; + display: inline; + vertical-align: top; + margin: 0.5rem 0.2rem; +} + +#terminalSwitch:hover { + cursor: pointer; +} /* =============================================================== General styling for html tabs */ @@ -663,7 +675,6 @@ pre:has(code):hover > button { box-shadow: 0 -0.05rem var(--md-default-fg-color--lightest) inset; display: flex; width: fit-content; - /* max-width: 100%; */ overflow: auto; margin-top: 1em; } diff --git a/docs/fontello/config.json b/docs/fontello/config.json index 837b85e9e..cf74dad9e 100644 --- a/docs/fontello/config.json +++ b/docs/fontello/config.json @@ -43,6 +43,20 @@ "search": [ "key" ] + }, + { + "uid": "7523e449ad0bd4432eec68980a7815da", + "css": "group-1", + "code": 59397, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M1342.9 0C1390.3 0 1428.6 38.3 1428.6 85.7V914.3C1428.6 961.7 1390.3 1000 1342.9 1000H85.7C38.3 1000 0 961.7 0 914.3V85.7C0 38.3 38.3 0 85.7 0ZM207.7 136.9C193.4 130 176.6 136.3 169.7 150.6 163.1 164.9 169.1 182 183.7 188.6L417.4 297.7 185.1 406C170.9 412.6 164.6 429.4 171.1 443.7 178 458 194.9 464.3 209.1 457.7L498 323.1C512.3 316.3 518.3 299.4 511.7 285.1 507.7 276.6 500 270.9 491.4 269.1ZM605.7 402.9C590 402.9 577.1 415.7 577.1 431.4 577.1 447.1 590 460 605.7 460H924.3C940 460 952.9 447.1 952.9 431.4 952.9 415.7 940 402.9 924.3 402.9Z", + "width": 1429 + }, + "search": [ + "group-1" + ] } ] } \ No newline at end of file diff --git a/docs/fontello/css/fontello-codes.css b/docs/fontello/css/fontello-codes.css index aeadfacab..c1a27db07 100644 --- a/docs/fontello/css/fontello-codes.css +++ b/docs/fontello/css/fontello-codes.css @@ -4,3 +4,4 @@ .icon-cc-by:before { content: '\e802'; } /* '' */ .icon-logout:before { content: '\e803'; } /* '' */ .icon-key:before { content: '\e804'; } /* '' */ +.icon-group-1:before { content: '\e805'; } /* '' */ diff --git a/docs/fontello/css/fontello-embedded.css b/docs/fontello/css/fontello-embedded.css index 87538f390..8b5493a39 100644 --- a/docs/fontello/css/fontello-embedded.css +++ b/docs/fontello/css/fontello-embedded.css @@ -1,15 +1,15 @@ @font-face { font-family: 'fontello'; - src: url('../font/fontello.eot?78506661'); - src: url('../font/fontello.eot?78506661#iefix') format('embedded-opentype'), - url('../font/fontello.svg?78506661#fontello') format('svg'); + src: url('../font/fontello.eot?56444611'); + src: url('../font/fontello.eot?56444611#iefix') format('embedded-opentype'), + url('../font/fontello.svg?56444611#fontello') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'fontello'; - src: url('data:application/octet-stream;base64,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') format('woff'), - url('data:application/octet-stream;base64,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ASsjYTgtsD4ssAAWsBcjQrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPyywABawFyNCILAKQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbBALCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBBLCMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBCLCMgLkawAiVGsBdDWFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAERE') format('truetype'); + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,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') format('truetype'); } /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ @@ -17,7 +17,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; - src: url('../font/fontello.svg?78506661#fontello') format('svg'); + src: url('../font/fontello.svg?56444611#fontello') format('svg'); } } */ @@ -62,3 +62,4 @@ .icon-cc-by:before { content: '\e802'; } /* '' */ .icon-logout:before { content: '\e803'; } /* '' */ .icon-key:before { content: '\e804'; } /* '' */ +.icon-group-1:before { content: '\e805'; } /* '' */ diff --git a/docs/fontello/css/fontello-ie7-codes.css b/docs/fontello/css/fontello-ie7-codes.css index 34b550050..c77e063b0 100644 --- a/docs/fontello/css/fontello-ie7-codes.css +++ b/docs/fontello/css/fontello-ie7-codes.css @@ -4,3 +4,4 @@ .icon-cc-by { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-logout { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-group-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } diff --git a/docs/fontello/css/fontello-ie7.css b/docs/fontello/css/fontello-ie7.css index b24cc4ead..48e033462 100644 --- a/docs/fontello/css/fontello-ie7.css +++ b/docs/fontello/css/fontello-ie7.css @@ -15,3 +15,4 @@ .icon-cc-by { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-logout { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } .icon-key { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } +.icon-group-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); } diff --git a/docs/fontello/css/fontello.css b/docs/fontello/css/fontello.css index e9de4108d..4416cd94a 100644 --- a/docs/fontello/css/fontello.css +++ b/docs/fontello/css/fontello.css @@ -1,11 +1,11 @@ @font-face { font-family: 'fontello'; - src: url('../font/fontello.eot?17104538'); - src: url('../font/fontello.eot?17104538#iefix') format('embedded-opentype'), - url('../font/fontello.woff2?17104538') format('woff2'), - url('../font/fontello.woff?17104538') format('woff'), - url('../font/fontello.ttf?17104538') format('truetype'), - url('../font/fontello.svg?17104538#fontello') format('svg'); + src: url('../font/fontello.eot?31780772'); + src: url('../font/fontello.eot?31780772#iefix') format('embedded-opentype'), + url('../font/fontello.woff2?31780772') format('woff2'), + url('../font/fontello.woff?31780772') format('woff'), + url('../font/fontello.ttf?31780772') format('truetype'), + url('../font/fontello.svg?31780772#fontello') format('svg'); font-weight: normal; font-style: normal; } @@ -15,7 +15,7 @@ @media screen and (-webkit-min-device-pixel-ratio:0) { @font-face { font-family: 'fontello'; - src: url('../font/fontello.svg?17104538#fontello') format('svg'); + src: url('../font/fontello.svg?31780772#fontello') format('svg'); } } */ @@ -59,3 +59,4 @@ .icon-cc-by:before { content: '\e802'; } /* '' */ .icon-logout:before { content: '\e803'; } /* '' */ .icon-key:before { content: '\e804'; } /* '' */ +.icon-group-1:before { content: '\e805'; } /* '' */ diff --git a/docs/fontello/demo.html b/docs/fontello/demo.html index c91c43b6a..7f4fec8c2 100644 --- a/docs/fontello/demo.html +++ b/docs/fontello/demo.html @@ -146,11 +146,11 @@ } @font-face { font-family: 'fontello'; - src: url('./font/fontello.eot?99954771'); - src: url('./font/fontello.eot?99954771#iefix') format('embedded-opentype'), - url('./font/fontello.woff?99954771') format('woff'), - url('./font/fontello.ttf?99954771') format('truetype'), - url('./font/fontello.svg?99954771#fontello') format('svg'); + src: url('./font/fontello.eot?94335739'); + src: url('./font/fontello.eot?94335739#iefix') format('embedded-opentype'), + url('./font/fontello.woff?94335739') format('woff'), + url('./font/fontello.ttf?94335739') format('truetype'), + url('./font/fontello.svg?94335739#fontello') format('svg'); font-weight: normal; font-style: normal; } @@ -228,6 +228,9 @@

diff --git a/docs/fontello/font/fontello.eot b/docs/fontello/font/fontello.eot index 773cfbaead9a570cf0dfbe23b0ab5e009103368f..6a23a5a76ec77dc1b14477d3a4de2b4f86803619 100644 GIT binary patch delta 694 zcmXw$L1+^}6o%j1*_q8|lWbSo4cMS?w+PDxu&-@E|=1N@+?Co&jsuTO`_0_RwEAIgCG63A3DQ4V{Z@zyf-k?#RSzPELox*>GQee)_74O9UEECTX z`f{1FOL_=9zYz)XEU<{n?Ifd=nrW=nJ2;242O7&*vS_cmip9d ztwR#NkPs@AW->f1D#SmDJBpbl7o&mK0A7{2=U%3m-FZHRog&g3j-IxLlZjw7fcA0J0(cBZ z`qJ1R?GJ`Ur=94HCx@dEJ{n0RB7cKUJnk$T1>5T}zBLR@w+-y|>Rgy*pJn+lEi;>p zJI!tBWGN^9lzVKO7Yp3(()kl^8-DiK3R?8a4ayUvQD5JmxMik(fyo+D{(7+2{9miC zK9bO+&MK|Lc70EW`3k_Gd*Ex*N3ns|aYqR&>r8KV)oPz~gP9sC$WTR&0yXqh4}9HT REjM4f?+y+D)O7!cz&|#}ia7uP delta 442 zcmXYsJ4*vm5QS%U@2(~>4+|x@h;NV(v`f%L6l_E-tb&h#t}%}yYZeU>MbuJI1ld-> zLP5kL81WAXR!Nn@LJKR2ofZ~?63>bk?wR?{%pLCB4wb`dStIJzj@6I|R5kT@>|pnr zh-ZjsDPid5TlhNwF5+G$Hu9bDahkFaPs&Ui%L89q;B8=2T3h-Gq zok*S~QYJG=eIY)q_Z-c7`{0#2R82Lg+E>`~`a)8O7%_VfDOU7`AAM7#o zg2{cJD{w!!b5%EzmD4tC;FutiDrRmyfAZ*?!w2mCDRV7p?%YN0h}!n8GhW~k>zhYe zSW#(kJWh-rq8Q14SrE~QHRB`*D?^3t*F?PzC0oJbPbKsUQc6Y1&5mhU_ED?{d8E`V zrj;IhGOnss1B>41Cwb+X-SP5tG5jAR)`T<6s + + diff --git a/docs/fontello/font/fontello.ttf b/docs/fontello/font/fontello.ttf index 8f0024dbf5895ac2d29275b107ea7100cf4d0ce0..01dcf0e86b4356058c967a10435ce20affc85db8 100644 GIT binary patch delta 690 zcmXw$PfQa*6vp4%>CAS!rOO)F8XyYYr9`DQv{+3<@ZiayAp{N4h%QTM)z)rGAwZ0r zsxk4Pt|VT(84e~UM6?I5dhj4OjV4|^)&xCi)Cj3>8=Ze|e&73Mk~i}>bLYribLAxf zjsd_Wr)axxo^E|0UZ+`e7AoDOQ)`)^B{J*giqpy8%fvH;;ha6^lHN)@N->x#EX`i{ zX;6;k0mQC+)}HBq_Vpova-H&-JPDetTEx$Zt$eYv*c&+8*dgH~30;MfWAm7(5`QOd zE!vAN#v@MvLIL9LYj!ca`KY6lm@bhv-O^m8t`DC82>bpsZaM4Ts2!~Vbh`I`oyU{j z1dbs09^k=!Q-EXvm;~0`^-~N{l~WLae$oTf$x-Lt7Itz$8R6;Dw%0AmTKM0|W&q)J zv12Xd^xY(pcVm*B;wucGafPq4anK+JNfHVSk^Q zv=WK{4I@Gr2QX!{>utj9iNz1;gPC+R9zkO-$`RayhkJ*yFWwi8i8dqMlgbRnO+I3# z)8?P3l}cI5>WUExs$c4=tQacxgcL5cxv;K>aoAtkc*@#-?K|0!mAcJ?hQW&kZnP`> z7B|!uc2ke)H2fOO8-v9`OW(jv{1gU z?C#*JO#xsX&*57sCap20d8xdSR8%%7ql63t$Wfq-LEv^FTdqis!yP9vy(9{yTxq_- Uu4b3yT)8ywCI;w-msXITo22)% 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 diff --git a/docs/fontello/font/fontello.woff2 b/docs/fontello/font/fontello.woff2 index 76c526f3cec8cfdaa74739a0419a32822982996f..1715e5efa3b1976b890cb634c89fa3555bf2a0ce 100644 GIT binary patch literal 3628 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 literal 3456 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 we use ssh <your-NCI-username>@gadi.nci.org.au <NCI-username>@gadi.nci.org.au's password: ############################################################################### @@ -109,7 +109,7 @@ You will be asked for your NCI password and then you will get connected to Ga =============================================================================== =============================================================================== - + ### Automate the log in step To simplify the log in step and avoid having to always insert your NCI password, there are a few steps we suggest you to follow: @@ -130,7 +130,7 @@ To simplify the log in step and avoid having to always insert your NCI password, To create an SSH key, in your terminal, run:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_gadi
You will be asked to create a passphrase linked to the SSH key, and insert it twice: - + ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_gadi Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): @@ -150,7 +150,7 @@ To simplify the log in step and avoid having to always insert your NCI password, |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| +----[SHA256]-----+ - +
We suggest you don't leave the passphrase empty for security reason.
@@ -167,20 +167,20 @@ To simplify the log in step and avoid having to always insert your NCI password,
  • In your terminal, start the ssh-agent by running:
    eval "$(ssh-agent -s)"
    - + eval "$(ssh-agent -s)" Agent pid <agent-PID> - +
  • Add your SSH key to the ssh-agent by running:
    ssh-add --apple-use-keychain ~/.ssh/id_gadi
    You will be asked for the SSH key passphrase, which will be stored inside the ssh-agent: - + ssh-add --apple-use-keychain ~/.ssh/id_gadi Enter passphrase for <$HOME>/.ssh/id_gadi: Identity added: <$HOME>/.ssh/id_gadi <$USER@hostname> - +
    If you are running a MacOS versions prior to Monterey (12.0), the --apple-use-keychain flag needs to be substituted with -K.
    @@ -219,7 +219,7 @@ To simplify the log in step and avoid having to always insert your NCI password, To create an SSH key, in your terminal, run:
    ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_gadi
    You will be asked to create a passphrase linked to the SSH key, and insert it twice: - + ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_gadi Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): @@ -239,7 +239,7 @@ To simplify the log in step and avoid having to always insert your NCI password, |xxxxxxxxxxxxxxxxx| |xxxxxxxxxxxxxxxxx| +----[SHA256]-----+ - +
    We suggest you don't leave the passphrase empty for security reason.
    @@ -256,20 +256,20 @@ To simplify the log in step and avoid having to always insert your NCI password,
  • In your terminal, start the ssh-agent by running:
    eval "$(ssh-agent -s)"
    - + eval "$(ssh-agent -s)" Agent pid <agent-PID> - +
  • Add your SSH key to the ssh-agent by running:
    ssh-add ~/.ssh/id_gadi
    You will be asked for the SSH key passphrase, which will be stored inside the ssh-agent: - + ssh-add ~/.ssh/id_gadi Enter passphrase for <$HOME>/.ssh/id_gadi: Identity added: <$HOME>/.ssh/id_gadi <$USER@hostname> - +
  • @@ -312,7 +312,7 @@ Alternatively, on Gadi you can run: exit from Gadi, and log back in.
    For example, if you want to change your default project to `tm70`, on Gadi, run: - + echo $PROJECT <old-default-project> sed "s/\(PROJECT \).*/\1tm70/" ~/.config/gadi-login.conf @@ -334,7 +334,7 @@ For example, if you want to change your default project to `tm70`, on Gadi=============================================================================== echo $PROJECT tm70 - +
    References
    diff --git a/docs/models/run-a-model/run-access-cm.md b/docs/models/run-a-model/run-access-cm.md index bdd44d40f..720becd2b 100644 --- a/docs/models/run-a-model/run-access-cm.md +++ b/docs/models/run-a-model/run-access-cm.md @@ -1,6 +1,5 @@ {% set model = "ACCESS-CM" %} - -# Run {{ model }} +# Run {{ model }} ## Requirements Before running {{ model }}, you need to make sure to possess the right tools and to have an account with specific institutions. @@ -51,31 +50,31 @@ To copy an existing suite, on accessdev: Run
    mosrs-auth
    to authenticate using your MOSRS credentials: - + mosrs-auth Please enter the MOSRS password for <MOSRS-username>: - Successfully authenticated with MOSRS as <MOSRS-username> - + Successfully authenticated with MOSRS as <MOSRS-username> +
  • Run
    rosie checkout <suite-ID>
    to create a local copy of the <suite-ID> from the UKMO repository (used mostly for testing and examining existing suites): - + rosie checkout <suite-ID> [INFO] create: /home/565/<$USER>/roses [INFO] <suite-ID>: local copy created at /home/565/<$USER>/roses/<suite-ID> - + Alternatively, run
    rosie copy <suite-ID>
    to create a new full copy (local and remote in the UKMO repository) rather than just a local copy. When a new suite is created in this way, a new unique name is generated within the repository, and populated with some descriptive information about the suite along with all the initial configuration details: - + rosie copy <suite-ID> Copy "<suite-ID>/trunk@<trunk-ID>" to "u-?????"? [y or n (default)] y [INFO] <new-suite-ID>: created at https://code.metoffice.gov.uk/svn/roses-u/<suite-n/a/m/e/> [INFO] <new-suite-ID>: copied items from <suite-ID>/trunk@<trunk-ID> [INFO] <suite-ID>: local copy created at /home/565/<$USER>/roses/<new-suite-ID> - +
  • For additional rosie options, run @@ -90,10 +89,10 @@ The suite directory usually contains 2 subdirectories and 3 files:
  • rose-suite.conf → the main suite configuration file.
  • rose-suite.info → suite information file.
  • suite.rc → the Cylc control script file (Jinja2 language).
  • - + ls ~/roses/<suite-ID> app meta rose-suite.conf rose-suite.info suite.rc - + ---------------------------------------------------------------------------------------- @@ -110,13 +109,13 @@ to open the Rose GUI and inspect the suite information.
    The & is optional and keeps the terminal prompt active while runs the GUI as a separate process.
    - + cd ~/roses/<suite-ID> rose edit & [<N>] <PID> Rose GUI - + ### Change NCI project To make sure we run the suite under the NCI project we belong to, we can navigate to suite conf → Machine and Runtime Options, edit the Compute project field, and click the Save button Save button. (Check
    how to connect to a project if you have not joined one yet). @@ -168,7 +167,7 @@ To run an {{ model }} suite, on accessdev:
  • After the initial tasks get executed, the Cylc GUI will open up and you will be able to see and control all the different tasks in the suite as they are run:
  • - + cd ~/roses/<suite-ID> rose suite-run [INFO] export CYLC_VERSION=7.8.3 @@ -215,7 +214,7 @@ To run an {{ model }} suite, on accessdev: [INFO] $ cylc ping -v --host=accessdev.nci.org.au <suite-ID> [INFO] $ ps -opid,args <PID> # on accessdev.nci.org.au Cylc GUI - +
    If after you run the command rose suite-run you get an error similar to the following:
    [FAIL] Suite "<suite-ID>" appears to be running:
    @@ -268,7 +267,7 @@ To investigate the cause of a failure, we need to look at the logs (job.er
             They are then further separated into "attempts" (consecutive failed/successful tasks), with NN being a symlink to the most recent attempt.
             
    In our example, the failure occurred for the 09500101 simulation cycle (starting date on 1st January 950) in the coupled task. Therefore, the directory where to find the job.err and job.out files is ~/cylc-run/<suite-ID>/log/job/09500101/coupled/NN. - + cd ~/cylc-run/<suite-ID> ls app cylc-suite.db log log.20230530T051952Z meta rose-suite.info share suite.rc suite.rc.processed work @@ -287,7 +286,7 @@ To investigate the cause of a failure, we need to look at the logs (job.er cd NN ls job job-activity.log job.err job.out job.status - + ---------------------------------------------------------------------------------------- @@ -301,13 +300,13 @@ To scan for active suites run
    cylc scan
    To reopen the Cylc GUI, from inside the suite directory run
    rose suite-gcontrol
    - + cylc scan <suite-ID> <$USER>@accessdev.nci.org.au:<port> cd ~/roses/<suite-ID> rose suite-gcontrol Cylc GUI - + ### STOP a suite To shutdown a suite in a safe manner, from inside the suite directory run @@ -334,7 +333,7 @@ There are two main ways to restart a suite:
    rose suite-run --restart
    to re-install the suite and reopen Cylc in the same state as when it was stopped (you may need to manually trigger failed tasks from the Cylc GUI).
    - + cylc cd ~/roses/<suite-ID> rose suite-run --restart @@ -366,7 +365,7 @@ There are two main ways to restart a suite: [INFO] $ cylc ping -v --host=accessdev.nci.org.au <suite-ID> [INFO] $ ps -opid,args <PID> # on accessdev.nci.org.au Cylc GUI - +
  • 'HARD' restart @@ -416,7 +415,7 @@ This directory contains 2 subdirectories: For the atmospheric output data, each file it is usually a UM fieldsfile or netCDF file, formatted as <suite-name>a.p<output-stream-identifier><year><month-string>.
    In the case of the u-br565 suite we will have: - + cd /scratch/<$PROJECT>/<$USER>/archive ls br565 <other-suite-name> <other-suite-name> @@ -425,7 +424,7 @@ In the case of the u-br565 suite we will have: history restart ls history/atm br565a.pd0950apr.nc br565a.pd0950aug.nc br565a.pd0950dec.nc br565a.pd0950feb.nc br565a.pd0950jan.nc br565a.pd0950jul.nc br565a.pd0950jun.nc br565a.pd0950mar.nc br565a.pd0950may.nc br565a.pd0950nov.nc br565a.pd0950oct.nc br565a.pd0950sep.nc br565a.pd0951apr.nc br565a.pd0951aug.nc br565a.pd0951dec.nc br565a.pm0950apr.nc br565a.pm0950aug.nc br565a.pm0950dec.nc br565a.pm0950feb.nc br565a.pm0950jan.nc br565a.pm0950jul.nc br565a.pm0950jun.nc br565a.pm0950mar.nc br565a.pm0950may.nc br565a.pm0950nov.nc br565a.pm0950oct.nc br565a.pm0950sep.nc br565a.pm0951apr.nc br565a.pm0951aug.nc br565a.pm0951dec.nc netCDF - + @@ -439,10 +438,10 @@ In the directory there are also some files formatted as <suite-name> For more details on how to control the frequency and formatting of restart dumps, check Rose GUI user guide (TO CHECK). -->
    In the case of the u-br565 suite we will have: - + ls /scratch/<$PROJECT>/<$USER>/archive/br565/restart/atm br565a.da09500201_00 br565a.da09510101_00 br565.xhist-09500131 br565.xhist-09501231 - +
    References
    diff --git a/docs/models/run-a-model/run-access-esm.md b/docs/models/run-a-model/run-access-esm.md index 64f545c73..f5f16f6fb 100644 --- a/docs/models/run-a-model/run-access-esm.md +++ b/docs/models/run-a-model/run-access-esm.md @@ -1,5 +1,5 @@ {% set model = "ACCESS-ESM" %} -# Run {{ model }} +# Run {{ model }} ## Requirements Before running {{ model }}, you need to make sure to possess the right tools and to have an account with specific institutions. @@ -30,10 +30,10 @@ For the general requirements needed to run all ACCESS models, please refer to th
    To check that payu is effectively available, you can run:
    payu --version
    - + payu --version 1.0.19 - +
  • ---------------------------------------------------------------------------------------- @@ -43,7 +43,7 @@ A suitable {{ model }} pre-industrial configuration is avaible on the mkdir -p ~/access-esm cd ~/access-esm git clone https://github.com/coecms/esm-pre-industrial @@ -54,7 +54,7 @@ In order to get it, on Gadi, create a directory where to keep the model c remote: Total 767 (delta 173), reused 274 (delta 157), pack-reused 472 Receiving objects: 100% (767/767), 461.57 KiB | 5.24 MiB/s, done. Resolving deltas: 100% (450/450), done. - +
    Some modules might interfere with the git commands (for example matlab/R2018a). If you are running into issues during the cloning of the repository, it might be a good idea to run
    module purge
    first, before trying again.
    @@ -86,7 +86,7 @@ This will create the laboratory directory, along with other subdirectorie
    • work → temporary directory where the model is actually run. It gets cleaned after each run.
    • archive → directory where the output is placed after each run.
    • - + cd ~/access-esm/esm-pre-industrial payu init laboratory path: /scratch/$PROJECT/$USER/access-esm @@ -94,7 +94,7 @@ This will create the laboratory directory, along with other subdirectorie input path: /scratch/$PROJECT/$USER/access-esm/input work path: /scratch/$PROJECT/$USER/access-esm/work archive path: /scratch/$PROJECT/$USER/access-esm/archive - +
    ### Edit the Master Configuration file @@ -223,7 +223,7 @@ After editing the configuration, we are ready to run {{ model }}. As a first step, from the control directory, is good practice to run:
    payu setup
    This will prepare the model run, based on the experiment configuration. - + payu setup laboratory path: /scratch/$PROJECT/$USER/access-esm binary path: /scratch/$PROJECT/$USER/access-esm/bin @@ -243,7 +243,7 @@ This will prepare the model run, based on the experiment configuration. Updating full hashes for 30 files in manifests/restart.yaml Writing manifests/restart.yaml Writing manifests/exe.yaml - +
    You can skip this step as it is included also in the run command. However, runnning it explicitly helps to check for errors and make sure executable and restart directories are accessible.
    @@ -256,7 +256,7 @@ This will submit a single job to the queue with a total run length of runt
    The -f option ensures that payu will run even if there is an existing non-empty work directory, which happens if a run crashes.
    - + payu run -f Loading input manifest: manifests/input.yaml Loading restart manifest: manifests/restart.yaml @@ -264,7 +264,7 @@ This will submit a single job to the queue with a total run length of runt payu: Found modules in /opt/Modules/v4.3.0 qsub -q normal -P <project> -l walltime=11400 -l ncpus=384 -l mem=1536GB -N pre-industrial -l wd -j n -v PAYU_PATH=/g/data/hh5/public/apps/miniconda3/envs/analysis3-23.01/bin,MODULESHOME=/opt/Modules/v4.3.0,MODULES_CMD=/opt/Modules/v4.3.0/libexec/modulecmd.tcl,MODULEPATH=/g/data3/hh5/public/modules:/etc/scl/modulefiles:/opt/Modules/modulefiles:/opt/Modules/v4.3.0/modulefiles:/apps/Modules/modulefiles -W umask=027 -l storage=gdata/access+gdata/hh5 -- /g/data/hh5/public/apps/miniconda3/envs/analysis3-23.01/bin/python3.9 /g/data/hh5/public/apps/miniconda3/envs/analysis3-23.01/bin/payu-run <job-ID>.gadi-pbs - + ### Run configuration for multiple years If you want to run {{ model }} configuration for multiple internal run lengths (controlled by runtime in the config.yaml file), you can use the option -n: @@ -332,14 +332,14 @@ Currently, there is no specific tool to monitor {{ model }} runs. One way to check the status of our run is running:
    qstat -u $USER
    This will show the status of all your PBS jobs (if there is any PBS job submitted): - + qstat -u $USER Job id                Name             User             Time Use S Queue --------------------- ---------------- ---------------- -------- - ----- <job-ID>.gadi-pbs     pre-industrial   <$USER>            <time> R normal-exec <job-ID-2>.gadi-pbs   <other-job-name> <$USER>            <time> R normal-exec <job-ID-3>.gadi-pbs   <other-job-name> <$USER>            <time> R normal-exec - + If you changed the jobname in the PBS resources of the
    Master Configuration file, that will be your job's Name instead of pre-industrial.
    S indicates the status of your run: @@ -370,13 +370,13 @@ The format of a typical output folder is outputXXX, whereas the typ In the respective folders, outputs and restarts are separated for each model component.
    For the atmospheric output data, each file it is usually a UM fieldsfile, formatted as <UM-suite-identifier>a.p<output-stream-identifier><time-identifier>. - + cd /scratch/$PROJECT/$USER/access-esm/archive/esm-pre-industrial ls output000 pbs_logs restart000 ls output000/atmosphere aiihca.daa1210 aiihca.daa1810 aiihca.paa1apr aiihca.paa1jun aiihca.pea1apr aiihca.pea1jun aiihca.pga1apr aiihca.pga1jun atm.fort6.pe0 exstat ihist prefix.CNTLGEN UAFLDS_A aiihca.daa1310 aiihca.daa1910 aiihca.paa1aug aiihca.paa1mar aiihca.pea1aug aiihca.pea1mar aiihca.pga1aug aiihca.pga1mar cable.nml fort.57 INITHIS prefix.PRESM_A um_env.py aiihca.daa1410 aiihca.daa1a10 aiihca.paa1dec aiihca.paa1may aiihca.pea1dec aiihca.pea1may aiihca.pga1dec aiihca.pga1may CNTLALL ftxx input_atm.nml SIZES xhist aiihca.daa1510 aiihca.daa1b10 aiihca.paa1feb aiihca.paa1nov aiihca.pea1feb aiihca.pea1nov aiihca.pga1feb aiihca.pga1nov CONTCNTL ftxx.new namelists STASHC aiihca.daa1610 aiihca.daa1c10 aiihca.paa1jan aiihca.paa1oct aiihca.pea1jan aiihca.pea1oct aiihca.pga1jan aiihca.pga1oct debug.root.01 ftxx.vars nout.000000 thist aiihca.daa1710 aiihca.daa2110 aiihca.paa1jul aiihca.paa1sep aiihca.pea1jul aiihca.pea1sep aiihca.pga1jul aiihca.pga1sep errflag hnlist prefix.CNTLATM UAFILES_A - + ----------------------------------------------------------------------------------------
    References
    diff --git a/docs/models/run-a-model/run-access-om.md b/docs/models/run-a-model/run-access-om.md index 8ecd5f876..aee88eaea 100644 --- a/docs/models/run-a-model/run-access-om.md +++ b/docs/models/run-a-model/run-access-om.md @@ -1,6 +1,6 @@ {% set model = "ACCESS-OM" %} -# Run {{ model }} +# Run {{ model }} ## Requirements Before running {{ model }}, you need to make sure to possess the right tools and to have an account with specific institutions. @@ -34,10 +34,10 @@ For the general requirements needed to run all ACCESS models, please refer to th
    To check that payu is effectively available, you can run:
    payu --version
    - + payu --version 1.0.19 - + ---------------------------------------------------------------------------------------- @@ -50,7 +50,7 @@ This is a 1° horizontal resolution configuration, with interannual forcing from
    In order to get it, on Gadi, create a directory where to keep the model configuration, and clone the GitHub repo in it by running:
    git clone https://github.com/COSIMA/1deg_jra55_iaf.git
    - + mkdir -p ~/access-om cd ~/access-eom git clone https://github.com/COSIMA/1deg_jra55_iaf.git @@ -61,7 +61,7 @@ In order to get it, on Gadi, create a directory where to keep the model c remote: Total 14715 (delta 3383), reused 3379 (delta 3377), pack-reused 11314 Receiving objects: 100% (14715/14715), 35.68 MiB | 18.11 MiB/s, done. Resolving deltas: 100% (10707/10707), done. - +
    Some modules might interfere with the git commands (for example matlab/R2018a). If you are running into issues during the cloning of the repository, it might be a good idea to run
    module purge
    first, before trying again.
    @@ -93,7 +93,7 @@ This will create the laboratory directory, along with other subdirectorie
    • work → temporary directory where the model is actually run. It gets cleaned after each run.
    • archive → directory where the output is placed after each run.
    • - + cd ~/access-om/1deg_jra55_iaf payu init laboratory path: /scratch/$PROJECT/$USER/access-om2 @@ -101,7 +101,7 @@ This will create the laboratory directory, along with other subdirectorie input path: /scratch/$PROJECT/$USER/access-om2/input work path: /scratch/$PROJECT/$USER/access-om2/work archive path: /scratch/$PROJECT/$USER/access-om2/archive - +
    ### Edit the Master Configuration file @@ -276,7 +276,7 @@ After editing the configuration, we are ready to run {{ model }}. As a first step, from the control directory, is good practice to run:
    payu setup
    This will prepare the model run, based on the experiment configuration. - + payu setup laboratory path: /scratch/$PROJECT/$USER/access-om2 binary ppath: /scratch/$PROJECT/$USER/access-om2/bin @@ -295,7 +295,7 @@ This will prepare the model run, based on the experiment configuration. Creating restart manifest Writing manifests/restart.yaml Writing manifests/exe.yaml - +
    You can skip this step as it is included also in the run command. However, runnning it explicitly helps to check for errors and make sure executable and restart directories are accessible.
    @@ -308,7 +308,7 @@ This will submit a single job to the queue with a total run length of rest
    The -f option ensures that payu will run even if there is an existing non-empty work directory, which happens if a run crashes.
    - + payu run -f payu: warning: Job request includes 47 unused CPUs. payu: warning: CPU request increased from 241 to 288 @@ -318,7 +318,7 @@ This will submit a single job to the queue with a total run length of rest payu: Found modules in /opt/Modules/v4.3.0 qsub -q normal -P tm70 -l walltime=10800 -l ncpus=288 -l mem=1000GB -N 1deg_jra55_iaf -l wd -j n -v PYTHONPATH=/g/data3/tm70/dm5220/scripts/python_modules/,PAYU_PATH=/g/data/hh5/public/apps/miniconda3/envs/analysis3-23.01/bin,PAYU_FORCE=True,MODULESHOME=/opt/Modules/v4.3.0,MODULES_CMD=/opt/Modules/v4.3.0/libexec/modulecmd.tcl,MODULEPATH=/g/data3/hh5/public/modules:/etc/scl/modulefiles:/opt/Modules/modulefiles:/opt/Modules/v4.3.0/modulefiles:/apps/Modules/modulefiles -W umask=027 -l storage=gdata/hh5+gdata/ik11+gdata/qv56 -- /g/data/hh5/public/apps/miniconda3/envs/analysis3-23.01/bin/python3.9 /g/data/hh5/public/apps/miniconda3/envs/analysis3-23.01/bin/payu-run <job-ID>.gadi-pbs - + ### Run configuration for multiple years If you want to run {{ model }} configuration for multiple internal run lengths (controlled by restart_period in the config.yaml file), you can use the option -n: @@ -335,14 +335,14 @@ Currently, there is no specific tool to monitor {{ model }} runs. One way to check the status of our run is running:
    qstat -u $USER
    This will show the status of all your PBS jobs (if there is any PBS job submitted): - + qstat -u $USER Job id                Name             User             Time Use S Queue --------------------- ---------------- ---------------- -------- - ----- <job-ID>.gadi-pbs     1deg_jra55_iaf   <$USER>            <time> R normal-exec <job-ID-2>.gadi-pbs   <other-job-name> <$USER>            <time> R normal-exec <job-ID-3>.gadi-pbs   <other-job-name> <$USER>            <time> R normal-exec - + If you changed the jobname in the PBS resources of the Master Configuration file, that will be your job's Name instead of 1deg_jra55_iaf.
    S indicates the status of your run: @@ -371,11 +371,11 @@ Both outputs and restarts are stored into subfolders for each different configur The format of a typical output folder is outputXXX, whereas the typical restart folder is usually formatted as restartXXX, with XXX being the number of internal run, starting from 000.
    In the respective folders, outputs and restarts are separated for each model component. - + cd /scratch/$PROJECT/$USER/access-om2/archive/1deg_jra55_iaf ls output000 pbs_logs restart000 - +
    References
    diff --git a/mkdocs.yml b/mkdocs.yml index 6747896a4..4adec665f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -210,5 +210,5 @@ extra_css: extra_javascript: - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js # For tablesort functionality - - js/terminal_animation.js + - https://cdn.jsdelivr.net/gh/atteggiani/animated-terminal/animated-terminal.min.js - js/miscellaneous.js From 065ad19f9f0a181587beeb484902dbe29e8197f6 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 11:53:02 +1000 Subject: [PATCH 08/22] test --- docs/models/run-a-model/run-access-cm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/models/run-a-model/run-access-cm.md b/docs/models/run-a-model/run-access-cm.md index 720becd2b..214b801e1 100644 --- a/docs/models/run-a-model/run-access-cm.md +++ b/docs/models/run-a-model/run-access-cm.md @@ -49,7 +49,7 @@ To copy an existing suite, on accessdev:
  • Run
    mosrs-auth
    - to authenticate using your MOSRS credentials: + to authenticate using your MOSRS credentials test: mosrs-auth Please enter the MOSRS password for <MOSRS-username>: From be7ba8804f166ff2be4fe60a6ac8f6de504bbaa4 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 11:56:23 +1000 Subject: [PATCH 09/22] reverted test --- docs/models/run-a-model/run-access-cm.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/models/run-a-model/run-access-cm.md b/docs/models/run-a-model/run-access-cm.md index 214b801e1..720becd2b 100644 --- a/docs/models/run-a-model/run-access-cm.md +++ b/docs/models/run-a-model/run-access-cm.md @@ -49,7 +49,7 @@ To copy an existing suite, on accessdev:
  • Run
    mosrs-auth
    - to authenticate using your MOSRS credentials test: + to authenticate using your MOSRS credentials: mosrs-auth Please enter the MOSRS password for <MOSRS-username>: From 94d37bcbfd84f1ef75e9c64d98f1fd32542ced22 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 14:09:52 +1000 Subject: [PATCH 10/22] Fixed broken image for toggle button --- docs/js/miscellaneous.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index a4fa65ccd..bfbfdb9ca 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -138,7 +138,7 @@ function toggleTerminalAnimations() { } applyState(); let terminalAnimationsSwitch = document.createElement('img'); - terminalAnimationsSwitch.setAttribute('src',`/assets/terminal_animation_switch_${state}.png`); + terminalAnimationsSwitch.setAttribute('src',`${location.origin}/docs/assets/terminal_animation_switch_${state}.png`); let action = state == 'active' ? 'Disable' : 'Enable'; terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); From a8e84008fb8ecc83c1d3796593d3d1a6e9d26702 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 14:37:03 +1000 Subject: [PATCH 11/22] Fixed broken image for toggle button --- docs/js/miscellaneous.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index bfbfdb9ca..71c28348c 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -138,7 +138,7 @@ function toggleTerminalAnimations() { } applyState(); let terminalAnimationsSwitch = document.createElement('img'); - terminalAnimationsSwitch.setAttribute('src',`${location.origin}/docs/assets/terminal_animation_switch_${state}.png`); + terminalAnimationsSwitch.setAttribute('src',`${location.origin}/assets/terminal_animation_switch_${state}.png`); let action = state == 'active' ? 'Disable' : 'Enable'; terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); From e7aba36f753202c91b3d18db581ccc94b085f2f2 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 15:53:04 +1000 Subject: [PATCH 12/22] Fixed broken image for toggle button --- docs/js/miscellaneous.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index 71c28348c..5698f23c5 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -138,7 +138,7 @@ function toggleTerminalAnimations() { } applyState(); let terminalAnimationsSwitch = document.createElement('img'); - terminalAnimationsSwitch.setAttribute('src',`${location.origin}/assets/terminal_animation_switch_${state}.png`); + terminalAnimationsSwitch.setAttribute('src',`${location.href}../assets/terminal_animation_switch_${state}.png`); let action = state == 'active' ? 'Disable' : 'Enable'; terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); From 13c31ab21cb129abfcfc14cd09411fabcac4b9fe Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 16:04:38 +1000 Subject: [PATCH 13/22] Fixed broken image for toggle button --- docs/js/miscellaneous.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index 5698f23c5..a0a4319e6 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -138,7 +138,7 @@ function toggleTerminalAnimations() { } applyState(); let terminalAnimationsSwitch = document.createElement('img'); - terminalAnimationsSwitch.setAttribute('src',`${location.href}../assets/terminal_animation_switch_${state}.png`); + terminalAnimationsSwitch.setAttribute('src',`../assets/terminal_animation_switch_${state}.png`); let action = state == 'active' ? 'Disable' : 'Enable'; terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); From 00c0f4f9f9d0dacce76ba01a4e22feab25ec6b35 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 16:56:51 +1000 Subject: [PATCH 14/22] Fixed toggler broken image --- docs/js/miscellaneous.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index a0a4319e6..cf0d26486 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -138,7 +138,15 @@ function toggleTerminalAnimations() { } applyState(); let terminalAnimationsSwitch = document.createElement('img'); - terminalAnimationsSwitch.setAttribute('src',`../assets/terminal_animation_switch_${state}.png`); + let origin; + if (location.pathname.startsWith('/development_site')) { + rootDir = `${location.origin}/development_site`; + } else if (location.pathname.startsWith('/pr-preview')) { + rootDir = `${location.origin}${location.pathname.split('/').slice(0,3).join('/')}`; + } else { + rootDir = location.origin; + } + terminalAnimationsSwitch.setAttribute('src',`${rootDir}/assets/terminal_animation_switch_${state}.png`); let action = state == 'active' ? 'Disable' : 'Enable'; terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); From 7e0924ce8a6d6be0f6593a36514e49467602ab39 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 17:22:54 +1000 Subject: [PATCH 15/22] minor fix --- docs/js/miscellaneous.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index cf0d26486..b2e3dddd8 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -1,3 +1,5 @@ +'use strict'; + // Add buttons at the top of each table column (when hovered) to sort it function sortTables() { let tables = document.querySelectorAll("article table:not([class])"); @@ -138,7 +140,7 @@ function toggleTerminalAnimations() { } applyState(); let terminalAnimationsSwitch = document.createElement('img'); - let origin; + let rootDir; if (location.pathname.startsWith('/development_site')) { rootDir = `${location.origin}/development_site`; } else if (location.pathname.startsWith('/pr-preview')) { From 26d78f5c3151a33446d200889ecbab3ac3bd17e9 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Wed, 2 Aug 2023 20:31:47 +1000 Subject: [PATCH 16/22] Fixed cookies --- docs/js/miscellaneous.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/js/miscellaneous.js b/docs/js/miscellaneous.js index b2e3dddd8..c3ea4ea96 100644 --- a/docs/js/miscellaneous.js +++ b/docs/js/miscellaneous.js @@ -118,7 +118,7 @@ function toggleTerminalAnimations() { } function setCookie() { - document.cookie = `terminalState=${state};path=${location.origin};max-age=31536000;samesite=lax`; + document.cookie = `terminalState=${state};path=/;max-age=2592000;samesite=lax`; // Expires after 1 month } function toggleState(e) { @@ -149,8 +149,9 @@ function toggleTerminalAnimations() { rootDir = location.origin; } terminalAnimationsSwitch.setAttribute('src',`${rootDir}/assets/terminal_animation_switch_${state}.png`); - let action = state == 'active' ? 'Disable' : 'Enable'; - terminalAnimationsSwitch.setAttribute('title',`${action} terminal animations`); + let current = state == 'active' ? 'enabled' : 'disabled'; + let onclick = state == 'active' ? 'disable' : 'enable'; + terminalAnimationsSwitch.setAttribute('title',`Terminal animations ${current}.\nClick to ${onclick} them.`); terminalAnimationsSwitch.setAttribute('id','terminalSwitch'); let h1 = document.querySelector('h1'); h1.parentElement.insertBefore(terminalAnimationsSwitch, h1); From 24a23afb5839a53a881cdd2a953c03f79bed12f8 Mon Sep 17 00:00:00 2001 From: atteggiani Date: Thu, 3 Aug 2023 15:07:35 +1000 Subject: [PATCH 17/22] Changed animated-terminal colorscheme. Changed background color. Changed code blocks colors --- docs/css/access-nri.css | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/css/access-nri.css b/docs/css/access-nri.css index f971ea0d1..e77265a0d 100644 --- a/docs/css/access-nri.css +++ b/docs/css/access-nri.css @@ -24,7 +24,7 @@ --tab-text-color: 235, 235, 235; /* Color for text of top tab and back to top button */ --tab-text: rgb(var(--tab-text-color)); /* Main text in navigation tab */ --tab-text-light: rgba(var(--tab-text-color),.7); /* Main text in navigation tab inactive */ - --default-bg-color: 46, 51, 62; /* Color for main background */ + --default-bg-color: 53, 54, 58; /* Color for main background */ --md-default-bg-color: rgb(var(--default-bg-color)); /* Main background */ --md-default-bg-color--light: rgba(var(--default-bg-color),.7); --md-default-bg-color--lighter: rgba(var(--default-bg-color),.3); @@ -38,8 +38,8 @@ --md-accent-fg-color: var(--nri-blue); /* link text hover */ --md-accent-fg-color--transparent: rgba(var(--nri-blue-color),.05); /* navigation bar little arrows hover */ --md-accent-bg-color: rgb(var(--tab-text-color)); /* back to top button text hover */ - --md-code-fg-color: rgb(213, 217, 226); /* code element text */ - --md-code-bg-color: #242428; /* code element background */ + --md-code-fg-color: var(--md-default-fg-color); /* code element text */ + --md-code-bg-color: rgb(41, 41, 41); /* code element background */ --md-code-hl-color: rgba(255,255,0,.5); --md-code-hl-number-color: #d52a2a; --md-code-hl-special-color: #db1457; @@ -79,6 +79,8 @@ --animated-terminal-directory: var(--nri-green); --animated-terminal-buttons: var(--nri-orange); --animated-terminal-buttons-hover: var(--nri-blue); + --animated-terminal-text: rgb(235, 235, 235); + --animated-terminal-background: var(--md-primary-fg-color); --note: var(--card-borders); /* Note border and icon */ --note-bg: rgba(var(--nri-orange-color),.05); /* Note background */ } @@ -157,6 +159,8 @@ --animated-terminal-directory: var(--nri-dark-blue); --animated-terminal-buttons: var(--nri-orange); --animated-terminal-buttons-hover: var(--nri-blue); + --animated-terminal-text: rgb(235, 235, 235); + --animated-terminal-background: var(--md-primary-fg-color); --note: var(--card-borders); /* Note border and icon */ --note-bg: rgba(var(--nri-orange-color),.05); /* Note background */ } @@ -622,11 +626,10 @@ pre:has(code):hover > button { Terminal animations */ ::part(terminal-window) { - background-color: var(--md-code-bg-color); - color: var(--md-code-fg-color); + background-color: var(--animated-terminal-background); + color: var(--animated-terminal-text); font-family: var(--md-code-font-family); font-weight: unset; - box-shadow: 0 0 2px var(--card-borders); } ::part(input-character) { @@ -655,8 +658,6 @@ pre:has(code):hover > button { #terminalSwitch { float: right; height: 1.1rem; - display: inline; - vertical-align: top; margin: 0.5rem 0.2rem; } @@ -700,7 +701,7 @@ pre:has(code):hover > button { /* Create an active/current tablink class */ .tabLabels button.activeTab { color: var(--md-primary-fg-color--dark); - border-bottom: solid 2px var(--md-primary-fg-color--dark); + border-bottom: solid 2px var(--nri-orange); transition: border-bottom .2s; } From 6ace1c77c5414fc4290e2746077a875e91e72e85 Mon Sep 17 00:00:00 2001 From: svenbuder Date: Fri, 4 Aug 2023 10:43:25 +1000 Subject: [PATCH 18/22] fixed spelling mistakes and broken links in NetCDF intro --- .../model_variables/index.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/model_evaluation/model_evaluation_getting_started/model_variables/index.md b/docs/model_evaluation/model_evaluation_getting_started/model_variables/index.md index eb713d4e5..211edc0e3 100644 --- a/docs/model_evaluation/model_evaluation_getting_started/model_variables/index.md +++ b/docs/model_evaluation/model_evaluation_getting_started/model_variables/index.md @@ -14,7 +14,7 @@ We therefore support projects like the Coupled Model Intercomparison Projects (C ## 1 Network Common Data Format (NetCDF) -Many organizations and scientific groups in different countries have adopted a data format called [NetCDF](https://www.unidata.ucar.edu/software/NetCDF/) by the Unidata Community as a standard way to represent some forms of scientific data. +Many organizations and scientific groups in different countries have adopted a data format called NetCDF by the Unidata Community as a standard way to represent some forms of scientific data. NetCDF (with file extensions `*.nc`) is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. @@ -23,14 +23,14 @@ NetCDF (with file extensions `*.nc`) is a set of software libraries and self-des - **Array-oriented** means that the `*.nc` data is typically spanning multiple dimensions with the same lengths (like latitude and longitude or time) and variables (like temperature or humidity) which are stored in arrays.
    - Schematic of a NetCDF file with data (temperature and pressure as variables stored over the dimensions latitude, longitude, and time) and metadata + Schematic of a NetCDF file with data (temperature and pressure as variables stored over the dimensions latitude, longitude, and time) and metadata
    ### 1.1 NetCDF metadata Metadata enables users of data from different sources to decide which quantities are comparable, and facilitates building applications with powerful extraction, regridding, and display capabilities. -To facilitate this process, there are conventions for CF (Climate and Forecast) metadata. These are designed to promote the processing and sharing of files created with NetCDF. The conventions define metadata that provide a definitive description of what the data in each variable represents, and the spatial and temporal properties of the data. Learn more about the CF metadata conventions [here](http://cfconventions.org). +To facilitate this process, there are conventions for CF (Climate and Forecast) metadata. These are designed to promote the processing and sharing of files created with NetCDF. The conventions define metadata that provide a definitive description of what the data in each variable represents, and the spatial and temporal properties of the data. Learn more about the CF metadata conventions here. ### 1.2 NetCDF data and variables @@ -46,20 +46,19 @@ Using common variables is key for a united climate modelling community. While we ### 2.1 Variables of CMIP6 (Coupled Model Intercomparison Project Version 6) -You can search the extensive list of Coupled Model Intercomparison Project version 6 on [this website](Chttps://clipc-services.ceda.ac.uk/dreq/index/var.html). +You can search the extensive list of Coupled Model Intercomparison Project version 6 on this website. ### 2.2 Variables of the ERA5 atmospheric reanalysis ERA5 is the fifth generation ECMWF atmospheric reanalysis of the global climate covering the period from January 1940 to present. ERA5 is produced by the Copernicus Climate Change Service (C3S) at ECMWF. ERA5 provides hourly estimates of a large number of atmospheric, land and oceanic climate variables. -A full list of ERA5 parameters is available on the [ECMWF database](https://codes.ecmwf.int/grib/param-db/). It covers both the [ERA5 parameter listings](https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation#ERA5:datadocumentation-Parameterlistings) as well as the [ERA5-LAND parameter listings](https://confluence.ecmwf.int/display/CKB/ERA5-Land%3A+data+documentation#ERA5Land:datadocumentation-parameterlistingParameterlistings). +A full list of ERA5 parameters is available on the ECMWF database. It covers both the ERA5 parameter listings as well as the ERA5-LAND parameter listings. ## 3 Loading NetCDF files -Our Model Evaluation and Diagnostics tools are based around the reading and storing of files via the Python package `xarray`. You can find a quick overview [here](https://docs.xarray.dev/en/stable/getting-started-guide/quick-overview.html) and tutorials [here]( -https://tutorial.xarray.dev/intro.html#). +Our Model Evaluation and Diagnostics tools are based around the reading and storing of files via the Python package `xarray`. You can find a quick overview here and tutorials here. -We provide `xarray` through out `conda` environment, so you can use it either directly as shown below, or through the dataset capabilities of our catalog [ACCESS-NRI Model Intake Catalog Tool](../../model_evaluation_model_catalogs/index.md). +We provide `xarray` through out `conda` environment, so you can use it either directly as shown below, or through the dataset capabilities of our catalog [ACCESS-NRI Model Intake Catalog Tool](../../model_evaluation_model_catalogs/index.md. ``` import xarray as xr From 3f5d5a1ee3679f02f2e3e0de0c56ac462626ceec Mon Sep 17 00:00:00 2001 From: svenbuder Date: Fri, 4 Aug 2023 11:43:53 +1000 Subject: [PATCH 19/22] fixed broken picture link --- docs/community_resources/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/community_resources/index.md b/docs/community_resources/index.md index c002323c6..71bf23d24 100644 --- a/docs/community_resources/index.md +++ b/docs/community_resources/index.md @@ -7,19 +7,19 @@ In this area of the Hive, we collect content that is not currated by us, but may
    - Working Groups + Working Groups
    Working Groups
    - Events + Events
    Events
    - Model Evaluation Links + Model Evaluation Links
    Model Evaluation Links
    From bcde54fda9cc0764e3cd9d6eb21e5bf1b57887d2 Mon Sep 17 00:00:00 2001 From: svenbuder Date: Fri, 4 Aug 2023 13:32:58 +1000 Subject: [PATCH 20/22] fixed esmvaltool --- .../model_evaluation_on_gadi_esmvaltool.md | 63 ++++++++++--------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md index ea747e49e..1853cec88 100644 --- a/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md +++ b/docs/model_evaluation/model_evaluation_on_gadi/model_evaluation_on_gadi_esmvaltool.md @@ -1,12 +1,13 @@ # Tutorial for using `esmvaltool` on Gadi@NCI -![ESMValTool-logo](https://docs.esmvaltool.org/en/latest/_static/ESMValTool-logo-2.png) - -{% include "call_contribute.md" %} - - - -[ACCESS ESMValTool Worflow recipe status][esmvaltool-workflow-repository] + ## About ESMValTool @@ -70,29 +71,38 @@ The ESMValTool is released under the Apache License, version 2.0. Citation of th Besides the above citation, users are kindly asked to register any journal articles (or other scientific documents) that use the software at the ESMValTool webpage (http://www.esmvaltool.org/). Citing the Software Documentation Paper and registering your paper(s) will serve to document the scientific impact of the Software, which is of vital importance for securing future funding. You should consider this an obligation if you have taken advantage of the ESMValTool, which represents the end product of considerable effort by the development team. -## ESMValTool recipes examples +## ESMValTool recipe examples -Below you can find the recipes from `esmvaltool` that we are providing to run on Gadi. The original recipes are +To find the available recipes, please go see the [ACCESS ESMValTool Worflow recipe status][esmvaltool-workflow-repository] + +Below we showcase example recipes from `esmvaltool` that we are providing to run on Gadi: -
  • - - - - - - - - - - - + + +
    - recipe_flato13ipcc.yml - recipe_perfmetrics_CMIP5.yml - recipe_ecs_scatter.yml
    From 698b20cd241f9f5b8bdefc01235fc0b0ee93304e Mon Sep 17 00:00:00 2001 From: svenbuder Date: Mon, 7 Aug 2023 11:49:58 +1000 Subject: [PATCH 21/22] cleaned up project list --- docs/get_started/index.md | 58 ++++++++++++++------------------------- 1 file changed, 20 insertions(+), 38 deletions(-) diff --git a/docs/get_started/index.md b/docs/get_started/index.md index 69069c04d..58eec1cbb 100644 --- a/docs/get_started/index.md +++ b/docs/get_started/index.md @@ -29,46 +29,30 @@ Once you sign up, you will be assigned a username (e.g. `ab1234`).
    ## Join relevant NCI projects + +NCI is hosting a large amount of data for the climate community on its supercomputer Gadi. The access to this storage as well as to computing resources to run models and evaluate them is organised in *projects*. + +To be able to perform computations yourself, you need to join a project with computing resources. This project code will be provided by your supervisor, research project or institution. + To join a project, search for it on NCI website and request membership. -Every project has an ID (e.g. `xp65`). This ID is what the term project actually refers to. -
    -The first project that you join will become your default one. -
    -If you want to change your default project, please check how to change your default project on gadi. +Every project has an ID (e.g. `xp65`). This ID is what the term `$PROJECT` actually refers to. -There are several NCI projects that may be relevant to you, depending on the tasks you want to carry out. -
    -Even though we recommend you have a chat with your supervisor to identify the relevant projects for your needs, the table below has a list of some of the most useful climate-related projects at NCI: +The first project that you join will become your default one (you can change it later [here](#change-default-project-on-gadi)). + +Depending on the work you do (running a model, model evaluation, etc.), you need to be part of different projects. We list them under the *Getting Started* pages of the respective sections. + +Here, we only show a few examples of projects that will be used by many users: -| Project | Description | Group | +| Project | Description | Type | |:------- |:----------- |:----- | -| tm70 | ACCESS-NRI Working Project |ACCESS-NRI | -| iq82 | ACCESS-NRI MED Compute | ACCESS-NRI | -| kj13 | ACCESS-NRI MED Data Dev | ACCESS-NRI | -| ct11 | ACCESS-NRI Replicated Datasets | ACCESS-NRI | -| xp65 | ACCESS-NRI Analysis Environments | ACCESS-NRI | -| access | ACCESS software sharing | ACCESS | -| p66 | ACCESS - AOGCM / suppport development of the ACCESS modelling system | ACCESS | -| p73 | ACCESS Model Output Archive (AOGCM) | ACCESS | -| hh5 | Climate-LIEF Data Storage | Data output| -| ub7 | Seasonal Prediction ACCESS-S1 Hindcast | Data output| -| ux62 | Seasonal Prediction ACCESS-S2 Hindcast | Data output| -| cb20 | ESGF CMIP3 Replication Data | Data output| -| al33 | ESGF CMIP5 Replication Data | Data output| -| rr3 | ESGF CMIP5 Australian Data Publication | Data output| -| oi10 | ESGF CMIP6 Replication Data | Data output| -| fs38 | ESGF CMIP6 Australian Data Publication | Data output| -| rt52 | ERA5 Replicated Data: Single and pressure-levels data | Data output| -| uc16 | ERA5 Replicated Datasets on Potential Temperature & Vorticity Levels | Data output| -| zz93 | ERA5-Land Replicated Data | Data output| -| zv2 | Australian Gridded Climate Data (AGCD) Collection | Data output| -| qv56 | Reference Datasets for Climate Model Analysis/Forcing | Data output| -| cj50 | COSIMA Model Output Collection | Data output| -| ik11 | COSIMA shared working space | Other projects | -| v45 | Ocean Extremes | Other projects | -| ga6 | Modelling the formation of sedimentary basins and continental margins | Other projects | -| qu79 | Collaborative REAnalysis Technical Environment Intercomparison Project (CREATE-IP) | Other projects | +| xp65 | ACCESS-NRI code environments | ACCESS-NRI code environment | +| hh5 | Climate-LIEF code environment | Code environment | +| access | ACCESS software sharing | ACCESS code environment | +| ik11 | COSIMA shared working space | Data storage | +| oi10 | ESGF CMIP6 Replication Data | Data storage| +| fs38 | ESGF CMIP6 Australian Data Publication | Data storage| +
    ## Log in to Gadi @@ -301,9 +285,7 @@ Once you complete all the above steps, you will be able to connect to Gadissh gadi ### Change default project on Gadi -It is recommended that you change your default project on Gadi, as this might be used by tasks such as running a model or model evaluation. -
    -To check which is your default project, on Gadi, run: +If you need to change your default project on Gadi, check which is your default project by running:
    echo $PROJECT
    If you want to change your default project, on Gadi you should manually change the `PROJECT` field in the `~/.config/gadi-login.conf` file, exit from Gadi, and log back in.
    From e5db2f3422bcf496dbdd47484090c79fc879e65e Mon Sep 17 00:00:00 2001 From: svenbuder Date: Mon, 7 Aug 2023 11:55:50 +1000 Subject: [PATCH 22/22] shortened even more --- docs/get_started/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/get_started/index.md b/docs/get_started/index.md index 58eec1cbb..d2a1c0b1a 100644 --- a/docs/get_started/index.md +++ b/docs/get_started/index.md @@ -50,8 +50,6 @@ Here, we only show a few examples of projects that will be used by many users: | hh5 | Climate-LIEF code environment | Code environment | | access | ACCESS software sharing | ACCESS code environment | | ik11 | COSIMA shared working space | Data storage | -| oi10 | ESGF CMIP6 Replication Data | Data storage| -| fs38 | ESGF CMIP6 Australian Data Publication | Data storage|