Parameters and arrays
3. EXPLANATION OF PARAMETERS AND ARRAYS IN SOMINC.F
3.1. PARAMETERS:
M = NUMBER OF ROWS
N = NUMBER OF COLUMNS
ILO = NUMBER OF LAYERS
NTWODE = NUMBER OF HORIZONTAL WET POINTS (done by setup.f)
NTRIDE = NUMBER OF TOTAL WET POINTS (done by setup.f)
DTSECC = MINIMUM TIME STEP (exact time step DTSEC
given in PARAMIN.DAT)
KRAND = NUMBER OF OPEN BOUNDARY POINTS (done by setup.f)
KOMPAR = NUMBER OF TIDAL CONSTITUENTS (fixed value)
NRSOPP = MAXIMUM NUMBER OF SPECIAL POINTS (exact number NRSOP
given in PARAMIN.DAT)
NIPERR = NUMBER OF TIME STEPS IN A 6 HOUR PERIOD (exact number NIPER
given in PARAMIN. DAT)
ILOMB = NUMBER OF LAYERS WHICH SHOULD BE TAKEN INTO ACCOUNT
FOR GEOSTROPHICAL ADJUSTMENT AT THE OPEN BOUNDARIES
NRSP11 = MAXIMUM NUMBER OF SPECIAL POINTS+1 (exact number NRSP1given
in PARAMIN.DAT)
NRSONN = NUMBER OF TIMESSTEPS PER DAY (exact number NRSON given in
PARAMIN.DAT)
3.2. COMMON BLOCKS:
3.2.1. TIMEPA
3.2.2. FRESH
Inflow boundary conditions
3.2.3. NILGRA
Boundary condition settings
3.2.4. SITIME
Time control parameters
3.2.5. SORSOL
Arrays for S.O.R. coefficients
APU, APV = variables for s.o.r coefficients including weiss rotation matrix terms
RDXDY = space-dependent 1/(dx*dy)
CC = s.o.r coefficients
TCC = interim result of s.o.r. coefficients
CXC, CYC = variables for s.o.r coefficients including vertical
integrated layer thickness*rho(1)/rho(j)
CEAS, CWES = variables for s.o.r coefficients including
CNOR, CSOU = grid information
STUVC = multi-purpose array:
main use: includes vertically integrated -dt*(Ux + Vy) for the
right side of the equation of continuity (done in motone),
also used as temporary array for storing interim results
in some subroutines (i.e. mottwo)
STTU, STTV = in motone: vertically integrated Ux and vertically integrated Vx
3.2.6. SLVED/SLVER
Arrays for solving the equation of continuity:
EE, FF = interim solution of zeta at time level n+1
ITCOL, IROW = indexing of columns and rows in loops of subr. solver
EPS = s.o.r epsilon
OMG = s.o.r omega
ITMIN = number of maximum iterations
KOUNTZ = iteration counter
KOUNTB = iteration counter for the boundary if kbrad = 1
3.2.7.TRANSP
}{\fs24 U = west-east transport (m**2/s)
V = south-north transport (m**2/s)
3.2.8. VELOCS
SU = west-east velocity (m/s)
SV = south-north velocity (m/s)
W = vertical velocity (m/s)
3.2.9. SURFEL
ZA = sea surface elevation
Z = increment of sea surface elevation (time level n+1)
3.2.10. FRICUV
FRICU, FRICV = non linear bottom friction terms for u and v
3.2.11. VEDDY
AVV = time and space dependent vertical eddy viscosity coeff.
3.2.12. DENSAN
ST = density anomaly
STP = density anomaly according to reference density of the
layer above
3.2.13. TEMSAL
SALREF = reference salinity
TEMREF = reference temperature
SALT = salinity ( minus salref)
TEMP = temperature ( minus temref)
3.2.14. PRESUR
PRES = barotropic reference pressure (depending only on depth
excluding sea surface elevation a. topography, multiplied
with factor .1)
PP = internal pressure field and external pressure anomalies
due to the sea surface elevation and the atmospheric pressure
3.2.15. REFDEN
REFRHO = reference density defined by salref, temref and pres
(values are something like 0.002...)
RHOQ = same as refrho but values are now 1.002...
DENCO = density quoyient rho-surface/rho-layer
3.2.16. IND1
LAY = layer thickness of point i,k,j
JC = control for dry respectively wet grid point i,k,j
if jc(i,k,j) = 1 ==> wet, if jc(i,k,j) = 0 ==> dry
LAZ = number of layers in point i,k
3.2.17. IND2
IZET = total depth
3.2.18. INDCMP
N2DC = number of wet horizontal points ( = ntwode )
N3DC = number of wet total points ( = ntride )
NUMLAY = number of layers ( = ilo )
MROW = number of rows ( = m )
NCOL = number of columns ( = n )
NOSOR = number of iteration points
IWET = contains information of the row according to point(l) with
l = [ 1,ntwode ]
LAZC = number of layers in point (l), l = [ 1,ntwode ]
LDEP = bottom layer thickness of point (l), l = [ 1,ntwode ]
INDEND = end index l, l = [ 1,ntwode ] of column k
ISLAB = end index l, l = [ 1,ntride ] of column k
3.2.19. COMPRS
X3C = temporary array for storing 3D-arrays
X2C = temporary array for storing 2D-arrays
3.2.20. VERZ
RU, RV = interim solution of u,v solved in motone and used for calculation in mottwo
SRU, SRV = interim solution of u,v used in motone
US1, US2 = interim solution of u,v for first and second column
VS1, VS2 = (only of importance for cyclic boundary conditions)
D = layer thickness
RD = 1 / layer thickness
R2D = 1 / layer thickness
DZ = lower layer boundary
DMIN = not used????
DSCH = thickness for vertical exchange coefficient
DSCHM = dsch averaged on upper layer boundary
AUVE = interim solution of new vertical eddy coefficient
RICH = richardson number in Kochergin approach
AV = constant (part) of vertical eddy viscosity
AH = constant horizontal eddy viscosity
DH = g*dt*layer thickness
DPZ = layer thickness
PRD = 1 / layer thickness
PR2D = 1 / layer thickness
TAU = vertical exchange tau (in motone)
QA = velocity u or v (in motone)
PN = array for gauss allgorithm (mottwo)
QN = array for gauss allgorithm (mottwo)
XW = w-component centered on horizontal velocities
3.2.21. RUNCON
Model control parameters
3.2.22. GRDZOM
DPX = dx
DPY = dy
XDIFF = grid distance between p(i,k+1) and p(i,k)
YDIFF = grid distance between p(i+1,k) and p(i,k)
ZDIFF = grid distance between p(j) and p(j+1)
FX = dx(k+1)/(dx(k)+dx(k+1))
FY = dy(i+1)/(dy(i)+dy(i+1))
FPY = 1-fy
FZ = not used???
FMZ = not used???
3.2.23. DERCO
SDUX1 =
SDUX2 =
SDVX1 =
SDVX2 =
SDUY1 = dt / dy**2
SDUY2 = dt / dy**2
SDVY1 =
SDVY2 =
FDPX =
FDPY1 = dlvo / dy
FDPY2 = dlvu / dy
FDUX =
FDVY =
3.2.24. CGITMT
Geopraphical information
3.2.25. GRIDCO
DT = dt
DTMIN = dt in minutes
DTH = dt in hours
DTHX = dt in hours
FRICO = bottom friction coefficient
G = earth acceleration
GH = 0.5 * g
FRICDT = frico * dt
3.2.26. CORIO
CORU = f in u-grid-point
CORV = f in v-grid-point
SINFU = sin (f*dt) in u (WEISS)
SINFV = sin (f*dt) in v
COSFU = cos (f*dt) in u
COSFV = cos (f*dt) in v
3.2.27. WEISS
}{\fs24 SINFUCC = 1 - sin (f*dt) in u
COSFUCC = 1 - cos (f*dt) in u (divided by f*dt because of program structure)
SINFVCC = 1 - sin (f*dt) in v
COSFVCC = 1 - cos (f*dt) in v (divided by f*dt because of program structure)
3.2.28. LATIT
CFIU1 = 1/(phi in u) = value of dx depends on phi
CFIV1 = 1/(phi in v)
CFIU2 = 1/(phi in u)**2
CFIV2 = 1/(phi in v)**2
DLVU = correction term similar to cfiu1
DLVO = -------- " ---------------------
} d \nowidctlpar\widctlpar\adjustright {\b\fs24
3.2.29. MET
WLAMX = wind drag coefficient in x-direction
WLAMY = wind drag coefficient in y-direction
TAUXX = wind stress in x-direction
TAUYY = wind stress in y-direction
PA = air pressure
TXC = wind stress in x-direction
TYC = wind stress in y-direction
PAT = air pressure
TXX = wind stress in x-direction
TYY = wind stress in y-direction
PNULL = default air pressure (1013 mb)
STRESS = conversion factor
}}




