NullAction.F90 Source File


This file depends on

sourcefile~~nullaction.f90~~EfferentGraph sourcefile~nullaction.f90 NullAction.F90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~nullaction.f90->sourcefile~errorhandling.f90 sourcefile~extensionaction.f90 ExtensionAction.F90 sourcefile~nullaction.f90->sourcefile~extensionaction.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~extensionaction.f90->sourcefile~errorhandling.f90

Files dependent on this one

sourcefile~~nullaction.f90~~AfferentGraph sourcefile~nullaction.f90 NullAction.F90 sourcefile~accumulatoractioninterface.f90 AccumulatorActionInterface.F90 sourcefile~accumulatoractioninterface.f90->sourcefile~nullaction.f90 sourcefile~attributesaspect.f90 AttributesAspect.F90 sourcefile~attributesaspect.f90->sourcefile~nullaction.f90 sourcefile~bracketspec.f90 BracketSpec.F90 sourcefile~bracketspec.f90->sourcefile~nullaction.f90 sourcefile~geomaspect.f90 GeomAspect.F90 sourcefile~geomaspect.f90->sourcefile~nullaction.f90 sourcefile~invalidspec.f90 InvalidSpec.F90 sourcefile~invalidspec.f90->sourcefile~nullaction.f90 sourcefile~mockaspect.f90 MockAspect.F90 sourcefile~mockaspect.f90->sourcefile~nullaction.f90 sourcefile~mockitemspec.f90 MockItemSpec.F90 sourcefile~mockitemspec.f90->sourcefile~nullaction.f90 sourcefile~typekindaspect.f90 TypekindAspect.F90 sourcefile~mockitemspec.f90->sourcefile~typekindaspect.f90 sourcefile~unitsaspect.f90 UnitsAspect.F90 sourcefile~mockitemspec.f90->sourcefile~unitsaspect.f90 sourcefile~servicespec.f90 ServiceSpec.F90 sourcefile~servicespec.f90->sourcefile~nullaction.f90 sourcefile~statespec.f90 StateSpec.F90 sourcefile~statespec.f90->sourcefile~nullaction.f90 sourcefile~typekindaspect.f90->sourcefile~nullaction.f90 sourcefile~ungriddeddimsaspect.f90 UngriddedDimsAspect.F90 sourcefile~ungriddeddimsaspect.f90->sourcefile~nullaction.f90 sourcefile~unitsaspect.f90->sourcefile~nullaction.f90 sourcefile~verticalgridaspect.f90 VerticalGridAspect.F90 sourcefile~verticalgridaspect.f90->sourcefile~nullaction.f90 sourcefile~wildcardspec.f90 WildcardSpec.F90 sourcefile~wildcardspec.f90->sourcefile~nullaction.f90 sourcefile~aspectcollection.f90 AspectCollection.F90 sourcefile~aspectcollection.f90->sourcefile~attributesaspect.f90 sourcefile~aspectcollection.f90->sourcefile~geomaspect.f90 sourcefile~aspectcollection.f90->sourcefile~typekindaspect.f90 sourcefile~aspectcollection.f90->sourcefile~ungriddeddimsaspect.f90 sourcefile~aspectcollection.f90->sourcefile~unitsaspect.f90 sourcefile~aspectcollection.f90->sourcefile~verticalgridaspect.f90 sourcefile~fieldspec.f90 FieldSpec.F90 sourcefile~fieldspec.f90->sourcefile~attributesaspect.f90 sourcefile~fieldspec.f90->sourcefile~geomaspect.f90 sourcefile~fieldspec.f90->sourcefile~typekindaspect.f90 sourcefile~fieldspec.f90->sourcefile~ungriddeddimsaspect.f90 sourcefile~fieldspec.f90->sourcefile~unitsaspect.f90 sourcefile~fieldspec.f90->sourcefile~verticalgridaspect.f90 sourcefile~frequencyaspect.f90 FrequencyAspect.F90 sourcefile~frequencyaspect.f90->sourcefile~accumulatoractioninterface.f90 sourcefile~make_itemspec.f90 make_itemSpec.F90 sourcefile~make_itemspec.f90->sourcefile~bracketspec.f90 sourcefile~make_itemspec.f90->sourcefile~invalidspec.f90 sourcefile~make_itemspec.f90->sourcefile~servicespec.f90 sourcefile~make_itemspec.f90->sourcefile~statespec.f90 sourcefile~make_itemspec.f90->sourcefile~wildcardspec.f90 sourcefile~test_addfieldspec.pf Test_AddFieldSpec.pf sourcefile~test_addfieldspec.pf->sourcefile~statespec.f90 sourcefile~test_baseaspect.pf Test_BaseAspect.pf sourcefile~test_baseaspect.pf->sourcefile~mockaspect.f90 sourcefile~test_baseitemspec.pf Test_BaseItemSpec.pf sourcefile~test_baseitemspec.pf->sourcefile~mockitemspec.f90 sourcefile~test_bracketspec.pf Test_BracketSpec.pf sourcefile~test_bracketspec.pf->sourcefile~bracketspec.f90 sourcefile~test_extensionfamily.pf Test_ExtensionFamily.pf sourcefile~test_extensionfamily.pf->sourcefile~mockitemspec.f90 sourcefile~test_stateregistry.pf Test_StateRegistry.pf sourcefile~test_stateregistry.pf->sourcefile~mockitemspec.f90 sourcefile~variablespec.f90 VariableSpec.F90 sourcefile~variablespec.f90->sourcefile~attributesaspect.f90 sourcefile~variablespec.f90->sourcefile~geomaspect.f90 sourcefile~variablespec.f90->sourcefile~typekindaspect.f90 sourcefile~variablespec.f90->sourcefile~ungriddeddimsaspect.f90 sourcefile~variablespec.f90->sourcefile~unitsaspect.f90 sourcefile~variablespec.f90->sourcefile~verticalgridaspect.f90

Source Code

#include "MAPL_Generic.h"

! A NullAction object is just used so that a function that returns an
! ExtensionAction can allocate its return value in the presence of
! error conditions.

module mapl3g_NullAction
   use mapl3g_ExtensionAction
   use mapl_ErrorHandling
   implicit none
   private

   public :: NullAction

   type, extends(ExtensionAction) :: NullAction
   contains
      procedure :: initialize
      procedure :: update
   end type NullAction

   interface NullAction
      procedure new_NullAction
   end interface

contains

   function new_NullAction() result(action)
      type(NullAction) :: action
   end function new_NullAction

   subroutine initialize(this, importState, exportState, clock, rc)
      use esmf
      class(NullAction), intent(inout) :: this
      type(ESMF_State)      :: importState
      type(ESMF_State)      :: exportState
      type(ESMF_Clock)      :: clock      
      integer, optional, intent(out) :: rc
      _FAIL('This procedure should not be called.')
      _UNUSED_DUMMY(this)
      _UNUSED_DUMMY(importState)
      _UNUSED_DUMMY(exportState)
      _UNUSED_DUMMY(clock)
   end subroutine initialize

   subroutine update(this, importState, exportState, clock, rc)
      use esmf
      class(NullAction), intent(inout) :: this
      type(ESMF_State)      :: importState
      type(ESMF_State)      :: exportState
      type(ESMF_Clock)      :: clock      
      integer, optional, intent(out) :: rc
      _FAIL('This procedure should not be called.')
      _UNUSED_DUMMY(this)
      _UNUSED_DUMMY(importState)
      _UNUSED_DUMMY(exportState)
      _UNUSED_DUMMY(clock)
  end subroutine update

end module mapl3g_NullAction