/[MITgcm]/MITgcm/pkg/dic/alk_surfforcing.F
ViewVC logotype

Contents of /MITgcm/pkg/dic/alk_surfforcing.F

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


Revision 1.5 - (show annotations) (download)
Fri Aug 6 19:50:52 2004 UTC (19 years, 10 months ago) by stephd
Branch: MAIN
CVS Tags: checkpoint57o_post, checkpoint57m_post, checkpoint55c_post, checkpoint54e_post, checkpoint57k_post, checkpoint55d_pre, checkpoint57d_post, checkpoint57g_post, checkpoint57b_post, checkpoint57c_pre, checkpoint55j_post, checkpoint56b_post, checkpoint57i_post, checkpoint57e_post, checkpoint55h_post, checkpoint57g_pre, checkpoint55b_post, checkpoint56c_post, checkpoint55, checkpoint57f_pre, checkpoint57a_post, checkpoint54f_post, checkpoint55g_post, checkpoint55f_post, checkpoint57a_pre, checkpoint55i_post, checkpoint57, checkpoint56, eckpoint57e_pre, checkpoint57h_done, checkpoint57n_post, checkpoint57p_post, checkpoint57f_post, checkpoint57c_post, checkpoint55e_post, checkpoint55a_post, checkpoint57j_post, checkpoint57h_pre, checkpoint57l_post, checkpoint57h_post, checkpoint56a_post, checkpoint55d_post
Changes since 1.4: +2 -2 lines
o GALK and GDC need to be tendencies (not surface forcings)

1 #include "DIC_OPTIONS.h"
2 #include "GCHEM_OPTIONS.h"
3
4 CBOP
5 C !ROUTINE: ALK_SURFFORCING
6
7 C !INTERFACE: ==========================================================
8 SUBROUTINE ALK_SURFFORCING( PTR_ALK , GALK,
9 I bi,bj,imin,imax,jmin,jmax,
10 I myIter,myTime,myThid)
11
12 C !DESCRIPTION:
13 C Calculate the alkalinity change due to freshwater flux
14 C Update alkalinity tendency term
15
16 C !USES: ===============================================================
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "DYNVARS.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "GRID.h"
23 #include "FFIELDS.h"
24 #include "DIC_ABIOTIC.h"
25
26 C !INPUT PARAMETERS: ===================================================
27 C myThid :: thread number
28 C myIter :: current timestep
29 C myTime :: current time
30 C bi,bj :: tile indices
31 C PTR_ALK :: alkalinity field
32 INTEGER myIter, myThid
33 _RL myTime
34 _RL PTR_ALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
35 INTEGER iMin,iMax,jMin,jMax, bi, bj
36
37 C !OUTPUT PARAMETERS: ==================================================
38 C GALK :: tendency term of alkalinity
39 _RL GALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
40
41 #ifdef ALLOW_PTRACERS
42 #ifdef DIC_BIOTIC
43
44 C !LOCAL VARIABLES: ====================================================
45 C i,j :: loop indices
46 INTEGER i,j
47 CEOP
48
49 DO j=1-OLy,sNy+OLy
50 DO i=1-OLx,sNx+OLx
51 IF (maskC(i,j,1,bi,bj).NE.0.) THEN
52 c calculate virtual flux
53 c EminusPforV = dS/dt*(1/Sglob)
54 C NOTE: Be very careful with signs here!
55 C Positive EminusPforV => loss of water to atmos and increase
56 C in salinity. Thus, also increase in other surface tracers
57 C (i.e. positive virtual flux into surface layer)
58 cQQ GALK(i,j)=gsm_ALK*ftotflux(i,j,bi,bj)/gsm_S
59 GALK(i,j)=gsm_ALK*surfaceForcingS(i,j,bi,bj)*
60 & recip_drF(1)/gsm_S
61 c OR
62 c let virtual flux be zero
63 c GALK(i,j)=0.d0
64 c
65 ELSE
66 GALK(i,j)=0. _d 0
67 ENDIF
68 ENDDO
69 ENDDO
70
71 #endif
72 #endif
73 RETURN
74 END

  ViewVC Help
Powered by ViewVC 1.1.22