ESMF_TestEnd Subroutine

public subroutine ESMF_TestEnd(file, line, unit)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: file
integer, intent(in) :: line
integer, intent(in), optional :: unit

Calls

proc~~esmf_testend~~CallsGraph proc~esmf_testend ESMF_TestEnd proc~esmf_finalize ESMF_Finalize proc~esmf_testend->proc~esmf_finalize proc~esmf_logwrite ESMF_LogWrite proc~esmf_testend->proc~esmf_logwrite proc~esmf_finalize->proc~esmf_logwrite c_esmc_getcompliancechecktrace c_esmc_getcompliancechecktrace proc~esmf_finalize->c_esmc_getcompliancechecktrace proc~esmf_calendarfinalize ESMF_CalendarFinalize proc~esmf_finalize->proc~esmf_calendarfinalize proc~esmf_logfinalize ESMF_LogFinalize proc~esmf_finalize->proc~esmf_logfinalize proc~esmf_logflush ESMF_LogFlush proc~esmf_finalize->proc~esmf_logflush proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_finalize->proc~esmf_logrc2msg proc~esmf_traceclose ESMF_TraceClose proc~esmf_finalize->proc~esmf_traceclose proc~esmf_vmabort ESMF_VMAbort proc~esmf_finalize->proc~esmf_vmabort proc~esmf_vmfinalize ESMF_VMFinalize proc~esmf_finalize->proc~esmf_vmfinalize c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array c_esmc_calendarfinalize c_esmc_calendarfinalize proc~esmf_calendarfinalize->c_esmc_calendarfinalize proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_calendarfinalize->proc~esmf_logfounderror proc~esmf_logclose->proc~esmf_logflush proc~esmf_logfinalize->proc~esmf_logclose c_esmc_logfinalize c_esmc_logfinalize proc~esmf_logfinalize->c_esmc_logfinalize proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmftrace_close c_esmftrace_close proc~esmf_traceclose->c_esmftrace_close proc~esmf_traceclose->proc~esmf_logfounderror c_esmc_vmabort c_esmc_vmabort proc~esmf_vmabort->c_esmc_vmabort c_esmc_vmfinalize c_esmc_vmfinalize proc~esmf_vmfinalize->c_esmc_vmfinalize proc~esmf_logfounderror->proc~esmf_logwrite proc~esmf_logfounderror->proc~esmf_logrc2msg esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint

Called by

AttributeUpdateReconcilewESMF_TestEnd
w
ESMF_AlarmTestw
w
ESMF_ArrayArbIdxSMMUTestw
w
ESMF_ArrayBundleCreateUTestw
w
ESMF_ArrayBundleIOUTestw
w
ESMF_ArrayBundleRedistUTestw
w
ESMF_ArrayCreateGetUTestw
w
ESMF_ArrayDataUTestw
w
ESMF_ArrayGatherUTestw
w
ESMF_ArrayHaloUTestw
w
ESMF_ArrayInfoUTestw
w
ESMF_ArrayIOTypesUTestw
w
ESMF_ArrayIOUTestw
w
ESMF_ArrayRedistPerfUTestw
w
ESMF_ArrayRedistUTestw
w
ESMF_ArrayScatterUTestw
w
ESMF_ArraySMMFromFileUTestw
w
ESMF_ArraySMMUTestw
w
ESMF_ArraySpecUTestw
w
ESMF_AttributeProfileUTestw
w
ESMF_AttributeUpdateContainerStressUTestw
w
ESMF_AttributeUpdateMultiReconcileUTestw
w
ESMF_AttributeUpdateRemoveOnlyUTestw
w
ESMF_AttributeUpdateUTestw
w
ESMF_AttributeUpdateUTestw
w
ESMF_AttributeUtilUTestw
w
ESMF_BaseUTestw
w
ESMF_CalendarUTestw
w
ESMF_CalRangeUTestw
w
ESMF_ClockTestw
w
ESMF_ComponentUTestw
w
ESMF_CompSetServUTestw
w
ESMF_CompTunnelUTestw
w
ESMF_Config_Testw
w
ESMF_ContainerUTestw
w
ESMF_CplCompCreateUTestw
w
ESMF_DELayoutUTestw
w
ESMF_DELayoutWQUTestw
w
ESMF_DistGridCreateGetUTestw
w
ESMF_F95PTRUTestw
w
ESMF_FieldArbGridUTestw
w
ESMF_FieldBundleCrGetUTestw
w
ESMF_FieldBundleIOUTestw
w
ESMF_FieldBundleRegridUTestw
w
ESMF_FieldBundleSMMUTestw
w
ESMF_FieldBundleUTestw
w
ESMF_FieldCreateGetUTestw
w
ESMF_FieldGatherUTestw
w
ESMF_FieldHaloUTestw
w
ESMF_FieldIOUTestw
w
ESMF_FieldLSSMMUTestw
w
ESMF_FieldMeshSMMUTestw
w
ESMF_FieldRedistArbUTestw
w
ESMF_FieldRedistUTestw
w
ESMF_FieldRegridCsrv2ndUTestw
w
ESMF_FieldRegridCsrvUTestw
w
ESMF_FieldRegridUTestw
w
ESMF_FieldRegridUTestw
w
ESMF_FieldRegridXGSMMUTestw
w
ESMF_FieldRegridXGUTestw
w
ESMF_FieldSMMFromFileUTestw
w
ESMF_FieldSMMUTestw
w
ESMF_FieldStressUTestw
w
ESMF_FieldUTestw
w
ESMF_FileRegridUTestw
w
ESMF_FortranWordsizeUTestw
w
ESMF_FrameworkUTestw
w
ESMF_GeomUTestw
w
ESMF_GridArbitraryUTestw
w
ESMF_GridCompCreateUTestw
w
ESMF_GridCoordUTestw
w
ESMF_GridCreateUTestw
w
ESMF_GridItemUTestw
w
ESMF_GridToMeshUTestw
w
ESMF_HConfigUTestw
w
ESMF_InfoArrayUTestw
w
ESMF_InfoCacheUTestw
w
ESMF_InfoDescribeUTestw
w
ESMF_InfoProfileUTestw
w
ESMF_InfoSyncUTestw
w
ESMF_InfoUTestw
w
ESMF_InitMacrosTestw
w
ESMF_InternalStateUTestw
w
ESMF_IO_FileTypeCheckUTestw
w
ESMF_IO_MultitileUTestw
w
ESMF_IO_YAMLUTestw
w
ESMF_IOCompUTestw
w
ESMF_IOGridCompUTestw
w
ESMF_IOUTestw
w
ESMF_LAPACKUTestw
w
ESMF_LocalArrayDataUTestw
w
ESMF_LocalArrayTestw
w
ESMF_LocStreamCreateUTestw
w
ESMF_LogErrPerfUTestw
w
ESMF_LogErrUTestw
w
ESMF_LogErrUTestw
w
ESMF_MeshFileIOUTestw
w
ESMF_MeshOpUTestw
w
ESMF_MeshUTestw
w
ESMF_NamedAliasUTestw
w
ESMF_NUOPC_UTestw
w
ESMF_PointListUTestw
w
ESMF_ProfileUTestw
w
ESMF_RedistUTestw
w
ESMF_RegridWeightGenUTestw
w
ESMF_RouteHandleAdvancedUTestw
w
ESMF_RouteHandleUTestw
w
ESMF_SciCompCreateUTestw
w
ESMF_StateCreateUTestw
w
ESMF_StateReconcileProxyUTestw
w
ESMF_StateReconcileUTestw
w
ESMF_StateUTestw
w
ESMF_StdCompMethodsUTestw
w
esmf_test_harnessw
w
ESMF_TestUTestw
w
ESMF_TimeIntervalUTestw
w
ESMF_TimeUTestw
w
ESMF_TraceClkMonoSyncUTestw
w
ESMF_TraceClkMonoUTestw
w
ESMF_TraceIOUTestw
w
ESMF_TraceMPIUTestw
w
ESMF_TraceUTestw
w
ESMF_TypeKindGetUTestw
w
ESMF_UtilUTestw
w
ESMF_VMAccUTestw
w
ESMF_VMAllGatherUTestw
w
ESMF_VMAllGatherVUTestw
w
ESMF_VMAllToAllUTestw
w
ESMF_VMAllToAllVUTestw
w
ESMF_VMBarrierUTestw
w
ESMF_VMBroadcastUTestw
w
ESMF_VMComponentUTestw
w
ESMF_VMEpochLargeMsgUTestw
w
ESMF_VMGatherUTestw
w
ESMF_VMOpenMPUTestw
w
ESMF_VMScatterUTestw
w
ESMF_VMSendNbVMRecvNbUTestw
w
ESMF_VMSendRecvNbUTestw
w
ESMF_VMSendrecvUTestw
w
ESMF_VMSendVMRecvUTestw
w
ESMF_VMUTestw
w
ESMF_VMUTestw
w
ESMF_WebServComponentUTestw
w
ESMF_XGridMaskingUTestw
w
ESMF_XGridUTestw
w
ExceptionsUTestw
w
FeatureTestw
w
StringTestw
w
testw
w
WordsizeTestw
w

Source Code

      subroutine ESMF_TestEnd(file, line, unit)

! !ARGUMENTS:
      character(*), intent(in) :: file      ! test file name
      integer, intent(in) :: line           ! test file line number
      integer, intent(in), optional :: unit ! additional output unit number

! !DESCRIPTION:
!     Prints a standard message; intended to be called at the end of any
!     test code.  If {\tt unit}
!     is specified, will in addition write the same message to that 
!     Fortran unit number.
!
!EOP
!-------------------------------------------------------------------------------

      integer :: rc, localrc
      character(ESMF_MAXSTR) :: msg
      real(ESMF_KIND_R8) :: end_time, elapsed_time
      character(16) :: linestr

      write (linestr,*) line
      linestr = adjustl (linestr)

      write(msg, *) "Ending Test, file ", trim(file), ", line ", trim (linestr)
      print *, trim(msg)
      call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO)
      if (present(unit)) write(unit, *) trim(msg)

      call ESMF_Finalize(rc=rc)
      if (rc .ne. ESMF_SUCCESS) then
          write(msg, *) "Failure in Finalizing ESMF"
          print *, trim(msg)
          call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO)
          if (present(unit)) write(unit, *) trim(msg)
      endif

      ! Calculate & print out test elasped time
      call cpu_time(end_time)
      elapsed_time = (end_time-start_time) * 1000.0  ! msec
      write(msg, *) "PET", PETnum, " Test Elapsed Time ", elapsed_time, " msec."
      print *, trim(msg)

      end subroutine ESMF_TestEnd