1 |
C $Header$ |
C $Header$ |
2 |
|
C $Name$ |
3 |
C |
C |
4 |
C /==========================================================\ |
C /==========================================================\ |
5 |
C | GRID.h | |
C | GRID.h | |
130 |
C | |-------- | -----------------etc.. | ----*--- | |
C | |-------- | -----------------etc.. | ----*--- | |
131 |
C | | rVel(i=1, | rVel(i=Nx, * | | |
C | | rVel(i=1, | rVel(i=Nx, * | | |
132 |
C | | j=1, | j=1, * | | |
C | | j=1, | j=1, * | | |
133 |
C | | k=Nz) | k=Nz) * | | |
C | | k=Nr) | k=Nr) * | | |
134 |
C |U(i=1, ==> x ==>U(i=2, x *==>U | |
C |U(i=1, ==> x ==>U(i=2, x *==>U | |
135 |
C | j=1, | T(i=1, | j=1, T(i=Nx, *(i=Nx+1,| |
C | j=1, | T(i=1, | j=1, T(i=Nx, *(i=Nx+1,| |
136 |
C | k=Nz)| j=1, | k=Nz) j=1, * |j=1, | |
C | k=Nr)| j=1, | k=Nr) j=1, * |j=1, | |
137 |
C | | k=Nz) | k=Nz) * |k=Nz)| |
C | | k=Nr) | k=Nr) * |k=Nr)| |
138 |
C | | | * | | |
C | | | * | | |
139 |
C |"LB"++>============================================== | |
C |"LB"++>============================================== | |
140 |
C | "PWX" | |
C | "PWX" | |
310 |
C Note: The code needs terms like MIN(hFac,hFac(I+1)) |
C Note: The code needs terms like MIN(hFac,hFac(I+1)) |
311 |
C On some platforms it may be better to precompute |
C On some platforms it may be better to precompute |
312 |
C hFacW, hFacE, ... here than do MIN on the fly. |
C hFacW, hFacE, ... here than do MIN on the fly. |
313 |
|
C rkFac - Vertical coordinate to vertical index orientation. |
314 |
|
C ( -1 same orientation, 1 opposite orientation ) |
315 |
|
C ( vertical coord == m -> rkFac = 1 ) |
316 |
|
C ( vertical coord == Pa -> rkFac = -1 ) |
317 |
C maskW - West face land mask |
C maskW - West face land mask |
318 |
C maskS - South face land mask |
C maskS - South face land mask |
319 |
C recip_dxC - Recipricol of dxC |
C recip_dxC - Recipricol of dxC |
337 |
C diagnostics etc.. As such xc is in m for cartesian |
C diagnostics etc.. As such xc is in m for cartesian |
338 |
C coordinates but degrees for spherical polar. |
C coordinates but degrees for spherical polar. |
339 |
C yC - Y-coordinate of center of cell f[X,Y]. |
C yC - Y-coordinate of center of cell f[X,Y]. |
340 |
|
C yG - Y-coordinate of corner of cell ( c-grid vorticity point) f[X,Y]. |
341 |
C xC0, yC0 - West edge x coord ( metres or degrees ) |
C xC0, yC0 - West edge x coord ( metres or degrees ) |
342 |
C South edge y coord ( metres or degrees ) |
C South edge y coord ( metres or degrees ) |
343 |
C rA - R-face are f[X,Y] ( m^2 ). |
C rA - R-face are f[X,Y] ( m^2 ). |
352 |
C tanPhiAtV - tan of the latitude at V point. Used for spherical polar |
C tanPhiAtV - tan of the latitude at V point. Used for spherical polar |
353 |
C metric term in V equation. |
C metric term in V equation. |
354 |
COMMON /GRID_R/ |
COMMON /GRID_R/ |
355 |
& dxC,dxF,dxG,dxV,dyC,dyF,dyG,dyU,dzC,drF, |
& dxC,dxF,dxG,dxV,dyC,dyF,dyG,dyU,drC,drF, |
356 |
& H,HFacC,HFacW,HFacS, |
& H,HFacC,HFacW,HFacS,DepthInK, |
357 |
& recip_dxC,recip_dxF,recip_dxG,recip_dxV, |
& recip_dxC,recip_dxF,recip_dxG,recip_dxV, |
358 |
& recip_dyC,recip_dyF,recip_dyG,recip_dyU, |
& recip_dyC,recip_dyF,recip_dyG,recip_dyU, |
359 |
& recip_drC,recip_drF, |
& recip_drC,recip_drF, |
360 |
& recip_H, |
& recip_H, |
361 |
& recip_hFacC,recip_hFacW,recip_hFacS, |
& recip_hFacC,recip_hFacW,recip_hFacS, |
362 |
|
& rkFac, recip_rkFac, |
363 |
& saFac, |
& saFac, |
364 |
& xC,yC,rA,rC,rF,yC0,xC0, |
& xC,yC,rA,rAw,rAs,rAz,rC,rF,yC0,xC0,xG,yG, |
365 |
& maskW,maskS, |
& maskW,maskS,recip_rA,recip_rAw,recip_rAs,recip_rAz, |
366 |
& tanPhiAtU, tanPhiAtV |
& tanPhiAtU, tanPhiAtV |
367 |
_RS dxC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS dxC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
368 |
_RS dxF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS dxF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
372 |
_RS dyF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS dyF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
373 |
_RS dyG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS dyG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
374 |
_RS dyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS dyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
375 |
_RS drC (1:Nz) |
_RS drC (1:Nr) |
376 |
_RS drF (1:Nz) |
_RS drF (1:Nr) |
377 |
|
_RS rkFac |
378 |
|
_RS recip_rkFac |
379 |
|
_RS DepthInK (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
380 |
_RS H (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS H (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
381 |
_RS HFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS HFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
382 |
_RS HFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS HFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
383 |
_RS HFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS HFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
384 |
_RS recip_dxC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_dxC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
385 |
_RS recip_dxF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_dxF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
386 |
_RS recip_dxG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_dxG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
389 |
_RS recip_dyF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_dyF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
390 |
_RS recip_dyG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_dyG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
391 |
_RS recip_dyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_dyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
392 |
_RS recip_dzC (1:Nz) |
_RS recip_drC (1:Nr) |
393 |
_RS recip_drF (1:Nz) |
_RS recip_drF (1:Nr) |
394 |
_RS recip_h (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS recip_h (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
395 |
_RS recip_hFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS recip_hFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
396 |
_RS recip_hFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS recip_hFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
397 |
_RS recip_hFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS recip_hFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
398 |
_RS saFac (1:Nz) |
_RS saFac (1:Nr) |
399 |
_RS xC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS xC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
400 |
|
_RS xG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
401 |
_RS xC0 |
_RS xC0 |
402 |
_RS yC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS yC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
403 |
|
_RS yG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
404 |
_RS yC0 |
_RS yC0 |
405 |
_RS rA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS rA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
406 |
_RS rC (1:Nz) |
_RS rAw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
407 |
_RS rF (1:Nz+1) |
_RS rAs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
408 |
_RS maskW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS rAz (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
409 |
_RS maskS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nz,nSx,nSy) |
_RS recip_rA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
410 |
|
_RS recip_rAw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
411 |
|
_RS recip_rAs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
412 |
|
_RS recip_rAz (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
413 |
|
_RS rC (1:Nr) |
414 |
|
_RS rF (1:Nr+1) |
415 |
|
_RS maskW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
416 |
|
_RS maskS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
417 |
_RS tanPhiAtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS tanPhiAtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
418 |
_RS tanPhiAtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS tanPhiAtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
419 |
|
|
420 |
|
#ifdef ALLOW_NONHYDROSTATIC |
421 |
C-- COMMON /GRID_I/ Integer valued grid defining variables |
COMMON /GRID_NH/ |
422 |
C iDep - Index of last "non-land" cell for each column f[X,Y]. |
& recip_hFacU |
423 |
COMMON /GRID_I/ |
_RS recip_hFacU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy) |
424 |
& iDep |
#endif |
|
INTEGER iDep(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
|