- Timestamp:
- 2016-12-01T18:10:41+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_merge_2016/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r6140 r7421 237 237 SELECT CASE( kvor ) !== vorticity considered ==! 238 238 CASE ( np_COR ) !* Coriolis (planetary vorticity) 239 zwz(:,:) = ff (:,:)239 zwz(:,:) = ff_f(:,:) 240 240 CASE ( np_RVO ) !* relative vorticity 241 241 DO jj = 1, jpjm1 … … 256 256 DO jj = 1, jpjm1 257 257 DO ji = 1, fs_jpim1 ! vector opt. 258 zwz(ji,jj) = ff (ji,jj) + ( e2v(ji+1,jj ) * vn(ji+1,jj ,jk) - e2v(ji,jj) * vn(ji,jj,jk) &259 & - e1u(ji ,jj+1) * un(ji ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk) ) &260 & * r1_e1e2f(ji,jj)258 zwz(ji,jj) = ff_f(ji,jj) + ( e2v(ji+1,jj ) * vn(ji+1,jj ,jk) - e2v(ji,jj) * vn(ji,jj,jk) & 259 & - e1u(ji ,jj+1) * un(ji ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk) ) & 260 & * r1_e1e2f(ji,jj) 261 261 END DO 262 262 END DO … … 264 264 DO jj = 1, jpjm1 265 265 DO ji = 1, fs_jpim1 ! vector opt. 266 zwz(ji,jj) = ff (ji,jj)&266 zwz(ji,jj) = ff_f(ji,jj) & 267 267 & + ( ( vn(ji+1,jj ,jk) + vn (ji,jj,jk) ) * ( e2v(ji+1,jj ) - e2v(ji,jj) ) & 268 268 & - ( un(ji ,jj+1,jk) + un (ji,jj,jk) ) * ( e1u(ji ,jj+1) - e1u(ji,jj) ) ) & … … 357 357 SELECT CASE( kvor ) !== vorticity considered ==! 358 358 CASE ( np_COR ) !* Coriolis (planetary vorticity) 359 zwz(:,:) = ff (:,:)359 zwz(:,:) = ff_f(:,:) 360 360 CASE ( np_RVO ) !* relative vorticity 361 361 DO jj = 1, jpjm1 … … 376 376 DO jj = 1, jpjm1 377 377 DO ji = 1, fs_jpim1 ! vector opt. 378 zwz(ji,jj) = ff (ji,jj) + ( e2v(ji+1,jj ) * vn(ji+1,jj ,jk) - e2v(ji,jj) * vn(ji,jj,jk) &379 & - e1u(ji ,jj+1) * un(ji ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk) ) &380 & * r1_e1e2f(ji,jj)378 zwz(ji,jj) = ff_f(ji,jj) + ( e2v(ji+1,jj ) * vn(ji+1,jj ,jk) - e2v(ji,jj) * vn(ji,jj,jk) & 379 & - e1u(ji ,jj+1) * un(ji ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk) ) & 380 & * r1_e1e2f(ji,jj) 381 381 END DO 382 382 END DO … … 384 384 DO jj = 1, jpjm1 385 385 DO ji = 1, fs_jpim1 ! vector opt. 386 zwz(ji,jj) = ff (ji,jj)&386 zwz(ji,jj) = ff_f(ji,jj) & 387 387 & + ( ( vn(ji+1,jj ,jk) + vn (ji,jj,jk) ) * ( e2v(ji+1,jj ) - e2v(ji,jj) ) & 388 388 & - ( un(ji ,jj+1,jk) + un (ji,jj,jk) ) * ( e1u(ji ,jj+1) - e1u(ji,jj) ) ) & … … 506 506 DO jj = 1, jpjm1 507 507 DO ji = 1, fs_jpim1 ! vector opt. 508 zwz(ji,jj) = ff (ji,jj) * z1_e3f(ji,jj)508 zwz(ji,jj) = ff_f(ji,jj) * z1_e3f(ji,jj) 509 509 END DO 510 510 END DO … … 528 528 DO jj = 1, jpjm1 529 529 DO ji = 1, fs_jpim1 ! vector opt. 530 zwz(ji,jj) = ( ff (ji,jj) + ( e2v(ji+1,jj ) * vn(ji+1,jj ,jk) - e2v(ji,jj) * vn(ji,jj,jk) &531 & - e1u(ji ,jj+1) * un(ji ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk) ) &532 & * r1_e1e2f(ji,jj) ) * z1_e3f(ji,jj)530 zwz(ji,jj) = ( ff_f(ji,jj) + ( e2v(ji+1,jj ) * vn(ji+1,jj ,jk) - e2v(ji,jj) * vn(ji,jj,jk) & 531 & - e1u(ji ,jj+1) * un(ji ,jj+1,jk) + e1u(ji,jj) * un(ji,jj,jk) ) & 532 & * r1_e1e2f(ji,jj) ) * z1_e3f(ji,jj) 533 533 END DO 534 534 END DO … … 536 536 DO jj = 1, jpjm1 537 537 DO ji = 1, fs_jpim1 ! vector opt. 538 zwz(ji,jj) = ( ff (ji,jj)&538 zwz(ji,jj) = ( ff_f(ji,jj) & 539 539 & + ( ( vn(ji+1,jj ,jk) + vn (ji,jj,jk) ) * ( e2v(ji+1,jj ) - e2v(ji,jj) ) & 540 540 & - ( un(ji ,jj+1,jk) + un (ji,jj,jk) ) * ( e1u(ji ,jj+1) - e1u(ji,jj) ) ) & … … 626 626 WRITE(numout,*) 'dyn_vor_init : vorticity term : read namelist and control the consistency' 627 627 WRITE(numout,*) '~~~~~~~~~~~~' 628 WRITE(numout,*) ' 629 WRITE(numout,*) ' 630 WRITE(numout,*) ' 631 WRITE(numout,*) ' 632 WRITE(numout,*) ' 633 WRITE(numout,*) ' 634 WRITE(numout,*) ' 628 WRITE(numout,*) ' Namelist namdyn_vor : choice of the vorticity term scheme' 629 WRITE(numout,*) ' energy conserving scheme ln_dynvor_ene = ', ln_dynvor_ene 630 WRITE(numout,*) ' enstrophy conserving scheme ln_dynvor_ens = ', ln_dynvor_ens 631 WRITE(numout,*) ' mixed enstrophy/energy conserving scheme ln_dynvor_mix = ', ln_dynvor_mix 632 WRITE(numout,*) ' enstrophy and energy conserving scheme ln_dynvor_een = ', ln_dynvor_een 633 WRITE(numout,*) ' e3f = averaging /4 (=0) or /sum(tmask) (=1) nn_een_e3f = ', nn_een_e3f 634 WRITE(numout,*) ' masked (=T) or unmasked(=F) vorticity ln_dynvor_msk = ', ln_dynvor_msk 635 635 ENDIF 636 636 … … 639 639 ! at angles with three ocean points and one land point 640 640 IF(lwp) WRITE(numout,*) 641 IF(lwp) WRITE(numout,*) ' namlbc: change fmask value in the angles (T)ln_vorlat = ', ln_vorlat641 IF(lwp) WRITE(numout,*) ' change fmask value in the angles (T) ln_vorlat = ', ln_vorlat 642 642 IF( ln_vorlat .AND. ( ln_dynvor_ene .OR. ln_dynvor_ens .OR. ln_dynvor_mix ) ) THEN 643 643 DO jk = 1, jpk … … 666 666 ncor = np_COR 667 667 IF( ln_dynadv_vec ) THEN 668 IF(lwp) WRITE(numout,*) ' Vector form advection : vorticity = Coriolis + relative vorticity'668 IF(lwp) WRITE(numout,*) ' ===>> Vector form advection : vorticity = Coriolis + relative vorticity' 669 669 nrvm = np_RVO ! relative vorticity 670 670 ntot = np_CRV ! relative + planetary vorticity 671 671 ELSE 672 IF(lwp) WRITE(numout,*) ' Flux form advection : vorticity = Coriolis + metric term'672 IF(lwp) WRITE(numout,*) ' ===>> Flux form advection : vorticity = Coriolis + metric term' 673 673 nrvm = np_MET ! metric term 674 674 ntot = np_CME ! Coriolis + metric term … … 677 677 IF(lwp) THEN ! Print the choice 678 678 WRITE(numout,*) 679 IF( nvor_scheme == np_ENE ) WRITE(numout,*) ' vorticity scheme ==>>energy conserving scheme'680 IF( nvor_scheme == np_ENS ) WRITE(numout,*) ' vorticity scheme ==>>enstrophy conserving scheme'681 IF( nvor_scheme == np_MIX ) WRITE(numout,*) ' vorticity scheme ==>>mixed enstrophy/energy conserving scheme'682 IF( nvor_scheme == np_EEN ) WRITE(numout,*) ' vorticity scheme ==>>energy and enstrophy conserving scheme'679 IF( nvor_scheme == np_ENE ) WRITE(numout,*) ' ===>> energy conserving scheme' 680 IF( nvor_scheme == np_ENS ) WRITE(numout,*) ' ===>> enstrophy conserving scheme' 681 IF( nvor_scheme == np_MIX ) WRITE(numout,*) ' ===>> mixed enstrophy/energy conserving scheme' 682 IF( nvor_scheme == np_EEN ) WRITE(numout,*) ' ===>> energy and enstrophy conserving scheme' 683 683 ENDIF 684 684 !
Note: See TracChangeset
for help on using the changeset viewer.