File indexing completed on 2024-12-17 18:33:55 UTC
view on githubraw file Latest commit 63ffa460 on 2022-02-12 14:03:55 UTC
8fbfd1f382 Oliv*0001 #include "DARWIN_OPTIONS.h"
0002
0003
0004
0005
0006
0007 SUBROUTINE DARWIN_FE_CHEM(
0008 U FeT,
0009 O freeFe,
63ffa46034 Oliv*0010 U FeLoss,
8fbfd1f382 Oliv*0011 I bi, bj, iMin, iMax, jMin, jMax, myThid )
0012
0013
0014
0015
0016
0017
0018
0019
0020 IMPLICIT NONE
0021 #include "SIZE.h"
0022 #include "GRID.h"
0023 #ifdef ALLOW_DARWIN
0024 #include "DARWIN_SIZE.h"
0025 #include "DARWIN_PARAMS.h"
0026 #include "DARWIN_TRAITS.h"
0027 #endif
0028
0029
0030 INTEGER bi, bj, iMin, iMax, jMin, jMax, myThid
0031
0032
0033 _RL FeT(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr)
63ffa46034 Oliv*0034 _RL FeLoss(sNx, sNy, Nr)
8fbfd1f382 Oliv*0035
0036
0037 _RL freeFe(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr)
0038
0039
0040 #ifdef ALLOW_DARWIN
0041
0042
0043 INTEGER i, j, k
0044 _RL lig
0045 _RL FeL
0046
0047 DO k=1,Nr
0048 DO j=jMin,jMax
0049 DO i=iMin,iMax
0050 IF (maskC(i, j, k, bi, bj) .GT. 0.0 _d 0) THEN
0051 lig = (-ligand_stab*FeT(i,j,k) +
0052 & ligand_stab*ligand_tot -
0053 & 1. _d 0 +
0054 & ( ( ligand_stab*FeT(i,j,k) -
0055 & ligand_stab*ligand_tot+1. _d 0
0056 & )**2 +
0057 & 4. _d 0*ligand_stab*ligand_tot
0058 & )**0.5 _d 0
0059 & )/(2. _d 0*ligand_stab)
63ffa46034 Oliv*0060
8fbfd1f382 Oliv*0061 FeL = ligand_tot - lig
0062 freefe(i,j,k) = FeT(i,j,k) - FeL
0063 #ifdef DARWIN_MINFE
0064 freefe(i,j,k) = MIN(freefe(i,j,k), freefemax)
0065 IF (maskInC(i,j,bi,bj) .GT. 0.0) THEN
63ffa46034 Oliv*0066 FeLoss(i,j,k) = FeLoss(i,j,k) + FeT(i,j,k) - FeL
0067 & - freefe(i,j,k)
8fbfd1f382 Oliv*0068 FeT(i,j,k) = FeL + freefe(i,j,k)
0069 ENDIF
0070 #endif
0071 ELSE
0072 freefe(i,j,k) = 0.0 _d 0
0073 ENDIF
0074 ENDDO
0075 ENDDO
0076 ENDDO
0077
0078 #endif /* ALLOW_DARWIN */
0079
0080 RETURN
0081 END SUBROUTINE