test_AllFullReduce_max Subroutine

public subroutine test_AllFullReduce_max()

Arguments

None

Calls

proc~~test_allfullreduce_max~~CallsGraph proc~test_allfullreduce_max test_AllFullReduce_max interface~esmf_vmallfullreduce ESMF_VMAllFullReduce proc~test_allfullreduce_max->interface~esmf_vmallfullreduce proc~esmf_test ESMF_Test proc~test_allfullreduce_max->proc~esmf_test proc~esmf_vmallfullreducei4 ESMF_VMAllFullReduceI4 interface~esmf_vmallfullreduce->proc~esmf_vmallfullreducei4 proc~esmf_vmallfullreducei8 ESMF_VMAllFullReduceI8 interface~esmf_vmallfullreduce->proc~esmf_vmallfullreducei8 proc~esmf_vmallfullreducer4 ESMF_VMAllFullReduceR4 interface~esmf_vmallfullreduce->proc~esmf_vmallfullreducer4 proc~esmf_vmallfullreducer8 ESMF_VMAllFullReduceR8 interface~esmf_vmallfullreduce->proc~esmf_vmallfullreducer8 proc~esmf_logwrite ESMF_LogWrite proc~esmf_test->proc~esmf_logwrite 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 interface~c_esmc_vmallfullreduce c_ESMC_VMAllFullReduce proc~esmf_vmallfullreducei4->interface~c_esmc_vmallfullreduce proc~esmf_imerr ESMF_IMErr proc~esmf_vmallfullreducei4->proc~esmf_imerr proc~esmf_logfounderror ESMF_LogFoundError proc~esmf_vmallfullreducei4->proc~esmf_logfounderror proc~esmf_logseterror ESMF_LogSetError proc~esmf_vmallfullreducei4->proc~esmf_logseterror proc~esmf_vmgetinit ESMF_VMGetInit proc~esmf_vmallfullreducei4->proc~esmf_vmgetinit proc~esmf_vmallfullreducei8->interface~c_esmc_vmallfullreduce proc~esmf_vmallfullreducei8->proc~esmf_imerr proc~esmf_vmallfullreducei8->proc~esmf_logfounderror proc~esmf_vmallfullreducei8->proc~esmf_logseterror proc~esmf_vmallfullreducei8->proc~esmf_vmgetinit proc~esmf_vmallfullreducer4->interface~c_esmc_vmallfullreduce proc~esmf_vmallfullreducer4->proc~esmf_imerr proc~esmf_vmallfullreducer4->proc~esmf_logfounderror proc~esmf_vmallfullreducer4->proc~esmf_logseterror proc~esmf_vmallfullreducer4->proc~esmf_vmgetinit proc~esmf_vmallfullreducer8->interface~c_esmc_vmallfullreduce proc~esmf_vmallfullreducer8->proc~esmf_imerr proc~esmf_vmallfullreducer8->proc~esmf_logfounderror proc~esmf_vmallfullreducer8->proc~esmf_logseterror proc~esmf_vmallfullreducer8->proc~esmf_vmgetinit proc~esmf_imerr->proc~esmf_logfounderror proc~esmf_initcheckdeep ESMF_InitCheckDeep proc~esmf_imerr->proc~esmf_initcheckdeep 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_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_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget proc~esmf_logseterror->proc~esmf_logwrite proc~esmf_logseterror->esmf_breakpoint proc~esmf_logseterror->proc~esmf_logrc2msg

Source Code

      subroutine test_AllFullReduce_max
! This subroutine tests all the overloaded versions of the full ESMF global max.

      !Test with Integer arguments
      !===========================
      !------------------------------------------------------------------------
      !EX_UTest
      write(failMsg, *) "Did not return ESMF_SUCCESS"
      write(name, *) "VM All Full Reduce ESMF_REDUCE_MAXTest"
      call ESMF_VMAllFullReduce(vm, sendData=array1, recvData=func_results, &
                                count=nsize, reduceflag=ESMF_REDUCE_MAX, rc=rc)
      call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

      !------------------------------------------------------------------------
      !EX_UTest
      myresults = MAXVAL(array2)
      write(failMsg, *) "Returned wrong results"
      write(name, *) "Verify All Full Reduce ESMF_REDUCE_MAXResults Test"
      call ESMF_Test((func_results.eq.myresults), name, failMsg, &
                      result, ESMF_SRCLINE)
      print *, localPet,' func_results: ', func_results, &
                        ' myresults:', myresults


      !Test with ESMF_KIND_R8 arguments
      !=================================
      !------------------------------------------------------------------------
      !EX_UTest
      write(failMsg, *) "Did not return ESMF_SUCCESS"
      write(name, *) "VM All Full Reduce ESMF_REDUCE_MAXTest:ESMF_KIND_R8"
      call ESMF_VMAllFullReduce(vm, sendData=farray1, recvData=float_results, &
                                count=nsize, reduceflag=ESMF_REDUCE_MAX, rc=rc)
      call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

      !------------------------------------------------------------------------
      !EX_UTest
      my_float_results = MAXVAL(farray2)
      write(failMsg, *) "Returned wrong results"
      write(name, *) "Verify All Full Reduce ESMF_REDUCE_MAXResults Test:ESMF_KIND_R8"
      call ESMF_Test(.not. abs (float_results - my_float_results) > 0.0, name, failMsg, &
                      result, ESMF_SRCLINE)
      print *, localPet,' float_results: ', float_results, &
                        ' my_float_results:', my_float_results


      !Test with ESMF_KIND_R4 arguments
      !================================
      !------------------------------------------------------------------------
      !EX_UTest
      write(failMsg, *) "Did not return ESMF_SUCCESS"
      write(name, *) "VM All Full Reduce ESMF_REDUCE_MAXTest:ESMF_KIND_R4"
      call ESMF_VMAllFullReduce(vm, sendData=f4array1, recvData=float4_results,&
                                count=nsize, reduceflag=ESMF_REDUCE_MAX, rc=rc)
      call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

      !------------------------------------------------------------------------
      !EX_UTest
      my_float4_results = MAXVAL(f4array2)
      write(failMsg, *) "Returned wrong results"
      write(name, *) "Verify All Full Reduce ESMF_REDUCE_MAXResults Test:ESMF_KIND_R4"
      call ESMF_Test(.not. abs (float4_results - my_float4_results) > 0.0, name, failMsg, &
                      result, ESMF_SRCLINE)
      print *, localPet,' float4_results: ', float4_results, &
                        ' my_float4_results:', my_float4_results

      end subroutine test_AllFullReduce_max