/[MITgcm]/MITgcm/pkg/thsice/thsice_salt_plume.F
ViewVC logotype

Contents of /MITgcm/pkg/thsice/thsice_salt_plume.F

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


Revision 1.2 - (show annotations) (download)
Wed Feb 8 22:32:24 2012 UTC (12 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64o, checkpoint64a, checkpoint63r, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64n, checkpoint64b, checkpoint63m, checkpoint64e, checkpoint63q, checkpoint64d, checkpoint64c, checkpoint64g, checkpoint64f, checkpoint63j, checkpoint63l, checkpoint63n, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint63k, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint64i, checkpoint63o, checkpoint63p, checkpoint64h, checkpoint63s, checkpoint64k, checkpoint64, checkpoint65, checkpoint64j, checkpoint64m, checkpoint64l
Changes since 1.1: +24 -59 lines
- diagnose directly amount of seawater freezing in THSICE_CALC_THICKN (not used).
- fix and simplify interface to salt_plume pkg.

1 C $Header: /u/gcmpack/MITgcm/pkg/thsice/thsice_salt_plume.F,v 1.1 2012/02/04 17:21:23 jmc Exp $
2 C $Name: $
3
4 #include "THSICE_OPTIONS.h"
5 #ifdef ALLOW_SALT_PLUME
6 # include "SALT_PLUME_OPTIONS.h"
7 #endif
8
9 CBOP
10 C !ROUTINE: THSICE_SALT_PLUME
11 C !INTERFACE:
12 SUBROUTINE THSICE_SALT_PLUME(
13 I sOce,
14 I frzSeaWat,
15 I iMin,iMax, jMin,jMax, bi, bj,
16 I myTime, myIter, myThid )
17
18
19 C !DESCRIPTION: \bv
20 C *==========================================================*
21 C | SUBROUTINE THSICE_SALT_PLUME
22 C | o Interface Routine to pkg/salt_plume:
23 C | Fill in saltPlumeFlux array (see SALT_PLUME.h)
24 C *==========================================================*
25 C \ev
26 C !USES:
27 IMPLICIT NONE
28
29 C === Global variables ===
30 #include "EEPARAMS.h"
31 #include "SIZE.h"
32 #include "PARAMS.h"
33 #include "THSICE_PARAMS.h"
34 #ifdef ALLOW_SALT_PLUME
35 # include "SALT_PLUME.h"
36 #endif
37
38 C !INPUT/OUTPUT PARAMETERS:
39 C sOce :: surface level oceanic salinity [g/kg]
40 C frzSeaWat :: seawater freezing rate (expressed as mass flux) [kg/m^2/s]
41 C iMin,iMax :: computation domain: 1rst index range
42 C jMin,jMax :: computation domain: 2nd index range
43 C bi,bj :: tile indices
44 C myTime :: current Time of simulation [s]
45 C myIter :: current Iteration number in simulation
46 C myThid :: my Thread Id number
47 _RL sOce (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
48 _RL frzSeaWat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
49 INTEGER iMin, iMax
50 INTEGER jMin, jMax
51 INTEGER bi,bj
52 _RL myTime
53 INTEGER myIter
54 INTEGER myThid
55 CEOP
56
57 #ifdef ALLOW_SALT_PLUME
58 C !LOCAL VARIABLES:
59 INTEGER i,j
60
61 C- Initialisation:
62 DO j=1-OLy,sNy+OLy
63 DO i=1-OLx,sNx+OLx
64 saltPlumeFlux(i,j,bi,bj) = 0. _d 0
65 ENDDO
66 ENDDO
67 C- salt rejected when seawater freeze (frw2oc < 0, frzSeaWat > 0):
68 DO j = jMin, jMax
69 DO i = iMin, iMax
70 saltPlumeFlux(i,j,bi,bj) =
71 & frzSeaWat(i,j)*( sOce(i,j) - saltIce )*SPsalFRAC
72 ENDDO
73 ENDDO
74
75 #endif /* ALLOW_SALT_PLUME */
76
77 RETURN
78 END

  ViewVC Help
Powered by ViewVC 1.1.22