/[MITgcm]/MITgcm/verification/tutorial_global_oce_optim/code_oad/FFIELDS.h
ViewVC logotype

Annotation of /MITgcm/verification/tutorial_global_oce_optim/code_oad/FFIELDS.h

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


Revision 1.1 - (hide annotations) (download)
Fri Jan 17 22:01:16 2014 UTC (10 years, 5 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65
File MIME type: text/plain
Prepare for OpenAD

1 heimbach 1.1 C $Header: /u/gcmpack/MITgcm/verification/tutorial_global_oce_optim/code_ad/FFIELDS.h,v 1.4 2011/04/15 20:15:51 jmc 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 kg/m2/s
32     C EmPmR = Evaporation - precipitation - runoff
33     C > 0 for increase in salt (ocean salinity)
34     C Typical range: -1e-4 < EmPmR < 1e-4
35     C Southwest C-grid tracer point
36     C NOTE: for backward compatibility EmPmRfile is specified in
37     C m/s when using external_fields_load.F. It is converted
38     C to kg/m2/s by multiplying by rhoConstFresh.
39     C
40     C saltFlux :: Net upward salt flux in psu.kg/m^2/s
41     C flux of Salt taken out of the ocean per time unit (second).
42     C Note: a) only used when salty sea-ice forms or melts.
43     C b) units: when salinity (unit= psu) is expressed
44     C in g/kg, saltFlux unit becomes g/m^2/s.
45     C > 0 for decrease in SSS.
46     C Southwest C-grid tracer point
47     C
48     C Qnet :: Net upward surface heat flux (including shortwave) in W/m^2
49     C Qnet = latent + sensible + net longwave + net shortwave
50     C > 0 for decrease in theta (ocean cooling)
51     C Typical range: -250 < Qnet < 600
52     C Southwest C-grid tracer point
53     C
54     C Qsw :: Net upward shortwave radiation in W/m^2
55     C Qsw = - ( downward - ice and snow absorption - reflected )
56     C > 0 for decrease in theta (ocean cooling)
57     C Typical range: -350 < Qsw < 0
58     C Southwest C-grid tracer point
59     C
60     C dQdT :: Thermal relaxation coefficient in W/m^2/degrees
61     C Southwest C-grid tracer point
62     C
63     C SST :: Sea surface temperature in degrees C for relaxation
64     C Southwest C-grid tracer point
65     C
66     C SSS :: Sea surface salinity in psu for relaxation
67     C Southwest C-grid tracer point
68     C
69     C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
70     C
71     C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
72    
73     C pLoad :: for the ocean: atmospheric pressure at z=eta
74     C Units are Pa=N/m^2
75     C for the atmosphere: geopotential of the orography
76     C Units are meters (converted)
77     C sIceLoad :: sea-ice loading, expressed in Mass of ice+snow / area unit
78     C Units are kg/m^2
79     C Note: only used with Sea-Ice & RealFreshWater formulation
80     C eddyPsiX -Zonal Eddy Streamfunction in m^2/s used in taueddy_external_forcing.F
81     C eddyPsiY -Meridional Streamfunction in m^2/s used in taueddy_external_forcing.F
82     C EfluxY - y-component of Eliassen-Palm flux vector
83     C EfluxP - p-component of Eliassen-Palm flux vector
84    
85     COMMON /FFIELDS_fu/ fu
86     COMMON /FFIELDS_fv/ fv
87     COMMON /FFIELDS_Qnet/ Qnet
88     COMMON /FFIELDS_Qsw/ Qsw
89     COMMON /FFIELDS_dQdT/ dQdT
90     COMMON /FFIELDS_EmPmR/ EmPmR
91     COMMON /FFIELDS_saltFlux/ saltFlux
92     COMMON /FFIELDS_SST/ SST
93     COMMON /FFIELDS_SSS/ SSS
94     COMMON /FFIELDS_lambdaThetaClimRelax/ lambdaThetaClimRelax
95     COMMON /FFIELDS_lambdaSaltClimRelax/ lambdaSaltClimRelax
96     COMMON /FFIELDS_pLoad/ pLoad
97     COMMON /FFIELDS_sIceLoad/ sIceLoad
98    
99     _RS fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100     _RS fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101     _RS Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
102     _RS Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
103     _RS dQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104     _RS EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105     _RS saltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106     _RS SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
107     _RS SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
108     _RS lambdaThetaClimRelax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
109     _RS lambdaSaltClimRelax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
110     _RS pLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111     _RS sIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
112    
113     #ifdef ALLOW_HFLUXM_CONTROL
114     COMMON /Mean_qnet/ Qnetm
115     _RS Qnetm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
116     #endif
117    
118     #ifdef ALLOW_EP_FLUX
119     COMMON /efluxFFIELDS/ EfluxY,EfluxP
120     _RL EfluxY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
121     _RL EfluxP (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
122     #endif
123    
124     #ifdef ALLOW_EDDYPSI
125     COMMON /eddypsiFFIELDS/ eddyPsiX,eddyPsiY
126     _RS eddyPsiX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
127     _RS eddyPsiY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
128     #endif
129    
130     #ifndef EXCLUDE_FFIELDS_LOAD
131     C loadedRec :: time-record currently loaded (in temp arrays *[1])
132     C taux[0,1] :: Temp. for zonal wind stress
133     C tauy[0,1] :: Temp. for merid. wind stress
134     C Qnet[0,1] :: Temp. for heat flux
135     C EmPmR[0,1] :: Temp. for fresh water flux
136     C saltFlux[0,1] :: Temp. for isurface salt flux
137     C SST[0,1] :: Temp. for theta climatalogy
138     C SSS[0,1] :: Temp. for theta climatalogy
139     C Qsw[0,1] :: Temp. for short wave component of heat flux
140     C pLoad[0,1] :: Temp. for atmospheric pressure at z=eta
141     C [0,1] :: End points for interpolation
142    
143     COMMON /FFIELDS_I/ loadedRec
144     INTEGER loadedRec(nSx,nSy)
145    
146     COMMON /TDFIELDS/
147     & taux0, tauy0, Qnet0, EmPmR0, SST0, SSS0,
148     & taux1, tauy1, Qnet1, EmPmR1, SST1, SSS1,
149     & saltFlux0, saltFlux1
150     #ifdef SHORTWAVE_HEATING
151     & , Qsw0, Qsw1
152     #endif
153     #ifdef ATMOSPHERIC_LOADING
154     & , pLoad0, pLoad1
155     #endif
156    
157     _RS taux0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
158     _RS tauy0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
159     _RS Qnet0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
160     _RS EmPmR0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
161     _RS saltFlux0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
162     _RS SST0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
163     _RS SSS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
164     _RS taux1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
165     _RS tauy1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
166     _RS Qnet1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
167     _RS EmPmR1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
168     _RS saltFlux1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
169     _RS SST1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
170     _RS SSS1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
171     #ifdef ATMOSPHERIC_LOADING
172     _RS pLoad0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
173     _RS pLoad1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
174     #endif
175     #ifdef SHORTWAVE_HEATING
176     _RS Qsw1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
177     _RS Qsw0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
178     #endif
179     #endif /* EXCLUDE_FFIELDS_LOAD */
180    
181     C surfaceForcingU units are r_unit.m/s^2 (=m^2/s^2 if r=z)
182     C -> usage in gU: gU = gU + surfaceForcingU/drF [m/s^2]
183     C surfaceForcingV units are r_unit.m/s^2 (=m^2/s^-2 if r=z)
184     C -> usage in gU: gV = gV + surfaceForcingV/drF [m/s^2]
185     C
186     C surfaceForcingS units are r_unit.psu/s (=psu.m/s if r=z)
187     C - EmPmR * S_surf plus salinity relaxation*drF(1)
188     C -> usage in gS: gS = gS + surfaceForcingS/drF [psu/s]
189     C
190     C surfaceForcingT units are r_unit.Kelvin/s (=Kelvin.m/s if r=z)
191     C - Qnet (+Qsw) plus temp. relaxation*drF(1)
192     C -> calculate -lambda*(T(model)-T(clim))
193     C Qnet assumed to be net heat flux including ShortWave rad.
194     C -> usage in gT: gT = gT + surfaceforcingT/drF [K/s]
195     C surfaceForcingTice
196     C - equivalent Temperature flux in the top level that corresponds
197     C to the melting or freezing of sea-ice.
198     C Note that the surface level temperature is modified
199     C directly by the sea-ice model in order to maintain
200     C water temperature under sea-ice at the freezing
201     C point. But we need to keep track of the
202     C equivalent amount of heat that this surface-level
203     C temperature change implies because it is used by
204     C the KPP package (kpp_calc.F and kpp_transport_t.F).
205     C Units are r_unit.K/s (=Kelvin.m/s if r=z) (>0 for ocean warming).
206    
207     COMMON /SURFACE_FORCING/
208     & surfaceForcingU,
209     & surfaceForcingV,
210     & surfaceForcingT,
211     & surfaceForcingS,
212     & surfaceForcingTice
213     _RL surfaceForcingU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
214     _RL surfaceForcingV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
215     _RL surfaceForcingT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
216     _RL surfaceForcingS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
217     _RL surfaceForcingTice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)

  ViewVC Help
Powered by ViewVC 1.1.22