/[MITgcm]/MITgcm/pkg/grdchk/grdchk_init.F
ViewVC logotype

Annotation of /MITgcm/pkg/grdchk/grdchk_init.F

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


Revision 1.5 - (hide annotations) (download)
Fri Feb 28 02:34:56 2003 UTC (21 years, 2 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint50c_post, checkpoint50c_pre, checkpoint48i_post, checkpoint50, checkpoint50d_post, checkpoint50b_pre, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint50g_post, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint50e_post, checkpoint50d_pre, checkpoint49, checkpoint50b_post
Changes since 1.4: +2 -4 lines
Committing updated and merged grdchk package
- has both ADM and TLM checks
- works for single- and multi-proc.
- output cleaned
- worked successfully for parallel DIVA

1 heimbach 1.5 C $Header: /u/gcmpack/MITgcm/pkg/grdchk/grdchk_init.F,v 1.2.6.1 2002/05/30 19:55:16 heimbach Exp $
2 heimbach 1.2
3     #include "CTRL_CPPOPTIONS.h"
4    
5    
6 heimbach 1.5 subroutine grdchk_init( mythid )
7 heimbach 1.2
8     c ==================================================================
9     c SUBROUTINE grdchk_init
10     c ==================================================================
11     c
12     c o Get the location of a given component of the control vector for
13     c the current process.
14     c
15     c started: Christian Eckert eckert@mit.edu 04-Apr-2000
16     c continued: heimbach@mit.edu: 13-Jun-2001
17     c
18     c ==================================================================
19     c SUBROUTINE grdchk_init
20     c ==================================================================
21    
22     implicit none
23    
24     c == global variables ==
25    
26     #include "EEPARAMS.h"
27     #include "SIZE.h"
28     #include "GRID.h"
29     #include "ctrl.h"
30     #include "grdchk.h"
31    
32     c == routine arguments ==
33    
34     integer mythid
35    
36     #ifdef ALLOW_GRADIENT_CHECK
37     c == local variables ==
38    
39     integer bi,bj
40     integer i,j,k
41     integer irec
42     integer itlo,ithi
43     integer jtlo,jthi
44     integer jmin,jmax
45     integer imin,imax
46    
47     integer itest
48     integer icomptest
49    
50     c == end of interface ==
51    
52     jtlo = 1
53     jthi = nsy
54     itlo = 1
55     ithi = nsx
56     jmin = 1
57     jmax = sny
58     imin = 1
59     imax = snx
60    
61     _BEGIN_MASTER( mythid )
62    
63     c-- Determine the number of components of the given
64     c-- control variable on the current tile.
65     if ( ncvargrd(grdchkvarindex) .eq. 'c' ) then
66     do bj = jtlo,jthi
67     do bi = itlo,ithi
68     do k = 1,ncvarnrmax(grdchkvarindex)
69     nwettile(bi,bj,k) = nwetctile(bi,bj,k)
70     enddo
71     enddo
72     enddo
73     else if ( ncvargrd(grdchkvarindex) .eq. 's' ) then
74     do bj = jtlo,jthi
75     do bi = itlo,ithi
76     do k = 1,ncvarnrmax(grdchkvarindex)
77     nwettile(bi,bj,k) = nwetstile(bi,bj,k)
78     enddo
79     enddo
80     enddo
81     else if ( ncvargrd(grdchkvarindex) .eq. 'w' ) then
82     do bj = jtlo,jthi
83     do bi = itlo,ithi
84     do k = 1,ncvarnrmax(grdchkvarindex)
85     nwettile(bi,bj,k) = nwetwtile(bi,bj,k)
86 heimbach 1.4 enddo
87     enddo
88     enddo
89     else if ( ncvargrd(grdchkvarindex) .eq. 'v' ) then
90     do bj = jtlo,jthi
91     do bi = itlo,ithi
92     do k = 1,ncvarnrmax(grdchkvarindex)
93     nwettile(bi,bj,k) = nwetvtile(bi,bj,k)
94 heimbach 1.2 enddo
95     enddo
96     enddo
97     else
98     ce --> wrong grid specification for the control variable.
99     endif
100    
101     c ----------------------------------------------------------------
102    
103     c-- Determine the actual and the maximum possible number of
104     c-- components of the given control variable.
105     ncvarcomp = 0
106     maxncvarcomps = 0
107     do bj = jtlo,jthi
108     do bi = itlo,ithi
109     do k = 1,ncvarnrmax(grdchkvarindex)
110     ncvarcomp = ncvarcomp + nwettile(bi,bj,k)
111     maxncvarcomps = maxncvarcomps + snx*sny
112     enddo
113     enddo
114     enddo
115     ncvarcomp = ncvarcomp*ncvarrecs(grdchkvarindex)
116     maxncvarcomps = maxncvarcomps*ncvarrecs(grdchkvarindex)
117    
118     _END_MASTER( mythid )
119    
120     _BARRIER
121    
122     #endif /* ALLOW_GRADIENT_CHECK */
123    
124     end
125    

  ViewVC Help
Powered by ViewVC 1.1.22