From 5828abb7cf28fad363cc1cd2905e84eb2c864ce9 Mon Sep 17 00:00:00 2001 From: James Bruten Date: Thu, 18 Sep 2025 09:34:19 +0100 Subject: [PATCH 1/3] update install script for git --- admin/meto_install_mule.sh | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/admin/meto_install_mule.sh b/admin/meto_install_mule.sh index d4f57421..5ca24af2 100755 --- a/admin/meto_install_mule.sh +++ b/admin/meto_install_mule.sh @@ -51,26 +51,28 @@ elif [[ $hostname == uan01 ]] || [[ $hostname == login* ]] || [[ $hostname == ca wafc=$UMDIR/$um_ver/ex1a/wafccb_cce fi -# Get a copy of the mule trunk at the required version - if it has already been -# checked out, re-use the copy already present. Note that this leaves a working -# copy in the current directory, which you may want to clean up once finished -if [ ! -d mule_trunk_$mule_ver ] ; then - fcm co fcm:mule.xm_tr@$mule_ver mule_trunk_$mule_ver -fi -cd mule_trunk_$mule_ver +# Run from git clone containing this script +clone_location="$(dirname "$0")/.." +cd $clone_location # Find out the versions of Python and Numpy the environment has pythonver=$(python -c "from platform import python_version ; print(python_version())") numpyver=$(python -c "import numpy; print(numpy.__version__)") # Construct the name of the install directory for this Mule install -dest_dir=python-${pythonver}_numpy-${numpyver} +dest_dir=$(realpath ../python-${pythonver}_numpy-${numpyver}) # Don't overwrite/rebuild an existing install if [ -d $dest_dir ] ; then echo "$dest_dir already exists..." exit 1 fi +echo "Installing mule for Python ${pythonver} and Numpy ${numpyver}" +echo "Insalling from clone at $(realpath $clone_location)" +echo "Installing to ${dest_dir}" +echo "" +echo "" + # Run the build twice - once with and once without openmp for omp in openmp no-openmp ; do @@ -80,11 +82,11 @@ for omp in openmp no-openmp ; do --library_lock --ppibm_lib --spiral_lib --packing_lib\ --sstpert_lib $sst --wafccb_lib $wafc \ --shumlib_path $shum/$omp \ - ../$dest_dir/$omp/lib ../$dest_dir/$omp/bin + $dest_dir/$omp/lib $dest_dir/$omp/bin # Check the build works by running the unit-tests for mod in um_packing mule um_utils um_spiral_search ; do - PYTHONPATH=../$dest_dir/$omp/lib python -m unittest discover -v $mod.tests + PYTHONPATH=$dest_dir/$omp/lib python -m unittest discover -v $mod.tests done # By default the entry-point scripts created this way will be tied to @@ -94,6 +96,6 @@ for omp in openmp no-openmp ; do # to be called when a compatible environment is loaded; which the # modules we setup make sure of). So we'll replace the first line of # the entry point scripts with the generic environment python invocation - sed -i "s:^#!.*:#!/usr/bin/env python:g" ../$dest_dir/$omp/bin/mule-* + sed -i "s:^#!.*:#!/usr/bin/env python:g" $dest_dir/$omp/bin/mule-* done From 1204643060b6386121f4c100c140a72ac76b6f96 Mon Sep 17 00:00:00 2001 From: James Bruten Date: Tue, 30 Sep 2025 11:20:09 +0100 Subject: [PATCH 2/3] mule 2025.10.1 changes --- admin/meto_install_mule.sh | 6 +++--- mule/docs/source/conf.py | 4 ++-- mule/lib/mule/__init__.py | 2 +- mule/setup.py | 2 +- um_packing/lib/um_packing/__init__.py | 2 +- um_packing/setup.py | 2 +- um_ppibm/lib/um_ppibm/__init__.py | 2 +- um_ppibm/setup.py | 2 +- um_spiral_search/lib/um_spiral_search/__init__.py | 2 +- um_spiral_search/setup.py | 2 +- um_sstpert/lib/um_sstpert/__init__.py | 2 +- um_sstpert/setup.py | 2 +- um_utils/docs/source/conf.py | 4 ++-- um_utils/lib/um_utils/__init__.py | 2 +- um_utils/setup.py | 2 +- um_wafccb/lib/um_wafccb/__init__.py | 2 +- um_wafccb/setup.py | 2 +- 17 files changed, 21 insertions(+), 21 deletions(-) diff --git a/admin/meto_install_mule.sh b/admin/meto_install_mule.sh index 5ca24af2..dde3ce21 100755 --- a/admin/meto_install_mule.sh +++ b/admin/meto_install_mule.sh @@ -32,11 +32,11 @@ set -eu # Setup what version of things should be used # Mule version for build (will be checked out from SRS) -mule_ver=2024.11.1 +mule_ver=2025.10.1 # UM version for sstpert and wafccb libraries (will be looked up in $UMDIR) -um_ver=vn13.7 +um_ver=vn13.9 # Shumlib version (will be looked up in $UMDIR) -shum_ver=2024.11.1 +shum_ver=2025.10.1 # Set library locations and which specific builds to use on each platform hostname=$(hostname) diff --git a/mule/docs/source/conf.py b/mule/docs/source/conf.py index 6edf7cda..d3ba8bea 100644 --- a/mule/docs/source/conf.py +++ b/mule/docs/source/conf.py @@ -55,9 +55,9 @@ # built documents. # # The short X.Y version. -version = '2024.11.1' +version = '2025.10.1' # The full version, including alpha/beta/rc tags. -release = '2024.11.1' +release = '2025.10.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/mule/lib/mule/__init__.py b/mule/lib/mule/__init__.py index 1adb7a0f..ec414e2c 100644 --- a/mule/lib/mule/__init__.py +++ b/mule/lib/mule/__init__.py @@ -57,7 +57,7 @@ from contextlib import contextmanager from mule.stashmaster import STASHmaster -__version__ = "2024.11.1" +__version__ = "2025.10.1" # UM fixed length header names and positions _UM_FIXED_LENGTH_HEADER = [ diff --git a/mule/setup.py b/mule/setup.py index f80a4383..34709c12 100644 --- a/mule/setup.py +++ b/mule/setup.py @@ -47,7 +47,7 @@ def run(self): setuptools.setup( name='mule', - version='2024.11.1', + version='2025.10.1', description='Unified Model Fields File interface', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', diff --git a/um_packing/lib/um_packing/__init__.py b/um_packing/lib/um_packing/__init__.py index dac15eac..57bab6d3 100644 --- a/um_packing/lib/um_packing/__init__.py +++ b/um_packing/lib/um_packing/__init__.py @@ -20,4 +20,4 @@ from .um_packing import wgdos_pack, wgdos_unpack, get_shumlib_version -__version__ = "2024.11.1" +__version__ = "2025.10.1" diff --git a/um_packing/setup.py b/um_packing/setup.py index ae03cabf..b4ecdaf9 100644 --- a/um_packing/setup.py +++ b/um_packing/setup.py @@ -52,7 +52,7 @@ def run(self): setuptools.setup( name='um_packing', - version='2024.11.1', + version='2025.10.1', description='Unified Model packing library extension', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', diff --git a/um_ppibm/lib/um_ppibm/__init__.py b/um_ppibm/lib/um_ppibm/__init__.py index 156e4b2f..3bbbf934 100644 --- a/um_ppibm/lib/um_ppibm/__init__.py +++ b/um_ppibm/lib/um_ppibm/__init__.py @@ -40,7 +40,7 @@ msg = "Failed to import ieee2ibm32 extension" raise ImportError(err.args + (msg,)) -__version__ = "2024.11.1" +__version__ = "2025.10.1" # Custom write operator for "unpacked" fields which passes them through the diff --git a/um_ppibm/setup.py b/um_ppibm/setup.py index 58c06bf8..fc6e6055 100644 --- a/um_ppibm/setup.py +++ b/um_ppibm/setup.py @@ -52,7 +52,7 @@ def run(self): setuptools.setup( name='um_ppibm', - version='2024.11.1', + version='2025.10.1', description='Unified Model pp conversion utility with IBM number format', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', diff --git a/um_spiral_search/lib/um_spiral_search/__init__.py b/um_spiral_search/lib/um_spiral_search/__init__.py index 9f26eed7..4253a7f7 100644 --- a/um_spiral_search/lib/um_spiral_search/__init__.py +++ b/um_spiral_search/lib/um_spiral_search/__init__.py @@ -21,4 +21,4 @@ from .um_spiral_search import spiral_search -__version__ = "2024.11.1" +__version__ = "2025.10.1" diff --git a/um_spiral_search/setup.py b/um_spiral_search/setup.py index b9aefce9..b4c7b777 100644 --- a/um_spiral_search/setup.py +++ b/um_spiral_search/setup.py @@ -52,7 +52,7 @@ def run(self): setuptools.setup( name='um_spiral_search', - version='2024.11.1', + version='2025.10.1', description='Unified Model Spiral Search extension', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', diff --git a/um_sstpert/lib/um_sstpert/__init__.py b/um_sstpert/lib/um_sstpert/__init__.py index bd18a31d..5aba6eb6 100644 --- a/um_sstpert/lib/um_sstpert/__init__.py +++ b/um_sstpert/lib/um_sstpert/__init__.py @@ -48,7 +48,7 @@ from um_utils.version import report_modules from um_utils.pumf import _banner -__version__ = "2024.11.1" +__version__ = "2025.10.1" def gen_pert_field(clim_fields, alpha, ens_member, date): diff --git a/um_sstpert/setup.py b/um_sstpert/setup.py index e52d4b79..55a48837 100644 --- a/um_sstpert/setup.py +++ b/um_sstpert/setup.py @@ -52,7 +52,7 @@ def run(self): setuptools.setup( name='um_sstpert', - version='2024.11.1', + version='2025.10.1', description='Unified Model SST-perturbation extension and utility', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', diff --git a/um_utils/docs/source/conf.py b/um_utils/docs/source/conf.py index 2cacfca5..15f412a4 100644 --- a/um_utils/docs/source/conf.py +++ b/um_utils/docs/source/conf.py @@ -55,9 +55,9 @@ # built documents. # # The short X.Y version. -version = '2024.11.1' +version = '2025.10.1' # The full version, including alpha/beta/rc tags. -release = '2024.11.1' +release = '2025.10.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/um_utils/lib/um_utils/__init__.py b/um_utils/lib/um_utils/__init__.py index 28712948..165cd7eb 100644 --- a/um_utils/lib/um_utils/__init__.py +++ b/um_utils/lib/um_utils/__init__.py @@ -19,4 +19,4 @@ # along with these utilities. # If not, see . -__version__ = "2024.11.1" +__version__ = "2025.10.1" diff --git a/um_utils/setup.py b/um_utils/setup.py index 80ab856f..28fb09b4 100644 --- a/um_utils/setup.py +++ b/um_utils/setup.py @@ -47,7 +47,7 @@ def run(self): setuptools.setup( name='um_utils', - version='2024.11.1', + version='2025.10.1', description='Unified Model Fields File utilities', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', diff --git a/um_wafccb/lib/um_wafccb/__init__.py b/um_wafccb/lib/um_wafccb/__init__.py index f1efc7fa..79e34be7 100644 --- a/um_wafccb/lib/um_wafccb/__init__.py +++ b/um_wafccb/lib/um_wafccb/__init__.py @@ -20,4 +20,4 @@ from .um_wafccb import wafccb -__version__ = "2024.11.1" +__version__ = "2025.10.1" diff --git a/um_wafccb/setup.py b/um_wafccb/setup.py index 450d3421..01cf52bf 100644 --- a/um_wafccb/setup.py +++ b/um_wafccb/setup.py @@ -52,7 +52,7 @@ def run(self): setuptools.setup( name='um_wafccb', - version='2024.11.1', + version='2025.10.1', description='Unified Model WAFC CB extension', author='UM Systems Team', url='https://code.metoffice.gov.uk/trac/um', From 5cac73267fbe5b0f75074af338d63d38165d2d7b Mon Sep 17 00:00:00 2001 From: James Bruten Date: Wed, 1 Oct 2025 14:32:22 +0100 Subject: [PATCH 3/3] fix shell --- admin/meto_install_mule.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/admin/meto_install_mule.sh b/admin/meto_install_mule.sh index 58f73888..c6dbddd5 100755 --- a/admin/meto_install_mule.sh +++ b/admin/meto_install_mule.sh @@ -66,11 +66,7 @@ if [ -d $dest_dir ] ; then fi echo "Installing mule for Python ${pythonver} and Numpy ${numpyver}" -<<<<<<< HEAD -echo "Insalling from clone at $(realpath $clone_location)" -======= echo "Installing from clone at $(realpath $clone_location)" ->>>>>>> main echo "Installing to ${dest_dir}" echo "" echo ""