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
useIHOP
toPARAMS.h
- inserts
pkg/ihop
inforward_step.F
- allows for
SVEL
andSLD
as GCM diagnostics usingpkg/diagnostics
with optionalpkg/mnc
- opens
pkg/ihop
for inclusion in TAF TL and AD models, can be used with and withoutpkg/ecco
ihop
is dependent on the following packages:
cal
for storing times of sound transmissionscost
for 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