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~2~~CallsGraph proc~get_factory~2 get_factory none~get_factory GridManager%get_factory proc~get_factory~2->none~get_factory proc~mapl_return MAPL_Return proc~get_factory~2->proc~mapl_return proc~mapl_verify MAPL_Verify proc~get_factory~2->proc~mapl_verify none~get_factory->proc~mapl_return none~get_factory->proc~mapl_verify ESMF_AttributeGet ESMF_AttributeGet none~get_factory->ESMF_AttributeGet none~at~135 Integer64GridFactoryMap%at none~get_factory->none~at~135 at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception none~find~36 Integer64GridFactoryMap%find none~at~135->none~find~36

Called by

proc~~get_factory~2~~CalledByGraph proc~get_factory~2 get_factory none~createfilemetadata MAPL_GriddedIO%CreateFileMetaData none~createfilemetadata->proc~get_factory~2 none~createvariable MAPL_GriddedIO%CreateVariable none~createfilemetadata->none~createvariable none~createvariable->proc~get_factory~2 none~find_tile_file TilingRegridder%find_tile_file none~find_tile_file->proc~get_factory~2 none~request_data_from_file MAPL_GriddedIO%request_data_from_file none~request_data_from_file->proc~get_factory~2 none~stage2dlatlon MAPL_GriddedIO%stage2DLatLon none~stage2dlatlon->proc~get_factory~2 none~stagedata MAPL_GriddedIO%stageData none~stagedata->proc~get_factory~2 proc~mapl_create_bundle_from_metdata_id MAPL_create_bundle_from_metdata_id proc~mapl_create_bundle_from_metdata_id->proc~get_factory~2 proc~mapl_esmfstatereadfromfile MAPL_ESMFStateReadFromFile proc~mapl_esmfstatereadfromfile->proc~get_factory~2 none~bundlepost MAPL_GriddedIO%bundlePost none~bundlepost->none~stage2dlatlon none~bundlepost->none~stagedata none~create_from_bundle FieldBundleWriter%create_from_bundle none~create_from_bundle->none~createfilemetadata none~initialize_subclass~3 TilingRegridder%initialize_subclass none~initialize_subclass~3->none~find_tile_file proc~mapl_genericinitialize MAPL_GenericInitialize proc~mapl_genericinitialize->proc~mapl_esmfstatereadfromfile proc~mapl_genericrefresh MAPL_GenericRefresh proc~mapl_genericrefresh->proc~mapl_esmfstatereadfromfile proc~mapl_genericrefresh->proc~mapl_genericrefresh proc~mapl_genericstaterestore MAPL_GenericStateRestore proc~mapl_genericstaterestore->proc~mapl_esmfstatereadfromfile proc~mapl_genericstaterestore->proc~mapl_genericstaterestore proc~mapl_read_bundle 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~3 AbstractRegridder%initialize none~initialize~3->none~initialize_subclass~3 none~write_to_file FieldBundleWriter%write_to_file none~write_to_file->none~bundlepost proc~main main proc~main->none~create_from_bundle proc~main->proc~mapl_read_bundle proc~main->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 AbstractRegridder%initialize_base none~initialize_base->none~initialize~3 none~make_regridder_from_grids RegridderManager%make_regridder_from_grids none~make_regridder_from_grids->none~initialize~3 program~regrid_util Regrid_Util program~regrid_util->proc~main

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