! ! !MODULE: GFS_Finalize_ESMFMod --- Finalize module of the ESMF grided ! component of the GFS system. ! ! !DESCRIPTION: GFS finalize module. ! ! !REVISION HISTORY: ! ! November 2004 Weiyu Yang Initial code. ! February 2006 Shrinivas Moorthi - removed some comments ! ! ! !INTERFACE: ! MODULE GFS_Finalize_ESMFMod ! !!USES: ! USE GFS_InternalState_ESMFMod use gfsio_module , only : gfsio_finalize IMPLICIT none CONTAINS SUBROUTINE GFS_Finalize(gcGFS, gis, rc) TYPE(ESMF_GridComp), INTENT(inout) :: gcGFS TYPE(GFS_InternalState) :: gis INTEGER, OPTIONAL, INTENT(out) :: rc INTEGER :: rc1 = ESMF_SUCCESS ! !*********************************************************************** ! IF (me.eq.0) THEN CALL countperf(0,17,0.) write(*,*)'Final values' write(*,*)'************' CALL bar3(gis%trie_ls(1,1,gis%P_ze), & gis%trio_ls(1,1,gis%P_ze),'ze ',levs) CALL bar3(gis%trie_ls(1,1,gis%P_di), & gis%trio_ls(1,1,gis%P_di),'di ',levs) CALL bar3(gis%trie_ls(1,1,gis%P_te), & gis%trio_ls(1,1,gis%P_te),'te ',levs) CALL bar3(gis%trie_ls(1,1,gis%P_rq), & gis%trio_ls(1,1,gis%P_rq),'rq ',levs) CALL bar3(gis%trie_ls(1,1,gis%P_rq+levs), & gis%trio_ls(1,1,gis%P_rq+levs),'oz1 ',levs) CALL bar3(gis%trie_ls(1,1,gis%P_rq+2*levs), & gis%trio_ls(1,1,gis%P_rq+2*levs),'oz2 ',levs) CALL bar3(gis%trie_ls(1,1,gis%P_q), & gis%trio_ls(1,1,gis%P_q),'q ',1) CALL bar3(gis%trie_ls(1,1,gis%P_gz), & gis%trio_ls(1,1,gis%P_gz),'gz ',1) CALL countperf(1,17,0.) ENDIF CALL synchro CALL countperf(1,15,0.) CALL countperf(0,15,0.) CALL synchro CALL countperf(1,15,0.) !! CALL end_countperf() CALL write_countperf(NODES,me,fhour) !! if(me.eq.0) then call w3tage('gsm ') endif !! !C JJT TERMINATE HPM ... THIS IS NEEDED CALL f_hpmterminate(ME) ! if (gfsio_out .or. gfsio_in) then call gfsio_finalize() endif ! Release the ESMF states, clock and grided component. !----------------------------------------------------- CALL ESMF_GridCompDestroy(gcGFS, rc = rc1) IF(PRESENT(rc)) THEN rc = rc1 END IF END SUBROUTINE GFS_Finalize END MODULE GFS_Finalize_ESMFMod