120 |
IF (useMNC .AND. snapshot_mnc .AND. writeDiag) THEN |
IF (useMNC .AND. snapshot_mnc .AND. writeDiag) THEN |
121 |
IF ((bi .EQ. 1).AND.(bj .EQ. 1).AND.(k .EQ. 1)) THEN |
IF ((bi .EQ. 1).AND.(bj .EQ. 1).AND.(k .EQ. 1)) THEN |
122 |
CALL MNC_CW_SET_UDIM('mom_vi', -1, myThid) |
CALL MNC_CW_SET_UDIM('mom_vi', -1, myThid) |
123 |
CALL MNC_CW_I_W_S('I','mom_vi',0,0,'T',myIter,myThid) |
CALL MNC_CW_RL_W_S('D','mom_vi',0,0,'T',myTime,myThid) |
124 |
CALL MNC_CW_SET_UDIM('mom_vi', 0, myThid) |
CALL MNC_CW_SET_UDIM('mom_vi', 0, myThid) |
125 |
|
CALL MNC_CW_I_W_S('I','mom_vi',0,0,'iter',myIter,myThid) |
126 |
ENDIF |
ENDIF |
127 |
DO i = 1,9 |
DO i = 1,9 |
128 |
offsets(i) = 0 |
offsets(i) = 0 |
272 |
& -_recip_hFacW(i,j,k,bi,bj)*recip_drF(k) |
& -_recip_hFacW(i,j,k,bi,bj)*recip_drF(k) |
273 |
& *recip_rAw(i,j,bi,bj) |
& *recip_rAw(i,j,bi,bj) |
274 |
& *( |
& *( |
275 |
& +fVerU(i,j,kUp)*rkFac - fVerU(i,j,kDown)*rkFac |
& fVerU(i,j,kDown) - fVerU(i,j,kUp) |
276 |
& ) |
& )*rkSign |
277 |
ENDDO |
ENDDO |
278 |
ENDDO |
ENDDO |
279 |
ENDIF |
ENDIF |
332 |
& -_recip_hFacS(i,j,k,bi,bj)*recip_drF(k) |
& -_recip_hFacS(i,j,k,bi,bj)*recip_drF(k) |
333 |
& *recip_rAs(i,j,bi,bj) |
& *recip_rAs(i,j,bi,bj) |
334 |
& *( |
& *( |
335 |
& +fVerV(i,j,kUp)*rkFac - fVerV(i,j,kDown)*rkFac |
& fVerV(i,j,kDown) - fVerV(i,j,kUp) |
336 |
& ) |
& )*rkSign |
337 |
ENDDO |
ENDDO |
338 |
ENDDO |
ENDDO |
339 |
ENDIF |
ENDIF |
415 |
ENDIF |
ENDIF |
416 |
|
|
417 |
IF (momAdvection) THEN |
IF (momAdvection) THEN |
418 |
C-- Horizontal advection of relative vorticity |
C-- Horizontal advection of relative (or absolute) vorticity |
419 |
IF (useAbsVorticity) THEN |
IF (highOrderVorticity.AND.useAbsVorticity) THEN |
420 |
|
CALL MOM_VI_U_CORIOLIS_C4(bi,bj,k,vFld,omega3,r_hFacZ, |
421 |
|
& uCf,myThid) |
422 |
|
ELSEIF (highOrderVorticity) THEN |
423 |
|
CALL MOM_VI_U_CORIOLIS_C4(bi,bj,k,vFld,vort3, r_hFacZ, |
424 |
|
& uCf,myThid) |
425 |
|
ELSEIF (useAbsVorticity) THEN |
426 |
CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,hFacZ,r_hFacZ, |
CALL MOM_VI_U_CORIOLIS(bi,bj,K,vFld,omega3,hFacZ,r_hFacZ, |
427 |
& uCf,myThid) |
& uCf,myThid) |
428 |
ELSE |
ELSE |
429 |
CALL MOM_VI_U_CORIOLIS(bi,bj,k,vFld,vort3,hFacZ,r_hFacZ, |
CALL MOM_VI_U_CORIOLIS(bi,bj,k,vFld,vort3, hFacZ,r_hFacZ, |
430 |
& uCf,myThid) |
& uCf,myThid) |
431 |
ENDIF |
ENDIF |
|
c CALL MOM_VI_U_CORIOLIS_C4(bi,bj,K,vFld,vort3,r_hFacZ,uCf,myThid) |
|
432 |
DO j=jMin,jMax |
DO j=jMin,jMax |
433 |
DO i=iMin,iMax |
DO i=iMin,iMax |
434 |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+uCf(i,j) |
gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+uCf(i,j) |
435 |
ENDDO |
ENDDO |
436 |
ENDDO |
ENDDO |
437 |
IF (useAbsVorticity) THEN |
IF (highOrderVorticity.AND.useAbsVorticity) THEN |
438 |
|
CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,omega3,r_hFacZ, |
439 |
|
& vCf,myThid) |
440 |
|
ELSEIF (highOrderVorticity) THEN |
441 |
|
CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3, r_hFacZ, |
442 |
|
& vCf,myThid) |
443 |
|
ELSEIF (useAbsVorticity) THEN |
444 |
CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,hFacZ,r_hFacZ, |
CALL MOM_VI_V_CORIOLIS(bi,bj,K,uFld,omega3,hFacZ,r_hFacZ, |
445 |
& vCf,myThid) |
& vCf,myThid) |
446 |
ELSE |
ELSE |
447 |
CALL MOM_VI_V_CORIOLIS(bi,bj,k,uFld,vort3,hFacZ,r_hFacZ, |
CALL MOM_VI_V_CORIOLIS(bi,bj,k,uFld,vort3, hFacZ,r_hFacZ, |
448 |
& vCf,myThid) |
& vCf,myThid) |
449 |
ENDIF |
ENDIF |
|
c CALL MOM_VI_V_CORIOLIS_C4(bi,bj,K,uFld,vort3,r_hFacZ,vCf,myThid) |
|
450 |
DO j=jMin,jMax |
DO j=jMin,jMax |
451 |
DO i=iMin,iMax |
DO i=iMin,iMax |
452 |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+vCf(i,j) |
gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+vCf(i,j) |
577 |
ENDIF |
ENDIF |
578 |
#endif /* ALLOW_MNC */ |
#endif /* ALLOW_MNC */ |
579 |
ENDIF |
ENDIF |
580 |
|
|
581 |
#endif /* ALLOW_MOM_VECINV */ |
#endif /* ALLOW_MOM_VECINV */ |
582 |
|
|
583 |
RETURN |
RETURN |