/[MITgcm]/MITgcm/model/src/ini_ffields.F
ViewVC logotype

Annotation of /MITgcm/model/src/ini_ffields.F

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


Revision 1.3 - (hide annotations) (download)
Wed Oct 4 20:40:35 2017 UTC (6 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, HEAD
Changes since 1.2: +2 -1 lines
- add new 2-d forcing field for time-dependent geopotential anomaly (e.g.,
  tidal forcing), in m^2/s^2 ;

1 jmc 1.3 C $Header: /u/gcmpack/MITgcm/model/src/ini_ffields.F,v 1.2 2015/01/20 20:46:55 jmc Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "CPP_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: INI_FFIELDS
8     C !INTERFACE:
9     SUBROUTINE INI_FFIELDS( myThid )
10    
11     C !DESCRIPTION: \bv
12     C *==========================================================*
13     C | SUBROUTINE INI_FFIELDS
14     C | o Initialise to zero FFLIEDS.h arrays
15     C *==========================================================*
16     C | Sets all forcing fields to zero.
17     C *==========================================================*
18     C \ev
19    
20     C !USES:
21     IMPLICIT NONE
22     C === Global variables ===
23     #include "SIZE.h"
24     #include "EEPARAMS.h"
25     #include "PARAMS.h"
26     #include "FFIELDS.h"
27    
28     C !INPUT/OUTPUT PARAMETERS:
29     C == Routine arguments ==
30     C myThid :: my Thread Id number
31     INTEGER myThid
32    
33     C !LOCAL VARIABLES:
34     C == Local variables ==
35     C bi,bj :: Tile indices
36     C i, j, k :: Loop counters
37     INTEGER bi, bj
38     INTEGER i, j, k
39     CEOP
40    
41     C-- Initialise all arrays in common blocks
42     DO bj = myByLo(myThid), myByHi(myThid)
43     DO bi = myBxLo(myThid), myBxHi(myThid)
44    
45     C- 2-D forcing fields
46     DO j=1-OLy,sNy+OLy
47     DO i=1-OLx,sNx+OLx
48     fu (i,j,bi,bj) = 0. _d 0
49     fv (i,j,bi,bj) = 0. _d 0
50     Qnet (i,j,bi,bj) = 0. _d 0
51     Qsw (i,j,bi,bj) = 0. _d 0
52     EmPmR (i,j,bi,bj) = 0. _d 0
53     saltFlux (i,j,bi,bj) = 0. _d 0
54     SST (i,j,bi,bj) = 0. _d 0
55     SSS (i,j,bi,bj) = 0. _d 0
56 jmc 1.3 phiTide2d (i,j,bi,bj) = 0. _d 0
57 jmc 1.1 pLoad (i,j,bi,bj) = 0. _d 0
58     sIceLoad (i,j,bi,bj) = 0. _d 0
59     #ifdef ALLOW_GEOTHERMAL_FLUX
60     geothermalFlux (i,j,bi,bj) = 0. _d 0
61     #endif
62     #ifndef EXCLUDE_FFIELDS_LOAD
63     C- Time reccord loaded from file:
64     taux0 (i,j,bi,bj) = 0. _d 0
65     taux1 (i,j,bi,bj) = 0. _d 0
66     tauy0 (i,j,bi,bj) = 0. _d 0
67     tauy1 (i,j,bi,bj) = 0. _d 0
68     Qnet0 (i,j,bi,bj) = 0. _d 0
69     Qnet1 (i,j,bi,bj) = 0. _d 0
70     EmPmR0 (i,j,bi,bj) = 0. _d 0
71     EmPmR1 (i,j,bi,bj) = 0. _d 0
72     saltFlux0 (i,j,bi,bj) = 0. _d 0
73     saltFlux1 (i,j,bi,bj) = 0. _d 0
74     SST0 (i,j,bi,bj) = 0. _d 0
75     SST1 (i,j,bi,bj) = 0. _d 0
76     SSS0 (i,j,bi,bj) = 0. _d 0
77     SSS1 (i,j,bi,bj) = 0. _d 0
78     #ifdef SHORTWAVE_HEATING
79     Qsw0 (i,j,bi,bj) = 0. _d 0
80     Qsw1 (i,j,bi,bj) = 0. _d 0
81     #endif
82     #ifdef ATMOSPHERIC_LOADING
83     pLoad0 (i,j,bi,bj) = 0. _d 0
84     pLoad1 (i,j,bi,bj) = 0. _d 0
85     #endif
86     #endif /* EXCLUDE_FFIELDS_LOAD */
87     ENDDO
88     ENDDO
89     #ifndef EXCLUDE_FFIELDS_LOAD
90     loadedRec(bi,bj) = 0
91     #endif /* EXCLUDE_FFIELDS_LOAD */
92    
93     C- 3-D forcing fields
94     DO k=1,Nr
95     #ifdef ALLOW_ADDFLUID
96     DO j=1-OLy,sNy+OLy
97     DO i=1-OLx,sNx+OLx
98     addMass(i,j,k,bi,bj) = 0. _d 0
99     ENDDO
100     ENDDO
101     #endif /* ALLOW_ADDFLUID */
102     #ifdef ALLOW_FRICTION_HEATING
103     DO j=1-OLy,sNy+OLy
104     DO i=1-OLx,sNx+OLx
105     frictionHeating(i,j,k,bi,bj) = 0. _d 0
106     ENDDO
107     ENDDO
108     #endif /* ALLOW_FRICTION_HEATING */
109     #ifdef ALLOW_EDDYPSI
110     DO j=1-OLy,sNy+OLy
111     DO i=1-OLx,sNx+OLx
112 jmc 1.2 eddyPsiX (i,j,k,bi,bj) = 0. _d 0
113     eddyPsiY (i,j,k,bi,bj) = 0. _d 0
114     tauxEddy (i,j,k,bi,bj) = 0. _d 0
115     tauyEddy (i,j,k,bi,bj) = 0. _d 0
116     uEulerMean(i,j,k,bi,bj) = 0. _d 0
117     vEulerMean(i,j,k,bi,bj) = 0. _d 0
118 jmc 1.1 ENDDO
119     ENDDO
120     #endif /* ALLOW_EDDYPSI */
121     ENDDO
122    
123     C- Intermediate surface forcing arrays
124     DO j=1-OLy,sNy+OLy
125     DO i=1-OLx,sNx+OLx
126     surfaceForcingU (i,j,bi,bj) = 0. _d 0
127     surfaceForcingV (i,j,bi,bj) = 0. _d 0
128     surfaceForcingT (i,j,bi,bj) = 0. _d 0
129     surfaceForcingS (i,j,bi,bj) = 0. _d 0
130     surfaceForcingTice (i,j,bi,bj) = 0. _d 0
131     lambdaThetaClimRelax(i,j,bi,bj) = 0. _d 0
132     lambdaSaltClimRelax (i,j,bi,bj) = 0. _d 0
133     ENDDO
134     ENDDO
135    
136     C-- end bi,bj loops
137     ENDDO
138     ENDDO
139    
140     RETURN
141     END

  ViewVC Help
Powered by ViewVC 1.1.22