def METHOD_NAME(path_gunw:str, ds_slc):
    """ Update the path_gunw file using the slc delays in ds_slc """
    ## first need to delete the variable; only can seem to with h5
    with h5py.File(path_gunw, 'a') as h5:
        for k in TROPO_GROUP.split():
            h5 = h5[k]
        # in case GUNW has already been updated once before
        try:
            del h5[TROPO_NAMES[0]]
            del h5[TROPO_NAMES[1]]
        except KeyError:
            pass
        for k in 'crs'.split():
            if k in h5.keys():
                del h5[k]
    with Dataset(path_gunw, mode='a') as ds:
        ds_grp    = ds[TROPO_GROUP]
        ds_grp.createGroup(ds_slc.attrs['model'].upper())
        ds_grp_wm = ds_grp[ds_slc.attrs['model'].upper()]
        ## create and store new data e.g., corrections/troposphere/GMAO/reference/troposphereWet
        for rs in 'reference secondary'.split():
            ds_grp_wm.createGroup(rs)
            ds_grp_rs = ds_grp_wm[rs]
            ## create the new dimensions e.g., corrections/troposphere/GMAO/reference/latitudeMeta
            for dim in DIM_NAMES:
                ## dimension may already exist if updating
                try:
                    ds_grp_rs.createDimension(dim, len(ds_slc.coords[dim]))
                    ## necessary for transform
                    v  = ds_grp_rs.createVariable(dim, np.float32, dim)
                    v[:] = ds_slc[dim]
                    v.setncatts(ds_slc[dim].attrs)
                except RuntimeError:
                    pass
            ## add the projection if it doesnt exist
            try:
                v_proj = ds_grp_rs.createVariable('crs', 'i')
            except RuntimeError:
                v_proj = ds_grp_rs['crs']
            v_proj.setncatts(ds_slc["crs"].attrs)
            ## update the actual tropo data
            for name in TROPO_NAMES:
                da        = ds_slc[f'{rs}_{name}']
                nodata    = da.encoding['_FillValue']
                chunksize = da.encoding['chunksizes']
                ## in case updating
                try:
                    v    = ds_grp_rs.createVariable(name, np.float32, DIM_NAMES,
                                        chunksizes=chunksize, fill_value=nodata)
                except RuntimeError:
                    v    = ds_grp_rs[name]
                v[:] = da.data
                v.setncatts(da.attrs)
    logger.info('Updated %s group in: %s', os.path.basename(TROPO_GROUP), path_gunw)
    return