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 15741 – NEMO

Changeset 15741


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

Add yield curve diagnostics updates to EAP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_ice_strength_EAP/src/ICE/icedyn_rhg_eap.F90

    r15571 r15741  
    155155      REAL(wp), DIMENSION(jpi,jpj) ::   zyield11, zyield22, zyield12    ! yield surface tensor for history 
    156156      REAL(wp), DIMENSION(jpi,jpj) ::   zdelta, zp_delt                 ! delta and P/delta at T points 
    157       REAL(wp), DIMENSION(jpi,jpj) ::   zten_i                          ! tension 
     157      REAL(wp), DIMENSION(jpi,jpj) ::   zten_i, zshear                  ! tension, shear 
    158158      REAL(wp), DIMENSION(jpi,jpj) ::   zbeta                           ! beta coef from Kimmritz 2017 
    159159      ! 
     
    838838               &   ) * 0.25_wp * r1_e1e2t(ji,jj) 
    839839             
    840             ! shear at T points 
     840             
     841            ! maximum shear rate at T points (includes tension, output only) 
    841842            pshear_i(ji,jj) = SQRT( zdt2 + zds2 ) 
     843 
     844            ! shear at T-points 
     845            zshear(ji,jj)   = SQRT( zds2 ) 
    842846 
    843847            ! divergence at T points 
     
    854858      END DO 
    855859      CALL lbc_lnk_multi( 'icedyn_rhg_eap', pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1., zten_i, 'T', 1., & 
    856          &                                  zs1     , 'T', 1., zs2    , 'T', 1., zs12    , 'F', 1. ) 
     860         &                                  zs1     , 'T', 1., zs2    , 'T', 1., zs12    , 'F', 1., zshear, 'T', 1. ) 
    857861       
    858862      ! --- Store the stress tensor for the next time step --- ! 
     
    901905               zsig1            =   zfac * ( pdivu_i(ji,jj) - pdelta_i(ji,jj) ) 
    902906               zsig2            =   zfac * z1_ecc2 * zten_i(ji,jj) 
    903                zsig12           =   zfac * z1_ecc2 * pshear_i(ji,jj) 
     907               zsig12           =   zfac * z1_ecc2 * zshear(ji,jj) * 0.5_wp 
    904908                
    905909               ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008) 
    906910               zsig_I (ji,jj)   =   zsig1 * 0.5_wp                                           ! 1st stress invariant, aka average normal stress, aka negative pressure 
    907                zsig_II(ji,jj)   =   SQRT ( MAX( 0._wp, zsig2 * zsig2 * 0.25_wp + zsig12 ) )  ! 2nd  ''       '', aka maximum shear stress 
     911               zsig_II(ji,jj)   =   SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 )        ! 2nd  ''       ''    , aka maximum shear stress 
    908912                
    909913            END DO 
     
    932936               !                        and **deformations** at current iterates 
    933937               !                        following Lemieux & Dupont (2020) 
    934                zfac             =   zp_delt(ji,jj) 
    935                zsig1            =   zfac * ( pdivu_i(ji,jj) - ( zdelta(ji,jj) + rn_creepl ) ) 
     938               zfac             =   strength(ji,jj) / ( pdelta_i(ji,jj) + rn_creepl ) 
     939               zsig1            =   zfac * ( pdivu_i(ji,jj) - zdelta(ji,jj) ) 
    936940               zsig2            =   zfac * z1_ecc2 * zten_i(ji,jj) 
    937                zsig12           =   zfac * z1_ecc2 * pshear_i(ji,jj) 
     941               zsig12           =   zfac * z1_ecc2 * zshear(ji,jj) * 0.5_wp 
    938942                
    939943               ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008), T-point 
    940944               zsig_I(ji,jj)    =   zsig1 * 0.5_wp                                           ! 1st stress invariant, aka average normal stress, aka negative pressure 
    941                zsig_II(ji,jj)   =   SQRT ( MAX( 0._wp, zsig2 * zsig2 * 0.25_wp + zsig12 ) )  ! 2nd  ''       '', aka maximum shear stress 
     945               zsig_II(ji,jj)   =   SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 )        ! 2nd  ''       ''    , aka maximum shear stress 
    942946       
    943947               ! Normalized  principal stresses (used to display the ellipse) 
     
    948952         END DO                
    949953         ! 
    950          CALL iom_put( 'sig1_pnorm' , zsig1_p )  
    951          CALL iom_put( 'sig2_pnorm' , zsig2_p )  
     954         IF( iom_use('sig1_pnorm') )  CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00(:,:) )  
     955         IF( iom_use('sig2_pnorm') )  CALL iom_put( 'sig2_pnorm' , zsig2_p(:,:) * zmsk00(:,:) )  
    952956       
    953957         DEALLOCATE( zsig1_p , zsig2_p , zsig_I, zsig_II ) 
     
    10881092 
    10891093      ! time 
    1090       it = ( kt - 1 ) * kitermax + kiter 
     1094      it = ( kt - nit000 ) * kitermax + kiter 
    10911095       
    10921096      ! convergence 
     
    11081112         istatus = NF90_PUT_VAR( ncvgid, nvarid, (/zresm/), (/it/), (/1/) ) 
    11091113         ! close file 
    1110          IF( kt == nitend )   istatus = NF90_CLOSE(ncvgid) 
     1114         IF( kt == nitend - nn_fsbc + 1 .AND. kiter == kitermax )   istatus = NF90_CLOSE(ncvgid) 
    11111115      ENDIF 
    11121116       
Note: See TracChangeset for help on using the changeset viewer.