Changeset 5260 for branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
- Timestamp:
- 2015-05-12T12:37:15+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r4756 r5260 22 22 USE dom_oce ! ocean space and time domain 23 23 USE sbc_oce ! surface boundary condition: ocean 24 USE sbcisf ! ice shelf variable (fwfisf) 24 25 USE dynspg_oce ! surface pressure gradient variables 25 26 USE phycst ! physical constants … … 40 41 USE timing ! Timing 41 42 USE sbcapr ! surface boundary condition: atmospheric pressure 43 USE diatmb ! Top,middle,bottom output 42 44 USE dynadv, ONLY: ln_dynadv_vec 43 45 #if defined key_agrif 44 46 USE agrif_opa_interp ! agrif 45 47 #endif 46 USE diatmb ! Top,middle,bottom output 48 #if defined key_asminc 49 USE asminc ! Assimilation increment 50 #endif 47 51 48 52 … … 77 81 !!---------------------------------------------------------------------- 78 82 !! NEMO/OPA 3.5 , NEMO Consortium (2013) 79 !! $Id : dynspg_ts.F9083 !! $Id$ 80 84 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 81 85 !!---------------------------------------------------------------------- … … 96 100 ALLOCATE( wgtbtp1(3*nn_baro), wgtbtp2(3*nn_baro), zwz(jpi,jpj), STAT= ierr(2) ) 97 101 98 IF( ln_dynvor_een ) ALLOCATE( ftnw(jpi,jpj) , ftne(jpi,jpj) , &99 & ftsw(jpi,jpj) , ftse(jpi,jpj) , STAT=ierr(3) )102 IF( ln_dynvor_een .or. ln_dynvor_een_old ) ALLOCATE( ftnw(jpi,jpj) , ftne(jpi,jpj) , & 103 & ftsw(jpi,jpj) , ftse(jpi,jpj) , STAT=ierr(3) ) 100 104 101 105 dyn_spg_ts_alloc = MAXVAL(ierr(:)) … … 219 223 ! 220 224 IF ( kt == nit000 .OR. lk_vvl ) THEN 221 IF ( ln_dynvor_een ) THEN 225 IF ( ln_dynvor_een_old ) THEN 226 DO jj = 1, jpjm1 227 DO ji = 1, jpim1 228 zwz(ji,jj) = ( ht(ji ,jj+1) + ht(ji+1,jj+1) + & 229 & ht(ji ,jj ) + ht(ji+1,jj ) ) / 4._wp 230 IF( zwz(ji,jj) /= 0._wp ) zwz(ji,jj) = 1._wp / zwz(ji,jj) 231 END DO 232 END DO 233 CALL lbc_lnk( zwz, 'F', 1._wp ) 234 zwz(:,:) = ff(:,:) * zwz(:,:) 235 236 ftne(1,:) = 0._wp ; ftnw(1,:) = 0._wp ; ftse(1,:) = 0._wp ; ftsw(1,:) = 0._wp 237 DO jj = 2, jpj 238 DO ji = fs_2, jpi ! vector opt. 239 ftne(ji,jj) = zwz(ji-1,jj ) + zwz(ji ,jj ) + zwz(ji ,jj-1) 240 ftnw(ji,jj) = zwz(ji-1,jj-1) + zwz(ji-1,jj ) + zwz(ji ,jj ) 241 ftse(ji,jj) = zwz(ji ,jj ) + zwz(ji ,jj-1) + zwz(ji-1,jj-1) 242 ftsw(ji,jj) = zwz(ji ,jj-1) + zwz(ji-1,jj-1) + zwz(ji-1,jj ) 243 END DO 244 END DO 245 ELSE IF ( ln_dynvor_een ) THEN 222 246 DO jj = 1, jpjm1 223 247 DO ji = 1, jpim1 … … 293 317 ! 294 318 DO jk = 1, jpkm1 295 #if defined key_vectopt_loop 296 DO jj = 1, 1 !Vector opt. => forced unrolling 297 DO ji = 1, jpij 298 #else 299 DO jj = 1, jpj 300 DO ji = 1, jpi 301 #endif 302 zu_frc(ji,jj) = zu_frc(ji,jj) + fse3u_n(ji,jj,jk) * ua(ji,jj,jk) * umask(ji,jj,jk) 303 zv_frc(ji,jj) = zv_frc(ji,jj) + fse3v_n(ji,jj,jk) * va(ji,jj,jk) * vmask(ji,jj,jk) 304 END DO 305 END DO 319 zu_frc(:,:) = zu_frc(:,:) + fse3u_n(:,:,jk) * ua(:,:,jk) * umask(:,:,jk) 320 zv_frc(:,:) = zv_frc(:,:) + fse3v_n(:,:,jk) * va(:,:,jk) * vmask(:,:,jk) 306 321 END DO 307 322 ! … … 349 364 END DO 350 365 ! 351 ELSEIF ( ln_dynvor_een ) THEN! enstrophy and energy conserving scheme366 ELSEIF ( ln_dynvor_een .or. ln_dynvor_een_old ) THEN ! enstrophy and energy conserving scheme 352 367 DO jj = 2, jpjm1 353 368 DO ji = fs_2, fs_jpim1 ! vector opt. … … 443 458 ! ! Surface net water flux and rivers 444 459 IF (ln_bt_fw) THEN 445 zssh_frc(:,:) = zraur * ( emp(:,:) - rnf(:,:) )460 zssh_frc(:,:) = zraur * ( emp(:,:) - rnf(:,:) + rdivisf * fwfisf(:,:) ) 446 461 ELSE 447 zssh_frc(:,:) = zraur * z1_2 * (emp(:,:) + emp_b(:,:) - rnf(:,:) - rnf_b(:,:)) 462 zssh_frc(:,:) = zraur * z1_2 * ( emp(:,:) + emp_b(:,:) - rnf(:,:) - rnf_b(:,:) & 463 & + rdivisf * ( fwfisf(:,:) + fwfisf_b(:,:) ) ) 448 464 ENDIF 449 465 #if defined key_asminc … … 467 483 ! ! ==================== ! 468 484 ! Initialize barotropic variables: 485 IF( ll_init )THEN 486 sshbb_e(:,:) = 0._wp 487 ubb_e (:,:) = 0._wp 488 vbb_e (:,:) = 0._wp 489 sshb_e (:,:) = 0._wp 490 ub_e (:,:) = 0._wp 491 vb_e (:,:) = 0._wp 492 ENDIF 493 ! 469 494 IF (ln_bt_fw) THEN ! FORWARD integration: start from NOW fields 470 495 sshn_e(:,:) = sshn (:,:) … … 688 713 END DO 689 714 ! 690 ELSEIF ( ln_dynvor_een ) THEN!== energy and enstrophy conserving scheme ==!715 ELSEIF ( ln_dynvor_een .or. ln_dynvor_een_old ) THEN !== energy and enstrophy conserving scheme ==! 691 716 DO jj = 2, jpjm1 692 717 DO ji = fs_2, fs_jpim1 ! vector opt.
Note: See TracChangeset
for help on using the changeset viewer.