Skip to content

dpath2o/AFIM

Repository files navigation

Antarctic Fast Ice Modelling (AFIM)

AFIM is a Python library for analysing, processing, and visualising sea ice model output, particularly focused on fast ice and pack ice derived from the CICE sea ice model.

This package is actively developed as part of a PhD research project at the University of Tasmania, in partnership with the Australian Antarctic Program Partnership (AAPP), and integrates a number of post-processing utilities for Antarctic sea ice metrics derived from CICE.

There are currently no other open-source tools dedicated to post-processing CICE model outputs for fast and pack ice with this level of structure, specificity, and automation.

Documentation Status PyPI version

AFIM Sensitivity Study

Explore key outputs from AFIM simulations:

Gallery Type Description Link
FIP Simulation Tree Gallery Simulation > Region > threshold > figures View Gallery
Intra-model FIP Comparison Compare different FIP group types (FI_BT_bool, FI_Ta_roll, etc.) for a single simulation, region, and ispd_thresh View Gallery »
Inter-model FIP Comparison Compare multiple simulations for the same region, FIP group, and ispd_thresh View Gallery »
FIA Timeseries (1993–1999) Smoothed fast ice area (FIA) timeseries across simulations View Timeseries »
AFIM Archive Status Table of all simulations and their processed outputs (FI/PI/SO, metrics, etc.) View Status Table »

Highlights

SeaIceToolbox — Unified API

  • All-in-one class for Antarctic sea ice analysis:
    • Model I/O, fast/pack ice masking, Zarr output
    • Flexible plotting (maps, time series, faceted views)
    • Grounded iceberg masking and landmask modification
    • Observational data integration (Fraser et al. 2020, NSIDC)
  • Boolean and rolling fast ice classification, spatial/temporal averaging, and regional metrics
  • Regridding, derived fields, and observational overlays built-in
  • Highly configurable via JSON

Batch Processing & HPC-Ready

  • Command-line and scriptable workflows for large-scale or HPC batch processing
  • PBS job scripts and wrappers for automated monthly/seasonal runs

Advanced Plotting

  • Generate spatial maps, regional/faceted views, and time series
  • Overlay observational and grounded iceberg data

Grounded Iceberg Handling

  • Mask grounded iceberg regions and modify landmasks for improved coastal fast ice simulation

Regridding and Derived Fields

  • Supports B-grid, T-grid (average and xESMF) interpolation
  • Computes vector magnitudes for stress and velocity fields

Interactive Analysis


Installation

git clone https://github.com/dpath2o/AFIM.git
cd AFIM
pip install -e ./src

Or using Conda:

conda env create -f src/environment.yml
conda activate afim

Example: Interactive Python Usage

from sea_ice_toolbox import SeaIceToolbox

SI_tools = SeaIceToolbox(
    sim_name='gi-mid',
    dt0_str='1998-07-01',
    dtN_str='1999-07-01',
    ice_speed_threshold=1e-3
)
FI = SI_tools.process_daily_cice()
SI_tools.plot_ice_area(FI)

Project Layout

├── notebooks/                  # Jupyter notebooks
│   └── fi_anal.ipynb           # Main interactive analysis
├── scripts/
│   └── process_fast_ice/
│       ├── process_fast_ice.py           # Legacy CLI script (use SeaIceToolbox for new workflows)
│       ├── process_fast_ice.pbs          # PBS job script
│       └── process_fast_ice_pbs_wrapper.sh # Wrapper to launch monthly jobs
├── src/
│   ├── sea_ice_toolbox.py      # Unified toolbox class (SeaIceToolbox)
│   ├── sea_ice_classification.py       # Model I/O and fast/pack ice logic (subclassed)
│   ├── sea_ice_plotter.py      # Plotting (subclassed)
│   ├── sea_ice_icebergs.py     # Grounded iceberg logic (subclassed)
│   ├── sea_ice_observations.py # Observational data integration (subclassed)
│   └── grounded_iceberg_processor.py
└── docs/                       # Documentation (Sphinx)

Documentation

  • Full API docs and method descriptions under docs/
  • fi_anal.ipynb is the best place to start interactively

Contributions

Contributions and feature requests welcome. Feel free to open an Issue or submit a pull request!


Background

In early 2020, I chose to embark on a PhD in oceanography. This decision was influenced by my background and interest in ocean modelling, the Southern Ocean, and Antarctica. This interest stemmed in large part from my previous professional life as a coastal oceanographer. That work focused mainly on a remote sensing technology called high frequency radar, which continues to be widely used to understand upper ocean dynamics via the digital signal processing of Doppler-shifted Bragg frequencies.

After a decade in that field, I stepped away to diversify my career skillset while also pursuing service-oriented goals. I spent four years learning to drive Navy ships, and then specialised as a Meteorological and Oceanographic Officer in the Royal Australian Navy, applying my scientific background to real-time operational contexts. During this time, I became fascinated by Antarctica, both for its climatic importance and its strategic relevance (see also). This led me to begin searching for a PhD project that would allow me to pursue these interests more deeply.

It wasn’t long before I was introduced to Alex Fraser and a project he had been holding onto that aligned perfectly with my interests. I can't recall exactly when I first learned about the different types of sea ice or their role in polar oceanography, but my early understanding was definitely Arctic-centric. I had only a vague awareness that landfast sea ice (fast ice) played a crucial role in the Arctic system.

When Alex outlined his idea for a fast ice modelling project — and noted that fast ice had been largely neglected in circumpolar sea ice modelling efforts — I was immediately intrigued. It was clear that this was a problem with depth, and one that hadn’t yet received the attention it deserved.

In mid-2021, I enrolled as a part-time PhD student at the University of Tasmania, within the Institute for Marine and Antarctic Studies (IMAS), through the Australian Antarctic Program Partnership. I spent the second half of that year reviewing the literature and drafting an initial research plan. As the project evolved, it became increasingly clear that I should align my work with a well-supported Australian sea ice modelling framework. This would not only benefit my development as a modeller but would also create a stronger pathway for integrating fast ice representation into a nationally supported climate model.

Following a brief pause in early 2022, I resumed my PhD project with a sharpened focus: to explore and implement fast ice modelling in the context of the COSIMA model framework.

In 2025, I was awarded the Australian Defence Force Chief of Defence Force Fellowship in recognition of my research into Antarctic fast ice and its relevance to climate and strategic studies.

About

Australian Fast Ice Modelling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published