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

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

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


Revision 1.16 - (show annotations) (download)
Mon Aug 13 18:07:35 2001 UTC (22 years, 9 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint40pre7, checkpoint40pre6, checkpoint40pre8
Changes since 1.15: +6 -2 lines
Added diapycnal (diffkr) and isopycanl (kapgm) diffusion
to set of control variables.

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/initialise_varia.F,v 1.15 2001/07/30 20:39:18 heimbach Exp $
2 C $Name: checkpoint40pre4 $
3
4 #include "CPP_OPTIONS.h"
5
6 CStartOfInterface
7 SUBROUTINE INITIALISE_VARIA(myThid)
8 C /==========================================================\
9 C | SUBROUTINE INITIALISE_VARIA |
10 C | o Set the initial conditions for dynamics variables |
11 C | and time dependent arrays |
12 C |==========================================================|
13 C | This routine reads/writes data from an input file and |
14 C | from various binary files. |
15 C | Each thread invokes an instance of this routine as does |
16 C | each process in a multi-process parallel environment like|
17 C | MPI. |
18 C \==========================================================/
19 IMPLICIT NONE
20
21 C == Global variables ==
22 #include "SIZE.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "DYNVARS.h"
26
27 C == Routine arguments ==
28 INTEGER myThid
29 CEndOfInterface
30
31 C == Local variables ==
32 INTEGER bi,bj,K,iMin,iMax,jMin,jMax
33
34 #ifdef ALLOW_TAMC_CHECKPOINTING
35
36 nIter0 = INT( startTime/deltaTClock )
37
38 C-- Set Bo_surf => define the Linear Relation: Phi_surf(eta)
39 CALL INI_LINEAR_PHISURF( myThid )
40
41 C-- Set coriolis operators
42 CALL INI_CORI( myThid )
43
44 C-- Set laplace operators for use in 2D conjugate gradient solver.
45 CALL INI_CG2D( myThid )
46
47 #ifdef ALLOW_NONHYDROSTATIC
48 C-- Set laplace operators for use in 3D conjugate gradient solver.
49 CALL INI_CG3D( myThid )
50 #endif
51
52 #endif /* ALLOW_TAMC_CHECKPOINTING */
53 _BARRIER
54
55 C-- Initialise 3-dim. diffusivities
56 CALL INI_MIXING( myThid )
57 _BARRIER
58
59 C-- Initialize DYNVARS arrays (state fields + G terms: Gu,Gv,...) to zero [always]
60 CALL INI_DYNVARS( myThid )
61
62 C-- Initialise model fields.
63 C Starting values of U, V, W, temp., salt. and tendency terms
64 C are set here. Fields are either set to default or read from
65 C stored files.
66 CALL INI_FIELDS( myThid )
67 _BARRIER
68
69 #ifdef ALLOW_PASSIVE_TRACER
70 C-- Initialise passive tracer(s)
71 CALL INI_TR1( myThid )
72 _BARRIER
73 #endif
74
75 IF ( usePickupBeforeC35 ) THEN
76 C-- IMPORTANT : Need to activate the following call to restart from
77 C a pickup file written by MITgcmUV_checkpoint34 or earlier.
78 IF ( startTime .NE. 0. ) THEN
79 CALL THE_CORRECTION_STEP(startTime, nIter0, myThid)
80 ENDIF
81 ENDIF
82
83 C-- Initial conditions are convectively adjusted (for historical reasons)
84 IF ( startTime .EQ. 0. ) THEN
85 CADJ loop = parallel
86 DO bj = myByLo(myThid), myByHi(myThid)
87 CADJ loop = parallel
88 DO bi = myBxLo(myThid), myBxHi(myThid)
89 iMin=1-Olx
90 iMax=sNx+Olx
91 jMin=1-Oly
92 jMax=sNy+Oly
93 CALL CONVECTIVE_ADJUSTMENT_INI(
94 I bi, bj, iMin, iMax, jMin, jMax,
95 I startTime, nIter0, myThid )
96 ENDDO
97 ENDDO
98 _BARRIER
99 END IF
100
101 C-- Initialize variable data for packages
102 CALL PACKAGES_INIT_VARIABLES( myThid )
103
104 C-- Finally summarise the model state
105 CALL STATE_SUMMARY( myThid )
106
107 #ifdef ALLOW_TIMEAVE
108 C-- initialise time-average arrays with initial state values
109 IF (taveFreq.GT.0.) THEN
110 DO bj=myByLo(myThid),myByHi(myThid)
111 DO bi=myBxLo(myThid),myBxHi(myThid)
112 CALL TIMEAVE_STATVARS(startTime, nIter0, bi, bj, myThid)
113 ENDDO
114 ENDDO
115 ENDIF
116 #endif /* ALLOW_TIMEAVE */
117
118 #ifdef EXACT_CONSERV
119 IF (exactConserv) THEN
120 C-- Compute the initial Barotropic Flow Divergence :
121 DO bj=myByLo(myThid),myByHi(myThid)
122 DO bi=myBxLo(myThid),myBxHi(myThid)
123 CALL CALC_EXACT_ETA( bi,bj, uVel,vVel,
124 I startTime, nIter0, myThid )
125 ENDDO
126 ENDDO
127 ENDIF
128 #endif /* EXACT_CONSERV */
129
130 RETURN
131 END

  ViewVC Help
Powered by ViewVC 1.1.22