1 |
C $Header: /u/u0/gcmpack/MITgcm/model/inc/FFIELDS.h,v 1.12 2001/09/21 03:54:36 cnh Exp $ |
2 |
C $Name: checkpoint46 $ |
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 | The arrays here will need changing and customising for a |
14 |
C | particular experiment. |
15 |
C *==========================================================* |
16 |
C \ev |
17 |
CEOP |
18 |
C |
19 |
C-- For a classical "gyre" type experiment just one term is needed. |
20 |
C |
21 |
C fu - Zonal surface wind stress |
22 |
C Units are N/m^2 (>0 from East to West) |
23 |
C |
24 |
C fv - Meridional surface wind stress |
25 |
C Units are N/m^2 (>0 from North to South)) |
26 |
C |
27 |
C EmPmR - Evaporation - Precipitation - Runoff |
28 |
C Units are m/s (>0 for ocean salting) |
29 |
C |
30 |
C Qnet - Upward surface heat flux |
31 |
C Units are W/m^2=kg/s^3 (>0 for ocean cooling) |
32 |
C |
33 |
C Qsw - Upward short-wave surface heat flux |
34 |
C Units are W/m^2=kg/s^3 (>0 for ocean cooling) |
35 |
C |
36 |
C dQdT - Thermal relaxation coefficient |
37 |
C (W/m^2/degrees -> degrees/second) |
38 |
|
39 |
C SST - Sea surface temperature (degrees) for relaxation |
40 |
C SSS - Sea surface salinity (psu) for relaxation |
41 |
C pload - for the ocean: atmospheric pressure at z=eta |
42 |
C Units are Pa=N/m^2 |
43 |
C for the atmosphere: geopotential of the orography |
44 |
C Units are meters (converted) |
45 |
|
46 |
COMMON /FFIELDS/ |
47 |
& fu, |
48 |
& fv, |
49 |
& Qnet, |
50 |
& Qsw, |
51 |
& dQdT, |
52 |
& EmPmR, |
53 |
& SST, |
54 |
& SSS, |
55 |
& pload |
56 |
|
57 |
_RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
58 |
_RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
59 |
_RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
60 |
#ifdef SHORTWAVE_HEATING |
61 |
_RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
62 |
#else |
63 |
_RS Qsw (1,1,1,1) |
64 |
#endif |
65 |
_RS dQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
66 |
_RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
67 |
_RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
68 |
_RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
69 |
#ifdef ATMOSPHERIC_LOADING |
70 |
_RS pload (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
71 |
#else |
72 |
_RS pload (1,1,1,1) |
73 |
#endif |
74 |
|
75 |
C surfaceTendencyU (units are m/s^2) |
76 |
C -> usage in gU: gU = gU + surfaceTendencyU[m/s^2] |
77 |
C |
78 |
C surfaceTendencyV (units are m/s^2) |
79 |
C -> usage in gV: gV = gV + surfaceTendencyV[m/s^2] |
80 |
C |
81 |
C surfaceTendencyS (units are psu/s) |
82 |
C - EmPmR plus salinity relaxation term |
83 |
C -> calculate -lambda*(S(model)-S(clim)) |
84 |
C -> usage in gS: gS = gS + surfaceTendencyS[psu/s] |
85 |
C |
86 |
C surfaceTendencyT (units are degrees/s) |
87 |
C - Qnet plus temp. relaxation |
88 |
C -> calculate -lambda*(T(model)-T(clim)) |
89 |
C >>> Qnet assumed to be total flux minus s/w rad. <<< |
90 |
C -> usage in gT: gT = gT + surfaceTendencyT[K/s] |
91 |
C |
92 |
COMMON /TENDENCY_FORCING/ |
93 |
& surfaceTendencyU, |
94 |
& surfaceTendencyV, |
95 |
& surfaceTendencyT, |
96 |
& surfaceTendencyS, |
97 |
& tempQsw |
98 |
_RS surfaceTendencyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
99 |
_RS surfaceTendencyV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
100 |
_RS surfaceTendencyT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
101 |
_RS surfaceTendencyS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
102 |
_RS tempQsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |