Changeset 3117 for LMDZ6/trunk/libf/phylmd
- Timestamp:
- Dec 8, 2017, 2:04:01 PM (7 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/newmicro.F90
r3113 r3117 10 10 USE dimphy 11 11 USE phys_local_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, & 12 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra , icc3dcon, icc3dstra, zfice12 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra 13 13 USE phys_state_var_mod, ONLY: rnebcon, clwcon 14 14 USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14) … … 152 152 REAL zrho(klon, klev) !--rho pour la couche 153 153 REAL dh(klon, klev) !--dz pour la couche 154 REAL zfice(klon, klev) 154 155 REAL rad_chaud(klon, klev) !--rayon pour les nuages chauds 155 156 REAL rad_chaud_pi(klon, klev) !--rayon pour les nuages chauds pre-industriels … … 585 586 lcc3dstra(i, k) = lcc3dstra(i, k) - lcc3dcon(i, k) ! eau liquide stratiforme 586 587 lcc3dstra(i, k) = max(lcc3dstra(i,k), 0.0) 587 !588 icc3dcon(i, k) = rnebcon(i, k)*(1-phase3d(i, k))*clwcon(i, k) ! glace589 ! convective590 icc3dstra(i, k) = pclc(i, k)*pqlwp(i, k)*(1-phase3d(i, k))591 icc3dstra(i, k) = icc3dstra(i, k) - icc3dcon(i, k) ! glace stratiforme592 icc3dstra(i, k) = max( icc3dstra(i, k), 0.0)593 !594 588 ! Compute cloud droplet radius as above in meter 595 589 radius = 1.1*((pqlwp(i,k)*pplay(i,k)/(rd*t(i,k)))/(4./3*rpi*1000.* & … … 632 626 IF (lcc3dcon(i,k)<=0.0) lcc3dcon(i, k) = 0.0 633 627 IF (lcc3dstra(i,k)<=0.0) lcc3dstra(i, k) = 0.0 634 IF (icc3dcon(i,k)<=0.0) icc3dcon(i, k) = 0.0635 IF (icc3dstra(i,k)<=0.0) icc3dstra(i, k) = 0.0636 628 END DO 637 629 IF (reffclwtop(i)<=0.0) reffclwtop(i) = 0.0 -
LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
r3113 r3117 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)144 142 ! 145 143 REAL, SAVE, ALLOCATABLE :: stratomask(:,:) … … 171 169 REAL, SAVE, ALLOCATABLE :: lcc3dstra(:,:) 172 170 !$OMP THREADPRIVATE(lcc3dstra) 173 REAL, SAVE, ALLOCATABLE :: icc3dstra(:,:)174 !$OMP THREADPRIVATE(icc3dstra)175 REAL, SAVE, ALLOCATABLE :: icc3dcon(:,:)176 !$OMP THREADPRIVATE(icc3dcon)177 REAL, SAVE, ALLOCATABLE :: zfice(:,:)178 !$OMP THREADPRIVATE(zfice)179 171 REAL, SAVE, ALLOCATABLE :: od443aer(:) 180 172 !$OMP THREADPRIVATE(od443aer) … … 524 516 USE phys_state_var_mod 525 517 526 IMPLICIT NONE 527 include "clesphys.h" 518 IMPLICIT NONE 528 519 ALLOCATE(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev)) 529 520 ALLOCATE(u_seri(klon,klev),v_seri(klon,klev)) … … 573 564 ALLOCATE(ZLWFT0_i(klon,klev+1),ZSWFT0_i(klon,klev+1),ZFLDN0(klon,klev+1)) 574 565 ALLOCATE(ZFLUP0(klon,klev+1),ZFSDN0(klon,klev+1),ZFSUP0(klon,klev+1)) 575 ALLOCATE(PSFSWDIR(klon,NSW), PSFSWDIF(klon,NSW))576 566 ! 577 567 ALLOCATE(topswad_aero(klon), solswad_aero(klon)) … … 603 593 ALLOCATE(lcc3dcon(klon, klev)) 604 594 ALLOCATE(lcc3dstra(klon, klev)) 605 ALLOCATE(icc3dcon(klon, klev))606 ALLOCATE(icc3dstra(klon, klev))607 ALLOCATE(zfice(klon, klev))608 595 ALLOCATE(od443aer(klon)) 609 596 ALLOCATE(od550aer(klon)) … … 858 845 DEALLOCATE(d_u_lif,d_v_lif) 859 846 DEALLOCATE(d_ts, d_tr) 860 DEALLOCATE(ZLWFT0_i,ZSWFT0_i,ZFLDN0)861 DEALLOCATE(ZFLUP0,ZFSDN0,ZFSUP0)862 DEALLOCATE(PSFSWDIR, PSFSWDIF)863 847 DEALLOCATE(topswad_aero,solswad_aero) 864 848 DEALLOCATE(topswai_aero,solswai_aero) … … 884 868 DEALLOCATE(lcc3dcon) 885 869 DEALLOCATE(lcc3dstra) 886 DEALLOCATE(icc3dcon)887 DEALLOCATE(icc3dstra)888 DEALLOCATE(zfice)889 870 DEALLOCATE(od443aer) 890 871 DEALLOCATE(od550aer) -
LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r3113 r3117 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) /))1455 TYPE(ctrl_out), SAVE :: o_cldicemxrat = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &1456 'cldicemxrat', 'Cloud Ice Mixing Ratio', &1457 '1', (/ ('', i=1, 10) /))1458 TYPE(ctrl_out), SAVE :: o_cldwatmxrat = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &1459 'cldwatmxrat', 'Cloud Water Mixing Ratio', &1460 '1', (/ ('', i=1, 10) /))1461 1449 TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1462 1450 'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i=1, 10) /)) 1463 TYPE(ctrl_out), SAVE :: o_rsdsdiff = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &1464 'rsdsdiff', 'Surface Diffuse Downwelling Shortwave Radiation', 'W m-2', (/ ('', i=1, 10) /))1465 TYPE(ctrl_out), SAVE :: o_rsdscsdiff = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &1466 'rsdscsdiff', 'Surface Diffuse Downwelling Clear Sky Shortwave Radiation', 'W m-2', (/ ('', i=1, 10) /))1467 1451 TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), & 1468 1452 'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 10) /)) -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r3113 r3117 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, & 123 o_rsdsdiff, o_rsdscsdiff, o_stratomask,& 122 o_cldncl, o_reffclws, o_reffclwc, o_solbnd, o_stratomask,& 124 123 o_cldnvi, o_lcc, o_lcc3d, o_lcc3dcon, & 125 o_lcc3dstra, o_icc3dcon, o_icc3dstra, & 126 o_cldicemxrat, o_cldwatmxrat, o_reffclwtop, o_ec550aer, & 124 o_lcc3dstra, o_reffclwtop, o_ec550aer, & 127 125 o_lwcon, o_iwcon, o_temp, o_theta, & 128 126 o_ovapinit, o_ovap, o_oliq, o_ocond, o_geop, & … … 279 277 toplwad_aero, toplwad0_aero, sollwad_aero, & 280 278 sollwad0_aero, toplwai_aero, sollwai_aero, & 281 scdnc, cldncl, reffclws, reffclwc, cldnvi, & 282 PSFSWDIR, PSFSWDIF, stratomask,& 283 lcc, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra, & 284 zfice, reffclwtop, & 279 scdnc, cldncl, reffclws, reffclwc, cldnvi, stratomask,& 280 lcc, lcc3d, lcc3dcon, lcc3dstra, reffclwtop, & 285 281 ec550aer, flwc, fiwc, t_seri, theta, q_seri, & 286 282 ql_seri, qs_seri, tr_seri, & … … 1410 1406 CALL histwrite_phy(o_lcc3dcon, lcc3dcon) 1411 1407 CALL histwrite_phy(o_lcc3dstra, lcc3dstra) 1412 CALL histwrite_phy(o_icc3dcon, icc3dcon)1413 CALL histwrite_phy(o_icc3dstra, icc3dstra)1414 CALL histwrite_phy(o_cldicemxrat, zfice)1415 zx_tmp_fi3d(:,:)=1-zfice(:,:)1416 CALL histwrite_phy(o_cldwatmxrat, zx_tmp_fi3d)1417 1408 CALL histwrite_phy(o_reffclwtop, reffclwtop) 1418 1409 ENDIF … … 1441 1432 #ifdef CPP_RRTM 1442 1433 IF (iflag_rrtm.EQ.1) THEN 1443 1444 1434 IF (vars_defined) THEN 1445 1435 DO ISW=1, NSW … … 1448 1438 CALL histwrite_phy(o_solbnd, zx_tmp_fi3dsp) 1449 1439 ENDIF 1450 1451 IF (vars_defined) THEN1452 CALL histwrite_phy(o_rsdscsdiff, PSFSWDIR)1453 ENDIF1454 1455 IF (vars_defined) THEN1456 CALL histwrite_phy(o_rsdsdiff, PSFSWDIF)1457 ENDIF1458 1459 1440 ENDIF 1460 1441 #endif -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r3112 r3117 80 80 ZLWFT0_i,ZSWFT0_i,ZFLDN0, & 81 81 ZFLUP0,ZFSDN0,ZFSUP0, & 82 PSFSWDIR, PSFSWDIF, &83 82 ! 84 83 topswad_aero,solswad_aero, & … … 3793 3792 !-end 3794 3793 ZLWFT0_i, ZFLDN0, ZFLUP0, & 3795 ZSWFT0_i, ZFSDN0, ZFSUP0, & 3796 PSFSWDIR, PSFSWDIF) 3794 ZSWFT0_i, ZFSDN0, ZFSUP0) 3797 3795 3798 3796 !lwoff=y, betalwoff=1. : offset LW CRE for radiation code and other … … 3878 3876 !-end 3879 3877 ZLWFT0_i, ZFLDN0, ZFLUP0, & 3880 ZSWFT0_i, ZFSDN0, ZFSUP0, & 3881 PSFSWDIR, PSFSWDIF) 3878 ZSWFT0_i, ZFSDN0, ZFSUP0) 3882 3879 endif !ok_4xCO2atm 3883 3880 ENDIF ! aerosol_couple -
LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
r3112 r3117 42 42 !-end 43 43 ZLWFT0_i, ZFLDN0, ZFLUP0,& 44 ZSWFT0_i, ZFSDN0, ZFSUP0,& 45 PSFSWDIR, PSFSWDIF) 44 ZSWFT0_i, ZFSDN0, ZFSUP0) 46 45 47 46
Note: See TracChangeset
for help on using the changeset viewer.