爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17318|回复: 10

[经验总结] 利用basemap做潮位变化gif图

[复制链接]

新浪微博达人勋

发表于 2018-9-2 22:36:07 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 葫芦爷儿 于 2018-9-2 22:53 编辑

为了展示fvcom计算的潮位数据,用basemap来制作gif。做图思路:
读取nc数据 ->设置basemap底图 ->利用matplotlib的ArtistAnimation,循环每一时刻的数据(插值数据 ) -> 保存gif

用到这些东西的原因:
1 fvcom为非结构网格,于是利用matplotlib中的tri工具来插值到结构网格中
2 matplotlib 做动图有三种思路:
   a) 是animation.ArtistAnimation, 将每一张图片生成,存入列表,然后制作动图
   b) 是animation.FuncAnimation,创建函数,刷新数据,然后制作动图
    c) 是控制屏幕刷新时间(不推荐)
注意 linux、mac下可以直接从conda中装imagemagick

       windows要麻烦一些,但是可以通过ffmpe来实现.(下面有参考网址)
3 basemap设置
4 在集群下运行python需要
import matplotlib
matplotlib.use("agg")



下面参考到的网址
  • 在集群中使用遇到问题
  • https://www.cnblogs.com/xionggeclub/p/6146484.html 集群中的字体问题
  • https://blog.csdn.net/gdkyxy2013/article/details/79585922 linux下的问题
  • 调整图像的内容
  • https://matplotlib.org/gallery/color/colormap_reference.html colormap
  • https://stackoverflow.com/questions/3279560/reverse-colormap-in-matplotlib 调换
  • https://blog.csdn.net/weixin_41789707/article/details/81035997 不想显示坐标轴
  • https://stackoverflow.com/questions/18363987/basemap-how-to-remove-actual-lat-lon-lines-while-keeping-the-ticks-on-the-axis 网格线
  • https://stackoverflow.com/questions/14280312/world-map-without-rivers-with-matplotlib-basemap 去除湖泊
  • https://blog.csdn.net/pianzang5201/article/details/76070268  加logo
  • https://stackoverflow.com/questions/29548704/matplotlib-pyplot-logo-image-in-plot 加logo
  • https://www.cnblogs.com/chuangshaogreat/p/7498016.html python format
  • https://www.114la.com/other/rgb.htm Colormap  配色参考
  • https://matplotlib.org/gallery/images_contours_and_fields/irregulardatagrid.html#sphx-glr-gallery-images-contours-and-fields-irregulardatagrid-py contour等值线参考
  • http://www.pythonware.com/products/pil/   这个只有python2.7的内容,建议不要用
  • https://www.bdmweather.com/2018/04/python-m-arcgisimage-basemap-options/  设置一些高清陆地影像
  • https://anaconda.org/conda-forge/ffmpeg         windows下安装ffmpe
  • https://stackoverflow.com/questions/41699931/how-to-install-imagemagick-with-anaconda-on-windows-64bits    保存动画为GIF和MP4
  • 调整logo参考的内容

  • https://blog.csdn.net/weixin_34613450/article/details/80678522 指定像素
  • https://matplotlib.org/tutorials/intermediate/imshow_extent.html?highlight=extent 调整extent
  • http://epanf.scsio.ac.cn/storm/storm.php 参考图片来源


test.gif





surge_gif_yao.py

4.15 KB, 下载次数: 45, 下载积分: 金钱 -5

评分

参与人数 1金钱 +18 贡献 +4 收起 理由
又是那隻貓 + 18 + 4

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-3 09:19:30 | 显示全部楼层
楼主fvcom有没耦合波浪?预报波高,波向等。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-3 09:28:27 | 显示全部楼层
本帖最后由 werewolf 于 2018-9-3 09:37 编辑

有效波高。和观测还有一些误差。
wave_out.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-3 09:38:39 | 显示全部楼层
谢谢楼主,当初也是为fvcom,mike21的非结构网格头疼的很久
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-5 10:54:30 | 显示全部楼层
这个可以用于洪水预报吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-5 11:27:08 | 显示全部楼层
werewolf 发表于 2018-9-3 09:28
有效波高。和观测还有一些误差。

在学习swan,还没有耦合呢。用的holland特征风场驱动的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-5 11:29:50 | 显示全部楼层
流羽寻 发表于 2018-9-5 10:54
这个可以用于洪水预报吗

好像水利里用mike21多一些?fvcom非结构网格,也能很好的刻画河流,不过里面的洪水的水动力过程我不懂,你可以看看http://fvcom.smast.umassd.edu 了解一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-2-21 11:16:55 | 显示全部楼层
本帖最后由 葫芦爷儿 于 2019-2-21 11:23 编辑

关于画logo的补充:
1 之前直接在 fig, ax = plt.subplots()之后调用了ax.imshow()
2 今天,发现在使用cartopy画时,这样图片并不会显示
3 解决办法是,在set_extent()后调用imshow()
这是在git上找到的 https://github.com/SciTools/cartopy/issues/643
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-4 11:10:04 | 显示全部楼层
兄弟,用python画过单点的风场图吗?就是利用micaps的11类数据绘制风场图?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-25 21:40:59 | 显示全部楼层
感谢分享,我下载来使用
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表