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~173 Integer64GridFactoryMap%at none~get_factory->none~at~173 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~42 Integer64GridFactoryMap%find none~at~173->none~find~42

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~createquantizationinfo MAPL_GriddedIO%CreateQuantizationInfo none~createfilemetadata->none~createquantizationinfo none~createvariable~2 MAPL_GriddedIO%CreateVariable none~createfilemetadata->none~createvariable~2 none~createquantizationinfo->proc~get_factory~2 none~createvariable~2->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~2 MAPL_GriddedIO%request_data_from_file none~request_data_from_file~2->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~2 TilingRegridder%initialize_subclass none~initialize_subclass~2->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~2 proc~mapl_read_bundle->proc~mapl_create_bundle_from_metdata_id none~initialize~18 AbstractRegridder%initialize none~initialize~18->none~initialize_subclass~2 none~write_to_file FieldBundleWriter%write_to_file none~write_to_file->none~bundlepost proc~main~2 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 AbstractRegridder%initialize_base none~initialize_base->none~initialize~18 none~make_regridder_from_grids RegridderManager%make_regridder_from_grids none~make_regridder_from_grids->none~initialize~18 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