2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
subroutine fizhi_init_veg(mythid,vegdata,im,jm,Nsx,Nsy,Nxg,Nyg, |
subroutine fizhi_init_veg(mythid,vegdata,im,jm,Nsx,Nsy,Nxg,Nyg, |
5 |
. maxtyp,nchp,surftype,tilefrac,igrd,ityp,chfr ) |
.maxtyp,nchp,lons,lats,surftype,tilefrac,igrd,ityp,chfr,chlt,chlon) |
6 |
C*********************************************************************** |
C*********************************************************************** |
7 |
C Subroutine fizhi_init_veg - routine to read in the land surface types, |
C Subroutine fizhi_init_veg - routine to read in the land surface types, |
8 |
C interpolate to the models grid, and set up tile space for use by |
C interpolate to the models grid, and set up tile space for use by |
13 |
C |
C |
14 |
C mythid - thread number (processor number) |
C mythid - thread number (processor number) |
15 |
C vegdata - Character*40 Vegetation Dataset name |
C vegdata - Character*40 Vegetation Dataset name |
16 |
C im - model grid longitude dimension |
C im - longitude dimension |
17 |
C jm - model grid latitude dimension (number of lat. points) |
C jm - latitude dimension (number of lat. points) |
18 |
C Nsx - Number of processors in x-direction |
C Nsx - Number of processors in x-direction |
19 |
C Nsy - Number of processors in y-direction |
C Nsy - Number of processors in y-direction |
20 |
C maxtyp - maximum allowable number of land surface types per grid box |
C maxtyp - maximum allowable number of land surface types per grid box |
21 |
C nchp - integer per-processor number of tiles in tile space |
C nchp - integer per-processor number of tiles in tile space |
22 |
|
C lons - longitude in degrees [im,jm,nSx,nSy] |
23 |
|
C lats - latitude in degrees [im,jm,nSx,nSy] |
24 |
C |
C |
25 |
C OUTPUT: |
C OUTPUT: |
26 |
C |
C |
55 |
integer surftype(im,jm,maxtyp,Nsx,Nsy) |
integer surftype(im,jm,maxtyp,Nsx,Nsy) |
56 |
integer igrd(nchp,Nsx,Nsy),ityp(nchp,Nsx,Nsy) |
integer igrd(nchp,Nsx,Nsy),ityp(nchp,Nsx,Nsy) |
57 |
real tilefrac(im,jm,maxtyp,Nsx,Nsy) |
real tilefrac(im,jm,maxtyp,Nsx,Nsy) |
58 |
real chfr(nchp,Nsx,Nsy) |
real lats(im,jm,nSx,nSy), lons(im,jm,nSx,nSy) |
59 |
|
real chfr(nchp,Nsx,Nsy),chlt(nchp,Nsx,Nsy),chlon(nchp,Nsx,Nsy) |
60 |
character*40 vegdata |
character*40 vegdata |
61 |
integer imdata,jmdata,Nxgdata,Nygdata |
integer imdata,jmdata,Nxgdata,Nygdata |
62 |
integer nchplocal,nchpland,biglobal,bjglobal |
integer nchplocal,nchpland,biglobal,bjglobal |
115 |
c igrd : grid index |
c igrd : grid index |
116 |
c ityp : veg. type |
c ityp : veg. type |
117 |
c chfr : vegetation fraction |
c chfr : vegetation fraction |
118 |
|
c chlon: chip longitude |
119 |
|
c chlt : chip latitude |
120 |
|
|
121 |
c nchplnd<=nchplocal is the actual number of land chips |
c nchplnd<=nchplocal is the actual number of land chips |
122 |
|
|
132 |
igrd (nchplnd,bi,bj) = i + (j-1)*im |
igrd (nchplnd,bi,bj) = i + (j-1)*im |
133 |
ityp (nchplnd,bi,bj) = surftype(i,j,k,bi,bj) |
ityp (nchplnd,bi,bj) = surftype(i,j,k,bi,bj) |
134 |
chfr (nchplnd,bi,bj) = tilefrac(i,j,k,bi,bj) |
chfr (nchplnd,bi,bj) = tilefrac(i,j,k,bi,bj) |
135 |
|
chlon(nchplnd,bi,bj) = lons(i,j,bi,bj) |
136 |
|
chlt (nchplnd,bi,bj) = lats(i,j,bi,bj) |
137 |
endif |
endif |
138 |
enddo |
enddo |
139 |
enddo |
enddo |
152 |
igrd (nchplocal,bi,bj) = i + (j-1)*im |
igrd (nchplocal,bi,bj) = i + (j-1)*im |
153 |
ityp (nchplocal,bi,bj) = surftype(i,j,k,bi,bj) |
ityp (nchplocal,bi,bj) = surftype(i,j,k,bi,bj) |
154 |
chfr (nchplocal,bi,bj) = tilefrac(i,j,k,bi,bj) |
chfr (nchplocal,bi,bj) = tilefrac(i,j,k,bi,bj) |
155 |
|
chlon(nchplocal,bi,bj) = lons(i,j,bi,bj) |
156 |
|
chlt (nchplocal,bi,bj) = lats(i,j,bi,bj) |
157 |
endif |
endif |
158 |
enddo |
enddo |
159 |
enddo |
enddo |