/[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.16 by heimbach, Mon Feb 28 19:05:12 2005 UTC revision 1.17 by heimbach, Thu Apr 7 23:38:43 2005 UTC
# Line 56  c     == local variables == Line 56  c     == local variables ==
56        logical doglobalread        logical doglobalread
57        logical ladinit        logical ladinit
58    
59        character*( 80)   fnametheta        character*( 80)   fnamegeneric
       character*( 80)   fnamesalt  
       character*( 80)   fnametr1  
       character*( 80)   fnamediffkr  
       character*( 80)   fnamekapgm  
       character*( 80)   fnameefluxy  
       character*( 80)   fnameefluxp  
       character*( 80)   fnamebottomdrag  
       character*( 80)   fnamesss  
       character*( 80)   fnamesst  
       character*( 80)   fnameedtaux  
       character*( 80)   fnameedtauy  
60    
61        _RL     fac        _RL     fac
62        _RL tmptest        _RL tmptest
# Line 102  CEOP Line 91  CEOP
91  #ifdef ALLOW_THETA0_CONTROL  #ifdef ALLOW_THETA0_CONTROL
92  c--   Temperature field.  c--   Temperature field.
93        il=ilnblnk( xx_theta_file )        il=ilnblnk( xx_theta_file )
94        write(fnametheta(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( fnametheta, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
97       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
98       &                      mythid, xx_theta_dummy )       &                      mythid, xx_theta_dummy )
99    
# Line 134  c--   Temperature field. Line 123  c--   Temperature field.
123  #ifdef ALLOW_SALT0_CONTROL  #ifdef ALLOW_SALT0_CONTROL
124  c--   Temperature field.  c--   Temperature field.
125        il=ilnblnk( xx_salt_file )        il=ilnblnk( xx_salt_file )
126        write(fnamesalt(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
127       &     xx_salt_file(1:il),'.',optimcycle       &     xx_salt_file(1:il),'.',optimcycle
128        call active_read_xyz_loc( fnamesalt, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
129       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
130       &                      mythid, xx_salt_dummy )       &                      mythid, xx_salt_dummy )
131    
# Line 165  c--   Temperature field. Line 154  c--   Temperature field.
154  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
155  c--   Temperature field.  c--   Temperature field.
156        il=ilnblnk( xx_tr1_file )        il=ilnblnk( xx_tr1_file )
157        write(fnametr1(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
158       &     xx_tr1_file(1:il),'.',optimcycle       &     xx_tr1_file(1:il),'.',optimcycle
159        call active_read_xyz_loc( fnametr1, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
160       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
161       &                      mythid, xx_tr1_dummy )       &                      mythid, xx_tr1_dummy )
162    
# Line 189  c--   Temperature field. Line 178  c--   Temperature field.
178  #ifdef ALLOW_SST0_CONTROL  #ifdef ALLOW_SST0_CONTROL
179  c--   sst0.  c--   sst0.
180        il=ilnblnk( xx_sst_file )        il=ilnblnk( xx_sst_file )
181        write(fnamesst(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
182       &     xx_sst_file(1:il),'.',optimcycle       &     xx_sst_file(1:il),'.',optimcycle
183        call active_read_xy_loc ( fnamesst, tmpfld2d, 1,        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,
184       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
185       &                      mythid, xx_sst_dummy )       &                      mythid, xx_sst_dummy )
186        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 210  cph              sst(i,j,bi,bj) = sst(i, Line 199  cph              sst(i,j,bi,bj) = sst(i,
199  #ifdef ALLOW_SSS0_CONTROL  #ifdef ALLOW_SSS0_CONTROL
200  c--   sss0.  c--   sss0.
201        il=ilnblnk( xx_sss_file )        il=ilnblnk( xx_sss_file )
202        write(fnamesss(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
203       &     xx_sss_file(1:il),'.',optimcycle       &     xx_sss_file(1:il),'.',optimcycle
204        call active_read_xy_loc ( fnamesss, tmpfld2d, 1,        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,
205       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
206       &                      mythid, xx_sss_dummy )       &                      mythid, xx_sss_dummy )
207        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 231  cph              sss(i,j,bi,bj) = sss(i, Line 220  cph              sss(i,j,bi,bj) = sss(i,
220  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
221  c--   diffkr.  c--   diffkr.
222        il=ilnblnk( xx_diffkr_file )        il=ilnblnk( xx_diffkr_file )
223        write(fnamediffkr(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
224       &     xx_diffkr_file(1:il),'.',optimcycle       &     xx_diffkr_file(1:il),'.',optimcycle
225        call active_read_xyz_loc( fnamediffkr, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
226       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
227       &                      mythid, xx_diffkr_dummy )       &                      mythid, xx_diffkr_dummy )
228        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 253  c--   diffkr. Line 242  c--   diffkr.
242  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
243  c--   kapgm.  c--   kapgm.
244        il=ilnblnk( xx_kapgm_file )        il=ilnblnk( xx_kapgm_file )
245        write(fnamekapgm(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
246       &     xx_kapgm_file(1:il),'.',optimcycle       &     xx_kapgm_file(1:il),'.',optimcycle
247        call active_read_xyz_loc( fnamekapgm, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
248       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
249       &                      mythid, xx_kapgm_dummy )       &                      mythid, xx_kapgm_dummy )
250        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 275  c--   kapgm. Line 264  c--   kapgm.
264  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
265  c--   y-component EP-flux field.  c--   y-component EP-flux field.
266        il=ilnblnk( xx_efluxy_file )        il=ilnblnk( xx_efluxy_file )
267        write(fnameefluxy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
268       &     xx_efluxy_file(1:il),'.',optimcycle       &     xx_efluxy_file(1:il),'.',optimcycle
269        call active_read_xyz_loc( fnameefluxy, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
270       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
271       &                      mythid, xx_efluxy_dummy )       &                      mythid, xx_efluxy_dummy )
272    
# Line 302  cph     & Line 291  cph     &
291  #ifdef ALLOW_EFLUXP0_CONTROL  #ifdef ALLOW_EFLUXP0_CONTROL
292  c--   p-component EP-flux field.  c--   p-component EP-flux field.
293        il=ilnblnk( xx_efluxp_file )        il=ilnblnk( xx_efluxp_file )
294        write(fnameefluxp(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
295       &     xx_efluxp_file(1:il),'.',optimcycle       &     xx_efluxp_file(1:il),'.',optimcycle
296        call active_read_xyz_loc( fnameefluxp, tmpfld3d, 1,        call active_read_xyz_loc( fnamegeneric, tmpfld3d, 1,
297       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
298       &                      mythid, xx_efluxp_dummy )       &                      mythid, xx_efluxp_dummy )
299    
# Line 331  cph     & Line 320  cph     &
320  #ifdef ALLOW_BOTTOMDRAG_CONTROL  #ifdef ALLOW_BOTTOMDRAG_CONTROL
321  c--   bottom drag  c--   bottom drag
322        il=ilnblnk( xx_bottomdrag_file )        il=ilnblnk( xx_bottomdrag_file )
323        write(fnamebottomdrag(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
324       &     xx_bottomdrag_file(1:il),'.',optimcycle       &     xx_bottomdrag_file(1:il),'.',optimcycle
325        call active_read_xy_loc ( fnamebottomdrag, tmpfld2d, 1,        call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,
326       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
327       &                      mythid, xx_bottomdrag_dummy )       &                      mythid, xx_bottomdrag_dummy )
328        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 351  c--   bottom drag Line 340  c--   bottom drag
340  #ifdef ALLOW_EDTAUX_CONTROL  #ifdef ALLOW_EDTAUX_CONTROL
341  c-- zonal eddy stress : edtaux  c-- zonal eddy stress : edtaux
342        il=ilnblnk( xx_edtaux_file )        il=ilnblnk( xx_edtaux_file )
343        write(fnameedtaux(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
344       &     xx_edtaux_file(1:il),'.',optimcycle       &     xx_edtaux_file(1:il),'.',optimcycle
345        call active_read_xyz( fnameedtaux, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
346       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
347       &                      mythid, xx_edtaux_dummy )       &                      mythid, xx_edtaux_dummy )
348        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 373  c-- zonal eddy stress : edtaux Line 362  c-- zonal eddy stress : edtaux
362  #ifdef ALLOW_EDTAUY_CONTROL  #ifdef ALLOW_EDTAUY_CONTROL
363  c-- meridional eddy stress : edtauy  c-- meridional eddy stress : edtauy
364        il=ilnblnk( xx_edtauy_file )        il=ilnblnk( xx_edtauy_file )
365        write(fnameedtauy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
366       &     xx_edtauy_file(1:il),'.',optimcycle       &     xx_edtauy_file(1:il),'.',optimcycle
367        call active_read_xyz( fnameedtauy, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
368       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
369       &                      mythid, xx_edtauy_dummy )       &                      mythid, xx_edtauy_dummy )
370        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 392  c-- meridional eddy stress : edtauy Line 381  c-- meridional eddy stress : edtauy
381        enddo        enddo
382  #endif  #endif
383    
384    #ifdef ALLOW_UVEL0_CONTROL
385    c-- initial zonal velocity
386          il=ilnblnk( xx_uvel_file )
387          write(fnamegeneric(1:80),'(2a,i10.10)')
388         &     xx_uvel_file(1:il),'.',optimcycle
389          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
390         &                      doglobalread, ladinit, optimcycle,
391         &                      mythid, xx_uvel_dummy )
392          do bj = jtlo,jthi
393            do bi = itlo,ithi
394              do k = 1,nr
395                do j = jmin,jmax
396                  do i = imin,imax
397                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
398         &                              tmpfld3d(i,j,k,bi,bj)
399                  enddo
400                enddo
401              enddo
402           enddo
403          enddo
404    #endif
405    
406    #ifdef ALLOW_VVEL0_CONTROL
407    c-- initial merid. velocity
408          il=ilnblnk( xx_vvel_file )
409          write(fnamegeneric(1:80),'(2a,i10.10)')
410         &     xx_vvel_file(1:il),'.',optimcycle
411          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
412         &                      doglobalread, ladinit, optimcycle,
413         &                      mythid, xx_vvel_dummy )
414          do bj = jtlo,jthi
415            do bi = itlo,ithi
416              do k = 1,nr
417                do j = jmin,jmax
418                  do i = imin,imax
419                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
420         &                              tmpfld3d(i,j,k,bi,bj)
421                  enddo
422                enddo
423              enddo
424           enddo
425          enddo
426    #endif
427    
428    #ifdef ALLOW_ETAN0_CONTROL
429    c--   initial Eta.
430          il=ilnblnk( xx_etan_file )
431          write(fnamegeneric(1:80),'(2a,i10.10)')
432         &     xx_etan_file(1:il),'.',optimcycle
433          call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,
434         &                      doglobalread, ladinit, optimcycle,
435         &                      mythid, xx_etan_dummy )
436          do bj = jtlo,jthi
437            do bi = itlo,ithi
438              do j = jmin,jmax
439                do i = imin,imax
440                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
441                enddo
442              enddo
443            enddo
444          enddo
445    #endif
446    
447    #ifdef ALLOW_RELAXSST_CONTROL
448    c--   SST relaxation coefficient.
449          il=ilnblnk( xx_relaxsst_file )
450          write(fnamegeneric(1:80),'(2a,i10.10)')
451         &     xx_relaxsst_file(1:il),'.',optimcycle
452          call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,
453         &                      doglobalread, ladinit, optimcycle,
454         &                      mythid, xx_relaxsst_dummy )
455          do bj = jtlo,jthi
456            do bi = itlo,ithi
457              do j = jmin,jmax
458                do i = imin,imax
459                  lambdaThetaClimRelax(i,j,bi,bj) =
460         &              lambdaThetaClimRelax(i,j,bi,bj)
461         &              + tmpfld2d(i,j,bi,bj)
462                enddo
463              enddo
464            enddo
465          enddo
466    #endif
467    
468    #ifdef ALLOW_RELAXSSS_CONTROL
469    c--   SSS relaxation coefficient.
470          il=ilnblnk( xx_relaxsss_file )
471          write(fnamegeneric(1:80),'(2a,i10.10)')
472         &     xx_relaxsss_file(1:il),'.',optimcycle
473          call active_read_xy_loc ( fnamegeneric, tmpfld2d, 1,
474         &                      doglobalread, ladinit, optimcycle,
475         &                      mythid, xx_relaxsss_dummy )
476          do bj = jtlo,jthi
477            do bi = itlo,ithi
478              do j = jmin,jmax
479                do i = imin,imax
480                  lambdaSaltClimRelax(i,j,bi,bj) =
481         &              lambdaSaltClimRelax(i,j,bi,bj)
482         &              + tmpfld2d(i,j,bi,bj)
483                enddo
484              enddo
485            enddo
486          enddo
487    #endif
488    
489  c--   Update the tile edges.  c--   Update the tile edges.
490    
491  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
# Line 427  c--   Update the tile edges. Line 521  c--   Update the tile edges.
521         STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'         STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'
522  #endif  #endif
523    
524    #ifdef ALLOW_UVEL0_CONTROL
525          _EXCH_XYZ_R8( uVel, mythid)
526    #endif
527    
528    #ifdef ALLOW_VVEL0_CONTROL
529          _EXCH_XYZ_R8( vVel, mythid)
530    #endif
531    
532    #ifdef ALLOW_ETAN0_CONTROL
533          _EXCH_XY_R8( etaN, mythid )
534    #endif
535    
536    #ifdef ALLOW_RELAXSST_CONTROL
537          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
538    #endif
539    
540    #ifdef ALLOW_RELAXSSS_CONTROL
541          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
542    #endif
543    
544        return        return
545        end        end
546    

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

  ViewVC Help
Powered by ViewVC 1.1.22