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