/*! \file
Main header file for the C API.
Copyright 2018, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
2015, 2016, 2017, 2018, 2019
University Corporation for Atmospheric Research/Unidata.
See \ref copyright file for more info.
*/
#ifndef _NETCDF_
#define _NETCDF_
#include <stddef.h> /* size_t, ptrdiff_t */
#include <errno.h> /* netcdf functions sometimes return system errors */
/* Required for alloca on Windows */
#if defined(_WIN32) || defined(_WIN64)
#include <malloc.h>
#endif
/*! The nc_type type is just an int. */
typedef int nc_type;
#if defined(__cplusplus)
extern "C" {
#endif
/*
* The netcdf external data types
*/
#define NC_NAT 0 /**< Not A Type */
#define NC_BYTE 1 /**< signed 1 byte integer */
#define NC_CHAR 2 /**< ISO/ASCII character */
#define NC_SHORT 3 /**< signed 2 byte integer */
#define NC_INT 4 /**< signed 4 byte integer */
#define NC_LONG NC_INT /**< \deprecated required for backward compatibility. */
#define NC_FLOAT 5 /**< single precision floating point number */
#define NC_DOUBLE 6 /**< double precision floating point number */
#define NC_UBYTE 7 /**< unsigned 1 byte int */
#define NC_USHORT 8 /**< unsigned 2-byte int */
#define NC_UINT 9 /**< unsigned 4-byte int */
#define NC_INT64 10 /**< signed 8-byte int */
#define NC_UINT64 11 /**< unsigned 8-byte int */
#define NC_STRING 12 /**< string */
#define NC_MAX_ATOMIC_TYPE NC_STRING /**< @internal Largest atomic type. */
/* The following are use internally in support of user-defines
* types. They are also the class returned by nc_inq_user_type. */
#define NC_VLEN 13 /**< vlen (variable-length) types */
#define NC_OPAQUE 14 /**< opaque types */
#define NC_ENUM 15 /**< enum types */
#define NC_COMPOUND 16 /**< compound types */
/** @internal Define the first user defined type id (leave some
* room) */
#define NC_FIRSTUSERTYPEID 32
/** Default fill value. This is used unless _FillValue attribute
* is set. These values are stuffed into newly allocated space as
* appropriate. The hope is that one might use these to notice that a
* particular datum has not been set. */
/**@{*/
#define NC_FILL_BYTE ((signed char)-127)
#define NC_FILL_CHAR ((char)0)
#define NC_FILL_SHORT ((short)-32767)
#define NC_FILL_INT (-2147483647)
#define NC_FILL_FLOAT (9.9692099683868690e+36f) /* near 15 * 2^119 */
#define NC_FILL_DOUBLE (9.9692099683868690e+36)
#define NC_FILL_UBYTE (255)
#define NC_FILL_USHORT (65535)
#define NC_FILL_UINT (4294967295U)
#define NC_FILL_INT64 ((long long)-9223372036854775806LL)
#define NC_FILL_UINT64 ((unsigned long long)18446744073709551614ULL)
#define NC_FILL_STRING ((char *)"")
/**@}*/
/*! Max or min values for a type. Nothing greater/smaller can be
* stored in a netCDF file for their associated types. Recall that a C
* compiler may define int to be any length it wants, but a NC_INT is
* *always* a 4 byte signed int. On a platform with 64 bit ints,
* there will be many ints which are outside the range supported by
* NC_INT. But since NC_INT is an external format, it has to mean the
* same thing everywhere. */
/**@{*/
#define NC_MAX_BYTE 127
#define NC_MIN_BYTE (-NC_MAX_BYTE-1)
#define NC_MAX_CHAR 255
#define NC_MAX_SHORT 32767
#define NC_MIN_SHORT (-NC_MAX_SHORT - 1)
#define NC_MAX_INT 2147483647
#define NC_MIN_INT (-NC_MAX_INT - 1)
#define NC_MAX_FLOAT 3.402823466e+38f
#define NC_MIN_FLOAT (-NC_MAX_FLOAT)
#define NC_MAX_DOUBLE 1.7976931348623157e+308
#define NC_MIN_DOUBLE (-NC_MAX_DOUBLE)
#define NC_MAX_UBYTE NC_MAX_CHAR
#define NC_MAX_USHORT 65535U
#define NC_MAX_UINT 4294967295U
#define NC_MAX_INT64 (9223372036854775807LL)
#define NC_MIN_INT64 (-9223372036854775807LL-1)
#define NC_MAX_UINT64 (18446744073709551615ULL)
/**@}*/
/** Name of fill value attribute. If you wish a variable to use a
* different value than the above defaults, create an attribute with
* the same type as the variable and this reserved name. The value you
* give the attribute will be used as the fill value for that
* variable. */
#define _FillValue "_FillValue"
#define NC_FILL 0 /**< Argument to nc_set_fill() to clear NC_NOFILL */
#define NC_NOFILL 0x100 /**< Argument to nc_set_fill() to turn off filling of data. */
/* Define the ioflags bits for nc_create and nc_open.
Currently unused in lower 16 bits:
0x0002
All upper 16 bits are unused except
0x20000
*/
/* Lower 16 bits */
#define NC_NOWRITE 0x0000 /**< Set read-only access for nc_open(). */
#define NC_WRITE 0x0001 /**< Set read-write access for nc_open(). */
#define NC_CLOBBER 0x0000 /**< Destroy existing file. Mode flag for nc_create(). */
#define NC_NOCLOBBER 0x0004 /**< Don't destroy existing file. Mode flag for nc_create(). */
#define NC_DISKLESS 0x0008 /**< Use diskless file. Mode flag for nc_open() or nc_create(). */
#define NC_MMAP 0x0010 /**< \deprecated Use diskless file with mmap. Mode flag for nc_open() or nc_create()*/
#define NC_64BIT_DATA 0x0020 /**< CDF-5 format: classic model but 64 bit dimensions and sizes */
#define NC_CDF5 NC_64BIT_DATA /**< Alias NC_CDF5 to NC_64BIT_DATA */
#define NC_UDF0 0x0040 /**< User-defined format 0. */
#define NC_UDF1 0x0080 /**< User-defined format 1. */
#define NC_CLASSIC_MODEL 0x0100 /**< Enforce classic model on netCDF-4. Mode flag for nc_create(). */
#define NC_64BIT_OFFSET 0x0200 /**< Use large (64-bit) file offsets. Mode flag for nc_create(). */
/** \deprecated The following flag currently is ignored, but use in
* nc_open() or nc_create() may someday support use of advisory
* locking to prevent multiple writers from clobbering a file
*/
#define NC_LOCK 0x0400
/** Share updates, limit caching.
Use this in mode flags for both nc_create() and nc_open(). */
#define NC_SHARE 0x0800
#define NC_NETCDF4 0x1000 /**< Use netCDF-4/HDF5 format. Mode flag for nc_create(). */
/** The following 3 flags are deprecated as of 4.6.2. Parallel I/O is now
* initiated by calling nc_create_par and nc_open_par, no longer by flags.
*/
#define NC_MPIIO 0x2000 /**< \deprecated */
#define NC_MPIPOSIX NC_MPIIO /**< \deprecated */
#define NC_PNETCDF (NC_MPIIO) /**< \deprecated */
#define NC_PERSIST 0x4000 /**< Save diskless contents to disk. Mode flag for nc_open() or nc_create() */
#define NC_INMEMORY 0x8000 /**< Read from memory. Mode flag for nc_open() or nc_create() */
/* Upper 16 bits */
#define NC_NOATTCREORD 0x20000 /**< Disable the netcdf-4 (hdf5) attribute creation order tracking */
#define NC_NODIMSCALE_ATTACH 0x40000 /**< Disable the netcdf-4 (hdf5) attaching of dimscales to variables (#2128) */
#define NC_MAX_MAGIC_NUMBER_LEN 8 /**< Max len of user-defined format magic number. */
/** Format specifier for nc_set_default_format() and returned
* by nc_inq_format. This returns the format as provided by
* the API. See nc_inq_format_extended to see the true file format.
* Starting with version 3.6, there are different format netCDF files.
* 4.0 introduces the third one. \see netcdf_format
*/
/**@{*/
#define NC_FORMAT_CLASSIC (1)
/* After adding CDF5 support, the NC_FORMAT_64BIT
flag is somewhat confusing. So, it is renamed.
Note that the name in the contributed code
NC_FORMAT_64BIT was renamed to NC_FORMAT_CDF2
*/
#define NC_FORMAT_64BIT_OFFSET (2)
#define NC_FORMAT_64BIT (NC_FORMAT_64BIT_OFFSET) /**< \deprecated Saved for compatibility. Use NC_FORMAT_64BIT_OFFSET or NC_FORMAT_64BIT_DATA, from netCDF 4.4.0 onwards. */
#define NC_FORMAT_NETCDF4 (3)
#define NC_FORMAT_NETCDF4_CLASSIC (4)
#define NC_FORMAT_64BIT_DATA
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一、内容概况 QGIS是一个开源的、跨平台的地理信息系统(GIS)软件,用于浏览、编辑和分析地理空间数据,提供了一套丰富的功能,包括地图制作、空间分析、数据管理等。QGIS可以在Windows、Mac OS和Linux等操作系统上运行。 QGIS的跨平台编译需要一系列开源库的支持,本系列提供QGIS相关的编译成果。 本资源的内容为:基于Qt的netcdf跨平台编译成果(Linux版本)。 二、使用人群 QGIS编译、QGIS跨平台编译的人员或研究者。 三、使用场景及目标 在Linux环境下使用。 既可以支撑QGIS在Linux环境下的编译工作,也可以进行netcdf的二次研发。 四、其他说明 在Linux环境下,基于Qt Creator进行编译的netcdf开源库。包含有头文件include、库文件so等,提供了Debug、Release版本。 当前采用的版本为netcdf-4.9.0,如果下载者,需要其他版本的netcdf,请在评论区留言。
资源推荐
资源详情
资源评论
收起资源包目录
netcdf-Linux.zip (15个子文件)
include
netcdf_dispatch.h 13KB
netcdf.h 71KB
netcdf_json.h 29KB
netcdf_meta.h 3KB
netcdf_aux.h 4KB
netcdf_mem.h 1KB
netcdf_filter.h 4KB
netcdf_filter_build.h 7KB
netcdf_filter_hdf5_build.h 8KB
lib
libnetcdf3d.a 1.09MB
libnetcdf4d.a 325KB
libnetcdfd.so 3.21MB
libnetcdf4.a 101KB
libnetcdf.so 1.34MB
libnetcdf3.a 390KB
bin
共 15 条
- 1
资源评论
翰墨之道
- 粉丝: 2889
- 资源: 182
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (2005-2014期间)中国环境统计年鉴
- 2015高中信息技术excel操作题及素材(精品文档).xls
- SW3518S全协议快充USB Type-c接口电源模块硬件参考设计评估版硬件(原理图 +pcb)+封装库文件.zip
- 基于深度强化学习算法实现多星对区域目标观测的规划python源码+数据集+模型+超详细注释.zip
- RT1052+SDRAM(IS42S16160) +SIM7600CE(PCIE接口封装)控制板硬件(原理图+PCB)+封装库
- 2017大学英语四级词汇-excel-列表版(精品文档).xls
- 2017版国家医保药品目录(excel版)完整版.xls
- 基于STM32F103单片机设计的无刷电机控制板硬件(原理图+PCB+BOM)+MCU软件控制源码+文档资料.zip
- 肺结节检测数据集VOC+YOLO格式1186张1类别.zip
- Faster-RCNN基于知识蒸馏的目标检测模型增量深度学习方法python源码+项目运行说明.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功