/[MITgcm]/MITgcm_contrib/bling/pkg/bling_mixedlayer.F
ViewVC logotype

Contents of /MITgcm_contrib/bling/pkg/bling_mixedlayer.F

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


Revision 1.1 - (show annotations) (download)
Sun Feb 28 21:53:37 2016 UTC (9 years, 4 months ago) by mmazloff
Branch: MAIN
CVS Tags: HEAD
Update to BLING version 2

1 C $Header: $
2 C $Name: $
3
4 #include "BLING_OPTIONS.h"
5
6 CBOP
7 subroutine BLING_MIXEDLAYER(
8 U sumMLDepth,
9 I bi, bj, imin, imax, jmin, jmax,
10 I myIter, myTime, myThid )
11
12 C =================================================================
13 C | subroutine bling_mixedlayer
14 C | o
15 C | - irr_mix is the same as irr_inst, but averaged throughout
16 C | the mixed layer. This quantity is intended to represent the
17 C | light to which phytoplankton subject to turbulent transport in
18 C | the mixed-layer would be exposed.
19 C =================================================================
20
21 implicit none
22
23 C === Global variables ===
24
25 #include "SIZE.h"
26 #include "EEPARAMS.h"
27 #include "PARAMS.h"
28 #include "FFIELDS.h"
29 #include "GRID.h"
30 #include "DYNVARS.h"
31 #include "BLING_VARS.h"
32 #include "PTRACERS_SIZE.h"
33 #include "PTRACERS_PARAMS.h"
34 #ifdef ALLOW_AUTODIFF
35 # include "tamc.h"
36 #endif
37
38 C === Routine arguments ===
39 C bi,bj :: tile indices
40 C iMin,iMax :: computation domain: 1rst index range
41 C jMin,jMax :: computation domain: 2nd index range
42 C myTime :: current time
43 C myIter :: current timestep
44 C myThid :: thread Id. number
45 INTEGER bi, bj, imin, imax, jmin, jmax
46 INTEGER myThid
47 INTEGER myIter
48 _RL myTime
49 C === Output ===
50 C sumMLDepth :: mixed layer depth
51 _RL sumMLDepth(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
52
53 C === Local variables ===
54 _RL dens_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
55 _RL dens_z (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
56 _RL delta_dens(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
57 integer i,j,k
58 CEOP
59
60 c ---------------------------------------------------------------------
61 c Mixed layer depth
62
63 DO j=jmin,jmax
64 DO i=imin,imax
65 SumMLDepth(i,j) = drf(1)
66 ENDDO
67 ENDDO
68
69 c Surface density
70 CALL FIND_RHO_2D(
71 I 1-OLx, sNx+OLx, 1-OLy, sNy+OLy, 1,
72 I theta(1-OLx,1-OLy,1,bi,bj), salt(1-OLx,1-OLy,1,bi,bj),
73 O dens_surf,
74 I 1, bi, bj, myThid )
75
76 DO k=1,Nr
77 DO j=jmin,jmax
78 DO i=imin,imax
79 if (k.eq.1) then
80 delta_dens(i,j,1) = 0. _d 0
81 else
82 delta_dens(i,j,k) = 9999. _d 0
83 endif
84 ENDDO
85 ENDDO
86 ENDDO
87
88 DO k = 2,Nr
89
90 c Potential density
91 CALL FIND_RHO_2D(
92 I 1-OLx, sNx+OLx, 1-OLy, sNy+OLy, 1,
93 I theta(1-OLx,1-OLy,k,bi,bj), salt(1-OLx,1-OLy,k,bi,bj),
94 O dens_z,
95 I k, bi, bj, myThid )
96
97 DO j=jmin,jmax
98 DO i=imin,imax
99
100 c SumMLDepth(i,j) = 0. _d 0
101
102 IF (hFacC(i,j,k,bi,bj) .gt. 0. _d 0) THEN
103 delta_dens(i,j,k) = dens_z(i,j)-dens_surf(i,j)
104 IF (delta_dens(i,j,k) .LT. 0.03 _d 0) THEN
105 SumMLDepth(i,j) = SumMLDepth(i,j)+drF(k)
106 ENDIF
107 ENDIF
108
109 ENDDO
110 ENDDO
111 ENDDO
112
113 RETURN
114 END
115

  ViewVC Help
Powered by ViewVC 1.1.22