/[MITgcm]/MITgcm/pkg/autodiff/g_dummy_in_dynamics.F
ViewVC logotype

Annotation of /MITgcm/pkg/autodiff/g_dummy_in_dynamics.F

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


Revision 1.4 - (hide annotations) (download)
Fri Apr 4 23:03:59 2014 UTC (10 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64w, checkpoint64v, checkpoint65, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e
Changes since 1.3: +4 -2 lines
- Start to include explicitly AUTODIFF_OPTIONS.h, COST_OPTIONS.h,
  and CTRL_OPTIONS.h in src files (to enable to skip the ECCO_CPPOPTIONS.h)
  For now, only in pkgs used in verification/hs94.1x64x5.

1 jmc 1.4 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/g_dummy_in_dynamics.F,v 1.3 2012/08/29 13:12:22 jmc Exp $
2 heimbach 1.1 C $Name: $
3    
4     #include "AUTODIFF_OPTIONS.h"
5 jmc 1.4 #ifdef ALLOW_CTRL
6     # include "CTRL_OPTIONS.h"
7     #endif
8 jmc 1.2 #include "AD_CONFIG.h"
9 heimbach 1.1
10     CBOP
11     C !ROUTINE: g_dummy_in_dynamics
12     C !INTERFACE:
13 jmc 1.3 subroutine g_dummy_in_dynamics( myTime, myIter, myThid )
14 heimbach 1.1
15     C !DESCRIPTION: \bv
16     C *==========================================================*
17     C | SUBROUTINE g_dummy_in_dynamics |
18     C *==========================================================*
19     C Extract tangent linear variable from TAMC/TAF-generated
20     C tangent linear common blocks, contained in g_common.h
21     C and write fields to file;
22     C Make sure common blocks in g_common.h are up-to-date
23     C w.r.t. current adjoint code.
24     C *==========================================================*
25     C | SUBROUTINE g_dummy_in_dynamics |
26     C *==========================================================*
27     C \ev
28    
29     C !USES:
30     IMPLICIT NONE
31    
32     C == Global variables ===
33     #include "SIZE.h"
34     #include "EEPARAMS.h"
35     #include "PARAMS.h"
36     #ifdef ALLOW_AUTODIFF_MONITOR
37     # include "g_common.h"
38     #endif
39    
40     C !INPUT/OUTPUT PARAMETERS:
41     C == Routine arguments ==
42 jmc 1.3 C myTime :: time counter for this thread
43     C myIter :: iteration counter for this thread
44     C myThid :: Thread number for this instance of the routine.
45     _RL myTime
46     INTEGER myIter
47     INTEGER myThid
48 heimbach 1.1
49     #ifdef ALLOW_TANGENTLINEAR_RUN
50     #ifdef ALLOW_AUTODIFF_MONITOR
51    
52 jmc 1.3 C !FUNCTIONS:
53     LOGICAL DIFFERENT_MULTIPLE
54     EXTERNAL DIFFERENT_MULTIPLE
55    
56 heimbach 1.1 C !LOCAL VARIABLES:
57     c == local variables ==
58 jmc 1.3 C suff :: Hold suffix part of a filename
59     C msgBuf :: Error message buffer
60 heimbach 1.1 CHARACTER*(MAX_LEN_FNAM) suff
61 jmc 1.3 c CHARACTER*(MAX_LEN_MBUF) msgBuf
62 heimbach 1.1 CEOP
63    
64     IF (
65 jmc 1.3 & DIFFERENT_MULTIPLE(adjDumpFreq,myTime,deltaTClock)
66 heimbach 1.1 & ) THEN
67    
68 jmc 1.3 CALL TIMER_START('I/O (WRITE) [ADJOINT LOOP]', myThid )
69     c write(*,*) 'myIter= ',myIter
70 heimbach 1.1
71     C-- Set suffix for this set of data files.
72     WRITE(suff,'(I10.10)') myIter
73 jmc 1.3 C ==>> Resetting run-time parameter writeBinaryPrec in the middle of a run
74     C ==>> is very very very nasty !!!
75     c writeBinaryPrec = writeStatePrec
76     C <<== If you really want to mess-up with this at your own risk,
77     C <<== uncomment the line above
78 heimbach 1.1
79     #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
80     CALL WRITE_FLD_XYZ_RL(
81     & 'G_Jrhoinsitu.',suff, g_rhoinsitu, myIter, myThid)
82     CALL WRITE_FLD_XYZ_RL(
83     & 'G_Jtotphihyd.',suff, g_totphihyd, myIter, myThid)
84     #endif
85    
86 jmc 1.3 CALL TIMER_STOP( 'I/O (WRITE) [ADJOINT LOOP]', myThid )
87 heimbach 1.1
88     ENDIF
89    
90     #endif /* ALLOW_AUTODIFF_MONITOR */
91     #endif /* ALLOW_TANGENTLINEAR_RUN */
92    
93 jmc 1.3 RETURN
94     END

  ViewVC Help
Powered by ViewVC 1.1.22