Where do I find user documentation on the ACCESS ngm modules?

@Scott I am looking for user documentation on the ACCESS ngm modules, in particular, the ants module. I specifically want to know whether anything in my ~/.bashrc file or other modules would interfere with running the scripts associated with the ants module. Example:

[pcl851@gadi-login-02 ~]$ module use /g/data/access/ngm/modules
[pcl851@gadi-login-02 ~]$ module load ants/1.0.0
[pcl851@gadi-login-02 ~]$ ants-version
/opt/conda/lib/python3.7/site-packages/ANTS-1.0.0-py3.7.egg/ants/fileformats/raster.py:33: UserWarning:  No module named 'gdalconst'
Unable to import "gdal", proceeding without the capabilities it provides.  See install.rst
  warnings.warn(msg.format(str(_GDAL_IMPORT_ERROR)))
[INFO] ANTS version loaded was:
ants: /opt/conda/lib/python3.7/site-packages/ANTS-1.0.0-py3.7.egg/ants/__init__.py (version 1.0.0)
[INFO] Iris version loaded was:
iris: /opt/conda/lib/python3.7/site-packages/iris/__init__.py (version 2.3.0)

The ants module comes from https://git.nci.org.au/bom/ngm/modules/install-ants, which installs ants (and ug-ants for the ug- variant) from the environment.yml in the ants repository at https://code.metoffice.gov.uk/trac/ancil/browser.

PYTHONNOUSERSITE is set, so pip install --user packages are ignored. PYTHONPATH is still respected, so any user settings that modify this will affect the containerised environment (this is so the version of ants that the RAS installs is used in preference to the environments).

Thanks, Scott. That URL gives me the message: " 404: Page not found
Make sure the address is correct and the page has not moved. Please contact your GitLab administrator if you think this is a mistake. "

Is there a better way to share this repository?

Indeed, it needs to be moved to the public momentum environment repo. I’ve opened a ticket Create an ants environment Β· Issue #30 Β· MetOffice/ngmo-environments Β· GitHub

Thanks. Looking at the ngm ants/2.1.0 module, I see

[pcl851@gadi-login-07 ~]$ tree /g/data/access/ngm/apps/ants/2.1.0
/g/data/access/ngm/apps/ants/2.1.0
β”œβ”€β”€ bin
β”‚   β”œβ”€β”€ ancil_2anc.py -> ../etc/run-image-command.sh
β”‚   β”œβ”€β”€ ancil_create_shapefile.py -> ../etc/run-image-command.sh
β”‚   β”œβ”€β”€ ancil_fill_n_merge.py -> ../etc/run-image-command.sh
β”‚   β”œβ”€β”€ ancil_general_regrid.py -> ../etc/run-image-command.sh
β”‚   β”œβ”€β”€ ants-launch -> ../etc/run-image-command.sh
β”‚   β”œβ”€β”€ ants-version -> ../etc/run-image-command.sh
β”‚   └── python -> ../etc/run-image-command.sh
β”œβ”€β”€ etc
β”‚   β”œβ”€β”€ image.sif
β”‚   └── run-image-command.sh
└── version-2.1.0
    β”œβ”€β”€ bin
    β”‚   β”œβ”€β”€ ancil_2anc.py -> ../etc/run-image-command.sh
    β”‚   β”œβ”€β”€ ancil_create_shapefile.py -> ../etc/run-image-command.sh
    β”‚   β”œβ”€β”€ ancil_fill_n_merge.py -> ../etc/run-image-command.sh
    β”‚   β”œβ”€β”€ ancil_general_regrid.py -> ../etc/run-image-command.sh
    β”‚   β”œβ”€β”€ ants-launch -> ../etc/run-image-command.sh
    β”‚   β”œβ”€β”€ ants-version -> ../etc/run-image-command.sh
    β”‚   └── python -> ../etc/run-image-command.sh
    └── etc
        β”œβ”€β”€ image.sif
        └── run-image-command.sh

My understanding is that these files were created from the Sign in Β· GitLab repository, rather than the https://code.metoffice.gov.uk/trac/ancil/browser/ants/tags/2.1.0 repository, as I can’t find the file run-image-command.sh there. So if I directly install ants as per the UKMO instructions rather than using the ngm ants module, I won’t be using the Singularity container, but instead I will be using Conda directly.

Yeah if you create your own conda environment the container won’t be used, as always watch your inode usage with bare conda environments.

The RAS installs its own version of ants and uses the container for dependencies - the ants-launch script sets PYTHONPATH and then launches the container’s python.

Thanks for the explanations. I note the following differences between the ants/2.1.0 module and the ants/ug-2.1.0 module:

$ diff -U0 /g/data/access/ngm/apps/ants/*2.1.0/etc/run-image-command.sh 
--- /g/data/access/ngm/apps/ants/2.1.0/etc/run-image-command.sh	2025-05-01 19:45:55.000000000 +1000
+++ /g/data/access/ngm/apps/ants/ug-2.1.0/etc/run-image-command.sh	2025-06-24 11:45:48.000000000 +1000
@@ -11 +11,3 @@
-export PYTHONPATH=""
+# export PYTHONPATH=""
+
+export ESMFMKFILE="/opt/conda/lib/esmf.mk"

Therefore my workflow should be using the ants/ug-2.1.0 module.

1 Like

That solves my immediate problem but I still would like to know where these modules are documented.

Software Modules Β· Wiki Β· BOM / Next Generation Modeling Team / documentation Β· GitLab