test_FieldCOPY_R8R4 Subroutine

public subroutine test_FieldCOPY_R8R4()

Arguments

None

Calls

proc~~test_fieldcopy_r8r4~~CallsGraph proc~test_fieldcopy_r8r4 Test_FieldBLAS::test_FieldCOPY_R8R4 asserttrue asserttrue proc~test_fieldcopy_r8r4->asserttrue esmf_fieldget esmf_fieldget proc~test_fieldcopy_r8r4->esmf_fieldget interface~fieldcopy MAPL_FieldPointerUtilities::FieldCOPY proc~test_fieldcopy_r8r4->interface~fieldcopy proc~are_almost_equal field_utils_setup::are_almost_equal proc~test_fieldcopy_r8r4->proc~are_almost_equal proc~mapl_verify MAPL_ErrorHandlingMod::MAPL_Verify proc~test_fieldcopy_r8r4->proc~mapl_verify proc~mapl_throw_exception MAPL_ThrowMod::MAPL_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Source Code

   subroutine test_FieldCOPY_R8R4()
      type(ESMF_Field) :: x
      type(ESMF_Field) :: y
      real(kind=ESMF_KIND_R8), dimension(:,:), pointer :: x_ptr
      real(kind=ESMF_KIND_R4), dimension(:,:), pointer :: y_ptr
      integer :: status, rc

      x = XR8
      y = YR4
      call ESMF_FieldGet(x, farrayPtr = x_ptr, _RC)
      x_ptr = 4.d0
      call FieldCOPY(x, y, _RC)
      call ESMF_FieldGet(x, farrayPtr = x_ptr, _RC)
      call ESMF_FieldGet(y, farrayPtr = y_ptr, _RC)
      @assertTrue(all(are_almost_equal(x_ptr, y_ptr)), 'Values differ above threshold.')

   end subroutine test_FieldCOPY_R8R4