/[MITgcm]/MITgcm/model/inc/SURFACE.h
ViewVC logotype

Contents of /MITgcm/model/inc/SURFACE.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.17 - (show annotations) (download)
Fri Jan 14 01:28:29 2011 UTC (13 years, 3 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint62s, checkpoint62r
Changes since 1.16: +12 -2 lines
File MIME type: text/plain
o model/src, pkg/autodiff, pkg/ecco, pkg/seaice:
  alleviate the need for additional 3D tapes when using
  the non-inear free surface in the adjoint. This is done
  by adding an 'update' of hfacc etc. to their current
  value at the beginning of forward_step.F.

1 C $Header: /u/gcmpack/MITgcm/model/inc/SURFACE.h,v 1.16 2010/09/11 21:23:09 jmc Exp $
2 C $Name: $
3 C
4 CBOP
5 C !ROUTINE: SURFACE.h
6 C !INTERFACE:
7 C include SURFACE.h
8 C !DESCRIPTION: \bv
9 C *==========================================================*
10 C | SURFACE.h
11 C | o Header file defining surface-related model variables
12 C *==========================================================*
13 C | Contains variables relative to the surface position
14 C | that are held fixed in linear free-surface formulation
15 C | but can vary with time with a non-linear free-surface.
16 C *==========================================================*
17 C \ev
18 CEOP
19
20 C-- COMMON /SURF_FIXED/ fixed surface arrays (Real)
21 C Bo_surf :: Boyancy|1/rho [ocean|atmos] at surface level [=g|alpha(p_o)]
22 C recip_Bo :: 1/Bo_surf
23 C topoZ :: topographic height [m] (used mainly for atmosphere)
24 C phi0surf :: starting point for integrating phi_Hyd
25 COMMON /SURF_FIXED/ Bo_surf, recip_Bo, topoZ, phi0surf
26 _RL Bo_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
27 _RL recip_Bo(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
28 _RS topoZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
29 _RS phi0surf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
30
31 C-- COMMON /SURF_CORREC/ Common block for correction of source/sink of
32 C-- Tracer due to W at the surface with Linear
33 C-- Free Surface
34 C TsurfCor :: Pot.Temp Linear-Free-Surface correction term [K.r_Unit/s]
35 C SsurfCor :: Salinity Linear-Free-Surface correction term [psu.r_Unit/s]
36 COMMON /SURF_CORREC/ TsurfCor, SsurfCor
37 _RL TsurfCor
38 _RL SsurfCor
39
40 #ifdef EXACT_CONSERV
41 C etaHnm1 :: surface r-anomaly, etaH, at previous time level
42 C dEtaHdt :: time derivative of total column height [r_unit/s = w unit]
43 C PmEpR :: keep the fresh water input (=-EmPmR) of the previous time step
44 COMMON /EXACT_ETA_LOCAL/ etaHnm1, dEtaHdt, PmEpR
45 _RL etaHnm1(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
46 _RL dEtaHdt(1-Olx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
47 _RS PmEpR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
48 #endif
49
50 #ifdef NONLIN_FRSURF
51 C-- COMMON /SURF_CHANGE/ transient variables used for Non-Lin Free-Surf
52 C hFac_surfC :: New thickness factor of the surface level
53 C center (Tracer point)
54 C hFac_surfW :: idem, West interface (U point)
55 C hFac_surfS :: idem, South interface (V point)
56 C hFac_surfNm1C, etc. :: prior values
57 COMMON /SURF_CHANGE/
58 & hFac_surfC, hFac_surfW, hFac_surfS,
59 & hFac_surfNm1C, hFac_surfNm1W, hFac_surfNm1S
60 _RS hFac_surfC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
61 _RS hFac_surfW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
62 _RS hFac_surfS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
63 _RS hFac_surfNm1C(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
64 _RS hFac_surfNm1W(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
65 _RS hFac_surfNm1S(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
66
67 C Local variables in common block
68 C Rmin_surf :: minimum r_value of the free surface position
69 C that satisfy the hFacInf criteria
70 COMMON /LOCAL_CALC_SURF_DR/ Rmin_surf
71 _RL Rmin_surf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
72
73 C-- COMMON /RSTAR_CHANGE/ transient variables used with r* Coordinate
74 C rStarFacC :: = dr/dr* = ratio of r-thickness / r*-thickness = h^n / H
75 C rStarFacW :: same but for West face
76 C rStarFacS :: same but for South face
77 C rStarFacNm1C, etc. :: prior values
78 C rStarExpC :: column expansion factor = h^n+1/h^n , Centered
79 C rStarExpW :: column expansion factor = h^n+1/h^n , Western face
80 C rStarExpS :: column expansion factor = h^n+1/h^n , Southern face
81 C rStarDhCDt:: relative time derivative of h_Center = d.eta/dt / H
82 C rStarDhWDt:: relative time derivative of h_West_face (u.point)
83 C rStarDhSDt:: relative time derivative of h_South_face (v.point)
84 COMMON /RSTAR_CHANGE/
85 & rStarFacC, rStarFacW, rStarFacS,
86 & rStarFacNm1C, rStarFacNm1W, rStarFacNm1S,
87 & rStarExpC, rStarExpW, rStarExpS,
88 & rStarDhCDt,rStarDhWDt,rStarDhSDt
89 _RL rStarFacC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
90 _RL rStarFacW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
91 _RL rStarFacS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
92 _RL rStarFacNm1C (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
93 _RL rStarFacNm1W (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
94 _RL rStarFacNm1S (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
95 _RL rStarExpC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96 _RL rStarExpW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
97 _RL rStarExpS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
98 _RL rStarDhCDt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99 _RL rStarDhWDt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100 _RL rStarDhSDt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101
102 C-- COMMON /RSTAR_FIXED/ fixed thickness ratio ( r* discretization )
103 C h0FacC :: initial (and fixed in time) hFacC factor
104 C h0FacW :: initial (and fixed in time) hFacW factor
105 C h0FacS :: initial (and fixed in time) hFacS factor
106 COMMON /RSTAR_FIXED/
107 & h0FacC, h0FacW, h0FacS
108 _RS h0FacC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
109 _RS h0FacW(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
110 _RS h0FacS(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
111
112 C-- COMMON /SIGMA_CHANGE/ transient variables used with r* Coordinate
113 C etaHw :: surface r-anomaly (etaH) at Western edge (U location)
114 C etaHs :: surface r-anomaly (etaH) at Southern edge (V location)
115 C dEtaWdt :: time derivative of etaH at Western edge (U location)
116 C dEtaSdt :: time derivative of etaH at Southern edge (V location)
117 COMMON /SIGMA_CHANGE/
118 & etaHw, etaHs,
119 & dEtaWdt, dEtaSdt
120 _RL etaHw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
121 _RL etaHs (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
122 _RL dEtaWdt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
123 _RL dEtaSdt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
124 #endif /* NONLIN_FRSURF */

  ViewVC Help
Powered by ViewVC 1.1.22