<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://climate-cms.wikis.unsw.edu.au/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A.heerdegen</id>
	<title>climate-cms wikis.unsw.edu.au - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://climate-cms.wikis.unsw.edu.au/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A.heerdegen"/>
	<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/Special:Contributions/A.heerdegen"/>
	<updated>2026-10-21T11:34:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Compiling_MOM6&amp;diff=3690</id>
		<title>Compiling MOM6</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Compiling_MOM6&amp;diff=3690"/>
		<updated>2023-02-10T01:07:48Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Change to https git url&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
These are gadi specific instructions to compile the ocean-only version of MOM6 using [https://github.com/angus-g/mom6-ninja-nci scripts&amp;amp;nbsp;developed by Angus Gibson].&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
To build ocean-only MOM6 on NCI:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /scratch/$PROJECT/$USER&lt;br /&gt;
git clone https://github.com/coecms/mom6-ninja-nci.git&lt;br /&gt;
cd mom6-ninja-nci&lt;br /&gt;
./cms_build.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When this completes (it takes a few minutes) there should be a MOM6 executable at&amp;amp;nbsp;&amp;lt;code&amp;gt;ocean_only_symmetric/MOM6&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
See the [https://github.com/angus-g/mom6-ninja-nci original repository] for information on customising the build.&lt;br /&gt;
&lt;br /&gt;
[[Category:MOM]] [[Category:MOM6]] [[Category:Compile]] [[Category:Ocean Models]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3643</id>
		<title>CMS</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3643"/>
		<updated>2022-10-21T00:41:09Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Removed Aidan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Our People ==&lt;br /&gt;
&lt;br /&gt;
We are a distributed team with members sitting at each CLEX node&lt;br /&gt;
&lt;br /&gt;
[https://www.climateextremes.org.au/people/technical-staff/ https://www.climateextremes.org.au/people/technical-staff/]&lt;br /&gt;
&lt;br /&gt;
=== Australian National University ===&lt;br /&gt;
&lt;br /&gt;
=== Monash University ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Holger-Wolff-1-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Holger Wolff ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere Modelling &lt;br /&gt;
*[[Unified_Model|Unified Model]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of Melbourne ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== &amp;lt;TBA&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere Modelling &lt;br /&gt;
*[[Unified_Model|Unified Model]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of New South Wales ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.4); height:100px&amp;quot;&amp;gt;https://climateextremes.org.au/wp-content/uploads/RamziKutteh-250x250.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Ramzi Kutteh ====&lt;br /&gt;
&lt;br /&gt;
*Land Surface Modelling &lt;br /&gt;
*[[CABLE|CABLE]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of Tasmania ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.5); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Paola-Petrelli-headshot.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Paola Petrelli ====&lt;br /&gt;
&lt;br /&gt;
*[[Data|Data]] &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
General enquiries and help questions: [mailto:cws_help@nci.org.au cws_help@nci.org.au]&lt;br /&gt;
&lt;br /&gt;
Quick help addressed to CMS and the Centre's community: [https://arccss.slack.com arccss.slack.com]&lt;br /&gt;
&lt;br /&gt;
[[One-on-one_calls|One-on-one videocall]]&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;  &lt;br /&gt;
[[Category:Admin]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CLEx_induction&amp;diff=3610</id>
		<title>CLEx induction</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CLEx_induction&amp;diff=3610"/>
		<updated>2022-08-21T07:05:56Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Remove Aidan from CMS Team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The CMS team is here to help you with the technical aspects of your work. A lot of you (probably all) will have to work with computer code and software, usually in a Linux/Unix environment. You might also need to access and/or share large amounts of data, work on different servers, etc.&lt;br /&gt;
&lt;br /&gt;
Some of you will be somewhat familiar with these tasks whereas they will be new to others. We are here to help whatever your technical knowledge is. We are happy to answer any question, we can't necessarily do everything but feel free to ask as we might have ideas or we might know who you should contact and what to exactly ask.&lt;br /&gt;
&lt;br /&gt;
The members of the [[CMS|CMS]] team are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Sitting at&lt;br /&gt;
! Email&lt;br /&gt;
! CMS &amp;quot;local&amp;quot; support person for&lt;br /&gt;
|-&lt;br /&gt;
| Paola Petrelli&lt;br /&gt;
| U Tasmania&lt;br /&gt;
| paola.petrelli@utas.edu.au&lt;br /&gt;
| U Tasmania&lt;br /&gt;
|-&lt;br /&gt;
| Holger Wolff&lt;br /&gt;
| Monash&lt;br /&gt;
| holger.wolff@monash.edu&lt;br /&gt;
| Monash&lt;br /&gt;
|-&lt;br /&gt;
| Ramzi Kutteh&lt;br /&gt;
| UNSW&lt;br /&gt;
| r.kutteh@unsw.edu.au&lt;br /&gt;
| UNSW&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;local&amp;quot; support person will be the CMS person welcoming you to the Centre and possibly giving you an induction. But you are more than welcome to contact any of the CMS team members for support.&lt;br /&gt;
&lt;br /&gt;
Although we won't ignore emails sent to our individual addresses, our preferred way of contact is through our help desk email address: [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Contacting the help desk will make sure your email is seen by one of us in case the person at your institution is away for example. Don't worry about the help desk email being an NCI account, you can still ask any question there.&lt;br /&gt;
&lt;br /&gt;
[[Getting_Help|Here]] are some guidelines on formulating your requests to CMS&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Set up your computer =&lt;br /&gt;
&lt;br /&gt;
We have put instructions for the setup we recommend for each operating system on the following pages:&lt;br /&gt;
&lt;br /&gt;
*[[Getting_started_on_Windows|Windows]] &lt;br /&gt;
*[[Getting_started_on_Mac|Mac]] &lt;br /&gt;
*[[Getting_started_on_Linux|Linux]] &lt;br /&gt;
&lt;br /&gt;
= Step 1: Get an account with NCI =&lt;br /&gt;
&lt;br /&gt;
NCI operates the computers that you will be doing most of your work on. NCI provides services to the Centre, they are not part of the Centre of Excellence.&lt;br /&gt;
&lt;br /&gt;
To get access to NCI servers, you need to do three things:&lt;br /&gt;
&lt;br /&gt;
1. You need to find out which project(s) you need to be connected to.&lt;br /&gt;
&lt;br /&gt;
Your project decides who gets billed for what you do on the NCI Servers. Your supervisor should be able to tell you which project(s) you should get connected to. Be mindful that there are two types of projects: projects for computation and projects for datasets. The mapping of the computational projects for CLEX can be found [[CLEX_projects_at_NCI|here]]. We recommend to join all the projects relevant to your research project but to choose 1 default project to work from. The same page with the list of computational projects explains how to set your default project. The projects for datasets do not have any computational time added to them so you need to make sure you ask for at least one computation project. Your supervisor should know. Note if you will run the ACCESS model or the UM model, you need to ask a connection to the &amp;quot;access&amp;quot; project in addition to at least one computation project.&lt;br /&gt;
&lt;br /&gt;
2. You need to register with NCI.&lt;br /&gt;
&lt;br /&gt;
This can be done on [https://my.nci.org.au/mancini/signup/0 NCI registration page] You will need to supply some information, and read and accept their policies. In order to be added to the system, you need to request connection to at least one project and be accepted on the project. Note that this can take a bit of time until&amp;amp;nbsp;the Lead chief investigator of the project has received and confirmed your request via email. Note that this is an automatic email process, you don't need to send an email to the lead chief investigator. Although, you might want to do so if you think you need to introduce yourself to him/her. Note that you should be able to request connection to several projects while getting signed up.&lt;br /&gt;
&lt;br /&gt;
3. You might want to ask your supervisor whether you also should be connected to any of the following data projects.&lt;br /&gt;
&lt;br /&gt;
These don’t provide any computing allowances, but they give access to certain datasets or models that you might need.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project&lt;br /&gt;
! Purpose&lt;br /&gt;
! Administrator&lt;br /&gt;
|-&lt;br /&gt;
| '''ua8'''&lt;br /&gt;
| &amp;amp;nbsp;GSWP3, NCEP Polar sst, OISST, CMIP5 ocean processing, model ensemble data&amp;amp;nbsp;+ others&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''rq7'''&lt;br /&gt;
| [[YOTC|ECMWF Year of Tropical Convection re-analysis]]&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''ks32'''&lt;br /&gt;
| ARCCSS and CLEX published data&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''ub4'''&lt;br /&gt;
| [[ERA_INTERIM|ECMWF ERA Interim re-analysis 6 hrs data]] and&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''cb20'''&lt;br /&gt;
| [[CMIP|CMIP3]] replica data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''al33'''&lt;br /&gt;
| [[CMIP|CMIP5]] replica data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''rr3'''&lt;br /&gt;
| [[CMIP|CMIP5]] published data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''oi10'''&lt;br /&gt;
| [[CMIP|CMIP6]] replica data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''fs38'''&lt;br /&gt;
| [[CMIP|CMIP6]] published data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''rr7'''&lt;br /&gt;
| Use only for JRA55, MERRA2 the other datasets have been removed&lt;br /&gt;
| BoM&lt;br /&gt;
|-&lt;br /&gt;
| '''cable'''&lt;br /&gt;
| Give access to the [https://trac.nci.org.au/trac/cable/wiki CABLE model] and [[CABLE_Data|CABLE benchmarking dataset]]. Please read the [https://trac.nci.org.au/trac/cable/wiki/CableRegistration CABLE registration] information.&lt;br /&gt;
| CSIRO&lt;br /&gt;
|-&lt;br /&gt;
| '''access'''&lt;br /&gt;
| Give access to the [[Unified_Model|Unified Model]] and ACCESS tools&lt;br /&gt;
| CMS - BoM - CSIRO&lt;br /&gt;
|-&lt;br /&gt;
| '''rt52'''&lt;br /&gt;
| [[ERA5|ECMWF ERA5 re-analysis]]&amp;amp;nbsp;single and pressure levels&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''zz93'''&lt;br /&gt;
| [[ERA5|ECMWF ERA5 re-analysis]]&amp;amp;nbsp;Land data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''sx70'''&lt;br /&gt;
| Shared input data for WRF&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''ik11'''&lt;br /&gt;
| Shared data for COSIMA. Inputs and outputs&lt;br /&gt;
| COSIMA&lt;br /&gt;
|-&lt;br /&gt;
| '''ia89'''&lt;br /&gt;
| 400m resolution ACCESS limited-area simulation over Australia&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''gy85'''&lt;br /&gt;
| Himawari-8 GeoCat 1.0.3 Australian Domain&lt;br /&gt;
| CMS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Step 2: Set up your Connection =&lt;br /&gt;
&lt;br /&gt;
The standard method of connecting to the NCI systems is SSH. We want you to use a passphrase protected private key authorisation method with an ssh-agent and agent forwarding for convenience. If you understood every part of that sentence, go ahead and set it up. If not, the next part describes what to do.&lt;br /&gt;
&lt;br /&gt;
The instructions describe how to set up your connection to both gadi.nci.org.au and accessdev.nci.org.au. You '''can not''' set up a connection to accessdev if you are not going to use the ACCESS or UM models. So please only follow the instructions you need!&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Linux and MacOS: ==&lt;br /&gt;
&lt;br /&gt;
#'''Create the ssh directory''' on your computer &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ mkdir -p ~/.ssh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Create a config file''' &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ nano ~/.ssh/config &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enter the following contents, replacing &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;xx0000&amp;lt;/span&amp;gt; with your NCI user name.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Host gadi gadi.nci.org.au&lt;br /&gt;
    HostName gadi.nci.org.au&lt;br /&gt;
    User xx0000&lt;br /&gt;
    ForwardX11 yes&lt;br /&gt;
    ForwardX11Trusted yes&lt;br /&gt;
Host access accessdev.nci.org.au&lt;br /&gt;
    HostName accessdev.nci.org.au&lt;br /&gt;
    User xx0000&lt;br /&gt;
    ForwardX11 yes&lt;br /&gt;
    ForwardX11Trusted yes&lt;br /&gt;
    ForwardAgent yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you use a Mac, and you want to store the key in your keychain so that it gets automatically loaded when you log in, you can add this section to your config file: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
    AddKeysToAgent yes&lt;br /&gt;
    UseKeychain yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#'''Create a key pair.''' It is imperative that you select a strong passphrase when asked for it. &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ ssh-keygen -t rsa&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Distribute the key pair.''' On most systems, there is a useful script to distribute the key pairs called '''ssh-copy-id''': &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-copy-id gadi&lt;br /&gt;
$ ssh-copy-id access&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If that script fails, you have to distribute the keys manually with these commands:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh gadi &amp;quot;mkdir -p ~/.ssh/; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh access &amp;quot;mkdir -p ~/.ssh/; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#'''Test whether you have an agent.''' If you have an agent already running, this command will ask for the passphrase for the just-created key pair: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ ssh-add&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the last command told you that it couldn’t open a connection, then you don’t have an agent. Come talk to someone of the CMS team, we will help you set it up.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Since Windows has a different heritage to Mac and Linux some extra setup work is required to use SSH. See the [[Getting_started_on_Windows|Getting started on Windows]] page for details.&lt;br /&gt;
&lt;br /&gt;
If you're using [[Getting_started_on_Windows#Windows_Subsystem_for_Linux_.28WSL.29|WSL]] or [[Getting_started_on_Windows#Cygwin|Cygwin]] use the [[#Linux_and_MacOS:|SSH instructions for Mac and Linux]] above.&lt;br /&gt;
&lt;br /&gt;
If using Power Shell, generate your ssh key with (Power Shell doesn't support 'rsa' keys)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;unknown&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t ecdsa -b 521 -f .ssh/id_ecdsa&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The contents of C:\Users\USER\.ssh\id_ecdsa.pub then need to be copied into ~/.ssh/authorized_keys on Gadi manually, as Power Shell doesn't have the ssh-copy-id command. The Power Shell SSH config file is located in your user directory, e.g. C:\Users\USER\.ssh\config &lt;br /&gt;
== SSH-keys for file transfers ==&lt;br /&gt;
&lt;br /&gt;
Additionally, some groups transfer data from NCI to outside NCI, for example for storage on University maintained servers. For these transfers, the best way to proceed is to create a restricted ssh key pair used only for file transfer. The setup is explained in [https://opus.nci.org.au/display/Help/Using+SSH+keys Using restricted commands for transferring files]. Most of the instructions are still valid, except for step 3. The restricted command prefix should now be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
from=&amp;quot;gadi-dm*.nci.org.au,gadi*.nci.org.au&amp;quot;,command=&amp;quot;~/bin/rrsync /data/archive&amp;quot;,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,no-user-rc ssh-rsa&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step 3: Basics of the NCI system =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height: 1.5;&amp;quot;&amp;gt;We are mainly using 3 systems of the NCI: gadi, accessdev and VDI. Gadi is the supercomputer that we run our models on. Accessdev is a virtual server that we have software installed that are required to allow the running the models. VDI is a virtual desktop designed for interactive analysis of your results. All these servers run Linux as operating system.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Read the manual! ==&lt;br /&gt;
&lt;br /&gt;
Considering you will be using systems that are provided by the NCI, you should take the time to read the documentation provided by them about their systems. That is everything on their [https://opus.nci.org.au/display/Help/NCI+Help help knowledge base].&lt;br /&gt;
&lt;br /&gt;
== Additional notes ==&lt;br /&gt;
&lt;br /&gt;
=== Modules: ===&lt;br /&gt;
&lt;br /&gt;
The servers have a lot of software installed, some of which they have multiple versions of. If you need to use a software, you usually will need to load a certain module. A full help of the module command is accessible through the man pages on gadi. Here are the most important commands regarding the modules:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;help&amp;lt;/span&amp;gt;&lt;br /&gt;
| Show help about the module system&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;avail&amp;lt;/span&amp;gt;&lt;br /&gt;
| List all available modules (a lot!)&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;list&amp;lt;/span&amp;gt;&lt;br /&gt;
| List the currently loaded modules&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;load&amp;lt;/span&amp;gt; intel-compiler&lt;br /&gt;
| Load the default version of the intel compiler&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;load&amp;lt;/span&amp;gt; intel-compiler/2019.3.199&lt;br /&gt;
| Load a specific version of the intel compiler&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;switch&amp;lt;/span&amp;gt; intel-compiler/2019.3.199&lt;br /&gt;
| Switch to a different version of the intel compiler (unload and load)&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;unload&amp;lt;/span&amp;gt; intel-compiler/2019.3.199&lt;br /&gt;
| Unload the specified version of the intel compiler&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;use&amp;lt;/span&amp;gt; /g/data/hh5/public/modules&lt;br /&gt;
| Add our Centre's curated modules to the list of available modules&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some modules conflict with one another, for example different versions of the same software. You might have to unload one module first to load a different one.&lt;br /&gt;
&lt;br /&gt;
=== PBS: ===&lt;br /&gt;
&lt;br /&gt;
The other important system you need to understand in order to work on gadi is the scheduler PBS. This is the system for running software on dedicated nodes inside gadi. Basically, a user tells PBS that they want to run this job on this many CPUs with these resources for at least so long, and PBS places it in a queue, and when the required resources are available, it will assign this job to them.&lt;br /&gt;
&lt;br /&gt;
Again, NCI has a very good documentation about how to run this [https://opus.nci.org.au/display/Help/How+to+submit+a+job here]&lt;br /&gt;
&lt;br /&gt;
The most important commands are:&lt;br /&gt;
&lt;br /&gt;
*'''qsub''' – Submit a job to the queue &lt;br /&gt;
*'''qstat''' – Display the status of the queued jobs &lt;br /&gt;
*'''qdel''' – Remove a job from the queue &lt;br /&gt;
&lt;br /&gt;
Of these, qsub is the most important, and there are so many parameters that we won’t tell them all here.&lt;br /&gt;
&lt;br /&gt;
In general, the fewer resources you request, the earlier your job will run. But if your program exceeds the requested resources at any time, PBS will kill the job, and you have to start over.&lt;br /&gt;
&lt;br /&gt;
More specifically:&lt;br /&gt;
&lt;br /&gt;
*Gadi is comprised of nodes with 48 CPUs each. If you request less than 48 CPUs, you will get the number of CPUs that you request. If you request more, you will need to use a multiple of 48 CPUs. &lt;br /&gt;
*Nodes come with 192GB of memory to share within the 48 CPUs. So if your job requires 48 or more CPUs, you might as well request all the memory, for example 384GB for a 96-cpu job. &lt;br /&gt;
&lt;br /&gt;
Running a job on the queue costs so-called '''SU'''. On the old raijin, one SU was equivalent to one core for one hour. On the much faster new gadi, one core for one hour costs 2 SU. Note that on gadi, the SU cost is calculated using the higher of the number of cores and the memory usage. So if you request 5 cores but only 2GB memory, its SU cost is based on the 5 cores. If you request 1 core but 96GB of memory (half of the whole node), the cost will be based on 24 cores (half the whole node).&lt;br /&gt;
&lt;br /&gt;
= Step 4: How to run models =&lt;br /&gt;
&lt;br /&gt;
A lot of information to gain access to models or run the models can be found on the ARCCSS CMS wiki (see link at the end).&lt;br /&gt;
&lt;br /&gt;
A very important message from the CMS team: &amp;lt;span style=&amp;quot;background-color: #fdf988; display: block; text-align: center;&amp;quot;&amp;gt;Often you will work with source code. Please ensure that your version of the source code is under version control! We use SVN and git (usually hosted on github) for the model codes and smaller utilities.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: #fdf988; display: block; text-align: center;&amp;quot;&amp;gt;'''DO NOT JUST COPY SOURCE CODE! CHECK IT OUT, OR CHECK IT IN!'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UM ==&lt;br /&gt;
&lt;br /&gt;
The Unified model is currently transitioning from the old user environment umui to the new rose/cylc user interface. Either way, you need to log into accessdev.nci.org.au.&lt;br /&gt;
&lt;br /&gt;
=== umui(x) ===&lt;br /&gt;
&lt;br /&gt;
The old user interface has to be used for versions up to 7.x, and can be used for 8.x. umui was developed by the UM, umuix is very similar, but more convenient developed by CSIRO. An introduction into its use is on our wiki: [http://climate-cms.unsw.wikispaces.net/Introduction+to+UMUI http://climate-cms.unsw.wikispaces.net/Introduction+to+UMUI]&lt;br /&gt;
&lt;br /&gt;
=== rose/cylc ===&lt;br /&gt;
&lt;br /&gt;
The new user interface can be used from version 8.x, and has to be used for versions 9.0 and later.&lt;br /&gt;
&lt;br /&gt;
== WRF ==&lt;br /&gt;
&lt;br /&gt;
The CMS team ports the WRF model at NCI. Information on using the model is on [[WRF|the CMS wiki]]. Users should also be aware that we do not reproduce the information from the [http://www2.mmm.ucar.edu/wrf/users/ WRF model users website] which stays a very important resource for all users. In particular, every new user is strongly encouraged to run through the official tutorials (found under User Support on the WRF model users site). As found on the WRF pages on this wiki, only the compilation steps differ from the NCAR tutorial.&lt;br /&gt;
&lt;br /&gt;
== CABLE ==&lt;br /&gt;
&lt;br /&gt;
CABLE is under licence so you need to request access to the code. All the information you need to get access and use CABLE is on the [https://trac.nci.org.au/trac/cable CABLE trac site]&lt;br /&gt;
&lt;br /&gt;
= Data management =&lt;br /&gt;
&lt;br /&gt;
Most of the information on how the data is managed is stored in this wiki in the [[Data|Data Services]] page. Here you can find information on the datasets managed by the Center as well the relevant policies in regard to data. Take some time to get familiar with it, here are some suggestions:&lt;br /&gt;
&lt;br /&gt;
#We now offer a 1-day Data Induction training, if you have an opportunity to participate do so, particularly if you are just starting. If you missed out, all the [[Data_induction|course materials]] are stored on the wiki and we tried to create a path for you touching all the relevant wiki pages. There are 3 parts to the data induction, the first covers the policies, the second focuses on publishing and the third the data and code management best practices.&amp;amp;nbsp; &lt;br /&gt;
#We strongly suggest to have&amp;amp;nbsp;a [[Data_Management_Plan|data management plan]]&amp;amp;nbsp;from the start of your project. You can use the [https://clex.dmponline.cloud.edu.au/ CLEX&amp;amp;nbsp;DMPonline tool] to do this. Because this tool stores your plan into a database, you can save it and access it as many times as you want, which means you can build your data management plan as you progress with your research. It is good though to start as soon as you can, DMPonline is structured as to teach about data practices and the resources available to you, it also informs the CMS team on which data, software and/or infrastructure you are planning to use, so we can better tailor our efforts to your needs. &lt;br /&gt;
#Get familiar with [[Publishing_options|publishing options]], while this might seem faraway, it is a good idea to keep track from now of what you are doing in regard to data and metadata, as it is often much more difficult to retrieve this information at the end of your project. There are also some technical times involved in getting data properly published. &lt;br /&gt;
#Consider creating a [[Persistent_research_identifiers|researcher-ID]] to uniquely identify your work. &lt;br /&gt;
#Make sure you browse through all the available data sources before you download data, this wiki page cover [[Finding_datasets|how to find out if a dataset]] is available at NCI.&amp;amp;nbsp;You could be wasting time and storage downloading something which might be already available, or that we could download and manage for you &lt;br /&gt;
#Become familiar with the different filesystems available on any server you are using, make sure you know which are meant to be working spaces, where you can archive your data, how to share data with collaborators and best practices to transfer data within and out of the system. If you are using gadi on NCI you can find this information on their [http://nci.org.au/nci-systems/national-facility/data-storage/filesystems/ user support ]and training sections. &lt;br /&gt;
#You can explore a lot of data related information in the [https://ardc.edu.au Australian Research Data Commons]&amp;amp;nbsp;website &lt;br /&gt;
#Don't hesitate in contacting cws_help&amp;lt;at&amp;gt;nci.org.au for any question you might have, or also e-mail directly paola.petrelli&amp;lt;at&amp;gt;utas.edu.au, if you have a more general question or you are confused about data management. We are always available to discuss with you the details of your project and give you advice. &lt;br /&gt;
&lt;br /&gt;
= How to learn more =&lt;br /&gt;
&lt;br /&gt;
== General setup: ==&lt;br /&gt;
&lt;br /&gt;
a blog post by a UNSW's PhD student on a few things to know and learn: [http://web.maths.unsw.edu.au/~oangelil/blog/blog2/page_blog2.html Oliver Angélil's post]&lt;br /&gt;
&lt;br /&gt;
== CMS: ==&lt;br /&gt;
&lt;br /&gt;
*E-Mail: [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*Chat with us on [https://arccss.slack.com Slack] (Use your university email in your sign up.) &lt;br /&gt;
*This [[Home|Wiki]] &lt;br /&gt;
*In person. &lt;br /&gt;
&lt;br /&gt;
== NCI: ==&lt;br /&gt;
&lt;br /&gt;
[https://opus.nci.org.au/display/Help/NCI+Help Guides and reference pages]&lt;br /&gt;
&lt;br /&gt;
[http://nci.org.au/services-support/training/ Training material] and [https://training.nci.org.au/ this]&lt;br /&gt;
&lt;br /&gt;
== Version Control with git: ==&lt;br /&gt;
&lt;br /&gt;
(Note: git might also be very useful for your thesis!) [https://www.youtube.com/playlist?list=PLg7s6cbtAD165JTRsXh8ofwRw0PqUnkVH Git video tutorial by GitHub]&lt;br /&gt;
&lt;br /&gt;
== Data management: ==&lt;br /&gt;
&lt;br /&gt;
[[Data_induction|Data induction]]&lt;br /&gt;
&lt;br /&gt;
= Getting help =&lt;br /&gt;
&lt;br /&gt;
Your first port of call for help should be the CMS team via the help-desk: [mailto:cws_help@nci.org.au cws_help@nci.org.au]. This help desk is followed by all the members of the CMS team and by some staff from NCI. [[Getting_Help|Here]] are some guidelines on formulating your request&lt;br /&gt;
&lt;br /&gt;
[[Category:Training]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3601</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3601"/>
		<updated>2022-07-08T06:05:50Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Updated conda history&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Conda Python Environments ==&lt;br /&gt;
&lt;br /&gt;
CMS maintain an Anaconda Python environment at NCI, with a wide variety of climate and weather related libraries.&lt;br /&gt;
&lt;br /&gt;
You can find the most recent list of libraries at our [https://github.com/coecms/conda-envs/blob/analysis3/environment.yml github repository], or run &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; with an environment loaded.&lt;br /&gt;
&lt;br /&gt;
To use any of the conda environments:&lt;br /&gt;
&lt;br /&gt;
#Request access to [https://my.nci.org.au/mancini/project/hh5 hh5] (to do once) &lt;br /&gt;
#You must first run (to do at each session, a qsub job is a new session) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module use /g/data/hh5/public/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely put this in your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; file. It can go in the &amp;lt;code&amp;gt;if in_interactive_shell; then&amp;lt;/code&amp;gt; section of the file.&lt;br /&gt;
&lt;br /&gt;
If you need to use the conda environment in a PBS job you will need to add the hh5 project to your storage flags, e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;#PBS -l storage=gdata/hh5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these &amp;lt;code&amp;gt;&amp;lt;tt&amp;gt;conda&amp;lt;/tt&amp;gt;&amp;lt;/code&amp;gt; environments will work on gadi login and compute nodes, and in the OOD cloud environment. They '''do not work '''on &amp;lt;code&amp;gt;accessdev&amp;lt;/code&amp;gt;, as this has a very old system version that is no longer compatible.&lt;br /&gt;
&lt;br /&gt;
=== Stable Environment ===&lt;br /&gt;
&lt;br /&gt;
We update the stable environment once a quarter, around when NCI do their quarterly maintenance of Gadi. Otherwise everything in the environment stays fixed, we don't update packages or install new packages unless something is very broken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unstable Environment ===&lt;br /&gt;
&lt;br /&gt;
The unstable environment gets updated more often, as we install new packages or apply updates to existing ones. If you ask for a new package it will be installed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3-unstable&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we do our quarterly update the unstable environment becomes the new stable environment.&lt;br /&gt;
&lt;br /&gt;
=== Removed Environments ===&lt;br /&gt;
&lt;br /&gt;
Normally after three quarters have passed old environments are removed, to reduce disk space and support burden. Conda environment.yml descriptions of past environments are available at [https://github.com/coecms/conda-history https://github.com/coecms/conda-history].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating personal environments ==&lt;br /&gt;
&lt;br /&gt;
You can create your own environment if needed, but please be cautious of both the size on disk and number of files that Conda environments can create.&lt;br /&gt;
&lt;br /&gt;
'''Make a file &amp;lt;tt&amp;gt;&amp;lt;code&amp;gt;~/.condarc&amp;lt;/code&amp;gt;&amp;lt;/tt&amp;gt;''' like:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;auto_activate_base: false&lt;br /&gt;
envs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/envs&lt;br /&gt;
  - /g/data/hh5/public/apps/miniconda3/envs&lt;br /&gt;
pkgs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/pkgs&lt;br /&gt;
conda-build:&lt;br /&gt;
  root-dir: /scratch/$PROJECT/$USER/conda/bld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will set up Conda to create environments in /scratch, by default it puts them in your home directory which will rapidly use up your disk quota.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''To create the conda environment, load the conda module, then deactivate it''' with&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;conda deactivate&lt;br /&gt;
conda env create ...&lt;br /&gt;
conda activate ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''Create an environment file: &amp;lt;tt&amp;gt;environment.yml&amp;lt;/tt&amp;gt;.''' Files on &amp;lt;tt&amp;gt;scratch&amp;lt;/tt&amp;gt; are deleted if no longer used, so this file allows you to re-create your environment if some of the files are deleted. You can use any name for the environment file. Keep it secure.&lt;br /&gt;
&amp;lt;pre&amp;gt;conda env export &amp;gt; environment.yml&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To recreate the environment from the environment file:&lt;br /&gt;
&amp;lt;pre&amp;gt;conda env create -f environment.yml&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interactive Analysis / Jupyter ==&lt;br /&gt;
&lt;br /&gt;
[https://jupyter.org/ Jupyter] provides a 'notebook' interface for working with Python - you can combine Python code, text, latex equations and plots in a web interface.&lt;br /&gt;
&lt;br /&gt;
The preferred method of running Jupyter at NCI is through the ''''Open on Demand' (OOD)''' service [https://ood.nci.org.au https://ood.nci.org.au]. This runs a Jupyter instance in NCI's cloud that you can access directly from your browser. To use CLEX Conda in OOD, start Jupyter with the advanced options:&lt;br /&gt;
&lt;br /&gt;
*Module Directories: /g/data/hh5/public/modules &lt;br /&gt;
*Modules: conda/analysis3 &lt;br /&gt;
&lt;br /&gt;
The Centre has developed a script&amp;amp;nbsp;('''&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;gadi_jupyter&amp;lt;/span&amp;gt;'''&amp;lt;span style=&amp;quot;font-family:Courier New,Courier,monospace;&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt; that can run Jupyter on gadi compute nodes and display the notebook interface on your local computer. These scripts are available at [https://github.com/coecms/nci_scripts https://github.com/coecms/nci_scripts], see the instructions there for usage.&lt;br /&gt;
&lt;br /&gt;
You can also run Jupyter directly on VDI, by loading the [[Conda]] environment and running 'jupyter lab'.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the Jupyter scripts must be run through a Bash terminal (From WSL or Cygwin).&lt;br /&gt;
&lt;br /&gt;
== Requesting new packages ==&lt;br /&gt;
&lt;br /&gt;
You can ask for a new package to be installed or for an existing package to be updated by emailing [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Please include a link to the package documentation to your request.&lt;br /&gt;
&lt;br /&gt;
It would be appreciated if you can check the package isn't already installed before putting in a request. To do so, please load the unstable environment and use &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; to list the packages included in that environment&lt;br /&gt;
&lt;br /&gt;
As a general rule we will only install packages from the [https://conda-forge.org/feedstocks/ 'conda-forge'] channel. Newly installed packages will be available in the conda/analysis3-unstable environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Update History ==&lt;br /&gt;
&lt;br /&gt;
=== 22.04&amp;amp;nbsp;(Current Stable) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://lmfit.github.io/lmfit-py/ lmfit]&amp;amp;nbsp;Non-Linear Least-Squares Minimization and Curve-Fitting for Python   &lt;br /&gt;
*'''Climate specific''' &lt;br /&gt;
**[https://github.com/ccarouge/benchcab benchcab] CABLE benchmarking &lt;br /&gt;
**[https://xclim.readthedocs.io/en/stable/ xclim]&amp;amp;nbsp;library of functions to compute climate indices from observations or model simulations. It is built using xarray and can benefit from the parallelization handling provided by dask &lt;br /&gt;
**[https://github.com/aus-ref-clim-data-nci/acs-replica-intake acs-replica-intake]&amp;amp;nbsp;Intake-esm catalogue for the Australian Reference Climate Data at NCI collection   &lt;br /&gt;
*'''Developer''' &lt;br /&gt;
**[https://github.com/jupyter-server/jupyter-resource-usage jupyter-resource-usage]&amp;amp;nbsp;extension for Jupyter Notebooks and JupyterLab that displays an indication of how much resources your current notebook server and its children (kernels, terminals, etc) are using   &lt;br /&gt;
&lt;br /&gt;
=== 22.01 (Unsupported) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://pygam.readthedocs.io/en/latest/ pygam]&amp;amp;nbsp;build&amp;amp;nbsp;Generalized Additive Models in Python &lt;br /&gt;
**[https://pyspectrum.readthedocs.io/en/latest/ spectrum]&amp;amp;nbsp;tools to estimate Power Spectral Densities based on Fourier transform, parametric methods or eigenvalues analysis   &lt;br /&gt;
*'''Climate specific''' &lt;br /&gt;
**[https://xmhw.readthedocs.io/en/latest/ xmhw]&amp;amp;nbsp;xarray compatible Marine Heatwave Detection &lt;br /&gt;
**[https://argopy.readthedocs.io/en/latest/ argopy]&amp;amp;nbsp;library dedicated to&amp;amp;nbsp;[https://argopy.readthedocs.io/en/latest/what_is_argo.html#what-is-argo Argo]&amp;amp;nbsp;data access, manipulation and visualisation for standard users as well as Argo experts. &lt;br /&gt;
**[https://www.ilamb.org/doc/ ilamb]&amp;amp;nbsp;the International Land Model Benchmarking ([http://www.ilamb.org/ ILAMB]) project is a model-data intercomparison and integration project designed to improve the performance of land models   &lt;br /&gt;
*'''Developer''' &lt;br /&gt;
**[https://github.com/lidatong/dataclasses-json dataclasses-json]&amp;amp;nbsp;provides&amp;amp;nbsp;a simple API for encoding and decoding&amp;amp;nbsp;[https://docs.python.org/3/library/dataclasses.html dataclasses]&amp;amp;nbsp;to and from JSON   &lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**'''​​​​​​​'''[https://pysal.org pysal]&amp;amp;nbsp;spatial analysis library for open, cross platform geospatial data science   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;del&amp;gt;21.10&amp;lt;/del&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://github.com/josuemtzmo/xarrayMannKendall xarraymannkendall] compute linear trends over 2D and 3D arrays &lt;br /&gt;
**[https://hdbscan.readthedocs.io/en/latest/ hdbscan] tools to use unsupervised learning to find clusters, or dense regions, of a dataset   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://github.com/jannikmi/timezonefinder timezonefinder] looking up the corresponding timezone for given coordinates on earth entirely offline &lt;br /&gt;
**[https://iris-grib.readthedocs.io/en/stable/ iris-grib] converting between weather and climate datasets that are stored as GRIB files and Iris cubes &lt;br /&gt;
**[https://github.com/NCAR/intake-thredds intake-thredds] Intake interface to THREDDS data catalogs   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://lftp.yar.ru/ lftp] sophisticated file transfer program supporting a number of network protocols &lt;br /&gt;
**[https://github.com/gorakhargosh/watchdog watchdog] monitor file system events &lt;br /&gt;
**[https://github.com/ml31415/numpy-groupies numpy_groupies] Optimised tools for group-indexing operations: aggregated sum and more &lt;br /&gt;
**[https://anytree.readthedocs.io/en/latest/ anytree] Simple, lightweight and extensible Tree data structure &lt;br /&gt;
**[https://github.com/hansec/fortran-language-server fortran-language-server] Fortran implementation of the Language Server Protocol &lt;br /&gt;
**[https://jupyterbook.org/intro.html jupyter-book] building beautiful, publication-quality books and documents from computational material &lt;br /&gt;
**[https://github.com/fsspec/kerchunk kerchunk] Cloud-friendly access to archival data &lt;br /&gt;
**[https://github.com/ultrajson/ultrajson ujson] ultra fast JSON encoder and decoder   &lt;br /&gt;
&lt;br /&gt;
'''Known Issues'''&lt;br /&gt;
&lt;br /&gt;
*MetPy is incompatible with the Matplotlib version in this environment [https://github.com/Unidata/MetPy/issues/2281 https://github.com/Unidata/MetPy/issues/2281] &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.07&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to version 3.9. See what's new at [https://docs.python.org/3/whatsnew/3.9.html https://docs.python.org/3/whatsnew/3.9.html]&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.tensorflow.org/ tensorflow] TensorFlow is an end-to-end open source platform for machine learning &lt;br /&gt;
***Note: You may need to load the NCI modules 'cuda' and 'cudnn' to use tensorflow on GPU nodes   &lt;br /&gt;
**[https://shap.readthedocs.io/en/latest/index.html shap] a game theoretic approach to explain the output of any machine learning model   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://gcm-filters.readthedocs.io/en/latest/ gcm_filters] Diffusion-based Spatial Filtering of Gridded Data from General Circulation Models   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://docs.enthought.com/mayavi/mayavi/ mayavi] 3D scientific data visualization and plotting in Python   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://github.com/danielwhatmuff/gh gh] a tool to open Github projects in a browser from the command line   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.04&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Conda has dropped support for the old operating system version used on the Accessdev VM. It is likely that future versions of analysis3 after 21.04 will not work on Accessdev, consider setting up tasks to run on Gadi if they require the Conda environment.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.cvxpy.org/ cvxpy] modeling language for convex optimization problems &lt;br /&gt;
**[https://xgboost.readthedocs.io/en/latest/index.html dask-xgboost] optimized distributed gradient boosting library &lt;br /&gt;
**[https://github.com/mmhs013/pymannkendall pymannkendall] analyze time series data for consistently increasing or decreasing trends   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://xarray-spatial.org/ xarray-spatial] common raster analysis functions   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://github.com/jbusecke/xmovie xmovie] simple way of creating beautiful movies from xarray objects   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://www.atlassian.com/git/tutorials/git-subtree git-subtree] subtree extension for Git &lt;br /&gt;
**[https://rechunker.readthedocs.io/en/latest/ rechunker] efficient and scalable manipulation of the chunk structure of chunked array formats such as Zarr and TileDB &lt;br /&gt;
**[https://github.com/spyder-ide/spyder-kernels spyder-kernels] allow conda environment to work with [https://www.spyder-ide.org/ Spyder IDE] &lt;br /&gt;
**[https://github.com/rasbt/watermark watermark] IPython magic extension for printing date and time stamps, version numbers, and hardware information   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.01&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The conda environment now uses a conda provided OpenMPI, rather than Gadi's OpenMPI module. This impacts users of mpi4py, esmf, esmpy and xesmf&lt;br /&gt;
&lt;br /&gt;
era5grib, the tool for converting NCI's ERA5 archive to GRIB format for use in UM/WRF limited area runs, now uses the NCI managed ERA5 archive in projects [https://opus.nci.org.au/display/ERA5/ERA5+Community+Home rt52 and zz93]. The new archive has global coverage, allowing limited area models to be run anywhere on the globe. The previously used CLEX archive will be removed on the 28th April to free up disk space, until this happens previous behavior can be accessed using the flag '--source CLEX'.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics''' &lt;br /&gt;
**[https://ml.dask.org/index.html dask-ml] Scalable machine learning &lt;br /&gt;
**[https://geostat-framework.readthedocs.io/projects/pykrige/en/stable/ pykrige] Gaussian process regression toolkit &lt;br /&gt;
**[https://nctoolkit.readthedocs.io/en/latest/ nctoolkit] Toolkit for analysing NetCDF data   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[http://xarray-spatial.org/ xarray-spatial] Raster-based spatial analysis &lt;br /&gt;
**[https://pypi.org/project/Fiona/ fiona] GDAL vector API for Python   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://residentmario.github.io/geoplot/index.html geoplot] Geospatial data visualisation &lt;br /&gt;
**[https://python-visualization.github.io/folium/ folium] Leaflet webpage map manipulation &lt;br /&gt;
**[https://github.com/jwass/mplleaflet mplleaflet] Use matplotlib on Leaflet webpage maps   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://mamba.readthedocs.io/en/latest/ mamba] Faster conda environment setup &lt;br /&gt;
**[https://github.com/psf/black black] Python code formatter &lt;br /&gt;
**[https://intake-esm.readthedocs.io/en/latest/ intake-esm] Data cataloguing tool   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.8 ([https://docs.python.org/3.8/whatsnew/3.8.html changes])&lt;br /&gt;
&lt;br /&gt;
There are a small number of packages in analysis3-20.07 that are not compatible with 3.8, these have been disabled until we can get them working&lt;br /&gt;
&lt;br /&gt;
*pynio ([https://github.com/conda-forge/pynio-feedstock/issues/90 https://github.com/conda-forge/pynio-feedstock/issues/90]) &lt;br /&gt;
*&amp;lt;s&amp;gt;cf_units&amp;lt;/s&amp;gt; (was renamed to 'cf-units') &lt;br /&gt;
*&amp;lt;s&amp;gt;pymunge&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
*&amp;lt;s&amp;gt;ants&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/corteva/rioxarray rioxarray] geospatial xarray extension powered by rasterio &lt;br /&gt;
*[https://github.com/cupy/cupy cupy] CUDA accellerated numpy &lt;br /&gt;
*[https://github.com/jwkvam/celluloid celluloid] simplified animations with matplotlib &lt;br /&gt;
*[https://pythonhosted.org/rasterstats/ rasterstats] summarizing geospatial raster datasets based on vector geometries &lt;br /&gt;
*[https://github.com/python-windrose/windrose windrose] manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution &lt;br /&gt;
*[https://pyam-iamc.readthedocs.io/en/stable/ pyam] analysis and visualization of integrated-assessment scenarios &lt;br /&gt;
*[https://github.com/apache/arrow pyarrow] a cross-language development platform for in-memory data &lt;br /&gt;
*[https://github.com/jdowner/gist python-gist] a command line interface for working with github gists &lt;br /&gt;
*[https://sourceforge.net/projects/mcmc-jags/ jags] statistical analysis of Bayesian hierarchical models by Markov Chain Monte Carlo &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://xesmf.readthedocs.io/en/latest/ xesmf] - regrids xarray data (NOTE: uses Gadi's ESMF install, won't work on VDI) &lt;br /&gt;
*[http://sharp.weather.ou.edu/dev/ sharppy] - sounding and holograph analysis &lt;br /&gt;
*[https://earthpy.readthedocs.io/en/latest/ earthpy] - spatial raster and vector tools (e.g. rasterise shapefiles) &lt;br /&gt;
*[https://pypi.org/project/descartes/ descartes] - plot shapefiles &lt;br /&gt;
*[https://github.com/coecms/era5grib era5grib] - convert data from NCI ERA5 archive to GRIB for use in WRF/UM (beta tool) &lt;br /&gt;
*[https://xmitgcm.readthedocs.io xmitgcm] - read mitgcm binary output &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.04 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Cartopy NaturalEarth source data has been centrally installed, so coastlines etc. can be drawn on compute nodes&lt;br /&gt;
&lt;br /&gt;
Clef has been updated to 1.0, can now find ACCESS model CMIP6 data published by NCI&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*geopy: Locate lat/lon coordinates of places &lt;br /&gt;
*ninja: mom6 build system &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.01 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.7&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*xlrd: Read excel files &lt;br /&gt;
*ants: Unified Model Ancillary tools &lt;br /&gt;
*climtas: Dask-aware Xarray timeseries processing &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
basemap has been removed as it is [https://matplotlib.org/basemap/users/intro.html#deprecation-notice no longer supported] and caused conflicts with other packages&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*addmeta &lt;br /&gt;
*[http://holoviews.org/ holoviews]: Fancy plots &lt;br /&gt;
*[https://jiffyclub.github.io/palettable/ palettable]: Matplotlib colour palettes &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*pyferret &lt;br /&gt;
*pyngl &lt;br /&gt;
*pynio &lt;br /&gt;
*xgcm &lt;br /&gt;
*xrft &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.04 (unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable Changes'''&lt;br /&gt;
&lt;br /&gt;
*arccssive has been renamed to clef &lt;br /&gt;
*A bug preventing Iris from opening UM files without a date has been fixed &lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/kwgoodman/bottleneck bottleneck] Fast rolling operations &lt;br /&gt;
*[https://github.com/ecmwf/cfgrib cfgrib] CF metadata for GRIB files &lt;br /&gt;
*[https://github.com/SciTools/cf-units cfunits] Convert between CF units &lt;br /&gt;
*[https://github.com/shoyer/h5netcdf h5netcdf] Pythonic interface to netCDF4 via h5py &lt;br /&gt;
*[https://github.com/intake/intake intake] Lightweight data catalogues &lt;br /&gt;
*[https://gitlab.com/remikz/nccmp/ nccmp] Compare netcdf files &lt;br /&gt;
*[https://github.com/pydata/sparse sparse] Sparse multi-dimensional arrays &lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]] [[Category:Python]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_experiment_projects&amp;diff=3600</id>
		<title>Migrate experiment projects</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_experiment_projects&amp;diff=3600"/>
		<updated>2022-06-28T23:10:21Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page contains information on what to do if you want to change project to work at NCI.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Setting your default project =&lt;br /&gt;
&lt;br /&gt;
To change the default project that jobs get submitted to when you run 'qsub', edit the file on Gadi '~/.config/gadi-login.conf'&lt;br /&gt;
&lt;br /&gt;
If you also run models from accessdev you can change the default project on that computer by editing the file '~/.rashrc'&lt;br /&gt;
&lt;br /&gt;
If the project listed in those files is either w35 or w48, please edit the file and list w97 or w40 as appropriate.&lt;br /&gt;
&lt;br /&gt;
In either case you will need to log out and back in again for the change to take effect&lt;br /&gt;
&lt;br /&gt;
= Setting your working space =&lt;br /&gt;
&lt;br /&gt;
You will need to create a new working directory for you under the new project if you weren't already a member. You can create the directory under /g/data/&amp;lt;PROJECT&amp;gt; as needed. Please make sure to use your NCI login id as your top directory name.&lt;br /&gt;
&lt;br /&gt;
All data copied from w35 will be stored under: /g/data/w97/W35_GDATA_MOVED and /scratch/w97/W35_SCRATCH_MOVED. Make sure to move your data into your proper working directory under /g/data and /scratch before working with it.&lt;br /&gt;
&lt;br /&gt;
= Climate model experiments =&lt;br /&gt;
&lt;br /&gt;
*[[Migrate_payu_experiment_project|Payu experiment]] &lt;br /&gt;
*[[Migrate_umui_experiment_project|UMUI experiment]] &lt;br /&gt;
*[[Migrate_rose_experiment_project|Rose/Cylc experiment]] &lt;br /&gt;
*[[Migrate_NUWRF_experiment_project|NUWRF experiment]] &lt;br /&gt;
&lt;br /&gt;
WRF does not have a standard experiment setup so we can't give specific instructions for this model. But the compilation script will work without modifications after the project merge.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Tips for other scripts =&lt;br /&gt;
&lt;br /&gt;
In your script, you may have used w35 or w48 in the following lines:&lt;br /&gt;
&lt;br /&gt;
*PBS directive -P to specify the project &lt;br /&gt;
*PBS directive -l storage to load the storage space for these projects. &lt;br /&gt;
*Full paths of input or output data &lt;br /&gt;
&lt;br /&gt;
It is difficult to give a list of specific steps that would work for anyone. Below are a few tips that might help you.&lt;br /&gt;
&lt;br /&gt;
It is important for you to make sure you know what changes you are doing, that's why we do not provide a magic &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; one-liner command to change all the project IDs in all your files at once.&lt;br /&gt;
&lt;br /&gt;
== Find files with the project listed in ==&lt;br /&gt;
&lt;br /&gt;
To find all the files that contain the mention of &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt;, you can use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;grep --exclude=*.nc -irlI w35 &amp;lt;directory_name&amp;gt; &amp;gt; files_to_update.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;samp&amp;gt;files_to_update.txt &amp;lt;/samp&amp;gt;will contain a list of files where &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt; appear in at least one line. The command will not search in binary files and netCDF files and you can exclude more files from the search (e.g. figures) with the &amp;lt;code&amp;gt;--exclude=&amp;lt;/code&amp;gt; option. Replace &amp;lt;samp&amp;gt;&amp;lt;directory_name&amp;gt;&amp;lt;/samp&amp;gt; with the directory you want to search through.&lt;br /&gt;
&lt;br /&gt;
At the opposite, if you only want to search through files with a specific extension, you could use &amp;lt;code&amp;gt;--include=GLOB&amp;lt;/code&amp;gt;. Replace &amp;lt;samp&amp;gt;GLOB&amp;lt;/samp&amp;gt; by the extension you want to search. For example the following command will search for &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt; in all the Python Notebooks and only these:&lt;br /&gt;
&amp;lt;pre&amp;gt;grep --include=*.ipynb -irlI w35 &amp;lt;directory_name&amp;gt; &amp;gt; ipynb_to_update.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Backup before modifications ==&lt;br /&gt;
&lt;br /&gt;
You will want to create some sort of backup of your text&amp;amp;nbsp;files before changing them. &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;DO NOT create copies. &amp;lt;/span&amp;gt;We do not have heaps of free storage around to allow for it. Our recommended method is to use Git. If your files are not under the Git version control yet, here is a simple workflow that allows to record the state of your files before change. And some tips on comparing the modified and initial versions of the files.&lt;br /&gt;
&lt;br /&gt;
Let's say, you want to change some files under a directory called &amp;lt;tt&amp;gt;my_scripts&amp;lt;/tt&amp;gt;. You will first need to create a Git repository from that directory, record the current state of your files, do the changes you want to do, test the modified files work:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Create repository. Go in your my_scripts directory&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
# Record current state&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;State at time of merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Change your files as you require, test the new files&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If something does not work, you can then use the following commands depending on what you want to do:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Difference between modified file and previous version&lt;br /&gt;
git diff &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Re-instate the previous version and delete the modified file&lt;br /&gt;
git checkout &amp;lt;filename&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Find all and replace all ==&lt;br /&gt;
&lt;br /&gt;
All text file editors come with the ability to find all occurences of a pattern and to replace all these occurences. Make sure you know how to use this functionality, including reviewing the changes before making the change, for your favourite text editor.&lt;br /&gt;
&lt;br /&gt;
= MDSS data migration =&lt;br /&gt;
&lt;br /&gt;
After w35 and w48 are deleted any data stored on the [[How_to_use_MDSS_tape_storage_at_NCI|MDSS tape storage system]] would be inaccessible. To allow continued access all data has been migrated to a directory in&amp;amp;nbsp;the corresponding project (w35 to w97, w48 to w40).&lt;br /&gt;
&amp;lt;pre style=&amp;quot;background-color: rgb(238, 238, 238); border: 1px solid rgb(204, 204, 204); padding: 5px 10px;&amp;quot;&amp;gt;$ mdss -P w40 ls -ld W48_MASSDATA_MOVED&lt;br /&gt;
drwxrws--- 22 root w40 411 Mar  2 10:33 W48_MASSDATA_MOVED&lt;br /&gt;
$ mdss -P w97 ls -ld W35_MASSDATA_MOVED&lt;br /&gt;
drwxrws--- 27 root w97 143360 Mar  2 11:47 W35_MASSDATA_MOVED&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_experiment_projects&amp;diff=3599</id>
		<title>Migrate experiment projects</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_experiment_projects&amp;diff=3599"/>
		<updated>2022-06-28T23:09:09Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Add note about mdss&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page contains information on what to do if you want to change project to work at NCI.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Setting your default project =&lt;br /&gt;
&lt;br /&gt;
To change the default project that jobs get submitted to when you run 'qsub', edit the file on Gadi '~/.config/gadi-login.conf'&lt;br /&gt;
&lt;br /&gt;
If you also run models from accessdev you can change the default project on that computer by editing the file '~/.rashrc'&lt;br /&gt;
&lt;br /&gt;
If the project listed in those files is either w35 or w48, please edit the file and list w97 or w40 as appropriate.&lt;br /&gt;
&lt;br /&gt;
In either case you will need to log out and back in again for the change to take effect&lt;br /&gt;
&lt;br /&gt;
= Setting your working space =&lt;br /&gt;
&lt;br /&gt;
You will need to create a new working directory for you under the new project if you weren't already a member. You can create the directory under /g/data/&amp;lt;PROJECT&amp;gt; as needed. Please make sure to use your NCI login id as your top directory name.&lt;br /&gt;
&lt;br /&gt;
All data copied from w35 will be stored under: /g/data/w97/W35_GDATA_MOVED and /scratch/w97/W35_SCRATCH_MOVED. Make sure to move your data into your proper working directory under /g/data and /scratch before working with it.&lt;br /&gt;
&lt;br /&gt;
= Climate model experiments =&lt;br /&gt;
&lt;br /&gt;
*[[Migrate_payu_experiment_project|Payu experiment]] &lt;br /&gt;
*[[Migrate_umui_experiment_project|UMUI experiment]] &lt;br /&gt;
*[[Migrate_rose_experiment_project|Rose/Cylc experiment]] &lt;br /&gt;
*[[Migrate_NUWRF_experiment_project|NUWRF experiment]] &lt;br /&gt;
&lt;br /&gt;
WRF does not have a standard experiment setup so we can't give specific instructions for this model. But the compilation script will work without modifications after the project merge.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Tips for other scripts =&lt;br /&gt;
&lt;br /&gt;
In your script, you may have used w35 or w48 in the following lines:&lt;br /&gt;
&lt;br /&gt;
*PBS directive -P to specify the project &lt;br /&gt;
*PBS directive -l storage to load the storage space for these projects. &lt;br /&gt;
*Full paths of input or output data &lt;br /&gt;
&lt;br /&gt;
It is difficult to give a list of specific steps that would work for anyone. Below are a few tips that might help you.&lt;br /&gt;
&lt;br /&gt;
It is important for you to make sure you know what changes you are doing, that's why we do not provide a magic &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; one-liner command to change all the project IDs in all your files at once.&lt;br /&gt;
&lt;br /&gt;
== Find files with the project listed in ==&lt;br /&gt;
&lt;br /&gt;
To find all the files that contain the mention of &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt;, you can use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;grep --exclude=*.nc -irlI w35 &amp;lt;directory_name&amp;gt; &amp;gt; files_to_update.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;samp&amp;gt;files_to_update.txt &amp;lt;/samp&amp;gt;will contain a list of files where &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt; appear in at least one line. The command will not search in binary files and netCDF files and you can exclude more files from the search (e.g. figures) with the &amp;lt;code&amp;gt;--exclude=&amp;lt;/code&amp;gt; option. Replace &amp;lt;samp&amp;gt;&amp;lt;directory_name&amp;gt;&amp;lt;/samp&amp;gt; with the directory you want to search through.&lt;br /&gt;
&lt;br /&gt;
At the opposite, if you only want to search through files with a specific extension, you could use &amp;lt;code&amp;gt;--include=GLOB&amp;lt;/code&amp;gt;. Replace &amp;lt;samp&amp;gt;GLOB&amp;lt;/samp&amp;gt; by the extension you want to search. For example the following command will search for &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt; in all the Python Notebooks and only these:&lt;br /&gt;
&amp;lt;pre&amp;gt;grep --include=*.ipynb -irlI w35 &amp;lt;directory_name&amp;gt; &amp;gt; ipynb_to_update.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Backup before modifications ==&lt;br /&gt;
&lt;br /&gt;
You will want to create some sort of backup of your text&amp;amp;nbsp;files before changing them. &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;DO NOT create copies. &amp;lt;/span&amp;gt;We do not have heaps of free storage around to allow for it. Our recommended method is to use Git. If your files are not under the Git version control yet, here is a simple workflow that allows to record the state of your files before change. And some tips on comparing the modified and initial versions of the files.&lt;br /&gt;
&lt;br /&gt;
Let's say, you want to change some files under a directory called &amp;lt;tt&amp;gt;my_scripts&amp;lt;/tt&amp;gt;. You will first need to create a Git repository from that directory, record the current state of your files, do the changes you want to do, test the modified files work:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Create repository. Go in your my_scripts directory&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
# Record current state&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;State at time of merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Change your files as you require, test the new files&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If something does not work, you can then use the following commands depending on what you want to do:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Difference between modified file and previous version&lt;br /&gt;
git diff &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Re-instate the previous version and delete the modified file&lt;br /&gt;
git checkout &amp;lt;filename&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Find all and replace all ==&lt;br /&gt;
&lt;br /&gt;
All text file editors come with the ability to find all occurences of a pattern and to replace all these occurences. Make sure you know how to use this functionality, including reviewing the changes before making the change, for your favourite text editor.&lt;br /&gt;
&lt;br /&gt;
= MDSS data migration =&lt;br /&gt;
&lt;br /&gt;
After w35 and w48 are deleted any data stored on the [[How_to_use_MDSS_tape_storage_at_NCI|MDSS tape storage system]] would be inaccessible. To allow continued access all data has been migrated to a directory in&amp;amp;nbsp;the corresponding project (w35 to w97, w48 to w40).&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;$ mdss -P w40 ls -ld W48_MASSDATA_MOVED&amp;lt;br/&amp;gt; drwxrws--- 22 root w40 411 Mar &amp;amp;nbsp;2 10:33 W48_MASSDATA_MOVED&amp;lt;br/&amp;gt; $ mdss -P w97 ls -ld W35_MASSDATA_MOVED&amp;lt;br/&amp;gt; drwxrws--- 27 root w97 143360 Mar &amp;amp;nbsp;2 11:47 W35_MASSDATA_MOVED&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Useful_resources&amp;diff=3579</id>
		<title>Useful resources</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Useful_resources&amp;diff=3579"/>
		<updated>2022-06-03T07:08:23Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Added NCAr tutorial link from Claire&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This place is to create a library of links to external resources that might be useful to the Centre's staff and students.&lt;br /&gt;
&lt;br /&gt;
= Data services =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[https://earthdata.nasa.gov/ NASA Earthdata]: this is a portal to NASA datasets. The User Resources tab also have a list of recorded [https://earthdata.nasa.gov/user-resources/webinars-and-tutorials webinars] around the use of these datasets.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; font-family: Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;[https://giovanni.gsfc.nasa.gov/giovanni/%20GIOVANNI [1]] GIOVANNI] - GES-DISC Interactive Online Visualization ANd aNalysis Infrastructure&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; font-family: Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;[https://dl.tpac.org.au/tpacportal/ TPAC] Climate and Ocean data portal&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; font-family: Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;[http://www.ardc.org.au/ The Australian Research&amp;amp;nbsp;Data Commons&amp;amp;nbsp;(ARDC, previously known as ANDS)]&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; font-family: Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;[http://researchdata.ands.org.au/ Research Data Australia]&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; color: #000000;&amp;quot;&amp;gt;[http://cfconventions.org/ CF metadata conventions website]&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; color: #000000;&amp;quot;&amp;gt;[http://www.bom.gov.au/climate/data/ BoM Climate data services]&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;background-color: #ffffff; color: #000000;&amp;quot;&amp;gt;[https://terranova.org.au/ Terra Nova] - The Australian Climate Change Adaptation Information Hub&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: #ffffff; line-height: 1.5;&amp;quot;&amp;gt;[http://www.marvl.org.au/ MARVL - Marine virtual Laboratory]&amp;amp;nbsp;: &amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-family: Arial,Helvetica,sans-serif; line-height: 1.5;&amp;quot;&amp;gt;The Australian Marine Virtual Laboratory (MARVL) is a new development in modelling frameworks for researchers in Australia, co-funded by NeCTAR ([http://www.nectar.org.au/ www.nectar.org.au]). MARVL allows a non-specialist user to configure and run a model, automating many of the modelling preparation steps needed to bring the researcher faster to the stage of simulation and analysis. The tool is seen as enhancing the efficiency of researchers and marine managers, and is being considered as a educational aid in teaching. Most researchers, students and academic staff with have access to MARVL via their [http://aaf.edu.au/ AAF](Australian Access Federation) identity, in most cases this is your normal login identity at your local university, institute or federal agency.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;[http://www.unidata.ucar.edu/blogs/news/entry/metpy_an_open_source_python MetPy]&amp;amp;nbsp;: &amp;lt;/span&amp;gt;MetPy is an Open Source project aimed at providing a Pythonic library for meteorological data analysis that meshes well with the rest of the scientific Python ecosystem.&lt;br /&gt;
&lt;br /&gt;
= Tutorials and other tips and tricks =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[http://web.maths.unsw.edu.au/~oangelil/blog/blog2/page_blog2.html help to start]: a blog post written by Oliver Angélil, a PhD student at the CCRC. It goes through a few practical tips and tricks to help with what to know when starting working in the field of climate science.&lt;br /&gt;
&lt;br /&gt;
CMS blog: [https://climate-cms.org https://climate-cms.org]&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://docs.google.com/presentation/d/13eCaZCLwh48-3MHg8ks5O3kXTc3Wz4WbkdB0ZqZnZZM/edit?usp=sharing Publishing]&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://docs.google.com/presentation/d/1EclbLy3x28F6u821P7_XJT7cfBQpanIo4BxSpJhHcAM/edit?usp=sharing Storage management] and a separate document with[https://docs.google.com/document/d/17gpAuinpf5DKVhCXABAwgtbwGBzmdgi1diJiZVHyZrc/edit?usp=sharing links for the training]&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://docs.google.com/presentation/d/1Bl1SI_v3s-kgqs96FYROO--JhDw_Trujb5TYnxhBaD8/edit#slide=id.g2739569a98_1_58 Shell tips and tricks]&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://docs.google.com/presentation/d/1Rvn7a8Y4ghz0SVprwyIN6KHrXqpOYvw2GMcdwFriFEk/edit Debugging 101]&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://docs.google.com/presentation/d/1n3b_gRNhb164MQNrFYv0oj12tUCqSnaWgSEzAZNWBL8/edit#slide=id.p Debugging - Run time checks]&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://github.com/ScottWales/training Xarray dask training GitHub]&lt;br /&gt;
&lt;br /&gt;
CMS training: [http://%20https: ''youtu.be/ya-xXY5uzeo Introduction to 3D visualisation with ParaView'']''by Martin Jucker (youtube video)''&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://youtu.be/QXIj1nYwGcY Introduction to CleF: Climate Finder a tool to discover ESGF datasets] (youtube video)&lt;br /&gt;
&lt;br /&gt;
CMS training: [https://www.youtube.com/watch?v=fHtLbMmgoMY&amp;amp;feature=youtu.be Python: transitioning from 2 to 3]&lt;br /&gt;
&lt;br /&gt;
NCAR [https://ncar.github.io/python-tutorial/tutorials/yourfirst.html tutorial on python for atmospheric and oceanic scientists]&lt;br /&gt;
&lt;br /&gt;
cheat sheets:&lt;br /&gt;
&lt;br /&gt;
*[https://docs.google.com/document/d/1do9dtyzTQ5VY3yFC6YEj-fhAW7OnkA5jFzol1vjRu4w/edit?usp=sharing Tape ARchive - tar] &lt;br /&gt;
*[https://docs.google.com/document/d/1pGgVAoEjErHTn4joiCXbdnZDppEXwq9RcNofedrViz4/edit?usp=sharing Access Control Lists - acls] &lt;br /&gt;
*[https://docs.google.com/document/d/1ugmBLX385YCuEj1Rd1MEyzC85cZEfE6sDzbfEYiv8ZM/edit?usp=sharing NCI accounting:] data#_report_files, short_report_files, lquota, ncimonitor and mdssdiff &lt;br /&gt;
&lt;br /&gt;
= Professional development =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Data science: [https://www.dataquest.io Dataquest] and [https://www.dataquest.io/blog its blog].&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Gadi&amp;diff=3578</id>
		<title>Gadi</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Gadi&amp;diff=3578"/>
		<updated>2022-06-01T06:37:00Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Added explanation of copying and moving&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Gadi processors =&lt;br /&gt;
&lt;br /&gt;
Gadi is NCI's primary supercomputer since January 2020. The supercomputer is composed of an assortment of processors, the majority of those are Cascade Lake processors. Different queues give access to different processors and have a different charging rate&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Queue&lt;br /&gt;
! Memory&lt;br /&gt;
! Priority&lt;br /&gt;
! Charging rate per walltime-hour&lt;br /&gt;
! CPU per node&lt;br /&gt;
! Processor type&lt;br /&gt;
|-&lt;br /&gt;
| normal&lt;br /&gt;
| 192 GB&lt;br /&gt;
| Normal&lt;br /&gt;
| 2SU&lt;br /&gt;
| 48&lt;br /&gt;
| Cascade Lake (CL), 3200 nodes&lt;br /&gt;
|-&lt;br /&gt;
| normalbw&lt;br /&gt;
| 256 GB&lt;br /&gt;
| Normal&lt;br /&gt;
| 1.25SU&lt;br /&gt;
| 28&lt;br /&gt;
| Broadwell (BW), 800 nodes&lt;br /&gt;
|-&lt;br /&gt;
| express&lt;br /&gt;
| 192 GB&lt;br /&gt;
| High&lt;br /&gt;
| 6SU&lt;br /&gt;
| 48&lt;br /&gt;
| Cascade Lake (CL), 3200 nodes&lt;br /&gt;
|-&lt;br /&gt;
| copyq&lt;br /&gt;
| 192 GB&lt;br /&gt;
| Normal&lt;br /&gt;
| 2SU&lt;br /&gt;
| 1 cpu jobs only&lt;br /&gt;
| Cascade Lake (CL), 3200 nodes&lt;br /&gt;
|-&lt;br /&gt;
| gpuvolta&lt;br /&gt;
| 340 GB&lt;br /&gt;
| Normal&lt;br /&gt;
| 3SU&lt;br /&gt;
| 48CPUs, 4 GPU&lt;br /&gt;
| 640 Nvidia V100 GPUs, 160 nodes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Full [https://opus.nci.org.au/display/Help/Queue+Limits details of all available queues are available from the NCI help pages].&lt;br /&gt;
&lt;br /&gt;
= Getting an account =&lt;br /&gt;
&lt;br /&gt;
To get a new account at NCI, you will need to get connected to a NCI project. Before you start the process, talk to your CI or supervisor to know which project code to use. You will need to apply via [https://my.nci.org.au/ my.nci.org.au]. NCI will send you a password via SMS once your application has been processed, this usually takes under a day to do.&lt;br /&gt;
&lt;br /&gt;
Once you have an account, [https://my.nci.org.au/mancini/login?next=/mancini/ my.nci.org.au] will allow you to ask for membership of other projects you might need. Those could be projects for additional compute time or projects to access data etc.&lt;br /&gt;
&lt;br /&gt;
= Connecting to Gadi =&lt;br /&gt;
&lt;br /&gt;
To connect to Gadi, you'll need to use a SSH connection to &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;gadi.nci.org.au&amp;lt;/span&amp;gt;. If you're using Windows, you'll need to use something like [http://www.putty.org/ PuTTY], or if you're connecting from linux or mac run on the commandline (substitute &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;abc123&amp;lt;/span&amp;gt; with your own username)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;ssh -Y abc123@gadi.nci.org.au&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can make a shortcut for this by editing (or creating) the file &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;~/.ssh/config&amp;lt;/span&amp;gt; and adding the lines:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Host              gadi&lt;br /&gt;
HostName          gadi.nci.org.au&lt;br /&gt;
User              abc123&lt;br /&gt;
ForwardX11        true&lt;br /&gt;
ForwardX11Trusted true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This way you just need to type '&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;ssh gadi&amp;lt;/span&amp;gt;' to connect. &lt;br /&gt;
= Swapping Projects =&lt;br /&gt;
&lt;br /&gt;
If you use more than one project you can swap between them with the command '&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;switchproj&amp;lt;/span&amp;gt;', e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;switchproj w35&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
will start a new shell and change your current project to w35. This is useful if you want to interactively create files that will be owned by a specific project. You can also change your default project by editing the file on Gadi &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;~/.config/gadi-login.conf&amp;lt;/span&amp;gt;, it should have a line like &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;PROJECT w35&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You simply need to change the project code to the one you'd like. Then you need to log out and back in for the change to take effect. In the &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;~/.config/gadi-login.conf&amp;lt;/span&amp;gt; file, you can also change your default shell. That is the active shell when you log into Gadi. &lt;br /&gt;
= Resources on Gadi =&lt;br /&gt;
&lt;br /&gt;
To see how much compute time you have available run the command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;nci_account -P $PROJECT -q 2013.q3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see how much storage space you have available run the command&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;lquota -P $PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information see [[Accounting_at_NCI|Accounting_at_NCI]].&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Submitting Jobs =&lt;br /&gt;
&lt;br /&gt;
To run a job on the supercomputer you submit it to a job queue using the '&amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;qsub&amp;lt;/span&amp;gt;' command. Jobs are shell script files, they contain special markers to say what resources the job needs.&lt;br /&gt;
&lt;br /&gt;
As an example the script &amp;quot;hello.sh&amp;quot;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#!/bin/bash&lt;br /&gt;
#PBS -l ncpus=2&lt;br /&gt;
#PBS -l walltime=10:00&lt;br /&gt;
#PBS -l mem=1gb&lt;br /&gt;
#PBS -v PROJECT&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Hello&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
says to run with 2 cpus for a maximum time of 10 minutes. The job can use up to 1 GB of memory. Anything after the #PBS lines is what gets run on the supercomputer, in this instance it just prints &amp;quot;Hello&amp;quot; (any output goes to files in the directory you submitted the job named like &amp;quot;hello.sh.o123456&amp;quot;, error messages go to files named like &amp;quot;hello.sh.e123456). The command '-v PROJECT' means run using the current project, you can also specify a project to use like '-v PROJECT=w35'. If the job tries to use more resources than it's asked for it will be automatically stopped. The less resources you ask for the more likely it is that your job will run quickly however, you should try to request an amount close to what the job actually uses.&lt;br /&gt;
&lt;br /&gt;
See the [https://opus.nci.org.au/display/Help/How+to+submit+a+job NCI PBS documentation] for more detail.&lt;br /&gt;
&lt;br /&gt;
= Managing Jobs =&lt;br /&gt;
&lt;br /&gt;
To see a list of your submitted &amp;amp; currently running jobs run&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;nqstat&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This also shows how much resources each job has requested &amp;amp; is currently using. Each job in the queue has a run id number associated with it (this is also printed when you submit a job with &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;qsub&amp;lt;/span&amp;gt;). To get more information on a job run &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;qstat -s 123456 # Show any status information, e.g. why the job isn't currently running&lt;br /&gt;
qstat -f 123456 # Show full information, including resources requested &amp;amp; environment variables&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To remove a job from the queue use &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;qdel&amp;lt;/span&amp;gt; &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;qdel 123456 # Remove the job 123456 from the queue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copying and moving files =&lt;br /&gt;
&lt;br /&gt;
In general&amp;amp;nbsp;the project code is retained when moving files from one filesystem to another om gadi (using the &amp;lt;tt&amp;gt;mv&amp;lt;/tt&amp;gt; command). If you instead copy the files (using &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt;) then the project code is changed to be the same as the project for the directory they are being copied to if the &amp;lt;tt&amp;gt;setgid&amp;lt;/tt&amp;gt; bit is set, which it often is, e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ ls -ld /scratch/v45&lt;br /&gt;
drwxrws--- 170 root v45 16384 May 20 20:16 '''/scratch/v45'''&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the &amp;lt;tt&amp;gt;s&amp;lt;/tt&amp;gt; in the group permissions indicates the setgid bit is set, which means any files&amp;amp;nbsp;'''created'''&amp;amp;nbsp;there will have the group &amp;lt;tt&amp;gt;v45&amp;lt;/tt&amp;gt;, rather than your default project code, and copying creates a new file. When using &amp;lt;tt&amp;gt;mv&amp;lt;/tt&amp;gt; across filesystems it will effectively do a copy and on success change the attributes to match the original and then delete the original. &amp;lt;tt&amp;gt;rsync&amp;lt;/tt&amp;gt; will also do something similar depending on the options used.&lt;br /&gt;
&lt;br /&gt;
See here for more details on the setgid bit&amp;lt;br/&amp;gt; [https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits https://linuxconfig.org/how-to-use-special-permissions-the-setuid-setgid-and-sticky-bits]&lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Tips:_Custom_file_permissions_at_creation&amp;diff=3575</id>
		<title>Tips: Custom file permissions at creation</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Tips:_Custom_file_permissions_at_creation&amp;diff=3575"/>
		<updated>2022-05-31T04:14:53Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page provides information on how to create files with group read permissions at NCI.&lt;br /&gt;
&lt;br /&gt;
By default, when you create a file under /short of /g/data, the file will be readable by you and the group owning the file. So you don't need to change anything then. But there are a few cases where the default behaviour is different and you may want to change it.&lt;br /&gt;
&lt;br /&gt;
== PBS logs ==&lt;br /&gt;
&lt;br /&gt;
By default, all log files from PBS are only readable by the user owning the file. You can use a PBS option to change this behaviour so your logs are readable by the user and the group owning the file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#PBS -W umask=0022&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to add this option either to the script you submit to the queue (with qsub) or directly to the qsub command line.&lt;br /&gt;
&lt;br /&gt;
For PBS log files that have already been created you will need to do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;chmod g+r &amp;lt;filename&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HOME directory permissions ==&lt;br /&gt;
&lt;br /&gt;
By default your home directory is not accessible to anyone but you. If you need others to access files in your home directory you will need to give them access. If they are members of the same group. To find your home directory permissions and group:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$ ls -ld $HOME&lt;br /&gt;
drwx------ 36 usr123 g00 20480 May 26 09:17 /home/001/usr123&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the other user you wish to give permissions to is also a member of the same group (in this case g00) then use this command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$ chmod g+rx $HOME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the permissions will reflect the change:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$ ls -ld $HOME&lt;br /&gt;
drwxr-x--- 36 usr123 g00 20480 May 26 09:17 /home/001/usr123&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the other user is not a member of the correct group, they can either join the project in question, or you can use [[Useful_resources|Access Control Lists (ACLs)]].&lt;br /&gt;
&lt;br /&gt;
== Files created by programs ==&lt;br /&gt;
&lt;br /&gt;
Some programs might impose a different default of the files they create which might not be what you'd like.&lt;br /&gt;
&lt;br /&gt;
=== You have access to the source code ===&lt;br /&gt;
&lt;br /&gt;
If you have access to the source code, it is usually possible to modify the default behaviour. What needs to be modified varies depending on the language. Please contact [mailto:cws_help@nci.org.au the CMS team] if you need help.&lt;br /&gt;
&lt;br /&gt;
=== You don't have access to the source code ===&lt;br /&gt;
&lt;br /&gt;
You then need to add a post-processing step, for example in a bash script calling your program. You can change the permissions on the files created by your program, using the &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
 chmod g+r &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command can be run recursively through a directory tree:&lt;br /&gt;
&lt;br /&gt;
 chmod -R g+r &amp;lt;directory_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Files owned by the wrong group ===&lt;br /&gt;
&lt;br /&gt;
If you are using compute time from several projects, you may end up with files owned by different projects in the same area. This might not be the ideal situation for you and it is possible to change the group owning the file. '''Note:''' NCI's storage accounting depends only on the group owning the files and not the project space under which the files are stored. '''Before changing the group owning files, please make sure the new group has enough free allocation and you will not cause that group to get over quota.'''&lt;br /&gt;
&lt;br /&gt;
To change the group ownership of a file:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;newgroup&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or recursively through a directory tree:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;newgroup&amp;gt; &amp;lt;directory_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Data]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Tips:_Custom_file_permissions_at_creation&amp;diff=3574</id>
		<title>Tips: Custom file permissions at creation</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Tips:_Custom_file_permissions_at_creation&amp;diff=3574"/>
		<updated>2022-05-25T23:45:50Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Add explicit instructions for home directories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page provides information on how to create files with group read permissions at NCI.&lt;br /&gt;
&lt;br /&gt;
By default, when you create a file under /short of /g/data, the file will be readable by you and the group owning the file. So you don't need to change anything then. But there are a few cases where the default behaviour is different and you may want to change it.&lt;br /&gt;
&lt;br /&gt;
== PBS logs ==&lt;br /&gt;
&lt;br /&gt;
By default, all log files from PBS are only readable by the user owning the file. You can use a PBS option to change this behaviour so your logs are readable by the user and the group owning the file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#PBS -W umask=0022&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You need to add this option either to the script you submit to the queue (with qsub) or directly to the qsub command line.&lt;br /&gt;
&lt;br /&gt;
== HOME directory permissions ==&lt;br /&gt;
&lt;br /&gt;
By default your home directory is not accessible to anyone but you. If you need others to access files in your home directory you will need to give them access. If they are members of the same group. To find your home directory permissions and group:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$ ls -ld $HOME&lt;br /&gt;
drwx------ 36 usr123 g00 20480 May 26 09:17 /home/001/usr123&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the other user you wish to give permissions to is also a member of the same group (in this case g00) then use this command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$ chmod g+rx $HOME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the permissions will reflect the change:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$ ls -ld $HOME&lt;br /&gt;
drwxr-x--- 36 usr123 g00 20480 May 26 09:17 /home/001/usr123&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the other user is not a member of the correct group, they can either join the project in question, or you can use [[Useful_resources|Access Control Lists (ACLs)]].&lt;br /&gt;
&lt;br /&gt;
== Files created by programs ==&lt;br /&gt;
&lt;br /&gt;
Some programs might impose a different default of the files they create which might not be what you'd like.&lt;br /&gt;
&lt;br /&gt;
=== You have access to the source code ===&lt;br /&gt;
&lt;br /&gt;
If you have access to the source code, it is usually possible to modify the default behaviour. What needs to be modified varies depending on the language. Please contact [mailto:cws_help@nci.org.au the CMS team] if you need help.&lt;br /&gt;
&lt;br /&gt;
=== You don't have access to the source code ===&lt;br /&gt;
&lt;br /&gt;
You then need to add a post-processing step, for example in a bash script calling your program. You can change the permissions on the files created by your program, using the &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt; command:&lt;br /&gt;
&lt;br /&gt;
 chmod g+r &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command can be run recursively through a directory tree:&lt;br /&gt;
&lt;br /&gt;
 chmod -R g+r &amp;lt;directory_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Files owned by the wrong group ===&lt;br /&gt;
&lt;br /&gt;
If you are using compute time from several projects, you may end up with files owned by different projects in the same area. This might not be the ideal situation for you and it is possible to change the group owning the file. '''Note:''' NCI's storage accounting depends only on the group owning the files and not the project space under which the files are stored. '''Before changing the group owning files, please make sure the new group has enough free allocation and you will not cause that group to get over quota.'''&lt;br /&gt;
&lt;br /&gt;
To change the group ownership of a file:&lt;br /&gt;
&lt;br /&gt;
 chgrp &amp;lt;newgroup&amp;gt; &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or recursively through a directory tree:&lt;br /&gt;
&lt;br /&gt;
 chgrp -R &amp;lt;newgroup&amp;gt; &amp;lt;directory_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Data]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3570</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3570"/>
		<updated>2022-05-10T01:33:52Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left-&amp;amp;nbsp;hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences. Simply outline your issue in an email and send it to&amp;amp;nbsp;[mailto:cws_help@nci.org.au cws_help@nci.org.au]&amp;amp;nbsp;which will open a help ticket on our helpdesk.&lt;br /&gt;
&lt;br /&gt;
'''Note: '''We have [[Updated_support_level|updated our user support levels]] due to staffing issues.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Follow the [[Troubleshooting|troubleshooting guide]] &lt;br /&gt;
*Have you read the documentation on this wiki (if it exists), any other relevant documentation, or looked on&amp;amp;nbsp;[https://climate-cms.org our blog]? &lt;br /&gt;
*Do you need to do some [[Training|training]] to improve your&amp;amp;nbsp;skills? &lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what have you tried already that hasn't worked? &lt;br /&gt;
**provide some background for why you are doing the task that isn't working. Sometimes we might be able to suggest a different approach rather than trying to solve your specific error &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, OOD at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working on Gadi was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. In particular if this is an error with the conda environment we support please include which version of the environment you are using.&amp;amp;nbsp;Tell us if you load modules in your .bashrc or .bash_profile files (not&amp;amp;nbsp;recommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 24 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CLEx_induction&amp;diff=3568</id>
		<title>CLEx induction</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CLEx_induction&amp;diff=3568"/>
		<updated>2022-05-09T04:37:56Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Removed Claire and Scott&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The CMS team is here to help you with the technical aspects of your work. A lot of you (probably all) will have to work with computer code and software, usually in a Linux/Unix environment. You might also need to access and/or share large amounts of data, work on different servers, etc.&lt;br /&gt;
&lt;br /&gt;
Some of you will be somewhat familiar with these tasks whereas they will be new to others. We are here to help whatever your technical knowledge is. We are happy to answer any question, we can't necessarily do everything but feel free to ask as we might have ideas or we might know who you should contact and what to exactly ask.&lt;br /&gt;
&lt;br /&gt;
The members of the [[CMS|CMS]] team are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Sitting at&lt;br /&gt;
! Email&lt;br /&gt;
! CMS &amp;quot;local&amp;quot; support person for&lt;br /&gt;
|-&lt;br /&gt;
| Aidan Heerdegen&lt;br /&gt;
| ANU&lt;br /&gt;
| aidan.heerdegen@anu.edu.au&lt;br /&gt;
| ANU&lt;br /&gt;
|-&lt;br /&gt;
| Paola Petrelli&lt;br /&gt;
| U Tasmania&lt;br /&gt;
| paola.petrelli@utas.edu.au&lt;br /&gt;
| U Tasmania&lt;br /&gt;
|-&lt;br /&gt;
| Holger Wolff&lt;br /&gt;
| Monash&lt;br /&gt;
| holger.wolff@monash.edu&lt;br /&gt;
| Monash&lt;br /&gt;
|-&lt;br /&gt;
| Ramzi Kutteh&lt;br /&gt;
| UNSW&lt;br /&gt;
| r.kutteh@unsw.edu.au&lt;br /&gt;
| UNSW&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;local&amp;quot; support person will be the CMS person welcoming you to the Centre and possibly giving you an induction. But you are more than welcome to contact any of the CMS team members for support.&lt;br /&gt;
&lt;br /&gt;
Although we won't ignore emails sent to our individual addresses, our preferred way of contact is through our help desk email address: [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Contacting the help desk will make sure your email is seen by one of us in case the person at your institution is away for example. Don't worry about the help desk email being an NCI account, you can still ask any question there.&lt;br /&gt;
&lt;br /&gt;
[[Getting_Help|Here]] are some guidelines on formulating your requests to CMS&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Set up your computer =&lt;br /&gt;
&lt;br /&gt;
We have put instructions for the setup we recommend for each operating system on the following pages:&lt;br /&gt;
&lt;br /&gt;
*[[Getting_started_on_Windows|Windows]] &lt;br /&gt;
*[[Getting_started_on_Mac|Mac]] &lt;br /&gt;
*[[Getting_started_on_Linux|Linux]] &lt;br /&gt;
&lt;br /&gt;
= Step 1: Get an account with NCI =&lt;br /&gt;
&lt;br /&gt;
NCI operates the computers that you will be doing most of your work on. NCI provides services to the Centre, they are not part of the Centre of Excellence.&lt;br /&gt;
&lt;br /&gt;
To get access to NCI servers, you need to do three things:&lt;br /&gt;
&lt;br /&gt;
1. You need to find out which project(s) you need to be connected to.&lt;br /&gt;
&lt;br /&gt;
Your project decides who gets billed for what you do on the NCI Servers. Your supervisor should be able to tell you which project(s) you should get connected to. Be mindful that there are two types of projects: projects for computation and projects for datasets. The mapping of the computational projects for CLEX can be found [[CLEX_projects_at_NCI|here]]. We recommend to join all the projects relevant to your research project but to choose 1 default project to work from. The same page with the list of computational projects explains how to set your default project. The projects for datasets do not have any computational time added to them so you need to make sure you ask for at least one computation project. Your supervisor should know. Note if you will run the ACCESS model or the UM model, you need to ask a connection to the &amp;quot;access&amp;quot; project in addition to at least one computation project.&lt;br /&gt;
&lt;br /&gt;
2. You need to register with NCI.&lt;br /&gt;
&lt;br /&gt;
This can be done on [https://my.nci.org.au/mancini/signup/0 NCI registration page] You will need to supply some information, and read and accept their policies. In order to be added to the system, you need to request connection to at least one project and be accepted on the project. Note that this can take a bit of time until&amp;amp;nbsp;the Lead chief investigator of the project has received and confirmed your request via email. Note that this is an automatic email process, you don't need to send an email to the lead chief investigator. Although, you might want to do so if you think you need to introduce yourself to him/her. Note that you should be able to request connection to several projects while getting signed up.&lt;br /&gt;
&lt;br /&gt;
3. You might want to ask your supervisor whether you also should be connected to any of the following data projects.&lt;br /&gt;
&lt;br /&gt;
These don’t provide any computing allowances, but they give access to certain datasets or models that you might need.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project&lt;br /&gt;
! Purpose&lt;br /&gt;
! Administrator&lt;br /&gt;
|-&lt;br /&gt;
| '''ua8'''&lt;br /&gt;
| &amp;amp;nbsp;GSWP3, NCEP Polar sst, OISST, CMIP5 ocean processing, model ensemble data&amp;amp;nbsp;+ others&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''rq7'''&lt;br /&gt;
| [[YOTC|ECMWF Year of Tropical Convection re-analysis]]&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''ks32'''&lt;br /&gt;
| ARCCSS and CLEX published data&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''ub4'''&lt;br /&gt;
| [[ERA_INTERIM|ECMWF ERA Interim re-analysis 6 hrs data]] and&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''cb20'''&lt;br /&gt;
| [[CMIP|CMIP3]] replica data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''al33'''&lt;br /&gt;
| [[CMIP|CMIP5]] replica data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''rr3'''&lt;br /&gt;
| [[CMIP|CMIP5]] published data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''oi10'''&lt;br /&gt;
| [[CMIP|CMIP6]] replica data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''fs38'''&lt;br /&gt;
| [[CMIP|CMIP6]] published data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''rr7'''&lt;br /&gt;
| Use only for JRA55, MERRA2 the other datasets have been removed&lt;br /&gt;
| BoM&lt;br /&gt;
|-&lt;br /&gt;
| '''cable'''&lt;br /&gt;
| Give access to the [https://trac.nci.org.au/trac/cable/wiki CABLE model] and [[CABLE_Data|CABLE benchmarking dataset]]. Please read the [https://trac.nci.org.au/trac/cable/wiki/CableRegistration CABLE registration] information.&lt;br /&gt;
| CSIRO&lt;br /&gt;
|-&lt;br /&gt;
| '''access'''&lt;br /&gt;
| Give access to the [[Unified_Model|Unified Model]] and ACCESS tools&lt;br /&gt;
| CMS - BoM - CSIRO&lt;br /&gt;
|-&lt;br /&gt;
| '''rt52'''&lt;br /&gt;
| [[ERA5|ECMWF ERA5 re-analysis]]&amp;amp;nbsp;single and pressure levels&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''zz93'''&lt;br /&gt;
| [[ERA5|ECMWF ERA5 re-analysis]]&amp;amp;nbsp;Land data&lt;br /&gt;
| NCI&lt;br /&gt;
|-&lt;br /&gt;
| '''sx70'''&lt;br /&gt;
| Shared input data for WRF&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''ik11'''&lt;br /&gt;
| Shared data for COSIMA. Inputs and outputs&lt;br /&gt;
| COSIMA&lt;br /&gt;
|-&lt;br /&gt;
| '''ia89'''&lt;br /&gt;
| 400m resolution ACCESS limited-area simulation over Australia&lt;br /&gt;
| CMS&lt;br /&gt;
|-&lt;br /&gt;
| '''gy85'''&lt;br /&gt;
| Himawari-8 GeoCat 1.0.3 Australian Domain&lt;br /&gt;
| CMS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Step 2: Set up your Connection =&lt;br /&gt;
&lt;br /&gt;
The standard method of connecting to the NCI systems is SSH. We want you to use a passphrase protected private key authorisation method with an ssh-agent and agent forwarding for convenience. If you understood every part of that sentence, go ahead and set it up. If not, the next part describes what to do.&lt;br /&gt;
&lt;br /&gt;
The instructions describe how to set up your connection to both gadi.nci.org.au and accessdev.nci.org.au. You '''can not''' set up a connection to accessdev if you are not going to use the ACCESS or UM models. So please only follow the instructions you need!&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Linux and MacOS: ==&lt;br /&gt;
&lt;br /&gt;
#'''Create the ssh directory''' on your computer &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ mkdir -p ~/.ssh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Create a config file''' &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ nano ~/.ssh/config &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enter the following contents, replacing &amp;lt;span style=&amp;quot;font-family:monospace&amp;quot;&amp;gt;xx0000&amp;lt;/span&amp;gt; with your NCI user name.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Host gadi gadi.nci.org.au&lt;br /&gt;
    HostName gadi.nci.org.au&lt;br /&gt;
    User xx0000&lt;br /&gt;
    ForwardX11 yes&lt;br /&gt;
    ForwardX11Trusted yes&lt;br /&gt;
Host access accessdev.nci.org.au&lt;br /&gt;
    HostName accessdev.nci.org.au&lt;br /&gt;
    User xx0000&lt;br /&gt;
    ForwardX11 yes&lt;br /&gt;
    ForwardX11Trusted yes&lt;br /&gt;
    ForwardAgent yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you use a Mac, and you want to store the key in your keychain so that it gets automatically loaded when you log in, you can add this section to your config file: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Host *&lt;br /&gt;
    AddKeysToAgent yes&lt;br /&gt;
    UseKeychain yes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#'''Create a key pair.''' It is imperative that you select a strong passphrase when asked for it. &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ ssh-keygen -t rsa&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Distribute the key pair.''' On most systems, there is a useful script to distribute the key pairs called '''ssh-copy-id''': &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ ssh-copy-id gadi&lt;br /&gt;
$ ssh-copy-id access&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If that script fails, you have to distribute the keys manually with these commands:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh gadi &amp;quot;mkdir -p ~/.ssh/; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
$ cat ~/.ssh/id_rsa.pub | ssh access &amp;quot;mkdir -p ~/.ssh/; cat &amp;gt;&amp;gt; ~/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#'''Test whether you have an agent.''' If you have an agent already running, this command will ask for the passphrase for the just-created key pair: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;$ ssh-add&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the last command told you that it couldn’t open a connection, then you don’t have an agent. Come talk to someone of the CMS team, we will help you set it up.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
Since Windows has a different heritage to Mac and Linux some extra setup work is required to use SSH. See the [[Getting_started_on_Windows|Getting started on Windows]] page for details.&lt;br /&gt;
&lt;br /&gt;
If you're using [[Getting_started_on_Windows#Windows_Subsystem_for_Linux_.28WSL.29|WSL]] or [[Getting_started_on_Windows#Cygwin|Cygwin]] use the [[#Linux_and_MacOS:|SSH instructions for Mac and Linux]] above.&lt;br /&gt;
&lt;br /&gt;
If using Power Shell, generate your ssh key with (Power Shell doesn't support 'rsa' keys)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;unknown&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t ecdsa -b 521 -f .ssh/id_ecdsa&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The contents of C:\Users\USER\.ssh\id_ecdsa.pub then need to be copied into ~/.ssh/authorized_keys on Gadi manually, as Power Shell doesn't have the ssh-copy-id command. The Power Shell SSH config file is located in your user directory, e.g. C:\Users\USER\.ssh\config &lt;br /&gt;
== SSH-keys for file transfers ==&lt;br /&gt;
&lt;br /&gt;
Additionally, some groups transfer data from NCI to outside NCI, for example for storage on University maintained servers. For these transfers, the best way to proceed is to create a restricted ssh key pair used only for file transfer. The setup is explained in [https://opus.nci.org.au/display/Help/Using+SSH+keys Using restricted commands for transferring files]. Most of the instructions are still valid, except for step 3. The restricted command prefix should now be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
from=&amp;quot;gadi-dm*.nci.org.au,gadi*.nci.org.au&amp;quot;,command=&amp;quot;~/bin/rrsync /data/archive&amp;quot;,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,no-user-rc ssh-rsa&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step 3: Basics of the NCI system =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;line-height: 1.5;&amp;quot;&amp;gt;We are mainly using 3 systems of the NCI: gadi, accessdev and VDI. Gadi is the supercomputer that we run our models on. Accessdev is a virtual server that we have software installed that are required to allow the running the models. VDI is a virtual desktop designed for interactive analysis of your results. All these servers run Linux as operating system.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Read the manual! ==&lt;br /&gt;
&lt;br /&gt;
Considering you will be using systems that are provided by the NCI, you should take the time to read the documentation provided by them about their systems. That is everything on their [https://opus.nci.org.au/display/Help/NCI+Help help knowledge base].&lt;br /&gt;
&lt;br /&gt;
== Additional notes ==&lt;br /&gt;
&lt;br /&gt;
=== Modules: ===&lt;br /&gt;
&lt;br /&gt;
The servers have a lot of software installed, some of which they have multiple versions of. If you need to use a software, you usually will need to load a certain module. A full help of the module command is accessible through the man pages on gadi. Here are the most important commands regarding the modules:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;help&amp;lt;/span&amp;gt;&lt;br /&gt;
| Show help about the module system&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;avail&amp;lt;/span&amp;gt;&lt;br /&gt;
| List all available modules (a lot!)&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;list&amp;lt;/span&amp;gt;&lt;br /&gt;
| List the currently loaded modules&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;load&amp;lt;/span&amp;gt; intel-compiler&lt;br /&gt;
| Load the default version of the intel compiler&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;load&amp;lt;/span&amp;gt; intel-compiler/2019.3.199&lt;br /&gt;
| Load a specific version of the intel compiler&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;switch&amp;lt;/span&amp;gt; intel-compiler/2019.3.199&lt;br /&gt;
| Switch to a different version of the intel compiler (unload and load)&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;unload&amp;lt;/span&amp;gt; intel-compiler/2019.3.199&lt;br /&gt;
| Unload the specified version of the intel compiler&lt;br /&gt;
|-&lt;br /&gt;
| $ module &amp;lt;span style=&amp;quot;color: #8000ff;&amp;quot;&amp;gt;use&amp;lt;/span&amp;gt; /g/data/hh5/public/modules&lt;br /&gt;
| Add our Centre's curated modules to the list of available modules&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some modules conflict with one another, for example different versions of the same software. You might have to unload one module first to load a different one.&lt;br /&gt;
&lt;br /&gt;
=== PBS: ===&lt;br /&gt;
&lt;br /&gt;
The other important system you need to understand in order to work on gadi is the scheduler PBS. This is the system for running software on dedicated nodes inside gadi. Basically, a user tells PBS that they want to run this job on this many CPUs with these resources for at least so long, and PBS places it in a queue, and when the required resources are available, it will assign this job to them.&lt;br /&gt;
&lt;br /&gt;
Again, NCI has a very good documentation about how to run this [https://opus.nci.org.au/display/Help/How+to+submit+a+job here]&lt;br /&gt;
&lt;br /&gt;
The most important commands are:&lt;br /&gt;
&lt;br /&gt;
*'''qsub''' – Submit a job to the queue &lt;br /&gt;
*'''qstat''' – Display the status of the queued jobs &lt;br /&gt;
*'''qdel''' – Remove a job from the queue &lt;br /&gt;
&lt;br /&gt;
Of these, qsub is the most important, and there are so many parameters that we won’t tell them all here.&lt;br /&gt;
&lt;br /&gt;
In general, the fewer resources you request, the earlier your job will run. But if your program exceeds the requested resources at any time, PBS will kill the job, and you have to start over.&lt;br /&gt;
&lt;br /&gt;
More specifically:&lt;br /&gt;
&lt;br /&gt;
*Gadi is comprised of nodes with 48 CPUs each. If you request less than 48 CPUs, you will get the number of CPUs that you request. If you request more, you will need to use a multiple of 48 CPUs. &lt;br /&gt;
*Nodes come with 192GB of memory to share within the 48 CPUs. So if your job requires 48 or more CPUs, you might as well request all the memory, for example 384GB for a 96-cpu job. &lt;br /&gt;
&lt;br /&gt;
Running a job on the queue costs so-called '''SU'''. On the old raijin, one SU was equivalent to one core for one hour. On the much faster new gadi, one core for one hour costs 2 SU. Note that on gadi, the SU cost is calculated using the higher of the number of cores and the memory usage. So if you request 5 cores but only 2GB memory, its SU cost is based on the 5 cores. If you request 1 core but 96GB of memory (half of the whole node), the cost will be based on 24 cores (half the whole node).&lt;br /&gt;
&lt;br /&gt;
= Step 4: How to run models =&lt;br /&gt;
&lt;br /&gt;
A lot of information to gain access to models or run the models can be found on the ARCCSS CMS wiki (see link at the end).&lt;br /&gt;
&lt;br /&gt;
A very important message from the CMS team: &amp;lt;span style=&amp;quot;background-color: #fdf988; display: block; text-align: center;&amp;quot;&amp;gt;Often you will work with source code. Please ensure that your version of the source code is under version control! We use SVN and git (usually hosted on github) for the model codes and smaller utilities.&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background-color: #fdf988; display: block; text-align: center;&amp;quot;&amp;gt;'''DO NOT JUST COPY SOURCE CODE! CHECK IT OUT, OR CHECK IT IN!'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UM ==&lt;br /&gt;
&lt;br /&gt;
The Unified model is currently transitioning from the old user environment umui to the new rose/cylc user interface. Either way, you need to log into accessdev.nci.org.au.&lt;br /&gt;
&lt;br /&gt;
=== umui(x) ===&lt;br /&gt;
&lt;br /&gt;
The old user interface has to be used for versions up to 7.x, and can be used for 8.x. umui was developed by the UM, umuix is very similar, but more convenient developed by CSIRO. An introduction into its use is on our wiki: [http://climate-cms.unsw.wikispaces.net/Introduction+to+UMUI http://climate-cms.unsw.wikispaces.net/Introduction+to+UMUI]&lt;br /&gt;
&lt;br /&gt;
=== rose/cylc ===&lt;br /&gt;
&lt;br /&gt;
The new user interface can be used from version 8.x, and has to be used for versions 9.0 and later.&lt;br /&gt;
&lt;br /&gt;
== WRF ==&lt;br /&gt;
&lt;br /&gt;
The CMS team ports the WRF model at NCI. Information on using the model is on [[WRF|the CMS wiki]]. Users should also be aware that we do not reproduce the information from the [http://www2.mmm.ucar.edu/wrf/users/ WRF model users website] which stays a very important resource for all users. In particular, every new user is strongly encouraged to run through the official tutorials (found under User Support on the WRF model users site). As found on the WRF pages on this wiki, only the compilation steps differ from the NCAR tutorial.&lt;br /&gt;
&lt;br /&gt;
== CABLE ==&lt;br /&gt;
&lt;br /&gt;
CABLE is under licence so you need to request access to the code. All the information you need to get access and use CABLE is on the [https://trac.nci.org.au/trac/cable CABLE trac site]&lt;br /&gt;
&lt;br /&gt;
= Data management =&lt;br /&gt;
&lt;br /&gt;
Most of the information on how the data is managed is stored in this wiki in the [[Data|Data Services]] page. Here you can find information on the datasets managed by the Center as well the relevant policies in regard to data. Take some time to get familiar with it, here are some suggestions:&lt;br /&gt;
&lt;br /&gt;
#We now offer a 1-day Data Induction training, if you have an opportunity to participate do so, particularly if you are just starting. If you missed out, all the [[Data_induction|course materials]] are stored on the wiki and we tried to create a path for you touching all the relevant wiki pages. There are 3 parts to the data induction, the first covers the policies, the second focuses on publishing and the third the data and code management best practices.&amp;amp;nbsp; &lt;br /&gt;
#We strongly suggest to have&amp;amp;nbsp;a [[Data_Management_Plan|data management plan]]&amp;amp;nbsp;from the start of your project. You can use the [https://clex.dmponline.cloud.edu.au/ CLEX&amp;amp;nbsp;DMPonline tool] to do this. Because this tool stores your plan into a database, you can save it and access it as many times as you want, which means you can build your data management plan as you progress with your research. It is good though to start as soon as you can, DMPonline is structured as to teach about data practices and the resources available to you, it also informs the CMS team on which data, software and/or infrastructure you are planning to use, so we can better tailor our efforts to your needs. &lt;br /&gt;
#Get familiar with [[Publishing_options|publishing options]], while this might seem faraway, it is a good idea to keep track from now of what you are doing in regard to data and metadata, as it is often much more difficult to retrieve this information at the end of your project. There are also some technical times involved in getting data properly published. &lt;br /&gt;
#Consider creating a [[Persistent_research_identifiers|researcher-ID]] to uniquely identify your work. &lt;br /&gt;
#Make sure you browse through all the available data sources before you download data, this wiki page cover [[Finding_datasets|how to find out if a dataset]] is available at NCI.&amp;amp;nbsp;You could be wasting time and storage downloading something which might be already available, or that we could download and manage for you &lt;br /&gt;
#Become familiar with the different filesystems available on any server you are using, make sure you know which are meant to be working spaces, where you can archive your data, how to share data with collaborators and best practices to transfer data within and out of the system. If you are using gadi on NCI you can find this information on their [http://nci.org.au/nci-systems/national-facility/data-storage/filesystems/ user support ]and training sections. &lt;br /&gt;
#You can explore a lot of data related information in the [https://ardc.edu.au Australian Research Data Commons]&amp;amp;nbsp;website &lt;br /&gt;
#Don't hesitate in contacting cws_help&amp;lt;at&amp;gt;nci.org.au for any question you might have, or also e-mail directly paola.petrelli&amp;lt;at&amp;gt;utas.edu.au, if you have a more general question or you are confused about data management. We are always available to discuss with you the details of your project and give you advice. &lt;br /&gt;
&lt;br /&gt;
= How to learn more =&lt;br /&gt;
&lt;br /&gt;
== General setup: ==&lt;br /&gt;
&lt;br /&gt;
a blog post by a UNSW's PhD student on a few things to know and learn: [http://web.maths.unsw.edu.au/~oangelil/blog/blog2/page_blog2.html Oliver Angélil's post]&lt;br /&gt;
&lt;br /&gt;
== CMS: ==&lt;br /&gt;
&lt;br /&gt;
*E-Mail: [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*Chat with us on [https://arccss.slack.com Slack] (Use your university email in your sign up.) &lt;br /&gt;
*This [[Home|Wiki]] &lt;br /&gt;
*In person. &lt;br /&gt;
&lt;br /&gt;
== NCI: ==&lt;br /&gt;
&lt;br /&gt;
[https://opus.nci.org.au/display/Help/NCI+Help Guides and reference pages]&lt;br /&gt;
&lt;br /&gt;
[http://nci.org.au/services-support/training/ Training material] and [https://training.nci.org.au/ this]&lt;br /&gt;
&lt;br /&gt;
== Version Control with git: ==&lt;br /&gt;
&lt;br /&gt;
(Note: git might also be very useful for your thesis!) [https://www.youtube.com/playlist?list=PLg7s6cbtAD165JTRsXh8ofwRw0PqUnkVH Git video tutorial by GitHub]&lt;br /&gt;
&lt;br /&gt;
== Data management: ==&lt;br /&gt;
&lt;br /&gt;
[[Data_induction|Data induction]]&lt;br /&gt;
&lt;br /&gt;
= Getting help =&lt;br /&gt;
&lt;br /&gt;
Your first port of call for help should be the CMS team via the help-desk: [mailto:cws_help@nci.org.au cws_help@nci.org.au]. This help desk is followed by all the members of the CMS team and by some staff from NCI. [[Getting_Help|Here]] are some guidelines on formulating your request&lt;br /&gt;
&lt;br /&gt;
[[Category:Training]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3567</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3567"/>
		<updated>2022-05-05T23:54:42Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left-&amp;amp;nbsp;hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences. Simply outline your issue in an email and send it to&amp;amp;nbsp;[mailto:cws_help@nci.org.au cws_help@nci.org.au]&amp;amp;nbsp;which will open a help ticket on our helpdesk.&lt;br /&gt;
&lt;br /&gt;
'''Note: '''We have [[Updated_support_level|updated our user support levels]] due to staffing issues.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Follow the [[Troubleshooting|troubleshooting guide]] &lt;br /&gt;
*Have you read the documentation on this wiki (if it exists), any other relevant documentation, or looked on&amp;amp;nbsp;[https://climate-cms.org our blog]? &lt;br /&gt;
*Do you need to do some [[Training|training]] to improve your&amp;amp;nbsp;skills? &lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what have you tried already that hasn't worked? &lt;br /&gt;
**provide some background for why you are doing the task that isn't working. Sometimes we might be able to suggest a different approach rather than trying to solve your specific error &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, OOD at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working on Gadi was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. Tell us if you load modules in your .bashrc or .bash_profile files (unrecommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 24 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Home&amp;diff=3566</id>
		<title>Home</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Home&amp;diff=3566"/>
		<updated>2022-05-05T23:52:57Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Added Updated user support levels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:CLEX-ARC-logo.png|center|800px|CLEX-ARC-logo.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''CLEX [[CMS|CMS]]''' is a team providing data and computational support to researchers at the ARC Centre of Excellence for Climate Extremes&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-size:larger;&amp;quot;&amp;gt;[[Updated_support_level|Updated user support levels]]&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;[[Scratch_file_expiry|'''Scratch automatic file deletion''']]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Working from home: [[Working_from_home|some advice on how to setup]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''NCI project's migration: [[Migrate_experiment_projects|modifications to apply after the projects' migration]]'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; background:skyblue&amp;quot; | '''Our Services'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*[[ARCCSS_induction|Induction]] &lt;br /&gt;
*[[CMS#Our_People|Local Support]] &lt;br /&gt;
*[[FAQs|Checking the FAQs]] &lt;br /&gt;
*[[Getting_Help|Getting Help from CMS]] &lt;br /&gt;
*[[Training|Training]] &lt;br /&gt;
*[mailto:cws_help@nci.org.au Help Desk: cws_help@nci.org.au] &lt;br /&gt;
*[https://arccss.slack.com/ Slack] &lt;br /&gt;
*[[One-on-one_calls|Video meetings with CMS]] &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
*[[News|News]] &lt;br /&gt;
*[https://coecms.github.io/ Blog] &lt;br /&gt;
*[https://www.youtube.com/channel/UCSmoK6oWV9O0Hmyt9UdDNsQ Youtube] &lt;br /&gt;
*[https://github.com/coecms Github] &lt;br /&gt;
*[https://anaconda.org/coecms Conda Packages] &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; background:skyblue&amp;quot; | '''NCI'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
[[Accounting_at_NCI|Accounting at NCI]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; background:skyblue&amp;quot; | '''Data'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
[[Finding_datasets|Finding datasets]]&lt;br /&gt;
&lt;br /&gt;
*Common Datasets &lt;br /&gt;
**[[CMIP|CMIP]] &lt;br /&gt;
**[[ERA5|ERA5]] &lt;br /&gt;
**[[ERA_INTERIM|ERA Interim]]   &lt;br /&gt;
*'''[[:Category:Dataset|All Datasets]]''' &lt;br /&gt;
*[[CLEX_and_ARCCSS_data_collection|Data published by ARCCSS and CLEX]] &lt;br /&gt;
*[https://geonetwork.nci.org.au NCI Data Catalogue] &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
Data Management&lt;br /&gt;
&lt;br /&gt;
*[[Data_induction|An&amp;amp;nbsp;overview]] &lt;br /&gt;
*[[CLEX_Data_policy|CLEX&amp;amp;nbsp;Data&amp;amp;nbsp;policy]] &lt;br /&gt;
*[[Publishing_options|How to Publish Data]] &lt;br /&gt;
*[[Persistent_research_identifiers|Persistent research&amp;amp;nbsp;identifiers]] &lt;br /&gt;
*[[Publisher_policies|Journal requirements]] &lt;br /&gt;
*[[Leaving_the_Centre_guidelines|Leaving the Centre guidelines]] &lt;br /&gt;
*[[Storage|Storage]] &lt;br /&gt;
&lt;br /&gt;
[[Data|All data resources]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; background:skyblue&amp;quot; | '''Models'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
[[ACCESS|ACCESS]] (Coupled)&lt;br /&gt;
&lt;br /&gt;
*[https://accessdev.nci.org.au/trac/wiki/GettingConnected Getting Started with ACCESS] &lt;br /&gt;
*[[ACCESS#Model_Versions|CMIP Experiments]] &lt;br /&gt;
*[[:Category:ACCESS|Other ACCESS Configurations]] &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 50%&amp;quot; | &lt;br /&gt;
[[MOM|MOM]] (Ocean)&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/COSIMA/access-om2/wiki ACCESS-OM 2] &lt;br /&gt;
*[http://cosima.org.au COSIMA] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| [[Unified_Model|Unified Model]] (Atmosphere) &lt;br /&gt;
*[[Unified_Model#Getting_Started|Getting Started with the UM]] &lt;br /&gt;
*[https://code.metoffice.gov.uk/doc/um/latest/umdp.html UM Documentation] &lt;br /&gt;
*[https://code.metoffice.gov.uk/trac/home MOSRS] &lt;br /&gt;
*[[Unified_Model#Supported_Experiments|Experiment Configurations]] &lt;br /&gt;
&lt;br /&gt;
| [[CABLE|CABLE]] (Land)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| [[WRF|WRF]] (Atmosphere)&lt;br /&gt;
| [[NU-WRF|NU-WRF]] (Atmosphere-Land)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| [[:Category:Models|Other Models]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; background:skyblue&amp;quot; | '''Resources'''&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
[[Glossary|Glossary]]&lt;br /&gt;
&lt;br /&gt;
'''Tips:'''&lt;br /&gt;
&lt;br /&gt;
*[[Tips:_Custom_file_permissions_at_creation|Custom file permissions]] &lt;br /&gt;
*[[VS_Code|Getting started with VS Code]] &lt;br /&gt;
&lt;br /&gt;
'''CLEx information:'''&amp;lt;br/&amp;gt; [https://climateextremes.org.au CLEX - ARC Centre of Excellence for Climate Extremes]&lt;br /&gt;
&lt;br /&gt;
[https://twitter.com/ClimateExtremes @ClimateExtremes]&lt;br /&gt;
&lt;br /&gt;
'''Partners'''&lt;br /&gt;
&lt;br /&gt;
*[https://nci.org.au NCI - National Computational Infrastructure] &lt;br /&gt;
*[https://ardc.edu.au/ ARDC - Australian Research Data Commons] &lt;br /&gt;
*[https://www.csiro.au/en/Research/OandA CSIRO] &lt;br /&gt;
*[https://bom.gov.au Bureau of Meterology] &lt;br /&gt;
*[https://www.gfdl.noaa.gov/ GFDL - Geophysical Fluid Dynamics Laboratory] &lt;br /&gt;
*[https://www.metoffice.gov.uk/ UK Met Office] &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:right&amp;quot;&amp;gt;[[:Category:Contents|Contents]] | [[:Category:Admin|Admin]]&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Category:Contents]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Updated_support_level&amp;diff=3565</id>
		<title>Updated support level</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Updated_support_level&amp;diff=3565"/>
		<updated>2022-05-05T23:51:19Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Fixed formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
6/5/2022&lt;br /&gt;
&lt;br /&gt;
= Context =&lt;br /&gt;
&lt;br /&gt;
The CMS team is currently at a substantially reduced capacity.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Consequently we cannot continue the same level of user support we have previously provided. The helpdesk ([[Cws_help@nci.org.au|cws_help@nci.org.au]]) and direct user support is an important and valued part of the role of the CMS, but we have other tasks and duties that require our attention. New CMS team members also require support and will take time to be as effective and efficient as those they are replacing.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= What is changing? =&lt;br /&gt;
&lt;br /&gt;
== '''Helpdesk''' ==&lt;br /&gt;
&lt;br /&gt;
The helpdesk (cws_help@nci.org.au) will operate only 4 days a week (Mo/Tu/Th/Fr) and responses (not necessarily resolutions) to helpdesk queries will occur within 24 hours of submission on those days (up from the previous 2 hours).&lt;br /&gt;
&lt;br /&gt;
== '''CodeBreak''' ==&lt;br /&gt;
&lt;br /&gt;
CodeBreak sessions will run every Wednesday (up from the previous fortnightly frequency) as video sessions tend to be more efficient than email for dealing with some types of queries.&lt;br /&gt;
&lt;br /&gt;
== '''Slack''' ==&lt;br /&gt;
&lt;br /&gt;
Slack will no longer be actively monitored by the CMS team for user queries but feel free to keep using it to get help from other CLEXers.q&lt;br /&gt;
&lt;br /&gt;
== '''Prioritization''' ==&lt;br /&gt;
&lt;br /&gt;
Work on user requests will be prioritised&amp;amp;nbsp;more stringently. Please let us know if your request is urgent (e.g., you are close to finishing your PhD). Conversely, low priority help might not be actively worked on unless there are free resources. We will inform you if your support request has been classified as low priority.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= What can you do to help?&amp;amp;nbsp; =&lt;br /&gt;
&lt;br /&gt;
To get the most out of this new system&lt;br /&gt;
&lt;br /&gt;
== '''Before asking for help''' ==&lt;br /&gt;
&lt;br /&gt;
Consult the updated [http://climate-cms.wikis.unsw.edu.au/Getting_Help#Guidelines_for_help_requests guidelines for asking for help] on the wiki which emphasise some of the steps you need to take before submitting a help ticket, including consulting the FAQs and following relevant suggestions in&amp;amp;nbsp;our new [[Troubleshooting|troubleshooting guide.]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== '''Feedback'''&amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
Please tell us if you think the documentation on the [http://climate-cms.wikis.unsw.edu.au/Home Wiki] is insufficient, erroneous, or out of date. Your feedback is valuable and will improve this resource for everyone.&lt;br /&gt;
&lt;br /&gt;
== '''Collaboration''' ==&lt;br /&gt;
&lt;br /&gt;
Please answer any colleague's question on slack (or in person!) if you are able and confident to do so.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= How long will the changes last? =&lt;br /&gt;
&lt;br /&gt;
The changes outlined above are likely to remain in place until the end of 2022, subject to how quickly we can recruit and train new CMS members. Note also that we will be without a CMS team leader until staffing issues have been resolved.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For any request or information, please contact us through the helpdesk: cws_help@nci.org.au.&amp;lt;br/&amp;gt; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Updated_support_level&amp;diff=3564</id>
		<title>Updated support level</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Updated_support_level&amp;diff=3564"/>
		<updated>2022-05-05T23:47:34Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Created page with &amp;quot; 6/5/2022  = Context =  The CMS team is currently at a substantially reduced capacity.&amp;amp;nbsp;  Consequently we cannot continue the same level of user support we have previously...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
6/5/2022&lt;br /&gt;
&lt;br /&gt;
= Context =&lt;br /&gt;
&lt;br /&gt;
The CMS team is currently at a substantially reduced capacity.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Consequently we cannot continue the same level of user support we have previously provided. The helpdesk ([[cws_help@nci.org.au]]) and direct user support is an important and valued part of the role of the CMS, but we have other tasks and duties that require our attention. New CMS team members also require support and will take time to be as effective and efficient as those they are replacing.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= What is changing? =&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''Helpdesk''': the helpdesk (cws_help@nci.org.au) will operate only 4 days a week (Mo/Tu/Th/Fr) and responses (not necessarily resolutions) to helpdesk queries will occur within 24 hours of submission on those days (up from the previous 2 hours).&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''CodeBreak''': the CodeBreak sessions will run every Wednesday (up from the previous fortnightly frequency) as video sessions tend to be more efficient than email for dealing with some types of queries.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''Slack''': Slack will no longer be actively monitored by the CMS team for user queries but feel free to keep using it to get help from other CLEXers.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''Prioritization''': we will prioritize work on user requests more stringently. Please let us know if your request is urgent (e.g., you are close to finishing your PhD). Conversely, low priority help might not be actively worked on unless there are free resources. We will inform you if your support request has been classified as low priority.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &lt;br /&gt;
= What can you do to help?&amp;amp;nbsp; =&lt;br /&gt;
&lt;br /&gt;
To get the most out of this new system:&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''Before asking for help''': consult the updated [http://climate-cms.wikis.unsw.edu.au/Getting_Help#Guidelines_for_help_requests guidelines for asking for help] on the wiki which emphasise some of the steps you need to take before submitting a help ticket, including consulting the FAQs and our new troubleshooting guide.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''Feedback''': please tell us if you think the documentation on the [http://climate-cms.wikis.unsw.edu.au/Home Wiki] is insufficient, erroneous, or out of date. Your feedback is valuable and will improve this resource for everyone.&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
'''Collaboration''': Please answer any colleague's question on slack (or in person!) if you are able and confident to do so.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &lt;br /&gt;
= How long will the changes last? =&lt;br /&gt;
&amp;amp;nbsp; &lt;br /&gt;
The changes outlined above are likely to remain in place until the end of 2022, subject to how quickly we can recruit and train new CMS members. Note also that we will be without a CMS team leader until staffing issues have been resolved.&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
For any request or information, please contact us through the helpdesk: cws_help@nci.org.au.&lt;br /&gt;
&amp;lt;br/&amp;gt; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3563</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3563"/>
		<updated>2022-05-05T23:42:57Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Removed slack channel stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left-&amp;amp;nbsp;hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences. Simply outline your issue in an email and send it to&amp;amp;nbsp;[mailto:cws_help@nci.org.au cws_help@nci.org.au]&amp;amp;nbsp;which will open a help ticket on our helpdesk.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Follow the [[Troubleshooting|troubleshooting guide]] &lt;br /&gt;
*Have you read the documentation on this wiki (if it exists), any other relevant documentation, or looked on&amp;amp;nbsp;[https://climate-cms.org our blog]? &lt;br /&gt;
*Do you need to do some [[Training|training]] to improve your&amp;amp;nbsp;skills? &lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what have you tried already that hasn't worked? &lt;br /&gt;
**provide some background for why you are doing the task that isn't working. Sometimes we might be able to suggest a different approach rather than trying to solve your specific error &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, OOD at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working on Gadi was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. Tell us if you load modules in your .bashrc or .bash_profile files (unrecommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 24 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Accounting_at_NCI&amp;diff=3553</id>
		<title>Accounting at NCI</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Accounting_at_NCI&amp;diff=3553"/>
		<updated>2022-05-04T23:52:48Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page describes the different tools available for the accounting of computing and storage resources at NCI. Those tools have been developed by NCI and the CMS team.&lt;br /&gt;
&lt;br /&gt;
= Grafana =&lt;br /&gt;
&lt;br /&gt;
CMS has put in place a Grafana server for visualising a range of accounting statistics for CLEx. You can access this server using your NCI credentials at: [https://accessdev.nci.org.au/grafana/login https://accessdev.nci.org.au/grafana/login]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, we haven't yet put in place the collection of all the statistics for Gadi. Currently, you can see timeseries of your storage and SU usage on the [https://accessdev.nci.org.au/grafana/d/toeLAYDWz/user-report?orgId=1 User Report].&lt;br /&gt;
&lt;br /&gt;
We will update this section as more statistics become available.&lt;br /&gt;
&lt;br /&gt;
= Computing resources =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== nci_account ==&lt;br /&gt;
&lt;br /&gt;
You can see the current allocation and the usage so far in the quarter for any computing project you are a member of. If the project has a &amp;lt;tt&amp;gt;/g/data&amp;lt;/tt&amp;gt; quota it&amp;amp;nbsp;will also report how much of this disk space is utilised.&amp;amp;nbsp;Using the &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; option, you can see the usage per user:&lt;br /&gt;
&lt;br /&gt;
 nci_account -v&lt;br /&gt;
&lt;br /&gt;
== nqstat ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;qstat&amp;lt;/code&amp;gt; allows you to monitor your jobs at NCI. &amp;lt;code&amp;gt;nqstat&amp;lt;/code&amp;gt; allows you to see the jobs currently submitted:&lt;br /&gt;
&lt;br /&gt;
*for a given project &lt;br /&gt;
*for a given queue and project &lt;br /&gt;
*for a given user and project &lt;br /&gt;
&lt;br /&gt;
== uqstat ==&lt;br /&gt;
&lt;br /&gt;
The information output by &amp;lt;code&amp;gt;qstat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;nqstat&amp;lt;/code&amp;gt; isn't always enough. CMS has developed &amp;lt;code&amp;gt;uqstat&amp;lt;/code&amp;gt; to output more information by default such as the job efficiency (cpu%), the queueing time, the walltime, the cost in SU etc.&lt;br /&gt;
&lt;br /&gt;
To use this command, please load the &amp;lt;code&amp;gt;nci-scripts&amp;lt;/code&amp;gt; module:&lt;br /&gt;
&lt;br /&gt;
 module use /g/data/hh5/public/modules&lt;br /&gt;
 module load nci-scripts&lt;br /&gt;
&lt;br /&gt;
Contrary to what we usually recommend, it should be safe to load this module in your .bashrc file so this module is loaded by default.&lt;br /&gt;
&lt;br /&gt;
 uqstat &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; option allows you to see the same information on current jobs and jobs finished up to 24 hours previously.&lt;br /&gt;
&lt;br /&gt;
== qcost ==&lt;br /&gt;
&lt;br /&gt;
CMS has also developed &amp;lt;code&amp;gt;qcost&amp;lt;/code&amp;gt;&amp;amp;nbsp;a tool to help you choose the best PBS configuration for your job.&amp;amp;nbsp;&amp;lt;code&amp;gt;qcost &amp;lt;/code&amp;gt;calculates the cost, in SU, for a job submitted to the PBS system. The PBS [https://opus.nci.org.au/display/Help/Queue+Limits queue information is provided by NCI] but it can be tedious to determine which configuration of queue and memory request should be used to minimise job cost. qcost was created to make this process easier.&lt;br /&gt;
&lt;br /&gt;
To use this command, please load the &amp;lt;code&amp;gt;nci-scripts&amp;lt;/code&amp;gt; module (see above). Usage:&lt;br /&gt;
&lt;br /&gt;
  qcost -h &lt;br /&gt;
 &amp;amp;nbsp;usage: qcost [-h] -q QUEUE -n NCPUS -m MEM [-t TIME]&lt;br /&gt;
  &lt;br /&gt;
  Return the cost (in SUs) for a PBS job submitted on gadi. No checking is done to ensure requests are within queue limits.&lt;br /&gt;
  &lt;br /&gt;
  optional arguments:&lt;br /&gt;
    -h, --help                show this help message and exit&lt;br /&gt;
    -q QUEUE, --queue QUEUE   PBS queue&lt;br /&gt;
    -n NCPUS, --ncpus NCPUS   Number of cpus&lt;br /&gt;
    -m MEM, --mem MEM         Requested memory&lt;br /&gt;
    -t TIME, --time TIME      Job walltime (hours)&lt;br /&gt;
  &lt;br /&gt;
  e.g. qcost -q normal -n 4 -m 60GB -t 3:00:00&lt;br /&gt;
&lt;br /&gt;
Note that if no time is specified it defaults to 1 hour (1:00:00). Walltime can be specified as &amp;lt;tt&amp;gt;H:M&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;H:M:S&amp;lt;/tt&amp;gt;. Memory must be specified in units of bytes (B), e.g. &amp;lt;tt&amp;gt;160GB&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;2000MB&amp;lt;/tt&amp;gt;.&amp;amp;nbsp;For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;   qcost -q normal -n 4 -m 60GB -t 3:00:00&lt;br /&gt;
   90 SU&lt;br /&gt;
&lt;br /&gt;
   qcost -q express -n 4 -m 60GB -t 3:00:00&lt;br /&gt;
  270 SU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Storage resources =&lt;br /&gt;
&lt;br /&gt;
== lquota ==&lt;br /&gt;
&lt;br /&gt;
This command will list the quota and usage for all the projects you are a member of on both /scratch and /g/data. It will give usage and quota for both space and number of files.&lt;br /&gt;
&lt;br /&gt;
== nci-files-report ==&lt;br /&gt;
&lt;br /&gt;
This command will list the usage in both space and number of files along different dimensions depending on options.&lt;br /&gt;
&lt;br /&gt;
=== Usage owned by a project per user ===&lt;br /&gt;
&lt;br /&gt;
If you want to know who owns files in your project or where those files are, you should use:&lt;br /&gt;
&lt;br /&gt;
 nci-files-report --group w35 --filesystem gdata&lt;br /&gt;
&lt;br /&gt;
This is probably the most useful options for the project's managers to find who has the most data owned by a project.&lt;br /&gt;
&lt;br /&gt;
=== Usage in a project directory per user ===&lt;br /&gt;
&lt;br /&gt;
If you want to know who owns files in the main directory of one of your projects, you should use:&lt;br /&gt;
&lt;br /&gt;
 nci-files-report --project w35 --filesystem gdata&lt;br /&gt;
&lt;br /&gt;
This is probably the least useful option for this function.&lt;br /&gt;
&lt;br /&gt;
=== Usage per user ===&lt;br /&gt;
&lt;br /&gt;
If you want to know your data footprint across all your projects in a filesystem, you should use:&lt;br /&gt;
&lt;br /&gt;
 nci-files-report --user --filesystem gdata&lt;br /&gt;
&lt;br /&gt;
'''Why are the totals different in &amp;lt;code&amp;gt;nci-files-report&amp;lt;/code&amp;gt; and Grafana?'''&lt;br /&gt;
&lt;br /&gt;
CMS is collecting the data for Grafana and we can only scan data that has group read permissions. We ask everyone to put those permissions on if there are no restrictions on your scientific project&lt;br /&gt;
&lt;br /&gt;
== ncfind and nccompres ==&lt;br /&gt;
&lt;br /&gt;
These utilities are maintained by the CMS team. These allow you to find uncompressed netcdf files and to easily compress them. You'll find a complete documentation on [[NetCDF_Compression_Tools|this wiki page]]&lt;br /&gt;
&lt;br /&gt;
== du, find and wc ==&lt;br /&gt;
&lt;br /&gt;
These commands can help you identify where in your area are the large files or which directories contain lots of files. These are Unix commands and all have man pages for information.&lt;br /&gt;
&lt;br /&gt;
Useful options:&lt;br /&gt;
&lt;br /&gt;
*Check the sizes of sub-directories: &lt;br /&gt;
&lt;br /&gt;
  du -shc *&lt;br /&gt;
&lt;br /&gt;
*Find files larger than X &lt;br /&gt;
&lt;br /&gt;
  find . -type f -size +100M&lt;br /&gt;
&lt;br /&gt;
*Count number of files and subdirectories in directory &lt;br /&gt;
&lt;br /&gt;
  ls -1 | wc -l&lt;br /&gt;
&lt;br /&gt;
Note: the Internet is the perfect source for commands and options variations to find this type of information on your files and directories.&lt;br /&gt;
&lt;br /&gt;
== ncdu ==&lt;br /&gt;
&lt;br /&gt;
[https://dev.yorhel.nl/ncdu ncdu] is a disk usage analyzer with an ncurses interface. It is designed to find space hogs and aims to be fast, simple and easy to use.&lt;br /&gt;
&lt;br /&gt;
This command is part of the conda environment maintained by CMS. To use:&lt;br /&gt;
&lt;br /&gt;
  module purge&lt;br /&gt;
  module use /g/data3/hh5/public/modules&lt;br /&gt;
  module load conda/analysis3&lt;br /&gt;
&lt;br /&gt;
To invoke run ncdu directory_path and replace directory_path with a path to a directory you wish to check.&lt;br /&gt;
&lt;br /&gt;
Some example output:&lt;br /&gt;
&lt;br /&gt;
  ncdu /g/data3/hh5/public/apps&lt;br /&gt;
&lt;br /&gt;
Gives a screen items in the directory sorted by size:&lt;br /&gt;
&lt;br /&gt;
  --- /g/data3/hh5/public/apps ----------------------------------------------------&lt;br /&gt;
     64.0 GiB [##########] /miniconda3&lt;br /&gt;
    799.6 MiB [          ] /lrose&lt;br /&gt;
    152.3 MiB [          ] /easybuild&lt;br /&gt;
      4.0 KiB [          ]  README&lt;br /&gt;
  &lt;br /&gt;
   Total disk usage:  64.9 GiB  Apparent size:  64.6 GiB  Items: 2461484&lt;br /&gt;
&lt;br /&gt;
Pushing &amp;lt;tt&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/tt&amp;gt; twice changes the way the usage is displayed&lt;br /&gt;
&lt;br /&gt;
  ncdu 1.13 ~ Use the arrow keys to navigate, press&amp;amp;nbsp;? for help&lt;br /&gt;
  --- /g/data3/hh5/public/apps ----------------------------------------------------&lt;br /&gt;
     64.0 GiB [ 98.6% ##########] /miniconda3&lt;br /&gt;
    799.6 MiB [  1.2%           ] /lrose&lt;br /&gt;
    152.3 MiB [  0.2%           ] /easybuild&lt;br /&gt;
      4.0 KiB [  0.0%           ]  README&lt;br /&gt;
&lt;br /&gt;
   Total disk usage:  64.9 GiB  Apparent size:  64.6 GiB  Items: 2461484&lt;br /&gt;
&lt;br /&gt;
Select a directory, push &amp;lt;tt&amp;gt;&amp;lt;return&amp;gt;&amp;lt;/tt&amp;gt; and it will show you a view of that directory sorted by size&lt;br /&gt;
&lt;br /&gt;
  ncdu 1.13 ~ Use the arrow keys to navigate, press&amp;amp;nbsp;? for help&lt;br /&gt;
  --- /g/data3/hh5/public/apps/miniconda3 ------------------------------------------&lt;br /&gt;
                                /..&lt;br /&gt;
     33.2 GiB [ 51.9% ##########] /pkgs&lt;br /&gt;
     22.6 GiB [ 35.3% ######    ] /envs  &lt;br /&gt;
     11.8 GiB [ 18.5% ###       ] /old-envs&lt;br /&gt;
      4.6 GiB [  7.1% #         ] /conda-bld&lt;br /&gt;
    236.6 MiB [  0.4%           ] /lib&lt;br /&gt;
      8.7 MiB [  0.0%           ] /share&lt;br /&gt;
      6.1 MiB [  0.0%           ] /bin&lt;br /&gt;
      5.1 MiB [  0.0%           ] /include&lt;br /&gt;
      4.9 MiB [  0.0%           ] /conda-meta&lt;br /&gt;
      4.3 MiB [  0.0%           ] /ssl&lt;br /&gt;
      1.9 MiB [  0.0%           ] /compiler_compat&lt;br /&gt;
     28.0 KiB [  0.0%           ] /etc&lt;br /&gt;
     12.0 KiB [  0.0%           ] /x86_64-conda_cos6-linux-gnu&lt;br /&gt;
      4.0 KiB [  0.0%           ] /locks&lt;br /&gt;
      4.0 KiB [  0.0%           ]  LICENSE.txt&lt;br /&gt;
&lt;br /&gt;
   Total disk usage:  64.0 GiB  Apparent size:  63.7 GiB  Items: 2446705&lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;tt&amp;gt;/..&amp;lt;/tt&amp;gt;&amp;amp;nbsp;at the top to move back up the directory tree. In this way it is possible to navigate the directory structure and pinpoint the largest users of disk space. The disk usage information is cached, so once it has analysed a directory tree it is very fast to navigate.&lt;br /&gt;
&lt;br /&gt;
Press &amp;lt;q&amp;gt;to quit the program.&amp;lt;/q&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3546</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3546"/>
		<updated>2022-05-04T05:46:59Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left-&amp;amp;nbsp;hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*The CLEX slack workspace&amp;amp;nbsp;[https://arccss.slack.com arccss.slack.com] &amp;amp;nbsp; &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The slack workspace is a good way to contact other CLEX members as well as the CMS team.&amp;amp;nbsp;It is best suited to shorter less complex queries in general.&amp;amp;nbsp;There are a number of channels focussing on different topics. When asking for help it may be that someone else from the Centre will have some useful feedback. It is best not to contact team members directly: we rotate support duties to allow time for other tasks, so asking in a general channel means the team member tasked with support, or who is best placed to answer the question, can assist.&lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences. Simply outline your issue in an email and send it to&amp;amp;nbsp;[mailto:cws_help@nci.org.au cws_help@nci.org.au]&amp;amp;nbsp;which will open a help ticket on our helpdesk.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Follow the [[Troubleshooting|troubleshooting guide]] &lt;br /&gt;
*Have you read the documentation on this wiki (if it exists), any other relevant documentation, or looked on&amp;amp;nbsp;[https://climate-cms.org our blog]? &lt;br /&gt;
*Do you need to do some [[Training|training]] to improve your&amp;amp;nbsp;skills? &lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what have you tried already that hasn't worked? &lt;br /&gt;
**provide some background for why you are doing the task that isn't working. Sometimes we might be able to suggest a different approach rather than trying to solve your specific error &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, OOD at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working on Gadi was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. Tell us if you load modules in your .bashrc or .bash_profile files (unrecommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 24 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3542</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3542"/>
		<updated>2022-05-04T03:58:41Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= I have an error or trying to perform a new task =&lt;br /&gt;
&lt;br /&gt;
These are some general guidelines to help you&amp;amp;nbsp;solve&amp;amp;nbsp;your problem '''before submitting''' a help ticket, or contacting the CMS&lt;br /&gt;
&lt;br /&gt;
== FAQs ==&lt;br /&gt;
&lt;br /&gt;
Check if this is a&amp;amp;nbsp;[[FAQs|frequently asked question for which there is already an answer]]&lt;br /&gt;
&lt;br /&gt;
== Google your error/task ==&lt;br /&gt;
&lt;br /&gt;
Put your error into the search engine of your choice. Begin with the maximum number of keywords and reduce as appropriate to get better quality of search hits/more hits.&lt;br /&gt;
&lt;br /&gt;
If you have a very specific error it may help to put it in quotes so the search engine knows to look for the phrase.&lt;br /&gt;
&lt;br /&gt;
== Trusted sources ==&lt;br /&gt;
&lt;br /&gt;
Not all search hits will have the same quality. These are sites that we recommend:&lt;br /&gt;
&lt;br /&gt;
[[Stackoverflow.com|Stackoverflow]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://towardsdatascience.com Towards Data Science]&lt;br /&gt;
&lt;br /&gt;
[https://github.com GitHub Issues]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Other Options ==&lt;br /&gt;
&lt;br /&gt;
Try searching or using keywords to find related content in [https://climate-cms.org our blog]&lt;br /&gt;
&lt;br /&gt;
Search&amp;amp;nbsp;THIS WIKI for useful information using&amp;amp;nbsp;the search bar at the top of the page&lt;br /&gt;
&lt;br /&gt;
Stackoverflow has a [https://stackoverflow.com/help/searching specific page] on searching that site, which may help&lt;br /&gt;
&lt;br /&gt;
For NCI related questions check the&amp;amp;nbsp;[https://opus.nci.org.au/display/Help/User+Guides NCI user guides]&amp;amp;nbsp;first&lt;br /&gt;
&lt;br /&gt;
= Data related query =&lt;br /&gt;
&lt;br /&gt;
== Finding Data&amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
See the [[Finding_datasets|Finding Datasets]]&amp;amp;nbsp;page&lt;br /&gt;
&lt;br /&gt;
== Publishing Data ==&lt;br /&gt;
&lt;br /&gt;
See the [[Publishing_options|Publishing Options]] page&lt;br /&gt;
&lt;br /&gt;
== Other Storage Options ==&lt;br /&gt;
&lt;br /&gt;
See [[Storage|Storage]] page. We also have a [https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html page on the blog to help you manage your storage]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3541</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3541"/>
		<updated>2022-05-04T03:57:53Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= I have an error or trying to perform a new task =&lt;br /&gt;
&lt;br /&gt;
These are some general guidelines to help you&amp;amp;nbsp;solve&amp;amp;nbsp;your problem '''before submitting''' a help ticket, or contacting the CMS&lt;br /&gt;
&lt;br /&gt;
== FAQs ==&lt;br /&gt;
&lt;br /&gt;
Check if this is a&amp;amp;nbsp;[[FAQs|frequently asked question for which there is already an answer]]&lt;br /&gt;
&lt;br /&gt;
== Google your error/task ==&lt;br /&gt;
&lt;br /&gt;
Put your error into the search engine of your choice. Begin with the maximum number of keywords and reduce as appropriate to get better quality of search hits/more hits.&lt;br /&gt;
&lt;br /&gt;
If you have a very specific error it may help to put it in quotes so the search engine knows to look for the phrase.&lt;br /&gt;
&lt;br /&gt;
== Trusted sources ==&lt;br /&gt;
&lt;br /&gt;
Not all search hits will have the same quality. These are sites that we recommend:&lt;br /&gt;
&lt;br /&gt;
[[Stackoverflow.com|Stackoverflow]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://towardsdatascience.com Towards Data Science]&lt;br /&gt;
&lt;br /&gt;
[https://github.com GitHub Issues]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Other Options ==&lt;br /&gt;
&lt;br /&gt;
Try searching or using keywords to find related content in [https://climate-cms.org our blog]&lt;br /&gt;
&lt;br /&gt;
Use the search bar at the top of the page to search&amp;amp;nbsp;THIS WIKI for useful information&lt;br /&gt;
&lt;br /&gt;
Stackoverflow has a [https://stackoverflow.com/help/searching specific page] on searching that site, which may help&lt;br /&gt;
&lt;br /&gt;
For NCI related questions check the&amp;amp;nbsp;[https://opus.nci.org.au/display/Help/User+Guides NCI user guides]&amp;amp;nbsp;first&lt;br /&gt;
&lt;br /&gt;
= Data related query =&lt;br /&gt;
&lt;br /&gt;
== Finding Data&amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
See the [[Finding_datasets|Finding Datasets]]&amp;amp;nbsp;page&lt;br /&gt;
&lt;br /&gt;
== Publishing Data ==&lt;br /&gt;
&lt;br /&gt;
See the [[Publishing_options|Publishing Options]] page&lt;br /&gt;
&lt;br /&gt;
== Other Storage Options ==&lt;br /&gt;
&lt;br /&gt;
See [[Storage|Storage]] page. We also have a [https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html page on the blog to help you manage your storage]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3540</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3540"/>
		<updated>2022-05-04T03:37:04Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Added FAQs section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= I have an error or trying to perform a new task =&lt;br /&gt;
&lt;br /&gt;
These are some general guidelines to help you&amp;amp;nbsp;solve&amp;amp;nbsp;your problem '''before submitting''' a help ticket, or contacting the CMS&lt;br /&gt;
&lt;br /&gt;
== FAQs ==&lt;br /&gt;
&lt;br /&gt;
Check if this is a&amp;amp;nbsp;[[FAQs|frequently asked question for which there is already an answer]]&lt;br /&gt;
&lt;br /&gt;
== Google your error/task ==&lt;br /&gt;
&lt;br /&gt;
Put your error into the search engine of your choice. Begin with the maximum number of keywords and reduce as appropriate to get better quality of search hits/more hits.&lt;br /&gt;
&lt;br /&gt;
If you have a very specific error it may help to put it in quotes so the search engine knows to look for the phrase.&lt;br /&gt;
&lt;br /&gt;
== Trusted sources ==&lt;br /&gt;
&lt;br /&gt;
Not all search hits will have the same quality. These are sites that we recommend:&lt;br /&gt;
&lt;br /&gt;
[[Stackoverflow.com|Stackoverflow]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://towardsdatascience.com Towards Data Science]&lt;br /&gt;
&lt;br /&gt;
[https://github.com GitHub Issues]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Other Options ==&lt;br /&gt;
&lt;br /&gt;
Try searching or using keywords to find related content in [https://climate-cms.org our blog]&lt;br /&gt;
&lt;br /&gt;
Try searching THIS WIKI&lt;br /&gt;
&lt;br /&gt;
Stackoverflow has a [https://stackoverflow.com/help/searching specific page] on searching that site, which may help&lt;br /&gt;
&lt;br /&gt;
For NCI related questions check the&amp;amp;nbsp;[https://opus.nci.org.au/display/Help/User+Guides NCI user guides]&amp;amp;nbsp;first&lt;br /&gt;
&lt;br /&gt;
= Data related query =&lt;br /&gt;
&lt;br /&gt;
== Finding Data&amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
See the [[Finding_datasets|Finding Datasets]]&amp;amp;nbsp;page&lt;br /&gt;
&lt;br /&gt;
== Publishing Data ==&lt;br /&gt;
&lt;br /&gt;
See the [[Publishing_options|Publishing Options]] page&lt;br /&gt;
&lt;br /&gt;
== Other Storage Options ==&lt;br /&gt;
&lt;br /&gt;
See [[Storage|Storage]] page. We also have a [https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html page on the blog to help you manage your storage]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3536</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3536"/>
		<updated>2022-05-04T02:48:01Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Added some expectations from users&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left-&amp;amp;nbsp;hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*The CLEX slack workspace&amp;amp;nbsp;[https://arccss.slack.com arccss.slack.com] &amp;amp;nbsp; &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The slack workspace is a good way to contact other CLEX members as well as the CMS team.&amp;amp;nbsp;It is best suited to shorter less complex queries in general.&amp;amp;nbsp;There are a number of channels focussing on different topics. When asking for help it may be that someone else from the Centre will have some useful feedback. It is best not to contact team members directly: we rotate support duties to allow time for other tasks, so asking in a general channel means the team member tasked with support, or who is best placed to answer the question, can assist.&lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences. Simply outline your issue in an email and send it to&amp;amp;nbsp;[mailto:cws_help@nci.org.au cws_help@nci.org.au]&amp;amp;nbsp;which will open a help ticket on our helpdesk.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Follow the [[Troubleshooting|troubleshooting guide]] &lt;br /&gt;
*Have you read the documentation on this wiki (if it exists), any othe relevant documentation, or looked on&amp;amp;nbsp;[https://climate-cms.org our blog]? &lt;br /&gt;
*Do you need to do some [[Training|training]] to improve your&amp;amp;nbsp;skills? &lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what have you tried already that hasn't worked? &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, VDI at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working at NCI was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. Tell us if you load modules in your .bashrc or .bash_profile files (unrecommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 24 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Scratch_file_expiry&amp;diff=3533</id>
		<title>Scratch file expiry</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Scratch_file_expiry&amp;diff=3533"/>
		<updated>2022-05-03T01:45:20Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''On 17th May 2022''', NCI is introducing an automatic system to purge unused data from the scratch filesystem. &amp;amp;nbsp; Below we are giving some steps on how best to prepare for that change. We also give some information on some useful tools to prepare a good data workflow going forward.&lt;br /&gt;
&lt;br /&gt;
= Preparation =&lt;br /&gt;
&lt;br /&gt;
Your best course of action is to start preparing now to avoid having any useful data going into quarantine on the 17th May. Below are the steps we recommend you to follow:&lt;br /&gt;
&lt;br /&gt;
*[https://opus.nci.org.au/pages/viewpage.action?pageId=156434436 '''Read''' '''the information'''] provided by NCI &lt;br /&gt;
*'''Clean up /g/data''': delete what you can, archive to tape or outside NCI what you can. &lt;br /&gt;
*'''Clean up /scratch''': delete what you can, move to /g/data or tape or outside NCI if you need long term storage without accessing it. &lt;br /&gt;
*Run “'''nci-file-expiry list-warnings -p &amp;lt;project&amp;gt; &amp;gt; expiry_warning_&amp;lt;project&amp;gt;.txt'''” for all the projects you are a member. &lt;br /&gt;
*'''Check the output''' of nci-file-expiry. If you identify anything here that is important and at risk of deletion, decide if it should be put on /g/data or tape instead. &lt;br /&gt;
*Run “'''nci-file-expiry list-warnings'''”&amp;amp;nbsp;: this will catch any file you own in any project you may have forgotten about and decide what to do with anything that appear there. &lt;br /&gt;
*'''Rethink your data pipeline''': do not leave data you are not using anymore in /scratch. Decide what you need to do with it when you stop using it: delete, move to /g/data or outside NCI or archive to tape. &lt;br /&gt;
*'''Manage your data under /g/data regularly''': review your data, archive to tape or outside NCI as necessary. &lt;br /&gt;
&lt;br /&gt;
= Additional information =&lt;br /&gt;
&lt;br /&gt;
Below is a list of resources you might find useful to prepare for the automatic file expiry and build a good data workflow for the future.&lt;br /&gt;
&lt;br /&gt;
[[Archiving_data|Archiving data at NCI]]&lt;br /&gt;
&lt;br /&gt;
[https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html Blog on building a sustainable data workflow]&lt;br /&gt;
&lt;br /&gt;
[[Storage|Description of the various filesystems at NCI]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= Long term strategy =&lt;br /&gt;
&lt;br /&gt;
#'''Keep using /scratch'''. There is not enough disk space if nobody is using /scratch. Your data is safe on /scratch as long as you access it, i.e. read, modify, create. Only the data you won't use for some time needs to be managed. &lt;br /&gt;
#'''Managing your data does not mean storing everything on /g/data. '''You need to think about what future use you have for that data. If you don't need it anymore and it can be reproduced, delete it. If you will need to publish the data, publish it now. It is a lot easier to publish a new version if you need a small change than to publish the initial version. For information, on what data needs to be published see the [[CLEX_Data_policy|CLEX Data Policy]] and [[Which_data_should_I_publish|Which_data_should_I_publish]] page. If you can't publish now but won't need it for a long time, put the data on tape. If you won't need this data for a short time but you know you will get back to it soon, put it on /g/data &lt;br /&gt;
#'''Learn how to use the tape system'''. See [[How_to_use_MDSS_tape_storage_at_NCI|how to use the MDSS tape system]] or&amp;amp;nbsp;&amp;amp;nbsp;[https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html our blog]. &lt;br /&gt;
#Try and '''avoid your data getting into quarantine'''. Make managing your data '''a periodic, frequent task''' in your calendar. This includes all data: /scratch, /g/data and tape. &lt;br /&gt;
#'''Be careful when going on leave!''' Make sure to check your data holdings under /scratch before your leave. &lt;br /&gt;
#'''For extended leave''' (e.g. ship cruises, parental leave, sabbatical), '''do not leave any important data under /scratch.'''&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=How_to_use_MDSS_tape_storage_at_NCI&amp;diff=3532</id>
		<title>How to use MDSS tape storage at NCI</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=How_to_use_MDSS_tape_storage_at_NCI&amp;diff=3532"/>
		<updated>2022-05-03T01:43:02Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Massdata (Mass Data Storage System, MDSS for short) is the tape storage available at NCI. This kind of storage is intended for long term storage of large files. It is possible to retrieve data from MDSS, so this is a good place to store data that will not be required for some time, for&amp;amp;nbsp;backup,&amp;amp;nbsp;or for&amp;amp;nbsp;archiving. Each project has a directory on the MDSS, the amount of storage allocated depends on the project allocation.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;MDSS proper usage&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;MDSS is designed for medium to long-term storage of large files, this means it is optimised for storing big amounts&amp;amp;nbsp;of data. This means it is most suitable for:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Files you are required to keep for a long term, like data underlining published datasets, publications, PhD thesis etc.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Files that&amp;amp;nbsp;you or someone else are likely to reuse or analyse again in the future but not in the next few months. For example, restart files or other model output you are not immediately using should be moved from disk to massdata&amp;amp;nbsp;as soon as possible.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;MDSS is suitable for&amp;amp;nbsp;backup of big data projects, like model output which could not be backed up elsewhere.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Preparing your data for mdss&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Organise your files and delete anything which you will not&amp;amp;nbsp;be re-using. Do not transfer data before organising it. It is difficult to get a&amp;amp;nbsp;list&amp;amp;nbsp;of what is stored on massdata,&amp;amp;nbsp;let alone to list what is in a tarred file once it is uploaded.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Big files: use tools like &amp;lt;tt&amp;gt;tar&amp;lt;/tt&amp;gt; to bundle files together into archive files. Create reasonably big archive files but also think of how you might want to access the data later. There is no point of tarring together two different simulations if you would want to access them separately, as then you would need to transferred back a big amount of data you do not need.&amp;amp;nbsp;Your upload will fail if any of your files are less than 20MB or the average size is less than 250 MB.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Files should be group readable, with group execute permissions for directories. This helps with long term maintenance, allowing administrators to track the type and size of archived data. You can change the permissions on data you own with the &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt; unix utility.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;While you are preparing your data to be moved it is an opportunity to also document it, if you have not done so already. You should document what you are archiving and how you are archiving it. Even a simple readme file added to your main directory can help others and your future self. If you are archiving data underlining a publication or published dataset then it is important to have a summary of what is stored in /massdata. This is part of the [[Data_Management_Plan|dataset management plan]] and/or [[Data_Availability_Statement|data availiability statement]].&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Useful tools:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;[[TAR_guidelines|TAR- to create archives]] cheatsheet&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;[[NetCDF_Compression_Tools|Compressing tools]]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Accessing MDSS&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Massdata cannot be accessed directly via a directory path. All access of MDSS is via the command '''&amp;lt;tt&amp;gt;mdss&amp;lt;/tt&amp;gt;.'''&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Users connected to the project have read, write and execute permissions in the corresponding&amp;amp;nbsp;directory on mdss and so may create their own files in it.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mdss&amp;lt;/tt&amp;gt; has several sub-commands and options to see all of them use either:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;  $mdss --help&lt;br /&gt;
or&lt;br /&gt;
  $man mdss&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;If you don't specify a project, it will use your default project. Then you add a sub-command and the path of the files and directories you want to upload, list etc.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;mdss -P &amp;lt;project-id&amp;gt; + &amp;lt;sub-command&amp;gt; + &amp;lt;path&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Most useful sub-commands are:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;mdss put   - upload files &lt;br /&gt;
mdss get   - retrieve files &lt;br /&gt;
mdss ls    - list directories and files &lt;br /&gt;
mdss dmdu  - get the size of a directory/file &lt;br /&gt;
mdss dmls  - show what is on cache and what is on tape&lt;br /&gt;
&lt;br /&gt;
NB &amp;quot;mdss du&amp;quot; will also work but only return the size of what is still cached, dmdu will give the full size of what is on tape regardless if it is cached or not.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Please note &amp;lt;tt&amp;gt;mdss&amp;lt;/tt&amp;gt; sub-commands work only interactively or on the &amp;lt;tt&amp;gt;copyq &amp;lt;/tt&amp;gt;queue. To use it on &amp;lt;tt&amp;gt;copyq&amp;lt;/tt&amp;gt; remember to set the storage flag as&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;-l storage=massdata/&amp;lt;project_code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Monitoring MDSS&amp;amp;nbsp;usage&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Unfortunately, there is no command to check the usage by user-id as for /g/data and /scratch. The only way to get this information currently is to ask help&amp;lt;at&amp;gt;nci.org.au. The NCI administrators can access this information for any CI of the group.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Transferring data to and from MDSS&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;NCI also supports the &amp;lt;tt&amp;gt;netmv&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;netcp&amp;lt;/tt&amp;gt; commands to work with MDSS. These commands create a copyq job to transfer multiple files. Files can be automatically tarred and compressed as part of the copy process.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;'''Warning: The automatic archiving and compression of these tools can use a lot of storage on /scratch if you're moving lots of data!'''&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;For more info run `man netmv`&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;The CMS team has also developed a utility called [https://github.com/coecms/mdssdiff mdssdiff] available from [[Conda|our conda environments]]. This utility allows users to compare the contents of the local directory and a directory under /massdata. It will also recursively update the content on the massdata directory to copy the local directory or vice versa.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Modifications to MDSS datasets&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Ask the Lead CI of the project to contact NCI at help@nci.org.au if large metadata operations are needed on massdata, such as changing ownership, project code, permissions etc. of existing datasets&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NCI Guidelines]] [[Category:Data induction]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=How_to_use_MDSS_tape_storage_at_NCI&amp;diff=3530</id>
		<title>How to use MDSS tape storage at NCI</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=How_to_use_MDSS_tape_storage_at_NCI&amp;diff=3530"/>
		<updated>2022-05-03T01:33:12Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: A.heerdegen moved page Archiving data to How to use MDSS tape storage at NCI: Better title, reflects usage better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;All universities have their own archives where you can store your data, for more information contact your Library or IT department. Here we will focus on archiving data using the NCI archive storage, for all cases where using a university archive is not applicable.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Massdata (Mass Data Storage System, MDSS for short) is the tape storage available at NCI. This kind of storage is intended for long term archiving of large files. Each project has a directory on the MDSS, the amount of storage allocated depends on the project allocation.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;MDSS proper usage&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;MDSS is designed for medium to long-term archive of large files, this means it is optimised for storing big amounts&amp;amp;nbsp;of data, but not for retrieving this data frequently. This means it is most suitable for:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Files you are required to keep for a long term, like data underlining published datasets, publications, PhD thesis etc.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Files that&amp;amp;nbsp;you or someone else are likely to reuse or analyse again in the future but not in the next few months. For example, restart files or other model output you are not immediately using should be moved from disk to massdata&amp;amp;nbsp;as soon as possible.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;MDSS is suitable for&amp;amp;nbsp;backup of big data projects, like model output which could not be backed up elsewhere.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Preparing your data for mdss&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Organise your files and delete anything which you will not&amp;amp;nbsp;be re-using. Do not transfer data before organising it. It is difficult to get a&amp;amp;nbsp;list&amp;amp;nbsp;of what is stored on massdata,&amp;amp;nbsp;let alone to list what is in a tarred file once it is uploaded.&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Big files: use tools like &amp;lt;tt&amp;gt;tar&amp;lt;/tt&amp;gt; to bundle files together into archive files. Create reasonably big archive files but also think of how you might want to access the data later. There is no point of tarring together two different simulations if you would want to access them separately, as then you would need to transferred back a big amount of data you do not need.&amp;amp;nbsp;Your upload will fail if any of your files are less than 20MB or the average size is less than 250 MB.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
#&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Files should be group readable, with group execute permissions for directories. This helps with long term maintenance, allowing administrators to track the type and size of archived data. You can change the permissions on data you own with the &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt; unix utility.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;While you are preparing your data to be moved it is an opportunity to also document it, if you have not done so already. You should document what you are archiving and how you are archiving it. Even a simple readme file added to your main directory can help others and your future self. If you are archiving data underlining a publication or published dataset then it is important to have a summary of what is stored in /massdata. This is part of the [[Data_Management_Plan|dataset management plan]] and/or [[Data_Availability_Statement|data availiability statement]].&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Useful tools:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;[[TAR_guidelines|TAR- to create archives]] cheatsheet&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;[[NetCDF_Compression_Tools|Compressing tools]]&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Accessing MDSS&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Massdata cannot be accessed directly via a directory path. All access of MDSS is via the command '''&amp;lt;tt&amp;gt;mdss&amp;lt;/tt&amp;gt;.'''&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Users connected to the project have read, write and execute permissions in the corresponding&amp;amp;nbsp;directory on mdss and so may create their own files in it.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;mdss&amp;lt;/tt&amp;gt; has several sub-commands and options to see all of them use either:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;  $mdss --help&lt;br /&gt;
or&lt;br /&gt;
  $man mdss&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;If you don't specify a project, it will use your default project. Then you add a sub-command and the path of the files and directories you want to upload, list etc.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;mdss -P &amp;lt;project-id&amp;gt; + &amp;lt;sub-command&amp;gt; + &amp;lt;path&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Most useful sub-commands are:&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;mdss put   - upload files &lt;br /&gt;
mdss get   - retrieve files &lt;br /&gt;
mdss ls    - list directories and files &lt;br /&gt;
mdss dmdu  - get the size of a directory/file &lt;br /&gt;
mdss dmls  - show what is on cache and what is on tape&lt;br /&gt;
&lt;br /&gt;
NB &amp;quot;mdss du&amp;quot; will also work but only return the size of what is still cached, dmdu will give the full size of what is on tape regardless if it is cached or not.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Please note &amp;lt;tt&amp;gt;mdss&amp;lt;/tt&amp;gt; sub-commands work only interactively or on the &amp;lt;tt&amp;gt;copyq &amp;lt;/tt&amp;gt;queue. To use it on &amp;lt;tt&amp;gt;copyq&amp;lt;/tt&amp;gt; remember to set the storage flag as&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;-l storage=massdata/&amp;lt;project_code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Monitoring MDSS&amp;amp;nbsp;usage&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Unfortunately, there is no command to check the usage by user-id as for /g/data and /scratch. The only way to get this information currently is to ask help&amp;lt;at&amp;gt;nci.org.au. The NCI administrators can access this information for any CI of the group.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Transferring data to and from MDSS&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;NCI also supports the &amp;lt;tt&amp;gt;netmv&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;netcp&amp;lt;/tt&amp;gt; commands to work with MDSS. These commands create a copyq job to transfer multiple files. Files can be automatically tarred and compressed as part of the copy process.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;'''Warning: The automatic archiving and compression of these tools can use a lot of storage on /scratch if you're moving lots of data!'''&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;For more info run `man netmv`&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;The CMS team has also developed a utility called [https://github.com/coecms/mdssdiff mdssdiff] available from [[Conda|our conda environments]]. This utility allows users to compare the contents of the local directory and a directory under /massdata. It will also recursively update the content on the massdata directory to copy the local directory or vice versa.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Modifications to MDSS datasets&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif&amp;quot;&amp;gt;Ask the Lead CI of the project to contact NCI at help@nci.org.au if large metadata operations are needed on massdata, such as changing ownership, project code, permissions etc. of existing datasets&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NCI Guidelines]] [[Category:Data induction]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Archiving_data&amp;diff=3531</id>
		<title>Archiving data</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Archiving_data&amp;diff=3531"/>
		<updated>2022-05-03T01:33:12Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: A.heerdegen moved page Archiving data to How to use MDSS tape storage at NCI: Better title, reflects usage better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[How to use MDSS tape storage at NCI]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3527</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3527"/>
		<updated>2022-05-03T00:34:02Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= I have an error or trying to perform a new task =&lt;br /&gt;
&lt;br /&gt;
These are some general guidelines to help you&amp;amp;nbsp;solve&amp;amp;nbsp;your problem '''before submitting''' a help ticket, or contacting the CMS&lt;br /&gt;
&lt;br /&gt;
== Google your error/task ==&lt;br /&gt;
&lt;br /&gt;
Put your error into the search engine of your choice. Begin with the maximum number of keywords and reduce as appropriate to get better quality of search hits/more hits.&lt;br /&gt;
&lt;br /&gt;
If you have a very specific error it may help to put it in quotes so the search engine knows to look for the phrase.&lt;br /&gt;
&lt;br /&gt;
== Trusted sources ==&lt;br /&gt;
&lt;br /&gt;
Not all search hits will have the same quality. These are sites that we recommend:&lt;br /&gt;
&lt;br /&gt;
[[Stackoverflow.com|Stackoverflow]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://towardsdatascience.com Towards Data Science]&lt;br /&gt;
&lt;br /&gt;
[https://github.com GitHub Issues]&lt;br /&gt;
&lt;br /&gt;
== Other Options ==&lt;br /&gt;
&lt;br /&gt;
Try searching or using keywords to find related content in [https://climate-cms.org our blog]&lt;br /&gt;
&lt;br /&gt;
Try searching THIS WIKI&lt;br /&gt;
&lt;br /&gt;
Stackoverflow has a [https://stackoverflow.com/help/searching specific page] on searching that site, which may help&lt;br /&gt;
&lt;br /&gt;
= Data related query =&lt;br /&gt;
&lt;br /&gt;
== Finding Data&amp;amp;nbsp; ==&lt;br /&gt;
&lt;br /&gt;
See the [[Finding_datasets|Finding Datasets]]&amp;amp;nbsp;page&lt;br /&gt;
&lt;br /&gt;
== Publishing Data ==&lt;br /&gt;
&lt;br /&gt;
See the [[Publishing_options|Publishing Options]] page&lt;br /&gt;
&lt;br /&gt;
== Other Storage Options ==&lt;br /&gt;
&lt;br /&gt;
See [[Storage|Storage]] page. We also have a [https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html page on the blog to help you manage your storage]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3526</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Troubleshooting&amp;diff=3526"/>
		<updated>2022-05-03T00:32:26Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Created page with &amp;quot; = Troubleshooting =  == I have an error or trying to perform a new task ==  These are some general guidelines to help you&amp;amp;nbsp;solve&amp;amp;nbsp;your problem '''before submitting'''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== I have an error or trying to perform a new task ==&lt;br /&gt;
&lt;br /&gt;
These are some general guidelines to help you&amp;amp;nbsp;solve&amp;amp;nbsp;your problem '''before submitting''' a help ticket, or contacting the CMS&lt;br /&gt;
&lt;br /&gt;
=== Google your error/task ===&lt;br /&gt;
&lt;br /&gt;
Put your error into the search engine of your choice. Begin with the maximum number of keywords and reduce as appropriate to get better quality of search hits/more hits.&lt;br /&gt;
&lt;br /&gt;
If you have a very specific error it may help to put it in quotes so the search engine knows to look for the phrase.&lt;br /&gt;
&lt;br /&gt;
=== Trusted sources ===&lt;br /&gt;
&lt;br /&gt;
Not all search hits will have the same quality. These are sites that we recommend:&lt;br /&gt;
&lt;br /&gt;
[[stackoverflow.com|Stackoverflow]]&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[https://towardsdatascience.com Towards Data Science]&lt;br /&gt;
&lt;br /&gt;
[https://github.com GitHub Issues]&lt;br /&gt;
&lt;br /&gt;
=== Other Options ===&lt;br /&gt;
&lt;br /&gt;
Try searching or using keywords to find related content in [https://climate-cms.org our blog]&lt;br /&gt;
&lt;br /&gt;
Try searching THIS WIKI&lt;br /&gt;
&lt;br /&gt;
Stackoverflow has a [https://stackoverflow.com/help/searching specific page] on searching that site, which may help&lt;br /&gt;
&lt;br /&gt;
== Data related query ==&lt;br /&gt;
&lt;br /&gt;
=== Finding Data&amp;amp;nbsp; ===&lt;br /&gt;
&lt;br /&gt;
See the [[Finding_datasets|Finding Datasets]]&amp;amp;nbsp;page&lt;br /&gt;
&lt;br /&gt;
=== Publishing Data ===&lt;br /&gt;
&lt;br /&gt;
See the [[Publishing_options|Publishing Options]] page&lt;br /&gt;
&lt;br /&gt;
=== Other Storage Options ===&lt;br /&gt;
&lt;br /&gt;
See [[Storage]] page. We also have a [https://climate-cms.org/posts/2022-04-26-storage-where-what-why-how.html page on the blog to help you manage your storage]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=NetCDF_Compression_Tools&amp;diff=3484</id>
		<title>NetCDF Compression Tools</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=NetCDF_Compression_Tools&amp;diff=3484"/>
		<updated>2022-04-26T00:23:14Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Why compress netCDF files? ==&lt;br /&gt;
&lt;br /&gt;
Space. You are likely to store your netCDF files on a shared filesystem either at NCI or at your University, as such, it is your responsibility to manage your space correctly and avoid wasting storage space. Compressing your netCDF data files can shrink your data files to one third of its original size. This is the equivalent of being given three times as much disk space.&lt;br /&gt;
&lt;br /&gt;
NetCDF compression is lossless: the data is exactly as it was when read from disk. It can still be read using the same programming interface. As long as the program reading the data has been compiled with the latest netCDF library (version 4) then the task of decompressing the data is handled by the library and as far as the programs are concerned there is no difference in the data. The usual tools, such as ncdump, can be used to examine the variables contained within the netCDF file. However, if you rely on an old piece of software that you think may not have been compiled with netCDF4 you should test that it can read compressed netCDF4 files before converting all your data.&lt;br /&gt;
&lt;br /&gt;
Compression&amp;amp;nbsp;with tools such as gzip is possible but not recommended except for archival purposes. It&amp;amp;nbsp;has the disadvantage that the file must be decompressed to be read and then recompressed again when you have finished, which can be time consuming and degrade your productivity, not to mention the data in question will take up much more room while it is being analysed.&lt;br /&gt;
&lt;br /&gt;
= General guidelines =&lt;br /&gt;
&lt;br /&gt;
The netCDF library has several options for compressing data, which all compression programs will use, as they all use the underlying library to perform the compression. There is a [http://www.unidata.ucar.edu/blogs/developer/en/entry/netcdf_compression more detailed explanation] if you wish to understand more, but briefly:&lt;br /&gt;
&lt;br /&gt;
=== Deflate level ===&lt;br /&gt;
&lt;br /&gt;
This is an integer value from ranging from 0 to 9. A value of 0 means no compression, and 9 is the highest level of compression possible. The higher this value the smaller your file will be once compressed. However, there is a trade-off, the higher the deflate level, the longer it will take to compress, particularly so with very high deflate levels. At deflate level 9 it can take six times longer to compress the data, with only a few percent improvement in compression. The recommended deflate level is 5. This combines good compression with a small increase in compression time.&lt;br /&gt;
&lt;br /&gt;
=== Shuffle ===&lt;br /&gt;
&lt;br /&gt;
Turn shuffle on. Simple. It usually results in a smaller compressed file with little performance overhead.&lt;br /&gt;
&lt;br /&gt;
=== Chunking ===&lt;br /&gt;
&lt;br /&gt;
The netCDF library writes the data to disk in &amp;quot;chunks&amp;quot;. There is a [http://www.unidata.ucar.edu/blogs/developer/entry/chunking_data_why_it_matters very good description of chunking and how it works]. All you really have to know is that in order to use netCDF compression '''your data must be chunked'''.The question then is, do I care how the program I use chooses the size of my data chunks? The answer is almost certainly yes, but maybe not a lot. An optimal chunking strategy is [http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes largely determined by the structure of your data and how you will access it].&lt;br /&gt;
&lt;br /&gt;
Specific details about chunking strategies are largely dependent on the tool used to compress your data, and will be covered in more detail in the next section. However, all tools still utilise the underlying netCDF4 library, and so can implement the default chunking strategy, which has changed over time. For many versions the default strategy has been to create chunks that are simply the same size as the dimensions of the variable, which can be a disastrous choice in terms of performance if the data is also compressed. The entire variable must be read into memory to be uncompressed even if only a single slice is required.&lt;br /&gt;
&lt;br /&gt;
= Compression tools =&lt;br /&gt;
&lt;br /&gt;
There are some software packages available on raijin that can be used to compress netCDF data:&lt;br /&gt;
&lt;br /&gt;
=== nco ===&lt;br /&gt;
&lt;br /&gt;
The [http://nco.sourceforge.net netCDF Operator (NCO) program suite] can compress netCDF files and has recently [http://nco.sourceforge.net/nco.html#Compression included some ability to choose different chunking strategies]. It may be that for some cases this is a reasonable solution based on the available options, but a weakness is the inability to use their optimised chunking strategy for variables with four dimensions or more.&lt;br /&gt;
&lt;br /&gt;
=== cdo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;cmsl-10&amp;quot;&amp;gt;[https://code.zmaw.de/projects/cdo Climate Data Operators] (cdo) can also compress netCDF and offers limited chunking options: &amp;lt;/span&amp;gt;auto, grid or lines.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== netcdf ===&lt;br /&gt;
&lt;br /&gt;
One of the standard tools included in a netCDF installation is [https://docs.unidata.ucar.edu/nug/current/netcdf_utilities_guide.html#guide_nccopy nccopy]. nccopy can compress files and define the chunking using a command line argument (-c). nccopy is a good option if your data file structure changes little, so a chunking scheme can be decided upon and hard coded into scripts. It is not so useful if the dimensions and variables change. Another major limitation is that the chunking is defined by dimensions, not variables. If your data file has variables that share dimensions, but have different combinations or numbers of dimensions it is not possible to determine an optimal chunking strategy for each variable.&lt;br /&gt;
&lt;br /&gt;
=== nccompress ===&lt;br /&gt;
&lt;br /&gt;
The nccompress package is available on gadi&amp;amp;nbsp;in the CMS conda environment. At present it consists of three python programs, ncfind, nc2nc and nccompress, written and supported by [http://www.climatescience.org.au/staff/profile/AHeerdegen Aidan]. nc2nc can copy netCDF files with compression and an optimised chunking strategy that has reasonable performance for many datasets. This two main limitations: it is slower than the other programs, and it can only compress netCDF3 or netCDF4 classic format. There is more detail in the following sections.&lt;br /&gt;
&lt;br /&gt;
=== ncvarinfo ===&lt;br /&gt;
&lt;br /&gt;
The convenience utility ncvarinfo is also included, and though it has no direct relevance to compression, it is a convenient way to get a summary of the contents of a netCDF file.&lt;br /&gt;
&lt;br /&gt;
== Identifying files to be compressed ==&lt;br /&gt;
&lt;br /&gt;
ncfind, part of the nccompress package, can be used to find netCDF files and discriminate between compressed and uncompressed:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ ncfind -h&lt;br /&gt;
usage: ncfind [-h] [-r] [-u | -c] [inputs [inputs ...]]&lt;br /&gt;
&lt;br /&gt;
Find netCDF files. Can discriminate by compression&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs              netCDF files or directories (-r must be specified to&lt;br /&gt;
                      recursively descend directories). Can accept piped&lt;br /&gt;
                      arguments.&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help          show this help message and exit&lt;br /&gt;
  -r, --recursive     Recursively descend directories to find netCDF&lt;br /&gt;
                      files (default False)&lt;br /&gt;
  -u, --uncompressed  Find only uncompressed netCDF files (default False)&lt;br /&gt;
  -c, --compressed    Find only compressed netCDF files (default False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
There are other methods for finding files, namely the unix utility find utility. For example, to find all files in the directory &amp;quot;directoryname&amp;quot; which end in &amp;quot;.nc&amp;quot;: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
find directoryname -iname &amp;quot;*.nc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
However, if your netCDF files do not use the convention of ending in &amp;quot;.nc&amp;quot; or cannot be systematically found based on filename, you can use the ncfind to recursively descend into a directory structure looking for netCDF files: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r directoryname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can refine the search further by requesting to return only those files that are uncompressed: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r -u directoryname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you want to find out how much space these uncompressed files occupy you can combine this command with other unix utilities such as xargs and du: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r -u directoryname | xargs du -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
du is the disk usage utility. The output looks something like this: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
67M     output212/ice__212_223.nc&lt;br /&gt;
1003M   output212/ocean__212_223.nc&lt;br /&gt;
1.1G    total&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
It is even possible to combine the system find utility with ncfind, using a unix pipe (|). This command will find all files ending in &amp;quot;.nc&amp;quot;, pipe the results to ncfind, and only those that are uncompressed will be printed to the screen: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
find directoryname -iname &amp;quot;*.nc&amp;quot; | ncfind -u&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batch Compressing files ==&lt;br /&gt;
&lt;br /&gt;
Having identified where the netCDF files you wish to compress are located, there is a convenience program, nccompress, which can be used to easily step through and compress each file in turn:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ nccompress -h&lt;br /&gt;
usage: nccompress [-h] [-d {1-9}] [-n] [-b BUFFERSIZE] [-t TMPDIR] [-v] [-r]&lt;br /&gt;
                   [-o] [-m MAXCOMPRESS] [-p] [-f] [-c] [-pa] [-np NUMPROC]&lt;br /&gt;
                   [--nccopy]&lt;br /&gt;
                   inputs [inputs ...]&lt;br /&gt;
&lt;br /&gt;
Run nc2nc (or nccopy) on a number of netCDF files&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs                netCDF files or directories (-r must be specified to&lt;br /&gt;
                        recursively descend directories)&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -d {1-9}, --dlevel {1-9}&lt;br /&gt;
                        Set deflate level. Valid values 0-9 (default=5)&lt;br /&gt;
  -n, --noshuffle       Don't shuffle on deflation (default is to shuffle)&lt;br /&gt;
  -b BUFFERSIZE, --buffersize BUFFERSIZE&lt;br /&gt;
                        Set size of copy buffer in MB (default=50)&lt;br /&gt;
  -t TMPDIR, --tmpdir TMPDIR&lt;br /&gt;
                        Specify temporary directory to save compressed files&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -r, --recursive       Recursively descend directories compressing all netCDF&lt;br /&gt;
                        files (default False)&lt;br /&gt;
  -o, --overwrite       Overwrite original files with compressed versions&lt;br /&gt;
                        (default is to not overwrite)&lt;br /&gt;
  -m MAXCOMPRESS, --maxcompress MAXCOMPRESS&lt;br /&gt;
                        Set a maximum compression as a paranoid check on&lt;br /&gt;
                        success of nccopy (default is 10, set to zero for no&lt;br /&gt;
                        check)&lt;br /&gt;
  -p, --paranoid        Paranoid check : run nco ndiff on the resulting file&lt;br /&gt;
                        ensure no data has been altered&lt;br /&gt;
  -f, --force           Force compression, even if input file is already&lt;br /&gt;
                        compressed (default False)&lt;br /&gt;
  -c, --clean           Clean tmpdir by removing existing compressed files&lt;br /&gt;
                        before starting (default False)&lt;br /&gt;
  -pa, --parallel       Compress files in parallel&lt;br /&gt;
  -np NUMPROC, --numproc NUMPROC&lt;br /&gt;
                        Specify the number of processes to use in parallel&lt;br /&gt;
                        operation&lt;br /&gt;
  --nccopy              Use nccopy instead of nc2nc (default False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The simplest way to invoke the program would be with a single file: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress ice_daily_0001.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or using a wildcard expression: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can also specify one or more directory names in combination with the recursive flag (-r) and the program will recursively descend into those directories and find all netCDF files contained therein. For example, a directory listing might look like so: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ ls data/&lt;br /&gt;
output001  output003  output005  output007  output009  restart001  restart003  restart005  restart007  restart009&lt;br /&gt;
output002  output004  output006  output008  output010  restart002  restart004  restart006  restart008  restart010&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
with a number of sub-directories, all containing netCDF files. It is a good idea to do a trial run and make sure it functions properly. For example, this will compress the netCDF files in just one of the directories: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -p -r data/output001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Once completed there will be a new subdirectory called tmp.nc_compress inside the directory output001. It will contain compressed copies of all the netCDF files from the directory above. You can check the compressed copies to make sure they are correct. The paranoid option (-p) calls an nco command to check that the variables contained in the two files are the same. You can use the paranoid option routinely, thought it will make the process more time consuming. It is a good idea to use it in the testing phase. You should also check the compressed copies manually to make sure they look ok, and if so, re-run the command with the -o option (overwrite): &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o data/output001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and it will find the already compressed files, copy them over the originals and delete the temporary directory tmp.nc_compress. It won’t try to compress the files again. It also won’t compress already compressed files, so, for example, if you were happy that the compression was working well you could compress the entire data directory, and the already compressed files in output001 will not be re-compressed.&lt;br /&gt;
&lt;br /&gt;
So, by default, nccompress '''does not overwrite the original files'''. If you invoke it without the '-o' option it will create compressed copies in the tmp.nc_compress subdirectory and leave them there, which will consume more disk space! This is a feature, not a bug, but you need to be aware that this is how it functions.&lt;br /&gt;
&lt;br /&gt;
With large variables, which usually means large files (&amp;gt; 1GB) it is a good idea to specify a larger buffer size with the '-b' option, as it will run faster. On raijin this may mean you need to run interactively with a higher memory (~10GB) or submit it as a copyq job. A typical buffer size might be 1000 -&amp;gt; 5000 (1-&amp;gt;5 GB).&lt;br /&gt;
&lt;br /&gt;
It is also possible to use wildcards type operations, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o output*&lt;br /&gt;
&lt;br /&gt;
nccompress -r -o output00[1-5]&lt;br /&gt;
&lt;br /&gt;
nccompress -r -o run[1-5]/output*/ocean*.nc random.nc ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The nccompress program just sorts out finding files/directories etc, it calls nc2nc to do the compression. Using the '--nccopy' forces nccompress to use the nccopy program in place of nc2nc, though the netcdf package must already be loaded for this to work. You can tell nccompress to work on multple files simultaneously with the '-pa' option. By default this will use all the physical processors on the machine, or you can specify how many simultaneous processes you want to with '-np', e.g. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o -np 16 run[1-5]/output*/ocean*.nc random.nc ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
will compress 16 netCDF files at a time (the -np option implies parallel option). As each directory is processed before beginning on a new directory there will be little reduction in execution time if there are few netCDF files in each directory. &lt;br /&gt;
== nc2nc ==&lt;br /&gt;
&lt;br /&gt;
The nc2nc program was written because no existing tool had a generalised per variable chunking algorithm. The total chunk size is defined to be the file system block size (4096KB). The dimensions of the chunk are sized to be as close as possible to the same ratio as the dimensions of the data, with the limits that no dimension can be less than 1. This chunking scheme performs well for a wide range of data, but there will always be cases for certain types of access, or variable shape that this is not optimal. In those cases a different approach may be required.&lt;br /&gt;
&lt;br /&gt;
Be aware that nc2nc takes at least twice as long to compress an equivalent file as nccopy. In some cases with large files containing many variables it can be up to five times slower.&lt;br /&gt;
&lt;br /&gt;
You can use nc2nc “stand alone”. It has a couple of extra features that can only be accessed by calling it directly:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ nc2nc -h&lt;br /&gt;
usage: nc2nc [-h] [-d {1-9}] [-m MINDIM] [-b BUFFERSIZE] [-n] [-v] [-c] [-f]&lt;br /&gt;
             [-va VARS] [-q QUANTIZE] [-o]&lt;br /&gt;
             origin destination&lt;br /&gt;
&lt;br /&gt;
Make a copy of a netCDF file with automatic chunk sizing&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  origin                netCDF file to be compressed&lt;br /&gt;
  destination           netCDF output file&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -d {1-9}, --dlevel {1-9}&lt;br /&gt;
                        Set deflate level. Valid values 0-9 (default=5)&lt;br /&gt;
  -m MINDIM, --mindim MINDIM&lt;br /&gt;
                        Minimum dimension of chunk. Valid values 1-dimsize&lt;br /&gt;
  -b BUFFERSIZE, --buffersize BUFFERSIZE&lt;br /&gt;
                        Set size of copy buffer in MB (default=50)&lt;br /&gt;
  -n, --noshuffle       Don't shuffle on deflation (default is to shuffle)&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -c, --classic         use NETCDF4_CLASSIC output instead of NETCDF4 (default&lt;br /&gt;
                        true)&lt;br /&gt;
  -f, --fletcher32      Activate Fletcher32 checksum&lt;br /&gt;
  -va VARS, --vars VARS&lt;br /&gt;
                        Specify variables to copy (default is to copy all)&lt;br /&gt;
  -q QUANTIZE, --quantize QUANTIZE&lt;br /&gt;
                        Truncate data in variable to a given decimal&lt;br /&gt;
                        precision, e.g. -q speed=2 -q temp=0 causes variable&lt;br /&gt;
                        speed to be truncated to a precision of 0.01 and temp&lt;br /&gt;
                        to a precision of 1&lt;br /&gt;
  -o, --overwrite       Write output file even if already it exists (default&lt;br /&gt;
                        is to not overwrite)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
With the vars option (-va) it is possible to select out only a subset of variables to be copied to the destination file. By default the output file is netCDf4 classic, but this can be changed to netCDF4 using the '-c' option. It is also possible to specify a minimum dimension size for the chunks (-m). This may be desirable for a dataset that has one particularly long dimension,. The chunk dimensions would mirror this and be very large in this direction . If fast access is required from slices orthogonal to this direction performance might be improved setting this option to a number greater than 1. &lt;br /&gt;
== ncvarinfo ==&lt;br /&gt;
&lt;br /&gt;
ncvarinfo is a convenient way to get a summary of the contents of a netCDF file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
./ncvarinfo -h&lt;br /&gt;
usage: ncvarinfo [-h] [-v] [-t] [-d] [-a] [-va VARS] inputs [inputs ...]&lt;br /&gt;
&lt;br /&gt;
Output summary information about a netCDF file&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs                netCDF files&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -t, --time            Show time variables&lt;br /&gt;
  -d, --dims            Show dimensions&lt;br /&gt;
  -a, --aggregate       Aggregate multiple netCDF files into one dataset&lt;br /&gt;
  -va VARS, --vars VARS&lt;br /&gt;
                        Show info for only specify variables&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
By default it prints out a simple summary of the variables in a netCDF file, but omitting dimensions and time related variables. e.g. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo output096/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you specify more than one file it will print the information for each file in turn &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output097/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output099/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If the files have the same structure it is possible to aggregate the data and display it as if it were contained in a single dataset: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo -a output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
Time steps:  1460  x  1.0 days&lt;br /&gt;
tau_x    :: (1460, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (1460, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)       :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)       :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)       :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)       :: uv latitude&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can also just request variables you are interested in to be output: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo -va tau_x -va tau_y output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output097/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output099/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Category:Data induction]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=NetCDF_Compression_Tools&amp;diff=3483</id>
		<title>NetCDF Compression Tools</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=NetCDF_Compression_Tools&amp;diff=3483"/>
		<updated>2022-04-26T00:21:30Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Re-create Claire's edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Why compress netCDF files? ==&lt;br /&gt;
&lt;br /&gt;
Space. &amp;lt;ins&amp;gt;You are likely to store your netCDF files on a shared filesystem either at NCI or at your University, as such, it &amp;lt;/ins&amp;gt;is your &amp;lt;ins&amp;gt;responsibility to manage your space correctly and avoid wasting storage &amp;lt;/ins&amp;gt;space. Compressing your netCDF data files &amp;lt;ins&amp;gt;can &amp;lt;/ins&amp;gt;shrink your data files to one third &amp;lt;ins&amp;gt;of &amp;lt;/ins&amp;gt;the size. This is the equivalent of being given three times as much disk space.&lt;br /&gt;
&lt;br /&gt;
NetCDF compression is lossless: the data is exactly as it was when read from disk. It can still be read using the same programming interface. As long as the program reading the data has been compiled with the latest netCDF library (version 4) then the task of decompressing the data is handled by the library and as far as the programs are concerned there is no difference in the data. The usual tools, such as ncdump, can be used to examine the variables contained within the netCDF file. However, if you rely on an old piece of software that you think may not have been compiled with netCDF4 you should test that it can read compressed netCDF4 files before converting all your data.&lt;br /&gt;
&lt;br /&gt;
Compression&amp;amp;nbsp;with tools such as gzip is possible but not recommended except for archival purposes. It&amp;amp;nbsp;has the disadvantage that the file must be decompressed to be read and then recompressed again when you have finished, which can be time consuming and degrade your productivity, not to mention the data in question will take up much more room while it is being analysed.&lt;br /&gt;
&lt;br /&gt;
= General guidelines =&lt;br /&gt;
&lt;br /&gt;
The netCDF library has several options for compressing data, which all compression programs will use, as they all use the underlying library to perform the compression. There is a [http://www.unidata.ucar.edu/blogs/developer/en/entry/netcdf_compression more detailed explanation] if you wish to understand more, but briefly:&lt;br /&gt;
&lt;br /&gt;
=== Deflate level ===&lt;br /&gt;
&lt;br /&gt;
This is an integer value from ranging from 0 to 9. A value of 0 means no compression, and 9 is the highest level of compression possible. The higher this value the smaller your file will be once compressed. However, there is a trade-off, the higher the deflate level, the longer it will take to compress, particularly so with very high deflate levels. At deflate level 9 it can take six times longer to compress the data, with only a few percent improvement in compression. The recommended deflate level is 5. This combines good compression with a small increase in compression time.&lt;br /&gt;
&lt;br /&gt;
=== Shuffle ===&lt;br /&gt;
&lt;br /&gt;
Turn shuffle on. Simple. It usually results in a smaller compressed file with little performance overhead.&lt;br /&gt;
&lt;br /&gt;
=== Chunking ===&lt;br /&gt;
&lt;br /&gt;
The netCDF library writes the data to disk in &amp;quot;chunks&amp;quot;. There is a [http://www.unidata.ucar.edu/blogs/developer/entry/chunking_data_why_it_matters very good description of chunking and how it works]. All you really have to know is that in order to use netCDF compression '''your data must be chunked'''.The question then is, do I care how the program I use chooses the size of my data chunks? The answer is almost certainly yes, but maybe not a lot. An optimal chunking strategy is [http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes largely determined by the structure of your data and how you will access it].&lt;br /&gt;
&lt;br /&gt;
Specific details about chunking strategies are largely dependent on the tool used to compress your data, and will be covered in more detail in the next section. However, all tools still utilise the underlying netCDF4 library, and so can implement the default chunking strategy, which has changed over time. For many versions the default strategy has been to create chunks that are simply the same size as the dimensions of the variable, which can be a disastrous choice in terms of performance if the data is also compressed. The entire variable must be read into memory to be uncompressed even if only a single slice is required.&lt;br /&gt;
&lt;br /&gt;
= Compression tools =&lt;br /&gt;
&lt;br /&gt;
There are some software packages available on raijin that can be used to compress netCDF data:&lt;br /&gt;
&lt;br /&gt;
=== nco ===&lt;br /&gt;
&lt;br /&gt;
The [http://nco.sourceforge.net netCDF Operator (NCO) program suite] can compress netCDF files and has recently [http://nco.sourceforge.net/nco.html#Compression included some ability to choose different chunking strategies]. It may be that for some cases this is a reasonable solution based on the available options, but a weakness is the inability to use their optimised chunking strategy for variables with four dimensions or more.&lt;br /&gt;
&lt;br /&gt;
=== cdo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;cmsl-10&amp;quot;&amp;gt;[https://code.zmaw.de/projects/cdo Climate Data Operators] (cdo) can also compress netCDF and offers limited chunking options: &amp;lt;/span&amp;gt;auto, grid or lines.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== netcdf ===&lt;br /&gt;
&lt;br /&gt;
One of the standard tools included in a netCDF installation is [https://docs.unidata.ucar.edu/nug/current/netcdf_utilities_guide.html#guide_nccopy nccopy]. nccopy can compress files and define the chunking using a command line argument (-c). nccopy is a good option if your data file structure changes little, so a chunking scheme can be decided upon and hard coded into scripts. It is not so useful if the dimensions and variables change. Another major limitation is that the chunking is defined by dimensions, not variables. If your data file has variables that share dimensions, but have different combinations or numbers of dimensions it is not possible to determine an optimal chunking strategy for each variable.&lt;br /&gt;
&lt;br /&gt;
=== nccompress ===&lt;br /&gt;
&lt;br /&gt;
The nccompress package is available on gadi&amp;amp;nbsp;in the CMS conda environment. At present it consists of three python programs, ncfind, nc2nc and nccompress, written and supported by [http://www.climatescience.org.au/staff/profile/AHeerdegen Aidan]. nc2nc can copy netCDF files with compression and an optimised chunking strategy that has reasonable performance for many datasets. This two main limitations: it is slower than the other programs, and it can only compress netCDF3 or netCDF4 classic format. There is more detail in the following sections.&lt;br /&gt;
&lt;br /&gt;
=== ncvarinfo ===&lt;br /&gt;
&lt;br /&gt;
The convenience utility ncvarinfo is also included, and though it has no direct relevance to compression, it is a convenient way to get a summary of the contents of a netCDF file.&lt;br /&gt;
&lt;br /&gt;
== Identifying files to be compressed ==&lt;br /&gt;
&lt;br /&gt;
ncfind, part of the nccompress package, can be used to find netCDF files and discriminate between compressed and uncompressed:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ ncfind -h&lt;br /&gt;
usage: ncfind [-h] [-r] [-u | -c] [inputs [inputs ...]]&lt;br /&gt;
&lt;br /&gt;
Find netCDF files. Can discriminate by compression&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs              netCDF files or directories (-r must be specified to&lt;br /&gt;
                      recursively descend directories). Can accept piped&lt;br /&gt;
                      arguments.&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help          show this help message and exit&lt;br /&gt;
  -r, --recursive     Recursively descend directories to find netCDF&lt;br /&gt;
                      files (default False)&lt;br /&gt;
  -u, --uncompressed  Find only uncompressed netCDF files (default False)&lt;br /&gt;
  -c, --compressed    Find only compressed netCDF files (default False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
There are other methods for finding files, namely the unix utility find utility. For example, to find all files in the directory &amp;quot;directoryname&amp;quot; which end in &amp;quot;.nc&amp;quot;: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
find directoryname -iname &amp;quot;*.nc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
However, if your netCDF files do not use the convention of ending in &amp;quot;.nc&amp;quot; or cannot be systematically found based on filename, you can use the ncfind to recursively descend into a directory structure looking for netCDF files: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r directoryname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can refine the search further by requesting to return only those files that are uncompressed: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r -u directoryname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you want to find out how much space these uncompressed files occupy you can combine this command with other unix utilities such as xargs and du: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r -u directoryname | xargs du -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
du is the disk usage utility. The output looks something like this: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
67M     output212/ice__212_223.nc&lt;br /&gt;
1003M   output212/ocean__212_223.nc&lt;br /&gt;
1.1G    total&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
It is even possible to combine the system find utility with ncfind, using a unix pipe (|). This command will find all files ending in &amp;quot;.nc&amp;quot;, pipe the results to ncfind, and only those that are uncompressed will be printed to the screen: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
find directoryname -iname &amp;quot;*.nc&amp;quot; | ncfind -u&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batch Compressing files ==&lt;br /&gt;
&lt;br /&gt;
Having identified where the netCDF files you wish to compress are located, there is a convenience program, nccompress, which can be used to easily step through and compress each file in turn:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ nccompress -h&lt;br /&gt;
usage: nccompress [-h] [-d {1-9}] [-n] [-b BUFFERSIZE] [-t TMPDIR] [-v] [-r]&lt;br /&gt;
                   [-o] [-m MAXCOMPRESS] [-p] [-f] [-c] [-pa] [-np NUMPROC]&lt;br /&gt;
                   [--nccopy]&lt;br /&gt;
                   inputs [inputs ...]&lt;br /&gt;
&lt;br /&gt;
Run nc2nc (or nccopy) on a number of netCDF files&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs                netCDF files or directories (-r must be specified to&lt;br /&gt;
                        recursively descend directories)&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -d {1-9}, --dlevel {1-9}&lt;br /&gt;
                        Set deflate level. Valid values 0-9 (default=5)&lt;br /&gt;
  -n, --noshuffle       Don't shuffle on deflation (default is to shuffle)&lt;br /&gt;
  -b BUFFERSIZE, --buffersize BUFFERSIZE&lt;br /&gt;
                        Set size of copy buffer in MB (default=50)&lt;br /&gt;
  -t TMPDIR, --tmpdir TMPDIR&lt;br /&gt;
                        Specify temporary directory to save compressed files&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -r, --recursive       Recursively descend directories compressing all netCDF&lt;br /&gt;
                        files (default False)&lt;br /&gt;
  -o, --overwrite       Overwrite original files with compressed versions&lt;br /&gt;
                        (default is to not overwrite)&lt;br /&gt;
  -m MAXCOMPRESS, --maxcompress MAXCOMPRESS&lt;br /&gt;
                        Set a maximum compression as a paranoid check on&lt;br /&gt;
                        success of nccopy (default is 10, set to zero for no&lt;br /&gt;
                        check)&lt;br /&gt;
  -p, --paranoid        Paranoid check : run nco ndiff on the resulting file&lt;br /&gt;
                        ensure no data has been altered&lt;br /&gt;
  -f, --force           Force compression, even if input file is already&lt;br /&gt;
                        compressed (default False)&lt;br /&gt;
  -c, --clean           Clean tmpdir by removing existing compressed files&lt;br /&gt;
                        before starting (default False)&lt;br /&gt;
  -pa, --parallel       Compress files in parallel&lt;br /&gt;
  -np NUMPROC, --numproc NUMPROC&lt;br /&gt;
                        Specify the number of processes to use in parallel&lt;br /&gt;
                        operation&lt;br /&gt;
  --nccopy              Use nccopy instead of nc2nc (default False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The simplest way to invoke the program would be with a single file: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress ice_daily_0001.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or using a wildcard expression: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can also specify one or more directory names in combination with the recursive flag (-r) and the program will recursively descend into those directories and find all netCDF files contained therein. For example, a directory listing might look like so: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ ls data/&lt;br /&gt;
output001  output003  output005  output007  output009  restart001  restart003  restart005  restart007  restart009&lt;br /&gt;
output002  output004  output006  output008  output010  restart002  restart004  restart006  restart008  restart010&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
with a number of sub-directories, all containing netCDF files. It is a good idea to do a trial run and make sure it functions properly. For example, this will compress the netCDF files in just one of the directories: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -p -r data/output001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Once completed there will be a new subdirectory called tmp.nc_compress inside the directory output001. It will contain compressed copies of all the netCDF files from the directory above. You can check the compressed copies to make sure they are correct. The paranoid option (-p) calls an nco command to check that the variables contained in the two files are the same. You can use the paranoid option routinely, thought it will make the process more time consuming. It is a good idea to use it in the testing phase. You should also check the compressed copies manually to make sure they look ok, and if so, re-run the command with the -o option (overwrite): &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o data/output001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and it will find the already compressed files, copy them over the originals and delete the temporary directory tmp.nc_compress. It won’t try to compress the files again. It also won’t compress already compressed files, so, for example, if you were happy that the compression was working well you could compress the entire data directory, and the already compressed files in output001 will not be re-compressed.&lt;br /&gt;
&lt;br /&gt;
So, by default, nccompress '''does not overwrite the original files'''. If you invoke it without the '-o' option it will create compressed copies in the tmp.nc_compress subdirectory and leave them there, which will consume more disk space! This is a feature, not a bug, but you need to be aware that this is how it functions.&lt;br /&gt;
&lt;br /&gt;
With large variables, which usually means large files (&amp;gt; 1GB) it is a good idea to specify a larger buffer size with the '-b' option, as it will run faster. On raijin this may mean you need to run interactively with a higher memory (~10GB) or submit it as a copyq job. A typical buffer size might be 1000 -&amp;gt; 5000 (1-&amp;gt;5 GB).&lt;br /&gt;
&lt;br /&gt;
It is also possible to use wildcards type operations, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o output*&lt;br /&gt;
&lt;br /&gt;
nccompress -r -o output00[1-5]&lt;br /&gt;
&lt;br /&gt;
nccompress -r -o run[1-5]/output*/ocean*.nc random.nc ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The nccompress program just sorts out finding files/directories etc, it calls nc2nc to do the compression. Using the '--nccopy' forces nccompress to use the nccopy program in place of nc2nc, though the netcdf package must already be loaded for this to work. You can tell nccompress to work on multple files simultaneously with the '-pa' option. By default this will use all the physical processors on the machine, or you can specify how many simultaneous processes you want to with '-np', e.g. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o -np 16 run[1-5]/output*/ocean*.nc random.nc ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
will compress 16 netCDF files at a time (the -np option implies parallel option). As each directory is processed before beginning on a new directory there will be little reduction in execution time if there are few netCDF files in each directory. &lt;br /&gt;
== nc2nc ==&lt;br /&gt;
&lt;br /&gt;
The nc2nc program was written because no existing tool had a generalised per variable chunking algorithm. The total chunk size is defined to be the file system block size (4096KB). The dimensions of the chunk are sized to be as close as possible to the same ratio as the dimensions of the data, with the limits that no dimension can be less than 1. This chunking scheme performs well for a wide range of data, but there will always be cases for certain types of access, or variable shape that this is not optimal. In those cases a different approach may be required.&lt;br /&gt;
&lt;br /&gt;
Be aware that nc2nc takes at least twice as long to compress an equivalent file as nccopy. In some cases with large files containing many variables it can be up to five times slower.&lt;br /&gt;
&lt;br /&gt;
You can use nc2nc “stand alone”. It has a couple of extra features that can only be accessed by calling it directly:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ nc2nc -h&lt;br /&gt;
usage: nc2nc [-h] [-d {1-9}] [-m MINDIM] [-b BUFFERSIZE] [-n] [-v] [-c] [-f]&lt;br /&gt;
             [-va VARS] [-q QUANTIZE] [-o]&lt;br /&gt;
             origin destination&lt;br /&gt;
&lt;br /&gt;
Make a copy of a netCDF file with automatic chunk sizing&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  origin                netCDF file to be compressed&lt;br /&gt;
  destination           netCDF output file&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -d {1-9}, --dlevel {1-9}&lt;br /&gt;
                        Set deflate level. Valid values 0-9 (default=5)&lt;br /&gt;
  -m MINDIM, --mindim MINDIM&lt;br /&gt;
                        Minimum dimension of chunk. Valid values 1-dimsize&lt;br /&gt;
  -b BUFFERSIZE, --buffersize BUFFERSIZE&lt;br /&gt;
                        Set size of copy buffer in MB (default=50)&lt;br /&gt;
  -n, --noshuffle       Don't shuffle on deflation (default is to shuffle)&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -c, --classic         use NETCDF4_CLASSIC output instead of NETCDF4 (default&lt;br /&gt;
                        true)&lt;br /&gt;
  -f, --fletcher32      Activate Fletcher32 checksum&lt;br /&gt;
  -va VARS, --vars VARS&lt;br /&gt;
                        Specify variables to copy (default is to copy all)&lt;br /&gt;
  -q QUANTIZE, --quantize QUANTIZE&lt;br /&gt;
                        Truncate data in variable to a given decimal&lt;br /&gt;
                        precision, e.g. -q speed=2 -q temp=0 causes variable&lt;br /&gt;
                        speed to be truncated to a precision of 0.01 and temp&lt;br /&gt;
                        to a precision of 1&lt;br /&gt;
  -o, --overwrite       Write output file even if already it exists (default&lt;br /&gt;
                        is to not overwrite)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
With the vars option (-va) it is possible to select out only a subset of variables to be copied to the destination file. By default the output file is netCDf4 classic, but this can be changed to netCDF4 using the '-c' option. It is also possible to specify a minimum dimension size for the chunks (-m). This may be desirable for a dataset that has one particularly long dimension,. The chunk dimensions would mirror this and be very large in this direction . If fast access is required from slices orthogonal to this direction performance might be improved setting this option to a number greater than 1. &lt;br /&gt;
== ncvarinfo ==&lt;br /&gt;
&lt;br /&gt;
ncvarinfo is a convenient way to get a summary of the contents of a netCDF file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
./ncvarinfo -h&lt;br /&gt;
usage: ncvarinfo [-h] [-v] [-t] [-d] [-a] [-va VARS] inputs [inputs ...]&lt;br /&gt;
&lt;br /&gt;
Output summary information about a netCDF file&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs                netCDF files&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -t, --time            Show time variables&lt;br /&gt;
  -d, --dims            Show dimensions&lt;br /&gt;
  -a, --aggregate       Aggregate multiple netCDF files into one dataset&lt;br /&gt;
  -va VARS, --vars VARS&lt;br /&gt;
                        Show info for only specify variables&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
By default it prints out a simple summary of the variables in a netCDF file, but omitting dimensions and time related variables. e.g. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo output096/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you specify more than one file it will print the information for each file in turn &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output097/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output099/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If the files have the same structure it is possible to aggregate the data and display it as if it were contained in a single dataset: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo -a output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
Time steps:  1460  x  1.0 days&lt;br /&gt;
tau_x    :: (1460, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (1460, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)       :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)       :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)       :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)       :: uv latitude&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can also just request variables you are interested in to be output: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo -va tau_x -va tau_y output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output097/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output099/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Category:Data induction]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=NetCDF_Compression_Tools&amp;diff=3481</id>
		<title>NetCDF Compression Tools</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=NetCDF_Compression_Tools&amp;diff=3481"/>
		<updated>2022-04-26T00:16:28Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Reverted edits by C.carouge (talk) to last revision by P.petrelli&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Why compress netCDF files? ==&lt;br /&gt;
&lt;br /&gt;
Space. Your supervisor/CI/system administrator is telling you your files are taking too much space. Compressing your netCDF data files will shrink your data files to one third the size. This is the equivalent of being given three times as much disk space.&lt;br /&gt;
&lt;br /&gt;
NetCDF compression is lossless: the data is exactly as it was when read from disk. It can still be read using the same programming interface. As long as the program reading the data has been compiled with the latest netCDF library (version 4) then the task of decompressing the data is handled by the library and as far as the programs are concerned there is no difference in the data. The usual tools, such as ncdump, can be used to examine the variables contained within the netCDF file. However, if you rely on an old piece of software that you think may not have been compiled with netCDF4 you should test that it can read compressed netCDF4 files before converting all your data.&lt;br /&gt;
&lt;br /&gt;
It is possible to simply compress the entire file on disk with tools such as gzip. This has the disadvantage that the file must be decompressed to be read and then recompressed again when you have finished, which can be time consuming and degrade your productivity, not to mention the data in question will take up much more room while it is being analysed. This is not recommended.&lt;br /&gt;
&lt;br /&gt;
= General guidelines =&lt;br /&gt;
&lt;br /&gt;
The netCDF library has several options for compressing data, which all compression programs will use, as they all use the underlying library to perform the compression. There is a [http://www.unidata.ucar.edu/blogs/developer/en/entry/netcdf_compression more detailed explanation] if you wish to understand more, but briefly:&lt;br /&gt;
&lt;br /&gt;
=== Deflate level ===&lt;br /&gt;
&lt;br /&gt;
This is an integer value from ranging from 0 to 9. A value of 0 means no compression, and 9 is the highest level of compression possible. The higher this value the smaller your file will be once compressed. However, there is a trade-off, the higher the deflate level, the longer it will take to compress, particularly so with very high deflate levels. At deflate level 9 it can take six times longer to compress the data, with only a few percent improvement in compression. The recommended deflate level is 5. This combines good compression with a small increase in compression time.&lt;br /&gt;
&lt;br /&gt;
=== Shuffle ===&lt;br /&gt;
&lt;br /&gt;
Turn shuffle on. Simple. It usually results in a smaller compressed file with little performance overhead.&lt;br /&gt;
&lt;br /&gt;
=== Chunking ===&lt;br /&gt;
&lt;br /&gt;
The netCDF library writes the data to disk in &amp;quot;chunks&amp;quot;. There is a [http://www.unidata.ucar.edu/blogs/developer/entry/chunking_data_why_it_matters very good description of chunking and how it works]. All you really have to know is that in order to use netCDF compression '''your data must be chunked'''.The question then is, do I care how the program I use chooses the size of my data chunks? The answer is almost certainly yes, but maybe not a lot. An optimal chunking strategy is [http://www.unidata.ucar.edu/blogs/developer/en/entry/chunking_data_choosing_shapes largely determined by the structure of your data and how you will access it].&lt;br /&gt;
&lt;br /&gt;
Specific details about chunking strategies are largely dependent on the tool used to compress your data, and will be covered in more detail in the next section. However, all tools still utilise the underlying netCDF4 library, and so can implement the default chunking strategy, which has changed over time. For many versions the default strategy has been to create chunks that are simply the same size as the dimensions of the variable, which can be a disastrous choice in terms of performance if the data is also compressed. The entire variable must be read into memory to be uncompressed even if only a single slice is required.&lt;br /&gt;
&lt;br /&gt;
= Compression tools =&lt;br /&gt;
&lt;br /&gt;
There are some software packages available on raijin that can be used to compress netCDF data:&lt;br /&gt;
&lt;br /&gt;
=== nco ===&lt;br /&gt;
&lt;br /&gt;
The [http://nco.sourceforge.net netCDF Operator (NCO) program suite] can compress netCDF files and has recently [http://nco.sourceforge.net/nco.html#Compression included some ability to choose different chunking strategies]. It may be that for some cases this is a reasonable solution based on the available options, but a weakness is the inability to use their optimised chunking strategy for variables with four dimensions or more.&lt;br /&gt;
&lt;br /&gt;
=== cdo ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;cmsl-10&amp;quot;&amp;gt;[https://code.zmaw.de/projects/cdo Climate Data Operators] (cdo) can also compress netCDF and offers limited chunking options: &amp;lt;/span&amp;gt;auto, grid or lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== netcdf ===&lt;br /&gt;
&lt;br /&gt;
One of the standard tools included in a netCDF installation is [https://docs.unidata.ucar.edu/nug/current/netcdf_utilities_guide.html#guide_nccopy nccopy]. nccopy can compress files and define the chunking using a command line argument (-c). nccopy is a good option if your data file structure changes little, so a chunking scheme can be decided upon and hard coded into scripts. It is not so useful if the dimensions and variables change. Another major limitation is that the chunking is defined by dimensions, not variables. If your data file has variables that share dimensions, but have different combinations or numbers of dimensions it is not possible to determine an optimal chunking strategy for each variable.&lt;br /&gt;
&lt;br /&gt;
=== nccompress ===&lt;br /&gt;
&lt;br /&gt;
The nccompress package is available on gadi&amp;amp;nbsp;in the CMS conda environment. At present it consists of three python programs, ncfind, nc2nc and nccompress, written and supported by [http://www.climatescience.org.au/staff/profile/AHeerdegen Aidan]. nc2nc can copy netCDF files with compression and an optimised chunking strategy that has reasonable performance for many datasets. This two main limitations: it is slower than the other programs, and it can only compress netCDF3 or netCDF4 classic format. There is more detail in the following sections.&lt;br /&gt;
&lt;br /&gt;
=== ncvarinfo ===&lt;br /&gt;
&lt;br /&gt;
The convenience utility ncvarinfo is also included, and though it has no direct relevance to compression, it is a convenient way to get a summary of the contents of a netCDF file.&lt;br /&gt;
&lt;br /&gt;
== Identifying files to be compressed ==&lt;br /&gt;
&lt;br /&gt;
ncfind, part of the nccompress package, can be used to find netCDF files and discriminate between compressed and uncompressed:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ ncfind -h&lt;br /&gt;
usage: ncfind [-h] [-r] [-u | -c] [inputs [inputs ...]]&lt;br /&gt;
&lt;br /&gt;
Find netCDF files. Can discriminate by compression&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs              netCDF files or directories (-r must be specified to&lt;br /&gt;
                      recursively descend directories). Can accept piped&lt;br /&gt;
                      arguments.&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help          show this help message and exit&lt;br /&gt;
  -r, --recursive     Recursively descend directories to find netCDF&lt;br /&gt;
                      files (default False)&lt;br /&gt;
  -u, --uncompressed  Find only uncompressed netCDF files (default False)&lt;br /&gt;
  -c, --compressed    Find only compressed netCDF files (default False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
There are other methods for finding files, namely the unix utility find utility. For example, to find all files in the directory &amp;quot;directoryname&amp;quot; which end in &amp;quot;.nc&amp;quot;: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
find directoryname -iname &amp;quot;*.nc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
However, if your netCDF files do not use the convention of ending in &amp;quot;.nc&amp;quot; or cannot be systematically found based on filename, you can use the ncfind to recursively descend into a directory structure looking for netCDF files: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r directoryname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can refine the search further by requesting to return only those files that are uncompressed: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r -u directoryname&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you want to find out how much space these uncompressed files occupy you can combine this command with other unix utilities such as xargs and du: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncfind -r -u directoryname | xargs du -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
du is the disk usage utility. The output looks something like this: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
67M     output212/ice__212_223.nc&lt;br /&gt;
1003M   output212/ocean__212_223.nc&lt;br /&gt;
1.1G    total&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
It is even possible to combine the system find utility with ncfind, using a unix pipe (|). This command will find all files ending in &amp;quot;.nc&amp;quot;, pipe the results to ncfind, and only those that are uncompressed will be printed to the screen: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
find directoryname -iname &amp;quot;*.nc&amp;quot; | ncfind -u&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Batch Compressing files ==&lt;br /&gt;
&lt;br /&gt;
Having identified where the netCDF files you wish to compress are located, there is a convenience program, nccompress, which can be used to easily step through and compress each file in turn:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ nccompress -h&lt;br /&gt;
usage: nccompress [-h] [-d {1-9}] [-n] [-b BUFFERSIZE] [-t TMPDIR] [-v] [-r]&lt;br /&gt;
                   [-o] [-m MAXCOMPRESS] [-p] [-f] [-c] [-pa] [-np NUMPROC]&lt;br /&gt;
                   [--nccopy]&lt;br /&gt;
                   inputs [inputs ...]&lt;br /&gt;
&lt;br /&gt;
Run nc2nc (or nccopy) on a number of netCDF files&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs                netCDF files or directories (-r must be specified to&lt;br /&gt;
                        recursively descend directories)&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -d {1-9}, --dlevel {1-9}&lt;br /&gt;
                        Set deflate level. Valid values 0-9 (default=5)&lt;br /&gt;
  -n, --noshuffle       Don't shuffle on deflation (default is to shuffle)&lt;br /&gt;
  -b BUFFERSIZE, --buffersize BUFFERSIZE&lt;br /&gt;
                        Set size of copy buffer in MB (default=50)&lt;br /&gt;
  -t TMPDIR, --tmpdir TMPDIR&lt;br /&gt;
                        Specify temporary directory to save compressed files&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -r, --recursive       Recursively descend directories compressing all netCDF&lt;br /&gt;
                        files (default False)&lt;br /&gt;
  -o, --overwrite       Overwrite original files with compressed versions&lt;br /&gt;
                        (default is to not overwrite)&lt;br /&gt;
  -m MAXCOMPRESS, --maxcompress MAXCOMPRESS&lt;br /&gt;
                        Set a maximum compression as a paranoid check on&lt;br /&gt;
                        success of nccopy (default is 10, set to zero for no&lt;br /&gt;
                        check)&lt;br /&gt;
  -p, --paranoid        Paranoid check : run nco ndiff on the resulting file&lt;br /&gt;
                        ensure no data has been altered&lt;br /&gt;
  -f, --force           Force compression, even if input file is already&lt;br /&gt;
                        compressed (default False)&lt;br /&gt;
  -c, --clean           Clean tmpdir by removing existing compressed files&lt;br /&gt;
                        before starting (default False)&lt;br /&gt;
  -pa, --parallel       Compress files in parallel&lt;br /&gt;
  -np NUMPROC, --numproc NUMPROC&lt;br /&gt;
                        Specify the number of processes to use in parallel&lt;br /&gt;
                        operation&lt;br /&gt;
  --nccopy              Use nccopy instead of nc2nc (default False)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The simplest way to invoke the program would be with a single file: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress ice_daily_0001.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or using a wildcard expression: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can also specify one or more directory names in combination with the recursive flag (-r) and the program will recursively descend into those directories and find all netCDF files contained therein. For example, a directory listing might look like so: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ ls data/&lt;br /&gt;
output001  output003  output005  output007  output009  restart001  restart003  restart005  restart007  restart009&lt;br /&gt;
output002  output004  output006  output008  output010  restart002  restart004  restart006  restart008  restart010&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
with a number of sub-directories, all containing netCDF files. It is a good idea to do a trial run and make sure it functions properly. For example, this will compress the netCDF files in just one of the directories: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -p -r data/output001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Once completed there will be a new subdirectory called tmp.nc_compress inside the directory output001. It will contain compressed copies of all the netCDF files from the directory above. You can check the compressed copies to make sure they are correct. The paranoid option (-p) calls an nco command to check that the variables contained in the two files are the same. You can use the paranoid option routinely, thought it will make the process more time consuming. It is a good idea to use it in the testing phase. You should also check the compressed copies manually to make sure they look ok, and if so, re-run the command with the -o option (overwrite): &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o data/output001&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and it will find the already compressed files, copy them over the originals and delete the temporary directory tmp.nc_compress. It won’t try to compress the files again. It also won’t compress already compressed files, so, for example, if you were happy that the compression was working well you could compress the entire data directory, and the already compressed files in output001 will not be re-compressed.&lt;br /&gt;
&lt;br /&gt;
So, by default, nccompress '''does not overwrite the original files'''. If you invoke it without the '-o' option it will create compressed copies in the tmp.nc_compress subdirectory and leave them there, which will consume more disk space! This is a feature, not a bug, but you need to be aware that this is how it functions.&lt;br /&gt;
&lt;br /&gt;
With large variables, which usually means large files (&amp;gt; 1GB) it is a good idea to specify a larger buffer size with the '-b' option, as it will run faster. On raijin this may mean you need to run interactively with a higher memory (~10GB) or submit it as a copyq job. A typical buffer size might be 1000 -&amp;gt; 5000 (1-&amp;gt;5 GB).&lt;br /&gt;
&lt;br /&gt;
It is also possible to use wildcards type operations, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o output*&lt;br /&gt;
&lt;br /&gt;
nccompress -r -o output00[1-5]&lt;br /&gt;
&lt;br /&gt;
nccompress -r -o run[1-5]/output*/ocean*.nc random.nc ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The nccompress program just sorts out finding files/directories etc, it calls nc2nc to do the compression. Using the '--nccopy' forces nccompress to use the nccopy program in place of nc2nc, though the netcdf package must already be loaded for this to work. You can tell nccompress to work on multple files simultaneously with the '-pa' option. By default this will use all the physical processors on the machine, or you can specify how many simultaneous processes you want to with '-np', e.g. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
nccompress -r -o -np 16 run[1-5]/output*/ocean*.nc random.nc ice*.nc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
will compress 16 netCDF files at a time (the -np option implies parallel option). As each directory is processed before beginning on a new directory there will be little reduction in execution time if there are few netCDF files in each directory. &lt;br /&gt;
== nc2nc ==&lt;br /&gt;
&lt;br /&gt;
The nc2nc program was written because no existing tool had a generalised per variable chunking algorithm. The total chunk size is defined to be the file system block size (4096KB). The dimensions of the chunk are sized to be as close as possible to the same ratio as the dimensions of the data, with the limits that no dimension can be less than 1. This chunking scheme performs well for a wide range of data, but there will always be cases for certain types of access, or variable shape that this is not optimal. In those cases a different approach may be required.&lt;br /&gt;
&lt;br /&gt;
Be aware that nc2nc takes at least twice as long to compress an equivalent file as nccopy. In some cases with large files containing many variables it can be up to five times slower.&lt;br /&gt;
&lt;br /&gt;
You can use nc2nc “stand alone”. It has a couple of extra features that can only be accessed by calling it directly:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ nc2nc -h&lt;br /&gt;
usage: nc2nc [-h] [-d {1-9}] [-m MINDIM] [-b BUFFERSIZE] [-n] [-v] [-c] [-f]&lt;br /&gt;
             [-va VARS] [-q QUANTIZE] [-o]&lt;br /&gt;
             origin destination&lt;br /&gt;
&lt;br /&gt;
Make a copy of a netCDF file with automatic chunk sizing&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  origin                netCDF file to be compressed&lt;br /&gt;
  destination           netCDF output file&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -d {1-9}, --dlevel {1-9}&lt;br /&gt;
                        Set deflate level. Valid values 0-9 (default=5)&lt;br /&gt;
  -m MINDIM, --mindim MINDIM&lt;br /&gt;
                        Minimum dimension of chunk. Valid values 1-dimsize&lt;br /&gt;
  -b BUFFERSIZE, --buffersize BUFFERSIZE&lt;br /&gt;
                        Set size of copy buffer in MB (default=50)&lt;br /&gt;
  -n, --noshuffle       Don't shuffle on deflation (default is to shuffle)&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -c, --classic         use NETCDF4_CLASSIC output instead of NETCDF4 (default&lt;br /&gt;
                        true)&lt;br /&gt;
  -f, --fletcher32      Activate Fletcher32 checksum&lt;br /&gt;
  -va VARS, --vars VARS&lt;br /&gt;
                        Specify variables to copy (default is to copy all)&lt;br /&gt;
  -q QUANTIZE, --quantize QUANTIZE&lt;br /&gt;
                        Truncate data in variable to a given decimal&lt;br /&gt;
                        precision, e.g. -q speed=2 -q temp=0 causes variable&lt;br /&gt;
                        speed to be truncated to a precision of 0.01 and temp&lt;br /&gt;
                        to a precision of 1&lt;br /&gt;
  -o, --overwrite       Write output file even if already it exists (default&lt;br /&gt;
                        is to not overwrite)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
With the vars option (-va) it is possible to select out only a subset of variables to be copied to the destination file. By default the output file is netCDf4 classic, but this can be changed to netCDF4 using the '-c' option. It is also possible to specify a minimum dimension size for the chunks (-m). This may be desirable for a dataset that has one particularly long dimension,. The chunk dimensions would mirror this and be very large in this direction . If fast access is required from slices orthogonal to this direction performance might be improved setting this option to a number greater than 1. &lt;br /&gt;
== ncvarinfo ==&lt;br /&gt;
&lt;br /&gt;
ncvarinfo is a convenient way to get a summary of the contents of a netCDF file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
./ncvarinfo -h&lt;br /&gt;
usage: ncvarinfo [-h] [-v] [-t] [-d] [-a] [-va VARS] inputs [inputs ...]&lt;br /&gt;
&lt;br /&gt;
Output summary information about a netCDF file&lt;br /&gt;
&lt;br /&gt;
positional arguments:&lt;br /&gt;
  inputs                netCDF files&lt;br /&gt;
&lt;br /&gt;
optional arguments:&lt;br /&gt;
  -h, --help            show this help message and exit&lt;br /&gt;
  -v, --verbose         Verbose output&lt;br /&gt;
  -t, --time            Show time variables&lt;br /&gt;
  -d, --dims            Show dimensions&lt;br /&gt;
  -a, --aggregate       Aggregate multiple netCDF files into one dataset&lt;br /&gt;
  -va VARS, --vars VARS&lt;br /&gt;
                        Show info for only specify variables&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
By default it prints out a simple summary of the variables in a netCDF file, but omitting dimensions and time related variables. e.g. &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo output096/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you specify more than one file it will print the information for each file in turn &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output097/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&lt;br /&gt;
output099/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x    :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)      :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)      :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)      :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)      :: uv latitude&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If the files have the same structure it is possible to aggregate the data and display it as if it were contained in a single dataset: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo -a output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
Time steps:  1460  x  1.0 days&lt;br /&gt;
tau_x    :: (1460, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y    :: (1460, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
geolon_t :: (1080, 1440)       :: tracer longitude&lt;br /&gt;
geolat_t :: (1080, 1440)       :: tracer latitude&lt;br /&gt;
geolon_c :: (1080, 1440)       :: uv longitude&lt;br /&gt;
geolat_c :: (1080, 1440)       :: uv latitude&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can also just request variables you are interested in to be output: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ncvarinfo -va tau_x -va tau_y output09?/ocean_daily.nc&lt;br /&gt;
&lt;br /&gt;
output096/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output097/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output098/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&lt;br /&gt;
output099/ocean_daily.nc&lt;br /&gt;
Time steps:  365  x  1.0 days&lt;br /&gt;
tau_x :: (365, 1080, 1440) :: i-directed wind stress forcing u-velocity&lt;br /&gt;
tau_y :: (365, 1080, 1440) :: j-directed wind stress forcing v-velocity&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Category:Data induction]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3469</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3469"/>
		<updated>2022-04-14T06:28:59Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Conda Python Environments ==&lt;br /&gt;
&lt;br /&gt;
CMS maintain an Anaconda Python environment at NCI, with a wide variety of climate and weather related libraries.&lt;br /&gt;
&lt;br /&gt;
You can find the most recent list of libraries at our [https://github.com/coecms/conda-envs/blob/analysis3/environment.yml github repository], or run &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; with an environment loaded.&lt;br /&gt;
&lt;br /&gt;
To use any of the conda environments:&lt;br /&gt;
&lt;br /&gt;
#Request access to [https://my.nci.org.au/mancini/project/hh5 hh5] (to do once) &lt;br /&gt;
#You must first run (to do at each session, a qsub job is a new session) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module use /g/data/hh5/public/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely put this in your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; file. It can go in the &amp;lt;code&amp;gt;if in_interactive_shell; then&amp;lt;/code&amp;gt; section of the file.&lt;br /&gt;
&lt;br /&gt;
If you need to use the conda environment in a PBS job you will need to add the hh5 project to your storage flags, e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;#PBS -l storage=gdata/hh5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these &amp;lt;code&amp;gt;&amp;lt;tt&amp;gt;conda&amp;lt;/tt&amp;gt;&amp;lt;/code&amp;gt; environments will work on gadi login and compute nodes, and in the OOD cloud environment. They '''do not work '''on &amp;lt;code&amp;gt;accessdev&amp;lt;/code&amp;gt;, as this has a very old system version that is no longer compatible.&lt;br /&gt;
&lt;br /&gt;
=== Stable Environment ===&lt;br /&gt;
&lt;br /&gt;
We update the stable environment once a quarter, around when NCI do their quarterly maintenance of Gadi. Otherwise everything in the environment stays fixed, we don't update packages or install new packages unless something is very broken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unstable Environment ===&lt;br /&gt;
&lt;br /&gt;
The unstable environment gets updated more often, as we install new packages or apply updates to existing ones. If you ask for a new package it will be installed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3-unstable&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we do our quarterly update the unstable environment becomes the new stable environment.&lt;br /&gt;
&lt;br /&gt;
=== Removed Environments ===&lt;br /&gt;
&lt;br /&gt;
Normally after three quarters have passed old environments are removed, to reduce disk space and support burden. Conda environment.yml descriptions of past environments are available at [https://github.com/coecms/conda-history https://github.com/coecms/conda-history].&lt;br /&gt;
&lt;br /&gt;
== Creating personal environments ==&lt;br /&gt;
&lt;br /&gt;
You can create your own environment if needed, but please be cautious of both the size on disk and number of files that Conda environments can create. Make a file &amp;lt;code&amp;gt;~/.condarc&amp;lt;/code&amp;gt; like:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;&lt;br /&gt;
auto_activate_base: false&lt;br /&gt;
envs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/envs&lt;br /&gt;
  - /g/data/hh5/public/apps/miniconda3/envs&lt;br /&gt;
pkgs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/pkgs&lt;br /&gt;
conda-build:&lt;br /&gt;
  root-dir: /scratch/$PROJECT/$USER/conda/bld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will set up Conda to create environments in /scratch, by default it puts them in your home directory which will rapidly use up your disk quota.&lt;br /&gt;
&lt;br /&gt;
To create the conda environment, load the conda module, then deactivate it with&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda deactivate&lt;br /&gt;
conda env create ...&lt;br /&gt;
conda activate ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just be aware that files on &amp;lt;code&amp;gt;scratch&amp;lt;/code&amp;gt; might be deleted if no longer used, so it might be a good idea to export the &amp;lt;code&amp;gt;environment.yaml&amp;lt;/code&amp;gt; file so that you can easily re-create the environment if that happens.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interactive Analysis / Jupyter ==&lt;br /&gt;
&lt;br /&gt;
[https://jupyter.org/ Jupyter] provides a 'notebook' interface for working with Python - you can combine Python code, text, latex equations and plots in a web interface.&lt;br /&gt;
&lt;br /&gt;
The preferred method of running Jupyter at NCI is through the ''''Open on Demand' (OOD)''' service [https://ood.nci.org.au https://ood.nci.org.au]. This runs a Jupyter instance in NCI's cloud that you can access directly from your browser. To use CLEX Conda in OOD, start Jupyter with the advanced options:&lt;br /&gt;
&lt;br /&gt;
*Module Directories: /g/data/hh5/public/modules &lt;br /&gt;
*Modules: conda/analysis3 &lt;br /&gt;
&lt;br /&gt;
The Centre has developed a script&amp;amp;nbsp;('''&amp;lt;span style=&amp;quot;font-family:Arial,Helvetica,sans-serif;&amp;quot;&amp;gt;gadi_jupyter&amp;lt;/span&amp;gt;'''&amp;lt;span style=&amp;quot;font-family:Courier New,Courier,monospace;&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt; that can run Jupyter on gadi compute nodes and display the notebook interface on your local computer. These scripts are available at [https://github.com/coecms/nci_scripts https://github.com/coecms/nci_scripts], see the instructions there for usage.&lt;br /&gt;
&lt;br /&gt;
You can also run Jupyter directly on VDI, by loading the [[Conda]] environment and running 'jupyter lab'.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the Jupyter scripts must be run through a Bash terminal (From WSL or Cygwin).&lt;br /&gt;
&lt;br /&gt;
== Requesting new packages ==&lt;br /&gt;
&lt;br /&gt;
You can ask for a new package to be installed or for an existing package to be updated by emailing [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Please include a link to the package documentation to your request.&lt;br /&gt;
&lt;br /&gt;
It would be appreciated if you can check the package isn't already installed before putting in a request. To do so, please load the unstable environment and use &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; to list the packages included in that environment&lt;br /&gt;
&lt;br /&gt;
As a general rule we will only install packages from the [https://conda-forge.org/feedstocks/ 'conda-forge'] channel. Newly installed packages will be available in the conda/analysis3-unstable environment.&lt;br /&gt;
&lt;br /&gt;
== Update History ==&lt;br /&gt;
&lt;br /&gt;
=== 22.01 (Current Stable) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://pygam.readthedocs.io/en/latest/ pygam]&amp;amp;nbsp;build&amp;amp;nbsp;Generalized Additive Models in Python &lt;br /&gt;
**[https://pyspectrum.readthedocs.io/en/latest/ spectrum]&amp;amp;nbsp;tools to estimate Power Spectral Densities based on Fourier transform, parametric methods or eigenvalues analysis   &lt;br /&gt;
*'''Climate specific''' &lt;br /&gt;
**[https://xmhw.readthedocs.io/en/latest/ xmhw]&amp;amp;nbsp;xarray compatible Marine Heatwave Detection &lt;br /&gt;
**[https://argopy.readthedocs.io/en/latest/ argopy]&amp;amp;nbsp;library dedicated to&amp;amp;nbsp;[https://argopy.readthedocs.io/en/latest/what_is_argo.html#what-is-argo Argo]&amp;amp;nbsp;data access, manipulation and visualisation for standard users as well as Argo experts. &lt;br /&gt;
**[https://www.ilamb.org/doc/ ilamb]&amp;amp;nbsp;the International Land Model Benchmarking ([http://www.ilamb.org/ ILAMB]) project is a model-data intercomparison and integration project designed to improve the performance of land models   &lt;br /&gt;
*'''Developer''' &lt;br /&gt;
**'''​​​​​​​'''[https://github.com/lidatong/dataclasses-json dataclasses-json]&amp;amp;nbsp;provides&amp;amp;nbsp;a simple API for encoding and decoding&amp;amp;nbsp;[https://docs.python.org/3/library/dataclasses.html dataclasses]&amp;amp;nbsp;to and from JSON   &lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**'''​​​​​​​'''[https://pysal.org pysal]&amp;amp;nbsp;spatial analysis library for open, cross platform geospatial data science   &lt;br /&gt;
&lt;br /&gt;
=== 21.10 (Unsupported) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://github.com/josuemtzmo/xarrayMannKendall xarraymannkendall] compute linear trends over 2D and 3D arrays &lt;br /&gt;
**[https://hdbscan.readthedocs.io/en/latest/ hdbscan] tools to use unsupervised learning to find clusters, or dense regions, of a dataset   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://github.com/jannikmi/timezonefinder timezonefinder] looking up the corresponding timezone for given coordinates on earth entirely offline &lt;br /&gt;
**[https://iris-grib.readthedocs.io/en/stable/ iris-grib] converting between weather and climate datasets that are stored as GRIB files and Iris cubes &lt;br /&gt;
**[https://github.com/NCAR/intake-thredds intake-thredds] Intake interface to THREDDS data catalogs   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://lftp.yar.ru/ lftp] sophisticated file transfer program supporting a number of network protocols &lt;br /&gt;
**[https://github.com/gorakhargosh/watchdog watchdog] monitor file system events &lt;br /&gt;
**[https://github.com/ml31415/numpy-groupies numpy_groupies] Optimised tools for group-indexing operations: aggregated sum and more &lt;br /&gt;
**[https://anytree.readthedocs.io/en/latest/ anytree] Simple, lightweight and extensible Tree data structure &lt;br /&gt;
**[https://github.com/hansec/fortran-language-server fortran-language-server] Fortran implementation of the Language Server Protocol &lt;br /&gt;
**[https://jupyterbook.org/intro.html jupyter-book] building beautiful, publication-quality books and documents from computational material &lt;br /&gt;
**[https://github.com/fsspec/kerchunk kerchunk] Cloud-friendly access to archival data &lt;br /&gt;
**[https://github.com/ultrajson/ultrajson ujson] ultra fast JSON encoder and decoder   &lt;br /&gt;
&lt;br /&gt;
'''Known Issues'''&lt;br /&gt;
&lt;br /&gt;
*MetPy is incompatible with the Matplotlib version in this environment [https://github.com/Unidata/MetPy/issues/2281 https://github.com/Unidata/MetPy/issues/2281] &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.07&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to version 3.9. See what's new at [https://docs.python.org/3/whatsnew/3.9.html https://docs.python.org/3/whatsnew/3.9.html]&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.tensorflow.org/ tensorflow] TensorFlow is an end-to-end open source platform for machine learning &lt;br /&gt;
***Note: You may need to load the NCI modules 'cuda' and 'cudnn' to use tensorflow on GPU nodes   &lt;br /&gt;
**[https://shap.readthedocs.io/en/latest/index.html shap] a game theoretic approach to explain the output of any machine learning model   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://gcm-filters.readthedocs.io/en/latest/ gcm_filters] Diffusion-based Spatial Filtering of Gridded Data from General Circulation Models   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://docs.enthought.com/mayavi/mayavi/ mayavi] 3D scientific data visualization and plotting in Python   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://github.com/danielwhatmuff/gh gh] a tool to open Github projects in a browser from the command line   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.04&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Conda has dropped support for the old operating system version used on the Accessdev VM. It is likely that future versions of analysis3 after 21.04 will not work on Accessdev, consider setting up tasks to run on Gadi if they require the Conda environment.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.cvxpy.org/ cvxpy] modeling language for convex optimization problems &lt;br /&gt;
**[https://xgboost.readthedocs.io/en/latest/index.html dask-xgboost] optimized distributed gradient boosting library &lt;br /&gt;
**[https://github.com/mmhs013/pymannkendall pymannkendall] analyze time series data for consistently increasing or decreasing trends   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://xarray-spatial.org/ xarray-spatial] common raster analysis functions   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://github.com/jbusecke/xmovie xmovie] simple way of creating beautiful movies from xarray objects   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://www.atlassian.com/git/tutorials/git-subtree git-subtree] subtree extension for Git &lt;br /&gt;
**[https://rechunker.readthedocs.io/en/latest/ rechunker] efficient and scalable manipulation of the chunk structure of chunked array formats such as Zarr and TileDB &lt;br /&gt;
**[https://github.com/spyder-ide/spyder-kernels spyder-kernels] allow conda environment to work with [https://www.spyder-ide.org/ Spyder IDE] &lt;br /&gt;
**[https://github.com/rasbt/watermark watermark] IPython magic extension for printing date and time stamps, version numbers, and hardware information   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.01&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The conda environment now uses a conda provided OpenMPI, rather than Gadi's OpenMPI module. This impacts users of mpi4py, esmf, esmpy and xesmf&lt;br /&gt;
&lt;br /&gt;
era5grib, the tool for converting NCI's ERA5 archive to GRIB format for use in UM/WRF limited area runs, now uses the NCI managed ERA5 archive in projects [https://opus.nci.org.au/display/ERA5/ERA5+Community+Home rt52 and zz93]. The new archive has global coverage, allowing limited area models to be run anywhere on the globe. The previously used CLEX archive will be removed on the 28th April to free up disk space, until this happens previous behavior can be accessed using the flag '--source CLEX'.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics''' &lt;br /&gt;
**[https://ml.dask.org/index.html dask-ml] Scalable machine learning &lt;br /&gt;
**[https://geostat-framework.readthedocs.io/projects/pykrige/en/stable/ pykrige] Gaussian process regression toolkit &lt;br /&gt;
**[https://nctoolkit.readthedocs.io/en/latest/ nctoolkit] Toolkit for analysing NetCDF data   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[http://xarray-spatial.org/ xarray-spatial] Raster-based spatial analysis &lt;br /&gt;
**[https://pypi.org/project/Fiona/ fiona] GDAL vector API for Python   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://residentmario.github.io/geoplot/index.html geoplot] Geospatial data visualisation &lt;br /&gt;
**[https://python-visualization.github.io/folium/ folium] Leaflet webpage map manipulation &lt;br /&gt;
**[https://github.com/jwass/mplleaflet mplleaflet] Use matplotlib on Leaflet webpage maps   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://mamba.readthedocs.io/en/latest/ mamba] Faster conda environment setup &lt;br /&gt;
**[https://github.com/psf/black black] Python code formatter &lt;br /&gt;
**[https://intake-esm.readthedocs.io/en/latest/ intake-esm] Data cataloguing tool   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.8 ([https://docs.python.org/3.8/whatsnew/3.8.html changes])&lt;br /&gt;
&lt;br /&gt;
There are a small number of packages in analysis3-20.07 that are not compatible with 3.8, these have been disabled until we can get them working&lt;br /&gt;
&lt;br /&gt;
*pynio ([https://github.com/conda-forge/pynio-feedstock/issues/90 https://github.com/conda-forge/pynio-feedstock/issues/90]) &lt;br /&gt;
*&amp;lt;s&amp;gt;cf_units&amp;lt;/s&amp;gt; (was renamed to 'cf-units') &lt;br /&gt;
*&amp;lt;s&amp;gt;pymunge&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
*&amp;lt;s&amp;gt;ants&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/corteva/rioxarray rioxarray] geospatial xarray extension powered by rasterio &lt;br /&gt;
*[https://github.com/cupy/cupy cupy] CUDA accellerated numpy &lt;br /&gt;
*[https://github.com/jwkvam/celluloid celluloid] simplified animations with matplotlib &lt;br /&gt;
*[https://pythonhosted.org/rasterstats/ rasterstats] summarizing geospatial raster datasets based on vector geometries &lt;br /&gt;
*[https://github.com/python-windrose/windrose windrose] manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution &lt;br /&gt;
*[https://pyam-iamc.readthedocs.io/en/stable/ pyam] analysis and visualization of integrated-assessment scenarios &lt;br /&gt;
*[https://github.com/apache/arrow pyarrow] a cross-language development platform for in-memory data &lt;br /&gt;
*[https://github.com/jdowner/gist python-gist] a command line interface for working with github gists &lt;br /&gt;
*[https://sourceforge.net/projects/mcmc-jags/ jags] statistical analysis of Bayesian hierarchical models by Markov Chain Monte Carlo &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://xesmf.readthedocs.io/en/latest/ xesmf] - regrids xarray data (NOTE: uses Gadi's ESMF install, won't work on VDI) &lt;br /&gt;
*[http://sharp.weather.ou.edu/dev/ sharppy] - sounding and holograph analysis &lt;br /&gt;
*[https://earthpy.readthedocs.io/en/latest/ earthpy] - spatial raster and vector tools (e.g. rasterise shapefiles) &lt;br /&gt;
*[https://pypi.org/project/descartes/ descartes] - plot shapefiles &lt;br /&gt;
*[https://github.com/coecms/era5grib era5grib] - convert data from NCI ERA5 archive to GRIB for use in WRF/UM (beta tool) &lt;br /&gt;
*[https://xmitgcm.readthedocs.io xmitgcm] - read mitgcm binary output &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.04 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Cartopy NaturalEarth source data has been centrally installed, so coastlines etc. can be drawn on compute nodes&lt;br /&gt;
&lt;br /&gt;
Clef has been updated to 1.0, can now find ACCESS model CMIP6 data published by NCI&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*geopy: Locate lat/lon coordinates of places &lt;br /&gt;
*ninja: mom6 build system &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.01 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.7&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*xlrd: Read excel files &lt;br /&gt;
*ants: Unified Model Ancillary tools &lt;br /&gt;
*climtas: Dask-aware Xarray timeseries processing &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
basemap has been removed as it is [https://matplotlib.org/basemap/users/intro.html#deprecation-notice no longer supported] and caused conflicts with other packages&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*addmeta &lt;br /&gt;
*[http://holoviews.org/ holoviews]: Fancy plots &lt;br /&gt;
*[https://jiffyclub.github.io/palettable/ palettable]: Matplotlib colour palettes &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*pyferret &lt;br /&gt;
*pyngl &lt;br /&gt;
*pynio &lt;br /&gt;
*xgcm &lt;br /&gt;
*xrft &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.04 (unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable Changes'''&lt;br /&gt;
&lt;br /&gt;
*arccssive has been renamed to clef &lt;br /&gt;
*A bug preventing Iris from opening UM files without a date has been fixed &lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/kwgoodman/bottleneck bottleneck] Fast rolling operations &lt;br /&gt;
*[https://github.com/ecmwf/cfgrib cfgrib] CF metadata for GRIB files &lt;br /&gt;
*[https://github.com/SciTools/cf-units cfunits] Convert between CF units &lt;br /&gt;
*[https://github.com/shoyer/h5netcdf h5netcdf] Pythonic interface to netCDF4 via h5py &lt;br /&gt;
*[https://github.com/intake/intake intake] Lightweight data catalogues &lt;br /&gt;
*[https://gitlab.com/remikz/nccmp/ nccmp] Compare netcdf files &lt;br /&gt;
*[https://github.com/pydata/sparse sparse] Sparse multi-dimensional arrays &lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]] [[Category:Python]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3467</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3467"/>
		<updated>2022-04-12T01:24:44Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Updated conda versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Conda Python Environments ==&lt;br /&gt;
&lt;br /&gt;
CMS maintain an Anaconda Python environment at NCI, with a wide variety of climate and weather related libraries.&lt;br /&gt;
&lt;br /&gt;
You can find the most recent list of libraries at our [https://github.com/coecms/conda-envs/blob/analysis3/environment.yml github repository], or run &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; with an environment loaded.&lt;br /&gt;
&lt;br /&gt;
To use any of the conda environments:&lt;br /&gt;
&lt;br /&gt;
#Request access to [https://my.nci.org.au/mancini/project/hh5 hh5] (to do once) &lt;br /&gt;
#You must first run (to do at each session, a qsub job is a new session) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module use /g/data/hh5/public/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely put this in your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; file. It can go in the &amp;lt;code&amp;gt;if in_interactive_shell; then&amp;lt;/code&amp;gt; section of the file.&lt;br /&gt;
&lt;br /&gt;
If you need to use the conda environment in a PBS job you will need to add the hh5 project to your storage flags, e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;#PBS -l storage=gdata/hh5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these &amp;lt;code&amp;gt;&amp;lt;tt&amp;gt;conda&amp;lt;/tt&amp;gt;&amp;lt;/code&amp;gt; environments will work on gadi login and compute nodes, and in the OOD cloud environment. They '''do not work '''on &amp;lt;code&amp;gt;accessdev&amp;lt;/code&amp;gt;, as this has a very old system version that is no longer compatible.&lt;br /&gt;
&lt;br /&gt;
=== Stable Environment ===&lt;br /&gt;
&lt;br /&gt;
We update the stable environment once a quarter, around when NCI do their quarterly maintenance of Gadi. Otherwise everything in the environment stays fixed, we don't update packages or install new packages unless something is very broken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unstable Environment ===&lt;br /&gt;
&lt;br /&gt;
The unstable environment gets updated more often, as we install new packages or apply updates to existing ones. If you ask for a new package it will be installed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3-unstable&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we do our quarterly update the unstable environment becomes the new stable environment.&lt;br /&gt;
&lt;br /&gt;
=== Removed Environments ===&lt;br /&gt;
&lt;br /&gt;
Normally after three quarters have passed old environments are removed, to reduce disk space and support burden. Conda environment.yml descriptions of past environments are available at [https://github.com/coecms/conda-history https://github.com/coecms/conda-history].&lt;br /&gt;
&lt;br /&gt;
== Creating personal environments ==&lt;br /&gt;
&lt;br /&gt;
You can create your own environment if needed, but please be cautious of both the size on disk and number of files that Conda environments can create. Make a file &amp;lt;code&amp;gt;~/.condarc&amp;lt;/code&amp;gt; like:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;&lt;br /&gt;
auto_activate_base: false&lt;br /&gt;
envs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/envs&lt;br /&gt;
  - /g/data/hh5/public/apps/miniconda3/envs&lt;br /&gt;
pkgs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/pkgs&lt;br /&gt;
conda-build:&lt;br /&gt;
  root-dir: /scratch/$PROJECT/$USER/conda/bld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will set up Conda to create environments in /scratch, by default it puts them in your home directory which will rapidly use up your disk quota.&lt;br /&gt;
&lt;br /&gt;
To create the conda environment, load the conda module, then deactivate it with&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda deactivate&lt;br /&gt;
conda env create ...&lt;br /&gt;
conda activate ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just be aware that files on &amp;lt;code&amp;gt;scratch&amp;lt;/code&amp;gt; might be deleted if no longer used, so it might be a good idea to export the &amp;lt;code&amp;gt;environment.yaml&amp;lt;/code&amp;gt; file so that you can easily re-create the environment if that happens.&lt;br /&gt;
&lt;br /&gt;
== Interactive Analysis / Jupyter ==&lt;br /&gt;
&lt;br /&gt;
[https://jupyter.org/ Jupyter] provides a 'notebook' interface for working with Python - you can combine Python code, text, latex equations and plots in a web interface.&lt;br /&gt;
&lt;br /&gt;
The preferred method of running Jupyter at NCI is through the ''''Open on Demand' (OOD)''' service [https://ood.nci.org.au https://ood.nci.org.au]. This runs a Jupyter instance in NCI's cloud that you can access directly from your browser. To use CLEX Conda in OOD, start Jupyter with the advanced options:&lt;br /&gt;
&lt;br /&gt;
*Module Directories: /g/data/hh5/public/modules &lt;br /&gt;
*Modules: conda/analysis3 &lt;br /&gt;
&lt;br /&gt;
The Centre has developed scripts that can run Jupyter on NCI facilities - VDI or Gadi - and display the notebook interface on your local computer. These scripts are available at [https://github.com/coecms/nci_scripts https://github.com/coecms/nci_scripts], see the instructions there for usage.&lt;br /&gt;
&lt;br /&gt;
You can also run Jupyter directly on VDI, by loading the [[Conda]] environment and running 'jupyter lab'.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the Jupyter scripts must be run through a Bash terminal (From WSL or Cygwin).&lt;br /&gt;
&lt;br /&gt;
== Requesting new packages ==&lt;br /&gt;
&lt;br /&gt;
You can ask for a new package to be installed or for an existing package to be updated by emailing [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Please include a link to the package documentation to your request.&lt;br /&gt;
&lt;br /&gt;
It would be appreciated if you can check the package isn't already installed before putting in a request. To do so, please load the unstable environment and use &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; to list the packages included in that environment&lt;br /&gt;
&lt;br /&gt;
As a general rule we will only install packages from the [https://conda-forge.org/feedstocks/ 'conda-forge'] channel. Newly installed packages will be available in the conda/analysis3-unstable environment.&lt;br /&gt;
&lt;br /&gt;
== Update History ==&lt;br /&gt;
&lt;br /&gt;
=== 22.01 (Current Stable) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://pygam.readthedocs.io/en/latest/ pygam]&amp;amp;nbsp;build&amp;amp;nbsp;Generalized Additive Models in Python &lt;br /&gt;
**[https://pyspectrum.readthedocs.io/en/latest/ spectrum]&amp;amp;nbsp;tools to estimate Power Spectral Densities based on Fourier transform, parametric methods or eigenvalues analysis   &lt;br /&gt;
*'''Climate specific''' &lt;br /&gt;
**[https://xmhw.readthedocs.io/en/latest/ xmhw]&amp;amp;nbsp;xarray compatible Marine Heatwave Detection &lt;br /&gt;
**[https://argopy.readthedocs.io/en/latest/ argopy]&amp;amp;nbsp;library dedicated to&amp;amp;nbsp;[https://argopy.readthedocs.io/en/latest/what_is_argo.html#what-is-argo Argo]&amp;amp;nbsp;data access, manipulation and visualisation for standard users as well as Argo experts. &lt;br /&gt;
**[https://www.ilamb.org/doc/ ilamb]&amp;amp;nbsp;the International Land Model Benchmarking ([http://www.ilamb.org/ ILAMB]) project is a model-data intercomparison and integration project designed to improve the performance of land models   &lt;br /&gt;
*'''Developer''' &lt;br /&gt;
**'''​​​​​​​'''[https://github.com/lidatong/dataclasses-json dataclasses-json]&amp;amp;nbsp;provides&amp;amp;nbsp;a simple API for encoding and decoding&amp;amp;nbsp;[https://docs.python.org/3/library/dataclasses.html dataclasses]&amp;amp;nbsp;to and from JSON   &lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**'''​​​​​​​'''[https://pysal.org pysal]&amp;amp;nbsp;spatial analysis library for open, cross platform geospatial data science   &lt;br /&gt;
&lt;br /&gt;
=== 21.10 (Unsupported) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://github.com/josuemtzmo/xarrayMannKendall xarraymannkendall] compute linear trends over 2D and 3D arrays &lt;br /&gt;
**[https://hdbscan.readthedocs.io/en/latest/ hdbscan] tools to use unsupervised learning to find clusters, or dense regions, of a dataset   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://github.com/jannikmi/timezonefinder timezonefinder] looking up the corresponding timezone for given coordinates on earth entirely offline &lt;br /&gt;
**[https://iris-grib.readthedocs.io/en/stable/ iris-grib] converting between weather and climate datasets that are stored as GRIB files and Iris cubes &lt;br /&gt;
**[https://github.com/NCAR/intake-thredds intake-thredds] Intake interface to THREDDS data catalogs   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://lftp.yar.ru/ lftp] sophisticated file transfer program supporting a number of network protocols &lt;br /&gt;
**[https://github.com/gorakhargosh/watchdog watchdog] monitor file system events &lt;br /&gt;
**[https://github.com/ml31415/numpy-groupies numpy_groupies] Optimised tools for group-indexing operations: aggregated sum and more &lt;br /&gt;
**[https://anytree.readthedocs.io/en/latest/ anytree] Simple, lightweight and extensible Tree data structure &lt;br /&gt;
**[https://github.com/hansec/fortran-language-server fortran-language-server] Fortran implementation of the Language Server Protocol &lt;br /&gt;
**[https://jupyterbook.org/intro.html jupyter-book] building beautiful, publication-quality books and documents from computational material &lt;br /&gt;
**[https://github.com/fsspec/kerchunk kerchunk] Cloud-friendly access to archival data &lt;br /&gt;
**[https://github.com/ultrajson/ultrajson ujson] ultra fast JSON encoder and decoder   &lt;br /&gt;
&lt;br /&gt;
'''Known Issues'''&lt;br /&gt;
&lt;br /&gt;
*MetPy is incompatible with the Matplotlib version in this environment [https://github.com/Unidata/MetPy/issues/2281 https://github.com/Unidata/MetPy/issues/2281] &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.07&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to version 3.9. See what's new at [https://docs.python.org/3/whatsnew/3.9.html https://docs.python.org/3/whatsnew/3.9.html]&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.tensorflow.org/ tensorflow] TensorFlow is an end-to-end open source platform for machine learning &lt;br /&gt;
***Note: You may need to load the NCI modules 'cuda' and 'cudnn' to use tensorflow on GPU nodes   &lt;br /&gt;
**[https://shap.readthedocs.io/en/latest/index.html shap] a game theoretic approach to explain the output of any machine learning model   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://gcm-filters.readthedocs.io/en/latest/ gcm_filters] Diffusion-based Spatial Filtering of Gridded Data from General Circulation Models   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://docs.enthought.com/mayavi/mayavi/ mayavi] 3D scientific data visualization and plotting in Python   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://github.com/danielwhatmuff/gh gh] a tool to open Github projects in a browser from the command line   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.04&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Conda has dropped support for the old operating system version used on the Accessdev VM. It is likely that future versions of analysis3 after 21.04 will not work on Accessdev, consider setting up tasks to run on Gadi if they require the Conda environment.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.cvxpy.org/ cvxpy] modeling language for convex optimization problems &lt;br /&gt;
**[https://xgboost.readthedocs.io/en/latest/index.html dask-xgboost] optimized distributed gradient boosting library &lt;br /&gt;
**[https://github.com/mmhs013/pymannkendall pymannkendall] analyze time series data for consistently increasing or decreasing trends   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://xarray-spatial.org/ xarray-spatial] common raster analysis functions   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://github.com/jbusecke/xmovie xmovie] simple way of creating beautiful movies from xarray objects   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://www.atlassian.com/git/tutorials/git-subtree git-subtree] subtree extension for Git &lt;br /&gt;
**[https://rechunker.readthedocs.io/en/latest/ rechunker] efficient and scalable manipulation of the chunk structure of chunked array formats such as Zarr and TileDB &lt;br /&gt;
**[https://github.com/spyder-ide/spyder-kernels spyder-kernels] allow conda environment to work with [https://www.spyder-ide.org/ Spyder IDE] &lt;br /&gt;
**[https://github.com/rasbt/watermark watermark] IPython magic extension for printing date and time stamps, version numbers, and hardware information   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.01&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The conda environment now uses a conda provided OpenMPI, rather than Gadi's OpenMPI module. This impacts users of mpi4py, esmf, esmpy and xesmf&lt;br /&gt;
&lt;br /&gt;
era5grib, the tool for converting NCI's ERA5 archive to GRIB format for use in UM/WRF limited area runs, now uses the NCI managed ERA5 archive in projects [https://opus.nci.org.au/display/ERA5/ERA5+Community+Home rt52 and zz93]. The new archive has global coverage, allowing limited area models to be run anywhere on the globe. The previously used CLEX archive will be removed on the 28th April to free up disk space, until this happens previous behavior can be accessed using the flag '--source CLEX'.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics''' &lt;br /&gt;
**[https://ml.dask.org/index.html dask-ml] Scalable machine learning &lt;br /&gt;
**[https://geostat-framework.readthedocs.io/projects/pykrige/en/stable/ pykrige] Gaussian process regression toolkit &lt;br /&gt;
**[https://nctoolkit.readthedocs.io/en/latest/ nctoolkit] Toolkit for analysing NetCDF data   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[http://xarray-spatial.org/ xarray-spatial] Raster-based spatial analysis &lt;br /&gt;
**[https://pypi.org/project/Fiona/ fiona] GDAL vector API for Python   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://residentmario.github.io/geoplot/index.html geoplot] Geospatial data visualisation &lt;br /&gt;
**[https://python-visualization.github.io/folium/ folium] Leaflet webpage map manipulation &lt;br /&gt;
**[https://github.com/jwass/mplleaflet mplleaflet] Use matplotlib on Leaflet webpage maps   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://mamba.readthedocs.io/en/latest/ mamba] Faster conda environment setup &lt;br /&gt;
**[https://github.com/psf/black black] Python code formatter &lt;br /&gt;
**[https://intake-esm.readthedocs.io/en/latest/ intake-esm] Data cataloguing tool   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.8 ([https://docs.python.org/3.8/whatsnew/3.8.html changes])&lt;br /&gt;
&lt;br /&gt;
There are a small number of packages in analysis3-20.07 that are not compatible with 3.8, these have been disabled until we can get them working&lt;br /&gt;
&lt;br /&gt;
*pynio ([https://github.com/conda-forge/pynio-feedstock/issues/90 https://github.com/conda-forge/pynio-feedstock/issues/90]) &lt;br /&gt;
*&amp;lt;s&amp;gt;cf_units&amp;lt;/s&amp;gt; (was renamed to 'cf-units') &lt;br /&gt;
*&amp;lt;s&amp;gt;pymunge&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
*&amp;lt;s&amp;gt;ants&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/corteva/rioxarray rioxarray] geospatial xarray extension powered by rasterio &lt;br /&gt;
*[https://github.com/cupy/cupy cupy] CUDA accellerated numpy &lt;br /&gt;
*[https://github.com/jwkvam/celluloid celluloid] simplified animations with matplotlib &lt;br /&gt;
*[https://pythonhosted.org/rasterstats/ rasterstats] summarizing geospatial raster datasets based on vector geometries &lt;br /&gt;
*[https://github.com/python-windrose/windrose windrose] manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution &lt;br /&gt;
*[https://pyam-iamc.readthedocs.io/en/stable/ pyam] analysis and visualization of integrated-assessment scenarios &lt;br /&gt;
*[https://github.com/apache/arrow pyarrow] a cross-language development platform for in-memory data &lt;br /&gt;
*[https://github.com/jdowner/gist python-gist] a command line interface for working with github gists &lt;br /&gt;
*[https://sourceforge.net/projects/mcmc-jags/ jags] statistical analysis of Bayesian hierarchical models by Markov Chain Monte Carlo &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://xesmf.readthedocs.io/en/latest/ xesmf] - regrids xarray data (NOTE: uses Gadi's ESMF install, won't work on VDI) &lt;br /&gt;
*[http://sharp.weather.ou.edu/dev/ sharppy] - sounding and holograph analysis &lt;br /&gt;
*[https://earthpy.readthedocs.io/en/latest/ earthpy] - spatial raster and vector tools (e.g. rasterise shapefiles) &lt;br /&gt;
*[https://pypi.org/project/descartes/ descartes] - plot shapefiles &lt;br /&gt;
*[https://github.com/coecms/era5grib era5grib] - convert data from NCI ERA5 archive to GRIB for use in WRF/UM (beta tool) &lt;br /&gt;
*[https://xmitgcm.readthedocs.io xmitgcm] - read mitgcm binary output &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.04 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Cartopy NaturalEarth source data has been centrally installed, so coastlines etc. can be drawn on compute nodes&lt;br /&gt;
&lt;br /&gt;
Clef has been updated to 1.0, can now find ACCESS model CMIP6 data published by NCI&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*geopy: Locate lat/lon coordinates of places &lt;br /&gt;
*ninja: mom6 build system &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.01 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.7&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*xlrd: Read excel files &lt;br /&gt;
*ants: Unified Model Ancillary tools &lt;br /&gt;
*climtas: Dask-aware Xarray timeseries processing &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
basemap has been removed as it is [https://matplotlib.org/basemap/users/intro.html#deprecation-notice no longer supported] and caused conflicts with other packages&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*addmeta &lt;br /&gt;
*[http://holoviews.org/ holoviews]: Fancy plots &lt;br /&gt;
*[https://jiffyclub.github.io/palettable/ palettable]: Matplotlib colour palettes &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*pyferret &lt;br /&gt;
*pyngl &lt;br /&gt;
*pynio &lt;br /&gt;
*xgcm &lt;br /&gt;
*xrft &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.04 (unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable Changes'''&lt;br /&gt;
&lt;br /&gt;
*arccssive has been renamed to clef &lt;br /&gt;
*A bug preventing Iris from opening UM files without a date has been fixed &lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/kwgoodman/bottleneck bottleneck] Fast rolling operations &lt;br /&gt;
*[https://github.com/ecmwf/cfgrib cfgrib] CF metadata for GRIB files &lt;br /&gt;
*[https://github.com/SciTools/cf-units cfunits] Convert between CF units &lt;br /&gt;
*[https://github.com/shoyer/h5netcdf h5netcdf] Pythonic interface to netCDF4 via h5py &lt;br /&gt;
*[https://github.com/intake/intake intake] Lightweight data catalogues &lt;br /&gt;
*[https://gitlab.com/remikz/nccmp/ nccmp] Compare netcdf files &lt;br /&gt;
*[https://github.com/pydata/sparse sparse] Sparse multi-dimensional arrays &lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]] [[Category:Python]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3461</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3461"/>
		<updated>2022-04-04T01:58:32Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Updated packages in 22.01&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Conda Python Environments ==&lt;br /&gt;
&lt;br /&gt;
CMS maintain an Anaconda Python environment at NCI, with a wide variety of climate and weather related libraries.&lt;br /&gt;
&lt;br /&gt;
You can find the most recent list of libraries at our [https://github.com/coecms/conda-envs/blob/analysis3/environment.yml github repository], or run &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; with an environment loaded.&lt;br /&gt;
&lt;br /&gt;
To use any of the conda environments:&lt;br /&gt;
&lt;br /&gt;
#Request access to [https://my.nci.org.au/mancini/project/hh5 hh5] (to do once) &lt;br /&gt;
#You must first run (to do at each session, a qsub job is a new session) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module use /g/data/hh5/public/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely put this in your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; file. It can go in the &amp;lt;code&amp;gt;if in_interactive_shell; then&amp;lt;/code&amp;gt; section of the file.&lt;br /&gt;
&lt;br /&gt;
If you need to use the conda environment in a PBS job you will need to add the hh5 project to your storage flags, e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;#PBS -l storage=gdata/hh5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these &amp;lt;code&amp;gt;&amp;lt;tt&amp;gt;conda&amp;lt;/tt&amp;gt;&amp;lt;/code&amp;gt; environments will work on gadi login and compute nodes, and in the OOD cloud environment. They '''do not work '''on &amp;lt;code&amp;gt;accessdev&amp;lt;/code&amp;gt;, as this has a very old system version that is no longer compatible.&lt;br /&gt;
&lt;br /&gt;
=== Stable Environment ===&lt;br /&gt;
&lt;br /&gt;
We update the stable environment once a quarter, around when NCI do their quarterly maintenance of Gadi. Otherwise everything in the environment stays fixed, we don't update packages or install new packages unless something is very broken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unstable Environment ===&lt;br /&gt;
&lt;br /&gt;
The unstable environment gets updated more often, as we install new packages or apply updates to existing ones. If you ask for a new package it will be installed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3-unstable&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we do our quarterly update the unstable environment becomes the new stable environment.&lt;br /&gt;
&lt;br /&gt;
=== Removed Environments ===&lt;br /&gt;
&lt;br /&gt;
Normally after three quarters have passed old environments are removed, to reduce disk space and support burden. Conda environment.yml descriptions of past environments are available at [https://github.com/coecms/conda-history https://github.com/coecms/conda-history].&lt;br /&gt;
&lt;br /&gt;
== Creating personal environments ==&lt;br /&gt;
&lt;br /&gt;
You can create your own environment if needed, but please be cautious of both the size on disk and number of files that Conda environments can create. Make a file &amp;lt;code&amp;gt;~/.condarc&amp;lt;/code&amp;gt; like:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;&lt;br /&gt;
auto_activate_base: false&lt;br /&gt;
envs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/envs&lt;br /&gt;
  - /g/data/hh5/public/apps/miniconda3/envs&lt;br /&gt;
pkgs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/pkgs&lt;br /&gt;
conda-build:&lt;br /&gt;
  root-dir: /scratch/$PROJECT/$USER/conda/bld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will set up Conda to create environments in /scratch, by default it puts them in your home directory which will rapidly use up your disk quota.&lt;br /&gt;
&lt;br /&gt;
To create the conda environment, load the conda module, then deactivate it with&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conda deactivate&lt;br /&gt;
conda env create ...&lt;br /&gt;
conda activate ...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just be aware that files on &amp;lt;code&amp;gt;scratch&amp;lt;/code&amp;gt; might be deleted if no longer used, so it might be a good idea to export the &amp;lt;code&amp;gt;environment.yaml&amp;lt;/code&amp;gt; file so that you can easily re-create the environment if that happens.&lt;br /&gt;
&lt;br /&gt;
== Interactive Analysis / Jupyter ==&lt;br /&gt;
&lt;br /&gt;
[https://jupyter.org/ Jupyter] provides a 'notebook' interface for working with Python - you can combine Python code, text, latex equations and plots in a web interface.&lt;br /&gt;
&lt;br /&gt;
The preferred method of running Jupyter at NCI is through the ''''Open on Demand' (OOD)''' service [https://ood.nci.org.au https://ood.nci.org.au]. This runs a Jupyter instance in NCI's cloud that you can access directly from your browser. To use CLEX Conda in OOD, start Jupyter with the advanced options:&lt;br /&gt;
&lt;br /&gt;
*Module Directories: /g/data/hh5/public/modules &lt;br /&gt;
*Modules: conda/analysis3 &lt;br /&gt;
&lt;br /&gt;
The Centre has developed scripts that can run Jupyter on NCI facilities - VDI or Gadi - and display the notebook interface on your local computer. These scripts are available at [https://github.com/coecms/nci_scripts https://github.com/coecms/nci_scripts], see the instructions there for usage.&lt;br /&gt;
&lt;br /&gt;
You can also run Jupyter directly on VDI, by loading the [[Conda]] environment and running 'jupyter lab'.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the Jupyter scripts must be run through a Bash terminal (From WSL or Cygwin).&lt;br /&gt;
&lt;br /&gt;
== Requesting new packages ==&lt;br /&gt;
&lt;br /&gt;
You can ask for a new package to be installed or for an existing package to be updated by emailing [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Please include a link to the package documentation to your request.&lt;br /&gt;
&lt;br /&gt;
It would be appreciated if you can check the package isn't already installed before putting in a request. To do so, please load the unstable environment and use &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; to list the packages included in that environment&lt;br /&gt;
&lt;br /&gt;
As a general rule we will only install packages from the [https://conda-forge.org/feedstocks/ 'conda-forge'] channel. Newly installed packages will be available in the conda/analysis3-unstable environment.&lt;br /&gt;
&lt;br /&gt;
== Update History ==&lt;br /&gt;
&lt;br /&gt;
=== 22.01 (Current Unstable) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://pygam.readthedocs.io/en/latest/ pygam]&amp;amp;nbsp;build&amp;amp;nbsp;Generalized Additive Models in Python &lt;br /&gt;
**[https://pyspectrum.readthedocs.io/en/latest/ spectrum]&amp;amp;nbsp;tools to estimate Power Spectral Densities based on Fourier transform, parametric methods or eigenvalues analysis   &lt;br /&gt;
*'''Climate specific''' &lt;br /&gt;
**'''​​​​​​​'''[https://xmhw.readthedocs.io/en/latest/ xmhw]&amp;amp;nbsp;xarray compatible Marine Heatwave Detection &lt;br /&gt;
**[https://argopy.readthedocs.io/en/latest/ argopy]&amp;amp;nbsp;library dedicated to&amp;amp;nbsp;[https://argopy.readthedocs.io/en/latest/what_is_argo.html#what-is-argo Argo]&amp;amp;nbsp;data access, manipulation and visualisation for standard users as well as Argo experts. &lt;br /&gt;
**[https://www.ilamb.org/doc/ ilamb]&amp;amp;nbsp;the International Land Model Benchmarking ([http://www.ilamb.org/ ILAMB]) project is a model-data intercomparison and integration project designed to improve the performance of land models   &lt;br /&gt;
*'''Developer''' &lt;br /&gt;
**'''​​​​​​​'''[https://github.com/lidatong/dataclasses-json dataclasses-json]&amp;amp;nbsp;provides&amp;amp;nbsp;a simple API for encoding and decoding&amp;amp;nbsp;[https://docs.python.org/3/library/dataclasses.html dataclasses]&amp;amp;nbsp;to and from JSON   &lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**'''​​​​​​​'''[https://pysal.org pysal]&amp;amp;nbsp;spatial analysis library for open, cross platform geospatial data science   &lt;br /&gt;
&lt;br /&gt;
=== 21.10 (Current Stable) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://github.com/josuemtzmo/xarrayMannKendall xarraymannkendall] compute linear trends over 2D and 3D arrays &lt;br /&gt;
**[https://hdbscan.readthedocs.io/en/latest/ hdbscan] tools to use unsupervised learning to find clusters, or dense regions, of a dataset   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://github.com/jannikmi/timezonefinder timezonefinder] looking up the corresponding timezone for given coordinates on earth entirely offline &lt;br /&gt;
**[https://iris-grib.readthedocs.io/en/stable/ iris-grib] converting between weather and climate datasets that are stored as GRIB files and Iris cubes &lt;br /&gt;
**[https://github.com/NCAR/intake-thredds intake-thredds] Intake interface to THREDDS data catalogs   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://lftp.yar.ru/ lftp] sophisticated file transfer program supporting a number of network protocols &lt;br /&gt;
**[https://github.com/gorakhargosh/watchdog watchdog] monitor file system events &lt;br /&gt;
**[https://github.com/ml31415/numpy-groupies numpy_groupies] Optimised tools for group-indexing operations: aggregated sum and more &lt;br /&gt;
**[https://anytree.readthedocs.io/en/latest/ anytree] Simple, lightweight and extensible Tree data structure &lt;br /&gt;
**[https://github.com/hansec/fortran-language-server fortran-language-server] Fortran implementation of the Language Server Protocol &lt;br /&gt;
**[https://jupyterbook.org/intro.html jupyter-book] building beautiful, publication-quality books and documents from computational material &lt;br /&gt;
**[https://github.com/fsspec/kerchunk kerchunk] Cloud-friendly access to archival data &lt;br /&gt;
**[https://github.com/ultrajson/ultrajson ujson] ultra fast JSON encoder and decoder   &lt;br /&gt;
&lt;br /&gt;
'''Known Issues'''&lt;br /&gt;
&lt;br /&gt;
*MetPy is incompatible with the Matplotlib version in this environment [https://github.com/Unidata/MetPy/issues/2281 https://github.com/Unidata/MetPy/issues/2281] &lt;br /&gt;
&lt;br /&gt;
=== 21.07 (Unsupported) ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to version 3.9. See what's new at [https://docs.python.org/3/whatsnew/3.9.html https://docs.python.org/3/whatsnew/3.9.html]&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.tensorflow.org/ tensorflow] TensorFlow is an end-to-end open source platform for machine learning &lt;br /&gt;
***Note: You may need to load the NCI modules 'cuda' and 'cudnn' to use tensorflow on GPU nodes   &lt;br /&gt;
**[https://shap.readthedocs.io/en/latest/index.html shap] a game theoretic approach to explain the output of any machine learning model   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://gcm-filters.readthedocs.io/en/latest/ gcm_filters] Diffusion-based Spatial Filtering of Gridded Data from General Circulation Models   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://docs.enthought.com/mayavi/mayavi/ mayavi] 3D scientific data visualization and plotting in Python   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://github.com/danielwhatmuff/gh gh] a tool to open Github projects in a browser from the command line   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.04&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Conda has dropped support for the old operating system version used on the Accessdev VM. It is likely that future versions of analysis3 after 21.04 will not work on Accessdev, consider setting up tasks to run on Gadi if they require the Conda environment.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics/ML''' &lt;br /&gt;
**[https://www.cvxpy.org/ cvxpy] modeling language for convex optimization problems &lt;br /&gt;
**[https://xgboost.readthedocs.io/en/latest/index.html dask-xgboost] optimized distributed gradient boosting library &lt;br /&gt;
**[https://github.com/mmhs013/pymannkendall pymannkendall] analyze time series data for consistently increasing or decreasing trends   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[https://xarray-spatial.org/ xarray-spatial] common raster analysis functions   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://github.com/jbusecke/xmovie xmovie] simple way of creating beautiful movies from xarray objects   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://www.atlassian.com/git/tutorials/git-subtree git-subtree] subtree extension for Git &lt;br /&gt;
**[https://rechunker.readthedocs.io/en/latest/ rechunker] efficient and scalable manipulation of the chunk structure of chunked array formats such as Zarr and TileDB &lt;br /&gt;
**[https://github.com/spyder-ide/spyder-kernels spyder-kernels] allow conda environment to work with [https://www.spyder-ide.org/ Spyder IDE] &lt;br /&gt;
**[https://github.com/rasbt/watermark watermark] IPython magic extension for printing date and time stamps, version numbers, and hardware information   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.01&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The conda environment now uses a conda provided OpenMPI, rather than Gadi's OpenMPI module. This impacts users of mpi4py, esmf, esmpy and xesmf&lt;br /&gt;
&lt;br /&gt;
era5grib, the tool for converting NCI's ERA5 archive to GRIB format for use in UM/WRF limited area runs, now uses the NCI managed ERA5 archive in projects [https://opus.nci.org.au/display/ERA5/ERA5+Community+Home rt52 and zz93]. The new archive has global coverage, allowing limited area models to be run anywhere on the globe. The previously used CLEX archive will be removed on the 28th April to free up disk space, until this happens previous behavior can be accessed using the flag '--source CLEX'.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*'''Statistics''' &lt;br /&gt;
**[https://ml.dask.org/index.html dask-ml] Scalable machine learning &lt;br /&gt;
**[https://geostat-framework.readthedocs.io/projects/pykrige/en/stable/ pykrige] Gaussian process regression toolkit &lt;br /&gt;
**[https://nctoolkit.readthedocs.io/en/latest/ nctoolkit] Toolkit for analysing NetCDF data   &lt;br /&gt;
&lt;br /&gt;
*'''Geospatial''' &lt;br /&gt;
**[http://xarray-spatial.org/ xarray-spatial] Raster-based spatial analysis &lt;br /&gt;
**[https://pypi.org/project/Fiona/ fiona] GDAL vector API for Python   &lt;br /&gt;
&lt;br /&gt;
*'''Visualisation''' &lt;br /&gt;
**[https://residentmario.github.io/geoplot/index.html geoplot] Geospatial data visualisation &lt;br /&gt;
**[https://python-visualization.github.io/folium/ folium] Leaflet webpage map manipulation &lt;br /&gt;
**[https://github.com/jwass/mplleaflet mplleaflet] Use matplotlib on Leaflet webpage maps   &lt;br /&gt;
&lt;br /&gt;
*'''Developer Tools''' &lt;br /&gt;
**[https://mamba.readthedocs.io/en/latest/ mamba] Faster conda environment setup &lt;br /&gt;
**[https://github.com/psf/black black] Python code formatter &lt;br /&gt;
**[https://intake-esm.readthedocs.io/en/latest/ intake-esm] Data cataloguing tool   &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.8 ([https://docs.python.org/3.8/whatsnew/3.8.html changes])&lt;br /&gt;
&lt;br /&gt;
There are a small number of packages in analysis3-20.07 that are not compatible with 3.8, these have been disabled until we can get them working&lt;br /&gt;
&lt;br /&gt;
*pynio ([https://github.com/conda-forge/pynio-feedstock/issues/90 https://github.com/conda-forge/pynio-feedstock/issues/90]) &lt;br /&gt;
*&amp;lt;s&amp;gt;cf_units&amp;lt;/s&amp;gt; (was renamed to 'cf-units') &lt;br /&gt;
*&amp;lt;s&amp;gt;pymunge&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
*&amp;lt;s&amp;gt;ants&amp;lt;/s&amp;gt; (fixed) &lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/corteva/rioxarray rioxarray] geospatial xarray extension powered by rasterio &lt;br /&gt;
*[https://github.com/cupy/cupy cupy] CUDA accellerated numpy &lt;br /&gt;
*[https://github.com/jwkvam/celluloid celluloid] simplified animations with matplotlib &lt;br /&gt;
*[https://pythonhosted.org/rasterstats/ rasterstats] summarizing geospatial raster datasets based on vector geometries &lt;br /&gt;
*[https://github.com/python-windrose/windrose windrose] manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution &lt;br /&gt;
*[https://pyam-iamc.readthedocs.io/en/stable/ pyam] analysis and visualization of integrated-assessment scenarios &lt;br /&gt;
*[https://github.com/apache/arrow pyarrow] a cross-language development platform for in-memory data &lt;br /&gt;
*[https://github.com/jdowner/gist python-gist] a command line interface for working with github gists &lt;br /&gt;
*[https://sourceforge.net/projects/mcmc-jags/ jags] statistical analysis of Bayesian hierarchical models by Markov Chain Monte Carlo &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://xesmf.readthedocs.io/en/latest/ xesmf] - regrids xarray data (NOTE: uses Gadi's ESMF install, won't work on VDI) &lt;br /&gt;
*[http://sharp.weather.ou.edu/dev/ sharppy] - sounding and holograph analysis &lt;br /&gt;
*[https://earthpy.readthedocs.io/en/latest/ earthpy] - spatial raster and vector tools (e.g. rasterise shapefiles) &lt;br /&gt;
*[https://pypi.org/project/descartes/ descartes] - plot shapefiles &lt;br /&gt;
*[https://github.com/coecms/era5grib era5grib] - convert data from NCI ERA5 archive to GRIB for use in WRF/UM (beta tool) &lt;br /&gt;
*[https://xmitgcm.readthedocs.io xmitgcm] - read mitgcm binary output &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.04 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Cartopy NaturalEarth source data has been centrally installed, so coastlines etc. can be drawn on compute nodes&lt;br /&gt;
&lt;br /&gt;
Clef has been updated to 1.0, can now find ACCESS model CMIP6 data published by NCI&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*geopy: Locate lat/lon coordinates of places &lt;br /&gt;
*ninja: mom6 build system &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.01 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.7&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*xlrd: Read excel files &lt;br /&gt;
*ants: Unified Model Ancillary tools &lt;br /&gt;
*climtas: Dask-aware Xarray timeseries processing &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
basemap has been removed as it is [https://matplotlib.org/basemap/users/intro.html#deprecation-notice no longer supported] and caused conflicts with other packages&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*addmeta &lt;br /&gt;
*[http://holoviews.org/ holoviews]: Fancy plots &lt;br /&gt;
*[https://jiffyclub.github.io/palettable/ palettable]: Matplotlib colour palettes &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*pyferret &lt;br /&gt;
*pyngl &lt;br /&gt;
*pynio &lt;br /&gt;
*xgcm &lt;br /&gt;
*xrft &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.04 (unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable Changes'''&lt;br /&gt;
&lt;br /&gt;
*arccssive has been renamed to clef &lt;br /&gt;
*A bug preventing Iris from opening UM files without a date has been fixed &lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/kwgoodman/bottleneck bottleneck] Fast rolling operations &lt;br /&gt;
*[https://github.com/ecmwf/cfgrib cfgrib] CF metadata for GRIB files &lt;br /&gt;
*[https://github.com/SciTools/cf-units cfunits] Convert between CF units &lt;br /&gt;
*[https://github.com/shoyer/h5netcdf h5netcdf] Pythonic interface to netCDF4 via h5py &lt;br /&gt;
*[https://github.com/intake/intake intake] Lightweight data catalogues &lt;br /&gt;
*[https://gitlab.com/remikz/nccmp/ nccmp] Compare netcdf files &lt;br /&gt;
*[https://github.com/pydata/sparse sparse] Sparse multi-dimensional arrays &lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]] [[Category:Python]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3454</id>
		<title>Conda</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Conda&amp;diff=3454"/>
		<updated>2022-03-02T06:15:43Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Add note that conda envs don't work on accessdev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Conda Python Environments ==&lt;br /&gt;
&lt;br /&gt;
CMS maintain an Anaconda Python environment at NCI, with a wide variety of climate and weather related libraries.&lt;br /&gt;
&lt;br /&gt;
You can find the most recent list of libraries at our [https://github.com/coecms/conda-envs/blob/analysis3/environment.yml github repository], or run &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; with an environment loaded.&lt;br /&gt;
&lt;br /&gt;
To use any of the conda environments:&lt;br /&gt;
&lt;br /&gt;
#Request access to [https://my.nci.org.au/mancini/project/hh5 hh5] (to do once) &lt;br /&gt;
#You must first run (to do at each session, a qsub job is a new session) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module use /g/data/hh5/public/modules&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can safely put this in your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; file. It can go in the &amp;lt;code&amp;gt;if in_interactive_shell; then&amp;lt;/code&amp;gt; section of the file.&lt;br /&gt;
&lt;br /&gt;
If you need to use the conda environment in a PBS job you will need to add the hh5 project to your storage flags, e.g.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;#PBS -l storage=gdata/hh5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that these &amp;lt;code&amp;gt;&amp;lt;tt&amp;gt;conda&amp;lt;/tt&amp;gt;&amp;lt;/code&amp;gt; environments will work on gadi login and compute nodes, and in the OOD cloud environment. They '''do not work '''on &amp;lt;code&amp;gt;accessdev&amp;lt;/code&amp;gt;, as this has a very old system version that is no longer compatible.&lt;br /&gt;
&lt;br /&gt;
=== Stable Environment ===&lt;br /&gt;
&lt;br /&gt;
We update the stable environment once a quarter, around when NCI do their quarterly maintenance of Gadi. Otherwise everything in the environment stays fixed, we don't update packages or install new packages unless something is very broken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unstable Environment ===&lt;br /&gt;
&lt;br /&gt;
The unstable environment gets updated more often, as we install new packages or apply updates to existing ones. If you ask for a new package it will be installed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;module load conda/analysis3-unstable&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When we do our quarterly update the unstable environment becomes the new stable environment.&lt;br /&gt;
&lt;br /&gt;
=== Removed Environments ===&lt;br /&gt;
&lt;br /&gt;
Normally after three quarters have passed old environments are removed, to reduce disk space and support burden. Conda environment.yml descriptions of past environments are available at [https://github.com/coecms/conda-history https://github.com/coecms/conda-history].&lt;br /&gt;
&lt;br /&gt;
== Creating personal environments ==&lt;br /&gt;
&lt;br /&gt;
You can create your own environment if needed, but please be cautious of both the size on disk and number of files that Conda environments can create. Make a file &amp;lt;code&amp;gt;~/.condarc&amp;lt;/code&amp;gt; like:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;none&amp;quot;&amp;gt;&lt;br /&gt;
auto_activate_base: false&lt;br /&gt;
envs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/envs&lt;br /&gt;
  - /g/data/hh5/public/apps/miniconda3/envs&lt;br /&gt;
pkgs_dirs:&lt;br /&gt;
  - /scratch/$PROJECT/$USER/conda/pkgs&lt;br /&gt;
conda-build:&lt;br /&gt;
  root-dir: /scratch/$PROJECT/$USER/conda/bld&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will set up Conda to create environments in /scratch, by default it puts them in your home directory which will rapidly use up your disk quota.&lt;br /&gt;
&lt;br /&gt;
== Interactive Analysis / Jupyter ==&lt;br /&gt;
&lt;br /&gt;
[https://jupyter.org/ Jupyter] provides a 'notebook' interface for working with Python - you can combine Python code, text, latex equations and plots in a web interface.&lt;br /&gt;
&lt;br /&gt;
The preferred method of running Jupyter at NCI is through the ''''Open on Demand' (OOD)''' service https://ood.nci.org.au. This runs a Jupyter instance in NCI's cloud that you can access directly from your browser. To use CLEX Conda in OOD, start Jupyter with the advanced options:&lt;br /&gt;
&lt;br /&gt;
* Module Directories: /g/data/hh5/public/modules&lt;br /&gt;
* Modules: conda/analysis3&lt;br /&gt;
&lt;br /&gt;
The Centre has developed scripts that can run Jupyter on NCI facilities - VDI or Gadi - and display the notebook interface on your local computer. These scripts are available at https://github.com/coecms/nci_scripts, see the instructions there for usage.&lt;br /&gt;
&lt;br /&gt;
You can also run Jupyter directly on VDI, by loading the [[Conda]] environment and running 'jupyter lab'.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the Jupyter scripts must be run through a Bash terminal (From WSL or Cygwin).&lt;br /&gt;
&lt;br /&gt;
== Requesting new packages ==&lt;br /&gt;
&lt;br /&gt;
You can ask for a new package to be installed or for an existing package to be updated by emailing [mailto:cws_help@nci.org.au cws_help@nci.org.au]. Please include a link to the package documentation to your request.&lt;br /&gt;
&lt;br /&gt;
It would be appreciated if you can check the package isn't already installed before putting in a request. To do so, please load the unstable environment and use &amp;lt;code&amp;gt;conda list&amp;lt;/code&amp;gt; to list the packages included in that environment&lt;br /&gt;
&lt;br /&gt;
As a general rule we will only install packages from the [https://conda-forge.org/feedstocks/ 'conda-forge'] channel. Newly installed packages will be available in the conda/analysis3-unstable environment.&lt;br /&gt;
&lt;br /&gt;
== Update History ==&lt;br /&gt;
&lt;br /&gt;
=== 22.01 (Current Unstable) ===&lt;br /&gt;
&lt;br /&gt;
=== 21.10 (Current Stable) ===&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
* '''Statistics/ML'''&lt;br /&gt;
** [https://github.com/josuemtzmo/xarrayMannKendall xarraymannkendall] compute linear trends over 2D and 3D arrays&lt;br /&gt;
** [https://hdbscan.readthedocs.io/en/latest/ hdbscan] tools to use unsupervised learning to find clusters, or dense regions, of a dataset&lt;br /&gt;
&lt;br /&gt;
* '''Geospatial'''&lt;br /&gt;
** [https://github.com/jannikmi/timezonefinder timezonefinder] looking up the corresponding timezone for given coordinates on earth entirely offline&lt;br /&gt;
** [https://iris-grib.readthedocs.io/en/stable/ iris-grib] converting between weather and climate datasets that are stored as GRIB files and Iris cubes&lt;br /&gt;
** [https://github.com/NCAR/intake-thredds intake-thredds] Intake interface to THREDDS data catalogs &lt;br /&gt;
&lt;br /&gt;
* '''Developer Tools'''&lt;br /&gt;
** [https://lftp.yar.ru/ lftp] sophisticated file transfer program supporting a number of network protocols&lt;br /&gt;
** [https://github.com/gorakhargosh/watchdog watchdog] monitor file system events&lt;br /&gt;
** [https://github.com/ml31415/numpy-groupies numpy_groupies] Optimised tools for group-indexing operations: aggregated sum and more &lt;br /&gt;
** [https://anytree.readthedocs.io/en/latest/ anytree] Simple, lightweight and extensible Tree data structure&lt;br /&gt;
** [https://github.com/hansec/fortran-language-server fortran-language-server] Fortran implementation of the Language Server Protocol&lt;br /&gt;
** [https://jupyterbook.org/intro.html jupyter-book] building beautiful, publication-quality books and documents from computational material&lt;br /&gt;
** [https://github.com/fsspec/kerchunk kerchunk] Cloud-friendly access to archival data&lt;br /&gt;
** [https://github.com/ultrajson/ultrajson ujson] ultra fast JSON encoder and decoder&lt;br /&gt;
&lt;br /&gt;
'''Known Issues'''&lt;br /&gt;
&lt;br /&gt;
* MetPy is incompatible with the Matplotlib version in this environment https://github.com/Unidata/MetPy/issues/2281&lt;br /&gt;
&lt;br /&gt;
=== 21.07 (Unsupported) ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to version 3.9. See what's new at https://docs.python.org/3/whatsnew/3.9.html&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
* '''Statistics/ML'''&lt;br /&gt;
** [https://www.tensorflow.org/ tensorflow] TensorFlow is an end-to-end open source platform for machine learning&lt;br /&gt;
*** Note: You may need to load the NCI modules 'cuda' and 'cudnn' to use tensorflow on GPU nodes&lt;br /&gt;
** [https://shap.readthedocs.io/en/latest/index.html shap] a game theoretic approach to explain the output of any machine learning model&lt;br /&gt;
&lt;br /&gt;
* '''Geospatial'''&lt;br /&gt;
** [https://gcm-filters.readthedocs.io/en/latest/ gcm_filters] Diffusion-based Spatial Filtering of Gridded Data from General Circulation Models&lt;br /&gt;
&lt;br /&gt;
* '''Visualisation'''&lt;br /&gt;
** [https://docs.enthought.com/mayavi/mayavi/ mayavi] 3D scientific data visualization and plotting in Python&lt;br /&gt;
&lt;br /&gt;
* '''Developer Tools'''&lt;br /&gt;
** [https://github.com/danielwhatmuff/gh gh] a tool to open Github projects in a browser from the command line&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.04&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Conda has dropped support for the old operating system version used on the Accessdev VM. It is likely that future versions of analysis3 after 21.04 will not work on Accessdev, consider setting up tasks to run on Gadi if they require the Conda environment.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
* '''Statistics/ML'''&lt;br /&gt;
** [https://www.cvxpy.org/ cvxpy] modeling language for convex optimization problems&lt;br /&gt;
** [https://xgboost.readthedocs.io/en/latest/index.html dask-xgboost] optimized distributed gradient boosting library&lt;br /&gt;
** [https://github.com/mmhs013/pymannkendall pymannkendall] analyze time series data for consistently increasing or decreasing trends&lt;br /&gt;
&lt;br /&gt;
* '''Geospatial'''&lt;br /&gt;
** [https://xarray-spatial.org/ xarray-spatial] common raster analysis functions&lt;br /&gt;
&lt;br /&gt;
* '''Visualisation'''&lt;br /&gt;
** [https://github.com/jbusecke/xmovie xmovie] simple way of creating beautiful movies from xarray objects&lt;br /&gt;
&lt;br /&gt;
* '''Developer Tools'''&lt;br /&gt;
** [https://www.atlassian.com/git/tutorials/git-subtree git-subtree] subtree extension for Git&lt;br /&gt;
** [https://rechunker.readthedocs.io/en/latest/ rechunker] efficient and scalable manipulation of the chunk structure of chunked array formats such as Zarr and TileDB&lt;br /&gt;
** [https://github.com/spyder-ide/spyder-kernels spyder-kernels] allow conda environment to work with [https://www.spyder-ide.org/ Spyder IDE]&lt;br /&gt;
** [https://github.com/rasbt/watermark watermark] IPython magic extension for printing date and time stamps, version numbers, and hardware information&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;21.01&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The conda environment now uses a conda provided OpenMPI, rather than Gadi's OpenMPI module. This impacts users of mpi4py, esmf, esmpy and xesmf&lt;br /&gt;
&lt;br /&gt;
era5grib, the tool for converting NCI's ERA5 archive to GRIB format for use in UM/WRF limited area runs, now uses the NCI managed ERA5 archive in projects [https://opus.nci.org.au/display/ERA5/ERA5+Community+Home rt52 and zz93]. The new archive has global coverage, allowing limited area models to be run anywhere on the globe. The previously used CLEX archive will be removed on the 28th April to free up disk space, until this happens previous behavior can be accessed using the flag '--source CLEX'.&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
* '''Statistics'''&lt;br /&gt;
** [https://ml.dask.org/index.html dask-ml] Scalable machine learning&lt;br /&gt;
** [https://geostat-framework.readthedocs.io/projects/pykrige/en/stable/ pykrige] Gaussian process regression toolkit&lt;br /&gt;
** [https://nctoolkit.readthedocs.io/en/latest/ nctoolkit] Toolkit for analysing NetCDF data&lt;br /&gt;
&lt;br /&gt;
* '''Geospatial'''&lt;br /&gt;
** [http://xarray-spatial.org/ xarray-spatial] Raster-based spatial analysis&lt;br /&gt;
** [https://pypi.org/project/Fiona/ fiona] GDAL vector API for Python&lt;br /&gt;
&lt;br /&gt;
* '''Visualisation'''&lt;br /&gt;
** [https://residentmario.github.io/geoplot/index.html geoplot] Geospatial data visualisation&lt;br /&gt;
** [https://python-visualization.github.io/folium/ folium] Leaflet webpage map manipulation&lt;br /&gt;
** [https://github.com/jwass/mplleaflet mplleaflet] Use matplotlib on Leaflet webpage maps&lt;br /&gt;
&lt;br /&gt;
* '''Developer Tools'''&lt;br /&gt;
** [https://mamba.readthedocs.io/en/latest/ mamba] Faster conda environment setup&lt;br /&gt;
** [https://github.com/psf/black black] Python code formatter&lt;br /&gt;
** [https://intake-esm.readthedocs.io/en/latest/ intake-esm] Data cataloguing tool&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.8 ([https://docs.python.org/3.8/whatsnew/3.8.html changes])&lt;br /&gt;
&lt;br /&gt;
There are a small number of packages in analysis3-20.07 that are not compatible with 3.8, these have been disabled until we can get them working&lt;br /&gt;
&lt;br /&gt;
*pynio (https://github.com/conda-forge/pynio-feedstock/issues/90)&lt;br /&gt;
*&amp;lt;s&amp;gt;cf_units&amp;lt;/s&amp;gt; (was renamed to 'cf-units')&lt;br /&gt;
*&amp;lt;s&amp;gt;pymunge&amp;lt;/s&amp;gt; (fixed)&lt;br /&gt;
*&amp;lt;s&amp;gt;ants&amp;lt;/s&amp;gt; (fixed)&lt;br /&gt;
&lt;br /&gt;
'''Notable new packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/corteva/rioxarray rioxarray] geospatial xarray extension powered by rasterio &lt;br /&gt;
*[https://github.com/cupy/cupy cupy] CUDA accellerated numpy&lt;br /&gt;
*[https://github.com/jwkvam/celluloid celluloid] simplified animations with matplotlib&lt;br /&gt;
* [https://pythonhosted.org/rasterstats/ rasterstats] summarizing geospatial raster datasets based on vector geometries&lt;br /&gt;
* [https://github.com/python-windrose/windrose windrose] manage wind data, draw windrose (also known as a polar rose plot), draw probability density function and fit Weibull distribution&lt;br /&gt;
* [https://pyam-iamc.readthedocs.io/en/stable/ pyam] analysis and visualization of integrated-assessment scenarios&lt;br /&gt;
* [https://github.com/apache/arrow pyarrow] a cross-language development platform for in-memory data &lt;br /&gt;
* [https://github.com/jdowner/gist python-gist] a command line interface for working with github gists&lt;br /&gt;
* [https://sourceforge.net/projects/mcmc-jags/ jags] statistical analysis of Bayesian hierarchical models by Markov Chain Monte Carlo&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://xesmf.readthedocs.io/en/latest/ xesmf] - regrids xarray data (NOTE: uses Gadi's ESMF install, won't work on VDI) &lt;br /&gt;
*[http://sharp.weather.ou.edu/dev/ sharppy] - sounding and holograph analysis &lt;br /&gt;
*[https://earthpy.readthedocs.io/en/latest/ earthpy] - spatial raster and vector tools (e.g. rasterise shapefiles) &lt;br /&gt;
*[https://pypi.org/project/descartes/ descartes] - plot shapefiles &lt;br /&gt;
*[https://github.com/coecms/era5grib era5grib] - convert data from NCI ERA5 archive to GRIB for use in WRF/UM (beta tool) &lt;br /&gt;
*[https://xmitgcm.readthedocs.io xmitgcm] - read mitgcm binary output &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.04 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Cartopy NaturalEarth source data has been centrally installed, so coastlines etc. can be drawn on compute nodes&lt;br /&gt;
&lt;br /&gt;
Clef has been updated to 1.0, can now find ACCESS model CMIP6 data published by NCI&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*geopy: Locate lat/lon coordinates of places &lt;br /&gt;
*ninja: mom6 build system &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;20.01 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Python has been updated to 3.7&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*xlrd: Read excel files &lt;br /&gt;
*ants: Unified Model Ancillary tools &lt;br /&gt;
*climtas: Dask-aware Xarray timeseries processing &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.10 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
basemap has been removed as it is [https://matplotlib.org/basemap/users/intro.html#deprecation-notice no longer supported] and caused conflicts with other packages&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*addmeta &lt;br /&gt;
*[http://holoviews.org/ holoviews]: Fancy plots &lt;br /&gt;
*[https://jiffyclub.github.io/palettable/ palettable]: Matplotlib colour palettes &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.07 (Unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*pyferret &lt;br /&gt;
*pyngl &lt;br /&gt;
*pynio &lt;br /&gt;
*xgcm &lt;br /&gt;
*xrft &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;s&amp;gt;19.04 (unsupported)&amp;lt;/s&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
'''Notable Changes'''&lt;br /&gt;
&lt;br /&gt;
*arccssive has been renamed to clef &lt;br /&gt;
*A bug preventing Iris from opening UM files without a date has been fixed &lt;br /&gt;
&lt;br /&gt;
'''Notable New Packages'''&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/kwgoodman/bottleneck bottleneck] Fast rolling operations &lt;br /&gt;
*[https://github.com/ecmwf/cfgrib cfgrib] CF metadata for GRIB files &lt;br /&gt;
*[https://github.com/SciTools/cf-units cfunits] Convert between CF units &lt;br /&gt;
*[https://github.com/shoyer/h5netcdf h5netcdf] Pythonic interface to netCDF4 via h5py &lt;br /&gt;
*[https://github.com/intake/intake intake] Lightweight data catalogues &lt;br /&gt;
*[https://gitlab.com/remikz/nccmp/ nccmp] Compare netcdf files &lt;br /&gt;
*[https://github.com/pydata/sparse sparse] Sparse multi-dimensional arrays &lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]] [[Category:Python]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_experiment_projects&amp;diff=3443</id>
		<title>Migrate experiment projects</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_experiment_projects&amp;diff=3443"/>
		<updated>2022-02-16T03:18:10Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page contains information on what to do if you want to change project to work at NCI.&lt;br /&gt;
&lt;br /&gt;
= Setting your default project =&lt;br /&gt;
&lt;br /&gt;
To change the default project that jobs get submitted to when you run 'qsub', edit the file on Gadi '~/.config/gadi-login.conf'&lt;br /&gt;
&lt;br /&gt;
If you also run models from accessdev you can change the default project on that computer by editing the file '~/.rashrc'&lt;br /&gt;
&lt;br /&gt;
In either case you will need to log out and back in again for the change to take effect&lt;br /&gt;
&lt;br /&gt;
= Climate model experiments =&lt;br /&gt;
&lt;br /&gt;
*[[Migrate_payu_experiment_project|Payu experiment]] &lt;br /&gt;
*[[Migrate_umui_experiment_project|UMUI experiment]] &lt;br /&gt;
*[[Migrate_rose_experiment_project|Rose/Cylc experiment]] &lt;br /&gt;
*[[Migrate_NUWRF_experiment_project|NUWRF experiment]] &lt;br /&gt;
&lt;br /&gt;
WRF does not have a standard experiment setup so we can't give specific instructions for this model. But the compilation script will work without modifications after the project merge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tips for other scripts =&lt;br /&gt;
&lt;br /&gt;
In your script, you may have used w35 or w48 in the following lines:&lt;br /&gt;
&lt;br /&gt;
*PBS directive -P to specify the project &lt;br /&gt;
*PBS directive -l storage to load the storage space for these projects. &lt;br /&gt;
*Full paths of input or output data &lt;br /&gt;
&lt;br /&gt;
It is difficult to give a list of specific steps that would work for anyone. Below are a few tips that might help you.&lt;br /&gt;
&lt;br /&gt;
It is important for you to make sure you know what changes you are doing, that's why we do not provide a magic &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; one-liner command to change all the project IDs in all your files at once.&lt;br /&gt;
&lt;br /&gt;
== Find files with the project listed in ==&lt;br /&gt;
&lt;br /&gt;
To find all the files that contain the mention of &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt;, you can use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;grep --exclude=*.nc -irlI w35 &amp;lt;directory_name&amp;gt; &amp;gt; files_to_update.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;samp&amp;gt;files_to_update.txt &amp;lt;/samp&amp;gt;will contain a list of files where &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt; appear in at least one line. The command will not search in binary files and netCDF files and you can exclude more files from the search (e.g. figures) with the &amp;lt;code&amp;gt;--exclude=&amp;lt;/code&amp;gt; option. Replace &amp;lt;samp&amp;gt;&amp;lt;directory_name&amp;gt;&amp;lt;/samp&amp;gt; with the directory you want to search through.&lt;br /&gt;
&lt;br /&gt;
At the opposite, if you only want to search through files with a specific extension, you could use &amp;lt;code&amp;gt;--include=GLOB&amp;lt;/code&amp;gt;. Replace &amp;lt;samp&amp;gt;GLOB&amp;lt;/samp&amp;gt; by the extension you want to search. For example the following command will search for &amp;lt;samp&amp;gt;w35&amp;lt;/samp&amp;gt; in all the Python Notebooks and only these:&lt;br /&gt;
&amp;lt;pre&amp;gt;grep --include=*.ipynb -irlI w35 &amp;lt;directory_name&amp;gt; &amp;gt; ipynb_to_update.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Backup before modifications ==&lt;br /&gt;
&lt;br /&gt;
You will want to create some sort of backup of your text&amp;amp;nbsp;files before changing them. &amp;lt;span style=&amp;quot;color:#c0392b&amp;quot;&amp;gt;DO NOT create copies. &amp;lt;/span&amp;gt;We do not have heaps of free storage around to allow for it. Our recommended method is to use Git. If your files are not under the Git version control yet, here is a simple workflow that allows to record the state of your files before change. And some tips on comparing the modified and initial versions of the files.&lt;br /&gt;
&lt;br /&gt;
Let's say, you want to change some files under a directory called &amp;lt;tt&amp;gt;my_scripts&amp;lt;/tt&amp;gt;. You will first need to create a Git repository from that directory, record the current state of your files, do the changes you want to do, test the modified files work:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Create repository. Go in your my_scripts directory&lt;br /&gt;
git init&lt;br /&gt;
&lt;br /&gt;
# Record current state&lt;br /&gt;
git add .&lt;br /&gt;
git commit -m &amp;quot;State at time of merge&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Change your files as you require, test the new files&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If something does not work, you can then use the following commands depending on what you want to do:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Difference between modified file and previous version&lt;br /&gt;
git diff &amp;lt;filename&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Re-instate the previous version and delete the modified file&lt;br /&gt;
git checkout &amp;lt;filename&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Find all and replace all ==&lt;br /&gt;
&lt;br /&gt;
All text file editors come with the ability to find all occurences of a pattern and to replace all these occurences. Make sure you know how to use this functionality, including reviewing the changes before making the change, for your favourite text editor.&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CLEX_projects_at_NCI&amp;diff=3407</id>
		<title>CLEX projects at NCI</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CLEX_projects_at_NCI&amp;diff=3407"/>
		<updated>2021-12-08T23:34:23Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The projects are:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 465px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project code&lt;br /&gt;
! style=&amp;quot;width: 214px;&amp;quot; | Research Program (RP)&lt;br /&gt;
! style=&amp;quot;width: 151px;&amp;quot; | Lead CI&lt;br /&gt;
|-&lt;br /&gt;
| [https://my.nci.org.au/mancini/project/v45 v45]&lt;br /&gt;
| style=&amp;quot;width: 214px;&amp;quot; | Ocean Extremes&lt;br /&gt;
| style=&amp;quot;width: 151px;&amp;quot; | Andy Hogg&lt;br /&gt;
|-&lt;br /&gt;
| [https://my.nci.org.au/mancini/project/w40 w40]&lt;br /&gt;
| style=&amp;quot;width: 214px;&amp;quot; | Weather and Climate interactions&lt;br /&gt;
| style=&amp;quot;width: 151px;&amp;quot; | Martin Jucker&lt;br /&gt;
|-&lt;br /&gt;
| [https://my.nci.org.au/mancini/project/w42 w42]&lt;br /&gt;
| style=&amp;quot;width: 214px;&amp;quot; | Attribution and Risk&lt;br /&gt;
| style=&amp;quot;width: 151px;&amp;quot; | Abhnil Prasad&lt;br /&gt;
|-&lt;br /&gt;
| [https://my.nci.org.au/mancini/project/w97 w97]&lt;br /&gt;
| style=&amp;quot;width: 214px;&amp;quot; | Drought&lt;br /&gt;
| style=&amp;quot;width: 151px;&amp;quot; | Jason Evans&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
w35 has been merged into w97&lt;br /&gt;
&lt;br /&gt;
w48 has been merged into w40&lt;br /&gt;
&lt;br /&gt;
Pre - 2022 project assignments:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Project code&lt;br /&gt;
! Research Program (RP)&lt;br /&gt;
! Lead CI&lt;br /&gt;
|-&lt;br /&gt;
| v45&lt;br /&gt;
| Extra-tropical variability&lt;br /&gt;
| Andy Hogg&lt;br /&gt;
|-&lt;br /&gt;
| w35&lt;br /&gt;
| Drought&lt;br /&gt;
| Claire Carouge&lt;br /&gt;
|-&lt;br /&gt;
| w40&lt;br /&gt;
| Extreme Rainfall&lt;br /&gt;
| Todd Lane&lt;br /&gt;
|-&lt;br /&gt;
| w42&lt;br /&gt;
| Extreme Rainfall&lt;br /&gt;
| Steven Sherwood&lt;br /&gt;
|-&lt;br /&gt;
| w48&lt;br /&gt;
| Tropical Variability&lt;br /&gt;
| Dietmar Dommenget&lt;br /&gt;
|-&lt;br /&gt;
| w97&lt;br /&gt;
| Heatwaves&lt;br /&gt;
| Jason Evans&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Which project to join if part of several RPs ===&lt;br /&gt;
&lt;br /&gt;
We recommend people join all relevant projects but choose one project to work from. This will help people to collaborate with researchers from all the RPs they are part of.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Setup default project on Gadi ===&lt;br /&gt;
&lt;br /&gt;
*Check your default project. Connect to Gadi. Then type: &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;echo $PROJECT&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If the output from the previous step is not what you want you can [[Gadi#Swapping_Projects|change your default project]]. &lt;br /&gt;
&lt;br /&gt;
[[Category:Admin]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3396</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3396"/>
		<updated>2021-12-06T01:13:07Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left\ hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*The CLEX slack workspace&amp;amp;nbsp;[https://arccss.slack.com arccss.slack.com] &amp;amp;nbsp; &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The slack workspace is a good way to contact other CLEX members as well as the CMS team.&amp;amp;nbsp;It is best suited to shorter less complex queries in general.&amp;amp;nbsp;There are a number of channels focussing on different topics. When asking for help it may be that someone else from the Centre will have some useful feedback. It is best not to contact team members directly: we rotate support duties to allow time for other tasks, so asking in a general channel means the team member tasked with support, or who is best placed to answer the question, can assist.&lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences. Simply outline your issue in an email and send it to&amp;amp;nbsp;[mailto:cws_help@nci.org.au cws_help@nci.org.au]&amp;amp;nbsp;which will open a help ticket on our helpdesk.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, VDI at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working at NCI was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. Tell us if you load modules in your .bashrc or .bash_profile files (unrecommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 2 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3386</id>
		<title>Getting Help</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Getting_Help&amp;diff=3386"/>
		<updated>2021-11-10T22:24:23Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Introduction =&lt;br /&gt;
&lt;br /&gt;
Part of the role of the&amp;amp;nbsp;CMS team is to support members of CLEX with computational isues such as those&amp;amp;nbsp;arising with running models, accessing data and analysing data.&lt;br /&gt;
&lt;br /&gt;
The CMS team supports a range of models (listed in the navigation bar on the left\ hand side of the page). We can provide assistance for other models, but this will be limited in scope and dependent on the availability of team resources. We also support analysis and other general computing tasks on NCI machines. We can provide general advice for activities undertaken at other sites, or on home machines, but this is necessarily limited as we have no control over, or familiarity with other systems.&lt;br /&gt;
&lt;br /&gt;
There are a number of different ways to contact the CMS team to get support:&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Climate Weather Science helpdesk [mailto:cws_help@nci.org.au cws_help@nci.org.au] &lt;br /&gt;
*The CLEX slack workspace&amp;amp;nbsp;[https://arccss.slack.com arccss.slack.com] &amp;amp;nbsp; &lt;br /&gt;
*[[One-on-one_calls|One-on-one videocall]] &lt;br /&gt;
*In person with local [[CMS|CMS team member]] &lt;br /&gt;
&lt;br /&gt;
The slack workspace is a good way to contact other CLEX members as well as the CMS team.&amp;amp;nbsp;It is best suited to shorter less complex queries in general.&amp;amp;nbsp;There are a number of channels focussing on different topics. When asking for help it may be that someone else from the Centre will have some useful feedback. It is best not to contact team members directly: we rotate support duties to allow time for other tasks, so asking in a general channel means the team member tasked with support, or who is best placed to answer the question, can assist.&lt;br /&gt;
&lt;br /&gt;
The help desk email is the preferred method for requesting help, as it allows the CMS to triage any queries to reserve time of the CMS team members for other activities. It also allows better visibility of open requests for the CMS team especially for queries that take several days to solve. We also cover for team absences.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for help requests ==&lt;br /&gt;
&lt;br /&gt;
First of all, do not apologise or belittle yourself for asking a question! We all had to start one day. We all have different backgrounds with different areas of expertise. And most of all, we are all humans! None of us will know everything, all of us will be forgetful. Asking someone else is the best way to learn what we don't know or to realise what we have forgotten.&lt;br /&gt;
&lt;br /&gt;
When seeking assistance, there are some steps that should be taken&amp;amp;nbsp;to&amp;amp;nbsp;make the most efficient use of everyone's time:&lt;br /&gt;
&lt;br /&gt;
*Include all relevant information: &lt;br /&gt;
**what machine are you running on: your machine (what OS), Gadi at NCI, VDI at NCI, accessdev at NCI or another server (give name) &lt;br /&gt;
**if working at NCI please supply your NCI user name &lt;br /&gt;
**if working at NCI was the issue in a login session or on the PBS compute nodes? &lt;br /&gt;
**upload any code to [https://gist.github.com gist.github.com] or for more complex examples [https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo create a GitHub repository]. If you cannot put the code on Github because of licensing, put it on NCI and give us the path. '''Do not send copies of your code.''' &lt;br /&gt;
**if relevant, specify the modules that were loaded, or environment variables that were set. Tell us if you load modules in your .bashrc or .bash_profile files (unrecommended practice!) &lt;br /&gt;
**if a command produces an error make sure to include the exact command run, including all arguments. The simplest is copy-paste. &lt;br /&gt;
**if a script produces an error make sure to include the exact name of the script and the exact way you execute the script. Copy-paste is the simplest here again. &lt;br /&gt;
**Add any relevant reference. It is unlikely you are referring to a paper-only resource, so include the link (or at least the URL), a quote from emails and webpage (with the address to the relevant page), forward emails, link to a paper... For example, if you say: &amp;quot;As I've seen on the wiki&amp;quot;, &amp;quot;As per the article X&amp;quot; etc. you need to put the reference.   &lt;br /&gt;
*Please check to make sure any specified directories and/or files [[Tips:_Custom_file_permissions_at_creation|have group&amp;amp;nbsp;permissions set]] such that they can be accessed. Assume we can access the shared filesystems at NCI: /scratch and /g/data for your group. If we can't, we'll tell you what to do. '''/home directories are per default personal! You will need to change permissions for us to access!''' &lt;br /&gt;
*Where appropriate, reduce your query to a minimal&amp;amp;nbsp;reproducible example (Stack Overflow has a [https://stackoverflow.com/help/minimal-reproducible-example nice description of what this means], note that the formatting requirements are redundant) &lt;br /&gt;
*Please '''do not''' send code or error messages&amp;amp;nbsp;as screenshots or poorly formatted text&amp;amp;nbsp; &lt;br /&gt;
*Please submit new help requests for substantially new queries and not just append to existing queries. This makes sure any new&amp;amp;nbsp;query is visible to all team members, and can be triaged appropriately. We also have the satisfaction of completing a task rather than have it drag on interminably. Additionally, it provides us with a more organised database of queries and solutions. &lt;br /&gt;
&lt;br /&gt;
To foster&amp;amp;nbsp;best practice software development for code housed&amp;amp;nbsp;in a GitHub repository (or similar) the following steps are preferred:&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*Create an issue in the repo for the bug/problem &lt;br /&gt;
*Add a test for the specific bug where appropriate &lt;br /&gt;
*Document solution in the issue and&amp;amp;nbsp;refer&amp;amp;nbsp;to commits/pull requests: this creates a tight link between discussion of the problem and potential solutions with the code changes made to address points raised in the discussion. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Resolve issue through a pull request mechanism. This could be done by the CMS team member helping you when appropriate. &lt;br /&gt;
*Close issue when fix has been committed &lt;br /&gt;
&lt;br /&gt;
== What can users expect ==&lt;br /&gt;
&lt;br /&gt;
Users can expect:&lt;br /&gt;
&lt;br /&gt;
*to receive a reply to a query within 2 hours during normal business hours &lt;br /&gt;
*have their problem solved if it is within scope, or a work-around suggested, and if not then an explanation of why their problem is currently not solvable &lt;br /&gt;
*where an update is required for a current ticket to&amp;amp;nbsp;wait no longer than a week during a non-holiday period &lt;br /&gt;
&lt;br /&gt;
If any of the above expectations are not being met, contact the CMS team. We are only human and sometimes might inadvertently let slip some requests.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
Blog post on [https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/ Writing the perfect question] &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_payu_experiment_project&amp;diff=3375</id>
		<title>Migrate payu experiment project</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_payu_experiment_project&amp;diff=3375"/>
		<updated>2021-10-28T01:21:58Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Instructions to migrate a [https://payu.readthedocs.io/en/latest/ payu] experiment from one project to another on [[Gadi|gadi]]. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Definitions:&lt;br /&gt;
&lt;br /&gt;
*new project: the NCI project code for the project to which the experiment has been migrated (these instructions use &amp;lt;tt&amp;gt;w40&amp;lt;/tt&amp;gt; as an example, replace &amp;lt;tt&amp;gt;w40&amp;lt;/tt&amp;gt; with the appropriate project) &lt;br /&gt;
*control directory: location where the model is run (contains&amp;amp;nbsp;&amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; file) &lt;br /&gt;
*model: the name of the model in your experiment (these instructions use &amp;lt;tt&amp;gt;access-esm&amp;lt;/tt&amp;gt; as an example, replace &amp;lt;tt&amp;gt;access-esm&amp;lt;/tt&amp;gt; with the appropriate model name) &lt;br /&gt;
*laboratory directory: location of the archive and work directories, e.g. &amp;lt;tt&amp;gt;/scratch/w40/user/access-esm&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt; is your NCI username. &lt;br /&gt;
&lt;br /&gt;
These instructions assume that the laboratory directory has already been copied from the &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory of the original project to the scratch directory of the new project.&lt;br /&gt;
&lt;br /&gt;
'''If''' the laboratory directory is at the top level of your &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory, e.g.&amp;amp;nbsp;&amp;lt;tt&amp;gt;/scratch/w40/user/access-esm:&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;Edit the &amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; in the control directory and add&amp;amp;nbsp; &lt;br /&gt;
&amp;lt;code&amp;gt;shortpath: /scratch/w40&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;if there is no shortpath option, or change it to the new project code if there is already a &amp;lt;tt&amp;gt;shortpath&amp;lt;/tt&amp;gt; option defined.&amp;lt;/div&amp;gt; &lt;br /&gt;
'''Otherwise''', if the laboratory directory is located at some sub-directory path in your&amp;amp;nbsp;&amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory:&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;Edit the &amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; in the control directory and add the full path to the model laboratory directory&amp;amp;nbsp; &lt;br /&gt;
&amp;lt;code&amp;gt;laboratory: /scratch/w40/user/subdirectorypath/access-esm&amp;lt;/code&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
if there is already a shortpath option remove it&amp;lt;/div&amp;gt; &lt;br /&gt;
Now remove the symbolic link to the archive directory in your control directory:&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;rm archive&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;(make sure to not have a trailing &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; because the operating system thinks this refers to the directory it is linking to rather than the link itself) and run&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;payu setup --archive&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
to test your paths are correct and create a new &amp;lt;tt&amp;gt;archive&amp;lt;/tt&amp;gt;. If this is successful then&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;payu sweep&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;amp;nbsp; and the model is ready to run. &amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_payu_experiment_project&amp;diff=3374</id>
		<title>Migrate payu experiment project</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_payu_experiment_project&amp;diff=3374"/>
		<updated>2021-10-28T01:04:00Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Instructions to migrate a [https://payu.readthedocs.io/en/latest/ payu] experiment from one project to another on [[Gadi|gadi]]. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Definitions:&lt;br /&gt;
&lt;br /&gt;
*new project: the NCI project code for the project to which the experiment has been migrated (these instructions use &amp;lt;tt&amp;gt;w40&amp;lt;/tt&amp;gt; as an example, replace &amp;lt;tt&amp;gt;w40&amp;lt;/tt&amp;gt; with the appropriate project) &lt;br /&gt;
*control directory: location where the model is run (contains&amp;amp;nbsp;&amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; file) &lt;br /&gt;
*model: the name of the model in your experiment (these instructions use &amp;lt;tt&amp;gt;access-esm&amp;lt;/tt&amp;gt; as an example, replace &amp;lt;tt&amp;gt;access-esm&amp;lt;/tt&amp;gt; with the appropriate model name) &lt;br /&gt;
*laboratory directory: location of the archive and work directories, e.g. &amp;lt;tt&amp;gt;/scratch/w40/user/access-esm&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt; is your NCI username. &lt;br /&gt;
&lt;br /&gt;
These instructions assume that the laboratory directory has already been copied from the &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory of the original project to the scratch directory of the new project.&lt;br /&gt;
&lt;br /&gt;
'''If''' the laboratory directory is at the top level of your &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory, e.g.&amp;amp;nbsp;&amp;lt;tt&amp;gt;/scratch/w40/user/access-esm:&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;Edit the &amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; in the control directory and add&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;code&amp;gt;shortpath: /scratch/w40&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;amp;nbsp;if there is no shortpath option, or change it to the new project code if there is already a &amp;lt;tt&amp;gt;shortpath&amp;lt;/tt&amp;gt; option defined.&amp;lt;/div&amp;gt; &lt;br /&gt;
'''Otherwise''', if the laboratory directory is located at some sub-directory path in your&amp;amp;nbsp;&amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory:&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#eeeeee;border:1px solid #cccccc;padding:5px 10px;&amp;quot;&amp;gt;Edit the &amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; in the control directory and add the full path to the model laboratory directory&amp;amp;nbsp; &lt;br /&gt;
&amp;lt;code&amp;gt;laboratory: /scratch/w40/user/subdirectorypath/access-esm&amp;lt;/code&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
if there is already a shortpath option remove it&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_payu_experiment_project&amp;diff=3373</id>
		<title>Migrate payu experiment project</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Migrate_payu_experiment_project&amp;diff=3373"/>
		<updated>2021-10-28T00:58:54Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Instructions to migrate a [https://payu.readthedocs.io/en/latest/ payu] experiment from one project to another on [[Gadi|gadi]]. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Definitions:&lt;br /&gt;
&lt;br /&gt;
*new project: the NCI project code for the project to which the experiment has been migrated (these instructions use &amp;lt;tt&amp;gt;w40&amp;lt;/tt&amp;gt; as an example, replace &amp;lt;tt&amp;gt;w40&amp;lt;/tt&amp;gt; with the appropriate project) &lt;br /&gt;
*control directory: location where the model is run (contains&amp;amp;nbsp;&amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; file) &lt;br /&gt;
*model: the name of the model in your experiment (these instructions use &amp;lt;tt&amp;gt;access-esm&amp;lt;/tt&amp;gt; as an example, replace &amp;lt;tt&amp;gt;access-esm&amp;lt;/tt&amp;gt; with the appropriate model name) &lt;br /&gt;
*laboratory directory: location of the archive and work directories, e.g. &amp;lt;tt&amp;gt;/scratch/w40/user/access-esm&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt; is your NCI username. &lt;br /&gt;
&lt;br /&gt;
These instructions assume that the laboratory directory has already been copied from the &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory of the original project to the scratch directory of the new project.&lt;br /&gt;
&lt;br /&gt;
'''If''' the laboratory directory is at the top level of your &amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory, e.g.&amp;amp;nbsp;&amp;lt;tt&amp;gt;/scratch/w40/user/access-esm:&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; in the control directory and add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shortpath: /scratch/w40&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if there is no shortpath option, or change it to the new project code if there is already a &amp;lt;tt&amp;gt;shortpath&amp;lt;/tt&amp;gt; option defined.&lt;br /&gt;
&lt;br /&gt;
'''Otherwise''', if the laboratory directory is located at some sub-directory path in your&amp;amp;nbsp;&amp;lt;tt&amp;gt;/scratch&amp;lt;/tt&amp;gt; directory:&lt;br /&gt;
&lt;br /&gt;
Edit the &amp;lt;tt&amp;gt;config.yaml&amp;lt;/tt&amp;gt; in the control directory and add the full path to the model laboratory directory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;laboratory: /scratch/w40/user/subdirectorypath/access-esm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if there is already a shortpath option remove it&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Out_of_space&amp;diff=3363</id>
		<title>Out of space</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Out_of_space&amp;diff=3363"/>
		<updated>2021-10-18T01:28:57Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Initial edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
You're out of space in your project on &amp;lt;tt&amp;gt;gadi&amp;lt;/tt&amp;gt;, what now? &amp;amp;nbsp; Broadly there are four options: delete, compress, move or archive&lt;br /&gt;
&lt;br /&gt;
=== Delete ===&lt;br /&gt;
&lt;br /&gt;
The best option is to delete files you no longer require e.g.&lt;br /&gt;
&lt;br /&gt;
*failed model runs &lt;br /&gt;
*duplicated data (stored in another location)&amp;amp;nbsp; &lt;br /&gt;
*intermediate data in analysis (delete intermediates but keep scripts to recreate if required) &lt;br /&gt;
*model fields not required (many models default to writing out many more fields than most people require or use) &lt;br /&gt;
*code (should be in a version controlled repository, e.g. [https://github.com GitHub]) &lt;br /&gt;
&lt;br /&gt;
=== Compress ===&lt;br /&gt;
&lt;br /&gt;
All netCDF&amp;amp;nbsp;files you need to keep should be compressed. There is a detailed page on [[NetCDF_Compression_Tools|compression tools]].&lt;br /&gt;
&lt;br /&gt;
If the number of inodes (files) is the quota that needs to be reduced then using tools like [[TAR_guidelines|&amp;lt;tt&amp;gt;tar&amp;lt;/tt&amp;gt;]] and &amp;lt;tt&amp;gt;zip&amp;lt;/tt&amp;gt; can be used to collect smaller files, such as text files,&amp;amp;nbsp;into a single archive file.&lt;br /&gt;
&lt;br /&gt;
=== Move ===&lt;br /&gt;
&lt;br /&gt;
Some projects have smaller allocations than others, or more free space. Assuming it is appropriate to do so then it may be legitimate to change the group to a different project using the &amp;lt;tt&amp;gt;chgrp&amp;lt;/tt&amp;gt; command. Note that for the purposes of accounting at NCI the group of a file is used to determine which quota it counts against, not the physical location on disk.&lt;br /&gt;
&lt;br /&gt;
There is some short term storage available under the Climate LIEF grant that is administed by the CMS Team. All elgible researchers associated with Climate research at NCI can [[Storage#Temporary_storage|apply for short term storage]].&lt;br /&gt;
&lt;br /&gt;
Most home institutions have local storage options for data. This is also an option if it is not essential for the data to remain on NCI systems for further processing or analysis.&lt;br /&gt;
&lt;br /&gt;
Note that when copying data from one location to another the best tool to use is rsync. Note that when using rsync the normal archive option (-a) will also change the group of the files after copying to be the same as they are in the original location. On NCI systems this can be undesirable dur to the way the accounting system works, so the best combination of options is&lt;br /&gt;
&amp;lt;pre&amp;gt;rsync -vrltoD --safe-links srcdir targetdir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Archive ===&lt;br /&gt;
&lt;br /&gt;
NCI has a tape-based data store (MDSS). This is by far the cheapest storage option at NCI, so also boasts the largest available capacity. In general this is where data is stored when it is no longer required for analysis. It is possible to retrieve&amp;amp;nbsp;archived data from&amp;amp;nbsp;MDSS, so it is feasible to archive data before completely finished analysing it, and keep only the fraction that is being actively analysed. It is not a suitable location for data files that need to be regularly accessed, e.g. model inputs, or for data that is likely to still be modified or updated.&lt;br /&gt;
&lt;br /&gt;
There are&amp;amp;nbsp;[[Archiving_data|detailed instructions]] about archiving your data to the Mass Data Store on gadi.&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Storage&amp;diff=3362</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Storage&amp;diff=3362"/>
		<updated>2021-10-17T23:15:58Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Updated to nci-files-report commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;During your work at the Centre, you are likely to produce, use and share data on different systems. You will probably have access to two different systems: your University system and NCI.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Storage at NCI =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;NCI provides two types of storage: tape and disk. Tape is for long term storage while disk is more suited to store data you need to access often.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tape at NCI ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;The tape system at NCI is called /massdata. Please read the [[Archiving_data|archiving data wiki page]]&amp;amp;nbsp;to learn how to use this system. Here are a few important points to keep in mind:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Tape is mostly appropriate for archiving data.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;You should only store big files on tape. If you want to migrate a lot of small files, you should first archive them together. To learn how to do that please have a look at &amp;quot;File compression and archiving&amp;quot; section below&amp;amp;nbsp;and [mailto:climate_help@nci.org.au| email]&amp;amp;nbsp;your questions to us.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/massdata is only accessible from the login nodes (interactive) or via a script submitted to the copyq queue. It is generally recommended to use the copyq queue as you then have a much longer run time.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Tape access (writing and reading) is slow.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Considering data on /massdata are likely to be un-used for a long time it is quite essential to document your data. For example adding a detailed README file to your data folder can help a lot.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Storage update for quota is only updated daily, overnight for massdata because of the size of it. It is then recommended to act quickly for clean up and if possible before breaching the quota.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Additional storage&amp;lt;/span&amp;gt;''' ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;It might be possible to add quota on massdata for your project to do so please send an [mailto:climate_help@nci.org.au| email to us]&amp;amp;nbsp;detailing how much additional space you would like and which NCI project it is for. Again, being tape storage the request might take some days to be processed so please plan ahead.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''Disk at NCI''' ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;There are three different disk filesystems at NCI, each with a slightly different purpose. NCI also has a [http://nci.org.au/user-support/getting-help/filesystem-user-guide/ Users' Guide]. All the disk filesystems are accessible from the login nodes and the compute nodes hence you can read/write to one while currently being in an other filesystem. And all these filesystems have access to massdata either through login nodes connection or sending a script to copyq queue.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/home&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;This is your home directory.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;This space is strictly limited at 10GB for each user but it is backed up.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;It is most suitable for storing source code rather than model outputs or observation datasets.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;You can monitor your use on home with the &amp;quot;quota&amp;quot; command.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/scratch&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;All projects have some storage on /scratch.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;The amount of space varies from a project to another.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;The management of the space is left to the responsibility of the members of each project. .&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;When a project fills its quota on /short, the project's members will not be able to use the computing queues except for copyq queues to help with moving data around.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;To monitor the overall usage, please use the &amp;quot;nci_account&amp;quot; command. To monitor the usage per user, please use &amp;quot;nci-files-report -f scratch&amp;quot;.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Increasing the quota on /scratch for a project might be possible but is left to the decision of NCI staff. An extension can only be requested by the Lead CI for the project. You can check who the Lead CI is on my.nci.org.au.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/g/data&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;Most projects now have some storage on /g/data&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;As for /scratch, the quota on /g/data is per project with management of the usage the sole responsibility of the project's members.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/g/data can be less stable than /scratch.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;For compute nodes to have read and/or write access to this filesystem, you need to mount the specific area you need with the &amp;quot;-l storage&amp;quot; PBS flag&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;A project's quota on /g/data cannot be increased with a simple request. There is a review of some of the quotas every year, at which point some projects might be granted an increase. If you need additional storage before then, please consider deleting old or incorrect data, archiving old data to /massdata, using [[Storage#temporary|temporary storage]] or your [[Storage#local|University system]]. If you still want an increase to be considered at review time, please make sure to discuss it with the Lead CI of your project who will be part of the review.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;To monitor usage, please use &amp;quot;nci_account&amp;quot;. To see a per-user summary run the command &amp;quot;nci-files-report -f gdata&amp;quot;&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== '''Temporary storage''' ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;The CMS is also managing two projects on NCI that can be used for temporary storage of data. Both are mounted on /g/data and have the same characteristic as other /g/data storage space as explained above.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;To use any space on these projects''', you need to:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;request [https://my.nci.org.au/mancini/login?next=/mancini/project/ connection to the project] if you are not yet a member. You can check which projects you are part of with the &amp;quot;groups&amp;quot; command.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;fill a storage request using the&amp;amp;nbsp;[https://clex.dmponline.cloud.edu.au/ CLEX DMPonline tool]. If you do not yet have an account on this tool, please be patient for the account creation. To avoid robots and unauthorised access, the account creation requires human verification on our end. Please [mailto:cws_help@nci.org.au email us] if you have any question about filling in the form. Note this form is principally to enable us to monitor the space used, requested and available. It also enables us to prepare a folder for you with appropriate permissions. The forms are very short and quick to fill and the storage is usually ready for use within a few hours. See [[Storage-request|this page]] for more detailed instructions on how to fill the form. Note:&amp;lt;/span&amp;gt; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;you do not need to email us, please just fill in the form to request the allocation you would like.&amp;lt;/span&amp;gt; &lt;br /&gt;
**&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;also, you can request space for use by a whole group instead of per user, but all users of the group '''must''' request connection to the project.&amp;lt;/span&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;The temporary storage projects are:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/g/data/hh5: this project is for short temporary use (~3 months). It could be used for example to print your raw model outputs, then you would save a subset or a reformatted version to your project's space and move the raw outputs to /massdata for safekeeping.&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;/g/data/ua8: the main purpose of this project is to store replica of datasets which do not&amp;amp;nbsp;have a specific data&amp;amp;nbsp;project assigned. However, the free space in this project can be used as temporary storage&amp;amp;nbsp;for data that is being processed for&amp;amp;nbsp;publication.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
= Storage at Universities =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;line-height: 1.5;&amp;quot;&amp;gt;at ANU&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;at Monash&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;at UMelb&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;at UNSW&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;at UTAS&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= File compression and archiving =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;For an efficient use of storage, there are a few rules to keep in mind:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;it is more efficient to store a few larger files than lots of smaller files. It is hard to define large and small but files of several tens of gigabytes are absolutely acceptable. The size of the files should clearly also take into account how you or others are going to use them.&amp;amp;nbsp;File nearing 100 GB become unmanageable and should be produced only if there is no other option. In that case you should read about ...&amp;lt;/span&amp;gt; &lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;It is always best practice to compress your data when possible.&amp;amp;nbsp;Netcdf files are now easily compressible, see [[NetCDF_Compression_Tools|this wiki page]]&amp;amp;nbsp;for detailed explanations on tools available at NCI.&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;To store small setup files that define your experiments, think about using the &amp;quot;tar&amp;quot; command. This is a shell command with a manual accessible through&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
man tar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium;&amp;quot;&amp;gt;This command will save many files together in a single archive, it can be used on a directory tree and will restore the directory structure when restoring the files from the archive. This means if you have several experiments you need to save the setup of, the best way might be to create a directory tree containing the setup files of all the experiments then create one single archive file for all. The archive files can also easily be compressed/uncompressed using the gzip utility either at the archive creation time or afterwards: see the [https://drive.google.com/drive/folders/0B1KncyYETiZqNGdHZ0VZSk02cUE 2017 training material] for usage of these commands and acls and tar cheat sheets. For more details see [[Archiving_data|Archiving Data]] &amp;amp;nbsp;&amp;lt;/span&amp;gt; &lt;br /&gt;
[[Category:Data induction]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3361</id>
		<title>CMS</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3361"/>
		<updated>2021-10-17T22:50:53Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Removed Annette from team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Our People ==&lt;br /&gt;
&lt;br /&gt;
We are a distributed team with members sitting at each CLEX node&lt;br /&gt;
&lt;br /&gt;
[https://www.climateextremes.org.au/people/technical-staff/ https://www.climateextremes.org.au/people/technical-staff/]&lt;br /&gt;
&lt;br /&gt;
=== Australian National University ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Claire-Carouge-2-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Claire Carouge ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere and Land Surface Modelling &lt;br /&gt;
*[[WRF|WRF]] &lt;br /&gt;
*[[CABLE|CABLE]] &lt;br /&gt;
*[[JULES|JULES]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Aidan-Heerdegen-1-1-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Aidan Heerdegen ====&lt;br /&gt;
&lt;br /&gt;
*Ocean Modelling &lt;br /&gt;
*[[MOM|MOM]] &lt;br /&gt;
*[[Payu|Payu]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== Monash University ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Holger-Wolff-1-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Holger Wolff ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere Modelling &lt;br /&gt;
*[[Unified_Model|Unified Model]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of Melbourne ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Scott-Wales-3-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Scott Wales ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere Modelling &lt;br /&gt;
*[[Unified_Model|Unified Model]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of Tasmania ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.5); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Paola-Petrelli-headshot.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Paola Petrelli ====&lt;br /&gt;
&lt;br /&gt;
*[[Data|Data]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
General enquiries and help questions: [mailto:cws_help@nci.org.au cws_help@nci.org.au]&lt;br /&gt;
&lt;br /&gt;
Quick help addressed to CMS and the Centre's community: [https://arccss.slack.com arccss.slack.com]&lt;br /&gt;
&lt;br /&gt;
[[One-on-one_calls|One-on-one videocall]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Admin]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3360</id>
		<title>CMS</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3360"/>
		<updated>2021-10-17T22:48:39Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Reverted edits by A.heerdegen (talk) to last revision by C.carouge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Our People ==&lt;br /&gt;
&lt;br /&gt;
We are a distributed team with members sitting at each CLEX node&lt;br /&gt;
&lt;br /&gt;
https://www.climateextremes.org.au/people/technical-staff/&lt;br /&gt;
&lt;br /&gt;
=== Australian National University ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Claire-Carouge-2-440x440.jpg&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
====Claire Carouge====&lt;br /&gt;
* Atmosphere and Land Surface Modelling&lt;br /&gt;
* [[WRF]]&lt;br /&gt;
* [[CABLE]]&lt;br /&gt;
* [[JULES]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Aidan-Heerdegen-1-1-440x440.jpg&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Aidan Heerdegen====&lt;br /&gt;
* Ocean Modelling&lt;br /&gt;
* [[MOM]]&lt;br /&gt;
* [[Payu]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.15); height:100px&amp;quot;&amp;gt;https://climateextremes.org.au/wp-content/uploads/2018/03/annette-hirsch-sq_1_orig.png&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
====Annette Hirsch====&lt;br /&gt;
* Land Surface Modelling&lt;br /&gt;
* [[WRF]]&lt;br /&gt;
* [[CABLE]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monash University ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Holger-Wolff-1-440x440.jpg&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
====Holger Wolff====&lt;br /&gt;
* Atmosphere Modelling&lt;br /&gt;
* [[Unified Model]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== University of Melbourne ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Scott-Wales-3-440x440.jpg&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
====Scott Wales====&lt;br /&gt;
* Atmosphere Modelling&lt;br /&gt;
* [[Unified Model]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== University of Tasmania ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.5); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Paola-Petrelli-headshot.jpg&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
====Paola Petrelli====&lt;br /&gt;
* [[Data]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
General enquiries and help questions: [mailto:cws_help@nci.org.au cws_help@nci.org.au]&lt;br /&gt;
&lt;br /&gt;
Quick help addressed to CMS and the Centre's community: [https://arccss.slack.com arccss.slack.com]&lt;br /&gt;
&lt;br /&gt;
[[One-on-one calls | One-on-one videocall]] &lt;br /&gt;
[[Category:Admin]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3359</id>
		<title>CMS</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=CMS&amp;diff=3359"/>
		<updated>2021-10-17T22:47:58Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Removed Annette from team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Our People ==&lt;br /&gt;
&lt;br /&gt;
We are a distributed team with members sitting at each CLEX node&lt;br /&gt;
&lt;br /&gt;
[https://www.climateextremes.org.au/people/technical-staff/ https://www.climateextremes.org.au/people/technical-staff/]&lt;br /&gt;
&lt;br /&gt;
=== Australian National University ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Claire-Carouge-2-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Claire Carouge ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere and Land Surface Modelling &lt;br /&gt;
*[[WRF|WRF]] &lt;br /&gt;
*[[CABLE|CABLE]] &lt;br /&gt;
*[[JULES|JULES]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Aidan-Heerdegen-1-1-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Aidan Heerdegen ====&lt;br /&gt;
&lt;br /&gt;
*Ocean Modelling &lt;br /&gt;
*[[MOM|MOM]] &lt;br /&gt;
*[[Payu|Payu]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.15); height:100px&amp;quot;&amp;gt;https://climateextremes.org.au/wp-content/uploads/2018/03/annette-hirsch-sq_1_orig.png&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Holger Wolff ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere Modelling &lt;br /&gt;
*[[Unified_Model|Unified Model]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of Melbourne ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.2); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Scott-Wales-3-440x440.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Scott Wales ====&lt;br /&gt;
&lt;br /&gt;
*Atmosphere Modelling &lt;br /&gt;
*[[Unified_Model|Unified Model]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
=== University of Tasmania ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; flex-direction:row&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:20%; transform:scale(0.5); height:100px&amp;quot;&amp;gt;https://www.climateextremes.org.au/wp-content/uploads/2018/04/Paola-Petrelli-headshot.jpg&amp;lt;/div&amp;gt; &amp;lt;div style=&amp;quot;width:80%&amp;quot;&amp;gt;&lt;br /&gt;
==== Paola Petrelli ====&lt;br /&gt;
&lt;br /&gt;
*[[Data|Data]] &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
General enquiries and help questions: [mailto:cws_help@nci.org.au cws_help@nci.org.au]&lt;br /&gt;
&lt;br /&gt;
Quick help addressed to CMS and the Centre's community: [https://arccss.slack.com arccss.slack.com]&lt;br /&gt;
&lt;br /&gt;
[[One-on-one_calls|One-on-one videocall]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Admin]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Accounting_at_NCI&amp;diff=3349</id>
		<title>Accounting at NCI</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Accounting_at_NCI&amp;diff=3349"/>
		<updated>2021-10-06T00:35:02Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: Added in ncdu and other info from deleted NCI Guidelines Monitoring page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page describes the different tools available for the accounting of computing and storage resources at NCI. Those tools have been developed by NCI and the CMS team.&lt;br /&gt;
&lt;br /&gt;
= Grafana =&lt;br /&gt;
&lt;br /&gt;
CMS has put in place a Grafana server for visualising a range of accounting statistics for CLEx. You can access this server using your NCI credentials at: [https://accessdev.nci.org.au/grafana/login https://accessdev.nci.org.au/grafana/login]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, we haven't yet put in place the collection of all the statistics for Gadi. Currently, you can see timeseries of your storage and SU usage on the [https://accessdev.nci.org.au/grafana/d/toeLAYDWz/user-report?orgId=1 User Report].&lt;br /&gt;
&lt;br /&gt;
We will update this section as more statistics become available.&lt;br /&gt;
&lt;br /&gt;
= Computing resources =&lt;br /&gt;
&lt;br /&gt;
== nci_account ==&lt;br /&gt;
&lt;br /&gt;
You can see the current allocation and the usage so far in the quarter for any computing project you are a member of. Using the &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; option, you can see the usage per user:&lt;br /&gt;
&lt;br /&gt;
 nci_account -v&lt;br /&gt;
&lt;br /&gt;
== nqstat ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;qstat&amp;lt;/code&amp;gt; allows you to monitor your jobs at NCI. &amp;lt;code&amp;gt;nqstat&amp;lt;/code&amp;gt; allows you to see the jobs currently submitted:&lt;br /&gt;
&lt;br /&gt;
*for a given project &lt;br /&gt;
*for a given queue and project &lt;br /&gt;
*for a given user and project &lt;br /&gt;
&lt;br /&gt;
== uqstat ==&lt;br /&gt;
&lt;br /&gt;
The information output by &amp;lt;code&amp;gt;qstat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;nqstat&amp;lt;/code&amp;gt; isn't always enough. CMS has developed &amp;lt;code&amp;gt;uqstat&amp;lt;/code&amp;gt; to output more information by default such as the job efficiency (cpu%), the queueing time, the walltime, the cost in SU etc.&lt;br /&gt;
&lt;br /&gt;
To use this command, please load the &amp;lt;code&amp;gt;nci-scripts&amp;lt;/code&amp;gt; module:&lt;br /&gt;
&lt;br /&gt;
 module use /g/data/hh5/public/modules&lt;br /&gt;
 module load nci-scripts&lt;br /&gt;
&lt;br /&gt;
Contrary to what we usually recommend, it should be safe to load this module in your .bashrc file so this module is loaded by default.&lt;br /&gt;
&lt;br /&gt;
 uqstat &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; option allows you to see the same information on current jobs and jobs finished up to 24 hours previously.&lt;br /&gt;
&lt;br /&gt;
== qcost ==&lt;br /&gt;
&lt;br /&gt;
CMS has also developed &amp;lt;code&amp;gt;qcost&amp;lt;/code&amp;gt;&amp;amp;nbsp;a tool to help you choose the best PBS configuration for your job.&amp;amp;nbsp;&amp;lt;code&amp;gt;qcost &amp;lt;/code&amp;gt;calculates the cost, in SU, for a job submitted to the PBS system. The PBS [https://opus.nci.org.au/display/Help/Queue+Limits queue information is provided by NCI] but it can be tedious to determine which configuration of queue and memory request should be used to minimise job cost. qcost was created to make this process easier.&lt;br /&gt;
&lt;br /&gt;
To use this command, please load the &amp;lt;code&amp;gt;nci-scripts&amp;lt;/code&amp;gt; module (see above). Usage:&lt;br /&gt;
&lt;br /&gt;
  qcost -h &lt;br /&gt;
 &amp;amp;nbsp;usage: qcost [-h] -q QUEUE -n NCPUS -m MEM [-t TIME]&lt;br /&gt;
  &lt;br /&gt;
  Return the cost (in SUs) for a PBS job submitted on gadi. No checking is done to ensure requests are within queue limits.&lt;br /&gt;
  &lt;br /&gt;
  optional arguments:&lt;br /&gt;
    -h, --help                show this help message and exit&lt;br /&gt;
    -q QUEUE, --queue QUEUE   PBS queue&lt;br /&gt;
    -n NCPUS, --ncpus NCPUS   Number of cpus&lt;br /&gt;
    -m MEM, --mem MEM         Requested memory&lt;br /&gt;
    -t TIME, --time TIME      Job walltime (hours)&lt;br /&gt;
  &lt;br /&gt;
  e.g. qcost -q normal -n 4 -m 60GB -t 3:00:00&lt;br /&gt;
&lt;br /&gt;
Note that if no time is specified it defaults to 1 hour (1:00:00). Walltime can be specified as &amp;lt;tt&amp;gt;H:M&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;H:M:S&amp;lt;/tt&amp;gt;. Memory must be specified in units of bytes (B), e.g. &amp;lt;tt&amp;gt;160GB&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;2000MB&amp;lt;/tt&amp;gt;.&amp;amp;nbsp;For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;   qcost -q normal -n 4 -m 60GB -t 3:00:00&lt;br /&gt;
   90 SU&lt;br /&gt;
&lt;br /&gt;
   qcost -q express -n 4 -m 60GB -t 3:00:00&lt;br /&gt;
  270 SU&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Storage resources =&lt;br /&gt;
&lt;br /&gt;
== lquota ==&lt;br /&gt;
&lt;br /&gt;
This command will list the quota and usage for all the projects you are a member of on both /scratch and /g/data. It will give usage and quota for both space and number of files.&lt;br /&gt;
&lt;br /&gt;
== nci-files-report ==&lt;br /&gt;
&lt;br /&gt;
This command will list the usage in both space and number of files along different dimensions depending on options.&lt;br /&gt;
&lt;br /&gt;
=== Usage owned by a project per user ===&lt;br /&gt;
&lt;br /&gt;
If you want to know who owns files in your project or where those files are, you should use:&lt;br /&gt;
&lt;br /&gt;
 nci-files-report --group w35 --filesystem gdata&lt;br /&gt;
&lt;br /&gt;
This is probably the most useful options for the project's managers to find who has the most data owned by a project.&lt;br /&gt;
&lt;br /&gt;
=== Usage in a project directory per user ===&lt;br /&gt;
&lt;br /&gt;
If you want to know who owns files in the main directory of one of your projects, you should use:&lt;br /&gt;
&lt;br /&gt;
 nci-files-report --project w35 --filesystem gdata&lt;br /&gt;
&lt;br /&gt;
This is probably the least useful option for this function.&lt;br /&gt;
&lt;br /&gt;
=== Usage per user ===&lt;br /&gt;
&lt;br /&gt;
If you want to know your data footprint across all your projects in a filesystem, you should use:&lt;br /&gt;
&lt;br /&gt;
 nci-files-report --user --filesystem gdata&lt;br /&gt;
&lt;br /&gt;
'''Why are the totals different in &amp;lt;code&amp;gt;nci-files-report&amp;lt;/code&amp;gt; and Grafana?'''&lt;br /&gt;
&lt;br /&gt;
CMS is collecting the data for Grafana and we can only scan data that has group read permissions. We ask everyone to put those permissions on if there are no restrictions on your scientific project.&lt;br /&gt;
&lt;br /&gt;
= ncfind and nccompress =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
These utilities are maintained by the CMS team. These allow you to find uncompressed netcdf files and to easily compress them. You'll find a complete documentation on [[NetCDF_Compression_Tools|this wiki page]]&lt;br /&gt;
&lt;br /&gt;
= du, find and wc =&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
These commands can help you identify where in your area are the large files or which directories contain lots of files. These are Unix commands and all have man pages for information.&lt;br /&gt;
&lt;br /&gt;
Useful options:&lt;br /&gt;
&lt;br /&gt;
*Check the sizes of sub-directories: &lt;br /&gt;
&lt;br /&gt;
  du -shc *&lt;br /&gt;
&lt;br /&gt;
*Find files larger than X &lt;br /&gt;
&lt;br /&gt;
  find . -type f -size +100M&lt;br /&gt;
&lt;br /&gt;
*Count number of files and subdirectories in directory &lt;br /&gt;
&lt;br /&gt;
  ls -1 | wc -l&lt;br /&gt;
&lt;br /&gt;
Note: the Internet is the perfect source for commands and options variations to find this type of information on your files and directories.&lt;br /&gt;
&lt;br /&gt;
= ncdu =&lt;br /&gt;
&lt;br /&gt;
[https://dev.yorhel.nl/ncdu ncdu] is a disk usage analyzer with an ncurses interface. It is designed to find space hogs and aims to be fast, simple and easy to use.&lt;br /&gt;
&lt;br /&gt;
This command is part of the conda environment maintained by CMS. To use:&lt;br /&gt;
&lt;br /&gt;
  module purge&lt;br /&gt;
  module use /g/data3/hh5/public/modules&lt;br /&gt;
  module load conda/analysis3&lt;br /&gt;
&lt;br /&gt;
To invoke run ncdu directory_path and replace directory_path with a path to a directory you wish to check.&lt;br /&gt;
&lt;br /&gt;
Some example output:&lt;br /&gt;
&lt;br /&gt;
  ncdu /g/data3/hh5/public/apps&lt;br /&gt;
&lt;br /&gt;
Gives a screen items in the directory sorted by size:&lt;br /&gt;
&lt;br /&gt;
  --- /g/data3/hh5/public/apps ----------------------------------------------------&lt;br /&gt;
     64.0 GiB [##########] /miniconda3&lt;br /&gt;
    799.6 MiB [          ] /lrose&lt;br /&gt;
    152.3 MiB [          ] /easybuild&lt;br /&gt;
      4.0 KiB [          ]  README&lt;br /&gt;
  &lt;br /&gt;
   Total disk usage:  64.9 GiB  Apparent size:  64.6 GiB  Items: 2461484&lt;br /&gt;
&lt;br /&gt;
Pushing &amp;lt;tt&amp;gt;&amp;lt;g&amp;gt;&amp;lt;/tt&amp;gt; twice changes the way the usage is displayed&lt;br /&gt;
&lt;br /&gt;
  ncdu 1.13 ~ Use the arrow keys to navigate, press&amp;amp;nbsp;? for help&lt;br /&gt;
  --- /g/data3/hh5/public/apps ----------------------------------------------------&lt;br /&gt;
     64.0 GiB [ 98.6% ##########] /miniconda3&lt;br /&gt;
    799.6 MiB [  1.2%           ] /lrose&lt;br /&gt;
    152.3 MiB [  0.2%           ] /easybuild&lt;br /&gt;
      4.0 KiB [  0.0%           ]  README&lt;br /&gt;
&lt;br /&gt;
   Total disk usage:  64.9 GiB  Apparent size:  64.6 GiB  Items: 2461484&lt;br /&gt;
&lt;br /&gt;
Select a directory, push &amp;lt;tt&amp;gt;&amp;lt;return&amp;gt;&amp;lt;/tt&amp;gt; and it will show you a view of that directory sorted by size&lt;br /&gt;
&lt;br /&gt;
  ncdu 1.13 ~ Use the arrow keys to navigate, press&amp;amp;nbsp;? for help&lt;br /&gt;
  --- /g/data3/hh5/public/apps/miniconda3 ------------------------------------------&lt;br /&gt;
                                /..&lt;br /&gt;
     33.2 GiB [ 51.9% ##########] /pkgs&lt;br /&gt;
     22.6 GiB [ 35.3% ######    ] /envs  &lt;br /&gt;
     11.8 GiB [ 18.5% ###       ] /old-envs&lt;br /&gt;
      4.6 GiB [  7.1% #         ] /conda-bld&lt;br /&gt;
    236.6 MiB [  0.4%           ] /lib&lt;br /&gt;
      8.7 MiB [  0.0%           ] /share&lt;br /&gt;
      6.1 MiB [  0.0%           ] /bin&lt;br /&gt;
      5.1 MiB [  0.0%           ] /include&lt;br /&gt;
      4.9 MiB [  0.0%           ] /conda-meta&lt;br /&gt;
      4.3 MiB [  0.0%           ] /ssl&lt;br /&gt;
      1.9 MiB [  0.0%           ] /compiler_compat&lt;br /&gt;
     28.0 KiB [  0.0%           ] /etc&lt;br /&gt;
     12.0 KiB [  0.0%           ] /x86_64-conda_cos6-linux-gnu&lt;br /&gt;
      4.0 KiB [  0.0%           ] /locks&lt;br /&gt;
      4.0 KiB [  0.0%           ]  LICENSE.txt&lt;br /&gt;
&lt;br /&gt;
   Total disk usage:  64.0 GiB  Apparent size:  63.7 GiB  Items: 2446705&lt;br /&gt;
&lt;br /&gt;
Select &amp;lt;tt&amp;gt;/..&amp;lt;/tt&amp;gt;&amp;amp;nbsp;at the top to move back up the directory tree. In this way it is possible to navigate the directory structure and pinpoint the largest users of disk space. The disk usage information is cached, so once it has analysed a directory tree it is very fast to navigate.&lt;br /&gt;
&lt;br /&gt;
Press &amp;lt;q&amp;gt;to quit the program.&amp;lt;/q&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:NCI]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
	<entry>
		<id>http://climate-cms.wikis.unsw.edu.au/index.php?title=Training&amp;diff=3301</id>
		<title>Training</title>
		<link rel="alternate" type="text/html" href="http://climate-cms.wikis.unsw.edu.au/index.php?title=Training&amp;diff=3301"/>
		<updated>2021-09-06T05:11:32Z</updated>

		<summary type="html">&lt;p&gt;A.heerdegen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Training Needs ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
*[[NCI|Accessing and using NCI]] &lt;br /&gt;
*[[Programming|Programming]] &lt;br /&gt;
*[[ProgrammingTools|ProgrammingTools]] &lt;br /&gt;
&lt;br /&gt;
== CMS Presentations ==&lt;br /&gt;
&lt;br /&gt;
CMS used to run weekly training sessions presenting computational and data related topics. Now we run a fortnightly [[CodeBreak|Code Break sessions]].&lt;br /&gt;
&lt;br /&gt;
To get updates on our next training sessions '''[https://www.lists.unsw.edu.au/mailman/listinfo/training-coe sign up]''' to our email list&lt;br /&gt;
&lt;br /&gt;
All our training videos are available at our '''[https://www.youtube.com/channel/UCSmoK6oWV9O0Hmyt9UdDNsQ Youtube channel]'''&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=aYukDeA-8hE Python Basics] ([https://www.youtube.com/watch?v=-UktTJDh_48 Part 2]) ([https://www.youtube.com/watch?v=pCabwrUa26E Part 3]) &lt;br /&gt;
*[https://www.youtube.com/watch?v=2GmFf9x1qg0 Introduction to NCI] &lt;br /&gt;
*[https://youtu.be/5z75iHJyT8Q Large Dataset Analysis with Jupyter] &lt;br /&gt;
*[https://www.youtube.com/watch?v=aNUe-ukitpU Jupyter Introduction] &lt;br /&gt;
*[https://www.youtube.com/watch?v=pk-UD_4ZAcE WRF at NCI] &lt;br /&gt;
*[https://www.youtube.com/watch?v=DzbtG3UiMUw WRF Q&amp;amp;A] &lt;br /&gt;
*[[Training:NCI_Storage_Monitoring|NCI Storage Monitoring]] 2019-10-02 &lt;br /&gt;
*[https://youtu.be/4tzug0DMZVI Licensing for Data and Software] 2019-07-10 &lt;br /&gt;
*[[Training:_Basic_Python|Basic Python]] 2019-06-05 - 2019-07-03 &lt;br /&gt;
*[[Training:Big_Data|Analysing Big Data]] 2019-05-15 - 2019-05-22 &lt;br /&gt;
*[https://youtu.be/gYKc1mJitEw Data at NCI] 2019-05-08 &lt;br /&gt;
*[[Git_Introduction_old|Git Introduction old]] 2019-04-10 - 2019-04-17 &lt;br /&gt;
*[[Git_Introduction|Git Introduction]] 2020-09-09 - 2020-09-16 &lt;br /&gt;
*[[Bash_Introduction|Bash Introduction]] 2019-03-13 - 2019-04-03 &lt;br /&gt;
*[[WRF_Introduction|WRF Introduction]] 2019-10-23 - 2019-10-30 &lt;br /&gt;
*[http://climate-cms.wikis.unsw.edu.au/Category:Setting_up Setting up] &lt;br /&gt;
&lt;br /&gt;
== Software Carpentry ==&lt;br /&gt;
&lt;br /&gt;
For general programming training we recommend the material from [https://software-carpentry.org/ Software Carpentry], a group whos focus is teaching researchers programming skills. Check with your University if they run Software Carpentry Workshops.&lt;br /&gt;
&lt;br /&gt;
[[Category:Training]]&lt;/div&gt;</summary>
		<author><name>A.heerdegen</name></author>
		
	</entry>
</feed>