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

Annotation of /MITgcm_contrib/jscott/igsm/src/sulfut.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:32 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     ! 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