/[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.17 by heimbach, Thu Apr 7 23:38:43 2005 UTC revision 1.23 by utke, Wed Jun 6 16:59:35 2007 UTC
# Line 93  c--   Temperature field. Line 93  c--   Temperature field.
93        il=ilnblnk( xx_theta_file )        il=ilnblnk( xx_theta_file )
94        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
95       &     xx_theta_file(1:il),'.',optimcycle       &     xx_theta_file(1:il),'.',optimcycle
96        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
97       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
98       &                      mythid, xx_theta_dummy )       &                      mythid, xx_theta_dummy )
99    
# Line 108  c--   Temperature field. Line 108  c--   Temperature field.
108       $          tmpfld3d(i,j,k,bi,bj)=       $          tmpfld3d(i,j,k,bi,bj)=
109       $          sign(2.0/sqrt(wtheta(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))       $          sign(2.0/sqrt(wtheta(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
110  #endif  #endif
111    #ifdef ALLOW_AUTODIFF_OPENAD
112                    theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
113         &                               fac*xx_theta(i,j,k,bi,bj) +
114         &                               fac*tmpfld3d(i,j,k,bi,bj)
115    #else
116                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
117       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
118    #endif
119                  if(theta(i,j,k,bi,bj).lt.-2.0)                  if(theta(i,j,k,bi,bj).lt.-2.0)
120       &               theta(i,j,k,bi,bj)= -2.0       &               theta(i,j,k,bi,bj)= -2.0
121                enddo                enddo
# Line 125  c--   Temperature field. Line 131  c--   Temperature field.
131        il=ilnblnk( xx_salt_file )        il=ilnblnk( xx_salt_file )
132        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
133       &     xx_salt_file(1:il),'.',optimcycle       &     xx_salt_file(1:il),'.',optimcycle
134        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
135       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
136       &                      mythid, xx_salt_dummy )       &                      mythid, xx_salt_dummy )
137    
# Line 140  c--   Temperature field. Line 146  c--   Temperature field.
146       $          tmpfld3d(i,j,k,bi,bj)=       $          tmpfld3d(i,j,k,bi,bj)=
147       $          sign(2.0/sqrt(wsalt(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))       $          sign(2.0/sqrt(wsalt(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
148  #endif  #endif
149    #ifdef ALLOW_AUTODIFF_OPENAD
150                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
151         &                               fac*xx_salt(i,j,k,bi,bj) +
152       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
153    #else
154                    salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
155         &                               fac*tmpfld3d(i,j,k,bi,bj)
156    #endif
157    
158                enddo                enddo
159              enddo              enddo
# Line 156  c--   Temperature field. Line 168  c--   Temperature field.
168        il=ilnblnk( xx_tr1_file )        il=ilnblnk( xx_tr1_file )
169        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
170       &     xx_tr1_file(1:il),'.',optimcycle       &     xx_tr1_file(1:il),'.',optimcycle
171        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
172       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
173       &                      mythid, xx_tr1_dummy )       &                      mythid, xx_tr1_dummy )
174    
# Line 180  c--   sst0. Line 192  c--   sst0.
192        il=ilnblnk( xx_sst_file )        il=ilnblnk( xx_sst_file )
193        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
194       &     xx_sst_file(1:il),'.',optimcycle       &     xx_sst_file(1:il),'.',optimcycle
195        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
196       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
197       &                      mythid, xx_sst_dummy )       &                      mythid, xx_sst_dummy )
198        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 201  c--   sss0. Line 213  c--   sss0.
213        il=ilnblnk( xx_sss_file )        il=ilnblnk( xx_sss_file )
214        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
215       &     xx_sss_file(1:il),'.',optimcycle       &     xx_sss_file(1:il),'.',optimcycle
216        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
217       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
218       &                      mythid, xx_sss_dummy )       &                      mythid, xx_sss_dummy )
219        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 222  c--   diffkr. Line 234  c--   diffkr.
234        il=ilnblnk( xx_diffkr_file )        il=ilnblnk( xx_diffkr_file )
235        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
236       &     xx_diffkr_file(1:il),'.',optimcycle       &     xx_diffkr_file(1:il),'.',optimcycle
237        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
238       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
239       &                      mythid, xx_diffkr_dummy )       &                      mythid, xx_diffkr_dummy )
240        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 244  c--   kapgm. Line 256  c--   kapgm.
256        il=ilnblnk( xx_kapgm_file )        il=ilnblnk( xx_kapgm_file )
257        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
258       &     xx_kapgm_file(1:il),'.',optimcycle       &     xx_kapgm_file(1:il),'.',optimcycle
259        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
260       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
261       &                      mythid, xx_kapgm_dummy )       &                      mythid, xx_kapgm_dummy )
262        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 266  c--   y-component EP-flux field. Line 278  c--   y-component EP-flux field.
278        il=ilnblnk( xx_efluxy_file )        il=ilnblnk( xx_efluxy_file )
279        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
280       &     xx_efluxy_file(1:il),'.',optimcycle       &     xx_efluxy_file(1:il),'.',optimcycle
281        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
282       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
283       &                      mythid, xx_efluxy_dummy )       &                      mythid, xx_efluxy_dummy )
284    
# Line 293  c--   p-component EP-flux field. Line 305  c--   p-component EP-flux field.
305        il=ilnblnk( xx_efluxp_file )        il=ilnblnk( xx_efluxp_file )
306        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
307       &     xx_efluxp_file(1:il),'.',optimcycle       &     xx_efluxp_file(1:il),'.',optimcycle
308        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
309       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
310       &                      mythid, xx_efluxp_dummy )       &                      mythid, xx_efluxp_dummy )
311    
# Line 322  c--   bottom drag Line 334  c--   bottom drag
334        il=ilnblnk( xx_bottomdrag_file )        il=ilnblnk( xx_bottomdrag_file )
335        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
336       &     xx_bottomdrag_file(1:il),'.',optimcycle       &     xx_bottomdrag_file(1:il),'.',optimcycle
337        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
338       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
339       &                      mythid, xx_bottomdrag_dummy )       &                      mythid, xx_bottomdrag_dummy )
340        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 350  c-- zonal eddy stress : edtaux Line 362  c-- zonal eddy stress : edtaux
362            do k = 1,nr            do k = 1,nr
363              do j = jmin,jmax              do j = jmin,jmax
364                do i = imin,imax                do i = imin,imax
365                  Eddytaux(i,j,k,bi,bj) = Eddytaux(i,j,k,bi,bj) +                  eddyTauX(i,j,k,bi,bj) = eddyTauX(i,j,k,bi,bj) +
366       &                                tmpfld3d(i,j,k,bi,bj)       &            fCori(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
367                enddo                enddo
368              enddo              enddo
369            enddo            enddo
# Line 372  c-- meridional eddy stress : edtauy Line 384  c-- meridional eddy stress : edtauy
384            do k = 1,nr            do k = 1,nr
385              do j = jmin,jmax              do j = jmin,jmax
386                do i = imin,imax                do i = imin,imax
387                  Eddytauy(i,j,k,bi,bj) = Eddytauy(i,j,k,bi,bj) +                  eddyTauY(i,j,k,bi,bj) = eddyTauY(i,j,k,bi,bj) +
388       &                                tmpfld3d(i,j,k,bi,bj)       &            fCoriG(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
389                enddo                enddo
390              enddo              enddo
391            enddo            enddo
# Line 394  c-- initial zonal velocity Line 406  c-- initial zonal velocity
406            do k = 1,nr            do k = 1,nr
407              do j = jmin,jmax              do j = jmin,jmax
408                do i = imin,imax                do i = imin,imax
409    #ifdef ALLOW_AUTODIFF_OPENAD
410                  uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +                  uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
411       &                              tmpfld3d(i,j,k,bi,bj)       &                                  fac*xx_uvel(i,j,k,bi,bj)
412    #else
413                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
414         &                                  fac*tmpfld3d(i,j,k,bi,bj)
415    #endif
416                enddo                enddo
417              enddo              enddo
418            enddo            enddo
# Line 416  c-- initial merid. velocity Line 433  c-- initial merid. velocity
433            do k = 1,nr            do k = 1,nr
434              do j = jmin,jmax              do j = jmin,jmax
435                do i = imin,imax                do i = imin,imax
436    #ifdef ALLOW_AUTODIFF_OPENAD
437                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
438         &                                  fac*xx_vvel(i,j,k,bi,bj)
439    #else
440                  vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +                  vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
441       &                              tmpfld3d(i,j,k,bi,bj)       &                                  fac*tmpfld3d(i,j,k,bi,bj)
442    #endif
443                enddo                enddo
444              enddo              enddo
445            enddo            enddo
# Line 430  c--   initial Eta. Line 452  c--   initial Eta.
452        il=ilnblnk( xx_etan_file )        il=ilnblnk( xx_etan_file )
453        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
454       &     xx_etan_file(1:il),'.',optimcycle       &     xx_etan_file(1:il),'.',optimcycle
455        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
456       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
457       &                      mythid, xx_etan_dummy )       &                      mythid, xx_etan_dummy )
458        do bj = jtlo,jthi        do bj = jtlo,jthi
459          do bi = itlo,ithi          do bi = itlo,ithi
460            do j = jmin,jmax            do j = jmin,jmax
461              do i = imin,imax              do i = imin,imax
462                etaN(i,j,bi,bj) = etaN(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)  #ifdef ALLOW_AUTODIFF_OPENAD
463                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
464         &                              fac*xx_etan(i,j,bi,bj)
465    #else
466                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
467         &                              fac*tmpfld2d(i,j,bi,bj)
468    #endif
469              enddo              enddo
470            enddo            enddo
471          enddo          enddo
# Line 449  c--   SST relaxation coefficient. Line 477  c--   SST relaxation coefficient.
477        il=ilnblnk( xx_relaxsst_file )        il=ilnblnk( xx_relaxsst_file )
478        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
479       &     xx_relaxsst_file(1:il),'.',optimcycle       &     xx_relaxsst_file(1:il),'.',optimcycle
480        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
481       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
482       &                      mythid, xx_relaxsst_dummy )       &                      mythid, xx_relaxsst_dummy )
483        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 470  c--   SSS relaxation coefficient. Line 498  c--   SSS relaxation coefficient.
498        il=ilnblnk( xx_relaxsss_file )        il=ilnblnk( xx_relaxsss_file )
499        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
500       &     xx_relaxsss_file(1:il),'.',optimcycle       &     xx_relaxsss_file(1:il),'.',optimcycle
501        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
502       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
503       &                      mythid, xx_relaxsss_dummy )       &                      mythid, xx_relaxsss_dummy )
504        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 516  c--   Update the tile edges. Line 544  c--   Update the tile edges.
544  #endif  #endif
545    
546  #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))  #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))
547         CALL EXCH_UV_XYZ_RS(Eddytaux,Eddytauy,.TRUE.,myThid)         CALL EXCH_UV_XYZ_RS(eddyTauX,eddyTauY,.TRUE.,myThid)
548  #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))  #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
549         STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'         STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'
550  #endif  #endif

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.22