/[MITgcm]/MITgcm/model/src/freeze_surface.F
ViewVC logotype

Contents of /MITgcm/model/src/freeze_surface.F

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


Revision 1.5 - (show annotations) (download)
Tue Oct 19 02:39:58 2004 UTC (19 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint55j_post, checkpoint56b_post, checkpoint55h_post, checkpoint56c_post, checkpoint55i_post, checkpoint56, checkpoint56a_post
Changes since 1.4: +3 -3 lines
use flags: fluidIsAir/Water, usingP/ZCoords instead of buoyancyRelation

1 C $Header: /u/gcmpack/MITgcm/model/src/freeze_surface.F,v 1.4 2004/07/18 01:04:23 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: FREEZE_SURFACE
9 C !INTERFACE:
10 SUBROUTINE FREEZE_SURFACE( myTime, myIter, myThid )
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | S/R FREEZE_SURFACE
14 C | o Check water temperature and limit range of temperature
15 C | appropriately.
16 C *==========================================================*
17 C \ev
18
19 C !USES:
20 IMPLICIT NONE
21 C == Global variables ==
22 #include "SIZE.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "DYNVARS.h"
26 #include "GRID.h"
27 #include "FFIELDS.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C == Routine Arguments ==
31 C myTime - Current time in simulation
32 C myIter - Current iteration number in simulation
33 C myThid :: Thread no. that called this routine.
34 _RL myTime
35 INTEGER myIter
36 INTEGER myThid
37
38 C !LOCAL VARIABLES:
39 C == Local variables ==
40 C Tfreezing :: Freezing threshold temperature.
41 INTEGER bi,bj,i,j,k
42 _RL Tfreezing
43 CEOP
44
45 IF ( usingPCoords ) THEN
46 k = Nr
47 ELSE
48 k = 1
49 ENDIF
50
51 Tfreezing = -1.9 _d 0
52
53 C Check for water that should have frozen
54 DO bj=myByLo(myThid),myByHi(myThid)
55 DO bi=myBxLo(myThid),myBxHi(myThid)
56 DO j=1-OLy,sNy+OLy
57 DO i=1-OLx,sNx+OLx
58 IF (theta(i,j,k,bi,bj) .LT. Tfreezing) THEN
59 surfaceForcingTice(i,j,bi,bj) =
60 & ( Tfreezing - theta(i,j,k,bi,bj) )
61 & *drF(k)*hFacC(i,j,k,bi,bj) / deltaTtracer
62 theta(i,j,k,bi,bj) = Tfreezing
63 ELSE
64 surfaceForcingTice(i,j,bi,bj) = 0. _d 0
65 ENDIF
66 ENDDO
67 ENDDO
68 ENDDO
69 ENDDO
70
71 RETURN
72 END

  ViewVC Help
Powered by ViewVC 1.1.22