3 |
|
|
4 |
#include "MDSIO_OPTIONS.h" |
#include "MDSIO_OPTIONS.h" |
5 |
|
|
6 |
subroutine MDS_SEG4toRS( j,bi,bj,k,nNz, seg, copyTo, arr ) |
SUBROUTINE MDS_SEG4toRS( j,bi,bj,k,nNz, seg, copyTo, arr ) |
7 |
|
|
8 |
C IN: |
C IN: |
9 |
C j,bi,bj,k integer - indices to array "arr" |
C j,bi,bj,k integer :: indices to array "arr" |
10 |
C nNz integer - K dimension of array "arr" |
C nNz integer :: K dimension of array "arr" |
11 |
C seg Real*4 - 1-D vector of length sNx |
C seg Real*4 :: 1-D vector of length sNx |
12 |
C OUT: |
C OUT: |
13 |
C arr _RS - model tiled array |
C arr _RS :: model tiled array |
14 |
C |
C |
15 |
C Created: 03/20/99 adcroft@mit.edu |
C Created: 03/20/99 adcroft@mit.edu |
16 |
|
|
17 |
implicit none |
IMPLICIT NONE |
18 |
C Global variables / common blocks |
C Global variables / common blocks |
19 |
#include "SIZE.h" |
#include "SIZE.h" |
20 |
|
|
21 |
C Arguments |
C Arguments |
22 |
integer j,bi,bj,k,nNz |
INTEGER j,bi,bj,k,nNz |
23 |
_RS arr(1-oLx:sNx+oLx,1-oLy:sNy+oLy,nNz,nSx,nSy) |
_RS arr(1-oLx:sNx+oLx,1-oLy:sNy+oLy,nNz,nSx,nSy) |
24 |
logical copyTo |
LOGICAL copyTo |
25 |
Real*4 seg(sNx) |
Real*4 seg(sNx) |
26 |
C Local |
C Local |
27 |
integer ii |
INTEGER ii |
28 |
C ------------------------------------------------------------------ |
C ------------------------------------------------------------------ |
29 |
if (copyTo) then |
IF (copyTo) THEN |
30 |
do ii=1,sNx |
DO ii=1,sNx |
31 |
arr(ii,j,k,bi,bj)=seg(ii) |
arr(ii,j,k,bi,bj)=seg(ii) |
32 |
enddo |
ENDDO |
33 |
else |
ELSE |
34 |
do ii=1,sNx |
DO ii=1,sNx |
35 |
seg(ii)=arr(ii,j,k,bi,bj) |
seg(ii)=arr(ii,j,k,bi,bj) |
36 |
enddo |
ENDDO |
37 |
endif |
ENDIF |
38 |
C ------------------------------------------------------------------ |
C ------------------------------------------------------------------ |
39 |
return |
RETURN |
40 |
end |
END |