File indexing completed on 2024-03-02 06:10:36 UTC
view on githubraw file Latest commit 5cf43646 on 2024-03-01 18:50:49 UTC
9c7e07a4e1 Jean*0001 #include "GRDCHK_OPTIONS.h"
a7eff9e819 Jean*0002 #ifdef ALLOW_CTRL
0003 # include "CTRL_OPTIONS.h"
0004 #endif
7109a141b2 Patr*0005
0006 subroutine grdchk_get_obcs_mask( mythid )
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
5cf4364659 Mart*0020 IMPLICIT NONE
7109a141b2 Patr*0021
0022
0023
0024 #include "EEPARAMS.h"
0025 #include "SIZE.h"
0026 #include "GRID.h"
5cf4364659 Mart*0027 #include "CTRL_SIZE.h"
4d72283393 Mart*0028 #include "CTRL.h"
444da61630 Mart*0029 #ifdef ALLOW_OBCS_CONTROL
0030
0031 # include "CTRL_OBCS.h"
0032 #endif
0033 #include "GRDCHK.h"
7109a141b2 Patr*0034
0035
0036 integer mythid
0037
444da61630 Mart*0038 #if (defined ALLOW_GRDCHK && defined ALLOW_OBCS_CONTROL)
7109a141b2 Patr*0039
0040 integer bi,bj
0041 integer i,j,k
9f5240b52a Jean*0042 integer iobcs
7109a141b2 Patr*0043 integer itlo,ithi
0044 integer jtlo,jthi
0045 integer jmin,jmax
0046 integer imin,imax
0047 _RL dummy
7aa90384e1 Mart*0048 #if (defined ALLOW_OBCSN_CONTROL || defined ALLOW_OBCSS_CONTROL)
0049 _RL tmpfldxz (1-olx:snx+olx,nr,nsx,nsy)
9c7e07a4e1 Jean*0050 #endif
7aa90384e1 Mart*0051 #if (defined ALLOW_OBCSE_CONTROL || defined ALLOW_OBCSW_CONTROL)
0052 _RL tmpfldyz (1-oly:sny+oly,nr,nsx,nsy)
0053 #endif
de57a2ec4b Mart*0054 character*(MAX_LEN_FNAM) fname
7109a141b2 Patr*0055
0056
0057
0058 jtlo = 1
0059 jthi = nsy
0060 itlo = 1
0061 ithi = nsx
0062 jmin = 1
0063 jmax = sny
0064 imin = 1
0065 imax = snx
0066
0067 _BEGIN_MASTER( mythid )
0068
5cf4364659 Mart*0069 IF ( ncvargrd(grdchkvarindex) .EQ. 'm' ) THEN
0070 IF ( ncvarindex(grdchkvarindex).EQ.1 ) THEN
7109a141b2 Patr*0071 #ifdef ALLOW_OBCSN_CONTROL
5cf4364659 Mart*0072 write(fname,'(a)') 'maskobcsn'
0073 do iobcs = 1,nobcs
7e8f0fc151 Patr*0074 call active_read_xz( fname, tmpfldxz, iobcs,
7109a141b2 Patr*0075 & .false., .false., 0, mythid, dummy)
0076 do bj = jtlo,jthi
5cf4364659 Mart*0077 do bi = itlo,ithi
0078 do k = 1,nr
0079 do i = imin,imax
0080 grdchk_maskxz(i,k,bi,bj,iobcs) = tmpfldxz(i,k,bi,bj)
7109a141b2 Patr*0081 enddo
5cf4364659 Mart*0082 enddo
0083 enddo
7109a141b2 Patr*0084 enddo
5cf4364659 Mart*0085 enddo
7109a141b2 Patr*0086 #endif
0087
5cf4364659 Mart*0088 ELSEIF ( ncvarindex(grdchkvarindex).EQ.2 ) THEN
7109a141b2 Patr*0089 #ifdef ALLOW_OBCSS_CONTROL
5cf4364659 Mart*0090 write(fname,'(a)') 'maskobcss'
7109a141b2 Patr*0091
5cf4364659 Mart*0092 do iobcs = 1,nobcs
7e8f0fc151 Patr*0093 call active_read_xz( fname, tmpfldxz, iobcs,
7109a141b2 Patr*0094 & .false., .false., 0, mythid, dummy)
0095 do bj = jtlo,jthi
5cf4364659 Mart*0096 do bi = itlo,ithi
0097 do k = 1,nr
0098 do i = imin,imax
0099 grdchk_maskxz(i,k,bi,bj,iobcs) = tmpfldxz(i,k,bi,bj)
7109a141b2 Patr*0100 enddo
5cf4364659 Mart*0101 enddo
0102 enddo
7109a141b2 Patr*0103 enddo
5cf4364659 Mart*0104 enddo
7109a141b2 Patr*0105 #endif
0106
5cf4364659 Mart*0107 ELSEIF ( ncvarindex(grdchkvarindex).EQ.3 ) THEN
0108 #ifdef ALLOW_OBCSE_CONTROL
0109 write(fname,'(a)') 'maskobcse'
0110 do iobcs = 1,nobcs
7e8f0fc151 Patr*0111 call active_read_yz( fname, tmpfldyz, iobcs,
7109a141b2 Patr*0112 & .false., .false., 0, mythid, dummy)
0113 do bj = jtlo,jthi
5cf4364659 Mart*0114 do bi = itlo,ithi
0115 do k = 1,nr
0116 do j = jmin,jmax
0117 grdchk_maskyz(j,k,bi,bj,iobcs) = tmpfldyz(j,k,bi,bj)
7109a141b2 Patr*0118 enddo
5cf4364659 Mart*0119 enddo
0120 enddo
7109a141b2 Patr*0121 enddo
5cf4364659 Mart*0122 enddo
7109a141b2 Patr*0123 #endif
0124
5cf4364659 Mart*0125 ELSEIF ( ncvarindex(grdchkvarindex).EQ.4 ) THEN
0126 #ifdef ALLOW_OBCSW_CONTROL
0127 write(fname,'(a)') 'maskobcsw'
0128 do iobcs = 1,nobcs
7e8f0fc151 Patr*0129 call active_read_yz( fname, tmpfldyz, iobcs,
7109a141b2 Patr*0130 & .false., .false., 0, mythid, dummy)
0131 do bj = jtlo,jthi
5cf4364659 Mart*0132 do bi = itlo,ithi
0133 do k = 1,nr
0134 do j = jmin,jmax
0135 grdchk_maskyz(j,k,bi,bj,iobcs) = tmpfldyz(j,k,bi,bj)
7109a141b2 Patr*0136 enddo
5cf4364659 Mart*0137 enddo
0138 enddo
7109a141b2 Patr*0139 enddo
5cf4364659 Mart*0140 enddo
7109a141b2 Patr*0141 #endif
5cf4364659 Mart*0142
0143 ENDIF
0144 ENDIF
7109a141b2 Patr*0145
0146 _END_MASTER( mythid )
0147
0148 _BARRIER
0149
edd57506ae Patr*0150 #endif /* ALLOW_GRDCHK */
7109a141b2 Patr*0151
5cf4364659 Mart*0152 RETURN
0153 END