File indexing completed on 2018-03-02 18:41:11 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
12838c4aff Andr*0001 #include "GAD_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE SALT_FILL(
ce898dc2d4 Jean*0008 I uVel, vVel,
0009 U salt,
0010 I flag,myTime,myIter,myThid)
0011
12838c4aff Andr*0012
0013
0014
0015
ce898dc2d4 Jean*0016
12838c4aff Andr*0017
0018
ce898dc2d4 Jean*0019
12838c4aff Andr*0020
ce898dc2d4 Jean*0021
0022
12838c4aff Andr*0023
0024
ce898dc2d4 Jean*0025
0026
0027 IMPLICIT NONE
0028 #include "SIZE.h"
0029 #include "EEPARAMS.h"
0030 #include "PARAMS.h"
0031 #include "GRID.h"
0032
12838c4aff Andr*0033
0034
0035
0036
0037
0038
0039
0040
0041
ce898dc2d4 Jean*0042
0043 _RL uVel (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
0044 _RL vVel (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
0045 _RL salt (1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
12838c4aff Andr*0046 INTEGER flag
0047 _RL myTime
0048 INTEGER myIter
0049 INTEGER myThid
ce898dc2d4 Jean*0050
12838c4aff Andr*0051
ce898dc2d4 Jean*0052
0053
0054
0055
0056
0057
0058
0059 INTEGER bi,bj,i,j,L,LM1
0060 _RL dpratio
ff44768087 Dimi*0061 #ifdef ALLOW_DIAGNOSTICS
ce898dc2d4 Jean*0062 _RL tmpFac
ff44768087 Dimi*0063 #endif
12838c4aff Andr*0064
ce898dc2d4 Jean*0065
12838c4aff Andr*0066
0067 DO bj=myByLo(myThid),myByHi(myThid)
0068 DO bi=myBxLo(myThid),myBxHi(myThid)
0069 #ifdef ALLOW_DIAGNOSTICS
ce898dc2d4 Jean*0070
12838c4aff Andr*0071 IF (useDiagnostics)THEN
ce898dc2d4 Jean*0072 tmpFac = -1. _d 0
0073 CALL DIAGNOSTICS_SCALE_FILL(salt,tmpFac,1,'SALTFILL',
0074 & 0,Nr,-1,bi,bj,myThid)
12838c4aff Andr*0075 ENDIF
0076 #endif
0077
ce898dc2d4 Jean*0078
12838c4aff Andr*0079
0080 if(flag.eq.1) then
0081
0082 do L=Nr,2,-1
0083 LM1 = L-1
0084 dpratio= rC(L)/rC(LM1)
aa45708003 Andr*0085 do j=1,sNy
0086 do i=1,sNx
12838c4aff Andr*0087 if( salt(i,j,L,bi,bj).lt.0.0 _d 0) then
0088 salt(i,j,LM1,bi,bj) = salt(i,j,LM1,bi,bj) +
0089 . salt(i,j,L,bi,bj)*dpratio
0090 salt(i,j,L,bi,bj) = 0.0 _d 0
0091 endif
0092 enddo
0093 enddo
0094 enddo
0095
aa45708003 Andr*0096 do j=1,sNy
0097 do i=1,sNx
12838c4aff Andr*0098 if(salt(i,j,1,bi,bj).lt.0.0 _d 0)
0099 . salt(i,j,1,bi,bj) = 0.0 _d 0
0100 enddo
0101 enddo
0102
0103 else
0104 print *,'Invalid Flag in salt_fill - nothing done '
0105 endif
0106
0107 #ifdef ALLOW_DIAGNOSTICS
ce898dc2d4 Jean*0108
0109 IF ( useDiagnostics ) THEN
0110 CALL DIAGNOSTICS_FILL(salt,'SALTFILL',0,Nr,1,bi,bj,myThid)
12838c4aff Andr*0111 ENDIF
0112 #endif
0113 ENDDO
0114 ENDDO
0115
0116 RETURN
0117 END