make_dim_key Function

public function make_dim_key(n, rc) result(key)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(out), optional :: rc

Return Value character(len=:), allocatable


Calls

proc~~make_dim_key~~CallsGraph proc~make_dim_key make_dim_key interface~mapl_assert MAPL_Assert proc~make_dim_key->interface~mapl_assert proc~mapl_return MAPL_Return proc~make_dim_key->proc~mapl_return 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

Called by

proc~~make_dim_key~~CalledByGraph proc~make_dim_key make_dim_key proc~get_ungridded_dims_bundle_info get_ungridded_dims_bundle_info proc~get_ungridded_dims_bundle_info->proc~make_dim_key proc~make_ungridded_dims_info make_ungridded_dims_info proc~make_ungridded_dims_info->proc~make_dim_key proc~make_esmf_info make_esmf_info proc~make_esmf_info->proc~make_ungridded_dims_info proc~test_get_ungridded_dims test_get_ungridded_dims proc~test_get_ungridded_dims->proc~get_ungridded_dims_bundle_info proc~test_get_ungridded_dims->proc~make_esmf_info proc~test_get_num_levels test_get_num_levels proc~test_get_num_levels->proc~make_esmf_info proc~test_get_vertical_dim_spec_names test_get_vertical_dim_spec_names proc~test_get_vertical_dim_spec_names->proc~make_esmf_info

Source Code

   function make_dim_key(n, rc) result(key)
      character(len=:), allocatable :: key
      integer, intent(in) :: n
      integer, optional, intent(out) :: rc
      integer :: status
      character(len=32) :: raw

      key = ''
      _ASSERT(n > 0, 'Index must be positive.')
      if(n <= size(KEY_DIM_STRINGS)) then
         key = KEY_DIM_STRINGS(n)
         _RETURN(_SUCCESS)
      end if
      write(raw, fmt='(I0)', iostat=status) n
      _ASSERT(status == 0, 'Write failed')
      key = KEYSTUB_DIM // trim(raw)
      _RETURN(_SUCCESS)

   end function make_dim_key