def METHOD_NAME(cgrid, fgrid, ogrid, interiorscalars=['temperature']): #{{{
    """
    Perform interpolation from a coarse grid (cgrid) onto a find grid (fgrid),
    writing to an output file (ogrid). This interpolation interpolates scalars
    list from cgrid onto fgrid and uses nearest neighbor interpolation.
    Interpolated scalars are specified by interiorscalars and the
    layerThickness is interpolated on the output grid for z-star coordinates.
    Phillip Wolfram
    11/18/2015
    """
    with timeit_context('Make output file'):
        shutil.copyfile(fgrid, ogrid)
    with timeit_context('Open files'):
        cgriddata = netCDF4.Dataset(cgrid,'r')
        fgriddata = netCDF4.Dataset(fgrid,'r')
        ogriddata = netCDF4.Dataset(ogrid,'r+')
    with timeit_context('Build vectors of point locations x,y,z and data values'):
        cpos3d = get_point_vectors3d(cgriddata)
        cdata3dcell = get_3dcell_data(cgriddata, interiorscalars)
        fpos3d = get_point_vectors3d(fgriddata)
        cpos2d = get_point_vectors2d(cgriddata)
        cdata2dcell = get_2dcell_data(cgriddata, ['ssh'])
        fpos2d = get_point_vectors2d(fgriddata)
    with timeit_context('Building trees for coarse data'):
        tree3d = KDTree(cpos3d)
        tree2d = KDTree(cpos2d)
    with timeit_context('Finding nearest neighbors'):
        _, nearestneighs3d = tree3d.query(fpos3d)
        _, nearestneighs2d = tree2d.query(fpos2d)
    fdata3dcell = cdata3dcell[:,nearestneighs3d]
    fssh = cdata2dcell[:,nearestneighs2d]
    with timeit_context('Convert ssh to layerThickness'):
        rbd = fgriddata.variables['refBottomDepth'][:]
        relthick = np.hstack((rbd[0], np.diff(rbd)))
        layerThickness = relthick[np.newaxis,:] + (relthick/np.sum(relthick))[np.newaxis,:]*fssh.T
    with timeit_context('Saving data'):
        set_3dcell_data(ogriddata, interiorscalars, fdata3dcell)
        ogriddata.variables['layerThickness'][0,:,:] = layerThickness
    with timeit_context('Close files'):
        cgriddata.close()
        fgriddata.close()
        ogriddata.close()
    return None #}}}