Back to home page

darwin3

 
 

    


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 CBOP
                0004 C !ROUTINE: DARWIN_FE_CHEM
                0005 
                0006 C !INTERFACE: ==========================================================
                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 C !DESCRIPTION: ========================================================
                0014 C     Calculate L,FeL,Fe concentration
                0015 C
                0016 C     Stephanie Dutkiewicz, 2004
                0017 C        following from code by Payal Parekh
                0018 
                0019 C !USES: ===============================================================
                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 C !INPUT PARAMETERS: ===================================================
                0030       INTEGER bi, bj, iMin, iMax, jMin, jMax, myThid
                0031 
                0032 C !INPUT/OUTPUT PARAMETERS: ============================================
                0033       _RL FeT(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr)
63ffa46034 Oliv*0034       _RL FeLoss(sNx, sNy, Nr)
8fbfd1f382 Oliv*0035 
                0036 C !OUTPUT PARAMETERS: ==================================================
                0037       _RL freeFe(1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr)
                0038 CEOP
                0039 
                0040 #ifdef ALLOW_DARWIN
                0041 
                0042 c !LOCAL VARIABLES: ====================================================
                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