标签: netcdf

将netcdf转换为图像

我有一个netcdf文件,我想使用命令行工具转换为图像(joed,png,gif).

是否有人可以帮助我使用库名称,并可能链接到它是如何完成的.

关心大卫

python netcdf

3
推荐指数
2
解决办法
6069
查看次数

什么是在Windows上将NetCDF转换为HDF5的最简单方法

在这篇维基文章中写道

NetCDF用户可以创建HDF5文件

但我找到了如何实际进行这种转换的麻烦.我唯一能找到的是http://www.hdfgroup.org/HDF-FAQ.html#convnetcdf.这里写道:

有一个名为ncdf2hdf的Windows可执行程序来自Fortner Software(已解散),可进行转换.它已不再可用,但可以通过搜索网络找到.但是,据报道,它生成的HDF文件缺少一些在上述路由生成的结构中找到的结构.

我不应该在这里提到,在网上很难找到这个ncdf2hdf.

到目前为止,我发现我可以用http://gfesuite.noaa.gov/developer/netCDFPythonInterface.htmlhttps://code.google.com/p/netcdf4-python/来使用python来读取netcdf文件,但是有一个更简单的方法.

hdf5 netcdf

3
推荐指数
1
解决办法
4295
查看次数

如何更改 NetCDF 中的经度范围

我的 NetCDF 文件有 4 个维度(经度、纬度、时间、水平压力)和几个变量。

我想用 [-20 -18 -16 ... -2 0 2 4 ... 18 20] 替换 [340 342 344 ... 360 0 2 4 ... 18 20] 的经度数据。事实上,经度是从 0° 到 360° 计算的,但我需要从 -180° 到 180°。

我在互联网上找到了一些想法,但我不知道如何应用它们。

这里有一个解释:

“一些 netcdf 文件包含严格的正值 [0,360],这与 gdal/QGis 处理经度值的方式不兼容 - 它们不会环绕日期变更线。这也会导致 gdalwarp 以及与其他数据集([-180,180 ] 值),由于 180 度经度偏移,它们没有正确对齐。

简单的解决方法是测试经度变量并将 [180,360] 间隔中的任何值通过减去 180 转换为 [-180,180] - 在 IReadBlock 和 SRS 检测中。”

我也读过“gdal-translate”,但我不知道如何使用它。

编辑:我的纬度也有问题,它是 N -> S(我想要它 S -> N),由于“cdo invertlat”,我将其反转

replace r projection netcdf cdo-climate

3
推荐指数
2
解决办法
3922
查看次数

无法安装和加载包

我最近将R和Rstudio下载到了我的电脑上.

当我尝试安装包ncdf(或任何包)时,我收到以下消息:

> install.packages("ncdf")
Installing package into ‘C:/Users/Talos/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/bin/windows/contrib/3.1/ncdf_1.6.7.zip'
Content type 'application/zip' length 358300 bytes (349 Kb)
opened URL
downloaded 349 Kb

package ‘ncdf’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\Talos\AppData\Local\Temp\RtmpKuMfwR\downloaded_packages

> load("ncdf")
Error in readChar(con, 5L, useBytes = TRUE) : cannot open the connection
In addition: Warning message:
In readChar(con, 5L, useBytes = TRUE) :
  cannot open compressed file 'ncdf', probable reason 'No such file or directory' …
Run Code Online (Sandbox Code Playgroud)

install packages r netcdf rstudio

3
推荐指数
1
解决办法
3067
查看次数

如何使用Python读取NetCDF文件并写入CSV

我的目标是从netcdf文件访问数据并以下列格式写入CSV文件.

Latitude  Longitude Date1  Date2  Date3
100       200       <-- MIN_SFC values -->
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经访问了变量,将标题写入文件并填充了lat/lons.

如何访问指定的lon,lat坐标和日期的MIN_SFC值,然后写入CSV文件.

我是一个蟒蛇新手,如果有更好的方法去解决这个问题请告诉我.

NetCDF文件信息:

Dimensions:
  time = 7 
  latitude = 292
  longitude =341

Variables:
  float MIN_SFC (time=7, latitude = 292, longitude = 341)
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

 from netCDF4 import Dataset, num2date

 filename = "C:/filename.nc"

 nc = Dataset(filename, 'r', Format='NETCDF4')
 print nc.variables

 print 'Variable List'

 for var in nc.variables:
    print var, var.units, var.shape

 # get coordinates variables
 lats = nc.variables['latitude'][:]
 lons = nc.variables['longitude'][:]

 sfc= nc.variables['Min_SFC'][:]
 times = nc.variables['time'][:]

 # convert date, …
Run Code Online (Sandbox Code Playgroud)

python netcdf

3
推荐指数
2
解决办法
1万
查看次数

将多个NetCDF文件合并到时间序列多维数组python中

我正在使用来自多个netcdf文件的数据(在我的计算机上的文件夹中).每个文件保存整个美国的数据,为期5年.基于x和y坐标的索引引用位置.我正在尝试为多个位置(网格单元)创建一个时间序列,将5年期间编译为20年期间(这将合并4个文件).现在,我能够从一个位置的所有文件中提取数据,并使用numpy append将其编译为数组.但是,我想提取多个位置的数据,将其放入矩阵,其中行是位置,列包含时间序列降水数据.我想我必须创建一个列表或字典,但我不确定如何在循环中将数据分配到列表/字典.

我是python和netCDF的新手,所以如果这是一个简单的解决方案,请原谅我.我一直在使用这段代码作为指南,但还没有弄清楚如何格式化它我想做的事情:Python读取多个可变大小的NetCDF Rainfall文件

这是我的代码:

import glob
from netCDF4 import Dataset
import numpy as np

# Define x & y index for grid cell of interest 
    # Pittsburgh is 37,89
yindex = 37  #first number
xindex = 89  #second number

# Path
path = '/Users/LMC/Research Data/NARCCAP/'  
folder = 'MM5I_ccsm/'

## load data file names    
all_files = glob.glob(path + folder+'*.nc')
all_files.sort()

## initialize np arrays of timeperiods and locations
yindexlist = [yindex,'38','39'] # y indices for all grid cells of …
Run Code Online (Sandbox Code Playgroud)

python netcdf

3
推荐指数
1
解决办法
1万
查看次数

将GrADS(.grd)转换为NetCDF(.nc)?

我有包含以.grd格式间隔6小时(每天4个文件)的大气数据的文件。我也有相关的描述符文件(yyyymmddhh.ctl)。我可以使用GrADS绘制数据。但是我需要将这些文件转换为NetCDF格式(.nc),以便在ferrert的帮助下将其可视化。有人知道怎么做吗?

ferret netcdf grads

3
推荐指数
2
解决办法
3541
查看次数

如何将相对日期转换为绝对日期?

我通过Python查看netcdf文件,netcdf文件上的日期是138276,这是自2000-01-01 00:00:00以来的小时数.这个日期对应10月7日.如何将2000-01-01 00:00:00以来的138276小时的转换日期改为2015-10-07 00:00:00?

python datetime netcdf

3
推荐指数
2
解决办法
1466
查看次数

NCO:使用NCO ncks从NetCDF文件中提取变量

我试图通过输入以下命令从多变量netcdf文件中提取变量:

ncks -v ta temp1.nc out.nc
Run Code Online (Sandbox Code Playgroud)

但是,然后我查看out.nc标头,所有变量仍然存在。

temp1.nc和out.nc的标头如下:

--- temp1.nc header ---
dimensions:
        time = UNLIMITED ; // (124 currently)
        lon = 256 ;
        bnds = 2 ;
        lat = 128 ;
        lev = 40 ;
variables:
        double time(time) ;
                time:standard_name = "time" ;
                time:long_name = "time" ;
                time:units = "days since 1850-1-1" ;
                time:calendar = "365_day" ;
                time:axis = "T" ;
        double lon(lon) ;
                lon:standard_name = "longitude" ;
                lon:long_name = "longitude" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" …
Run Code Online (Sandbox Code Playgroud)

netcdf nco ncks cdo-climate

3
推荐指数
1
解决办法
3372
查看次数

堆叠从Xarray生成的Dask数组的有效方法

因此,我正在尝试读取大量包含水文数据的相对较大的netCDF文件。NetCDF文件全部如下所示:

<xarray.Dataset>
Dimensions:         (feature_id: 2729077, reference_time: 1, time: 1)
Coordinates:
  * time            (time) datetime64[ns] 1993-01-11T21:00:00
  * reference_time  (reference_time) datetime64[ns] 1993-01-01
  * feature_id      (feature_id) int32 101 179 181 183 185 843 845 847 849 ...
Data variables:
    streamflow      (feature_id) float64 dask.array<shape=(2729077,), chunksize=(50000,)>
    q_lateral       (feature_id) float64 dask.array<shape=(2729077,), chunksize=(50000,)>
    velocity        (feature_id) float64 dask.array<shape=(2729077,), chunksize=(50000,)>
    qSfcLatRunoff   (feature_id) float64 dask.array<shape=(2729077,), chunksize=(50000,)>
    qBucket         (feature_id) float64 dask.array<shape=(2729077,), chunksize=(50000,)>
    qBtmVertRunoff  (feature_id) float64 dask.array<shape=(2729077,), chunksize=(50000,)>
Attributes:
    featureType:                timeSeries
    proj4:                      +proj=longlat +datum=NAD83 +no_defs
    model_initialization_time:  1993-01-01_00:00:00
    station_dimension:          feature_id
    model_output_valid_time:    1993-01-11_21:00:00
    stream_order_output: …
Run Code Online (Sandbox Code Playgroud)

python netcdf dask python-xarray

3
推荐指数
1
解决办法
285
查看次数