Hi all. I’ve been chasing my tail for a few days until I discovered this. I’m posting this so it’s documented within the community.
TLDR; ants will arbitarily override some filenames when saving a UM ancillary file.
Try this code snippet in the following environment:
module use /g/data/vk83/modules
module load ants/3.2.0
import ants
import numpy as np
import iris
from iris.cube import Cube
from iris.coords import DimCoord
latitude = DimCoord(
np.array([-45.0, -15.0, 15.0, 45.0]),
standard_name='latitude',
units='degrees',
var_name='lat'
)
longitude = DimCoord(
np.array([0.0, 90.0, 180.0, 270.0]),
standard_name='longitude',
units='degrees',
var_name='lon'
)
data = np.random.rand(4, 4).astype(np.float32)
cube = Cube(
data,
standard_name='air_temperature',
units='K',
dim_coords_and_dims=[
(latitude, 0), # Axis 0 corresponds to latitude
(longitude, 1) # Axis 1 corresponds to longitude
]
)
cube.attributes = {'STASH':'m01s00i505'}
ants.io.save.ancil(cube, 'cube')
ants.io.save.ancil(cube, 'cube.mask')
ants.io.save.ancil(cube, 'qrparm.mask')
This will create three files.
qrparm.mask_cci
cube
cube.mask
Note that ants appears to automatically rename a ‘qrparm.mask’ file to ‘qrparm.mask_cci’ !!
This appears to be independent of STASH code. e.g.
cube.attributes = {'STASH':'m01s03i227'}
ants.io.save.ancil(cube, 'qrparm.mask')
will also output a qrparm.mask_cci file.