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

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

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


Revision 1.12 - (show annotations) (download)
Tue Feb 18 05:33:55 2003 UTC (21 years, 4 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint51k_post, checkpoint50c_post, checkpoint50c_pre, checkpoint51l_post, checkpoint48i_post, checkpoint51, checkpoint50, checkpoint50d_post, checkpoint50b_pre, checkpoint51f_post, checkpoint51d_post, checkpoint51j_post, checkpoint51n_pre, checkpoint48f_post, checkpoint51l_pre, checkpoint48h_post, checkpoint51b_pre, checkpoint51h_pre, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, branchpoint-genmake2, checkpoint51i_post, checkpoint51b_post, checkpoint51c_post, checkpoint50g_post, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51i_pre, checkpoint50e_post, checkpoint50d_pre, checkpoint51e_post, checkpoint49, checkpoint51f_pre, checkpoint48g_post, checkpoint51g_post, checkpoint50b_post, checkpoint51m_post, checkpoint51a_post
Branch point for: branch-genmake2, tg2-branch
Changes since 1.11: +3 -3 lines
Merging from release1_p12:
o Modifications for using pkg/exf with pkg/seaice
  - improved description of the various forcing configurations
  - added basic radiation bulk formulae to pkg/exf
  - units/sign fix for evap computation in exf_getffields.F
  - updated verification/global_with_exf/results/output.txt
o Added pkg/sbo for computing IERS Special Bureau for the Oceans
  (SBO) core products, including oceanic mass, center-of-mass,
  angular, and bottom pressure (see pkg/sbo/README.sbo).
o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F
  to avoid negative values in shallow regions.
  - updated verification/natl_box/results/output.txt
  - updated verification/lab_sea/results/output.txt
o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F
o Added useSingleCpuIO option (see PARAMS.h).
o Updated useSingleCpuIO option in mdsio_writefield.F to
  work with multi-field files, e.g., for single-file pickup.
o pkg/seaice:
  - bug fix in growth.F: QNET for no shortwave case
  - added HeffFile for specifying initial sea-ice thickness
  - changed SEAICE_EXTERNAL_FLUXES wind stress implementation
o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf,
  kpp_transport_t.F, forward_step.F, and the_main_loop.F
o pkg/seaice:
  - adjoint-friendly modifications
  - added a SEAICE_WRITE_PICKUP at end of the_model_main.F

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

  ViewVC Help
Powered by ViewVC 1.1.22