def change_nodata_odc(ds, orig_value=0, fill_value=-999):
    """
    Takes original xr dataset  odc-stac nodata values (0) 
    for non-mask bands and converts to int16 with -999 as 
    NoData to match cog fetch.
    
    Parameters
    ----------
    ds: xr dataset
        A single xr dataset object.
    orig_value: int or float
        A value that exists in the xr dataset that represents NoData 
        values.
    fill_value: int or float
        A value to which previous nodata values are converted to.
     
    Returns
    ----------
    ds : xr dataset with modified nodata values.
    """
    
    # loop all vars without mask in name
    for var in list(ds.data_vars):
        if 'mask' not in var.lower():
            ds[var] = ds[var].where(ds[var] != orig_value, fill_value)

    return ds