def readVariables(src):
    """
  Reads and store NetCDF variables (type,dimensions,metadata) into dict.
  
  Parameters
  ----------
  src:netCDF4 object

  Returns
  -------
  dict : {id:{type,dimensions,...metadata}}
  """
    variables = {}
    for id in src.variables:
        variable = {}
        variable['type'] = src.variables[id].dtype.name
        variable['dimensions'] = list(src.variables[id].dimensions)
        for ncattr in src.variables[id].ncattrs():
            variable[ncattr] = src.variables[id].getncattr(ncattr)
        variables[id] = variable
    return variables
