/[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.6 by dgoldberg, Mon Jul 30 19:04:55 2012 UTC revision 1.10 by dgoldberg, Thu Sep 27 20:29:01 2012 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 74  C     LOCAL VARIABLES Line 78  C     LOCAL VARIABLES
78  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
79  !$TAF STORE U_streamice = comlev1, key=ikey_dynamics  !$TAF STORE U_streamice = comlev1, key=ikey_dynamics
80  !$TAF STORE V_streamice = comlev1, key=ikey_dynamics  !$TAF STORE V_streamice = comlev1, key=ikey_dynamics
81    #ifdef STREAMICE_HYBRID_STRESS
82    !$TAF STORE streamice_taubx = comlev1, key=ikey_dynamics
83    !$TAF STORE streamice_tauby = comlev1, key=ikey_dynamics
84    !$TAF STORE visc_streamice_full = comlev1, key=ikey_dynamics
85    #endif
86    #endif
87    
88    #ifdef STREAMICE_HYBRID_STRESS
89           CALL STREAMICE_VISC_BETA_HYBRID ( myThid )
90    #else
91           CALL STREAMICE_VISC_BETA ( myThid )
92  #endif  #endif
93    
94        CALL STREAMICE_VISC_BETA ( myThid )  #ifdef STREAMICE_HYBRID_STRESS
95    !$TAF STORE visc_streamice_full = comlev1, key=ikey_dynamics
96    #endif
97    
98        _EXCH_XY_RL ( tau_beta_eff_streamice , myThid )        _EXCH_XY_RL ( tau_beta_eff_streamice , myThid )
99        _EXCH_XY_RL ( visc_streamice , myThid )        _EXCH_XY_RL ( visc_streamice , myThid )
# Line 126  C     LOCAL VARIABLES Line 143  C     LOCAL VARIABLES
143             err_tempu =             err_tempu =
144       &      ABS (Au_SI(i,j,bi,bj)+ubd_SI(i,j,bi,bj) -       &      ABS (Au_SI(i,j,bi,bj)+ubd_SI(i,j,bi,bj) -
145       &           taudx_SI(i,j,bi,bj))       &           taudx_SI(i,j,bi,bj))
146    !            print *, "err_temp_u", err_tempu
147            ENDIF            ENDIF
148            IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN            IF (STREAMICE_vmask(i,j,bi,bj).eq.1) THEN
149             err_tempv = MAX( err_tempu,             err_tempv = MAX( err_tempu,
# Line 168  C       but after convergence loop does Line 186  C       but after convergence loop does
186  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
187  !$TAF STORE cgtol = comlev1_stream_nl, key=ikey_nl  !$TAF STORE cgtol = comlev1_stream_nl, key=ikey_nl
188  !$TAF STORE err_max = comlev1_stream_nl, key=ikey_nl  !$TAF STORE err_max = comlev1_stream_nl, key=ikey_nl
189    !$TAF STORE err_max_fp = comlev1_stream_nl, key=ikey_nl
190  !$TAF STORE err_tempu = comlev1_stream_nl, key=ikey_nl  !$TAF STORE err_tempu = comlev1_stream_nl, key=ikey_nl
191  !$TAF STORE err_tempv = comlev1_stream_nl, key=ikey_nl  !$TAF STORE err_tempv = comlev1_stream_nl, key=ikey_nl
192  !$TAF STORE err_lastchange = comlev1_stream_nl, key=ikey_nl  !$TAF STORE err_lastchange = comlev1_stream_nl, key=ikey_nl
193  !$TAF STORE ru_old_si = comlev1_stream_nl, key=ikey_nl  !$TAF STORE ru_old_si = comlev1_stream_nl, key=ikey_nl
194  !$TAF STORE rv_old_si = comlev1_stream_nl, key=ikey_nl  !$TAF STORE rv_old_si = comlev1_stream_nl, key=ikey_nl
195    !$TAF STORE u_old_si = comlev1_stream_nl, key=ikey_nl
196    !$TAF STORE v_old_si = comlev1_stream_nl, key=ikey_nl
197  !$TAF STORE streamice_cg_a1 = comlev1_stream_nl, key=ikey_nl  !$TAF STORE streamice_cg_a1 = comlev1_stream_nl, key=ikey_nl
198  !$TAF STORE streamice_cg_a2 = comlev1_stream_nl, key=ikey_nl  !$TAF STORE streamice_cg_a2 = comlev1_stream_nl, key=ikey_nl
199  !$TAF STORE streamice_cg_a3 = comlev1_stream_nl, key=ikey_nl  !$TAF STORE streamice_cg_a3 = comlev1_stream_nl, key=ikey_nl
# Line 232  C       but after convergence loop does Line 253  C       but after convergence loop does
253       &       cg_iters,       &       cg_iters,
254       &       myThid )       &       myThid )
255    
256          #ifdef STREAMICE_HYBRID_STRESS
257    #ifdef ALLOW_AUTODIFF_TAMC
258    !$TAF STORE U_streamice = comlev1_stream_nl, key=ikey_nl
259    !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl
260    #endif
261    #endif
262    
263    #ifdef STREAMICE_HYBRID_STRESS
264            CALL STREAMICE_TAUB (myThid)
265    #endif
266    
267         WRITE(msgBuf,'(A,I5,A,I4,A)') 'streamice linear solve number',         WRITE(msgBuf,'(A,I5,A,I4,A)') 'streamice linear solve number',
268       &                       iter, " ",       &                       iter, " ",
# Line 244  C       but after convergence loop does Line 274  C       but after convergence loop does
274  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
275  !$TAF STORE U_streamice = comlev1_stream_nl, key=ikey_nl  !$TAF STORE U_streamice = comlev1_stream_nl, key=ikey_nl
276  !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl  !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl
277    #ifdef STREAMICE_HYBRID_STRESS
278    !$TAF STORE streamice_taubx = comlev1_stream_nl, key=ikey_nl
279    !$TAF STORE streamice_tauby = comlev1_stream_nl, key=ikey_nl
280    !$TAF STORE visc_streamice_full = comlev1_stream_nl, key=ikey_nl
281    #endif
282  #endif  #endif
283    
284    #ifdef STREAMICE_HYBRID_STRESS
285           CALL STREAMICE_VISC_BETA_HYBRID ( myThid )
286    #else
287         CALL STREAMICE_VISC_BETA ( myThid )         CALL STREAMICE_VISC_BETA ( myThid )
288    #endif
289    
290    
291  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 291  C       but after convergence loop does Line 330  C       but after convergence loop does
330  !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl  !$TAF STORE V_streamice = comlev1_stream_nl, key=ikey_nl
331  #endif  #endif
332    
        DO bj = myByLo(myThid), myByHi(myThid)  
         DO bi = myBxLo(myThid), myBxHi(myThid)  
          DO j=1-OLy,sNy+OLy  
           DO i=1-OLx,sNx+OLx  
            u_old_SI (i,j,bi,bj) = U_streamice (i,j,bi,bj)  
            v_old_SI (i,j,bi,bj) = V_streamice (i,j,bi,bj)  
           ENDDO  
          ENDDO  
         ENDDO  
        ENDDO  
   
333         err_max = 0. _d 0         err_max = 0. _d 0
334           err_max_fp = 0. _d 0
335    
336  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
337  !$TAF STORE err_max = comlev1_stream_nl, key=ikey_nl  !$TAF STORE err_max = comlev1_stream_nl, key=ikey_nl
# Line 355  C       but after convergence loop does Line 384  C       but after convergence loop does
384         ENDDO         ENDDO
385    
386         CALL GLOBAL_MAX_R8 (err_max_fp, myThid)         CALL GLOBAL_MAX_R8 (err_max_fp, myThid)
387           WRITE(msgBuf,'(A,E15.7)') '||x_i-x_{i-1}||_inf',
388         &                       err_max_fp
389           CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
390         &                    SQUEEZE_RIGHT , 1)
391    
392         WRITE(msgBuf,'(A,F11.7)') 'err/err_init',         DO bj = myByLo(myThid), myByHi(myThid)
393            DO bi = myBxLo(myThid), myBxHi(myThid)
394             DO j=1-OLy,sNy+OLy
395              DO i=1-OLx,sNx+OLx
396               u_old_SI (i,j,bi,bj) = U_streamice (i,j,bi,bj)
397               v_old_SI (i,j,bi,bj) = V_streamice (i,j,bi,bj)
398              ENDDO
399             ENDDO
400            ENDDO
401           ENDDO
402    
403           WRITE(msgBuf,'(A,E15.7)') 'err/err_init',
404       &                       err_max/err_init       &                       err_max/err_init
405         CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,         CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
406       &                    SQUEEZE_RIGHT , 1)       &                    SQUEEZE_RIGHT , 1)
# Line 390  C--------------------------------------- Line 434  C---------------------------------------
434       &                     SQUEEZE_RIGHT , 1)       &                     SQUEEZE_RIGHT , 1)
435        endif        endif
436    
 !        DO bj = myByLo(myThid), myByHi(myThid)  
 !         DO bi = myBxLo(myThid), myBxHi(myThid)  
 !          DO j=1,sNy  
 !           DO i=1,sNx  
 !            U_streamice (i,j,bi,bj) = 0. _d 0  
 !            V_streamice (i,j,bi,bj) = 0. _d 0  
 !           ENDDO  
 !          ENDDO  
 !         ENDDO  
 !        ENDDO  
 !  
 !        CALL STREAMICE_CG_WRAPPER(  
 !      &       U_streamice,  
 !      &       V_streamice,  
 !      &       taudx_SI,  
 !      &       taudy_SI,  
 !      &       cgtol,  
 !      &       cg_iters,  
 !      &       myThid )  
   
   
437        _EXCH_XY_RL (U_streamice, myThid)        _EXCH_XY_RL (U_streamice, myThid)
438        _EXCH_XY_RL (V_streamice, myThid)        _EXCH_XY_RL (V_streamice, myThid)
439    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22