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

Diff of /MITgcm/pkg/ctrl/ctrl_map_ini.F

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

revision 1.12 by heimbach, Thu Mar 4 19:49:47 2004 UTC revision 1.16 by heimbach, Mon Feb 28 19:05:12 2005 UTC
# Line 23  c     == global variables == Line 23  c     == global variables ==
23  #include "SIZE.h"  #include "SIZE.h"
24  #include "EEPARAMS.h"  #include "EEPARAMS.h"
25  #include "PARAMS.h"  #include "PARAMS.h"
 #include "DYNVARS.h"  
26  #include "GRID.h"  #include "GRID.h"
27  #include "TR1.h"  #include "DYNVARS.h"
28    #include "FFIELDS.h"
29  #include "ctrl.h"  #include "ctrl.h"
30  #include "ctrl_dummy.h"  #include "ctrl_dummy.h"
31  #include "optim.h"  #include "optim.h"
32    #ifdef ALLOW_PTRACERS
33    # include "PTRACERS_SIZE.h"
34    # include "PTRACERS.h"
35    #endif
36  #ifdef ALLOW_ECCO  #ifdef ALLOW_ECCO
37  # include "ecco_cost.h"  # include "ecco_cost.h"
38  #endif  #endif
# Line 60  c     == local variables == Line 64  c     == local variables ==
64        character*( 80)   fnameefluxy        character*( 80)   fnameefluxy
65        character*( 80)   fnameefluxp        character*( 80)   fnameefluxp
66        character*( 80)   fnamebottomdrag        character*( 80)   fnamebottomdrag
67          character*( 80)   fnamesss
68          character*( 80)   fnamesst
69          character*( 80)   fnameedtaux
70          character*( 80)   fnameedtauy
71    
72        _RL     fac        _RL     fac
73        _RL tmptest        _RL tmptest
# Line 154  c--   Temperature field. Line 162  c--   Temperature field.
162  #endif  #endif
163    
164  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
165    #ifdef ALLOW_PTRACERS
166  c--   Temperature field.  c--   Temperature field.
167        il=ilnblnk( xx_tr1_file )        il=ilnblnk( xx_tr1_file )
168        write(fnametr1(1:80),'(2a,i10.10)')        write(fnametr1(1:80),'(2a,i10.10)')
# Line 167  c--   Temperature field. Line 176  c--   Temperature field.
176            do k = 1,nr            do k = 1,nr
177              do j = jmin,jmax              do j = jmin,jmax
178                do i = imin,imax                do i = imin,imax
179                  tr1(i,j,k,bi,bj) = tr1(i,j,k,bi,bj) +                  ptracer(i,j,k,bi,bj,1) = ptracer(i,j,k,bi,bj,1) +
180       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
181                enddo                enddo
182              enddo              enddo
# Line 175  c--   Temperature field. Line 184  c--   Temperature field.
184         enddo         enddo
185        enddo        enddo
186  #endif  #endif
187    #endif
188    
189    #ifdef ALLOW_SST0_CONTROL
190    c--   sst0.
191          il=ilnblnk( xx_sst_file )
192          write(fnamesst(1:80),'(2a,i10.10)')
193         &     xx_sst_file(1:il),'.',optimcycle
194          call active_read_xy_loc ( fnamesst, tmpfld2d, 1,
195         &                      doglobalread, ladinit, optimcycle,
196         &                      mythid, xx_sst_dummy )
197          do bj = jtlo,jthi
198            do bi = itlo,ithi
199              do j = jmin,jmax
200                do i = imin,imax
201    cph              sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
202                  theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
203         &                             + tmpfld2d(i,j,bi,bj)
204                enddo
205              enddo
206            enddo
207          enddo
208    #endif
209    
210    #ifdef ALLOW_SSS0_CONTROL
211    c--   sss0.
212          il=ilnblnk( xx_sss_file )
213          write(fnamesss(1:80),'(2a,i10.10)')
214         &     xx_sss_file(1:il),'.',optimcycle
215          call active_read_xy_loc ( fnamesss, tmpfld2d, 1,
216         &                      doglobalread, ladinit, optimcycle,
217         &                      mythid, xx_sss_dummy )
218          do bj = jtlo,jthi
219            do bi = itlo,ithi
220              do j = jmin,jmax
221                do i = imin,imax
222    cph              sss(i,j,bi,bj) = sss(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
223                  salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)
224         &                             + tmpfld2d(i,j,bi,bj)
225                enddo
226              enddo
227            enddo
228          enddo
229    #endif
230    
231  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
232  c--   diffkr.  c--   diffkr.
# Line 296  c--   bottom drag Line 348  c--   bottom drag
348        enddo        enddo
349  #endif  #endif
350    
351    #ifdef ALLOW_EDTAUX_CONTROL
352    c-- zonal eddy stress : edtaux
353          il=ilnblnk( xx_edtaux_file )
354          write(fnameedtaux(1:80),'(2a,i10.10)')
355         &     xx_edtaux_file(1:il),'.',optimcycle
356          call active_read_xyz( fnameedtaux, tmpfld3d, 1,
357         &                      doglobalread, ladinit, optimcycle,
358         &                      mythid, xx_edtaux_dummy )
359          do bj = jtlo,jthi
360            do bi = itlo,ithi
361              do k = 1,nr
362                do j = jmin,jmax
363                  do i = imin,imax
364                    Eddytaux(i,j,k,bi,bj) = Eddytaux(i,j,k,bi,bj) +
365         &                                tmpfld3d(i,j,k,bi,bj)
366                  enddo
367                enddo
368              enddo
369           enddo
370          enddo
371    #endif
372    
373    #ifdef ALLOW_EDTAUY_CONTROL
374    c-- meridional eddy stress : edtauy
375          il=ilnblnk( xx_edtauy_file )
376          write(fnameedtauy(1:80),'(2a,i10.10)')
377         &     xx_edtauy_file(1:il),'.',optimcycle
378          call active_read_xyz( fnameedtauy, tmpfld3d, 1,
379         &                      doglobalread, ladinit, optimcycle,
380         &                      mythid, xx_edtauy_dummy )
381          do bj = jtlo,jthi
382            do bi = itlo,ithi
383              do k = 1,nr
384                do j = jmin,jmax
385                  do i = imin,imax
386                    Eddytauy(i,j,k,bi,bj) = Eddytauy(i,j,k,bi,bj) +
387         &                                tmpfld3d(i,j,k,bi,bj)
388                  enddo
389                enddo
390              enddo
391           enddo
392          enddo
393    #endif
394    
395  c--   Update the tile edges.  c--   Update the tile edges.
396    
397  #ifdef ALLOW_THETA0_CONTROL  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
398        _EXCH_XYZ_R8( theta, mythid )        _EXCH_XYZ_R8( theta, mythid )
 cph      _EXCH_XYZ_R8( gtNm1, mythid )  
399  #endif  #endif
400  #ifdef ALLOW_SALT0_CONTROL  #if (defined (ALLOW_SALT0_CONTROL) || defined (ALLOW_SSS0_CONTROL))
401        _EXCH_XYZ_R8(  salt, mythid )        _EXCH_XYZ_R8(  salt, mythid )
 cph      _EXCH_XYZ_R8( gsNm1, mythid )  
402  #endif  #endif
403  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
404        _EXCH_XYZ_R8(     tr1, mythid )  #ifdef ALLOW_PTRACERS
405  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )        _EXCH_XYZ_R8(pTracer(1-Olx,1-Oly,1,1,1,1),myThid)
406    #endif
407  #endif  #endif
408  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
409        _EXCH_XYZ_R8( diffkr, mythid)        _EXCH_XYZ_R8( diffkr, mythid)
# Line 327  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid ) Line 421  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )
421        _EXCH_XY_R8( bottomdragfld, mythid )        _EXCH_XY_R8( bottomdragfld, mythid )
422  #endif  #endif
423    
424    #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))
425           CALL EXCH_UV_XYZ_RS(Eddytaux,Eddytauy,.TRUE.,myThid)
426    #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
427           STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'
428    #endif
429    
430        return        return
431        end        end

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22