Skip to content

Feature/sfc ocn component - #542

Merged
ywkawai merged 23 commits into
developfrom
feature/sfc_ocn_component
Jul 16, 2026
Merged

Feature/sfc ocn component#542
ywkawai merged 23 commits into
developfrom
feature/sfc_ocn_component

Conversation

@ywkawai

@ywkawai ywkawai commented Jul 16, 2026

Copy link
Copy Markdown
Owner

close #540
close #539
close #538
close #537

ywkawai added 22 commits July 13, 2026 15:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces an atmosphere–ocean coupling capability in atm_nonhydro3d by adding an ocean component (including a slab dynamics option), a coupler/buffer layer, and the necessary restart/history I/O enhancements to support multi-component output.

Changes:

  • Add a new Ocean component (mesh/vars/dynamics) and integrate it into the driver time loop.
  • Add a Coupler component and variable buffers to exchange surface/near-surface fields between ATM and OCN.
  • Enhance restart/history I/O to support multiple components (dimension postfixing + multi-component restart registration) and add an atm_ocn coupling test case.

Reviewed changes

Copilot reviewed 38 out of 38 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
model/global_shallow_water/src/mod_sw_vars.F90 Pass dimension-name postfix into restart initialization.
model/atm_nonhydro3d/test/case/coupling/atm_ocn/visualize/visualize.sh Add visualization helper script for the coupling case.
model/atm_nonhydro3d/test/case/coupling/atm_ocn/run.conf Add runtime configuration for the coupling test case.
model/atm_nonhydro3d/test/case/coupling/atm_ocn/mod_user.F90 Add coupling-specific user init for ATM/OCN fields.
model/atm_nonhydro3d/test/case/coupling/atm_ocn/Makefile Add build/run harness for the coupling test case.
model/atm_nonhydro3d/test/case/coupling/atm_ocn/init.conf Add initialization configuration for the coupling test case.
model/atm_nonhydro3d/src/user/mod_user.F90 Extend user hooks to support ocean initialization.
model/atm_nonhydro3d/src/user/mod_user_base.F90 Add ocean-side mkinit base routines for experiments.
model/atm_nonhydro3d/src/ocean/mod_ocean_vars.F90 Introduce ocean variable managers, history, and restart I/O.
model/atm_nonhydro3d/src/ocean/mod_ocean_mesh.F90 Add abstract ocean mesh base type + restart/topography hooks.
model/atm_nonhydro3d/src/ocean/mod_ocean_mesh_rm.F90 Implement regional ocean mesh and communicator/restart setup.
model/atm_nonhydro3d/src/ocean/mod_ocean_mesh_gm.F90 Implement global ocean mesh and communicator/restart setup.
model/atm_nonhydro3d/src/ocean/mod_ocean_dyn.F90 Add ocean dynamics process (incl. slab option) and update step.
model/atm_nonhydro3d/src/ocean/mod_ocean_dyn_vars.F90 Add ocean dynamics auxiliary variables (e.g., Coriolis).
model/atm_nonhydro3d/src/ocean/mod_ocean_component.F90 Add full ocean component wiring, coupler exchange, and surface flux/tendency calculations.
model/atm_nonhydro3d/src/coupler/mod_cpl_component.F90 Add Coupler component skeleton and setup-vars entry point.
model/atm_nonhydro3d/src/coupler/mod_cpl_vars.F90 Add coupler buffer variables and ATM↔OCN put/get routines.
model/atm_nonhydro3d/src/Makefile Include new ocean/coupler sources in the build.
model/atm_nonhydro3d/src/depend Update build dependencies for new modules and revised interfaces.
model/atm_nonhydro3d/src/atmos/mod_atmos_vars.F90 Split restart writing into prep/write/post phases; add dim postfix support.
model/atm_nonhydro3d/src/atmos/mod_atmos_vars_container.F90 Initialize AUX 2D values to UNDEF instead of zero-fill.
model/atm_nonhydro3d/src/atmos/mod_atmos_phy_sfc.F90 Add coupler switch to disable local flux updates when coupled.
model/atm_nonhydro3d/src/atmos/mod_atmos_phy_sfc_vars.F90 Add surface albedo as a surface variable.
model/atm_nonhydro3d/src/atmos/mod_atmos_phy_rd.F90 Output surface radiative flux fields from radiation core.
model/atm_nonhydro3d/src/atmos/mod_atmos_phy_rd_vars.F90 Add radiation restart I/O for surface flux fields.
model/atm_nonhydro3d/src/atmos/mod_atmos_mesh.F90 Extend restartfile setup interface to accept dim postfix.
model/atm_nonhydro3d/src/atmos/mod_atmos_mesh_rm.F90 Thread dim postfix through regional mesh restart init.
model/atm_nonhydro3d/src/atmos/mod_atmos_mesh_gm.F90 Thread dim postfix through global mesh restart init.
model/atm_nonhydro3d/src/atmos/mod_atmos_component.F90 Wire coupler into ATM tendencies and add coupler-based surface-flux tendency path.
model/atm_nonhydro3d/src/admin/mod_experiment.F90 Extend experiment init-cond registration to ocean fields.
model/atm_nonhydro3d/src/admin/mod_dg_prep.F90 Add ocean/coupler setup, init, and restart write pipeline.
model/atm_nonhydro3d/src/admin/mod_dg_driver.F90 Add coupled time stepping, restart read/write sequencing, and ocean history output.
FElib/src/radiation/scale_atm_phy_rd_dgm_gray.F90 Extend gray radiation flux routine to return TOA/surface flux arrays.
FElib/src/file/scale_file_restart_meshfield.F90 Rework restart file handling to support multi-component registration and shared main file.
FElib/src/file/scale_file_common_meshfield.F90 Add dimension postfixing to file dimension naming for multi-component outputs.
doc/user-guide/00_version.tex Bump documented version number.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread model/atm_nonhydro3d/test/case/coupling/atm_ocn/visualize/visualize.sh Outdated
Comment thread model/atm_nonhydro3d/test/case/coupling/atm_ocn/init.conf
Comment thread model/atm_nonhydro3d/test/case/coupling/atm_ocn/run.conf Outdated
Comment thread model/atm_nonhydro3d/src/ocean/mod_ocean_component.F90
Comment thread model/atm_nonhydro3d/src/atmos/mod_atmos_phy_rd.F90
Comment thread model/atm_nonhydro3d/src/atmos/mod_atmos_phy_rd_vars.F90 Outdated
Comment thread model/atm_nonhydro3d/src/admin/mod_dg_driver.F90 Outdated
Comment thread model/atm_nonhydro3d/src/coupler/mod_cpl_component.F90
Comment thread model/atm_nonhydro3d/test/case/coupling/atm_ocn/mod_user.F90
@ywkawai
ywkawai merged commit f908f0e into develop Jul 16, 2026
1 check passed
@ywkawai
ywkawai deleted the feature/sfc_ocn_component branch July 16, 2026 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants