/[MITgcm]/MITgcm/pkg/kpp/kpp_transport_t.F
ViewVC logotype

Annotation of /MITgcm/pkg/kpp/kpp_transport_t.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (hide annotations) (download)
Wed Nov 29 22:29:23 2000 UTC (23 years, 6 months ago) by adcroft
Branch: MAIN
CVS Tags: branch-atmos-merge-shapiro, branch-atmos-merge-freeze, branch-atmos-merge-start, checkpoint33, checkpoint34, branch-atmos-merge-zonalfilt, branch-atmos-merge-phase5, branch-atmos-merge-phase4, branch-atmos-merge-phase7, branch-atmos-merge-phase6, branch-atmos-merge-phase1, branch-atmos-merge-phase3, branch-atmos-merge-phase2
Branch point for: branch-atmos-merge
Changes since 1.4: +5 -3 lines
Fixed confusion about units of forcing arrays in FFIELDS.h
namely Fu,Fv,Qnet,Qsw,EmPmR:
  - Removed verification/natl_box/code/external_fields_scale.F
        (did not differ from that in model/src)
  - Changed units of fu,fv,Qnet,Qsw,EmPmR back to proper units
     (see FFIELDS.h for description)
  - Scale fu,fv,Qnet,Qsw,EmPmR when used in external_forcing_surf.F,
    kpp_calc.F and kpp_transport_t.F
  - Removed model/src/external_fields_scale.F and calls to it
  - verification/natl_box uses flux data with "atmospheric" sign so
    a special version of external_fields_load.F is used to
    change the data as it's read in. This way, the arrays
    have the right units and signs at all times tha a user could
    possibly use them.

1 adcroft 1.5 C $Header: /u/gcmpack/models/MITgcmUV/pkg/kpp/kpp_transport_t.F,v 1.4 2000/11/13 16:37:02 heimbach Exp $
2 adcroft 1.1
3     #include "KPP_OPTIONS.h"
4    
5     subroutine KPP_TRANSPORT_T (
6     I iMin,iMax,jMin,jMax,bi,bj,k,km1,
7     I maskC,KappaRT,
8     U df )
9     C /==========================================================\
10     C | o SUBROUTINE KPP_TRANSPORT_T |
11     C | Add non local KPP transport term (ghat) to diffusive |
12     C | temperature flux. |
13     C |==========================================================|
14     C | The nonlocal transport term is nonzero only for scalars |
15     C | in unstable (convective) forcing conditions. |
16 heimbach 1.2 C | Note: [SurfaceTendencyT + Qsw * (1-KPPfrac)] |
17 adcroft 1.1 C | is the total heat flux penetrating the mixed layer |
18     C | from the surface in deg C / s referenced to the |
19     C | top layer. |
20     C | Note: KappaRT(i,j,k) is defined at the top of grid cell |
21     C | k while KPPghat(i,j,k,bi,bj) is defined at the |
22     C | bottom of grid cell k. |
23     C | For K=1, KappaRT(i,j,k) = 0 which insures no flux |
24     C | through the surface. |
25     C \==========================================================/
26     IMPLICIT NONE
27    
28     C == GLobal variables ==
29     #include "SIZE.h"
30     #include "DYNVARS.h"
31     #include "EEPARAMS.h"
32     #include "PARAMS.h"
33     #include "GRID.h"
34     #include "FFIELDS.h"
35     #include "KPP.h"
36     #include "KPP_PARAMS.h"
37    
38     C == Routine arguments ==
39     C iMin,iMax,jMin, - Range of points for which calculation
40     C jMax,bi,bj,k,km1 results will be set.
41     C maskC - Land mask for salt cells.
42     C KappaRT - Total diffusion in vertical for T.
43     C df - Diffusive flux component work array.
44     INTEGER iMin,iMax,jMin,jMax,bi,bj,k,km1
45     _RS maskC (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
46     _RL KappaRT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
47     _RL df (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
48    
49 heimbach 1.2 #if defined(ALLOW_KPP) && defined(KPP_GHAT)
50 adcroft 1.1
51     C == Local variables ==
52     C I, J - Loop counters
53     INTEGER I, J
54    
55 heimbach 1.2 DO j=jMin,jMax
56     DO i=iMin,iMax
57     df(i,j) = df(i,j) - _rA(i,j,bi,bj) * maskC(i,j) *
58     & KappaRT(i,j,k) * KPPghat(i,j,km1,bi,bj) * delZ(1) *
59 adcroft 1.5 & ( SurfaceTendencyT(i,j,bi,bj) -
60     & Qsw(i,j,bi,bj)
61     & *recip_Cp*recip_rhoNil*recip_dRf(1)
62     & * (1.-KPPfrac(i,j,bi,bj))
63 heimbach 1.2 & )
64 adcroft 1.1 ENDDO
65 heimbach 1.2 ENDDO
66 adcroft 1.1
67 heimbach 1.2 #endif /* ALLOW_KPP and KPP_GHAT */
68 adcroft 1.1
69     RETURN
70     END

  ViewVC Help
Powered by ViewVC 1.1.22