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

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

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


Revision 1.7 - (show annotations) (download)
Wed Jun 10 01:44:03 1998 UTC (25 years, 11 months ago) by cnh
Branch: MAIN
Changes since 1.6: +19 -1 lines
Fixed problems with _RS -> REAL*4 and with reading in
intial hydrography

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/ini_forcing.F,v 1.6 1998/06/09 18:57:38 cnh Exp $
2
3 #include "CPP_EEOPTIONS.h"
4
5 CStartOfInterface
6 SUBROUTINE INI_FORCING( myThid )
7 C /==========================================================\
8 C | SUBROUTINE INI_FORCING |
9 C | o Set model initial forcing fields. |
10 C \==========================================================/
11
12 C === Global variables ===
13 #include "SIZE.h"
14 #include "EEPARAMS.h"
15 #include "PARAMS.h"
16 #include "GRID.h"
17 #include "FFIELDS.h"
18
19 C == Routine arguments ==
20 C myThid - Number of this instance of INI_FORCING
21 INTEGER myThid
22 CEndOfInterface
23
24 C == Local variables ==
25 C iG, jG - Global coordinate index
26 C bi,bj - Loop counters
27 C I,J,K
28 C distY - Distance accross domain of point j
29 C lY - Width of the basin ( last point is land )
30 C tauMax - Peak zonal wind stress ( N/m^2 )
31 C tauX - Local zonal wind stress
32 INTEGER iG, jG
33 INTEGER bi, bj
34 INTEGER I, J, K
35 _RL distY
36 _RL lY
37 _RL tauX, tauMax
38
39 _BARRIER
40
41 C-- Initialise surface bc arrays
42 IF ( zonalWindFile .EQ. ' ' ) THEN
43 C In cartesian yc, delY and ly are meters.
44 C In spherical polar yc, delY and ly are degrees
45 tauMax = 0.1 _d 0
46 lY = 0. _d 0
47 DO j=1,nY-1
48 lY = lY + delY(j)
49 ENDDO
50 DO bj = myByLo(myThid), myByHi(myThid)
51 DO bi = myBxLo(myThid), myBxHi(myThid)
52 DO j=1-OLy,sNy+OLy
53 DO i=1-OLx,sNx+OLx
54 fu(i,j,bi,bj) = 0. _d 0
55 fv(i,j,bi,bj) = 0. _d 0
56 ENDDO
57 ENDDO
58 ENDDO
59 ENDDO
60 DO bj = myByLo(myThid), myByHi(myThid)
61 DO bi = myBxLo(myThid), myBxHi(myThid)
62 DO j=1,sNy
63 DO i=1,sNx
64 distY = (yC(i,j,bi,bj)-yC0)/lY
65 tauX = -tauMax*cos(2. _d 0*PI*distY)
66 tauX = tauMax*sin(PI*distY)
67 fu(i,j,bi,bj) = tauX/(delZ(1)*rhonil)
68 C fu(i,j,bi,bj) = -tauMax
69 ENDDO
70 ENDDO
71 ENDDO
72 ENDDO
73 fu(4,4,1,1) = fu(4,4,1,1)*0.917d0
74 ELSE
75 _BEGIN_MASTER(myThid)
76 CALL READ_FLD_XY_RS( zonalWindFile, ' ', fu, 0, myThid )
77 DO bj = myByLo(myThid), myByHi(myThid)
78 DO bi = myBxLo(myThid), myBxHi(myThid)
79 DO j=1,sNy
80 DO i=1,sNx
81 fu(i,j,bi,bj) = fu(i,j,bi,bj)/(delZ(1)*rhonil)
82 ENDDO
83 ENDDO
84 ENDDO
85 ENDDO
86 _END_MASTER(myThid)
87 ENDIF
88 C
89 _BARRIER
90
91 IF ( meridWindFile .EQ. ' ' ) THEN
92 DO bj = myByLo(myThid), myByHi(myThid)
93 DO bi = myBxLo(myThid), myBxHi(myThid)
94 DO j=1-OLy,sNy+OLy
95 DO i=1-OLx,sNx+OLx
96 fv(i,j,bi,bj) = 0. _d 0
97 ENDDO
98 ENDDO
99 ENDDO
100 ENDDO
101 ELSE
102 _BEGIN_MASTER(myThid)
103 CALL READ_FLD_XY_RS( meridWindFile, ' ', fv, 0, myThid )
104 DO bj = myByLo(myThid), myByHi(myThid)
105 DO bi = myBxLo(myThid), myBxHi(myThid)
106 DO j=1,sNy
107 DO i=1,sNx
108 fv(i,j,bi,bj) = fv(i,j,bi,bj)/(delZ(1)*rhonil)
109 ENDDO
110 ENDDO
111 ENDDO
112 ENDDO
113 _END_MASTER(myThid)
114 ENDIF
115 C
116 _EXCH_XY_R4(fu , myThid )
117 _EXCH_XY_R4(fv , myThid )
118
119 CcnhDebugStarts
120 Cdbg WRITE(0,*) ' distY = ', distY
121 Cdbg WRITE(0,*) ' ly = ', lY
122 Cdbg WRITE(0,*) ' tauMax= ', tauMax
123 Cdbg CALL PLOT_FIELD_XYR8( fu, 'INI_FORCING FU',1,myThid)
124 Cdbg STOP 'INI_FORCING'
125 CcnhDebugEnds
126
127 RETURN
128 END

  ViewVC Help
Powered by ViewVC 1.1.22