- Timestamp:
- 2018-10-31T19:09:43+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9947_SI3_advection/src/ICE/icedyn.F90
r9604 r10267 71 71 INTEGER, INTENT(in) :: kt ! ice time step 72 72 !! 73 INTEGER :: ji, jj, jl ! dummy loop indices 74 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhmax 73 INTEGER :: ji, jj, jl ! dummy loop indices 74 REAL(wp) :: zcoefu, zcoefv 75 REAL(wp), DIMENSION(jpi,jpj,jpl) :: zhmax 76 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zdivu_i 75 77 !!-------------------------------------------------------------------- 76 78 ! … … 118 120 119 121 CASE ( np_dynADV ) !== pure advection ==! (prescribed velocities) 122 ALLOCATE( zdivu_i(jpi,jpj) ) 123 120 124 u_ice(:,:) = rn_uice * umask(:,:,1) 121 125 v_ice(:,:) = rn_vice * vmask(:,:,1) 122 !!CALL RANDOM_NUMBER(u_ice(:,:)) 123 !!CALL RANDOM_NUMBER(v_ice(:,:)) 126 !CALL RANDOM_NUMBER(u_ice(:,:)) ; u_ice(:,:) = u_ice(:,:) * 0.1 + rn_uice * 0.9 * umask(:,:,1) 127 !CALL RANDOM_NUMBER(v_ice(:,:)) ; v_ice(:,:) = v_ice(:,:) * 0.1 + rn_vice * 0.9 * vmask(:,:,1) 128 ! --- monotonicity test from Lipscomb et al 2004 --- ! 129 ! CFL = 0.5 at a distance from the bound of 1/6 of the basin length 130 ! Then for dx = 2m and dt = 1s => rn_uice = u (1/6th) = 1m/s 131 !DO jj = 1, jpj 132 ! DO ji = 1, jpi 133 ! zcoefu = ( REAL(jpiglo+1)*0.5 - REAL(ji+nimpp-1) ) / ( REAL(jpiglo+1)*0.5 - 1. ) 134 ! zcoefv = ( REAL(jpjglo+1)*0.5 - REAL(jj+njmpp-1) ) / ( REAL(jpjglo+1)*0.5 - 1. ) 135 ! u_ice(ji,jj) = rn_uice * 1.5 * SIGN( 1., zcoefu ) * ABS( zcoefu ) * umask(ji,jj,1) 136 ! v_ice(ji,jj) = rn_vice * 1.5 * SIGN( 1., zcoefv ) * ABS( zcoefv ) * vmask(ji,jj,1) 137 ! END DO 138 !END DO 139 ! --- 124 140 CALL ice_dyn_adv ( kt ) ! -- advection of ice 141 142 ! diagnostics: divergence at T points 143 DO jj = 2, jpjm1 144 DO ji = 2, jpim1 145 zdivu_i(ji,jj) = ( e2u(ji,jj) * u_ice(ji,jj) - e2u(ji-1,jj) * u_ice(ji-1,jj) & 146 & + e1v(ji,jj) * v_ice(ji,jj) - e1v(ji,jj-1) * v_ice(ji,jj-1) ) * r1_e1e2t(ji,jj) 147 END DO 148 END DO 149 CALL lbc_lnk( zdivu_i, 'T', 1. ) 150 IF( iom_use('icediv') ) CALL iom_put( "icediv" , zdivu_i(:,:) ) 151 152 DEALLOCATE( zdivu_i ) 125 153 126 154 END SELECT
Note: See TracChangeset
for help on using the changeset viewer.