ihop is a new physics package in MITgcm, allowing for simulations to investigate underwater acoustics. This code, based in Modern Fortran, is a ray-trace simulation of sound propagation.
The package interacts with the MITgcm kernel during initialisation, time-stepping, and in post-processing.
Development is up to date with MITgcm checkpoint69f
MITgcm code modifications are saved in ihop/mitgcm_code:
- adds
useIHOPtoPARAMS.h - inserts
pkg/ihopinforward_step.F - allows for
SVELandSLDas GCM diagnostics usingpkg/diagnosticswith optionalpkg/mnc - opens
pkg/ihopfor inclusion in TAF TL and AD models, can be used with and withoutpkg/ecco
ihop is dependent on the following packages:
calfor storing times of sound transmissionscostfor aggregation of acoustic cost function contributions
For input, you will be asked to generate range points along a 2D plane between
a source and receiver. The number of range points can vary from 2 to N, and is saved in ihop_ranges. The position of a receiver must be contained within the ranges specified, see image below for context. At ray fan initialisation, the tracing step size is 10% the maximum ocean depth defined in your .bty file.
- DOC: create minimal documentation to help user get started with MITgcm+ihop
- PYTHON: add simple input file generation
- FORTRAN77: add simple verification problem
- PYTHON: add synthetic observation data file generation
- PYTHON: creat esimple analysis document
@software{ihop,
author={Ivana Escobar},
title = {{ihop}: Underwater Acoustics for MITgcm},
version = {0.4},
year = {2025},
url = {https://github.com/IvanaEscobar/ihop/tree/v0.4}
}
