使用netcdf库读取nc文件
时间: 2023-07-30 12:08:20 浏览: 299
netcdf.rar_Fortran nc_nc fortran_nc文件_netcdf
以下是使用NetCDF库读取NC文件的示例代码,假设你已经安装了NetCDF库并将其包含在你的C++代码中:
```c++
#include <netcdfcpp.h>
#include <iostream>
using namespace std;
int main()
{
NcFile nc("example.nc", NcFile::read);
if (!nc.is_valid()) {
cerr << "Error opening NetCDF file!" << endl;
return -1;
}
// 获取变量
NcVar *var = nc.get_var("temperature");
if (var == NULL) {
cerr << "Error getting variable!" << endl;
return -1;
}
// 获取变量的维度
NcDim *time_dim = var->get_dim(0);
NcDim *lat_dim = var->get_dim(1);
NcDim *lon_dim = var->get_dim(2);
// 获取变量的大小
int time_size = time_dim->size();
int lat_size = lat_dim->size();
int lon_size = lon_dim->size();
// 读取变量数据
float *data = new float[time_size * lat_size * lon_size];
var->get(data, time_size, lat_size, lon_size);
// 输出数据
for (int i = 0; i < time_size; i++) {
for (int j = 0; j < lat_size; j++) {
for (int k = 0; k < lon_size; k++) {
int index = i * lat_size * lon_size + j * lon_size + k;
cout << data[index] << " ";
}
cout << endl;
}
cout << endl;
}
// 释放内存
delete[] data;
return 0;
}
```
该程序打开名为“example.nc”的NetCDF文件,并获取名为“temperature”的变量。然后,它获取变量的维度和大小,并使用“get”函数读取变量数据。最后,程序输出数据并释放内存。
阅读全文