Changeset 5134 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90
- Timestamp:
- 2015-03-09T18:27:34+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90
r5128 r5134 56 56 INTEGER, INTENT(in) :: kt ! number of iteration 57 57 INTEGER :: ji, jj, jk, jl ! dummy loop indices 58 REAL(wp) :: z h, zsal58 REAL(wp) :: zsal 59 59 REAL(wp) :: zvi_b, zsmv_b, zei_b, zfs_b, zfw_b, zft_b 60 60 !!------------------------------------------------------------------- … … 69 69 IF( ln_limdiahsb ) CALL lim_cons_hsm(0, 'limupdate2', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 70 70 71 !-----------------72 ! zap small values73 !-----------------74 CALL lim_var_agg( 1 )75 CALL lim_var_zapsmall76 CALL lim_var_glo2eqv77 78 !----------------------------------------------------79 ! Rebin categories with thickness out of bounds80 !----------------------------------------------------81 IF ( jpl > 1 ) CALL lim_itd_th_reb(1, jpl)82 83 71 !---------------------------------------------------------------------- 84 72 ! Constrain the thickness of the smallest category above himin 85 73 !---------------------------------------------------------------------- 74 CALL lim_var_glo2eqv 86 75 DO jj = 1, jpj 87 76 DO ji = 1, jpi 88 77 IF( v_i(ji,jj,1) > 0._wp .AND. ht_i(ji,jj,1) < rn_himin ) THEN 89 zh = rn_himin / ht_i(ji,jj,1) 90 ht_s(ji,jj,1) = ht_s(ji,jj,1) * zh 91 ht_i(ji,jj,1) = ht_i(ji,jj,1) * zh 92 a_i (ji,jj,1) = a_i(ji,jj,1) / zh 78 a_i (ji,jj,1) = a_i(ji,jj,1) * ht_i(ji,jj,1) / rn_himin 93 79 ENDIF 94 80 END DO … … 108 94 IF( at_i(ji,jj) > rn_amax .AND. a_i(ji,jj,jl) > 0._wp ) THEN 109 95 a_i(ji,jj,jl) = a_i(ji,jj,jl) * ( 1._wp - ( 1._wp - rn_amax / at_i(ji,jj) ) ) 110 ht_i(ji,jj,jl) = v_i(ji,jj,jl) / a_i(ji,jj,jl)111 96 ENDIF 112 97 END DO … … 114 99 END DO 115 100 116 at_i(:,:) = 0.0 117 DO jl = 1, jpl 118 at_i(:,:) = a_i(:,:,jl) + at_i(:,:) 119 END DO 120 121 ! -------------------------------------- 122 ! Final thickness distribution rebinning 123 ! -------------------------------------- 101 !---------------------------------------------------- 102 ! Rebin categories with thickness out of bounds 103 !---------------------------------------------------- 124 104 IF ( jpl > 1 ) CALL lim_itd_th_reb( 1, jpl ) 125 105 … … 140 120 ! salinity stays in bounds 141 121 rswitch = 1._wp - MAX( 0._wp, SIGN( 1._wp, - v_i(ji,jj,jl) ) ) 142 smv_i(ji,jj,jl) = rswitch * MAX( MIN( rn_simax * v_i(ji,jj,jl), smv_i(ji,jj,jl) ), rn_simin * v_i(ji,jj,jl) ) !+ rn_simin * ( 1._wp - rswitch ) * v_i(ji,jj,jl)122 smv_i(ji,jj,jl) = rswitch * MAX( MIN( rn_simax * v_i(ji,jj,jl), smv_i(ji,jj,jl) ), rn_simin * v_i(ji,jj,jl) ) 143 123 ! associated salt flux 144 124 sfx_res(ji,jj) = sfx_res(ji,jj) - ( smv_i(ji,jj,jl) - zsal ) * rhoic * r1_rdtice 145 END DO ! ji146 END DO ! jj147 END DO !jl125 END DO 126 END DO 127 END DO 148 128 ENDIF 149 129
Note: See TracChangeset
for help on using the changeset viewer.