ESMF_STest Subroutine

public subroutine ESMF_STest(condition, name, failMsg, result, file, line, unit, petCount)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: condition
character(len=*), intent(in) :: name
character(len=*), intent(in) :: failMsg
integer, intent(inout) :: result
character(len=*), intent(in) :: file
integer, intent(in) :: line
integer, intent(in), optional :: unit
integer, intent(in), optional :: petCount

Calls

proc~~esmf_stest~~CallsGraph proc~esmf_stest ESMF_STest interface~esmf_vmget ESMF_VMGet proc~esmf_stest->interface~esmf_vmget proc~esmf_logwrite ESMF_LogWrite proc~esmf_stest->proc~esmf_logwrite proc~esmf_test ESMF_Test proc~esmf_stest->proc~esmf_test proc~esmf_vmgetglobal ESMF_VMGetGlobal proc~esmf_stest->proc~esmf_vmgetglobal proc~esmf_vmgetdefault ESMF_VMGetDefault interface~esmf_vmget->proc~esmf_vmgetdefault proc~esmf_vmgetpetspecific ESMF_VMGetPetSpecific interface~esmf_vmget->proc~esmf_vmgetpetspecific 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_logflush ESMF_LogFlush 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 proc~esmf_test->proc~esmf_logwrite proc~esmf_logclose->proc~esmf_logflush 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 proc~esmf_vmgetdefault->interface~esmf_vmget c_esmc_initget_esmf_comm c_esmc_initget_esmf_comm proc~esmf_vmgetdefault->c_esmc_initget_esmf_comm c_esmc_vmget c_esmc_vmget proc~esmf_vmgetdefault->c_esmc_vmget c_esmc_vmgetmpicommnull c_esmc_vmgetmpicommnull proc~esmf_vmgetdefault->c_esmc_vmgetmpicommnull c_esmc_vmgetssilocaldevlist c_esmc_vmgetssilocaldevlist proc~esmf_vmgetdefault->c_esmc_vmgetssilocaldevlist interface~esmf_interarraycreate ESMF_InterArrayCreate proc~esmf_vmgetdefault->interface~esmf_interarraycreate proc~esmf_imerr ESMF_IMErr proc~esmf_vmgetdefault->proc~esmf_imerr proc~esmf_interarraydestroy ESMF_InterArrayDestroy proc~esmf_vmgetdefault->proc~esmf_interarraydestroy proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_vmgetdefault->proc~esmf_logfounderror proc~esmf_logseterror ESMF_LogSetError proc~esmf_vmgetdefault->proc~esmf_logseterror proc~esmf_vmgetinit ESMF_VMGetInit proc~esmf_vmgetdefault->proc~esmf_vmgetinit c_esmc_vmgetpetlocalinfo c_esmc_vmgetpetlocalinfo proc~esmf_vmgetpetspecific->c_esmc_vmgetpetlocalinfo proc~esmf_vmgetpetspecific->proc~esmf_imerr proc~esmf_vmgetpetspecific->proc~esmf_logfounderror proc~esmf_vmgetpetspecific->proc~esmf_vmgetinit proc~esmf_interarraycreateptr ESMF_InterArrayCreatePtr interface~esmf_interarraycreate->proc~esmf_interarraycreateptr proc~esmf_interarraycreatetrg ESMF_InterArrayCreateTrg interface~esmf_interarraycreate->proc~esmf_interarraycreatetrg proc~esmf_imerr->proc~esmf_logfounderror proc~esmf_initcheckdeep ESMF_InitCheckDeep proc~esmf_imerr->proc~esmf_initcheckdeep proc~esmf_logfounddeallocerror ESMF_LogFoundDeallocError proc~esmf_interarraydestroy->proc~esmf_logfounddeallocerror proc~esmf_logfounderror->proc~esmf_logwrite esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logseterror->proc~esmf_logwrite proc~esmf_logseterror->esmf_breakpoint proc~esmf_logseterror->proc~esmf_logrc2msg

Called by

Arb2ArbBunReDistwESMF_STest
w
Arb2ArbFldReDistw
w
Blk2ArbBunRedistw
w
Blk2ArbFldRedistw
w
Blk2BlkBunRedistw
w
Blk2BlkFldRedistw
w
CompCreatew
w
ConcurrentComponentw
w
ESMF_AlarmExw
w
ESMF_AppMainExw
w
ESMF_AppMainExw
w
ESMF_AppMainExw
w
ESMF_ArrayArbHaloExw
w
ESMF_ArrayBundleExw
w
ESMF_ArrayBundleHaloExw
w
ESMF_ArrayBundleRedistSTestw
w
ESMF_ArrayBundleSparseMMSTestw
w
ESMF_ArrayCommNBExw
w
ESMF_ArrayExw
w
ESMF_ArrayFarrayExw
w
ESMF_ArrayFarrayHaloExw
w
ESMF_ArrayHaloExw
w
ESMF_ArrayLarrayExw
w
ESMF_ArrayRedist3DSTestw
w
ESMF_ArrayRedistExw
w
ESMF_ArrayRedistOpenACCSTestw
w
ESMF_ArrayRedistOpenMPSTestw
w
ESMF_ArrayRedistSharedObjSTestw
w
ESMF_ArrayRedistSTestw
w
ESMF_ArrayRedistSTestw
w
ESMF_ArrayRedistSTestw
w
ESMF_ArrayScatterGatherArbExw
w
ESMF_ArrayScatterGatherExw
w
ESMF_ArrayScatterGatherSTestw
w
ESMF_ArraySharedDeSSISTestw
w
ESMF_ArraySparseMatMulExw
w
ESMF_ArraySparseMatMulSTestw
w
ESMF_ArraySpecExw
w
ESMF_AttachMethodsExw
w
ESMF_AttributeSTestw
w
ESMF_CalendarExw
w
ESMF_ClockExw
w
ESMF_CompFortranAndCw
w
ESMF_ComplianceCheckerSTestw
w
ESMF_CompTunnelExw
w
ESMF_ConcurrentEnsembleSTestw
w
ESMF_ConfigOverviewExw
w
ESMF_DELayoutExw
w
ESMF_DirectCouplingSTestw
w
ESMF_DistGridExw
w
ESMF_FaultToleranceSTestw
w
ESMF_FieldArgGridExw
w
ESMF_FieldBundleCreateExw
w
ESMF_FieldBundleLSRedistArb2ArbSTestw
w
ESMF_FieldBundleLSRedistArb2ArbUngrdDimSTestw
w
ESMF_FieldBundleRedistPackedSTestw
w
ESMF_FieldBundleRegridPackedSTestw
w
ESMF_FieldBundleSMMPackedSTestw
w
ESMF_FieldBundleSMMSTestw
w
ESMF_FieldCommExw
w
ESMF_FieldCreateExw
w
ESMF_FieldExw
w
ESMF_FieldLSRedistArb2ArbSTestw
w
ESMF_FieldLSRedistArb2ArbUngrdDimSTestw
w
ESMF_FieldLSSMMSTestw
w
ESMF_FieldMeshSMMSTestw
w
ESMF_FieldRegridExw
w
ESMF_FieldRegridExw
w
ESMF_FieldRegridLSSTestw
w
ESMF_FieldRegridMeshSTestw
w
ESMF_FieldRegridMeshToMeshSTestw
w
ESMF_FieldRegridPatchDisjointSTestw
w
ESMF_FieldRegridSTestw
w
ESMF_FieldRegridSTestw
w
ESMF_FieldRegridSTestw
w
ESMF_FieldRepDimExw
w
ESMF_FieldSharedDeSSISTestw
w
ESMF_FieldSparseMatMulSTestw
w
ESMF_FieldSphereRegridExw
w
ESMF_GridCreateExw
w
ESMF_GridCreateExw
w
ESMF_HConfigExw
w
ESMF_InfoGetFromHostExw
w
ESMF_InfoTutorialw
w
ESMF_InternalStateExw
w
ESMF_InternalStateModExw
w
ESMF_LocStreamExw
w
ESMF_LogErrExw
w
ESMF_MeshExw
w
ESMF_MeshExw
w
ESMF_NUOPCAtmModelExw
w
ESMF_NUOPCBasicModelExw
w
ESMF_RecursiveComponentSTestw
w
ESMF_RHandleBitForBitExw
w
ESMF_RHandleDynamicMaskingExw
w
ESMF_RHandleFromFileExw
w
ESMF_RHandleFromRHandleExw
w
ESMF_RHandleReusabilityExw
w
ESMF_RHandleVMEpochExw
w
ESMF_SCompExw
w
ESMF_SequentialEnsembleSTestw
w
ESMF_StateExw
w
ESMF_StateReconcileExw
w
ESMF_TimeExw
w
ESMF_TimeIntervalExw
w
ESMF_TraceExw
w
ESMF_TraceSTestw
w
ESMF_TraceUserExw
w
ESMF_TransferGridSTestw
w
ESMF_TransferMeshSTestw
w
ESMF_VMAllFullReduceExw
w
ESMF_VMComponentExw
w
ESMF_VMControlMPIThreadSupportExw
w
ESMF_VMDefaultBasicsExw
w
ESMF_VMGetMPICommunicatorExw
w
ESMF_VMHigherRankDataExw
w
ESMF_VMNonBlockingExw
w
ESMF_VMScatterVMGatherExw
w
ESMF_VMSendVMRecvExw
w
ESMF_VMUserMpiCommExw
w
ESMF_VMUserMpiCommMultiExw
w
ESMF_VMUserMpiExw
w
ESMF_WebServicesSTestw
w
ESMF_XGridConcurrentSTestw
w
ESMF_XGridExw
w
ESMF_XGridSerialSTestw
w
ESMF_XGridSparseMatExw
w
FieldBundleHaloExw
w
FieldBundleRedistExw
w
FieldBundleSMMExw
w
FieldConcurrentComponentw
w
FieldHaloExw
w
FieldRedistw
w
FieldRedistExw
w
FieldRegridConservw
w
FieldRegridMultiw
w
FieldRegridOrderw
w
FieldSMMExw
w
MapperSimpleTwoConcurrentCompsw
w
MapperTwoConcurrentCompsw
w
WebServicesExw
w

Source Code

      subroutine ESMF_STest(condition, name, failMsg, result, file, line, unit, &
        petCount)

! !ARGUMENTS:
      logical, intent(in) :: condition      ! pass/fail condition
      character(*), intent(in) :: name      ! test name
      character(*), intent(in) :: failMsg   ! fail message
      integer, intent(inout) :: result      ! accumulated result
      character(*), intent(in) :: file      ! test file name
      integer, intent(in) :: line           ! test file line number
      integer, intent(in), optional :: unit ! additional output unit number
      integer, intent(in), optional :: petCount ! number of PETs if need override
      

! !DESCRIPTION:
!     Gets the PET count and prints out a number of processors message.
!     Prints a {\tt PASS} message to stdout if {\tt condition} is true,
!     and a {\tt FAIL} message if {\tt condition} is false.  If {\tt unit}
!     is specified, will in addition write the same message to that
!     Fortran unit number.
!
!EOP
!-------------------------------------------------------------------------------

      type(ESMF_VM):: vm
      integer:: petCountOpt, localrc
      character(ESMF_MAXSTR) :: msg
     
      if (present(petCount)) then
        petCountOpt = petCount
      else
        call ESMF_VMGetGlobal(vm, rc=localrc)
        call ESMF_VMGet(vm, petCount=petCountOpt, rc=localrc)
      endif
      write(msg, *) "NUMBER_OF_PROCESSORS", petCountOpt
      call ESMF_LogWrite(trim(msg), ESMF_LOGMSG_INFO)

      call ESMF_Test(condition, name, failMsg, result,  file, line, unit)

      end subroutine ESMF_STest