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

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

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


Revision 1.1 - (show annotations) (download)
Sun Mar 25 22:33:55 2001 UTC (23 years, 2 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint40pre1, checkpoint38, c37_adj, checkpoint39
Modifications and additions to enable automatic differentiation.
Detailed info's in doc/notes_c37_adj.txt

1
2 #include "CTRL_CPPOPTIONS.h"
3
4 SUBROUTINE CTRL_MAP_FORCING(myThid)
5 C /==========================================================\
6 C | SUBROUTINE CTRL_MAP_FORCING |
7 C |==========================================================|
8 C \==========================================================/
9 IMPLICIT NONE
10
11 C == Global variables ===
12 #include "SIZE.h"
13 #include "EEPARAMS.h"
14 #include "PARAMS.h"
15 #include "FFIELDS.h"
16 #include "GRID.h"
17
18 #include "ctrl.h"
19 #include "ctrl_dummy.h"
20
21 C == Routine arguments ==
22 C myThid - Thread number for this instance of the routine.
23 INTEGER myThid
24
25 C == Local variables ==
26 integer bi,bj
27 integer i,j,k
28 integer itlo,ithi
29 integer jtlo,jthi
30 integer jmin,jmax
31 integer imin,imax
32 integer il
33
34 logical equal
35 logical doglobalread
36 logical ladinit
37
38 character*( 80) fnametauu
39 character*( 80) fnametauv
40 character*( 80) fnamesflux
41 character*( 80) fnamehflux
42 character*( 80) fnamesss
43 character*( 80) fnamesst
44 character*( 80) fnamediffkr
45 character*( 80) fnamekapgm
46
47 c == external ==
48
49 integer ilnblnk
50 external ilnblnk
51
52 c == end of interface ==
53
54 jtlo = mybylo(mythid)
55 jthi = mybyhi(mythid)
56 itlo = mybxlo(mythid)
57 ithi = mybxhi(mythid)
58 jmin = 1-oly
59 jmax = sny+oly
60 imin = 1-olx
61 imax = snx+olx
62
63 doglobalread = .false.
64 ladinit = .false.
65
66 #ifdef ALLOW_TAUU0_CONTROL
67 c-- tauu0.
68 il=ilnblnk( xx_tauu_file )
69 write(fnametauu(1:80),'(2a,i10.10)')
70 & xx_tauu_file(1:il),'.',optimcycle
71 call active_read_xy ( fnametauu, tmpfld2d, 1,
72 & doglobalread, ladinit, optimcycle,
73 & mythid, xx_tauu_dummy )
74 do bj = jtlo,jthi
75 do bi = itlo,ithi
76 do j = jmin,jmax
77 do i = imin,imax
78 fu(i,j,bi,bj) = fu(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
79 enddo
80 enddo
81 enddo
82 enddo
83 #endif
84
85 #ifdef ALLOW_TAUV0_CONTROL
86 c-- tauv0.
87 il=ilnblnk( xx_tauv_file )
88 write(fnametauv(1:80),'(2a,i10.10)')
89 & xx_tauv_file(1:il),'.',optimcycle
90 call active_read_xy ( fnametauv, tmpfld2d, 1,
91 & doglobalread, ladinit, optimcycle,
92 & mythid, xx_tauv_dummy )
93 do bj = jtlo,jthi
94 do bi = itlo,ithi
95 do j = jmin,jmax
96 do i = imin,imax
97 fv(i,j,bi,bj) = fv(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
98 enddo
99 enddo
100 enddo
101 enddo
102 #endif
103
104 #ifdef ALLOW_SFLUX0_CONTROL
105 c-- sflux0.
106 il=ilnblnk( xx_sflux_file )
107 write(fnamesflux(1:80),'(2a,i10.10)')
108 & xx_sflux_file(1:il),'.',optimcycle
109 call active_read_xy ( fnamesflux, tmpfld2d, 1,
110 & doglobalread, ladinit, optimcycle,
111 & mythid, xx_sflux_dummy )
112 do bj = jtlo,jthi
113 do bi = itlo,ithi
114 do j = jmin,jmax
115 do i = imin,imax
116 empmr(i,j,bi,bj) = empmr(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
117 enddo
118 enddo
119 enddo
120 enddo
121 #endif
122
123 #ifdef ALLOW_HFLUX0_CONTROL
124 c-- hflux0.
125 il=ilnblnk( xx_hflux_file )
126 write(fnamehflux(1:80),'(2a,i10.10)')
127 & xx_hflux_file(1:il),'.',optimcycle
128 call active_read_xy ( fnamehflux, tmpfld2d, 1,
129 & doglobalread, ladinit, optimcycle,
130 & mythid, xx_hflux_dummy )
131 do bj = jtlo,jthi
132 do bi = itlo,ithi
133 do j = jmin,jmax
134 do i = imin,imax
135 qnet(i,j,bi,bj) = qnet(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
136 enddo
137 enddo
138 enddo
139 enddo
140 #endif
141
142 #ifdef ALLOW_SSS0_CONTROL
143 c-- sss0.
144 il=ilnblnk( xx_sss_file )
145 write(fnamesss(1:80),'(2a,i10.10)')
146 & xx_sss_file(1:il),'.',optimcycle
147 call active_read_xy ( fnamesss, tmpfld2d, 1,
148 & doglobalread, ladinit, optimcycle,
149 & mythid, xx_sss_dummy )
150 do bj = jtlo,jthi
151 do bi = itlo,ithi
152 do j = jmin,jmax
153 do i = imin,imax
154 sss(i,j,bi,bj) = sss(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
155 enddo
156 enddo
157 enddo
158 enddo
159 #endif
160
161 #ifdef ALLOW_SST0_CONTROL
162 c-- sst0.
163 il=ilnblnk( xx_sst_file )
164 write(fnamesst(1:80),'(2a,i10.10)')
165 & xx_sst_file(1:il),'.',optimcycle
166 call active_read_xy ( fnamesst, tmpfld2d, 1,
167 & doglobalread, ladinit, optimcycle,
168 & mythid, xx_sst_dummy )
169 do bj = jtlo,jthi
170 do bi = itlo,ithi
171 do j = jmin,jmax
172 do i = imin,imax
173 sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
174 enddo
175 enddo
176 enddo
177 enddo
178 #endif
179
180 #ifdef ALLOW_DIFFKR_CONTROL
181 c-- diffkr.
182 il=ilnblnk( xx_diffkr_file )
183 write(fnamediffkr(1:80),'(2a,i10.10)')
184 & xx_diffkr_file(1:il),'.',optimcycle
185 call active_read_xyz( fnamediffkr, tmpfld3d, 1,
186 & doglobalread, ladinit, optimcycle,
187 & mythid, xx_diffkr_dummy )
188 do bj = jtlo,jthi
189 do bi = itlo,ithi
190 do k = 1,nr
191 do j = jmin,jmax
192 do i = imin,imax
193 diffkr(i,j,k,bi,bj) = diffkr(i,j,k,bi,bj) +
194 & tmpfld3d(i,j,k,bi,bj)
195 enddo
196 enddo
197 enddo
198 enddo
199 enddo
200 #endif
201
202 #ifdef ALLOW_KAPGM_CONTROL
203 c-- kapgm.
204 il=ilnblnk( xx_kapgm_file )
205 write(fnamekapgm(1:80),'(2a,i10.10)')
206 & xx_kapgm_file(1:il),'.',optimcycle
207 call active_read_xyz( fnamekapgm, tmpfld3d, 1,
208 & doglobalread, ladinit, optimcycle,
209 & mythid, xx_kapgm_dummy )
210 do bj = jtlo,jthi
211 do bi = itlo,ithi
212 do k = 1,nr
213 do j = jmin,jmax
214 do i = imin,imax
215 kapgm(i,j,k,bi,bj) = kapgm(i,j,k,bi,bj) +
216 & tmpfld3d(i,j,k,bi,bj)
217 enddo
218 enddo
219 enddo
220 enddo
221 enddo
222 #endif
223
224 END

  ViewVC Help
Powered by ViewVC 1.1.22