forked from 3rdparty/wrf-python
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							81 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
	
	
							81 lines
						
					
					
						
							2.5 KiB
						
					
					
				|   a = addfile("wrfout_d03_2017-04-03_06:00:00_ctrl","r") | |
|     | |
|   time = 0 | |
|   refl_10cm = wrf_user_getvar(a,"REFL_10CM",time) | |
|   z = wrf_user_getvar(a, "z", time) | |
|   lat = wrf_user_getvar(a, "lat", time) | |
|   lon = wrf_user_getvar(a, "lon", time) | |
|    | |
|   ; convert the lat/lon to x,y | |
|   start_lat = 20.9 | |
|   start_lon = 92.5 | |
|   end_lat = 29.2 | |
|   end_lon = 92.5 | |
|    | |
|   opt = True | |
|    | |
|   start_ij = wrf_user_ll_to_ij(a, start_lon, start_lat, opt) | |
|   start_ij = start_ij - 1 | |
|    | |
|   end_ij = wrf_user_ll_to_ij(a, end_lon, end_lat, opt) | |
|   end_ij = end_ij - 1 | |
|    | |
|   start_end =  (/start_ij(0), start_ij(1), end_ij(0), end_ij(1)/) | |
|    | |
|   lat_line = wrf_user_intrp2d(lat,start_end,0.0,True) | |
|   nlat = dimsizes(lat_line) | |
|    | |
|   lon_line = wrf_user_intrp2d(lon,start_end,0.0,True) | |
|  | |
|   refl_cross = wrf_user_intrp3d(refl_10cm,z,"v",start_end,0.,True) | |
|    | |
|   ; Need to make a vertical coordinate by using the same code as the  | |
|   ; cross section | |
|    | |
|   ; Currently, the vertical coordinate is not set, so let's do it  | |
|   ; manually. This will be fixed in the next version of NCL. | |
|   ; If you want to set these levels yourself, you'll need to copy the  | |
|   ; code I sent before and manually set the levels in the cross section  | |
|   ; routine, then do it again here. | |
|    | |
|    z_max = max(z) | |
|    z_min = 0. | |
|    dz = 0.01 * z_max | |
|    nlevels = tointeger( z_max/dz ) | |
|    z_var2d = new( (/nlevels/), typeof(z)) | |
|    z_var2d(0) = z_min | |
|    | |
|    do i=1, nlevels-1 | |
|       z_var2d(i) = z_var2d(0)+i*dz | |
|    end do | |
|     | |
|    refl_cross&Vertical = z_var2d | |
|     | |
|    wks = gsn_open_wks("png","cross") | |
|    cmap     := read_colormap_file("BlAqGrYeOrReVi200") | |
|    cmap(0,:) = (/0,0,0,0/)    ; make first color fully transparent | |
|  | |
|    resx = True | |
|    resx@gsnMaximize          = True | |
|    resx@lbLabelAutoStride    = True            ; default v6.1.0 | |
|  | |
|    resx@cnFillOn             = True            ; turn on color fill | |
|    resx@cnLinesOn            = False           ; turn lines on/off         ; True is default | |
|    resx@cnLineLabelsOn       = False          ; turn line labels on/off   ; True is default | |
|    resx@cnFillPalette        = cmap | |
|    nLabels                   = 8              ; arbitrary | |
|    resx@tmXBLabels           = new(nLabels,"string") | |
|    resx@tmXBMode             = "Explicit" | |
|  | |
|    resx@tmXBValues           := toint(fspan(0,nlat-1,nLabels)) | |
|    do i=0,nLabels-1 | |
|       x = lon_line(i) | |
|       y = lat_line(i) | |
|       resx@tmXBLabels(i) = sprintf("%5.1f", y)+"~C~"+sprintf("%5.1f", x) | |
|    end do | |
|  | |
|    resx@tiMainString = "Full South-North Grid Line X-Section" | |
|  | |
|  | |
|    plot1  = gsn_csm_contour(wks, refl_cross, resx ) | |
|     |