- Timestamp:
- 2017-09-08T19:53:20+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90
r8514 r8516 20 20 USE icerhg_evp ! sea-ice: EVP rheology 21 21 USE icectl ! sea-ice: control prints 22 USE icevar ! sea-ice: operations23 22 ! 24 23 USE lbclnk ! lateral boundary conditions - MPP exchanges … … 55 54 INTEGER, INTENT(in) :: kt ! ice time step 56 55 !! 57 INTEGER :: jl ! dummy loop indices58 56 REAL(wp) :: zvi_b, zsmv_b, zei_b, zfs_b, zfw_b, zft_b 59 57 !!-------------------------------------------------------------------- … … 66 64 WRITE(numout,*)'~~~~~~~' 67 65 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) 68 68 69 CALL ice_var_agg(1) ! -- aggregate ice categories70 !71 ! ! -- conservation test72 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 friction75 tau_icebfr(:,:) = 0._wp76 DO jl = 1, jpl77 WHERE( ht_i(:,:,jl) > ht_n(:,:) * rn_gamma ) tau_icebfr(:,:) = tau_icebfr(:,:) + a_i(:,:,jl) * rn_icebfr78 END DO79 ENDIF80 81 69 ! ----------------------- 82 70 ! Rheology (ice dynamics) 83 71 ! ----------------------- 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 ) 96 73 ! 97 ! 74 ! !- conservation test 98 75 IF( ln_icediachk ) CALL ice_cons_hsm(1, 'icerhg', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 99 76 IF( ln_ctl ) CALL ice_prt3D ('icerhg') !- Control prints … … 117 94 INTEGER :: ios ! Local integer output status for namelist read 118 95 !! 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 121 97 !!------------------------------------------------------------------- 122 98 ! … … 135 111 WRITE(numout,*) '~~~~~~~~~~~~' 136 112 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 140 114 WRITE(numout,*) ' creep limit rn_creepl = ', rn_creepl 141 115 WRITE(numout,*) ' eccentricity of the elliptical yield curve rn_ecc = ', rn_ecc 142 116 WRITE(numout,*) ' number of iterations for subcycling nn_nevp = ', nn_nevp 143 117 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_landfast145 WRITE(numout,*) ' fraction of ocean depth that ice must reach rn_gamma = ', rn_gamma146 WRITE(numout,*) ' maximum bottom stress per unit area of contact rn_icebfr = ', rn_icebfr147 WRITE(numout,*) ' relax time scale (s-1) to reach static friction rn_lfrelax = ', rn_lfrelax148 118 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 ENDIF155 !156 IF( .NOT. ln_landfast ) tau_icebfr(:,:) = 0._wp ! NO Landfast ice : set to zero one for all157 119 ! 158 120 END SUBROUTINE ice_rhg_init
Note: See TracChangeset
for help on using the changeset viewer.