1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
subroutine lwrio (nymd,nhms,istrip,npcs, |
#include "FIZHI_OPTIONS.h" |
5 |
. pz,tz,qz,plz,plze,pkz,pkht,oz,co2, |
subroutine lwrio (nymd,nhms,bi,bj,istrip,npcs,low_level,mid_level, |
6 |
. cfc11,cfc12,cfc22, |
. im,jm,lm, |
7 |
. methane,n2o,emissivity, |
. pz,plz,plze,dpres,pkht,pkz,tz,qz,oz, |
8 |
|
. co2,cfc11,cfc12,cfc22,methane,n2o,emissivity, |
9 |
. tgz,radlwg,st4,dst4, |
. tgz,radlwg,st4,dst4, |
10 |
. dtradlw,dlwdtg,dtradlwc,lwgclr, |
. dtradlw,dlwdtg,dtradlwc,lwgclr, |
11 |
. im,jm,lm,ptop, |
. ptop,nlwcld,cldlw,clwmo,nlwlz,lwlz, |
12 |
. nlwcld,cldlw,clwmo,nlwlz,lwlz, |
. lpnt,imstturb,qliqave,fccave,landtype) |
|
. lpnt,qdiag,nd, |
|
|
. imstturb,qliqave,fccave,landtype) |
|
13 |
|
|
14 |
implicit none |
implicit none |
15 |
#include 'diagnostics.h' |
#ifdef ALLOW_DIAGNOSTICS |
16 |
|
#include "SIZE.h" |
17 |
|
#include "diagnostics_SIZE.h" |
18 |
|
#include "diagnostics.h" |
19 |
|
#endif |
20 |
|
|
21 |
c Input Variables |
c Input Variables |
22 |
c --------------- |
c --------------- |
23 |
integer nymd,nhms,istrip,npcs,nd |
integer nymd,nhms,istrip,npcs,bi,bj |
24 |
|
integer mid_level,low_level |
25 |
integer im,jm,lm |
integer im,jm,lm |
26 |
real ptop |
_RL ptop |
27 |
|
_RL pz(im,jm),plz(im,jm,lm),plze(im,jm,lm+1) |
28 |
real pz(im,jm) |
_RL dpres(im,jm,lm),pkht(im,jm,lm+1),pkz(im,jm,lm) |
29 |
real tz(im,jm,lm) |
_RL tz(im,jm,lm),qz(im,jm,lm),oz(im,jm,lm) |
30 |
real pkht(im,jm,lm) |
_RL co2,cfc11,cfc12,cfc22,methane(lm),n2o(lm) |
31 |
|
_RL emissivity(im,jm,10) |
32 |
real co2,cfc11 |
_RL tgz(im,jm),radlwg(im,jm),st4(im,jm),dst4(im,jm) |
33 |
real cfc12,cfc22 |
_RL dtradlw(im,jm,lm),dlwdtg (im,jm,lm) |
34 |
real methane (lm) |
_RL dtradlwc(im,jm,lm),lwgclr(im,jm) |
35 |
real n2o (lm) |
integer nlwcld,nlwlz |
36 |
real oz(im,jm,lm) |
_RL cldlw(im,jm,lm),clwmo(im,jm,lm),lwlz(im,jm,lm) |
37 |
real qz(im,jm,lm) |
logical lpnt |
38 |
|
integer imstturb |
39 |
real radlwg(im,jm) |
_RL qliqave(im,jm,lm),fccave(im,jm,lm) |
40 |
real lwgclr(im,jm) |
integer landtype(im,jm) |
|
real st4(im,jm) |
|
|
real dst4(im,jm) |
|
|
real dtradlw (im,jm,lm) |
|
|
real dtradlwc(im,jm,lm) |
|
|
real dlwdtg (im,jm,lm) |
|
|
|
|
|
integer nlwcld,nlwlz |
|
|
real cldlw(im,jm,lm) |
|
|
real clwmo(im,jm,lm) |
|
|
real lwlz(im,jm,lm) |
|
|
|
|
|
real emissivity(im,jm,10) |
|
|
real tgz(im,jm) |
|
|
real qdiag(im,jm,nd) |
|
|
logical lpnt |
|
|
integer imstturb |
|
|
real qliqave(im,jm,lm) |
|
|
real fccave(im,jm,lm) |
|
|
|
|
|
integer landtype(im,jm) |
|
41 |
|
|
42 |
c Local Variables |
c Local Variables |
43 |
c --------------- |
c --------------- |
44 |
integer i,j,l,n,nn |
integer i,j,l,n,nn |
|
integer mid_level,low_level |
|
45 |
|
|
46 |
real PLZ(im,jm,lm) |
_RL cldtot (im,jm,lm) |
47 |
real PKZ(im,jm,lm) |
_RL cldmxo (im,jm,lm) |
|
real PLZE(im,jm,lm+1) |
|
|
real cldtot (im,jm,lm) |
|
|
real cldmxo (im,jm,lm) |
|
|
|
|
|
real pl(istrip,lm) |
|
|
real pk(istrip,lm) |
|
|
real pke(istrip,lm) |
|
|
real ple(istrip,lm+1) |
|
|
|
|
|
real ADELPL(ISTRIP,lm) |
|
|
real dtrad(istrip,lm) , dtradc(istrip,lm) |
|
|
real OZL(ISTRIP,lm) , TZL(ISTRIP,lm) |
|
|
real SHZL(ISTRIP,lm) , CLRO(ISTRIP,lm) |
|
|
real CLMO(ISTRIP,lm) |
|
|
real flx(ISTRIP,lm+1) , flxclr(ISTRIP,lm+1) |
|
|
real cldlz(istrip,lm) |
|
|
real dfdts(istrip,lm+1) , dtdtg(istrip,lm) |
|
|
|
|
|
real emiss(istrip,10) |
|
|
real taual(istrip,lm,10) |
|
|
real ssaal(istrip,lm,10) |
|
|
real asyal(istrip,lm,10) |
|
|
real cwc(istrip,lm,3) |
|
|
real reff(istrip,lm,3) |
|
|
real tauc(istrip,lm,3) |
|
|
|
|
|
real SGMT4(ISTRIP) |
|
|
real TSURF(ISTRIP) |
|
|
real dsgmt4(ISTRIP) |
|
|
integer lwi(istrip) |
|
|
|
|
|
real getcon,secday,convrt,pcheck |
|
|
|
|
|
integer koz, kh2o |
|
|
DATA KOZ /20/ |
|
|
data kh2o /18/ |
|
|
logical high, trace, cldwater |
|
|
data high /.true./ |
|
|
data trace /.true./ |
|
|
data cldwater /.false./ |
|
48 |
|
|
49 |
|
_RL pl(istrip,lm) |
50 |
|
_RL pk(istrip,lm) |
51 |
|
_RL pke(istrip,lm) |
52 |
|
_RL ple(istrip,lm+1) |
53 |
|
|
54 |
|
_RL ADELPL(ISTRIP,lm) |
55 |
|
_RL dtrad(istrip,lm),dtradc(istrip,lm) |
56 |
|
_RL OZL(ISTRIP,lm),TZL(ISTRIP,lm) |
57 |
|
_RL SHZL(ISTRIP,lm),CLRO(ISTRIP,lm) |
58 |
|
_RL CLMO(ISTRIP,lm) |
59 |
|
_RL flx(ISTRIP,lm+1),flxclr(ISTRIP,lm+1) |
60 |
|
_RL cldlz(istrip,lm) |
61 |
|
_RL dfdts(istrip,lm+1),dtdtg(istrip,lm) |
62 |
|
|
63 |
|
_RL emiss(istrip,10) |
64 |
|
_RL taual(istrip,lm,10) |
65 |
|
_RL ssaal(istrip,lm,10) |
66 |
|
_RL asyal(istrip,lm,10) |
67 |
|
_RL cwc(istrip,lm,3) |
68 |
|
_RL reff(istrip,lm,3) |
69 |
|
_RL tauc(istrip,lm,3) |
70 |
|
|
71 |
|
_RL SGMT4(ISTRIP),TSURF(ISTRIP),dsgmt4(ISTRIP) |
72 |
|
integer lwi(istrip) |
73 |
|
|
74 |
|
_RL getcon,secday,convrt |
75 |
|
|
76 |
|
logical high, trace, cldwater |
77 |
|
data high /.true./ |
78 |
|
data trace /.true./ |
79 |
|
data cldwater /.false./ |
80 |
|
|
81 |
C ********************************************************************** |
C ********************************************************************** |
82 |
C **** INITIALIZATION **** |
C **** INITIALIZATION **** |
85 |
SECDAY = GETCON('SDAY') |
SECDAY = GETCON('SDAY') |
86 |
CONVRT = GETCON('GRAVITY') / ( 100.0 * GETCON('CP') ) |
CONVRT = GETCON('GRAVITY') / ( 100.0 * GETCON('CP') ) |
87 |
|
|
|
c Determine Level Indices for Low-Mid-High Cloud Regions |
|
|
c ------------------------------------------------------ |
|
|
low_level = lm |
|
|
mid_level = lm |
|
|
do L = lm-1,1,-1 |
|
|
pcheck = plz( |
|
|
|
|
|
if (pcheck.gt.700.0) low_level = L |
|
|
if (pcheck.gt.400.0) mid_level = L |
|
|
enddo |
|
|
|
|
88 |
c Adjust cloud fractions and cloud liquid water due to moist turbulence |
c Adjust cloud fractions and cloud liquid water due to moist turbulence |
89 |
c --------------------------------------------------------------------- |
c --------------------------------------------------------------------- |
90 |
if(imstturb.ne.0) then |
if(imstturb.ne.0) then |
240 |
C **** PASTE AND BUMP SOME DIAGNOSTICS **** |
C **** PASTE AND BUMP SOME DIAGNOSTICS **** |
241 |
C ********************************************************************** |
C ********************************************************************** |
242 |
|
|
243 |
IF(IOLR.GT.0)CALL PSTBMP(flx(1,1),QDIAG(1,1,IOLR),ISTRIP, |
IF(IOLR.GT.0)CALL PSTBMP(flx(1,1),QDIAG(1,1,IOLR,bi,bj),ISTRIP, |
244 |
. im*jm, 1,NN) |
. im*jm, 1,NN) |
245 |
IF(IOLRCLR.GT.0)CALL PSTBMP(flxclr(1,1),QDIAG(1,1,IOLRCLR),ISTRIP, |
IF(IOLRCLR.GT.0)CALL PSTBMP(flxclr(1,1),QDIAG(1,1,IOLRCLR,bi,bj), |
246 |
. im*jm,1,NN) |
. ISTRIP,im*jm,1,NN) |
247 |
IF(IOZLW.GT.0)CALL PSTBMP(OZL(1,1),QDIAG(1,1,IOZLW),ISTRIP, |
IF(IOZLW.GT.0)CALL PSTBMP(OZL(1,1),QDIAG(1,1,IOZLW,bi,bj),ISTRIP, |
248 |
. im*jm,lm,NN) |
. im*jm,lm,NN) |
249 |
|
|
250 |
C ********************************************************************** |
C ********************************************************************** |
271 |
if(itgrlw.ne.0) then |
if(itgrlw.ne.0) then |
272 |
do j = 1,jm |
do j = 1,jm |
273 |
do i = 1,im |
do i = 1,im |
274 |
qdiag(i,j,itgrlw) = qdiag(i,j,itgrlw) + tgz(i,j) |
qdiag(i,j,itgrlw,bi,bj) = qdiag(i,j,itgrlw,bi,bj) + tgz(i,j) |
275 |
enddo |
enddo |
276 |
enddo |
enddo |
277 |
endif |
endif |
280 |
do L = 1,lm |
do L = 1,lm |
281 |
do j = 1,jm |
do j = 1,jm |
282 |
do i = 1,im |
do i = 1,im |
283 |
qdiag(i,j,itlw+L-1) = qdiag(i,j,itlw+L-1) + tz(i,j,L)*pkz(i,j,L) |
qdiag(i,j,itlw+L-1,bi,bj) = qdiag(i,j,itlw+L-1,bi,bj) + |
284 |
|
. tz(i,j,L)*pkz(i,j,L) |
285 |
enddo |
enddo |
286 |
enddo |
enddo |
287 |
enddo |
enddo |
291 |
do L = 1,lm |
do L = 1,lm |
292 |
do j = 1,jm |
do j = 1,jm |
293 |
do i = 1,im |
do i = 1,im |
294 |
qdiag(i,j,ishrad+L-1) = qdiag(i,j,ishrad+L-1) + qz(i,j,L)*1000 |
qdiag(i,j,ishrad+L-1,bi,bj) = qdiag(i,j,ishrad+L-1,bi,bj) + |
295 |
|
. qz(i,j,L)*1000 |
296 |
enddo |
enddo |
297 |
enddo |
enddo |
298 |
enddo |
enddo |
550 |
c---- input parameters ------ |
c---- input parameters ------ |
551 |
|
|
552 |
integer m,n,ndim,np,ict,icb |
integer m,n,ndim,np,ict,icb |
553 |
real pl(m,ndim,np+1),ta(m,ndim,np),wa(m,ndim,np),oa(m,ndim,np), |
_RL pl(m,ndim,np+1),ta(m,ndim,np),wa(m,ndim,np),oa(m,ndim,np), |
554 |
* ts(m,ndim) |
* ts(m,ndim) |
555 |
real co2,n2o(np),ch4(np),cfc11,cfc12,cfc22,emiss(m,ndim,10) |
_RL co2,n2o(np),ch4(np),cfc11,cfc12,cfc22,emiss(m,ndim,10) |
556 |
real cwc(m,ndim,np,3),taucl(m,ndim,np,3),reff(m,ndim,np,3), |
_RL cwc(m,ndim,np,3),taucl(m,ndim,np,3),reff(m,ndim,np,3), |
557 |
* fcld(m,ndim,np) |
* fcld(m,ndim,np) |
558 |
real taual(m,ndim,np,10),ssaal(m,ndim,np,10),asyal(m,ndim,np,10) |
_RL taual(m,ndim,np,10),ssaal(m,ndim,np,10),asyal(m,ndim,np,10) |
559 |
logical cldwater,high,trace |
logical cldwater,high,trace |
560 |
|
|
561 |
c---- output parameters ------ |
c---- output parameters ------ |
562 |
|
|
563 |
real flx(m,ndim,np+1),flc(m,ndim,np+1),dfdts(m,ndim,np+1), |
_RL flx(m,ndim,np+1),flc(m,ndim,np+1),dfdts(m,ndim,np+1), |
564 |
* st4(m,ndim) |
* st4(m,ndim) |
565 |
|
|
566 |
c---- static data ----- |
c---- static data ----- |
567 |
|
|
568 |
real cb(5,10) |
_RL cb(5,10) |
569 |
real xkw(9),aw(9),bw(9),pm(9),fkw(6,9),gkw(6,3),xke(9) |
_RL xkw(9),aw(9),bw(9),pm(9),fkw(6,9),gkw(6,3),xke(9) |
570 |
real aib(3,10),awb(4,10),aiw(4,10),aww(4,10),aig(4,10),awg(4,10) |
_RL aib(3,10),awb(4,10),aiw(4,10),aww(4,10),aig(4,10),awg(4,10) |
571 |
integer ne(9),mw(9) |
integer ne(9),mw(9) |
572 |
|
|
573 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
574 |
|
|
575 |
real pa(m,n,np),dt(m,n,np) |
_RL pa(m,n,np),dt(m,n,np) |
576 |
real sh2o(m,n,np+1),swpre(m,n,np+1),swtem(m,n,np+1) |
_RL sh2o(m,n,np+1),swpre(m,n,np+1),swtem(m,n,np+1) |
577 |
real sco3(m,n,np+1),scopre(m,n,np+1),scotem(m,n,np+1) |
_RL sco3(m,n,np+1),scopre(m,n,np+1),scotem(m,n,np+1) |
578 |
real dh2o(m,n,np),dcont(m,n,np),dco2(m,n,np),do3(m,n,np) |
_RL dh2o(m,n,np),dcont(m,n,np),dco2(m,n,np),do3(m,n,np) |
579 |
real dn2o(m,n,np),dch4(m,n,np) |
_RL dn2o(m,n,np),dch4(m,n,np) |
580 |
real df11(m,n,np),df12(m,n,np),df22(m,n,np) |
_RL df11(m,n,np),df12(m,n,np),df22(m,n,np) |
581 |
real th2o(m,n,6),tcon(m,n,3),tco2(m,n,6,2) |
_RL th2o(m,n,6),tcon(m,n,3),tco2(m,n,6,2) |
582 |
real tn2o(m,n,4),tch4(m,n,4),tcom(m,n,2) |
_RL tn2o(m,n,4),tch4(m,n,4),tcom(m,n,2) |
583 |
real tf11(m,n),tf12(m,n),tf22(m,n) |
_RL tf11(m,n),tf12(m,n),tf22(m,n) |
584 |
real h2oexp(m,n,np,6),conexp(m,n,np,3),co2exp(m,n,np,6,2) |
_RL h2oexp(m,n,np,6),conexp(m,n,np,3),co2exp(m,n,np,6,2) |
585 |
real n2oexp(m,n,np,4),ch4exp(m,n,np,4),comexp(m,n,np,2) |
_RL n2oexp(m,n,np,4),ch4exp(m,n,np,4),comexp(m,n,np,2) |
586 |
real f11exp(m,n,np), f12exp(m,n,np), f22exp(m,n,np) |
_RL f11exp(m,n,np), f12exp(m,n,np), f22exp(m,n,np) |
587 |
real clr(m,n,0:np+1),fclr(m,n) |
_RL clr(m,n,0:np+1),fclr(m,n) |
588 |
real blayer(m,n,0:np+1),dlayer(m,n,np+1),dbs(m,n) |
_RL blayer(m,n,0:np+1),dlayer(m,n,np+1),dbs(m,n) |
589 |
real clrlw(m,n),clrmd(m,n),clrhi(m,n) |
_RL clrlw(m,n),clrmd(m,n),clrhi(m,n) |
590 |
real cwp(m,n,np,3) |
_RL cwp(m,n,np,3) |
591 |
real trant(m,n),tranal(m,n),transfc(m,n,np+1),trantcr(m,n,np+1) |
_RL trant(m,n),tranal(m,n),transfc(m,n,np+1),trantcr(m,n,np+1) |
592 |
real flxu(m,n,np+1),flxd(m,n,np+1),flcu(m,n,np+1),flcd(m,n,np+1) |
_RL flxu(m,n,np+1),flxd(m,n,np+1),flcu(m,n,np+1),flcd(m,n,np+1) |
593 |
real rflx(m,n,np+1),rflc(m,n,np+1) |
_RL rflx(m,n,np+1),rflc(m,n,np+1) |
594 |
|
|
595 |
logical oznbnd,co2bnd,h2otbl,conbnd,n2obnd |
logical oznbnd,co2bnd,h2otbl,conbnd,n2obnd |
596 |
logical ch4bnd,combnd,f11bnd,f12bnd,f22bnd,b10bnd |
logical ch4bnd,combnd,f11bnd,f12bnd,f22bnd,b10bnd |
597 |
|
|
598 |
real c1 (nx,nc,nt),c2 (nx,nc,nt),c3 (nx,nc,nt) |
_RL c1 (nx,nc,nt),c2 (nx,nc,nt),c3 (nx,nc,nt) |
599 |
real o1 (nx,no,nt),o2 (nx,no,nt),o3 (nx,no,nt) |
_RL o1 (nx,no,nt),o2 (nx,no,nt),o3 (nx,no,nt) |
600 |
real h11(nx,nh,nt),h12(nx,nh,nt),h13(nx,nh,nt) |
_RL h11(nx,nh,nt),h12(nx,nh,nt),h13(nx,nh,nt) |
601 |
real h21(nx,nh,nt),h22(nx,nh,nt),h23(nx,nh,nt) |
_RL h21(nx,nh,nt),h22(nx,nh,nt),h23(nx,nh,nt) |
602 |
real h81(nx,nh,nt),h82(nx,nh,nt),h83(nx,nh,nt) |
_RL h81(nx,nh,nt),h82(nx,nh,nt),h83(nx,nh,nt) |
603 |
|
|
604 |
real dp,xx,p1,dwe,dpe,a1,b1,fk1,a2,b2,fk2 |
_RL dp,xx,p1,dwe,dpe,a1,b1,fk1,a2,b2,fk2 |
605 |
real w1,w2,w3,g1,g2,g3,ww,gg,ff,taux,reff1,reff2 |
_RL w1,w2,w3,g1,g2,g3,ww,gg,ff,taux,reff1,reff2 |
606 |
|
|
607 |
c-----the following coefficients (equivalent to table 2 of |
c-----the following coefficients (equivalent to table 2 of |
608 |
c chou and suarez, 1995) are for computing spectrally |
c chou and suarez, 1995) are for computing spectrally |
771 |
logical first |
logical first |
772 |
data first /.true./ |
data first /.true./ |
773 |
|
|
774 |
include "h2o.tran3" |
#include "h2o-tran3.h" |
775 |
include "co2.tran3" |
#include "co2-tran3.h" |
776 |
include "o3.tran3" |
#include "o3-tran3.h" |
777 |
|
|
778 |
save c1,c2,c3,o1,o2,o3 |
save c1,c2,c3,o1,o2,o3 |
779 |
save h11,h12,h13,h21,h22,h23,h81,h82,h83 |
save h11,h12,h13,h21,h22,h23,h81,h82,h83 |
780 |
|
|
781 |
if (first) then |
c if (first) then |
782 |
|
|
783 |
c-----tables co2 and h2o are only used with 'high' option |
c-----tables co2 and h2o are only used with 'high' option |
784 |
|
|
846 |
enddo |
enddo |
847 |
enddo |
enddo |
848 |
|
|
849 |
first=.false. |
c first=.false. |
850 |
|
|
851 |
endif |
c endif |
852 |
|
|
853 |
c-----set the pressure at the top of the model atmosphere |
c-----set the pressure at the top of the model atmosphere |
854 |
c to 1.0e-4 if it is zero |
c to 1.0e-4 if it is zero |
1223 |
enddo |
enddo |
1224 |
enddo |
enddo |
1225 |
|
|
|
|
|
1226 |
do 2000 k1=1,np |
do 2000 k1=1,np |
1227 |
|
|
1228 |
c-----initialize fclr, th2o, tcon, tco2, and tranal |
c-----initialize fclr, th2o, tcon, tco2, and tranal |
1403 |
if (ib.eq.1) then |
if (ib.eq.1) then |
1404 |
call tablup(k1,k2,m,n,np,nx,nh,nt,sh2o,swpre,swtem, |
call tablup(k1,k2,m,n,np,nx,nh,nt,sh2o,swpre,swtem, |
1405 |
* w1,p1,dwe,dpe,h11,h12,h13,trant) |
* w1,p1,dwe,dpe,h11,h12,h13,trant) |
|
|
|
1406 |
endif |
endif |
1407 |
if (ib.eq.2) then |
if (ib.eq.2) then |
1408 |
call tablup(k1,k2,m,n,np,nx,nh,nt,sh2o,swpre,swtem, |
call tablup(k1,k2,m,n,np,nx,nh,nt,sh2o,swpre,swtem, |
1437 |
dpe=0.2 |
dpe=0.2 |
1438 |
call tablup(k1,k2,m,n,np,nx,nc,nt,sco3,scopre,scotem, |
call tablup(k1,k2,m,n,np,nx,nc,nt,sco3,scopre,scotem, |
1439 |
* w1,p1,dwe,dpe,c1,c2,c3,trant) |
* w1,p1,dwe,dpe,c1,c2,c3,trant) |
1440 |
|
|
1441 |
else |
else |
1442 |
|
|
1443 |
c-----compute co2 transmittance using k-distribution method |
c-----compute co2 transmittance using k-distribution method |
1715 |
|
|
1716 |
c---- input parameters ----- |
c---- input parameters ----- |
1717 |
|
|
1718 |
real pa(m,n,np),dt(m,n,np),sabs0(m,n,np) |
_RL pa(m,n,np),dt(m,n,np),sabs0(m,n,np) |
1719 |
|
|
1720 |
c---- output parameters ----- |
c---- output parameters ----- |
1721 |
|
|
1722 |
real sabs(m,n,np+1),spre(m,n,np+1),stem(m,n,np+1) |
_RL sabs(m,n,np+1),spre(m,n,np+1),stem(m,n,np+1) |
1723 |
|
|
1724 |
c********************************************************************* |
c********************************************************************* |
1725 |
do j=1,n |
do j=1,n |
1770 |
|
|
1771 |
c---- input parameters ------ |
c---- input parameters ------ |
1772 |
|
|
1773 |
real dh2o(m,n,np),pa(m,n,np),dt(m,n,np) |
_RL dh2o(m,n,np),pa(m,n,np),dt(m,n,np) |
1774 |
|
|
1775 |
c---- output parameters ----- |
c---- output parameters ----- |
1776 |
|
|
1777 |
real h2oexp(m,n,np,6) |
_RL h2oexp(m,n,np,6) |
1778 |
|
|
1779 |
c---- static data ----- |
c---- static data ----- |
1780 |
|
|
1781 |
integer mw(9) |
integer mw(9) |
1782 |
real xkw(9),aw(9),bw(9),pm(9) |
_RL xkw(9),aw(9),bw(9),pm(9) |
1783 |
|
|
1784 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
1785 |
|
|
1786 |
real xh,xh1 |
_RL xh,xh1 |
1787 |
|
|
1788 |
c********************************************************************** |
c********************************************************************** |
1789 |
c note that the 3 sub-bands in band 3 use the same set of xkw, aw, |
c note that the 3 sub-bands in band 3 use the same set of xkw, aw, |
1886 |
|
|
1887 |
c---- input parameters ------ |
c---- input parameters ------ |
1888 |
|
|
1889 |
real dcont(m,n,np) |
_RL dcont(m,n,np) |
1890 |
|
|
1891 |
c---- updated parameters ----- |
c---- updated parameters ----- |
1892 |
|
|
1893 |
real conexp(m,n,np,3) |
_RL conexp(m,n,np,3) |
1894 |
|
|
1895 |
c---- static data ----- |
c---- static data ----- |
1896 |
|
|
1897 |
real xke(9) |
_RL xke(9) |
1898 |
|
|
1899 |
c********************************************************************** |
c********************************************************************** |
1900 |
|
|
1947 |
|
|
1948 |
c---- input parameters ----- |
c---- input parameters ----- |
1949 |
|
|
1950 |
real dco2(m,n,np),pa(m,n,np),dt(m,n,np) |
_RL dco2(m,n,np),pa(m,n,np),dt(m,n,np) |
1951 |
|
|
1952 |
c---- output parameters ----- |
c---- output parameters ----- |
1953 |
|
|
1954 |
real co2exp(m,n,np,6,2) |
_RL co2exp(m,n,np,6,2) |
1955 |
|
|
1956 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
1957 |
|
|
1958 |
real xc |
_RL xc |
1959 |
|
|
1960 |
c********************************************************************** |
c********************************************************************** |
1961 |
|
|
2049 |
|
|
2050 |
c---- input parameters ----- |
c---- input parameters ----- |
2051 |
|
|
2052 |
real dn2o(m,n,np),pa(m,n,np),dt(m,n,np) |
_RL dn2o(m,n,np),pa(m,n,np),dt(m,n,np) |
2053 |
|
|
2054 |
c---- output parameters ----- |
c---- output parameters ----- |
2055 |
|
|
2056 |
real n2oexp(m,n,np,4) |
_RL n2oexp(m,n,np,4) |
2057 |
|
|
2058 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2059 |
|
|
2060 |
real xc,xc1,xc2 |
_RL xc,xc1,xc2 |
2061 |
|
|
2062 |
c********************************************************************** |
c********************************************************************** |
2063 |
|
|
2125 |
|
|
2126 |
c---- input parameters ----- |
c---- input parameters ----- |
2127 |
|
|
2128 |
real dch4(m,n,np),pa(m,n,np),dt(m,n,np) |
_RL dch4(m,n,np),pa(m,n,np),dt(m,n,np) |
2129 |
|
|
2130 |
c---- output parameters ----- |
c---- output parameters ----- |
2131 |
|
|
2132 |
real ch4exp(m,n,np,4) |
_RL ch4exp(m,n,np,4) |
2133 |
|
|
2134 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2135 |
|
|
2136 |
real xc |
_RL xc |
2137 |
|
|
2138 |
c********************************************************************** |
c********************************************************************** |
2139 |
|
|
2197 |
|
|
2198 |
c---- input parameters ----- |
c---- input parameters ----- |
2199 |
|
|
2200 |
real dcom(m,n,np),dt(m,n,np) |
_RL dcom(m,n,np),dt(m,n,np) |
2201 |
|
|
2202 |
c---- output parameters ----- |
c---- output parameters ----- |
2203 |
|
|
2204 |
real comexp(m,n,np,2) |
_RL comexp(m,n,np,2) |
2205 |
|
|
2206 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2207 |
|
|
2208 |
real xc,xc1,xc2 |
_RL xc,xc1,xc2 |
2209 |
|
|
2210 |
c********************************************************************** |
c********************************************************************** |
2211 |
|
|
2274 |
|
|
2275 |
c---- input parameters ----- |
c---- input parameters ----- |
2276 |
|
|
2277 |
real dcfc(m,n,np),dt(m,n,np) |
_RL dcfc(m,n,np),dt(m,n,np) |
2278 |
|
|
2279 |
c---- output parameters ----- |
c---- output parameters ----- |
2280 |
|
|
2281 |
real cfcexp(m,n,np) |
_RL cfcexp(m,n,np) |
2282 |
|
|
2283 |
c---- static data ----- |
c---- static data ----- |
2284 |
|
|
2285 |
real a1,b1,fk1,a2,b2,fk2 |
_RL a1,b1,fk1,a2,b2,fk2 |
2286 |
|
|
2287 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2288 |
|
|
2289 |
real xf |
_RL xf |
2290 |
|
|
2291 |
c********************************************************************** |
c********************************************************************** |
2292 |
|
|
2336 |
|
|
2337 |
c---- input parameters ----- |
c---- input parameters ----- |
2338 |
|
|
2339 |
real dh2o(m,n,np),dcont(m,n,np),dn2o(m,n,np) |
_RL dh2o(m,n,np),dcont(m,n,np),dn2o(m,n,np) |
2340 |
real dco2(m,n,np),pa(m,n,np),dt(m,n,np) |
_RL dco2(m,n,np),pa(m,n,np),dt(m,n,np) |
2341 |
|
|
2342 |
c---- output parameters ----- |
c---- output parameters ----- |
2343 |
|
|
2344 |
real h2oexp(m,n,np,6),conexp(m,n,np,3),co2exp(m,n,np,6,2) |
_RL h2oexp(m,n,np,6),conexp(m,n,np,3),co2exp(m,n,np,6,2) |
2345 |
* ,n2oexp(m,n,np,4) |
* ,n2oexp(m,n,np,4) |
2346 |
|
|
2347 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2348 |
|
|
2349 |
real xx,xx1,xx2,xx3 |
_RL xx,xx1,xx2,xx3 |
2350 |
|
|
2351 |
c********************************************************************** |
c********************************************************************** |
2352 |
|
|
2487 |
|
|
2488 |
c---- input parameters ----- |
c---- input parameters ----- |
2489 |
|
|
2490 |
real w1,p1,dwe,dpe |
_RL w1,p1,dwe,dpe |
2491 |
real sabs(m,n,np+1),spre(m,n,np+1),stem(m,n,np+1) |
_RL sabs(m,n,np+1),spre(m,n,np+1),stem(m,n,np+1) |
2492 |
real coef1(nx,nh,nt),coef2(nx,nh,nt),coef3(nx,nh,nt) |
_RL coef1(nx,nh,nt),coef2(nx,nh,nt),coef3(nx,nh,nt) |
2493 |
|
|
2494 |
c---- update parameter ----- |
c---- update parameter ----- |
2495 |
|
|
2496 |
real tran(m,n) |
_RL tran(m,n) |
2497 |
|
|
2498 |
c---- temporary variables ----- |
c---- temporary variables ----- |
2499 |
|
|
2500 |
real x1,x2,x3,we,pe,fw,fp,pa,pb,pc,ax,ba,bb,t1,ca,cb,t2 |
_RL x1,x2,x3,we,pe,fw,fp,pa,pb,pc,ax,ba,bb,t1,ca,cb,t2 |
2501 |
integer iw,ip,nn |
integer iw,ip,nn |
2502 |
|
|
2503 |
c********************************************************************** |
c********************************************************************** |
2595 |
|
|
2596 |
c---- input parameters ------ |
c---- input parameters ------ |
2597 |
|
|
2598 |
real conexp(m,n,np,3),h2oexp(m,n,np,6) |
_RL conexp(m,n,np,3),h2oexp(m,n,np,6) |
2599 |
integer ne(9) |
integer ne(9) |
2600 |
real fkw(6,9),gkw(6,3) |
_RL fkw(6,9),gkw(6,3) |
2601 |
|
|
2602 |
c---- updated parameters ----- |
c---- updated parameters ----- |
2603 |
|
|
2604 |
real th2o(m,n,6),tcon(m,n,3),tran(m,n) |
_RL th2o(m,n,6),tcon(m,n,3),tran(m,n) |
2605 |
|
|
2606 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2607 |
|
|
2608 |
real trnth2o |
_RL trnth2o |
2609 |
|
|
2610 |
c-----tco2 are the six exp factors between levels k1 and k2 |
c-----tco2 are the six exp factors between levels k1 and k2 |
2611 |
c tran is the updated total transmittance between levels k1 and k2 |
c tran is the updated total transmittance between levels k1 and k2 |
2729 |
|
|
2730 |
c---- input parameters ----- |
c---- input parameters ----- |
2731 |
|
|
2732 |
real co2exp(m,n,np,6,2) |
_RL co2exp(m,n,np,6,2) |
2733 |
|
|
2734 |
c---- updated parameters ----- |
c---- updated parameters ----- |
2735 |
|
|
2736 |
real tco2(m,n,6,2),tran(m,n) |
_RL tco2(m,n,6,2),tran(m,n) |
2737 |
|
|
2738 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2739 |
|
|
2740 |
real xc |
_RL xc |
2741 |
|
|
2742 |
c-----tco2 is the 6 exp factors between levels k1 and k2. |
c-----tco2 is the 6 exp factors between levels k1 and k2. |
2743 |
c xc is the total co2 transmittance given by eq. (53). |
c xc is the total co2 transmittance given by eq. (53). |
2818 |
|
|
2819 |
c---- input parameters ----- |
c---- input parameters ----- |
2820 |
|
|
2821 |
real n2oexp(m,n,np,4) |
_RL n2oexp(m,n,np,4) |
2822 |
|
|
2823 |
c---- updated parameters ----- |
c---- updated parameters ----- |
2824 |
|
|
2825 |
real tn2o(m,n,4),tran(m,n) |
_RL tn2o(m,n,4),tran(m,n) |
2826 |
|
|
2827 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2828 |
|
|
2829 |
real xc |
_RL xc |
2830 |
|
|
2831 |
c-----tn2o is the 2 exp factors between levels k1 and k2. |
c-----tn2o is the 2 exp factors between levels k1 and k2. |
2832 |
c xc is the total n2o transmittance |
c xc is the total n2o transmittance |
2895 |
|
|
2896 |
c---- input parameters ----- |
c---- input parameters ----- |
2897 |
|
|
2898 |
real ch4exp(m,n,np,4) |
_RL ch4exp(m,n,np,4) |
2899 |
|
|
2900 |
c---- updated parameters ----- |
c---- updated parameters ----- |
2901 |
|
|
2902 |
real tch4(m,n,4),tran(m,n) |
_RL tch4(m,n,4),tran(m,n) |
2903 |
|
|
2904 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2905 |
|
|
2906 |
real xc |
_RL xc |
2907 |
|
|
2908 |
c-----tch4 is the 2 exp factors between levels k1 and k2. |
c-----tch4 is the 2 exp factors between levels k1 and k2. |
2909 |
c xc is the total ch4 transmittance |
c xc is the total ch4 transmittance |
2969 |
|
|
2970 |
c---- input parameters ----- |
c---- input parameters ----- |
2971 |
|
|
2972 |
real comexp(m,n,np,2) |
_RL comexp(m,n,np,2) |
2973 |
|
|
2974 |
c---- updated parameters ----- |
c---- updated parameters ----- |
2975 |
|
|
2976 |
real tcom(m,n,2),tran(m,n) |
_RL tcom(m,n,2),tran(m,n) |
2977 |
|
|
2978 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
2979 |
|
|
2980 |
real xc |
_RL xc |
2981 |
|
|
2982 |
c-----tcom is the 2 exp factors between levels k1 and k2. |
c-----tcom is the 2 exp factors between levels k1 and k2. |
2983 |
c xc is the total co2-minor transmittance |
c xc is the total co2-minor transmittance |
3037 |
|
|
3038 |
c---- input parameters ----- |
c---- input parameters ----- |
3039 |
|
|
3040 |
real cfcexp(m,n,np) |
_RL cfcexp(m,n,np) |
3041 |
|
|
3042 |
c---- updated parameters ----- |
c---- updated parameters ----- |
3043 |
|
|
3044 |
real tcfc(m,n),tran(m,n) |
_RL tcfc(m,n),tran(m,n) |
3045 |
|
|
3046 |
c-----tcfc is the exp factors between levels k1 and k2. |
c-----tcfc is the exp factors between levels k1 and k2. |
3047 |
|
|
3093 |
|
|
3094 |
c---- input parameters ----- |
c---- input parameters ----- |
3095 |
|
|
3096 |
real h2oexp(m,n,np,6),conexp(m,n,np,3),co2exp(m,n,np,6,2) |
_RL h2oexp(m,n,np,6),conexp(m,n,np,3),co2exp(m,n,np,6,2) |
3097 |
* ,n2oexp(m,n,np,4) |
* ,n2oexp(m,n,np,4) |
3098 |
|
|
3099 |
c---- updated parameters ----- |
c---- updated parameters ----- |
3100 |
|
|
3101 |
real th2o(m,n,6),tcon(m,n,3),tco2(m,n,6,2),tn2o(m,n,4) |
_RL th2o(m,n,6),tcon(m,n,3),tco2(m,n,6,2),tn2o(m,n,4) |
3102 |
* ,tran(m,n) |
* ,tran(m,n) |
3103 |
|
|
3104 |
c---- temporary arrays ----- |
c---- temporary arrays ----- |
3105 |
|
|
3106 |
real xx |
_RL xx |
3107 |
|
|
3108 |
c-----initialize tran |
c-----initialize tran |
3109 |
|
|