/[MITgcm]/MITgcm/pkg/admtlm/admtlm_driver.F
ViewVC logotype

Contents of /MITgcm/pkg/admtlm/admtlm_driver.F

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


Revision 1.3 - (show annotations) (download)
Wed Nov 17 03:06:11 2004 UTC (19 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57d_post, checkpoint57g_post, checkpoint57b_post, checkpoint57c_pre, checkpoint56b_post, checkpoint57e_post, checkpoint57g_pre, checkpoint56c_post, checkpoint57f_pre, checkpoint57a_post, checkpoint57a_pre, checkpoint57, checkpoint56, eckpoint57e_pre, checkpoint57f_post, checkpoint57c_post, checkpoint56a_post
Changes since 1.2: +8 -5 lines
o finishing interface btw. dsvd and MITgcm
o SVD seems complete w.r.t. L2 norm of SST, SSS

1 C $Header: /u/gcmpack/MITgcm/pkg/admtlm/admtlm_driver.F,v 1.2 2004/11/16 05:42:11 heimbach Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7
8 C !ROUTINE: ADMTLM_DRIVER
9
10 C !INTERFACE:
11 SUBROUTINE ADMTLM_DRIVER( myThid )
12 IMPLICIT NONE
13
14 C !DESCRIPTION: \bv
15 C *==========================================================*
16 C | SUBROUTINE ADMTLM_DRIVER
17 C | o Master controlling routine for model using the MITgcm
18 C | UV parallel wrapper.
19 C *==========================================================*
20 C \ev
21
22 C !USES:
23 C == Global variables ===
24 #include "SIZE.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27 #include "DYNVARS.h"
28
29 #ifdef ALLOW_ADMTLM
30 # include "tamc.h"
31 # include "ctrl.h"
32 # include "optim.h"
33 #endif
34
35 C !INPUT/OUTPUT PARAMETERS:
36 C == Routine arguments ==
37 INTEGER myThid
38
39 C == Local ==
40 INTEGER myCurrentIter
41 _RL myCurrentTime
42 C
43 CEOP
44
45 #ifndef DISABLE_DEBUGMODE
46 IF (debugMode) CALL DEBUG_ENTER('ADMTLM_DRIVER',myThid)
47 #endif
48
49 #if ( defined (ALLOW_ADMTLM) )
50
51 myCurrentTime = startTime
52 myCurrentIter = nIter0
53 yadprefix = 'g_'
54
55 IF (optimcycle .GT. 0 ) THEN
56 _BEGIN_MASTER( mythid )
57 IF ( myProcId .eq. 0 ) THEN
58 CALL CTRL_UNPACK( .false., mythid )
59 ENDIF
60 _END_MASTER( mythid )
61 CALL ADMTLM_UPXX( mythid )
62 ENDIF
63 c
64 CALL TIMER_START('G_THE_MAIN_LOOP [TANGENT RUN]',mythid)
65 CALL G_THE_MAIN_LOOP ( myCurrentTime, myCurrentIter, myThid )
66 CALL TIMER_STOP ('G_THE_MAIN_LOOP [TANGENT RUN]',mythid)
67 c
68 c _BEGIN_MASTER( mythid )
69 c IF ( myProcId .eq. 0) THEN
70 c call CTRL_PACK( mycurrentiter, mycurrenttime, mythid )
71 c ENDIF
72 c _END_MASTER( mythid )
73 c
74 CALL ADMTLM_METRIC ( mythid )
75 CALL ADMTLM_MAP ( mythid )
76 c
77 myCurrentTime = startTime
78 myCurrentIter = nIter0
79 yadprefix = 'ad'
80 c
81 c _BEGIN_MASTER( mythid )
82 c IF (myProcId .eq. 0) THEN
83 c CALL CTRL_UNPACK( mycurrentiter, mycurrenttime, mythid )
84 c ENDIF
85 c _END_MASTER( mythid )
86 c
87 CALL CTRL_INIT( mythid )
88 c
89 CALL TIMER_START('ADTHE_MAIN_LOOP [ADJOINT RUN]', mythid)
90 CALL ADTHE_MAIN_LOOP ( myCurrentTime, myCurrentIter, mythid )
91 CALL TIMER_STOP ('ADTHE_MAIN_LOOP [ADJOINT RUN]', mythid)
92 c
93 _BEGIN_MASTER( mythid )
94 IF ( myProcId .eq. 0 ) THEN
95 call CTRL_PACK( .FALSE., mythid )
96 ENDIF
97 _END_MASTER( mythid )
98 c
99 #endif
100
101 #ifndef DISABLE_DEBUGMODE
102 IF (debugMode) CALL DEBUG_LEAVE('ADMTLM_DRIVER',myThid)
103 #endif
104
105 RETURN
106 END

  ViewVC Help
Powered by ViewVC 1.1.22