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

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

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


Revision 1.1 - (hide 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 heimbach 1.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