/[MITgcm]/MITgcm/pkg/ctrl/ctrl_mask_set_xz.F
ViewVC logotype

Annotation of /MITgcm/pkg/ctrl/ctrl_mask_set_xz.F

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


Revision 1.4 - (hide annotations) (download)
Fri Jul 18 21:10:16 2003 UTC (20 years, 10 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint51k_post, checkpoint57m_post, checkpoint52l_pre, hrcube4, hrcube5, checkpoint57g_pre, checkpoint57s_post, checkpoint58b_post, checkpoint57b_post, checkpoint52d_pre, checkpoint57g_post, checkpoint56b_post, checkpoint57y_post, checkpoint52j_pre, checkpoint51o_pre, checkpoint54d_post, checkpoint54e_post, checkpoint51l_post, checkpoint57r_post, checkpoint57d_post, checkpoint57i_post, checkpoint52l_post, checkpoint52k_post, checkpoint59, checkpoint58, checkpoint55, checkpoint54, checkpoint57, checkpoint56, checkpoint53, checkpoint52, checkpoint58f_post, checkpoint52f_post, checkpoint57n_post, checkpoint58d_post, checkpoint58a_post, checkpoint57z_post, checkpoint54f_post, checkpoint51f_post, checkpoint58y_post, checkpoint51d_post, checkpoint51t_post, checkpoint58t_post, checkpoint51n_post, checkpoint55i_post, checkpoint58m_post, checkpoint57l_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint57t_post, checkpoint55c_post, checkpoint51j_post, checkpoint52e_pre, checkpoint57v_post, checkpoint57f_post, checkpoint52e_post, checkpoint51n_pre, checkpoint53d_post, checkpoint57a_post, checkpoint57h_pre, checkpoint52b_pre, checkpoint54b_post, checkpoint58w_post, checkpoint57h_post, checkpoint51l_pre, checkpoint52m_post, checkpoint57y_pre, checkpoint55g_post, checkpoint51q_post, checkpoint52b_post, checkpoint52c_post, checkpoint51h_pre, checkpoint58o_post, checkpoint57c_post, checkpoint58p_post, checkpoint58q_post, checkpoint52f_pre, checkpoint55d_post, checkpoint58e_post, checkpoint54a_pre, checkpoint53c_post, checkpoint55d_pre, checkpoint57c_pre, checkpoint58r_post, checkpoint55j_post, branchpoint-genmake2, checkpoint54a_post, checkpoint55h_post, checkpoint58n_post, checkpoint51r_post, checkpoint51i_post, checkpoint57e_post, checkpoint55b_post, checkpoint53a_post, checkpoint59a, checkpoint55f_post, checkpoint52d_post, checkpoint53g_post, checkpoint57p_post, checkpint57u_post, checkpoint57q_post, eckpoint57e_pre, checkpoint58k_post, checkpoint52a_pre, checkpoint58v_post, checkpoint52i_post, checkpoint51i_pre, checkpoint52h_pre, checkpoint56a_post, checkpoint58l_post, checkpoint53f_post, checkpoint57h_done, checkpoint52j_post, checkpoint57j_post, checkpoint57f_pre, checkpoint58g_post, branch-netcdf, checkpoint58x_post, checkpoint52n_post, checkpoint53b_pre, checkpoint58h_post, checkpoint56c_post, checkpoint58j_post, checkpoint51e_post, checkpoint57a_pre, checkpoint55a_post, checkpoint57o_post, checkpoint51o_post, checkpoint57k_post, checkpoint51f_pre, checkpoint53b_post, checkpoint52a_post, checkpoint57w_post, checkpoint58i_post, checkpoint51g_post, ecco_c52_e35, checkpoint57x_post, checkpoint58c_post, checkpoint58u_post, checkpoint51m_post, checkpoint53d_pre, checkpoint58s_post, checkpoint55e_post, checkpoint54c_post, checkpoint51p_post, checkpoint51u_post
Branch point for: branch-genmake2, branch-nonh, tg2-branch, netcdf-sm0, checkpoint51n_branch
Changes since 1.3: +1 -1 lines
Merging from ecco-branch:
Use cluster local disks for purely local I/O
vs. globally visible disks needed for ctrl stuff.

1 heimbach 1.2
2     #include "CTRL_CPPOPTIONS.h"
3    
4    
5     subroutine ctrl_mask_set_xz(
6     & jp1, OB_J, nwetobcs, ymaskobcs, mythid )
7    
8     c ==================================================================
9     c SUBROUTINE ctrl_mask_set_xz
10     c ==================================================================
11     c
12     c o count sliced (xz) wet points and set xz masks
13     c
14     c heimbach@mit.edu, 30-Aug-2001
15     c gebbie@mit.edu, corrected array bounds
16     c
17     c ==================================================================
18    
19     implicit none
20    
21     c == global variables ==
22    
23     #include "EEPARAMS.h"
24     #include "SIZE.h"
25     #include "PARAMS.h"
26     #include "GRID.h"
27     #include "ctrl.h"
28     #ifdef ALLOW_OBCS_CONTROL
29     # include "OBCS.h"
30     #endif
31    
32     c == routine arguments ==
33    
34     integer jp1
35     integer OB_J (1-olx:snx+olx,nsx,nsy)
36     integer nwetobcs (nsx,nsy,nr,nobcs)
37     character*(80) ymaskobcs
38     integer mythid
39    
40     c == local variables ==
41    
42     integer bi,bj
43     integer i,j,k
44     integer itlo,ithi
45     integer jtlo,jthi
46     integer jmin,jmax
47     integer imin,imax
48     integer ntmp
49     integer ivarindex
50    
51     integer iobcs
52     integer il
53     integer errio
54     integer startrec
55     integer endrec
56     integer difftime(4)
57     _RL diffsecs
58     _RL dummy
59     _RL maskxz (1-olx:snx+olx,nr,nsx,nsy,nobcs)
60     _RL gg (1-olx:snx+olx,nr,nsx,nsy)
61    
62     character*( 80) fname
63    
64     c == external ==
65    
66     integer ilnblnk
67     external ilnblnk
68    
69     c == end of interface ==
70    
71     jtlo = mybylo(mythid)
72     jthi = mybyhi(mythid)
73     itlo = mybxlo(mythid)
74     ithi = mybxhi(mythid)
75     jmin = 1
76     jmax = sny
77     imin = 1
78     imax = snx
79    
80     _BEGIN_MASTER( myThid )
81    
82     c-- Count wet points at Northern boundary.
83     c-- mask conventions are adopted from obcs_apply_ts, obcs_apply_uv
84 heimbach 1.3 do iobcs = 1,nobcs
85     do bj = jtlo,jthi
86     do bi = itlo,ithi
87     do k = 1,nr
88     do i = 1-olx,snx+olx
89 heimbach 1.2 maskxz(i,k,bi,bj,iobcs) = 0. _d 0
90     enddo
91     enddo
92     enddo
93     enddo
94     enddo
95    
96 heimbach 1.3 do iobcs = 1,nobcs
97     do bj = jtlo,jthi
98     do bi = itlo,ithi
99     do k = 1,nr
100     do i = imin,imax
101     j = OB_J(I,bi,bj)
102 heimbach 1.2 if ( j .NE. 0 ) then
103 heimbach 1.3 c-- South mask for T, S, V
104     if (iobcs.eq.1 .or. iobcs .eq.2 .or. iobcs.eq.3) then
105     if (maskS(i,j+jp1,k,bi,bj) .ne. 0.) then
106     nwetobcs(bi,bj,k,iobcs) =nwetobcs(bi,bj,k,iobcs)+1
107     maskxz(i,k,bi,bj,iobcs) = 1
108     endif
109 heimbach 1.2 endif
110     c-- West mask for U
111 heimbach 1.3 if (iobcs .eq. 4) then
112     if (maskW(i,j,k,bi,bj) .eq. 1.) then
113     nwetobcs(bi,bj,k,iobcs) =nwetobcs(bi,bj,k,iobcs)+1
114     maskxz(i,k,bi,bj,iobcs) = 1
115     endif
116 heimbach 1.2 endif
117     endif
118 heimbach 1.3 enddo
119 heimbach 1.2 enddo
120     enddo
121     enddo
122     enddo
123    
124     il=ilnblnk( ymaskobcs )
125     write(fname(1:80),'(80a)') ' '
126     write(fname(1:80),'(a)') ymaskobcs
127    
128     do iobcs = 1,nobcs
129     do bj = jtlo,jthi
130     do bi = itlo,ithi
131     do k = 1,nr
132     do i = imin,imax
133     gg(i,k,bi,bj) = maskxz(i,k,bi,bj,iobcs)
134     enddo
135     enddo
136     enddo
137     enddo
138 heimbach 1.4 call active_write_xz_loc( fname, gg, iobcs, 0, mythid, dummy )
139 heimbach 1.2
140     enddo
141    
142     _END_MASTER( mythid )
143    
144     return
145     end
146    
147    
148    
149    

  ViewVC Help
Powered by ViewVC 1.1.22