File indexing completed on 2018-03-02 18:41:46 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
55f64449a3 Ryan*0001 #include "CPP_OPTIONS.h"
0002 #include "LAYERS_OPTIONS.h"
0003
0004
0005
0006
0007 SUBROUTINE LAYERS_WSURF_TR(thetaFld, saltFld, wVelFld,
0008 I myTime, myIter, myThid )
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 IMPLICIT NONE
0021
0022 #include "SIZE.h"
0023 #include "EEPARAMS.h"
0024 #include "PARAMS.h"
0025 #include "GRID.h"
0026 #include "SURFACE.h"
0027 #include "LAYERS_SIZE.h"
0028 #include "LAYERS.h"
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 _RL myTime
0039 INTEGER myIter
0040 INTEGER myThid
0041 _RL thetaFld(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
0042 _RL saltFld (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
0043 _RL wVelFld (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
0044
0045 #ifdef LAYERS_THERMODYNAMICS
0046
0047
0048
0049
0050
0051 INTEGER i,j,bi,bj,ks
0052 _RL tcor, scor
0053
0054
0055
0056
0057 DO bj=myByLo(myThid), myByHi(myThid)
0058 DO bi=myBxLo(myThid), myBxHi(myThid)
0059 DO j=1,sNy
0060 DO i=1,sNx
0061 ks = ksurfC(i,j,bi,bj)
0062 IF (ks.LE.Nr) THEN
0063
0064 tcor = -wVelFld(i,j,ks,bi,bj) * thetaFld(i,j,ks,bi,bj)
0065 scor = -wVelFld(i,j,ks,bi,bj) * saltFld(i,j,ks,bi,bj)
0066 IF (linFSConserveTr) THEN
0067 tcor = tcor + TsurfCor
0068 scor = scor + SsurfCor
0069 ENDIF
0070
0071 layers_surfflux(i,j,1,1,bi,bj) =
0072 & layers_surfflux(i,j,1,1,bi,bj) +
0073 & tcor * HeatCapacity_Cp * rUnit2mass
0074
0075 layers_surfflux(i,j,1,2,bi,bj) =
0076 & layers_surfflux(i,j,1,2,bi,bj) +
0077 & scor * rUnit2mass
0078 ENDIF
0079 ENDDO
0080 ENDDO
0081
0082 ENDDO
0083 ENDDO
0084
0085 #endif /* LAYERS_THERMODYNAMICS */
0086
0087 RETURN
0088 END