/[MITgcm]/MITgcm_contrib/jscott/igsm/src/gr_for_3docean.F
ViewVC logotype

Annotation of /MITgcm_contrib/jscott/igsm/src/gr_for_3docean.F

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


Revision 1.1 - (hide annotations) (download)
Fri Aug 11 19:35:31 2006 UTC (18 years, 11 months ago) by jscott
Branch: MAIN
CVS Tags: HEAD
atm2d package

1 jscott 1.1
2     #include "ctrparam.h"
3    
4     ! ==========================================================
5     !
6     ! GROUND.F: THIS SUBROUTINE USES THE SURFACE FLUXES TO
7     ! PREDICT IN TIME THE GROUND TEMPERATURE, GROUND
8     ! WATER AND ICE, AND SNOW MELTING.
9     !
10     ! ----------------------------------------------------------
11     !
12     ! Revision History:
13     !
14     ! When Who What
15     ! ---- ---------- -------
16     ! 073100 Chien Wang add cpp & dmax dmin -> max, min
17     !
18     ! ==========================================================
19    
20     SUBROUTINE GRFOROCEAN 7001.
21     C**** 7001.5
22     C**** THIS SUBROUTINE USES THE SURFACE FLUXES TO PREDICT IN TIME THE 7002.
23     C**** GROUND TEMPERATURE, GROUND WATER AND ICE, AND SNOW MELTING. 7002.5
24     C**** 7003.
25    
26     #include "BD2G04.COM" 7003.5
27    
28     COMMON U,V,T,P,Q 7004.
29     COMMON/WORK3/E0(IO0,JM0,4),E1(IO0,JM0,4),EVAPOR(IO0,JM0,4) 7004.5
30     COMMON/OT/OTA(IO0,JM0),OTB(IO0,JM0),OTC(IO0,JM0) 7005.
31     COMMON/SPEC2/KM,KINC,COEK,C3LAND(IO0,JM0),C3OICE(IO0,JM0) 7005.1
32     * ,C3LICE(IO0,JM0),WMGE(IO0,JM0),TSSFC(1,JM0,4) 7005.2
33     common/qfl/QFLUX(JM0,0:13),ZOAV(JM0),QFLUXT(JM0)
34     COMMON/OLDZO/Z1OOLD(IO0,JM0)
35     DIMENSION FWATER(JM0),TOBS(JM0),TF68(JM0),DELR(JM0) 7005.3
36     DATA SHV/0./,SHW/4185./,SHI/2060./,RHOW/1000./,RHOI/916.6/, 7005.9
37     * ALAMI/2.1762/,TFO/-1.56/,Z1I/.1/,Z2LI/2.9/,Z1E/.1/,Z2E/4./ 7006.
38     INTEGER JDOFM(13) 7006.1
39     DATA JDOFM/0,31,59,90,120,151,181,212,243,273,304,334,365/ 7006.2
40     DATA Z2OIM/0.9/,Z2OIX/4.9/ 7006.5
41     DATA TTRUNC/0./ 7007.
42     DATA IFIRST/1/ 7007.5
43     C**** 7008.
44     C**** FDATA 2 LAND COVERAGE (1) 7008.5
45     C**** 3 RATIO OF LAND ICE COVERAGE TO LAND COVERAGE (1) 7009.
46     C**** 7009.5
47     C**** ODATA 1 OCEAN TEMPERATURE (C) 7010.
48     C**** 2 RATIO OF OCEAN ICE COVERAGE TO WATER COVERAGE (1) 7010.5
49     C**** 3 OCEAN ICE AMOUNT OF SECOND LAYER (KG/M**2) 7011.
50     C**** 7011.5
51     C**** GDATA 1 OCEAN ICE SNOW AMOUNT (KG/M**2) 7012.
52     C**** 2 EARTH SNOW AMOUNT (KG/M**2) 7012.5
53     C**** 3 OCEAN ICE TEMPERATURE OF FIRST LAYER (C) 7013.
54     C**** 4 EARTH TEMPERATURE OF FIRST LAYER (C) 7013.5
55     C**** 5 EARTH WATER OF FIRST LAYER (KG/M**2) 7014.
56     C**** 6 EARTH ICE OF FIRST LAYER (KG/M**2) 7014.5
57     C**** 7 OCEAN ICE TEMPERATURE OF SECOND LAYER (C) 7015.
58     C**** 8 EARTH TEMPERATURE OF SECOND LAYER (C) 7015.5
59     C**** 9 EARTH WATER OF SECOND LAYER (KG/M**2) 7016.
60     C**** 10 EARTH ICE OF SECOND LAYER (KG/M**2) 7016.5
61     C**** 12 LAND ICE SNOW AMOUNT (KG/M**2) 7017.
62     C**** 13 LAND ICE TEMPERATURE OF FIRST LAYER (C) 7017.5
63     C**** 14 LAND ICE TEMPERATURE OF SECOND LAYER (C) 7018.
64     C**** 7018.5
65     C**** VDATA 9 WATER FIELD CAPACITY OF FIRST LAYER (KG/M**2) 7019.
66     C**** 10 WATER FIELD CAPACITY OF SECOND LAYER (KG/M**2) 7019.5
67     C**** 7020.
68     IF(IFIRST.NE.1) GO TO 50 7020.5
69     IFIRST=0 7021.
70     FIO=IO 7021.1
71     JDAYPR=0
72     10 DTSRCE=NDYN*DT 7023.
73     ACE1I=Z1I*RHOI 7023.5
74     AC2OIM=Z2OIM*RHOI 7024.
75     ATRUNC=2.**(-13) 7024.5
76     BYZICX=1./(Z1I+Z2OIX) 7024.6
77     HC1I=ACE1I*SHI 7025.
78     HC2LI=Z2LI*RHOI*SHI 7025.5
79     HC1DE=Z1E*1129950. 7026.
80     HC2DE=Z2E*1129950.+3.5*.125*RHOW*3100. 7026.5
81     DIFFUS=DTSRCE/SDAY 7027.
82     C OTCOR=-.927E18 7027.1
83     c print *,'E0(1,j,1)'
84     c print *,(E0(1,j,1),j=1,JM0)
85     50 ANGLE=TWOPI*JDAY/365. 7027.5
86     DO 55 MONTH=1,12 7027.6
87     IF(JDAY.LE.JDOFM(MONTH+1)) GO TO 56 7027.7
88     55 CONTINUE 7027.8
89     56 CONTINUE 7027.9
90     SINANG=SIN(ANGLE) 7028.
91     COSANG=COS(ANGLE) 7028.5
92     C**** 7029.
93     C**** OUTSIDE LOOP OVER J AND I, EXECUTED ONCE FOR EACH GRID POINT 7029.5
94     C**** 7030.
95     JRPR=0
96     DO 980 J=1,JM 7030.5
97     IMAX=IM 7031.
98     IF((J.EQ.1).OR.(J.EQ.JM)) IMAX=1 7031.5
99     C DELR(J)=(TF68(J)-TOBS(J))*Z1O(1,J)*RHOW*SHW/(365.*SDAY) 7031.6
100     BF1DT=0. 7032.
101     CF1DT=0. 7032.5
102     AOTDT=0. 7033.
103     COTDT=0. 7033.5
104     AEFO=0. 7034.
105     CEFI=0. 7034.5
106     BEDIFS=0. 7035.
107     CEDIFS=0. 7035.5
108     BERUN0=0. 7036.
109     CF2DT=0. 7036.5
110     BERUN2=0. 7037.
111     CERUN2=0. 7037.5
112     AERUN4=0. 7038.
113     CERUN4=0. 7038.5
114     ATG1=0. 7039.
115     BTG1=0. 7039.5
116     CTG1=0. 7040.
117     ATG2=0. 7040.5
118     BTG2=0. 7041.
119     CTG2=0. 7041.5
120     ATG3=0. 7042.
121     AEVAP=0. 7042.5
122     BEVAP=0. 7043.
123     CEVAP=0. 7043.5
124     BDIFS=0. 7044.
125     CDIFS=0. 7044.5
126     AIFO=0. 7045.
127     CIFI=0. 7045.5
128     BRUN0=0. 7046.
129     CRUN0=0. 7046.5
130     BRUN2=0. 7047.
131     CRUN2=0. 7047.5
132     ARUN4=0. 7048.
133     CRUN4=0. 7048.5
134     BWTR1=0. 7049.
135     BACE1=0. 7049.5
136     BWTR2=0. 7050.
137     BACE2=0. 7050.5
138     CACE2=0. 7051.
139     BSNOW=0. 7051.5
140     CSNOW=0. 7052.
141     CICOV=0. 7052.5
142     c DO 960 I=1,IMAX 7053.
143     I=1
144     C**** 7053.5
145     C**** DETERMINE SURFACE CONDITIONS 7054.
146     C**** 7054.5
147     PLAND=FDATA(I,J,2) 7055.
148     PWATER=1.-PLAND 7055.5
149     PLICE=FDATA(I,J,3)*PLAND 7056.
150     PEARTH=PLAND-PLICE 7056.5
151     ROICE=ODATA(I,J,2) 7057.
152     POICE=ROICE*PWATER 7057.5
153     POCEAN=PWATER-POICE 7058.
154     if(POCEAN.LE.1.E-5)then
155     POCEAN=0.
156     POICE=PWATER
157     endif
158     JR=J
159     DXYPJ=DXYP(J) 7059.
160     SNOWS=0. 7059.5
161     WTR1S=0. 7060.
162     ACE1S=0. 7060.5
163     WTR2S=0. 7061.
164     ACE2S=0. 7061.5
165     TG1S=0. 7062.
166     TG2S=0. 7062.5
167     EVAPS=0. 7063.
168     RUN0S=0. 7063.5
169     DIFSS=0. 7064.
170     C**** 7064.5
171     IF(PWATER.LE.0.0) GO TO 400 7065.
172     C**** 7065.5
173     C**** OCEAN 7066.
174     C**** 7066.5
175     EVAP=EVAPOR(I,J,1) 7067.
176     ATG1=ATG1+ODATA(I,J,1)*POCEAN 7067.5
177     TG1S=TG1S+ODATA(I,J,1)*POCEAN 7068.
178     AEVAP=AEVAP+EVAP*POCEAN 7068.5
179     EVAPS=EVAPS+EVAP*POCEAN 7069.
180     AIJ(I,J,61)=AIJ(I,J,61)+EVAP*POCEAN 7069.5
181     ATG2=ATG2+ODATA(I,J,4)*POCEAN 7070.5
182     TG2S=TG2S+ODATA(I,J,4)*POCEAN 7071.
183     ATG3=ATG3+ODATA(I,J,5)*POCEAN 7070.5
184     IF(POICE.GT.0.) GO TO 110 7071.5
185     GO TO 400 7072.
186     C**** 7093.
187     C**** OCEAN ICE 7093.5
188     C**** 7094.
189     110 SNOW=GDATA(I,J,1) 7094.5
190     TG1=GDATA(I,J,3) 7095.
191     TG2=GDATA(I,J,7) 7095.5
192     ACE2=ODATA(I,J,3) 7096.
193     C AIJ(I,J,1)=AIJ(I,J,1)+POICE 7096.5
194     AIJ(I,J,58)=AIJ(I,J,58)+ACE2*POICE 7097.
195     F0DT=E0(I,J,2) 7097.5
196     AIJ(I,J,66)=AIJ(I,J,66)+F0DT*POICE 7098.
197     F1DT=E1(I,J,2) 7098.5
198     EVAP=EVAPOR(I,J,2) 7099.
199     AIJ(I,J,62)=AIJ(I,J,62)+EVAP*POICE 7099.5
200     Z2=ACE2/RHOI 7100.
201     IF(KOCEAN.NE.1) GO TO 120 7100.5
202     WTRI0=WTRO-(SNOW+ACE1I+ACE2) 7101.
203     EIW0=WTRI0*TGW*SHW 7101.5
204     WTRW0=WTRO-ROICE*(SNOW+ACE1I+ACE2) 7102.
205     ENRGW0=WTRW0*TGW*SHW 7102.5
206     RUN0=0. 7103.
207     DIFSI=0. 7103.5
208     EDIFSI=0. 7104.
209     RUN4=-EVAP 7104.5
210     ERUN4=TGW*RUN4*SHW 7105.
211     CERUN4=CERUN4+ERUN4*POICE 7105.5
212     CRUN4=CRUN4+RUN4*POICE 7106.
213     C**** 7106.5
214     C**** OCEAN ICE, CALCULATE TG1 7107.
215     C**** 7107.5
216     120 SNANDI=SNOW+ACE1I-EVAP 7108.
217     C**** 7124.
218     C**** 7125.
219     200 F2DT=DTSRCE*(TG2-TFO)*ALAMI*2./Z2
220     CSNOW=CSNOW+SNOW*POICE 7160.5
221     CTG1=CTG1+TG1*POICE 7161.
222     CTG2=CTG2+TG2*POICE 7161.5
223     CACE2=CACE2+ACE2*POICE 7162.
224     CF1DT=CF1DT+F1DT*POICE 7162.5
225     CF2DT=CF2DT+F2DT*POICE 7163.
226     CEVAP=CEVAP+EVAP*POICE 7163.5
227     CICOV=CICOV+POICE 7164.
228     SNOWS=SNOWS+SNOW*POICE 7164.5
229     TG1S=TG1S+TG1*POICE 7165.
230     ACE1S=ACE1S+ACE1I*POICE 7165.5
231     ACE2S=ACE2S+ACE2*POICE 7166.
232     TG2S=TG2S+TG2*POICE 7166.5
233     EVAPS=EVAPS+EVAP*POICE 7167.
234     C**** 7167.5
235     400 continue
236     C**** 7306.5
237     C**** ACCUMULATE DIAGNOSTICS 7307.
238     C**** 7307.5
239     C**** LONGITUDINALLY INTEGRATED QUANTITIES FOR DIAGJ 7316.
240     CJ(J,15)=CJ(J,15)+CF2DT 7316.5
241     AJ(J,17)=AJ(J,17)+ATG2 7317.
242     CJ(J,17)=CJ(J,17)+CTG2 7318.
243     AJ(J,18)=AJ(J,18)+ATG1 7318.5
244     CJ(J,18)=CJ(J,18)+CTG1 7319.5
245     AJ(J,19)=AJ(J,19)+AEVAP 7320.
246     CJ(J,19)=CJ(J,19)+CEVAP 7321.
247     CJ(J,30)=CJ(J,30)+CICOV 7321.5
248     CCC AJ(J,33)=AJ(J,33)+AOTDT 7322.
249     CCC CJ(J,33)=CJ(J,33)+COTDT 7322.5
250     AJ(J,34)=AJ(J,34)+ATG3 7323.
251     CJ(J,41)=CJ(J,41)+CEDIFS 7324.5
252     CJ(J,42)=CJ(J,42)+CF1DT 7325.5
253     AJ(J,43)=AJ(J,43)+AEFO 7326.
254     CJ(J,43)=CJ(J,43)+(CERUN2+CEFI) 7327.
255     CJ(J,45)=CJ(J,45)+CDIFS 7328.
256     AJ(J,46)=AJ(J,46)+AIFO 7328.5
257     CJ(J,46)=CJ(J,46)+(CRUN2+CIFI) 7329.5
258     AJ(J,47)=AJ(J,47)+ARUN4 7330.
259     CJ(J,47)=CJ(J,47)+CRUN4 7330.5
260     AJ(J,48)=AJ(J,48)+AERUN4 7331.
261     CJ(J,48)=CJ(J,48)+CERUN4 7331.5
262     CJ(J,52)=CJ(J,52)+CACE2 7334.
263     CJ(J,53)=CJ(J,53)+CSNOW 7335.
264     CJ(J,54)=CJ(J,54)+CRUN0 7336.
265     980 CONTINUE 7336.5
266     RETURN 7337.
267     END 7337.5

  ViewVC Help
Powered by ViewVC 1.1.22