/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_check.F
ViewVC logotype

Contents of /MITgcm/pkg/diagnostics/diagnostics_check.F

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


Revision 1.1 - (show annotations) (download)
Mon Dec 13 21:43:54 2004 UTC (19 years, 4 months ago) by jmc
Branch: MAIN
re-arrange diagnostics pkg initialization:
 allow each package to extend the available diagnostics list
 add some checking and fix small problems (multi-threaded, ...)

1 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diag_readparms.F,v 1.18 2004/10/20 20:04:11 molod Exp $
2 C $Name: $
3
4 #include "DIAG_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP 0
8 C !ROUTINE: DIAGNOSTICS_CHECK
9
10 C !INTERFACE:
11 SUBROUTINE DIAGNOSTICS_CHECK(myThid)
12
13 C !DESCRIPTION:
14 C Check option and parameter consistency
15
16 C !USES:
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "DIAGNOSTICS_SIZE.h"
22 #include "DIAGNOSTICS.h"
23
24 C !INPUT PARAMETERS:
25 INTEGER myThid
26 CEOP
27
28 C !LOCAL VARIABLES:
29 CHARACTER*(MAX_LEN_MBUF) msgBuf
30 INTEGER k,l,n,m
31
32 _BEGIN_MASTER(myThid)
33
34 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
35 C Check diagnostics parameter consistency
36
37 C- File names:
38 DO n = 2,nlists
39 DO m = 1,n-1
40 IF ( fnames(n).EQ.fnames(m) ) THEN
41 WRITE(msgBuf,'(2A)') 'DIAGNOSTICS_CHECK: ',
42 & 'found 2 identical filenames:'
43 CALL PRINT_ERROR( msgBuf , myThid )
44 WRITE(msgBuf,'(2A,I3,2A)') 'DIAGNOSTICS_CHECK: ',
45 & '1rst (m=', m, ' ): ', fnames(m)
46 CALL PRINT_ERROR( msgBuf , myThid )
47 WRITE(msgBuf,'(2A,I3,2A)') 'DIAGNOSTICS_CHECK: ',
48 & ' 2nd (n=', n, ' ): ', fnames(n)
49 CALL PRINT_ERROR( msgBuf , myThid )
50 STOP 'ABNORMAL END: S/R DIAGNOSTICS_CHECK'
51 ENDIF
52 ENDDO
53 ENDDO
54
55 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
56 C- Check for field that appears 2 times (or more) with differents frequency:
57
58 DO n = 2,nlists
59 DO m = 1,n-1
60 IF ( freq(m).NE.freq(n) ) THEN
61 DO k = 1,nActive(n)
62 DO l = 1,nActive(m)
63 IF ( flds(k,n).EQ.flds(l,m) ) THEN
64 WRITE(msgBuf,'(4A)') 'DIAGNOSTICS_CHECK: ',
65 & 'field : ',flds(k,n),' use 2 different freq. :'
66 CALL PRINT_ERROR( msgBuf , myThid )
67 WRITE(msgBuf,'(2A,I3,A,I6,2A)') 'DIAGNOSTICS_CHECK: ',
68 & '1rst (m=', m, ' ), freq=', freq(m),' file:',fnames(m)
69 CALL PRINT_ERROR( msgBuf , myThid )
70 WRITE(msgBuf,'(2A,I3,A,I6,2A)') 'DIAGNOSTICS_CHECK: ',
71 & ' 2nd (n=', n, ' ), freq=', freq(n),' file:',fnames(n)
72 CALL PRINT_ERROR( msgBuf , myThid )
73 ENDIF
74 ENDDO
75 ENDDO
76 ENDIF
77 ENDDO
78 ENDDO
79
80 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
81
82 _END_MASTER(myThid)
83
84 RETURN
85 END

  ViewVC Help
Powered by ViewVC 1.1.22