File indexing completed on 2018-03-02 18:43:01 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
785a077159 Alis*0001 #include "PTRACERS_OPTIONS.h"
d217ad1db8 Oliv*0002 #include "GAD_OPTIONS.h"
785a077159 Alis*0003
d2825c6d08 Ed H*0004
785a077159 Alis*0005
04b12a5db5 Jean*0006
785a077159 Alis*0007
d2825c6d08 Ed H*0008
04b12a5db5 Jean*0009 SUBROUTINE PTRACERS_INIT_VARIA( myThid )
785a077159 Alis*0010
d2825c6d08 Ed H*0011
785a077159 Alis*0012
0013
d2825c6d08 Ed H*0014
d217ad1db8 Oliv*0015 #include "PTRACERS_MOD.h"
785a077159 Alis*0016 IMPLICIT NONE
0017 #include "SIZE.h"
0018 #include "EEPARAMS.h"
0019 #include "PARAMS.h"
0dcd950fdd Patr*0020 #include "GRID.h"
d217ad1db8 Oliv*0021 #include "GAD.h"
636477d15b Jean*0022 #include "PTRACERS_SIZE.h"
0a278985fd Jean*0023 #include "PTRACERS_PARAMS.h"
47ed7f003e Jean*0024 #include "PTRACERS_START.h"
0a278985fd Jean*0025 #include "PTRACERS_FIELDS.h"
c4461c434e Step*0026
d2825c6d08 Ed H*0027
0028
785a077159 Alis*0029 INTEGER myThid
0030
0031 #ifdef ALLOW_PTRACERS
0032
d2825c6d08 Ed H*0033
0034
3ab6b68cec Jean*0035 INTEGER i,j,k,bi,bj,iTracer
0036 #ifdef PTRACERS_ALLOW_DYN_STATE
0037 INTEGER n
0038 #endif
7d62671abd Oliv*0039 CHARACTER*(MAX_LEN_FNAM) tmpInitialFile
785a077159 Alis*0040
04b12a5db5 Jean*0041
47ed7f003e Jean*0042
0043 _BEGIN_MASTER( myThid )
0044 DO iTracer = 1, PTRACERS_num
0045 PTRACERS_StepFwd(iTracer) = .TRUE.
0046 PTRACERS_startAB(iTracer) = nIter0 - PTRACERS_Iter0
0047 ENDDO
0048 _END_MASTER( myThid )
0049 _BARRIER
0050
d2825c6d08 Ed H*0051
785a077159 Alis*0052 DO iTracer = 1, PTRACERS_num
0053
dd33ff71a5 Mart*0054
0055 DO bj = myByLo(myThid), myByHi(myThid)
0056 DO bi = myBxLo(myThid), myBxHi(myThid)
04b12a5db5 Jean*0057
dd33ff71a5 Mart*0058
0059 DO k=1,Nr
0a278985fd Jean*0060 DO j=1-OLy,sNy+OLy
0061 DO i=1-OLx,sNx+OLx
dd33ff71a5 Mart*0062 pTracer(i,j,k,bi,bj,iTracer) = PTRACERS_ref(k,iTracer)
0a278985fd Jean*0063 gpTrNm1(i,j,k,bi,bj,iTracer) = 0. _d 0
dd33ff71a5 Mart*0064 ENDDO
d2825c6d08 Ed H*0065 ENDDO
dd33ff71a5 Mart*0066 ENDDO
0a278985fd Jean*0067 DO j=1-OLy,sNy+OLy
0068 DO i=1-OLx,sNx+OLx
0069 surfaceForcingPTr(i,j,bi,bj,iTracer) = 0. _d 0
dd33ff71a5 Mart*0070 ENDDO
0071 ENDDO
04b12a5db5 Jean*0072
811d3e9bd3 Jean*0073 #ifdef PTRACERS_ALLOW_DYN_STATE
d217ad1db8 Oliv*0074
0075 IF ( PTRACERS_SOM_Advection(iTracer) ) THEN
0076 DO n = 1,nSOM
0077 DO k=1,Nr
0078 DO j=1-OLy,sNy+OLy
0079 DO i=1-OLx,sNx+OLx
0080 _Ptracers_som(i,j,k,bi,bj,n,iTracer) = 0. _d 0
0081 ENDDO
0082 ENDDO
0083 ENDDO
0084 ENDDO
0085 ENDIF
811d3e9bd3 Jean*0086 #endif /* PTRACERS_ALLOW_DYN_STATE */
d217ad1db8 Oliv*0087
dd33ff71a5 Mart*0088
34fdea0d95 Dimi*0089 ENDDO
dd33ff71a5 Mart*0090 ENDDO
785a077159 Alis*0091
dd33ff71a5 Mart*0092
785a077159 Alis*0093 ENDDO
0094
d2825c6d08 Ed H*0095
727f3ba9e2 Jean*0096 IF (nIter0.EQ.PTRACERS_Iter0) THEN
dd33ff71a5 Mart*0097 DO iTracer = 1, PTRACERS_numInUse
7d62671abd Oliv*0098 tmpInitialFile = PTRACERS_initialFile(iTracer)
0099 IF ( tmpInitialFile .NE. ' ' ) THEN
0100 CALL READ_FLD_XYZ_RL(tmpInitialFile,' ',
47ed7f003e Jean*0101 & pTracer(1-OLx,1-OLy,1,1,1,iTracer),0,myThid)
0102 _EXCH_XYZ_RL(pTracer(1-OLx,1-OLy,1,1,1,iTracer),myThid)
dd33ff71a5 Mart*0103 ENDIF
0104 ENDDO
785a077159 Alis*0105 ENDIF
0106
dd33ff71a5 Mart*0107
0108 DO iTracer = 1, PTRACERS_numInUse
0109 DO bj = myByLo(myThid), myByHi(myThid)
0110 DO bi = myBxLo(myThid), myBxHi(myThid)
04b12a5db5 Jean*0111 DO k=1,Nr
0a278985fd Jean*0112 DO j=1-OLy,sNy+OLy
0113 DO i=1-OLx,sNx+OLx
04b12a5db5 Jean*0114 IF (maskC(i,j,k,bi,bj).EQ.0.)
0115 & pTracer(i,j,k,bi,bj,iTracer)=0. _d 0
dd33ff71a5 Mart*0116 ENDDO
0117 ENDDO
0118 ENDDO
0119 ENDDO
0120 ENDDO
0121 ENDDO
5bfeee1bf0 Chri*0122
34fdea0d95 Dimi*0123
5b187c067b Jean*0124 IF ( nIter0.GT.PTRACERS_Iter0 .OR.
0125 & (nIter0.EQ.PTRACERS_Iter0 .AND. pickupSuff.NE.' ')
0126 & ) THEN
0127
d197c88195 Jean*0128 CALL PTRACERS_READ_PICKUP( nIter0, myThid )
785a077159 Alis*0129 ENDIF
04b12a5db5 Jean*0130
785a077159 Alis*0131 #endif /* ALLOW_PTRACERS */
04b12a5db5 Jean*0132
785a077159 Alis*0133 RETURN
0134 END