- Timestamp:
- 2013-11-14T18:02:06+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
r4161 r4205 17 17 !!---------------------------------------------------------------------- 18 18 USE ice ! sea-ice variables 19 USE oce , ONLY : snwice_mass, snwice_mass_b 19 20 USE par_ice ! sea-ice parameters 20 21 USE dom_oce ! ocean domain … … 159 160 END DO 160 161 161 CALL iom_rstput( iter, nitrst, numriw, 'u_ice' , u_ice )162 CALL iom_rstput( iter, nitrst, numriw, 'v_ice' , v_ice )163 CALL iom_rstput( iter, nitrst, numriw, 'fsbbq' , fsbbq )164 CALL iom_rstput( iter, nitrst, numriw, ' iatte' , iatte ) ! clem modif165 CALL iom_rstput( iter, nitrst, numriw, ' oatte' , oatte ) ! clem modif166 CALL iom_rstput( iter, nitrst, numriw, 'stress1 _i' , stress1_i)167 CALL iom_rstput( iter, nitrst, numriw, 's tress2_i' , stress2_i )168 CALL iom_rstput( iter, nitrst, numriw, 's tress12_i', stress12_i )162 CALL iom_rstput( iter, nitrst, numriw, 'u_ice' , u_ice ) 163 CALL iom_rstput( iter, nitrst, numriw, 'v_ice' , v_ice ) 164 CALL iom_rstput( iter, nitrst, numriw, 'fsbbq' , fsbbq ) 165 CALL iom_rstput( iter, nitrst, numriw, 'stress1_i' , stress1_i ) 166 CALL iom_rstput( iter, nitrst, numriw, 'stress2_i' , stress2_i ) 167 CALL iom_rstput( iter, nitrst, numriw, 'stress12_i' , stress12_i ) 168 CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass' , snwice_mass ) !clem modif 169 CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass_b', snwice_mass_b ) !clem modif 169 170 170 171 DO jl = 1, jpl … … 371 372 CALL iom_get( numrir, jpdom_autoglo, znam , z2d ) 372 373 t_su(:,:,jl) = z2d(:,:) 373 tn_ice (:,:,:) = t_su (:,:,:) 374 END DO 375 376 DO jl = 1, jpl 377 CALL lbc_lnk( smv_i(:,:,jl) , 'T' , 1. ) 378 CALL lbc_lnk( v_i (:,:,jl) , 'T' , 1. ) 379 CALL lbc_lnk( a_i (:,:,jl) , 'T' , 1. ) 380 END DO 381 382 ! we first with bulk ice salinity 383 DO jl = 1, jpl 384 DO jj = 1, jpj 385 DO ji = 1, jpi 386 zindb = MAX( 0.0 , SIGN( 1.0 , v_i(ji,jj,jl) - 1.0e-4 ) ) 387 sm_i(ji,jj,jl) = smv_i(ji,jj,jl) / MAX(v_i(ji,jj,jl),1.0e-6) * zindb 388 ht_i(ji,jj,jl) = v_i(ji,jj,jl) / MAX(a_i(ji,jj,jl),1.0e-6) * zindb 389 END DO 390 END DO 391 END DO 392 393 DO jk = 1, nlay_i 394 s_i(:,:,jk,:) = sm_i(:,:,:) 395 END DO 396 397 IF( num_sal == 2 ) THEN ! Salinity profile 398 DO jl = 1, jpl 399 DO jk = 1, nlay_i 400 DO jj = 1, jpj 401 DO ji = 1, jpi 402 zs_inf = sm_i(ji,jj,jl) 403 z_slope_s = 2._wp * sm_i(ji,jj,jl) / MAX( 0.01_wp , ht_i(ji,jj,jl) ) 404 !- slope of the salinity profile 405 zs_zero(jk) = z_slope_s * ( REAL(jk,wp) - 0.5_wp ) * ht_i(ji,jj,jl) / REAL(nlay_i,wp) 406 zsmax = 4.5_wp 407 zsmin = 3.5_wp 408 IF( sm_i(ji,jj,jl) < zsmin ) THEN 409 zalpha = 1._wp 410 ELSEIF( sm_i(ji,jj,jl) < zsmax ) THEN 411 zalpha = sm_i(ji,jj,jl) / ( zsmin - zsmax ) + zsmax / ( zsmax - zsmin ) 412 ELSE 413 zalpha = 0._wp 414 ENDIF 415 s_i(ji,jj,jk,jl) = zalpha * zs_zero(jk) + ( 1._wp - zalpha ) * zs_inf 416 END DO 417 END DO 418 END DO 419 END DO 420 ENDIF 374 END DO 421 375 422 376 DO jl = 1, jpl … … 440 394 CALL iom_get( numrir, jpdom_autoglo, 'v_ice' , v_ice ) 441 395 CALL iom_get( numrir, jpdom_autoglo, 'fsbbq' , fsbbq ) 442 CALL iom_get( numrir, jpdom_autoglo, 'iatte' , iatte ) ! clem modif443 CALL iom_get( numrir, jpdom_autoglo, 'oatte' , oatte ) ! clem modif444 396 CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i ) 445 397 CALL iom_get( numrir, jpdom_autoglo, 'stress2_i' , stress2_i ) 446 398 CALL iom_get( numrir, jpdom_autoglo, 'stress12_i', stress12_i ) 399 CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass' , snwice_mass ) !clem modif 400 CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass_b', snwice_mass_b ) !clem modif 447 401 448 402 DO jl = 1, jpl … … 568 522 END DO 569 523 ! 570 ! clem CALL iom_close( numrir )524 !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90 571 525 ! 572 526 CALL wrk_dealloc( nlay_i, zs_zero )
Note: See TracChangeset
for help on using the changeset viewer.