/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_init_varia.F
ViewVC logotype

Contents of /MITgcm/pkg/generic_advdiff/gad_init_varia.F

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


Revision 1.1 - (show annotations) (download)
Tue Jan 16 04:38:34 2007 UTC (17 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58w_post, checkpoint58x_post, checkpoint59q, checkpoint59p, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint58y_post, checkpoint58v_post
2nd-Order Moment Advection Scheme (Prather, 1986): first check-in
 - enable by setting #define GAD_ALLOW_SOM_ADVECT (in GAD_OPTIONS.h)
 - used without limiter (AdvScheme=80) or with Prather limiter (AdvScheme=81)
 - still needs work (not working with some options ; efficiency to improve)
   and serious testing.

1 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_init.F,v 1.10 2005/01/04 00:20:35 jmc Exp $
2 C $Name: $
3
4 #include "GAD_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GAD_INIT_VARIA
8 C !INTERFACE:
9 SUBROUTINE GAD_INIT_VARIA( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE GAD_INIT_VARIA
14 C | o Routine to initialize GAD variables
15 C *==========================================================*
16 C \ev
17 C !USES:
18 IMPLICIT NONE
19
20 C === Global variables ===
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 c #include "GRID.h"
25 #include "GAD.h"
26 #include "GAD_SOM_VARS.h"
27
28 C !INPUT/OUTPUT PARAMETERS:
29 C === Routine arguments ===
30 C myThid :: my Thread Id number
31 INTEGER myThid
32 CEOP
33
34 #ifdef GAD_ALLOW_SOM_ADVECT
35 C !LOCAL VARIABLES:
36 C === Local variables ===
37 INTEGER i,j,k,bi,bj
38 INTEGER n
39
40 DO bj = myByLo(myThid), myByHi(myThid)
41 DO bi = myBxLo(myThid), myBxHi(myThid)
42
43 C-- Initialize 1rst Order (3:x,y,z) and 2nd Order (6:xx,yy,zz,xy,xz,yz) moments
44 DO n=1,nSOM
45 DO k=1,Nr
46 DO j=1-Oly,sNy+OLy
47 DO i=1-Olx,sNx+Olx
48 C pot.temp field:
49 som_T(i,j,k,bi,bj,n) = 0. _d 0
50 C salinity field:
51 som_S(i,j,k,bi,bj,n) = 0. _d 0
52 ENDDO
53 ENDDO
54 ENDDO
55 ENDDO
56
57 C- end bi,bj loops
58 ENDDO
59 ENDDO
60
61 IF ( tempSOM_Advection .OR. saltSOM_Advection ) THEN
62 IF ( startTime.EQ.baseTime .AND. nIter0.EQ.0 ) THEN
63 C- Need to synchronize here before doing master-thread IO
64 c _BARRIER
65 C- Read-in initial conditions:
66 C --- not yet coded ---
67 c CALL GAD_SOM_EXCHANGES( myThid )
68 ELSE
69 C- Read 2nd-O moments state from pickup files
70 CALL GAD_READ_PICKUP( nIter0, myThid )
71 CALL GAD_SOM_EXCHANGES( myThid )
72 ENDIF
73 ENDIF
74
75 #endif /* GAD_ALLOW_SOM_ADVECT */
76
77 RETURN
78 END

  ViewVC Help
Powered by ViewVC 1.1.22