** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Sun, 28 Mar 2026 05:09:17 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/kpp/kpp_transport_s.F
File indexing completed on 2018-03-02 18:41:38 UTC
view on github raw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
2fa42a6013 Alis* 0001 #include "KPP_OPTIONS.h "
08300bd1e7 Jean* 0002 #ifdef ALLOW_GMREDI
0003 #include "GMREDI_OPTIONS.h "
0004 #endif
1f89baba18 Patr* 0005 #ifdef ALLOW_SALT_PLUME
0006 #include "SALT_PLUME_OPTIONS.h "
0007 #endif
2fa42a6013 Alis* 0008
88b144ae49 Jean* 0009 SUBROUTINE KPP_TRANSPORT_S (
2fa42a6013 Alis* 0010 I iMin ,iMax ,jMin ,jMax ,bi ,bj ,k ,km1 ,
417c225d28 Jean* 0011 O df ,
0012 I myTime , myIter , myThid )
88b144ae49 Jean* 0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
2fa42a6013 Alis* 0026 IMPLICIT NONE
0027
0028
0029 #include "SIZE.h "
0030 #include "EEPARAMS.h "
0031 #include "PARAMS.h "
0032 #include "GRID.h "
0033 #include "FFIELDS.h "
0034 #include "KPP.h "
0035 #include "KPP_PARAMS.h "
08300bd1e7 Jean* 0036 #ifdef ALLOW_GMREDI
8749f0b4bc Dimi* 0037 # include "GMREDI.h "
0038 #endif
0039 #ifdef ALLOW_SALT_PLUME
0040 # include "SALT_PLUME.h "
08300bd1e7 Jean* 0041 #endif
2fa42a6013 Alis* 0042
0043
0044
0045
0046
417c225d28 Jean* 0047
0048
0049
2fa42a6013 Alis* 0050 INTEGER iMin ,iMax ,jMin ,jMax ,bi ,bj ,k ,km1
0051 _RL df (1-OLx :sNx +OLx ,1-OLy :sNy +OLy )
417c225d28 Jean* 0052 _RL myTime
0053 INTEGER myIter
0054 INTEGER myThid
2fa42a6013 Alis* 0055
1d478690dc Patr* 0056 #if defined(ALLOW_KPP ) && defined(KPP_GHAT )
2fa42a6013 Alis* 0057
0058
0059
0060 INTEGER I , J
88b144ae49 Jean* 0061 #ifdef ALLOW_GMREDI
0062 _RL tmpFac
0063 #endif
0064 #ifdef ALLOW_SALT_PLUME
0065 _RL tmpFac1
0066 #endif
30c6f5b1cd An T* 0067
88b144ae49 Jean* 0068
30c6f5b1cd An T* 0069
1f89baba18 Patr* 0070
0071
30c6f5b1cd An T* 0072 #ifdef ALLOW_SALT_PLUME
0073 IF ( useSALT_PLUME ) THEN
7fb657f65b Patr* 0074 # ifndef SALT_PLUME_VOLUME
30c6f5b1cd An T* 0075 tmpFac1 = 1. _d 0
7fb657f65b Patr* 0076 # else
1f89baba18 Patr* 0077 tmpFac1 = 0. _d 0
7fb657f65b Patr* 0078 # endif /* ndef SALT_PLUME_VOLUME */
30c6f5b1cd An T* 0079 ELSE
0080 tmpFac1 = 0. _d 0
0081 ENDIF
0082 #endif /* ALLOW_SALT_PLUME */
2fa42a6013 Alis* 0083
08300bd1e7 Jean* 0084 #ifdef ALLOW_GMREDI
0085
0086 IF ( useGMRedi .AND. KPP_ghatUseTotalDiffus ) THEN
0087 tmpFac = 1. _d 0
0088 ELSE
0089 tmpFac = 0. _d 0
0090 ENDIF
1d478690dc Patr* 0091 DO j =jMin ,jMax
0092 DO i =iMin ,iMax
08300bd1e7 Jean* 0093 df (i ,j ) = - _rA (i ,j ,bi ,bj )
0094 & *( KPPdiffKzS (i ,j ,k ,bi ,bj ) + tmpFac *Kwz (i ,j ,k ,bi ,bj ) )
0095 & *KPPghat (i ,j ,km1 ,bi ,bj )
63ceaaa79c Dimi* 0096 & *( surfaceForcingS (i ,j ,bi ,bj )
0097 #ifdef ALLOW_SALT_PLUME
30c6f5b1cd An T* 0098 & + tmpFac1 *saltPlumeFlux (i ,j ,bi ,bj )*recip_rhoConst
63ceaaa79c Dimi* 0099 & *(1.-KPPplumefrac (i ,j ,bi ,bj ))
0100 #endif /* ALLOW_SALT_PLUME */
0101 & )
2fa42a6013 Alis* 0102 ENDDO
1d478690dc Patr* 0103 ENDDO
2fa42a6013 Alis* 0104
08300bd1e7 Jean* 0105 #else /* ALLOW_GMREDI */
0106
0107 DO j =jMin ,jMax
0108 DO i =iMin ,iMax
0109 df (i ,j ) = - _rA (i ,j ,bi ,bj )
0110 & *KPPdiffKzS (i ,j ,k ,bi ,bj )
0111 & *KPPghat (i ,j ,km1 ,bi ,bj )
63ceaaa79c Dimi* 0112 & *( surfaceForcingS (i ,j ,bi ,bj )
0113 #ifdef ALLOW_SALT_PLUME
30c6f5b1cd An T* 0114 & + tmpFac1 *saltPlumeFlux (i ,j ,bi ,bj )*recip_rhoConst
63ceaaa79c Dimi* 0115 & *(1.-KPPplumefrac (i ,j ,bi ,bj ))
0116 #endif /* ALLOW_SALT_PLUME */
0117 & )
08300bd1e7 Jean* 0118 ENDDO
0119 ENDDO
0120
0121 #endif /* ALLOW_GMREDI */
0122
1d478690dc Patr* 0123 #endif /* ALLOW_KPP and KPP_GHAT */
2fa42a6013 Alis* 0124
0125 RETURN
0126 END