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

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

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


Revision 1.2 - (show annotations) (download)
Tue Jan 20 20:46:55 2015 UTC (9 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m
Changes since 1.1: +7 -3 lines
- move ALLOW_EDDYPSI block out of DYNVARS.h and merge it into FFIELDS.h
- rename uMean,vMean --> uEulerMean,vEulerMean (+ change name in pickup file)
- add frictionHeating field to pickup-files (for synchronous time-stepping)

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_ffields.F,v 1.1 2015/01/14 18:40:55 jmc Exp $
2 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 pLoad (i,j,bi,bj) = 0. _d 0
57 sIceLoad (i,j,bi,bj) = 0. _d 0
58 #ifdef ALLOW_GEOTHERMAL_FLUX
59 geothermalFlux (i,j,bi,bj) = 0. _d 0
60 #endif
61 #ifndef EXCLUDE_FFIELDS_LOAD
62 C- Time reccord loaded from file:
63 taux0 (i,j,bi,bj) = 0. _d 0
64 taux1 (i,j,bi,bj) = 0. _d 0
65 tauy0 (i,j,bi,bj) = 0. _d 0
66 tauy1 (i,j,bi,bj) = 0. _d 0
67 Qnet0 (i,j,bi,bj) = 0. _d 0
68 Qnet1 (i,j,bi,bj) = 0. _d 0
69 EmPmR0 (i,j,bi,bj) = 0. _d 0
70 EmPmR1 (i,j,bi,bj) = 0. _d 0
71 saltFlux0 (i,j,bi,bj) = 0. _d 0
72 saltFlux1 (i,j,bi,bj) = 0. _d 0
73 SST0 (i,j,bi,bj) = 0. _d 0
74 SST1 (i,j,bi,bj) = 0. _d 0
75 SSS0 (i,j,bi,bj) = 0. _d 0
76 SSS1 (i,j,bi,bj) = 0. _d 0
77 #ifdef SHORTWAVE_HEATING
78 Qsw0 (i,j,bi,bj) = 0. _d 0
79 Qsw1 (i,j,bi,bj) = 0. _d 0
80 #endif
81 #ifdef ATMOSPHERIC_LOADING
82 pLoad0 (i,j,bi,bj) = 0. _d 0
83 pLoad1 (i,j,bi,bj) = 0. _d 0
84 #endif
85 #endif /* EXCLUDE_FFIELDS_LOAD */
86 ENDDO
87 ENDDO
88 #ifndef EXCLUDE_FFIELDS_LOAD
89 loadedRec(bi,bj) = 0
90 #endif /* EXCLUDE_FFIELDS_LOAD */
91
92 C- 3-D forcing fields
93 DO k=1,Nr
94 #ifdef ALLOW_ADDFLUID
95 DO j=1-OLy,sNy+OLy
96 DO i=1-OLx,sNx+OLx
97 addMass(i,j,k,bi,bj) = 0. _d 0
98 ENDDO
99 ENDDO
100 #endif /* ALLOW_ADDFLUID */
101 #ifdef ALLOW_FRICTION_HEATING
102 DO j=1-OLy,sNy+OLy
103 DO i=1-OLx,sNx+OLx
104 frictionHeating(i,j,k,bi,bj) = 0. _d 0
105 ENDDO
106 ENDDO
107 #endif /* ALLOW_FRICTION_HEATING */
108 #ifdef ALLOW_EDDYPSI
109 DO j=1-OLy,sNy+OLy
110 DO i=1-OLx,sNx+OLx
111 eddyPsiX (i,j,k,bi,bj) = 0. _d 0
112 eddyPsiY (i,j,k,bi,bj) = 0. _d 0
113 tauxEddy (i,j,k,bi,bj) = 0. _d 0
114 tauyEddy (i,j,k,bi,bj) = 0. _d 0
115 uEulerMean(i,j,k,bi,bj) = 0. _d 0
116 vEulerMean(i,j,k,bi,bj) = 0. _d 0
117 ENDDO
118 ENDDO
119 #endif /* ALLOW_EDDYPSI */
120 ENDDO
121
122 C- Intermediate surface forcing arrays
123 DO j=1-OLy,sNy+OLy
124 DO i=1-OLx,sNx+OLx
125 surfaceForcingU (i,j,bi,bj) = 0. _d 0
126 surfaceForcingV (i,j,bi,bj) = 0. _d 0
127 surfaceForcingT (i,j,bi,bj) = 0. _d 0
128 surfaceForcingS (i,j,bi,bj) = 0. _d 0
129 surfaceForcingTice (i,j,bi,bj) = 0. _d 0
130 lambdaThetaClimRelax(i,j,bi,bj) = 0. _d 0
131 lambdaSaltClimRelax (i,j,bi,bj) = 0. _d 0
132 ENDDO
133 ENDDO
134
135 C-- end bi,bj loops
136 ENDDO
137 ENDDO
138
139 RETURN
140 END

  ViewVC Help
Powered by ViewVC 1.1.22