mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
;*************************************************
 | 
						|
; WRF static: panel different variables 
 | 
						|
;************************************************
 | 
						|
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/wrf/WRF_contributed.ncl"
 | 
						|
begin
 | 
						|
;************************************************
 | 
						|
; open file and read in data
 | 
						|
;************************************************
 | 
						|
  f     = addfile("static.wrfsi.nc", "r")
 | 
						|
;************************************************
 | 
						|
; Read variables
 | 
						|
;************************************************
 | 
						|
  use   = f->use(0,0,:,:)           ; land use dominant category
 | 
						|
  stl   = f->stl(0,0,:,:)           ; top layer (0-30cm) dom cat soiltype
 | 
						|
  sbl   = f->sbl(0,0,:,:)           ; bottom layer (30-90cm) dom cat soiltype
 | 
						|
  lat2d = f->lat(0,0,:,:)
 | 
						|
  lon2d = f->lon(0,0,:,:)
 | 
						|
  lsMask= f->lnd(0,0,:,:)           ; land (1) water (0) mas
 | 
						|
 | 
						|
;************************************************
 | 
						|
; Use mask function to set all ocean areas to _FillValue
 | 
						|
;************************************************
 | 
						|
  use   = mask(use,lsMask,1)
 | 
						|
  stl   = mask(stl,lsMask,1)
 | 
						|
  sbl   = mask(sbl,lsMask,1)
 | 
						|
 | 
						|
;************************************************
 | 
						|
; Associate 2D coordinates with variables for plotting
 | 
						|
;************************************************
 | 
						|
  use@lat2d = lat2d
 | 
						|
  use@lon2d = lon2d
 | 
						|
  stl@lat2d = lat2d
 | 
						|
  stl@lon2d = lon2d
 | 
						|
  sbl@lat2d = lat2d
 | 
						|
  sbl@lon2d = lon2d
 | 
						|
 | 
						|
;************************************************  
 | 
						|
; The file should be examined via: ncdump -v grid_type static.wrsi 
 | 
						|
; This will print the print type. then enter below. 
 | 
						|
;************************************************  
 | 
						|
  projection = "mercator"   
 | 
						|
 | 
						|
;************************************************
 | 
						|
; create plots  
 | 
						|
;************************************************
 | 
						|
  wks = gsn_open_wks("ps" ,"WRF_static")      ; ps,pdf,x11,ncgm,eps
 | 
						|
  gsn_define_colormap(wks ,"BlAqGrYeOrReVi200"); choose colormap
 | 
						|
 | 
						|
  res                       = True             ; plot mods desired
 | 
						|
  res@gsnSpreadColors       = True             ; use full range of colormap
 | 
						|
  res@cnFillOn              = True             ; color plot desired
 | 
						|
  res@cnLinesOn             = False            ; turn off contour lines
 | 
						|
  res@cnLineLabelsOn        = False            ; turn off contour labels
 | 
						|
  res@cnLevelSpacingF       = 1                ; manually specify interval
 | 
						|
  res@cnFillMode            = "RasterFill"     ; activate raster mode
 | 
						|
  res@lbLabelAutoStride     = True             ; let NCL figure lb stride
 | 
						|
 | 
						|
;************************************************
 | 
						|
; Turn on lat / lon labeling
 | 
						|
;************************************************
 | 
						|
;;res@pmTickMarkDisplayMode = "Always"         ; turn on tickmarks
 | 
						|
 | 
						|
  dimll = dimsizes(lat2d)
 | 
						|
  nlat  = dimll(0)
 | 
						|
  mlon  = dimll(1)
 | 
						|
 | 
						|
  res@mpProjection          = projection
 | 
						|
  res@mpLimitMode           = "Corners"  
 | 
						|
  res@mpLeftCornerLatF      = lat2d(0,0)
 | 
						|
  res@mpLeftCornerLonF      = lon2d(0,0)
 | 
						|
  res@mpRightCornerLatF     = lat2d(nlat-1,mlon-1)
 | 
						|
  res@mpRightCornerLonF     = lon2d(nlat-1,mlon-1)
 | 
						|
 | 
						|
  res@mpCenterLonF          = f->LoV          ; set center logitude         
 | 
						|
                                    
 | 
						|
  if (projection.eq."LambertConformal") then    
 | 
						|
      res@mpLambertParallel1F   = f->Latin1    
 | 
						|
      res@mpLambertParallel2F   = f->Latin2   
 | 
						|
      res@mpLambertMeridianF    = f->LoV     
 | 
						|
  end if
 | 
						|
 | 
						|
  res@mpFillOn              = False            ; turn off map fill
 | 
						|
  res@mpOutlineDrawOrder    = "PostDraw"       ; draw continental outline last
 | 
						|
  res@mpOutlineBoundarySets = "GeophysicalAndUSStates" ; state boundaries
 | 
						|
 | 
						|
;;res@tfDoNDCOverlay        = True             ; True only for 'native' grid
 | 
						|
  res@gsnAddCyclic          = False            ; data are not cyclic
 | 
						|
 | 
						|
;************************************************
 | 
						|
; allocate array for 3 plots
 | 
						|
;************************************************
 | 
						|
  plts                      = new (3,"graphic")   
 | 
						|
 | 
						|
;************************************************
 | 
						|
; Tell NCL not to draw or advance frame for individual plots
 | 
						|
;************************************************
 | 
						|
  res@gsnDraw               = False            ; (a) do not draw 
 | 
						|
  res@gsnFrame              = False            ; (b) do not advance 'frame'
 | 
						|
 | 
						|
  plts(0)                   = gsn_csm_contour_map(wks,use,res)
 | 
						|
  plts(1)                   = gsn_csm_contour_map(wks,stl,res)
 | 
						|
  plts(2)                   = gsn_csm_contour_map(wks,sbl,res)
 | 
						|
;************************************************
 | 
						|
; create panel: panel plots have their own set of resources
 | 
						|
;************************************************
 | 
						|
  resP                  = True                   ; modify the panel plot
 | 
						|
  resP@txString         = "Land Use and Soil Type"     
 | 
						|
  resP@gsnMaximize      = True                   ; maximize panel area
 | 
						|
  resP@gsnPanelRowSpec  = True                   ; specify 1 top, 2 lower level  
 | 
						|
  gsn_panel(wks,plts,(/1,2/),resP)               ; now draw as one plot
 | 
						|
 | 
						|
end
 | 
						|
 |