Back to home page

MITgcm

 
 

    


File indexing completed on 2020-01-23 06:10:38 UTC

view on githubraw file Latest commit 538310b3 on 2019-11-29 15:33:02 UTC
182ce8f4e7 Jean*0001 #include "PACKAGES_CONFIG.h"
a77afd21fa Jean*0002 #include "CPP_OPTIONS.h"
                0003 
                0004 CBOP
                0005 C     !ROUTINE: FREEZE_SURFACE
                0006 C     !INTERFACE:
                0007       SUBROUTINE FREEZE_SURFACE( myTime, myIter, myThid )
                0008 C     !DESCRIPTION: \bv
                0009 C     *==========================================================*
538310b333 Jean*0010 C     | S/R FREEZE_SURFACE
                0011 C     | o Check water temperature and limit range of temperature
                0012 C     | appropriately.
a77afd21fa Jean*0013 C     *==========================================================*
                0014 C     \ev
                0015 
                0016 C     !USES:
                0017       IMPLICIT NONE
                0018 C     == Global variables ==
                0019 #include "SIZE.h"
                0020 #include "EEPARAMS.h"
                0021 #include "PARAMS.h"
                0022 #include "DYNVARS.h"
042348d828 Jean*0023 #include "GRID.h"
a77afd21fa Jean*0024 #include "FFIELDS.h"
                0025 
                0026 C     !INPUT/OUTPUT PARAMETERS:
                0027 C     == Routine Arguments ==
                0028 C     myTime - Current time in simulation
                0029 C     myIter - Current iteration number in simulation
                0030 C     myThid :: Thread no. that called this routine.
                0031       _RL myTime
                0032       INTEGER myIter
                0033       INTEGER myThid
                0034 
                0035 C     !LOCAL VARIABLES:
                0036 C     == Local variables ==
                0037 C     Tfreezing :: Freezing threshold temperature.
                0038       INTEGER bi,bj,i,j,k
                0039       _RL Tfreezing
                0040 CEOP
                0041 
9669509dca Jean*0042       IF ( usingPCoords ) THEN
a77afd21fa Jean*0043         k = Nr
                0044       ELSE
9669509dca Jean*0045         k = 1
a77afd21fa Jean*0046       ENDIF
                0047 
                0048       Tfreezing = -1.9 _d 0
                0049 
                0050 C     Check for water that should have frozen
                0051       DO bj=myByLo(myThid),myByHi(myThid)
                0052        DO bi=myBxLo(myThid),myBxHi(myThid)
                0053         DO j=1-OLy,sNy+OLy
                0054          DO i=1-OLx,sNx+OLx
042348d828 Jean*0055           IF (theta(i,j,k,bi,bj) .LT. Tfreezing) THEN
538310b333 Jean*0056              adjustColdSST_diag(i,j,bi,bj) =
042348d828 Jean*0057      &            ( Tfreezing - theta(i,j,k,bi,bj) )
616600b8d2 Patr*0058      &                    *drF(k)*_hFacC(i,j,k,bi,bj) / dTtracerLev(k)
042348d828 Jean*0059              theta(i,j,k,bi,bj) = Tfreezing
c4b7a0b775 Patr*0060           ELSE
538310b333 Jean*0061              adjustColdSST_diag(i,j,bi,bj) = 0. _d 0
a77afd21fa Jean*0062           ENDIF
                0063          ENDDO
                0064         ENDDO
                0065        ENDDO
                0066       ENDDO
                0067 
                0068       RETURN
                0069       END