/[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.6 - (show annotations) (download)
Tue Jun 9 18:57:38 1998 UTC (25 years, 11 months ago) by cnh
Branch: MAIN
Changes since 1.5: +52 -26 lines
Additional changes for reading initial conditions and
forcing from binary datasets

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/ini_forcing.F,v 1.5 1998/06/08 21:43:01 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 _END_MASTER(myThid)
78 ENDIF
79 C
80 _BARRIER
81
82 IF ( meridWindFile .EQ. ' ' ) THEN
83 DO bj = myByLo(myThid), myByHi(myThid)
84 DO bi = myBxLo(myThid), myBxHi(myThid)
85 DO j=1-OLy,sNy+OLy
86 DO i=1-OLx,sNx+OLx
87 fv(i,j,bi,bj) = 0. _d 0
88 ENDDO
89 ENDDO
90 ENDDO
91 ENDDO
92 ELSE
93 _BEGIN_MASTER(myThid)
94 CALL READ_FLD_XY_RS( meridWindFile, ' ', fv, 0, myThid )
95 _END_MASTER(myThid)
96 ENDIF
97 C
98 _EXCH_XY_R4(fu , myThid )
99 _EXCH_XY_R4(fv , myThid )
100
101 CcnhDebugStarts
102 Cdbg WRITE(0,*) ' distY = ', distY
103 Cdbg WRITE(0,*) ' ly = ', lY
104 Cdbg WRITE(0,*) ' tauMax= ', tauMax
105 Cdbg CALL PLOT_FIELD_XYR8( fu, 'INI_FORCING FU',1,myThid)
106 Cdbg STOP 'INI_FORCING'
107 CcnhDebugEnds
108
109 RETURN
110 END

  ViewVC Help
Powered by ViewVC 1.1.22