Quoted from: Yablonsky, Richard M., Isaac Ginis, and Biju Thomas. "Ocean modeling with flexible initialization for improved coupled tropical cyclone-ocean model prediction." Environmental Modelling & Software 67 (2015): 26-30. https://doi.org/10.1016/j.envsoft.2015.01.003
MPIPOM-TC is an end-to-end ocean modeling system, with both research and operational applications, that includes generation of an initial ocean condition, a procedure for prescribed hurricane wind forcing, and/or two-way coupling between the ocean and a prognostic hurricane model (e.g. GFDL or HWRF). The MPIPOM-TC code is built on the parallelized sbPOM framework (Jordi and Wang, 2012), including the main driver (pom.f), problem setup (initialize.f), code advancement in time (advance.f), boundary conditions and forcing (bounds_forcing.f), basic dynamics (solver.f), parallel tasks for communications between processors (parallel_mpi.f), parallel I/O (io_pnetcdf.F), model domain size and decomposition (pom.h), and name list (pom.nml). Key differences from sbPOM, many of which are derived from POM-TC, are summarized in Table 1 and commented in the code with the authors' initials.
Table 1. Key differences between the sbPOM code and the MPIPOM-TC code.
File name |
Changes from sbPOM to MPIPOM-TC |
pom.f |
Only used if uncoupled from hurricane model; if coupled, drive_ocean.f used. |
initialize.f |
Options added for f-plane, spatial smoothing and desmoothing (Bender et al., 1993), 1-D (vertical only) dynamics on an A-grid (vs. 3-D C-grid), wave-dependent turbulence, and non-zero initial currents (geostrophic or prescribed) and/or sea surface height; alternative values for input constants. |
advance.f |
Prescribed surface forcing only applied when uncoupled from the hurricane model; added missing MPI exchanges; omitted lateral viscosity, mode interaction, external mode, vertical velocity, horizontal advection, and horizontal diffusion for 1-D only dynamics; smoothing and desmoothing of temperature, salinity, and currents optionally applied; temperature growth eliminated; model fails if SST is unreasonably high. |
bounds_forcing.f |
Maximum depth and the number of vertical sigma levels are not specified here; new boundary conditions added for 1-D only dynamics on an A-grid. |
solver.f |
Missing MPI exchanges added; A-grid used for 1-D only dynamics; wave breaking energy disabled; wave-dependent turbulence optionally applied. |
parallel_mpi.f |
None, except for two minor changes when coupled to the hurricane model. |
io_pnetcdf.F |
I/O parameters added; print times and output directory changed; syntax fixed. |
pom.h |
Many new parameters added (see comments in code for details). |
pom.nml |
Ten name list parameters added to control new and enhanced capabilities. |
Beyond the changes summarized in Table 1, MPIPOM-TC includes separate files to provide specific capabilities during hurricane-model-coupled and/or uncoupled simulations, including prescribed hurricane wind forcing (hurricane_wind.f) using NOAA's Tropical Cyclone Vitals Database (Trahan and Sparling, 2012) or the International Best Track Archive for Climate Stewardship (Knapp et al., 2010), spatial smoothing and desmoothing (smoothing.f), wave-dependent turbulence (calcpwave.f), and initially geostrophic currents (geovel.f). For coupled simulations only, eight additional files are required: atm_ocm.f, cmp.comm.f, make_om_grid.f, make_om_msk.f, mp_arr_pros_om.f, mpi_more.f, ocm_atm.f, and pom.comm.f. Like sbPOM, MPIPOM-TC is scalable with a wide variety of domain decompositions (Jordi and Wang, 2012).