ESMF_MapperUtil.F90 Source File


This file depends on

sourcefile~~esmf_mapperutil.f90~~EfferentGraph sourcefile~esmf_mapperutil.f90 ESMF_MapperUtil.F90 sourcefile~esmf_comp.f90 ESMF_Comp.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_comp.f90 sourcefile~esmf_cplcomp.f90 ESMF_CplComp.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_cplcomp.f90 sourcefile~esmf_gridcomp.f90 ESMF_GridComp.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_gridcomp.f90 sourcefile~esmf_initmacros.f90 ESMF_InitMacros.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_initmacros.f90 sourcefile~esmf_logerr.f90 ESMF_LogErr.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_mapper.f90 ESMF_Mapper.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_mapper.f90 sourcefile~esmf_statetypes.f90 ESMF_StateTypes.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_statetypes.f90 sourcefile~esmf_utiltypes.f90 ESMF_UtilTypes.F90 sourcefile~esmf_mapperutil.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_comp.f90->sourcefile~esmf_initmacros.f90 sourcefile~esmf_comp.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_comp.f90->sourcefile~esmf_statetypes.f90 sourcefile~esmf_comp.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_base.f90 ESMF_Base.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_base.f90 sourcefile~esmf_calendar.f90 ESMF_Calendar.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_calendar.f90 sourcefile~esmf_clock.f90 ESMF_Clock.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_clock.f90 sourcefile~esmf_config.f90 ESMF_Config.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_config.f90 sourcefile~esmf_grid.f90 ESMF_Grid.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_grid.f90 sourcefile~esmf_hconfig.f90 ESMF_HConfig.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_hconfig.f90 sourcefile~esmf_ioutil.f90 ESMF_IOUtil.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_ioutil.f90 sourcefile~esmf_locstream.f90 ESMF_LocStream.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_locstream.f90 sourcefile~esmf_mesh.f90 ESMF_Mesh.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_mesh.f90 sourcefile~esmf_state.f90 ESMF_State.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_state.f90 sourcefile~esmf_util.f90 ESMF_Util.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_util.f90 sourcefile~esmf_vm.f90 ESMF_VM.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_vm.f90 sourcefile~esmf_xgrid.f90 ESMF_XGrid.F90 sourcefile~esmf_comp.f90->sourcefile~esmf_xgrid.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_comp.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_initmacros.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_statetypes.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_base.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_clock.f90 sourcefile~esmf_clocktype.f90 ESMF_ClockType.F90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_clocktype.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_config.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_hconfig.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_ioutil.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_state.f90 sourcefile~esmf_cplcomp.f90->sourcefile~esmf_vm.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_comp.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_initmacros.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_statetypes.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_base.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_clock.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_clocktype.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_config.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_grid.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_hconfig.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_ioutil.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_locstream.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_mesh.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_state.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_vm.f90 sourcefile~esmf_gridcomp.f90->sourcefile~esmf_xgrid.f90 sourcefile~esmf_initmacros.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_initmacros.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_logerr.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_logerr.f90->sourcefile~esmf_ioutil.f90 sourcefile~esmf_utilstring.f90 ESMF_UtilString.F90 sourcefile~esmf_logerr.f90->sourcefile~esmf_utilstring.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_comp.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_cplcomp.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_gridcomp.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_initmacros.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_statetypes.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_mapper.f90->sourcefile~esmf_vm.f90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_initmacros.f90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_logerr.f90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_utiltypes.f90 sourcefile~esmf_array.f90 ESMF_Array.F90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_array.f90 sourcefile~esmf_arraybundle.f90 ESMF_ArrayBundle.F90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_arraybundle.f90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_base.f90 sourcefile~esmf_field.f90 ESMF_Field.F90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_field.f90 sourcefile~esmf_rhandle.f90 ESMF_RHandle.F90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_rhandle.f90 sourcefile~esmf_statecontainer.f90 ESMF_StateContainer.F90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_statecontainer.f90 sourcefile~esmf_stateitem.f90 ESMF_StateItem.F90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_stateitem.f90 sourcefile~esmf_statetypes.f90->sourcefile~esmf_vm.f90

Source Code

! $Id$
!
! Earth System Modeling Framework
! Copyright (c) 2002-2025, University Corporation for Atmospheric Research, 
! Massachusetts Institute of Technology, Geophysical Fluid Dynamics 
! Laboratory, University of Michigan, National Centers for Environmental 
! Prediction, Los Alamos National Laboratory, Argonne National Laboratory, 
! NASA Goddard Space Flight Center.
! Licensed under the University of Illinois-NCSA License.
!
!==============================================================================
#define ESMF_FILENAME "ESMF_MapperUtil.F90"
!==============================================================================
!
!     ESMF Mapper module
module ESMF_MapperUtilMod
!
!==============================================================================
!
! This file contains the Mapper class utility functions
!
!------------------------------------------------------------------------------
! INCLUDES
#include "ESMF.h"

!------------------------------------------------------------------------------
!
!BOPI
! !MODULE: ESMF_MapperUtilMod - Mapper class utility functions
!
! !DESCRIPTION:
! The code in this file implements the {\tt ESMF\_Mapper} class utility funcs
!
! This type is implemented in Fortran 90.
!
!------------------------------------------------------------------------------
! !USES:
  use ESMF_UtilTypesMod
  use ESMF_LogErrMod
  use ESMF_StateTypesMod
  use ESMF_CompMod
  use ESMF_GridCompMod
  use ESMF_CplCompMod
  use ESMF_InitMacrosMod
  use ESMF_MapperMod

  implicit none

!------------------------------------------------------------------------------
! !PRIVATE TYPES:
  private

!------------------------------------------------------------------------------
! ! ESMF_MapperUtil class

!------------------------------------------------------------------------------
! !PUBLIC TYPES:

!------------------------------------------------------------------------------
!
! !PUBLIC MEMBER FUNCTIONS:
!
! - ESMF-public methods:
   public ESMF_MapperSetCompInfo          ! Collect details from a component

!------------------------------------------------------------------------------
! The following line turns the CVS identifier string into a printable variable.
  character(*), parameter, private :: version = &
    '$Id$'


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

contains

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! -------------------------- ESMF-public method -------------------------------


!------------------------------------------------------------------------------
#undef  ESMF_METHOD
#define ESMF_METHOD "ESMF_MapperSetCompInfo()"
!BOP
! !IROUTINE: ESMF_MapperSetCompInfo - Collect all info from the component

! !INTERFACE:
  subroutine ESMF_MapperSetCompInfo(mapper, comp_name_len, comp_name, phase_name_len, phase_name, pet_range_start, pet_range_end, time_intvl_start, time_intvl_end, keywordEnforcer, rc)
!
!
! !ARGUMENTS:
    type(ESMF_Mapper) :: mapper
    integer, intent(in) :: comp_name_len
    character(len=*), intent(in) :: comp_name
    integer, intent(in) :: phase_name_len
    character(len=*), intent(in) :: phase_name
    integer, intent(in) :: pet_range_start
    integer, intent(in) :: pet_range_end
    real(ESMF_KIND_R8), intent(in) :: time_intvl_start
    real(ESMF_KIND_R8), intent(in) :: time_intvl_end
    type(ESMF_KeywordEnforcer), optional:: keywordEnforcer ! must use keywords below
    integer,             intent(out), optional :: rc

! !DESCRIPTION:
!   Collects all info required by the ESMF\_Mapper from a component
!
! The arguments are:
!   \begin{description}
!   \item[{[mapper]}]
!     The mapper class;
!   \item[{[rc]}]
!     Return code; equals {\tt ESMF\_SUCCESS} if there are no errors.
!   \end{description}
!
!EOP
  !-----------------------------------------------------------------------------    

    integer :: localrc = ESMF_RC_NOT_IMPL

    if (present(rc)) rc = ESMF_RC_NOT_IMPL

    ! Call the C entry point
    call c_ESMC_MapperSetCompInfo(mapper,&
          comp_name_len, comp_name,&
          phase_name_len, phase_name,&
          pet_range_start, pet_range_end,&
          time_intvl_start, time_intvl_end,&
          localrc)
    if (ESMF_LogFoundError(localrc, ESMF_ERR_PASSTHRU, ESMF_CONTEXT,&
          rcToReturn=rc)) return

    if (present(rc)) rc = ESMF_SUCCESS
  end subroutine
!------------------------------------------------------------------------------

end module ESMF_MapperUtilMod