12 include
'common_rt1.cmn'
14 character*255 infile,outdir,phsdir,tmat,tmat55,out2,out3,out23,txt
15 character*90 out2a,out3a,out23a,tmata,tmat55a
17 character*2 dndex,endex,wwcc,krhc,ksetc
32 open(5,file=
'rt1.dir',status=
'old')
37 len1=
index(infile,
' ')-1
38 len2=
index(outdir,
' ')-1
39 len3=
index(phsdir,
' ')-1
41 call getenv(
'RTDATA',root)
45 open(unit=4,file=infile(1:len1),status=
'old')
46 open(unit=7,file=root(1:lenr)//
'/inp/ozone101.dat',status=
'old')
47 open(unit=8,file=root(1:lenr)//
'/inp/atm_prof.dat',status=
'old')
48 open(unit=15,file=root(1:lenr)//
'/inp/coeff_abs.dat',status=
'old')
56 read(4,1000)(iair(i),i=1,3)
69 if(idust.eq.0 .and. iaprof.eq.0 .and. iblyr.eq.0)
then
74 if(idust.ge.1 .and. iaprof.eq.1 .and. iblyr.eq.1)
then
80 if(idust.ge.1 .and. iblyr.eq.1)
then
90 read(4,1003)nch,nt55,nrh,kset,nrmww
100 read(4,1065)ilam1,ilam2
101 read(4,1065)isd1,isd2
102 read(4,1065)itau1,itau2
107 read(4,1015)deltaux,psrfc
112 read(4,1005)(taum55(i),i=1,nt55)
116 read(4,1018)(krhum(i),i=1,nrh)
125 read(4,1015)pcldtop,pcldbtm
142 read(15,*)kznum,xlamb(kz),c0(kz),c1(kz),c2(kz),
146 111
format(i5,1p6e11.3)
156 read(7,*)ppo(i),x101(i),temp101(i)
160 dx(i)=(x101(i+1)-x101(i))*1.0d-3
169 pdv(i)=1.0d0*dexp(a1*(nd-i)*(1.0d0+a2*(nd-i)))
178 if(pdv(i).ge.psrfc)
then
191 read (8,*) htdd(i),ppodd(i),dxdd(i),znpdd(i)
206 temp1(i)=dlog(ppodd(i))
208 call linear(h2km,htdd,temp1,nm,xlp2km)
209 p2km=dexp(xlp2km)/ppodd(1)
211 181
format(
'h2km,xlp2km,p2km',1p3e11.3)
212 diff=dabs(pdv(1)-p2km)
214 diffx=dabs(pdv(i)-p2km)
215 if(diffx.le.
diff)
then
228 ppod(i) = ppodd(k) / ppodd(1)
237 do 380 il=ilam1,ilam2,1
239 lambz=xlamb(il)*1.0d3+0.01
244 do 390 isd=isd1,isd2,1
246 do 400 itau=itau1,itau2,1
249 call convtc(idnint(xlamb(il)*1.0d3+0.01),4,cndex)
252 call convtc(krhum(ih),2,krhc)
255 write(*,*) ksetc,
' ',endex,
' ',dndex,
' ',krhc,
' ',cndex
257 if( kset.eq.0)krhc=
'00'
277 out2a=
'rt1_wl'//cndex//
'sd'//dndex//
'rh'//krhc
278 k01=
index(out2a,
' ')-1
279 out2=out2a(1:k01)//
'ta'//endex//
'_set'//ksetc//
'.out'
281 out3a=
'rt1_spwl'//cndex//
'sd'//dndex//
'rh'//krhc
282 k02=
index(out3a,
' ')-1
283 out3=out3a(1:k02)//
'ta'//endex//
'_set'//ksetc//
'.dat'
285 out23a=
'rt1_wl'//cndex//
'sd'//dndex//
'rh'//krhc
286 k03=
index(out23a,
' ')-1
287 out23=out23a(1:k03)//
'ta'//endex//
'_set'//ksetc//
'.dat'
289 tmata=
'phs_twl'//cndex//
'sd'//dndex//
'rh'//krhc
290 k04=
index(tmata,
' ')-1
291 tmat=tmata(1:k04)//
'_set'//ksetc//
'.dat'
293 tmat55a=
'phs_twl'//wwcc//
'sd'//dndex//
'rh'//krhc
294 k05=
index(tmat55a,
' ')-1
295 tmat55=tmat55a(1:k05)//
'_set'//ksetc//
'.dat'
300 n02=
index(out2,
' ')-1
301 n03=
index(out3,
' ')-1
302 ntm=
index(tmat,
' ')-1
303 n23=
index(out23,
' ')-1
304 n55=
index(tmat55,
' ')-1
306 open(2,file=outdir(1:len2)//
'/'//out2(1:n02),status=
'unknown')
308 open(3,file=outdir(1:len2)//
'/'//out3(1:n03),status=
'unknown')
311 open(unit=23,file=outdir(1:len2)//
'/'//out23(1:n23),
316 wvlth=xlamb(il)/10000.0d0
328 if (iair(2) .eq. 1) ifc=1
329 if(taum55(itau).lt. 1.0d-6)ifc=0
338 if (iair(2) .ne. 1)
go to 90
339 open(unit=9,file=phsdir(1:len3)//
'/'//tmat(1:ntm),status=
'old')
342 read (9,1095) ifunc1,mfunc1
354 read (9,1100)
ccn,bsr,salb,asf,qst,qtt
357 dwv=dabs(wvlth2-wvlth)
358 if(dwv .ge.1.0e-8)
then
359 write(2,1105)wvlth,wvlth2
360 write(*,1105)wvlth,wvlth2
369 open(unit=13,file=phsdir(1:len3)//
'/'//tmat55(1:n55),status=
'old'
372 read (13,1095) ifunc1,mfunc1
374 read (13,1100) wvlth5
384 read (13,1100) ccn5,bsr5,salb5,asf5,qst5,qtt5
392 tm=(qtt/qtt5)*taum55(itau)
394 write (2,1165) qtt5,qst5
395 write (2,1170) qtt,qst
396 write(2,1175)taum55(itau),tm
397 write(2,1177)wvlth*1.0d4
402 write(2,1177)wvlth*1.0d4
436 1005
format(1p10e11.4)
438 1010
format(5x,7e10.3,5x)
440 1015
format(1p4e15.5)
443 1022
format(t5,
'wvlth',t17,
'psrfc',t29,
'rho',t41,
'xozn',t53,
'tautot',
444 1 t65,
'deltau',t74,
'nolyr')
445 1023
format(1p6e12.4,i4)
446 1024
format(t5,
'tr',t17,
'tm',t29,
'ta',t41,
'tcar',t53,
'twat',
447 1 t65,
'tozn',t75,
'ifc')
448 1025
format(1p6e12.4,i4)
449 1026
format(t3,
'no',t9,
'dtrr',t21,
'dtmm',t33,
'dtaa',t45,
'dtot')
450 1027
format(i4,1p4e12.4)
453 1040
format (/t5,
'radiative transfer calculations based on',
454 1
' the clear atmosphere model')
455 1050
format (/t5,
'radiative transfer calculations based on',
456 1
' the thin cloud model')
457 1060
format(4e15.5,2i5)
461 1095
format(i5,11x,i5)
462 1105
format(1x,
'input wavelength and phase matrix wavelength'
463 1
' do not match.'/1x,
'input wavelength=',1pe12.4,
464 2
'phase matrix wavelength=',1pe12.4)
465 1100
format(1p4e11.3,1p2e12.4)
466 1120
format(1p2d18.12,1p2d19.12,0pf6.2)
467 1130
format(i4,25f4.1)
468 1140
format(i4,10f4.2)
469 1165
format(
'volume extinction coefficient (550 nm)',t40,
'=',1pe15.5,
470 1
'(cm-1)'/
'volume scattering coefficient (550 nm)', t40,
'=',
471 2 1pe15.5,
'(cm-1)' / )
472 1170
format(
'volume extinction coefficient',t40,
'=',1pe15.5,
473 1
'(cm-1)' /
'volume scattering coefficient', t40,
'=',
474 2 1pe15.5,
'(cm-1)' / )
475 1175
format(
'aerosol opt. thickness (550 nm)=',1pe15.5/
476 1
'aerosol opt. thickness =',1pe15.5)
477 1176
format(
'aerosol opt. thickness =',1pe15.5)
478 1177
format(
'wavelength (um) =',1pe15.5)
479 1180
format(4d18.10,5x,i3)
480 1220
format(f5.0,4d12.4)
481 1230
format(5x,f5.1,3f10.3)
493 include
'common_rt1.cmn'
513 lgppod(i)=dlog(ppod(i))
518 lgpdv(i)=dlog(pdv(i))
521 if (iair(3).eq.1)
then
531 denm=dlog(dxd(1)/dxd(2))
532 o3h=-(htd(1)-htd(2))/denm
533 xd(1)=o3h*(1.0d+3*dxd(1)/2.1429d-2)
536 xd(i+1)=xd(i)+0.5d0*1.0d+3*(htd(i)-htd(i+1))*
537 1 (dxd(i)+dxd(i+1))/2.1429d-2
548 write (2,1070) ozamtp
555 x(i+1) = x(i) + dx(i)
565 write (2,1070) ozamtp
579 call co2(tcar,pdv,tauc,nd)
582 taua(i)=tauozn(i)+tauw(i)+tauc(i)
585 198
format(
'tauc',1p6e11.3)
587 199
format(
'taua',1p6e11.3)
594 if (iair(2).eq.1)
then
595 if(idust.ge.1 .or. iaprof.eq.1)
then
603 if (iair(1).eq.1)
then
605 taur(i) = tr * pdv(i)
610 tau(i)=taum(i)+taur(i)+taua(i)
613 call linear (lgpdv(i),lgppod,htd,nm,htdv(i))
622 write(3,115)i,htdv(i),pdv(i),taur(i),taum(i),taua(i),tau(i)
626 if(tau(nd).lt.0.02d0)
then
630 if(ioptn.le.0 .or. ioptn.gt.4)ioptn=0
635 dtau1=tau(nd)/dfloat(ntau)
645 if(taur(nd).gt.0.0d0)fr(1)=1.0d-10
646 if(taum(nd).gt.0.0d0)fn(1)=1.0d-10
647 if(taua(nd).gt.0.0d0)fa(1)=1.0d-10
648 if(ifc.eq.0)fn(1)=0.0d0
652 ftot(1)=fr(1)+fn(1)+fa(1)
656 call linear (argi,tau,pdv,nd,pp)
659 call linear (pplg,lgpdv,htdv,nd,htlvl(i+1))
660 if(htlvl(i+1).lt.0.0d0)htlvl(i+1)=0.0d0
661 if (iair(1).eq.1)
call linear (pp,pdv,taur,nd,fr(i+1))
662 if (iair(2).eq.1)
call linear (pp,pdv,taum,nd,fn(i+1))
663 if (iair(3).eq.1)
call linear (pp,pdv,taua,nd,fa(i+1))
664 ftot(i+1)=fr(i+1)+fn(i+1)+fa(i+1)
665 write (2,1110)i,htlvl(i),pplvl(i),fr(i),fn(i),fa(i),ftot(i)
667 write (2,1110)ntaup,htlvl(ntaup),pplvl(ntaup),fr(ntaup),
668 1 fn(ntaup),fa(ntaup),ftot(ntaup)
683 pplvl(k)=1.0d0*dexp(a1*(kdlvl-i)*(1.0d0+a2*(kdlvl-i)))
684 if(pplvl(k).gt.psrfc)
then
698 if(taur(nd).gt.0.0d0)fr(1)=1.0d-10
699 if(taum(nd).gt.0.0d0)fn(1)=1.0d-10
700 if(taua(nd).gt.0.0d0)fa(1)=1.0d-10
701 if(ifc.eq.0)fn(1)=0.0d0
704 ftot(1)=fr(1)+fn(1)+fa(1)
705 write (2,1110)il,htlvl(1),pplvl(1),fr(1),fn(1),fa(1),ftot(1)
709 call linear (pplg,lgpdv,htdv,nd,htlvl(i))
710 if (iair(1).eq.1)
call linear (pp,pdv,taur,nd,fr(i))
711 if (iair(2).eq.1)
call linear (pp,pdv,taum,nd,fn(i))
712 if (iair(3).eq.1)
call linear (pp,pdv,taua,nd,fa(i))
713 ftot(i)=fr(i)+fn(i)+fa(i)
714 write (2,1110)i,htlvl(i),pplvl(i),fr(i),fn(i),fa(i),ftot(i)
720 dtrr(i) = fr(i+1) - fr(i)
721 dtmm(i) = fn(i+1) - fn(i)
722 dtaa(i) = fa(i+1) - fa(i)
723 if(dtrr(i).lt.0.0d0)dtrr(i)=0.0d0
724 if(dtmm(i).lt.0.0d0)dtmm(i)=0.0d0
725 if(dtaa(i).lt.0.0d0)dtaa(i)=0.0d0
740 tots = dtrr(i) + dtmm(i)*
const
741 dtot(i) = dtrr(i) + dtmm(i) + dtaa(i)
743 turbhl=(dtmm(i)*
const)/tots
744 write (2,1210) i,pplvl(i+1),dtrr(i),dtmm(i),dtaa(i),dtot(i),
748 tautot = trp + tmp + tap
750 write(2,1230)trp,tmp,tap,tautot
753 write(23,1023)wvlth,psrfc,rrho,ozamtp,tautot,dtau1,nolyr
755 write(23,1025)trp,tmp,tap,tcar,twat,toznp,ifc
758 write(23,1027)i,htlvl(i+1),pplvl(i+1),dtrr(i),dtmm(i),
766 115
format(i4,1x,1p6e12.4)
767 121
format(t1,
'tot_lvl')
769 128
format(t3,
'lvl',t9,
'ht(km)',t21,
'p(atm)',t33,
'taur',t45,
'taum',
770 1 t57,
'taua',t69,
'tau_tot')
771 1000
format (15x,
'total optical thickness at 3.6 km = ',1pe15.4/
772 1 15x,
'new dtau=',1pe15.4/ 15x,
'new no. of layers=',i5//)
773 1010
format(/,10x,
'number of layers above the cloud = ',i5,10x,
774 1
'layer thickness = ',f10.6)
775 1011
format(/,10x,
'number of layers below the cloud = ',i5,10x,
776 1
'layer thickness = ',f10.6)
777 1012
format(/,10x,
'number of layers in the cloud = ',i5,10x,
778 1
'layer thickness = ',f10.6)
779 1015
format (1x,t50,
'clear atmosphere')
780 1016
format (1x,t50,
'thin cloud')
781 1017
format (1x,t50,
'thick cloud')
782 1020
format (/,t50,
'cumulative optical thicknesses'///t11,
783 1
'press.',t27,
'rayleigh', t47,
'mie',t67,
'ozone',t87,
'total'/
785 1022
format(t5,
'wvlth',t17,
'psrfc',t29,
'rho',t41,
'xozn',t53,
'tautot',
786 1 t65,
'deltau',t74,
'nolyr')
787 1023
format(1p6e12.4,i4)
788 1024
format(t5,
'tr',t17,
'tm',t29,
'ta',t41,
'tcar',t53,
'twat',
789 1 t65,
'tozn',t75,
'ifc')
790 1025
format(1p6e12.4,i4)
791 1026
format(t3,
'no',t9,
'htl_b',t21,
'pl_b',t33,
'dtrr',t45,
'dtmm',
792 1 t57,
'dtaa',t69,
'dtot')
793 1027
format(i4,1p6e12.4)
794 1030
format (5x,
'delta tau =',1pe15.5,5x,
'no. of layers =',i3/)
795 1040
format (
'interpolated values of press and',
796 1
' tau(rayleigh) etc. corresponding to'/
'delta tau=',1pe15.5//
797 2 t10,
'height',t23,
'press.',t31,
'tau(rayleigh)',t46,
'tau(mie)',t56
798 3
'tau(ozone)',t68,
'tau(tot)'/t10,
'(in km)',t22,
'(in atm)'/)
799 1050
format (
'values of tau(rayleigh) etc. in full and half layers'/
800 1
'(the first and the last layer are half layers)'/)
801 1060
format (//t15,
'division of atmosphere into layers of equal optical
802 1 thickness for pupose of calculating radiative transfer:'//)
803 1070
format (15x,
'total ozone(top to psrfc) in atm-cm',1pe15.5/)
804 1080
format (i4,1x,1p6e12.4)
805 1090
format (i3,2x,1p4e11.3,0pf8.4)
806 1100
format (t2,
'no',t8,
'dtau(ray)',t19,
'dtau(mie)',t30,
807 1
' dtau(o3)',t41,
'dtau(tot)',t53,
'turb'/)
808 1110
format (i4,1x,1p6e12.4)
811 1140
format (t10,
'sum of the total dtau = ',f10.5,
812 1 /t10,
'sum of the total dtaur = ', f10.5,
813 2 /t10,
'sum of the total dtaum(scat.)= ', f10.5,
814 3 /t10,
'sum of the total dtaua = ', f10.5)
815 1190
format(/t5,
'values of tau(rayleigh ) etc. in each layer'/)
816 1200
format(t2,
'no',t6,
'press(atm)'t17,
'dtau(ray)',t28,
817 1
'dtau(mie)',t39,
'dtau(o3)',t49,
' dtau(tot)',
818 2 t60,
'alb_sscat',t71,
'turb'/)
819 1210
format(i3,1p5e11.3,0p2f8.4)
820 1230
format(/t10,
'tau_r =',e12.4/t10,
'tau_m =',e12.4/
821 1 t10,
'tau_a =',e12.4/t10,
'tau_t =',e12.4)
828 include
'common_rt1.cmn'
829 real*8 sumxx(nsc+1),hxx(nsc+1),e(nsc+1),u(nsc+1)
838 if(pdv(i).ge.ppod(j) .and. pdv(i).lt.ppod(j+1))
then
839 xn1=dlog(pdv(i))-dlog(ppod(j))
840 xd1=dlog(ppod(j+1))-dlog(ppod(j))
841 hho(i)=htd(j)+(xn1/xd1)*(htd(j+1)-htd(j))
842 prod1=(hho(i)-htd(j))/(htd(j+1)-htd(j))
843 zpp(i)=znp(j)*(znp(j+1)/znp(j))**prod1
849 226
format(
'i,pdv,hho,zpp',i3,1x,1p3e11.3)
857 dnm(i)=0.5d0*(zpp(i)+zpp(i+1))*(hho(i)-hho(i+1))*1.0d+5
858 zppt(i+1)=zppt(i)+dnm(i)
860 151
format(
'integrated # of part i+1,zppt(i+1)',i3,1pe11.3)
877 taum(i) = c * zppt(i) * qtt
891 119
format(
'i,zppt(i),taum(i)',i3,1x,1p2e11.3)
898 yn2b=zppt(ndv)-zppt(kndx)
902 h0=2.0d0/(dlog(znp(nm)/znp(nm-2)))
911 zpp(j)=zpp(kndx)*dexp((hho(kndx)-hho(j))/hx)
912 dnm(j-1)=0.5d0*(zpp(j-1)+zpp(j))*(hho(j-1)-hho(j))*1.0d+5
915 if(sum2x.gt.xn2b)
then
923 600
format(
'the value of the aerosol scale height is less',
924 1
' than 0.10',1pe11.3)
933 dhx=(hg-hl)/dfloat(nsc)
939 zpp(j)=zpp(kndx)*dexp((hho(kndx)-hho(j))/hx)
940 dnm(j-1)=0.5d0*(zpp(j-1)+zpp(j))*(hho(j-1)-hho(j))*
953 call spline(xn2b,sumxx,hxx,nscp,in,hxz,il,iu,vl,vu,e,u)
956 zpp(j)=zpp(kndx)*dexp((hho(kndx)-hho(j))/hxz)
957 dnm(j-1)=0.5d0*(zpp(j-1)+zpp(j))*(hho(j-1)-hho(j))*
959 zppt(j)=zppt(j-1)+dnm(j-1)
971 subroutine water(twat,pdv,watr,ppod,ht,nm,ndv,tauw)
973 implicit real*8 (a-h,o-z)
974 real*8 pdv(1000),watr(1000),ppod(1000),tauw(1000),u(1000)
975 real*8 dts(1000),dt(1000),tauww(1000),e(1000),ht(1000)
980 watr(i)=watr(i)*1.0d-1
987 tp = tp + (watr(i)+watr(i+1))/2.0d0
999 dt(i) = (dts(i+1) + dts(i)) / 2.0d0
1004 tauww(i+1) = tauww(i) + dt(i)
1011 call spline (pdv(i),ppod,tauww,nm,in,tauw(i),il,iu,vl,vu,e,u)
1013 if(tauw(i).lt.0.0d0 .and. ttww.lt.1.0d-8)
then
1022 include
'common_rt1.cmn'
1024 real*8 ee(klyr),uu(klyr)
1030 call spline(pdv(i),ppod,xd,n,in,tempo3,il,iu,vl,vu,ee,uu)
1031 tauozn(i)=tempo3*oznabs
1038 subroutine co2(tcar,pdv,tauc,ndv)
1040 implicit real*8 (a-h,o-z)
1042 real*8 pdv(ndv),tauc(ndv)
1055 subroutine linear(xp,x,y,n,yp)
1060 implicit real*8 (a-h,o-z)
1077 slope=(y(ih)-y(il))/(x(ih)-x(il))
1078 yp=y(il)+slope*(xp-x(il))
1083 subroutine spline(s,x,y,n,in,t,il,iu,vl,vu,e,u)
1092 implicit real*8 (a-h,o-z)
1093 dimension x(*), y(*), e(*),u(*)
1104 u(1)=(c1-vl)/2.0d0/b1
1119 20 u(j)=(d-c*u(j-1))/p
1122 e(n)=u(n1)/(1.0d0-e(n1))
1124 24 c2=vu-(y(n)-y(n1))/(x(n)-x(n1))
1125 e(n)=(c2/(x(n)-x(n1))-u(n1))/(2.0d0+e(n1))
1131 e(k)=e(k)*e(k+1)+u(k)
1136 u(k)=(y(k+1)-y(k))/b2-b2*(e(k)*2+e(k+1))
1139 u(n)=(e(n1)+2.0d0*e(n))*b2+(y(n)-y(n1))/b2
1140 40
if (x(1).gt.x(n))
go to 50
1148 60
if (s.ge.x(mub+idir))
go to 100
1149 if (s.le.x(mlb+1-idir))
go to 110
1153 70
if (iabs(mu-ml).le.1)
go to 120
1155 if (s.lt.x(mav))
go to 90
1162 110 mu=mlb+2*(1-idir)
1166 t=(e(mu-1)*((x(mu)-s)**3)+e(mu)*((s-x(mu-1))**3)+
1167 1 (y(mu-1)-e(mu-1)*((x(mu)-x(mu-1))**2))*(x(mu)-s)+
1168 2 (y(mu)-e(mu)*((x(mu)-x(mu-1))**2))*(s-x(mu-1)))/
1176 include
'common_rt1.cmn'
1184 if(pdv(i).ge.ppod(j) .and. pdv(i).lt.ppod(j+1))
then
1185 xn1=dlog(pdv(i))-dlog(ppod(j))
1186 xd1=dlog(ppod(j+1))-dlog(ppod(j))
1187 hho(i)=htd(j)+(xn1/xd1)*(htd(j+1)-htd(j))
1188 prod1=(hho(i)-htd(j))/(htd(j+1)-htd(j))
1189 if(znp(j).gt.0.0)
then
1190 zpp(i)=znp(j)*(znp(j+1)/znp(j))**prod1
1199 226
format(
'i,pdv,hho,zpp',i3,1x,1p3e11.3)
1206 dnm(i)=0.5d0*(zpp(i)+zpp(i+1))*(hho(i)-hho(i+1))*1.0d+5
1207 zppt(i+1)=zppt(i)+dnm(i)
1219 taum(i) = c * zppt(i) * qtt
1229 include
'common_rt1.cmn'
1231 write(*,*)
'idust',idust
1236 if(htdd(i).le.top_cld .and. htdd(i).gt.btm_cld)
then
1244 znpdd(i)=exp(-0.5d0*((htdd(i)-ht_dust)/sigma_dust)**2)
1253 include
'common_rt1.cmn'
1255 real*8 ee(klyr),uu(klyr)
1267 alfatemp=cc0+cc1*(temp101(1)-273.16)+
1268 1 cc2*(temp101(1)-273.16)**2.0
1269 tozn101(1)=alfatemp*dx(1)
1272 alfatemp=cc0+cc1*(0.5d0*(temp101(i)+temp101(i+1))-273.16)+
1273 1 cc2*(0.5d0*(temp101(i)+temp101(i+1))-273.16)**2.0
1274 tozn101(i)=tozn101(i-1)+alfatemp*dx(i)
1281 write(2,100)j,ppo(j),dx(j),x(j),tozn101(j)
1282 100
format(
'i,ppo,dx,x,tozn101',i4,1x,1p4e11.3)
1285 call spline(pdv(i),ppo,tozn101,n,in,tauo3z,il,iu,vl,vu,ee,uu)
1293 subroutine convtc (num,nchar, loc)
1333 integer istart, irem, itemp
1348 do 100 i = nchar, istart, -1
1350 loc(i) = char(irem - itemp * 10 + ichar(
'0'))
1357 if (irem.ne.0) loc(1) =
'*'
1364 include
'common_rt1.cmn'
1374 temp1(i)=dlog(ppodd(k))
1377 qcldtop=(pcldtop*1.0d3)
1378 qcldbtm=(pcldbtm*1.0d3)
1379 qcldtoplg=dlog(qcldtop)
1380 qcldbtmlg=dlog(qcldbtm)
1381 call linear(qcldtoplg,temp1,temp2,nm,hcldtop)
1382 call linear(qcldbtmlg,temp1,temp2,nm,hcldbtm)
1386 diff=dabs(ppodd(1)-qcldtop)
1389 diffx=dabs(ppodd(i)-qcldtop)
1390 if(diffx.le.
diff)
then
1396 diff=dabs(ppodd(1)-qcldbtm)
1398 diffx=dabs(ppodd(i)-qcldbtm)
1399 if(diffx.le.
diff)
then
1410 if(i.ge.kmdx .and. i.le.kndx)znpdd(i)=1.0d0