- 博客(21)
- 收藏
- 关注
原创 Xarray读取并处理NC文件中遇到问题(1)
我这里主要是针对一个长时间序列的三维数组针对后面两个维度进行加减运算,在这个过程中发现利用xarray进行运算时会报错。
2024-01-15 15:12:05
1343
原创 【非root用户在服务器安装Conda并配置相关的环境】
当今,Python的应用越来越广泛。我注意到每次在不同的电脑上安装conda时都会遇到各种问题,为此,我特意撰写本文,总结了一些问题,并记录下一些遇到的特殊问题。以上就是今天要讲的内容,本文仅仅简单介绍服务器下面conda的安装,详细的问题可能还有待补充。
2023-12-14 15:06:49
1032
原创 python重新读写NC文件
python在处理数据的时候往往需要将一些过程变量存储出来,气象处理中常常存为nc形式、dat、npy等形式。而在存储为nc形式的时候常常需要写入一些维度的信息,对于python来说常常用xarray或者netCDF4来读写。两种写入nc文件的方式各不相同,结果也有细微不同。可以从上述截图中看出,第一种输出的nc文件包含了时间维度和季节作为时间属性,而第二种nc文件不包含time。
2023-09-04 09:14:22
2894
原创 Python气象处理绘图第八弹–中国区域极端气温指标
根据ETCCDI中定义的极端气温指标,可以计算20年内tmax,tmin的极端气温指标:TXx,TXn,TNx,TNn,ID,FD,SU,TR等等。并可以绘制极端气温指标的多年平均的空间分布,主要分为简单的绘图,添加网格线和添加主、次要刻度三种子图。本章主要简单介绍了绝对阈值的计算,此外还可以应用xclim进行其它极端气候指标的计算,详情之后有时间再更新。值得注意的是,这里剔除2月29日的方法比较简单高效;再进行网格线eps图片的绘制中,会丢失很多信息(暂时还没有解决)。
2023-06-08 01:09:59
3323
13
原创 【Numpy数组结构变换】
NumPy提供了大量的的函数对数组的各种处理,下面介绍最常用的数组结构变换的函数。提示:以下是本篇文章正文内容,下面案例可供参考从以上代码不难看出,concatenate()和stack()函数都可以将多个数组合并为一个新的数组,两者的区别在于合并的形状不同。concatenate合并的数组形状不变,但stack创建的数组总是会增加一个维度。
2023-04-01 14:55:24
212
原创 【安装anaconda3+通用子程序包】
安装anaconda3之后,配置了vscode、spyder和pycharm,在进行气象数据处理中常常选哟安装不同的程序包。而安装包与安装包之间可能存在冲突性,因此需注意。以上就是气象数据处理与绘图常常用到的安装包。安装的过程中尽量避免pip,以免冲突。
2023-03-29 15:36:20
1441
原创 【Python气象处理绘图第七弹–泰勒图绘制】
在进行模式评估的过程中,常常需要评估模式的模拟性能,这通常由空间相关系数(CC),相对标准差(SD)及其中心化的均方根误差(RMSE)体现,这三者又常常可以由泰勒图具体体现。RMSE越接近0,CC和SD越接近1,模式模拟能力越好泰勒图23.泰勒图以上就是对于泰勒图的绘制。处理核心:数据预处理成一维数据剔除缺测值(参考dataframe)注意legend的位置Python matplotlib画图时图例说明(legend)放到图像外侧详解。
2023-03-21 15:06:56
4629
8
原创 Python气象处理绘图第六弹--局部加权线性回归
大数据进行分析的时候,有时候需要在散点图中添加回归线,而seaborn中regplot自带的Lowess拟合的效果比较差,因此本文利用python的statsmodels.api中的sm.nonparametric.lowess(y, x, frac=k)进行按需的lowess拟合。
2023-02-21 14:18:43
771
原创 【Python气象处理绘图第五弹--散点回归图】
在进行气象数据处理时,除了关注各个指标的时空变化外,常常我们还会利用统计学对于数据之间的关系进行分析。利用python中的seaborn资源包可以进行很多的统计分析。以上就是这次对于散点回归图的学习,其中主要有两种方式lmplot和regplot进行绘制,它们使用方法各有不同。绘制完简单的图之后,可以应用facegrid进行个性化绘制图形,拟绘制更加精美的图。
2023-02-12 13:50:00
1135
原创 Python气象处理绘图第四弹--裁剪nc文件
在处理nc文件的过程中,有时需要对nc文件的数据在时间、经度、纬度进行裁剪处理,提取出自己感兴趣的部分。这就需要用到掩膜mask等处理手段,针对不同的结果有不同的方法进行处理。本文利用ERA5月平均数据,裁剪青藏高原范围的nc文件,并绘制空间分布图。
2022-11-21 14:57:00
7586
22
原创 python气象处理第三弹-绘制气象站点分布
在书写科研论文的研究区域的部分时,常常需要对研究区域的地形、气象观测站点等信息的进行图片形式的展现。因此参考Python可视化中国区域地面气象要素驱动数据集—以黄河流域为例绘制出了中国气象站点和黄河流域分布图。
2022-11-14 18:27:22
3449
原创 python气象数据处理--按照时间序列计算格点数据指标
气象数据常常以netcdf的形式存储,通常以hourly、daily、monthly、yearly等时间精度存储,但是我们常常需要处理成月、年、季节、气候态等数据。因此需要对其进行时间维度上的计算,常常运用xarray或者pandas进行计算。使用groupby和使用Pandas的resample函数都可以实现类似的分组聚合,但是各有区别。
2022-11-08 16:15:14
3619
2
原创 【python子程序包安装--pyinterp】
尝试使用pip install pyinterp 直接安装失败尝试使用 conda install -c conda-forge pyinterp尝试使用 conda install -c “conda-forge/label/cf202003” pyinterp安装子程序包
2022-09-23 10:18:30
1412
原创 【python掩膜及多子图colorbar】
前期进行了黄河流域降水分布的白化之后,最近尝试了对于青藏高原气象要素空间分布进行了白化。并学习了如何添加多子图的colorbar。shp文件的读取,特征值选取,maskout的改写由于cordex数据是旋转坐标,因此需要进行插值成非旋转坐标的值才能够进行常规坐标分析,在后文会对IDW插值的运用进行更新多子图colorbar的设定核心:返回ac值。
2022-09-21 20:50:20
3223
原创 【IDM下载CIMAP6-CORDEX data】
由于我需要下载cordex的项目,因此我需要join CORDEX。随后创建账户获得openid,并选择自己要下载的数据。必须要注册CORDEX GROUPgroup链接随后就可以成功下载了采用IDM能够很好地增强下载速度,提高下载速率。tips:要想成功下载cordex数据一定要注册相应group。
2022-09-14 16:12:28
1186
2
原创 修改nc文件中的时间序列并给变量赋予新的时间属性
cesm1_2_2模式跑出的月数据第一年是从2月1日开始的,因此我们需要对于其变量的时间序列进行更改。利用pands.DataFrame函数生成新的时间序列,并让其变为变量的新的时间属性。pands.DataFrame与pandas.Series相似,可以按照位置或坐标进行索引和切片。利用pandas支持的日期时间频率,我们可以按照自己的要求构建出相应的时间序列。从上图看出源文件是从2月1日开始的,要想进行带时间索引的时间处理,则需要对时间序列进行相关处理。代码如下(示例):通过...
2022-06-14 22:12:03
5551
8
原创 python气象可视化第二弹-黄河流域白化
maskout是比较python+cartopy实现白化功能的一个比较好用的子程序。(1)在应用的过程中要注意相关的shp文件应该是地理坐标系,如果不是的话要转化坐标系。(详情参考:如何使用arcmap转换shp文件坐标系)(2)注意选择合适的region,尽量选择具有代表性的record。...
2022-06-10 22:12:40
4365
4
原创 如何使用arcmap转换shp文件坐标系
在运用shp文件进行mask的过程中,我们常常需要使其坐标系是地理坐标系,而非投影坐标系。例如:我需要绘制黄河流域的降水分布,需要mask黄河流域周边区域。而下载的九大流域片数据集中的投影不是地理投影坐标。因此需要转换它的坐标系,本次我尝试运用arcmap进行处理。(1)查询图层信息上图为原本图层,可以看出它的投影坐标系是Krasovsky_1940_Albers(2)转换投影坐标系在arcmap选择地理处理中的ArcToolbox,选择数据管理工具→投影和转化→投影,进行坐标的转换。如下图点击确定即可输出
2022-06-10 19:08:15
3082
原创 Python气象处理绘图第一弹--白化海洋部分
我是学习python处理气象数据以及绘图的小白。以前常用Matlab处理数据,利用ncl进行绘图。但是MATLAB对于批量nc文件的处理很慢,比较消耗时间,于是我转战python啦。在气象绘图过程中,我们常常需要对不感兴趣的部分进行遮掩。于是需要对不感兴趣的部分进行白化处理。目前比较常用的是maskout这一由平流层的萝卜首发、晋陵小生优化的 maskout 模块白化功能。这一功能对于区域的 白化非常有用,但我此次仅对海洋数据进行白化,我就参考了公众号好奇心 Log 推送的 salem 库包下的白化。首先需
2022-06-08 19:44:48
4685
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人