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

Contents 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 - (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_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 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 maskxz(i,k,bi,bj,iobcs) = 0. _d 0
90 enddo
91 enddo
92 enddo
93 enddo
94 enddo
95
96 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 if ( j .NE. 0 ) then
103 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 endif
110 c-- West mask for U
111 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 endif
117 endif
118 enddo
119 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 call active_write_xz_loc( fname, gg, iobcs, 0, mythid, dummy )
139
140 enddo
141
142 _END_MASTER( mythid )
143
144 return
145 end
146
147
148
149

  ViewVC Help
Powered by ViewVC 1.1.22