1 |
C $Header: /u/gcmpack/MITgcm/pkg/autodiff/autodiff_check.F,v 1.2 2005/04/27 14:10:05 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
5 |
|
6 |
#include "AUTODIFF_OPTIONS.h" |
7 |
|
8 |
CBOP |
9 |
C !ROUTINE: AUTODIFF_CHECK |
10 |
C !INTERFACE: |
11 |
SUBROUTINE AUTODIFF_CHECK( myThid ) |
12 |
|
13 |
C !DESCRIPTION: \bv |
14 |
C \ev |
15 |
|
16 |
IMPLICIT NONE |
17 |
#include "SIZE.h" |
18 |
#include "GRID.h" |
19 |
#include "EEPARAMS.h" |
20 |
#include "PARAMS.h" |
21 |
#ifdef ALLOW_AUTODIFF |
22 |
#include "tamc.h" |
23 |
#endif |
24 |
|
25 |
C !INPUT/OUTPUT PARAMETERS: |
26 |
C myThid - Number of this instances |
27 |
INTEGER myThid |
28 |
CEOP |
29 |
|
30 |
#ifdef ALLOW_AUTODIFF_TAMC |
31 |
|
32 |
#if (defined (AUTODIFF_2_LEVEL_CHECKPOINT)) |
33 |
if (nchklev_1*nchklev_2 .lt. nTimeSteps) then |
34 |
print*, ' the_main_loop: TAMC checkpointing parameters' |
35 |
print*, ' nchklev_1*nchklev_2 = ', |
36 |
& nchklev_1*nchklev_2 |
37 |
print*, ' are not consistent with nTimeSteps = ', |
38 |
& nTimeSteps |
39 |
stop ' ... stopped in autodiff_check' |
40 |
endif |
41 |
#elif (defined (AUTODIFF_4_LEVEL_CHECKPOINT)) |
42 |
if (nchklev_1*nchklev_2*nchklev_3*nchklev_4 .lt. nTimeSteps) then |
43 |
print*, ' the_main_loop: TAMC checkpointing parameters' |
44 |
print*, ' nchklev_1*nchklev_2*nchklev_3*nchklev_4 = ', |
45 |
& nchklev_1*nchklev_2*nchklev_3*nchklev_4 |
46 |
print*, ' are not consistent with nTimeSteps = ', |
47 |
& nTimeSteps |
48 |
stop ' ... stopped in autodiff_check' |
49 |
endif |
50 |
#else |
51 |
c-- Check the choice of the checkpointing parameters in relation |
52 |
c-- to nTimeSteps: (nchklev_1*nchklev_2*nchklev_3 .ge. nTimeSteps) |
53 |
if (nchklev_1*nchklev_2*nchklev_3 .lt. nTimeSteps) then |
54 |
print*, ' the_main_loop: TAMC checkpointing parameters' |
55 |
print*, ' nchklev_1*nchklev_2*nchklev_3 = ', |
56 |
& nchklev_1*nchklev_2*nchklev_3 |
57 |
print*, ' are not consistent with nTimeSteps = ', |
58 |
& nTimeSteps |
59 |
stop ' ... stopped in autodiff_check' |
60 |
endif |
61 |
#endif |
62 |
|
63 |
#endif |
64 |
|
65 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
66 |
|
67 |
RETURN |
68 |
END |