subroutine  IcGrid_ncGridLoader_load_grid2DData( &
  & cncfile_name, cptr_icgrid &
  & ) bind(C, name='IcGrid_ncGridLoader_load_grid2DData')

  use, intrinsic :: iso_c_binding

  use dc_types, only: &
    & STRING

  use IcGrid_ncGridLoader, only: &
    & load_gridData

  use IcGrid2D_FVM_Manager, only: &
    & IcGrid2D_FVM

  use CBinding_Utility, only: &
    & c_f_string

  character(len=1, kind=c_char), intent(in) :: cncfile_name(*)
  type(c_ptr), value :: cptr_icgrid

  type(IcGrid2D_FVM), pointer :: ptr_icgrid
  character(STRING) :: ncfile_name

  call c_f_pointer(cptr_icgrid, ptr_icgrid)
  call c_f_string(cncfile_name, ncfile_name)

  call load_gridData(ncfile_name, ptr_icgrid)

end subroutine IcGrid_ncGridLoader_load_grid2DData
