/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/streamice_vel_solve.F
ViewVC logotype

Diff of /MITgcm_contrib/dgoldberg/streamice/streamice_vel_solve.F

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

revision 1.9 by heimbach, Thu Sep 20 02:04:45 2012 UTC revision 1.12 by dgoldberg, Thu Mar 7 15:23:19 2013 UTC
# Line 49  C     LOCAL VARIABLES Line 49  C     LOCAL VARIABLES
49  !       _RL taudx (1-OLx:sNx+OLx,1-OLy:sNy+Oly,nSx,nSy)  !       _RL taudx (1-OLx:sNx+OLx,1-OLy:sNy+Oly,nSx,nSy)
50  !       _RL taudy (1-OLx:sNx+OLx,1-OLy:sNy+Oly,nSx,nSy)  !       _RL taudy (1-OLx:sNx+OLx,1-OLy:sNy+Oly,nSx,nSy)
51    
52        CALL STREAMICE_DRIVING_STRESS (myThid)        IF (STREAMICE_ppm_driving_stress) THEN
53           CALL STREAMICE_DRIVING_STRESS_PPM (myThid)
54          ELSE
55           CALL STREAMICE_DRIVING_STRESS (myThid)
56          ENDIF
57    
58        cgtol = streamice_cg_tol        cgtol = streamice_cg_tol
59    
# Line 111  C     LOCAL VARIABLES Line 115  C     LOCAL VARIABLES
115        CALL STREAMICE_CG_BOUND_VALS( myThid,            CALL STREAMICE_CG_BOUND_VALS( myThid,    
116       O    ubd_SI,       O    ubd_SI,
117       O    vbd_SI)       O    vbd_SI)
118          
119    
120    !      CALL WRITE_FLD_XY_RL("u_bound_cont","",ubd_SI,0,myThid)
121    !      CALL WRITE_FLD_XY_RL("v_bound_cont","",vbd_SI,0,myThid)
122    !      CALL WRITE_FLD_XY_RL("taudx_u","",taudx_SI,0,myThid)
123    !      CALL WRITE_FLD_XY_RL("taudx_v","",taudy_SI,0,myThid)
124    
125  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
126  !$TAF STORE U_streamice = comlev1, key=ikey_dynamics  !$TAF STORE U_streamice = comlev1, key=ikey_dynamics
# Line 124  C     LOCAL VARIABLES Line 134  C     LOCAL VARIABLES
134       I    V_streamice,       I    V_streamice,
135       I    0, sNx+1, 0, sNy+1 )       I    0, sNx+1, 0, sNy+1 )
136    
137    
138    
139        err_init = 0. _d 0        err_init = 0. _d 0
140    
141        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
# Line 137  C     LOCAL VARIABLES Line 149  C     LOCAL VARIABLES
149            err_tempv = 0. _d 0            err_tempv = 0. _d 0
150            IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN            IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN
151             err_tempu =             err_tempu =
152       &      ABS (Au_SI(i,j,bi,bj)+ubd_SI(i,j,bi,bj) -       &      ABS (Au_SI(i,j,bi,bj)+0*ubd_SI(i,j,bi,bj) -
153       &           taudx_SI(i,j,bi,bj))       &           taudx_SI(i,j,bi,bj))
154  !            print *, "err_temp_u", err_tempu  !            print *, "err_temp_u", err_tempu
155            ENDIF            ENDIF
156            IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN            IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
157             err_tempv = MAX( err_tempu,             err_tempv = MAX( err_tempu,
158       &      ABS (Av_SI(i,j,bi,bj)+vbd_SI(i,j,bi,bj) -       &      ABS (Av_SI(i,j,bi,bj)+0*vbd_SI(i,j,bi,bj) -
159       &           taudy_SI(i,j,bi,bj)))       &           taudy_SI(i,j,bi,bj)))
160            ENDIF            ENDIF
161            IF (err_tempv .ge. err_init) err_init = err_tempv            IF (err_tempv .ge. err_init) THEN
162                err_init = err_tempv
163              ENDIF
164           ENDDO           ENDDO
165          ENDDO          ENDDO
166         ENDDO         ENDDO
# Line 321  C       but after convergence loop does Line 335  C       but after convergence loop does
335       I    V_streamice,       I    V_streamice,
336       I    0, sNx+1, 0, sNy+1 )       I    0, sNx+1, 0, sNy+1 )
337    
338          if (iter .eq. streamice_max_nl_iter) then
339          CALL WRITE_FLD_XY_RL("u_bound_cont_A","",ubd_SI,0,myThid)
340          CALL WRITE_FLD_XY_RL("v_bound_cont_A","",vbd_SI,0,myThid)
341          CALL WRITE_FLD_XY_RL("u_bound_cont_B","",Au_SI,0,myThid)
342          CALL WRITE_FLD_XY_RL("v_bound_cont_B","",Av_SI,0,myThid)
343          endif
344    
345  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
346  !$TAF STORE U_streamice = comlev1_stream_nl, key=ikey_nl  !$TAF STORE U_streamice = comlev1_stream_nl, key=ikey_nl
347  !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl  !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl
# Line 343  C       but after convergence loop does Line 364  C       but after convergence loop does
364             err_tempv = 0. _d 0             err_tempv = 0. _d 0
365             IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN             IF (STREAMICE_umask(i,j,bi,bj).eq.1) THEN
366              err_tempu =              err_tempu =
367       &       ABS (Au_SI(i,j,bi,bj)+ubd_SI(i,j,bi,bj) -       &       ABS (Au_SI(i,j,bi,bj)+0*ubd_SI(i,j,bi,bj) -
368       &            taudx_SI(i,j,bi,bj))       &            taudx_SI(i,j,bi,bj))
369             ENDIF             ENDIF
370             IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN             IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
371              err_tempv = MAX( err_tempu,              err_tempv = MAX( err_tempu,
372       &       ABS (Av_SI(i,j,bi,bj)+vbd_SI(i,j,bi,bj) -       &       ABS (Av_SI(i,j,bi,bj)+0*vbd_SI(i,j,bi,bj) -
373       &            taudy_SI(i,j,bi,bj)))       &            taudy_SI(i,j,bi,bj)))
374             ENDIF             ENDIF
375             IF (err_tempv .ge. err_max) err_max = err_tempv  !           if (err_tempu.ge.1.e2.or.err_tempv.ge.1.e2) THEN
376    !            print *, "FOUND MAX ", i,j,err_tempu,err_tempv,
377    !     &      ubd_SI(i,j,bi,bj),vbd_SI(i,j,bi,bj)
378    !           endif
379               IF (err_tempv .ge. err_max) THEN
380                err_max = err_tempv
381               ENDIF
382            ENDDO            ENDDO
383           ENDDO           ENDDO
384          ENDDO          ENDDO
# Line 432  C--------------------------------------- Line 459  C---------------------------------------
459    
460        _EXCH_XY_RL (U_streamice, myThid)        _EXCH_XY_RL (U_streamice, myThid)
461        _EXCH_XY_RL (V_streamice, myThid)        _EXCH_XY_RL (V_streamice, myThid)
462    !      CALL WRITE_FLD_XY_RL("taubx","",streamice_taubx,0,myThid)
463    !      CALL WRITE_FLD_XY_RL("tauby","",streamice_tauby,0,myThid)
464    
465  #endif  #endif
466        RETURN        RETURN

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

  ViewVC Help
Powered by ViewVC 1.1.22