1 |
heimbach |
1.7 |
C $Header: /u/gcmpack/models/MITgcmUV/model/inc/FFIELDS.h,v 1.6 1999/05/05 18:32:34 adcroft Exp $ |
2 |
cnh |
1.1 |
C |
3 |
|
|
C /==========================================================\ |
4 |
|
|
C | FFIELDS.h | |
5 |
|
|
C | o Model forcing fields | |
6 |
|
|
C |==========================================================| |
7 |
|
|
C | The arrays here will need changing and customising for a | |
8 |
|
|
C | particular experiment. | |
9 |
|
|
C \==========================================================/ |
10 |
|
|
C |
11 |
|
|
C-- For a classical "gyre" type experiment just one term is needed. |
12 |
heimbach |
1.7 |
C |
13 |
|
|
C fu - Zonal velocity tendency term |
14 |
|
|
C -> read assumes N/m^2 (>0 from East to West) |
15 |
|
|
C -> transformed to m/s^2 |
16 |
|
|
C via fu -> fu/(rhoNil*dR) |
17 |
|
|
C -> usage in gU: gU = gU + fu[m/s^2] |
18 |
|
|
C |
19 |
|
|
C fv - Meridional velocity tendency term |
20 |
|
|
C -> read assumes N/m^2 (>0 from North to South)) |
21 |
|
|
C -> transformed to m/s^2 |
22 |
|
|
C via fv -> fv/(rhoNil*dR) |
23 |
|
|
C -> usage in gU: gV = gV + fu[m/s^2] |
24 |
|
|
C |
25 |
|
|
C EmPmR - Evaporation - Precipitation - Runoff |
26 |
|
|
C -> read assumes m/s (>0 for ocean salting) |
27 |
|
|
C -> transformed to psu/s |
28 |
|
|
C via empmr -> -empmr*35./dR |
29 |
|
|
C -> usage in gS: gS = gS + empmr[psu/s] |
30 |
|
|
C |
31 |
|
|
C Qnet - Surface heat flux |
32 |
|
|
C -> read assumes W/m^2=kg/s^3 (>0 for ocean cooling) |
33 |
|
|
C -> transformed to K/s |
34 |
|
|
C via Qnet -> -Qnet/(rhonil*Cp*dR) |
35 |
|
|
C -> usage in gT: gT = gT + qnet[K/s] |
36 |
|
|
C |
37 |
|
|
C Qsw - Short-wave surface heat flux |
38 |
|
|
C -> read assumes W/m^2=kg/s^3 (>0 for ocean cooling) |
39 |
|
|
C -> transformed to K/s |
40 |
|
|
C via Qsw -> -Qsw/(rhonil*Cp*dR) |
41 |
|
|
C -> usage in gT: gT = gT + Qswt[K/s] |
42 |
|
|
C only for #define SHORTWAVE_HEATING |
43 |
|
|
C |
44 |
adcroft |
1.6 |
C SST - Sea surface temperature (degrees) for relaxation |
45 |
|
|
C SSS - Sea surface salinity (psu) for relaxation |
46 |
heimbach |
1.7 |
|
47 |
adcroft |
1.4 |
COMMON /FFIELDS/ |
48 |
adcroft |
1.6 |
& fu, |
49 |
|
|
& fv, |
50 |
|
|
& Qnet, |
51 |
|
|
& EmPmR, |
52 |
|
|
& SST, |
53 |
|
|
& SSS, |
54 |
|
|
& Qsw |
55 |
cnh |
1.3 |
_RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
56 |
|
|
_RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
57 |
adcroft |
1.6 |
_RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
58 |
|
|
_RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
59 |
adcroft |
1.4 |
_RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
60 |
|
|
_RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
61 |
adcroft |
1.6 |
_RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
62 |
heimbach |
1.7 |
|
63 |
|
|
C surfaceTendencyU |
64 |
|
|
C -> usage in gU: gU = gU + surfaceTendencyU[m/s^2] |
65 |
|
|
C |
66 |
|
|
C surfaceTendencyV |
67 |
|
|
C -> usage in gV: gV = gV + surfaceTendencyV[m/s^2] |
68 |
|
|
C |
69 |
|
|
C surfaceTendencyS |
70 |
|
|
C - EmPmR plus salinity relaxation term |
71 |
|
|
C -> calculate -lambda*(S(model)-S(clim)) |
72 |
|
|
C -> usage in gS: gS = gS + surfaceTendencyS[psu/s] |
73 |
|
|
C |
74 |
|
|
C surfaceTendencyT |
75 |
|
|
C - Qnet plus temp. relaxation |
76 |
|
|
C -> calculate -lambda*(T(model)-T(clim)) |
77 |
|
|
C >>> Qnet assumed to be total flux minus s/w rad. <<< |
78 |
|
|
C -> usage in gT: gT = gT + surfaceTendencyT[K/s] |
79 |
|
|
|
80 |
|
|
COMMON /TENDENCY_FORCING/ |
81 |
|
|
& surfaceTendencyU, |
82 |
|
|
& surfaceTendencyV, |
83 |
|
|
& surfaceTendencyT, |
84 |
|
|
& surfaceTendencyS |
85 |
|
|
_RS surfaceTendencyU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
86 |
|
|
_RS surfaceTendencyV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
87 |
|
|
_RS surfaceTendencyT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
88 |
|
|
_RS surfaceTendencyS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |