! source file: /Users/csomes/Research/Models/UVic_ESCM/2.9/source/common/emode.h !======================= include file "emode.h" ======================== ! variables for external mode ! psi = stream function (,,1) is for tau; (,,2) is for tau-1 ! zu = vertically averaged forcing from momentum equations ! (,,1) is zonal and (,,2) is meridional component ! ztd = curl of "zu" for the stream function equation ! ptd = time change of stream function ! h = depth over "u" points ! hr = reciprocal depth over "u" points ! res = residual from elliptic solver ! map = land mass map distinguishing, ocean, land, and perimeters ! mxscan = max number of allowable scans for Poisson solvers ! mscan = actual number of scans taken by Poisson solvers ! sor = successive over-relaxation constant ! tolrsf = tolerance for stream function calculation. ! the solution is halted when it is within "tolrsf" ! of the "true" solution assuming geometric convergence. ! tolrsp = tolerance for surface pressure calculation ! the solution is halted when it is within "tolrsp" ! of the "true" solution assuming geometric convergence. ! tolrfs = tolerance for implicit free surface calculation ! the solution is halted when it is within "tolrfs" ! of the "true" solution assuming geometric convergence. ! esterr = estimated maximum error in elliptic solver assuming ! geometric convergence ! nisle = number of land masses ! nippts= number of land mass perimeter points ! iperm = "i" coordinate for the land mass perimeter point ! jperm = "j" coordinate for the land mass perimeter point ! iofs = offset for indexing into the land mass perimeter points ! imask = controls whether calculations get done on perimeters ! set mask for land mass perimeters on which to perform calculations ! imask(-n) = .false. [no equations ever on dry land mass n] ! imask(0) = .true. [equations at all mid ocean points] ! imask(n) = .true./.false [controls whether there will be ! equations on the ocean perimeter of ! land mass n] ! note: land mass 1 is the northwest-most land mass ! for the numbering of the other landmasses, see generated map(i,j) character(16) :: variable common /emode_c/ variable logical converged, imask common /emode_l/ converged, imask (-mnisle:mnisle) integer mxscan, mscan, map, nippts, iofs, iperm integer jperm, nisle, imain common /emode_i/ mxscan, mscan common /emode_i/ map(imt,jmt) common /emode_i/ nippts(mnisle), iofs(mnisle), iperm(maxipp) common /emode_i/ jperm(maxipp), nisle, imain real tolrsf, tolrsp, tolrfs, sor, esterr, ptd, res, hr real h, zu, psi, ztd, alph, gam, theta, apgr, uhat, pguess real ps, divf, ubar, ubarm1 common /emode_r/ tolrsf, tolrsp, tolrfs, sor, esterr common /emode_r/ ptd(imt,jmt), res(imt,jmt), hr(imt,jmt) common /emode_r/ h(imt,jmt), zu(imt,jmt,2) common /emode_r/ psi(imt,jmt,2), ztd(imt,jmt)