Changeset 10332 for NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
- Timestamp:
- 2018-11-19T13:02:15+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/ICE/icedyn_rhg_evp.F90
r10069 r10332 26 26 USE sbc_ice , ONLY : utau_ice, vtau_ice, snwice_mass, snwice_mass_b 27 27 USE ice ! sea-ice: ice variables 28 USE icevar ! ice_var_sshdyn 28 29 USE icedyn_rdgrft ! sea-ice: ice strength 29 30 USE bdy_oce , ONLY : ln_bdy … … 143 144 REAL(wp), DIMENSION(jpi,jpj) :: zs1, zs2, zs12 ! stress tensor components 144 145 REAL(wp), DIMENSION(jpi,jpj) :: zu_ice, zv_ice, zresr ! check convergence 145 REAL(wp), DIMENSION(jpi,jpj) :: z pice! array used for the calculation of ice surface slope:146 REAL(wp), DIMENSION(jpi,jpj) :: zssh_lead_m ! array used for the calculation of ice surface slope: 146 147 ! ! ocean surface (ssh_m) if ice is not embedded 147 148 ! ! ice top surface if ice is embedded … … 261 262 !------------------------------------------------------------------------------! 262 263 263 IF( ln_ice_embd ) THEN !== embedded sea ice: compute representative ice top surface ==! 264 ! 265 ! average interpolation coeff as used in dynspg = (1/nn_fsbc) * {SUM[n/nn_fsbc], n=0,nn_fsbc-1} 266 ! = (1/nn_fsbc)^2 * {SUM[n] , n=0,nn_fsbc-1} 267 zintn = REAL( nn_fsbc - 1 ) / REAL( nn_fsbc ) * 0.5_wp 268 ! 269 ! average interpolation coeff as used in dynspg = (1/nn_fsbc) * {SUM[1-n/nn_fsbc], n=0,nn_fsbc-1} 270 ! = (1/nn_fsbc)^2 * (nn_fsbc^2 - {SUM[n], n=0,nn_fsbc-1}) 271 zintb = REAL( nn_fsbc + 1 ) / REAL( nn_fsbc ) * 0.5_wp 272 ! 273 zpice(:,:) = ssh_m(:,:) + ( zintn * snwice_mass(:,:) + zintb * snwice_mass_b(:,:) ) * r1_rau0 274 ! 275 ELSE !== non-embedded sea ice: use ocean surface for slope calculation ==! 276 zpice(:,:) = ssh_m(:,:) 277 ENDIF 264 !== embedded sea ice: compute representative ice top surface ==! 265 !== non-embedded sea ice: use ocean surface for slope calculation ==! 266 zssh_lead_m(:,:) = ice_var_sshdyn( ssh_m, snwice_mass, snwice_mass_b) 278 267 279 268 DO jj = 2, jpjm1 … … 313 302 314 303 ! Surface pressure gradient (- m*g*GRAD(ssh)) at U-V points 315 zspgU(ji,jj) = - zmassU * grav * ( z pice(ji+1,jj) - zpice(ji,jj) ) * r1_e1u(ji,jj)316 zspgV(ji,jj) = - zmassV * grav * ( z pice(ji,jj+1) - zpice(ji,jj) ) * r1_e2v(ji,jj)304 zspgU(ji,jj) = - zmassU * grav * ( zssh_lead_m(ji+1,jj) - zssh_lead_m(ji,jj) ) * r1_e1u(ji,jj) 305 zspgV(ji,jj) = - zmassV * grav * ( zssh_lead_m(ji,jj+1) - zssh_lead_m(ji,jj) ) * r1_e2v(ji,jj) 317 306 318 307 ! masks
Note: See TracChangeset
for help on using the changeset viewer.