diff --git a/config_src/mct_driver/ocn_comp_mct.F90 b/config_src/mct_driver/ocn_comp_mct.F90 new file mode 100644 index 0000000000..905bb65eea --- /dev/null +++ b/config_src/mct_driver/ocn_comp_mct.F90 @@ -0,0 +1,140 @@ +module ocn_comp_mct + +!||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| +!BOP +! !MODULE: ocn_comp_mct +! !INTERFACE: + +! !DESCRIPTION: +! This is the main driver for the MOM6 in CIME +! +! !REVISION HISTORY: +! +! !USES: + use esmf + use seq_cdata_mod + use mct_mod + +! +! !PUBLIC MEMBER FUNCTIONS: + implicit none + public :: ocn_init_mct + public :: ocn_run_mct + public :: ocn_final_mct + private ! By default make data private + +! +! ! PUBLIC DATA: +! +! !REVISION HISTORY: +! Author: Mariana Vertenstein +! +!EOP +! !PRIVATE MODULE FUNCTIONS: + +! +! !PRIVATE MODULE VARIABLES + +!======================================================================= + +contains + +!*********************************************************************** +!BOP +! +! !IROUTINE: ocn_init_mct +! +! !INTERFACE: + subroutine ocn_init_mct( EClock, cdata_o, x2o_o, o2x_o, NLFilename ) +! +! !DESCRIPTION: +! Initialize POP +! +! !INPUT/OUTPUT PARAMETERS: + + type(ESMF_Clock) , intent(inout) :: EClock + type(seq_cdata) , intent(inout) :: cdata_o + type(mct_aVect) , intent(inout) :: x2o_o, o2x_o + character(len=*), optional , intent(in) :: NLFilename ! Namelist filename +! +! !REVISION HISTORY: +! Author: Mariana Vertenstein +!EOP +!----------------------------------------------------------------------- +! +! local variables +! +!----------------------------------------------------------------------- + + +!----------------------------------------------------------------------- +!EOC + + end subroutine ocn_init_mct + +!*********************************************************************** +!BOP +! +! !IROUTINE: ocn_run_mct +! +! !INTERFACE: + subroutine ocn_run_mct( EClock, cdata_o, x2o_o, o2x_o) +! +! !DESCRIPTION: +! Run POP for a coupling interval +! +! !INPUT/OUTPUT PARAMETERS: + type(ESMF_Clock) , intent(inout) :: EClock + type(seq_cdata) , intent(inout) :: cdata_o + type(mct_aVect) , intent(inout) :: x2o_o + type(mct_aVect) , intent(inout) :: o2x_o + +! +! !REVISION HISTORY: +! Author: Mariana Vertenstein +!EOP +!----------------------------------------------------------------------- +! +! local variables +! +!----------------------------------------------------------------------- + +!----------------------------------------------------------------------- +!EOC + + end subroutine ocn_run_mct + +!*********************************************************************** +!BOP +! +! !IROUTINE: ocn_final_mct +! +! !INTERFACE: + subroutine ocn_final_mct( EClock, cdata_o, x2o_o, o2x_o) +! +! !DESCRIPTION: +! Finalize POP +! +! !USES: +! !ARGUMENTS: + type(ESMF_Clock) , intent(inout) :: EClock + type(seq_cdata) , intent(inout) :: cdata_o + type(mct_aVect) , intent(inout) :: x2o_o + type(mct_aVect) , intent(inout) :: o2x_o +! +! !REVISION HISTORY: +! Author: Fei Liu +!EOP +!BOC +!----------------------------------------------------------------------- +! +! local variables +! +!----------------------------------------------------------------------- + + end subroutine ocn_final_mct + + +end module ocn_comp_mct + +!|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||