test_interp_constant Subroutine

public subroutine test_interp_constant(this)

Arguments

Type IntentOptional Attributes Name
class(ESMF_TestMethod), intent(inout) :: this

Calls

proc~~test_interp_constant~~CallsGraph proc~test_interp_constant test_interp_constant ESMF_GeomCreate ESMF_GeomCreate proc~test_interp_constant->ESMF_GeomCreate ESMF_GeomDestroy ESMF_GeomDestroy proc~test_interp_constant->ESMF_GeomDestroy ESMF_GridCreateNoPeriDim ESMF_GridCreateNoPeriDim proc~test_interp_constant->ESMF_GridCreateNoPeriDim ESMF_GridDestroy ESMF_GridDestroy proc~test_interp_constant->ESMF_GridDestroy anyexceptions anyexceptions proc~test_interp_constant->anyexceptions assert_that assert_that proc~test_interp_constant->assert_that equal_to equal_to proc~test_interp_constant->equal_to esmf_fieldbundlecreate esmf_fieldbundlecreate proc~test_interp_constant->esmf_fieldbundlecreate esmf_fieldbundledestroy esmf_fieldbundledestroy proc~test_interp_constant->esmf_fieldbundledestroy esmf_fielddestroy esmf_fielddestroy proc~test_interp_constant->esmf_fielddestroy esmf_fieldemptycomplete esmf_fieldemptycomplete proc~test_interp_constant->esmf_fieldemptycomplete esmf_fieldemptycreate esmf_fieldemptycreate proc~test_interp_constant->esmf_fieldemptycreate esmf_fieldemptyset esmf_fieldemptyset proc~test_interp_constant->esmf_fieldemptyset esmf_stateadd esmf_stateadd proc~test_interp_constant->esmf_stateadd esmf_statecreate esmf_statecreate proc~test_interp_constant->esmf_statecreate esmf_statedestroy esmf_statedestroy proc~test_interp_constant->esmf_statedestroy every_item every_item proc~test_interp_constant->every_item interface~assign_fptr assign_fptr proc~test_interp_constant->interface~assign_fptr interface~mapl_fieldbundleset MAPL_FieldBundleSet proc~test_interp_constant->interface~mapl_fieldbundleset none~update TimeInterpolateAction%update proc~test_interp_constant->none~update sourcelocation sourcelocation proc~test_interp_constant->sourcelocation none~update->interface~assign_fptr esmf_fieldget esmf_fieldget none~update->esmf_fieldget esmf_stateget esmf_stateget none~update->esmf_stateget interface~mapl_assert MAPL_Assert none~update->interface~mapl_assert interface~mapl_fieldbundleget MAPL_FieldBundleGet none~update->interface~mapl_fieldbundleget proc~mapl_return MAPL_Return none~update->proc~mapl_return proc~mapl_verify MAPL_Verify none~update->proc~mapl_verify at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Source Code

   subroutine test_interp_constant(this)
      class(ESMF_TestMethod), intent(inout) :: this

      type(ESMF_State) :: importState, exportState
      type(ESMF_FieldBundle) :: bracket
      type(ESMF_Field) :: f
      type(TimeinterpolateAction) :: action
      type(ESMF_Clock) :: clock
      type(ESMF_Geom) :: geom
      type(ESMF_Grid) :: grid
      integer :: status
      real(kind=ESMF_KIND_R4), pointer :: x(:)

      importState = ESMF_StateCreate(_RC)
      exportState = ESMF_StateCreate(_RC)

      bracket = ESMF_FieldBundleCreate(name='import[1]', _RC)

      call ESMF_StateAdd(importState, [bracket], _RC)
      call MAPL_FieldBundleSet(bracket, interpolation_weights=[7.0], _RC)

      grid = ESMF_GridCreateNoPeriDim(maxIndex=[4,4], name='I_AM_GROOT', _RC)
      geom = ESMF_GeomCreate(grid, _RC)
      f = ESMF_FieldEmptyCreate(name='export[1]', _RC)
      call ESMF_FieldEmptySet(f, geom=geom, _RC)
      call ESMF_FieldEmptyComplete(f, typekind=ESMF_TYPEKIND_R4, _RC)
      call ESMF_StateAdd(exportState, [f], _RC)

      call action%update(importState, exportState, clock, _RC)

      call assign_fptr(f, x, _RC)
      @assert_that(x, every_item(is(equal_to(7.))))

      call ESMF_FieldDestroy(f, _RC)
      call ESMF_FieldBundleDestroy(bracket, _RC)
      call ESMF_StateDestroy(importState, _RC)
      call ESMF_StateDestroy(exportState, _RC)
      call ESMF_GridDestroy(grid, _RC)
      call ESMF_GeomDestroy(geom, _RC)
      
   end subroutine test_interp_constant