File indexing completed on 2018-03-02 18:38:19 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
8ac664a04c Step*0001 #include "GCHEM_OPTIONS.h"
0002
6cebf9fc9a Jean*0003
0004
0005
0006 SUBROUTINE CFC12_SURFFORCING(
0007 I pTr_CFC12, AtmosCFC12,
0008 O fluxCFC12,
0009 I bi, bj, iMin, iMax, jMin, jMax,
0010 I myTime, myIter, myThid )
0011
0012
0013
0014
0015
0016
0017
0018
8ac664a04c Step*0019 IMPLICIT NONE
0020
0021
0022 #include "SIZE.h"
0023 #include "EEPARAMS.h"
0024 #include "PARAMS.h"
0025 #include "GRID.h"
3247fa4f0b Jean*0026 #include "DYNVARS.h"
8ac664a04c Step*0027 #include "CFC.h"
0028
6cebf9fc9a Jean*0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 _RL pTr_CFC12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
0040 _RL AtmosCFC12(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0041 _RL fluxCFC12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0042 INTEGER bi, bj
0043 INTEGER iMin, iMax, jMin, jMax
8ac664a04c Step*0044 _RL myTime
6cebf9fc9a Jean*0045 INTEGER myIter, myThid
0046
8ac664a04c Step*0047
0048 #ifdef ALLOW_PTRACERS
0049 #ifdef ALLOW_CFC
0050
6cebf9fc9a Jean*0051
0052
0053 INTEGER i,j,k
8ac664a04c Step*0054
0055 _RL SchmidtNocfc12(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0056 _RL SolCFC12(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
3247fa4f0b Jean*0057
8ac664a04c Step*0058 _RL Kwexch(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0059 _RL Csat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
0060 _RL ttemp, ttemp2
0061
6cebf9fc9a Jean*0062 k=1
8ac664a04c Step*0063
0064
0065 DO j=jMin,jMax
6cebf9fc9a Jean*0066 DO i=iMin,iMax
0067 IF ( maskC(i,j,k,bi,bj).NE.zeroRS ) THEN
8ac664a04c Step*0068
6cebf9fc9a Jean*0069 SchmidtNocfc12(i,j) =
0070 & sca_12_1
8ac664a04c Step*0071 & + sca_12_2 * theta(i,j,k,bi,bj)
6cebf9fc9a Jean*0072 & + sca_12_3 * theta(i,j,k,bi,bj)*theta(i,j,k,bi,bj)
0073 & + sca_12_4 * theta(i,j,k,bi,bj)*theta(i,j,k,bi,bj)
8ac664a04c Step*0074 & *theta(i,j,k,bi,bj)
0075
6cebf9fc9a Jean*0076 ttemp=( theta(i,j,k,bi,bj) + 273.16 _d 0)* 0.01 _d 0
0077 ttemp2=( B3_12 * ttemp + B2_12 )*ttemp + B1_12
0078 SolCFC12(i,j) =
0079 & EXP ( A1_12
8ac664a04c Step*0080 & + A2_12 / ttemp
0081 & + A3_12 * log( ttemp )
0082 & + A4_12 * ttemp * ttemp
0083 & + Salt(i,j,k,bi,bj)* ttemp2 )
0084
6cebf9fc9a Jean*0085 SolCFC12(i,j) = 1000. _d 0 * SolCFC12(i,j)
8ac664a04c Step*0086
6cebf9fc9a Jean*0087 SolCFC12(i,j) = 1. _d -12 * SolCFC12(i,j)
8ac664a04c Step*0088
6cebf9fc9a Jean*0089 Csat(i,j) = SolCFC12(i,j)*AtmosP(i,j,bi,bj)
0090 & *AtmosCFC12(i,j)
0091 Kwexch(i,j) = (1. _d 0 - fIce(i,j,bi,bj))
0092 & * pisVel(i,j,bi,bj)
0093 & / SQRT(SchmidtNoCFC12(i,j)/660. _d 0)
0094 fluxCFC12(i,j) =
0095 & Kwexch(i,j)*(Csat(i,j) - pTr_CFC12(i,j,1))
8ac664a04c Step*0096
6cebf9fc9a Jean*0097 ELSE
0098 fluxCFC12(i,j) = 0. _d 0
0099 ENDIF
8ac664a04c Step*0100
0101 ENDDO
6cebf9fc9a Jean*0102 ENDDO
8ac664a04c Step*0103
6cebf9fc9a Jean*0104 #endif /* ALLOW_CFC */
0105 #endif /* ALLOW_PTRACERS */
8ac664a04c Step*0106
6cebf9fc9a Jean*0107 RETURN
0108 END