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 8516 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90 – NEMO

Ignore:
Timestamp:
2017-09-08T19:53:20+02:00 (7 years ago)
Author:
clem
Message:

changes in style - part5 - I think I can see the end of the tunnel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90

    r8514 r8516  
    2020   USE icerhg_evp     ! sea-ice: EVP rheology 
    2121   USE icectl         ! sea-ice: control prints 
    22    USE icevar         ! sea-ice: operations 
    2322   ! 
    2423   USE lbclnk         ! lateral boundary conditions - MPP exchanges 
     
    5554      INTEGER, INTENT(in) ::   kt     ! ice time step 
    5655      !! 
    57       INTEGER  ::   jl   ! dummy loop indices 
    5856      REAL(wp) :: zvi_b, zsmv_b, zei_b, zfs_b, zfw_b, zft_b  
    5957      !!-------------------------------------------------------------------- 
     
    6664         WRITE(numout,*)'~~~~~~~' 
    6765      ENDIF 
     66      !                             ! -- conservation test 
     67      IF( ln_icediachk   )   CALL ice_cons_hsm(0, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    6868 
    69       CALL ice_var_agg(1)           ! -- aggregate ice categories 
    70       ! 
    71       !                             ! -- conservation test 
    72       IF( ln_icediachk )   CALL ice_cons_hsm(0, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    73       !                       
    74       IF( ln_landfast ) THEN        ! -- Landfast ice parameterization: define max bottom friction 
    75          tau_icebfr(:,:) = 0._wp 
    76          DO jl = 1, jpl 
    77             WHERE( ht_i(:,:,jl) > ht_n(:,:) * rn_gamma )   tau_icebfr(:,:) = tau_icebfr(:,:) + a_i(:,:,jl) * rn_icebfr 
    78          END DO 
    79       ENDIF 
    80        
    8169      ! ----------------------- 
    8270      ! Rheology (ice dynamics) 
    8371      ! -----------------------    
    84       IF( nn_icedyn /= 0 ) THEN     ! -- Ice dynamics 
    85          ! 
    86          CALL ice_rhg_evp( kt, stress1_i, stress2_i, stress12_i, u_ice, v_ice, shear_i, divu_i, delta_i ) 
    87          ! 
    88       ELSE                          ! -- prescribed uniform velocity 
    89          ! 
    90          u_ice(:,:) = rn_uice * umask(:,:,1) 
    91          v_ice(:,:) = rn_vice * vmask(:,:,1) 
    92          !!CALL RANDOM_NUMBER(u_ice(:,:)) 
    93          !!CALL RANDOM_NUMBER(v_ice(:,:)) 
    94          ! 
    95       ENDIF 
     72      CALL ice_rhg_evp( kt, stress1_i, stress2_i, stress12_i, u_ice, v_ice, shear_i, divu_i, delta_i ) 
    9673      ! 
    97       !                                                   !- conservation test 
     74      !                             !- conservation test 
    9875      IF( ln_icediachk   )   CALL ice_cons_hsm(1, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    9976      IF( ln_ctl         )   CALL ice_prt3D  ('icerhg')   !- Control prints 
     
    11794      INTEGER ::   ios   ! Local integer output status for namelist read 
    11895      !! 
    119       NAMELIST/namice_rhg/  rn_ishlat  , rn_cio   , rn_creepl, rn_ecc , nn_nevp, rn_relast,   & 
    120          &                ln_landfast, rn_gamma , rn_icebfr, rn_lfrelax 
     96      NAMELIST/namice_rhg/  ln_rhg_EVP, rn_creepl, rn_ecc , nn_nevp, rn_relast 
    12197      !!------------------------------------------------------------------- 
    12298      ! 
     
    135111         WRITE(numout,*) '~~~~~~~~~~~~' 
    136112         WRITE(numout,*) '   Namelist namice_rhg' 
    137         WRITE(numout,*) '      rheology EVP (icerhg_evp)' 
    138          WRITE(numout,*) '         lateral boundary condition for sea ice dynamics          rn_ishlat     = ', rn_ishlat 
    139          WRITE(numout,*) '         drag coefficient for oceanic stress                      rn_cio        = ', rn_cio 
     113         WRITE(numout,*) '      rheology EVP (icerhg_evp)                                   ln_rhg_EVP    = ', ln_rhg_EVP 
    140114         WRITE(numout,*) '         creep limit                                              rn_creepl     = ', rn_creepl 
    141115         WRITE(numout,*) '         eccentricity of the elliptical yield curve               rn_ecc        = ', rn_ecc 
    142116         WRITE(numout,*) '         number of iterations for subcycling                      nn_nevp       = ', nn_nevp 
    143117         WRITE(numout,*) '         ratio of elastic timescale over ice time step            rn_relast     = ', rn_relast 
    144          WRITE(numout,*) '      Landfast: param (T or F)                                    ln_landfast   = ', ln_landfast 
    145          WRITE(numout,*) '         fraction of ocean depth that ice must reach              rn_gamma      = ', rn_gamma 
    146          WRITE(numout,*) '         maximum bottom stress per unit area of contact           rn_icebfr     = ', rn_icebfr 
    147          WRITE(numout,*) '         relax time scale (s-1) to reach static friction          rn_lfrelax    = ', rn_lfrelax 
    148118      ENDIF 
    149       ! 
    150       IF     (      rn_ishlat == 0.                ) THEN   ;   IF(lwp) WRITE(numout,*) '   ===>>>   ice lateral  free-slip' 
    151       ELSEIF (      rn_ishlat == 2.                ) THEN   ;   IF(lwp) WRITE(numout,*) '   ===>>>   ice lateral  no-slip' 
    152       ELSEIF ( 0. < rn_ishlat .AND. rn_ishlat < 2. ) THEN   ;   IF(lwp) WRITE(numout,*) '   ===>>>   ice lateral  partial-slip' 
    153       ELSEIF ( 2. < rn_ishlat                      ) THEN   ;   IF(lwp) WRITE(numout,*) '   ===>>>   ice lateral  strong-slip' 
    154       ENDIF 
    155       ! 
    156       IF( .NOT. ln_landfast )   tau_icebfr(:,:) = 0._wp     ! NO Landfast ice : set to zero one for all 
    157119      ! 
    158120   END SUBROUTINE ice_rhg_init 
Note: See TracChangeset for help on using the changeset viewer.