/[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.11 - (show annotations) (download)
Fri Apr 4 21:32:36 2008 UTC (16 years, 2 months ago) by dfer
Branch: MAIN
Changes since 1.10: +2 -2 lines
Merging DIC_ABIOTIC.h and DIC_BIOTIC.h

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

  ViewVC Help
Powered by ViewVC 1.1.22