Ignore:
Timestamp:
Jul 3, 2014, 3:38:05 PM (10 years ago)
Author:
fhourdin
Message:

Modification relative à la phase mixte des nuages :

  1. on fait tendre t_glace_min vers t_glace_max (en principe 0°C) linéairerment entre p/ps = 0.8 et p/ps=1.
  2. Passage de tableau à la routine icefrac_lsc en remplacement d'une fonction scalaire.
  3. Changement de nom pour le module (le module icefrac_lsc_mod.F90 contenant maintenant la routine icefrac_lsc).

Mofication concerning the mixte phase of clouds

  1. t_glace_min -> t_glace_max when p/ps : 0.8 -> 1
  2. passing arrays instead of scalars to icefrac_lsc (which becomes a routine rather than a function).
  3. Changing the name microphys_mod.F90 -> icerfrac_lsc_mod.F90
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/fisrtilp.F90

    r2006 r2077  
    1313  !
    1414  USE dimphy
    15   USE microphys_mod ! cloud microphysics (JBM 3/14)
     15  USE icefrac_lsc_mod ! cloud microphysics (JBM 3/14)
    1616  IMPLICIT none
    1717  !======================================================================
     
    165165  DATA appel1er /.TRUE./
    166166  !ym
     167
    167168  ice_thermo = iflag_ice_thermo .GE. 1
    168169  zdelq=0.0
     
    745746!         print*,zt(i),zrfl(i),zifl(i),'temp1'
    746747       ELSE ! of IF (iflag_t_glace.EQ.0)
     748         CALL icefrac_lsc(klon,zt(:),pplay(:,k)/paprs(:,1), &
     749&               t_glace_min,t_glace_max,exposant_glace,zfice(:))
    747750         if (iflag_fisrtilp_qsat.lt.1) then
    748751           DO i = 1, klon
    749752! JBM: icefrac_lsc is now a function contained in microphys_mod
    750               zfice(i) = icefrac_lsc(zt(i), t_glace_min, &
    751                                      t_glace_max, exposant_glace)
     753!             zfice(i) = icefrac_lsc(zt(i), t_glace_min, &
     754!                                    t_glace_max, exposant_glace)
    752755              zt(i) = zt(i) + (1.-zfice(i))*zcond(i) * RLVTT/RCPD/(1.0+RVTMP2*zq(i)) &
    753756                       +zfice(i)*zcond(i) * RLSTT/RCPD/(1.0+RVTMP2*zq(i))
     
    756759           DO i=1, klon
    757760! JBM: icefrac_lsc is now a function contained in microphys_mod
    758               zfice(i) = icefrac_lsc(zt(i), t_glace_min, &
    759                                      t_glace_max, exposant_glace)
     761!             zfice(i) = icefrac_lsc(zt(i), t_glace_min, &
     762!                                    t_glace_max, exposant_glace)
    760763!CR: ATTENTION zt different de Tbef: à corriger
    761764              zt(i) = zt(i) + (1.-zfice(i))*zcond(i) * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zcond(i))) &
     
    790793         ENDDO
    791794       ELSE ! of IF (iflag_t_glace.EQ.0)
    792          DO i = 1, klon
    793             IF (rneb(i,k).GT.0.0) THEN
     795         CALL icefrac_lsc(klon,zt(:),pplay(:,k)/paprs(:,1), &
     796&               t_glace_min,t_glace_max,exposant_glace,zfice(:))
     797!        DO i = 1, klon
     798!           IF (rneb(i,k).GT.0.0) THEN
    794799! JBM: icefrac_lsc is now a function contained in microphys_mod
    795               zfice(i) = icefrac_lsc(zt(i), t_glace_min, &
    796                                      t_glace_max, exposant_glace)
    797             ENDIF
    798          ENDDO
     800!             zfice(i) = icefrac_lsc(zt(i), t_glace_min, &
     801!                                    t_glace_max, exposant_glace)
     802!           ENDIF
     803!        ENDDO
    799804       ENDIF
    800805     ENDIF
Note: See TracChangeset for help on using the changeset viewer.