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

Annotation of /MITgcm/pkg/diagnostics/diagnostics_init_varia.F

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


Revision 1.3 - (hide annotations) (download)
Sun Feb 20 05:28:19 2005 UTC (19 years, 3 months ago) by edhill
Branch: MAIN
Changes since 1.2: +62 -5 lines
 o give diagnostics ability to read MNC pickup file

1 edhill 1.3 C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_init_varia.F,v 1.2 2005/02/20 04:31:54 edhill Exp $
2 jmc 1.1 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_INIT_VARIA
9    
10     C !INTERFACE:
11 edhill 1.2 SUBROUTINE DIAGNOSTICS_INIT_VARIA(
12     I myThid )
13 jmc 1.1
14     C !DESCRIPTION:
15     C Initialize the qdiag array which accumulates during integration
16    
17     C !USES:
18     IMPLICIT NONE
19 edhill 1.2 #include "SIZE.h"
20 jmc 1.1 #include "EEPARAMS.h"
21 edhill 1.2 #include "PARAMS.h"
22 jmc 1.1 #include "DIAGNOSTICS_SIZE.h"
23     #include "DIAGNOSTICS.h"
24    
25     C !INPUT PARAMETERS:
26     INTEGER myThid
27     CEOP
28    
29     C !LOCAL VARIABLES:
30     INTEGER i,j,n,bi,bj
31 edhill 1.2 CHARACTER*(80) fn
32     LOGICAL glf
33 jmc 1.1
34 edhill 1.3 #ifdef ALLOW_MNC
35     INTEGER ii
36     CHARACTER*(MAX_LEN_FNAM) diag_mnc_bn
37     INTEGER CW_DIMS, NLEN
38     PARAMETER ( CW_DIMS = 10 )
39     PARAMETER ( NLEN = 80 )
40     INTEGER dim(CW_DIMS), ib(CW_DIMS), ie(CW_DIMS)
41     CHARACTER*(NLEN) dn(CW_DIMS)
42     CHARACTER*(NLEN) d_cw_name
43     CHARACTER*(NLEN) dn_blnk
44     #endif /* ALLOW_MNC */
45    
46 jmc 1.1 C Zero out the qdiag array which accumulates during integration
47     DO bj = myByLo(myThid), myByHi(myThid)
48     DO bi = myBxLo(myThid), myBxHi(myThid)
49     DO n = 1,numdiags
50     DO j = 1-Oly,sNy+Oly
51     DO i = 1-Olx,sNx+Olx
52     qdiag(i,j,n,bi,bj) = 0. _d 0
53     ENDDO
54     ENDDO
55     ENDDO
56     ENDDO
57     ENDDO
58    
59 edhill 1.2
60     C Add pickup capability
61     IF (diag_pickup_read) THEN
62    
63     #ifdef ALLOW_MNC
64 edhill 1.3 IF (diag_pickup_read_mnc) THEN
65     DO i = 1,NLEN
66     dn_blnk(i:i) = ' '
67     ENDDO
68     DO i = 1,MAX_LEN_FNAM
69     diag_mnc_bn(i:i) = ' '
70     ENDDO
71     WRITE(diag_mnc_bn,'(A)') 'pickup_diagnostics'
72    
73     C Update the record dimension by writing the iteration number
74     CALL MNC_FILE_CLOSE_ALL_MATCHING(diag_mnc_bn, myThid)
75     CALL MNC_CW_SET_UDIM(diag_mnc_bn, 1, myThid)
76    
77     d_cw_name(1:NLEN) = dn_blnk(1:NLEN)
78     DO ii = 1,CW_DIMS
79     dn(ii)(1:NLEN) = dn_blnk(1:NLEN)
80     ENDDO
81     d_cw_name(1:10) = 'diag_state'
82     dn(1)(1:3) = 'Xp1'
83     dim(1) = sNx + 2*OLx
84     ib(1) = OLx + 1
85     ie(1) = OLx + sNx + 1
86     dn(2)(1:3) = 'Yp1'
87     dim(2) = sNy + 2*OLy
88     ib(2) = OLy + 1
89     ie(2) = OLy + sNy + 1
90     dn(3)(1:2) = 'Zd'
91     dim(3) = numdiags
92     ib(3) = 1
93     ie(3) = numdiags
94     dn(4)(1:1) = 'T'
95     dim(4) = -1
96     ib(4) = 1
97     ie(4) = 1
98    
99     CALL MNC_CW_ADD_GNAME(d_cw_name, 4,
100     & dim, dn, ib, ie, myThid)
101     CALL MNC_CW_ADD_VNAME(d_cw_name, d_cw_name,
102     & 4,5, myThid)
103    
104     CALL MNC_CW_RL_R('D',diag_mnc_bn,0,0,
105     & d_cw_name, qdiag, myThid)
106    
107     CALL MNC_CW_DEL_VNAME(d_cw_name, myThid)
108     CALL MNC_CW_DEL_GNAME(d_cw_name, myThid)
109    
110     ENDIF
111     #endif /* ALLOW_MNC */
112    
113 edhill 1.2 IF (diag_pickup_read_mdsio) THEN
114     DO i = 1,80
115     fn(i:i) = ' '
116     ENDDO
117     write(fn,'(a)') 'pickup_diagnostics'
118     glf = globalFiles
119     CALL MDSREADFIELD(fn,readBinaryPrec,glf,'RL',
120     & numdiags,qdiag,1,myThid)
121     ENDIF
122    
123     ENDIF
124    
125 jmc 1.1 RETURN
126     END

  ViewVC Help
Powered by ViewVC 1.1.22