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

Contents of /MITgcm/pkg/ctrl/ctrl_mask_set_yz.F

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


Revision 1.4 - (show annotations) (download)
Fri Jul 18 21:10:16 2003 UTC (20 years, 9 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
2 #include "CTRL_CPPOPTIONS.h"
3
4
5 subroutine ctrl_mask_set_yz(
6 & ip1, OB_I, nwetobcs, ymaskobcs, mythid )
7
8 c ==================================================================
9 c SUBROUTINE ctrl_mask_set_yz
10 c ==================================================================
11 c
12 c o count sliced (yz) wet points and set yz 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 ip1
35 integer OB_I (1-oly:sny+oly,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 maskyz (1-oly:sny+oly,nr,nsx,nsy,nobcs)
60 _RL gg (1-oly:sny+oly,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
85 do iobcs = 1,nobcs
86 do bj = jtlo,jthi
87 do bi = itlo,ithi
88 do k = 1,nr
89 do j = 1-oly,sny+oly
90 maskyz(j,k,bi,bj,iobcs) = 0. _d 0
91 enddo
92 enddo
93 enddo
94 enddo
95 enddo
96
97 do iobcs = 1,nobcs
98 do bj = jtlo,jthi
99 do bi = itlo,ithi
100 do k = 1,nr
101 do j = jmin,jmax
102 i = OB_I(J,bi,bj)
103 if ( i .NE. 0 ) then
104 c-- West mask for T, S, U on East/West boundaries.
105 if(iobcs .eq.1 .or. iobcs .eq.2 .or. iobcs .eq.3) then
106 if (maskW(i+ip1,j,k,bi,bj) .ne. 0.) then
107 nwetobcs(bi,bj,k,iobcs) =nwetobcs(bi,bj,k,iobcs)+1
108 maskyz(j,k,bi,bj,iobcs) = 1
109 endif
110 endif
111 c-- South mask for V
112 if (iobcs .eq. 4) then
113 if (maskS(i,j,k,bi,bj) .eq. 1.) then
114 nwetobcs(bi,bj,k,iobcs) =nwetobcs(bi,bj,k,iobcs)+1
115 maskyz(j,k,bi,bj,iobcs) = 1
116 endif
117 endif
118 endif
119 enddo
120 enddo
121 enddo
122 enddo
123 enddo
124
125 il=ilnblnk( ymaskobcs )
126 write(fname(1:80),'(80a)') ' '
127 write(fname(1:80),'(a)') ymaskobcs
128
129 do iobcs = 1,nobcs
130 do bj = jtlo,jthi
131 do bi = itlo,ithi
132 do k = 1,nr
133 do j = jmin,jmax
134 gg(j,k,bi,bj) = maskyz(j,k,bi,bj,iobcs)
135 enddo
136 enddo
137 enddo
138 enddo
139 call active_write_yz_loc( fname, gg, iobcs, 0, mythid, dummy)
140 enddo
141
142 _END_MASTER( mythid )
143
144 return
145 end
146

  ViewVC Help
Powered by ViewVC 1.1.22