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

Contents of /MITgcm_contrib/jscott/igsm/src/sulfut.F

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


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

1
2 #include "ctrparam.h"
3
4 ! ==========================================================
5 !
6 ! SULFUT.F: Subroutine for setup prescribed sulfate
7 ! aerosol forcing in the format of
8 ! surface albedo.
9 !
10 ! ----------------------------------------------------------
11 !
12 ! Revision History:
13 !
14 ! When Who What
15 ! ----- ---------- -------
16 ! 080100 Chien Wang repack based on CliChem3 & M24x11,
17 ! and add cpp.
18 ! 081100 Chien/Andrei open cpp control for all case.
19 !
20 ! ==========================================================
21
22 subroutine sulfr(BSO4LAND,BSO4OCEAN,TNOW)
23
24 #include "BD2G04.COM"
25
26 C in original sulf1986.4x5.1986.dat file BSO4LAND and BSO4OCEAN
27 c are SO2 loading per m^2 over land and ocean
28 C in sulf1986.4x5.1986.new.dat file BSO4LAND and BSO4OCEAN
29 c are SO2 loading per m^2 over land and ocean multiplied by
30 c land and ocean fraction respectively
31 dimension BSO4LAND(JM0),BSO4OCEAN(JM0),
32 & BSO4LD86(JM0),BSO4ON86(JM0),
33 & IYSULF(2000),CF86(2000),YSULF(2000)
34 character * 120 sulf1986,sulf2050,sulfamp,SO2_EM
35 character * 80 title
36 common /sulfdata/sulf1986,sulf2050,sulfamp,SO2_EM
37 logical first
38 data first /.true./
39
40 if(first) then
41 JM=JM0
42 open (575,file=sulf1986,status='old')
43 open (577,file=SO2_EM,status='old')
44 read (575,'(E13.5)'),(BSO4LD86(J),j=1,JM)
45 read (575,'(E13.5)'),(BSO4ON86(J),j=1,JM)
46 read (577,'(A80)'),title
47 print *,'From sulfut'
48 print *,title
49 read (577,'(A80)'),title
50 print *,title
51 read (577,'(A80)'),title
52 print *,title
53 do ny=1,2000
54 read (577,*,end=500),IYSULF(ny),CF86(ny)
55 if(IYSULF(ny).eq.1986)cfref=CF86(ny)
56 enddo
57 500 continue
58 NYS=ny-1
59 close (575)
60 close (577)
61 print *,'Sulfate data for years ',IYSULF(1),IYSULF(NYS)
62 print *,' BSO4LD86'
63 print ('(6F7.4)'),(BSO4LD86(J)*1.e6,j=1,JM)
64 print *,' BSO4ON86'
65 print ('(6F7.4)'),(BSO4ON86(J)*1.e6,j=1,JM)
66 do n=1,NYS
67 YSULF(n)=IYSULF(n)+0.5
68 CF86(n)=CF86(n)/cfref
69 enddo
70 first=.false.
71 end if
72 do n=1,NYS-1
73 if(TNOW.gt.YSULF(n).and.TNOW.le.YSULF(n+1))go to 100
74 enddo
75 print *,' Wrong TNOW TNOW=',TNOW
76 stop
77 100 continue
78 x=(YSULF(n+1)-TNOW)/(YSULF(n+1)-YSULF(n))
79 cf=x*CF86(n)+(1.-x)*CF86(n+1)
80 do j=1,jm
81 BSO4LAND(J)=cf*BSO4LD86(j)
82 BSO4OCEAN(J)=cf*BSO4ON86(j)
83 enddo
84 c print *,' TNOW=',TNOW
85 c print *,' n=',n,' YSULF(n)=',YSULF(n),
86 c & ' YSULF(n+1)=',YSULF(n+1)
87 c print *,' BSO4LAND'
88 c print ('(6F7.4)'),(BSO4LAND(J)*1.e6,j=1,JM)
89 c print *,' BSO4OCEAN'
90 c print ('(6F7.4)'),(BSO4OCEAN(J)*1.e6,j=1,JM)
91 return
92 end

  ViewVC Help
Powered by ViewVC 1.1.22