Skip to content

IvanaEscobar/belli

Repository files navigation

belli: Underwater acoustics for MITgcm

belli 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

How-to use

MITgcm code modifications are saved in belli/mitgcm_code:

  • adds useBELLI to PARAMS.h
  • inserts pkg/BELLI in forward_step.F
  • allows for SVEL and SLD as GCM diagnostics using pkg/diagnostics with optional pkg/mnc
  • opens pkg/BELLI for inclusion in TAF TL and AD models, can be used with and without pkg/ecco

belli is dependent on the following packages:

  • cal for storing times of sound transmissions
  • cost for aggregation of acoustic cost function contributions

Tips

Create belli domain

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 b_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.

belli domain

TO-DO

  • DOC: create minimal documentation to help user get started with MITgcm+belli
  • PYTHON: add simple input file generation
  • FORTRAN77: add simple verification problem
  • PYTHON: add synthetic observation data file generation
  • PYTHON: creat esimple analysis document

Citing

@software{belli,
    author={Ivana Escobar},
    title = {{belli}: Underwater Acoustics for MITgcm},
    version = {0.6},
    year = {2026},
    url = {https://github.com/IvanaEscobar/belli/tree/v0.6}
}

About

Underwater acoustics for MITgcm

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors