1 |
C $Header: /u/gcmpack/MITgcm/model/inc/FFIELDS.h,v 1.15 2002/11/15 03:01:21 heimbach Exp $ |
2 |
C $Name: $ |
3 |
CBOP |
4 |
C !ROUTINE: FFIELDS.h |
5 |
C !INTERFACE: |
6 |
C include "FFIELDS.h" |
7 |
C !DESCRIPTION: |
8 |
C \bv |
9 |
C *==========================================================* |
10 |
C | FFIELDS.h |
11 |
C | o Model forcing fields |
12 |
C *==========================================================* |
13 |
C | More flexible surface forcing configurations are |
14 |
C | available via pkg/exf and pkg/seaice |
15 |
C *==========================================================* |
16 |
C \ev |
17 |
CEOP |
18 |
C |
19 |
C fu :: Zonal surface wind stress in N/m^2 |
20 |
C > 0 for increase in uVel, which is west to |
21 |
C east for cartesian and spherical polar grids |
22 |
C Typical range: -0.5 < fu < 0.5 |
23 |
C Southwest C-grid U point |
24 |
C |
25 |
C fv :: Meridional surface wind stress in N/m^2 |
26 |
C > 0 for increase in vVel, which is south to |
27 |
C north for cartesian and spherical polar grids |
28 |
C Typical range: -0.5 < fv < 0.5 |
29 |
C Southwest C-grid V point |
30 |
C |
31 |
C EmPmR :: Net upward freshwater flux in m/s |
32 |
C EmPmR = Evaporation - precipitation - runoff |
33 |
C > 0 for increase in salt (ocean salinity) |
34 |
C Typical range: -1e-7 < EmPmR < 1e-7 |
35 |
C Southwest C-grid tracer point |
36 |
C |
37 |
C Qnet :: Net upward surface heat flux excluding shortwave in W/m^2 |
38 |
C Qnet = latent + sensible + net longwave |
39 |
C > 0 for decrease in theta (ocean cooling) |
40 |
C Typical range: -250 < Qnet < 600 |
41 |
C Southwest C-grid tracer point |
42 |
C |
43 |
C NOTE: #ifndef SHORTWAVE_HEATING, |
44 |
C Qnet = latent + sensible + net longwave + net shortwave |
45 |
C |
46 |
C Qsw :: Net upward shortwave radiation in W/m^2 |
47 |
C Qsw = - ( downward - ice and snow absorption - reflected ) |
48 |
C > 0 for decrease in theta (ocean cooling) |
49 |
C Typical range: -350 < Qsw < 0 |
50 |
C Southwest C-grid tracer point |
51 |
C |
52 |
C dQdT :: Thermal relaxation coefficient in W/m^2/degrees |
53 |
C Southwest C-grid tracer point |
54 |
C |
55 |
C SST :: Sea surface temperature in degrees C for relaxation |
56 |
C Southwest C-grid tracer point |
57 |
C |
58 |
C SSS :: Sea surface salinity in psu for relaxation |
59 |
C Southwest C-grid tracer point |
60 |
C |
61 |
C pload :: for the ocean: atmospheric pressure at z=eta |
62 |
C Units are Pa=N/m^2 |
63 |
C for the atmosphere: geopotential of the orography |
64 |
C Units are meters (converted) |
65 |
|
66 |
COMMON /FFIELDS/ |
67 |
& fu |
68 |
& , fv |
69 |
& , Qnet |
70 |
& , Qsw |
71 |
& , dQdT |
72 |
& , EmPmR |
73 |
& , SST |
74 |
& , SSS |
75 |
#ifdef ATMOSPHERIC_LOADING |
76 |
& , pload |
77 |
#endif |
78 |
|
79 |
_RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
80 |
_RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
81 |
_RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
82 |
#ifdef SHORTWAVE_HEATING |
83 |
_RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
84 |
#else |
85 |
_RS Qsw (1,1,1,1) |
86 |
#endif |
87 |
_RS dQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
88 |
_RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
89 |
_RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
90 |
_RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
91 |
#ifdef ATMOSPHERIC_LOADING |
92 |
_RS pload (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
93 |
#endif |
94 |
|
95 |
#ifndef INCLUDE_EXTERNAL_FORCING_PACKAGE |
96 |
C taux[01] :: Temp. for zonal wind stress |
97 |
C tauy[01] :: Temp. for merid. wind stress |
98 |
C qnet[01] :: Temp. for heat flux |
99 |
C empmr[01] :: Temp. for fresh water flux |
100 |
C sst[01] :: Temp. for theta climatalogy |
101 |
C sss[01] :: Temp. for theta climatalogy |
102 |
C qsw[01] :: Temp. for short wave component of heat flux |
103 |
C [01] :: End points for interpolation |
104 |
C Above use static heap storage to allow exchange. |
105 |
|
106 |
COMMON /TDFIELDS/ |
107 |
& taux0, tauy0, Qnet0, EmPmR0, SST0, SSS0, |
108 |
& taux1, tauy1, Qnet1, EmPmR1, SST1, SSS1 |
109 |
#ifdef SHORTWAVE_HEATING |
110 |
& , Qsw0, Qsw1 |
111 |
#endif |
112 |
#ifdef ATMOSPHERIC_LOADING |
113 |
& , pload0, pload1 |
114 |
#endif |
115 |
|
116 |
_RS taux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
117 |
_RS tauy0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
118 |
_RS Qnet0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
119 |
_RS EmPmR0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
120 |
_RS SST0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
121 |
_RS SSS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
122 |
_RS taux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
123 |
_RS tauy1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
124 |
_RS Qnet1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
125 |
_RS EmPmR1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
126 |
_RS SST1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
127 |
_RS SSS1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
128 |
#ifdef ATMOSPHERIC_LOADING |
129 |
_RS pload0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
130 |
_RS pload1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
131 |
#endif |
132 |
#ifdef SHORTWAVE_HEATING |
133 |
_RS Qsw1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
134 |
_RS Qsw0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
135 |
#endif |
136 |
#endif /* INCLUDE_EXTERNAL_FORCING_PACKAGE undef */ |
137 |
|
138 |
C surfaceTendencyU (units are m/s^2) |
139 |
C -> usage in gU: gU = gU + surfaceTendencyU[m/s^2] |
140 |
C |
141 |
C surfaceTendencyV (units are m/s^2) |
142 |
C -> usage in gV: gV = gV + surfaceTendencyV[m/s^2] |
143 |
C |
144 |
C surfaceTendencyS (units are psu/s) |
145 |
C - EmPmR plus salinity relaxation term |
146 |
C -> calculate -lambda*(S(model)-S(clim)) |
147 |
C -> usage in gS: gS = gS + surfaceTendencyS[psu/s] |
148 |
C |
149 |
C surfaceTendencyT (units are degrees/s) |
150 |
C - Qnet plus temp. relaxation |
151 |
C -> calculate -lambda*(T(model)-T(clim)) |
152 |
C >>> Qnet assumed to be total flux minus s/w rad. <<< |
153 |
C -> usage in gT: gT = gT + surfaceTendencyT[K/s] |
154 |
C |
155 |
COMMON /TENDENCY_FORCING/ |
156 |
& surfaceTendencyU, |
157 |
& surfaceTendencyV, |
158 |
& surfaceTendencyT, |
159 |
& surfaceTendencyS, |
160 |
& tempQsw |
161 |
_RS surfaceTendencyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
162 |
_RS surfaceTendencyV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
163 |
_RS surfaceTendencyT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
164 |
_RS surfaceTendencyS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
165 |
_RS tempQsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |