104 |
#include "KPP_PARAMS.h" |
#include "KPP_PARAMS.h" |
105 |
#include "FFIELDS.h" |
#include "FFIELDS.h" |
106 |
#include "GRID.h" |
#include "GRID.h" |
107 |
|
#include "GAD.h" |
108 |
#ifdef ALLOW_SHELFICE |
#ifdef ALLOW_SHELFICE |
109 |
# include "SHELFICE.h" |
# include "SHELFICE.h" |
110 |
#endif /* ALLOW_SHELFICE */ |
#endif /* ALLOW_SHELFICE */ |
690 |
c solve for viscosity, diffusivity, ghat, and hbl on "t-grid" |
c solve for viscosity, diffusivity, ghat, and hbl on "t-grid" |
691 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
692 |
|
|
693 |
|
c precompute background vertical diffusivities, which are needed for |
694 |
|
c matching diffusivities at bottom of KPP PBL |
695 |
|
CALL CALC_3D_DIFFUSIVITY( |
696 |
|
I bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy, |
697 |
|
I GAD_SALINITY, .FALSE., .FALSE., |
698 |
|
O KPPdiffKzS(1-Olx,1-Oly,1,bi,bj), |
699 |
|
I myThid) |
700 |
|
CALL CALC_3D_DIFFUSIVITY( |
701 |
|
I bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy, |
702 |
|
I GAD_TEMPERATURE, .FALSE., .FALSE., |
703 |
|
O KPPdiffKzT(1-Olx,1-Oly,1,bi,bj), |
704 |
|
I myThid) |
705 |
|
|
706 |
DO j = 1-OLy, sNy+OLy |
DO j = 1-OLy, sNy+OLy |
707 |
DO i = 1-OLx, sNx+OLx |
DO i = 1-OLx, sNx+OLx |
708 |
work1(i,j) = nzmax(i,j,bi,bj) |
work1(i,j) = nzmax(i,j,bi,bj) |
714 |
I mytime, mythid |
I mytime, mythid |
715 |
I , work1, shsq, dVsq, ustar |
I , work1, shsq, dVsq, ustar |
716 |
I , bo, bosol, dbloc, Ritop, work2 |
I , bo, bosol, dbloc, Ritop, work2 |
717 |
|
I , KPPdiffKzS(1-Olx,1-Oly,1,bi,bj) |
718 |
|
I , KPPdiffKzT(1-Olx,1-Oly,1,bi,bj) |
719 |
I , ikppkey |
I , ikppkey |
720 |
O , vddiff |
O , vddiff |
721 |
U , ghat |
U , ghat |
722 |
O , hbl ) |
O , hbl ) |
|
|
|
723 |
CALL TIMER_STOP ('KPPMIX [KPP_CALC]', myThid) |
CALL TIMER_STOP ('KPPMIX [KPP_CALC]', myThid) |
724 |
|
|
725 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
819 |
#include "KPP.h" |
#include "KPP.h" |
820 |
#include "KPP_PARAMS.h" |
#include "KPP_PARAMS.h" |
821 |
#include "GRID.h" |
#include "GRID.h" |
822 |
|
#include "GAD.h" |
823 |
|
|
824 |
c Routine arguments |
c Routine arguments |
825 |
c bi, bj - array indices on which to apply calculations |
c bi, bj - array indices on which to apply calculations |
841 |
DO k = 1,Nr |
DO k = 1,Nr |
842 |
KPPghat (i,j,k,bi,bj) = 0.0 |
KPPghat (i,j,k,bi,bj) = 0.0 |
843 |
KPPviscAz (i,j,k,bi,bj) = viscAr |
KPPviscAz (i,j,k,bi,bj) = viscAr |
|
KPPdiffKzT(i,j,k,bi,bj) = diffKrNrT(k) |
|
|
KPPdiffKzS(i,j,k,bi,bj) = diffKrNrS(k) |
|
844 |
ENDDO |
ENDDO |
845 |
ENDDO |
ENDDO |
846 |
ENDDO |
ENDDO |
847 |
|
|
848 |
|
CALL CALC_3D_DIFFUSIVITY( |
849 |
|
I bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy, |
850 |
|
I GAD_SALINITY, .FALSE., .FALSE., |
851 |
|
O KPPdiffKzS(1-Olx,1-Oly,1,bi,bj), |
852 |
|
I myThid) |
853 |
|
CALL CALC_3D_DIFFUSIVITY( |
854 |
|
I bi,bj,1-Olx,sNx+OLx,1-Oly,sNy+OLy, |
855 |
|
I GAD_TEMPERATURE, .FALSE., .FALSE., |
856 |
|
O KPPdiffKzT(1-Olx,1-Oly,1,bi,bj), |
857 |
|
I myThid) |
858 |
|
|
859 |
#endif |
#endif |
860 |
RETURN |
RETURN |
861 |
END |
END |