Set of routines that define communication between the
land model and flux coupler. The order of sends/receives is:
1) receive orbital data from coupler
2) send control data (grids and masks) to coupler
land grid does not have valid data, runoff grid does
3) receive valid land grid from flux coupler
4) send compressed runoff information to flux coupler
5) start normal send/recv communication patterm
USES:
use shr_kind_mod, only: r8 => shr_kind_r8 use nanMod use clm_varpar !parameters #if (defined SPMD) use spmdMod, only : masterproc, mpicom, gather_data_to_master, scatter_data_from_master #else use spmdMod, only : masterproc #endif use shr_msg_mod !csm_share message passing routines use shr_sys_mod, only: shr_sys_irtc !csm_share system utility routines use system_messages, only : allocation_err !allocation error outputPUBLIC TYPES:
implicit none savePUBLIC MEMBER FUNCTIONS:
public :: csm_recvorb !Receive initial control data public :: csm_sendcontrol !Send first control data and first "invalid" grid public :: csm_recvgrid !Receive grid and land mask public :: csm_sendrunoff !Send valid runoff information public :: csm_sendalb !Send initial albedos, surface temp and snow data public :: csm_dosndrcv !logic for determining if send/recv public :: csm_recv !receive data from flux coupler public :: csm_send !send data to flux coupler public :: csm_flxave !flux averaging rougine public :: restart_coupler !restart code public :: compat_check_spval public :: csm_compat !checks compatibility of messages send/receivedREVISION HISTORY:
02.09.17 Mariana Vertenstein Updated to clm2_1 data structures