Type | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|
character(len=ESMF_MAXSTR) | :: | failMsg | ||||
character(len=ESMF_MAXSTR) | :: | testname | ||||
integer | :: | finalrc | ||||
integer | :: | rc | ||||
integer | :: | result | = | 0 | ||
type(ESMF_GridComp) | :: | drvr |
program ESMF_NUOPCBasicModelEx !------------------------------------------------------------------------------ !ESMF_EXAMPLE String used by test script to count examples. !============================================================================== #include "ESMF.h" ! ESMF Framework module use ESMF use ESMF_TestMod use DRIVER, only: driverSS => SetServices implicit none ! Local variables type(ESMF_GridComp) :: drvr integer :: rc integer :: finalrc integer :: result = 0 ! all pass character(ESMF_MAXSTR) :: testname character(ESMF_MAXSTR) :: failMsg finalrc = ESMF_SUCCESS !------------------------------------------------------------------------- !------------------------------------------------------------------------- write(failMsg, *) "Example failure" write(testname, *) "Example ESMF_NUOPCBasicModelEx" !------------------------------------------------------------------------- !------------------------------------------------------------------------- call ESMF_Initialize(defaultlogfilename="NUOPCBasicModelEx.Log", & defaultCalKind=ESMF_CALKIND_GREGORIAN, & logkindflag=ESMF_LOGKIND_MULTI, rc=rc) !------------------------------------------------------------------------- print *, "NUOPC Basic Model template run" ! instantiate the cap and do a sanity check run drvr = ESMF_GridCompCreate(name="Driver", rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE call ESMF_GridCompSetServices(drvr, userRoutine=driverSS, rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE call ESMF_GridCompInitialize(drvr, phase=0, rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE call ESMF_GridCompInitialize(drvr, rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE call ESMF_GridCompRun(drvr, rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE call ESMF_GridCompFinalize(drvr, rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE call ESMF_GridCompDestroy(drvr, rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE !------------------------------------------------------------------------- ! IMPORTANT: ESMF_STest() prints the PASS string and the # of processors in the log ! file that the scripts grep for. call ESMF_STest((finalrc.eq.ESMF_SUCCESS), testname, failMsg, result, ESMF_SRCLINE) call ESMF_Finalize(rc=rc) if (rc.NE.ESMF_SUCCESS) finalrc = ESMF_FAILURE if (finalrc.EQ.ESMF_SUCCESS) then print *, "PASS: ESMF_NUOPCBasicModelEx.F90" else print *, "FAIL: ESMF_NUOPCBasicModelEx.F90" end if end program ESMF_NUOPCBasicModelEx