- Timestamp:
- 2014-01-23T18:13:16+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90
r4354 r4370 40 40 USE domvvl ! varying vertical mesh 41 41 USE dynspg_oce ! pressure gradient schemes 42 USE dynspg_flt ! pressure gradient schemes 43 USE dynspg_exp ! pressure gradient schemes 44 USE dynspg_ts ! pressure gradient schemes 42 USE dynspg_flt ! filtered free surface 45 43 USE sol_oce ! ocean solver variables 46 44 USE lib_mpp ! MPP library … … 72 70 ! - ML - needed for initialization of e3t_b 73 71 INTEGER :: ji,jj,jk ! dummy loop indices 74 REAL(wp), POINTER, DIMENSION(:,:) :: zhur_b, zhvr_b ! U & Inverse of before depths75 72 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: zuvd ! U & V data workspace 76 73 !!---------------------------------------------------------------------- … … 93 90 IF( ln_rstart ) THEN ! Restart from a file 94 91 ! ! ------------------- 95 neuler = 1 ! Set time-step indicator at nit000 (leap-frog)96 92 CALL rst_read ! Read the restart file 97 93 CALL day_init ! model calendar (using both namelist and restart infos) … … 161 157 ! being eventually used 162 158 ! 163 IF (lk_vvl) THEN164 CALL wrk_alloc( jpi, jpj, zhur_b, zhvr_b )165 zhur_b(:,:) = 0._wp166 zhvr_b(:,:) = 0._wp167 DO jk = 1, jpk168 zhur_b(:,:) = zhur_b(:,:) + fse3u_b(:,:,jk) * umask(:,:,jk)169 zhvr_b(:,:) = zhvr_b(:,:) + fse3v_b(:,:,jk) * vmask(:,:,jk)170 END DO171 zhur_b(:,:) = umask(:,:,1) / ( zhur_b(:,:) + 1._wp - umask(:,:,1) )172 zhvr_b(:,:) = vmask(:,:,1) / ( zhvr_b(:,:) + 1._wp - vmask(:,:,1) )173 ENDIF174 159 ! 175 160 un_b(:,:) = 0._wp ; vn_b(:,:) = 0._wp … … 187 172 vn_b(ji,jj) = vn_b(ji,jj) + fse3v_n(ji,jj,jk) * vn(ji,jj,jk) * vmask(ji,jj,jk) 188 173 ! 189 ub_b(ji,jj) = ub_b(ji,jj) + fse3u_b(ji,jj,jk) * ub(ji,jj,jk) 190 vb_b(ji,jj) = vb_b(ji,jj) + fse3v_b(ji,jj,jk) * vb(ji,jj,jk) 174 ub_b(ji,jj) = ub_b(ji,jj) + fse3u_b(ji,jj,jk) * ub(ji,jj,jk) * umask(ji,jj,jk) 175 vb_b(ji,jj) = vb_b(ji,jj) + fse3v_b(ji,jj,jk) * vb(ji,jj,jk) * vmask(ji,jj,jk) 191 176 END DO 192 177 END DO 193 178 END DO 194 179 ! 195 un_b(:,:) = un_b(:,:) * hur(:,:) 196 vn_b(:,:) = vn_b(:,:) * hvr(:,:) 197 ! 198 IF( lk_vvl ) THEN 199 ub_b(:,:) = ub_b(:,:) * zhur_b(:,:) 200 vb_b(:,:) = vb_b(:,:) * zhvr_b(:,:) 201 ELSE 202 ub_b(:,:) = ub_b(:,:) * hur(:,:) 203 vb_b(:,:) = vb_b(:,:) * hvr(:,:) 204 ENDIF 205 ! 206 IF (lk_vvl) CALL wrk_dealloc( jpi, jpj, zhur_b, zhvr_b ) 180 un_b(:,:) = un_b(:,:) * hur (:,:) 181 vn_b(:,:) = vn_b(:,:) * hvr (:,:) 182 ! 183 ub_b(:,:) = ub_b(:,:) * hur_b(:,:) 184 vb_b(:,:) = vb_b(:,:) * hvr_b(:,:) 185 ! 207 186 ! 208 187 IF( nn_timing == 1 ) CALL timing_stop('istate_init')
Note: See TracChangeset
for help on using the changeset viewer.