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 11877 for NEMO/branches/2019/dev_r11842_SI3-10_EAP – NEMO

Ignore:
Timestamp:
2019-11-08T17:27:43+01:00 (4 years ago)
Author:
stefryn
Message:

add initialisation and restart of sturcture tensor

Location:
NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/ICE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/ICE/ice.F90

    r11627 r11877  
    225225   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   divu_i      !: Divergence of the velocity field             [s-1] 
    226226   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   shear_i     !: Shear of the velocity field                  [s-1] 
     227   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   aniso_11, aniso_12   !: structure tensor elements 
    227228   ! 
    228229   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   t_bo        !: Sea-Ice bottom temperature [Kelvin]      
     
    407408      ALLOCATE( u_oce    (jpi,jpj) , v_oce    (jpi,jpj) , ht_i_new  (jpi,jpj) , strength(jpi,jpj) ,  & 
    408409         &      stress1_i(jpi,jpj) , stress2_i(jpi,jpj) , stress12_i(jpi,jpj) ,                      & 
    409          &      delta_i  (jpi,jpj) , divu_i   (jpi,jpj) , shear_i   (jpi,jpj) , STAT=ierr(ii) ) 
     410         &      delta_i  (jpi,jpj) , divu_i   (jpi,jpj) , shear_i   (jpi,jpj) ,                      & 
     411         &      aniso_11 (jpi,jpj) , aniso_12 (jpi,jpj) , STAT=ierr(ii) ) 
    410412 
    411413      ii = ii + 1 
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/ICE/icedyn_rhg.F90

    r11867 r11877  
    8686      CASE( np_rhgEAP )                ! Elasto-Anisotropic-Plastic ! 
    8787         !                             !----------------------------! 
    88          CALL ice_dyn_rhg_eap( kt, stress1_i, stress2_i, stress12_i, shear_i, divu_i, delta_i ) 
     88         CALL ice_dyn_rhg_eap( kt, stress1_i, stress2_i, stress12_i, shear_i, divu_i, delta_i, aniso_11, aniso_12 ) 
    8989      END SELECT 
    9090      ! 
  • NEMO/branches/2019/dev_r11842_SI3-10_EAP/src/ICE/icedyn_rhg_eap.F90

    r11867 r11877  
    5656CONTAINS 
    5757 
    58    SUBROUTINE ice_dyn_rhg_eap( kt, pstress1_i, pstress2_i, pstress12_i, pshear_i, pdivu_i, pdelta_i ) 
     58   SUBROUTINE ice_dyn_rhg_eap( kt, pstress1_i, pstress2_i, pstress12_i, pshear_i, pdivu_i, pdelta_i, aniso_11, aniso_12 ) 
    5959      !!------------------------------------------------------------------- 
    6060      !!                 ***  SUBROUTINE ice_dyn_rhg_eap  *** 
     
    111111      REAL(wp), DIMENSION(:,:), INTENT(inout) ::   pstress1_i, pstress2_i, pstress12_i   ! 
    112112      REAL(wp), DIMENSION(:,:), INTENT(  out) ::   pshear_i  , pdivu_i   , pdelta_i      ! 
     113      REAL(wp), DIMENSION(:,:), INTENT(inout) ::   aniso_11, aniso_12   ! structure tensor components 
    113114      !! 
    114115      INTEGER ::   ji, jj       ! dummy loop indices 
     
    867868      ! 
    868869      INTEGER  ::   iter            ! local integer 
    869       INTEGER  ::   id1, id2, id3   ! local integers 
     870      INTEGER  ::   id1, id2, id3, id4, id5   ! local integers 
    870871      !!---------------------------------------------------------------------- 
    871872      ! 
     
    877878            id2 = iom_varid( numrir, 'stress2_i' , ldstop = .FALSE. ) 
    878879            id3 = iom_varid( numrir, 'stress12_i', ldstop = .FALSE. ) 
    879             ! 
    880             IF( MIN( id1, id2, id3 ) > 0 ) THEN      ! fields exist 
     880            id4 = iom_varid( numrir, 'aniso_11' , ldstop = .FALSE. ) 
     881            id5 = iom_varid( numrir, 'aniso_12' , ldstop = .FALSE. ) 
     882            ! 
     883            IF( MIN( id1, id2, id3, id4, id5 ) > 0 ) THEN      ! fields exist 
    881884               CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i  ) 
    882885               CALL iom_get( numrir, jpdom_autoglo, 'stress2_i' , stress2_i  ) 
    883886               CALL iom_get( numrir, jpdom_autoglo, 'stress12_i', stress12_i ) 
     887               CALL iom_get( numrir, jpdom_autoglo, 'aniso_11' , aniso_11 ) 
     888               CALL iom_get( numrir, jpdom_autoglo, 'aniso_12' , aniso_12 ) 
    884889            ELSE                                     ! start rheology from rest 
    885890               IF(lwp) WRITE(numout,*) 
     
    888893               stress2_i (:,:) = 0._wp 
    889894               stress12_i(:,:) = 0._wp 
     895               aniso_11 (:,:) = 0.5_wp 
     896               aniso_12 (:,:) = 0._wp 
    890897            ENDIF 
    891898         ELSE                                   !* Start from rest 
     
    895902            stress2_i (:,:) = 0._wp 
    896903            stress12_i(:,:) = 0._wp 
     904            aniso_11 (:,:) = 0.5_wp 
     905            aniso_12 (:,:) = 0._wp 
    897906         ENDIF 
    898907         ! 
     
    905914         CALL iom_rstput( iter, nitrst, numriw, 'stress2_i' , stress2_i  ) 
    906915         CALL iom_rstput( iter, nitrst, numriw, 'stress12_i', stress12_i ) 
     916         CALL iom_rstput( iter, nitrst, numriw, 'aniso_11' , aniso_11 ) 
     917         CALL iom_rstput( iter, nitrst, numriw, 'aniso_12' , aniso_12 ) 
    907918         ! 
    908919      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.