mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-02-17 16:50:18 +08:00
Merge pull request #1468 from NetCDF-World-Domination-Council/ejh_remove_pe_funcs
Remove obsolete and deprecated base_pe functions from the dispatch table
This commit is contained in:
commit
f9e7037b44
@ -7,6 +7,12 @@ This file contains a high-level description of this package's evolution. Release
|
||||
|
||||
## 4.7.1 - TBD
|
||||
|
||||
* [Enhancement] Remove obsolete and deprecated functions
|
||||
nc_set_base_pe() and nc_inq_base_pe() from the dispatch table. (Both
|
||||
functions are still supported in the library, this is an internal
|
||||
change only.)
|
||||
See [GitHub #1436](https://github.com/Unidata/netcdf-c/issues/1468)
|
||||
|
||||
* [Bug Fix] Reverted nccopy behavior so that if no -c parameters
|
||||
are given, then any default chunking is left to the netcdf-c library
|
||||
to decide.
|
||||
|
@ -128,8 +128,8 @@ main(int argc, char **argv)
|
||||
if (nc_inq(ncid + TEST_VAL_42, NULL, NULL, NULL, NULL) != NC_EBADID) ERR;
|
||||
|
||||
/* These only work for netCDF-3 files. */
|
||||
if (nc_set_base_pe(ncid, 0) != NC_ENOTNC3) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL) != NC_ENOTNC3) ERR;
|
||||
if (nc_set_base_pe(ncid, 0)) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL)) ERR;
|
||||
|
||||
/* Attempt to write. */
|
||||
if (nc_rename_att(ncid, NC_GLOBAL, ATT_NAME, NAME_DUMB) != NC_EPERM) ERR;
|
||||
|
@ -49,17 +49,6 @@ check_inq_format(int ncid, int expected_format, int expected_extended_format, in
|
||||
if (mode != expected_mode) ERR;
|
||||
if (extended_format != expected_extended_format) ERR;
|
||||
|
||||
/* Nothing to do with inq_format, but let's check the base_pe
|
||||
* functions. */
|
||||
if (expected_format == NC_FORMAT_CLASSIC || expected_format == NC_FORMAT_64BIT_OFFSET ||
|
||||
expected_format == NC_FORMAT_CDF5) {
|
||||
if (nc_set_base_pe(ncid, 0)) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL)) ERR;
|
||||
} else {
|
||||
if (nc_set_base_pe(ncid, 0) != NC_ENOTNC3) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL) != NC_ENOTNC3) ERR;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -83,12 +83,6 @@ extern "C" {
|
||||
extern int
|
||||
NC3_set_fill(int ncid, int fillmode, int *old_modep);
|
||||
|
||||
extern int
|
||||
NC3_set_base_pe(int ncid, int pe);
|
||||
|
||||
extern int
|
||||
NC3_inq_base_pe(int ncid, int *pe);
|
||||
|
||||
extern int
|
||||
NC3_inq_format(int ncid, int *formatp);
|
||||
|
||||
|
@ -49,12 +49,6 @@ extern "C" {
|
||||
EXTERNL int
|
||||
NC4_set_fill(int ncid, int fillmode, int *old_modep);
|
||||
|
||||
EXTERNL int
|
||||
NC4_set_base_pe(int ncid, int pe);
|
||||
|
||||
EXTERNL int
|
||||
NC4_inq_base_pe(int ncid, int *pe);
|
||||
|
||||
EXTERNL int
|
||||
NC4_inq_format(int ncid, int *formatp);
|
||||
|
||||
|
@ -35,8 +35,6 @@ struct NC_Dispatch
|
||||
int (*abort)(int);
|
||||
int (*close)(int, void *);
|
||||
int (*set_fill)(int, int, int *);
|
||||
int (*inq_base_pe)(int, int *);
|
||||
int (*set_base_pe)(int, int);
|
||||
int (*inq_format)(int, int*);
|
||||
int (*inq_format_extended)(int, int *, int *);
|
||||
|
||||
@ -163,8 +161,6 @@ EXTERNL int NC_RO_set_fill(int ncid, int fillmode, int *old_modep);
|
||||
|
||||
/* These functions are for dispatch layers that don't implement these
|
||||
* legacy functions. They return NC_ENOTNC3. */
|
||||
EXTERNL int NC_NOTNC3_set_base_pe(int ncid, int pe);
|
||||
EXTERNL int NC_NOTNC3_inq_base_pe(int ncid, int *pe);
|
||||
EXTERNL int NC_NOTNC3_put_varm(int ncid, int varid, const size_t * start,
|
||||
const size_t *edges, const ptrdiff_t *stride,
|
||||
const ptrdiff_t *imapp, const void *value0,
|
||||
|
@ -101,8 +101,6 @@ NCD2_sync,
|
||||
NCD2_abort,
|
||||
NCD2_close,
|
||||
NCD2_set_fill,
|
||||
NCD2_inq_base_pe,
|
||||
NCD2_set_base_pe,
|
||||
NCD2_inq_format,
|
||||
NCD2_inq_format_extended, /*inq_format_extended*/
|
||||
|
||||
@ -2257,12 +2255,6 @@ NCD2_set_fill(int ncid, int fillmode, int* old_modep)
|
||||
return THROW(NC_EPERM);
|
||||
}
|
||||
|
||||
int
|
||||
NCD2_set_base_pe(int ncid, int pe)
|
||||
{
|
||||
return THROW(NC_EPERM);
|
||||
}
|
||||
|
||||
int
|
||||
NCD2_def_dim(int ncid, const char* name, size_t len, int* idp)
|
||||
{
|
||||
@ -2287,16 +2279,6 @@ NCD2_def_var(int ncid, const char *name,
|
||||
Following functions basically return the netcdf-3 value WRT to the nc3id.
|
||||
*/
|
||||
|
||||
int
|
||||
NCD2_inq_base_pe(int ncid, int* pe)
|
||||
{
|
||||
NC* drno;
|
||||
int ret;
|
||||
if((ret = NC_check_id(ncid, (NC**)&drno)) != NC_NOERR) return THROW(ret);
|
||||
ret = nc_inq_base_pe(getnc3id(drno), pe);
|
||||
return THROW(ret);
|
||||
}
|
||||
|
||||
int
|
||||
NCD2_inq_format(int ncid, int* formatp)
|
||||
{
|
||||
|
@ -57,12 +57,6 @@ NCD2_inq_format_extended(int ncid, int* formatp, int* modep);
|
||||
extern int
|
||||
NCD2_set_fill(int ncid, int fillmode, int *old_modep);
|
||||
|
||||
extern int
|
||||
NCD2_set_base_pe(int ncid, int pe);
|
||||
|
||||
extern int
|
||||
NCD2_inq_base_pe(int ncid, int *pe);
|
||||
|
||||
extern int
|
||||
NCD2_inq_format(int ncid, int *formatp);
|
||||
|
||||
|
@ -117,12 +117,6 @@ NCD4_set_fill(int ncid, int fillmode, int* old_modep)
|
||||
return (NC_EPERM);
|
||||
}
|
||||
|
||||
static int
|
||||
NCD4_set_base_pe(int ncid, int pe)
|
||||
{
|
||||
return (NC_EPERM);
|
||||
}
|
||||
|
||||
static int
|
||||
NCD4_def_dim(int ncid, const char* name, size_t len, int* idp)
|
||||
{
|
||||
@ -253,18 +247,6 @@ Following functions basically return the netcdf-4 value WRT to the nc4id.
|
||||
However, it is necessary to modify the grpid(ncid) to point to the substrate.
|
||||
*/
|
||||
|
||||
static int
|
||||
NCD4_inq_base_pe(int ncid, int* pe)
|
||||
{
|
||||
NC* ncp;
|
||||
int ret = NC_NOERR;
|
||||
int substrateid;
|
||||
if((ret = NC_check_id(ncid, (NC**)&ncp)) != NC_NOERR) return (ret);
|
||||
substrateid = makenc4id(ncp,ncid);
|
||||
ret = nc_inq_base_pe(substrateid, pe);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
static int
|
||||
NCD4_inq_format(int ncid, int* formatp)
|
||||
{
|
||||
@ -806,8 +788,6 @@ NCD4_sync,
|
||||
NCD4_abort,
|
||||
NCD4_close,
|
||||
NCD4_set_fill,
|
||||
NCD4_inq_base_pe,
|
||||
NCD4_set_base_pe,
|
||||
NCD4_inq_format,
|
||||
NCD4_inq_format_extended, /*inq_format_extended*/
|
||||
|
||||
|
@ -1454,8 +1454,8 @@ nc_set_fill(int ncid, int fillmode, int *old_modep)
|
||||
* @internal Learn base PE.
|
||||
*
|
||||
* @deprecated This function was used in the old days with the Cray at
|
||||
* NCAR. The Cray is long gone, and this call is supported only for
|
||||
* backward compatibility.
|
||||
* NCAR. The Cray is long gone, and this call is now meaningless. The
|
||||
* value returned for pe is always 0.
|
||||
*
|
||||
* @param ncid File and group ID.
|
||||
* @param pe Pointer for base PE.
|
||||
@ -1470,7 +1470,8 @@ nc_inq_base_pe(int ncid, int *pe)
|
||||
NC* ncp;
|
||||
int stat = NC_check_id(ncid, &ncp);
|
||||
if(stat != NC_NOERR) return stat;
|
||||
return ncp->dispatch->inq_base_pe(ncid,pe);
|
||||
if (pe) *pe = 0;
|
||||
return NC_NOERR;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1493,26 +1494,25 @@ nc_set_base_pe(int ncid, int pe)
|
||||
NC* ncp;
|
||||
int stat = NC_check_id(ncid, &ncp);
|
||||
if(stat != NC_NOERR) return stat;
|
||||
return ncp->dispatch->set_base_pe(ncid,pe);
|
||||
return NC_NOERR;
|
||||
}
|
||||
|
||||
/** \ingroup datasets
|
||||
Inquire about the binary format of a netCDF file
|
||||
as presented by the API.
|
||||
|
||||
This function returns the (rarely needed) format version.
|
||||
|
||||
\param ncid NetCDF ID, from a previous call to nc_open() or
|
||||
nc_create().
|
||||
|
||||
\param formatp Pointer to location for returned format version, one of
|
||||
NC_FORMAT_CLASSIC, NC_FORMAT_64BIT_OFFSET, NC_FORMAT_CDF5, NC_FORMAT_NETCDF4,
|
||||
NC_FORMAT_NETCDF4_CLASSIC.
|
||||
|
||||
\returns ::NC_NOERR No error.
|
||||
|
||||
\returns ::NC_EBADID Invalid ncid passed.
|
||||
|
||||
/**
|
||||
* @ingroup datasets
|
||||
* Inquire about the binary format of a netCDF file
|
||||
* as presented by the API.
|
||||
*
|
||||
* This function returns the (rarely needed) format version.
|
||||
*
|
||||
* @param ncid NetCDF ID, from a previous call to nc_open() or
|
||||
* nc_create().
|
||||
* @param formatp Pointer to location for returned format version, one
|
||||
* of NC_FORMAT_CLASSIC, NC_FORMAT_64BIT_OFFSET, NC_FORMAT_CDF5,
|
||||
* NC_FORMAT_NETCDF4, NC_FORMAT_NETCDF4_CLASSIC.
|
||||
*
|
||||
* @returns ::NC_NOERR No error.
|
||||
* @returns ::NC_EBADID Invalid ncid passed.
|
||||
* @author Dennis Heimbigner
|
||||
*/
|
||||
int
|
||||
nc_inq_format(int ncid, int *formatp)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Copyright 2018, UCAR/Unidata See netcdf/COPYRIGHT file for copying
|
||||
* and redistribution conditions.*/
|
||||
/**
|
||||
* @file @internal This file handles the *_base_pe()
|
||||
* @file @internal This file handles the *_varm()
|
||||
* functions for dispatch layers that need to return ::NC_ENOTNC3.
|
||||
*
|
||||
* @author Ed Hartnett
|
||||
@ -9,36 +9,6 @@
|
||||
|
||||
#include "nc4dispatch.h"
|
||||
|
||||
/**
|
||||
* @internal This function only does anything for netcdf-3 files.
|
||||
*
|
||||
* @param ncid Ignored.
|
||||
* @param pe Ignored.
|
||||
*
|
||||
* @return ::NC_ENOTNC3 Not a netCDF classic format file.
|
||||
* @author Ed Hartnett
|
||||
*/
|
||||
int
|
||||
NC_NOTNC3_set_base_pe(int ncid, int pe)
|
||||
{
|
||||
return NC_ENOTNC3;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal This function only does anything for netcdf-3 files.
|
||||
*
|
||||
* @param ncid Ignored.
|
||||
* @param pe Ignored.
|
||||
*
|
||||
* @return ::NC_ENOTNC3 Not a netCDF classic format file.
|
||||
* @author Ed Hartnett
|
||||
*/
|
||||
int
|
||||
NC_NOTNC3_inq_base_pe(int ncid, int *pe)
|
||||
{
|
||||
return NC_ENOTNC3;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal This function only does anything for netcdf-3 files.
|
||||
*
|
||||
|
@ -28,8 +28,6 @@ static const NC_Dispatch HDF4_dispatcher = {
|
||||
NC_HDF4_abort,
|
||||
NC_HDF4_close,
|
||||
NC_RO_set_fill,
|
||||
NC_NOTNC3_inq_base_pe,
|
||||
NC_NOTNC3_set_base_pe,
|
||||
NC_HDF4_inq_format,
|
||||
NC_HDF4_inq_format_extended,
|
||||
|
||||
|
@ -28,8 +28,6 @@ static const NC_Dispatch HDF5_dispatcher = {
|
||||
NC4_abort,
|
||||
NC4_close,
|
||||
NC4_set_fill,
|
||||
NC_NOTNC3_inq_base_pe,
|
||||
NC_NOTNC3_set_base_pe,
|
||||
NC4_inq_format,
|
||||
NC4_inq_format_extended,
|
||||
|
||||
|
@ -91,8 +91,6 @@ NC3_sync,
|
||||
NC3_abort,
|
||||
NC3_close,
|
||||
NC3_set_fill,
|
||||
NC3_inq_base_pe,
|
||||
NC3_set_base_pe,
|
||||
NC3_inq_format,
|
||||
NC3_inq_format_extended,
|
||||
|
||||
|
@ -1608,74 +1608,6 @@ void NC_increase_numrecs(NC *nc3, size_t nrecs)
|
||||
|
||||
#endif /* LOCKNUMREC */
|
||||
|
||||
/* everyone in communicator group will be executing this */
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
NC3_set_base_pe(int ncid, int pe)
|
||||
{
|
||||
#if _CRAYMPP && defined(LOCKNUMREC)
|
||||
int status;
|
||||
NC *nc;
|
||||
NC3_INFO* nc3;
|
||||
shmem_t numrecs;
|
||||
|
||||
if ((status = NC_check_id(ncid, &nc) != NC_NOERR) {
|
||||
return status;
|
||||
}
|
||||
if (pe < 0 || pe >= _num_pes()) {
|
||||
return NC_EINVAL; /* invalid base pe */
|
||||
}
|
||||
nc3 = NC3_DATA(nc);
|
||||
|
||||
numrecs = (shmem_t) NC_get_numrecs(nc3);
|
||||
|
||||
nc3->lock[LOCKNUMREC_VALUE] = (ushmem_t) numrecs;
|
||||
|
||||
/* update serving & lock values for a "smooth" transition */
|
||||
/* note that the "real" server will being doing this as well */
|
||||
/* as all the rest in the group */
|
||||
/* must have synchronization before & after this step */
|
||||
shmem_short_get(
|
||||
(shmem_t *) nc3->lock + LOCKNUMREC_SERVING,
|
||||
(shmem_t *) nc3->lock + LOCKNUMREC_SERVING,
|
||||
1, nc3->lock[LOCKNUMREC_BASEPE]);
|
||||
|
||||
shmem_short_get(
|
||||
(shmem_t *) nc3->lock + LOCKNUMREC_LOCK,
|
||||
(shmem_t *) nc3->lock + LOCKNUMREC_LOCK,
|
||||
1, nc3->lock[LOCKNUMREC_BASEPE]);
|
||||
|
||||
/* complete transition */
|
||||
nc3->lock[LOCKNUMREC_BASEPE] = (ushmem_t) pe;
|
||||
|
||||
#endif /* _CRAYMPP && LOCKNUMREC */
|
||||
return NC_NOERR;
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
NC3_inq_base_pe(int ncid, int *pe)
|
||||
{
|
||||
#if _CRAYMPP && defined(LOCKNUMREC)
|
||||
int status;
|
||||
NC *nc;
|
||||
NC3_INFO* nc3;
|
||||
|
||||
if ((status = NC_check_id(ncid, &nc)) != NC_NOERR) {
|
||||
return status;
|
||||
}
|
||||
|
||||
*pe = (int) nc3->lock[LOCKNUMREC_BASEPE];
|
||||
nc3 = NC3_DATA(nc);
|
||||
#else
|
||||
/*
|
||||
* !_CRAYMPP, only pe 0 is valid
|
||||
*/
|
||||
if (pe) *pe = 0;
|
||||
#endif /* _CRAYMPP && LOCKNUMREC */
|
||||
return NC_NOERR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the file format.
|
||||
*
|
||||
|
@ -8,8 +8,7 @@
|
||||
* This file is part of netcdf-4, a netCDF-like interface for HDF5, or a
|
||||
* HDF5 backend for netCDF, depending on your point of view.
|
||||
*
|
||||
* This file handles the (useless) *_base_pe() functions, and the
|
||||
* inq_format functions.
|
||||
* This file handles the inq_format functions.
|
||||
*
|
||||
* @author Ed Hartnett, Dennis Heimbigner
|
||||
*/
|
||||
|
@ -238,19 +238,6 @@ NCP_set_fill(int ncid, int fillmode, int *old_mode_ptr)
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
NCP_inq_base_pe(int ncid, int *pep)
|
||||
{
|
||||
if (pep) *pep = 0;
|
||||
return NC_NOERR;
|
||||
}
|
||||
|
||||
static int
|
||||
NCP_set_base_pe(int ncid, int pe)
|
||||
{
|
||||
return NC_NOERR;
|
||||
}
|
||||
|
||||
static int
|
||||
NCP_inq_format(int ncid, int *formatp)
|
||||
{
|
||||
@ -1399,8 +1386,6 @@ NCP_sync,
|
||||
NCP_abort,
|
||||
NCP_close,
|
||||
NCP_set_fill,
|
||||
NCP_inq_base_pe,
|
||||
NCP_set_base_pe,
|
||||
NCP_inq_format,
|
||||
NCP_inq_format_extended,
|
||||
|
||||
|
@ -87,14 +87,8 @@ check_inq_format(int ncid, int expected_format, int expected_extended_format, in
|
||||
|
||||
/* Nothing to do with inq_format, but let's check the base_pe
|
||||
* functions. */
|
||||
if (expected_format == NC_FORMAT_CLASSIC || expected_format == NC_FORMAT_64BIT_OFFSET ||
|
||||
expected_format == NC_FORMAT_CDF5) {
|
||||
if (nc_set_base_pe(ncid, 0)) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL)) ERR;
|
||||
} else {
|
||||
if (nc_set_base_pe(ncid, 0) != NC_ENOTNC3) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL) != NC_ENOTNC3) ERR;
|
||||
}
|
||||
if (nc_set_base_pe(ncid, 0)) ERR;
|
||||
if (nc_inq_base_pe(ncid, NULL)) ERR;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -77,8 +77,6 @@ NC_RO_sync,
|
||||
tst_abort,
|
||||
tst_close,
|
||||
NC_RO_set_fill,
|
||||
NC_NOTNC3_inq_base_pe,
|
||||
NC_NOTNC3_set_base_pe,
|
||||
tst_inq_format,
|
||||
tst_inq_format_extended,
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user