code: def to_iris(dataarray):
      
      # Iris not a hard dependency
      import iris
      from iris.fileformats.netcdf import parse_cell_methods
  
      dim_coords = []
      aux_coords = []
  
      for coord_name in dataarray.coords:
          coord = encode(dataarray.coords[coord_name])
          coord_args = _get_iris_args(coord.attrs)
          coord_args['var_name'] = coord_name
          axis = None
          if coord.dims:
              axis = dataarray.get_axis_num(coord.dims)
          if coord_name in dataarray.dims:
              try:
                  iris_coord = iris.coords.DimCoord(coord.values, **coord_args)
                  dim_coords.append((iris_coord, axis))
              except ValueError:
                  iris_coord = iris.coords.AuxCoord(coord.values, **coord_args)
                  aux_coords.append((iris_coord, axis))
          else:
              iris_coord = iris.coords.AuxCoord(coord.values, **coord_args)
              aux_coords.append((iris_coord, axis))
  
      args = _get_iris_args(dataarray.attrs)
      args['var_name'] = dataarray.name
      args['dim_coords_and_dims'] = dim_coords
      args['aux_coords_and_dims'] = aux_coords
      if 'cell_methods' in dataarray.attrs:
          args['cell_methods'] = \
              parse_cell_methods(dataarray.attrs['cell_methods'])
  
      masked_data = duck_array_ops.masked_invalid(dataarray.data)
      cube = iris.cube.Cube(masked_data, **args)
  
      return cube
docs: Convert a DataArray into a Iris Cube