========= Changelog ========= All notable changes to Cocoa will be documented in this file. The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_. [Unreleased] ------------ Added ^^^^^ - N/A Changed ^^^^^^^ - Asynchronous I/O is now always on. Output is delivered on a background writer thread and meteorological input is pre-read ahead of need, overlapping file access with computation in every run. MPI is initialized with ``MPI_THREAD_FUNNELED`` to support this; a run aborts at startup if the MPI build cannot provide it. Deprecated ^^^^^^^^^^ - N/A Removed ^^^^^^^ - The ``--asyncio`` command-line flag and its modes. Asynchronous output is now unconditional, so there is no mode to select. The dedicated-MPI-I/O-rank mode (``--asyncio=mpi``) has been removed; all ranks now participate in computation. Fixed ^^^^^ - N/A Security ^^^^^^^^ - N/A Migration Guide --------------- Migrating from ADCIRC ^^^^^^^^^^^^^^^^^^^^^ Converting Mesh Files """"""""""""""""""""" Cocoa uses NetCDF format for mesh files instead of ADCIRC's fort.14/fort.13 format. A conversion script is provided in the ``utils`` directory: .. code-block:: bash python utils/cocoa_mesh_tools.py from_adcirc \ --mesh fort.14 \ --attributes fort.13 \ --output mesh.nc **Arguments:** - ``--mesh``: ADCIRC mesh file (fort.14) - required - ``--attributes``: ADCIRC nodal attributes file (fort.13) - optional - ``--output``: Output NetCDF file path - required Configuration Files """"""""""""""""""" Cocoa uses YAML configuration files instead of ADCIRC's fort.15 format. Key differences: .. list-table:: :header-rows: 1 * - ADCIRC Parameter - Cocoa Equivalent * - DT - ``simulation.time_step`` * - TAU0 - ``physics.tau0`` * - STATIM - ``simulation.start_time`` * - RNDAY - ``simulation.end_time`` .. note:: In ADCIRC, a negative TAU0 value triggers spatially-varying computation. In Cocoa, ``tau0`` must always be a positive constant value. Example conversion: **ADCIRC fort.15**: .. code-block:: text DT = 2.0 TAU0 = 0.005 RNDAY = 1.0 **Cocoa YAML**: .. code-block:: yaml simulation: time_step: 2s start_time: 2025-01-01 end_time: 2025-01-02 physics: tau0: 0.005