?? radae.f90
字號(hào):
real(r8), intent(in) :: uco221(pcols,pverp) ! CO2 10.4 micron band path length real(r8), intent(in) :: uco222(pcols,pverp) ! CO2 10.4 micron band path length real(r8), intent(in) :: uco223(pcols,pverp) ! CO2 10.4 micron band path length real(r8), intent(in) :: uptype(pcols,pverp) ! continuum path length real(r8), intent(in) :: bn2o0(pcols,pverp) ! pressure factor for n2o real(r8), intent(in) :: bn2o1(pcols,pverp) ! pressure factor for n2o real(r8), intent(in) :: bch4(pcols,pverp) ! pressure factor for ch4 real(r8), intent(in) :: abplnk1(14,pcols,pverp) ! non-nearest layer Planck factor real(r8), intent(in) :: abplnk2(14,pcols,pverp) ! nearest layer factor!! Output arguments! real(r8), intent(out) :: abstot(pcols,pverp,pverp) ! Total absorptivity real(r8), intent(out) :: absnxt(pcols,pver,4) ! Total nearest layer absorptivity!!---------------------------Local variables-----------------------------! integer i ! Longitude index integer k ! Level index integer k1 ! Level index integer k2 ! Level index integer kn ! Nearest level index integer wvl ! Wavelength index real(r8) abstrc(pcols) ! total trace gas absorptivity real(r8) bplnk(14,pcols,4) ! Planck functions for sub-divided layers real(r8) pnew(pcols) ! Effective pressure for H2O vapor linewidth real(r8) pnewb(nbands) ! Effective pressure for h2o linewidth w/ ! Hulst-Curtis-Godson correction for ! each band real(r8) u(pcols) ! Pressure weighted H2O path length real(r8) ub(nbands) ! Pressure weighted H2O path length with ! Hulst-Curtis-Godson correction for ! each band real(r8) tbar(pcols,4) ! Mean layer temperature real(r8) emm(pcols,4) ! Mean co2 emissivity real(r8) o3emm(pcols,4) ! Mean o3 emissivity real(r8) o3bndi ! Ozone band parameter real(r8) temh2o(pcols,4) ! Mean layer temperature equivalent to tbar real(r8) k21 ! Exponential coefficient used to calculate! ! rotation band transmissvty in the 650-800! ! cm-1 region (tr1) real(r8) k22 ! Exponential coefficient used to calculate! ! rotation band transmissvty in the 500-650! ! cm-1 region (tr2) real(r8) uc1(pcols) ! H2o continuum pathlength in 500-800 cm-1 real(r8) to3h2o(pcols) ! H2o trnsmsn for overlap with o3 real(r8) pi ! For co2 absorptivity computation real(r8) sqti(pcols) ! Used to store sqrt of mean temperature real(r8) et ! Co2 hot band factor real(r8) et2 ! Co2 hot band factor squared real(r8) et4 ! Co2 hot band factor to fourth power real(r8) omet ! Co2 stimulated emission term real(r8) f1co2 ! Co2 central band factor real(r8) f2co2(pcols) ! Co2 weak band factor real(r8) f3co2(pcols) ! Co2 weak band factor real(r8) t1co2(pcols) ! Overlap factr weak bands on strong band real(r8) sqwp ! Sqrt of co2 pathlength real(r8) f1sqwp(pcols) ! Main co2 band factor real(r8) oneme ! Co2 stimulated emission term real(r8) alphat ! Part of the co2 stimulated emission term real(r8) wco2 ! Constants used to define co2 pathlength real(r8) posqt ! Effective pressure for co2 line width real(r8) u7(pcols) ! Co2 hot band path length real(r8) u8 ! Co2 hot band path length real(r8) u9 ! Co2 hot band path length real(r8) u13 ! Co2 hot band path length real(r8) rbeta7(pcols) ! Inverse of co2 hot band line width par real(r8) rbeta8 ! Inverse of co2 hot band line width par real(r8) rbeta9 ! Inverse of co2 hot band line width par real(r8) rbeta13 ! Inverse of co2 hot band line width par real(r8) tpatha ! For absorptivity computation real(r8) abso(pcols,4) ! Absorptivity for various gases/bands real(r8) dtx(pcols) ! Planck temperature minus 250 K real(r8) dty(pcols) ! Path temperature minus 250 K real(r8) term7(pcols,2) ! Kl_inf(i) in eq(r8) of table A3a of R&D real(r8) term8(pcols,2) ! Delta kl_inf(i) in eq(r8) real(r8) tr1 ! Eqn(6) in table A2 of R&D for 650-800 real(r8) tr10(pcols) ! Eqn (6) times eq(4) in table A2! ! of R&D for 500-650 cm-1 region real(r8) tr2 ! Eqn(6) in table A2 of R&D for 500-650 real(r8) tr5 ! Eqn(4) in table A2 of R&D for 650-800 real(r8) tr6 ! Eqn(4) in table A2 of R&D for 500-650 real(r8) tr9(pcols) ! Equation (6) times eq(4) in table A2! ! of R&D for 650-800 cm-1 region real(r8) sqrtu(pcols) ! Sqrt of pressure weighted h20 pathlength real(r8) fwk(pcols) ! Equation(33) in R&D far wing correction real(r8) fwku(pcols) ! GU term in eqs(1) and (6) in table A2 real(r8) to3co2(pcols) ! P weighted temp in ozone band model real(r8) dpnm(pcols) ! Pressure difference between two levels real(r8) pnmsq(pcols,pverp) ! Pressure squared real(r8) dw(pcols) ! Amount of h2o between two levels real(r8) uinpl(pcols,4) ! Nearest layer subdivision factor real(r8) winpl(pcols,4) ! Nearest layer subdivision factor real(r8) zinpl(pcols,4) ! Nearest layer subdivision factor real(r8) pinpl(pcols,4) ! Nearest layer subdivision factor real(r8) dplh2o(pcols) ! Difference in press weighted h2o amount real(r8) r293 ! 1/293 real(r8) r250 ! 1/250 real(r8) r3205 ! Line width factor for o3 (see R&Di) real(r8) r300 ! 1/300 real(r8) rsslp ! Reciprocal of sea level pressure real(r8) r2sslp ! 1/2 of rsslp real(r8) ds2c ! Y in eq(7) in table A2 of R&D real(r8) dplos ! Ozone pathlength eq(A2) in R&Di real(r8) dplol ! Presure weighted ozone pathlength real(r8) tlocal ! Local interface temperature real(r8) beta ! Ozone mean line parameter eq(A3) in R&Di! (includes Voigt line correction factor) real(r8) rphat ! Effective pressure for ozone beta real(r8) tcrfac ! Ozone temperature factor table 1 R&Di real(r8) tmp1 ! Ozone band factor see eq(A1) in R&Di real(r8) u1 ! Effective ozone pathlength eq(A2) in R&Di real(r8) realnu ! 1/beta factor in ozone band model eq(A1) real(r8) tmp2 ! Ozone band factor see eq(A1) in R&Di real(r8) u2 ! Effective ozone pathlength eq(A2) in R&Di real(r8) rsqti ! Reciprocal of sqrt of path temperature real(r8) tpath ! Path temperature used in co2 band model real(r8) tmp3 ! Weak band factor see K&B real(r8) rdpnmsq ! Reciprocal of difference in press^2 real(r8) rdpnm ! Reciprocal of difference in press real(r8) p1 ! Mean pressure factor real(r8) p2 ! Mean pressure factor real(r8) dtym10 ! T - 260 used in eq(9) and (10) table A3a real(r8) dplco2 ! Co2 path length real(r8) te ! A_0 T factor in ozone model table 1 of R&Di real(r8) denom ! Denominator in eq(r8) of table A3a of R&D real(r8) th2o(pcols) ! transmission due to H2O real(r8) tco2(pcols) ! transmission due to CO2 real(r8) to3(pcols) ! transmission due to O3!! Transmission terms for various spectral intervals:! real(r8) trab2(pcols) ! H2o 500 - 800 cm-1 real(r8) absbnd ! Proportional to co2 band absorptance real(r8) dbvtit(pcols,pverp)! Intrfc drvtv plnck fnctn for o3 real(r8) dbvtly(pcols,pver) ! Level drvtv plnck fnctn for o3!! Variables for Collins/Hackney/Edwards H2O parameterization!! Notation:! U = integral (P/P_0 dW) eq. 15 in Ramanathan/Downey 1986! P = atmospheric pressure! P_0 = reference atmospheric pressure! W = precipitable water path! T_e = emission temperature! T_p = path temperature! RH = path relative humidity! real(r8) fa ! asymptotic value of abs. as U->infinity real(r8) a_star ! normalized absorptivity for non-window real(r8) l_star ! interpolated line transmission real(r8) c_star ! interpolated continuum transmission real(r8) te1 ! emission temperature real(r8) te2 ! te^2 real(r8) te3 ! te^3 real(r8) te4 ! te^4 real(r8) te5 ! te^5 real(r8) log_u ! log base 10 of U real(r8) log_uc ! log base 10 of H2O continuum path real(r8) log_p ! log base 10 of P real(r8) t_p ! T_p real(r8) t_e ! T_e (offset by T_p) integer iu ! index for log10(U) integer iu1 ! iu + 1 integer iuc ! index for log10(H2O continuum path) integer iuc1 ! iuc + 1 integer ip ! index for log10(P) integer ip1 ! ip + 1 integer itp ! index for T_p integer itp1 ! itp + 1 integer ite ! index for T_e integer ite1 ! ite + 1 integer irh ! index for RH integer irh1 ! irh + 1 real(r8) dvar ! normalized variation in T_p/T_e/P/U real(r8) uvar ! U * diffusivity factor real(r8) uscl ! factor for lineary scaling as U->0 real(r8) wu ! weight for U real(r8) wu1 ! 1 - wu real(r8) wuc ! weight for H2O continuum path real(r8) wuc1 ! 1 - wuc real(r8) wp ! weight for P real(r8) wp1 ! 1 - wp real(r8) wtp ! weight for T_p real(r8) wtp1 ! 1 - wtp real(r8) wte ! weight for T_e real(r8) wte1 ! 1 - wte real(r8) wrh ! weight for RH real(r8) wrh1 ! 1 - wrh real(r8) w_0_0_ ! weight for Tp/Te combination real(r8) w_0_1_ ! weight for Tp/Te combination real(r8) w_1_0_ ! weight for Tp/Te combination real(r8) w_1_1_ ! weight for Tp/Te combination real(r8) w_0_00 ! weight for Tp/Te/RH combination real(r8) w_0_01 ! weight for Tp/Te/RH combination real(r8) w_0_10 ! weight for Tp/Te/RH combination real(r8) w_0_11 ! weight for Tp/Te/RH combination real(r8) w_1_00 ! weight for Tp/Te/RH combination real(r8) w_1_01 ! weight for Tp/Te/RH combination real(r8) w_1_10 ! weight for Tp/Te/RH combination real(r8) w_1_11 ! weight for Tp/Te/RH combination real(r8) w00_00 ! weight for P/Tp/Te/RH combination real(r8) w00_01 ! weight for P/Tp/Te/RH combination real(r8) w00_10 ! weight for P/Tp/Te/RH combination real(r8) w00_11 ! weight for P/Tp/Te/RH combination real(r8) w01_00 ! weight for P/Tp/Te/RH combination real(r8) w01_01 ! weight for P/Tp/Te/RH combination real(r8) w01_10 ! weight for P/Tp/Te/RH combination real(r8) w01_11 ! weight for P/Tp/Te/RH combination real(r8) w10_00 ! weight for P/Tp/Te/RH combination real(r8) w10_01 ! weight for P/Tp/Te/RH combination real(r8) w10_10 ! weight for P/Tp/Te/RH combination real(r8) w10_11 ! weight for P/Tp/Te/RH combination real(r8) w11_00 ! weight for P/Tp/Te/RH combination real(r8) w11_01 ! weight for P/Tp/Te/RH combination real(r8) w11_10 ! weight for P/Tp/Te/RH combination real(r8) w11_11 ! weight for P/Tp/Te/RH combination integer ib ! spectral interval: ! 1 = 0-800 cm^-1 and 1200-2200 cm^-1 ! 2 = 800-1200 cm^-1 real(r8) pch2o ! H2O continuum path real(r8) fch2o ! temp. factor for continuum real(r8) uch2o ! U corresponding to H2O cont. path (window) real(r8) fdif ! secant(zenith angle) for diffusivity approx. real(r8) sslp_mks ! Sea-level pressure in MKS units real(r8) esx ! saturation vapor pressure returned by vqsatd real(r8) qsx ! saturation mixing ratio returned by vqsatd real(r8) pnew_mks ! pnew in MKS units real(r8) q_path ! effective specific humidity along path real(r8) rh_path ! effective relative humidity along path real(r8) omeps ! 1 - epsilo integer iest ! index in estblh2o!!--------------------------Statement function---------------------------! real(r8) dbvt,t ! Planck fnctn tmp derivative for o3! dbvt(t)=(-2.8911366682e-4+(2.3771251896e-6+1.1305188929e-10*t)*t)/ & (1.0+(-6.1364820707e-3+1.5550319767e-5*t)*t)!!!-----------------------------------------------------------------------!! Initialize! do k2=1,ntoplw-1 do k1=1,ntoplw-1 abstot(:,k1,k2) = inf ! set unused portions for lf95 restart write end do do k1=1,4 absnxt(:,k1,k2) = inf ! set unused portions for lf95 restart write end do end do do k=ntoplw,pverp abstot(:,k,k) = inf ! set unused portions for lf95 restart write end do do k=ntoplw,pver do i=1,ncol dbvtly(i,k) = dbvt(tlayr(i,k+1)) dbvtit(i,k) = dbvt(tint(i,k)) end do end do do i=1,ncol dbvtit(i,pverp) = dbvt(tint(i,pverp)) end do! r293 = 1./293.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -