示例#1
0
文件: _cmormodule.c 项目: AZed/uvcdat
static PyObject *
  PyCMOR_time_varying_grid_coordinate(PyObject *self,PyObject *args)
{
  int ierr,grid_id,coord_var_id;
  char *table_entry;
  char *units;
  char type;
  double missing;
  PyObject *missing_obj;
  void *pass_missing;

 /* HUGE assumtion here is that the data is contiguous! */
  if (!PyArg_ParseTuple(args,"isscO",&grid_id,&table_entry,&units,&type,&missing_obj))
    return NULL;
  if (missing_obj == Py_None) {
    pass_missing = NULL;
  }
  else {
    missing = PyFloat_AsDouble(missing_obj);
    pass_missing=(void *)&missing;
  }
  ierr = cmor_time_varying_grid_coordinate(&coord_var_id,grid_id, table_entry, units, type, pass_missing, NULL);

  if (ierr != 0 ) return NULL;
  return Py_BuildValue("i",coord_var_id);  
}
示例#2
0
文件: _cmormodule.c 项目: PCMDI/cmor
static PyObject *PyCMOR_time_varying_grid_coordinate(PyObject * self,
                                                     PyObject * args)
{
    signal(signal_to_catch, signal_handler);
    int ierr, grid_id, coord_var_id;
    char *table_entry;
    char *units;
    char type;
    double missing;
    PyObject *missing_obj;
    void *pass_missing;

    /* HUGE assumtion here is that the data is contiguous! */
    if (!PyArg_ParseTuple
        (args, "isscO", &grid_id, &table_entry, &units, &type, &missing_obj))
        return NULL;
    if (missing_obj == Py_None) {
        pass_missing = NULL;
    } else {
        missing = PyFloat_AsDouble(missing_obj);
        pass_missing = (void *)&missing;
    }
    ierr =
      cmor_time_varying_grid_coordinate(&coord_var_id, grid_id,
                                        table_entry, units, type,
                                        pass_missing, NULL);

    if (ierr != 0 || raise_exception) {
        raise_exception = 0;
        PyErr_Format(CMORError, exception_message,
                     "time_varying_grid_coordinate");
        return NULL;
    }

    return (Py_BuildValue("i", coord_var_id));
}