code: def _get_ctypes_name(self, index=None):
          
          if index is None:
              if ("allocatable" not in self.modifiers and "pointer" not in self.modifiers
                  and self.dtype != "logical"):
                  #The fortan logical has type 4 by default, whereas c_bool only has 1
                  return self.name
              else:
                  return "{}_c".format(self.name)
          else:
              return "{0}_{1:d}_c".format(self.name, index)
docs: Returns a formatted name for the ctypes Fortran wrapper module.
  
          :arg index: the index of the array to return a name for. None for the new parameter,
            otherwise the index for the integer variable name of that dimension.