NCL绘制WRF domain区域并添加气象站点

news2025/2/22 20:47:10

读取文件

根据官网例子Using gsn_csm_contour_map to plot WRF-ARW data绘制:

; It shows how to use gsn_csm_xxxx scripts to do the plotting.
;
; You can use the map projection settings on the WRF file, or you
; can use your own map projection. See USE_WRF_MAP_PROJECTION below.
;----------------------------------------------------------------------
; Note: as of NCL V6.2.0, you don't need these four load commands
;----------------------------------------------------------------------
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"

begin
;
; This indicates whether to use the native WRF projection on the WRF
; output file, or your own. Cylindricial equidistant is used in this
; example. If you want to change this, you will need to set any
; required map resources, especially those for zooming in on the map.
;
  USE_WRF_MAP_PROJECTION = True

;---Open file. You may need to include ".nc" at the end.
  filename = "/public/home/zhangzilu/Build_WRF/PWRF-4.3/run/out_2020/wrfout_d01_2020-04-15_00:00:00"
 a        = addfile(filename,"r")

  wks = gsn_open_wks("png","wrf_contour_map")   ; "ps", "pdf", "png"

;---Set some resources
  res                      = True

修改色标与图例

根据需求,自己定义色标颜色与levels,并打上标签:

res@cnLineLabelsOn       = False    ; turn off line labels
  res@gsnAddCyclic         = False    ; set to False if plotting regional data
 ; res@tiMainString         = filename
 ;res@cnFillPalette        = "OceanLakeLandSnow"
   gsn_define_colormap(wks,"OceanLakeLandSnow")
;---THESE VALUES WILL LIKELY NEED TO BE CHANGED OR COMMENTED
 res@cnLevelSelectionMode = "ExplicitLevels"   ; set explicit contour levels
  res@cnLevels    = (/1,5.,10.,50.,100.,200.,400.,600.,800.,1000.,1500.,2000.,2500.,3000.,3500/)   ; set levels
  res@cnFillOn    = True                        ; turn on color fill
  res@cnLinesOn   = False                       ; turn off the contour lines
  res@cnFillColors = (/2,5,18,34,50,66,82,98,114,130,146,162,178,194,210,226/)  ; set the colors to be used
  res@lbOrientation =   "horizontal"
  res@tmXBLabelFontHeightF    = 0.02     ;set the size of x-Axis words
  res@tmYLLabelFontHeightF    = 0.02    ;set the size of y-Axis words
  res@cnLevelSpacingF = 1
  res@lbLabelStride = 1
  res@lbLabelStride = 1;保证每个刻度色标标签显示
  res@pmTickMarkDisplayMode = "Always"
  res@pmLabelBarWidthF = 1.1
  res@lbLabelFontHeightF      = 0.015

绘图

 if(USE_WRF_MAP_PROJECTION) then
;
; This function looks at the global attributes on the WRF output
; file and sets some map resources based on their values.
;
    res = wrf_map_resources(a,res)
    res@tfDoNDCOverlay = True                      ; No lat/lon coordinates required
  else
     hgt@lat2d             = a->XLAT(nt,:,:)       ; Lat/lon coordinates required
     hgt@lon2d             = a->XLONG(nt,:,:)

     res@mpProjection      = "CylindricalEquidistant"   ; default for gsn_csm_contour_map
     res@mpMinLatF         = min(hgt@lat2d)
     res@mpMaxLatF         = max(hgt@lat2d)
     res@mpMinLonF         = min(hgt@lon2d)
     res@mpMaxLonF         = max(hgt@lon2d)
     res@mpCenterLonF      = (res@mpMinLonF + res@mpMaxLonF) / 2.
     res@mpDataBaseVersion = "MediumRes"                ; better map outlines
  end if

   plot =gsn_csm_contour_map(wks,hgt,res)

添加站点与文本

添加站点时应当注意,需要先关闭之前绘制的等值线图,打完点后再绘制:

lata      = (/71.3,72.6,76.8,76,68.6/)
 lona      = (/-156.6,-38.5,-18.7,137.9,-149.3/)
 tstrs = (/"Barrow","Summit", "Danmarkshavn", "Ostrov","EC_OBS"/)
 res@gsnMaximize          = True     ; maximize plot in frame
  res@gsnDraw      = False                ; Don't draw plot
  res@gsnFrame     = False                ; Don't advance frame (page)
mkres               = True
   mkres@gsMarkerColor = "Red"
   txres = True
   mkres@gsMarkerIndex = 16 ; filled dot
   txres@txFontHeightF = 0.015
   txres@txJust        = "CenterLeft"

  mkid = gsn_add_polymarker(wks,plot,lona,lata,mkres)
  txid = gsn_add_text(wks,plot,"   " + tstrs,lona,lata,txres)
draw(plot)
 frame(wks);

绘图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1671549.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在excel的内置瀑布图模板中,能在数据标签里同时显示数值和百分比吗?

瀑布图是由麦肯锡顾问公司所创的图表类型,因为形似瀑布流水而称之为瀑布图( Waterfall Plot)。这种图表常用于表达数个特定数值之间的数量增减变化关系。 在Excel中,瀑布图是可以通过簇状柱形图来完成创建。从excel2016版起,excel添加了内置…

【UE5 C++】基础学习笔记——01 UObject的创建与使用

目录 步骤 一、创建UObject 二、创建基于UObject的蓝图类 三、在UObject中使用变量和函数 步骤 一、创建UObject 在内容浏览器中新建一个C类 父类选择“Object” 类的类型设置为公有,这里就命名为“MyObject”,点击“创建类”来创建头文件和源文…

【网络基础】TCP协议2

TCP建立连接 什么是TCP连接 用于保证可靠性和流量控制维护的某些状态信息,这些信息的组合,包括 Socket、序列号和窗口大小称为连接。 Socket:由 IP 地址和端口号组成 序列号:用来解决乱序问题等 窗口大小:用来做流量…

Web 安全漏洞之文件上传

目录 文件上传漏洞及危害 文件名 HTML 和 SVG 软链 服务器磁盘 防御方法 网络安全学习路线 (2024最新整理) 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明: 文件上传漏洞及危害 文件上传漏洞…

基于SpringBoot + Vue的兼职网站管理系统设计与实现+毕业论文+答辩PPT

系统介绍 本系统包含管理员、用户、企业三个角色。 管理员角色:前台首页、个人中心、用户管理、企业管理、兼职信息管理、职位申请管理、留言板管理、系统管理。 用户角色:前台首页、个人中心、职位申请管理。 企业角色:前台首页、个人中心、…

【异常处理】(中北大学-程序设计基础(2))

目录 题目 源码 结果示例 题目 求一元二次方程式ax^2bxc0的实根&#xff0c;如果方程没有实根&#xff0c;则输入有关警告信息。要求&#xff1a;建立一元二次方程类&#xff0c;利用异常技术处理。 源码 #include <iostream> #include <cmath>using namespa…

JVM的垃圾回收算法有哪些?从可达性分析算法开始,深入解读三大核心垃圾回收算法

导航&#xff1a; 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/黑马旅游/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码-CSDN博客 目录 一、概念准备 1.1 GC Roots 1.2 可达性分析算法 1.3 非可达对象被回收过程中的两次标记 1.4…

【数据结构与算法 刷题系列】环形链表的约瑟夫问题

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;数据结构与算法刷题系列&#xff08;C语言&#xff09; 目录 一、问题描述 二、解题思路详解 解题思路 解题步骤 三、C语言代码…

文件流-ASCII文件(中北大学-程序设计基础(2))

目录 题目 源码 结果示例 题目 编写程序实现以下功能&#xff1a;【要求处理ASCII文件】 &#xff08;1&#xff09;按职工号由小到大的顺序将5个员工的数据&#xff08;包括号码、姓名、年龄和工资&#xff09;输出到磁盘文件中保存&#xff1b; &#xff08;2&#xff…

服务器3389端口,服务器3389端口风险提示的应对措施

3389端口是Windows操作系统中远程桌面协议&#xff08;RDP&#xff09;的默认端口。一旦该端口被恶意攻击者利用&#xff0c;可能会导致未经授权的远程访问和数据泄露等严重安全问题。 针对此风险&#xff0c;强烈建议您采取以下措施&#xff1a; 1. 修改默认端口&#xff1a;…

八、e2studio VS STM32CubeIDE之内存使用情况窗口

目录 一、概述/目的 二、STM32CubeIDE Build Analyzer 三、e2studio Memory Usage 八、e2studio VS STM32CubeIDE之内存使用情况窗口 一、概述/目的 1、嵌入开发最大特点之一就是资源受限&#xff0c;关注芯片资源使用详情是优秀工程师的技能之一 2、Keil和IAR都不支持内存…

Linux性能压测指标信息

1、CPU使用 服务器CPU整体负载信息 可以查看top命令输出的第三行数据 查看多核CPU命令 mpstat -P ALL 和 sar -P ALL top命令执行后输入1 2、内存使用 top命令或者free命令来查看内存的信息&#xff0c;第一行是物理内存使用&#xff0c;第二行是虚拟内存使用(交换空间)。…

WebSocket建立网络连接——小案例

WebSocket是一种实现全双工通信的网络技术标准&#xff0c;它允许在用户的浏览器和服务器之间进行持久的、双向的通信。以下是对WebSocket的具体介绍&#xff1a; 实时性&#xff1a;与传统HTTP请求相比&#xff0c;WebSocket提供了更高效的实时数据交换方式。一旦建立连接&am…

【cpp】并发多线程 Unique

1. unique_lock 何时锁定资源。 unique_lock lock1 时候&#xff0c;还没有锁住资源。 实际是后面&#xff0c;显式的出发&#xff1a; 比如&#xff0c; lock.lock, 或 std::lock(lk1,lk2), 或者条件变量CV.wait(mtx, []{!re})。 #include <iostream> #include <mu…

虚拟仿真云平台在教育应用中的优势和意义

虚拟仿真云实验教学平台作为一种新型的教学方法&#xff0c;近年来在高校教育中得到了十分广泛的应用。它通过模拟真实的实验场景和实验操作&#xff0c;让学生在计算机上进行实验操作和数据处理&#xff0c;为学生提供了更加便捷、可靠、有效的实验学习环境。本文&#xff0c;…

ssm123基于java web的网上书城系统的设计与实现+vue

基于java web的网上书城系统的设计与实现vue 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;商品交易当然也不能排除在外&#xff0c;随着商品交易管理的不断成熟&#xff0c;它彻底改变了…

基于SpringBoot + Vue实现的考编(考研)论坛网站设计与实现+毕业论文

系统介绍 系统包含用户和管理员两个角色 用户&#xff1a;登录、注册、经验交流平台、发布帖子、回复帖子、查看公告信息、跳蚤市场&#xff08;商品购买、商品出售、商品评价&#xff09;、个人中心等功能 管理员&#xff1a;登录、个人中心、管理员管理、用户管理、基础数据管…

REACT 在组件之间共享状态

有时&#xff0c;您希望两个组件的状态始终一起变化。要做到这一点&#xff0c;请从他们俩身上删除状态&#xff0c;将其移动到他们最近的共同父级&#xff0c;然后通过道具将其传递给他们。这被称为提升状态&#xff0c;这是编写 React 代码时最常见的事情之一。 举例提升状态…

2024年3月 青少年等级考试机器人理论真题三级

202403 青少年等级考试机器人理论真题三级 第 1 题 流程图图例如下&#xff0c;与该图例功能对应的选项是&#xff1f;&#xff08; &#xff09; A&#xff1a;开始/结束 B&#xff1a;输入/输出 C&#xff1a;判断 D&#xff1a;处理 第 2 题 Arduino UNO/Nano主控板&am…

机器人学导论实验1—CoppeliaSim 平台介绍及初步使用BJTU

1. 实验内容分析 对实验内容的理解及关键点&#xff1a; 理解这个实验的关键点在于理解如何使用CoppeliaSim和MATLAB来控制和操作机器人。需要熟悉这两个工具的基本操作&#xff0c;例如如何加载场景、如何修改机器人参数、如何使用MATLAB客户端程序来控制机器人等。此外&#…