Changeset 4155 for branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3
- Timestamp:
- 2013-11-05T15:24:22+01:00 (11 years ago)
- Location:
- branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
r4099 r4155 188 188 REAL(wp), PUBLIC :: alphaevp = 1._wp !: coeficient of the internal stresses !SB 189 189 REAL(wp), PUBLIC :: unit_fac = 1.e+09_wp !: conversion factor for ice / snow enthalpy 190 REAL(wp), PUBLIC :: hminrhg = 0.0 5_wp !: clem : ice thickness (in m) below which ice velocity is set to ocean velocity190 REAL(wp), PUBLIC :: hminrhg = 0.001_wp !: clem : ice volume (a*h, in m) below which ice velocity is set to ocean velocity 191 191 192 192 ! !!** ice-salinity namelist (namicesal) ** -
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90
r4099 r4155 135 135 ln_nicep = .FALSE. 136 136 CALL ctl_warn( 'ice_run : specific control print for LIM3 desactivated with MPI' ) 137 ENDIF 137 ENDIF 138 138 ! 139 139 IF(lwp) THEN ! control print -
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limdyn.F90
r4072 r4155 224 224 ENDIF 225 225 ! 226 227 226 ! ------------------------------- 228 227 !- check conservation (C Rousset) -
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90
r4072 r4155 161 161 ! ------------------------------- 162 162 !- check conservation (C Rousset) 163 IF (ln_limdiahsb) THEN163 IF( ln_limdiahsb ) THEN 164 164 zchk_fs = glob_sum( ( sfx_bri(:,:) + sfx_thd(:,:) + sfx_res(:,:) + sfx_mec(:,:) ) * area(:,:) * tms(:,:) ) - zchk_fs_b 165 165 zchk_fw = glob_sum( rdm_ice(:,:) * area(:,:) * tms(:,:) ) - zchk_fw_b -
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90
r4099 r4155 659 659 DO ji = fs_2, fs_jpim1 660 660 zindb = MAX( 0.0, SIGN( 1.0, at_i(ji,jj) - 1.0e-6 ) ) 661 zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 )662 !zdummy = vt_i(ji,jj)661 !zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 ) 662 zdummy = vt_i(ji,jj) 663 663 IF ( zdummy .LE. hminrhg ) THEN 664 664 u_ice(ji,jj) = u_oce(ji,jj) … … 682 682 DO ji = fs_2, fs_jpim1 683 683 zindb = MAX( 0.0, SIGN( 1.0, at_i(ji,jj) - 1.0e-6 ) ) 684 zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 )685 !zdummy = vt_i(ji,jj)684 !zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 ) 685 zdummy = vt_i(ji,jj) 686 686 IF ( zdummy .LE. hminrhg ) THEN 687 687 v_ice1(ji,jj) = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj) & … … 707 707 !- zds(:,:): shear on northeast corner of grid cells 708 708 zindb = MAX( 0.0, SIGN( 1.0, at_i(ji,jj) - 1.0e-6 ) ) 709 zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 )710 !zdummy = vt_i(ji,jj)709 !zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 ) 710 zdummy = vt_i(ji,jj) 711 711 IF ( zdummy .LE. hminrhg ) THEN 712 712 -
branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
r4072 r4155 81 81 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: zs0e 82 82 REAL(wp) :: zchk_v_i, zchk_smv, zchk_fs, zchk_fw, zchk_v_i_b, zchk_smv_b, zchk_fs_b, zchk_fw_b ! Check conservation (C Rousset) 83 REAL(wp) :: zchk_vmin, zchk_amin, zchk_amax ! Check errors (C Rousset)83 REAL(wp) :: zchk_vmin, zchk_amin, zchk_amax, zchk_umax ! Check errors (C Rousset) 84 84 ! mass and salt flux (clem) 85 85 REAL(wp), POINTER, DIMENSION(:,:,:) :: zviold ! old ice volume... … … 99 99 ! ------------------------------- 100 100 !- check conservation (C Rousset) 101 IF (ln_limdiahsb) THEN101 IF( ln_limdiahsb ) THEN 102 102 zchk_v_i_b = glob_sum( SUM( v_i(:,:,:), dim=3 ) * area(:,:) * tms(:,:) ) 103 103 zchk_smv_b = glob_sum( SUM( smv_i(:,:,:), dim=3 ) * area(:,:) * tms(:,:) ) … … 456 456 457 457 ! Ice salinity and age 458 zsal = MAX( MIN( (rhoic-rhosn)/rhoic*sss_m(ji,jj) , & 459 & zusvoic * zs0sm(ji,jj,jl) ) , s_i_min ) * v_i(ji,jj,jl) 460 IF( num_sal == 2 ) smv_i(ji,jj,jl) = zindic * zsal 461 462 zage = MAX( MIN( zbigval, zs0oi(ji,jj,jl) / MAX( a_i(ji,jj,jl), epsi16 ) ), 0._wp ) * a_i(ji,jj,jl) 458 !clem zsal = MAX( MIN( (rhoic-rhosn)/rhoic*sss_m(ji,jj), zusvoic * zs0sm(ji,jj,jl) ), s_i_min ) * v_i(ji,jj,jl) 459 IF( num_sal == 2 ) THEN 460 smv_i(ji,jj,jl) = MAX( MIN( s_i_max * v_i(ji,jj,jl), zsmv ), s_i_min * v_i(ji,jj,jl) ) 461 ENDIF 462 463 zage = MAX( MIN( zbigval, zs0oi(ji,jj,jl) / MAX( a_i(ji,jj,jl), epsi16 ) ), 0._wp ) * a_i(ji,jj,jl) 463 464 oa_i (ji,jj,jl) = zindic * zage 464 465 … … 544 545 ! ------------------------------- 545 546 !- check conservation (C Rousset) 546 IF (ln_limdiahsb) THEN547 IF( ln_limdiahsb ) THEN 547 548 zchk_fs = glob_sum( ( sfx_bri(:,:) + sfx_thd(:,:) + sfx_res(:,:) + sfx_mec(:,:) ) * area(:,:) * tms(:,:) ) - zchk_fs_b 548 549 zchk_fw = glob_sum( rdm_ice(:,:) * area(:,:) * tms(:,:) ) - zchk_fw_b … … 554 555 zchk_amax = glob_max(SUM(a_i,dim=3)) 555 556 zchk_amin = glob_min(a_i) 557 zchk_umax = glob_max(SQRT(u_ice**2 + v_ice**2)) 556 558 557 559 IF(lwp) THEN 558 IF ( ABS( zchk_v_i ) > 1.e-5 ) WRITE(numout,*) 'violation volume [m3/day] (limtrp) = ',(zchk_v_i * rday) 560 IF ( ABS( zchk_v_i ) > 1.e-5 ) THEN 561 WRITE(numout,*) 'violation volume [m3/day] (limtrp) = ',(zchk_v_i * rday) 562 WRITE(numout,*) 'u_ice max [m/s] (limtrp) = ',zchk_umax 563 WRITE(numout,*) 'number of time steps (limtrp) =',kt 564 ENDIF 559 565 IF ( ABS( zchk_smv ) > 1.e-4 ) WRITE(numout,*) 'violation saline [psu*m3/day] (limtrp) = ',(zchk_smv * rday) 560 566 IF ( zchk_vmin < 0. ) WRITE(numout,*) 'violation v_i<0 [mm] (limtrp) = ',(zchk_vmin * 1.e-3)
Note: See TracChangeset
for help on using the changeset viewer.