/[MITgcm]/MITgcm_contrib/cam_devel/sigma_testing/code-sigma/ini_vel.F
ViewVC logotype

Contents of /MITgcm_contrib/cam_devel/sigma_testing/code-sigma/ini_vel.F

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


Revision 1.1 - (show annotations) (download)
Wed Jan 6 04:31:15 2010 UTC (15 years, 7 months ago) by cnh
Branch: MAIN
CVS Tags: HEAD
start some cam work

1 C $Header: /u/gcmpack/MITgcm/model/src/ini_vel.F,v 1.8 2009/06/14 21:45:12 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 C Read an initial state for each component if required
61 IF (uVelInitFile .NE. ' ')
62 & CALL READ_FLD_XYZ_RL( uVelInitFile, ' ', uVel, 0, myThid )
63
64 IF (vVelInitFile .NE. ' ')
65 & CALL READ_FLD_XYZ_RL( vVelInitFile, ' ', vVel, 0, myThid )
66
67 CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
68 ENDIF
69
70 DO bj = myByLo(myThid), myByHi(myThid)
71 DO bi = myBxLo(myThid), myBxHi(myThid)
72 DO k=1,Nr
73 DO j=1-Oly,sNy+Oly
74 DO i=1-Olx,sNx+Olx
75 uVel(i,j,k,bi,bj)=uVel(i,j,k,bi,bj)*_maskW(i,j,k,bi,bj)
76 vVel(i,j,k,bi,bj)=vVel(i,j,k,bi,bj)*_maskS(i,j,k,bi,bj)
77 ENDDO
78 ENDDO
79 ENDDO
80 ENDDO
81 ENDDO
82
83 CcnhSigmaTestingBegin
84 CALL SIGMA_TESTING_SET_VELS( myThid )
85 CcnhSigmaTestingEnd
86
87 RETURN
88 END

  ViewVC Help
Powered by ViewVC 1.1.22