get_factory Function

public function get_factory(grid, unusable, rc) result(factory)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Grid) :: grid
class(KeywordEnforcer), intent(in), optional :: unusable
integer, intent(out), optional :: rc

Return Value class(AbstractGridFactory), pointer


Calls

proc~~get_factory~~CallsGraph proc~get_factory MAPL_GridManagerMod::get_factory none~get_factory MAPL_GridManager_private::GridManager%get_factory proc~get_factory->none~get_factory proc~mapl_return MAPL_ErrorHandlingMod::MAPL_Return proc~get_factory->proc~mapl_return proc~mapl_verify MAPL_ErrorHandlingMod::MAPL_Verify proc~get_factory->proc~mapl_verify none~get_factory->proc~mapl_return none~get_factory->proc~mapl_verify ESMF_AttributeGet ESMF::ESMF_AttributeGet none~get_factory->ESMF_AttributeGet none~at~10 MAPL_Integer64GridFactoryMapMod::Integer64GridFactoryMap%at none~get_factory->none~at~10 at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_ThrowMod::MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception none~find~7 MAPL_Integer64GridFactoryMapMod::Integer64GridFactoryMap%find none~at~10->none~find~7

Called by

proc~~get_factory~~CalledByGraph proc~get_factory MAPL_GridManagerMod::get_factory none~createfilemetadata MAPL_GriddedIOMod::MAPL_GriddedIO%CreateFileMetaData none~createfilemetadata->proc~get_factory none~createvariable MAPL_GriddedIOMod::MAPL_GriddedIO%CreateVariable none~createfilemetadata->none~createvariable none~createvariable->proc~get_factory none~find_tile_file MAPL_TilingRegridderMod::TilingRegridder%find_tile_file none~find_tile_file->proc~get_factory none~request_data_from_file MAPL_GriddedIOMod::MAPL_GriddedIO%request_data_from_file none~request_data_from_file->proc~get_factory none~stage2dlatlon MAPL_GriddedIOMod::MAPL_GriddedIO%stage2DLatLon none~stage2dlatlon->proc~get_factory none~stagedata MAPL_GriddedIOMod::MAPL_GriddedIO%stageData none~stagedata->proc~get_factory proc~mapl_create_bundle_from_metdata_id MAPL_ESMFFieldBundleRead::MAPL_create_bundle_from_metdata_id proc~mapl_create_bundle_from_metdata_id->proc~get_factory proc~mapl_esmfstatereadfromfile MAPL_GenericMod::MAPL_ESMFStateReadFromFile proc~mapl_esmfstatereadfromfile->proc~get_factory none~bundlepost MAPL_GriddedIOMod::MAPL_GriddedIO%bundlePost none~bundlepost->none~stage2dlatlon none~bundlepost->none~stagedata none~create_from_bundle MAPL_ESMFFieldBundleWrite::FieldBundleWriter%create_from_bundle none~create_from_bundle->none~createfilemetadata none~initialize_subclass MAPL_TilingRegridderMod::TilingRegridder%initialize_subclass none~initialize_subclass->none~find_tile_file proc~mapl_genericinitialize MAPL_GenericMod::MAPL_GenericInitialize proc~mapl_genericinitialize->proc~mapl_esmfstatereadfromfile proc~mapl_genericrefresh MAPL_GenericMod::MAPL_GenericRefresh proc~mapl_genericrefresh->proc~mapl_esmfstatereadfromfile proc~mapl_genericrefresh->proc~mapl_genericrefresh proc~mapl_genericstaterestore MAPL_GenericMod::MAPL_GenericStateRestore proc~mapl_genericstaterestore->proc~mapl_esmfstatereadfromfile proc~mapl_genericstaterestore->proc~mapl_genericstaterestore proc~mapl_read_bundle MAPL_ESMFFieldBundleRead::MAPL_read_bundle proc~mapl_read_bundle->none~request_data_from_file proc~mapl_read_bundle->proc~mapl_create_bundle_from_metdata_id none~initialize~6 MAPL_AbstractRegridderMod::AbstractRegridder%initialize none~initialize~6->none~initialize_subclass none~write_to_file MAPL_ESMFFieldBundleWrite::FieldBundleWriter%write_to_file none~write_to_file->none~bundlepost proc~main~2 Regrid_Util::main proc~main~2->none~create_from_bundle proc~main~2->proc~mapl_read_bundle proc~main~2->none~write_to_file program~time_ave time_ave program~time_ave->none~create_from_bundle program~time_ave->proc~mapl_read_bundle program~time_ave->none~write_to_file program~ut_regridding ut_ReGridding program~ut_regridding->none~create_from_bundle program~ut_regridding->proc~mapl_read_bundle program~ut_regridding->none~write_to_file none~initialize_base MAPL_AbstractRegridderMod::AbstractRegridder%initialize_base none~initialize_base->none~initialize~6 none~make_regridder_from_grids MAPL_RegridderManager_private::RegridderManager%make_regridder_from_grids none~make_regridder_from_grids->none~initialize~6 program~regrid_util Regrid_Util program~regrid_util->proc~main~2

Source Code

   function get_factory(this, grid, unusable, rc) result(factory)
      class (AbstractGridFactory), pointer :: factory
      class (GridManager), target, intent(in) :: this
      type (ESMF_Grid), intent(in) :: grid
      class (KeywordEnforcer), optional, intent(in) :: unusable
      integer, optional, intent(out) :: rc

      integer (kind=ESMF_KIND_I8) :: id
      integer :: status
      character(len=*), parameter :: Iam= MOD_NAME // 'get_factory'

      _UNUSED_DUMMY(unusable)

      call ESMF_AttributeGet(grid, factory_id_attribute, id, rc=status)
      _VERIFY(status)

      factory => this%factories%at(id)

      _RETURN(_SUCCESS)

   end function get_factory