subroutine test_AllFullReduce_min ! This subroutine tests all the overloaded versions of the full ESMF global min. !Test with integer arguments !=========================== !EX_UTest write(failMsg, *) "Did not return ESMF_SUCCESS" write(name, *) "VM All Full Reduce ESMF_REDUCE_MINTest" call ESMF_VMAllFullReduce(vm, sendData=array1, recvData=func_results, & count=nsize, reduceflag=ESMF_REDUCE_MIN, rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ !EX_UTest myresults = MINVAL(array2) write(failMsg, *) "Returned wrong results" write(name, *) "Verify All Full Reduce ESMF_REDUCE_MINResults 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_MINTest: ESMF_KIND_R8" call ESMF_VMAllFullReduce(vm, sendData=farray1, recvData=float_results, & count=nsize, reduceflag=ESMF_REDUCE_MIN, rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ !EX_UTest my_float_results = MINVAL(farray2) write(failMsg, *) "Returned wrong results" write(name, *) "Verify All Full Reduce ESMF_REDUCE_MINResults Test:ESMF_KIND_R8" call ESMF_Test((func_results.eq.myresults), 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_MINTest: ESMF_KIND_R4" call ESMF_VMAllFullReduce(vm, sendData=f4array1, recvData=float4_results,& count=nsize, reduceflag=ESMF_REDUCE_MIN, rc=rc) call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE) !------------------------------------------------------------------------ !EX_UTest my_float4_results = MINVAL(f4array2) write(failMsg, *) "Returned wrong results" write(name, *) "Verify All Full Reduce ESMF_REDUCE_MINResults Test:ESMF_KIND_R4" call ESMF_Test((func_results.eq.myresults), name, failMsg, & result, ESMF_SRCLINE) print *, localPet,' float4_results: ', float4_results, & ' my_float4_results:', my_float4_results !------------------------------------------------------------------------ end subroutine test_AllFullReduce_min