Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F120545221
GRID.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Jul 5, 03:23
Size
25 KB
Mime Type
text/x-fortran
Expires
Mon, Jul 7, 03:23 (2 d)
Engine
blob
Format
Raw Data
Handle
27185511
Attached To
R2795 mitgcm_lac_leman_abirani
GRID.h
View Options
C $Header: /u/gcmpack/MITgcm/model/inc/GRID.h,v 1.43 2013/07/26 14:20:01 jmc Exp $
C $Name: $
C
CBOP
C !ROUTINE: GRID.h
C !INTERFACE:
C include GRID.h
C !DESCRIPTION: \bv
C *==========================================================*
C | GRID.h
C | o Header file defining model grid.
C *==========================================================*
C | Model grid is defined for each process by reference to
C | the arrays set here.
C | Notes
C | =====
C | The standard MITgcm convention of westmost, southern most
C | and upper most having the (1,1,1) index is used here.
C | i.e.
C |----------------------------------------------------------
C | (1) Plan view schematic of model grid (top layer i.e. )
C | ================================= ( ocean surface )
C | ( or top of )
C | ( atmosphere )
C | This diagram shows the location of the model
C | prognostic variables on the model grid. The "T"
C | location is used for all tracers. The figure also
C | shows the southern most, western most indexing
C | convention that is used for all model variables.
C |
C |
C | V(i=1, V(i=Nx,
C | j=Ny+1, j=Ny+1,
C | k=1) k=1)
C | /|\ /|\ "PWX"
C | |---------|------------------etc.. |---- *---
C | | | * |
C |"PWY"*******************************etc.. **********"PWY"
C | | | * |
C | | | * |
C | | | * |
C |U(i=1, ==> x | x *==>U
C | j=Ny,| T(i=1, | T(i=Nx, *(i=Nx+1,
C | k=1) | j=Ny, | j=Ny, * |j=Ny,
C | | k=1) | k=1) * |k=1)
C |
C | . . .
C | . . .
C | . . .
C | e e * e
C | t t * t
C | c c * c
C | | | * |
C | | | * |
C |U(i=1, ==> x | x * |
C | j=2, | T(i=1, | T(i=Nx, * |
C | k=1) | j=2, | j=2, * |
C | | k=1) | k=1) * |
C | | | * |
C | | /|\ | /|\ * |
C | -----------|------------------etc.. |-----*---
C | | V(i=1, | V(i=Nx, * |
C | | j=2, | j=2, * |
C | | k=1) | k=1) * |
C | | | * |
C |U(i=1, ==> x ==>U(i=2, x *==>U
C | j=1, | T(i=1, | j=1, T(i=Nx, *(i=Nx+1,
C | k=1) | j=1, | k=1) j=1, * |j=1,
C | | k=1) | k=1) * |k=1)
C | | | * |
C | | /|\ | /|\ * |
C |"SB"++>|---------|------------------etc.. |-----*---
C | /+\ V(i=1, V(i=Nx, *
C | + j=1, j=1, *
C | + k=1) k=1) *
C | "WB" "PWX"
C |
C | N, y increasing northwards
C | /|\ j increasing northwards
C | |
C | |
C | ======>E, x increasing eastwards
C | i increasing eastwards
C |
C | i: East-west index
C | j: North-south index
C | k: up-down index
C | U: x-velocity (m/s)
C | V: y-velocity (m/s)
C | T: potential temperature (oC)
C | "SB": Southern boundary
C | "WB": Western boundary
C |"PWX": Periodic wrap around in X.
C |"PWY": Periodic wrap around in Y.
C |----------------------------------------------------------
C | (2) South elevation schematic of model grid
C | =======================================
C | This diagram shows the location of the model
C | prognostic variables on the model grid. The "T"
C | location is used for all tracers. The figure also
C | shows the upper most, western most indexing
C | convention that is used for all model variables.
C |
C | "WB"
C | +
C | +
C | \+/ /|\ /|\ .
C |"UB"++>|-------- | -----------------etc.. | ----*---
C | | rVel(i=1, | rVel(i=Nx, * |
C | | j=1, | j=1, * |
C | | k=1) | k=1) * |
C | | | * |
C |U(i=1, ==> x ==>U(i=2, x *==>U
C | j=1, | T(i=1, | j=1, T(i=Nx, *(i=Nx+1,
C | k=1) | j=1, | k=1) j=1, * |j=1,
C | | k=1) | k=1) * |k=1)
C | | | * |
C | | /|\ | /|\ * |
C | |-------- | -----------------etc.. | ----*---
C | | rVel(i=1, | rVel(i=Nx, * |
C | | j=1, | j=1, * |
C | | k=2) | k=2) * |
C |
C | . . .
C | . . .
C | . . .
C | e e * e
C | t t * t
C | c c * c
C | | | * |
C | | | * |
C | | | * |
C | | | * |
C | | /|\ | /|\ * |
C | |-------- | -----------------etc.. | ----*---
C | | rVel(i=1, | rVel(i=Nx, * |
C | | j=1, | j=1, * |
C | | k=Nr) | k=Nr) * |
C |U(i=1, ==> x ==>U(i=2, x *==>U
C | j=1, | T(i=1, | j=1, T(i=Nx, *(i=Nx+1,
C | k=Nr)| j=1, | k=Nr) j=1, * |j=1,
C | | k=Nr) | k=Nr) * |k=Nr)
C | | | * |
C |"LB"++>==============================================
C | "PWX"
C |
C | Up increasing upwards.
C |/|\ .
C | |
C | |
C | =====> E i increasing eastwards
C | | x increasing eastwards
C | |
C |\|/
C | Down,k increasing downwards.
C |
C | Note: r => height (m) => r increases upwards
C | r => pressure (Pa) => r increases downwards
C |
C |
C | i: East-west index
C | j: North-south index
C | k: up-down index
C | U: x-velocity (m/s)
C | rVel: z-velocity ( units of r )
C | The vertical velocity variable rVel is in units of
C | "r" the vertical coordinate. r in m will give
C | rVel m/s. r in Pa will give rVel Pa/s.
C | T: potential temperature (oC)
C | "UB": Upper boundary.
C | "LB": Lower boundary (always solid - therefore om|w == 0)
C | "WB": Western boundary
C |"PWX": Periodic wrap around in X.
C |----------------------------------------------------------
C | (3) Views showing nomenclature and indexing
C | for grid descriptor variables.
C |
C | Fig 3a. shows the orientation, indexing and
C | notation for the grid spacing terms used internally
C | for the evaluation of gradient and averaging terms.
C | These varaibles are set based on the model input
C | parameters which define the model grid in terms of
C | spacing in X, Y and Z.
C |
C | Fig 3b. shows the orientation, indexing and
C | notation for the variables that are used to define
C | the model grid. These varaibles are set directly
C | from the model input.
C |
C | Figure 3a
C | =========
C | |------------------------------------
C | | |
C |"PWY"********************************* etc...
C | | |
C | | |
C | | |
C | | |
C | | |
C | | |
C | | |
C |
C | . .
C | . .
C | . .
C | e e
C | t t
C | c c
C | |-----------v-----------|-----------v----------|-
C | | | |
C | | | |
C | | | |
C | | | |
C | | | |
C | u<--dxF(i=1,j=2,k=1)--->u t |
C | |/|\ /|\ | |
C | | | | | |
C | | | | | |
C | | | | | |
C | |dyU(i=1, dyC(i=1, | |
C | --- ---|--j=2,---|--j=2,-----------------v----------|-
C | /|\ | | k=1) | k=1) | /|\ |
C | | | | | | dyF(i=2, |
C | | | | | | | j=1, |
C |dyG( |\|/ \|/ | | k=1) |
C | i=1,u--- t<---dxC(i=2,j=1,k=1)-->t |
C | j=1,| | | |
C | k=1)| | | |
C | | | | | |
C | | | | | |
C | \|/ | |<---dxV(i=2,j=1,k=1)--\|/ |
C |"SB"++>|___________v___________|___________v__________|_
C | <--dxG(i=1,j=1,k=1)----->
C | /+\ .
C | +
C | +
C | "WB"
C |
C | N, y increasing northwards
C | /|\ j increasing northwards
C | |
C | |
C | ======>E, x increasing eastwards
C | i increasing eastwards
C |
C | i: East-west index
C | j: North-south index
C | k: up-down index
C | u: x-velocity point
C | V: y-velocity point
C | t: tracer point
C | "SB": Southern boundary
C | "WB": Western boundary
C |"PWX": Periodic wrap around in X.
C |"PWY": Periodic wrap around in Y.
C |
C | Figure 3b
C | =========
C |
C | . .
C | . .
C | . .
C | e e
C | t t
C | c c
C | |-----------v-----------|-----------v--etc...
C | | |
C | | |
C | | |
C | | |
C | | |
C | u<--delX(i=1)---------->u t
C | | |
C | | |
C | | |
C | | |
C | | |
C | |-----------v-----------------------v--etc...
C | | /|\ |
C | | | |
C | | | |
C | | | |
C | u delY(j=1) | t
C | | | |
C | | | |
C | | | |
C | | | |
C | | \|/ |
C |"SB"++>|___________v___________|___________v__etc...
C | /+\ .
C | +
C | +
C | "WB"
C |
C *==========================================================*
C \ev
CEOP
C Macros that override/modify standard definitions
#include "GRID_MACROS.h"
C-- COMMON /GRID_RL/ RL valued grid defining variables.
C deepFacC :: deep-model grid factor (fct of vertical only) for dx,dy
C deepFacF at level-center (deepFacC) and level interface (deepFacF)
C deepFac2C :: deep-model grid factor (fct of vertical only) for area dx*dy
C deepFac2F at level-center (deepFac2C) and level interface (deepFac2F)
C gravitySign :: indicates the direction of gravity relative to R direction
C (= -1 for R=Z (Z increases upward, -gravity direction )
C (= +1 for R=P (P increases downward, +gravity direction)
C rkSign :: Vertical coordinate to vertical index orientation.
C ( +1 same orientation, -1 opposite orientation )
C globalArea :: Domain Integrated horizontal Area [m2]
COMMON /GRID_RL/
& cosFacU, cosFacV, sqCosFacU, sqCosFacV,
& deepFacC, deepFac2C, recip_deepFacC, recip_deepFac2C,
& deepFacF, deepFac2F, recip_deepFacF, recip_deepFac2F,
& gravitySign, rkSign, globalArea
_RL cosFacU (1-OLy:sNy+OLy,nSx,nSy)
_RL cosFacV (1-OLy:sNy+OLy,nSx,nSy)
_RL sqCosFacU (1-OLy:sNy+OLy,nSx,nSy)
_RL sqCosFacV (1-OLy:sNy+OLy,nSx,nSy)
_RL deepFacC (Nr)
_RL deepFac2C (Nr)
_RL deepFacF (Nr+1)
_RL deepFac2F (Nr+1)
_RL recip_deepFacC (Nr)
_RL recip_deepFac2C(Nr)
_RL recip_deepFacF (Nr+1)
_RL recip_deepFac2F(Nr+1)
_RL gravitySign
_RL rkSign
_RL globalArea
C-- COMMON /GRID_RS/ RS valued grid defining variables.
C dxC :: Cell center separation in X across western cell wall (m)
C dxG :: Cell face separation in X along southern cell wall (m)
C dxF :: Cell face separation in X thru cell center (m)
C dxV :: V-point separation in X across south-west corner of cell (m)
C dyC :: Cell center separation in Y across southern cell wall (m)
C dyG :: Cell face separation in Y along western cell wall (m)
C dyF :: Cell face separation in Y thru cell center (m)
C dyU :: U-point separation in Y across south-west corner of cell (m)
C drC :: Cell center separation along Z axis ( units of r ).
C drF :: Cell face separation along Z axis ( units of r ).
C R_low :: base of fluid in r_unit (Depth(m) / Pressure(Pa) at top Atmos.)
C rLowW :: base of fluid column in r_unit at Western edge location.
C rLowS :: base of fluid column in r_unit at Southern edge location.
C Ro_surf :: surface reference (at rest) position, r_unit.
C rSurfW :: surface reference position at Western edge location [r_unit].
C rSurfS :: surface reference position at Southern edge location [r_unit].
C hFac :: Fraction of cell in vertical which is open i.e how
C "lopped" a cell is (dimensionless scale factor).
C Note: The code needs terms like MIN(hFac,hFac(I-1))
C On some platforms it may be better to precompute
C hFacW, hFacS, ... here than do MIN on the fly.
C maskInC :: Cell Center 2-D Interior mask (i.e., zero beyond OB)
C maskInW :: West face 2-D Interior mask (i.e., zero on and beyond OB)
C maskInS :: South face 2-D Interior mask (i.e., zero on and beyond OB)
C maskC :: cell Center land mask
C maskW :: West face land mask
C maskS :: South face land mask
C recip_dxC :: Reciprocal of dxC
C recip_dxG :: Reciprocal of dxG
C recip_dxF :: Reciprocal of dxF
C recip_dxV :: Reciprocal of dxV
C recip_dyC :: Reciprocal of dxC
C recip_dyG :: Reciprocal of dyG
C recip_dyF :: Reciprocal of dyF
C recip_dyU :: Reciprocal of dyU
C recip_drC :: Reciprocal of drC
C recip_drF :: Reciprocal of drF
C recip_Rcol :: Inverse of cell center column thickness (1/r_unit)
C recip_hFacC :: Inverse of cell open-depth f[X,Y,Z] ( dimensionless ).
C recip_hFacW rhFacC center, rhFacW west, rhFacS south.
C recip_hFacS Note: This is precomputed here because it involves division.
C xC :: X-coordinate of cell center f[X,Y]. The units of xc, yc
C depend on the grid. They are not used in differencing or
C averaging but are just a convient quantity for I/O,
C diagnostics etc.. As such xc is in m for cartesian
C coordinates but degrees for spherical polar.
C yC :: Y-coordinate of center of cell f[X,Y].
C yG :: Y-coordinate of corner of cell ( c-grid vorticity point) f[X,Y].
C rA :: R-face are f[X,Y] ( m^2 ).
C Note: In a cartesian framework rA is simply dx*dy,
C however we use rA to allow for non-globally
C orthogonal coordinate frames (with appropriate
C metric terms).
C rC :: R-coordinate of center of cell f[Z] (units of r).
C rF :: R-coordinate of face of cell f[Z] (units of r).
C - *HybSigm* - :: Hybrid-Sigma vert. Coord coefficients
C aHybSigmF at level-interface (*HybSigmF) and level-center (*HybSigmC)
C aHybSigmC aHybSigm* = constant r part, bHybSigm* = sigma part, such as
C bHybSigmF r(ij,k,t) = rLow(ij) + aHybSigm(k)*[rF(1)-rF(Nr+1)]
C bHybSigmC + bHybSigm(k)*[eta(ij,t)+Ro_surf(ij) - rLow(ij)]
C dAHybSigF :: vertical increment of Hybrid-Sigma coefficient: constant r part,
C dAHybSigC between interface (dAHybSigF) and between center (dAHybSigC)
C dBHybSigF :: vertical increment of Hybrid-Sigma coefficient: sigma part,
C dBHybSigC between interface (dBHybSigF) and between center (dBHybSigC)
C tanPhiAtU :: tan of the latitude at U point. Used for spherical polar
C metric term in U equation.
C tanPhiAtV :: tan of the latitude at V point. Used for spherical polar
C metric term in V equation.
C angleCosC :: cosine of grid orientation angle relative to Geographic direction
C at cell center: alpha=(Eastward_dir,grid_uVel_dir)=(North_d,vVel_d)
C angleSinC :: sine of grid orientation angle relative to Geographic direction
C at cell center: alpha=(Eastward_dir,grid_uVel_dir)=(North_d,vVel_d)
C u2zonDir :: cosine of grid orientation angle at U point location
C v2zonDir :: minus sine of orientation angle at V point location
C fCori :: Coriolis parameter at grid Center point
C fCoriG :: Coriolis parameter at grid Corner point
C fCoriCos :: Coriolis Cos(phi) parameter at grid Center point (for NH)
COMMON /GRID_RS/
& dxC,dxF,dxG,dxV,dyC,dyF,dyG,dyU,
& R_low, rLowW, rLowS,
& Ro_surf, rSurfW, rSurfS,
& hFacC, hFacW, hFacS,
& recip_dxC,recip_dxF,recip_dxG,recip_dxV,
& recip_dyC,recip_dyF,recip_dyG,recip_dyU,
& recip_Rcol,
& recip_hFacC,recip_hFacW,recip_hFacS,
& xC,yC,rA,rAw,rAs,rAz,xG,yG,
& maskInC, maskInW, maskInS,
& maskC, maskW, maskS,
& recip_rA,recip_rAw,recip_rAs,recip_rAz,
& drC, drF, recip_drC, recip_drF, rC, rF,
& aHybSigmF, bHybSigmF, aHybSigmC, bHybSigmC,
& dAHybSigF, dBHybSigF, dBHybSigC, dAHybSigC,
& tanPhiAtU, tanPhiAtV,
& angleCosC, angleSinC, u2zonDir, v2zonDir,
& fCori, fCoriG, fCoriCos
_RS dxC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dxF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dxG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dxV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dyC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dyF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dyG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS dyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS R_low (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rLowW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rLowS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS Ro_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rSurfW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rSurfS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS hFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS hFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS hFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS recip_dxC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dxF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dxG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dxV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dyC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dyF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dyG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_dyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_Rcol (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_hFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS recip_hFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS recip_hFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS xC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS xG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS yC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS yG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rAw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rAs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS rAz (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_rA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_rAw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_rAs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS recip_rAz (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS maskInC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS maskInW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS maskInS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS maskW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS maskS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
_RS drC (Nr+1)
_RS drF (Nr)
_RS recip_drC (Nr+1)
_RS recip_drF (Nr)
_RS rC (Nr)
_RS rF (Nr+1)
_RS aHybSigmF (Nr+1)
_RS bHybSigmF (Nr+1)
_RS aHybSigmC (Nr)
_RS bHybSigmC (Nr)
_RS dAHybSigF (Nr)
_RS dBHybSigF (Nr)
_RS dBHybSigC (Nr+1)
_RS dAHybSigC (Nr+1)
_RS tanPhiAtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS tanPhiAtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS angleCosC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS angleSinC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS u2zonDir (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS v2zonDir (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS fCori (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS fCoriG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
_RS fCoriCos (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
#ifdef ALLOW_DEPTH_CONTROL
C-- COMMON /GRID_DEPTH_CTRL/ grid defining variables for Depth Control code.
C xx_r_low :: in TAF-sense active replacement of R_low
COMMON /GRID_DEPTH_CTRL/
& xx_r_low
_RL xx_r_low (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
#endif /* ALLOW_DEPTH_CONTROL */
C-- COMMON /GRID_I/ INTEGER valued grid defining variables.
C kSurfC :: vertical index of the surface tracer cell
C kSurfW :: vertical index of the surface U point
C kSurfS :: vertical index of the surface V point
C kLowC :: index of the r-lowest "wet cell" (2D)
C IMPORTANT: kSurfC,W,S = Nr+1 and kLowC = 0 where the fluid column
C is empty (continent)
COMMON /GRID_I/
& kSurfC, kSurfW, kSurfS,
& kLowC
INTEGER kSurfC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
INTEGER kSurfW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
INTEGER kSurfS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
INTEGER kLowC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
Event Timeline
Log In to Comment