Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(ESMF_XGridGeomBase), | intent(in) | :: | gridbase | |||
integer, | intent(out), | optional | :: | rc |
subroutine ESMF_XGridGeomBaseValidate(gridbase, rc) ! ! !ARGUMENTS: type(ESMF_XGridGeomBase), intent(in) :: gridbase integer, intent(out), optional :: rc ! ! ! !DESCRIPTION: ! Validates that the {\tt GeomBase} is internally consistent. ! ! The arguments are: ! \begin{description} ! \item[gridbase] ! Specified {\tt ESMF\_XGridGeomBase} object. ! \item[{[rc]}] ! Return code; equals {\tt ESMF\_SUCCESS} if there are no errors. ! \end{description} ! !EOPI !------------------------------------------------------------------------------ integer :: localrc type(ESMF_XGridGeomBaseClass),pointer :: gbcp ! Initialize return code; assume failure until success is certain if (present(rc)) rc = ESMF_RC_NOT_IMPL ! Check init status of arguments ESMF_INIT_CHECK_DEEP_SHORT(ESMF_XGridGeomBaseGetInit, gridbase, rc) ! Get GeomBaseClass gbcp=>gridbase%gbcp ! Get info depending on type select case(gbcp%type%type) case (ESMF_XGRIDGEOMTYPE_GRID%type) ! Grid call ESMF_GridValidate(grid=gbcp%grid, rc=localrc) if (ESMF_LogFoundError(localrc, & ESMF_ERR_PASSTHRU, & ESMF_CONTEXT, rcToReturn=rc)) return case (ESMF_XGRIDGEOMTYPE_MESH%type) ! Mesh !call ESMF_MeshValidate(mesh=gbcp%mesh, rc=localrc) ! if (ESMF_LogFoundError(localrc, & ! ESMF_ERR_PASSTHRU, & ! ESMF_CONTEXT, rcToReturn=rc)) return case default if (ESMF_LogFoundError(ESMF_RC_ARG_VALUE, & msg=" Bad type value", & ESMF_CONTEXT, rcToReturn=rc)) return end select ! Set return value if (present(rc)) rc = ESMF_SUCCESS end subroutine ESMF_XGridGeomBaseValidate