Back to home page

MITgcm

 
 

    


File indexing completed on 2023-09-21 05:10:52 UTC

view on githubraw file Latest commit 96b00645 on 2023-09-20 15:15:14 UTC
5ca83cd8f7 Dani*0001 #include "STREAMICE_OPTIONS.h"
                0002 
                0003 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0004 
                0005 CBOP
                0006       SUBROUTINE STREAMICE_TAUB ( myThid )
                0007 
                0008 C     /============================================================\
96b006450c dngo*0009 C     | SUBROUTINE                                                 |
5ca83cd8f7 Dani*0010 C     | o                                                          |
                0011 C     |============================================================|
                0012 C     |                                                            |
                0013 C     \============================================================/
                0014       IMPLICIT NONE
                0015 
                0016 C     === Global variables ===
                0017 #include "SIZE.h"
                0018 #include "GRID.h"
                0019 #include "EEPARAMS.h"
                0020 #include "PARAMS.h"
                0021 #include "STREAMICE.h"
                0022 #include "STREAMICE_CG.h"
                0023 
                0024 C     !INPUT/OUTPUT ARGUMENTS
                0025       INTEGER myThid
96b006450c dngo*0026 c       _RL taudx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0027 c       _RL taudx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
5ca83cd8f7 Dani*0028 
                0029 #ifdef ALLOW_STREAMICE
                0030 #ifdef STREAMICE_HYBRID_STRESS
                0031 
                0032 C     LOCAL VARIABLES
                0033       INTEGER i, j, bi, bj, k, l
                0034       _RL umid, vmid
                0035 
                0036       DO bj=myByLo(myThid),myByHi(myThid)
                0037        DO bi=myBxLo(myThid),myBxHi(myThid)
                0038         DO j=1,sNy
                0039          DO i=1,sNx
                0040 cph(
95afe7199b Dani*0041 #if (defined (ALLOW_OPENAD) && defined (ALLOW_STREAMICE_OAD_FP))
                0042           taubx_new_si (i,j,bi,bj) = 0.
                0043           tauby_new_si (i,j,bi,bj) = 0.
                0044 #else
5ca83cd8f7 Dani*0045           streamice_taubx (i,j,bi,bj) = 0.
                0046           streamice_tauby (i,j,bi,bj) = 0.
95afe7199b Dani*0047 #endif
5ca83cd8f7 Dani*0048 cph)
                0049           IF (STREAMICE_hmask(i,j,bi,bj).eq.1) THEN
96b006450c dngo*0050 
                0051 c            streamice_taubx (i,j,bi,bj) =
                0052 c      &      tau_beta_eff_streamice(i,j,bi,bj) * U_streamice(i,j,bi,bj)
                0053 c            streamice_tauby (i,j,bi,bj) =
                0054 c      &      tau_beta_eff_streamice(i,j,bi,bj) * V_streamice(i,j,bi,bj)
5ca83cd8f7 Dani*0055 
                0056            umid = 0.0
                0057            vmid = 0.0
                0058 
                0059            DO k=0,1
                0060             DO l=0,1
96b006450c dngo*0061              umid = umid + 0.25 *
                0062      &        dxG(i,j+l,bi,bj)*dyG(i+k,j,bi,bj) *
5ca83cd8f7 Dani*0063      &        recip_rA(i,j,bi,bj) *
351fd6b6a4 Dani*0064 #if (defined (ALLOW_STREAMICE_OAD_FP))
96b006450c dngo*0065      &        U_new_si(i+k,j+l,bi,bj)
351fd6b6a4 Dani*0066 #else
96b006450c dngo*0067      &        U_streamice(i+k,j+l,bi,bj)
351fd6b6a4 Dani*0068 #endif
96b006450c dngo*0069              vmid = vmid + 0.25 *
                0070      &        dxG(i,j+l,bi,bj)*dyG(i+k,j,bi,bj) *
5ca83cd8f7 Dani*0071      &        recip_rA(i,j,bi,bj) *
351fd6b6a4 Dani*0072 #if (defined (ALLOW_STREAMICE_OAD_FP))
                0073      &        V_new_si(i+k,j+l,bi,bj)
                0074 #else
5ca83cd8f7 Dani*0075      &        V_streamice(i+k,j+l,bi,bj)
351fd6b6a4 Dani*0076 #endif
5ca83cd8f7 Dani*0077             ENDDO
                0078            ENDDO
96b006450c dngo*0079 
351fd6b6a4 Dani*0080 #if (defined (ALLOW_STREAMICE_OAD_FP))
96b006450c dngo*0081            taubx_new_si (i,j,bi,bj) =
95afe7199b Dani*0082      &      tau_beta_eff_streamice(i,j,bi,bj) * umid
96b006450c dngo*0083            tauby_new_si (i,j,bi,bj) =
95afe7199b Dani*0084      &      tau_beta_eff_streamice(i,j,bi,bj) * vmid
                0085 #else
96b006450c dngo*0086            streamice_taubx (i,j,bi,bj) =
5ca83cd8f7 Dani*0087      &      tau_beta_eff_streamice(i,j,bi,bj) * umid
96b006450c dngo*0088            streamice_tauby (i,j,bi,bj) =
5ca83cd8f7 Dani*0089      &      tau_beta_eff_streamice(i,j,bi,bj) * vmid
95afe7199b Dani*0090 #endif
5ca83cd8f7 Dani*0091           ENDIF
                0092          ENDDO
                0093         ENDDO
                0094        ENDDO
                0095       ENDDO
                0096 
                0097 #endif
                0098 #endif
                0099       RETURN
                0100       END