445 |
#endif |
#endif |
446 |
DO j=1-Oly+1,sNy+Oly-1 |
DO j=1-Oly+1,sNy+Oly-1 |
447 |
DO i=1-Olx+1,sNx+Olx-1 |
DO i=1-Olx+1,sNx+Olx-1 |
448 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
449 |
|
Kgm_tmp = kapredi(i,j,k,bi,bj) |
450 |
|
#else |
451 |
|
Kgm_tmp = GM_isopycK |
452 |
|
#endif |
453 |
#ifdef ALLOW_KAPGM_CONTROL |
#ifdef ALLOW_KAPGM_CONTROL |
454 |
Kgm_tmp = GM_isopycK + GM_skewflx*kapgm(i,j,k,bi,bj) |
& + GM_skewflx*kapgm(i,j,k,bi,bj) |
455 |
#else |
#else |
456 |
Kgm_tmp = GM_isopycK + GM_skewflx*GM_background_K |
& + GM_skewflx*GM_background_K |
457 |
#endif |
#endif |
458 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
459 |
& + VisbeckK(i,j,bi,bj)*(1. _d 0 + GM_skewflx) |
& + VisbeckK(i,j,bi,bj)*(1. _d 0 + GM_skewflx) |
460 |
#endif |
#endif |
461 |
Kwx(i,j,k,bi,bj)= Kgm_tmp*Kwx(i,j,k,bi,bj) |
Kwx(i,j,k,bi,bj)= Kgm_tmp*Kwx(i,j,k,bi,bj) |
462 |
Kwy(i,j,k,bi,bj)= Kgm_tmp*Kwy(i,j,k,bi,bj) |
Kwy(i,j,k,bi,bj)= Kgm_tmp*Kwy(i,j,k,bi,bj) |
463 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
464 |
|
Kwz(i,j,k,bi,bj)= ( kapredi(i,j,k,bi,bj) |
465 |
|
#else |
466 |
Kwz(i,j,k,bi,bj)= ( GM_isopycK |
Kwz(i,j,k,bi,bj)= ( GM_isopycK |
467 |
|
#endif |
468 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
469 |
& + VisbeckK(i,j,bi,bj) |
& + VisbeckK(i,j,bi,bj) |
470 |
#endif |
#endif |
570 |
DO j=1-Oly+1,sNy+Oly-1 |
DO j=1-Oly+1,sNy+Oly-1 |
571 |
DO i=1-Olx+1,sNx+Olx-1 |
DO i=1-Olx+1,sNx+Olx-1 |
572 |
Kux(i,j,k,bi,bj) = |
Kux(i,j,k,bi,bj) = |
573 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
574 |
|
& ( kapredi(i,j,k,bi,bj) |
575 |
|
#else |
576 |
& ( GM_isopycK |
& ( GM_isopycK |
577 |
|
#endif |
578 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
579 |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i-1,j,bi,bj)) |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i-1,j,bi,bj)) |
580 |
#endif |
#endif |
604 |
DO j=1-Oly+1,sNy+Oly-1 |
DO j=1-Oly+1,sNy+Oly-1 |
605 |
DO i=1-Olx+1,sNx+Olx-1 |
DO i=1-Olx+1,sNx+Olx-1 |
606 |
Kuz(i,j,k,bi,bj) = |
Kuz(i,j,k,bi,bj) = |
607 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
608 |
|
& ( kapredi(i,j,k,bi,bj) |
609 |
|
#else |
610 |
|
& ( GM_isopycK |
611 |
|
#endif |
612 |
#ifdef ALLOW_KAPGM_CONTROL |
#ifdef ALLOW_KAPGM_CONTROL |
613 |
& ( GM_isopycK - GM_skewflx*kapgm(i,j,k,bi,bj) |
& - GM_skewflx*kapgm(i,j,k,bi,bj) |
614 |
#else |
#else |
615 |
& ( GM_isopycK - GM_skewflx*GM_background_K |
& - GM_skewflx*GM_background_K |
616 |
#endif |
#endif |
617 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
618 |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i-1,j,bi,bj))*GM_advect |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i-1,j,bi,bj))*GM_advect |
629 |
DO j=1,sNy |
DO j=1,sNy |
630 |
DO i=1,sNx+1 |
DO i=1,sNx+1 |
631 |
C store in tmp1k Kuz_Redi |
C store in tmp1k Kuz_Redi |
632 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
633 |
|
tmp1k(i,j) = ( kapredi(i,j,k,bi,bj) |
634 |
|
#else |
635 |
tmp1k(i,j) = ( GM_isopycK |
tmp1k(i,j) = ( GM_isopycK |
636 |
|
#endif |
637 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
638 |
& +(VisbeckK(i,j,bi,bj)+VisbeckK(i-1,j,bi,bj))*0.5 _d 0 |
& +(VisbeckK(i,j,bi,bj)+VisbeckK(i-1,j,bi,bj))*0.5 _d 0 |
639 |
#endif |
#endif |
758 |
DO j=1-Oly+1,sNy+Oly-1 |
DO j=1-Oly+1,sNy+Oly-1 |
759 |
DO i=1-Olx+1,sNx+Olx-1 |
DO i=1-Olx+1,sNx+Olx-1 |
760 |
Kvy(i,j,k,bi,bj) = |
Kvy(i,j,k,bi,bj) = |
761 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
762 |
|
& ( kapredi(i,j,k,bi,bj) |
763 |
|
#else |
764 |
& ( GM_isopycK |
& ( GM_isopycK |
765 |
|
#endif |
766 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
767 |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj)) |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj)) |
768 |
#endif |
#endif |
792 |
DO j=1-Oly+1,sNy+Oly-1 |
DO j=1-Oly+1,sNy+Oly-1 |
793 |
DO i=1-Olx+1,sNx+Olx-1 |
DO i=1-Olx+1,sNx+Olx-1 |
794 |
Kvz(i,j,k,bi,bj) = |
Kvz(i,j,k,bi,bj) = |
795 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
796 |
|
& ( kapredi(i,j,k,bi,bj) |
797 |
|
#else |
798 |
|
& ( GM_isopycK |
799 |
|
#endif |
800 |
#ifdef ALLOW_KAPGM_CONTROL |
#ifdef ALLOW_KAPGM_CONTROL |
801 |
& ( GM_isopycK - GM_skewflx*kapgm(i,j,k,bi,bj) |
& - GM_skewflx*kapgm(i,j,k,bi,bj) |
802 |
#else |
#else |
803 |
& ( GM_isopycK - GM_skewflx*GM_background_K |
& - GM_skewflx*GM_background_K |
804 |
#endif |
#endif |
805 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
806 |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj))*GM_advect |
& +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj))*GM_advect |
817 |
DO j=1,sNy+1 |
DO j=1,sNy+1 |
818 |
DO i=1,sNx |
DO i=1,sNx |
819 |
C store in tmp1k Kvz_Redi |
C store in tmp1k Kvz_Redi |
820 |
|
#ifdef ALLOW_KAPREDI_CONTROL |
821 |
|
tmp1k(i,j) = ( kapredi(i,j,k,bi,bj) |
822 |
|
#else |
823 |
tmp1k(i,j) = ( GM_isopycK |
tmp1k(i,j) = ( GM_isopycK |
824 |
|
#endif |
825 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
826 |
& +(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj))*0.5 _d 0 |
& +(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj))*0.5 _d 0 |
827 |
#endif |
#endif |