Changeset 3112 for LMDZ6/trunk/libf
- Timestamp:
- Dec 5, 2017, 12:53:00 PM (7 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/newmicro.F90
r2596 r3112 10 10 USE dimphy 11 11 USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, & 12 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra 12 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra 13 13 USE phys_state_var_mod, ONLY: rnebcon, clwcon 14 14 USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14) … … 586 586 lcc3dstra(i, k) = lcc3dstra(i, k) - lcc3dcon(i, k) ! eau liquide stratiforme 587 587 lcc3dstra(i, k) = max(lcc3dstra(i,k), 0.0) 588 ! 589 icc3dcon(i, k) = rnebcon(i, k)*(1-phase3d(i, k))*clwcon(i, k) ! glace 590 ! convective 591 icc3dstra(i, k) = pclc(i, k)*pqlwp(i, k)*(1-phase3d(i, k)) 592 icc3dstra(i, k) = icc3dstra(i, k) - icc3dcon(i, k) ! glace stratiforme 593 icc3dstra(i, k) = max( icc3dstra(i, k), 0.0) 594 ! 588 595 ! Compute cloud droplet radius as above in meter 589 596 radius = 1.1*((pqlwp(i,k)*pplay(i,k)/(rd*t(i,k)))/(4./3*rpi*1000.* & … … 626 633 IF (lcc3dcon(i,k)<=0.0) lcc3dcon(i, k) = 0.0 627 634 IF (lcc3dstra(i,k)<=0.0) lcc3dstra(i, k) = 0.0 635 IF (icc3dcon(i,k)<=0.0) icc3dcon(i, k) = 0.0 636 IF (icc3dstra(i,k)<=0.0) icc3dstra(i, k) = 0.0 628 637 END DO 629 638 IF (reffclwtop(i)<=0.0) reffclwtop(i) = 0.0 -
LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
r3100 r3112 140 140 REAL, SAVE, ALLOCATABLE :: ZFSDN0(:,:), ZFSUP0(:,:) ! diag 141 141 !$OMP THREADPRIVATE(ZFSDN0,ZFSUP0) 142 REAL, SAVE, ALLOCATABLE :: PSFSWDIR(:,:), PSFSWDIF(:,:) 143 !$OMP THREADPRIVATE(PSFSWDIR, PSFSWDIF) 142 144 ! 143 145 REAL, SAVE, ALLOCATABLE :: stratomask(:,:) … … 169 171 REAL, SAVE, ALLOCATABLE :: lcc3dstra(:,:) 170 172 !$OMP THREADPRIVATE(lcc3dstra) 173 REAL, SAVE, ALLOCATABLE :: icc3dstra(:,:) 174 !$OMP THREADPRIVATE(icc3dstra) 175 REAL, SAVE, ALLOCATABLE :: icc3dcon(:,:) 176 !$OMP THREADPRIVATE(icc3dcon) 171 177 REAL, SAVE, ALLOCATABLE :: od443aer(:) 172 178 !$OMP THREADPRIVATE(od443aer) … … 516 522 USE phys_state_var_mod 517 523 518 IMPLICIT NONE 524 IMPLICIT NONE 525 include "clesphys.h" 519 526 ALLOCATE(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev)) 520 527 ALLOCATE(u_seri(klon,klev),v_seri(klon,klev)) … … 564 571 ALLOCATE(ZLWFT0_i(klon,klev+1),ZSWFT0_i(klon,klev+1),ZFLDN0(klon,klev+1)) 565 572 ALLOCATE(ZFLUP0(klon,klev+1),ZFSDN0(klon,klev+1),ZFSUP0(klon,klev+1)) 573 ALLOCATE(PSFSWDIR(klon,NSW), PSFSWDIF(klon,NSW)) 566 574 ! 567 575 ALLOCATE(topswad_aero(klon), solswad_aero(klon)) … … 593 601 ALLOCATE(lcc3dcon(klon, klev)) 594 602 ALLOCATE(lcc3dstra(klon, klev)) 603 ALLOCATE(icc3dcon(klon, klev)) 604 ALLOCATE(icc3dstra(klon, klev)) 595 605 ALLOCATE(od443aer(klon)) 596 606 ALLOCATE(od550aer(klon)) … … 845 855 DEALLOCATE(d_u_lif,d_v_lif) 846 856 DEALLOCATE(d_ts, d_tr) 857 DEALLOCATE(ZLWFT0_i,ZSWFT0_i,ZFLDN0) 858 DEALLOCATE(ZFLUP0,ZFSDN0,ZFSUP0) 859 DEALLOCATE(PSFSWDIR, PSFSWDIF) 847 860 DEALLOCATE(topswad_aero,solswad_aero) 848 861 DEALLOCATE(topswai_aero,solswai_aero) … … 868 881 DEALLOCATE(lcc3dcon) 869 882 DEALLOCATE(lcc3dstra) 883 DEALLOCATE(icc3dcon) 884 DEALLOCATE(icc3dstra) 870 885 DEALLOCATE(od443aer) 871 886 DEALLOCATE(od550aer) -
LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r3110 r3112 1447 1447 TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1448 1448 'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 10) /)) 1449 TYPE(ctrl_out), SAVE :: o_icc3dcon = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1450 'icc3dcon', 'Mass Fraction of Convective Cloud Ice', & 1451 'kg kg-1', (/ ('', i=1, 10) /)) 1452 TYPE(ctrl_out), SAVE :: o_icc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1453 'icc3dstra', 'Mass Fraction of Stratiform Cloud Ice', & 1454 'kg kg-1', (/ ('', i=1, 10) /)) 1449 1455 TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1450 1456 'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i=1, 10) /)) 1457 TYPE(ctrl_out), SAVE :: o_rsdsdiff = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1458 'rsdsdiff', 'Surface Diffuse Downwelling Shortwave Radiation', 'W m-2', (/ ('', i=1, 10) /)) 1459 TYPE(ctrl_out), SAVE :: o_rsdscsdiff = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1460 'rsdscsdiff', 'Surface Diffuse Downwelling Clear Sky Shortwave Radiation', 'W m-2', (/ ('', i=1, 10) /)) 1451 1461 TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1452 1462 'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 10) /)) -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r3110 r3112 120 120 o_swtoacf_zero, o_swsrfcf_zero, & 121 121 o_topswai, o_solswai, o_toplwai, o_sollwai, o_scdnc, & 122 o_cldncl, o_reffclws, o_reffclwc, o_solbnd, o_stratomask,& 122 o_cldncl, o_reffclws, o_reffclwc, o_solbnd, & 123 o_rsdsdiff, o_rsdscsdiff, o_stratomask,& 123 124 o_cldnvi, o_lcc, o_lcc3d, o_lcc3dcon, & 124 o_lcc3dstra, o_ reffclwtop, o_ec550aer, &125 o_lcc3dstra, o_icc3dcon, o_icc3dstra, o_reffclwtop, o_ec550aer, & 125 126 o_lwcon, o_iwcon, o_temp, o_theta, & 126 127 o_ovapinit, o_ovap, o_oliq, o_ocond, o_geop, & … … 277 278 toplwad_aero, toplwad0_aero, sollwad_aero, & 278 279 sollwad0_aero, toplwai_aero, sollwai_aero, & 279 scdnc, cldncl, reffclws, reffclwc, cldnvi, stratomask,& 280 lcc, lcc3d, lcc3dcon, lcc3dstra, reffclwtop, & 280 scdnc, cldncl, reffclws, reffclwc, cldnvi, & 281 PSFSWDIR, PSFSWDIF, stratomask,& 282 lcc, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, reffclwtop, & 281 283 ec550aer, flwc, fiwc, t_seri, theta, q_seri, & 282 284 ql_seri, qs_seri, tr_seri, & … … 1406 1408 CALL histwrite_phy(o_lcc3dcon, lcc3dcon) 1407 1409 CALL histwrite_phy(o_lcc3dstra, lcc3dstra) 1410 CALL histwrite_phy(o_icc3dcon, icc3dcon) 1411 CALL histwrite_phy(o_icc3dstra, icc3dstra) 1408 1412 CALL histwrite_phy(o_reffclwtop, reffclwtop) 1409 1413 ENDIF … … 1432 1436 #ifdef CPP_RRTM 1433 1437 IF (iflag_rrtm.EQ.1) THEN 1438 1434 1439 IF (vars_defined) THEN 1435 1440 DO ISW=1, NSW … … 1438 1443 CALL histwrite_phy(o_solbnd, zx_tmp_fi3dsp) 1439 1444 ENDIF 1445 1446 IF (vars_defined) THEN 1447 CALL histwrite_phy(o_rsdscsdiff, PSFSWDIR) 1448 ENDIF 1449 1450 IF (vars_defined) THEN 1451 CALL histwrite_phy(o_rsdsdiff, PSFSWDIF) 1452 ENDIF 1453 1440 1454 ENDIF 1441 1455 #endif -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r3111 r3112 80 80 ZLWFT0_i,ZSWFT0_i,ZFLDN0, & 81 81 ZFLUP0,ZFSDN0,ZFSUP0, & 82 PSFSWDIR, PSFSWDIF, & 82 83 ! 83 84 topswad_aero,solswad_aero, & … … 3792 3793 !-end 3793 3794 ZLWFT0_i, ZFLDN0, ZFLUP0, & 3794 ZSWFT0_i, ZFSDN0, ZFSUP0) 3795 ZSWFT0_i, ZFSDN0, ZFSUP0, & 3796 PSFSWDIR, PSFSWDIF) 3795 3797 3796 3798 !lwoff=y, betalwoff=1. : offset LW CRE for radiation code and other … … 3876 3878 !-end 3877 3879 ZLWFT0_i, ZFLDN0, ZFLUP0, & 3878 ZSWFT0_i, ZFSDN0, ZFSUP0) 3880 ZSWFT0_i, ZFSDN0, ZFSUP0, & 3881 PSFSWDIR, PSFSWDIF) 3879 3882 endif !ok_4xCO2atm 3880 3883 ENDIF ! aerosol_couple -
LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
r3106 r3112 42 42 !-end 43 43 ZLWFT0_i, ZFLDN0, ZFLUP0,& 44 ZSWFT0_i, ZFSDN0, ZFSUP0) 44 ZSWFT0_i, ZFSDN0, ZFSUP0,& 45 PSFSWDIR, PSFSWDIF) 45 46 46 47
Note: See TracChangeset
for help on using the changeset viewer.