Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / mri4dvar / nc_vpinput.ncl
blob2c743f81c2de4ecfb6103179d76b8ee17f324847
1 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"  
2 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
3 load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
5 begin
8    filename = "vp_input.0000"
10    varnames = (/"psi","chi_u","t_u","rh","ps_u"/)
11    nvar = dimsizes(varnames)
13    setfileoption("bin","ReadByteOrder","BigEndian")
14    dims = fbinrecread(filename,0,6,"integer")   
15    ni=dims(1)-dims(0)+1
16    nj=dims(3)-dims(2)+1
17    nk=dims(5)-dims(4)+1
18    print("ni, nj, nk = "+ni+", "+nj+", "+nk)
20    vv = fbinrecread(filename,1,(/5,nk,nj,ni/),"double")
22    system("/bin/rm -f "+filename+".nc")   ; remove any pre-existing file
23    ncdf = addfile(filename+".nc" ,"c")  ; open output netCDF file
25     ;===================================================================
26     ; make time an UNLIMITED dimension; recommended  for most applications
27     ;===================================================================
28     ;   filedimdef(ncdf,"time",-1,True) 
30     u = new((/nk, nj,ni/),double)
31     v = new((/nk, nj,ni/),double)
32     t = new((/nk, nj,ni/),double)
33    rh = new((/nk, nj,ni/),double)
34    ps = new((/nk, nj,ni/),double)
36    ;do k = 0, nk-1
37    ;do j = 0, nj-1
38    ;do i = 0, ni-1
39    ;    v1(k,j,i) = v(i,j,k,1)
40    ;    v2(k,j,i) = v(i,j,k,2)
41    ;    v3(k,j,i) = v(i,j,k,3)
42    ;    v4(k,j,i) = v(i,j,k,4) 
43    ;    ;v5(k,j,i) = v(i,j,k,5)
44    ;end do
45    ;end do
46    ;end do
48     u(:,:,:) = vv(0,:,:,:)
49     v(:,:,:) = vv(1,:,:,:)
50     t(:,:,:) = vv(2,:,:,:)
51    rh(:,:,:) = vv(3,:,:,:)
52    ps(:,:,:) = vv(4,:,:,:)
54    ncdf->u = u
55    ncdf->v = v
56    ncdf->t = t
57    ncdf->rh = rh
58    ncdf->ps = ps
60    ;************************************************
61    ; end of reading be.dat data
62    ;************************************************
64 end