Changeset 998 for LMDZ4/trunk
- Timestamp:
- Sep 25, 2008, 12:24:47 PM (16 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/clesphys.h
r996 r998 46 46 REAL ecrit_mth, ecrit_tra, ecrit_reg 47 47 REAL freq_ISCCP, ecrit_ISCCP 48 INTEGER :: ip_ebil_phy 48 INTEGER :: ip_ebil_phy, iflag_rrtm 49 LOGICAL ok_slab_sicOBS 49 50 50 51 COMMON/clesphys/cycle_diurne, soil_model, new_oliq, & … … 60 61 & , ecrit_mth, ecrit_tra, ecrit_reg & 61 62 & , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy & 62 & , ok_ lic_melt, cvl_corr&63 & , qsol0 63 & , ok_slab_sicOBS, ok_lic_melt, cvl_corr & 64 & , qsol0, iflag_rrtm 64 65 65 66 !$OMP THREADPRIVATE(/clesphys/) -
LMDZ4/trunk/libf/phylmd/conf_phys.F90
r996 r998 69 69 real,SAVE :: ratqshaut_omp 70 70 integer,SAVE :: iflag_radia_omp 71 integer,SAVE :: iflag_rrtm_omp 71 72 integer,SAVE :: iflag_cldcon_omp, ip_ebil_phy_omp 72 73 integer,SAVE :: iflag_ratqs_omp … … 577 578 call getin('iflag_radia',iflag_radia_omp) 578 579 580 ! 581 !Config Key = iflag_rrtm 582 !Config Desc = 583 !Config Def = 0 584 !Config Help = 585 ! 586 iflag_rrtm_omp = 0 587 call getin('iflag_rrtm',iflag_rrtm_omp) 588 589 ! 579 590 !Config Key = iflag_cldcon 580 591 !Config Desc = … … 1165 1176 ratqshaut = ratqshaut_omp 1166 1177 iflag_radia = iflag_radia_omp 1178 iflag_rrtm = iflag_rrtm_omp 1167 1179 iflag_cldcon = iflag_cldcon_omp 1168 1180 iflag_ratqs = iflag_ratqs_omp … … 1266 1278 write(numout,*)' iflag_cldcon = ', iflag_cldcon 1267 1279 write(numout,*)' iflag_radia = ', iflag_radia 1280 write(numout,*)' iflag_rrtm = ', iflag_rrtm 1268 1281 write(numout,*)' iflag_ratqs = ', iflag_ratqs 1269 1282 write(numout,*)' seuil_inversion = ', seuil_inversion -
LMDZ4/trunk/libf/phylmd/physiq.F
r996 r998 1557 1557 END IF 1558 1558 c 1559 c 1560 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1561 ! Nouvelle initialisation pour le rayonnement RRTM 1562 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1563 1564 call iniradia(klon,klev,paprs(1,1:klev+1)) 1565 1559 1566 ENDIF 1560 1567 ! … … 2844 2851 s topswad, solswad, ! ="= 2845 2852 e cldtaupi, ! ="= 2846 s topswai, solswai ) ! ="=2853 s topswai, solswai,zqsat,flwc,fiwc) ! ="= 2847 2854 ENDIF 2848 2855 itaprad = 0 -
LMDZ4/trunk/libf/phylmd/radlwsw.F
r888 r998 14 14 . tau_ae, piz_ae, cg_ae, 15 15 . topswad, solswad, 16 . cldtaupi, topswai, solswai )16 . cldtaupi, topswai, solswai,qsat,flwc,fiwc) 17 17 c 18 18 USE dimphy … … 107 107 c 108 108 INTEGER k, kk, i, j, iof, nb_gr 109 EXTERNAL lw, sw109 EXTERNAL LW_LMDAR4,SW_LMDAR4 110 110 c 111 111 cIM ctes ds clesphys.h REAL*8 RCO2, RCH4, RN2O, RCFC11, RCFC12 … … 143 143 REAL lwdn(klon,kflev+1),lwdn0(klon,kflev+1) 144 144 REAL lwup(klon,kflev+1),lwup0(klon,kflev+1) 145 REAL qsat(klon,klev),flwc(klon,klev),fiwc(klon,klev) 145 146 c-OB 146 147 cjq the following quantities are needed for the aerosol radiative forcings … … 291 292 ENDDO 292 293 c 293 c===== =================================================================294 c===== si iflag_rrtm=0 ================================================ 294 295 cIM ctes ds clesphys.h CALL LW(RCO2,RCH4,RN2O,RCFC11,RCFC12, 295 CALL LW( 296 cIM ctes ds clesphys.h CALL SW(PSCT, RCO2, zrmu0, zfract, 297 c 298 if (iflag_rrtm.eq.0) then 299 CALL LW_LMDAR4( 296 300 . PPMB, PDP, 297 301 . PPSOL,PDT0,PEMIS, … … 303 307 . zsollwdown, 304 308 . ZFLUP, ZFLDN, ZFLUP0,ZFLDN0) 305 cIM ctes ds clesphys.h CALL SW(PSCT, RCO2, zrmu0, zfract, 306 CALL SW(PSCT, zrmu0, zfract, 309 CALL SW_LMDAR4(PSCT, zrmu0, zfract, 307 310 S PPMB, PDP, 308 311 S PPSOL, PALBD, PALBP, … … 316 319 s ztopswad,zsolswad,ztopswai,zsolswai, ! diagnosed aerosol forcing 317 320 J ok_ade, ok_aie) ! apply aerosol effects or not? 321 else 322 c===== si iflag_rrtm=1, on passe dans SW via RECMWFL =============== 323 PRINT*, "Cette option ne fonctionne pas encore !!!" 324 CALL abort 325 endif ! if(iflag_rrtm=0) 318 326 319 327 c====================================================================== … … 392 400 RETURN 393 401 END 394 cIM ctes ds clesphys.h SUBROUTINE SW(PSCT, RCO2, PRMU0, PFRAC,395 SUBROUTINE SW(PSCT, PRMU0, PFRAC,396 S PPMB, PDP,397 S PPSOL, PALBD, PALBP,398 S PTAVE, PWV, PQS, POZON, PAER,399 S PCLDSW, PTAU, POMEGA, PCG,400 S PHEAT, PHEAT0,401 S PALBPLA,PTOPSW,PSOLSW,PTOPSW0,PSOLSW0,402 S ZFSUP,ZFSDN,ZFSUP0,ZFSDN0,403 S tauae, pizae, cgae,404 s PTAUA, POMEGAA,405 S PTOPSWAD,PSOLSWAD,PTOPSWAI,PSOLSWAI,406 J ok_ade, ok_aie )407 USE dimphy408 IMPLICIT none409 410 cym#include "dimensions.h"411 cym#include "dimphy.h"412 cym#include "raddim.h"413 #include "YOMCST.h"414 C415 C ------------------------------------------------------------------416 C417 C PURPOSE.418 C --------419 C420 C THIS ROUTINE COMPUTES THE SHORTWAVE RADIATION FLUXES IN TWO421 C SPECTRAL INTERVALS FOLLOWING FOUQUART AND BONNEL (1980).422 C423 C METHOD.424 C -------425 C426 C 1. COMPUTES ABSORBER AMOUNTS (SWU)427 C 2. COMPUTES FLUXES IN 1ST SPECTRAL INTERVAL (SW1S)428 C 3. COMPUTES FLUXES IN 2ND SPECTRAL INTERVAL (SW2S)429 C430 C REFERENCE.431 C ----------432 C433 C SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT434 C DOCUMENTATION, AND FOUQUART AND BONNEL (1980)435 C436 C AUTHOR.437 C -------438 C JEAN-JACQUES MORCRETTE *ECMWF*439 C440 C MODIFICATIONS.441 C --------------442 C ORIGINAL : 89-07-14443 C 95-01-01 J.-J. MORCRETTE Direct/Diffuse Albedo444 c 03-11-27 J. QUAAS Introduce aerosol forcings (based on BOUCHER)445 C ------------------------------------------------------------------446 C447 C* ARGUMENTS:448 C449 REAL*8 PSCT ! constante solaire (valeur conseillee: 1370)450 cIM ctes ds clesphys.h REAL*8 RCO2 ! concentration CO2 (IPCC: 353.E-06*44.011/28.97)451 #include "clesphys.h"452 C453 REAL*8 PPSOL(KDLON) ! SURFACE PRESSURE (PA)454 REAL*8 PDP(KDLON,KFLEV) ! LAYER THICKNESS (PA)455 REAL*8 PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)456 C457 REAL*8 PRMU0(KDLON) ! COSINE OF ZENITHAL ANGLE458 REAL*8 PFRAC(KDLON) ! fraction de la journee459 C460 REAL*8 PTAVE(KDLON,KFLEV) ! LAYER TEMPERATURE (K)461 REAL*8 PWV(KDLON,KFLEV) ! SPECIFIC HUMIDITY (KG/KG)462 REAL*8 PQS(KDLON,KFLEV) ! SATURATED WATER VAPOUR (KG/KG)463 REAL*8 POZON(KDLON,KFLEV) ! OZONE CONCENTRATION (KG/KG)464 REAL*8 PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS465 C466 REAL*8 PALBD(KDLON,2) ! albedo du sol (lumiere diffuse)467 REAL*8 PALBP(KDLON,2) ! albedo du sol (lumiere parallele)468 C469 REAL*8 PCLDSW(KDLON,KFLEV) ! CLOUD FRACTION470 REAL*8 PTAU(KDLON,2,KFLEV) ! CLOUD OPTICAL THICKNESS471 REAL*8 PCG(KDLON,2,KFLEV) ! ASYMETRY FACTOR472 REAL*8 POMEGA(KDLON,2,KFLEV) ! SINGLE SCATTERING ALBEDO473 C474 REAL*8 PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY)475 REAL*8 PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky476 REAL*8 PALBPLA(KDLON) ! PLANETARY ALBEDO477 REAL*8 PTOPSW(KDLON) ! SHORTWAVE FLUX AT T.O.A.478 REAL*8 PSOLSW(KDLON) ! SHORTWAVE FLUX AT SURFACE479 REAL*8 PTOPSW0(KDLON) ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY)480 REAL*8 PSOLSW0(KDLON) ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY)481 C482 C* LOCAL VARIABLES:483 C484 REAL*8 ZOZ(KDLON,KFLEV)485 REAL*8 ZAKI(KDLON,2)486 REAL*8 ZCLD(KDLON,KFLEV)487 REAL*8 ZCLEAR(KDLON)488 REAL*8 ZDSIG(KDLON,KFLEV)489 REAL*8 ZFACT(KDLON)490 REAL*8 ZFD(KDLON,KFLEV+1)491 REAL*8 ZFDOWN(KDLON,KFLEV+1)492 REAL*8 ZFU(KDLON,KFLEV+1)493 REAL*8 ZFUP(KDLON,KFLEV+1)494 REAL*8 ZRMU(KDLON)495 REAL*8 ZSEC(KDLON)496 REAL*8 ZUD(KDLON,5,KFLEV+1)497 REAL*8 ZCLDSW0(KDLON,KFLEV)498 c499 REAL*8 ZFSUP(KDLON,KFLEV+1)500 REAL*8 ZFSDN(KDLON,KFLEV+1)501 REAL*8 ZFSUP0(KDLON,KFLEV+1)502 REAL*8 ZFSDN0(KDLON,KFLEV+1)503 C504 INTEGER inu, jl, jk, i, k, kpl1505 c506 INTEGER swpas ! Every swpas steps, sw is calculated507 PARAMETER(swpas=1)508 c509 INTEGER itapsw510 LOGICAL appel1er511 DATA itapsw /0/512 DATA appel1er /.TRUE./513 SAVE itapsw,appel1er514 c$OMP THREADPRIVATE(appel1er)515 c$OMP THREADPRIVATE(itapsw)516 cjq-Introduced for aerosol forcings517 real*8 flag_aer518 logical ok_ade, ok_aie ! use aerosol forcings or not?519 real*8 tauae(kdlon,kflev,2) ! aerosol optical properties520 real*8 pizae(kdlon,kflev,2) ! (see aeropt.F)521 real*8 cgae(kdlon,kflev,2) ! -"-522 REAL*8 PTAUA(KDLON,2,KFLEV) ! CLOUD OPTICAL THICKNESS (pre-industrial value)523 REAL*8 POMEGAA(KDLON,2,KFLEV) ! SINGLE SCATTERING ALBEDO524 REAL*8 PTOPSWAD(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)525 REAL*8 PSOLSWAD(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)526 REAL*8 PTOPSWAI(KDLON) ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND)527 REAL*8 PSOLSWAI(KDLON) ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND)528 cjq - Fluxes including aerosol effects529 REAL*8,allocatable,save :: ZFSUPAD(:,:)530 c$OMP THREADPRIVATE(ZFSUPAD)531 REAL*8,allocatable,save :: ZFSDNAD(:,:)532 c$OMP THREADPRIVATE(ZFSDNAD)533 REAL*8,allocatable,save :: ZFSUPAI(:,:)534 c$OMP THREADPRIVATE(ZFSUPAI)535 REAL*8,allocatable,save :: ZFSDNAI(:,:)536 c$OMP THREADPRIVATE(ZFSDNAI)537 logical initialized538 cym SAVE ZFSUPAD, ZFSDNAD, ZFSUPAI, ZFSDNAI ! aerosol fluxes539 !rv540 save flag_aer541 c$OMP THREADPRIVATE(flag_aer)542 data initialized/.false./543 save initialized544 c$OMP THREADPRIVATE(initialized)545 cjq-end546 if(.not.initialized) then547 flag_aer=0.548 initialized=.TRUE.549 allocate(ZFSUPAD(KDLON,KFLEV+1))550 allocate(ZFSDNAD(KDLON,KFLEV+1))551 allocate(ZFSUPAI(KDLON,KFLEV+1))552 allocate(ZFSDNAI(KDLON,KFLEV+1))553 ZFSUPAD(:,:)=0.554 ZFSDNAD(:,:)=0.555 ZFSUPAI(:,:)=0.556 ZFSDNAI(:,:)=0.557 558 endif559 !rv560 561 c562 IF (appel1er) THEN563 PRINT*, 'SW calling frequency : ', swpas564 PRINT*, " In general, it should be 1"565 appel1er = .FALSE.566 ENDIF567 C ------------------------------------------------------------------568 IF (MOD(itapsw,swpas).EQ.0) THEN569 c570 DO JK = 1 , KFLEV571 DO JL = 1, KDLON572 ZCLDSW0(JL,JK) = 0.0573 ZOZ(JL,JK) = POZON(JL,JK)*46.6968/RG574 . *PDP(JL,JK)*(101325.0/PPSOL(JL))575 ENDDO576 ENDDO577 C578 C579 c clear-sky:580 cIM ctes ds clesphys.h CALL SWU(PSCT,RCO2,ZCLDSW0,PPMB,PPSOL,581 CALL SWU(PSCT,ZCLDSW0,PPMB,PPSOL,582 S PRMU0,PFRAC,PTAVE,PWV,583 S ZAKI,ZCLD,ZCLEAR,ZDSIG,ZFACT,ZRMU,ZSEC,ZUD)584 INU = 1585 CALL SW1S(INU,586 S PAER, flag_aer, tauae, pizae, cgae,587 S PALBD, PALBP, PCG, ZCLD, ZCLEAR, ZCLDSW0,588 S ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD,589 S ZFD, ZFU)590 INU = 2591 CALL SW2S(INU,592 S PAER, flag_aer, tauae, pizae, cgae,593 S ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, ZCLDSW0,594 S ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD,595 S PWV, PQS,596 S ZFDOWN, ZFUP)597 DO JK = 1 , KFLEV+1598 DO JL = 1, KDLON599 ZFSUP0(JL,JK) = (ZFUP(JL,JK) + ZFU(JL,JK)) * ZFACT(JL)600 ZFSDN0(JL,JK) = (ZFDOWN(JL,JK) + ZFD(JL,JK)) * ZFACT(JL)601 ENDDO602 ENDDO603 604 flag_aer=0.0605 CALL SWU(PSCT,PCLDSW,PPMB,PPSOL,606 S PRMU0,PFRAC,PTAVE,PWV,607 S ZAKI,ZCLD,ZCLEAR,ZDSIG,ZFACT,ZRMU,ZSEC,ZUD)608 INU = 1609 CALL SW1S(INU,610 S PAER, flag_aer, tauae, pizae, cgae,611 S PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW,612 S ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD,613 S ZFD, ZFU)614 INU = 2615 CALL SW2S(INU,616 S PAER, flag_aer, tauae, pizae, cgae,617 S ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW,618 S ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD,619 S PWV, PQS,620 S ZFDOWN, ZFUP)621 622 c cloudy-sky:623 624 DO JK = 1 , KFLEV+1625 DO JL = 1, KDLON626 ZFSUP(JL,JK) = (ZFUP(JL,JK) + ZFU(JL,JK)) * ZFACT(JL)627 ZFSDN(JL,JK) = (ZFDOWN(JL,JK) + ZFD(JL,JK)) * ZFACT(JL)628 ENDDO629 ENDDO630 631 c632 IF (ok_ade) THEN633 c634 c cloudy-sky + aerosol dir OB635 flag_aer=1.0636 CALL SWU(PSCT,PCLDSW,PPMB,PPSOL,637 S PRMU0,PFRAC,PTAVE,PWV,638 S ZAKI,ZCLD,ZCLEAR,ZDSIG,ZFACT,ZRMU,ZSEC,ZUD)639 INU = 1640 CALL SW1S(INU,641 S PAER, flag_aer, tauae, pizae, cgae,642 S PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW,643 S ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD,644 S ZFD, ZFU)645 INU = 2646 CALL SW2S(INU,647 S PAER, flag_aer, tauae, pizae, cgae,648 S ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW,649 S ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD,650 S PWV, PQS,651 S ZFDOWN, ZFUP)652 DO JK = 1 , KFLEV+1653 DO JL = 1, KDLON654 ZFSUPAD(JL,JK) = ZFSUP(JL,JK)655 ZFSDNAD(JL,JK) = ZFSDN(JL,JK)656 ZFSUP(JL,JK) = (ZFUP(JL,JK) + ZFU(JL,JK)) * ZFACT(JL)657 ZFSDN(JL,JK) = (ZFDOWN(JL,JK) + ZFD(JL,JK)) * ZFACT(JL)658 ENDDO659 ENDDO660 661 ENDIF ! ok_ade662 663 IF (ok_aie) THEN664 665 cjq cloudy-sky + aerosol direct + aerosol indirect666 flag_aer=1.0667 CALL SWU(PSCT,PCLDSW,PPMB,PPSOL,668 S PRMU0,PFRAC,PTAVE,PWV,669 S ZAKI,ZCLD,ZCLEAR,ZDSIG,ZFACT,ZRMU,ZSEC,ZUD)670 INU = 1671 CALL SW1S(INU,672 S PAER, flag_aer, tauae, pizae, cgae,673 S PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW,674 S ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD,675 S ZFD, ZFU)676 INU = 2677 CALL SW2S(INU,678 S PAER, flag_aer, tauae, pizae, cgae,679 S ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW,680 S ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD,681 S PWV, PQS,682 S ZFDOWN, ZFUP)683 DO JK = 1 , KFLEV+1684 DO JL = 1, KDLON685 ZFSUPAI(JL,JK) = ZFSUP(JL,JK)686 ZFSDNAI(JL,JK) = ZFSDN(JL,JK)687 ZFSUP(JL,JK) = (ZFUP(JL,JK) + ZFU(JL,JK)) * ZFACT(JL)688 ZFSDN(JL,JK) = (ZFDOWN(JL,JK) + ZFD(JL,JK)) * ZFACT(JL)689 ENDDO690 ENDDO691 ENDIF ! ok_aie692 cjq -end693 694 itapsw = 0695 ENDIF696 itapsw = itapsw + 1697 C698 DO k = 1, KFLEV699 kpl1 = k+1700 DO i = 1, KDLON701 PHEAT(i,k) = -(ZFSUP(i,kpl1)-ZFSUP(i,k))702 . -(ZFSDN(i,k)-ZFSDN(i,kpl1))703 PHEAT(i,k) = PHEAT(i,k) * RDAY*RG/RCPD / PDP(i,k)704 PHEAT0(i,k) = -(ZFSUP0(i,kpl1)-ZFSUP0(i,k))705 . -(ZFSDN0(i,k)-ZFSDN0(i,kpl1))706 PHEAT0(i,k) = PHEAT0(i,k) * RDAY*RG/RCPD / PDP(i,k)707 ENDDO708 ENDDO709 DO i = 1, KDLON710 PALBPLA(i) = ZFSUP(i,KFLEV+1)/(ZFSDN(i,KFLEV+1)+1.0e-20)711 c712 PSOLSW(i) = ZFSDN(i,1) - ZFSUP(i,1)713 PTOPSW(i) = ZFSDN(i,KFLEV+1) - ZFSUP(i,KFLEV+1)714 c715 PSOLSW0(i) = ZFSDN0(i,1) - ZFSUP0(i,1)716 PTOPSW0(i) = ZFSDN0(i,KFLEV+1) - ZFSUP0(i,KFLEV+1)717 c-OB718 PSOLSWAD(i) = ZFSDNAD(i,1) - ZFSUPAD(i,1)719 PTOPSWAD(i) = ZFSDNAD(i,KFLEV+1) - ZFSUPAD(i,KFLEV+1)720 c721 PSOLSWAI(i) = ZFSDNAI(i,1) - ZFSUPAI(i,1)722 PTOPSWAI(i) = ZFSDNAI(i,KFLEV+1) - ZFSUPAI(i,KFLEV+1)723 c-fin724 ENDDO725 C726 RETURN727 END728 c729 cIM ctes ds clesphys.h SUBROUTINE SWU (PSCT,RCO2,PCLDSW,PPMB,PPSOL,PRMU0,PFRAC,730 SUBROUTINE SWU (PSCT,PCLDSW,PPMB,PPSOL,PRMU0,PFRAC,731 S PTAVE,PWV,PAKI,PCLD,PCLEAR,PDSIG,PFACT,732 S PRMU,PSEC,PUD)733 USE dimphy734 IMPLICIT none735 cym#include "dimensions.h"736 cym#include "dimphy.h"737 cym#include "raddim.h"738 #include "radepsi.h"739 #include "radopt.h"740 #include "YOMCST.h"741 C742 C* ARGUMENTS:743 C744 REAL*8 PSCT745 cIM ctes ds clesphys.h REAL*8 RCO2746 #include "clesphys.h"747 REAL*8 PCLDSW(KDLON,KFLEV)748 REAL*8 PPMB(KDLON,KFLEV+1)749 REAL*8 PPSOL(KDLON)750 REAL*8 PRMU0(KDLON)751 REAL*8 PFRAC(KDLON)752 REAL*8 PTAVE(KDLON,KFLEV)753 REAL*8 PWV(KDLON,KFLEV)754 C755 REAL*8 PAKI(KDLON,2)756 REAL*8 PCLD(KDLON,KFLEV)757 REAL*8 PCLEAR(KDLON)758 REAL*8 PDSIG(KDLON,KFLEV)759 REAL*8 PFACT(KDLON)760 REAL*8 PRMU(KDLON)761 REAL*8 PSEC(KDLON)762 REAL*8 PUD(KDLON,5,KFLEV+1)763 C764 C* LOCAL VARIABLES:765 C766 INTEGER IIND(2)767 REAL*8 ZC1J(KDLON,KFLEV+1)768 REAL*8 ZCLEAR(KDLON)769 REAL*8 ZCLOUD(KDLON)770 REAL*8 ZN175(KDLON)771 REAL*8 ZN190(KDLON)772 REAL*8 ZO175(KDLON)773 REAL*8 ZO190(KDLON)774 REAL*8 ZSIGN(KDLON)775 REAL*8 ZR(KDLON,2)776 REAL*8 ZSIGO(KDLON)777 REAL*8 ZUD(KDLON,2)778 REAL*8 ZRTH, ZRTU, ZWH2O, ZDSCO2, ZDSH2O, ZFPPW779 INTEGER jl, jk, jkp1, jkl, jklp1, ja780 C781 C* Prescribed Data:782 c783 REAL*8 ZPDH2O,ZPDUMG784 SAVE ZPDH2O,ZPDUMG785 c$OMP THREADPRIVATE(ZPDH2O,ZPDUMG)786 REAL*8 ZPRH2O,ZPRUMG787 SAVE ZPRH2O,ZPRUMG788 c$OMP THREADPRIVATE(ZPRH2O,ZPRUMG)789 REAL*8 RTDH2O,RTDUMG790 SAVE RTDH2O,RTDUMG791 c$OMP THREADPRIVATE(RTDH2O,RTDUMG)792 REAL*8 RTH2O ,RTUMG793 SAVE RTH2O ,RTUMG794 c$OMP THREADPRIVATE(RTH2O ,RTUMG)795 DATA ZPDH2O,ZPDUMG / 0.8 , 0.75 /796 DATA ZPRH2O,ZPRUMG / 30000., 30000. /797 DATA RTDH2O,RTDUMG / 0.40 , 0.375 /798 DATA RTH2O ,RTUMG / 240. , 240. /799 C ------------------------------------------------------------------800 C801 C* 1. COMPUTES AMOUNTS OF ABSORBERS802 C -----------------------------803 C804 100 CONTINUE805 C806 IIND(1)=1807 IIND(2)=2808 C809 C810 C* 1.1 INITIALIZES QUANTITIES811 C ----------------------812 C813 110 CONTINUE814 C815 DO 111 JL = 1, KDLON816 PUD(JL,1,KFLEV+1)=0.817 PUD(JL,2,KFLEV+1)=0.818 PUD(JL,3,KFLEV+1)=0.819 PUD(JL,4,KFLEV+1)=0.820 PUD(JL,5,KFLEV+1)=0.821 PFACT(JL)= PRMU0(JL) * PFRAC(JL) * PSCT822 PRMU(JL)=SQRT(1224.* PRMU0(JL) * PRMU0(JL) + 1.) / 35.823 PSEC(JL)=1./PRMU(JL)824 ZC1J(JL,KFLEV+1)=0.825 111 CONTINUE826 C827 C* 1.3 AMOUNTS OF ABSORBERS828 C --------------------829 C830 130 CONTINUE831 C832 DO 131 JL= 1, KDLON833 ZUD(JL,1) = 0.834 ZUD(JL,2) = 0.835 ZO175(JL) = PPSOL(JL)** (ZPDUMG+1.)836 ZO190(JL) = PPSOL(JL)** (ZPDH2O+1.)837 ZSIGO(JL) = PPSOL(JL)838 ZCLEAR(JL)=1.839 ZCLOUD(JL)=0.840 131 CONTINUE841 C842 DO 133 JK = 1 , KFLEV843 JKP1 = JK + 1844 JKL = KFLEV+1 - JK845 JKLP1 = JKL+1846 DO 132 JL = 1, KDLON847 ZRTH=(RTH2O/PTAVE(JL,JK))**RTDH2O848 ZRTU=(RTUMG/PTAVE(JL,JK))**RTDUMG849 ZWH2O = MAX (PWV(JL,JK) , ZEPSCQ )850 ZSIGN(JL) = 100. * PPMB(JL,JKP1)851 PDSIG(JL,JK) = (ZSIGO(JL) - ZSIGN(JL))/PPSOL(JL)852 ZN175(JL) = ZSIGN(JL) ** (ZPDUMG+1.)853 ZN190(JL) = ZSIGN(JL) ** (ZPDH2O+1.)854 ZDSCO2 = ZO175(JL) - ZN175(JL)855 ZDSH2O = ZO190(JL) - ZN190(JL)856 PUD(JL,1,JK) = 1./( 10.* RG * (ZPDH2O+1.) )/(ZPRH2O**ZPDH2O)857 . * ZDSH2O * ZWH2O * ZRTH858 PUD(JL,2,JK) = 1./( 10.* RG * (ZPDUMG+1.) )/(ZPRUMG**ZPDUMG)859 . * ZDSCO2 * RCO2 * ZRTU860 ZFPPW=1.6078*ZWH2O/(1.+0.608*ZWH2O)861 PUD(JL,4,JK)=PUD(JL,1,JK)*ZFPPW862 PUD(JL,5,JK)=PUD(JL,1,JK)*(1.-ZFPPW)863 ZUD(JL,1) = ZUD(JL,1) + PUD(JL,1,JK)864 ZUD(JL,2) = ZUD(JL,2) + PUD(JL,2,JK)865 ZSIGO(JL) = ZSIGN(JL)866 ZO175(JL) = ZN175(JL)867 ZO190(JL) = ZN190(JL)868 C869 IF (NOVLP.EQ.1) THEN870 ZCLEAR(JL)=ZCLEAR(JL)871 S *(1.-MAX(PCLDSW(JL,JKL),ZCLOUD(JL)))872 S /(1.-MIN(ZCLOUD(JL),1.-ZEPSEC))873 ZC1J(JL,JKL)= 1.0 - ZCLEAR(JL)874 ZCLOUD(JL) = PCLDSW(JL,JKL)875 ELSE IF (NOVLP.EQ.2) THEN876 ZCLOUD(JL) = MAX(PCLDSW(JL,JKL),ZCLOUD(JL))877 ZC1J(JL,JKL) = ZCLOUD(JL)878 ELSE IF (NOVLP.EQ.3) THEN879 ZCLEAR(JL) = ZCLEAR(JL)*(1.-PCLDSW(JL,JKL))880 ZCLOUD(JL) = 1.0 - ZCLEAR(JL)881 ZC1J(JL,JKL) = ZCLOUD(JL)882 END IF883 132 CONTINUE884 133 CONTINUE885 DO 134 JL=1, KDLON886 PCLEAR(JL)=1.-ZC1J(JL,1)887 134 CONTINUE888 DO 136 JK=1,KFLEV889 DO 135 JL=1, KDLON890 IF (PCLEAR(JL).LT.1.) THEN891 PCLD(JL,JK)=PCLDSW(JL,JK)/(1.-PCLEAR(JL))892 ELSE893 PCLD(JL,JK)=0.894 END IF895 135 CONTINUE896 136 CONTINUE897 C898 C899 C* 1.4 COMPUTES CLEAR-SKY GREY ABSORPTION COEFFICIENTS900 C -----------------------------------------------901 C902 140 CONTINUE903 C904 DO 142 JA = 1,2905 DO 141 JL = 1, KDLON906 ZUD(JL,JA) = ZUD(JL,JA) * PSEC(JL)907 141 CONTINUE908 142 CONTINUE909 C910 CALL SWTT1(2, 2, IIND, ZUD, ZR)911 C912 DO 144 JA = 1,2913 DO 143 JL = 1, KDLON914 PAKI(JL,JA) = -LOG( ZR(JL,JA) ) / ZUD(JL,JA)915 143 CONTINUE916 144 CONTINUE917 C918 C919 C ------------------------------------------------------------------920 C921 RETURN922 END923 SUBROUTINE SW1S ( KNU924 S , PAER , flag_aer, tauae, pizae, cgae925 S , PALBD , PALBP, PCG , PCLD , PCLEAR, PCLDSW926 S , PDSIG , POMEGA, POZ , PRMU , PSEC , PTAU , PUD927 S , PFD , PFU)928 USE dimphy929 IMPLICIT none930 cym#include "dimensions.h"931 cym#include "dimphy.h"932 cym#include "raddim.h"933 C934 C ------------------------------------------------------------------935 C PURPOSE.936 C --------937 C938 C THIS ROUTINE COMPUTES THE SHORTWAVE RADIATION FLUXES IN TWO939 C SPECTRAL INTERVALS FOLLOWING FOUQUART AND BONNEL (1980).940 C941 C METHOD.942 C -------943 C944 C 1. COMPUTES UPWARD AND DOWNWARD FLUXES CORRESPONDING TO945 C CONTINUUM SCATTERING946 C 2. MULTIPLY BY OZONE TRANSMISSION FUNCTION947 C948 C REFERENCE.949 C ----------950 C951 C SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT952 C DOCUMENTATION, AND FOUQUART AND BONNEL (1980)953 C954 C AUTHOR.955 C -------956 C JEAN-JACQUES MORCRETTE *ECMWF*957 C958 C MODIFICATIONS.959 C --------------960 C ORIGINAL : 89-07-14961 C 94-11-15 J.-J. MORCRETTE DIRECT/DIFFUSE ALBEDO962 C ------------------------------------------------------------------963 C964 C* ARGUMENTS:965 C966 INTEGER KNU967 c-OB968 real*8 flag_aer969 real*8 tauae(kdlon,kflev,2)970 real*8 pizae(kdlon,kflev,2)971 real*8 cgae(kdlon,kflev,2)972 REAL*8 PAER(KDLON,KFLEV,5)973 REAL*8 PALBD(KDLON,2)974 REAL*8 PALBP(KDLON,2)975 REAL*8 PCG(KDLON,2,KFLEV)976 REAL*8 PCLD(KDLON,KFLEV)977 REAL*8 PCLDSW(KDLON,KFLEV)978 REAL*8 PCLEAR(KDLON)979 REAL*8 PDSIG(KDLON,KFLEV)980 REAL*8 POMEGA(KDLON,2,KFLEV)981 REAL*8 POZ(KDLON,KFLEV)982 REAL*8 PRMU(KDLON)983 REAL*8 PSEC(KDLON)984 REAL*8 PTAU(KDLON,2,KFLEV)985 REAL*8 PUD(KDLON,5,KFLEV+1)986 C987 REAL*8 PFD(KDLON,KFLEV+1)988 REAL*8 PFU(KDLON,KFLEV+1)989 C990 C* LOCAL VARIABLES:991 C992 INTEGER IIND(4)993 C994 REAL*8 ZCGAZ(KDLON,KFLEV)995 REAL*8 ZDIFF(KDLON)996 REAL*8 ZDIRF(KDLON)997 REAL*8 ZPIZAZ(KDLON,KFLEV)998 REAL*8 ZRAYL(KDLON)999 REAL*8 ZRAY1(KDLON,KFLEV+1)1000 REAL*8 ZRAY2(KDLON,KFLEV+1)1001 REAL*8 ZREFZ(KDLON,2,KFLEV+1)1002 REAL*8 ZRJ(KDLON,6,KFLEV+1)1003 REAL*8 ZRJ0(KDLON,6,KFLEV+1)1004 REAL*8 ZRK(KDLON,6,KFLEV+1)1005 REAL*8 ZRK0(KDLON,6,KFLEV+1)1006 REAL*8 ZRMUE(KDLON,KFLEV+1)1007 REAL*8 ZRMU0(KDLON,KFLEV+1)1008 REAL*8 ZR(KDLON,4)1009 REAL*8 ZTAUAZ(KDLON,KFLEV)1010 REAL*8 ZTRA1(KDLON,KFLEV+1)1011 REAL*8 ZTRA2(KDLON,KFLEV+1)1012 REAL*8 ZW(KDLON,4)1013 C1014 INTEGER jl, jk, k, jaj, ikm1, ikl1015 c1016 c Prescribed Data:1017 c1018 REAL*8 RSUN(2)1019 SAVE RSUN1020 c$OMP THREADPRIVATE(RSUN)1021 REAL*8 RRAY(2,6)1022 SAVE RRAY1023 c$OMP THREADPRIVATE(RRAY)1024 DATA RSUN(1) / 0.441676 /1025 DATA RSUN(2) / 0.558324 /1026 DATA (RRAY(1,K),K=1,6) /1027 S .428937E-01, .890743E+00,-.288555E+01,1028 S .522744E+01,-.469173E+01, .161645E+01/1029 DATA (RRAY(2,K),K=1,6) /1030 S .697200E-02, .173297E-01,-.850903E-01,1031 S .248261E+00,-.302031E+00, .129662E+00/1032 C ------------------------------------------------------------------1033 C1034 C* 1. FIRST SPECTRAL INTERVAL (0.25-0.68 MICRON)1035 C ----------------------- ------------------1036 C1037 100 CONTINUE1038 C1039 C1040 C* 1.1 OPTICAL THICKNESS FOR RAYLEIGH SCATTERING1041 C -----------------------------------------1042 C1043 110 CONTINUE1044 C1045 DO 111 JL = 1, KDLON1046 ZRAYL(JL) = RRAY(KNU,1) + PRMU(JL) * (RRAY(KNU,2) + PRMU(JL)1047 S * (RRAY(KNU,3) + PRMU(JL) * (RRAY(KNU,4) + PRMU(JL)1048 S * (RRAY(KNU,5) + PRMU(JL) * RRAY(KNU,6) ))))1049 111 CONTINUE1050 C1051 C1052 C ------------------------------------------------------------------1053 C1054 C* 2. CONTINUUM SCATTERING CALCULATIONS1055 C ---------------------------------1056 C1057 200 CONTINUE1058 C1059 C* 2.1 CLEAR-SKY FRACTION OF THE COLUMN1060 C --------------------------------1061 C1062 210 CONTINUE1063 C1064 CALL SWCLR ( KNU1065 S , PAER , flag_aer, tauae, pizae, cgae1066 S , PALBP , PDSIG , ZRAYL, PSEC1067 S , ZCGAZ , ZPIZAZ, ZRAY1 , ZRAY2, ZREFZ, ZRJ01068 S , ZRK0 , ZRMU0 , ZTAUAZ, ZTRA1, ZTRA2)1069 C1070 C1071 C* 2.2 CLOUDY FRACTION OF THE COLUMN1072 C -----------------------------1073 C1074 220 CONTINUE1075 C1076 CALL SWR ( KNU1077 S , PALBD ,PCG ,PCLD ,PDSIG ,POMEGA,ZRAYL1078 S , PSEC ,PTAU1079 S , ZCGAZ ,ZPIZAZ,ZRAY1 ,ZRAY2 ,ZREFZ ,ZRJ ,ZRK,ZRMUE1080 S , ZTAUAZ,ZTRA1 ,ZTRA2)1081 C1082 C1083 C ------------------------------------------------------------------1084 C1085 C* 3. OZONE ABSORPTION1086 C ----------------1087 C1088 300 CONTINUE1089 C1090 IIND(1)=11091 IIND(2)=31092 IIND(3)=11093 IIND(4)=31094 C1095 C1096 C* 3.1 DOWNWARD FLUXES1097 C ---------------1098 C1099 310 CONTINUE1100 C1101 JAJ = 21102 C1103 DO 311 JL = 1, KDLON1104 ZW(JL,1)=0.1105 ZW(JL,2)=0.1106 ZW(JL,3)=0.1107 ZW(JL,4)=0.1108 PFD(JL,KFLEV+1)=((1.-PCLEAR(JL))*ZRJ(JL,JAJ,KFLEV+1)1109 S + PCLEAR(JL) *ZRJ0(JL,JAJ,KFLEV+1)) * RSUN(KNU)1110 311 CONTINUE1111 DO 314 JK = 1 , KFLEV1112 IKL = KFLEV+1-JK1113 DO 312 JL = 1, KDLON1114 ZW(JL,1)=ZW(JL,1)+PUD(JL,1,IKL)/ZRMUE(JL,IKL)1115 ZW(JL,2)=ZW(JL,2)+POZ(JL, IKL)/ZRMUE(JL,IKL)1116 ZW(JL,3)=ZW(JL,3)+PUD(JL,1,IKL)/ZRMU0(JL,IKL)1117 ZW(JL,4)=ZW(JL,4)+POZ(JL, IKL)/ZRMU0(JL,IKL)1118 312 CONTINUE1119 C1120 CALL SWTT1(KNU, 4, IIND, ZW, ZR)1121 C1122 DO 313 JL = 1, KDLON1123 ZDIFF(JL) = ZR(JL,1)*ZR(JL,2)*ZRJ(JL,JAJ,IKL)1124 ZDIRF(JL) = ZR(JL,3)*ZR(JL,4)*ZRJ0(JL,JAJ,IKL)1125 PFD(JL,IKL) = ((1.-PCLEAR(JL)) * ZDIFF(JL)1126 S +PCLEAR(JL) * ZDIRF(JL)) * RSUN(KNU)1127 313 CONTINUE1128 314 CONTINUE1129 C1130 C1131 C* 3.2 UPWARD FLUXES1132 C -------------1133 C1134 320 CONTINUE1135 C1136 DO 325 JL = 1, KDLON1137 PFU(JL,1) = ((1.-PCLEAR(JL))*ZDIFF(JL)*PALBD(JL,KNU)1138 S + PCLEAR(JL) *ZDIRF(JL)*PALBP(JL,KNU))1139 S * RSUN(KNU)1140 325 CONTINUE1141 C1142 DO 328 JK = 2 , KFLEV+11143 IKM1=JK-11144 DO 326 JL = 1, KDLON1145 ZW(JL,1)=ZW(JL,1)+PUD(JL,1,IKM1)*1.661146 ZW(JL,2)=ZW(JL,2)+POZ(JL, IKM1)*1.661147 ZW(JL,3)=ZW(JL,3)+PUD(JL,1,IKM1)*1.661148 ZW(JL,4)=ZW(JL,4)+POZ(JL, IKM1)*1.661149 326 CONTINUE1150 C1151 CALL SWTT1(KNU, 4, IIND, ZW, ZR)1152 C1153 DO 327 JL = 1, KDLON1154 ZDIFF(JL) = ZR(JL,1)*ZR(JL,2)*ZRK(JL,JAJ,JK)1155 ZDIRF(JL) = ZR(JL,3)*ZR(JL,4)*ZRK0(JL,JAJ,JK)1156 PFU(JL,JK) = ((1.-PCLEAR(JL)) * ZDIFF(JL)1157 S +PCLEAR(JL) * ZDIRF(JL)) * RSUN(KNU)1158 327 CONTINUE1159 328 CONTINUE1160 C1161 C ------------------------------------------------------------------1162 C1163 RETURN1164 END1165 SUBROUTINE SW2S ( KNU1166 S , PAER , flag_aer, tauae, pizae, cgae1167 S , PAKI, PALBD, PALBP, PCG , PCLD, PCLEAR, PCLDSW1168 S , PDSIG ,POMEGA,POZ , PRMU , PSEC , PTAU1169 S , PUD ,PWV , PQS1170 S , PFDOWN,PFUP )1171 USE dimphy1172 IMPLICIT none1173 cym#include "dimensions.h"1174 cym#include "dimphy.h"1175 cym#include "raddim.h"1176 #include "radepsi.h"1177 C1178 C ------------------------------------------------------------------1179 C PURPOSE.1180 C --------1181 C1182 C THIS ROUTINE COMPUTES THE SHORTWAVE RADIATION FLUXES IN THE1183 C SECOND SPECTRAL INTERVAL FOLLOWING FOUQUART AND BONNEL (1980).1184 C1185 C METHOD.1186 C -------1187 C1188 C 1. COMPUTES REFLECTIVITY/TRANSMISSIVITY CORRESPONDING TO1189 C CONTINUUM SCATTERING1190 C 2. COMPUTES REFLECTIVITY/TRANSMISSIVITY CORRESPONDING FOR1191 C A GREY MOLECULAR ABSORPTION1192 C 3. LAPLACE TRANSFORM ON THE PREVIOUS TO GET EFFECTIVE AMOUNTS1193 C OF ABSORBERS1194 C 4. APPLY H2O AND U.M.G. TRANSMISSION FUNCTIONS1195 C 5. MULTIPLY BY OZONE TRANSMISSION FUNCTION1196 C1197 C REFERENCE.1198 C ----------1199 C1200 C SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT1201 C DOCUMENTATION, AND FOUQUART AND BONNEL (1980)1202 C1203 C AUTHOR.1204 C -------1205 C JEAN-JACQUES MORCRETTE *ECMWF*1206 C1207 C MODIFICATIONS.1208 C --------------1209 C ORIGINAL : 89-07-141210 C 94-11-15 J.-J. MORCRETTE DIRECT/DIFFUSE ALBEDO1211 C ------------------------------------------------------------------1212 C* ARGUMENTS:1213 C1214 INTEGER KNU1215 c-OB1216 real*8 flag_aer1217 real*8 tauae(kdlon,kflev,2)1218 real*8 pizae(kdlon,kflev,2)1219 real*8 cgae(kdlon,kflev,2)1220 REAL*8 PAER(KDLON,KFLEV,5)1221 REAL*8 PAKI(KDLON,2)1222 REAL*8 PALBD(KDLON,2)1223 REAL*8 PALBP(KDLON,2)1224 REAL*8 PCG(KDLON,2,KFLEV)1225 REAL*8 PCLD(KDLON,KFLEV)1226 REAL*8 PCLDSW(KDLON,KFLEV)1227 REAL*8 PCLEAR(KDLON)1228 REAL*8 PDSIG(KDLON,KFLEV)1229 REAL*8 POMEGA(KDLON,2,KFLEV)1230 REAL*8 POZ(KDLON,KFLEV)1231 REAL*8 PQS(KDLON,KFLEV)1232 REAL*8 PRMU(KDLON)1233 REAL*8 PSEC(KDLON)1234 REAL*8 PTAU(KDLON,2,KFLEV)1235 REAL*8 PUD(KDLON,5,KFLEV+1)1236 REAL*8 PWV(KDLON,KFLEV)1237 C1238 REAL*8 PFDOWN(KDLON,KFLEV+1)1239 REAL*8 PFUP(KDLON,KFLEV+1)1240 C1241 C* LOCAL VARIABLES:1242 C1243 INTEGER IIND2(2), IIND3(3)1244 REAL*8 ZCGAZ(KDLON,KFLEV)1245 REAL*8 ZFD(KDLON,KFLEV+1)1246 REAL*8 ZFU(KDLON,KFLEV+1)1247 REAL*8 ZG(KDLON)1248 REAL*8 ZGG(KDLON)1249 REAL*8 ZPIZAZ(KDLON,KFLEV)1250 REAL*8 ZRAYL(KDLON)1251 REAL*8 ZRAY1(KDLON,KFLEV+1)1252 REAL*8 ZRAY2(KDLON,KFLEV+1)1253 REAL*8 ZREF(KDLON)1254 REAL*8 ZREFZ(KDLON,2,KFLEV+1)1255 REAL*8 ZRE1(KDLON)1256 REAL*8 ZRE2(KDLON)1257 REAL*8 ZRJ(KDLON,6,KFLEV+1)1258 REAL*8 ZRJ0(KDLON,6,KFLEV+1)1259 REAL*8 ZRK(KDLON,6,KFLEV+1)1260 REAL*8 ZRK0(KDLON,6,KFLEV+1)1261 REAL*8 ZRL(KDLON,8)1262 REAL*8 ZRMUE(KDLON,KFLEV+1)1263 REAL*8 ZRMU0(KDLON,KFLEV+1)1264 REAL*8 ZRMUZ(KDLON)1265 REAL*8 ZRNEB(KDLON)1266 REAL*8 ZRUEF(KDLON,8)1267 REAL*8 ZR1(KDLON)1268 REAL*8 ZR2(KDLON,2)1269 REAL*8 ZR3(KDLON,3)1270 REAL*8 ZR4(KDLON)1271 REAL*8 ZR21(KDLON)1272 REAL*8 ZR22(KDLON)1273 REAL*8 ZS(KDLON)1274 REAL*8 ZTAUAZ(KDLON,KFLEV)1275 REAL*8 ZTO1(KDLON)1276 REAL*8 ZTR(KDLON,2,KFLEV+1)1277 REAL*8 ZTRA1(KDLON,KFLEV+1)1278 REAL*8 ZTRA2(KDLON,KFLEV+1)1279 REAL*8 ZTR1(KDLON)1280 REAL*8 ZTR2(KDLON)1281 REAL*8 ZW(KDLON)1282 REAL*8 ZW1(KDLON)1283 REAL*8 ZW2(KDLON,2)1284 REAL*8 ZW3(KDLON,3)1285 REAL*8 ZW4(KDLON)1286 REAL*8 ZW5(KDLON)1287 C1288 INTEGER jl, jk, k, jaj, ikm1, ikl, jn, jabs, jkm11289 INTEGER jref, jkl, jklp1, jajp, jkki, jkkp4, jn2j, iabs1290 REAL*8 ZRMUM1, ZWH2O, ZCNEB, ZAA, ZBB, ZRKI, ZRE111291 C1292 C* Prescribed Data:1293 C1294 REAL*8 RSUN(2)1295 SAVE RSUN1296 c$OMP THREADPRIVATE(RSUN)1297 REAL*8 RRAY(2,6)1298 SAVE RRAY1299 c$OMP THREADPRIVATE(RRAY)1300 DATA RSUN(1) / 0.441676 /1301 DATA RSUN(2) / 0.558324 /1302 DATA (RRAY(1,K),K=1,6) /1303 S .428937E-01, .890743E+00,-.288555E+01,1304 S .522744E+01,-.469173E+01, .161645E+01/1305 DATA (RRAY(2,K),K=1,6) /1306 S .697200E-02, .173297E-01,-.850903E-01,1307 S .248261E+00,-.302031E+00, .129662E+00/1308 C1309 C ------------------------------------------------------------------1310 C1311 C* 1. SECOND SPECTRAL INTERVAL (0.68-4.00 MICRON)1312 C -------------------------------------------1313 C1314 100 CONTINUE1315 C1316 C1317 C* 1.1 OPTICAL THICKNESS FOR RAYLEIGH SCATTERING1318 C -----------------------------------------1319 C1320 110 CONTINUE1321 C1322 DO 111 JL = 1, KDLON1323 ZRMUM1 = 1. - PRMU(JL)1324 ZRAYL(JL) = RRAY(KNU,1) + ZRMUM1 * (RRAY(KNU,2) + ZRMUM11325 S * (RRAY(KNU,3) + ZRMUM1 * (RRAY(KNU,4) + ZRMUM11326 S * (RRAY(KNU,5) + ZRMUM1 * RRAY(KNU,6) ))))1327 111 CONTINUE1328 C1329 C1330 C ------------------------------------------------------------------1331 C1332 C* 2. CONTINUUM SCATTERING CALCULATIONS1333 C ---------------------------------1334 C1335 200 CONTINUE1336 C1337 C* 2.1 CLEAR-SKY FRACTION OF THE COLUMN1338 C --------------------------------1339 C1340 210 CONTINUE1341 C1342 CALL SWCLR ( KNU1343 S , PAER , flag_aer, tauae, pizae, cgae1344 S , PALBP , PDSIG , ZRAYL, PSEC1345 S , ZCGAZ , ZPIZAZ, ZRAY1 , ZRAY2, ZREFZ, ZRJ01346 S , ZRK0 , ZRMU0 , ZTAUAZ, ZTRA1, ZTRA2)1347 C1348 C1349 C* 2.2 CLOUDY FRACTION OF THE COLUMN1350 C -----------------------------1351 C1352 220 CONTINUE1353 C1354 CALL SWR ( KNU1355 S , PALBD , PCG , PCLD , PDSIG, POMEGA, ZRAYL1356 S , PSEC , PTAU1357 S , ZCGAZ , ZPIZAZ, ZRAY1, ZRAY2, ZREFZ , ZRJ , ZRK, ZRMUE1358 S , ZTAUAZ, ZTRA1 , ZTRA2)1359 C1360 C1361 C ------------------------------------------------------------------1362 C1363 C* 3. SCATTERING CALCULATIONS WITH GREY MOLECULAR ABSORPTION1364 C ------------------------------------------------------1365 C1366 300 CONTINUE1367 C1368 JN = 21369 C1370 DO 361 JABS=1,21371 C1372 C1373 C* 3.1 SURFACE CONDITIONS1374 C ------------------1375 C1376 310 CONTINUE1377 C1378 DO 311 JL = 1, KDLON1379 ZREFZ(JL,2,1) = PALBD(JL,KNU)1380 ZREFZ(JL,1,1) = PALBD(JL,KNU)1381 311 CONTINUE1382 C1383 C1384 C* 3.2 INTRODUCING CLOUD EFFECTS1385 C -------------------------1386 C1387 320 CONTINUE1388 C1389 DO 324 JK = 2 , KFLEV+11390 JKM1 = JK - 11391 IKL=KFLEV+1-JKM11392 DO 322 JL = 1, KDLON1393 ZRNEB(JL) = PCLD(JL,JKM1)1394 IF (JABS.EQ.1 .AND. ZRNEB(JL).GT.2.*ZEELOG) THEN1395 ZWH2O=MAX(PWV(JL,JKM1),ZEELOG)1396 ZCNEB=MAX(ZEELOG,MIN(ZRNEB(JL),1.-ZEELOG))1397 ZBB=PUD(JL,JABS,JKM1)*PQS(JL,JKM1)/ZWH2O1398 ZAA=MAX((PUD(JL,JABS,JKM1)-ZCNEB*ZBB)/(1.-ZCNEB),ZEELOG)1399 ELSE1400 ZAA=PUD(JL,JABS,JKM1)1401 ZBB=ZAA1402 END IF1403 ZRKI = PAKI(JL,JABS)1404 ZS(JL) = EXP(-ZRKI * ZAA * 1.66)1405 ZG(JL) = EXP(-ZRKI * ZAA / ZRMUE(JL,JK))1406 ZTR1(JL) = 0.1407 ZRE1(JL) = 0.1408 ZTR2(JL) = 0.1409 ZRE2(JL) = 0.1410 C1411 ZW(JL)= POMEGA(JL,KNU,JKM1)1412 ZTO1(JL) = PTAU(JL,KNU,JKM1) / ZW(JL)1413 S + ZTAUAZ(JL,JKM1) / ZPIZAZ(JL,JKM1)1414 S + ZBB * ZRKI1415 1416 ZR21(JL) = PTAU(JL,KNU,JKM1) + ZTAUAZ(JL,JKM1)1417 ZR22(JL) = PTAU(JL,KNU,JKM1) / ZR21(JL)1418 ZGG(JL) = ZR22(JL) * PCG(JL,KNU,JKM1)1419 S + (1. - ZR22(JL)) * ZCGAZ(JL,JKM1)1420 ZW(JL) = ZR21(JL) / ZTO1(JL)1421 ZREF(JL) = ZREFZ(JL,1,JKM1)1422 ZRMUZ(JL) = ZRMUE(JL,JK)1423 322 CONTINUE1424 C1425 CALL SWDE(ZGG, ZREF, ZRMUZ, ZTO1, ZW,1426 S ZRE1, ZRE2, ZTR1, ZTR2)1427 C1428 DO 323 JL = 1, KDLON1429 C1430 ZREFZ(JL,2,JK) = (1.-ZRNEB(JL)) * (ZRAY1(JL,JKM1)1431 S + ZREFZ(JL,2,JKM1) * ZTRA1(JL,JKM1)1432 S * ZTRA2(JL,JKM1) ) * ZG(JL) * ZS(JL)1433 S + ZRNEB(JL) * ZRE1(JL)1434 C1435 ZTR(JL,2,JKM1)=ZRNEB(JL)*ZTR1(JL)1436 S + (ZTRA1(JL,JKM1)) * ZG(JL) * (1.-ZRNEB(JL))1437 C1438 ZREFZ(JL,1,JK)=(1.-ZRNEB(JL))*(ZRAY1(JL,JKM1)1439 S +ZREFZ(JL,1,JKM1)*ZTRA1(JL,JKM1)*ZTRA2(JL,JKM1)1440 S /(1.-ZRAY2(JL,JKM1)*ZREFZ(JL,1,JKM1)))*ZG(JL)*ZS(JL)1441 S + ZRNEB(JL) * ZRE2(JL)1442 C1443 ZTR(JL,1,JKM1)= ZRNEB(JL) * ZTR2(JL)1444 S + (ZTRA1(JL,JKM1)/(1.-ZRAY2(JL,JKM1)1445 S * ZREFZ(JL,1,JKM1)))1446 S * ZG(JL) * (1. -ZRNEB(JL))1447 C1448 323 CONTINUE1449 324 CONTINUE1450 C1451 C* 3.3 REFLECT./TRANSMISSIVITY BETWEEN SURFACE AND LEVEL1452 C -------------------------------------------------1453 C1454 330 CONTINUE1455 C1456 DO 351 JREF=1,21457 C1458 JN = JN + 11459 C1460 DO 331 JL = 1, KDLON1461 ZRJ(JL,JN,KFLEV+1) = 1.1462 ZRK(JL,JN,KFLEV+1) = ZREFZ(JL,JREF,KFLEV+1)1463 331 CONTINUE1464 C1465 DO 333 JK = 1 , KFLEV1466 JKL = KFLEV+1 - JK1467 JKLP1 = JKL + 11468 DO 332 JL = 1, KDLON1469 ZRE11 = ZRJ(JL,JN,JKLP1) * ZTR(JL,JREF,JKL)1470 ZRJ(JL,JN,JKL) = ZRE111471 ZRK(JL,JN,JKL) = ZRE11 * ZREFZ(JL,JREF,JKL)1472 332 CONTINUE1473 333 CONTINUE1474 351 CONTINUE1475 361 CONTINUE1476 C1477 C1478 C ------------------------------------------------------------------1479 C1480 C* 4. INVERT GREY AND CONTINUUM FLUXES1481 C --------------------------------1482 C1483 400 CONTINUE1484 C1485 C1486 C* 4.1 UPWARD (ZRK) AND DOWNWARD (ZRJ) PSEUDO-FLUXES1487 C ---------------------------------------------1488 C1489 410 CONTINUE1490 C1491 DO 414 JK = 1 , KFLEV+11492 DO 413 JAJ = 1 , 5 , 21493 JAJP = JAJ + 11494 DO 412 JL = 1, KDLON1495 ZRJ(JL,JAJ,JK)= ZRJ(JL,JAJ,JK) - ZRJ(JL,JAJP,JK)1496 ZRK(JL,JAJ,JK)= ZRK(JL,JAJ,JK) - ZRK(JL,JAJP,JK)1497 ZRJ(JL,JAJ,JK)= MAX( ZRJ(JL,JAJ,JK) , ZEELOG )1498 ZRK(JL,JAJ,JK)= MAX( ZRK(JL,JAJ,JK) , ZEELOG )1499 412 CONTINUE1500 413 CONTINUE1501 414 CONTINUE1502 C1503 DO 417 JK = 1 , KFLEV+11504 DO 416 JAJ = 2 , 6 , 21505 DO 415 JL = 1, KDLON1506 ZRJ(JL,JAJ,JK)= MAX( ZRJ(JL,JAJ,JK) , ZEELOG )1507 ZRK(JL,JAJ,JK)= MAX( ZRK(JL,JAJ,JK) , ZEELOG )1508 415 CONTINUE1509 416 CONTINUE1510 417 CONTINUE1511 C1512 C* 4.2 EFFECTIVE ABSORBER AMOUNTS BY INVERSE LAPLACE1513 C ---------------------------------------------1514 C1515 420 CONTINUE1516 C1517 DO 437 JK = 1 , KFLEV+11518 JKKI = 11519 DO 425 JAJ = 1 , 21520 IIND2(1)=JAJ1521 IIND2(2)=JAJ1522 DO 424 JN = 1 , 21523 JN2J = JN + 2 * JAJ1524 JKKP4 = JKKI + 41525 C1526 C* 4.2.1 EFFECTIVE ABSORBER AMOUNTS1527 C --------------------------1528 C1529 4210 CONTINUE1530 C1531 DO 4211 JL = 1, KDLON1532 ZW2(JL,1) = LOG( ZRJ(JL,JN,JK) / ZRJ(JL,JN2J,JK))1533 S / PAKI(JL,JAJ)1534 ZW2(JL,2) = LOG( ZRK(JL,JN,JK) / ZRK(JL,JN2J,JK))1535 S / PAKI(JL,JAJ)1536 4211 CONTINUE1537 C1538 C* 4.2.2 TRANSMISSION FUNCTION1539 C ---------------------1540 C1541 4220 CONTINUE1542 C1543 CALL SWTT1(KNU, 2, IIND2, ZW2, ZR2)1544 C1545 DO 4221 JL = 1, KDLON1546 ZRL(JL,JKKI) = ZR2(JL,1)1547 ZRUEF(JL,JKKI) = ZW2(JL,1)1548 ZRL(JL,JKKP4) = ZR2(JL,2)1549 ZRUEF(JL,JKKP4) = ZW2(JL,2)1550 4221 CONTINUE1551 C1552 JKKI=JKKI+11553 424 CONTINUE1554 425 CONTINUE1555 C1556 C* 4.3 UPWARD AND DOWNWARD FLUXES WITH H2O AND UMG ABSORPTION1557 C ------------------------------------------------------1558 C1559 430 CONTINUE1560 C1561 DO 431 JL = 1, KDLON1562 PFDOWN(JL,JK) = ZRJ(JL,1,JK) * ZRL(JL,1) * ZRL(JL,3)1563 S + ZRJ(JL,2,JK) * ZRL(JL,2) * ZRL(JL,4)1564 PFUP(JL,JK) = ZRK(JL,1,JK) * ZRL(JL,5) * ZRL(JL,7)1565 S + ZRK(JL,2,JK) * ZRL(JL,6) * ZRL(JL,8)1566 431 CONTINUE1567 437 CONTINUE1568 C1569 C1570 C ------------------------------------------------------------------1571 C1572 C* 5. MOLECULAR ABSORPTION ON CLEAR-SKY FLUXES1573 C ----------------------------------------1574 C1575 500 CONTINUE1576 C1577 C1578 C* 5.1 DOWNWARD FLUXES1579 C ---------------1580 C1581 510 CONTINUE1582 C1583 JAJ = 21584 IIND3(1)=11585 IIND3(2)=21586 IIND3(3)=31587 C1588 DO 511 JL = 1, KDLON1589 ZW3(JL,1)=0.1590 ZW3(JL,2)=0.1591 ZW3(JL,3)=0.1592 ZW4(JL) =0.1593 ZW5(JL) =0.1594 ZR4(JL) =1.1595 ZFD(JL,KFLEV+1)= ZRJ0(JL,JAJ,KFLEV+1)1596 511 CONTINUE1597 DO 514 JK = 1 , KFLEV1598 IKL = KFLEV+1-JK1599 DO 512 JL = 1, KDLON1600 ZW3(JL,1)=ZW3(JL,1)+PUD(JL,1,IKL)/ZRMU0(JL,IKL)1601 ZW3(JL,2)=ZW3(JL,2)+PUD(JL,2,IKL)/ZRMU0(JL,IKL)1602 ZW3(JL,3)=ZW3(JL,3)+POZ(JL, IKL)/ZRMU0(JL,IKL)1603 ZW4(JL) =ZW4(JL) +PUD(JL,4,IKL)/ZRMU0(JL,IKL)1604 ZW5(JL) =ZW5(JL) +PUD(JL,5,IKL)/ZRMU0(JL,IKL)1605 512 CONTINUE1606 C1607 CALL SWTT1(KNU, 3, IIND3, ZW3, ZR3)1608 C1609 DO 513 JL = 1, KDLON1610 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))1611 ZFD(JL,IKL) = ZR3(JL,1)*ZR3(JL,2)*ZR3(JL,3)*ZR4(JL)1612 S * ZRJ0(JL,JAJ,IKL)1613 513 CONTINUE1614 514 CONTINUE1615 C1616 C1617 C* 5.2 UPWARD FLUXES1618 C -------------1619 C1620 520 CONTINUE1621 C1622 DO 525 JL = 1, KDLON1623 ZFU(JL,1) = ZFD(JL,1)*PALBP(JL,KNU)1624 525 CONTINUE1625 C1626 DO 528 JK = 2 , KFLEV+11627 IKM1=JK-11628 DO 526 JL = 1, KDLON1629 ZW3(JL,1)=ZW3(JL,1)+PUD(JL,1,IKM1)*1.661630 ZW3(JL,2)=ZW3(JL,2)+PUD(JL,2,IKM1)*1.661631 ZW3(JL,3)=ZW3(JL,3)+POZ(JL, IKM1)*1.661632 ZW4(JL) =ZW4(JL) +PUD(JL,4,IKM1)*1.661633 ZW5(JL) =ZW5(JL) +PUD(JL,5,IKM1)*1.661634 526 CONTINUE1635 C1636 CALL SWTT1(KNU, 3, IIND3, ZW3, ZR3)1637 C1638 DO 527 JL = 1, KDLON1639 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))1640 ZFU(JL,JK) = ZR3(JL,1)*ZR3(JL,2)*ZR3(JL,3)*ZR4(JL)1641 S * ZRK0(JL,JAJ,JK)1642 527 CONTINUE1643 528 CONTINUE1644 C1645 C1646 C ------------------------------------------------------------------1647 C1648 C* 6. INTRODUCTION OF OZONE AND H2O CONTINUUM ABSORPTION1649 C --------------------------------------------------1650 C1651 600 CONTINUE1652 IABS=31653 C1654 C* 6.1 DOWNWARD FLUXES1655 C ---------------1656 C1657 610 CONTINUE1658 DO 611 JL = 1, KDLON1659 ZW1(JL)=0.1660 ZW4(JL)=0.1661 ZW5(JL)=0.1662 ZR1(JL)=0.1663 PFDOWN(JL,KFLEV+1) = ((1.-PCLEAR(JL))*PFDOWN(JL,KFLEV+1)1664 S + PCLEAR(JL) * ZFD(JL,KFLEV+1)) * RSUN(KNU)1665 611 CONTINUE1666 C1667 DO 614 JK = 1 , KFLEV1668 IKL=KFLEV+1-JK1669 DO 612 JL = 1, KDLON1670 ZW1(JL) = ZW1(JL)+POZ(JL, IKL)/ZRMUE(JL,IKL)1671 ZW4(JL) = ZW4(JL)+PUD(JL,4,IKL)/ZRMUE(JL,IKL)1672 ZW5(JL) = ZW5(JL)+PUD(JL,5,IKL)/ZRMUE(JL,IKL)1673 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))1674 612 CONTINUE1675 C1676 CALL SWTT(KNU, IABS, ZW1, ZR1)1677 C1678 DO 613 JL = 1, KDLON1679 PFDOWN(JL,IKL) = ((1.-PCLEAR(JL))*ZR1(JL)*ZR4(JL)*PFDOWN(JL,IKL)1680 S +PCLEAR(JL)*ZFD(JL,IKL)) * RSUN(KNU)1681 613 CONTINUE1682 614 CONTINUE1683 C1684 C1685 C* 6.2 UPWARD FLUXES1686 C -------------1687 C1688 620 CONTINUE1689 DO 621 JL = 1, KDLON1690 PFUP(JL,1) = ((1.-PCLEAR(JL))*ZR1(JL)*ZR4(JL) * PFUP(JL,1)1691 S +PCLEAR(JL)*ZFU(JL,1)) * RSUN(KNU)1692 621 CONTINUE1693 C1694 DO 624 JK = 2 , KFLEV+11695 IKM1=JK-11696 DO 622 JL = 1, KDLON1697 ZW1(JL) = ZW1(JL)+POZ(JL ,IKM1)*1.661698 ZW4(JL) = ZW4(JL)+PUD(JL,4,IKM1)*1.661699 ZW5(JL) = ZW5(JL)+PUD(JL,5,IKM1)*1.661700 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))1701 622 CONTINUE1702 C1703 CALL SWTT(KNU, IABS, ZW1, ZR1)1704 C1705 DO 623 JL = 1, KDLON1706 PFUP(JL,JK) = ((1.-PCLEAR(JL))*ZR1(JL)*ZR4(JL) * PFUP(JL,JK)1707 S +PCLEAR(JL)*ZFU(JL,JK)) * RSUN(KNU)1708 623 CONTINUE1709 624 CONTINUE1710 C1711 C ------------------------------------------------------------------1712 C1713 RETURN1714 END1715 SUBROUTINE SWCLR ( KNU1716 S , PAER , flag_aer, tauae, pizae, cgae1717 S , PALBP , PDSIG , PRAYL , PSEC1718 S , PCGAZ , PPIZAZ, PRAY1 , PRAY2 , PREFZ , PRJ1719 S , PRK , PRMU0 , PTAUAZ, PTRA1 , PTRA2 )1720 USE dimphy1721 IMPLICIT none1722 cym#include "dimensions.h"1723 cym#include "dimphy.h"1724 cym#include "raddim.h"1725 #include "radepsi.h"1726 #include "radopt.h"1727 C1728 C ------------------------------------------------------------------1729 C PURPOSE.1730 C --------1731 C COMPUTES THE REFLECTIVITY AND TRANSMISSIVITY IN CASE OF1732 C CLEAR-SKY COLUMN1733 C1734 C REFERENCE.1735 C ----------1736 C1737 C SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT1738 C DOCUMENTATION, AND FOUQUART AND BONNEL (1980)1739 C1740 C AUTHOR.1741 C -------1742 C JEAN-JACQUES MORCRETTE *ECMWF*1743 C1744 C MODIFICATIONS.1745 C --------------1746 C ORIGINAL : 94-11-151747 C ------------------------------------------------------------------1748 C* ARGUMENTS:1749 C1750 INTEGER KNU1751 c-OB1752 real*8 flag_aer1753 real*8 tauae(kdlon,kflev,2)1754 real*8 pizae(kdlon,kflev,2)1755 real*8 cgae(kdlon,kflev,2)1756 REAL*8 PAER(KDLON,KFLEV,5)1757 REAL*8 PALBP(KDLON,2)1758 REAL*8 PDSIG(KDLON,KFLEV)1759 REAL*8 PRAYL(KDLON)1760 REAL*8 PSEC(KDLON)1761 C1762 REAL*8 PCGAZ(KDLON,KFLEV)1763 REAL*8 PPIZAZ(KDLON,KFLEV)1764 REAL*8 PRAY1(KDLON,KFLEV+1)1765 REAL*8 PRAY2(KDLON,KFLEV+1)1766 REAL*8 PREFZ(KDLON,2,KFLEV+1)1767 REAL*8 PRJ(KDLON,6,KFLEV+1)1768 REAL*8 PRK(KDLON,6,KFLEV+1)1769 REAL*8 PRMU0(KDLON,KFLEV+1)1770 REAL*8 PTAUAZ(KDLON,KFLEV)1771 REAL*8 PTRA1(KDLON,KFLEV+1)1772 REAL*8 PTRA2(KDLON,KFLEV+1)1773 C1774 C* LOCAL VARIABLES:1775 C1776 REAL*8 ZC0I(KDLON,KFLEV+1)1777 REAL*8 ZCLE0(KDLON,KFLEV)1778 REAL*8 ZCLEAR(KDLON)1779 REAL*8 ZR21(KDLON)1780 REAL*8 ZR23(KDLON)1781 REAL*8 ZSS0(KDLON)1782 REAL*8 ZSCAT(KDLON)1783 REAL*8 ZTR(KDLON,2,KFLEV+1)1784 C1785 INTEGER jl, jk, ja, jae, jkl, jklp1, jaj, jkm1, in1786 REAL*8 ZTRAY, ZGAR, ZRATIO, ZFF, ZFACOA, ZCORAE1787 REAL*8 ZMUE, ZGAP, ZWW, ZTO, ZDEN, ZMU1, ZDEN11788 REAL*8 ZBMU0, ZBMU1, ZRE111789 C1790 C* Prescribed Data for Aerosols:1791 C1792 REAL*8 TAUA(2,5), RPIZA(2,5), RCGA(2,5)1793 SAVE TAUA, RPIZA, RCGA1794 c$OMP THREADPRIVATE(TAUA, RPIZA, RCGA)1795 DATA ((TAUA(IN,JA),JA=1,5),IN=1,2) /1796 S .730719, .912819, .725059, .745405, .682188 ,1797 S .730719, .912819, .725059, .745405, .682188 /1798 DATA ((RPIZA(IN,JA),JA=1,5),IN=1,2) /1799 S .872212, .982545, .623143, .944887, .997975 ,1800 S .872212, .982545, .623143, .944887, .997975 /1801 DATA ((RCGA (IN,JA),JA=1,5),IN=1,2) /1802 S .647596, .739002, .580845, .662657, .624246 ,1803 S .647596, .739002, .580845, .662657, .624246 /1804 C ------------------------------------------------------------------1805 C1806 C* 1. OPTICAL PARAMETERS FOR AEROSOLS AND RAYLEIGH1807 C --------------------------------------------1808 C1809 100 CONTINUE1810 C1811 DO 103 JK = 1 , KFLEV+11812 DO 102 JA = 1 , 61813 DO 101 JL = 1, KDLON1814 PRJ(JL,JA,JK) = 0.1815 PRK(JL,JA,JK) = 0.1816 101 CONTINUE1817 102 CONTINUE1818 103 CONTINUE1819 C1820 DO 108 JK = 1 , KFLEV1821 c-OB1822 c DO 104 JL = 1, KDLON1823 c PCGAZ(JL,JK) = 0.1824 c PPIZAZ(JL,JK) = 0.1825 c PTAUAZ(JL,JK) = 0.1826 c 104 CONTINUE1827 c-OB1828 c DO 106 JAE=1,51829 c DO 105 JL = 1, KDLON1830 c PTAUAZ(JL,JK)=PTAUAZ(JL,JK)1831 c S +PAER(JL,JK,JAE)*TAUA(KNU,JAE)1832 c PPIZAZ(JL,JK)=PPIZAZ(JL,JK)+PAER(JL,JK,JAE)1833 c S * TAUA(KNU,JAE)*RPIZA(KNU,JAE)1834 c PCGAZ(JL,JK) = PCGAZ(JL,JK) +PAER(JL,JK,JAE)1835 c S * TAUA(KNU,JAE)*RPIZA(KNU,JAE)*RCGA(KNU,JAE)1836 c 105 CONTINUE1837 c 106 CONTINUE1838 c-OB1839 DO 105 JL = 1, KDLON1840 PTAUAZ(JL,JK)=flag_aer * tauae(JL,JK,KNU)1841 PPIZAZ(JL,JK)=flag_aer * pizae(JL,JK,KNU)1842 PCGAZ (JL,JK)=flag_aer * cgae(JL,JK,KNU)1843 105 CONTINUE1844 C1845 IF (flag_aer.GT.0) THEN1846 c-OB1847 DO 107 JL = 1, KDLON1848 c PCGAZ(JL,JK)=PCGAZ(JL,JK)/PPIZAZ(JL,JK)1849 c PPIZAZ(JL,JK)=PPIZAZ(JL,JK)/PTAUAZ(JL,JK)1850 ZTRAY = PRAYL(JL) * PDSIG(JL,JK)1851 ZRATIO = ZTRAY / (ZTRAY + PTAUAZ(JL,JK))1852 ZGAR = PCGAZ(JL,JK)1853 ZFF = ZGAR * ZGAR1854 PTAUAZ(JL,JK)=ZTRAY+PTAUAZ(JL,JK)*(1.-PPIZAZ(JL,JK)*ZFF)1855 PCGAZ(JL,JK) = ZGAR * (1. - ZRATIO) / (1. + ZGAR)1856 PPIZAZ(JL,JK) =ZRATIO+(1.-ZRATIO)*PPIZAZ(JL,JK)*(1.-ZFF)1857 S / (1. - PPIZAZ(JL,JK) * ZFF)1858 107 CONTINUE1859 ELSE1860 DO JL = 1, KDLON1861 ZTRAY = PRAYL(JL) * PDSIG(JL,JK)1862 PTAUAZ(JL,JK) = ZTRAY1863 PCGAZ(JL,JK) = 0.1864 PPIZAZ(JL,JK) = 1.-REPSCT1865 END DO1866 END IF ! check flag_aer1867 c 107 CONTINUE1868 c PRINT 9107,JK,((PAER(JL,JK,JAE),JAE=1,5)1869 c $ ,PTAUAZ(JL,JK),PPIZAZ(JL,JK),PCGAZ(JL,JK),JL=1,KDLON)1870 c 9107 FORMAT(1X,'SWCLR_107',I3,8E12.5)1871 C1872 108 CONTINUE1873 C1874 C ------------------------------------------------------------------1875 C1876 C* 2. TOTAL EFFECTIVE CLOUDINESS ABOVE A GIVEN LEVEL1877 C ----------------------------------------------1878 C1879 200 CONTINUE1880 C1881 DO 201 JL = 1, KDLON1882 ZR23(JL) = 0.1883 ZC0I(JL,KFLEV+1) = 0.1884 ZCLEAR(JL) = 1.1885 ZSCAT(JL) = 0.1886 201 CONTINUE1887 C1888 JK = 11889 JKL = KFLEV+1 - JK1890 JKLP1 = JKL + 11891 DO 202 JL = 1, KDLON1892 ZFACOA = 1. - PPIZAZ(JL,JKL)*PCGAZ(JL,JKL)*PCGAZ(JL,JKL)1893 ZCORAE = ZFACOA * PTAUAZ(JL,JKL) * PSEC(JL)1894 ZR21(JL) = EXP(-ZCORAE )1895 ZSS0(JL) = 1.-ZR21(JL)1896 ZCLE0(JL,JKL) = ZSS0(JL)1897 C1898 IF (NOVLP.EQ.1) THEN1899 c* maximum-random1900 ZCLEAR(JL) = ZCLEAR(JL)1901 S *(1.0-MAX(ZSS0(JL),ZSCAT(JL)))1902 S /(1.0-MIN(ZSCAT(JL),1.-ZEPSEC))1903 ZC0I(JL,JKL) = 1.0 - ZCLEAR(JL)1904 ZSCAT(JL) = ZSS0(JL)1905 ELSE IF (NOVLP.EQ.2) THEN1906 C* maximum1907 ZSCAT(JL) = MAX( ZSS0(JL) , ZSCAT(JL) )1908 ZC0I(JL,JKL) = ZSCAT(JL)1909 ELSE IF (NOVLP.EQ.3) THEN1910 c* random1911 ZCLEAR(JL)=ZCLEAR(JL)*(1.0-ZSS0(JL))1912 ZSCAT(JL) = 1.0 - ZCLEAR(JL)1913 ZC0I(JL,JKL) = ZSCAT(JL)1914 END IF1915 202 CONTINUE1916 C1917 DO 205 JK = 2 , KFLEV1918 JKL = KFLEV+1 - JK1919 JKLP1 = JKL + 11920 DO 204 JL = 1, KDLON1921 ZFACOA = 1. - PPIZAZ(JL,JKL)*PCGAZ(JL,JKL)*PCGAZ(JL,JKL)1922 ZCORAE = ZFACOA * PTAUAZ(JL,JKL) * PSEC(JL)1923 ZR21(JL) = EXP(-ZCORAE )1924 ZSS0(JL) = 1.-ZR21(JL)1925 ZCLE0(JL,JKL) = ZSS0(JL)1926 c1927 IF (NOVLP.EQ.1) THEN1928 c* maximum-random1929 ZCLEAR(JL) = ZCLEAR(JL)1930 S *(1.0-MAX(ZSS0(JL),ZSCAT(JL)))1931 S /(1.0-MIN(ZSCAT(JL),1.-ZEPSEC))1932 ZC0I(JL,JKL) = 1.0 - ZCLEAR(JL)1933 ZSCAT(JL) = ZSS0(JL)1934 ELSE IF (NOVLP.EQ.2) THEN1935 C* maximum1936 ZSCAT(JL) = MAX( ZSS0(JL) , ZSCAT(JL) )1937 ZC0I(JL,JKL) = ZSCAT(JL)1938 ELSE IF (NOVLP.EQ.3) THEN1939 c* random1940 ZCLEAR(JL)=ZCLEAR(JL)*(1.0-ZSS0(JL))1941 ZSCAT(JL) = 1.0 - ZCLEAR(JL)1942 ZC0I(JL,JKL) = ZSCAT(JL)1943 END IF1944 204 CONTINUE1945 205 CONTINUE1946 C1947 C ------------------------------------------------------------------1948 C1949 C* 3. REFLECTIVITY/TRANSMISSIVITY FOR PURE SCATTERING1950 C -----------------------------------------------1951 C1952 300 CONTINUE1953 C1954 DO 301 JL = 1, KDLON1955 PRAY1(JL,KFLEV+1) = 0.1956 PRAY2(JL,KFLEV+1) = 0.1957 PREFZ(JL,2,1) = PALBP(JL,KNU)1958 PREFZ(JL,1,1) = PALBP(JL,KNU)1959 PTRA1(JL,KFLEV+1) = 1.1960 PTRA2(JL,KFLEV+1) = 1.1961 301 CONTINUE1962 C1963 DO 346 JK = 2 , KFLEV+11964 JKM1 = JK-11965 DO 342 JL = 1, KDLON1966 C1967 C1968 C ------------------------------------------------------------------1969 C1970 C* 3.1 EQUIVALENT ZENITH ANGLE1971 C -----------------------1972 C1973 310 CONTINUE1974 C1975 ZMUE = (1.-ZC0I(JL,JK)) * PSEC(JL)1976 S + ZC0I(JL,JK) * 1.661977 PRMU0(JL,JK) = 1./ZMUE1978 C1979 C1980 C ------------------------------------------------------------------1981 C1982 C* 3.2 REFLECT./TRANSMISSIVITY DUE TO RAYLEIGH AND AEROSOLS1983 C ----------------------------------------------------1984 C1985 320 CONTINUE1986 C1987 ZGAP = PCGAZ(JL,JKM1)1988 ZBMU0 = 0.5 - 0.75 * ZGAP / ZMUE1989 ZWW = PPIZAZ(JL,JKM1)1990 ZTO = PTAUAZ(JL,JKM1)1991 ZDEN = 1. + (1. - ZWW + ZBMU0 * ZWW) * ZTO * ZMUE1992 S + (1-ZWW) * (1. - ZWW +2.*ZBMU0*ZWW)*ZTO*ZTO*ZMUE*ZMUE1993 PRAY1(JL,JKM1) = ZBMU0 * ZWW * ZTO * ZMUE / ZDEN1994 PTRA1(JL,JKM1) = 1. / ZDEN1995 C1996 ZMU1 = 0.51997 ZBMU1 = 0.5 - 0.75 * ZGAP * ZMU11998 ZDEN1= 1. + (1. - ZWW + ZBMU1 * ZWW) * ZTO / ZMU11999 S + (1-ZWW) * (1. - ZWW +2.*ZBMU1*ZWW)*ZTO*ZTO/ZMU1/ZMU12000 PRAY2(JL,JKM1) = ZBMU1 * ZWW * ZTO / ZMU1 / ZDEN12001 PTRA2(JL,JKM1) = 1. / ZDEN12002 C2003 C2004 C2005 PREFZ(JL,1,JK) = (PRAY1(JL,JKM1)2006 S + PREFZ(JL,1,JKM1) * PTRA1(JL,JKM1)2007 S * PTRA2(JL,JKM1)2008 S / (1.-PRAY2(JL,JKM1)*PREFZ(JL,1,JKM1)))2009 C2010 ZTR(JL,1,JKM1) = (PTRA1(JL,JKM1)2011 S / (1.-PRAY2(JL,JKM1)*PREFZ(JL,1,JKM1)))2012 C2013 PREFZ(JL,2,JK) = (PRAY1(JL,JKM1)2014 S + PREFZ(JL,2,JKM1) * PTRA1(JL,JKM1)2015 S * PTRA2(JL,JKM1) )2016 C2017 ZTR(JL,2,JKM1) = PTRA1(JL,JKM1)2018 C2019 342 CONTINUE2020 346 CONTINUE2021 DO 347 JL = 1, KDLON2022 ZMUE = (1.-ZC0I(JL,1))*PSEC(JL)+ZC0I(JL,1)*1.662023 PRMU0(JL,1)=1./ZMUE2024 347 CONTINUE2025 C2026 C2027 C ------------------------------------------------------------------2028 C2029 C* 3.5 REFLECT./TRANSMISSIVITY BETWEEN SURFACE AND LEVEL2030 C -------------------------------------------------2031 C2032 350 CONTINUE2033 C2034 IF (KNU.EQ.1) THEN2035 JAJ = 22036 DO 351 JL = 1, KDLON2037 PRJ(JL,JAJ,KFLEV+1) = 1.2038 PRK(JL,JAJ,KFLEV+1) = PREFZ(JL, 1,KFLEV+1)2039 351 CONTINUE2040 C2041 DO 353 JK = 1 , KFLEV2042 JKL = KFLEV+1 - JK2043 JKLP1 = JKL + 12044 DO 352 JL = 1, KDLON2045 ZRE11= PRJ(JL,JAJ,JKLP1) * ZTR(JL, 1,JKL)2046 PRJ(JL,JAJ,JKL) = ZRE112047 PRK(JL,JAJ,JKL) = ZRE11 * PREFZ(JL, 1,JKL)2048 352 CONTINUE2049 353 CONTINUE2050 354 CONTINUE2051 C2052 ELSE2053 C2054 DO 358 JAJ = 1 , 22055 DO 355 JL = 1, KDLON2056 PRJ(JL,JAJ,KFLEV+1) = 1.2057 PRK(JL,JAJ,KFLEV+1) = PREFZ(JL,JAJ,KFLEV+1)2058 355 CONTINUE2059 C2060 DO 357 JK = 1 , KFLEV2061 JKL = KFLEV+1 - JK2062 JKLP1 = JKL + 12063 DO 356 JL = 1, KDLON2064 ZRE11= PRJ(JL,JAJ,JKLP1) * ZTR(JL,JAJ,JKL)2065 PRJ(JL,JAJ,JKL) = ZRE112066 PRK(JL,JAJ,JKL) = ZRE11 * PREFZ(JL,JAJ,JKL)2067 356 CONTINUE2068 357 CONTINUE2069 358 CONTINUE2070 C2071 END IF2072 C2073 C ------------------------------------------------------------------2074 C2075 RETURN2076 END2077 SUBROUTINE SWR ( KNU2078 S , PALBD , PCG , PCLD , PDSIG, POMEGA, PRAYL2079 S , PSEC , PTAU2080 S , PCGAZ , PPIZAZ, PRAY1, PRAY2, PREFZ , PRJ , PRK , PRMUE2081 S , PTAUAZ, PTRA1 , PTRA2 )2082 USE dimphy2083 IMPLICIT none2084 cym#include "dimensions.h"2085 cym#include "dimphy.h"2086 cym#include "raddim.h"2087 #include "radepsi.h"2088 #include "radopt.h"2089 C2090 C ------------------------------------------------------------------2091 C PURPOSE.2092 C --------2093 C COMPUTES THE REFLECTIVITY AND TRANSMISSIVITY IN CASE OF2094 C CONTINUUM SCATTERING2095 C2096 C METHOD.2097 C -------2098 C2099 C 1. COMPUTES CONTINUUM FLUXES CORRESPONDING TO AEROSOL2100 C OR/AND RAYLEIGH SCATTERING (NO MOLECULAR GAS ABSORPTION)2101 C2102 C REFERENCE.2103 C ----------2104 C2105 C SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT2106 C DOCUMENTATION, AND FOUQUART AND BONNEL (1980)2107 C2108 C AUTHOR.2109 C -------2110 C JEAN-JACQUES MORCRETTE *ECMWF*2111 C2112 C MODIFICATIONS.2113 C --------------2114 C ORIGINAL : 89-07-142115 C ------------------------------------------------------------------2116 C* ARGUMENTS:2117 C2118 INTEGER KNU2119 REAL*8 PALBD(KDLON,2)2120 REAL*8 PCG(KDLON,2,KFLEV)2121 REAL*8 PCLD(KDLON,KFLEV)2122 REAL*8 PDSIG(KDLON,KFLEV)2123 REAL*8 POMEGA(KDLON,2,KFLEV)2124 REAL*8 PRAYL(KDLON)2125 REAL*8 PSEC(KDLON)2126 REAL*8 PTAU(KDLON,2,KFLEV)2127 C2128 REAL*8 PRAY1(KDLON,KFLEV+1)2129 REAL*8 PRAY2(KDLON,KFLEV+1)2130 REAL*8 PREFZ(KDLON,2,KFLEV+1)2131 REAL*8 PRJ(KDLON,6,KFLEV+1)2132 REAL*8 PRK(KDLON,6,KFLEV+1)2133 REAL*8 PRMUE(KDLON,KFLEV+1)2134 REAL*8 PCGAZ(KDLON,KFLEV)2135 REAL*8 PPIZAZ(KDLON,KFLEV)2136 REAL*8 PTAUAZ(KDLON,KFLEV)2137 REAL*8 PTRA1(KDLON,KFLEV+1)2138 REAL*8 PTRA2(KDLON,KFLEV+1)2139 C2140 C* LOCAL VARIABLES:2141 C2142 REAL*8 ZC1I(KDLON,KFLEV+1)2143 REAL*8 ZCLEQ(KDLON,KFLEV)2144 REAL*8 ZCLEAR(KDLON)2145 REAL*8 ZCLOUD(KDLON)2146 REAL*8 ZGG(KDLON)2147 REAL*8 ZREF(KDLON)2148 REAL*8 ZRE1(KDLON)2149 REAL*8 ZRE2(KDLON)2150 REAL*8 ZRMUZ(KDLON)2151 REAL*8 ZRNEB(KDLON)2152 REAL*8 ZR21(KDLON)2153 REAL*8 ZR22(KDLON)2154 REAL*8 ZR23(KDLON)2155 REAL*8 ZSS1(KDLON)2156 REAL*8 ZTO1(KDLON)2157 REAL*8 ZTR(KDLON,2,KFLEV+1)2158 REAL*8 ZTR1(KDLON)2159 REAL*8 ZTR2(KDLON)2160 REAL*8 ZW(KDLON)2161 C2162 INTEGER jk, jl, ja, jkl, jklp1, jkm1, jaj2163 REAL*8 ZFACOA, ZFACOC, ZCORAE, ZCORCD2164 REAL*8 ZMUE, ZGAP, ZWW, ZTO, ZDEN, ZDEN12165 REAL*8 ZMU1, ZRE11, ZBMU0, ZBMU12166 C2167 C ------------------------------------------------------------------2168 C2169 C* 1. INITIALIZATION2170 C --------------2171 C2172 100 CONTINUE2173 C2174 DO 103 JK = 1 , KFLEV+12175 DO 102 JA = 1 , 62176 DO 101 JL = 1, KDLON2177 PRJ(JL,JA,JK) = 0.2178 PRK(JL,JA,JK) = 0.2179 101 CONTINUE2180 102 CONTINUE2181 103 CONTINUE2182 C2183 C2184 C ------------------------------------------------------------------2185 C2186 C* 2. TOTAL EFFECTIVE CLOUDINESS ABOVE A GIVEN LEVEL2187 C ----------------------------------------------2188 C2189 200 CONTINUE2190 C2191 DO 201 JL = 1, KDLON2192 ZR23(JL) = 0.2193 ZC1I(JL,KFLEV+1) = 0.2194 ZCLEAR(JL) = 1.2195 ZCLOUD(JL) = 0.2196 201 CONTINUE2197 C2198 JK = 12199 JKL = KFLEV+1 - JK2200 JKLP1 = JKL + 12201 DO 202 JL = 1, KDLON2202 ZFACOA = 1. - PPIZAZ(JL,JKL)*PCGAZ(JL,JKL)*PCGAZ(JL,JKL)2203 ZFACOC = 1. - POMEGA(JL,KNU,JKL) * PCG(JL,KNU,JKL)2204 S * PCG(JL,KNU,JKL)2205 ZCORAE = ZFACOA * PTAUAZ(JL,JKL) * PSEC(JL)2206 ZCORCD = ZFACOC * PTAU(JL,KNU,JKL) * PSEC(JL)2207 ZR21(JL) = EXP(-ZCORAE )2208 ZR22(JL) = EXP(-ZCORCD )2209 ZSS1(JL) = PCLD(JL,JKL)*(1.0-ZR21(JL)*ZR22(JL))2210 S + (1.0-PCLD(JL,JKL))*(1.0-ZR21(JL))2211 ZCLEQ(JL,JKL) = ZSS1(JL)2212 C2213 IF (NOVLP.EQ.1) THEN2214 c* maximum-random2215 ZCLEAR(JL) = ZCLEAR(JL)2216 S *(1.0-MAX(ZSS1(JL),ZCLOUD(JL)))2217 S /(1.0-MIN(ZCLOUD(JL),1.-ZEPSEC))2218 ZC1I(JL,JKL) = 1.0 - ZCLEAR(JL)2219 ZCLOUD(JL) = ZSS1(JL)2220 ELSE IF (NOVLP.EQ.2) THEN2221 C* maximum2222 ZCLOUD(JL) = MAX( ZSS1(JL) , ZCLOUD(JL) )2223 ZC1I(JL,JKL) = ZCLOUD(JL)2224 ELSE IF (NOVLP.EQ.3) THEN2225 c* random2226 ZCLEAR(JL) = ZCLEAR(JL)*(1.0 - ZSS1(JL))2227 ZCLOUD(JL) = 1.0 - ZCLEAR(JL)2228 ZC1I(JL,JKL) = ZCLOUD(JL)2229 END IF2230 202 CONTINUE2231 C2232 DO 205 JK = 2 , KFLEV2233 JKL = KFLEV+1 - JK2234 JKLP1 = JKL + 12235 DO 204 JL = 1, KDLON2236 ZFACOA = 1. - PPIZAZ(JL,JKL)*PCGAZ(JL,JKL)*PCGAZ(JL,JKL)2237 ZFACOC = 1. - POMEGA(JL,KNU,JKL) * PCG(JL,KNU,JKL)2238 S * PCG(JL,KNU,JKL)2239 ZCORAE = ZFACOA * PTAUAZ(JL,JKL) * PSEC(JL)2240 ZCORCD = ZFACOC * PTAU(JL,KNU,JKL) * PSEC(JL)2241 ZR21(JL) = EXP(-ZCORAE )2242 ZR22(JL) = EXP(-ZCORCD )2243 ZSS1(JL) = PCLD(JL,JKL)*(1.0-ZR21(JL)*ZR22(JL))2244 S + (1.0-PCLD(JL,JKL))*(1.0-ZR21(JL))2245 ZCLEQ(JL,JKL) = ZSS1(JL)2246 c2247 IF (NOVLP.EQ.1) THEN2248 c* maximum-random2249 ZCLEAR(JL) = ZCLEAR(JL)2250 S *(1.0-MAX(ZSS1(JL),ZCLOUD(JL)))2251 S /(1.0-MIN(ZCLOUD(JL),1.-ZEPSEC))2252 ZC1I(JL,JKL) = 1.0 - ZCLEAR(JL)2253 ZCLOUD(JL) = ZSS1(JL)2254 ELSE IF (NOVLP.EQ.2) THEN2255 C* maximum2256 ZCLOUD(JL) = MAX( ZSS1(JL) , ZCLOUD(JL) )2257 ZC1I(JL,JKL) = ZCLOUD(JL)2258 ELSE IF (NOVLP.EQ.3) THEN2259 c* random2260 ZCLEAR(JL) = ZCLEAR(JL)*(1.0 - ZSS1(JL))2261 ZCLOUD(JL) = 1.0 - ZCLEAR(JL)2262 ZC1I(JL,JKL) = ZCLOUD(JL)2263 END IF2264 204 CONTINUE2265 205 CONTINUE2266 C2267 C ------------------------------------------------------------------2268 C2269 C* 3. REFLECTIVITY/TRANSMISSIVITY FOR PURE SCATTERING2270 C -----------------------------------------------2271 C2272 300 CONTINUE2273 C2274 DO 301 JL = 1, KDLON2275 PRAY1(JL,KFLEV+1) = 0.2276 PRAY2(JL,KFLEV+1) = 0.2277 PREFZ(JL,2,1) = PALBD(JL,KNU)2278 PREFZ(JL,1,1) = PALBD(JL,KNU)2279 PTRA1(JL,KFLEV+1) = 1.2280 PTRA2(JL,KFLEV+1) = 1.2281 301 CONTINUE2282 C2283 DO 346 JK = 2 , KFLEV+12284 JKM1 = JK-12285 DO 342 JL = 1, KDLON2286 ZRNEB(JL)= PCLD(JL,JKM1)2287 ZRE1(JL)=0.2288 ZTR1(JL)=0.2289 ZRE2(JL)=0.2290 ZTR2(JL)=0.2291 C2292 C2293 C ------------------------------------------------------------------2294 C2295 C* 3.1 EQUIVALENT ZENITH ANGLE2296 C -----------------------2297 C2298 310 CONTINUE2299 C2300 ZMUE = (1.-ZC1I(JL,JK)) * PSEC(JL)2301 S + ZC1I(JL,JK) * 1.662302 PRMUE(JL,JK) = 1./ZMUE2303 C2304 C2305 C ------------------------------------------------------------------2306 C2307 C* 3.2 REFLECT./TRANSMISSIVITY DUE TO RAYLEIGH AND AEROSOLS2308 C ----------------------------------------------------2309 C2310 320 CONTINUE2311 C2312 ZGAP = PCGAZ(JL,JKM1)2313 ZBMU0 = 0.5 - 0.75 * ZGAP / ZMUE2314 ZWW = PPIZAZ(JL,JKM1)2315 ZTO = PTAUAZ(JL,JKM1)2316 ZDEN = 1. + (1. - ZWW + ZBMU0 * ZWW) * ZTO * ZMUE2317 S + (1-ZWW) * (1. - ZWW +2.*ZBMU0*ZWW)*ZTO*ZTO*ZMUE*ZMUE2318 PRAY1(JL,JKM1) = ZBMU0 * ZWW * ZTO * ZMUE / ZDEN2319 PTRA1(JL,JKM1) = 1. / ZDEN2320 c PRINT *,' LOOP 342 ** 3 ** JL=',JL,PRAY1(JL,JKM1),PTRA1(JL,JKM1)2321 C2322 ZMU1 = 0.52323 ZBMU1 = 0.5 - 0.75 * ZGAP * ZMU12324 ZDEN1= 1. + (1. - ZWW + ZBMU1 * ZWW) * ZTO / ZMU12325 S + (1-ZWW) * (1. - ZWW +2.*ZBMU1*ZWW)*ZTO*ZTO/ZMU1/ZMU12326 PRAY2(JL,JKM1) = ZBMU1 * ZWW * ZTO / ZMU1 / ZDEN12327 PTRA2(JL,JKM1) = 1. / ZDEN12328 C2329 C2330 C ------------------------------------------------------------------2331 C2332 C* 3.3 EFFECT OF CLOUD LAYER2333 C ---------------------2334 C2335 330 CONTINUE2336 C2337 ZW(JL) = POMEGA(JL,KNU,JKM1)2338 ZTO1(JL) = PTAU(JL,KNU,JKM1)/ZW(JL)2339 S + PTAUAZ(JL,JKM1)/PPIZAZ(JL,JKM1)2340 ZR21(JL) = PTAU(JL,KNU,JKM1) + PTAUAZ(JL,JKM1)2341 ZR22(JL) = PTAU(JL,KNU,JKM1) / ZR21(JL)2342 ZGG(JL) = ZR22(JL) * PCG(JL,KNU,JKM1)2343 S + (1. - ZR22(JL)) * PCGAZ(JL,JKM1)2344 C Modif PhD - JJM 19/03/96 pour erreurs arrondis2345 C machine2346 C PHD PROTECTION ZW(JL) = ZR21(JL) / ZTO1(JL)2347 IF (ZW(JL).EQ.1. .AND. PPIZAZ(JL,JKM1).EQ.1.) THEN2348 ZW(JL)=1.2349 ELSE2350 ZW(JL) = ZR21(JL) / ZTO1(JL)2351 END IF2352 ZREF(JL) = PREFZ(JL,1,JKM1)2353 ZRMUZ(JL) = PRMUE(JL,JK)2354 342 CONTINUE2355 C2356 CALL SWDE(ZGG , ZREF , ZRMUZ , ZTO1 , ZW,2357 S ZRE1 , ZRE2 , ZTR1 , ZTR2)2358 C2359 DO 345 JL = 1, KDLON2360 C2361 PREFZ(JL,1,JK) = (1.-ZRNEB(JL)) * (PRAY1(JL,JKM1)2362 S + PREFZ(JL,1,JKM1) * PTRA1(JL,JKM1)2363 S * PTRA2(JL,JKM1)2364 S / (1.-PRAY2(JL,JKM1)*PREFZ(JL,1,JKM1)))2365 S + ZRNEB(JL) * ZRE2(JL)2366 C2367 ZTR(JL,1,JKM1) = ZRNEB(JL) * ZTR2(JL) + (PTRA1(JL,JKM1)2368 S / (1.-PRAY2(JL,JKM1)*PREFZ(JL,1,JKM1)))2369 S * (1.-ZRNEB(JL))2370 C2371 PREFZ(JL,2,JK) = (1.-ZRNEB(JL)) * (PRAY1(JL,JKM1)2372 S + PREFZ(JL,2,JKM1) * PTRA1(JL,JKM1)2373 S * PTRA2(JL,JKM1) )2374 S + ZRNEB(JL) * ZRE1(JL)2375 C2376 ZTR(JL,2,JKM1) = ZRNEB(JL) * ZTR1(JL)2377 S + PTRA1(JL,JKM1) * (1.-ZRNEB(JL))2378 C2379 345 CONTINUE2380 346 CONTINUE2381 DO 347 JL = 1, KDLON2382 ZMUE = (1.-ZC1I(JL,1))*PSEC(JL)+ZC1I(JL,1)*1.662383 PRMUE(JL,1)=1./ZMUE2384 347 CONTINUE2385 C2386 C2387 C ------------------------------------------------------------------2388 C2389 C* 3.5 REFLECT./TRANSMISSIVITY BETWEEN SURFACE AND LEVEL2390 C -------------------------------------------------2391 C2392 350 CONTINUE2393 C2394 IF (KNU.EQ.1) THEN2395 JAJ = 22396 DO 351 JL = 1, KDLON2397 PRJ(JL,JAJ,KFLEV+1) = 1.2398 PRK(JL,JAJ,KFLEV+1) = PREFZ(JL, 1,KFLEV+1)2399 351 CONTINUE2400 C2401 DO 353 JK = 1 , KFLEV2402 JKL = KFLEV+1 - JK2403 JKLP1 = JKL + 12404 DO 352 JL = 1, KDLON2405 ZRE11= PRJ(JL,JAJ,JKLP1) * ZTR(JL, 1,JKL)2406 PRJ(JL,JAJ,JKL) = ZRE112407 PRK(JL,JAJ,JKL) = ZRE11 * PREFZ(JL, 1,JKL)2408 352 CONTINUE2409 353 CONTINUE2410 354 CONTINUE2411 C2412 ELSE2413 C2414 DO 358 JAJ = 1 , 22415 DO 355 JL = 1, KDLON2416 PRJ(JL,JAJ,KFLEV+1) = 1.2417 PRK(JL,JAJ,KFLEV+1) = PREFZ(JL,JAJ,KFLEV+1)2418 355 CONTINUE2419 C2420 DO 357 JK = 1 , KFLEV2421 JKL = KFLEV+1 - JK2422 JKLP1 = JKL + 12423 DO 356 JL = 1, KDLON2424 ZRE11= PRJ(JL,JAJ,JKLP1) * ZTR(JL,JAJ,JKL)2425 PRJ(JL,JAJ,JKL) = ZRE112426 PRK(JL,JAJ,JKL) = ZRE11 * PREFZ(JL,JAJ,JKL)2427 356 CONTINUE2428 357 CONTINUE2429 358 CONTINUE2430 C2431 END IF2432 C2433 C ------------------------------------------------------------------2434 C2435 RETURN2436 END2437 SUBROUTINE SWDE (PGG,PREF,PRMUZ,PTO1,PW,2438 S PRE1,PRE2,PTR1,PTR2)2439 USE dimphy2440 IMPLICIT none2441 cym#include "dimensions.h"2442 cym#include "dimphy.h"2443 cym#include "raddim.h"2444 C2445 C ------------------------------------------------------------------2446 C PURPOSE.2447 C --------2448 C COMPUTES THE REFLECTIVITY AND TRANSMISSIVITY OF A CLOUDY2449 C LAYER USING THE DELTA-EDDINGTON'S APPROXIMATION.2450 C2451 C METHOD.2452 C -------2453 C2454 C STANDARD DELTA-EDDINGTON LAYER CALCULATIONS.2455 C2456 C REFERENCE.2457 C ----------2458 C2459 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND2460 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS2461 C2462 C AUTHOR.2463 C -------2464 C JEAN-JACQUES MORCRETTE *ECMWF*2465 C2466 C MODIFICATIONS.2467 C --------------2468 C ORIGINAL : 88-12-152469 C ------------------------------------------------------------------2470 C* ARGUMENTS:2471 C2472 REAL*8 PGG(KDLON) ! ASSYMETRY FACTOR2473 REAL*8 PREF(KDLON) ! REFLECTIVITY OF THE UNDERLYING LAYER2474 REAL*8 PRMUZ(KDLON) ! COSINE OF SOLAR ZENITH ANGLE2475 REAL*8 PTO1(KDLON) ! OPTICAL THICKNESS2476 REAL*8 PW(KDLON) ! SINGLE SCATTERING ALBEDO2477 REAL*8 PRE1(KDLON) ! LAYER REFLECTIVITY (NO UNDERLYING-LAYER REFLECTION)2478 REAL*8 PRE2(KDLON) ! LAYER REFLECTIVITY2479 REAL*8 PTR1(KDLON) ! LAYER TRANSMISSIVITY (NO UNDERLYING-LAYER REFLECTION)2480 REAL*8 PTR2(KDLON) ! LAYER TRANSMISSIVITY2481 C2482 C* LOCAL VARIABLES:2483 C2484 INTEGER jl2485 REAL*8 ZFF, ZGP, ZTOP, ZWCP, ZDT, ZX1, ZWM2486 REAL*8 ZRM2, ZRK, ZX2, ZRP, ZALPHA, ZBETA, ZARG2487 REAL*8 ZEXMU0, ZARG2, ZEXKP, ZEXKM, ZXP2P, ZXM2P, ZAP2B, ZAM2B2488 REAL*8 ZA11, ZA12, ZA13, ZA21, ZA22, ZA232489 REAL*8 ZDENA, ZC1A, ZC2A, ZRI0A, ZRI1A2490 REAL*8 ZRI0B, ZRI1B2491 REAL*8 ZB21, ZB22, ZB23, ZDENB, ZC1B, ZC2B2492 REAL*8 ZRI0C, ZRI1C, ZRI0D, ZRI1D2493 C ------------------------------------------------------------------2494 C2495 C* 1. DELTA-EDDINGTON CALCULATIONS2496 C2497 100 CONTINUE2498 C2499 DO 131 JL = 1, KDLON2500 C2501 C* 1.1 SET UP THE DELTA-MODIFIED PARAMETERS2502 C2503 110 CONTINUE2504 C2505 ZFF = PGG(JL)*PGG(JL)2506 ZGP = PGG(JL)/(1.+PGG(JL))2507 ZTOP = (1.- PW(JL) * ZFF) * PTO1(JL)2508 ZWCP = (1-ZFF)* PW(JL) /(1.- PW(JL) * ZFF)2509 ZDT = 2./3.2510 ZX1 = 1.-ZWCP*ZGP2511 ZWM = 1.-ZWCP2512 ZRM2 = PRMUZ(JL) * PRMUZ(JL)2513 ZRK = SQRT(3.*ZWM*ZX1)2514 ZX2 = 4.*(1.-ZRK*ZRK*ZRM2)2515 ZRP=ZRK/ZX12516 ZALPHA = 3.*ZWCP*ZRM2*(1.+ZGP*ZWM)/ZX22517 ZBETA = 3.*ZWCP* PRMUZ(JL) *(1.+3.*ZGP*ZRM2*ZWM)/ZX22518 CMAF ZARG=MIN(ZTOP/PRMUZ(JL),200.)2519 ZARG=MIN(ZTOP/PRMUZ(JL),2.0d+2)2520 ZEXMU0=EXP(-ZARG)2521 CMAF ZARG2=MIN(ZRK*ZTOP,200.)2522 ZARG2=MIN(ZRK*ZTOP,2.0d+2)2523 ZEXKP=EXP(ZARG2)2524 ZEXKM = 1./ZEXKP2525 ZXP2P = 1.+ZDT*ZRP2526 ZXM2P = 1.-ZDT*ZRP2527 ZAP2B = ZALPHA+ZDT*ZBETA2528 ZAM2B = ZALPHA-ZDT*ZBETA2529 C2530 C* 1.2 WITHOUT REFLECTION FROM THE UNDERLYING LAYER2531 C2532 120 CONTINUE2533 C2534 ZA11 = ZXP2P2535 ZA12 = ZXM2P2536 ZA13 = ZAP2B2537 ZA22 = ZXP2P*ZEXKP2538 ZA21 = ZXM2P*ZEXKM2539 ZA23 = ZAM2B*ZEXMU02540 ZDENA = ZA11 * ZA22 - ZA21 * ZA122541 ZC1A = (ZA22*ZA13-ZA12*ZA23)/ZDENA2542 ZC2A = (ZA11*ZA23-ZA21*ZA13)/ZDENA2543 ZRI0A = ZC1A+ZC2A-ZALPHA2544 ZRI1A = ZRP*(ZC1A-ZC2A)-ZBETA2545 PRE1(JL) = (ZRI0A-ZDT*ZRI1A)/ PRMUZ(JL)2546 ZRI0B = ZC1A*ZEXKM+ZC2A*ZEXKP-ZALPHA*ZEXMU02547 ZRI1B = ZRP*(ZC1A*ZEXKM-ZC2A*ZEXKP)-ZBETA*ZEXMU02548 PTR1(JL) = ZEXMU0+(ZRI0B+ZDT*ZRI1B)/ PRMUZ(JL)2549 C2550 C* 1.3 WITH REFLECTION FROM THE UNDERLYING LAYER2551 C2552 130 CONTINUE2553 C2554 ZB21 = ZA21- PREF(JL) *ZXP2P*ZEXKM2555 ZB22 = ZA22- PREF(JL) *ZXM2P*ZEXKP2556 ZB23 = ZA23- PREF(JL) *ZEXMU0*(ZAP2B - PRMUZ(JL) )2557 ZDENB = ZA11 * ZB22 - ZB21 * ZA122558 ZC1B = (ZB22*ZA13-ZA12*ZB23)/ZDENB2559 ZC2B = (ZA11*ZB23-ZB21*ZA13)/ZDENB2560 ZRI0C = ZC1B+ZC2B-ZALPHA2561 ZRI1C = ZRP*(ZC1B-ZC2B)-ZBETA2562 PRE2(JL) = (ZRI0C-ZDT*ZRI1C) / PRMUZ(JL)2563 ZRI0D = ZC1B*ZEXKM + ZC2B*ZEXKP - ZALPHA*ZEXMU02564 ZRI1D = ZRP * (ZC1B*ZEXKM - ZC2B*ZEXKP) - ZBETA*ZEXMU02565 PTR2(JL) = ZEXMU0 + (ZRI0D + ZDT*ZRI1D) / PRMUZ(JL)2566 C2567 131 CONTINUE2568 RETURN2569 END2570 SUBROUTINE SWTT (KNU,KA,PU,PTR)2571 USE dimphy2572 IMPLICIT none2573 cym#include "dimensions.h"2574 cym#include "dimphy.h"2575 cym#include "raddim.h"2576 C2577 C-----------------------------------------------------------------------2578 C PURPOSE.2579 C --------2580 C THIS ROUTINE COMPUTES THE TRANSMISSION FUNCTIONS FOR ALL THE2581 C ABSORBERS (H2O, UNIFORMLY MIXED GASES, AND O3) IN THE TWO SPECTRAL2582 C INTERVALS.2583 C2584 C METHOD.2585 C -------2586 C2587 C TRANSMISSION FUNCTION ARE COMPUTED USING PADE APPROXIMANTS2588 C AND HORNER'S ALGORITHM.2589 C2590 C REFERENCE.2591 C ----------2592 C2593 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND2594 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS2595 C2596 C AUTHOR.2597 C -------2598 C JEAN-JACQUES MORCRETTE *ECMWF*2599 C2600 C MODIFICATIONS.2601 C --------------2602 C ORIGINAL : 88-12-152603 C-----------------------------------------------------------------------2604 C2605 C* ARGUMENTS2606 C2607 INTEGER KNU ! INDEX OF THE SPECTRAL INTERVAL2608 INTEGER KA ! INDEX OF THE ABSORBER2609 REAL*8 PU(KDLON) ! ABSORBER AMOUNT2610 C2611 REAL*8 PTR(KDLON) ! TRANSMISSION FUNCTION2612 C2613 C* LOCAL VARIABLES:2614 C2615 REAL*8 ZR1(KDLON), ZR2(KDLON)2616 INTEGER jl, i,j2617 C2618 C* Prescribed Data:2619 C2620 REAL*8 APAD(2,3,7), BPAD(2,3,7), D(2,3)2621 SAVE APAD, BPAD, D2622 c$OMP THREADPRIVATE(APAD, BPAD, D)2623 DATA ((APAD(1,I,J),I=1,3),J=1,7) /2624 S 0.912418292E+05, 0.000000000E-00, 0.925887084E-04,2625 S 0.723613782E+05, 0.000000000E-00, 0.129353723E-01,2626 S 0.596037057E+04, 0.000000000E-00, 0.800821928E+00,2627 S 0.000000000E-00, 0.000000000E-00, 0.242715973E+02,2628 S 0.000000000E-00, 0.000000000E-00, 0.878331486E+02,2629 S 0.000000000E-00, 0.000000000E-00, 0.191559725E+02,2630 S 0.000000000E-00, 0.000000000E-00, 0.000000000E+00 /2631 DATA ((APAD(2,I,J),I=1,3),J=1,7) /2632 S 0.376655383E-08, 0.739646016E-08, 0.410177786E+03,2633 S 0.978576773E-04, 0.131849595E-03, 0.672595424E+02,2634 S 0.387714006E+00, 0.437772681E+00, 0.000000000E-00,2635 S 0.118461660E+03, 0.151345118E+03, 0.000000000E-00,2636 S 0.119079797E+04, 0.233628890E+04, 0.000000000E-00,2637 S 0.293353397E+03, 0.797219934E+03, 0.000000000E-00,2638 S 0.000000000E+00, 0.000000000E+00, 0.000000000E+00 /2639 C2640 DATA ((BPAD(1,I,J),I=1,3),J=1,7) /2641 S 0.912418292E+05, 0.000000000E-00, 0.925887084E-04,2642 S 0.724555318E+05, 0.000000000E-00, 0.131812683E-01,2643 S 0.602593328E+04, 0.000000000E-00, 0.812706117E+00,2644 S 0.100000000E+01, 0.000000000E-00, 0.249863591E+02,2645 S 0.000000000E-00, 0.000000000E-00, 0.931071925E+02,2646 S 0.000000000E-00, 0.000000000E-00, 0.252233437E+02,2647 S 0.000000000E-00, 0.000000000E-00, 0.100000000E+01 /2648 DATA ((BPAD(2,I,J),I=1,3),J=1,7) /2649 S 0.376655383E-08, 0.739646016E-08, 0.410177786E+03,2650 S 0.979023421E-04, 0.131861712E-03, 0.731185438E+02,2651 S 0.388611139E+00, 0.437949001E+00, 0.100000000E+01,2652 S 0.120291383E+03, 0.151692730E+03, 0.000000000E+00,2653 S 0.130531005E+04, 0.237071130E+04, 0.000000000E+00,2654 S 0.415049409E+03, 0.867914360E+03, 0.000000000E+00,2655 S 0.100000000E+01, 0.100000000E+01, 0.000000000E+00 /2656 c2657 DATA (D(1,I),I=1,3) / 0.00, 0.00, 0.00 /2658 DATA (D(2,I),I=1,3) / 0.000000000, 0.000000000, 0.800000000 /2659 C2660 C-----------------------------------------------------------------------2661 C2662 C* 1. HORNER'S ALGORITHM TO COMPUTE TRANSMISSION FUNCTION2663 C2664 100 CONTINUE2665 C2666 DO 201 JL = 1, KDLON2667 ZR1(JL) = APAD(KNU,KA,1) + PU(JL) * (APAD(KNU,KA,2) + PU(JL)2668 S * ( APAD(KNU,KA,3) + PU(JL) * (APAD(KNU,KA,4) + PU(JL)2669 S * ( APAD(KNU,KA,5) + PU(JL) * (APAD(KNU,KA,6) + PU(JL)2670 S * ( APAD(KNU,KA,7) ))))))2671 C2672 ZR2(JL) = BPAD(KNU,KA,1) + PU(JL) * (BPAD(KNU,KA,2) + PU(JL)2673 S * ( BPAD(KNU,KA,3) + PU(JL) * (BPAD(KNU,KA,4) + PU(JL)2674 S * ( BPAD(KNU,KA,5) + PU(JL) * (BPAD(KNU,KA,6) + PU(JL)2675 S * ( BPAD(KNU,KA,7) ))))))2676 C2677 C2678 C* 2. ADD THE BACKGROUND TRANSMISSION2679 C2680 200 CONTINUE2681 C2682 C2683 PTR(JL) = (ZR1(JL) / ZR2(JL)) * (1. - D(KNU,KA)) + D(KNU,KA)2684 201 CONTINUE2685 C2686 RETURN2687 END2688 SUBROUTINE SWTT1(KNU,KABS,KIND, PU, PTR)2689 USE dimphy2690 IMPLICIT none2691 cym#include "dimensions.h"2692 cym#include "dimphy.h"2693 cym#include "raddim.h"2694 C2695 C-----------------------------------------------------------------------2696 C PURPOSE.2697 C --------2698 C THIS ROUTINE COMPUTES THE TRANSMISSION FUNCTIONS FOR ALL THE2699 C ABSORBERS (H2O, UNIFORMLY MIXED GASES, AND O3) IN THE TWO SPECTRAL2700 C INTERVALS.2701 C2702 C METHOD.2703 C -------2704 C2705 C TRANSMISSION FUNCTION ARE COMPUTED USING PADE APPROXIMANTS2706 C AND HORNER'S ALGORITHM.2707 C2708 C REFERENCE.2709 C ----------2710 C2711 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND2712 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS2713 C2714 C AUTHOR.2715 C -------2716 C JEAN-JACQUES MORCRETTE *ECMWF*2717 C2718 C MODIFICATIONS.2719 C --------------2720 C ORIGINAL : 95-01-202721 C-----------------------------------------------------------------------2722 C* ARGUMENTS:2723 C2724 INTEGER KNU ! INDEX OF THE SPECTRAL INTERVAL2725 INTEGER KABS ! NUMBER OF ABSORBERS2726 INTEGER KIND(KABS) ! INDICES OF THE ABSORBERS2727 REAL*8 PU(KDLON,KABS) ! ABSORBER AMOUNT2728 C2729 REAL*8 PTR(KDLON,KABS) ! TRANSMISSION FUNCTION2730 C2731 C* LOCAL VARIABLES:2732 C2733 REAL*8 ZR1(KDLON)2734 REAL*8 ZR2(KDLON)2735 REAL*8 ZU(KDLON)2736 INTEGER jl, ja, i, j, ia2737 C2738 C* Prescribed Data:2739 C2740 REAL*8 APAD(2,3,7), BPAD(2,3,7), D(2,3)2741 SAVE APAD, BPAD, D2742 c$OMP THREADPRIVATE(APAD, BPAD, D)2743 DATA ((APAD(1,I,J),I=1,3),J=1,7) /2744 S 0.912418292E+05, 0.000000000E-00, 0.925887084E-04,2745 S 0.723613782E+05, 0.000000000E-00, 0.129353723E-01,2746 S 0.596037057E+04, 0.000000000E-00, 0.800821928E+00,2747 S 0.000000000E-00, 0.000000000E-00, 0.242715973E+02,2748 S 0.000000000E-00, 0.000000000E-00, 0.878331486E+02,2749 S 0.000000000E-00, 0.000000000E-00, 0.191559725E+02,2750 S 0.000000000E-00, 0.000000000E-00, 0.000000000E+00 /2751 DATA ((APAD(2,I,J),I=1,3),J=1,7) /2752 S 0.376655383E-08, 0.739646016E-08, 0.410177786E+03,2753 S 0.978576773E-04, 0.131849595E-03, 0.672595424E+02,2754 S 0.387714006E+00, 0.437772681E+00, 0.000000000E-00,2755 S 0.118461660E+03, 0.151345118E+03, 0.000000000E-00,2756 S 0.119079797E+04, 0.233628890E+04, 0.000000000E-00,2757 S 0.293353397E+03, 0.797219934E+03, 0.000000000E-00,2758 S 0.000000000E+00, 0.000000000E+00, 0.000000000E+00 /2759 C2760 DATA ((BPAD(1,I,J),I=1,3),J=1,7) /2761 S 0.912418292E+05, 0.000000000E-00, 0.925887084E-04,2762 S 0.724555318E+05, 0.000000000E-00, 0.131812683E-01,2763 S 0.602593328E+04, 0.000000000E-00, 0.812706117E+00,2764 S 0.100000000E+01, 0.000000000E-00, 0.249863591E+02,2765 S 0.000000000E-00, 0.000000000E-00, 0.931071925E+02,2766 S 0.000000000E-00, 0.000000000E-00, 0.252233437E+02,2767 S 0.000000000E-00, 0.000000000E-00, 0.100000000E+01 /2768 DATA ((BPAD(2,I,J),I=1,3),J=1,7) /2769 S 0.376655383E-08, 0.739646016E-08, 0.410177786E+03,2770 S 0.979023421E-04, 0.131861712E-03, 0.731185438E+02,2771 S 0.388611139E+00, 0.437949001E+00, 0.100000000E+01,2772 S 0.120291383E+03, 0.151692730E+03, 0.000000000E+00,2773 S 0.130531005E+04, 0.237071130E+04, 0.000000000E+00,2774 S 0.415049409E+03, 0.867914360E+03, 0.000000000E+00,2775 S 0.100000000E+01, 0.100000000E+01, 0.000000000E+00 /2776 c2777 DATA (D(1,I),I=1,3) / 0.00, 0.00, 0.00 /2778 DATA (D(2,I),I=1,3) / 0.000000000, 0.000000000, 0.800000000 /2779 C-----------------------------------------------------------------------2780 C2781 C* 1. HORNER'S ALGORITHM TO COMPUTE TRANSMISSION FUNCTION2782 C2783 100 CONTINUE2784 C2785 DO 202 JA = 1,KABS2786 IA=KIND(JA)2787 DO 201 JL = 1, KDLON2788 ZU(JL) = PU(JL,JA)2789 ZR1(JL) = APAD(KNU,IA,1) + ZU(JL) * (APAD(KNU,IA,2) + ZU(JL)2790 S * ( APAD(KNU,IA,3) + ZU(JL) * (APAD(KNU,IA,4) + ZU(JL)2791 S * ( APAD(KNU,IA,5) + ZU(JL) * (APAD(KNU,IA,6) + ZU(JL)2792 S * ( APAD(KNU,IA,7) ))))))2793 C2794 ZR2(JL) = BPAD(KNU,IA,1) + ZU(JL) * (BPAD(KNU,IA,2) + ZU(JL)2795 S * ( BPAD(KNU,IA,3) + ZU(JL) * (BPAD(KNU,IA,4) + ZU(JL)2796 S * ( BPAD(KNU,IA,5) + ZU(JL) * (BPAD(KNU,IA,6) + ZU(JL)2797 S * ( BPAD(KNU,IA,7) ))))))2798 C2799 C2800 C* 2. ADD THE BACKGROUND TRANSMISSION2801 C2802 200 CONTINUE2803 C2804 PTR(JL,JA) = (ZR1(JL)/ZR2(JL)) * (1.-D(KNU,IA)) + D(KNU,IA)2805 201 CONTINUE2806 202 CONTINUE2807 C2808 RETURN2809 END2810 cIM ctes ds clesphys.h SUBROUTINE LW(RCO2,RCH4,RN2O,RCFC11,RCFC12,2811 SUBROUTINE LW(2812 . PPMB, PDP,2813 . PPSOL,PDT0,PEMIS,2814 . PTL, PTAVE, PWV, POZON, PAER,2815 . PCLDLD,PCLDLU,2816 . PVIEW,2817 . PCOLR, PCOLR0,2818 . PTOPLW,PSOLLW,PTOPLW0,PSOLLW0,2819 . psollwdown,2820 cIM . psollwdown,psollwdownclr,2821 cIM . ptoplwdown,ptoplwdownclr)2822 . plwup, plwdn, plwup0, plwdn0)2823 USE dimphy2824 IMPLICIT none2825 cym#include "dimensions.h"2826 cym#include "dimphy.h"2827 cym#include "raddim.h"2828 #include "raddimlw.h"2829 #include "YOMCST.h"2830 C2831 C-----------------------------------------------------------------------2832 C METHOD.2833 C -------2834 C2835 C 1. COMPUTES THE PRESSURE AND TEMPERATURE WEIGHTED AMOUNTS OF2836 C ABSORBERS.2837 C 2. COMPUTES THE PLANCK FUNCTIONS ON THE INTERFACES AND THE2838 C GRADIENT OF PLANCK FUNCTIONS IN THE LAYERS.2839 C 3. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING THE CON-2840 C TRIBUTIONS OF THE ADJACENT AND DISTANT LAYERS AND THOSE FROM THE2841 C BOUNDARIES.2842 C 4. COMPUTES THE CLEAR-SKY DOWNWARD AND UPWARD EMISSIVITIES.2843 C 5. INTRODUCES THE EFFECTS OF THE CLOUDS ON THE FLUXES.2844 C2845 C2846 C REFERENCE.2847 C ----------2848 C2849 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND2850 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS2851 C2852 C AUTHOR.2853 C -------2854 C JEAN-JACQUES MORCRETTE *ECMWF*2855 C2856 C MODIFICATIONS.2857 C --------------2858 C ORIGINAL : 89-07-142859 C-----------------------------------------------------------------------2860 cIM ctes ds clesphys.h2861 c REAL*8 RCO2 ! CO2 CONCENTRATION (IPCC:353.E-06* 44.011/28.97)2862 c REAL*8 RCH4 ! CH4 CONCENTRATION (IPCC: 1.72E-06* 16.043/28.97)2863 c REAL*8 RN2O ! N2O CONCENTRATION (IPCC: 310.E-09* 44.013/28.97)2864 c REAL*8 RCFC11 ! CFC11 CONCENTRATION (IPCC: 280.E-12* 137.3686/28.97)2865 c REAL*8 RCFC12 ! CFC12 CONCENTRATION (IPCC: 484.E-12* 120.9140/28.97)2866 #include "clesphys.h"2867 REAL*8 PCLDLD(KDLON,KFLEV) ! DOWNWARD EFFECTIVE CLOUD COVER2868 REAL*8 PCLDLU(KDLON,KFLEV) ! UPWARD EFFECTIVE CLOUD COVER2869 REAL*8 PDP(KDLON,KFLEV) ! LAYER PRESSURE THICKNESS (Pa)2870 REAL*8 PDT0(KDLON) ! SURFACE TEMPERATURE DISCONTINUITY (K)2871 REAL*8 PEMIS(KDLON) ! SURFACE EMISSIVITY2872 REAL*8 PPMB(KDLON,KFLEV+1) ! HALF LEVEL PRESSURE (mb)2873 REAL*8 PPSOL(KDLON) ! SURFACE PRESSURE (Pa)2874 REAL*8 POZON(KDLON,KFLEV) ! O3 CONCENTRATION (kg/kg)2875 REAL*8 PTL(KDLON,KFLEV+1) ! HALF LEVEL TEMPERATURE (K)2876 REAL*8 PAER(KDLON,KFLEV,5) ! OPTICAL THICKNESS OF THE AEROSOLS2877 REAL*8 PTAVE(KDLON,KFLEV) ! LAYER TEMPERATURE (K)2878 REAL*8 PVIEW(KDLON) ! COSECANT OF VIEWING ANGLE2879 REAL*8 PWV(KDLON,KFLEV) ! SPECIFIC HUMIDITY (kg/kg)2880 C2881 REAL*8 PCOLR(KDLON,KFLEV) ! LONG-WAVE TENDENCY (K/day)2882 REAL*8 PCOLR0(KDLON,KFLEV) ! LONG-WAVE TENDENCY (K/day) clear-sky2883 REAL*8 PTOPLW(KDLON) ! LONGWAVE FLUX AT T.O.A.2884 REAL*8 PSOLLW(KDLON) ! LONGWAVE FLUX AT SURFACE2885 REAL*8 PTOPLW0(KDLON) ! LONGWAVE FLUX AT T.O.A. (CLEAR-SKY)2886 REAL*8 PSOLLW0(KDLON) ! LONGWAVE FLUX AT SURFACE (CLEAR-SKY)2887 c Rajout LF2888 real*8 psollwdown(kdlon) ! LONGWAVE downwards flux at surface2889 c Rajout IM2890 cIM real*8 psollwdownclr(kdlon) ! LONGWAVE CS downwards flux at surface2891 cIM real*8 ptoplwdown(kdlon) ! LONGWAVE downwards flux at T.O.A.2892 cIM real*8 ptoplwdownclr(kdlon) ! LONGWAVE CS downwards flux at T.O.A.2893 cIM2894 REAL*8 plwup(KDLON,KFLEV+1) ! LW up total sky2895 REAL*8 plwup0(KDLON,KFLEV+1) ! LW up clear sky2896 REAL*8 plwdn(KDLON,KFLEV+1) ! LW down total sky2897 REAL*8 plwdn0(KDLON,KFLEV+1) ! LW down clear sky2898 C-------------------------------------------------------------------------2899 REAL*8 ZABCU(KDLON,NUA,3*KFLEV+1)2900 REAL*8 ZOZ(KDLON,KFLEV)2901 c2902 cym REAL*8 ZFLUX(KDLON,2,KFLEV+1) ! RADIATIVE FLUXES (1:up; 2:down)2903 cym REAL*8 ZFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES2904 cym REAL*8 ZBINT(KDLON,KFLEV+1) ! Intermediate variable2905 cym REAL*8 ZBSUI(KDLON) ! Intermediate variable2906 cym REAL*8,ZCTS(KDLON,KFLEV) ! Intermediate variable2907 cym REAL*8 ZCNTRB(KDLON,KFLEV+1,KFLEV+1) ! Intermediate variable2908 cym SAVE ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB2909 REAL*8,allocatable,save :: ZFLUX(:,:,:) ! RADIATIVE FLUXES (1:up; 2:down)2910 REAL*8,allocatable,save :: ZFLUC(:,:,:) ! CLEAR-SKY RADIATIVE FLUXES2911 REAL*8,allocatable,save :: ZBINT(:,:) ! Intermediate variable2912 REAL*8,allocatable,save :: ZBSUI(:) ! Intermediate variable2913 REAL*8,allocatable,save :: ZCTS(:,:) ! Intermediate variable2914 REAL*8,allocatable,save :: ZCNTRB(:,:,:) ! Intermediate variable2915 c$OMP THREADPRIVATE(ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB)2916 c2917 INTEGER ilim, i, k, kpl12918 C2919 INTEGER lw0pas ! Every lw0pas steps, clear-sky is done2920 PARAMETER (lw0pas=1)2921 INTEGER lwpas ! Every lwpas steps, cloudy-sky is done2922 PARAMETER (lwpas=1)2923 c2924 INTEGER itaplw0, itaplw2925 LOGICAL appel1er2926 SAVE appel1er, itaplw0, itaplw2927 c$OMP THREADPRIVATE(appel1er, itaplw0, itaplw)2928 DATA appel1er /.TRUE./2929 DATA itaplw0,itaplw /0,0/2930 2931 C ------------------------------------------------------------------2932 IF (appel1er) THEN2933 PRINT*, "LW clear-sky calling frequency: ", lw0pas2934 PRINT*, "LW cloudy-sky calling frequency: ", lwpas2935 PRINT*, " In general, they should be 1"2936 cym2937 allocate(ZFLUX(KDLON,2,KFLEV+1) )2938 allocate(ZFLUC(KDLON,2,KFLEV+1) )2939 allocate(ZBINT(KDLON,KFLEV+1))2940 allocate(ZBSUI(KDLON))2941 allocate(ZCTS(KDLON,KFLEV))2942 allocate(ZCNTRB(KDLON,KFLEV+1,KFLEV+1))2943 appel1er=.FALSE.2944 ENDIF2945 C2946 IF (MOD(itaplw0,lw0pas).EQ.0) THEN2947 DO k = 1, KFLEV ! convertir ozone de kg/kg en pa/pa2948 DO i = 1, KDLON2949 c convertir ozone de kg/kg en pa (modif MPL 100505)2950 ZOZ(i,k) = POZON(i,k)*PDP(i,k) * RMD/RMO32951 c print *,'LW: ZOZ*10**6=',ZOZ(i,k)*1000000.2952 ENDDO2953 ENDDO2954 cIM ctes ds clesphys.h CALL LWU(RCO2,RCH4, RN2O, RCFC11, RCFC12,2955 CALL LWU(2956 S PAER,PDP,PPMB,PPSOL,ZOZ,PTAVE,PVIEW,PWV,ZABCU)2957 CALL LWBV(ILIM,PDP,PDT0,PEMIS,PPMB,PTL,PTAVE,ZABCU,2958 S ZFLUC,ZBINT,ZBSUI,ZCTS,ZCNTRB)2959 itaplw0 = 02960 ENDIF2961 itaplw0 = itaplw0 + 12962 C2963 IF (MOD(itaplw,lwpas).EQ.0) THEN2964 CALL LWC(ILIM,PCLDLD,PCLDLU,PEMIS,2965 S ZFLUC,ZBINT,ZBSUI,ZCTS,ZCNTRB,2966 S ZFLUX)2967 itaplw = 02968 ENDIF2969 itaplw = itaplw + 12970 C2971 DO k = 1, KFLEV2972 kpl1 = k+12973 DO i = 1, KDLON2974 PCOLR(i,k) = ZFLUX(i,1,kpl1)+ZFLUX(i,2,kpl1)2975 . - ZFLUX(i,1,k)- ZFLUX(i,2,k)2976 PCOLR(i,k) = PCOLR(i,k) * RDAY*RG/RCPD / PDP(i,k)2977 PCOLR0(i,k) = ZFLUC(i,1,kpl1)+ZFLUC(i,2,kpl1)2978 . - ZFLUC(i,1,k)- ZFLUC(i,2,k)2979 PCOLR0(i,k) = PCOLR0(i,k) * RDAY*RG/RCPD / PDP(i,k)2980 ENDDO2981 ENDDO2982 DO i = 1, KDLON2983 PSOLLW(i) = -ZFLUX(i,1,1)-ZFLUX(i,2,1)2984 PTOPLW(i) = ZFLUX(i,1,KFLEV+1) + ZFLUX(i,2,KFLEV+1)2985 c2986 PSOLLW0(i) = -ZFLUC(i,1,1)-ZFLUC(i,2,1)2987 PTOPLW0(i) = ZFLUC(i,1,KFLEV+1) + ZFLUC(i,2,KFLEV+1)2988 psollwdown(i) = -ZFLUX(i,2,1)2989 c2990 cIM attention aux signes !; LWtop >0, LWdn < 02991 DO k = 1, KFLEV+12992 plwup(i,k) = ZFLUX(i,1,k)2993 plwup0(i,k) = ZFLUC(i,1,k)2994 plwdn(i,k) = ZFLUX(i,2,k)2995 plwdn0(i,k) = ZFLUC(i,2,k)2996 ENDDO2997 ENDDO2998 C ------------------------------------------------------------------2999 RETURN3000 END3001 cIM ctes ds clesphys.h SUBROUTINE LWU(RCO2, RCH4, RN2O, RCFC11, RCFC12,3002 SUBROUTINE LWU(3003 S PAER,PDP,PPMB,PPSOL,POZ,PTAVE,PVIEW,PWV,3004 S PABCU)3005 USE dimphy3006 IMPLICIT none3007 cym#include "dimensions.h"3008 cym#include "dimphy.h"3009 cym#include "raddim.h"3010 #include "raddimlw.h"3011 #include "YOMCST.h"3012 #include "radepsi.h"3013 #include "radopt.h"3014 C3015 C PURPOSE.3016 C --------3017 C COMPUTES ABSORBER AMOUNTS INCLUDING PRESSURE AND3018 C TEMPERATURE EFFECTS3019 C3020 C METHOD.3021 C -------3022 C3023 C 1. COMPUTES THE PRESSURE AND TEMPERATURE WEIGHTED AMOUNTS OF3024 C ABSORBERS.3025 C3026 C3027 C REFERENCE.3028 C ----------3029 C3030 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND3031 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS3032 C3033 C AUTHOR.3034 C -------3035 C JEAN-JACQUES MORCRETTE *ECMWF*3036 C3037 C MODIFICATIONS.3038 C --------------3039 C ORIGINAL : 89-07-143040 C Voigt lines (loop 404 modified) - JJM & PhD - 01/963041 C-----------------------------------------------------------------------3042 C* ARGUMENTS:3043 cIM ctes ds clesphys.h3044 c REAL*8 RCO23045 c REAL*8 RCH4, RN2O, RCFC11, RCFC123046 #include "clesphys.h"3047 REAL*8 PAER(KDLON,KFLEV,5)3048 REAL*8 PDP(KDLON,KFLEV)3049 REAL*8 PPMB(KDLON,KFLEV+1)3050 REAL*8 PPSOL(KDLON)3051 REAL*8 POZ(KDLON,KFLEV)3052 REAL*8 PTAVE(KDLON,KFLEV)3053 REAL*8 PVIEW(KDLON)3054 REAL*8 PWV(KDLON,KFLEV)3055 C3056 REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! EFFECTIVE ABSORBER AMOUNTS3057 C3058 C-----------------------------------------------------------------------3059 C* LOCAL VARIABLES:3060 REAL*8 ZABLY(KDLON,NUA,3*KFLEV+1)3061 REAL*8 ZDUC(KDLON,3*KFLEV+1)3062 REAL*8 ZPHIO(KDLON)3063 REAL*8 ZPSC2(KDLON)3064 REAL*8 ZPSC3(KDLON)3065 REAL*8 ZPSH1(KDLON)3066 REAL*8 ZPSH2(KDLON)3067 REAL*8 ZPSH3(KDLON)3068 REAL*8 ZPSH4(KDLON)3069 REAL*8 ZPSH5(KDLON)3070 REAL*8 ZPSH6(KDLON)3071 REAL*8 ZPSIO(KDLON)3072 REAL*8 ZTCON(KDLON)3073 REAL*8 ZPHM6(KDLON)3074 REAL*8 ZPSM6(KDLON)3075 REAL*8 ZPHN6(KDLON)3076 REAL*8 ZPSN6(KDLON)3077 REAL*8 ZSSIG(KDLON,3*KFLEV+1)3078 REAL*8 ZTAVI(KDLON)3079 REAL*8 ZUAER(KDLON,Ninter)3080 REAL*8 ZXOZ(KDLON)3081 REAL*8 ZXWV(KDLON)3082 C3083 INTEGER jl, jk, jkj, jkjr, jkjp, ig13084 INTEGER jki, jkip1, ja, jj3085 INTEGER jkl, jkp1, jkk, jkjpn3086 INTEGER jae1, jae2, jae3, jae, jjpn3087 INTEGER ir, jc, jcp13088 REAL*8 zdpm, zupm, zupmh2o, zupmco2, zupmo3, zu6, zup3089 REAL*8 zfppw, ztx, ztx2, zzably3090 REAL*8 zcah1, zcbh1, zcah2, zcbh2, zcah3, zcbh33091 REAL*8 zcah4, zcbh4, zcah5, zcbh5, zcah6, zcbh63092 REAL*8 zcac8, zcbc83093 REAL*8 zalup, zdiff3094 c3095 REAL*8 PVGCO2, PVGH2O, PVGO33096 C3097 REAL*8 R10E ! DECIMAL/NATURAL LOG.FACTOR3098 PARAMETER (R10E=0.4342945)3099 c3100 c Used Data Block:3101 c3102 REAL*8 TREF3103 SAVE TREF3104 c$OMP THREADPRIVATE(TREF)3105 REAL*8 RT1(2)3106 SAVE RT13107 c$OMP THREADPRIVATE(RT1)3108 REAL*8 RAER(5,5)3109 SAVE RAER3110 c$OMP THREADPRIVATE(RAER)3111 REAL*8 AT(8,3), BT(8,3)3112 SAVE AT, BT3113 c$OMP THREADPRIVATE(AT, BT)3114 REAL*8 OCT(4)3115 SAVE OCT3116 c$OMP THREADPRIVATE(OCT)3117 DATA TREF /250.0/3118 DATA (RT1(IG1),IG1=1,2) / -0.577350269, +0.577350269 /3119 DATA RAER / .038520, .037196, .040532, .054934, .0385203120 1 , .12613 , .18313 , .10357 , .064106, .1261303121 2 , .012579, .013649, .018652, .025181, .0125793122 3 , .011890, .016142, .021105, .028908, .0118903123 4 , .013792, .026810, .052203, .066338, .013792 /3124 DATA (AT(1,IR),IR=1,3) /3125 S 0.298199E-02,-.394023E-03,0.319566E-04 /3126 DATA (BT(1,IR),IR=1,3) /3127 S-0.106432E-04,0.660324E-06,0.174356E-06 /3128 DATA (AT(2,IR),IR=1,3) /3129 S 0.143676E-01,0.366501E-02,-.160822E-02 /3130 DATA (BT(2,IR),IR=1,3) /3131 S-0.553979E-04,-.101701E-04,0.920868E-05 /3132 DATA (AT(3,IR),IR=1,3) /3133 S 0.197861E-01,0.315541E-02,-.174547E-02 /3134 DATA (BT(3,IR),IR=1,3) /3135 S-0.877012E-04,0.513302E-04,0.523138E-06 /3136 DATA (AT(4,IR),IR=1,3) /3137 S 0.289560E-01,-.208807E-02,-.121943E-02 /3138 DATA (BT(4,IR),IR=1,3) /3139 S-0.165960E-03,0.157704E-03,-.146427E-04 /3140 DATA (AT(5,IR),IR=1,3) /3141 S 0.103800E-01,0.436296E-02,-.161431E-02 /3142 DATA (BT(5,IR),IR=1,3) /3143 S -.276744E-04,-.327381E-04,0.127646E-04 /3144 DATA (AT(6,IR),IR=1,3) /3145 S 0.868859E-02,-.972752E-03,0.000000E-00 /3146 DATA (BT(6,IR),IR=1,3) /3147 S -.278412E-04,-.713940E-06,0.117469E-05 /3148 DATA (AT(7,IR),IR=1,3) /3149 S 0.250073E-03,0.455875E-03,0.109242E-03 /3150 DATA (BT(7,IR),IR=1,3) /3151 S 0.199846E-05,-.216313E-05,0.175991E-06 /3152 DATA (AT(8,IR),IR=1,3) /3153 S 0.307423E-01,0.110879E-02,-.322172E-03 /3154 DATA (BT(8,IR),IR=1,3) /3155 S-0.108482E-03,0.258096E-05,-.814575E-06 /3156 c3157 DATA OCT /-.326E-03, -.102E-05, .137E-02, -.535E-05/3158 C-----------------------------------------------------------------------3159 c3160 IF (LEVOIGT) THEN3161 PVGCO2= 60.3162 PVGH2O= 30.3163 PVGO3 =400.3164 ELSE3165 PVGCO2= 0.3166 PVGH2O= 0.3167 PVGO3 = 0.3168 ENDIF3169 C3170 C3171 C* 2. PRESSURE OVER GAUSS SUB-LEVELS3172 C ------------------------------3173 C3174 200 CONTINUE3175 C3176 DO 201 JL = 1, KDLON3177 ZSSIG(JL, 1 ) = PPMB(JL,1) * 100.3178 201 CONTINUE3179 C3180 DO 206 JK = 1 , KFLEV3181 JKJ=(JK-1)*NG1P1+13182 JKJR = JKJ3183 JKJP = JKJ + NG1P13184 DO 203 JL = 1, KDLON3185 ZSSIG(JL,JKJP)=PPMB(JL,JK+1)* 100.3186 203 CONTINUE3187 DO 205 IG1=1,NG13188 JKJ=JKJ+13189 DO 204 JL = 1, KDLON3190 ZSSIG(JL,JKJ)= (ZSSIG(JL,JKJR)+ZSSIG(JL,JKJP))*0.53191 S + RT1(IG1) * (ZSSIG(JL,JKJP) - ZSSIG(JL,JKJR)) * 0.53192 204 CONTINUE3193 205 CONTINUE3194 206 CONTINUE3195 C3196 C-----------------------------------------------------------------------3197 C3198 C3199 C* 4. PRESSURE THICKNESS AND MEAN PRESSURE OF SUB-LAYERS3200 C --------------------------------------------------3201 C3202 400 CONTINUE3203 C3204 DO 402 JKI=1,3*KFLEV3205 JKIP1=JKI+13206 DO 401 JL = 1, KDLON3207 ZABLY(JL,5,JKI)=(ZSSIG(JL,JKI)+ZSSIG(JL,JKIP1))*0.53208 ZABLY(JL,3,JKI)=(ZSSIG(JL,JKI)-ZSSIG(JL,JKIP1))3209 S /(10.*RG)3210 401 CONTINUE3211 402 CONTINUE3212 C3213 DO 406 JK = 1 , KFLEV3214 JKP1=JK+13215 JKL = KFLEV+1 - JK3216 DO 403 JL = 1, KDLON3217 ZXWV(JL) = MAX (PWV(JL,JK) , ZEPSCQ )3218 ZXOZ(JL) = MAX (POZ(JL,JK) / PDP(JL,JK) , ZEPSCO )3219 403 CONTINUE3220 JKJ=(JK-1)*NG1P1+13221 JKJPN=JKJ+NG13222 DO 405 JKK=JKJ,JKJPN3223 DO 404 JL = 1, KDLON3224 ZDPM = ZABLY(JL,3,JKK)3225 ZUPM = ZABLY(JL,5,JKK) * ZDPM / 101325.3226 ZUPMCO2 = ( ZABLY(JL,5,JKK) + PVGCO2 ) * ZDPM / 101325.3227 ZUPMH2O = ( ZABLY(JL,5,JKK) + PVGH2O ) * ZDPM / 101325.3228 ZUPMO3 = ( ZABLY(JL,5,JKK) + PVGO3 ) * ZDPM / 101325.3229 ZDUC(JL,JKK) = ZDPM3230 ZABLY(JL,12,JKK) = ZXOZ(JL) * ZDPM3231 ZABLY(JL,13,JKK) = ZXOZ(JL) * ZUPMO33232 ZU6 = ZXWV(JL) * ZUPM3233 ZFPPW = 1.6078 * ZXWV(JL) / (1.+0.608*ZXWV(JL))3234 ZABLY(JL,6,JKK) = ZXWV(JL) * ZUPMH2O3235 ZABLY(JL,11,JKK) = ZU6 * ZFPPW3236 ZABLY(JL,10,JKK) = ZU6 * (1.-ZFPPW)3237 ZABLY(JL,9,JKK) = RCO2 * ZUPMCO23238 ZABLY(JL,8,JKK) = RCO2 * ZDPM3239 404 CONTINUE3240 405 CONTINUE3241 406 CONTINUE3242 C3243 C-----------------------------------------------------------------------3244 C3245 C3246 C* 5. CUMULATIVE ABSORBER AMOUNTS FROM TOP OF ATMOSPHERE3247 C --------------------------------------------------3248 C3249 500 CONTINUE3250 C3251 DO 502 JA = 1, NUA3252 DO 501 JL = 1, KDLON3253 PABCU(JL,JA,3*KFLEV+1) = 0.3254 501 CONTINUE3255 502 CONTINUE3256 C3257 DO 529 JK = 1 , KFLEV3258 JJ=(JK-1)*NG1P1+13259 JJPN=JJ+NG13260 JKL=KFLEV+1-JK3261 C3262 C3263 C* 5.1 CUMULATIVE AEROSOL AMOUNTS FROM TOP OF ATMOSPHERE3264 C --------------------------------------------------3265 C3266 510 CONTINUE3267 C3268 JAE1=3*KFLEV+1-JJ3269 JAE2=3*KFLEV+1-(JJ+1)3270 JAE3=3*KFLEV+1-JJPN3271 DO 512 JAE=1,53272 DO 511 JL = 1, KDLON3273 ZUAER(JL,JAE) = (RAER(JAE,1)*PAER(JL,JKL,1)3274 S +RAER(JAE,2)*PAER(JL,JKL,2)+RAER(JAE,3)*PAER(JL,JKL,3)3275 S +RAER(JAE,4)*PAER(JL,JKL,4)+RAER(JAE,5)*PAER(JL,JKL,5))3276 S /(ZDUC(JL,JAE1)+ZDUC(JL,JAE2)+ZDUC(JL,JAE3))3277 511 CONTINUE3278 512 CONTINUE3279 C3280 C3281 C3282 C* 5.2 INTRODUCES TEMPERATURE EFFECTS ON ABSORBER AMOUNTS3283 C --------------------------------------------------3284 C3285 520 CONTINUE3286 C3287 DO 521 JL = 1, KDLON3288 ZTAVI(JL)=PTAVE(JL,JKL)3289 ZTCON(JL)=EXP(6.08*(296./ZTAVI(JL)-1.))3290 ZTX=ZTAVI(JL)-TREF3291 ZTX2=ZTX*ZTX3292 ZZABLY = ZABLY(JL,6,JAE1)+ZABLY(JL,6,JAE2)+ZABLY(JL,6,JAE3)3293 CMAF ZUP=MIN( MAX( 0.5*R10E*LOG( ZZABLY ) + 5., 0.), 6.0)3294 ZUP=MIN( MAX( 0.5*R10E*LOG( ZZABLY ) + 5., 0.d+0), 6.d+0)3295 ZCAH1=AT(1,1)+ZUP*(AT(1,2)+ZUP*(AT(1,3)))3296 ZCBH1=BT(1,1)+ZUP*(BT(1,2)+ZUP*(BT(1,3)))3297 ZPSH1(JL)=EXP( ZCAH1 * ZTX + ZCBH1 * ZTX2 )3298 ZCAH2=AT(2,1)+ZUP*(AT(2,2)+ZUP*(AT(2,3)))3299 ZCBH2=BT(2,1)+ZUP*(BT(2,2)+ZUP*(BT(2,3)))3300 ZPSH2(JL)=EXP( ZCAH2 * ZTX + ZCBH2 * ZTX2 )3301 ZCAH3=AT(3,1)+ZUP*(AT(3,2)+ZUP*(AT(3,3)))3302 ZCBH3=BT(3,1)+ZUP*(BT(3,2)+ZUP*(BT(3,3)))3303 ZPSH3(JL)=EXP( ZCAH3 * ZTX + ZCBH3 * ZTX2 )3304 ZCAH4=AT(4,1)+ZUP*(AT(4,2)+ZUP*(AT(4,3)))3305 ZCBH4=BT(4,1)+ZUP*(BT(4,2)+ZUP*(BT(4,3)))3306 ZPSH4(JL)=EXP( ZCAH4 * ZTX + ZCBH4 * ZTX2 )3307 ZCAH5=AT(5,1)+ZUP*(AT(5,2)+ZUP*(AT(5,3)))3308 ZCBH5=BT(5,1)+ZUP*(BT(5,2)+ZUP*(BT(5,3)))3309 ZPSH5(JL)=EXP( ZCAH5 * ZTX + ZCBH5 * ZTX2 )3310 ZCAH6=AT(6,1)+ZUP*(AT(6,2)+ZUP*(AT(6,3)))3311 ZCBH6=BT(6,1)+ZUP*(BT(6,2)+ZUP*(BT(6,3)))3312 ZPSH6(JL)=EXP( ZCAH6 * ZTX + ZCBH6 * ZTX2 )3313 ZPHM6(JL)=EXP(-5.81E-4 * ZTX - 1.13E-6 * ZTX2 )3314 ZPSM6(JL)=EXP(-5.57E-4 * ZTX - 3.30E-6 * ZTX2 )3315 ZPHN6(JL)=EXP(-3.46E-5 * ZTX + 2.05E-7 * ZTX2 )3316 ZPSN6(JL)=EXP( 3.70E-3 * ZTX - 2.30E-6 * ZTX2 )3317 521 CONTINUE3318 C3319 DO 522 JL = 1, KDLON3320 ZTAVI(JL)=PTAVE(JL,JKL)3321 ZTX=ZTAVI(JL)-TREF3322 ZTX2=ZTX*ZTX3323 ZZABLY = ZABLY(JL,9,JAE1)+ZABLY(JL,9,JAE2)+ZABLY(JL,9,JAE3)3324 ZALUP = R10E * LOG ( ZZABLY )3325 CMAF ZUP = MAX( 0.0 , 5.0 + 0.5 * ZALUP )3326 ZUP = MAX( 0.d+0 , 5.0 + 0.5 * ZALUP )3327 ZPSC2(JL) = (ZTAVI(JL)/TREF) ** ZUP3328 ZCAC8=AT(8,1)+ZUP*(AT(8,2)+ZUP*(AT(8,3)))3329 ZCBC8=BT(8,1)+ZUP*(BT(8,2)+ZUP*(BT(8,3)))3330 ZPSC3(JL)=EXP( ZCAC8 * ZTX + ZCBC8 * ZTX2 )3331 ZPHIO(JL) = EXP( OCT(1) * ZTX + OCT(2) * ZTX2)3332 ZPSIO(JL) = EXP( 2.* (OCT(3)*ZTX+OCT(4)*ZTX2))3333 522 CONTINUE3334 C3335 DO 524 JKK=JJ,JJPN3336 JC=3*KFLEV+1-JKK3337 JCP1=JC+13338 DO 523 JL = 1, KDLON3339 ZDIFF = PVIEW(JL)3340 PABCU(JL,10,JC)=PABCU(JL,10,JCP1)3341 S +ZABLY(JL,10,JC) *ZDIFF3342 PABCU(JL,11,JC)=PABCU(JL,11,JCP1)3343 S +ZABLY(JL,11,JC)*ZTCON(JL)*ZDIFF3344 C3345 PABCU(JL,12,JC)=PABCU(JL,12,JCP1)3346 S +ZABLY(JL,12,JC)*ZPHIO(JL)*ZDIFF3347 PABCU(JL,13,JC)=PABCU(JL,13,JCP1)3348 S +ZABLY(JL,13,JC)*ZPSIO(JL)*ZDIFF3349 C3350 PABCU(JL,7,JC)=PABCU(JL,7,JCP1)3351 S +ZABLY(JL,9,JC)*ZPSC2(JL)*ZDIFF3352 PABCU(JL,8,JC)=PABCU(JL,8,JCP1)3353 S +ZABLY(JL,9,JC)*ZPSC3(JL)*ZDIFF3354 PABCU(JL,9,JC)=PABCU(JL,9,JCP1)3355 S +ZABLY(JL,9,JC)*ZPSC3(JL)*ZDIFF3356 C3357 PABCU(JL,1,JC)=PABCU(JL,1,JCP1)3358 S +ZABLY(JL,6,JC)*ZPSH1(JL)*ZDIFF3359 PABCU(JL,2,JC)=PABCU(JL,2,JCP1)3360 S +ZABLY(JL,6,JC)*ZPSH2(JL)*ZDIFF3361 PABCU(JL,3,JC)=PABCU(JL,3,JCP1)3362 S +ZABLY(JL,6,JC)*ZPSH5(JL)*ZDIFF3363 PABCU(JL,4,JC)=PABCU(JL,4,JCP1)3364 S +ZABLY(JL,6,JC)*ZPSH3(JL)*ZDIFF3365 PABCU(JL,5,JC)=PABCU(JL,5,JCP1)3366 S +ZABLY(JL,6,JC)*ZPSH4(JL)*ZDIFF3367 PABCU(JL,6,JC)=PABCU(JL,6,JCP1)3368 S +ZABLY(JL,6,JC)*ZPSH6(JL)*ZDIFF3369 C3370 PABCU(JL,14,JC)=PABCU(JL,14,JCP1)3371 S +ZUAER(JL,1) *ZDUC(JL,JC)*ZDIFF3372 PABCU(JL,15,JC)=PABCU(JL,15,JCP1)3373 S +ZUAER(JL,2) *ZDUC(JL,JC)*ZDIFF3374 PABCU(JL,16,JC)=PABCU(JL,16,JCP1)3375 S +ZUAER(JL,3) *ZDUC(JL,JC)*ZDIFF3376 PABCU(JL,17,JC)=PABCU(JL,17,JCP1)3377 S +ZUAER(JL,4) *ZDUC(JL,JC)*ZDIFF3378 PABCU(JL,18,JC)=PABCU(JL,18,JCP1)3379 S +ZUAER(JL,5) *ZDUC(JL,JC)*ZDIFF3380 C3381 PABCU(JL,19,JC)=PABCU(JL,19,JCP1)3382 S +ZABLY(JL,8,JC)*RCH4/RCO2*ZPHM6(JL)*ZDIFF3383 PABCU(JL,20,JC)=PABCU(JL,20,JCP1)3384 S +ZABLY(JL,9,JC)*RCH4/RCO2*ZPSM6(JL)*ZDIFF3385 PABCU(JL,21,JC)=PABCU(JL,21,JCP1)3386 S +ZABLY(JL,8,JC)*RN2O/RCO2*ZPHN6(JL)*ZDIFF3387 PABCU(JL,22,JC)=PABCU(JL,22,JCP1)3388 S +ZABLY(JL,9,JC)*RN2O/RCO2*ZPSN6(JL)*ZDIFF3389 C3390 PABCU(JL,23,JC)=PABCU(JL,23,JCP1)3391 S +ZABLY(JL,8,JC)*RCFC11/RCO2 *ZDIFF3392 PABCU(JL,24,JC)=PABCU(JL,24,JCP1)3393 S +ZABLY(JL,8,JC)*RCFC12/RCO2 *ZDIFF3394 523 CONTINUE3395 524 CONTINUE3396 C3397 529 CONTINUE3398 C3399 C3400 RETURN3401 END3402 SUBROUTINE LWBV(KLIM,PDP,PDT0,PEMIS,PPMB,PTL,PTAVE,PABCU,3403 S PFLUC,PBINT,PBSUI,PCTS,PCNTRB)3404 USE dimphy3405 IMPLICIT none3406 cym#include "dimensions.h"3407 cym#include "dimphy.h"3408 cym#include "raddim.h"3409 #include "raddimlw.h"3410 #include "YOMCST.h"3411 C3412 C PURPOSE.3413 C --------3414 C TO COMPUTE THE PLANCK FUNCTION AND PERFORM THE3415 C VERTICAL INTEGRATION. SPLIT OUT FROM LW FOR MEMORY3416 C SAVING3417 C3418 C METHOD.3419 C -------3420 C3421 C 1. COMPUTES THE PLANCK FUNCTIONS ON THE INTERFACES AND THE3422 C GRADIENT OF PLANCK FUNCTIONS IN THE LAYERS.3423 C 2. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING THE CON-3424 C TRIBUTIONS OF THE ADJACENT AND DISTANT LAYERS AND THOSE FROM THE3425 C BOUNDARIES.3426 C 3. COMPUTES THE CLEAR-SKY COOLING RATES.3427 C3428 C REFERENCE.3429 C ----------3430 C3431 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND3432 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS3433 C3434 C AUTHOR.3435 C -------3436 C JEAN-JACQUES MORCRETTE *ECMWF*3437 C3438 C MODIFICATIONS.3439 C --------------3440 C ORIGINAL : 89-07-143441 C MODIFICATION : 93-10-15 M.HAMRUD (SPLIT OUT FROM LW TO SAVE3442 C MEMORY)3443 C-----------------------------------------------------------------------3444 C* ARGUMENTS:3445 INTEGER KLIM3446 C3447 REAL*8 PDP(KDLON,KFLEV)3448 REAL*8 PDT0(KDLON)3449 REAL*8 PEMIS(KDLON)3450 REAL*8 PPMB(KDLON,KFLEV+1)3451 REAL*8 PTL(KDLON,KFLEV+1)3452 REAL*8 PTAVE(KDLON,KFLEV)3453 C3454 REAL*8 PFLUC(KDLON,2,KFLEV+1)3455 C3456 REAL*8 PABCU(KDLON,NUA,3*KFLEV+1)3457 REAL*8 PBINT(KDLON,KFLEV+1)3458 REAL*8 PBSUI(KDLON)3459 REAL*8 PCTS(KDLON,KFLEV)3460 REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1)3461 C3462 C-------------------------------------------------------------------------3463 C3464 C* LOCAL VARIABLES:3465 REAL*8 ZB(KDLON,Ninter,KFLEV+1)3466 REAL*8 ZBSUR(KDLON,Ninter)3467 REAL*8 ZBTOP(KDLON,Ninter)3468 REAL*8 ZDBSL(KDLON,Ninter,KFLEV*2)3469 REAL*8 ZGA(KDLON,8,2,KFLEV)3470 REAL*8 ZGB(KDLON,8,2,KFLEV)3471 REAL*8 ZGASUR(KDLON,8,2)3472 REAL*8 ZGBSUR(KDLON,8,2)3473 REAL*8 ZGATOP(KDLON,8,2)3474 REAL*8 ZGBTOP(KDLON,8,2)3475 C3476 INTEGER nuaer, ntraer3477 C ------------------------------------------------------------------3478 C* COMPUTES PLANCK FUNCTIONS:3479 CALL LWB(PDT0,PTAVE,PTL,3480 S ZB,PBINT,PBSUI,ZBSUR,ZBTOP,ZDBSL,3481 S ZGA,ZGB,ZGASUR,ZGBSUR,ZGATOP,ZGBTOP)3482 C ------------------------------------------------------------------3483 C* PERFORMS THE VERTICAL INTEGRATION:3484 NUAER = NUA3485 NTRAER = NTRA3486 CALL LWV(NUAER,NTRAER, KLIM3487 R , PABCU,ZB,PBINT,PBSUI,ZBSUR,ZBTOP,ZDBSL,PEMIS,PPMB,PTAVE3488 R , ZGA,ZGB,ZGASUR,ZGBSUR,ZGATOP,ZGBTOP3489 S , PCNTRB,PCTS,PFLUC)3490 C ------------------------------------------------------------------3491 RETURN3492 END3493 SUBROUTINE LWC(KLIM,PCLDLD,PCLDLU,PEMIS,PFLUC,3494 R PBINT,PBSUIN,PCTS,PCNTRB,3495 S PFLUX)3496 USE dimphy3497 IMPLICIT none3498 cym#include "dimensions.h"3499 cym#include "dimphy.h"3500 cym#include "raddim.h"3501 #include "radepsi.h"3502 #include "radopt.h"3503 C3504 C PURPOSE.3505 C --------3506 C INTRODUCES CLOUD EFFECTS ON LONGWAVE FLUXES OR3507 C RADIANCES3508 C3509 C EXPLICIT ARGUMENTS :3510 C --------------------3511 C ==== INPUTS ===3512 C PBINT : (KDLON,0:KFLEV) ; HALF LEVEL PLANCK FUNCTION3513 C PBSUIN : (KDLON) ; SURFACE PLANCK FUNCTION3514 C PCLDLD : (KDLON,KFLEV) ; DOWNWARD EFFECTIVE CLOUD FRACTION3515 C PCLDLU : (KDLON,KFLEV) ; UPWARD EFFECTIVE CLOUD FRACTION3516 C PCNTRB : (KDLON,KFLEV+1,KFLEV+1); CLEAR-SKY ENERGY EXCHANGE3517 C PCTS : (KDLON,KFLEV) ; CLEAR-SKY LAYER COOLING-TO-SPACE3518 C PEMIS : (KDLON) ; SURFACE EMISSIVITY3519 C PFLUC3520 C ==== OUTPUTS ===3521 C PFLUX(KDLON,2,KFLEV) ; RADIATIVE FLUXES :3522 C 1 ==> UPWARD FLUX TOTAL3523 C 2 ==> DOWNWARD FLUX TOTAL3524 C3525 C METHOD.3526 C -------3527 C3528 C 1. INITIALIZES ALL FLUXES TO CLEAR-SKY VALUES3529 C 2. EFFECT OF ONE OVERCAST UNITY EMISSIVITY CLOUD LAYER3530 C 3. EFFECT OF SEMI-TRANSPARENT, PARTIAL OR MULTI-LAYERED3531 C CLOUDS3532 C3533 C REFERENCE.3534 C ----------3535 C3536 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND3537 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS3538 C3539 C AUTHOR.3540 C -------3541 C JEAN-JACQUES MORCRETTE *ECMWF*3542 C3543 C MODIFICATIONS.3544 C --------------3545 C ORIGINAL : 89-07-143546 C Voigt lines (loop 231 to 233) - JJM & PhD - 01/963547 C-----------------------------------------------------------------------3548 C* ARGUMENTS:3549 INTEGER klim3550 REAL*8 PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES3551 REAL*8 PBINT(KDLON,KFLEV+1) ! HALF LEVEL PLANCK FUNCTION3552 REAL*8 PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION3553 REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) !CLEAR-SKY ENERGY EXCHANGE3554 REAL*8 PCTS(KDLON,KFLEV) ! CLEAR-SKY LAYER COOLING-TO-SPACE3555 c3556 REAL*8 PCLDLD(KDLON,KFLEV)3557 REAL*8 PCLDLU(KDLON,KFLEV)3558 REAL*8 PEMIS(KDLON)3559 C3560 REAL*8 PFLUX(KDLON,2,KFLEV+1)3561 C-----------------------------------------------------------------------3562 C* LOCAL VARIABLES:3563 INTEGER IMX(KDLON), IMXP(KDLON)3564 C3565 REAL*8 ZCLEAR(KDLON),ZCLOUD(KDLON),ZDNF(KDLON,KFLEV+1,KFLEV+1)3566 S , ZFD(KDLON), ZFN10(KDLON), ZFU(KDLON)3567 S , ZUPF(KDLON,KFLEV+1,KFLEV+1)3568 REAL*8 ZCLM(KDLON,KFLEV+1,KFLEV+1)3569 C3570 INTEGER jk, jl, imaxc, imx1, imx2, jkj, jkp1, jkm13571 INTEGER jk1, jk2, jkc, jkcp1, jcloud3572 INTEGER imxm1, imxp13573 REAL*8 zcfrac3574 C ------------------------------------------------------------------3575 C3576 C* 1. INITIALIZATION3577 C --------------3578 C3579 100 CONTINUE3580 C3581 IMAXC = 03582 C3583 DO 101 JL = 1, KDLON3584 IMX(JL)=03585 IMXP(JL)=03586 ZCLOUD(JL) = 0.3587 101 CONTINUE3588 C3589 C* 1.1 SEARCH THE LAYER INDEX OF THE HIGHEST CLOUD3590 C -------------------------------------------3591 C3592 110 CONTINUE3593 C3594 DO 112 JK = 1 , KFLEV3595 DO 111 JL = 1, KDLON3596 IMX1=IMX(JL)3597 IMX2=JK3598 IF (PCLDLU(JL,JK).GT.ZEPSC) THEN3599 IMXP(JL)=IMX23600 ELSE3601 IMXP(JL)=IMX13602 END IF3603 IMAXC=MAX(IMXP(JL),IMAXC)3604 IMX(JL)=IMXP(JL)3605 111 CONTINUE3606 112 CONTINUE3607 CGM*******3608 IMAXC=KFLEV3609 CGM*******3610 C3611 DO 114 JK = 1 , KFLEV+13612 DO 113 JL = 1, KDLON3613 PFLUX(JL,1,JK) = PFLUC(JL,1,JK)3614 PFLUX(JL,2,JK) = PFLUC(JL,2,JK)3615 113 CONTINUE3616 114 CONTINUE3617 C3618 C ------------------------------------------------------------------3619 C3620 C* 2. EFFECT OF CLOUDINESS ON LONGWAVE FLUXES3621 C ---------------------------------------3622 C3623 IF (IMAXC.GT.0) THEN3624 C3625 IMXP1 = IMAXC + 13626 IMXM1 = IMAXC - 13627 C3628 C* 2.0 INITIALIZE TO CLEAR-SKY FLUXES3629 C ------------------------------3630 C3631 200 CONTINUE3632 C3633 DO 203 JK1=1,KFLEV+13634 DO 202 JK2=1,KFLEV+13635 DO 201 JL = 1, KDLON3636 ZUPF(JL,JK2,JK1)=PFLUC(JL,1,JK1)3637 ZDNF(JL,JK2,JK1)=PFLUC(JL,2,JK1)3638 201 CONTINUE3639 202 CONTINUE3640 203 CONTINUE3641 C3642 C* 2.1 FLUXES FOR ONE OVERCAST UNITY EMISSIVITY CLOUD3643 C ----------------------------------------------3644 C3645 210 CONTINUE3646 C3647 DO 213 JKC = 1 , IMAXC3648 JCLOUD=JKC3649 JKCP1=JCLOUD+13650 C3651 C* 2.1.1 ABOVE THE CLOUD3652 C ---------------3653 C3654 2110 CONTINUE3655 C3656 DO 2115 JK=JKCP1,KFLEV+13657 JKM1=JK-13658 DO 2111 JL = 1, KDLON3659 ZFU(JL)=0.3660 2111 CONTINUE3661 IF (JK .GT. JKCP1) THEN3662 DO 2113 JKJ=JKCP1,JKM13663 DO 2112 JL = 1, KDLON3664 ZFU(JL) = ZFU(JL) + PCNTRB(JL,JK,JKJ)3665 2112 CONTINUE3666 2113 CONTINUE3667 END IF3668 C3669 DO 2114 JL = 1, KDLON3670 ZUPF(JL,JKCP1,JK)=PBINT(JL,JK)-ZFU(JL)3671 2114 CONTINUE3672 2115 CONTINUE3673 C3674 C* 2.1.2 BELOW THE CLOUD3675 C ---------------3676 C3677 2120 CONTINUE3678 C3679 DO 2125 JK=1,JCLOUD3680 JKP1=JK+13681 DO 2121 JL = 1, KDLON3682 ZFD(JL)=0.3683 2121 CONTINUE3684 C3685 IF (JK .LT. JCLOUD) THEN3686 DO 2123 JKJ=JKP1,JCLOUD3687 DO 2122 JL = 1, KDLON3688 ZFD(JL) = ZFD(JL) + PCNTRB(JL,JK,JKJ)3689 2122 CONTINUE3690 2123 CONTINUE3691 END IF3692 DO 2124 JL = 1, KDLON3693 ZDNF(JL,JKCP1,JK)=-PBINT(JL,JK)-ZFD(JL)3694 2124 CONTINUE3695 2125 CONTINUE3696 C3697 213 CONTINUE3698 C3699 C3700 C* 2.2 CLOUD COVER MATRIX3701 C ------------------3702 C3703 C* ZCLM(JK1,JK2) IS THE OBSCURATION FACTOR BY CLOUD LAYERS BETWEEN3704 C HALF-LEVELS JK1 AND JK2 AS SEEN FROM JK13705 C3706 220 CONTINUE3707 C3708 DO 223 JK1 = 1 , KFLEV+13709 DO 222 JK2 = 1 , KFLEV+13710 DO 221 JL = 1, KDLON3711 ZCLM(JL,JK1,JK2) = 0.3712 221 CONTINUE3713 222 CONTINUE3714 223 CONTINUE3715 C3716 C3717 C3718 C* 2.4 CLOUD COVER BELOW THE LEVEL OF CALCULATION3719 C ------------------------------------------3720 C3721 240 CONTINUE3722 C3723 DO 244 JK1 = 2 , KFLEV+13724 DO 241 JL = 1, KDLON3725 ZCLEAR(JL)=1.3726 ZCLOUD(JL)=0.3727 241 CONTINUE3728 DO 243 JK = JK1 - 1 , 1 , -13729 DO 242 JL = 1, KDLON3730 IF (NOVLP.EQ.1) THEN3731 c* maximum-random3732 ZCLEAR(JL)=ZCLEAR(JL)*(1.0-MAX(PCLDLU(JL,JK),ZCLOUD(JL)))3733 * /(1.0-MIN(ZCLOUD(JL),1.-ZEPSEC))3734 ZCLM(JL,JK1,JK) = 1.0 - ZCLEAR(JL)3735 ZCLOUD(JL) = PCLDLU(JL,JK)3736 ELSE IF (NOVLP.EQ.2) THEN3737 c* maximum3738 ZCLOUD(JL) = MAX(ZCLOUD(JL) , PCLDLU(JL,JK))3739 ZCLM(JL,JK1,JK) = ZCLOUD(JL)3740 ELSE IF (NOVLP.EQ.3) THEN3741 c* random3742 ZCLEAR(JL) = ZCLEAR(JL)*(1.0 - PCLDLU(JL,JK))3743 ZCLOUD(JL) = 1.0 - ZCLEAR(JL)3744 ZCLM(JL,JK1,JK) = ZCLOUD(JL)3745 END IF3746 242 CONTINUE3747 243 CONTINUE3748 244 CONTINUE3749 C3750 C3751 C* 2.5 CLOUD COVER ABOVE THE LEVEL OF CALCULATION3752 C ------------------------------------------3753 C3754 250 CONTINUE3755 C3756 DO 254 JK1 = 1 , KFLEV3757 DO 251 JL = 1, KDLON3758 ZCLEAR(JL)=1.3759 ZCLOUD(JL)=0.3760 251 CONTINUE3761 DO 253 JK = JK1 , KFLEV3762 DO 252 JL = 1, KDLON3763 IF (NOVLP.EQ.1) THEN3764 c* maximum-random3765 ZCLEAR(JL)=ZCLEAR(JL)*(1.0-MAX(PCLDLD(JL,JK),ZCLOUD(JL)))3766 * /(1.0-MIN(ZCLOUD(JL),1.-ZEPSEC))3767 ZCLM(JL,JK1,JK) = 1.0 - ZCLEAR(JL)3768 ZCLOUD(JL) = PCLDLD(JL,JK)3769 ELSE IF (NOVLP.EQ.2) THEN3770 c* maximum3771 ZCLOUD(JL) = MAX(ZCLOUD(JL) , PCLDLD(JL,JK))3772 ZCLM(JL,JK1,JK) = ZCLOUD(JL)3773 ELSE IF (NOVLP.EQ.3) THEN3774 c* random3775 ZCLEAR(JL) = ZCLEAR(JL)*(1.0 - PCLDLD(JL,JK))3776 ZCLOUD(JL) = 1.0 - ZCLEAR(JL)3777 ZCLM(JL,JK1,JK) = ZCLOUD(JL)3778 END IF3779 252 CONTINUE3780 253 CONTINUE3781 254 CONTINUE3782 C3783 C3784 C3785 C* 3. FLUXES FOR PARTIAL/MULTIPLE LAYERED CLOUDINESS3786 C ----------------------------------------------3787 C3788 300 CONTINUE3789 C3790 C* 3.1 DOWNWARD FLUXES3791 C ---------------3792 C3793 310 CONTINUE3794 C3795 DO 311 JL = 1, KDLON3796 PFLUX(JL,2,KFLEV+1) = 0.3797 311 CONTINUE3798 C3799 DO 317 JK1 = KFLEV , 1 , -13800 C3801 C* CONTRIBUTION FROM CLEAR-SKY FRACTION3802 C3803 DO 312 JL = 1, KDLON3804 ZFD (JL) = (1. - ZCLM(JL,JK1,KFLEV)) * ZDNF(JL,1,JK1)3805 312 CONTINUE3806 C3807 C* CONTRIBUTION FROM ADJACENT CLOUD3808 C3809 DO 313 JL = 1, KDLON3810 ZFD(JL) = ZFD(JL) + ZCLM(JL,JK1,JK1) * ZDNF(JL,JK1+1,JK1)3811 313 CONTINUE3812 C3813 C* CONTRIBUTION FROM OTHER CLOUDY FRACTIONS3814 C3815 DO 315 JK = KFLEV-1 , JK1 , -13816 DO 314 JL = 1, KDLON3817 ZCFRAC = ZCLM(JL,JK1,JK+1) - ZCLM(JL,JK1,JK)3818 ZFD(JL) = ZFD(JL) + ZCFRAC * ZDNF(JL,JK+2,JK1)3819 314 CONTINUE3820 315 CONTINUE3821 C3822 DO 316 JL = 1, KDLON3823 PFLUX(JL,2,JK1) = ZFD (JL)3824 316 CONTINUE3825 C3826 317 CONTINUE3827 C3828 C3829 C3830 C3831 C* 3.2 UPWARD FLUX AT THE SURFACE3832 C --------------------------3833 C3834 320 CONTINUE3835 C3836 DO 321 JL = 1, KDLON3837 PFLUX(JL,1,1) = PEMIS(JL)*PBSUIN(JL)-(1.-PEMIS(JL))*PFLUX(JL,2,1)3838 321 CONTINUE3839 C3840 C3841 C3842 C* 3.3 UPWARD FLUXES3843 C -------------3844 C3845 330 CONTINUE3846 C3847 DO 337 JK1 = 2 , KFLEV+13848 C3849 C* CONTRIBUTION FROM CLEAR-SKY FRACTION3850 C3851 DO 332 JL = 1, KDLON3852 ZFU (JL) = (1. - ZCLM(JL,JK1,1)) * ZUPF(JL,1,JK1)3853 332 CONTINUE3854 C3855 C* CONTRIBUTION FROM ADJACENT CLOUD3856 C3857 DO 333 JL = 1, KDLON3858 ZFU(JL) = ZFU(JL) + ZCLM(JL,JK1,JK1-1) * ZUPF(JL,JK1,JK1)3859 333 CONTINUE3860 C3861 C* CONTRIBUTION FROM OTHER CLOUDY FRACTIONS3862 C3863 DO 335 JK = 2 , JK1-13864 DO 334 JL = 1, KDLON3865 ZCFRAC = ZCLM(JL,JK1,JK-1) - ZCLM(JL,JK1,JK)3866 ZFU(JL) = ZFU(JL) + ZCFRAC * ZUPF(JL,JK ,JK1)3867 334 CONTINUE3868 335 CONTINUE3869 C3870 DO 336 JL = 1, KDLON3871 PFLUX(JL,1,JK1) = ZFU (JL)3872 336 CONTINUE3873 C3874 337 CONTINUE3875 C3876 C3877 END IF3878 C3879 C3880 C* 2.3 END OF CLOUD EFFECT COMPUTATIONS3881 C3882 230 CONTINUE3883 C3884 IF (.NOT.LEVOIGT) THEN3885 DO 231 JL = 1, KDLON3886 ZFN10(JL) = PFLUX(JL,1,KLIM) + PFLUX(JL,2,KLIM)3887 231 CONTINUE3888 DO 233 JK = KLIM+1 , KFLEV+13889 DO 232 JL = 1, KDLON3890 ZFN10(JL) = ZFN10(JL) + PCTS(JL,JK-1)3891 PFLUX(JL,1,JK) = ZFN10(JL)3892 PFLUX(JL,2,JK) = 0.03893 232 CONTINUE3894 233 CONTINUE3895 ENDIF3896 C3897 RETURN3898 END3899 SUBROUTINE LWB(PDT0,PTAVE,PTL3900 S , PB,PBINT,PBSUIN,PBSUR,PBTOP,PDBSL3901 S , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP)3902 USE dimphy3903 IMPLICIT none3904 cym#include "dimensions.h"3905 cym#include "dimphy.h"3906 cym#include "raddim.h"3907 #include "raddimlw.h"3908 C3909 C-----------------------------------------------------------------------3910 C PURPOSE.3911 C --------3912 C COMPUTES PLANCK FUNCTIONS3913 C3914 C EXPLICIT ARGUMENTS :3915 C --------------------3916 C ==== INPUTS ===3917 C PDT0 : (KDLON) ; SURFACE TEMPERATURE DISCONTINUITY3918 C PTAVE : (KDLON,KFLEV) ; TEMPERATURE3919 C PTL : (KDLON,0:KFLEV) ; HALF LEVEL TEMPERATURE3920 C ==== OUTPUTS ===3921 C PB : (KDLON,Ninter,KFLEV+1); SPECTRAL HALF LEVEL PLANCK FUNCTION3922 C PBINT : (KDLON,KFLEV+1) ; HALF LEVEL PLANCK FUNCTION3923 C PBSUIN : (KDLON) ; SURFACE PLANCK FUNCTION3924 C PBSUR : (KDLON,Ninter) ; SURFACE SPECTRAL PLANCK FUNCTION3925 C PBTOP : (KDLON,Ninter) ; TOP SPECTRAL PLANCK FUNCTION3926 C PDBSL : (KDLON,Ninter,KFLEV*2); SUB-LAYER PLANCK FUNCTION GRADIENT3927 C PGA : (KDLON,8,2,KFLEV); dB/dT-weighted LAYER PADE APPROXIMANTS3928 C PGB : (KDLON,8,2,KFLEV); dB/dT-weighted LAYER PADE APPROXIMANTS3929 C PGASUR, PGBSUR (KDLON,8,2) ; SURFACE PADE APPROXIMANTS3930 C PGATOP, PGBTOP (KDLON,8,2) ; T.O.A. PADE APPROXIMANTS3931 C3932 C IMPLICIT ARGUMENTS : NONE3933 C --------------------3934 C3935 C METHOD.3936 C -------3937 C3938 C 1. COMPUTES THE PLANCK FUNCTION ON ALL LEVELS AND HALF LEVELS3939 C FROM A POLYNOMIAL DEVELOPMENT OF PLANCK FUNCTION3940 C3941 C REFERENCE.3942 C ----------3943 C3944 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND3945 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS "3946 C3947 C AUTHOR.3948 C -------3949 C JEAN-JACQUES MORCRETTE *ECMWF*3950 C3951 C MODIFICATIONS.3952 C --------------3953 C ORIGINAL : 89-07-143954 C3955 C-----------------------------------------------------------------------3956 C3957 C ARGUMENTS:3958 C3959 REAL*8 PDT0(KDLON)3960 REAL*8 PTAVE(KDLON,KFLEV)3961 REAL*8 PTL(KDLON,KFLEV+1)3962 C3963 REAL*8 PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF LEVEL PLANCK FUNCTION3964 REAL*8 PBINT(KDLON,KFLEV+1) ! HALF LEVEL PLANCK FUNCTION3965 REAL*8 PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION3966 REAL*8 PBSUR(KDLON,Ninter) ! SURFACE SPECTRAL PLANCK FUNCTION3967 REAL*8 PBTOP(KDLON,Ninter) ! TOP SPECTRAL PLANCK FUNCTION3968 REAL*8 PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT3969 REAL*8 PGA(KDLON,8,2,KFLEV) ! dB/dT-weighted LAYER PADE APPROXIMANTS3970 REAL*8 PGB(KDLON,8,2,KFLEV) ! dB/dT-weighted LAYER PADE APPROXIMANTS3971 REAL*8 PGASUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS3972 REAL*8 PGBSUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS3973 REAL*8 PGATOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS3974 REAL*8 PGBTOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS3975 C3976 C-------------------------------------------------------------------------3977 C* LOCAL VARIABLES:3978 INTEGER INDB(KDLON),INDS(KDLON)3979 REAL*8 ZBLAY(KDLON,KFLEV),ZBLEV(KDLON,KFLEV+1)3980 REAL*8 ZRES(KDLON),ZRES2(KDLON),ZTI(KDLON),ZTI2(KDLON)3981 c3982 INTEGER jk, jl, ic, jnu, jf, jg3983 INTEGER jk1, jk23984 INTEGER k, j, ixtox, indto, ixtx, indt3985 INTEGER indsu, indtp3986 REAL*8 zdsto1, zdstox, zdst1, zdstx3987 c3988 C* Quelques parametres:3989 REAL*8 TSTAND3990 PARAMETER (TSTAND=250.0)3991 REAL*8 TSTP3992 PARAMETER (TSTP=12.5)3993 INTEGER MXIXT3994 PARAMETER (MXIXT=10)3995 C3996 C* Used Data Block:3997 REAL*8 TINTP(11)3998 SAVE TINTP3999 c$OMP THREADPRIVATE(TINTP)4000 REAL*8 GA(11,16,3), GB(11,16,3)4001 SAVE GA, GB4002 c$OMP THREADPRIVATE(GA, GB)4003 REAL*8 XP(6,6)4004 SAVE XP4005 c$OMP THREADPRIVATE(XP)4006 c4007 DATA TINTP / 187.5, 200., 212.5, 225., 237.5, 250.,4008 S 262.5, 275., 287.5, 300., 312.5 /4009 C-----------------------------------------------------------------------4010 C-- WATER VAPOR -- INT.1 -- 0- 500 CM-1 -- FROM ABS225 ----------------4011 C4012 C4013 C4014 C4015 C-- R.D. -- G = - 0.2 SLA4016 C4017 C4018 C----- INTERVAL = 1 ----- T = 187.54019 C4020 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454021 DATA (GA( 1, 1,IC),IC=1,3) /4022 S 0.63499072E-02,-0.99506586E-03, 0.00000000E+00/4023 DATA (GB( 1, 1,IC),IC=1,3) /4024 S 0.63499072E-02, 0.97222852E-01, 0.10000000E+01/4025 DATA (GA( 1, 2,IC),IC=1,3) /4026 S 0.77266491E-02,-0.11661515E-02, 0.00000000E+00/4027 DATA (GB( 1, 2,IC),IC=1,3) /4028 S 0.77266491E-02, 0.10681591E+00, 0.10000000E+01/4029 C4030 C----- INTERVAL = 1 ----- T = 200.04031 C4032 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454033 DATA (GA( 2, 1,IC),IC=1,3) /4034 S 0.65566348E-02,-0.10184169E-02, 0.00000000E+00/4035 DATA (GB( 2, 1,IC),IC=1,3) /4036 S 0.65566348E-02, 0.98862238E-01, 0.10000000E+01/4037 DATA (GA( 2, 2,IC),IC=1,3) /4038 S 0.81323287E-02,-0.11886130E-02, 0.00000000E+00/4039 DATA (GB( 2, 2,IC),IC=1,3) /4040 S 0.81323287E-02, 0.10921298E+00, 0.10000000E+01/4041 C4042 C----- INTERVAL = 1 ----- T = 212.54043 C4044 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454045 DATA (GA( 3, 1,IC),IC=1,3) /4046 S 0.67849730E-02,-0.10404730E-02, 0.00000000E+00/4047 DATA (GB( 3, 1,IC),IC=1,3) /4048 S 0.67849730E-02, 0.10061504E+00, 0.10000000E+01/4049 DATA (GA( 3, 2,IC),IC=1,3) /4050 S 0.86507620E-02,-0.12139929E-02, 0.00000000E+00/4051 DATA (GB( 3, 2,IC),IC=1,3) /4052 S 0.86507620E-02, 0.11198225E+00, 0.10000000E+01/4053 C4054 C----- INTERVAL = 1 ----- T = 225.04055 C4056 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454057 DATA (GA( 4, 1,IC),IC=1,3) /4058 S 0.70481947E-02,-0.10621792E-02, 0.00000000E+00/4059 DATA (GB( 4, 1,IC),IC=1,3) /4060 S 0.70481947E-02, 0.10256222E+00, 0.10000000E+01/4061 DATA (GA( 4, 2,IC),IC=1,3) /4062 S 0.92776391E-02,-0.12445811E-02, 0.00000000E+00/4063 DATA (GB( 4, 2,IC),IC=1,3) /4064 S 0.92776391E-02, 0.11487826E+00, 0.10000000E+01/4065 C4066 C----- INTERVAL = 1 ----- T = 237.54067 C4068 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454069 DATA (GA( 5, 1,IC),IC=1,3) /4070 S 0.73585943E-02,-0.10847662E-02, 0.00000000E+00/4071 DATA (GB( 5, 1,IC),IC=1,3) /4072 S 0.73585943E-02, 0.10475952E+00, 0.10000000E+01/4073 DATA (GA( 5, 2,IC),IC=1,3) /4074 S 0.99806312E-02,-0.12807672E-02, 0.00000000E+00/4075 DATA (GB( 5, 2,IC),IC=1,3) /4076 S 0.99806312E-02, 0.11751113E+00, 0.10000000E+01/4077 C4078 C----- INTERVAL = 1 ----- T = 250.04079 C4080 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454081 DATA (GA( 6, 1,IC),IC=1,3) /4082 S 0.77242818E-02,-0.11094726E-02, 0.00000000E+00/4083 DATA (GB( 6, 1,IC),IC=1,3) /4084 S 0.77242818E-02, 0.10720986E+00, 0.10000000E+01/4085 DATA (GA( 6, 2,IC),IC=1,3) /4086 S 0.10709803E-01,-0.13208251E-02, 0.00000000E+00/4087 DATA (GB( 6, 2,IC),IC=1,3) /4088 S 0.10709803E-01, 0.11951535E+00, 0.10000000E+01/4089 C4090 C----- INTERVAL = 1 ----- T = 262.54091 C4092 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454093 DATA (GA( 7, 1,IC),IC=1,3) /4094 S 0.81472693E-02,-0.11372949E-02, 0.00000000E+00/4095 DATA (GB( 7, 1,IC),IC=1,3) /4096 S 0.81472693E-02, 0.10985370E+00, 0.10000000E+01/4097 DATA (GA( 7, 2,IC),IC=1,3) /4098 S 0.11414739E-01,-0.13619034E-02, 0.00000000E+00/4099 DATA (GB( 7, 2,IC),IC=1,3) /4100 S 0.11414739E-01, 0.12069945E+00, 0.10000000E+01/4101 C4102 C----- INTERVAL = 1 ----- T = 275.04103 C4104 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454105 DATA (GA( 8, 1,IC),IC=1,3) /4106 S 0.86227527E-02,-0.11687683E-02, 0.00000000E+00/4107 DATA (GB( 8, 1,IC),IC=1,3) /4108 S 0.86227527E-02, 0.11257633E+00, 0.10000000E+01/4109 DATA (GA( 8, 2,IC),IC=1,3) /4110 S 0.12058772E-01,-0.14014165E-02, 0.00000000E+00/4111 DATA (GB( 8, 2,IC),IC=1,3) /4112 S 0.12058772E-01, 0.12108524E+00, 0.10000000E+01/4113 C4114 C----- INTERVAL = 1 ----- T = 287.54115 C4116 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454117 DATA (GA( 9, 1,IC),IC=1,3) /4118 S 0.91396814E-02,-0.12038314E-02, 0.00000000E+00/4119 DATA (GB( 9, 1,IC),IC=1,3) /4120 S 0.91396814E-02, 0.11522980E+00, 0.10000000E+01/4121 DATA (GA( 9, 2,IC),IC=1,3) /4122 S 0.12623992E-01,-0.14378639E-02, 0.00000000E+00/4123 DATA (GB( 9, 2,IC),IC=1,3) /4124 S 0.12623992E-01, 0.12084229E+00, 0.10000000E+01/4125 C4126 C----- INTERVAL = 1 ----- T = 300.04127 C4128 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454129 DATA (GA(10, 1,IC),IC=1,3) /4130 S 0.96825438E-02,-0.12418367E-02, 0.00000000E+00/4131 DATA (GB(10, 1,IC),IC=1,3) /4132 S 0.96825438E-02, 0.11766343E+00, 0.10000000E+01/4133 DATA (GA(10, 2,IC),IC=1,3) /4134 S 0.13108146E-01,-0.14708488E-02, 0.00000000E+00/4135 DATA (GB(10, 2,IC),IC=1,3) /4136 S 0.13108146E-01, 0.12019005E+00, 0.10000000E+01/4137 C4138 C----- INTERVAL = 1 ----- T = 312.54139 C4140 C-- INDICES FOR PADE APPROXIMATION 1 15 29 454141 DATA (GA(11, 1,IC),IC=1,3) /4142 S 0.10233955E-01,-0.12817135E-02, 0.00000000E+00/4143 DATA (GB(11, 1,IC),IC=1,3) /4144 S 0.10233955E-01, 0.11975320E+00, 0.10000000E+01/4145 DATA (GA(11, 2,IC),IC=1,3) /4146 S 0.13518390E-01,-0.15006791E-02, 0.00000000E+00/4147 DATA (GB(11, 2,IC),IC=1,3) /4148 S 0.13518390E-01, 0.11932684E+00, 0.10000000E+01/4149 C4150 C4151 C4152 C--- WATER VAPOR --- INTERVAL 2 -- 500-800 CM-1--- FROM ABS225 ---------4153 C4154 C4155 C4156 C4157 C--- R.D. --- G = 0.02 + 0.50 / ( 1 + 4.5 U )4158 C4159 C4160 C----- INTERVAL = 2 ----- T = 187.54161 C4162 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454163 DATA (GA( 1, 3,IC),IC=1,3) /4164 S 0.11644593E+01, 0.41243390E+00, 0.00000000E+00/4165 DATA (GB( 1, 3,IC),IC=1,3) /4166 S 0.11644593E+01, 0.10346097E+01, 0.10000000E+01/4167 DATA (GA( 1, 4,IC),IC=1,3) /4168 S 0.12006968E+01, 0.48318936E+00, 0.00000000E+00/4169 DATA (GB( 1, 4,IC),IC=1,3) /4170 S 0.12006968E+01, 0.10626130E+01, 0.10000000E+01/4171 C4172 C----- INTERVAL = 2 ----- T = 200.04173 C4174 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454175 DATA (GA( 2, 3,IC),IC=1,3) /4176 S 0.11747203E+01, 0.43407282E+00, 0.00000000E+00/4177 DATA (GB( 2, 3,IC),IC=1,3) /4178 S 0.11747203E+01, 0.10433655E+01, 0.10000000E+01/4179 DATA (GA( 2, 4,IC),IC=1,3) /4180 S 0.12108196E+01, 0.50501827E+00, 0.00000000E+00/4181 DATA (GB( 2, 4,IC),IC=1,3) /4182 S 0.12108196E+01, 0.10716026E+01, 0.10000000E+01/4183 C4184 C----- INTERVAL = 2 ----- T = 212.54185 C4186 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454187 DATA (GA( 3, 3,IC),IC=1,3) /4188 S 0.11837872E+01, 0.45331413E+00, 0.00000000E+00/4189 DATA (GB( 3, 3,IC),IC=1,3) /4190 S 0.11837872E+01, 0.10511933E+01, 0.10000000E+01/4191 DATA (GA( 3, 4,IC),IC=1,3) /4192 S 0.12196717E+01, 0.52409502E+00, 0.00000000E+00/4193 DATA (GB( 3, 4,IC),IC=1,3) /4194 S 0.12196717E+01, 0.10795108E+01, 0.10000000E+01/4195 C4196 C----- INTERVAL = 2 ----- T = 225.04197 C4198 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454199 DATA (GA( 4, 3,IC),IC=1,3) /4200 S 0.11918561E+01, 0.47048604E+00, 0.00000000E+00/4201 DATA (GB( 4, 3,IC),IC=1,3) /4202 S 0.11918561E+01, 0.10582150E+01, 0.10000000E+01/4203 DATA (GA( 4, 4,IC),IC=1,3) /4204 S 0.12274493E+01, 0.54085277E+00, 0.00000000E+00/4205 DATA (GB( 4, 4,IC),IC=1,3) /4206 S 0.12274493E+01, 0.10865006E+01, 0.10000000E+01/4207 C4208 C----- INTERVAL = 2 ----- T = 237.54209 C4210 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454211 DATA (GA( 5, 3,IC),IC=1,3) /4212 S 0.11990757E+01, 0.48586286E+00, 0.00000000E+00/4213 DATA (GB( 5, 3,IC),IC=1,3) /4214 S 0.11990757E+01, 0.10645317E+01, 0.10000000E+01/4215 DATA (GA( 5, 4,IC),IC=1,3) /4216 S 0.12343189E+01, 0.55565422E+00, 0.00000000E+00/4217 DATA (GB( 5, 4,IC),IC=1,3) /4218 S 0.12343189E+01, 0.10927103E+01, 0.10000000E+01/4219 C4220 C----- INTERVAL = 2 ----- T = 250.04221 C4222 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454223 DATA (GA( 6, 3,IC),IC=1,3) /4224 S 0.12055643E+01, 0.49968044E+00, 0.00000000E+00/4225 DATA (GB( 6, 3,IC),IC=1,3) /4226 S 0.12055643E+01, 0.10702313E+01, 0.10000000E+01/4227 DATA (GA( 6, 4,IC),IC=1,3) /4228 S 0.12404147E+01, 0.56878618E+00, 0.00000000E+00/4229 DATA (GB( 6, 4,IC),IC=1,3) /4230 S 0.12404147E+01, 0.10982489E+01, 0.10000000E+01/4231 C4232 C----- INTERVAL = 2 ----- T = 262.54233 C4234 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454235 DATA (GA( 7, 3,IC),IC=1,3) /4236 S 0.12114186E+01, 0.51214132E+00, 0.00000000E+00/4237 DATA (GB( 7, 3,IC),IC=1,3) /4238 S 0.12114186E+01, 0.10753907E+01, 0.10000000E+01/4239 DATA (GA( 7, 4,IC),IC=1,3) /4240 S 0.12458431E+01, 0.58047395E+00, 0.00000000E+00/4241 DATA (GB( 7, 4,IC),IC=1,3) /4242 S 0.12458431E+01, 0.11032019E+01, 0.10000000E+01/4243 C4244 C----- INTERVAL = 2 ----- T = 275.04245 C4246 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454247 DATA (GA( 8, 3,IC),IC=1,3) /4248 S 0.12167192E+01, 0.52341830E+00, 0.00000000E+00/4249 DATA (GB( 8, 3,IC),IC=1,3) /4250 S 0.12167192E+01, 0.10800762E+01, 0.10000000E+01/4251 DATA (GA( 8, 4,IC),IC=1,3) /4252 S 0.12506907E+01, 0.59089894E+00, 0.00000000E+00/4253 DATA (GB( 8, 4,IC),IC=1,3) /4254 S 0.12506907E+01, 0.11076379E+01, 0.10000000E+01/4255 C4256 C----- INTERVAL = 2 ----- T = 287.54257 C4258 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454259 DATA (GA( 9, 3,IC),IC=1,3) /4260 S 0.12215344E+01, 0.53365803E+00, 0.00000000E+00/4261 DATA (GB( 9, 3,IC),IC=1,3) /4262 S 0.12215344E+01, 0.10843446E+01, 0.10000000E+01/4263 DATA (GA( 9, 4,IC),IC=1,3) /4264 S 0.12550299E+01, 0.60021475E+00, 0.00000000E+00/4265 DATA (GB( 9, 4,IC),IC=1,3) /4266 S 0.12550299E+01, 0.11116160E+01, 0.10000000E+01/4267 C4268 C----- INTERVAL = 2 ----- T = 300.04269 C4270 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454271 DATA (GA(10, 3,IC),IC=1,3) /4272 S 0.12259226E+01, 0.54298448E+00, 0.00000000E+00/4273 DATA (GB(10, 3,IC),IC=1,3) /4274 S 0.12259226E+01, 0.10882439E+01, 0.10000000E+01/4275 DATA (GA(10, 4,IC),IC=1,3) /4276 S 0.12589256E+01, 0.60856112E+00, 0.00000000E+00/4277 DATA (GB(10, 4,IC),IC=1,3) /4278 S 0.12589256E+01, 0.11151910E+01, 0.10000000E+01/4279 C4280 C----- INTERVAL = 2 ----- T = 312.54281 C4282 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454283 DATA (GA(11, 3,IC),IC=1,3) /4284 S 0.12299344E+01, 0.55150227E+00, 0.00000000E+00/4285 DATA (GB(11, 3,IC),IC=1,3) /4286 S 0.12299344E+01, 0.10918144E+01, 0.10000000E+01/4287 DATA (GA(11, 4,IC),IC=1,3) /4288 S 0.12624402E+01, 0.61607594E+00, 0.00000000E+00/4289 DATA (GB(11, 4,IC),IC=1,3) /4290 S 0.12624402E+01, 0.11184188E+01, 0.10000000E+01/4291 C4292 C4293 C4294 C4295 C4296 C4297 C- WATER VAPOR - INT. 3 -- 800-970 + 1110-1250 CM-1 -- FIT FROM 215 IS -4298 C4299 C4300 C-- WATER VAPOR LINES IN THE WINDOW REGION (800-1250 CM-1)4301 C4302 C4303 C4304 C--- G = 3.875E-03 ---------------4305 C4306 C----- INTERVAL = 3 ----- T = 187.54307 C4308 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454309 DATA (GA( 1, 7,IC),IC=1,3) /4310 S 0.10192131E+02, 0.80737799E+01, 0.00000000E+00/4311 DATA (GB( 1, 7,IC),IC=1,3) /4312 S 0.10192131E+02, 0.82623280E+01, 0.10000000E+01/4313 DATA (GA( 1, 8,IC),IC=1,3) /4314 S 0.92439050E+01, 0.77425778E+01, 0.00000000E+00/4315 DATA (GB( 1, 8,IC),IC=1,3) /4316 S 0.92439050E+01, 0.79342219E+01, 0.10000000E+01/4317 C4318 C----- INTERVAL = 3 ----- T = 200.04319 C4320 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454321 DATA (GA( 2, 7,IC),IC=1,3) /4322 S 0.97258602E+01, 0.79171158E+01, 0.00000000E+00/4323 DATA (GB( 2, 7,IC),IC=1,3) /4324 S 0.97258602E+01, 0.81072291E+01, 0.10000000E+01/4325 DATA (GA( 2, 8,IC),IC=1,3) /4326 S 0.87567422E+01, 0.75443460E+01, 0.00000000E+00/4327 DATA (GB( 2, 8,IC),IC=1,3) /4328 S 0.87567422E+01, 0.77373458E+01, 0.10000000E+01/4329 C4330 C----- INTERVAL = 3 ----- T = 212.54331 C4332 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454333 DATA (GA( 3, 7,IC),IC=1,3) /4334 S 0.92992890E+01, 0.77609605E+01, 0.00000000E+00/4335 DATA (GB( 3, 7,IC),IC=1,3) /4336 S 0.92992890E+01, 0.79523834E+01, 0.10000000E+01/4337 DATA (GA( 3, 8,IC),IC=1,3) /4338 S 0.83270144E+01, 0.73526151E+01, 0.00000000E+00/4339 DATA (GB( 3, 8,IC),IC=1,3) /4340 S 0.83270144E+01, 0.75467334E+01, 0.10000000E+01/4341 C4342 C----- INTERVAL = 3 ----- T = 225.04343 C4344 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454345 DATA (GA( 4, 7,IC),IC=1,3) /4346 S 0.89154021E+01, 0.76087371E+01, 0.00000000E+00/4347 DATA (GB( 4, 7,IC),IC=1,3) /4348 S 0.89154021E+01, 0.78012527E+01, 0.10000000E+01/4349 DATA (GA( 4, 8,IC),IC=1,3) /4350 S 0.79528337E+01, 0.71711188E+01, 0.00000000E+00/4351 DATA (GB( 4, 8,IC),IC=1,3) /4352 S 0.79528337E+01, 0.73661786E+01, 0.10000000E+01/4353 C4354 C----- INTERVAL = 3 ----- T = 237.54355 C4356 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454357 DATA (GA( 5, 7,IC),IC=1,3) /4358 S 0.85730084E+01, 0.74627112E+01, 0.00000000E+00/4359 DATA (GB( 5, 7,IC),IC=1,3) /4360 S 0.85730084E+01, 0.76561458E+01, 0.10000000E+01/4361 DATA (GA( 5, 8,IC),IC=1,3) /4362 S 0.76286839E+01, 0.70015571E+01, 0.00000000E+00/4363 DATA (GB( 5, 8,IC),IC=1,3) /4364 S 0.76286839E+01, 0.71974319E+01, 0.10000000E+01/4365 C4366 C----- INTERVAL = 3 ----- T = 250.04367 C4368 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454369 DATA (GA( 6, 7,IC),IC=1,3) /4370 S 0.82685838E+01, 0.73239981E+01, 0.00000000E+00/4371 DATA (GB( 6, 7,IC),IC=1,3) /4372 S 0.82685838E+01, 0.75182174E+01, 0.10000000E+01/4373 DATA (GA( 6, 8,IC),IC=1,3) /4374 S 0.73477879E+01, 0.68442532E+01, 0.00000000E+00/4375 DATA (GB( 6, 8,IC),IC=1,3) /4376 S 0.73477879E+01, 0.70408543E+01, 0.10000000E+01/4377 C4378 C----- INTERVAL = 3 ----- T = 262.54379 C4380 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454381 DATA (GA( 7, 7,IC),IC=1,3) /4382 S 0.79978921E+01, 0.71929934E+01, 0.00000000E+00/4383 DATA (GB( 7, 7,IC),IC=1,3) /4384 S 0.79978921E+01, 0.73878952E+01, 0.10000000E+01/4385 DATA (GA( 7, 8,IC),IC=1,3) /4386 S 0.71035818E+01, 0.66987996E+01, 0.00000000E+00/4387 DATA (GB( 7, 8,IC),IC=1,3) /4388 S 0.71035818E+01, 0.68960649E+01, 0.10000000E+01/4389 C4390 C----- INTERVAL = 3 ----- T = 275.04391 C4392 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454393 DATA (GA( 8, 7,IC),IC=1,3) /4394 S 0.77568055E+01, 0.70697065E+01, 0.00000000E+00/4395 DATA (GB( 8, 7,IC),IC=1,3) /4396 S 0.77568055E+01, 0.72652133E+01, 0.10000000E+01/4397 DATA (GA( 8, 8,IC),IC=1,3) /4398 S 0.68903312E+01, 0.65644820E+01, 0.00000000E+00/4399 DATA (GB( 8, 8,IC),IC=1,3) /4400 S 0.68903312E+01, 0.67623672E+01, 0.10000000E+01/4401 C4402 C----- INTERVAL = 3 ----- T = 287.54403 C4404 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454405 DATA (GA( 9, 7,IC),IC=1,3) /4406 S 0.75416266E+01, 0.69539626E+01, 0.00000000E+00/4407 DATA (GB( 9, 7,IC),IC=1,3) /4408 S 0.75416266E+01, 0.71500151E+01, 0.10000000E+01/4409 DATA (GA( 9, 8,IC),IC=1,3) /4410 S 0.67032875E+01, 0.64405267E+01, 0.00000000E+00/4411 DATA (GB( 9, 8,IC),IC=1,3) /4412 S 0.67032875E+01, 0.66389989E+01, 0.10000000E+01/4413 C4414 C----- INTERVAL = 3 ----- T = 300.04415 C4416 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454417 DATA (GA(10, 7,IC),IC=1,3) /4418 S 0.73491694E+01, 0.68455144E+01, 0.00000000E+00/4419 DATA (GB(10, 7,IC),IC=1,3) /4420 S 0.73491694E+01, 0.70420667E+01, 0.10000000E+01/4421 DATA (GA(10, 8,IC),IC=1,3) /4422 S 0.65386461E+01, 0.63262376E+01, 0.00000000E+00/4423 DATA (GB(10, 8,IC),IC=1,3) /4424 S 0.65386461E+01, 0.65252707E+01, 0.10000000E+01/4425 C4426 C----- INTERVAL = 3 ----- T = 312.54427 C4428 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454429 DATA (GA(11, 7,IC),IC=1,3) /4430 S 0.71767400E+01, 0.67441020E+01, 0.00000000E+00/4431 DATA (GB(11, 7,IC),IC=1,3) /4432 S 0.71767400E+01, 0.69411177E+01, 0.10000000E+01/4433 DATA (GA(11, 8,IC),IC=1,3) /4434 S 0.63934377E+01, 0.62210701E+01, 0.00000000E+00/4435 DATA (GB(11, 8,IC),IC=1,3) /4436 S 0.63934377E+01, 0.64206412E+01, 0.10000000E+01/4437 C4438 C4439 C-- WATER VAPOR -- 970-1110 CM-1 ----------------------------------------4440 C4441 C-- G = 3.6E-034442 C4443 C----- INTERVAL = 4 ----- T = 187.54444 C4445 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454446 DATA (GA( 1, 9,IC),IC=1,3) /4447 S 0.24870635E+02, 0.10542131E+02, 0.00000000E+00/4448 DATA (GB( 1, 9,IC),IC=1,3) /4449 S 0.24870635E+02, 0.10656640E+02, 0.10000000E+01/4450 DATA (GA( 1,10,IC),IC=1,3) /4451 S 0.24586283E+02, 0.10490353E+02, 0.00000000E+00/4452 DATA (GB( 1,10,IC),IC=1,3) /4453 S 0.24586283E+02, 0.10605856E+02, 0.10000000E+01/4454 C4455 C----- INTERVAL = 4 ----- T = 200.04456 C4457 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454458 DATA (GA( 2, 9,IC),IC=1,3) /4459 S 0.24725591E+02, 0.10515895E+02, 0.00000000E+00/4460 DATA (GB( 2, 9,IC),IC=1,3) /4461 S 0.24725591E+02, 0.10630910E+02, 0.10000000E+01/4462 DATA (GA( 2,10,IC),IC=1,3) /4463 S 0.24441465E+02, 0.10463512E+02, 0.00000000E+00/4464 DATA (GB( 2,10,IC),IC=1,3) /4465 S 0.24441465E+02, 0.10579514E+02, 0.10000000E+01/4466 C4467 C----- INTERVAL = 4 ----- T = 212.54468 C4469 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454470 DATA (GA( 3, 9,IC),IC=1,3) /4471 S 0.24600320E+02, 0.10492949E+02, 0.00000000E+00/4472 DATA (GB( 3, 9,IC),IC=1,3) /4473 S 0.24600320E+02, 0.10608399E+02, 0.10000000E+01/4474 DATA (GA( 3,10,IC),IC=1,3) /4475 S 0.24311657E+02, 0.10439183E+02, 0.00000000E+00/4476 DATA (GB( 3,10,IC),IC=1,3) /4477 S 0.24311657E+02, 0.10555632E+02, 0.10000000E+01/4478 C4479 C----- INTERVAL = 4 ----- T = 225.04480 C4481 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454482 DATA (GA( 4, 9,IC),IC=1,3) /4483 S 0.24487300E+02, 0.10472049E+02, 0.00000000E+00/4484 DATA (GB( 4, 9,IC),IC=1,3) /4485 S 0.24487300E+02, 0.10587891E+02, 0.10000000E+01/4486 DATA (GA( 4,10,IC),IC=1,3) /4487 S 0.24196167E+02, 0.10417324E+02, 0.00000000E+00/4488 DATA (GB( 4,10,IC),IC=1,3) /4489 S 0.24196167E+02, 0.10534169E+02, 0.10000000E+01/4490 C4491 C----- INTERVAL = 4 ----- T = 237.54492 C4493 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454494 DATA (GA( 5, 9,IC),IC=1,3) /4495 S 0.24384935E+02, 0.10452961E+02, 0.00000000E+00/4496 DATA (GB( 5, 9,IC),IC=1,3) /4497 S 0.24384935E+02, 0.10569156E+02, 0.10000000E+01/4498 DATA (GA( 5,10,IC),IC=1,3) /4499 S 0.24093406E+02, 0.10397704E+02, 0.00000000E+00/4500 DATA (GB( 5,10,IC),IC=1,3) /4501 S 0.24093406E+02, 0.10514900E+02, 0.10000000E+01/4502 C4503 C----- INTERVAL = 4 ----- T = 250.04504 C4505 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454506 DATA (GA( 6, 9,IC),IC=1,3) /4507 S 0.24292341E+02, 0.10435562E+02, 0.00000000E+00/4508 DATA (GB( 6, 9,IC),IC=1,3) /4509 S 0.24292341E+02, 0.10552075E+02, 0.10000000E+01/4510 DATA (GA( 6,10,IC),IC=1,3) /4511 S 0.24001597E+02, 0.10380038E+02, 0.00000000E+00/4512 DATA (GB( 6,10,IC),IC=1,3) /4513 S 0.24001597E+02, 0.10497547E+02, 0.10000000E+01/4514 C4515 C----- INTERVAL = 4 ----- T = 262.54516 C4517 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454518 DATA (GA( 7, 9,IC),IC=1,3) /4519 S 0.24208572E+02, 0.10419710E+02, 0.00000000E+00/4520 DATA (GB( 7, 9,IC),IC=1,3) /4521 S 0.24208572E+02, 0.10536510E+02, 0.10000000E+01/4522 DATA (GA( 7,10,IC),IC=1,3) /4523 S 0.23919098E+02, 0.10364052E+02, 0.00000000E+00/4524 DATA (GB( 7,10,IC),IC=1,3) /4525 S 0.23919098E+02, 0.10481842E+02, 0.10000000E+01/4526 C4527 C----- INTERVAL = 4 ----- T = 275.04528 C4529 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454530 DATA (GA( 8, 9,IC),IC=1,3) /4531 S 0.24132642E+02, 0.10405247E+02, 0.00000000E+00/4532 DATA (GB( 8, 9,IC),IC=1,3) /4533 S 0.24132642E+02, 0.10522307E+02, 0.10000000E+01/4534 DATA (GA( 8,10,IC),IC=1,3) /4535 S 0.23844511E+02, 0.10349509E+02, 0.00000000E+00/4536 DATA (GB( 8,10,IC),IC=1,3) /4537 S 0.23844511E+02, 0.10467553E+02, 0.10000000E+01/4538 C4539 C----- INTERVAL = 4 ----- T = 287.54540 C4541 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454542 DATA (GA( 9, 9,IC),IC=1,3) /4543 S 0.24063614E+02, 0.10392022E+02, 0.00000000E+00/4544 DATA (GB( 9, 9,IC),IC=1,3) /4545 S 0.24063614E+02, 0.10509317E+02, 0.10000000E+01/4546 DATA (GA( 9,10,IC),IC=1,3) /4547 S 0.23776708E+02, 0.10336215E+02, 0.00000000E+00/4548 DATA (GB( 9,10,IC),IC=1,3) /4549 S 0.23776708E+02, 0.10454488E+02, 0.10000000E+01/4550 C4551 C----- INTERVAL = 4 ----- T = 300.04552 C4553 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454554 DATA (GA(10, 9,IC),IC=1,3) /4555 S 0.24000649E+02, 0.10379892E+02, 0.00000000E+00/4556 DATA (GB(10, 9,IC),IC=1,3) /4557 S 0.24000649E+02, 0.10497402E+02, 0.10000000E+01/4558 DATA (GA(10,10,IC),IC=1,3) /4559 S 0.23714816E+02, 0.10324018E+02, 0.00000000E+00/4560 DATA (GB(10,10,IC),IC=1,3) /4561 S 0.23714816E+02, 0.10442501E+02, 0.10000000E+01/4562 C4563 C----- INTERVAL = 4 ----- T = 312.54564 C4565 C-- INDICES FOR PADE APPROXIMATION 1 28 37 454566 DATA (GA(11, 9,IC),IC=1,3) /4567 S 0.23943021E+02, 0.10368736E+02, 0.00000000E+00/4568 DATA (GB(11, 9,IC),IC=1,3) /4569 S 0.23943021E+02, 0.10486443E+02, 0.10000000E+01/4570 DATA (GA(11,10,IC),IC=1,3) /4571 S 0.23658197E+02, 0.10312808E+02, 0.00000000E+00/4572 DATA (GB(11,10,IC),IC=1,3) /4573 S 0.23658197E+02, 0.10431483E+02, 0.10000000E+01/4574 C4575 C4576 C4577 C-- H2O -- WEAKER PARTS OF THE STRONG BANDS -- FROM ABS225 ----4578 C4579 C-- WATER VAPOR --- 350 - 500 CM-14580 C4581 C-- G = - 0.2*SLA, 0.0 +0.5/(1+0.5U)4582 C4583 C----- INTERVAL = 5 ----- T = 187.54584 C4585 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454586 DATA (GA( 1, 5,IC),IC=1,3) /4587 S 0.15750172E+00,-0.22159303E-01, 0.00000000E+00/4588 DATA (GB( 1, 5,IC),IC=1,3) /4589 S 0.15750172E+00, 0.38103212E+00, 0.10000000E+01/4590 DATA (GA( 1, 6,IC),IC=1,3) /4591 S 0.17770551E+00,-0.24972399E-01, 0.00000000E+00/4592 DATA (GB( 1, 6,IC),IC=1,3) /4593 S 0.17770551E+00, 0.41646579E+00, 0.10000000E+01/4594 C4595 C----- INTERVAL = 5 ----- T = 200.04596 C4597 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454598 DATA (GA( 2, 5,IC),IC=1,3) /4599 S 0.16174076E+00,-0.22748917E-01, 0.00000000E+00/4600 DATA (GB( 2, 5,IC),IC=1,3) /4601 S 0.16174076E+00, 0.38913800E+00, 0.10000000E+01/4602 DATA (GA( 2, 6,IC),IC=1,3) /4603 S 0.18176757E+00,-0.25537247E-01, 0.00000000E+00/4604 DATA (GB( 2, 6,IC),IC=1,3) /4605 S 0.18176757E+00, 0.42345095E+00, 0.10000000E+01/4606 C4607 C----- INTERVAL = 5 ----- T = 212.54608 C4609 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454610 DATA (GA( 3, 5,IC),IC=1,3) /4611 S 0.16548628E+00,-0.23269898E-01, 0.00000000E+00/4612 DATA (GB( 3, 5,IC),IC=1,3) /4613 S 0.16548628E+00, 0.39613651E+00, 0.10000000E+01/4614 DATA (GA( 3, 6,IC),IC=1,3) /4615 S 0.18527967E+00,-0.26025624E-01, 0.00000000E+00/4616 DATA (GB( 3, 6,IC),IC=1,3) /4617 S 0.18527967E+00, 0.42937476E+00, 0.10000000E+01/4618 C4619 C----- INTERVAL = 5 ----- T = 225.04620 C4621 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454622 DATA (GA( 4, 5,IC),IC=1,3) /4623 S 0.16881124E+00,-0.23732392E-01, 0.00000000E+00/4624 DATA (GB( 4, 5,IC),IC=1,3) /4625 S 0.16881124E+00, 0.40222421E+00, 0.10000000E+01/4626 DATA (GA( 4, 6,IC),IC=1,3) /4627 S 0.18833348E+00,-0.26450280E-01, 0.00000000E+00/4628 DATA (GB( 4, 6,IC),IC=1,3) /4629 S 0.18833348E+00, 0.43444062E+00, 0.10000000E+01/4630 C4631 C----- INTERVAL = 5 ----- T = 237.54632 C4633 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454634 DATA (GA( 5, 5,IC),IC=1,3) /4635 S 0.17177839E+00,-0.24145123E-01, 0.00000000E+00/4636 DATA (GB( 5, 5,IC),IC=1,3) /4637 S 0.17177839E+00, 0.40756010E+00, 0.10000000E+01/4638 DATA (GA( 5, 6,IC),IC=1,3) /4639 S 0.19100108E+00,-0.26821236E-01, 0.00000000E+00/4640 DATA (GB( 5, 6,IC),IC=1,3) /4641 S 0.19100108E+00, 0.43880316E+00, 0.10000000E+01/4642 C4643 C----- INTERVAL = 5 ----- T = 250.04644 C4645 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454646 DATA (GA( 6, 5,IC),IC=1,3) /4647 S 0.17443933E+00,-0.24515269E-01, 0.00000000E+00/4648 DATA (GB( 6, 5,IC),IC=1,3) /4649 S 0.17443933E+00, 0.41226954E+00, 0.10000000E+01/4650 DATA (GA( 6, 6,IC),IC=1,3) /4651 S 0.19334122E+00,-0.27146657E-01, 0.00000000E+00/4652 DATA (GB( 6, 6,IC),IC=1,3) /4653 S 0.19334122E+00, 0.44258354E+00, 0.10000000E+01/4654 C4655 C----- INTERVAL = 5 ----- T = 262.54656 C4657 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454658 DATA (GA( 7, 5,IC),IC=1,3) /4659 S 0.17683622E+00,-0.24848690E-01, 0.00000000E+00/4660 DATA (GB( 7, 5,IC),IC=1,3) /4661 S 0.17683622E+00, 0.41645142E+00, 0.10000000E+01/4662 DATA (GA( 7, 6,IC),IC=1,3) /4663 S 0.19540288E+00,-0.27433354E-01, 0.00000000E+00/4664 DATA (GB( 7, 6,IC),IC=1,3) /4665 S 0.19540288E+00, 0.44587882E+00, 0.10000000E+01/4666 C4667 C----- INTERVAL = 5 ----- T = 275.04668 C4669 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454670 DATA (GA( 8, 5,IC),IC=1,3) /4671 S 0.17900375E+00,-0.25150210E-01, 0.00000000E+00/4672 DATA (GB( 8, 5,IC),IC=1,3) /4673 S 0.17900375E+00, 0.42018474E+00, 0.10000000E+01/4674 DATA (GA( 8, 6,IC),IC=1,3) /4675 S 0.19722732E+00,-0.27687065E-01, 0.00000000E+00/4676 DATA (GB( 8, 6,IC),IC=1,3) /4677 S 0.19722732E+00, 0.44876776E+00, 0.10000000E+01/4678 C4679 C----- INTERVAL = 5 ----- T = 287.54680 C4681 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454682 DATA (GA( 9, 5,IC),IC=1,3) /4683 S 0.18097099E+00,-0.25423873E-01, 0.00000000E+00/4684 DATA (GB( 9, 5,IC),IC=1,3) /4685 S 0.18097099E+00, 0.42353379E+00, 0.10000000E+01/4686 DATA (GA( 9, 6,IC),IC=1,3) /4687 S 0.19884918E+00,-0.27912608E-01, 0.00000000E+00/4688 DATA (GB( 9, 6,IC),IC=1,3) /4689 S 0.19884918E+00, 0.45131451E+00, 0.10000000E+01/4690 C4691 C----- INTERVAL = 5 ----- T = 300.04692 C4693 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454694 DATA (GA(10, 5,IC),IC=1,3) /4695 S 0.18276283E+00,-0.25673139E-01, 0.00000000E+00/4696 DATA (GB(10, 5,IC),IC=1,3) /4697 S 0.18276283E+00, 0.42655211E+00, 0.10000000E+01/4698 DATA (GA(10, 6,IC),IC=1,3) /4699 S 0.20029696E+00,-0.28113944E-01, 0.00000000E+00/4700 DATA (GB(10, 6,IC),IC=1,3) /4701 S 0.20029696E+00, 0.45357095E+00, 0.10000000E+01/4702 C4703 C----- INTERVAL = 5 ----- T = 312.54704 C4705 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454706 DATA (GA(11, 5,IC),IC=1,3) /4707 S 0.18440117E+00,-0.25901055E-01, 0.00000000E+00/4708 DATA (GB(11, 5,IC),IC=1,3) /4709 S 0.18440117E+00, 0.42928533E+00, 0.10000000E+01/4710 DATA (GA(11, 6,IC),IC=1,3) /4711 S 0.20159300E+00,-0.28294180E-01, 0.00000000E+00/4712 DATA (GB(11, 6,IC),IC=1,3) /4713 S 0.20159300E+00, 0.45557797E+00, 0.10000000E+01/4714 C4715 C4716 C4717 C4718 C- WATER VAPOR - WINGS OF VIBRATION-ROTATION BAND - 1250-1450+1880-2820 -4719 C--- G = 0.04720 C4721 C4722 C----- INTERVAL = 6 ----- T = 187.54723 C4724 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454725 DATA (GA( 1,11,IC),IC=1,3) /4726 S 0.11990218E+02,-0.12823142E+01, 0.00000000E+00/4727 DATA (GB( 1,11,IC),IC=1,3) /4728 S 0.11990218E+02, 0.26681588E+02, 0.10000000E+01/4729 DATA (GA( 1,12,IC),IC=1,3) /4730 S 0.79709806E+01,-0.74805226E+00, 0.00000000E+00/4731 DATA (GB( 1,12,IC),IC=1,3) /4732 S 0.79709806E+01, 0.18377807E+02, 0.10000000E+01/4733 C4734 C----- INTERVAL = 6 ----- T = 200.04735 C4736 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454737 DATA (GA( 2,11,IC),IC=1,3) /4738 S 0.10904073E+02,-0.10571588E+01, 0.00000000E+00/4739 DATA (GB( 2,11,IC),IC=1,3) /4740 S 0.10904073E+02, 0.24728346E+02, 0.10000000E+01/4741 DATA (GA( 2,12,IC),IC=1,3) /4742 S 0.75400737E+01,-0.56252739E+00, 0.00000000E+00/4743 DATA (GB( 2,12,IC),IC=1,3) /4744 S 0.75400737E+01, 0.17643148E+02, 0.10000000E+01/4745 C4746 C----- INTERVAL = 6 ----- T = 212.54747 C4748 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454749 DATA (GA( 3,11,IC),IC=1,3) /4750 S 0.89126838E+01,-0.74864953E+00, 0.00000000E+00/4751 DATA (GB( 3,11,IC),IC=1,3) /4752 S 0.89126838E+01, 0.20551342E+02, 0.10000000E+01/4753 DATA (GA( 3,12,IC),IC=1,3) /4754 S 0.81804377E+01,-0.46188072E+00, 0.00000000E+00/4755 DATA (GB( 3,12,IC),IC=1,3) /4756 S 0.81804377E+01, 0.19296161E+02, 0.10000000E+01/4757 C4758 C----- INTERVAL = 6 ----- T = 225.04759 C4760 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454761 DATA (GA( 4,11,IC),IC=1,3) /4762 S 0.85622405E+01,-0.58705980E+00, 0.00000000E+00/4763 DATA (GB( 4,11,IC),IC=1,3) /4764 S 0.85622405E+01, 0.19955244E+02, 0.10000000E+01/4765 DATA (GA( 4,12,IC),IC=1,3) /4766 S 0.10564339E+02,-0.40712065E+00, 0.00000000E+00/4767 DATA (GB( 4,12,IC),IC=1,3) /4768 S 0.10564339E+02, 0.24951120E+02, 0.10000000E+01/4769 C4770 C----- INTERVAL = 6 ----- T = 237.54771 C4772 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454773 DATA (GA( 5,11,IC),IC=1,3) /4774 S 0.94892164E+01,-0.49305772E+00, 0.00000000E+00/4775 DATA (GB( 5,11,IC),IC=1,3) /4776 S 0.94892164E+01, 0.22227100E+02, 0.10000000E+01/4777 DATA (GA( 5,12,IC),IC=1,3) /4778 S 0.46896789E+02,-0.15295996E+01, 0.00000000E+00/4779 DATA (GB( 5,12,IC),IC=1,3) /4780 S 0.46896789E+02, 0.10957372E+03, 0.10000000E+01/4781 C4782 C----- INTERVAL = 6 ----- T = 250.04783 C4784 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454785 DATA (GA( 6,11,IC),IC=1,3) /4786 S 0.13580937E+02,-0.51461431E+00, 0.00000000E+00/4787 DATA (GB( 6,11,IC),IC=1,3) /4788 S 0.13580937E+02, 0.31770288E+02, 0.10000000E+01/4789 DATA (GA( 6,12,IC),IC=1,3) /4790 S-0.30926524E+01, 0.43555255E+00, 0.00000000E+00/4791 DATA (GB( 6,12,IC),IC=1,3) /4792 S-0.30926524E+01,-0.67432659E+01, 0.10000000E+01/4793 C4794 C----- INTERVAL = 6 ----- T = 262.54795 C4796 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454797 DATA (GA( 7,11,IC),IC=1,3) /4798 S-0.32050918E+03, 0.12373350E+02, 0.00000000E+00/4799 DATA (GB( 7,11,IC),IC=1,3) /4800 S-0.32050918E+03,-0.74061287E+03, 0.10000000E+01/4801 DATA (GA( 7,12,IC),IC=1,3) /4802 S 0.85742941E+00, 0.50380874E+00, 0.00000000E+00/4803 DATA (GB( 7,12,IC),IC=1,3) /4804 S 0.85742941E+00, 0.24550746E+01, 0.10000000E+01/4805 C4806 C----- INTERVAL = 6 ----- T = 275.04807 C4808 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454809 DATA (GA( 8,11,IC),IC=1,3) /4810 S-0.37133165E+01, 0.44809588E+00, 0.00000000E+00/4811 DATA (GB( 8,11,IC),IC=1,3) /4812 S-0.37133165E+01,-0.81329826E+01, 0.10000000E+01/4813 DATA (GA( 8,12,IC),IC=1,3) /4814 S 0.19164038E+01, 0.68537352E+00, 0.00000000E+00/4815 DATA (GB( 8,12,IC),IC=1,3) /4816 S 0.19164038E+01, 0.49089917E+01, 0.10000000E+01/4817 C4818 C----- INTERVAL = 6 ----- T = 287.54819 C4820 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454821 DATA (GA( 9,11,IC),IC=1,3) /4822 S 0.18890836E+00, 0.46548918E+00, 0.00000000E+00/4823 DATA (GB( 9,11,IC),IC=1,3) /4824 S 0.18890836E+00, 0.90279822E+00, 0.10000000E+01/4825 DATA (GA( 9,12,IC),IC=1,3) /4826 S 0.23513199E+01, 0.89437630E+00, 0.00000000E+00/4827 DATA (GB( 9,12,IC),IC=1,3) /4828 S 0.23513199E+01, 0.59008712E+01, 0.10000000E+01/4829 C4830 C----- INTERVAL = 6 ----- T = 300.04831 C4832 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454833 DATA (GA(10,11,IC),IC=1,3) /4834 S 0.14209226E+01, 0.59121475E+00, 0.00000000E+00/4835 DATA (GB(10,11,IC),IC=1,3) /4836 S 0.14209226E+01, 0.37532746E+01, 0.10000000E+01/4837 DATA (GA(10,12,IC),IC=1,3) /4838 S 0.25566644E+01, 0.11127003E+01, 0.00000000E+00/4839 DATA (GB(10,12,IC),IC=1,3) /4840 S 0.25566644E+01, 0.63532616E+01, 0.10000000E+01/4841 C4842 C----- INTERVAL = 6 ----- T = 312.54843 C4844 C-- INDICES FOR PADE APPROXIMATION 1 35 40 454845 DATA (GA(11,11,IC),IC=1,3) /4846 S 0.19817679E+01, 0.74676119E+00, 0.00000000E+00/4847 DATA (GB(11,11,IC),IC=1,3) /4848 S 0.19817679E+01, 0.50437916E+01, 0.10000000E+01/4849 DATA (GA(11,12,IC),IC=1,3) /4850 S 0.26555181E+01, 0.13329782E+01, 0.00000000E+00/4851 DATA (GB(11,12,IC),IC=1,3) /4852 S 0.26555181E+01, 0.65558627E+01, 0.10000000E+01/4853 C4854 C4855 C4856 C4857 C4858 C-- END WATER VAPOR4859 C4860 C4861 C-- CO2 -- INT.2 -- 500-800 CM-1 --- FROM ABS225 ----------------------4862 C4863 C4864 C4865 C-- FIU = 0.8 + MAX(0.35,(7-IU)*0.9) , X/T, 94866 C4867 C----- INTERVAL = 2 ----- T = 187.54868 C4869 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454870 DATA (GA( 1,13,IC),IC=1,3) /4871 S 0.87668459E-01, 0.13845511E+01, 0.00000000E+00/4872 DATA (GB( 1,13,IC),IC=1,3) /4873 S 0.87668459E-01, 0.23203798E+01, 0.10000000E+01/4874 DATA (GA( 1,14,IC),IC=1,3) /4875 S 0.74878820E-01, 0.11718758E+01, 0.00000000E+00/4876 DATA (GB( 1,14,IC),IC=1,3) /4877 S 0.74878820E-01, 0.20206726E+01, 0.10000000E+01/4878 C4879 C----- INTERVAL = 2 ----- T = 200.04880 C4881 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454882 DATA (GA( 2,13,IC),IC=1,3) /4883 S 0.83754276E-01, 0.13187042E+01, 0.00000000E+00/4884 DATA (GB( 2,13,IC),IC=1,3) /4885 S 0.83754276E-01, 0.22288925E+01, 0.10000000E+01/4886 DATA (GA( 2,14,IC),IC=1,3) /4887 S 0.71650966E-01, 0.11216131E+01, 0.00000000E+00/4888 DATA (GB( 2,14,IC),IC=1,3) /4889 S 0.71650966E-01, 0.19441824E+01, 0.10000000E+01/4890 C4891 C----- INTERVAL = 2 ----- T = 212.54892 C4893 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454894 DATA (GA( 3,13,IC),IC=1,3) /4895 S 0.80460283E-01, 0.12644396E+01, 0.00000000E+00/4896 DATA (GB( 3,13,IC),IC=1,3) /4897 S 0.80460283E-01, 0.21515593E+01, 0.10000000E+01/4898 DATA (GA( 3,14,IC),IC=1,3) /4899 S 0.68979615E-01, 0.10809473E+01, 0.00000000E+00/4900 DATA (GB( 3,14,IC),IC=1,3) /4901 S 0.68979615E-01, 0.18807257E+01, 0.10000000E+01/4902 C4903 C----- INTERVAL = 2 ----- T = 225.04904 C4905 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454906 DATA (GA( 4,13,IC),IC=1,3) /4907 S 0.77659686E-01, 0.12191543E+01, 0.00000000E+00/4908 DATA (GB( 4,13,IC),IC=1,3) /4909 S 0.77659686E-01, 0.20855896E+01, 0.10000000E+01/4910 DATA (GA( 4,14,IC),IC=1,3) /4911 S 0.66745345E-01, 0.10476396E+01, 0.00000000E+00/4912 DATA (GB( 4,14,IC),IC=1,3) /4913 S 0.66745345E-01, 0.18275618E+01, 0.10000000E+01/4914 C4915 C----- INTERVAL = 2 ----- T = 237.54916 C4917 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454918 DATA (GA( 5,13,IC),IC=1,3) /4919 S 0.75257056E-01, 0.11809511E+01, 0.00000000E+00/4920 DATA (GB( 5,13,IC),IC=1,3) /4921 S 0.75257056E-01, 0.20288489E+01, 0.10000000E+01/4922 DATA (GA( 5,14,IC),IC=1,3) /4923 S 0.64857571E-01, 0.10200373E+01, 0.00000000E+00/4924 DATA (GB( 5,14,IC),IC=1,3) /4925 S 0.64857571E-01, 0.17825910E+01, 0.10000000E+01/4926 C4927 C----- INTERVAL = 2 ----- T = 250.04928 C4929 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454930 DATA (GA( 6,13,IC),IC=1,3) /4931 S 0.73179175E-01, 0.11484154E+01, 0.00000000E+00/4932 DATA (GB( 6,13,IC),IC=1,3) /4933 S 0.73179175E-01, 0.19796791E+01, 0.10000000E+01/4934 DATA (GA( 6,14,IC),IC=1,3) /4935 S 0.63248495E-01, 0.99692726E+00, 0.00000000E+00/4936 DATA (GB( 6,14,IC),IC=1,3) /4937 S 0.63248495E-01, 0.17442308E+01, 0.10000000E+01/4938 C4939 C----- INTERVAL = 2 ----- T = 262.54940 C4941 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454942 DATA (GA( 7,13,IC),IC=1,3) /4943 S 0.71369063E-01, 0.11204723E+01, 0.00000000E+00/4944 DATA (GB( 7,13,IC),IC=1,3) /4945 S 0.71369063E-01, 0.19367778E+01, 0.10000000E+01/4946 DATA (GA( 7,14,IC),IC=1,3) /4947 S 0.61866970E-01, 0.97740923E+00, 0.00000000E+00/4948 DATA (GB( 7,14,IC),IC=1,3) /4949 S 0.61866970E-01, 0.17112809E+01, 0.10000000E+01/4950 C4951 C----- INTERVAL = 2 ----- T = 275.04952 C4953 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454954 DATA (GA( 8,13,IC),IC=1,3) /4955 S 0.69781812E-01, 0.10962918E+01, 0.00000000E+00/4956 DATA (GB( 8,13,IC),IC=1,3) /4957 S 0.69781812E-01, 0.18991112E+01, 0.10000000E+01/4958 DATA (GA( 8,14,IC),IC=1,3) /4959 S 0.60673632E-01, 0.96080188E+00, 0.00000000E+00/4960 DATA (GB( 8,14,IC),IC=1,3) /4961 S 0.60673632E-01, 0.16828137E+01, 0.10000000E+01/4962 C4963 C----- INTERVAL = 2 ----- T = 287.54964 C4965 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454966 DATA (GA( 9,13,IC),IC=1,3) /4967 S 0.68381606E-01, 0.10752229E+01, 0.00000000E+00/4968 DATA (GB( 9,13,IC),IC=1,3) /4969 S 0.68381606E-01, 0.18658501E+01, 0.10000000E+01/4970 DATA (GA( 9,14,IC),IC=1,3) /4971 S 0.59637277E-01, 0.94657562E+00, 0.00000000E+00/4972 DATA (GB( 9,14,IC),IC=1,3) /4973 S 0.59637277E-01, 0.16580908E+01, 0.10000000E+01/4974 C4975 C----- INTERVAL = 2 ----- T = 300.04976 C4977 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454978 DATA (GA(10,13,IC),IC=1,3) /4979 S 0.67139539E-01, 0.10567474E+01, 0.00000000E+00/4980 DATA (GB(10,13,IC),IC=1,3) /4981 S 0.67139539E-01, 0.18363226E+01, 0.10000000E+01/4982 DATA (GA(10,14,IC),IC=1,3) /4983 S 0.58732178E-01, 0.93430511E+00, 0.00000000E+00/4984 DATA (GB(10,14,IC),IC=1,3) /4985 S 0.58732178E-01, 0.16365014E+01, 0.10000000E+01/4986 C4987 C----- INTERVAL = 2 ----- T = 312.54988 C4989 C-- INDICES FOR PADE APPROXIMATION 1 30 38 454990 DATA (GA(11,13,IC),IC=1,3) /4991 S 0.66032012E-01, 0.10404465E+01, 0.00000000E+00/4992 DATA (GB(11,13,IC),IC=1,3) /4993 S 0.66032012E-01, 0.18099779E+01, 0.10000000E+01/4994 DATA (GA(11,14,IC),IC=1,3) /4995 S 0.57936092E-01, 0.92363528E+00, 0.00000000E+00/4996 DATA (GB(11,14,IC),IC=1,3) /4997 S 0.57936092E-01, 0.16175164E+01, 0.10000000E+01/4998 C4999 C5000 C5001 C5002 C5003 C5004 C5005 C5006 C5007 C5008 C-- CARBON DIOXIDE LINES IN THE WINDOW REGION (800-1250 CM-1)5009 C5010 C5011 C-- G = 0.05012 C5013 C5014 C----- INTERVAL = 4 ----- T = 187.55015 C5016 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455017 DATA (GA( 1,15,IC),IC=1,3) /5018 S 0.13230067E+02, 0.22042132E+02, 0.00000000E+00/5019 DATA (GB( 1,15,IC),IC=1,3) /5020 S 0.13230067E+02, 0.22051750E+02, 0.10000000E+01/5021 DATA (GA( 1,16,IC),IC=1,3) /5022 S 0.13183816E+02, 0.22169501E+02, 0.00000000E+00/5023 DATA (GB( 1,16,IC),IC=1,3) /5024 S 0.13183816E+02, 0.22178972E+02, 0.10000000E+01/5025 C5026 C----- INTERVAL = 4 ----- T = 200.05027 C5028 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455029 DATA (GA( 2,15,IC),IC=1,3) /5030 S 0.13213564E+02, 0.22107298E+02, 0.00000000E+00/5031 DATA (GB( 2,15,IC),IC=1,3) /5032 S 0.13213564E+02, 0.22116850E+02, 0.10000000E+01/5033 DATA (GA( 2,16,IC),IC=1,3) /5034 S 0.13189991E+02, 0.22270075E+02, 0.00000000E+00/5035 DATA (GB( 2,16,IC),IC=1,3) /5036 S 0.13189991E+02, 0.22279484E+02, 0.10000000E+01/5037 C5038 C----- INTERVAL = 4 ----- T = 212.55039 C5040 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455041 DATA (GA( 3,15,IC),IC=1,3) /5042 S 0.13209140E+02, 0.22180915E+02, 0.00000000E+00/5043 DATA (GB( 3,15,IC),IC=1,3) /5044 S 0.13209140E+02, 0.22190410E+02, 0.10000000E+01/5045 DATA (GA( 3,16,IC),IC=1,3) /5046 S 0.13209485E+02, 0.22379193E+02, 0.00000000E+00/5047 DATA (GB( 3,16,IC),IC=1,3) /5048 S 0.13209485E+02, 0.22388551E+02, 0.10000000E+01/5049 C5050 C----- INTERVAL = 4 ----- T = 225.05051 C5052 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455053 DATA (GA( 4,15,IC),IC=1,3) /5054 S 0.13213894E+02, 0.22259478E+02, 0.00000000E+00/5055 DATA (GB( 4,15,IC),IC=1,3) /5056 S 0.13213894E+02, 0.22268925E+02, 0.10000000E+01/5057 DATA (GA( 4,16,IC),IC=1,3) /5058 S 0.13238789E+02, 0.22492992E+02, 0.00000000E+00/5059 DATA (GB( 4,16,IC),IC=1,3) /5060 S 0.13238789E+02, 0.22502309E+02, 0.10000000E+01/5061 C5062 C----- INTERVAL = 4 ----- T = 237.55063 C5064 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455065 DATA (GA( 5,15,IC),IC=1,3) /5066 S 0.13225963E+02, 0.22341039E+02, 0.00000000E+00/5067 DATA (GB( 5,15,IC),IC=1,3) /5068 S 0.13225963E+02, 0.22350445E+02, 0.10000000E+01/5069 DATA (GA( 5,16,IC),IC=1,3) /5070 S 0.13275017E+02, 0.22608508E+02, 0.00000000E+00/5071 DATA (GB( 5,16,IC),IC=1,3) /5072 S 0.13275017E+02, 0.22617792E+02, 0.10000000E+01/5073 C5074 C----- INTERVAL = 4 ----- T = 250.05075 C5076 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455077 DATA (GA( 6,15,IC),IC=1,3) /5078 S 0.13243806E+02, 0.22424247E+02, 0.00000000E+00/5079 DATA (GB( 6,15,IC),IC=1,3) /5080 S 0.13243806E+02, 0.22433617E+02, 0.10000000E+01/5081 DATA (GA( 6,16,IC),IC=1,3) /5082 S 0.13316096E+02, 0.22723843E+02, 0.00000000E+00/5083 DATA (GB( 6,16,IC),IC=1,3) /5084 S 0.13316096E+02, 0.22733099E+02, 0.10000000E+01/5085 C5086 C----- INTERVAL = 4 ----- T = 262.55087 C5088 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455089 DATA (GA( 7,15,IC),IC=1,3) /5090 S 0.13266104E+02, 0.22508089E+02, 0.00000000E+00/5091 DATA (GB( 7,15,IC),IC=1,3) /5092 S 0.13266104E+02, 0.22517429E+02, 0.10000000E+01/5093 DATA (GA( 7,16,IC),IC=1,3) /5094 S 0.13360555E+02, 0.22837837E+02, 0.00000000E+00/5095 DATA (GB( 7,16,IC),IC=1,3) /5096 S 0.13360555E+02, 0.22847071E+02, 0.10000000E+01/5097 C5098 C----- INTERVAL = 4 ----- T = 275.05099 C5100 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455101 DATA (GA( 8,15,IC),IC=1,3) /5102 S 0.13291782E+02, 0.22591771E+02, 0.00000000E+00/5103 DATA (GB( 8,15,IC),IC=1,3) /5104 S 0.13291782E+02, 0.22601086E+02, 0.10000000E+01/5105 DATA (GA( 8,16,IC),IC=1,3) /5106 S 0.13407324E+02, 0.22949751E+02, 0.00000000E+00/5107 DATA (GB( 8,16,IC),IC=1,3) /5108 S 0.13407324E+02, 0.22958967E+02, 0.10000000E+01/5109 C5110 C----- INTERVAL = 4 ----- T = 287.55111 C5112 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455113 DATA (GA( 9,15,IC),IC=1,3) /5114 S 0.13319961E+02, 0.22674661E+02, 0.00000000E+00/5115 DATA (GB( 9,15,IC),IC=1,3) /5116 S 0.13319961E+02, 0.22683956E+02, 0.10000000E+01/5117 DATA (GA( 9,16,IC),IC=1,3) /5118 S 0.13455544E+02, 0.23059032E+02, 0.00000000E+00/5119 DATA (GB( 9,16,IC),IC=1,3) /5120 S 0.13455544E+02, 0.23068234E+02, 0.10000000E+01/5121 C5122 C----- INTERVAL = 4 ----- T = 300.05123 C5124 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455125 DATA (GA(10,15,IC),IC=1,3) /5126 S 0.13349927E+02, 0.22756246E+02, 0.00000000E+00/5127 DATA (GB(10,15,IC),IC=1,3) /5128 S 0.13349927E+02, 0.22765522E+02, 0.10000000E+01/5129 DATA (GA(10,16,IC),IC=1,3) /5130 S 0.13504450E+02, 0.23165146E+02, 0.00000000E+00/5131 DATA (GB(10,16,IC),IC=1,3) /5132 S 0.13504450E+02, 0.23174336E+02, 0.10000000E+01/5133 C5134 C----- INTERVAL = 4 ----- T = 312.55135 C5136 C-- INDICES FOR PADE APPROXIMATION 1 15 29 455137 DATA (GA(11,15,IC),IC=1,3) /5138 S 0.13381108E+02, 0.22836093E+02, 0.00000000E+00/5139 DATA (GB(11,15,IC),IC=1,3) /5140 S 0.13381108E+02, 0.22845354E+02, 0.10000000E+01/5141 DATA (GA(11,16,IC),IC=1,3) /5142 S 0.13553282E+02, 0.23267456E+02, 0.00000000E+00/5143 DATA (GB(11,16,IC),IC=1,3) /5144 S 0.13553282E+02, 0.23276638E+02, 0.10000000E+01/5145 5146 C ------------------------------------------------------------------5147 DATA (( XP( J,K),J=1,6), K=1,6) /5148 S 0.46430621E+02, 0.12928299E+03, 0.20732648E+03,5149 S 0.31398411E+03, 0.18373177E+03,-0.11412303E+03,5150 S 0.73604774E+02, 0.27887914E+03, 0.27076947E+03,5151 S-0.57322111E+02,-0.64742459E+02, 0.87238280E+02,5152 S 0.37050866E+02, 0.20498759E+03, 0.37558029E+03,5153 S 0.17401171E+03,-0.13350302E+03,-0.37651795E+02,5154 S 0.14930141E+02, 0.89161160E+02, 0.17793062E+03,5155 S 0.93433860E+02,-0.70646020E+02,-0.26373150E+02,5156 S 0.40386780E+02, 0.10855270E+03, 0.50755010E+02,5157 S-0.31496190E+02, 0.12791300E+00, 0.18017770E+01,5158 S 0.90811926E+01, 0.75073923E+02, 0.24654438E+03,5159 S 0.39332612E+03, 0.29385281E+03, 0.89107921E+02 /5160 C5161 C5162 C* 1.0 PLANCK FUNCTIONS AND GRADIENTS5163 C ------------------------------5164 C5165 100 CONTINUE5166 C5167 DO 102 JK = 1 , KFLEV+15168 DO 101 JL = 1, KDLON5169 PBINT(JL,JK) = 0.5170 101 CONTINUE5171 102 CONTINUE5172 DO 103 JL = 1, KDLON5173 PBSUIN(JL) = 0.5174 103 CONTINUE5175 C5176 DO 141 JNU=1,Ninter5177 C5178 C5179 C* 1.1 LEVELS FROM SURFACE TO KFLEV5180 C ----------------------------5181 C5182 110 CONTINUE5183 C5184 DO 112 JK = 1 , KFLEV5185 DO 111 JL = 1, KDLON5186 ZTI(JL)=(PTL(JL,JK)-TSTAND)/TSTAND5187 ZRES(JL) = XP(1,JNU)+ZTI(JL)*(XP(2,JNU)+ZTI(JL)*(XP(3,JNU)5188 S +ZTI(JL)*(XP(4,JNU)+ZTI(JL)*(XP(5,JNU)+ZTI(JL)*(XP(6,JNU)5189 S )))))5190 PBINT(JL,JK)=PBINT(JL,JK)+ZRES(JL)5191 PB(JL,JNU,JK)= ZRES(JL)5192 ZBLEV(JL,JK) = ZRES(JL)5193 ZTI2(JL)=(PTAVE(JL,JK)-TSTAND)/TSTAND5194 ZRES2(JL)=XP(1,JNU)+ZTI2(JL)*(XP(2,JNU)+ZTI2(JL)*(XP(3,JNU)5195 S +ZTI2(JL)*(XP(4,JNU)+ZTI2(JL)*(XP(5,JNU)+ZTI2(JL)*(XP(6,JNU)5196 S )))))5197 ZBLAY(JL,JK) = ZRES2(JL)5198 111 CONTINUE5199 112 CONTINUE5200 C5201 C5202 C* 1.2 TOP OF THE ATMOSPHERE AND SURFACE5203 C ---------------------------------5204 C5205 120 CONTINUE5206 C5207 DO 121 JL = 1, KDLON5208 ZTI(JL)=(PTL(JL,KFLEV+1)-TSTAND)/TSTAND5209 ZTI2(JL) = (PTL(JL,1) + PDT0(JL) - TSTAND) / TSTAND5210 ZRES(JL) = XP(1,JNU)+ZTI(JL)*(XP(2,JNU)+ZTI(JL)*(XP(3,JNU)5211 S +ZTI(JL)*(XP(4,JNU)+ZTI(JL)*(XP(5,JNU)+ZTI(JL)*(XP(6,JNU)5212 S )))))5213 ZRES2(JL) = XP(1,JNU)+ZTI2(JL)*(XP(2,JNU)+ZTI2(JL)*(XP(3,JNU)5214 S +ZTI2(JL)*(XP(4,JNU)+ZTI2(JL)*(XP(5,JNU)+ZTI2(JL)*(XP(6,JNU)5215 S )))))5216 PBINT(JL,KFLEV+1) = PBINT(JL,KFLEV+1)+ZRES(JL)5217 PB(JL,JNU,KFLEV+1)= ZRES(JL)5218 ZBLEV(JL,KFLEV+1) = ZRES(JL)5219 PBTOP(JL,JNU) = ZRES(JL)5220 PBSUR(JL,JNU) = ZRES2(JL)5221 PBSUIN(JL) = PBSUIN(JL) + ZRES2(JL)5222 121 CONTINUE5223 C5224 C5225 C* 1.3 GRADIENTS IN SUB-LAYERS5226 C -----------------------5227 C5228 130 CONTINUE5229 C5230 DO 132 JK = 1 , KFLEV5231 JK2 = 2 * JK5232 JK1 = JK2 - 15233 DO 131 JL = 1, KDLON5234 PDBSL(JL,JNU,JK1) = ZBLAY(JL,JK ) - ZBLEV(JL,JK)5235 PDBSL(JL,JNU,JK2) = ZBLEV(JL,JK+1) - ZBLAY(JL,JK)5236 131 CONTINUE5237 132 CONTINUE5238 C5239 141 CONTINUE5240 C5241 C* 2.0 CHOOSE THE RELEVANT SETS OF PADE APPROXIMANTS5242 C ---------------------------------------------5243 C5244 200 CONTINUE5245 C5246 C5247 210 CONTINUE5248 C5249 DO 211 JL=1, KDLON5250 ZDSTO1 = (PTL(JL,KFLEV+1)-TINTP(1)) / TSTP5251 IXTOX = MAX( 1, MIN( MXIXT, INT( ZDSTO1 + 1. ) ) )5252 ZDSTOX = (PTL(JL,KFLEV+1)-TINTP(IXTOX))/TSTP5253 IF (ZDSTOX.LT.0.5) THEN5254 INDTO=IXTOX5255 ELSE5256 INDTO=IXTOX+15257 END IF5258 INDB(JL)=INDTO5259 ZDST1 = (PTL(JL,1)-TINTP(1)) / TSTP5260 IXTX = MAX( 1, MIN( MXIXT, INT( ZDST1 + 1. ) ) )5261 ZDSTX = (PTL(JL,1)-TINTP(IXTX))/TSTP5262 IF (ZDSTX.LT.0.5) THEN5263 INDT=IXTX5264 ELSE5265 INDT=IXTX+15266 END IF5267 INDS(JL)=INDT5268 211 CONTINUE5269 C5270 DO 214 JF=1,25271 DO 213 JG=1, 85272 DO 212 JL=1, KDLON5273 INDSU=INDS(JL)5274 PGASUR(JL,JG,JF)=GA(INDSU,2*JG-1,JF)5275 PGBSUR(JL,JG,JF)=GB(INDSU,2*JG-1,JF)5276 INDTP=INDB(JL)5277 PGATOP(JL,JG,JF)=GA(INDTP,2*JG-1,JF)5278 PGBTOP(JL,JG,JF)=GB(INDTP,2*JG-1,JF)5279 212 CONTINUE5280 213 CONTINUE5281 214 CONTINUE5282 C5283 220 CONTINUE5284 C5285 DO 225 JK=1,KFLEV5286 DO 221 JL=1, KDLON5287 ZDST1 = (PTAVE(JL,JK)-TINTP(1)) / TSTP5288 IXTX = MAX( 1, MIN( MXIXT, INT( ZDST1 + 1. ) ) )5289 ZDSTX = (PTAVE(JL,JK)-TINTP(IXTX))/TSTP5290 IF (ZDSTX.LT.0.5) THEN5291 INDT=IXTX5292 ELSE5293 INDT=IXTX+15294 END IF5295 INDB(JL)=INDT5296 221 CONTINUE5297 C5298 DO 224 JF=1,25299 DO 223 JG=1, 85300 DO 222 JL=1, KDLON5301 INDT=INDB(JL)5302 PGA(JL,JG,JF,JK)=GA(INDT,2*JG,JF)5303 PGB(JL,JG,JF,JK)=GB(INDT,2*JG,JF)5304 222 CONTINUE5305 223 CONTINUE5306 224 CONTINUE5307 225 CONTINUE5308 C5309 C ------------------------------------------------------------------5310 C5311 RETURN5312 END5313 SUBROUTINE LWV(KUAER,KTRAER, KLIM5314 R , PABCU,PB,PBINT,PBSUIN,PBSUR,PBTOP,PDBSL,PEMIS,PPMB,PTAVE5315 R , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP5316 S , PCNTRB,PCTS,PFLUC)5317 USE dimphy5318 IMPLICIT none5319 cym#include "dimensions.h"5320 cym#include "dimphy.h"5321 cym#include "raddim.h"5322 #include "raddimlw.h"5323 #include "YOMCST.h"5324 C5325 C-----------------------------------------------------------------------5326 C PURPOSE.5327 C --------5328 C CARRIES OUT THE VERTICAL INTEGRATION TO GIVE LONGWAVE5329 C FLUXES OR RADIANCES5330 C5331 C METHOD.5332 C -------5333 C5334 C 1. PERFORMS THE VERTICAL INTEGRATION DISTINGUISHING BETWEEN5335 C CONTRIBUTIONS BY - THE NEARBY LAYERS5336 C - THE DISTANT LAYERS5337 C - THE BOUNDARY TERMS5338 C 2. COMPUTES THE CLEAR-SKY DOWNWARD AND UPWARD EMISSIVITIES.5339 C5340 C REFERENCE.5341 C ----------5342 C5343 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND5344 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS5345 C5346 C AUTHOR.5347 C -------5348 C JEAN-JACQUES MORCRETTE *ECMWF*5349 C5350 C MODIFICATIONS.5351 C --------------5352 C ORIGINAL : 89-07-145353 C-----------------------------------------------------------------------5354 C5355 C* ARGUMENTS:5356 INTEGER KUAER,KTRAER, KLIM5357 C5358 REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! EFFECTIVE ABSORBER AMOUNTS5359 REAL*8 PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF-LEVEL PLANCK FUNCTIONS5360 REAL*8 PBINT(KDLON,KFLEV+1) ! HALF-LEVEL PLANCK FUNCTIONS5361 REAL*8 PBSUR(KDLON,Ninter) ! SURFACE SPECTRAL PLANCK FUNCTION5362 REAL*8 PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION5363 REAL*8 PBTOP(KDLON,Ninter) ! T.O.A. SPECTRAL PLANCK FUNCTION5364 REAL*8 PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT5365 REAL*8 PEMIS(KDLON) ! SURFACE EMISSIVITY5366 REAL*8 PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)5367 REAL*8 PTAVE(KDLON,KFLEV) ! TEMPERATURE5368 REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS5369 REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS5370 REAL*8 PGASUR(KDLON,8,2) ! PADE APPROXIMANTS5371 REAL*8 PGBSUR(KDLON,8,2) ! PADE APPROXIMANTS5372 REAL*8 PGATOP(KDLON,8,2) ! PADE APPROXIMANTS5373 REAL*8 PGBTOP(KDLON,8,2) ! PADE APPROXIMANTS5374 C5375 REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! CLEAR-SKY ENERGY EXCHANGE MATRIX5376 REAL*8 PCTS(KDLON,KFLEV) ! COOLING-TO-SPACE TERM5377 REAL*8 PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES5378 C-----------------------------------------------------------------------5379 C LOCAL VARIABLES:5380 REAL*8 ZADJD(KDLON,KFLEV+1)5381 REAL*8 ZADJU(KDLON,KFLEV+1)5382 REAL*8 ZDBDT(KDLON,Ninter,KFLEV)5383 REAL*8 ZDISD(KDLON,KFLEV+1)5384 REAL*8 ZDISU(KDLON,KFLEV+1)5385 C5386 INTEGER jk, jl5387 C-----------------------------------------------------------------------5388 C5389 DO 112 JK=1,KFLEV+15390 DO 111 JL=1, KDLON5391 ZADJD(JL,JK)=0.5392 ZADJU(JL,JK)=0.5393 ZDISD(JL,JK)=0.5394 ZDISU(JL,JK)=0.5395 111 CONTINUE5396 112 CONTINUE5397 C5398 DO 114 JK=1,KFLEV5399 DO 113 JL=1, KDLON5400 PCTS(JL,JK)=0.5401 113 CONTINUE5402 114 CONTINUE5403 C5404 C* CONTRIBUTION FROM ADJACENT LAYERS5405 C5406 CALL LWVN(KUAER,KTRAER5407 R , PABCU,PDBSL,PGA,PGB5408 S , ZADJD,ZADJU,PCNTRB,ZDBDT)5409 C* CONTRIBUTION FROM DISTANT LAYERS5410 C5411 CALL LWVD(KUAER,KTRAER5412 R , PABCU,ZDBDT,PGA,PGB5413 S , PCNTRB,ZDISD,ZDISU)5414 C5415 C* EXCHANGE WITH THE BOUNDARIES5416 C5417 CALL LWVB(KUAER,KTRAER, KLIM5418 R , PABCU,ZADJD,ZADJU,PB,PBINT,PBSUIN,PBSUR,PBTOP5419 R , ZDISD,ZDISU,PEMIS,PPMB5420 R , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP5421 S , PCTS,PFLUC)5422 C5423 C5424 RETURN5425 END5426 SUBROUTINE LWVB(KUAER,KTRAER, KLIM5427 R , PABCU,PADJD,PADJU,PB,PBINT,PBSUI,PBSUR,PBTOP5428 R , PDISD,PDISU,PEMIS,PPMB5429 R , PGA,PGB,PGASUR,PGBSUR,PGATOP,PGBTOP5430 S , PCTS,PFLUC)5431 USE dimphy5432 IMPLICIT none5433 cym#include "dimensions.h"5434 cym#include "dimphy.h"5435 cym#include "raddim.h"5436 #include "raddimlw.h"5437 #include "radopt.h"5438 C5439 C-----------------------------------------------------------------------5440 C PURPOSE.5441 C --------5442 C INTRODUCES THE EFFECTS OF THE BOUNDARIES IN THE VERTICAL5443 C INTEGRATION5444 C5445 C METHOD.5446 C -------5447 C5448 C 1. COMPUTES THE ENERGY EXCHANGE WITH TOP AND SURFACE OF THE5449 C ATMOSPHERE5450 C 2. COMPUTES THE COOLING-TO-SPACE AND HEATING-FROM-GROUND5451 C TERMS FOR THE APPROXIMATE COOLING RATE ABOVE 10 HPA5452 C 3. ADDS UP ALL CONTRIBUTIONS TO GET THE CLEAR-SKY FLUXES5453 C5454 C REFERENCE.5455 C ----------5456 C5457 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND5458 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS5459 C5460 C AUTHOR.5461 C -------5462 C JEAN-JACQUES MORCRETTE *ECMWF*5463 C5464 C MODIFICATIONS.5465 C --------------5466 C ORIGINAL : 89-07-145467 C Voigt lines (loop 2413 to 2427) - JJM & PhD - 01/965468 C-----------------------------------------------------------------------5469 C5470 C* 0.1 ARGUMENTS5471 C ---------5472 C5473 INTEGER KUAER,KTRAER, KLIM5474 C5475 REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS5476 REAL*8 PADJD(KDLON,KFLEV+1) ! CONTRIBUTION BY ADJACENT LAYERS5477 REAL*8 PADJU(KDLON,KFLEV+1) ! CONTRIBUTION BY ADJACENT LAYERS5478 REAL*8 PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF-LEVEL PLANCK FUNCTIONS5479 REAL*8 PBINT(KDLON,KFLEV+1) ! HALF-LEVEL PLANCK FUNCTIONS5480 REAL*8 PBSUR(KDLON,Ninter) ! SPECTRAL SURFACE PLANCK FUNCTION5481 REAL*8 PBSUI(KDLON) ! SURFACE PLANCK FUNCTION5482 REAL*8 PBTOP(KDLON,Ninter) ! SPECTRAL T.O.A. PLANCK FUNCTION5483 REAL*8 PDISD(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS5484 REAL*8 PDISU(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS5485 REAL*8 PEMIS(KDLON) ! SURFACE EMISSIVITY5486 REAL*8 PPMB(KDLON,KFLEV+1) ! PRESSURE MB5487 REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS5488 REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS5489 REAL*8 PGASUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS5490 REAL*8 PGBSUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS5491 REAL*8 PGATOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS5492 REAL*8 PGBTOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS5493 C5494 REAL*8 PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES5495 REAL*8 PCTS(KDLON,KFLEV) ! COOLING-TO-SPACE TERM5496 C5497 C* LOCAL VARIABLES:5498 C5499 REAL*8 ZBGND(KDLON)5500 REAL*8 ZFD(KDLON)5501 REAL*8 ZFN10(KDLON)5502 REAL*8 ZFU(KDLON)5503 REAL*8 ZTT(KDLON,NTRA)5504 REAL*8 ZTT1(KDLON,NTRA)5505 REAL*8 ZTT2(KDLON,NTRA)5506 REAL*8 ZUU(KDLON,NUA)5507 REAL*8 ZCNSOL(KDLON)5508 REAL*8 ZCNTOP(KDLON)5509 C5510 INTEGER jk, jl, ja5511 INTEGER jstra, jstru5512 INTEGER ind1, ind2, ind3, ind4, in, jlim5513 REAL*8 zctstr5514 C-----------------------------------------------------------------------5515 C5516 C* 1. INITIALIZATION5517 C --------------5518 C5519 100 CONTINUE5520 C5521 C5522 C* 1.2 INITIALIZE TRANSMISSION FUNCTIONS5523 C ---------------------------------5524 C5525 120 CONTINUE5526 C5527 DO 122 JA=1,NTRA5528 DO 121 JL=1, KDLON5529 ZTT (JL,JA)=1.05530 ZTT1(JL,JA)=1.05531 ZTT2(JL,JA)=1.05532 121 CONTINUE5533 122 CONTINUE5534 C5535 DO 124 JA=1,NUA5536 DO 123 JL=1, KDLON5537 ZUU(JL,JA)=1.05538 123 CONTINUE5539 124 CONTINUE5540 C5541 C ------------------------------------------------------------------5542 C5543 C* 2. VERTICAL INTEGRATION5544 C --------------------5545 C5546 200 CONTINUE5547 C5548 IND1=05549 IND3=05550 IND4=15551 IND2=15552 C5553 C5554 C* 2.3 EXCHANGE WITH TOP OF THE ATMOSPHERE5555 C -----------------------------------5556 C5557 230 CONTINUE5558 C5559 DO 235 JK = 1 , KFLEV5560 IN=(JK-1)*NG1P1+15561 C5562 DO 232 JA=1,KUAER5563 DO 231 JL=1, KDLON5564 ZUU(JL,JA)=PABCU(JL,JA,IN)5565 231 CONTINUE5566 232 CONTINUE5567 C5568 C5569 CALL LWTT(PGATOP(1,1,1), PGBTOP(1,1,1), ZUU, ZTT)5570 C5571 DO 234 JL = 1, KDLON5572 ZCNTOP(JL)=PBTOP(JL,1)*ZTT(JL,1) *ZTT(JL,10)5573 2 +PBTOP(JL,2)*ZTT(JL,2)*ZTT(JL,7)*ZTT(JL,11)5574 3 +PBTOP(JL,3)*ZTT(JL,4)*ZTT(JL,8)*ZTT(JL,12)5575 4 +PBTOP(JL,4)*ZTT(JL,5)*ZTT(JL,9)*ZTT(JL,13)5576 5 +PBTOP(JL,5)*ZTT(JL,3) *ZTT(JL,14)5577 6 +PBTOP(JL,6)*ZTT(JL,6) *ZTT(JL,15)5578 ZFD(JL)=ZCNTOP(JL)-PBINT(JL,JK)-PDISD(JL,JK)-PADJD(JL,JK)5579 PFLUC(JL,2,JK)=ZFD(JL)5580 234 CONTINUE5581 C5582 235 CONTINUE5583 C5584 JK = KFLEV+15585 IN=(JK-1)*NG1P1+15586 C5587 DO 236 JL = 1, KDLON5588 ZCNTOP(JL)= PBTOP(JL,1)5589 1 + PBTOP(JL,2)5590 2 + PBTOP(JL,3)5591 3 + PBTOP(JL,4)5592 4 + PBTOP(JL,5)5593 5 + PBTOP(JL,6)5594 ZFD(JL)=ZCNTOP(JL)-PBINT(JL,JK)-PDISD(JL,JK)-PADJD(JL,JK)5595 PFLUC(JL,2,JK)=ZFD(JL)5596 236 CONTINUE5597 C5598 C* 2.4 COOLING-TO-SPACE OF LAYERS ABOVE 10 HPA5599 C ---------------------------------------5600 C5601 240 CONTINUE5602 C5603 C5604 C* 2.4.1 INITIALIZATION5605 C --------------5606 C5607 2410 CONTINUE5608 C5609 JLIM = KFLEV5610 C5611 IF (.NOT.LEVOIGT) THEN5612 DO 2412 JK = KFLEV,1,-15613 IF(PPMB(1,JK).LT.10.0) THEN5614 JLIM=JK5615 ENDIF5616 2412 CONTINUE5617 ENDIF5618 KLIM=JLIM5619 C5620 IF (.NOT.LEVOIGT) THEN5621 DO 2414 JA=1,KTRAER5622 DO 2413 JL=1, KDLON5623 ZTT1(JL,JA)=1.05624 2413 CONTINUE5625 2414 CONTINUE5626 C5627 C* 2.4.2 LOOP OVER LAYERS ABOVE 10 HPA5628 C -----------------------------5629 C5630 2420 CONTINUE5631 C5632 DO 2427 JSTRA = KFLEV,JLIM,-15633 JSTRU=(JSTRA-1)*NG1P1+15634 C5635 DO 2423 JA=1,KUAER5636 DO 2422 JL=1, KDLON5637 ZUU(JL,JA)=PABCU(JL,JA,JSTRU)5638 2422 CONTINUE5639 2423 CONTINUE5640 C5641 C5642 CALL LWTT(PGA(1,1,1,JSTRA), PGB(1,1,1,JSTRA), ZUU, ZTT)5643 C5644 DO 2424 JL = 1, KDLON5645 ZCTSTR =5646 1 (PB(JL,1,JSTRA)+PB(JL,1,JSTRA+1))5647 1 *(ZTT1(JL,1) *ZTT1(JL,10)5648 1 - ZTT (JL,1) *ZTT (JL,10))5649 2 +(PB(JL,2,JSTRA)+PB(JL,2,JSTRA+1))5650 2 *(ZTT1(JL,2)*ZTT1(JL,7)*ZTT1(JL,11)5651 2 - ZTT (JL,2)*ZTT (JL,7)*ZTT (JL,11))5652 3 +(PB(JL,3,JSTRA)+PB(JL,3,JSTRA+1))5653 3 *(ZTT1(JL,4)*ZTT1(JL,8)*ZTT1(JL,12)5654 3 - ZTT (JL,4)*ZTT (JL,8)*ZTT (JL,12))5655 4 +(PB(JL,4,JSTRA)+PB(JL,4,JSTRA+1))5656 4 *(ZTT1(JL,5)*ZTT1(JL,9)*ZTT1(JL,13)5657 4 - ZTT (JL,5)*ZTT (JL,9)*ZTT (JL,13))5658 5 +(PB(JL,5,JSTRA)+PB(JL,5,JSTRA+1))5659 5 *(ZTT1(JL,3) *ZTT1(JL,14)5660 5 - ZTT (JL,3) *ZTT (JL,14))5661 6 +(PB(JL,6,JSTRA)+PB(JL,6,JSTRA+1))5662 6 *(ZTT1(JL,6) *ZTT1(JL,15)5663 6 - ZTT (JL,6) *ZTT (JL,15))5664 PCTS(JL,JSTRA)=ZCTSTR*0.55665 2424 CONTINUE5666 DO 2426 JA=1,KTRAER5667 DO 2425 JL=1, KDLON5668 ZTT1(JL,JA)=ZTT(JL,JA)5669 2425 CONTINUE5670 2426 CONTINUE5671 2427 CONTINUE5672 ENDIF5673 C Mise a zero de securite pour PCTS en cas de LEVOIGT5674 IF(LEVOIGT)THEN5675 DO 2429 JSTRA = 1,KFLEV5676 DO 2428 JL = 1, KDLON5677 PCTS(JL,JSTRA)=0.5678 2428 CONTINUE5679 2429 CONTINUE5680 ENDIF5681 C5682 C5683 C* 2.5 EXCHANGE WITH LOWER LIMIT5684 C -------------------------5685 C5686 250 CONTINUE5687 C5688 DO 251 JL = 1, KDLON5689 ZBGND(JL)=PBSUI(JL)*PEMIS(JL)-(1.-PEMIS(JL))5690 S *PFLUC(JL,2,1)-PBINT(JL,1)5691 251 CONTINUE5692 C5693 JK = 15694 IN=(JK-1)*NG1P1+15695 C5696 DO 252 JL = 1, KDLON5697 ZCNSOL(JL)=PBSUR(JL,1)5698 1 +PBSUR(JL,2)5699 2 +PBSUR(JL,3)5700 3 +PBSUR(JL,4)5701 4 +PBSUR(JL,5)5702 5 +PBSUR(JL,6)5703 ZCNSOL(JL)=ZCNSOL(JL)*ZBGND(JL)/PBSUI(JL)5704 ZFU(JL)=ZCNSOL(JL)+PBINT(JL,JK)-PDISU(JL,JK)-PADJU(JL,JK)5705 PFLUC(JL,1,JK)=ZFU(JL)5706 252 CONTINUE5707 C5708 DO 257 JK = 2 , KFLEV+15709 IN=(JK-1)*NG1P1+15710 C5711 C5712 DO 255 JA=1,KUAER5713 DO 254 JL=1, KDLON5714 ZUU(JL,JA)=PABCU(JL,JA,1)-PABCU(JL,JA,IN)5715 254 CONTINUE5716 255 CONTINUE5717 C5718 C5719 CALL LWTT(PGASUR(1,1,1), PGBSUR(1,1,1), ZUU, ZTT)5720 C5721 DO 256 JL = 1, KDLON5722 ZCNSOL(JL)=PBSUR(JL,1)*ZTT(JL,1) *ZTT(JL,10)5723 2 +PBSUR(JL,2)*ZTT(JL,2)*ZTT(JL,7)*ZTT(JL,11)5724 3 +PBSUR(JL,3)*ZTT(JL,4)*ZTT(JL,8)*ZTT(JL,12)5725 4 +PBSUR(JL,4)*ZTT(JL,5)*ZTT(JL,9)*ZTT(JL,13)5726 5 +PBSUR(JL,5)*ZTT(JL,3) *ZTT(JL,14)5727 6 +PBSUR(JL,6)*ZTT(JL,6) *ZTT(JL,15)5728 ZCNSOL(JL)=ZCNSOL(JL)*ZBGND(JL)/PBSUI(JL)5729 ZFU(JL)=ZCNSOL(JL)+PBINT(JL,JK)-PDISU(JL,JK)-PADJU(JL,JK)5730 PFLUC(JL,1,JK)=ZFU(JL)5731 256 CONTINUE5732 C5733 C5734 257 CONTINUE5735 C5736 C5737 C5738 C* 2.7 CLEAR-SKY FLUXES5739 C ----------------5740 C5741 270 CONTINUE5742 C5743 IF (.NOT.LEVOIGT) THEN5744 DO 271 JL = 1, KDLON5745 ZFN10(JL) = PFLUC(JL,1,JLIM) + PFLUC(JL,2,JLIM)5746 271 CONTINUE5747 DO 273 JK = JLIM+1,KFLEV+15748 DO 272 JL = 1, KDLON5749 ZFN10(JL) = ZFN10(JL) + PCTS(JL,JK-1)5750 PFLUC(JL,1,JK) = ZFN10(JL)5751 PFLUC(JL,2,JK) = 0.5752 272 CONTINUE5753 273 CONTINUE5754 ENDIF5755 C5756 C ------------------------------------------------------------------5757 C5758 RETURN5759 END5760 SUBROUTINE LWVD(KUAER,KTRAER5761 S , PABCU,PDBDT5762 R , PGA,PGB5763 S , PCNTRB,PDISD,PDISU)5764 USE dimphy5765 IMPLICIT none5766 cym#include "dimensions.h"5767 cym#include "dimphy.h"5768 cym#include "raddim.h"5769 #include "raddimlw.h"5770 C5771 C-----------------------------------------------------------------------5772 C PURPOSE.5773 C --------5774 C CARRIES OUT THE VERTICAL INTEGRATION ON THE DISTANT LAYERS5775 C5776 C METHOD.5777 C -------5778 C5779 C 1. PERFORMS THE VERTICAL INTEGRATION CORRESPONDING TO THE5780 C CONTRIBUTIONS OF THE DISTANT LAYERS USING TRAPEZOIDAL RULE5781 C5782 C REFERENCE.5783 C ----------5784 C5785 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND5786 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS5787 C5788 C AUTHOR.5789 C -------5790 C JEAN-JACQUES MORCRETTE *ECMWF*5791 C5792 C MODIFICATIONS.5793 C --------------5794 C ORIGINAL : 89-07-145795 C-----------------------------------------------------------------------5796 C* ARGUMENTS:5797 C5798 INTEGER KUAER,KTRAER5799 C5800 REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS5801 REAL*8 PDBDT(KDLON,Ninter,KFLEV) ! LAYER PLANCK FUNCTION GRADIENT5802 REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS5803 REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS5804 C5805 REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! ENERGY EXCHANGE MATRIX5806 REAL*8 PDISD(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS5807 REAL*8 PDISU(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS5808 C5809 C* LOCAL VARIABLES:5810 C5811 REAL*8 ZGLAYD(KDLON)5812 REAL*8 ZGLAYU(KDLON)5813 REAL*8 ZTT(KDLON,NTRA)5814 REAL*8 ZTT1(KDLON,NTRA)5815 REAL*8 ZTT2(KDLON,NTRA)5816 C5817 INTEGER jl, jk, ja, ikp1, ikn, ikd1, jkj, ikd25818 INTEGER ikjp1, ikm1, ikj, jlk, iku1, ijkl, iku25819 INTEGER ind1, ind2, ind3, ind4, itt5820 REAL*8 zww, zdzxdg, zdzxmg5821 C5822 C* 1. INITIALIZATION5823 C --------------5824 C5825 100 CONTINUE5826 C5827 C* 1.1 INITIALIZE LAYER CONTRIBUTIONS5828 C ------------------------------5829 C5830 110 CONTINUE5831 C5832 DO 112 JK = 1, KFLEV+15833 DO 111 JL = 1, KDLON5834 PDISD(JL,JK) = 0.5835 PDISU(JL,JK) = 0.5836 111 CONTINUE5837 112 CONTINUE5838 C5839 C* 1.2 INITIALIZE TRANSMISSION FUNCTIONS5840 C ---------------------------------5841 C5842 120 CONTINUE5843 C5844 C5845 DO 122 JA = 1, NTRA5846 DO 121 JL = 1, KDLON5847 ZTT (JL,JA) = 1.05848 ZTT1(JL,JA) = 1.05849 ZTT2(JL,JA) = 1.05850 121 CONTINUE5851 122 CONTINUE5852 C5853 C ------------------------------------------------------------------5854 C5855 C* 2. VERTICAL INTEGRATION5856 C --------------------5857 C5858 200 CONTINUE5859 C5860 IND1=05861 IND3=05862 IND4=15863 IND2=15864 C5865 C5866 C* 2.2 CONTRIBUTION FROM DISTANT LAYERS5867 C ---------------------------------5868 C5869 220 CONTINUE5870 C5871 C5872 C* 2.2.1 DISTANT AND ABOVE LAYERS5873 C ------------------------5874 C5875 2210 CONTINUE5876 C5877 C5878 C5879 C* 2.2.2 FIRST UPPER LEVEL5880 C -----------------5881 C5882 2220 CONTINUE5883 C5884 DO 225 JK = 1 , KFLEV-15885 IKP1=JK+15886 IKN=(JK-1)*NG1P1+15887 IKD1= JK *NG1P1+15888 C5889 CALL LWTTM(PGA(1,1,1,JK), PGB(1,1,1,JK)5890 2 , PABCU(1,1,IKN),PABCU(1,1,IKD1),ZTT1)5891 C5892 C5893 C5894 C* 2.2.3 HIGHER UP5895 C ---------5896 C5897 2230 CONTINUE5898 C5899 ITT=15900 DO 224 JKJ=IKP1,KFLEV5901 IF(ITT.EQ.1) THEN5902 ITT=25903 ELSE5904 ITT=15905 ENDIF5906 IKJP1=JKJ+15907 IKD2= JKJ *NG1P1+15908 C5909 IF(ITT.EQ.1) THEN5910 CALL LWTTM(PGA(1,1,1,JKJ),PGB(1,1,1,JKJ)5911 2 , PABCU(1,1,IKN),PABCU(1,1,IKD2),ZTT1)5912 ELSE5913 CALL LWTTM(PGA(1,1,1,JKJ),PGB(1,1,1,JKJ)5914 2 , PABCU(1,1,IKN),PABCU(1,1,IKD2),ZTT2)5915 ENDIF5916 C5917 DO 2235 JA = 1, KTRAER5918 DO 2234 JL = 1, KDLON5919 ZTT(JL,JA) = (ZTT1(JL,JA)+ZTT2(JL,JA))*0.55920 2234 CONTINUE5921 2235 CONTINUE5922 C5923 DO 2236 JL = 1, KDLON5924 ZWW=PDBDT(JL,1,JKJ)*ZTT(JL,1) *ZTT(JL,10)5925 S +PDBDT(JL,2,JKJ)*ZTT(JL,2)*ZTT(JL,7)*ZTT(JL,11)5926 S +PDBDT(JL,3,JKJ)*ZTT(JL,4)*ZTT(JL,8)*ZTT(JL,12)5927 S +PDBDT(JL,4,JKJ)*ZTT(JL,5)*ZTT(JL,9)*ZTT(JL,13)5928 S +PDBDT(JL,5,JKJ)*ZTT(JL,3) *ZTT(JL,14)5929 S +PDBDT(JL,6,JKJ)*ZTT(JL,6) *ZTT(JL,15)5930 ZGLAYD(JL)=ZWW5931 ZDZXDG=ZGLAYD(JL)5932 PDISD(JL,JK)=PDISD(JL,JK)+ZDZXDG5933 PCNTRB(JL,JK,IKJP1)=ZDZXDG5934 2236 CONTINUE5935 C5936 C5937 224 CONTINUE5938 225 CONTINUE5939 C5940 C5941 C* 2.2.4 DISTANT AND BELOW LAYERS5942 C ------------------------5943 C5944 2240 CONTINUE5945 C5946 C5947 C5948 C* 2.2.5 FIRST LOWER LEVEL5949 C -----------------5950 C5951 2250 CONTINUE5952 C5953 DO 228 JK=3,KFLEV+15954 IKN=(JK-1)*NG1P1+15955 IKM1=JK-15956 IKJ=JK-25957 IKU1= IKJ *NG1P1+15958 C5959 C5960 CALL LWTTM(PGA(1,1,1,IKJ),PGB(1,1,1,IKJ)5961 2 , PABCU(1,1,IKU1),PABCU(1,1,IKN),ZTT1)5962 C5963 C5964 C5965 C* 2.2.6 DOWN BELOW5966 C ----------5967 C5968 2260 CONTINUE5969 C5970 ITT=15971 DO 227 JLK=1,IKJ5972 IF(ITT.EQ.1) THEN5973 ITT=25974 ELSE5975 ITT=15976 ENDIF5977 IJKL=IKM1-JLK5978 IKU2=(IJKL-1)*NG1P1+15979 C5980 C5981 IF(ITT.EQ.1) THEN5982 CALL LWTTM(PGA(1,1,1,IJKL),PGB(1,1,1,IJKL)5983 2 , PABCU(1,1,IKU2),PABCU(1,1,IKN),ZTT1)5984 ELSE5985 CALL LWTTM(PGA(1,1,1,IJKL),PGB(1,1,1,IJKL)5986 2 , PABCU(1,1,IKU2),PABCU(1,1,IKN),ZTT2)5987 ENDIF5988 C5989 DO 2265 JA = 1, KTRAER5990 DO 2264 JL = 1, KDLON5991 ZTT(JL,JA) = (ZTT1(JL,JA)+ZTT2(JL,JA))*0.55992 2264 CONTINUE5993 2265 CONTINUE5994 C5995 DO 2266 JL = 1, KDLON5996 ZWW=PDBDT(JL,1,IJKL)*ZTT(JL,1) *ZTT(JL,10)5997 S +PDBDT(JL,2,IJKL)*ZTT(JL,2)*ZTT(JL,7)*ZTT(JL,11)5998 S +PDBDT(JL,3,IJKL)*ZTT(JL,4)*ZTT(JL,8)*ZTT(JL,12)5999 S +PDBDT(JL,4,IJKL)*ZTT(JL,5)*ZTT(JL,9)*ZTT(JL,13)6000 S +PDBDT(JL,5,IJKL)*ZTT(JL,3) *ZTT(JL,14)6001 S +PDBDT(JL,6,IJKL)*ZTT(JL,6) *ZTT(JL,15)6002 ZGLAYU(JL)=ZWW6003 ZDZXMG=ZGLAYU(JL)6004 PDISU(JL,JK)=PDISU(JL,JK)+ZDZXMG6005 PCNTRB(JL,JK,IJKL)=ZDZXMG6006 2266 CONTINUE6007 C6008 C6009 227 CONTINUE6010 228 CONTINUE6011 C6012 RETURN6013 END6014 SUBROUTINE LWVN(KUAER,KTRAER6015 R , PABCU,PDBSL,PGA,PGB6016 S , PADJD,PADJU,PCNTRB,PDBDT)6017 USE dimphy6018 IMPLICIT none6019 cym#include "dimensions.h"6020 cym#include "dimphy.h"6021 cym#include "raddim.h"6022 #include "raddimlw.h"6023 C6024 C-----------------------------------------------------------------------6025 C PURPOSE.6026 C --------6027 C CARRIES OUT THE VERTICAL INTEGRATION ON NEARBY LAYERS6028 C TO GIVE LONGWAVE FLUXES OR RADIANCES6029 C6030 C METHOD.6031 C -------6032 C6033 C 1. PERFORMS THE VERTICAL INTEGRATION CORRESPONDING TO THE6034 C CONTRIBUTIONS OF THE ADJACENT LAYERS USING A GAUSSIAN QUADRATURE6035 C6036 C REFERENCE.6037 C ----------6038 C6039 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND6040 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS6041 C6042 C AUTHOR.6043 C -------6044 C JEAN-JACQUES MORCRETTE *ECMWF*6045 C6046 C MODIFICATIONS.6047 C --------------6048 C ORIGINAL : 89-07-146049 C-----------------------------------------------------------------------6050 C6051 C* ARGUMENTS:6052 C6053 INTEGER KUAER,KTRAER6054 C6055 REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS6056 REAL*8 PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT6057 REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS6058 REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS6059 C6060 REAL*8 PADJD(KDLON,KFLEV+1) ! CONTRIBUTION OF ADJACENT LAYERS6061 REAL*8 PADJU(KDLON,KFLEV+1) ! CONTRIBUTION OF ADJACENT LAYERS6062 REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! CLEAR-SKY ENERGY EXCHANGE MATRIX6063 REAL*8 PDBDT(KDLON,Ninter,KFLEV) ! LAYER PLANCK FUNCTION GRADIENT6064 C6065 C* LOCAL ARRAYS:6066 C6067 REAL*8 ZGLAYD(KDLON)6068 REAL*8 ZGLAYU(KDLON)6069 REAL*8 ZTT(KDLON,NTRA)6070 REAL*8 ZTT1(KDLON,NTRA)6071 REAL*8 ZTT2(KDLON,NTRA)6072 REAL*8 ZUU(KDLON,NUA)6073 C6074 INTEGER jk, jl, ja, im12, ind, inu, ixu, jg6075 INTEGER ixd, ibs, idd, imu, jk1, jk2, jnu6076 REAL*8 zwtr6077 c6078 C* Data Block:6079 c6080 REAL*8 WG1(2)6081 SAVE WG16082 c$OMP THREADPRIVATE(WG1)6083 DATA (WG1(jk),jk=1,2) /1.0, 1.0/6084 C-----------------------------------------------------------------------6085 C6086 C* 1. INITIALIZATION6087 C --------------6088 C6089 100 CONTINUE6090 C6091 C* 1.1 INITIALIZE LAYER CONTRIBUTIONS6092 C ------------------------------6093 C6094 110 CONTINUE6095 C6096 DO 112 JK = 1 , KFLEV+16097 DO 111 JL = 1, KDLON6098 PADJD(JL,JK) = 0.6099 PADJU(JL,JK) = 0.6100 111 CONTINUE6101 112 CONTINUE6102 C6103 C* 1.2 INITIALIZE TRANSMISSION FUNCTIONS6104 C ---------------------------------6105 C6106 120 CONTINUE6107 C6108 DO 122 JA = 1 , NTRA6109 DO 121 JL = 1, KDLON6110 ZTT (JL,JA) = 1.06111 ZTT1(JL,JA) = 1.06112 ZTT2(JL,JA) = 1.06113 121 CONTINUE6114 122 CONTINUE6115 C6116 DO 124 JA = 1 , NUA6117 DO 123 JL = 1, KDLON6118 ZUU(JL,JA) = 0.6119 123 CONTINUE6120 124 CONTINUE6121 C6122 C ------------------------------------------------------------------6123 C6124 C* 2. VERTICAL INTEGRATION6125 C --------------------6126 C6127 200 CONTINUE6128 C6129 C6130 C* 2.1 CONTRIBUTION FROM ADJACENT LAYERS6131 C ---------------------------------6132 C6133 210 CONTINUE6134 C6135 DO 215 JK = 1 , KFLEV6136 C6137 C* 2.1.1 DOWNWARD LAYERS6138 C ---------------6139 C6140 2110 CONTINUE6141 C6142 IM12 = 2 * (JK - 1)6143 IND = (JK - 1) * NG1P1 + 16144 IXD = IND6145 INU = JK * NG1P1 + 16146 IXU = IND6147 C6148 DO 2111 JL = 1, KDLON6149 ZGLAYD(JL) = 0.6150 ZGLAYU(JL) = 0.6151 2111 CONTINUE6152 C6153 DO 213 JG = 1 , NG16154 IBS = IM12 + JG6155 IDD = IXD + JG6156 DO 2113 JA = 1 , KUAER6157 DO 2112 JL = 1, KDLON6158 ZUU(JL,JA) = PABCU(JL,JA,IND) - PABCU(JL,JA,IDD)6159 2112 CONTINUE6160 2113 CONTINUE6161 C6162 C6163 CALL LWTT(PGA(1,1,1,JK), PGB(1,1,1,JK), ZUU, ZTT)6164 C6165 DO 2114 JL = 1, KDLON6166 ZWTR=PDBSL(JL,1,IBS)*ZTT(JL,1) *ZTT(JL,10)6167 S +PDBSL(JL,2,IBS)*ZTT(JL,2)*ZTT(JL,7)*ZTT(JL,11)6168 S +PDBSL(JL,3,IBS)*ZTT(JL,4)*ZTT(JL,8)*ZTT(JL,12)6169 S +PDBSL(JL,4,IBS)*ZTT(JL,5)*ZTT(JL,9)*ZTT(JL,13)6170 S +PDBSL(JL,5,IBS)*ZTT(JL,3) *ZTT(JL,14)6171 S +PDBSL(JL,6,IBS)*ZTT(JL,6) *ZTT(JL,15)6172 ZGLAYD(JL)=ZGLAYD(JL)+ZWTR*WG1(JG)6173 2114 CONTINUE6174 C6175 C* 2.1.2 DOWNWARD LAYERS6176 C ---------------6177 C6178 2120 CONTINUE6179 C6180 IMU = IXU + JG6181 DO 2122 JA = 1 , KUAER6182 DO 2121 JL = 1, KDLON6183 ZUU(JL,JA) = PABCU(JL,JA,IMU) - PABCU(JL,JA,INU)6184 2121 CONTINUE6185 2122 CONTINUE6186 C6187 C6188 CALL LWTT(PGA(1,1,1,JK), PGB(1,1,1,JK), ZUU, ZTT)6189 C6190 DO 2123 JL = 1, KDLON6191 ZWTR=PDBSL(JL,1,IBS)*ZTT(JL,1) *ZTT(JL,10)6192 S +PDBSL(JL,2,IBS)*ZTT(JL,2)*ZTT(JL,7)*ZTT(JL,11)6193 S +PDBSL(JL,3,IBS)*ZTT(JL,4)*ZTT(JL,8)*ZTT(JL,12)6194 S +PDBSL(JL,4,IBS)*ZTT(JL,5)*ZTT(JL,9)*ZTT(JL,13)6195 S +PDBSL(JL,5,IBS)*ZTT(JL,3) *ZTT(JL,14)6196 S +PDBSL(JL,6,IBS)*ZTT(JL,6) *ZTT(JL,15)6197 ZGLAYU(JL)=ZGLAYU(JL)+ZWTR*WG1(JG)6198 2123 CONTINUE6199 C6200 213 CONTINUE6201 C6202 DO 214 JL = 1, KDLON6203 PADJD(JL,JK) = ZGLAYD(JL)6204 PCNTRB(JL,JK,JK+1) = ZGLAYD(JL)6205 PADJU(JL,JK+1) = ZGLAYU(JL)6206 PCNTRB(JL,JK+1,JK) = ZGLAYU(JL)6207 PCNTRB(JL,JK ,JK) = 0.06208 214 CONTINUE6209 C6210 215 CONTINUE6211 C6212 DO 218 JK = 1 , KFLEV6213 JK2 = 2 * JK6214 JK1 = JK2 - 16215 DO 217 JNU = 1 , Ninter6216 DO 216 JL = 1, KDLON6217 PDBDT(JL,JNU,JK) = PDBSL(JL,JNU,JK1) + PDBSL(JL,JNU,JK2)6218 216 CONTINUE6219 217 CONTINUE6220 218 CONTINUE6221 C6222 RETURN6223 C6224 END6225 SUBROUTINE LWTT(PGA,PGB,PUU, PTT)6226 USE dimphy6227 IMPLICIT none6228 cym#include "dimensions.h"6229 cym#include "dimphy.h"6230 cym#include "raddim.h"6231 #include "raddimlw.h"6232 C6233 C-----------------------------------------------------------------------6234 C PURPOSE.6235 C --------6236 C THIS ROUTINE COMPUTES THE TRANSMISSION FUNCTIONS FOR ALL THE6237 C ABSORBERS (H2O, UNIFORMLY MIXED GASES, AND O3) IN ALL SIX SPECTRAL6238 C INTERVALS.6239 C6240 C METHOD.6241 C -------6242 C6243 C 1. TRANSMISSION FUNCTION BY H2O AND UNIFORMLY MIXED GASES ARE6244 C COMPUTED USING PADE APPROXIMANTS AND HORNER'S ALGORITHM.6245 C 2. TRANSMISSION BY O3 IS EVALUATED WITH MALKMUS'S BAND MODEL.6246 C 3. TRANSMISSION BY H2O CONTINUUM AND AEROSOLS FOLLOW AN6247 C A SIMPLE EXPONENTIAL DECREASE WITH ABSORBER AMOUNT.6248 C6249 C REFERENCE.6250 C ----------6251 C6252 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND6253 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS6254 C6255 C AUTHOR.6256 C -------6257 C JEAN-JACQUES MORCRETTE *ECMWF*6258 C6259 C MODIFICATIONS.6260 C --------------6261 C ORIGINAL : 88-12-156262 C6263 C-----------------------------------------------------------------------6264 REAL*8 O1H, O2H6265 PARAMETER (O1H=2230.)6266 PARAMETER (O2H=100.)6267 REAL*8 RPIALF06268 PARAMETER (RPIALF0=2.0)6269 C6270 C* ARGUMENTS:6271 C6272 REAL*8 PUU(KDLON,NUA)6273 REAL*8 PTT(KDLON,NTRA)6274 REAL*8 PGA(KDLON,8,2)6275 REAL*8 PGB(KDLON,8,2)6276 C6277 C* LOCAL VARIABLES:6278 C6279 REAL*8 zz, zxd, zxn6280 REAL*8 zpu, zpu10, zpu11, zpu12, zpu136281 REAL*8 zeu, zeu10, zeu11, zeu12, zeu136282 REAL*8 zx, zy, zsq1, zsq2, zvxy, zuxy6283 REAL*8 zaercn, zto1, zto2, zxch4, zych4, zxn2o, zyn2o6284 REAL*8 zsqn21, zodn21, zsqh42, zodh426285 REAL*8 zsqh41, zodh41, zsqn22, zodn22, zttf11, zttf126286 REAL*8 zuu11, zuu12, za11, za126287 INTEGER jl, ja6288 C ------------------------------------------------------------------6289 C6290 C* 1. HORNER'S ALGORITHM FOR H2O AND CO2 TRANSMISSION6291 C -----------------------------------------------6292 C6293 100 CONTINUE6294 C6295 C6296 DO 130 JA = 1 , 86297 DO 120 JL = 1, KDLON6298 ZZ =SQRT(PUU(JL,JA))6299 c ZXD(JL,1)=PGB( JL, 1,1) + ZZ(JL, 1)*(PGB( JL, 1,2) + ZZ(JL, 1))6300 c ZXN(JL,1)=PGA( JL, 1,1) + ZZ(JL, 1)*(PGA( JL, 1,2) )6301 c PTT(JL,1)=ZXN(JL,1)/ZXD(JL,1)6302 ZXD =PGB( JL,JA,1) + ZZ *(PGB( JL,JA,2) + ZZ )6303 ZXN =PGA( JL,JA,1) + ZZ *(PGA( JL,JA,2) )6304 PTT(JL,JA)=ZXN /ZXD6305 120 CONTINUE6306 130 CONTINUE6307 C6308 C ------------------------------------------------------------------6309 C6310 C* 2. CONTINUUM, OZONE AND AEROSOL TRANSMISSION FUNCTIONS6311 C ---------------------------------------------------6312 C6313 200 CONTINUE6314 C6315 DO 201 JL = 1, KDLON6316 PTT(JL, 9) = PTT(JL, 8)6317 C6318 C- CONTINUUM ABSORPTION: E- AND P-TYPE6319 C6320 ZPU = 0.002 * PUU(JL,10)6321 ZPU10 = 112. * ZPU6322 ZPU11 = 6.25 * ZPU6323 ZPU12 = 5.00 * ZPU6324 ZPU13 = 80.0 * ZPU6325 ZEU = PUU(JL,11)6326 ZEU10 = 12. * ZEU6327 ZEU11 = 6.25 * ZEU6328 ZEU12 = 5.00 * ZEU6329 ZEU13 = 80.0 * ZEU6330 C6331 C- OZONE ABSORPTION6332 C6333 ZX = PUU(JL,12)6334 ZY = PUU(JL,13)6335 ZUXY = 4. * ZX * ZX / (RPIALF0 * ZY)6336 ZSQ1 = SQRT(1. + O1H * ZUXY ) - 1.6337 ZSQ2 = SQRT(1. + O2H * ZUXY ) - 1.6338 ZVXY = RPIALF0 * ZY / (2. * ZX)6339 ZAERCN = PUU(JL,17) + ZEU12 + ZPU126340 ZTO1 = EXP( - ZVXY * ZSQ1 - ZAERCN )6341 ZTO2 = EXP( - ZVXY * ZSQ2 - ZAERCN )6342 C6343 C-- TRACE GASES (CH4, N2O, CFC-11, CFC-12)6344 C6345 C* CH4 IN INTERVAL 800-970 + 1110-1250 CM-16346 C6347 c NEXOTIC=16348 c IF (NEXOTIC.EQ.1) THEN6349 ZXCH4 = PUU(JL,19)6350 ZYCH4 = PUU(JL,20)6351 ZUXY = 4. * ZXCH4*ZXCH4/(0.103*ZYCH4)6352 ZSQH41 = SQRT(1. + 33.7 * ZUXY) - 1.6353 ZVXY = 0.103 * ZYCH4 / (2. * ZXCH4)6354 ZODH41 = ZVXY * ZSQH416355 C6356 C* N2O IN INTERVAL 800-970 + 1110-1250 CM-16357 C6358 ZXN2O = PUU(JL,21)6359 ZYN2O = PUU(JL,22)6360 ZUXY = 4. * ZXN2O*ZXN2O/(0.416*ZYN2O)6361 ZSQN21 = SQRT(1. + 21.3 * ZUXY) - 1.6362 ZVXY = 0.416 * ZYN2O / (2. * ZXN2O)6363 ZODN21 = ZVXY * ZSQN216364 C6365 C* CH4 IN INTERVAL 1250-1450 + 1880-2820 CM-16366 C6367 ZUXY = 4. * ZXCH4*ZXCH4/(0.113*ZYCH4)6368 ZSQH42 = SQRT(1. + 400. * ZUXY) - 1.6369 ZVXY = 0.113 * ZYCH4 / (2. * ZXCH4)6370 ZODH42 = ZVXY * ZSQH426371 C6372 C* N2O IN INTERVAL 1250-1450 + 1880-2820 CM-16373 C6374 ZUXY = 4. * ZXN2O*ZXN2O/(0.197*ZYN2O)6375 ZSQN22 = SQRT(1. + 2000. * ZUXY) - 1.6376 ZVXY = 0.197 * ZYN2O / (2. * ZXN2O)6377 ZODN22 = ZVXY * ZSQN226378 C6379 C* CFC-11 IN INTERVAL 800-970 + 1110-1250 CM-16380 C6381 ZA11 = 2. * PUU(JL,23) * 4.404E+056382 ZTTF11 = 1. - ZA11 * 0.0032256383 C6384 C* CFC-12 IN INTERVAL 800-970 + 1110-1250 CM-16385 C6386 ZA12 = 2. * PUU(JL,24) * 6.7435E+056387 ZTTF12 = 1. - ZA12 * 0.0032256388 C6389 ZUU11 = - PUU(JL,15) - ZEU10 - ZPU106390 ZUU12 = - PUU(JL,16) - ZEU11 - ZPU11 - ZODH41 - ZODN216391 PTT(JL,10) = EXP( - PUU(JL,14) )6392 PTT(JL,11) = EXP( ZUU11 )6393 PTT(JL,12) = EXP( ZUU12 ) * ZTTF11 * ZTTF126394 PTT(JL,13) = 0.7554 * ZTO1 + 0.2446 * ZTO26395 PTT(JL,14) = PTT(JL,10) * EXP( - ZEU13 - ZPU13 )6396 PTT(JL,15) = EXP ( - PUU(JL,14) - ZODH42 - ZODN22 )6397 201 CONTINUE6398 C6399 RETURN6400 END6401 SUBROUTINE LWTTM(PGA,PGB,PUU1,PUU2, PTT)6402 USE dimphy6403 IMPLICIT none6404 cym#include "dimensions.h"6405 cym#include "dimphy.h"6406 cym#include "raddim.h"6407 #include "raddimlw.h"6408 C6409 C ------------------------------------------------------------------6410 C PURPOSE.6411 C --------6412 C THIS ROUTINE COMPUTES THE TRANSMISSION FUNCTIONS FOR ALL THE6413 C ABSORBERS (H2O, UNIFORMLY MIXED GASES, AND O3) IN ALL SIX SPECTRAL6414 C INTERVALS.6415 C6416 C METHOD.6417 C -------6418 C6419 C 1. TRANSMISSION FUNCTION BY H2O AND UNIFORMLY MIXED GASES ARE6420 C COMPUTED USING PADE APPROXIMANTS AND HORNER'S ALGORITHM.6421 C 2. TRANSMISSION BY O3 IS EVALUATED WITH MALKMUS'S BAND MODEL.6422 C 3. TRANSMISSION BY H2O CONTINUUM AND AEROSOLS FOLLOW AN6423 C A SIMPLE EXPONENTIAL DECREASE WITH ABSORBER AMOUNT.6424 C6425 C REFERENCE.6426 C ----------6427 C6428 C SEE RADIATION'S PART OF THE MODEL'S DOCUMENTATION AND6429 C ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS6430 C6431 C AUTHOR.6432 C -------6433 C JEAN-JACQUES MORCRETTE *ECMWF*6434 C6435 C MODIFICATIONS.6436 C --------------6437 C ORIGINAL : 88-12-156438 C6439 C-----------------------------------------------------------------------6440 REAL*8 O1H, O2H6441 PARAMETER (O1H=2230.)6442 PARAMETER (O2H=100.)6443 REAL*8 RPIALF06444 PARAMETER (RPIALF0=2.0)6445 C6446 C* ARGUMENTS:6447 C6448 REAL*8 PGA(KDLON,8,2) ! PADE APPROXIMANTS6449 REAL*8 PGB(KDLON,8,2) ! PADE APPROXIMANTS6450 REAL*8 PUU1(KDLON,NUA) ! ABSORBER AMOUNTS FROM TOP TO LEVEL 16451 REAL*8 PUU2(KDLON,NUA) ! ABSORBER AMOUNTS FROM TOP TO LEVEL 26452 REAL*8 PTT(KDLON,NTRA) ! TRANSMISSION FUNCTIONS6453 C6454 C* LOCAL VARIABLES:6455 C6456 INTEGER ja, jl6457 REAL*8 zz, zxd, zxn6458 REAL*8 zpu, zpu10, zpu11, zpu12, zpu136459 REAL*8 zeu, zeu10, zeu11, zeu12, zeu136460 REAL*8 zx, zy, zuxy, zsq1, zsq2, zvxy, zaercn, zto1, zto26461 REAL*8 zxch4, zych4, zsqh41, zodh416462 REAL*8 zxn2o, zyn2o, zsqn21, zodn21, zsqh42, zodh426463 REAL*8 zsqn22, zodn22, za11, zttf11, za12, zttf126464 REAL*8 zuu11, zuu126465 C ------------------------------------------------------------------6466 C6467 C* 1. HORNER'S ALGORITHM FOR H2O AND CO2 TRANSMISSION6468 C -----------------------------------------------6469 C6470 100 CONTINUE6471 C6472 C6473 DO 130 JA = 1 , 86474 DO 120 JL = 1, KDLON6475 ZZ =SQRT(PUU1(JL,JA) - PUU2(JL,JA))6476 ZXD =PGB( JL,JA,1) + ZZ *(PGB( JL,JA,2) + ZZ )6477 ZXN =PGA( JL,JA,1) + ZZ *(PGA( JL,JA,2) )6478 PTT(JL,JA)=ZXN /ZXD6479 120 CONTINUE6480 130 CONTINUE6481 C6482 C ------------------------------------------------------------------6483 C6484 C* 2. CONTINUUM, OZONE AND AEROSOL TRANSMISSION FUNCTIONS6485 C ---------------------------------------------------6486 C6487 200 CONTINUE6488 C6489 DO 201 JL = 1, KDLON6490 PTT(JL, 9) = PTT(JL, 8)6491 C6492 C- CONTINUUM ABSORPTION: E- AND P-TYPE6493 C6494 ZPU = 0.002 * (PUU1(JL,10) - PUU2(JL,10))6495 ZPU10 = 112. * ZPU6496 ZPU11 = 6.25 * ZPU6497 ZPU12 = 5.00 * ZPU6498 ZPU13 = 80.0 * ZPU6499 ZEU = (PUU1(JL,11) - PUU2(JL,11))6500 ZEU10 = 12. * ZEU6501 ZEU11 = 6.25 * ZEU6502 ZEU12 = 5.00 * ZEU6503 ZEU13 = 80.0 * ZEU6504 C6505 C- OZONE ABSORPTION6506 C6507 ZX = (PUU1(JL,12) - PUU2(JL,12))6508 ZY = (PUU1(JL,13) - PUU2(JL,13))6509 ZUXY = 4. * ZX * ZX / (RPIALF0 * ZY)6510 ZSQ1 = SQRT(1. + O1H * ZUXY ) - 1.6511 ZSQ2 = SQRT(1. + O2H * ZUXY ) - 1.6512 ZVXY = RPIALF0 * ZY / (2. * ZX)6513 ZAERCN = (PUU1(JL,17) -PUU2(JL,17)) + ZEU12 + ZPU126514 ZTO1 = EXP( - ZVXY * ZSQ1 - ZAERCN )6515 ZTO2 = EXP( - ZVXY * ZSQ2 - ZAERCN )6516 C6517 C-- TRACE GASES (CH4, N2O, CFC-11, CFC-12)6518 C6519 C* CH4 IN INTERVAL 800-970 + 1110-1250 CM-16520 C6521 ZXCH4 = (PUU1(JL,19) - PUU2(JL,19))6522 ZYCH4 = (PUU1(JL,20) - PUU2(JL,20))6523 ZUXY = 4. * ZXCH4*ZXCH4/(0.103*ZYCH4)6524 ZSQH41 = SQRT(1. + 33.7 * ZUXY) - 1.6525 ZVXY = 0.103 * ZYCH4 / (2. * ZXCH4)6526 ZODH41 = ZVXY * ZSQH416527 C6528 C* N2O IN INTERVAL 800-970 + 1110-1250 CM-16529 C6530 ZXN2O = (PUU1(JL,21) - PUU2(JL,21))6531 ZYN2O = (PUU1(JL,22) - PUU2(JL,22))6532 ZUXY = 4. * ZXN2O*ZXN2O/(0.416*ZYN2O)6533 ZSQN21 = SQRT(1. + 21.3 * ZUXY) - 1.6534 ZVXY = 0.416 * ZYN2O / (2. * ZXN2O)6535 ZODN21 = ZVXY * ZSQN216536 C6537 C* CH4 IN INTERVAL 1250-1450 + 1880-2820 CM-16538 C6539 ZUXY = 4. * ZXCH4*ZXCH4/(0.113*ZYCH4)6540 ZSQH42 = SQRT(1. + 400. * ZUXY) - 1.6541 ZVXY = 0.113 * ZYCH4 / (2. * ZXCH4)6542 ZODH42 = ZVXY * ZSQH426543 C6544 C* N2O IN INTERVAL 1250-1450 + 1880-2820 CM-16545 C6546 ZUXY = 4. * ZXN2O*ZXN2O/(0.197*ZYN2O)6547 ZSQN22 = SQRT(1. + 2000. * ZUXY) - 1.6548 ZVXY = 0.197 * ZYN2O / (2. * ZXN2O)6549 ZODN22 = ZVXY * ZSQN226550 C6551 C* CFC-11 IN INTERVAL 800-970 + 1110-1250 CM-16552 C6553 ZA11 = (PUU1(JL,23) - PUU2(JL,23)) * 4.404E+056554 ZTTF11 = 1. - ZA11 * 0.0032256555 C6556 C* CFC-12 IN INTERVAL 800-970 + 1110-1250 CM-16557 C6558 ZA12 = (PUU1(JL,24) - PUU2(JL,24)) * 6.7435E+056559 ZTTF12 = 1. - ZA12 * 0.0032256560 C6561 ZUU11 = - (PUU1(JL,15) - PUU2(JL,15)) - ZEU10 - ZPU106562 ZUU12 = - (PUU1(JL,16) - PUU2(JL,16)) - ZEU11 - ZPU11 -6563 S ZODH41 - ZODN216564 PTT(JL,10) = EXP( - (PUU1(JL,14)- PUU2(JL,14)) )6565 PTT(JL,11) = EXP( ZUU11 )6566 PTT(JL,12) = EXP( ZUU12 ) * ZTTF11 * ZTTF126567 PTT(JL,13) = 0.7554 * ZTO1 + 0.2446 * ZTO26568 PTT(JL,14) = PTT(JL,10) * EXP( - ZEU13 - ZPU13 )6569 PTT(JL,15) = EXP ( - (PUU1(JL,14) - PUU2(JL,14)) - ZODH42-ZODN22 )6570 201 CONTINUE6571 C6572 RETURN6573 END
Note: See TracChangeset
for help on using the changeset viewer.