2007 Unidata NetCDF Workshop for Developers and Data Providers > libcf: A New Library for CF Conventions Support
10.7 Vertical Dimension Functions in LibCF
LibCF provides functions to help with the vertical dimension.
/* Define a unitless vertical coordinate. */
int nccf_def_lvl_vert(int ncid, int lvl_type, const char *name, nc_type xtype,
size_t len, int *lvl_dimidp, int *lvl_varidp);
/* Learn about a unitless vertical coordinate. */
int nccf_inq_lvl_vert(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *lvl_typep, int *lvl_dimidp, int *lvl_varidp);
/* Define atmosphere sigma coordinate. */
int nccf_def_lvl_sigma(int ncid, const char *name, nc_type xtype,
size_t len, int *lvl_dimidp, int *lvl_varidp);
/* Set the formula_terms to contain information about this level. */
int nccf_def_ft_sigma(int ncid, int lvl_vid, int ps_vid, int p0_vid);
/* Inquire about atmosphere sigma coordinate. */
int nccf_inq_lvl_sigma(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *ps_varidp, int *ptop_varidp, int *lvl_dimidp,
int *lvl_varidp);
/* Define hybrid_sigma coordinate. */
int nccf_def_lvl_hybrid_sigma(int ncid, const char *name, nc_type xtype,
size_t len, int *lvl_dimidp, int *lvl_varidp);
/* Set the formula_terms to contain information about this level. */
int nccf_def_ft_hybrid_sigma(int ncid, int lvl_vid, int a_vid, int b_vid, int ps_vid,
int p0_vid);
/* Inquire about hybrid_sigma coordinate. */
int nccf_inq_lvl_hybrid_sigma(int ncid, char *name, nc_type *xtypep,
size_t *lenp, int *a_varidp, int *b_varidp,
int *ps_varidp, int *p0_varidp, int *lvl_dimidp,
int *lvl_varidp);
/* Define hybrid_sigma coordinate. */
int nccf_def_lvl_hybrid_sigma_full(int ncid, const char *name, nc_type xtype,
size_t len, int *lvl_dimidp, int *lvl_varidp);
/* Define hybrid_sigma coordinate. */
int nccf_def_ft_hybrid_sigma_full(int ncid, int varid, int a_varid, int b_varid,
int ps_varid, int p0_varid);
/* Define hybrid_height coordinate. */
int nccf_def_lvl_hybrid_height(int ncid, const char *name, nc_type xtype, size_t len,
int *lvl_dimidp, int *lvl_varidp);
/* Define hybrid_height coordinate. */
int nccf_def_ft_hybrid_height(int ncid, int varid, int a_varid, int b_varid,
int orog_varid);
/* Inquire about hybrid_height coordinate. */
int nccf_inq_lvl_hybrid_height(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *a_varidp, int *b_varidp, int *orog_varidp,
int *lvl_dimidp, int *lvl_varidp);
/* Define sleve coordinate. */
int nccf_def_lvl_sleve(int ncid, const char *name, nc_type xtype, size_t len,
int *lvl_dimidp, int *lvl_varidp);
/* Define sleve coordinate. */
int nccf_def_ft_sleve(int ncid, int varid, int a_varid, int b1_varid, int b2_varid,
int ztop_varid, int zsurf1_varid, int zsurf2_varid);
/* Inquire about sleve coordinate. */
int nccf_inq_lvl_sleve(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *a_varidp, int *b1_varidp, int *b2_varidp, int *ztop_varidp,
int *zsurf1_varidp, int *zsurf2_varidp, int *lvl_dimidp,
int *lvl_varidp);
int nccf_def_lvl_ocean_sigma(int ncid, const char *name, nc_type xtype, size_t len,
int *lvl_dimidp, int *lvl_varidp);
int nccf_def_ft_ocean_sigma(int ncid, int varid, int eta_varid, int depth_varid);
int nccf_inq_lvl_ocean_sigma(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *eta_varidp, int *depth_varidp, int *lvl_dimidp,
int *lvl_varidp);
int nccf_def_lvl_ocean_s(int ncid, const char *name, nc_type xtype, size_t len,
int *lvl_dimidp, int *lvl_varidp);
int nccf_def_ft_ocean_s(int ncid, int varid, int eta_varid, int depth_varid,
int a_varid, int b_varid, int depth_c_varid);
int nccf_inq_lvl_ocean_s(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *eta_varidp, int *depth_varidp, int *a_varidp, int *b_varidp,
int *depth_c_varidp, int *lvl_dimidp, int *lvl_varidp);
/* Define ocean_sigma_z coordinate. */
int nccf_def_lvl_ocean_sigma_z(int ncid, const char *name, nc_type xtype,
size_t len, int *lvl_dimidp, int *lvl_varidp);
int nccf_def_ft_ocean_sigma_z(int ncid, int varid, int eta_varid, int depth_varid,
int depth_c_varid, int nsigma_varid, int zlev_varid);
/* Inquire about ocean_sigma_z coordinate. */
int nccf_inq_lvl_ocean_sigma_z(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *eta_varidp, int *depth_varidp, int *depth_c_varidp,
int *nsigma_varidp, int *zlev_varidp, int *lvl_dimidp,
int *lvl_varidp);
int nccf_def_lvl_ocean_dbl_sigma(int ncid, const char *name, nc_type xtype, size_t len,
int *lvl_dimidp, int *lvl_varidp);
int nccf_def_ft_ocean_dbl_sigma(int ncid, int varid, int depth_varid, int z1_varid,
int z2_varid, int a_varid, int href_varid, int k_c_varid);
/* Inquire about atmosphere ocean_dbl_sigma coordinate. */
int nccf_inq_lvl_ocean_dbl_sigma(int ncid, char *name, nc_type *xtypep, size_t *lenp,
int *depth_varidp, int *z1_varidp, int *z2_varidp,
int *a_varidp, int *href_varidp, int *k_c_varidp,
int *lvl_dimidp, int *lvl_varidp);
2007 Unidata NetCDF Workshop for Developers and Data Providers > libcf: A New Library for CF Conventions Support