Changeset 3106 for LMDZ6/trunk/libf
- Timestamp:
- Dec 3, 2017, 10:03:26 PM (7 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/iophy.F90
r3082 r3106 665 665 666 666 ! Set swaerofree_diag=true if at least one of the concerned variables are defined 667 IF (var%name=='SWupTOAcleanclr' .OR. var%name=='SWupSFCcleanclr' .OR. var%name=='SWdnSFCcleanclr' ) THEN 667 IF (var%name=='SWupTOAcleanclr' .OR. var%name=='SWupSFCcleanclr' .OR. var%name=='SWdnSFCcleanclr' .OR. & 668 var%name=='LWupTOAcleanclr' .OR. var%name=='LWupSFCcleanclr' .OR. var%name=='LWdnSFCcleanclr' ) THEN 668 669 IF ( var%flag(iff)<=lev_files(iff) ) swaerofree_diag=.TRUE. 669 670 ENDIF -
LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r3100 r3106 389 389 TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), & 390 390 'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /)) 391 TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr = ctrl_out((/ 1 , 4, 10, 10, 10, 10, 11, 11, 11, 11/), &391 TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 392 392 'SWupTOAcleanclr', 'SWup clear sky clean (no aerosol) at TOA', 'W/m2', (/ ('', i=1, 10) /)) 393 393 TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), & … … 437 437 TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), & 438 438 'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 10) /)) 439 TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr = ctrl_out((/ 1 , 4, 10, 10, 5, 10, 11, 11, 11, 11/), &439 TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 440 440 'SWupSFCcleanclr', 'SWup clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /)) 441 441 TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), & … … 443 443 TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), & 444 444 'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 10) /)) 445 TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr = ctrl_out((/ 1 , 4, 10, 10, 5, 10, 11, 11, 11, 11/), &445 TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 446 446 'SWdnSFCcleanclr', 'SWdn clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /)) 447 447 TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), & … … 453 453 TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), & 454 454 'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /)) 455 TYPE(ctrl_out), SAVE :: o_LWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 456 'LWupTOAcleanclr', 'Upward CS clean (no aerosol) IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /)) 457 TYPE(ctrl_out), SAVE :: o_LWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 458 'LWdnSFCcleanclr', 'Downward CS clean (no aerosol) IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /)) 455 459 TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), & 456 460 'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /)) -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r3100 r3106 51 51 o_SWupSFCclr, o_SWupSFCcleanclr, o_SWdnSFC, o_SWdnSFCclr, o_SWdnSFCcleanclr, & 52 52 o_LWupSFC, o_LWdnSFC, o_LWupSFCclr, & 53 o_LWdnSFCclr, o_ bils, o_bils_diss, &53 o_LWdnSFCclr, o_LWupTOAcleanclr, o_LWdnSFCcleanclr, o_bils, o_bils_diss, & 54 54 o_bils_ec,o_bils_ech, o_bils_tke, o_bils_kinetic, & 55 55 o_bils_latent, o_bils_enthalp, o_sens, & … … 216 216 LWdn200, LWdn200clr, solsw, solsw0, sollw, & 217 217 radsol, swradcorr, sollw0, sollwdown, sollw, gustiness, & 218 sollwdownclr, lwdn 0, ftsol, ustar, u10m, &218 sollwdownclr, lwdnc0, lwdn0, ftsol, ustar, u10m, & 219 219 v10m, pbl_tke, wake_delta_pbl_TKE, & 220 220 delta_tsurf, & … … 226 226 rnebcon, wo, falb1, albsol2, coefh, clwcon0, & 227 227 ratqs, entr_therm, zqasc, detr_therm, f0, & 228 lwup, lwdn, lwup 0, coefm, &229 swupp, lwupp, swupc0p, swup0p, lwup 0p, swdnp, lwdnp, &230 swdnc0p, swdn0p, lwdn 0p, tnondef, O3sumSTD, uvsumSTD, &228 lwup, lwdn, lwupc0, lwup0, coefm, & 229 swupp, lwupp, swupc0p, swup0p, lwupc0p, lwup0p, swdnp, lwdnp, & 230 swdnc0p, swdn0p, lwdnc0p, lwdn0p, tnondef, O3sumSTD, uvsumSTD, & 231 231 vqsumSTD, vTsumSTD, O3daysumSTD, wqsumSTD, & 232 232 vphisumSTD, wTsumSTD, u2sumSTD, v2sumSTD, & … … 787 787 CALL histwrite_phy(o_LWupSFCclr, zx_tmp_fi2d) 788 788 CALL histwrite_phy(o_LWdnSFCclr, sollwdownclr) 789 790 IF (vars_defined) THEN 791 zx_tmp_fi2d(:) = lwupc0(:,klevp1) 792 ENDIF 793 CALL histwrite_phy(o_LWupTOAcleanclr, zx_tmp_fi2d) 794 IF (vars_defined) THEN 795 zx_tmp_fi2d(:) = -1.*lwdnc0(:,1) 796 ENDIF 797 CALL histwrite_phy(o_LWdnSFCcleanclr, zx_tmp_fi2d) 798 789 799 CALL histwrite_phy(o_bils, bils) 790 800 CALL histwrite_phy(o_bils_diss, bils_diss) -
LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90
r3082 r3106 119 119 REAL,ALLOCATABLE,SAVE :: SWup200clr(:), SWup200(:) 120 120 !$OMP THREADPRIVATE(SWup200clr,SWup200) 121 REAL,ALLOCATABLE,SAVE :: lwdn 0(:,:), lwdn(:,:)122 !$OMP THREADPRIVATE(lwdn 0,lwdn)123 REAL,ALLOCATABLE,SAVE :: lwup 0(:,:), lwup(:,:)124 !$OMP THREADPRIVATE(lwup 0,lwup)121 REAL,ALLOCATABLE,SAVE :: lwdnc0(:,:), lwdn0(:,:), lwdn(:,:) 122 !$OMP THREADPRIVATE(lwdnc0,lwdn0,lwdn) 123 REAL,ALLOCATABLE,SAVE :: lwupc0(:,:), lwup0(:,:), lwup(:,:) 124 !$OMP THREADPRIVATE(lwupc0,lwup0,lwup) 125 125 REAL,ALLOCATABLE,SAVE :: LWdn200clr(:), LWdn200(:) 126 126 !$OMP THREADPRIVATE(LWdn200clr,LWdn200) … … 352 352 REAL,ALLOCATABLE,SAVE :: solsw0p(:),sollw0p(:) 353 353 !$OMP THREADPRIVATE(topsw0p,toplw0p,solsw0p,sollw0p) 354 REAL,ALLOCATABLE,SAVE :: lwdn 0p(:,:), lwdnp(:,:)355 REAL,ALLOCATABLE,SAVE :: lwup 0p(:,:), lwupp(:,:)356 !$OMP THREADPRIVATE(lwdn 0p, lwdnp, lwup0p, lwupp)354 REAL,ALLOCATABLE,SAVE :: lwdnc0p(:,:), lwdn0p(:,:), lwdnp(:,:) 355 REAL,ALLOCATABLE,SAVE :: lwupc0p(:,:), lwup0p(:,:), lwupp(:,:) 356 !$OMP THREADPRIVATE(lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp) 357 357 REAL,ALLOCATABLE,SAVE :: swdnc0p(:,:), swdn0p(:,:), swdnp(:,:) 358 358 REAL,ALLOCATABLE,SAVE :: swupc0p(:,:), swup0p(:,:), swupp(:,:) … … 480 480 ALLOCATE(swdnc0(klon,klevp1), swdn0(klon,klevp1), swdn(klon,klevp1)) 481 481 ALLOCATE(swupc0(klon,klevp1), swup0(klon,klevp1), swup(klon,klevp1)) 482 ALLOCATE(lwdn 0(klon,klevp1), lwdn(klon,klevp1))483 ALLOCATE(lwup 0(klon,klevp1), lwup(klon,klevp1))482 ALLOCATE(lwdnc0(klon,klevp1), lwdn0(klon,klevp1), lwdn(klon,klevp1)) 483 ALLOCATE(lwupc0(klon,klevp1), lwup0(klon,klevp1), lwup(klon,klevp1)) 484 484 ALLOCATE(SWdn200clr(klon), SWdn200(klon)) 485 485 ALLOCATE(SWup200clr(klon), SWup200(klon)) … … 576 576 ALLOCATE(topsw0p(klon),toplw0p(klon)) 577 577 ALLOCATE(solsw0p(klon),sollw0p(klon)) 578 ALLOCATE(lwdn 0p(klon,klevp1), lwdnp(klon,klevp1))579 ALLOCATE(lwup 0p(klon,klevp1), lwupp(klon,klevp1))578 ALLOCATE(lwdnc0p(klon,klevp1), lwdn0p(klon,klevp1), lwdnp(klon,klevp1)) 579 ALLOCATE(lwupc0p(klon,klevp1), lwup0p(klon,klevp1), lwupp(klon,klevp1)) 580 580 ALLOCATE(swdnc0p(klon,klevp1), swdn0p(klon,klevp1), swdnp(klon,klevp1)) 581 581 ALLOCATE(swupc0p(klon,klevp1), swup0p(klon,klevp1), swupp(klon,klevp1)) … … 638 638 deallocate(swdnc0, swdn0, swdn) 639 639 deallocate(swupc0, swup0, swup) 640 deallocate(lwdn 0, lwdn)641 deallocate(lwup 0, lwup)640 deallocate(lwdnc0, lwdn0, lwdn) 641 deallocate(lwupc0, lwup0, lwup) 642 642 deallocate(SWdn200clr, SWdn200) 643 643 deallocate(SWup200clr, SWup200) … … 711 711 deallocate(topsw0p,toplw0p) 712 712 deallocate(solsw0p,sollw0p) 713 deallocate(lwdn 0p, lwdnp)714 deallocate(lwup 0p, lwupp)713 deallocate(lwdnc0p, lwdn0p, lwdnp) 714 deallocate(lwupc0p, lwup0p, lwupp) 715 715 deallocate(swdnc0p, swdn0p, swdnp) 716 716 deallocate(swupc0p, swup0p, swupp) -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r3086 r3106 1626 1626 !--setting up swaerofree_diag to TRUE in XIOS case 1627 1627 IF (xios_field_is_active("SWdnSFCcleanclr").OR.xios_field_is_active("SWupSFCcleanclr").OR. & 1628 xios_field_is_active("SWupTOAcleanclr").OR.xios_field_is_active("rsucsaf").OR. & 1629 xios_field_is_active("rsdcsaf")) & 1628 xios_field_is_active("SWupTOAcleanclr").OR.xios_field_is_active("rsucsaf").OR. & 1629 xios_field_is_active("rsdcsaf") .OR. xios_field_is_active("LWdnSFCcleanclr").OR. & 1630 xios_field_is_active("LWupSFCcleanclr").OR. xios_field_is_active("LWupTOAcleanclr")) & 1630 1631 swaerofree_diag=.TRUE. 1631 1632 … … 3772 3773 sollwdown, & 3773 3774 topsw0,toplw0,solsw0,sollw0, & 3774 lwdn 0, lwdn, lwup0, lwup, &3775 lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup, & 3775 3776 swdnc0, swdn0, swdn, swupc0, swup0, swup, & 3776 3777 topswad_aero, solswad_aero, & … … 3856 3857 sollwdownp, & 3857 3858 topsw0p,toplw0p,solsw0p,sollw0p, & 3858 lwdn 0p, lwdnp, lwup0p, lwupp, &3859 lwdnc0p, lwdn0p, lwdnp, lwupc0p, lwup0p, lwupp, & 3859 3860 swdnc0p, swdn0p, swdnp, swupc0p, swup0p, swupp, & 3860 3861 topswad_aerop, solswad_aerop, & -
LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
r3082 r3106 28 28 sollwdown,& 29 29 topsw0,toplw0,solsw0,sollw0,& 30 lwdn 0, lwdn, lwup0, lwup,&30 lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,& 31 31 swdnc0, swdn0, swdn, swupc0, swup0, swup,& 32 32 topswad_aero, solswad_aero,& … … 151 151 ! ZFSUP (klon,KLEV+1) ; TOTAL SW UP FLUXES ! added by MPL 080411 152 152 ! ZFCUP (klon,KLEV+1) ; CLEAR SKY SW UP FLUXES ! added by MPL 080411 153 ! ZFCCUP (klon,KLEV+1) ; CLEAR SKY CLEAN (NO AEROSOL) SW UP FLUXES ! added by OB 211117 153 ! ZFCCUP (klon,KLEV+1) ; CLEAR SKY CLEAN (NO AEROSOL) SW UP FLUXES ! added by OB 211117 154 ! ZFLCCDWN(klon,KLEV+1) ; CLEAR SKY CLEAN (NO AEROSOL) LW DWN FLUXES ! added by OB 211117 155 ! ZFLCCUP (klon,KLEV+1) ; CLEAR SKY CLEAN (NO AEROSOL) LW UP FLUXES ! added by OB 211117 154 156 155 157 !====================================================================== … … 230 232 REAL, INTENT(out) :: swdn(KLON,kflev+1),swdn0(KLON,kflev+1), swdnc0(KLON,kflev+1) 231 233 REAL, INTENT(out) :: swup(KLON,kflev+1),swup0(KLON,kflev+1), swupc0(KLON,kflev+1) 232 REAL, INTENT(out) :: lwdn(KLON,kflev+1),lwdn0(KLON,kflev+1) 233 REAL, INTENT(out) :: lwup(KLON,kflev+1),lwup0(KLON,kflev+1) 234 REAL, INTENT(out) :: lwdn(KLON,kflev+1),lwdn0(KLON,kflev+1), lwdnc0(KLON,kflev+1) 235 REAL, INTENT(out) :: lwup(KLON,kflev+1),lwup0(KLON,kflev+1), lwupc0(KLON,kflev+1) 234 236 REAL, INTENT(out) :: topswad_aero(KLON), solswad_aero(KLON) ! output: aerosol direct forcing at TOA and surface 235 237 REAL, INTENT(out) :: topswai_aero(KLON), solswai_aero(KLON) ! output: aerosol indirect forcing atTOA and surface … … 260 262 REAL(KIND=8) ZFLUP0(KDLON,KFLEV+1) 261 263 REAL(KIND=8) ZFLDN0(KDLON,KFLEV+1) 264 REAL(KIND=8) ZFLUPC0(KDLON,KFLEV+1) 265 REAL(KIND=8) ZFLDNC0(KDLON,KFLEV+1) 262 266 REAL(KIND=8) zx_alpha1, zx_alpha2 263 267 INTEGER k, kk, i, j, iof, nb_gr … … 372 376 REAL(KIND=8) ZFCUP_i (klon,klev+1) 373 377 REAL(KIND=8) ZFCCUP_i (klon,klev+1) 378 REAL(KIND=8) ZFLCCDWN_i (klon,klev+1) 379 REAL(KIND=8) ZFLCCUP_i (klon,klev+1) 374 380 ! 3 lignes suivantes a activer pour CCMVAL (MPL 20100412) 375 381 ! REAL(KIND=8) RSUN(3,2) … … 583 589 ZFSUPC0(i,k)=0. 584 590 ZFSDNC0(i,k)=0. 591 ZFLUPC0(i,k)=0. 592 ZFLDNC0(i,k)=0. 585 593 ZSWFT0_i(i,k)=0. 586 594 ZFCUP_i(i,k)=0. … … 588 596 ZFCCUP_i(i,k)=0. 589 597 ZFCCDWN_i(i,k)=0. 598 ZFLCCUP_i(i,k)=0. 599 ZFLCCDWN_i(i,k)=0. 590 600 ENDDO 591 601 ENDDO … … 690 700 ZFCUP_i(i,k)=0. 691 701 ZFCCUP_i(i,k)=0. 702 ZFLCCDWN_i(i,k)=0. 703 ZFLCCUP_i(i,k)=0. 692 704 ENDDO 693 705 ENDDO … … 835 847 PTAU_LW_TOT, PTAU_LW_NAT, & ! rajoute par C. Kleinschmitt 836 848 ZFLUX_i , ZFLUC_i ,& 837 ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, &849 ZFSDWN_i , ZFSUP_i , ZFCDWN_i, ZFCUP_i, ZFCCDWN_i, ZFCCUP_i, ZFLCCDWN_i, ZFLCCUP_i, & 838 850 ZTOPSWADAERO,ZSOLSWADAERO,& ! rajoute par OB pour diagnostics 839 851 ZTOPSWAD0AERO,ZSOLSWAD0AERO,& … … 920 932 ZFSUP0(i,k+1) = ZFCUP_i(i,k+1)*fract(i) 921 933 ZFSUPC0(i,k+1)= ZFCCUP_i(i,k+1)*fract(i) 934 ZFLDNC0(i,k+1)= ZFLCCDWN_i(i,k+1) 935 ZFLUPC0(i,k+1)= ZFLCCUP_i(i,k+1) 922 936 ! Nouveau calcul car visiblement ZSWFT et ZSWFC sont nuls dans RRTM cy32 923 937 ! en sortie de radlsw.F90 - MPL 7.01.09 … … 1037 1051 swup0 ( iof+i,k) = ZFSUP0 ( i,k) 1038 1052 swup ( iof+i,k) = ZFSUP ( i,k) 1053 lwdnc0( iof+i,k) = ZFLDNC0( i,k) 1054 lwupc0( iof+i,k) = ZFLUPC0( i,k) 1039 1055 ENDDO 1040 1056 ENDDO -
LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90
r3084 r3106 24 24 !--end 25 25 & PFLUX,PFLUC,& 26 & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, &26 & PFSDN ,PFSUP , PFSCDN , PFSCUP, PFSCCDN, PFSCCUP, PFLCCDN, PFLCCUP,& 27 27 !--OB diagnostics 28 28 & PTOPSWADAERO,PSOLSWADAERO,& … … 110 110 ! PFSCDN(KPROMA,KLEV+1) ; SW clear sky flux down 111 111 ! PFSCUP(KPROMA,KLEV+1) ; SW clear sky flux up 112 ! PFSCCDN(KPROMA,KLEV+1) ; SW clear sky clean (no aerosol) flux down 113 ! PFSCCUP(KPROMA,KLEV+1) ; SW clear sky clean (no aerosol) flux up 112 ! PFSCCDN(KPROMA,KLEV+1) ; SW clear sky clean (no aerosol) flux down 113 ! PFSCCUP(KPROMA,KLEV+1) ; SW clear sky clean (no aerosol) flux up 114 ! PFLCCDN(KPROMA,KLEV+1) ; LW clear sky clean (no aerosol) flux down 115 ! PFLCCUP(KPROMA,KLEV+1) ; LW clear sky clean (no aerosol) flux up 114 116 115 117 … … 243 245 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCDN(KPROMA,KLEV+1) ! SW clear sky flux down 244 246 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCUP(KPROMA,KLEV+1) ! SW clear sky flux up 245 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCCDN(KPROMA,KLEV+1) ! SW clear sky clean (no aerosol) flux down 246 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCCUP(KPROMA,KLEV+1) ! SW clear sky clean (no aerosol) flux up 247 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCCDN(KPROMA,KLEV+1) ! SW clear sky clean (no aerosol) flux down 248 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSCCUP(KPROMA,KLEV+1) ! SW clear sky clean (no aerosol) flux up 249 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLCCDN(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux down 250 REAL(KIND=JPRB) ,INTENT(OUT) :: PFLCCUP(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux up 247 251 248 252 ! ==== COMPUTED IN RADITE === … … 779 783 780 784 IF (swaerofree_diag) THEN 781 ! copy clear-sky clean (no aerosol) case785 ! copy shortwave clear-sky clean (no aerosol) case 782 786 PFSCCUP(:,:) = ZFSUP0_AERO(:,:,5) 783 787 PFSCCDN(:,:) = ZFSDN0_AERO(:,:,5) 788 ! copy longwave clear-sky clean (no aerosol) case 789 PFLCCUP(:,:) = LWUP0_AERO(:,:,5) 790 PFLCCDN(:,:) = LWDN0_AERO(:,:,5) 784 791 ENDIF 785 792
Note: See TracChangeset
for help on using the changeset viewer.