new_FieldSpec_geom Function

public function new_FieldSpec_geom(unusable, geom, vertical_grid, vertical_dim_spec, typekind, ungridded_dims, standard_name, long_name, units, attributes, regrid_param, horizontal_dims_spec, default_value, accumulation_type, timestep) result(field_spec)

Arguments

Type IntentOptional Attributes Name
class(KeywordEnforcer), intent(in), optional :: unusable
type(ESMF_Geom), intent(in), optional :: geom
class(VerticalGrid), intent(in), optional :: vertical_grid
type(VerticalDimSpec), intent(in) :: vertical_dim_spec
type(ESMF_TypeKind_Flag), intent(in) :: typekind
type(UngriddedDims), intent(in), optional :: ungridded_dims
character(len=*), intent(in), optional :: standard_name
character(len=*), intent(in), optional :: long_name
character(len=*), intent(in), optional :: units
type(StringVector), intent(in), optional :: attributes
type(EsmfRegridderParam), intent(in), optional :: regrid_param
type(HorizontalDimsSpec), intent(in), optional :: horizontal_dims_spec
real, intent(in), optional :: default_value
character(len=*), intent(in), optional :: accumulation_type
type(ESMF_TimeInterval), intent(in), optional :: timestep

Return Value type(FieldSpec), target


Calls

proc~~new_fieldspec_geom~~CallsGraph proc~new_fieldspec_geom new_FieldSpec_geom none~get_aspects StateItemSpec%get_aspects proc~new_fieldspec_geom->none~get_aspects none~set_attributes_aspect AspectCollection%set_attributes_aspect proc~new_fieldspec_geom->none~set_attributes_aspect none~set_frequency_aspect AspectCollection%set_frequency_aspect proc~new_fieldspec_geom->none~set_frequency_aspect none~set_geom_aspect AspectCollection%set_geom_aspect proc~new_fieldspec_geom->none~set_geom_aspect none~set_typekind_aspect AspectCollection%set_typekind_aspect proc~new_fieldspec_geom->none~set_typekind_aspect none~set_ungridded_dims_aspect AspectCollection%set_ungridded_dims_aspect proc~new_fieldspec_geom->none~set_ungridded_dims_aspect none~set_units_aspect AspectCollection%set_units_aspect proc~new_fieldspec_geom->none~set_units_aspect none~set_vertical_grid_aspect AspectCollection%set_vertical_grid_aspect proc~new_fieldspec_geom->none~set_vertical_grid_aspect

Called by

proc~~new_fieldspec_geom~~CalledByGraph proc~new_fieldspec_geom new_FieldSpec_geom interface~fieldspec FieldSpec interface~fieldspec->proc~new_fieldspec_geom

Source Code

   function new_FieldSpec_geom(unusable, geom, vertical_grid, vertical_dim_spec, typekind, ungridded_dims, &
        standard_name, long_name, units, &
        attributes, regrid_param, horizontal_dims_spec, default_value, accumulation_type, timestep) result(field_spec)
      type(FieldSpec), target :: field_spec

      class(KeywordEnforcer), optional, intent(in) :: unusable
      type(ESMF_Geom), optional, intent(in) :: geom
      class(VerticalGrid), optional, intent(in) :: vertical_grid
      type(VerticalDimSpec), intent(in) :: vertical_dim_spec
      type(ESMF_Typekind_Flag), intent(in) :: typekind
      type(UngriddedDims), optional, intent(in) :: ungridded_dims
      character(*), optional, intent(in) :: standard_name
      character(*), optional, intent(in) :: units
      character(*), optional, intent(in) :: long_name
      type(StringVector), optional, intent(in) :: attributes
      type(EsmfRegridderParam), optional, intent(in) :: regrid_param
      type(HorizontalDimsSpec), optional, intent(in) :: horizontal_dims_spec

      ! optional args last
      real, optional, intent(in) :: default_value
      character(*), optional, intent(in) :: accumulation_type
      type(ESMF_TimeInterval), optional, intent(in) :: timestep

      type(AspectCollection), pointer :: aspects

      aspects => field_spec%get_aspects()

      call aspects%set_vertical_grid_aspect(VerticalGridAspect( &
           vertical_grid=vertical_grid, &
           vertical_dim_spec=vertical_dim_spec, &
           geom=geom))
      call aspects%set_geom_aspect(GeomAspect(geom, regrid_param, horizontal_dims_spec))
      call aspects%set_units_aspect(UnitsAspect(units))
      call aspects%set_ungridded_dims_aspect(UngriddedDimsAspect(ungridded_dims))
      call aspects%set_typekind_aspect(TypekindAspect(typekind))
      call aspects%set_frequency_aspect(FrequencyAspect(timestep, accumulation_type))
      call aspects%set_attributes_aspect(AttributesAspect(attributes))
      
      if (present(standard_name)) field_spec%standard_name = standard_name
      if (present(long_name)) field_spec%long_name = long_name
 
      ! regrid_param

      if (present(default_value)) field_spec%default_value = default_value

      _UNUSED_DUMMY(unusable)

   end function new_FieldSpec_geom