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

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

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


Revision 1.7 - (show annotations) (download)
Wed Aug 2 03:40:28 2006 UTC (17 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint59, checkpoint58y_post, checkpoint58t_post, checkpoint60, checkpoint61, checkpoint58w_post, checkpoint58o_post, checkpoint58p_post, checkpoint58q_post, mitgcm_mapl_00, checkpoint58r_post, checkpoint58n_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint58v_post, checkpoint61f, checkpoint58x_post, checkpoint61n, checkpoint59j, checkpoint61e, checkpoint58u_post, checkpoint58s_post, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61p
Changes since 1.6: +11 -17 lines
add BARRIER before reading uVel,vVel from file.

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_vel.F,v 1.6 2002/10/07 16:24:45 jmc Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: INI_VEL
8 C !INTERFACE:
9 SUBROUTINE INI_VEL( myThid )
10
11 C !DESCRIPTION: \bv
12 C *=================================================================
13 C | SUBROUTINE INI_VEL
14 C | o Initialize flow field (either to zero or from input files)
15 C *=================================================================
16 C \ev
17
18 C !USES:
19 IMPLICIT NONE
20 C === Global variables ===
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #include "GRID.h"
25 #include "DYNVARS.h"
26
27 C !INPUT/OUTPUT PARAMETERS:
28 C == Routine arguments ==
29 C myThid :: Number of this instance of INI_VEL
30 INTEGER myThid
31
32 C !LOCAL VARIABLES:
33 C == Local variables ==
34 C i,j,k :: Loop counters
35 C bi,bj :: tile indices
36 INTEGER bi,bj,i,j,k
37 CEOP
38
39 C-- Initialise velocity fields to zero
40 C
41 C If you want to specify an analytic initial state for the flow
42 C field then customize the following section of code.
43 C It is, however, often easier to generate initial conditions
44 C off-line and read them from input files...
45 C
46 DO bj = myByLo(myThid), myByHi(myThid)
47 DO bi = myBxLo(myThid), myBxHi(myThid)
48 DO k=1,Nr
49 DO j=1-Oly,sNy+Oly
50 DO i=1-Olx,sNx+Olx
51 uVel(i,j,k,bi,bj)=0. _d 0
52 vVel(i,j,k,bi,bj)=0. _d 0
53 ENDDO
54 ENDDO
55 ENDDO
56 ENDDO
57 ENDDO
58
59 IF (uVelInitFile .NE. ' ' .OR. vVelInitFile .NE. ' ') THEN
60 _BARRIER
61 C Read an initial state for each component if required
62 IF (uVelInitFile .NE. ' ')
63 & CALL READ_FLD_XYZ_RL( uVelInitFile, ' ', uVel, 0, myThid )
64
65 IF (vVelInitFile .NE. ' ')
66 & CALL READ_FLD_XYZ_RL( vVelInitFile, ' ', vVel, 0, myThid )
67
68 CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
69 ENDIF
70
71 DO bj = myByLo(myThid), myByHi(myThid)
72 DO bi = myBxLo(myThid), myBxHi(myThid)
73 DO k=1,Nr
74 DO j=1-Oly,sNy+Oly
75 DO i=1-Olx,sNx+Olx
76 uVel(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)*_maskW(i,j,k,bi,bj)
77 vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)
78 ENDDO
79 ENDDO
80 ENDDO
81 ENDDO
82 ENDDO
83
84 RETURN
85 END

  ViewVC Help
Powered by ViewVC 1.1.22