/[MITgcm]/MITgcm/pkg/mdsio/mdsio_segxtorx_2d.F
ViewVC logotype

Contents of /MITgcm/pkg/mdsio/mdsio_segxtorx_2d.F

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


Revision 1.1 - (show annotations) (download)
Tue Sep 1 19:16:51 2009 UTC (14 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61v, checkpoint61w, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Section (or vertical slice) IO:
 - new S/R with argument "useCurrentDir" to combine default & _loc version.
 - keep old version in file "mdsio_rw_slice.F"
 - take set of 4 simple SEGxtoRx_2D S/R out of "mdsio_slice.F" file into
   specific file "mdsio_segxtorx_2d.F"
 - separated files for section reading (mdsio_read_section.F) and writing
    (mdsio_write_section.F).

1 C $Header: /u/gcmpack/MITgcm/pkg/mdsio/mdsio_slice.F,v 1.13 2009/08/05 23:17:54 jmc Exp $
2 C $Name: $
3
4 #include "MDSIO_OPTIONS.h"
5
6 C-- File mdsio_segxtorx_2d.F: Routines to pass segment to/from 2D section array
7 C-- Contents
8 C-- o MDS_SEG4toRL_2D
9 C-- o MDS_SEG4toRS_2D
10 C-- o MDS_SEG8toRL_2D
11 C-- o MDS_SEG8toRS_2D
12
13 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
14
15 SUBROUTINE MDS_SEG4toRL_2D(sn,ol,nNz,bi,bj,k,copyTo,seg,arr)
16
17 C IN:
18 C sn,ol,nNz integer :: size of 'arr'. sn,ol can be sNx,oLx OR sNy,oLy
19 C k,bi,bj, integer :: indices to array "arr"
20 C copyTo logical :: flag to indicate tranfer direction.
21 C .TRUE.: seg -> arr, .FALSE.: arr -> seg
22 C seg Real*4 :: 1-D vector of length sn
23 C OUT:
24 C arr _RL :: model vertical slice (array)
25 C
26 C Created: 06/03/00 spk@ocean.mit.edu
27
28 IMPLICIT NONE
29 C Global variables / common blocks
30 #include "SIZE.h"
31
32 C Arguments
33 INTEGER sn,ol,nNz,bi,bj,k
34 LOGICAL copyTo
35 Real*4 seg(sn)
36 _RL arr(1-ol:sn+ol,nNz,nSx,nSy)
37
38 C Local
39 INTEGER ii
40 C ------------------------------------------------------------------
41 IF (copyTo) THEN
42 DO ii=1,sn
43 arr(ii,k,bi,bj)=seg(ii)
44 ENDDO
45 ELSE
46 DO ii=1,sn
47 seg(ii)=arr(ii,k,bi,bj)
48 ENDDO
49 ENDIF
50 C ------------------------------------------------------------------
51 RETURN
52 END
53
54 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
55
56 SUBROUTINE MDS_SEG4toRS_2D(sn,ol,nNz,bi,bj,k,copyTo,seg,arr)
57
58 C IN:
59 C sn,ol,nNz integer :: size of 'arr'. sn,ol can be sNx,oLx OR sNy,oLy
60 C k,bi,bj, integer :: indices to array "arr"
61 C copyTo logical :: flag to indicate tranfer direction.
62 C .TRUE.: seg -> arr, .FALSE.: arr -> seg
63 C seg Real*4 :: 1-D vector of length sn
64 C OUT:
65 C arr _RS :: model vertical slice (array)
66 C
67 C Created: 06/03/00 spk@ocean.mit.edu
68
69 IMPLICIT NONE
70 C Global variables / common blocks
71 #include "SIZE.h"
72
73 C Arguments
74 INTEGER sn,ol,nNz,bi,bj,k
75 LOGICAL copyTo
76 Real*4 seg(sn)
77 _RS arr(1-ol:sn+ol,nNz,nSx,nSy)
78
79 C Local
80 INTEGER ii
81 C ------------------------------------------------------------------
82 IF (copyTo) THEN
83 DO ii=1,sn
84 arr(ii,k,bi,bj)=seg(ii)
85 ENDDO
86 ELSE
87 DO ii=1,sn
88 seg(ii)=arr(ii,k,bi,bj)
89 ENDDO
90 ENDIF
91 C ------------------------------------------------------------------
92 RETURN
93 END
94
95 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
96
97 SUBROUTINE MDS_SEG8toRL_2D(sn,ol,nNz,bi,bj,k,copyTo,seg,arr)
98
99 C IN:
100 C sn,ol,nNz integer :: size of 'arr'. sn,ol can be sNx,oLx OR sNy,oLy
101 C k,bi,bj, integer :: indices to array "arr"
102 C copyTo logical :: flag to indicate tranfer direction.
103 C .TRUE.: seg -> arr, .FALSE.: arr -> seg
104 C seg Real*8 :: 1-D vector of length sn
105 C OUT:
106 C arr _RL :: model vertical slice (array)
107 C
108 C Created: 06/03/00 spk@ocean.mit.edu
109
110 IMPLICIT NONE
111 C Global variables / common blocks
112 #include "SIZE.h"
113
114 C Arguments
115 INTEGER sn,ol,nNz,bi,bj,k
116 LOGICAL copyTo
117 Real*8 seg(sn)
118 _RL arr(1-ol:sn+ol,nNz,nSx,nSy)
119
120 C Local
121 INTEGER ii
122 C ------------------------------------------------------------------
123 IF (copyTo) THEN
124 DO ii=1,sn
125 arr(ii,k,bi,bj)=seg(ii)
126 ENDDO
127 ELSE
128 DO ii=1,sn
129 seg(ii)=arr(ii,k,bi,bj)
130 ENDDO
131 ENDIF
132 C ------------------------------------------------------------------
133 RETURN
134 END
135
136 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
137
138 SUBROUTINE MDS_SEG8toRS_2D(sn,ol,nNz,bi,bj,k,copyTo,seg,arr)
139
140 C IN:
141 C sn,ol,nNz integer :: size of 'arr'. sn,ol can be sNx,oLx OR sNy,oLy
142 C k,bi,bj, integer :: indices to array "arr"
143 C copyTo logical :: flag to indicate tranfer direction.
144 C .TRUE.: seg -> arr, .FALSE.: arr -> seg
145 C seg Real*8 :: 1-D vector of length sn
146 C OUT:
147 C arr _RS :: model vertical slice (array)
148 C
149 C Created: 06/03/00 spk@ocean.mit.edu
150
151 IMPLICIT NONE
152 C Global variables / common blocks
153 #include "SIZE.h"
154
155 C Arguments
156 INTEGER sn,ol,nNz,bi,bj,k
157 LOGICAL copyTo
158 Real*8 seg(sn)
159 _RS arr(1-ol:sn+ol,nNz,nSx,nSy)
160
161 C Local
162 INTEGER ii
163 C ------------------------------------------------------------------
164 IF (copyTo) THEN
165 DO ii=1,sn
166 arr(ii,k,bi,bj)=seg(ii)
167 ENDDO
168 ELSE
169 DO ii=1,sn
170 seg(ii)=arr(ii,k,bi,bj)
171 ENDDO
172 ENDIF
173 C ------------------------------------------------------------------
174 RETURN
175 END

  ViewVC Help
Powered by ViewVC 1.1.22