⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radcswmx.f90

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 F90
📖 第 1 页 / 共 5 页
字号:
   real(r8) cbarl(4)         ! C coefficient for single scat albedo   real(r8) dbarl(4)         ! D coefficient for single  scat albedo   real(r8) ebarl(4)         ! E coefficient for asymmetry parameter   real(r8) fbarl(4)         ! F coefficient for asymmetry parameter   save abarl, bbarl, cbarl, dbarl, ebarl, fbarl   data abarl/ 2.817e-02, 2.682e-02,2.264e-02,1.281e-02/   data bbarl/ 1.305    , 1.346    ,1.454    ,1.641    /   data cbarl/-5.62e-08 ,-6.94e-06 ,4.64e-04 ,0.201    /   data dbarl/ 1.63e-07 , 2.35e-05 ,1.24e-03 ,7.56e-03 /   data ebarl/ 0.829    , 0.794    ,0.754    ,0.826    /   data fbarl/ 2.482e-03, 4.226e-03,6.560e-03,4.353e-03/   real(r8) abarli           ! A coefficient for current spectral band   real(r8) bbarli           ! B coefficient for current spectral band   real(r8) cbarli           ! C coefficient for current spectral band   real(r8) dbarli           ! D coefficient for current spectral band   real(r8) ebarli           ! E coefficient for current spectral band   real(r8) fbarli           ! F coefficient for current spectral band! ! Caution... A. Slingo recommends no less than 4.0 micro-meters nor! greater than 20 micro-meters! ! ice water coefficients (Ebert and Curry,1992, JGR, 97, 3831-3836)!    real(r8) abari(4)         ! a coefficient for extinction optical depth   real(r8) bbari(4)         ! b coefficient for extinction optical depth   real(r8) cbari(4)         ! c coefficient for single scat albedo   real(r8) dbari(4)         ! d coefficient for single scat albedo   real(r8) ebari(4)         ! e coefficient for asymmetry parameter   real(r8) fbari(4)         ! f coefficient for asymmetry parameter   save abari, bbari, cbari, dbari, ebari, fbari   data abari/ 3.448e-03, 3.448e-03,3.448e-03,3.448e-03/   data bbari/ 2.431    , 2.431    ,2.431    ,2.431    /   data cbari/ 1.00e-05 , 1.10e-04 ,1.861e-02,.46658   /   data dbari/ 0.0      , 1.405e-05,8.328e-04,2.05e-05 /   data ebari/ 0.7661   , 0.7730   ,0.794    ,0.9595   /   data fbari/ 5.851e-04, 5.665e-04,7.267e-04,1.076e-04/   real(r8) abarii           ! A coefficient for current spectral band   real(r8) bbarii           ! B coefficient for current spectral band   real(r8) cbarii           ! C coefficient for current spectral band   real(r8) dbarii           ! D coefficient for current spectral band   real(r8) ebarii           ! E coefficient for current spectral band   real(r8) fbarii           ! F coefficient for current spectral band!    real(r8) delta            ! Pressure (in atm) for stratos. h2o limit   real(r8) o2mmr            ! O2 mass mixing ratio:   save delta, o2mmr   data delta /  1.70e-3 /   data o2mmr / .23143 /   real(r8) albdir(pcols,nspint) ! Current spc intrvl srf alb to direct rad   real(r8) albdif(pcols,nspint) ! Current spc intrvl srf alb to diffuse rad! ! Next series depends on spectral interval!    real(r8) frcsol(nspint)   ! Fraction of solar flux in spectral interval   real(r8) wavmin(nspint)   ! Min wavelength (micro-meters) of interval   real(r8) wavmax(nspint)   ! Max wavelength (micro-meters) of interval   real(r8) raytau(nspint)   ! Rayleigh scattering optical depth   real(r8) abh2o(nspint)    ! Absorption coefficiant for h2o (cm2/g)   real(r8) abo3 (nspint)    ! Absorption coefficiant for o3  (cm2/g)   real(r8) abco2(nspint)    ! Absorption coefficiant for co2 (cm2/g)   real(r8) abo2 (nspint)    ! Absorption coefficiant for o2  (cm2/g)   real(r8) ph2o(nspint)     ! Weight of h2o in spectral interval   real(r8) pco2(nspint)     ! Weight of co2 in spectral interval   real(r8) po2 (nspint)     ! Weight of o2  in spectral interval   real(r8) nirwgt(nspint)   ! Spectral Weights to simulate Nimbus-7 filter   real(r8) wgtint           ! Weight for specific spectral interval   save frcsol ,wavmin ,wavmax ,raytau ,abh2o ,abo3 , &        abco2  ,abo2   ,ph2o   ,pco2   ,po2   ,nirwgt   data frcsol / .001488, .001389, .001290, .001686, .002877, &                 .003869, .026336, .360739, .065392, .526861, &                 .526861, .526861, .526861, .526861, .526861, &                 .526861, .006239, .001834, .001834/! ! weight for 0.64 - 0.7 microns  appropriate to clear skies over oceans!    data nirwgt /  0.0,   0.0,   0.0,      0.0,   0.0, &                  0.0,   0.0,   0.0, 0.320518,   1.0,  1.0, &                  1.0,   1.0,   1.0,      1.0,   1.0, &                  1.0,   1.0,   1.0 /   data wavmin / .200,  .245,  .265,  .275,  .285, &                 .295,  .305,  .350,  .640,  .700,  .701, &                 .701,  .701,  .701,  .702,  .702, &                 2.630, 4.160, 4.160/   data wavmax / .245,  .265,  .275,  .285,  .295, &                 .305,  .350,  .640,  .700, 5.000, 5.000, &                 5.000, 5.000, 5.000, 5.000, 5.000, &                 2.860, 4.550, 4.550/   data raytau / 4.020, 2.180, 1.700, 1.450, 1.250, &                 1.085, 0.730, v_raytau_35, v_raytau_64, 0.020, &                  .0001, .0001, .0001, .0001, .0001, .0001, &                 .0001, .0001, .0001/! ! Absorption coefficients!    data abh2o /    .000,     .000,    .000,    .000,    .000, &                   .000,     .000,    .000,    .000,    .002, &                   .035,     .377,   1.950,   9.400,  44.600, &                   190.000,     .000,    .000,    .000/   data abo3  /5.370e+04, 13.080e+04,  9.292e+04, 4.530e+04, 1.616e+04, &               4.441e+03,  1.775e+02, v_abo3_35, v_abo3_64,      .000, &               .000,   .000    ,   .000   ,   .000   ,      .000, &               .000,   .000    ,   .000   ,   .000    /   data abco2  /   .000,     .000,    .000,    .000,    .000, &                   .000,     .000,    .000,    .000,    .000, &                   .000,     .000,    .000,    .000,    .000, &                   .000,     .094,    .196,   1.963/   data abo2  /    .000,     .000,    .000,    .000,    .000, &                   .000,     .000,    .000,1.11e-05,6.69e-05, &                   .000,     .000,    .000,    .000,    .000, &                     .000,     .000,    .000,    .000/! ! Spectral interval weights!    data ph2o  /    .000,     .000,    .000,    .000,    .000, &        .000,     .000,    .000,    .000,    .505,     &        .210,     .120,    .070,    .048,    .029,     &        .018,     .000,    .000,    .000/   data pco2  /    .000,     .000,    .000,    .000,    .000, &        .000,     .000,    .000,    .000,    .000,     &        .000,     .000,    .000,    .000,    .000,     &        .000,    1.000,    .640,    .360/   data po2   /    .000,     .000,    .000,    .000,    .000, &        .000,     .000,    .000,   1.000,   1.000,     &        .000,     .000,    .000,    .000,    .000,     &        .000,     .000,    .000,    .000/! ! Diagnostic and accumulation arrays; note that sfltot, fswup, and! fswdn are not used in the computation,but are retained for future use.!    real(r8) solflx           ! Solar flux in current interval   real(r8) sfltot           ! Spectrally summed total solar flux   real(r8) totfld(0:pver)   ! Spectrally summed flux divergence   real(r8) fswup(0:pverp)   ! Spectrally summed up flux   real(r8) fswdn(0:pverp)   ! Spectrally summed down flux! ! Cloud radiative property arrays!    real(r8) tauxcl(pcols,0:pver) ! water cloud extinction optical depth   real(r8) tauxci(pcols,0:pver) ! ice cloud extinction optical depth   real(r8) wcl(pcols,0:pver) ! liquid cloud single scattering albedo   real(r8) gcl(pcols,0:pver) ! liquid cloud asymmetry parameter   real(r8) fcl(pcols,0:pver) ! liquid cloud forward scattered fraction   real(r8) wci(pcols,0:pver) ! ice cloud single scattering albedo   real(r8) gci(pcols,0:pver) ! ice cloud asymmetry parameter   real(r8) fci(pcols,0:pver) ! ice cloud forward scattered fraction! ! Aerosol radiative property arrays!    real(r8) tauxar(pcols,0:pver) ! aerosol extinction optical depth   real(r8) wa(pcols,0:pver) ! aerosol single scattering albedo   real(r8) ga(pcols,0:pver) ! aerosol assymetry parameter   real(r8) fa(pcols,0:pver) ! aerosol forward scattered fraction! ! Sulphate aerosol properties taken from:! ! Kiehl, J.T., B.P.Briegleb, 1993. The Relative Roles of Sulfate Aerosols! and Greenhouse Gases in Climate Forcing. Science, Vol. 260, pp. 311-314.!    real(r8) ksa(nspint)      ! aerosol spectral mass abs. coeff(m2/g)   real(r8) wsa(nspint)      ! aerosol spectral single scat. albedo   real(r8) gsa(nspint)      ! aerosol spectral asymmetry parameter!    data ksa /11.1163, 10.5472, 10.2468, 10.0392,  9.8292, &        9.6199,  9.0407,v_ksa_35,v_ksa_64,  1.9169,   &        0.3780,  0.3780,  0.3780,  0.3780,  0.5704,   &        0.5704,  0.5704,  0.5704,  0.5704 /   data wsa / .999999, .999999, .999999, .999999, .999999, &        .999999, .999999, .999999, .999999, .999991,  &        .989772, .989772, .989772, .989772, .847061,  &        .847061, .847061, .847061, .847061 /   data gsa / .719161, .719012, .718453, .717820, .716997, &        .715974, .712743,v_gsa_35,v_gsa_64, .618115,  &        .485286, .485286, .485286, .485286, .295557,  &        .295557, .295557, .295557, .295557 /! ! Other variables and arrays needed for aerosol:!    real(r8) rhfac            ! multiplication factor for kaer   real(r8) rhpc             ! level relative humidity in %   real(r8) a0               ! constant in rh mult factor   real(r8) a1               ! constant in rh mult factor   real(r8) a2               ! constant in rh mult factor   real(r8) a3               ! constant in rh mult factor   save a0,a1,a2,a3   data a0 / -9.2906106183    /   data a1 /  0.52570211505   /   data a2 / -0.0089285760691 /   data a3 /  5.0877212432e-05/! ! Various arrays and other constants:!    real(r8) pflx(pcols,0:pverp) ! Interface press, including extra layer   real(r8) zenfac(pcols)    ! Square root of cos solar zenith angle   real(r8) sqrco2           ! Square root of the co2 mass mixg ratio   real(r8) tmp1             ! Temporary constant array   real(r8) tmp2             ! Temporary constant array   real(r8) pdel             ! Pressure difference across layer   real(r8) path             ! Mass path of layer   real(r8) ptop             ! Lower interface pressure of extra layer   real(r8) ptho2            ! Used to compute mass path of o2   real(r8) ptho3            ! Used to compute mass path of o3   real(r8) pthco2           ! Used to compute mass path of co2   real(r8) pthh2o           ! Used to compute mass path of h2o   real(r8) h2ostr           ! Inverse sq. root h2o mass mixing ratio   real(r8) wavmid(nspint)   ! Spectral interval middle wavelength   real(r8) trayoslp         ! Rayleigh optical depth/standard pressure   real(r8) tmp1l            ! Temporary constant array   real(r8) tmp2l            ! Temporary constant array   real(r8) tmp3l            ! Temporary constant array   real(r8) tmp1i            ! Temporary constant array   real(r8) tmp2i            ! Temporary constant array   real(r8) tmp3i            ! Temporary constant array   real(r8) rdenom           ! Multiple scattering term   real(r8) rdirexp          ! layer direct ref times exp transmission   real(r8) tdnmexp          ! total transmission - exp transmission   real(r8) psf(nspint)      ! Frac of solar flux in spect interval! ! Layer absorber amounts; note that 0 refers to the extra layer added! above the top model layer!    real(r8) uh2o(pcols,0:pver) ! Layer absorber amount of h2o   real(r8) uo3(pcols,0:pver) ! Layer absorber amount of  o3   real(r8) uco2(pcols,0:pver) ! Layer absorber amount of co2   real(r8) uo2(pcols,0:pver) ! Layer absorber amount of  o2   real(r8) uaer(pcols,0:pver) ! Layer aerosol amount ! ! Total column absorber amounts:!    real(r8) uth2o(pcols)     ! Total column  absorber amount of  h2o   real(r8) uto3(pcols)      ! Total column  absorber amount of  o3   real(r8) utco2(pcols)     ! Total column  absorber amount of  co2   real(r8) uto2(pcols)      ! Total column  absorber amount of  o2! ! These arrays are defined for pver model layers; 0 refers to the extra! layer on top:!    real(r8) rdir(nspint,pcols,0:pver) ! Layer reflectivity to direct rad   real(r8) rdif(nspint,pcols,0:pver) ! Layer reflectivity to diffuse rad   real(r8) tdir(nspint,pcols,0:pver) ! Layer transmission to direct rad   real(r8) tdif(nspint,pcols,0:pver) ! Layer transmission to diffuse rad   real(r8) explay(nspint,pcols,0:pver) ! Solar beam exp trans. for layer   real(r8) rdirc(nspint,pcols,0:pver) ! Clear Layer reflec. to direct rad   real(r8) rdifc(nspint,pcols,0:pver) ! Clear Layer reflec. to diffuse rad   real(r8) tdirc(nspint,pcols,0:pver) ! Clear Layer trans. to direct rad   real(r8) tdifc(nspint,pcols,0:pver) ! Clear Layer trans. to diffuse rad   real(r8) explayc(nspint,pcols,0:pver) ! Solar beam exp trans. clear layer   real(r8) flxdiv           ! Flux divergence for layer! ! ! Radiative Properties:! ! There are 1 classes of properties:! (1. All-sky bulk properties! (2. Clear-sky properties! ! The first set of properties are generated during step 2 of the solution.! ! These arrays are defined at model interfaces; in 1st index (for level #),! 0 is the top of the extra layer above the model top, and! pverp is the earth surface.  2nd index is for cloud configuration! defined over a whole column.!    real(r8) exptdn(0:pverp,nconfgmax) ! Sol. beam trans from layers above   real(r8) rdndif(0:pverp,nconfgmax) ! Ref to dif rad for layers above   real(r8) rupdif(0:pverp,nconfgmax) ! Ref to dif rad for layers below   real(r8) rupdir(0:pverp,nconfgmax) ! Ref to dir rad for layers below   real(r8) tdntot(0:pverp,nconfgmax) ! Total trans for layers above! ! Bulk properties used during the clear-sky calculation.!    real(r8) exptdnc(0:pverp) ! clr: Sol. beam trans from layers above   real(r8) rdndifc(0:pverp) ! clr: Ref to dif rad for layers above   real(r8) rupdifc(0:pverp) ! clr: Ref to dif rad for layers below   real(r8) rupdirc(0:pverp) ! clr: Ref to dir rad for layers below   real(r8) tdntotc(0:pverp) ! clr: Total trans for layers above   real(r8) fluxup(0:pverp)  ! Up   flux at model interface   real(r8) fluxdn(0:pverp)  ! Down flux at model interface   real(r8) wexptdn          ! Direct solar beam trans. to surface! !-----------------------------------------------------------------------! START OF CALCULATION!-----------------------------------------------------------------------!    do i=1, ncol! ! Initialize output fields:!       fsds(i)     = 0.0_r8      fsnirtoa(i) = 0.0_r8      fsnrtoac(i) = 0.0_r8      fsnrtoaq(i) = 0.0_r8      fsns(i)     = 0.0_r8      fsnsc(i)    = 0.0_r8      fsdsc(i)    = 0.0_r8      fsnt(i)     = 0.0_r8      fsntc(i)    = 0.0_r8      fsntoa(i)   = 0.0_r8

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -