Changeset 3121 for LMDZ6/trunk/libf


Ignore:
Timestamp:
Dec 13, 2017, 11:35:15 AM (7 years ago)
Author:
musat
Message:

Add LMDZ outputs: icc3dcon, icc3dstra corresponding to
CMIP6' clic, clis
IM

Location:
LMDZ6/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/newmicro.F90

    r3117 r3121  
    1010  USE dimphy
    1111  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
    1313  USE phys_state_var_mod, ONLY: rnebcon, clwcon
    1414  USE icefrac_lsc_mod ! computes ice fraction (JBM 3/14)
     
    586586        lcc3dstra(i, k) = lcc3dstra(i, k) - lcc3dcon(i, k) ! eau liquide stratiforme
    587587        lcc3dstra(i, k) = max(lcc3dstra(i,k), 0.0)
     588        !FC pour la glace (CAUSES)
     589        icc3dcon(i, k) = rnebcon(i, k)*(1-phase3d(i, k))*clwcon(i, k) !  glace convective
     590        icc3dstra(i, k)= pclc(i, k)*pqlwp(i, k)*(1-phase3d(i, k))
     591        icc3dstra(i, k) = icc3dstra(i, k) - icc3dcon(i, k) ! glace stratiforme
     592        icc3dstra(i, k) = max( icc3dstra(i, k), 0.0)
     593        !FC (CAUSES)
     594
    588595        ! Compute cloud droplet radius as above in meter
    589596        radius = 1.1*((pqlwp(i,k)*pplay(i,k)/(rd*t(i,k)))/(4./3*rpi*1000.* &
     
    626633        IF (lcc3dcon(i,k)<=0.0) lcc3dcon(i, k) = 0.0
    627634        IF (lcc3dstra(i,k)<=0.0) lcc3dstra(i, k) = 0.0
     635!FC (CAUSES)
     636        IF (icc3dcon(i,k)<=0.0) icc3dcon(i, k) = 0.0
     637        IF (icc3dstra(i,k)<=0.0) icc3dstra(i, k) = 0.0
     638!FC (CAUSES)
    628639      END DO
    629640      IF (reffclwtop(i)<=0.0) reffclwtop(i) = 0.0
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r3117 r3121  
    169169      REAL, SAVE, ALLOCATABLE :: lcc3dstra(:,:)
    170170      !$OMP THREADPRIVATE(lcc3dstra)
     171      REAL, SAVE, ALLOCATABLE :: icc3dcon(:,:)
     172      !$OMP THREADPRIVATE(icc3dcon)
     173      REAL, SAVE, ALLOCATABLE :: icc3dstra(:,:)
     174      !$OMP THREADPRIVATE(icc3dstra)
    171175      REAL, SAVE, ALLOCATABLE :: od443aer(:)
    172176      !$OMP THREADPRIVATE(od443aer)
     
    593597      ALLOCATE(lcc3dcon(klon, klev))
    594598      ALLOCATE(lcc3dstra(klon, klev))
     599      ALLOCATE(icc3dcon(klon, klev))
     600      ALLOCATE(icc3dstra(klon, klev))
    595601      ALLOCATE(od443aer(klon))
    596602      ALLOCATE(od550aer(klon))
     
    868874      DEALLOCATE(lcc3dcon)
    869875      DEALLOCATE(lcc3dstra)
     876      DEALLOCATE(icc3dcon)
     877      DEALLOCATE(icc3dstra)
    870878      DEALLOCATE(od443aer)
    871879      DEALLOCATE(od550aer)
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r3117 r3121  
    809809    's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 10) /))
    810810             
    811 !-------Déclenchement stochastiqu
     811!-------Déclenchement stochastique
    812812  TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    813813    'proba_notrig', 'Probabilite de non-declenchement', ' ', (/ ('', i=1, 10) /))
     
    14471447  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    14481448    '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', 'Convective cloud ice fraction', '1', (/ ('', i=1, 10) /))
     1451  TYPE(ctrl_out), SAVE :: o_icc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1452    'icc3dstra', 'Stratiform cloud ice fraction', '1', (/ ('', i=1, 10) /))
    14491453  TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    14501454    'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i=1, 10) /))
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r3117 r3121  
    1414CONTAINS
    1515
    16   ! ug Routine pour définir (los du premier passageà) ET sortir les variables
     16  ! ug Routine pour définir (lors du premier passage) ET sortir les variables
    1717  SUBROUTINE phys_output_write(itap, pdtphys, paprs, pphis, &
    1818       pplay, lmax_th, aerosol_couple,         &
     
    122122         o_cldncl, o_reffclws, o_reffclwc, o_solbnd, o_stratomask,&
    123123         o_cldnvi, o_lcc, o_lcc3d, o_lcc3dcon, &
    124          o_lcc3dstra, o_reffclwtop, o_ec550aer, &
     124         o_lcc3dstra, o_icc3dcon, o_icc3dstra, &
     125         o_reffclwtop, o_ec550aer, &
    125126         o_lwcon, o_iwcon, o_temp, o_theta, &
    126127         o_ovapinit, o_ovap, o_oliq, o_ocond, o_geop, &
     
    278279         sollwad0_aero, toplwai_aero, sollwai_aero, &
    279280         scdnc, cldncl, reffclws, reffclwc, cldnvi, stratomask,&
    280          lcc, lcc3d, lcc3dcon, lcc3dstra, reffclwtop, &
     281         lcc, lcc3d, lcc3dcon, lcc3dstra, &
     282         icc3dcon, icc3dstra, reffclwtop, &
    281283         ec550aer, flwc, fiwc, t_seri, theta, q_seri, &
    282284         ql_seri, qs_seri, tr_seri, &
     
    14061408          CALL histwrite_phy(o_lcc3dcon, lcc3dcon)
    14071409          CALL histwrite_phy(o_lcc3dstra, lcc3dstra)
     1410          CALL histwrite_phy(o_icc3dcon, icc3dcon)
     1411          CALL histwrite_phy(o_icc3dstra, icc3dstra)
    14081412          CALL histwrite_phy(o_reffclwtop, reffclwtop)
    14091413       ENDIF
Note: See TracChangeset for help on using the changeset viewer.