爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 145|回复: 4

NCL绘图

[复制链接]

新浪微博达人勋

发表于 5 天前 | 显示全部楼层 |阅读模式

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

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

x
大家好,我有这样一个问题想请教。
我是做深时气候模拟的,现在我有输出数据是180 Ma年前的180ma.cam.h0.0001-01.nc文件,现在我想做关于T、TS、U等变量的图,但是我绘制的图他不显示古地理的陆地轮廓,而显示现代的地理轮廓,我该怎么解决呢?

Surface_temperature.ncl

2.28 KB, 下载次数: 0, 下载积分: 金钱 -5

180ma.cam.h0.0001-01.nc

13.8 MB, 下载次数: 0, 下载积分: 金钱 -5

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

新浪微博达人勋

 楼主| 发表于 5 天前 | 显示全部楼层
begin
;************************************************
; read in netCDF file
;************************************************
  a = addfile("180ma.cam.h0.0001-01.nc","r")
;************************************************
; read in zonal winds
;************************************************
  t = a->TS(0,:,:)                                ; read July zonal winds
;************************************************
; reshape the data to 2D if needed
;************************************************
  ; Assuming TS is a 4D array (time, lev, lat, lon), you can reshape it to 2D
  ; by selecting a specific time step and flattening the lat and lon dimensions.
  ; If TS is already 2D, you can skip this step.
  ; t = reshape(t, dims(1), dims(2))  ; reshape t to be 2D

;************************************************
; create plot
;************************************************
  wks = gsn_open_wks("png","Surface_temperature")          ; send graphics to PNG file

  res                   = True
  res@mpProjection      = "Mollweide"       ; choose projection
  res@mpGridAndLimbOn   = True              ; turn on lat/lon lines
  res@mpPerimOn         = False             ; turn off box around plot
  res@mpGridLatSpacingF = 30.               ; spacing for lat lines
  res@mpGridLonSpacingF = 30.               ; spacing for lon lines
  res@mpFillOn          = False

  res@cnFillOn          = True              ; color plot desired
  res@cnFillPalette     = "gui_default"     ; set color map
  res@cnLineLabelsOn    = False             ; turn off contour lines
  res@txFontHeightF     = 0.015

  res@vpXF            = 0.1                 ; make plot bigger
  res@vpYF            = 0.9         
  res@vpWidthF        = 0.8
  res@vpHeightF       = 0.8

  res@lbLabelFontHeightF  = 0.015           ; label bar font height

  res@tiMainString       = "Example of Mollweide Projection"  ; add a title
  res@tiMainFontHeightF  = .018                               ; font height

  ; Turn off the boundary outlines of the modern map
  res@mpOutlineOn         = False          ; turn off the boundary outlines
  res@mpLandFillColor     = "white"        ; set land fill color to white or transparent
  res@mpOceanFillColor    = "lightblue"    ; set ocean fill color
  
  contour = gsn_csm_contour_map(wks,t,res)  ; create the plot
end
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 4 天前 | 显示全部楼层
用gsn_add_shapefile_polylines这个类似函数去画特定的shpfile(比如你要的古地理的陆地轮廓,把这个.shp文件读进去)
https://www.ncl.ucar.edu/Applications/shapefiles.shtml
https://www.ncl.ucar.edu/Documen ... ile_polylines.shtml
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 4 天前 | 显示全部楼层
本帖最后由 AuuuTi 于 2024-11-18 09:40 编辑

用gsn_add_shapefile_polylines这个类似函数去画特定的shpfile(比如你要的古地理的陆地轮廓,把这个.shp文件读进去)
https://www.ncl.ucar.edu/Applications/shapefiles.shtml
https://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_shapefile_polylines.shtml

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 4 天前 | 显示全部楼层
但是我没有这样的一个古地理轮廓shpfile,可以利用已有的古地理topo文件.nc吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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