Message passing to and from the coupler
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLINTERFACE:
module ice_couplingUSES:
use ice_calendar use ice_model_size use ice_prescribed use shr_sys_mod, only : shr_sys_flush, shr_sys_abort
INTERFACE:
subroutine init_cplDESCRIPTION:
Initializes message passing between ice and coupler
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
use ice_domain use ice_constants use ice_mpi_internal use ice_grid use ice_calendar use ice_history, only : runtypeINPUT/OUTPUT PARAMETERS:
INTERFACE:
subroutine from_couplerDESCRIPTION:
Reads input data from coupler to sea ice model
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
use ice_domain use ice_constants use ice_flux use ice_timers use ice_mpi_internal use ice_diagnostics use ice_grid use ice_calendar use ice_state use ice_prnpntINPUT/OUTPUT PARAMETERS:
INTERFACE:
subroutine to_couplerDESCRIPTION:
Sea ice model to coupler
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
use ice_model_size use ice_domain use ice_constants use ice_flux use ice_timers use ice_mpi_internal use ice_albedo use ice_diagnostics use ice_grid use ice_calendar use ice_state use ice_history, only : sabs use ice_prnpnt use ice_prescribed use ice_oceanINPUT/OUTPUT PARAMETERS:
INTERFACE:
subroutine exit_couplerDESCRIPTION:
Exit from coupled/MPI environment
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
use ice_kinds_mod use ice_model_size use ice_domainINPUT/OUTPUT PARAMETERS:
INTERFACE:
subroutine mpi_coupled (in_model_name, & cpl_task, model_task, model_comm)DESCRIPTION:
This routine queries all the components of the full coupled
system and sets up proper communicators and task ids for each
component of the coupled system
This routine should be called after mpi-init, but before
setting up any internal mpi setups (since these will require
the internal communicators returned by this routine)
Code originally based on POP routine
REVISION HISTORY:
author: Elizabeth C. Hunke, LANLUSES:
include "mpif.h" ! MPI library definitionsINPUT/OUTPUT PARAMETERS:
character (3), intent(in) :: in_model_name ! 3-letter identifier (atm, lnd, ocn, ice, cpl) ! for the model calling this routine integer, intent(out) :: & cpl_task ! master task of coupler &, model_task ! master task of model (in MPI_COMM_WORLD) &, model_comm ! communicator for internal model comms