** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Wed, 22 Sep 2026 05:15:09 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/pkg/cfc/cfc12_surfforcing.F
File indexing completed on 2018-03-02 18:38:19 UTC
view on github raw 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