1 |
#include "EXF_CPPOPTIONS.h" |
#include "EXF_CPPOPTIONS.h" |
2 |
|
|
3 |
subroutine exf_set_obcs_xz ( |
subroutine exf_set_obcs_xz ( |
4 |
& obcs_fld_xz, obcs_file, obcsmask |
& obcs_fld_xz, obcs_xz_0, obcs_xz_1 |
5 |
|
I , obcs_file, obcsmask |
6 |
I , fac, first, changed, count0, count1 |
I , fac, first, changed, count0, count1 |
7 |
I , mycurrenttime, mycurrentiter, mythid |
I , mycurrenttime, mycurrentiter, mythid |
8 |
& ) |
& ) |
32 |
c == routine arguments == |
c == routine arguments == |
33 |
|
|
34 |
_RL obcs_fld_xz(1-olx:snx+olx,Nr,nsx,nsy) |
_RL obcs_fld_xz(1-olx:snx+olx,Nr,nsx,nsy) |
35 |
|
_RL obcs_xz_0(1-olx:snx+olx,Nr,nsx,nsy) |
36 |
|
_RL obcs_xz_1(1-olx:snx+olx,Nr,nsx,nsy) |
37 |
|
|
38 |
character*(128) obcs_file |
character*(128) obcs_file |
39 |
character*1 obcsmask |
character*1 obcsmask |
40 |
logical first, changed |
logical first, changed |
51 |
integer bi, bj |
integer bi, bj |
52 |
integer i, k |
integer i, k |
53 |
|
|
|
_RL obcs_xz_0(1-olx:snx+olx,Nr,nsx,nsy) |
|
|
_RL obcs_xz_1(1-olx:snx+olx,Nr,nsx,nsy) |
|
|
|
|
54 |
c == end of interface == |
c == end of interface == |
55 |
|
|
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
56 |
if ( first ) then |
if ( first ) then |
57 |
#endif |
if ( obcs_file .NE. ' ' ) |
58 |
call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr |
& call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr |
59 |
& , obcs_xz_1, count0, mythid |
& , obcs_xz_1, count0, mythid |
60 |
& ) |
& ) |
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
61 |
endif |
endif |
|
#endif |
|
62 |
|
|
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
63 |
if (( first ) .or. ( changed )) then |
if (( first ) .or. ( changed )) then |
|
#endif |
|
64 |
call exf_swapffields_xz( obcs_xz_0, obcs_xz_1, mythid ) |
call exf_swapffields_xz( obcs_xz_0, obcs_xz_1, mythid ) |
65 |
|
|
66 |
call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr |
if ( obcs_file .NE. ' ' ) |
67 |
|
& call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr |
68 |
& , obcs_xz_1, count1, mythid |
& , obcs_xz_1, count1, mythid |
69 |
& ) |
& ) |
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
70 |
endif |
endif |
|
#endif |
|
71 |
|
|
72 |
do bj = mybylo(mythid),mybyhi(mythid) |
do bj = mybylo(mythid),mybyhi(mythid) |
73 |
do bi = mybxlo(mythid),mybxhi(mythid) |
do bi = mybxlo(mythid),mybxhi(mythid) |
86 |
end |
end |
87 |
|
|
88 |
subroutine exf_set_obcs_yz ( |
subroutine exf_set_obcs_yz ( |
89 |
& obcs_fld_yz, obcs_file, obcsmask |
& obcs_fld_yz, obcs_yz_0, obcs_yz_1 |
90 |
|
I , obcs_file, obcsmask |
91 |
I , fac, first, changed, count0, count1 |
I , fac, first, changed, count0, count1 |
92 |
I , mycurrenttime, mycurrentiter, mythid |
I , mycurrenttime, mycurrentiter, mythid |
93 |
& ) |
& ) |
117 |
c == routine arguments == |
c == routine arguments == |
118 |
|
|
119 |
_RL obcs_fld_yz(1-oly:sny+oly,Nr,nsx,nsy) |
_RL obcs_fld_yz(1-oly:sny+oly,Nr,nsx,nsy) |
120 |
|
_RL obcs_yz_0(1-oly:sny+oly,Nr,nsx,nsy) |
121 |
|
_RL obcs_yz_1(1-oly:sny+oly,Nr,nsx,nsy) |
122 |
character*(MAX_LEN_FNAM) obcs_file |
character*(MAX_LEN_FNAM) obcs_file |
123 |
character*1 obcsmask |
character*1 obcsmask |
124 |
logical first, changed |
logical first, changed |
135 |
integer bi, bj |
integer bi, bj |
136 |
integer j, k |
integer j, k |
137 |
|
|
|
_RL obcs_yz_0(1-oly:sny+oly,Nr,nsx,nsy) |
|
|
_RL obcs_yz_1(1-oly:sny+oly,Nr,nsx,nsy) |
|
|
|
|
138 |
c == end of interface == |
c == end of interface == |
139 |
|
|
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
140 |
if ( first ) then |
if ( first ) then |
141 |
#endif |
if ( obcs_file .NE. ' ' ) |
142 |
call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr |
& call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr |
143 |
& , obcs_yz_1, count0, mythid |
& , obcs_yz_1, count0, mythid |
144 |
& ) |
& ) |
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
145 |
endif |
endif |
|
#endif |
|
146 |
|
|
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
147 |
if (( first ) .or. ( changed )) then |
if (( first ) .or. ( changed )) then |
|
#endif |
|
148 |
call exf_swapffields_yz( obcs_yz_0, obcs_yz_1, mythid ) |
call exf_swapffields_yz( obcs_yz_0, obcs_yz_1, mythid ) |
149 |
|
|
150 |
call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr |
if ( obcs_file .NE. ' ' ) |
151 |
|
& call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr |
152 |
& , obcs_yz_1, count1, mythid |
& , obcs_yz_1, count1, mythid |
153 |
& ) |
& ) |
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
154 |
endif |
endif |
|
#endif |
|
155 |
|
|
156 |
do bj = mybylo(mythid),mybyhi(mythid) |
do bj = mybylo(mythid),mybyhi(mythid) |
157 |
do bi = mybxlo(mythid),mybxhi(mythid) |
do bi = mybxlo(mythid),mybxhi(mythid) |
168 |
#endif |
#endif |
169 |
|
|
170 |
end |
end |
|
|
|
|
subroutine exf_init_obcs_xz( |
|
|
I mythid |
|
|
& ) |
|
|
|
|
|
c ================================================================== |
|
|
c SUBROUTINE exf_init_obcs_xz |
|
|
c ================================================================== |
|
|
c |
|
|
c o |
|
|
c |
|
|
c started: heimbach@mit.edu 01-May-2001 |
|
|
c |
|
|
c ================================================================== |
|
|
c SUBROUTINE exf_init_obcs_xz |
|
|
c ================================================================== |
|
|
|
|
|
implicit none |
|
|
|
|
|
c == global variables == |
|
|
|
|
|
#include "EEPARAMS.h" |
|
|
#include "SIZE.h" |
|
|
|
|
|
c == routine arguments == |
|
|
|
|
|
integer mythid |
|
|
|
|
|
#ifdef ALLOW_OBCS |
|
|
|
|
|
c == local variables == |
|
|
|
|
|
integer bi, bj |
|
|
integer i, k |
|
|
|
|
|
_RL obcs_xz_0(1-olx:snx+olx,Nr,nsx,nsy) |
|
|
_RL obcs_xz_1(1-olx:snx+olx,Nr,nsx,nsy) |
|
|
|
|
|
c == end of interface == |
|
|
|
|
|
do bj = mybylo(mythid), mybyhi(mythid) |
|
|
do bi = mybxlo(mythid), mybxhi(mythid) |
|
|
do k = 1, Nr |
|
|
do i = 1, snx |
|
|
obcs_xz_0(i,k,bi,bj) = 0. _d 0 |
|
|
obcs_xz_1(i,k,bi,bj) = 0. _d 0 |
|
|
enddo |
|
|
enddo |
|
|
enddo |
|
|
enddo |
|
|
|
|
|
#endif |
|
|
end |
|
|
|
|
|
|
|
|
subroutine exf_init_obcs_yz( |
|
|
I mythid |
|
|
& ) |
|
|
|
|
|
c ================================================================== |
|
|
c SUBROUTINE exf_init_obcs_yz |
|
|
c ================================================================== |
|
|
c |
|
|
c o |
|
|
c |
|
|
c started: heimbach@mit.edu 01-May-2001 |
|
|
c |
|
|
c ================================================================== |
|
|
c SUBROUTINE exf_init_obcs_yz |
|
|
c ================================================================== |
|
|
|
|
|
implicit none |
|
|
|
|
|
c == global variables == |
|
|
|
|
|
#include "EEPARAMS.h" |
|
|
#include "SIZE.h" |
|
|
|
|
|
c == routine arguments == |
|
|
|
|
|
integer mythid |
|
|
|
|
|
_RL obcs_yz_0(1-oly:sny+oly,Nr,nsx,nsy) |
|
|
_RL obcs_yz_1(1-oly:sny+oly,Nr,nsx,nsy) |
|
|
|
|
|
#ifdef ALLOW_OBCS |
|
|
|
|
|
c == local variables == |
|
|
|
|
|
integer bi, bj |
|
|
integer i, j, k |
|
|
|
|
|
c == end of interface == |
|
|
|
|
|
do bj = mybylo(mythid), mybyhi(mythid) |
|
|
do bi = mybxlo(mythid), mybxhi(mythid) |
|
|
do k = 1, Nr |
|
|
do j = 1, sny |
|
|
obcs_yz_0(j,k,bi,bj) = 0. _d 0 |
|
|
obcs_yz_1(j,k,bi,bj) = 0. _d 0 |
|
|
enddo |
|
|
enddo |
|
|
enddo |
|
|
enddo |
|
|
|
|
|
#endif |
|
|
end |
|