/[MITgcm]/MITgcm/pkg/cfc/cfc11_surfforcing.F
ViewVC logotype

Annotation of /MITgcm/pkg/cfc/cfc11_surfforcing.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (hide annotations) (download)
Sun Aug 6 01:29:12 2006 UTC (17 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64h, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint58u_post, checkpoint58w_post, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint58r_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58q_post, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint59, checkpoint58o_post, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint58y_post, checkpoint58v_post, checkpoint58s_post, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint58p_post, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.2: +14 -12 lines
add "_d 0" ; remove unneeded header files ; add BARRIER after initialisation

1 jmc 1.3 C $Header: $
2     C $Name: $
3    
4 stephd 1.1 #include "GCHEM_OPTIONS.h"
5    
6     CStartOfInterFace
7     SUBROUTINE cfc11_SURFFORCING( PTR_cfc11, surfcfc11,
8     I bi,bj,iMin,iMax,jMin,jMax,
9     I myIter, myTime, myThid )
10     C /==========================================================\
11     C | SUBROUTINE CFC11_SURFFORCING |
12     C |==========================================================|
13     IMPLICIT NONE
14    
15     C == GLobal variables ==
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PARAMS.h"
19     #include "GRID.h"
20 jmc 1.3 #include "DYNVARS.h"
21     c#include "FFIELDS.h"
22 stephd 1.1 #include "CFC.h"
23    
24     C == Routine arguments ==
25     INTEGER myIter, myThid
26     _RL myTime
27     _RL PTR_cfc11(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
28     _RL surfcfc11(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
29     INTEGER iMin,iMax,jMin,jMax, bi, bj
30    
31     #ifdef ALLOW_PTRACERS
32     #ifdef ALLOW_CFC
33    
34    
35     C == Local variables ==
36     C I, J, K - Loop counters
37     INTEGER I,J,K
38     C Solubility relation coefficients
39     _RL SchmidtNocfc11(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40     _RL SolCFC11(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
41 jmc 1.3 c _RL cfc11sat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42 stephd 1.1 _RL Kwexch(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
43     _RL Fluxcfc11(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44     _RL Csat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
45     _RL ttemp, ttemp2
46    
47     K=1
48    
49     C calculate SCHMIDT NO. for O2
50     DO j=jMin,jMax
51     DO i=iMin,iMax
52 jmc 1.3 IF (maskC(i,j,k,bi,bj).NE.0.) THEN
53 stephd 1.1 C calculate SCHMIDT NO. for CFC11
54     SchmidtNocfc11(i,j) =
55     & sca_11_1
56     & + sca_11_2 * theta(i,j,k,bi,bj)
57     & + sca_11_3 * theta(i,j,k,bi,bj)*theta(i,j,k,bi,bj)
58     & + sca_11_4 * theta(i,j,k,bi,bj)*theta(i,j,k,bi,bj)
59     & *theta(i,j,k,bi,bj)
60     c calculate solubility for CFC11
61 jmc 1.3 ttemp=( theta(i,j,k,bi,bj) + 273.16 _d 0)* 0.01 _d 0
62 stephd 1.1 ttemp2=( B3_11 * ttemp + B2_11 )*
63     & ttemp + B1_11
64     SolCFC11(i,j)
65     & = exp ( A1_11
66     & + A2_11 / ttemp
67     & + A3_11 * log( ttemp )
68     & + A4_11 * ttemp * ttemp
69     & + Salt(i,j,k,bi,bj)* ttemp2 )
70     c conversion from mol/(l * atm) to mol/(m^3 * atm)
71 jmc 1.3 SolCFC11(i,j) = 1000. _d 0 * SolCFC11(i,j)
72 stephd 1.1 c conversion from mol/(m^3 * atm) to mol/(m3 * pptv)
73 jmc 1.3 SolCFC11(i,j) = 1. _d -12 * SolCFC11(i,j)
74 stephd 1.1 C Determine surface flux (Fcfc11)
75     Csat(i,j) = SolCFC11(i,j)*AtmosP(i,j,bi,bj)
76     & *AtmosCFC11(i,j,bi,bj)
77 jmc 1.3 Kwexch(i,j) = (1. _d 0 - fice(i,j,bi,bj))
78     & * pisvel(i,j,bi,bj)
79     & / sqrt(SchmidtNoCFC11(i,j)/660. _d 0)
80 stephd 1.1 FluxCFC11(i,j) =
81     & Kwexch(i,j)*(Csat(i,j) - PTR_CFC11(i,j,1))
82    
83     ELSE
84 jmc 1.3 FluxCFC11(i,j) = 0. _d 0
85 stephd 1.1 ENDIF
86    
87    
88     ENDDO
89     ENDDO
90    
91     C update surface tendencies
92     DO j=jMin,jMax
93     DO i=iMin,iMax
94     SURFCFC11(i,j)=
95     & maskC(i,j,1,bi,bj)*FluxCFC11(i,j)*recip_drF(1)
96     ENDDO
97     ENDDO
98     #endif
99     #endif
100    
101    
102     RETURN
103     END

  ViewVC Help
Powered by ViewVC 1.1.22