netcdf

python中的.nc文件处理 | 05 NetCDF数据的进一步分析

元气小坏坏 提交于 2021-01-09 23:54:35
NetCDF数据的进一步分析 比较不同数据集、不同季节的气候数据 import os import numpy as np import pandas as pd import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature import seaborn as sns import geopandas as gpd import earthpy as et import xarray as xr import regionmask # 绘制设置 sns.set(font_scale=1.3) # 字号 sns.set_style("white",{'font.family': 'Times New Roman'}) # 主题 读取数据集 2006-2099年月最高气温 data_path_monthly = 'http://thredds.northwestknowledge.net:8080/thredds/dodsC/agg_macav2metdata_tasmax_BNU-ESM_r1i1p1_rcp45_2006_2099_CONUS_monthly.nc' with xr.open_dataset(data_path_monthly) as

使用 python 处理 nc 数据

戏子无情 提交于 2021-01-08 22:55:21
前言 这两天帮一个朋友处理了些 nc 数据,本以为很简单的事情,没想到里面涉及到了很多的细节和坑,无论是“知难行易”还是“知易行难”都不能充分的说明问题,还是“知行合一”来的更靠谱些,既要知道理论又要知道如何实现,于是经过不太充分的研究后总结成此文,以记录如何使用 python 处理 nc 数据。 一、nc 数据介绍 nc 全称 netCDF(The Network Common Data Form),可以用来存储一系列的数组,就是这么简单(参考 https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_introduction.html )。 既然 nc 可以用来一系列的数组,所以经常被用来存储科学观测数据,最好还是长时间序列的。 试想一下一个科学家每隔一分钟采集一次实验数据并存储了下来,如果不用这种格式存储,时间长了可能就需要创建一系列的 csv 或者 txt 等,而采用 nc 一个文件就可以搞定,是不是很方便。 更方便的是如果这个科学实验与气象、水文、温度等地理信息稍微沾点边的,完全也可以用 nc 进行存储, GeoTiff 顶多能多存几个波段(此处波段可以认为是气象、水文等不同信号),而 nc 可以存储不同波段的长时间观测结果,是不是非常方便。 可以使用 gdal 查看数据信息,执行: gdalinfo name.nc

python中的.nc文件处理 | 03 指定位置的数据切片及可视化

半世苍凉 提交于 2021-01-08 21:43:29
NetCDF4文件处理 下载MACA v2的 netcdf4 格式数据 使用 xarray 读取和处理 netcdf4 格式数据 将 netcdf4 格式数据导出为 .csv 格式 将 netcdf4 格式数据导出为 .tif 格式 参考链接 import os import numpy as np import pandas as pd import matplotlib.pyplot as plt # 处理netcdf4文件所要用到的包 import xarray as xr import rioxarray import cartopy.crs as ccrs import cartopy.feature as cfeature import seaborn as sns import geopandas as gpd import earthpy as et # 统计图绘制选项 sns.set(font_scale=1.3) sns.set_style("white") 文件读取 .nc文件名的含义 agg_macav2metdata_tasmax_BNU-ESM_r1i1p1_historical_1950_2005_CONUS_monthly agg_macav2metdata :MACA v2版本,降尺度到美国大陆 tasmax :数据项为最高温度 BNU-ESM

get mean of netcdf file using xarray

浪子不回头ぞ 提交于 2021-01-02 08:17:27
问题 I have opened a netcdf file in python using xarray, and the dataset summary looks like this. Dimensions: (latitude: 721, longitude: 1440, time: 41) Coordinates: * longitude (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75 * latitude (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0 expver int32 1 * time (time) datetime64[ns] 1979-01-01 1980-01-01 ... 2019-01-01 Data variables: z (time, latitude, longitude) float32 50517.914 ... 49769.473 Attributes: Conventions: CF

get mean of netcdf file using xarray

ⅰ亾dé卋堺 提交于 2021-01-02 08:17:13
问题 I have opened a netcdf file in python using xarray, and the dataset summary looks like this. Dimensions: (latitude: 721, longitude: 1440, time: 41) Coordinates: * longitude (longitude) float32 0.0 0.25 0.5 0.75 ... 359.25 359.5 359.75 * latitude (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0 expver int32 1 * time (time) datetime64[ns] 1979-01-01 1980-01-01 ... 2019-01-01 Data variables: z (time, latitude, longitude) float32 50517.914 ... 49769.473 Attributes: Conventions: CF

用NetCDF创建和读取NC文件

杀马特。学长 韩版系。学妹 提交于 2020-12-23 18:38:45
package examples; import java.io.IOException; import java.util.ArrayList; import ucar.ma2.ArrayFloat; import ucar.ma2.DataType; import ucar.ma2.InvalidRangeException; import ucar.nc2.Attribute; import ucar.nc2.Dimension; import ucar.nc2.NetcdfFileWriter; import ucar.nc2.Variable; public class Pres_temp_4D_wr { public static void main(String[] args) { final int NLVL = 2; final int NLAT = 6; final int NLON = 12; final int NREC = 2; final float SAMPLE_PRESSURE = 900.0f; final float SAMPLE_TEMP = 9.0f; final float START_LAT = 25.0f; final float START_LON = -125.0f; // 定义文件名 String filename = "pres

基于GDAL库,读取.nc文件(以海洋表温数据为例)C++版

女生的网名这么多〃 提交于 2020-12-19 06:01:40
  对于做海洋数据处理的同学,会经常遇到nc格式的文件,nc文件的格式全称是NetCDF,具体的详细解释请查询官网【https://www.unidata.ucar.edu/software/netcdf/docs/index.html】,一般从全球大洋数据库里面下载的温盐、风场及云量等数据,基本上是nc文件格式,每一个文件里面包含多个数据集,例如最简单的海面表温数据( Sea surface temperature data),数据范围是全球,空间分辨率为 0.25 *0.25(~25km),时间分辨率为3 hour,所以一天的观测数据里面包含着两个子数据集(subDataset),一是海洋表温数据集,另一个是遗失数据说明信息数据集,在第一个子数据集(海洋表温数据集)内,又会包含分层数据,也就是每隔3个小时时间分辨率下的表温数据。   基于前期查询李民录老师的《GDAL源码剖析与开发指南》一书才了解到,GDAL库本身是支持上述文件的读取的,故编译GDAL库(2.3.2版本),编译器采用MSVC2017版本,开发平台采用QT 5.11.2版本,由于QT本身不具有MSVC编译器配套的调试器,所以去微软官网下载了相应的调试器(winsdksetup.exe,安装的时候只选择安装Debugging Tools for Windows即可);经过查找GDAL官网的资料

Change time axis units from “years since” to “days since” in netcdf file

情到浓时终转凉″ 提交于 2020-12-10 08:42:54
问题 I have a netcdf file that someone passed me that uses "years since DATE" as the time units: double time(time) ; time:standard_name = "time" ; time:long_name = "time" ; time:calendar = "proleptic_gregorian" ; time:axis = "T" ; time:units = "years since 2000-1-1 00:00:00" ; I want to change the units to "Days since" the same base date - Obviously the timevariable needs to be changed to be consistent. I was hoping for a solution using nco or cdo, but I am a bit stumped. (A python solution would

UCMap移动GIS & 时空地图GIS

有些话、适合烂在心里 提交于 2020-10-31 09:26:24
UCMapViewer是基于UCMap(OpenGL版)的通用地图开发框架,涵盖了各类GIS数据的展示、查询、编辑、分析等各项功能 ( http://www.creable.cn/kuibu/xiazai.asp ) ,开发者可根据自己的应用需求来定制修改 时空地图 TimeGIS 6.1 时空地图 TimeGIS 6.1 是一个地理信息系统软件,它可以显示网络地图,编辑ArcGIS的SHP矢量文件格式,导入DXF/DWG文件,显示NETCDF等栅格文件,管理图层等。 在它的基础上,可以二次开发各种GIS应用,如历史GIS,土地GIS,水利GIS,交通GIS,GPS软件,气象GIS等等。 快手软件,得心应手。 放大显示 TimeGPS软件 TimeGPS是一个GPS教学软件,提供地图显示,路径编辑与测量,路径规划,地图匹配等功能。 放大显示 快手 KSCAD 5.0 快手 KSCAD 5.0 是一款简单易用的矢量绘图软件,其功能和Visio类似,可以绘制工艺流程图,流程图、组织结构图、网络拓扑图、思维导图、商业图表等。 可应用于各种领域的图形化建模仿真,如CAD,科学可视化,工控人机界面,组态软件,网络监控,化工流程模拟,工作流软件,程序化交易软件等等。 快手软件,得心应手。 快手软件绘制的上海轨道交通网络示意图 (放大显示) 快手数控仿真软件 快手数控仿真软件,可以读取显示