New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 15742 for NEMO/branches/UKMO/NEMO_4.0.4_EAP_rheology_fix/src/ICE/icedyn_rhg_evp.F90 – NEMO

Ignore:
Timestamp:
2022-03-08T16:20:40+01:00 (2 years ago)
Author:
emmafiedler
Message:

Merging in R75 strength changes, diagnostics updates and latest changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_EAP_rheology_fix/src/ICE/icedyn_rhg_evp.F90

    r15692 r15742  
    137137      ! 
    138138      REAL(wp), DIMENSION(jpi,jpj) ::   zdelta, zp_delt                 ! delta and P/delta at T points 
    139       REAL(wp), DIMENSION(jpi,jpj) ::   zten_i                          ! tension 
     139      REAL(wp), DIMENSION(jpi,jpj) ::   zten_i, zshear                  ! tension, shear 
    140140      REAL(wp), DIMENSION(jpi,jpj) ::   zbeta                           ! beta coef from Kimmritz 2017 
    141141      ! 
     
    773773               &   ) * 0.25_wp * r1_e1e2t(ji,jj) 
    774774             
    775             ! shear at T points 
     775            ! maximum shear rate at T points (includes tension, output only) 
    776776            pshear_i(ji,jj) = SQRT( zdt2 + zds2 ) 
     777 
     778            ! shear at T-points 
     779            zshear(ji,jj)   = SQRT( zds2 ) 
    777780 
    778781            ! divergence at T points 
     
    789792      END DO 
    790793      CALL lbc_lnk_multi( 'icedyn_rhg_evp', pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1., zten_i, 'T', 1., & 
    791          &                                  zs1     , 'T', 1., zs2    , 'T', 1., zs12    , 'F', 1. ) 
     794         &                                  zs1     , 'T', 1., zs2    , 'T', 1., zs12    , 'F', 1., zshear, 'T', 1. ) 
    792795       
    793796      ! --- Store the stress tensor for the next time step --- ! 
     
    835838               zsig1            =   zfac * ( pdivu_i(ji,jj) - pdelta_i(ji,jj) ) 
    836839               zsig2            =   zfac * z1_ecc2 * zten_i(ji,jj) 
    837                zsig12           =   zfac * z1_ecc2 * pshear_i(ji,jj) 
    838                 
     840               zsig12           =   zfac * z1_ecc2 * zshear(ji,jj) * 0.5_wp 
     841 
    839842               ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008) 
    840843               zsig_I (ji,jj)   =   zsig1 * 0.5_wp                                           ! 1st stress invariant, aka average normal stress, aka negative pressure 
    841                zsig_II(ji,jj)   =   SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 )        ! 2nd  ''       '', aka maximum shear stress 
     844               zsig_II(ji,jj)   =   SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 )        ! 2nd  ''       ''    , aka maximum shear stress 
    842845                
    843846            END DO 
     
    866869               !                        and **deformations** at current iterates 
    867870               !                        following Lemieux & Dupont (2020) 
    868                zfac             =   zp_delt(ji,jj) 
    869                zsig1            =   zfac * ( pdivu_i(ji,jj) - ( zdelta(ji,jj) + rn_creepl ) ) 
     871               zfac             =   strength(ji,jj) / ( pdelta_i(ji,jj) + rn_creepl ) 
     872               zsig1            =   zfac * ( pdivu_i(ji,jj) - zdelta(ji,jj) ) 
    870873               zsig2            =   zfac * z1_ecc2 * zten_i(ji,jj) 
    871                zsig12           =   zfac * z1_ecc2 * pshear_i(ji,jj) 
    872                 
     874               zsig12           =   zfac * z1_ecc2 * zshear(ji,jj) * 0.5_wp 
     875 
    873876               ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008), T-point 
    874877               zsig_I(ji,jj)    =   zsig1 * 0.5_wp                                           ! 1st stress invariant, aka average normal stress, aka negative pressure 
    875                zsig_II(ji,jj)   =   SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 )        ! 2nd  ''       '', aka maximum shear stress 
     878               zsig_II(ji,jj)   =   SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 )        ! 2nd  ''       ''    , aka maximum shear stress 
    876879       
    877880               ! Normalized  principal stresses (used to display the ellipse) 
     
    882885         END DO                
    883886         ! 
    884          IF( iom_use('sig1_pnorm') )  CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00(:,:) )  
     887         IF( iom_use('sig1_pnorm') )  CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00(:,:) )   
    885888         IF( iom_use('sig2_pnorm') )  CALL iom_put( 'sig2_pnorm' , zsig2_p(:,:) * zmsk00(:,:) )  
    886889       
     
    10061009 
    10071010      ! time 
    1008       it = ( kt - 1 ) * kitermax + kiter 
     1011      it = ( kt - nit000 ) * kitermax + kiter 
    10091012       
    10101013      ! convergence 
     
    10261029         istatus = NF90_PUT_VAR( ncvgid, nvarid, (/zresm/), (/it/), (/1/) ) 
    10271030         ! close file 
    1028          IF( kt == nitend - nn_fsbc + 1 )   istatus = NF90_CLOSE(ncvgid) 
     1031         IF( kt == nitend - nn_fsbc + 1 .AND. kiter == kitermax )   istatus = NF90_CLOSE(ncvgid) 
    10291032      ENDIF 
    10301033       
Note: See TracChangeset for help on using the changeset viewer.