Skip to content

Commit 951447a

Browse files
committed
Deploying to gh-pages from @ 5428b50 🚀
1 parent 15b0652 commit 951447a

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

.documenter-siteinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2025-04-08T02:13:42","documenter_version":"1.10.1"}}
1+
{"documenter":{"julia_version":"1.9.4","generation_timestamp":"2025-04-08T02:16:01","documenter_version":"1.10.1"}}

index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
(@v1.10) pkg&gt;</code></pre><p>Then enter the following, at the <code>pkg&gt;</code> prompt:</p><pre><code class="nohighlight hljs">pkg&gt; add HiQGA </code></pre><p>If installing to <a href="https://www.youtube.com/watch?v=edgzr8vpCKY&amp;list=PL0jP_ahe-BFmRWx6IT9G2zbFHA6qmJ52f&amp;index=6">follow along</a> for the 2022 AEM <a href="https://github.com/GeoscienceAustralia/HiQGA.jl/tree/workshop">workshop branch</a> use instead of the above <code>pkg&gt; add HiQGA@0.2.2</code></p><h2 id="Usage"><a class="docs-heading-anchor" href="#Usage">Usage</a><a id="Usage-1"></a><a class="docs-heading-anchor-permalink" href="#Usage" title="Permalink"></a></h2><p>Examples of how to use the package can be found in the <code>examples</code> directory. Simply <code>cd</code> to the relevant example directory and <code>include</code> the .<code>jl</code> files in the order they are named. If using VSCode make sure to do <em>Julia: Change to this Directory</em> from the three dots menu on the top right. The Markov Chain Monte Carlo sampler is configured to support parallel tempering on multiple CPUs - some of the examples accomplish this with Julia&#39;s built-in multiprocessing, and others use MPI in order to support inversions on HPC clusters that don&#39;t work with Julia&#39;s default SSH-based multiprocessing. The MPI examples require <a href="https://github.com/JuliaParallel/MPI.jl">MPI.jl</a> and <a href="https://github.com/JuliaParallel/MPIClusterManagers.jl/">MPIClusterManagers.jl</a>, which are not installed as dependencies for this package, so you will need to ensure they are installed and configured correctly to run these examples. See <a href="#installing-mpijl-and-mpiclustermanagersjl-on-nci">here, below in the document</a> for MPI on the NCI.</p><p>Some example scripts have as a dependency <a href="https://github.com/timholy/Revise.jl">Revise.jl</a> as we&#39;re still actively <a href="https://pkgdocs.julialang.org/v1/getting-started/">developing this package</a>, so you may need to install <a href="https://github.com/timholy/Revise.jl">Revise</a> if not already installed. All Julia users should be developing with <a href="https://github.com/timholy/Revise.jl">Revise</a>! After installation, to run the examples, simply clone the package separately (or download as a ZIP), navigate to the <code>examples</code> folder and run the scripts in their numerical order.</p><h2 id="Updating-the-package"><a class="docs-heading-anchor" href="#Updating-the-package">Updating the package</a><a id="Updating-the-package-1"></a><a class="docs-heading-anchor-permalink" href="#Updating-the-package" title="Permalink"></a></h2><pre><code class="nohighlight hljs">pkg&gt; update HiQGA</code></pre><h2 id="Developing-HiQGA-or-modifying-it-for-your-own-special-forward-physics"><a class="docs-heading-anchor" href="#Developing-HiQGA-or-modifying-it-for-your-own-special-forward-physics">Developing HiQGA or modifying it for your own special forward physics</a><a id="Developing-HiQGA-or-modifying-it-for-your-own-special-forward-physics-1"></a><a class="docs-heading-anchor-permalink" href="#Developing-HiQGA-or-modifying-it-for-your-own-special-forward-physics" title="Permalink"></a></h2><p>After you have <code>]add</code>ed HiQGA you can simply do: </p><pre><code class="nohighlight hljs">pkg&gt;dev HiQGA</code></pre><p>If you haven&#39;t added it already, you can do:</p><pre><code class="nohighlight hljs">pkg&gt;dev https://github.com/GeoscienceAustralia/HiQGA.jl.git</code></pre><p>It will download to your <code>JULIA_PKG_DEVDIR</code>. </p><p>Another way is to simply clone or download this repository to your <code>JULIA_PKG_DEVDIR</code>, rename the cloned directory <code>HiQGA</code> removing the <code>.jl</code> bit and do</p><pre><code class="nohighlight hljs">pkg&gt;dev HiQGA</code></pre><p><a href="https://gist.github.com/a2ray/8c2c55c25fee6647501b403886bbe64d">Here&#39;s a gist</a> on adding your own module if you want to modify the source code. Alternatively, if you only want to use the sampling methods in <code>HiQGA.transD_GP</code> without contributing to the source (boo! j/k) <a href="https://gist.github.com/a2ray/92a8c14483c21dda6ddf56685b95fbb8">here&#39;s another gist</a> which is more appropriate. These gists were written originally for a package called <code>transD_GP</code> so you will have to modify <code>using transD_GP</code> to <code>using HiQGA.transD_GP</code>. Documentation is important and we&#39;re working on improving it before a full-release. </p><h2 id="HPC-setup-on-NCI"><a class="docs-heading-anchor" href="#HPC-setup-on-NCI">HPC setup on NCI</a><a id="HPC-setup-on-NCI-1"></a><a class="docs-heading-anchor-permalink" href="#HPC-setup-on-NCI" title="Permalink"></a></h2><p>If you don&#39;t already have access to a <code>julia</code> binary, download the appropriate version <code>.tar.gz</code> from <a href="https://julialang.org/downloads/">here</a> and then untar it in a location you have write access to, like so: </p><pre><code class="nohighlight hljs">cd /somwehere/home/me
44
tar -xvzf /somwehere/home/me/julia-x.x.x.tar.gz</code></pre><p>Then, in your <code>$HOME/bin</code> directory make a symlink to the julia binary like so:</p><pre><code class="nohighlight hljs">cd ~/bin
55
ln -s /somwehere/home/me/julia-x.x.x/bin/julia .</code></pre><p>Make sure your <code>$HOME/bin</code> is in your <code>$PATH</code> else which you can check with <code>echo $PATH | grep &quot;$HOME/bin&quot;</code>. If you do not see your <code>bin</code> directory highlighted, do <code>export PATH=~/bin:$PATH</code> The preferred development and usage environment for HiQGA is <a href="https://code.visualstudio.com/">Visual Studio Code</a>, which provides interactive execution of Julia code through the <a href="https://code.visualstudio.com/docs/languages/julia">VSCode Julia extension</a>. To install VSCode on the National Computational Infrastructure (NCI), see underneath. You will NOT be using vscode on a gadi login node, but on <a href="https://are.nci.org.au">ARE</a>.</p><p>Get Julia language support from VSCode after launching the VSCode binary by going to File-&gt;Extensions by searching for Julia. If after installation it doesn&#39;t find the Julia binary, go to File-&gt;Extensions-&gt;Julia-&gt;Manage (the little gear icon) and manually type in <code>/home/yourusername/bin/julia</code> in the &quot;Executable Path&quot; field.</p><p>It is also useful to use Revise.jl to ensure changes to the package are immediately reflected in a running Julia REPL (this is the reason that Revise is a dependency on some example scripts as noted above). More information on a workflow to use Revise during development can be found <a href="https://gist.github.com/a2ray/e593751b24e45f8160ba8041fb811680">here</a>. However, do not use <code>Revise</code> for production runs and long MPI jobs.</p><p>As <a href="#installation">shown above</a>, to install HiQGA, start Julia and go into the <code>Pkg</code> REPL by hitting <code>]</code> to enter <code>pkg&gt;</code> mode like so: </p><pre><code class="nohighlight hljs">julia&gt;]
6-
(@v1.10) pkg&gt;</code></pre><p>Then enter the following, at the <code>pkg&gt;</code> prompt:</p><pre><code class="nohighlight hljs">pkg&gt; add HiQGA </code></pre><h3 id="VSCode-on-the-NCI"><a class="docs-heading-anchor" href="#VSCode-on-the-NCI">VSCode on the NCI</a><a id="VSCode-on-the-NCI-1"></a><a class="docs-heading-anchor-permalink" href="#VSCode-on-the-NCI" title="Permalink"></a></h3><p>Install Julia from binary for your platform, download the VSCode RPM at a plce where you have write access and free inodes. Then at the terminal, write: <code>rpm2cpio code-xxxx-vyyy.rpm | cpio -idv</code> The VScode binary is at <code>&lt;rpmdir&gt;/usr/share/code/bin/code</code>, where <code>&lt;rpmdir&gt;</code> is the folder where you ran the <code>rpm2cpio</code> command. The best way to make running VSCode easy is to add the following line to <code>~/.bashrc</code>:</p><pre><code class="nohighlight hljs">prepend_path PATH ${HOME}/bin</code></pre><p>and then in <code>~/bin</code> create a file called <code>code</code> with the following contents</p><pre><code class="nohighlight hljs">#!/bin/bash
6+
(@v1.10) pkg&gt;</code></pre><p>Then enter the following, at the <code>pkg&gt;</code> prompt:</p><pre><code class="nohighlight hljs">pkg&gt; add HiQGA </code></pre><h3 id="VSCode-on-the-NCI"><a class="docs-heading-anchor" href="#VSCode-on-the-NCI">VSCode on the NCI</a><a id="VSCode-on-the-NCI-1"></a><a class="docs-heading-anchor-permalink" href="#VSCode-on-the-NCI" title="Permalink"></a></h3><p>Install Julia from binary for your platform, download the VSCode RPM at a place where you have write access and free inodes. Then at the terminal, write: <code>rpm2cpio code-xxxx-vyyy.rpm | cpio -idv</code> The VScode binary is at <code>&lt;rpmdir&gt;/usr/share/code/bin/code</code>, where <code>&lt;rpmdir&gt;</code> is the folder where you ran the <code>rpm2cpio</code> command. The best way to make running VSCode easy is to add the following line to <code>~/.bashrc</code>:</p><pre><code class="nohighlight hljs">prepend_path PATH ${HOME}/bin</code></pre><p>and then in <code>~/bin</code> create a file called <code>code</code> with the following contents</p><pre><code class="nohighlight hljs">#!/bin/bash
77
/path/to/vscode/usr/share/code/code --no-sandbox</code></pre><p>and then do <code>source ~/.bashrc</code> or restart the terminal. The next time you run <code>code</code> from your terminal it will bring up VSCode. Use VScode on ARE, not a Gadi login node.</p><h3 id="Installing-MPI.jl-and-MPIClusterManagers.jl-on-NCI"><a class="docs-heading-anchor" href="#Installing-MPI.jl-and-MPIClusterManagers.jl-on-NCI">Installing MPI.jl and MPIClusterManagers.jl on NCI</a><a id="Installing-MPI.jl-and-MPIClusterManagers.jl-on-NCI-1"></a><a class="docs-heading-anchor-permalink" href="#Installing-MPI.jl-and-MPIClusterManagers.jl-on-NCI" title="Permalink"></a></h3><p>We have found that the safest bet for MPI.jl to work without <a href="https://docs.juliahub.com/MPI/nO0XF/0.19.2/knownissues/#UCX">UCX issues</a> on NCI is to use intel-mpi. In order to install MPI.jl and configure it to use the intel-mpi provided by the module <code>intel-mpi/2021.10.0</code>, following the example below. </p><pre><code class="nohighlight hljs">$ module load intel-mpi/2021.10.0
88
$ julia
99

@@ -76,4 +76,4 @@
7676
library = &quot;/apps/intel-mpi/2021.10.0/lib/release/libmpi.so&quot;
7777
binary = &quot;system&quot;</code></pre><p>then go back to Julia in Pkg mode, making sure the intel-mpi module is loaded in BASH and build again MPI.jl</p><pre><code class="nohighlight hljs">module load intel-mpi/2021.10.0
7878
julia</code></pre><p>Within Julia, you can then do </p><pre><code class="nohighlight hljs"># hit ] to enter Pkg mode
79-
pkg&gt;build MPI</code></pre><p>and this should work.</p><h2 id="For-installing-development-mode-pre-release-versions"><a class="docs-heading-anchor" href="#For-installing-development-mode-pre-release-versions">For installing development mode pre-release versions</a><a id="For-installing-development-mode-pre-release-versions-1"></a><a class="docs-heading-anchor-permalink" href="#For-installing-development-mode-pre-release-versions" title="Permalink"></a></h2><pre><code class="nohighlight hljs">pkg&gt; dev HiQGA</code></pre><p><strong>Make a pull request if you wish to submit your change – we welcome feature additions</strong>. If you want to switch back to the official version from development mode, do</p><pre><code class="nohighlight hljs">pkg&gt; free HiQGA</code></pre><h2 id="References-for-AEM-and-CSEM-physics"><a class="docs-heading-anchor" href="#References-for-AEM-and-CSEM-physics">References for AEM and CSEM physics</a><a id="References-for-AEM-and-CSEM-physics-1"></a><a class="docs-heading-anchor-permalink" href="#References-for-AEM-and-CSEM-physics" title="Permalink"></a></h2><ul><li><a href="https://doi.org/10.1093/gji/ggy255">Blatter, D., Key, K., Ray, A., Foley, N., Tulaczyk, S., &amp; Auken, E. (2018). Trans-dimensional Bayesian inversion of airborne transient EM data from Taylor Glacier, Antarctica. Geophysical Journal International, 214(3)</a></li><li><a href="https://openresearch-repository.anu.edu.au/bitstream/1885/49403/4/02Whole.pdf">Brodie, R. C. (2010). Holistic inversion of airborne electromagnetic data. PhD thesis, Australian National University</a>.</li><li><a href="https://doi.org/10.1111/j.1365-246X.2012.05677.x">Ray, A., &amp; Key, K. (2012). Bayesian inversion of marine CSEM data with a trans-dimensional self parametrizing algorithm. Geophysical Journal International, 191(3), 1135-1151.</a></li></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.10.1 on <span class="colophon-date" title="Tuesday 8 April 2025 02:13">Tuesday 8 April 2025</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
79+
pkg&gt;build MPI</code></pre><p>and this should work.</p><h2 id="For-installing-development-mode-pre-release-versions"><a class="docs-heading-anchor" href="#For-installing-development-mode-pre-release-versions">For installing development mode pre-release versions</a><a id="For-installing-development-mode-pre-release-versions-1"></a><a class="docs-heading-anchor-permalink" href="#For-installing-development-mode-pre-release-versions" title="Permalink"></a></h2><pre><code class="nohighlight hljs">pkg&gt; dev HiQGA</code></pre><p><strong>Make a pull request if you wish to submit your change – we welcome feature additions</strong>. If you want to switch back to the official version from development mode, do</p><pre><code class="nohighlight hljs">pkg&gt; free HiQGA</code></pre><h2 id="References-for-AEM-and-CSEM-physics"><a class="docs-heading-anchor" href="#References-for-AEM-and-CSEM-physics">References for AEM and CSEM physics</a><a id="References-for-AEM-and-CSEM-physics-1"></a><a class="docs-heading-anchor-permalink" href="#References-for-AEM-and-CSEM-physics" title="Permalink"></a></h2><ul><li><a href="https://doi.org/10.1093/gji/ggy255">Blatter, D., Key, K., Ray, A., Foley, N., Tulaczyk, S., &amp; Auken, E. (2018). Trans-dimensional Bayesian inversion of airborne transient EM data from Taylor Glacier, Antarctica. Geophysical Journal International, 214(3)</a></li><li><a href="https://openresearch-repository.anu.edu.au/bitstream/1885/49403/4/02Whole.pdf">Brodie, R. C. (2010). Holistic inversion of airborne electromagnetic data. PhD thesis, Australian National University</a>.</li><li><a href="https://doi.org/10.1111/j.1365-246X.2012.05677.x">Ray, A., &amp; Key, K. (2012). Bayesian inversion of marine CSEM data with a trans-dimensional self parametrizing algorithm. Geophysical Journal International, 191(3), 1135-1151.</a></li></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.10.1 on <span class="colophon-date" title="Tuesday 8 April 2025 02:16">Tuesday 8 April 2025</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)