- 博客(55)
- 收藏
- 关注

原创 个人免费静态博客网站搭建步骤记录——Git+hexo
静态网站是指全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。网页上也可以出现各种视觉动态效果,如GIF动画、FLASH动画、滚动字幕等,而网站主要是静态化的页面和代码组成,一般文件名均以htm、html、shtml等为后缀。简单来说,与动态网页相比,静态网站的网页全由固定的html写成,内容稳定固定,没有接口与时间限制,如果网站创建者不进行修改,静态网页的内容与网址一般不会发生改变。
2022-11-09 11:46:01
1625
原创 CloudSat数据产品数据下载与处理 (matlab)
这个数据我之前和CALIPSO弄混了,后来发现它们虽然是同一个火箭上去,但是数据产品却在不同的平台下,CloudSat的数据更加关注云的特性,包括云覆盖、云水当量、云分类数据。但是目前数据网站下载似乎无法连接,因此采用了添加公钥登录sftp的方法下载,添加sftp的方法在网站上已经有了介绍,这里就不多赘述了。产品包括1-B 2-B 2-C等,每个数据包含的变量不同,这里我下载的是2B-CWC数据,主要是包括云水当量廓线。
2024-10-26 21:38:42
949
原创 WRF学习——使用CMIP6数据驱动WRF/基于ncl与cdo的CMIP6数据处理
国际耦合模式比较计划(CMIP)为研究不同情景下的气候变化提供了大量的模拟数据,而在实际研究中,全球气候模式输出的数据空间分辨率往往较低(>100Km,缺乏区域气候特征,为了更好地研究不同情景下,某一区域的气候变化特征,我们往往需要更高分辨率的模拟数据。此时便需要对全球模式输出的数据进行降尺度研究,将大尺度信息变量与小尺度信息变量建立联系,获得更多的小尺度的变量。通常,降尺度可分为(1)动力降尺度 (2)统计降尺度 (3)二者结合降尺度。
2024-07-04 21:18:32
2700
2
原创 WRF进阶:使用Grid Nudging同化Upper-air
值得注意的是,在 WRF 模式中,两种方法同化的变量不同,Grid Nudging 中默认同化的变量包括水平风、位温和水汽混合比,Spectral Nudging 中默认同化水平风、位温和位势高度。Nudging是一种应用较为广泛的同化方法,通过在控制方程中加上强迫项,逐渐把模式状态向观测状态逼近。由于我的模拟时间为一个月,并没有达到气候的程度,且当前ERA5再分析资料的upp-air层次已经十分准确,我只想在模拟时打开grid nudging选项,使得模拟的大尺度场保持合理。
2024-01-04 16:38:48
2943
1
原创 Fortran读取netcdf文件/WRF中的文件读取
一直很好奇WRF到底如何通过netcdf库读取netcdf文件,正巧有个机会,试了下fortran读取nc文件,总结一下。
2023-12-10 21:10:25
1923
1
原创 python读取列数不规则文件/python数据框分割
为了便于数据框的分割提取,我们考虑添加标签,即提取对应的日期,并将其转为时间戳标签,此后,根据标签便可分割dataframe。此时,data为一个134355×10的dataframe,缺失部分为nan自动补齐。此时DFList为列表,元素为分割的子数据框。为一年数据,存在部分列的数据缺失问题。
2023-10-30 19:34:45
495
原创 WRF进阶:如何增加/耦合新参数化方案至WRF中?WRF如何添加新输入变量
总结一下WRF修改物理参数化方案的流程。修改对应phys/文件夹下的代码,包括计算模块与驱动模块如果不涉及变量的改变,则直接编译即可,如果涉及变量的增添,在修改初始化部分代码与变量输入模块代码。修改Registry文件,增加变量描述、针对需要增加新方案的,参考博客修改Makefile文件,编译自己的新方案模块。分配模块空间,确保在namelist.input中可以选择。修改驱动文件,创建一个新Case,同时在Regeistry中增加pacakge。如果涉及到变量的增加,则需同样的步骤。
2023-07-12 21:13:04
3792
16
原创 WRF进阶:使用ERA5-land数据驱动WRF/WRF撰写Vtable文件添加气象场
想用WRF模拟地气交换过程,对于WRF的地表数据,尤其是土壤温湿度数据要求便会很大,传统使用ERA5-singledata数据精度也许不足以满足需求,为此,本文尝试使用ERA5-land数据替换驱动WRF。
2023-06-14 10:37:57
3090
原创 python Matplotlib中时间刻度标签的设置/主副刻度
看上去还行,但是不太容易看出日变化,所以想再给它的刻度弄密一点,即修改sep=1H,不过那样会造成刻度过于密集,所以研究了一下关于python Matplotlib里对于时间刻度的处理。Matplotlib是允许设置主副刻度标签的,那么这个问题变开始变得很好解决,只要设置不同的主副刻度标签即可。但讲道理,把日期和时间放一起总觉得很不顺眼,我想要让它们分成两行,应该怎么做呢?但还是不够顺眼,能不能同一天的只显示一个标签,而下面是它的时刻呢?完成,终于顺眼一点lorz。
2023-04-25 12:01:55
2943
1
原创 python批量下载怀俄明大学探空数据Wyoming soundings并处理
下载怀俄明大学的探空数据,之前用的是气象家园写的maltab脚本,但总是链接不上,而且有的站点需要用新网址,有的有需要用老网址,很麻烦,痛定思痛用决定终于用python了,主要有两种方式,各有各的优缺点吧,我们下面逐一介绍一下。
2023-04-19 19:31:08
4720
13
原创 python 查找特定后缀文件并上传至服务器/pyhon paramiko实现sfftp文件上传
之前写过的的博客,至此则反过来,想实现将本地特定文件上传至服务器端脚本,其实语法差不多,不过姑且做个记录。
2023-04-17 11:05:57
236
原创 WRF自动运行脚本/Shell进阶:Shell脚本自动修改namelist.input日期与自动任务提交
由于WRF本身属于中尺度天气模式,其模拟时间尺度不宜过长,当我们想要准确地进行模拟时,时间不宜大于10天,当我们要进行长期模拟时,不宜直接进行长期的时间设定,最好是以一定的时间间隔重新修改namelist.input的开始于end日期。即,若想要模拟一年的数据,则应每隔以段时间(如五天)重新提交任务,即1月1日-1月6日模拟一次,随后1月6日至一月10日模拟。如果模拟时期较长,则需要反复多次修改namelist.input中的&time_control,重新提交任务。
2023-04-16 20:57:30
2015
原创 WRF进阶:撰写Vtable文件添加气象场数据源:以JRA55积雪数据为例
在WRF的WPS前处理中,ungirb.exe可以将下载的气象场grib文件解码并转为中间格式,最终通过metgrid.exe与包含域信息的geo_em文件写入met_em文件中。将气象数据转为metgrid.exe可以读取的中间格式有两种方法,一种为使用NCL或者Fortran直接写出:该方法我在博客中有所介绍,这里介绍另一种方法:撰写Vtable文件,再使用ungrib.exe对其解码,得到中间文件。
2023-04-11 17:37:46
1795
原创 WRF后处理:使用ncl脚本批量提取wrfout变量并输出/Shell 入门:Shell进入不同文件夹执行脚本
这就是我打算实现的事。当然,如果服务器上已经装有python可以无需输出,只需直接调用py脚本,但由于服务器自身原因,加之Windows下的可视化绘图更加精致直观,这里我还是选择输出再绘图的模式。我提到过将NCL与python结合进行后处理的问题,即,使用NCL进行wrfout变量的提取、计算、输出,再用已有python脚本绘图,这样可以极大节省时间。思路其实也很简单:敏感性实验的目的无非是比较几个特定变量的差异,我们只需将存于不同文件夹的wrfout所需提取出来,输出再由python绘图即可。
2023-04-07 11:54:36
4365
3
原创 NCL读取hdf5文件——以AMSR2海冰密集度数据为例
由于大部分计算都是在服务器进行。因此考虑增进NCL和Shell脚本水平,之前的博文介绍了HDF5文件及其读写,但是由于服务器本身系统版本较老,且属于内网原因,决定直接使用自带的NCL脚本对其进行撰写记录。
2023-04-03 21:19:39
1499
原创 WRF进阶:使用IO选项控制WRF变量输出/WRF指定变量输出添加/删除
WRF模式在运行求解时,会涉及到大量的数据变量运算,而这些数据变量的管理、规定、控制则需要依赖于WRF的Registry文件,简单来说,它可以理解为管理WRF数据结构的“数据字典”("Active data-dictionary” for managing WRF data structures )。
2023-02-20 20:05:46
3758
4
原创 python cartopy绘制扇形区域图/cartopy绘制北极部分区域
实际上,这个问题原因还是由于投影转换的问题,在set_extend时,绘制的上下边界仍然是方形、未被正确投影的边界,与我们的set_boundary存在冲突,最根本的原因还是在于cartopy对于投影计算的一些缺陷。另外我们需要指出的是:**该方法不适用于极地投影,即NorthPolarStereo,由于NorthPolarStereo本身投影特性只需一个参数,本身并不适合。我们绘制极地投影时,同样也是使用set_boundary绘制圆形边界,那么当我们想要绘制扇形时,可以通过。请根据喜好自行选择,
2023-02-16 16:23:11
2629
1
原创 python cartopy手动导入地图数据绘制底图/python地图上绘制散点图:Downloading:warnings/散点图添加图里标签
…开学回所,打开电脑spyder一看一脸懵逼,简直不敢相信这些都是我自己用过的代码,想把以前的自己喊过来科研了(×)其实就是地图底图+散点图的绘制,思路很明确:先绘制底图+地理要素,再在底图上画散点图,那么作为开学编程复建,先一步步来。
2023-02-14 12:40:01
4108
原创 WRF进阶:antro_emiss工具处理全球大气人为排放(EDGRA_HTTPs)/人为排放清单前处理
一般人为数据的排放前处理使用pre_chen_src工具,然而pre_chen_src处理后的文件并不是WRF所能读取的文件格式,需要使用onvert_emiss.exe,生成WRF需要的人为排放的nc数据。在WRF-chem3.6以后,onvert_emiss.exe便不再WRF的编译中,需要单独安装,显然较为麻烦,而WRF本身就提供了处理全球人为排放数据的工具antro_emiss tool可用于对IPCC/EDAGR的人为排放源的预处理,
2022-12-25 16:26:30
3315
18
原创 WRF后处理总结:wrf-python与NCL在WRF后处理中的基本应用——变量提取、计算与可视化
判断需要提取的变量与诊断量确定后,使用getvar函数进行提取。可使用ncdump-h命令查看wrfout中的变量,wrf中的诊断量分类也可从官方文档处查阅。判断绘图类型所需的可视化绘图类型,决定了你在WRF后处理中的计算步骤。1D点线图:ll_to_xy interpline2D填色图:interplevel3D剖面图:vinterp vertcross绘图、美化色标、XY轴、标签的设置等等。
2022-12-14 09:06:26
14738
16
原创 WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)
下垫面类型对于WRF的地表过程十分重要,而在我们研究WRF的地表过程之前,需要对输入的土地利用类型进行一些绘制,以便后续的修改。LU_MODIS21函数定义了绘制的土地类型、标签与对应色标,我们使用时,直接引用LU_MODIS21()即可返回。其实很简单,只要将你拥有的土地类型数据提取出来,将原本函数中的labels和C切片,重新定义色标再绘制即可。在这里,我将以北极地区为例,绘制北极地区的WRF下垫面数据,我使用的MODIS21这类。
2022-11-20 19:38:07
3343
2
原创 WRF进阶:WRF中Noah-MP地面方案中雪反照率的计算
Noah-MP是以Noah-LSM为基础发展的一种多层模型,相对于Noah-LSM,它对于下垫面的冠层、土壤、积雪有了更多的拓展。Noah-MP允许3层雪,对于雪的模拟有了极大的提升,同时,Polar-WRF中对Noah LSM和Noah MP中海冰过程进行了改进,使得其在极地区域的能量模拟有了较大改善。雪是重要的地表参数,尤其在积雪冰川常年覆盖的极地区域,将Polar-WRF中雪反照率的修改、订正十分必要。
2022-11-17 21:03:12
2625
1
原创 Python气象绘图笔记——常用气象绘图函数脚本封装与使用记录
由于工作需要,将对我常用的python绘图脚本进行封装,为了防止代码丢失、忘记使用流程等,写个博客记录下。要加载的包。
2022-11-02 16:00:20
5892
1
原创 WRF学习笔记之四:撰写WPS intermediate file添加海冰场/NCL学习/WRF进阶:如何向WRF添加额外气象场?
ungrib.exe通过以上介绍不难看出,整个WPS的处理流程并不复杂,而最后我们的目的就是要将模拟域与气象场结合,输入到WRF中。在运行WPS过程中,需要最后运行,因为它是将其他两个主程序处理后的数据进行插值结合的程序,即:从中获得模拟域与地理信息,从ungrib.exe中获得气象数据,而从两个程序中获取信息的方式则为:读取和ungrib.exe运行生成的中间文件(intermediate file),即geo_dem和 FILE打头的文件。
2022-10-31 11:10:56
1754
4
原创 Shell入门笔记:Linux批量提取文件名/shel文件名提取日期/NCL批量读取文件(shell脚本结合)
Linux下的循环与条件语句并没有什么特别,与其他语言类似,循环主要分为:for 变量名 in 取值列表 do 命令序列done2、until循环,条件测试循环,只要条件不成立则反复循环。until 条件测试操作 do 命令序列done3、While循环,与untill相反,只要满足输入条件,则开始循环while 语句结构 while 条件测试操作 do 命令序列done条件则分为:1、test命令,测试条件是否成立,成立返回1,不成立返回0,主要进行逻辑判断,常用于测试权限和文件目录是否存在。
2022-10-29 10:38:06
4071
原创 python读取hdf5文件并转为nc/matlab查看hdf5信息并输出——以北极AMSR2海冰密集度数据为例(h5py、hdf5disp)
HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要所建立一种文件格式。主要用来存储与分发不同科学数据。在研究过程中,我们往往需要多种数据,而数据与数据间有着不同的特性、来源、信息,将不同格式与来源的数据进行存储交换,并给予对应的数据说明,便是HDF格式文件解决的问题。HDF格式一般有HDF4/HDF5,目前许多卫星遥感数据便以HDF5的格式储存。
2022-10-26 11:54:26
4913
2
原创 R语言空间插值/R语言离散数据网格化/R语言空间点插值/R语言nc日均转月均、日期转换
在我们日常使用数据时,我们获取的数据并不是连续的网格,而是网格状的离散数据。这时,我们就需要利用拥有的离散网格数据,自定义将其插值。通常插值我们需要shp文件给予边界,不过,只要知道了所需区域的经纬度范围,我们可以自行构建网格将点数据插值在自己定义的经纬度范围中。
2022-10-24 11:13:54
3551
原创 python cartopy绘制北极/python绘图函数封装/python气象绘图
因为研究需要大量出图,于是将常用的绘图函数封装,提高绘图效率。
2022-10-19 15:52:06
3259
10
原创 python正则表达式提取文本日期并转为日期格式、添加时间戳
下载了怀俄明大学的探空数据,但是探空数据并不是全天都有,在处理时有必要添加时间戳,而时间戳的获得则需要根据文件名获得。之前在matlab中也做过类似事情,这里用python简单记录下。
2022-10-14 17:28:32
2982
原创 python气象数据处理实例:构造自定义时间索引(时间戳)/r站点日均转月均/dataframe添加时间索引(datetimeindex)
pandas作为python里常用的时间序列分析库,在气象数据处理中有着极为广泛地应用,其resample功能可以轻松地将不同频率时间序列转换,这正好满足气象中需要求日均、月均、甚至季节平均的需要,但是,resample需要其序列(series)或数据框(dataframe)具有时间索引,可在一些气象站点数据中,时间索引需要我们自己构建添加,而这些时间点并不均匀分布——换句话说,在某些时间点,数据缺失,这时需要我们自己构建时间日期,并添加至dataframe成为时间索引,再使用resample采样。
2022-10-09 16:05:59
2427
1
原创 python绘制北极风场与位势高度场/python cartopy极地投影重叠问题解决
python作为胶水语言,近年来在气象数据处理与可视化中有着极为广泛地应用,诸多第三方库极为便利地满足了气象研究者处理数据与绘图的要求,处理数据的包:xarray、pandas,读取不同气象格式的包:netcdf4、h5py,用于模式后处理的wrf-python、python-CDO等等。同样,python在气象可视化方面也有着许多包,一般而言,python的气象绘图是用matplotlib包绘图,用Basemao或cartopy包绘制地图底图,结合绘制。
2022-10-06 11:22:01
5460
6
原创 python绘制极地投影/cartopy20.0+解决python极地投影问题/python nc可视化——以北极10m风场为例
在之前的博客。中,我曾经提到过python cartopy在极地投影中难以添加坐标标签的问题,当时解决方法是使用文本的方式添加,但这种方式的麻烦且并不统一适用。而在之后的可视化过程,我发现python在极地投影时仍会出现一些奇怪的问题:比如,等值线扭曲,出现不规则多边形,风场分布不均匀等等。然而,这些问题都在最新版的cartopy21中解决,因此被cartopy极地投影折磨了数月而不得不转用m_map的我得到了解脱,下面将以极地2018极地春季的10m风场为例,给大家看看效果。
2022-10-04 20:13:08
5524
9
原创 WRF后处理:使用python paramiko库将服务器中wrfout文件批量下载至本地(sftp.get)/python通过sftp远程批量传输文件/sftp OSError: [Errno 22
我们在服务器上跑完WRF时,不免会有许多的wrfout文件,这时候就需要进行后处理。当然我们可以直接在服务器上进行后处理,但有时由于一些原因,比如笔者的服务器上无法连接conda channel(ˉ▽ˉ;)…,便将其下载至本地再进行后处理。通过xftp软件一个个下载未免有些困难,正巧python也有支持ssh与sftp的库,我们就用python批量下载吧。
2022-09-27 17:49:44
1647
原创 maltab datenum函数与正则表达式巧用:逐日数据转为逐月数据、日序转月序
在处理数据时,我们经常需要将逐日数据转为逐月数据,这就需要我们知道日序对应的月序,比方说,我有2019年一整年的天数据共365个,我知道这个文件代表的是2018年的第几天?这方法当然可行,但却是基于C语言的一种操作,实际上,利用matlab的datenum函数,我们只用一行代码就能实现这个过程。然后先批量读个数据文件(hdf格式),为了避免过于复杂,我们先算一年的吧,这时,i=1,year(i)=2005。当然,这种方法有一个要求,即,逐日数据需要完整,文件命名按照日序排列。
2022-09-02 19:21:00
3240
原创 WRF学习笔记之三:使用ERA5数据驱动并运行WRFV4.4(一层嵌套)/WRF运行实录/WRF报错(踩坑)记录
之前写过的和这两篇博文里,我都简单的介绍了WRF的安装与运行,不过,用示例数据来运行只能初步了解WRF的运行流程,想要更进一步熟练地掌握WRF的运行与设置,还需要自己亲自下数据驱动】、设置才行,这篇博文将介绍使用ERA5数据驱动WRF运行,并简单说一下自己犯过的错误,以帮助后学者。注:本次WRF是在组里的小型服务器上的一个结点运行的,所以不涉及作业调度内容。周日晚才拿到的账号,这几天光记着转模式去了,花了一天安装编译,又花了两天才跑通,坑太多了,记录一下。...
2022-08-31 17:47:10
14346
35
原创 R语言批量处理nc数据/R语言MK趋势检验/NCL绘图(nc可视化)
回所了,开始处理数据,由于cartopy绘制极地投影加标签实在是太麻烦了,就用R把nc数据处理了,再用ncl画图。
2022-08-26 11:23:58
5410
1
原创 Anaconda3 spyder无法打开问题解决实录
总的来讲这次的问题到解决方法,让我感到最大的问题在于andaconda的安装包太老了,清华源的anaconda虽然快,但安装起来问题极多,如果不嫌慢还是去官网下吧,下好了换了channel就行了。
2022-08-18 19:34:13
2996
原创 气象数据数据处理实例——matlab字符串切割匹配与R语言日期匹配(数据拼接)
这是两年半前大三时所写的代码和任务,如今看来其实很幼稚,当时得出的结论是1、在学习像R、matlab这种语言,一定要查明实现这种功能是否有类似函数解决2、R语言的处理数据类型时,涉及大量数据转换细节,只有多用才能较为熟练使用虽然当时处理时叫苦连天,不过从现在的目光看,这种类型的气象数据处理已经是很基本的操作了,之后我的数据处理变成了nc数据/卫星数据/栅格数据,对于气象站点数据的处理已经基本不做了,之后的方向也应该注重于卫星数据和模式上。...
2022-08-03 15:41:33
1517
原创 超算入门笔记:大型机上如何运行WRF模式?一文总结(并行运算、Linux基础、作业调度、WRF运行)
接下来我们可以总结一下在超算中运行WRF,我们应当知道什么?首先是超算集群的基础构造与基本运行原理,让我们明白自己是在什么样的东西上运行程序。其次是Linux系统的命令,系统帮助我们让计算机实现各种功能。然后是一些在运行时我们需要了解到知识运行WRF时,我们需要安装压缩包与数据,这就需要我们学会远程登陆与数据传输。运行WRF时整个操作都是在Linux上进行,所以需要基础命令。配置WPS与WRF的namelist文件需要文本编辑,所以需要vi知识。httpshttpshttps。...
2022-07-19 17:05:23
8960
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人