File indexing completed on 2024-12-17 18:33:55 UTC
view on githubraw file Latest commit 865e4760 on 2021-08-25 17:18:39 UTC
8fbfd1f382 Oliv*0001 #include "DARWIN_OPTIONS.h"
0002 #include "EXF_OPTIONS.h"
0003
0004
0005
0006
0007
0008 SUBROUTINE DARWIN_FIELDS_LOAD( myIter, myTime, myThid )
0009
0010
0011
0012
0013
0014 IMPLICIT NONE
0015 #include "SIZE.h"
0016 #include "EEPARAMS.h"
0017 #include "PARAMS.h"
0018 #include "GRID.h"
0019 #ifdef ALLOW_EXF
0020 #include "EXF_FIELDS.h"
0021 #endif
865e47606a Oliv*0022 #ifdef ALLOW_PTRACERS
0023 #include "PTRACERS_SIZE.h"
0024 #include "PTRACERS_FIELDS.h"
0025 #endif
8fbfd1f382 Oliv*0026 #ifdef ALLOW_DARWIN
0027 #include "DARWIN_SIZE.h"
865e47606a Oliv*0028 #include "DARWIN_INDICES.h"
8fbfd1f382 Oliv*0029 #include "DARWIN_EXF_FIELDS.h"
0030 #include "DARWIN_PARAMS.h"
0031 #include "DARWIN_TRAITS.h"
0032 #endif
0033
0034
0035 _RL mytime
0036 integer myiter
0037 integer mythid
865e47606a Oliv*0038
0039
0040 LOGICAL DIAGNOSTICS_IS_ON
0041 EXTERNAL DIAGNOSTICS_IS_ON
8fbfd1f382 Oliv*0042
0043
0044 #ifdef ALLOW_DARWIN
0045 #ifdef ALLOW_EXF
0046
0047
0048 INTEGER bi,bj,i,j
865e47606a Oliv*0049 #ifdef ALLOW_DIAGNOSTICS
0050 INTEGER k,l
0051 _RL tmp(sNx,sNy,Nr)
0052 #endif
8fbfd1f382 Oliv*0053
0054
0055
0056 CALL DARWIN_EXF_LOAD(myTime, myIter, myThid)
0057
0058 IF (DARWIN_useEXFwind) THEN
0059 DO bj=myByLo(mythid),myByHi(myThid)
0060 DO bi=myBxLo(mythid),myBxHi(myThid)
0061 DO j=1-OLy,sNy+OLy
0062 DO i=1-OLx,sNx+OLx
0063 windSpeed(i,j,bi,bj) = wspeed(i,j,bi,bj)
0064 ENDDO
0065 ENDDO
0066 ENDDO
0067 ENDDO
0068 ENDIF
0069
0070 CALL DARWIN_MONITOR(myTime, myIter, myThid)
0071
0072 #ifdef ALLOW_DIAGNOSTICS
0073 IF (useDIAGNOSTICS) THEN
0074 CALL DIAGNOSTICS_FILL(surfPAR,'surfPAR ',1,1,0,0,0,myThid)
0075 CALL DIAGNOSTICS_FILL(inputFe,'surfiron',0,1,0,0,0,myThid)
0076 CALL DIAGNOSTICS_FILL(iceFrac,'DARice ',0,1,0,0,0,myThid)
0077 CALL DIAGNOSTICS_FILL(windSpeed,'DARwind ',0,1,0,0,0,myThid)
0078 CALL DIAGNOSTICS_FILL(atmospCO2,'surfpCO2',0,1,0,0,0,myThid)
0079 ENDIF
0080 #endif
0081
0082 #endif /* ALLOW_EXF */
865e47606a Oliv*0083
0084 #ifdef ALLOW_DIAGNOSTICS
0085 IF (useDIAGNOSTICS) THEN
0086 #ifdef DARWIN_ALLOW_CHLQUOTA
0087 IF (DIAGNOSTICS_IS_ON('Chl ', myThid)) THEN
0088 DO bj=myByLo(mythid),myByHi(myThid)
0089 DO bi=myBxLo(mythid),myBxHi(myThid)
0090 DO k=1,Nr
0091 DO j=1,sNy
0092 DO i=1,sNx
0093 tmp(i,j,k) = 0 _d 0
0094 ENDDO
0095 ENDDO
0096 ENDDO
0097 DO l=iChl,eChl
0098 DO k=1,Nr
0099 DO j=1,sNy
0100 DO i=1,sNx
0101 tmp(i,j,k) = tmp(i,j,k) + pTracer(i,j,k,bi,bj,l)
0102 ENDDO
0103 ENDDO
0104 ENDDO
0105 ENDDO
0106 CALL DIAGNOSTICS_FILL(tmp,'Chl ',0,Nr,3,bi,bj,myThid)
0107 ENDDO
0108 ENDDO
0109 ENDIF
0110 #endif /* DARWIN_ALLOW_CHLQUOTA */
0111 IF (DIAGNOSTICS_IS_ON('plankC ', myThid)) THEN
0112 DO bj=myByLo(mythid),myByHi(myThid)
0113 DO bi=myBxLo(mythid),myBxHi(myThid)
0114 DO k=1,Nr
0115 DO j=1,sNy
0116 DO i=1,sNx
0117 tmp(i,j,k) = 0 _d 0
0118 ENDDO
0119 ENDDO
0120 ENDDO
0121 DO l=ic,ec
0122 DO k=1,Nr
0123 DO j=1,sNy
0124 DO i=1,sNx
0125 tmp(i,j,k) = tmp(i,j,k) + pTracer(i,j,k,bi,bj,l)
0126 ENDDO
0127 ENDDO
0128 ENDDO
0129 ENDDO
0130 CALL DIAGNOSTICS_FILL(tmp,'plankC ',0,Nr,3,bi,bj,myThid)
0131 ENDDO
0132 ENDDO
0133 ENDIF
0134 ENDIF
0135 #endif /* ALLOW_DIAGNOSTICS */
0136
8fbfd1f382 Oliv*0137 #endif /* ALLOW_DARWIN */
0138
0139 RETURN
0140 END