/[MITgcm]/MITgcm/pkg/layers/LAYERS.h
ViewVC logotype

Contents of /MITgcm/pkg/layers/LAYERS.h

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


Revision 1.1 - (show annotations) (download)
Wed Sep 16 21:25:47 2009 UTC (14 years, 9 months ago) by rpa
Branch: MAIN
File MIME type: text/plain
Merge layers package into the main source

1 C $Header: /u/gcmpack/MITgcm_contrib/rpa_layers/layers/LAYERS.h,v 1.2 2009/09/16 18:04:14 jmc Exp $
2 C $Name: $
3
4 #ifdef ALLOW_LAYERS
5
6 C-- Header for LAYERS package. By Ryan Abernathey.
7 C-- For computing volume fluxes in isopyncal layers
8
9 C -- Parms
10 LOGICAL layers_MNC, layers_MDSIO
11 COMMON /LAYERS_PARMS/ layers_MNC, layers_MDSIO
12
13 C 3D Layers fields. The vertical dimension in these fields is nLayers,
14 C i.e. the isopycnal coordinate.
15 C
16 C layers_UFlux :: U integrated over layer (m^2/s)
17 C layers_VFlux :: V integrated over layer (m^2/s)
18 C layers_HU :: Layer thickness at the U point (m)
19 C layers_HV :: Layer thickness at the V point (m)
20
21 #ifdef LAYERS_UFLUX
22 _RL layers_UFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
23 #ifdef LAYERS_THICKNESS
24 _RL layers_HU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
25 #endif /* LAYERS_THICKNESS */
26 COMMON /LAYERS_U/ layers_UFlux
27 #ifdef LAYERS_THICKNESS
28 & , layers_HU
29 #endif /* LAYERS_THICKNESS */
30 #endif /* LAYERS_UFLUX */
31
32 #ifdef LAYERS_VFLUX
33 _RL layers_VFlux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
34 #ifdef LAYERS_THICKNESS
35 _RL layers_HV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
36 #endif /* LAYERS_THICKNESS */
37 COMMON /LAYERS_V/ layers_VFlux
38 #ifdef LAYERS_THICKNESS
39 & , layers_HV
40 #endif /* LAYERS_THICKNESS */
41 #endif /* LAYERS_VFLUX */
42
43 C-- The same variables, time-averaged
44
45 #ifdef ALLOW_TIMEAVE
46
47 C Keep track of time
48 _RL layers_TimeAve(Nlayers,nSx,nSy)
49 COMMON /LAYERS_TAVE/ layers_TimeAve
50
51 #ifdef LAYERS_UFLUX
52 _RL layers_UFlux_T(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
53 #ifdef LAYERS_THICKNESS
54 _RL layers_HU_T(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
55 #endif /* LAYERS_THICKNESS */
56 COMMON /LAYERS_U_TAVE/ layers_UFlux_T
57 #ifdef LAYERS_THICKNESS
58 & , layers_HU_T
59 #endif /* LAYERS_THICKNESS */
60 #endif /* LAYERS_UFLUX */
61
62 #ifdef LAYERS_VFLUX
63 _RL layers_VFlux_T(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
64 #ifdef LAYERS_THICKNESS
65 _RL layers_HV_T(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nlayers,nSx,nSy)
66 #endif /* LAYERS_THICKNESS */
67 COMMON /LAYERS_V_TAVE/ layers_VFlux_T
68 #ifdef LAYERS_THICKNESS
69 & , layers_HV_T
70 #endif /* LAYERS_THICKNESS */
71 #endif /* LAYERS_VFLUX */
72
73 #endif /* ALLOW_TIMEAVE */
74
75
76 C Isopycnal grid parameters:
77 C layers_G :: boundaries of isopycnal layers
78 C dZZ :: the vertical grid spacing
79 C NZZ :: the number of levels to use in the fine grid
80 C MapIndex :: indices for mapping ZZ to Z
81 C MapFact :: factors for interpolating T(Z) to T(ZZ)
82
83 _RL layers_G(nLayers+1)
84 _RL dZZ
85 INTEGER MapIndex(FineGridMax), CellIndex(FineGridMax)
86 _RL MapFact(FineGridMax)
87 INTEGER NZZ
88 COMMON /LAYERS_VERT_GRID_I/
89 & NZZ, MapIndex, CellIndex
90 COMMON /LAYERS_VERT_GRID_R/
91 & layers_G, dZZ, MapFact
92
93
94 #endif /* ALLOW_LAYERS */

  ViewVC Help
Powered by ViewVC 1.1.22