f_esmf_stateaddfield Subroutine

subroutine f_esmf_stateaddfield(state, field, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_State) :: state
type(ESMF_Field) :: field
integer, intent(out) :: rc

Source Code

   subroutine f_esmf_stateaddfield(state, field, rc)
#undef  ESMF_METHOD
#define ESMF_METHOD "f_esmf_stateaddfield"

       use ESMF_UtilTypesMod
       use ESMF_LogErrMod
      !use ESMF_BaseMod    ! ESMF base class
       use ESMF_StateMod
       use ESMF_FieldMod
       implicit none

       type(ESMF_State) :: state        !inout
       type(ESMF_Field) :: field        !in
       integer, intent(out) :: rc       !out

       integer :: localrc

       ! field is directly usable - it is a deep class implemented in Fortran
       call ESMF_StateAdd(state=state, fieldList=(/field/), rc=localrc)
       if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU,  &
           ESMF_CONTEXT, rcToReturn=rc)) return

       rc = localrc

   end subroutine f_esmf_stateaddfield