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

Contents of /MITgcm/pkg/ctrl/ctrl_set_globfld_yz.F

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


Revision 1.15 - (show annotations) (download)
Mon Mar 22 02:16:43 2010 UTC (14 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w
Changes since 1.14: +2 -2 lines
finish removing unbalanced quote (single or double) in commented line

1 C
2 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_set_globfld_yz.F,v 1.14 2009/10/27 07:58:09 mlosch Exp $
3 C $Name: $
4
5 #include "CTRL_CPPOPTIONS.h"
6
7 subroutine ctrl_set_globfld_yz(
8 I fname, ivartype, mythid )
9
10 c ==================================================================
11 c SUBROUTINE ctrl_set_globfld_yz
12 c ==================================================================
13 c
14 c o initialise field
15 c
16 c started: heimbach@mit.edu, 16-Aug-2001
17 c
18 c changed: heimbach@mit.edu 17-Jun-2003
19 c merged changes from Armin to replace write of
20 c nr * globfld2d by 1 * globfld3d
21 c (ad hoc fix to speed up global I/O)
22 c
23 c ==================================================================
24
25 implicit none
26
27 c == global variables ==
28
29 #include "EEPARAMS.h"
30 #include "SIZE.h"
31 #include "PARAMS.h"
32 #include "GRID.h"
33
34 #include "ctrl.h"
35 #include "optim.h"
36
37 c == routine arguments ==
38
39 character*( 80) fname
40 integer ivartype
41 integer mythid
42
43 c == local variables ==
44
45 integer bi,bj
46 integer ip,jp
47 integer i,j,k
48 integer itlo,ithi
49 integer jtlo,jthi
50 integer jmin,jmax
51 integer imin,imax
52 integer irec,nrec_nl
53
54 _RL globfld3d(1-oLx:sNx+oLx,1-oLy:sNy+oLy,nr,nSx,nSy)
55 _RL globfldyz(1-oLy:sNy+oLy,nr,nSx,nSy)
56
57
58 c == external ==
59
60 c == end of interface ==
61
62 jtlo = 1
63 jthi = nsy
64 itlo = 1
65 ithi = nsx
66 jmin = 1-oLy
67 jmax = sny+oLy
68 imin = 1-oLx
69 imax = snx+oLx
70
71 c Initialise temporary file
72 do bj = jtlo,jthi
73 do bi = itlo,ithi
74 do k = 1,nr
75 do j = jmin,jmax
76 globfldyz(j,k,bi,bj) = 0. _d 0
77 enddo
78 enddo
79 enddo
80 enddo
81 c Initialise temporary file
82 do bj = jtlo,jthi
83 do bi = itlo,ithi
84 do k = 1,nr
85 do j = jmin,jmax
86 do i = imin,imax
87 globfld3d(i,j,k,bi,bj) = 0. _d 0
88 enddo
89 enddo
90 enddo
91 enddo
92 enddo
93
94 c-- Only the master thread will do I/O.
95 _BEGIN_MASTER( mythid )
96
97 if ( useSingleCPUio ) then
98 C MDSWRITEFIELDXZ does not know about useSingleCPUio, so the faster
99 C method that works for .not.useSingleCPUio cannot be used
100 nrec_nl = 0
101 else
102 nrec_nl = int(ncvarrecs(ivartype)/Nx)
103 endif
104
105 do irec = 1, nrec_nl
106 call MDSWRITEFIELD( fname, ctrlprec,.FALSE., 'RL',
107 & Nr, globfld3d,
108 & irec, optimcycle, mythid)
109
110 enddo
111
112 CMM( addone for good measure
113 CMM do irec = nrec_nl*Nx+1, ncvarrecs(ivartype)
114 do irec = nrec_nl*Nx+1, ncvarrecs(ivartype)+1
115 CMM)
116 call MDSWRITEFIELDYZ( fname, ctrlprec,.FALSE., 'RL',
117 & Nr, globfldyz,
118 & irec, optimcycle, mythid)
119 enddo
120
121 _END_MASTER( mythid )
122
123 end

  ViewVC Help
Powered by ViewVC 1.1.22