/[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.6 - (show annotations) (download)
Thu Aug 18 18:24:29 2005 UTC (18 years, 10 months ago) by stephd
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57v_post, checkpoint57s_post, checkpoint57y_post, checkpoint57y_pre, checkpoint57r_post, checkpoint57x_post, checkpoint57w_post, checkpint57u_post, checkpoint57q_post
Changes since 1.5: +0 -1 lines
o add new calcium carbonate dissolution scheme (from Karsten Friis and
  Mick Follows)
o some cleaning up of code

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 GALK(i,j)=gsm_ALK*surfaceForcingS(i,j,bi,bj)*
59 & recip_drF(1)/gsm_S
60 c OR
61 c let virtual flux be zero
62 c GALK(i,j)=0.d0
63 c
64 ELSE
65 GALK(i,j)=0. _d 0
66 ENDIF
67 ENDDO
68 ENDDO
69
70 #endif
71 #endif
72 RETURN
73 END

  ViewVC Help
Powered by ViewVC 1.1.22