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

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

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


Revision 1.8 - (show annotations) (download)
Thu Apr 24 21:35:53 2008 UTC (16 years, 2 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59r, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q
Changes since 1.7: +31 -1 lines
pkg/dic avoiding recomputations, avoiding conflict with exf (wspeed0,1 were defined twice)

1 C $Header: /u/gcmpack/MITgcm/pkg/dic/dic_init_fixed.F,v 1.7 2008/04/10 01:53:50 jmc Exp $
2 C $Name: $
3
4 #include "DIC_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: DIC_INIT_FIXED
9
10 C !INTERFACE:
11 SUBROUTINE DIC_INIT_FIXED( myThid )
12
13 C !DESCRIPTION:
14 C Initialize fixed quantities
15
16 C !USES:
17 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "GRID.h"
22 #include "DIC_VARS.h"
23 #include "DIC_ATMOS.h"
24
25 C !INPUT PARAMETERS:
26 C myThid :: thread number
27 INTEGER myThid
28 CEOP
29
30 #ifdef ALLOW_DIC
31 INTEGER i,j, bi,bj
32 INTEGER k
33 CHARACTER*(MAX_LEN_MBUF) msgBuf
34 INTEGER iUnit
35 CHARACTER*(MAX_LEN_FNAM) iName
36 integer ilo,ihi
37 integer ilnblnk,ifnblnk
38 external ilnblnk,ifnblnk
39
40 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
41
42 #ifdef DIC_BIOTIC
43 C-- Initialise alpha & rain_ratio fields with fixed (& Uniform) values
44 DO bj = myByLo(myThid), myByHi(myThid)
45 DO bi = myBxLo(myThid), myBxHi(myThid)
46 DO j=1-Oly,sNy+Oly
47 DO i=1-Olx,sNx+Olx
48 alpha(i,j,bi,bj) = alphaUniform
49 rain_ratio(i,j,bi,bj) = rainRatioUniform
50 ENDDO
51 ENDDO
52 ENDDO
53 ENDDO
54 #endif /* DIC_BIOTIC */
55
56 _BEGIN_MASTER(myThid)
57
58 C set up coefficients for DIC chemistry
59 C define Schmidt no. coefficients for CO2
60 sca1 = 2073.1 _d 0
61 sca2 = -125.62 _d 0
62 sca3 = 3.6276 _d 0
63 sca4 = -0.043219 _d 0
64 C define Schmidt no. coefficients for O2
65 C based on Keeling et al [GBC, 12, 141, (1998)]
66 sox1 = 1638.0 _d 0
67 sox2 = -81.83 _d 0
68 sox3 = 1.483 _d 0
69 sox4 = -0.008004 _d 0
70
71 C coefficients for determining saturation O2
72 oA0= 2.00907 _d 0
73 oA1= 3.22014 _d 0
74 oA2= 4.05010 _d 0
75 oA3= 4.94457 _d 0
76 oA4= -2.56847 _d -1
77 oA5= 3.88767 _d 0
78 oB0= -6.24523 _d -3
79 oB1= -7.37614 _d -3
80 oB2= -1.03410 _d -2
81 oB3= -8.17083 _d -3
82 oC0= -4.88682 _d -7
83
84 C Set other constant/flag
85
86 #ifndef USE_ATMOSCO2
87
88 if (dic_int1.eq.2) then
89 call mdsfindunit( iUnit, mythid )
90 open(UNIT=iUnit,FILE='co2atmos.dat',STATUS='old')
91 do k=1,dic_int2
92 read(iUnit,*) co2atmos(k)
93 print*,'co2atmos',co2atmos(k)
94 enddo
95 close(iUnit)
96 endif
97
98 if (dic_int1.eq.3) then
99 write(iName,'(A,I10.10)') 'dic_atmos.',nIter0
100 ilo = ifnblnk(iName)
101 ihi = ilnblnk(iName)
102 call mdsfindunit( iUnit, mythid )
103 open(UNIT=iUnit,FILE=iname(ilo:ihi),STATUS='old')
104 read(iUnit,*) total_atmos_carbon_ini,
105 & atpco2_ini
106 close(iUnit)
107 endif
108
109 #endif
110
111 #ifdef DIC_BIOTIC
112 #ifdef AD_SAFE
113 nlev=Nr
114 #else
115 k = 1
116 DO WHILE ( k .LT. Nr .AND. rC(k) .GE. -zcrit )
117 k = k+1
118 ENDDO
119 nlev = k
120 #endif
121 C-- Print out nlev values :
122 iUnit = standardMessageUnit
123 WRITE(msgBuf,'(A)') ' '
124 CALL PRINT_MESSAGE(msgBuf,iUnit,SQUEEZE_RIGHT,myThid)
125 WRITE(msgBuf,'(A)') '// ==================================='
126 CALL PRINT_MESSAGE(msgBuf,iUnit,SQUEEZE_RIGHT,myThid)
127 WRITE(msgBuf,'(A)') '// DIC_INIT_FIXED parameters :'
128 CALL PRINT_MESSAGE(msgBuf,iUnit,SQUEEZE_RIGHT,myThid)
129
130 CALL WRITE_0D_I( nlev, INDEX_NONE, 'nlev =',
131 & ' /* Number of level over which Bio act is computed */')
132 #endif /* DIC_BIOTIC */
133
134 _END_MASTER(myThid)
135
136 #ifdef ALLOW_MNC
137 IF ( useMNC ) THEN
138 CALL DIC_MNC_INIT( myThid )
139 ENDIF
140 #endif /* ALLOW_MNC */
141
142 #endif /* ALLOW_DIC */
143
144 RETURN
145 END

  ViewVC Help
Powered by ViewVC 1.1.22