- Timestamp:
- 2020-02-12T13:13:26+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_add_pond_lids_prints/src/ICE/icevar.F90
r12369 r12371 317 317 REAL(wp), PARAMETER :: zsi0 = 3.5_wp 318 318 REAL(wp), PARAMETER :: zsi1 = 4.5_wp 319 320 REAL(wp), PARAMETER :: min_salin = 0.1_wp ! Minimum salinity in sea ice 321 REAL(wp) :: zn ! Fraction of ice depth 322 REAL(wp), PARAMETER :: msal = 0.573_wp 323 REAL(wp), PARAMETER :: nsal = 0.407_wp 324 REAL(wp), PARAMETER :: saltmax = 9.6_wp 325 ! REAL(wp), PARAMETER, DIMENSION(4) :: weights = (/0.06363419, 0.25545967, 0.33155539, 0.34935076/) 326 REAL(wp), PARAMETER, DIMENSION(4) :: weights = (/0.0703805, 0.25526203, 0.32860314, 0.34575433/) 327 319 328 !!------------------------------------------------------------------- 320 329 … … 350 359 DO jj = 1, jpj 351 360 DO ji = 1, jpi 352 zalpha(ji,jj,jl) = MAX( 0._wp , MIN( ( zsi1 - s_i(ji,jj,jl) ) * z1_dS , 1._wp ) )361 zalpha(ji,jj,jl) = 1._wp 353 362 ! ! force a constant profile when SSS too low (Baltic Sea) 354 363 IF( 2._wp * s_i(ji,jj,jl) >= sss_m(ji,jj) ) zalpha(ji,jj,jl) = 0._wp … … 363 372 DO jj = 1, jpj 364 373 DO ji = 1, jpi 365 ! ! linear profile with 0 surface value 366 zs0 = z_slope_s(ji,jj,jl) * ( REAL(jk,wp) - 0.5_wp ) * h_i(ji,jj,jl) * r1_nlay_i 374 375 ! Copied over from CICE 376 ! zn = (real(jk,kind=dbl_kind)-0.5_wp) / real(nlay_i,kind=dbl_kind) 377 ! sz_i(ji,jj,jk,jl)=(saltmax/2.0_wp)*(1.0_wp-cos(pi*zn**(nsal/(msal+zn)))) 378 ! sz_i(ji,jj,jk,jl) = max(sz_i(ji,jj,jk,jl), min_salin) 379 380 ! Weighting method to match CICE 381 zs0 = (s_i(ji,jj,jl)*4.0_wp) * weights(jk) 367 382 zs = zalpha(ji,jj,jl) * zs0 + ( 1._wp - zalpha(ji,jj,jl) ) * s_i(ji,jj,jl) ! weighting the profile 368 383 sz_i(ji,jj,jk,jl) = MIN( rn_simax, MAX( zs, rn_simin ) ) 384 385 386 ! zs0 = z_slope_s(ji,jj,jl) * ( REAL(jk,wp) - 0.5_wp ) * h_i(ji,jj,jl) * r1_nlay_i 387 ! zs = zalpha(ji,jj,jl) * zs0 + ( 1._wp - zalpha(ji,jj,jl) ) * s_i(ji,jj,jl) ! weighting the profile 388 ! sz_i(ji,jj,jk,jl) = MIN( rn_simax, MAX( zs, rn_simin ) ) 369 389 370 390 IF ( jl == 1 .AND. jj == 26 .AND. ji == 42 ) THEN 371 391 write(numout,*) 'icevar: jk, sz_i(ji,jj,jk,jl), s_i(ji,jj,jl), weights(jk) = ',jk, ' ',sz_i(ji,jj,jk,jl), ' ',s_i(ji,jj,jl), ' ',weights(jk) 372 392 ENDIF 393 373 394 END DO 374 395 END DO
Note: See TracChangeset
for help on using the changeset viewer.