Changeset 4059


Ignore:
Timestamp:
Jan 21, 2022, 3:50:54 PM (2 years ago)
Author:
oboucher
Message:

Audran Borella's parametrisation for ice supersaturation
activated with flag_ice_sursat (FALSE by default)

Location:
LMDZ6/trunk
Files:
1 added
14 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/DefLists/field_def_lmdz.xml

    r3874 r4059  
    758758        <field id="cool_volc"    long_name="LW cooling rate from volcano"    unit="K/s" />
    759759        <field id="pvap"    long_name="pvap intermediary variable" unit="-">pres*ovap*461.5 / (287.04*(1.+ (10.9491/18.0153)*ovap)) </field>
     760        <field id="oclr"    long_name="Clear sky total water"    unit="kg/kg" />
     761        <field id="ocld"    long_name="Cloudy sky total water"   unit="kg/kg" />
     762        <field id="oss"     long_name="ISSR total water"    unit="kg/kg" />
     763        <field id="ovc"     long_name="In-cloud vapor"    unit="kg/kg" />
     764        <field id="rnebclr"    long_name="Clear sky fraction"    unit="-" />
     765        <field id="rnebss"     long_name="ISSR fraction"     unit="-" />
     766        <field id="rnebseri"   long_name="Cloud fraction"    unit="-" />
     767        <field id="gammass"    long_name="Supersaturation ratio"    unit="-" />
     768        <field id="N1ss"       long_name="N1ss"    unit="-" />
     769        <field id="N2ss"       long_name="N2ss"    unit="-" />
     770        <field id="drnebsub"   long_name="Cloud fraction change because of sublimation"    unit="s-1" />
     771        <field id="drnebcon"   long_name="Cloud fraction change because of condensation"   unit="s-1" />
     772        <field id="drnebtur"   long_name="Cloud fraction change because of turbulence"     unit="s-1" />
     773        <field id="drnebavi"   long_name="Cloud fraction change because of aviation"       unit="s-1" />
     774        <field id="qsatl"      long_name="Saturation with respect to liquid water"    unit="-" />
     775        <field id="qsats"      long_name="Saturation with respect to liquid ice"      unit="-" />
     776        <field id="flightm"    long_name="Aviation meters flown"      unit="m/s" />
     777        <field id="flighth2o"  long_name="Aviation H2O emitted"       unit="kg H2O/s" />
     778        <field id="fcontrP"    long_name="Gridbox fraction with potential persistent contrails"     unit="-" />
     779        <field id="fcontrN"    long_name="Gridbox fraction with potential non-persistent contrails"     unit="-" />
     780        <field id="qcontr"     long_name="Contrail qcontr"     unit="Pa" />
     781        <field id="qcontr2"     long_name="Contrail qcontr2"     unit="kg/kg" />
     782        <field id="Tcontr"     long_name="Contrail Tcontr"     unit="K" />
    760783    </field_group>
    761784
  • LMDZ6/trunk/DefLists/file_def_histday_lmdz.xml

    r3516 r4059  
    638638                <field field_ref="l_mixmin_sic" level="10" />
    639639                <field field_ref="ozone_daylight" level="10" />
     640                <field field_ref="oclr" level="10" />
     641                <field field_ref="ocld" level="10" />
     642                <field field_ref="oss" level="10" />
     643                <field field_ref="ovc" level="10" />
     644                <field field_ref="rnebclr" level="10" />
     645                <field field_ref="rnebss" level="10" />
     646                <field field_ref="rnebseri" level="10" />
     647                <field field_ref="gammass" level="10" />
     648                <field field_ref="N1ss" level="10" />
     649                <field field_ref="N2ss" level="10" />
     650                <field field_ref="drnebsub" level="10" />
     651                <field field_ref="drnebcon" level="10" />
     652                <field field_ref="drnebtur" level="10" />
     653                <field field_ref="drnebavi" level="10" />
     654                <field field_ref="qsatl" level="10" />
     655                <field field_ref="qsats" level="10" />
     656                <field field_ref="flightm" level="10" />
     657                <field field_ref="flighth2o" level="10" />
     658                <field field_ref="fcontrP" level="10" />
     659                <field field_ref="fcontrN" level="10" />
     660                <field field_ref="qcontr" level="10" />
     661                <field field_ref="qcontr2" level="10" />
     662                <field field_ref="Tcontr" level="10" />
    640663            </field_group>
    641664           
  • LMDZ6/trunk/DefLists/file_def_histhf_lmdz.xml

    r3622 r4059  
    485485                <field field_ref="treedrg_oce" level="10" />
    486486                <field field_ref="treedrg_sic" level="10" />
    487 
    488487                <field field_ref="cldtau" level="10" />
    489488                <field field_ref="cldemi" level="10" />
     
    500499                <field field_ref="lwcon" level="10" />
    501500                <field field_ref="iwcon" level="10" />
    502                 <field field_ref="temp" level="10" />
     501                <field field_ref="temp" level="4" />
    503502                <field field_ref="theta" level="10" />
    504503                <field field_ref="ovap" level="10" />
     
    654653                <field field_ref="rsdcs4co2" level="10" />
    655654                <field field_ref="rldcs4co2" level="10" />
     655                <field field_ref="oclr" level="10" />
     656                <field field_ref="ocld" level="10" />
     657                <field field_ref="oss" level="10" />
     658                <field field_ref="ovc" level="10" />
     659                <field field_ref="rnebclr" level="10" />
     660                <field field_ref="rnebss" level="10" operation="instant" />
     661                <field field_ref="rnebseri" level="10" />
     662                <field field_ref="gammass" level="10" />
     663                <field field_ref="N1ss" level="10" />
     664                <field field_ref="N2ss" level="10" />
     665                <field field_ref="drnebsub" level="10" />
     666                <field field_ref="drnebcon" level="10" />
     667                <field field_ref="drnebtur" level="10" />
     668                <field field_ref="drnebavi" level="10" />
     669                <field field_ref="qsatl" level="10" />
     670                <field field_ref="qsats" level="10" />
     671                <field field_ref="fcontrP" level="10" />
     672                <field field_ref="fcontrN" level="10" />
     673                <field field_ref="qcontr" level="10" operation="instant" />
     674                <field field_ref="qcontr2" level="10" operation="instant" />
     675                <field field_ref="Tcontr" level="10" operation="instant" />
    656676              </field_group>
    657677
  • LMDZ6/trunk/libf/phylmd/clesphys.h

    r3999 r4059  
    8585       LOGICAL :: ok_cosp,ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP
    8686       LOGICAL :: ok_airs
    87        INTEGER :: ip_ebil_phy, iflag_rrtm, iflag_ice_thermo, NSW, iflag_albedo
     87       INTEGER :: ip_ebil_phy, iflag_rrtm, iflag_ice_thermo, iflag_ice_sursat, NSW, iflag_albedo
    8888       LOGICAL :: ok_chlorophyll
    8989       LOGICAL :: ok_strato
     
    123123! THEN INTEGER AND LOGICALS
    124124     &     , top_height                                                 &
    125      &     , iflag_cycle_diurne, soil_model, new_oliq                         &
     125     &     , iflag_cycle_diurne, soil_model, new_oliq                   &
    126126     &     , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad                &
    127127     &     , iflag_con, nbapp_cv, nbapp_wk                              &
     
    139139     &     , ok_lic_melt, ok_lic_cond, aer_type                         &
    140140     &     , iflag_rrtm, ok_strato,ok_hines, ok_qch4                    &
    141      &     , iflag_ice_thermo, ok_gwd_rando, NSW, iflag_albedo          &
     141     &     , iflag_ice_thermo, iflag_ice_sursat                         &
     142     &     , ok_gwd_rando, NSW, iflag_albedo                            &
    142143     &     , ok_chlorophyll,ok_conserv_q, adjust_tropopause             &
    143144     &     , ok_daily_climoz, ok_all_xml, ok_lwoff                      &
  • LMDZ6/trunk/libf/phylmd/conf_phys_m.F90

    r3999 r4059  
    179179    INTEGER,SAVE :: iflag_pdf_omp
    180180    INTEGER,SAVE :: iflag_ice_thermo_omp
     181    INTEGER,SAVE :: iflag_ice_sursat_omp
    181182    INTEGER,SAVE :: iflag_t_glace_omp
    182183    INTEGER,SAVE :: iflag_cloudth_vert_omp
     
    14931494    CALL getin('iflag_vice',iflag_vice_omp)
    14941495
    1495 
    1496 
    14971496    !
    14981497    !Config Key  = iflag_ice_thermo
     
    15041503    CALL getin('iflag_ice_thermo',iflag_ice_thermo_omp)
    15051504
     1505    !
     1506    !Config Key  = iflag_ice_sursat
     1507    !Config Desc =
     1508    !Config Def  = 0
     1509    !Config Help =
     1510    !
     1511    iflag_ice_sursat_omp = 0
     1512    CALL getin('iflag_ice_sursat',iflag_ice_sursat_omp)
     1513
     1514    !
    15061515    !Config Key  = rei_min
    15071516    !Config Desc = 
     
    24912500    iflag_vice=iflag_vice_omp
    24922501    iflag_ice_thermo = iflag_ice_thermo_omp
     2502    iflag_ice_sursat = iflag_ice_sursat_omp
    24932503    rei_min = rei_min_omp
    24942504    rei_max = rei_max_omp
     
    29182928    WRITE(lunout,*) ' iflag_vice = ',iflag_vice
    29192929    WRITE(lunout,*) ' iflag_ice_thermo = ',iflag_ice_thermo
     2930    WRITE(lunout,*) ' iflag_ice_sursat = ',iflag_ice_sursat
    29202931    WRITE(lunout,*) ' rei_min = ',rei_min
    29212932    WRITE(lunout,*) ' rei_max = ',rei_max
  • LMDZ6/trunk/libf/phylmd/lscp_mod.F90

    r3999 r4059  
    66
    77!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    8 SUBROUTINE LSCP(dtime,paprs,pplay,t,q,ptconv,ratqs,     &
    9      d_t, d_q, d_ql, d_qi, rneb, radliq, radicefrac,    &
    10      rain, snow,                                        &
     8SUBROUTINE LSCP(dtime,missing_val,                      &
     9     paprs,pplay,t,q,ptconv,ratqs,                      &
     10     d_t, d_q, d_ql, d_qi, rneb, rneb_seri,             &
     11     radliq, radicefrac, rain, snow,                    &
    1112     pfrac_impa, pfrac_nucl, pfrac_1nucl,               &
    1213     frac_impa, frac_nucl, beta,                        &
    1314     prfl, psfl, rhcl, zqta, fraca,                     &
    1415     ztv, zpspsk, ztla, zthl, iflag_cld_th,             &
    15      iflag_ice_thermo)
     16     iflag_ice_thermo, iflag_ice_sursat)
    1617
    1718!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     
    9394USE phys_local_var_mod, ONLY: rneblsvol
    9495USE lscp_tools_mod, ONLY : CALC_QSAT_ECMWF, ICEFRAC_LSCP, CALC_GAMMASAT, FALLICE_VELOCITY
    95 
     96USE ice_sursat_mod
     97!--ice supersaturation
     98USE phys_local_var_mod, ONLY: zqsats, zqsatl
     99USE phys_local_var_mod, ONLY: qclr, qcld, qss, qvc, rnebclr, rnebss, gamma_ss
     100USE phys_local_var_mod, ONLY: Tcontr, qcontr, qcontr2, fcontrN, fcontrP
    96101
    97102IMPLICIT NONE
    98 
    99 
    100103
    101104!===============================================================================
     
    114117
    115118  REAL,                            INTENT(IN)   :: dtime           ! time step [s]
     119  REAL, INTENT(IN)                              :: missing_val     ! missing value for output
     120
    116121  REAL, DIMENSION(klon,klev+1),    INTENT(IN)   :: paprs           ! inter-layer pressure [Pa]
    117122  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: pplay           ! mid-layer pressure [Pa]
     
    121126  INTEGER,                         INTENT(IN)   :: iflag_ice_thermo! flag to activate the ice thermodynamics
    122127                                                                   ! CR: if iflag_ice_thermo=2, only convection is active   
     128  INTEGER,                         INTENT(IN)   :: iflag_ice_sursat ! 0 = sursat desativee, 1 = sursat activee
     129
    123130  LOGICAL, DIMENSION(klon,klev),   INTENT(IN)   :: ptconv          ! grid points where deep convection scheme is active
    124131
     
    138145  REAL, DIMENSION(klon,klev),      INTENT(INOUT):: ratqs            ! function of pressure that sets the large-scale
    139146                                                                    ! cloud PDF (sigma=ratqs*qt)
     147
     148  ! Input sursaturation en glace
     149  REAL, DIMENSION(klon,klev),      INTENT(INOUT):: rneb_seri        ! fraction nuageuse en memoire
    140150 
    141151  ! OUTPUT variables
     
    388398d_tot_zneb(:) = 0.0   
    389399
     400!--ice sursaturation
     401gamma_ss(:,:) = 1.
     402qss(:,:) = 0.
     403rnebss(:,:) = 0.
     404Tcontr(:,:) = missing_val
     405qcontr(:,:) = missing_val
     406qcontr2(:,:) = missing_val
     407fcontrN(:,:) = 0.0
     408fcontrP(:,:) = 0.0
    390409
    391410!===============================================================================
     
    645664            qtot=zq(i)+zmqc(i)
    646665            CALL CALC_QSAT_ECMWF(zt(i),qtot,pplay(i,k),RTT,0,.false.,zqs(i),zdqs(i))
    647             zdqsdT_raw(i) = zdqs(i)*  &
    648             & RCPD*(1.0+RVTMP2*zq(i)) / (RLVTT*(1.-zdelta) + RLSTT*zdelta)
     666            zdqsdT_raw(i) = zdqs(i)*RCPD*(1.0+RVTMP2*zq(i)) / (RLVTT*(1.-zdelta) + RLSTT*zdelta)
    649667         
    650668            IF (zq(i) .LT. 1.e-15) THEN
     
    677695        qincloud_mpc(:)=0.
    678696
    679 
    680 
    681697        IF (iflag_cld_th.GE.5) THEN
    682698
     
    778794                        ! new temperature:
    779795                        Tbef(i)=Tbef(i)+DT(i)
    780 
    781796
    782797                        ! Rneb, qzn and zcond for lognormal PDFs
     
    800815                        zpdf_e2(i)=1.-erf(zpdf_e2(i))
    801816             
    802                         IF (zpdf_e1(i).LT.1.e-10) THEN
    803                             rneb(i,k)=0.
    804                             zqn(i)=gammasat(i)*zqs(i)
     817                        !--ice sursaturation by Audran
     818                        IF ((iflag_ice_sursat.EQ.0).OR.(Tbef(i).GT.t_glace_min)) THEN
     819
     820                          IF (zpdf_e1(i).LT.1.e-10) THEN
     821                              rneb(i,k)=0.
     822                              zqn(i)=gammasat(i)*zqs(i)
     823                          ELSE
     824                              rneb(i,k)=0.5*zpdf_e1(i)
     825                              zqn(i)=zq(i)*zpdf_e2(i)/zpdf_e1(i)
     826                          ENDIF
     827
     828                          rnebss(i,k)=0.0   !--ajout OB (necessaire car boucle de convergence sur le temps)
     829                          fcontrN(i,k)=0.0  !--idem
     830                          fcontrP(i,k)=0.0  !--idem
     831                          qss(i,k)=0.0      !--idem
     832
    805833                        ELSE
    806                             rneb(i,k)=0.5*zpdf_e1(i)
    807                             zqn(i)=zq(i)*zpdf_e2(i)/zpdf_e1(i)
    808                         ENDIF
     834                        !------------------------------------
     835                        ! SURSATURATION EN GLACE
     836                        !------------------------------------
     837
     838                        CALL ice_sursat(pplay(i,k), paprs(i,k)-paprs(i,k+1), dtime, i, k, t(i,k), zq(i), &
     839                             gamma_ss(i,k), zqs(i), Tbef(i), rneb_seri(i,k), ratqs(i,k),               &
     840                             rneb(i,k), zqn(i), rnebss(i,k), qss(i,k),                                 &
     841                             Tcontr(i,k), qcontr(i,k), qcontr2(i,k), fcontrN(i,k), fcontrP(i,k) )
     842
     843                        ENDIF ! ((flag_ice_sursat.eq.0).or.(Tbef(i).gt.t_glace_min))
    809844
    810845                        ! If vertical heterogeneity, change fraction by volume as well
     
    823858                       ! EV: calculation of icefrac in one sole function
    824859                        CALL icefrac_lscp(klon, zt(:),pplay(:,k)/paprs(:,1),zfice(:),dzfice(:))
    825 
    826860               
    827861                        IF (zfice(i).LT.1) THEN
     
    9851019    ! remaining water in the cloud during the time step that is seen by the radiation
    9861020    ! -------------------------------------------------------------------------------
    987 
    9881021     
    9891022    DO n = 1, ninter
     
    11281161   ENDDO
    11291162
    1130 
    1131 
    1132                                                                                                          
    11331163    ! LTP: limit of surface cloud fraction covered by precipitation when the local intensity of the flux is below rain_int_min                                                                             
    11341164    ! if iflag_evap_pre=4
     
    11371167        DO i=1, klon                                       
    11381168               
    1139 
    11401169            IF ((zrflclr(i) + ziflclr(i)) .GT. 0. ) THEN     
    11411170                znebprecipclr(i) = min(znebprecipclr(i),max(zrflclr(i)/ &
     
    11441173                znebprecipclr(i)=0.                                                                   
    11451174            ENDIF 
    1146 
    11471175                                                                                                         
    11481176            IF ((zrflcld(i) + ziflcld(i)) .GT. 0.) THEN                                                 
     
    11521180                znebprecipcld(i)=0.                                                                   
    11531181            ENDIF     
    1154 
    11551182
    11561183        ENDDO       
     
    11901217        ENDIF
    11911218
    1192         zprec_cond(i) = MAX(zcond(i)-zoliq(i),0.0) &
    1193         * (paprs(i,k)-paprs(i,k+1))/RG
    1194 
     1219        zprec_cond(i) = MAX(zcond(i)-zoliq(i),0.0)*(paprs(i,k)-paprs(i,k+1))/RG
    11951220
    11961221        IF (rneb(i,k).GT.0.0.AND.zprec_cond(i).GT.0.) THEN
    1197 
    11981222
    11991223            IF (t(i,k) .GE. t_glace_min) THEN
     
    12021226                zalpha_tr = a_tr_sca(4)
    12031227            ENDIF
    1204 
    12051228
    12061229            zfrac_lessi = 1. - EXP(zalpha_tr*zprec_cond(i)/zneb(i))
     
    12411264    ENDDO
    12421265     
    1243 
    1244 END DO
     1266    !--save some variables for ice sursaturation
     1267    !
     1268    DO i = 1, klon
     1269        ! pour la mémoire
     1270        rneb_seri(i,k) = rneb(i,k)
     1271
     1272        ! pour les diagnostics
     1273        rnebclr(i,k) = 1.0 - rneb(i,k) - rnebss(i,k)
     1274
     1275        qvc(i,k) = zqs(i) * rneb(i,k)
     1276        qclr(i,k) = MAX(1.e-10,zq(i) - qvc(i,k) - qss(i,k))  !--ajout OB a cause de cas pathologiques avec lognormale=F
     1277        qcld(i,k) = qvc(i,k) + zcond(i)
     1278
     1279        !q_sat
     1280        CALL CALC_QSAT_ECMWF(Tbef(i),0.,pplay(i,k),RTT,1,.false.,zqsatl(i,k),zdqs(i))
     1281        CALL CALC_QSAT_ECMWF(Tbef(i),0.,pplay(i,k),RTT,2,.false.,zqsats(i,k),zdqs(i))
     1282
     1283     ENDDO
     1284
     1285ENDDO
    12451286
    12461287!======================================================================
    12471288!                      END OF VERTICAL LOOP
    12481289!======================================================================
    1249  
    12501290
    12511291  ! Rain or snow at the surface (depending on the first layer temperature)
     
    12541294      rain(i) = zrfl(i)
    12551295  ENDDO
    1256    
    1257  
    12581296
    12591297  IF (ncoreczq>0) THEN
     
    12611299  ENDIF
    12621300
    1263 
    1264 
    1265 
    12661301END SUBROUTINE LSCP
    12671302!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • LMDZ6/trunk/libf/phylmd/lscp_tools_mod.F90

    r3999 r4059  
    123123    USE print_control_mod, ONLY: lunout, prt_level
    124124
    125     IMPLICIT none
     125    IMPLICIT NONE
    126126
    127127
     
    202202    ENDDO
    203203
    204 
    205204    RETURN
    206205
     
    215214!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    216215
    217 
    218     IMPLICIT none
     216    IMPLICIT NONE
    219217
    220218    include "YOMCST.h"
     
    236234    REAL, INTENT(OUT) :: dqs     ! derivation of saturation specific humidity wrt T
    237235
    238 
    239236    REAL delta, cor, cvm5
    240 
    241237   
    242238    IF (phase .EQ. 1) THEN
     
    261257    dqs= FOEDE(temp,delta,cvm5,qs,cor)
    262258
    263 
    264 
    265259END SUBROUTINE CALC_QSAT_ECMWF
    266260!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     
    278272
    279273
    280     IMPLICIT none
     274    IMPLICIT NONE
    281275
    282276    include "YOMCST.h"
     
    341335        ENDIF
    342336   
    343 
    344 
    345 
    346337END SUBROUTINE CALC_GAMMASAT
    347338
  • LMDZ6/trunk/libf/phylmd/phyetat0.F90

    r4056 r4059  
    1313       du_gwd_rando, du_gwd_front, entr_therm, f0, fm_therm, &
    1414       falb_dir, falb_dif, prw_ancien, prlw_ancien, prsw_ancien, &
    15        ftsol, pbl_tke, pctsrf, q_ancien, ql_ancien, qs_ancien, radpas, radsol, rain_fall, ratqs, &
     15       ftsol, pbl_tke, pctsrf, q_ancien, ql_ancien, qs_ancien, rneb_ancien, radpas, radsol, rain_fall, ratqs, &
    1616       rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, &
    1717       solsw, solswfdiff, t_ancien, u_ancien, v_ancien, w01, wake_cstar, wake_deltaq, &
     
    361361  ancien_ok=ancien_ok.AND.phyetat0_get(klev,ql_ancien,"QLANCIEN","QLANCIEN",0.)
    362362  ancien_ok=ancien_ok.AND.phyetat0_get(klev,qs_ancien,"QSANCIEN","QSANCIEN",0.)
     363  ancien_ok=ancien_ok.AND.phyetat0_get(klev,rneb_ancien,"RNEBANCIEN","RNEBANCIEN",0.)
    363364  ancien_ok=ancien_ok.AND.phyetat0_get(klev,u_ancien,"UANCIEN","UANCIEN",0.)
    364365  ancien_ok=ancien_ok.AND.phyetat0_get(klev,v_ancien,"VANCIEN","VANCIEN",0.)
     
    373374       (maxval(ql_ancien).EQ.minval(ql_ancien))     .OR. &
    374375       (maxval(qs_ancien).EQ.minval(qs_ancien))     .OR. &
     376       (maxval(rneb_ancien).EQ.minval(rneb_ancien)) .OR. &
    375377       (maxval(prw_ancien).EQ.minval(prw_ancien))   .OR. &
    376378       (maxval(prlw_ancien).EQ.minval(prlw_ancien)) .OR. &
  • LMDZ6/trunk/libf/phylmd/phyredem.F90

    r4056 r4059  
    1919                                zval, rugoro, t_ancien, q_ancien,            &
    2020                                prw_ancien, prlw_ancien, prsw_ancien,        &
    21                                 ql_ancien, qs_ancien,  u_ancien,            &
     21                                ql_ancien, qs_ancien, rneb_ancien, u_ancien, &
    2222                                v_ancien, clwcon, rnebcon, ratqs, pbl_tke,   &
    2323                                wake_delta_pbl_tke, zmax0, f0, sig1, w01,    &
     
    239239
    240240    CALL put_field(pass,"QSANCIEN", "QSANCIEN", qs_ancien)
     241
     242    CALL put_field(pass,"RNEBANCIEN", "RNEBANCIEN", rneb_ancien)
    241243
    242244    CALL put_field(pass,"PRWANCIEN", "PRWANCIEN", prw_ancien)
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r4009 r4059  
    1616      REAL, SAVE, ALLOCATABLE :: u_seri(:,:), v_seri(:,:)
    1717      !$OMP THREADPRIVATE(u_seri, v_seri)
     18      REAL, SAVE, ALLOCATABLE :: rneb_seri(:,:)
     19      !$OMP THREADPRIVATE(rneb_seri)
     20      REAL, SAVE, ALLOCATABLE :: d_rneb_dyn(:,:)
     21      !$OMP THREADPRIVATE(d_rneb_dyn)
    1822      REAL, SAVE, ALLOCATABLE :: l_mixmin(:,:,:),l_mix(:,:,:),tke_dissip(:,:,:),wprime(:,:,:)
    1923      !$OMP THREADPRIVATE(l_mixmin, l_mix, tke_dissip,wprime)
     
    473477!$OMP THREADPRIVATE(zn2mout)
    474478
     479      REAL, SAVE, ALLOCATABLE :: qclr(:,:)
     480      !$OMP THREADPRIVATE(qclr)
     481      REAL, SAVE, ALLOCATABLE :: qcld(:,:)
     482      !$OMP THREADPRIVATE(qcld)
     483      REAL, SAVE, ALLOCATABLE :: qss(:,:)
     484      !$OMP THREADPRIVATE(qss)
     485      REAL, SAVE, ALLOCATABLE :: qvc(:,:)
     486      !$OMP THREADPRIVATE(qvc)
     487      REAL, SAVE, ALLOCATABLE :: rnebclr(:,:)
     488      !$OMP THREADPRIVATE(rnebclr)
     489      REAL, SAVE, ALLOCATABLE :: rnebss(:,:)
     490      !$OMP THREADPRIVATE(rnebss)
     491      REAL, SAVE, ALLOCATABLE :: gamma_ss(:,:)
     492      !$OMP THREADPRIVATE(gamma_ss)
     493      REAL, SAVE, ALLOCATABLE :: N1_ss(:,:)
     494      !$OMP THREADPRIVATE(N1_ss)
     495      REAL, SAVE, ALLOCATABLE :: N2_ss(:,:)
     496      !$OMP THREADPRIVATE(N2_ss)
     497      REAL, SAVE, ALLOCATABLE :: drneb_sub(:,:)
     498      !$OMP THREADPRIVATE(drneb_sub)
     499      REAL, SAVE, ALLOCATABLE :: drneb_con(:,:)
     500      !$OMP THREADPRIVATE(drneb_con)
     501      REAL, SAVE, ALLOCATABLE :: drneb_tur(:,:)
     502      !$OMP THREADPRIVATE(drneb_tur)
     503      REAL, SAVE, ALLOCATABLE :: drneb_avi(:,:)
     504      !$OMP THREADPRIVATE(drneb_avi)
     505      REAL, SAVE, ALLOCATABLE :: zqsatl(:,:)
     506      !$OMP THREADPRIVATE(zqsatl)
     507      REAL, SAVE, ALLOCATABLE :: zqsats(:,:)
     508      !$OMP THREADPRIVATE(zqsats)
     509      REAL, SAVE, ALLOCATABLE :: Tcontr(:,:)
     510      !$OMP THREADPRIVATE(Tcontr)
     511      REAL, SAVE, ALLOCATABLE :: qcontr(:,:)
     512      !$OMP THREADPRIVATE(qcontr)
     513      REAL, SAVE, ALLOCATABLE :: qcontr2(:,:)
     514      !$OMP THREADPRIVATE(qcontr2)
     515      REAL, SAVE, ALLOCATABLE :: fcontrN(:,:)
     516      !$OMP THREADPRIVATE(fcontrN)
     517      REAL, SAVE, ALLOCATABLE :: fcontrP(:,:)
     518      !$OMP THREADPRIVATE(fcontrP)
     519
    475520#ifdef CPP_StratAer
    476521!
     
    828873
    829874      ALLOCATE(zn2mout(klon,6))
     875
     876! Supersaturation
     877      ALLOCATE(rneb_seri(klon,klev))
     878      ALLOCATE(d_rneb_dyn(klon,klev))
     879      ALLOCATE(qclr(klon,klev), qcld(klon,klev), qss(klon,klev), qvc(klon,klev))
     880      ALLOCATE(rnebclr(klon,klev), rnebss(klon,klev), gamma_ss(klon,klev))
     881      ALLOCATE(N1_ss(klon,klev), N2_ss(klon,klev))
     882      ALLOCATE(drneb_sub(klon,klev), drneb_con(klon,klev), drneb_tur(klon,klev), drneb_avi(klon,klev))
     883      ALLOCATE(zqsatl(klon,klev), zqsats(klon,klev))
     884      ALLOCATE(Tcontr(klon,klev), qcontr(klon,klev), qcontr2(klon,klev), fcontrN(klon,klev), fcontrP(klon,klev))
    830885
    831886#ifdef CPP_StratAer
     
    11171172      DEALLOCATE(zn2mout)
    11181173
     1174! Supersaturation
     1175      DEALLOCATE(rneb_seri)
     1176      DEALLOCATE(d_rneb_dyn)
     1177      DEALLOCATE(qclr, qcld, qss, qvc)
     1178      DEALLOCATE(rnebclr, rnebss, gamma_ss)
     1179      DEALLOCATE(N1_ss, N2_ss)
     1180      DEALLOCATE(drneb_sub, drneb_con, drneb_tur, drneb_avi)
     1181      DEALLOCATE(zqsatl, zqsats)
     1182      DEALLOCATE(Tcontr, qcontr, qcontr2, fcontrN, fcontrP)
     1183
    11191184#ifdef CPP_StratAer
    11201185! variables for strat. aerosol CK
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r3888 r4059  
    19171917    'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 10) /))
    19181918
     1919!--aviation & supersaturation
     1920  TYPE(ctrl_out), SAVE :: o_oclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1921    'oclr', 'Clear sky total water', 'kg/kg', (/ ('', i=1, 10) /))
     1922  TYPE(ctrl_out), SAVE :: o_ocld = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1923    'ocld', 'Cloudy sky total water', 'kg/kg', (/ ('', i=1, 10) /))
     1924  TYPE(ctrl_out), SAVE :: o_oss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1925    'oss', 'ISSR total water', 'kg/kg', (/ ('', i=1, 10) /))
     1926  TYPE(ctrl_out), SAVE :: o_ovc = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1927    'ovc', 'In-cloup vapor', 'kg/kg', (/ ('', i=1, 10) /))
     1928  TYPE(ctrl_out), SAVE :: o_rnebclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1929    'rnebclr', 'Clear sky fraction', '-', (/ ('', i=1, 10) /))
     1930  TYPE(ctrl_out), SAVE :: o_rnebss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1931    'rnebss', 'ISSR fraction', '-', (/ ('', i=1, 10) /))
     1932  TYPE(ctrl_out), SAVE :: o_rnebseri = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1933    'rnebseri', 'Cloud fraction', '-', (/ ('', i=1, 10) /))
     1934  TYPE(ctrl_out), SAVE :: o_gammass = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1935    'gammass', 'Gamma supersaturation', '', (/ ('', i=1, 10) /))
     1936  TYPE(ctrl_out), SAVE :: o_N1_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1937    'N1ss', 'N1', '', (/ ('', i=1, 10) /))
     1938  TYPE(ctrl_out), SAVE :: o_N2_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1939    'N2ss', 'N2', '', (/ ('', i=1, 10) /))
     1940  TYPE(ctrl_out), SAVE :: o_drnebsub = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1941    'drnebsub', 'Cloud fraction change because of sublimation', 's-1', (/ ('', i=1, 10) /))
     1942  TYPE(ctrl_out), SAVE :: o_drnebcon = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1943    'drnebcon', 'Cloud fraction change because of condensation', 's-1', (/ ('', i=1, 10) /))
     1944  TYPE(ctrl_out), SAVE :: o_drnebtur = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1945    'drnebtur', 'Cloud fraction change because of turbulence', 's-1', (/ ('', i=1, 10) /))
     1946  TYPE(ctrl_out), SAVE :: o_drnebavi = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1947    'drnebavi', 'Cloud fraction change because of aviation', 's-1', (/ ('', i=1, 10) /))
     1948  TYPE(ctrl_out), SAVE :: o_qsatl = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1949    'qsatl', 'Saturation with respect to liquid water', '', (/ ('', i=1, 10) /))
     1950  TYPE(ctrl_out), SAVE :: o_qsats = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1951    'qsats', 'Saturation with respect to solid water', '', (/ ('', i=1, 10) /))
     1952  TYPE(ctrl_out), SAVE :: o_flight_m = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1953    'flightm', 'Flown meters', 'm/s/mesh', (/ ('', i=1, 10) /))
     1954  TYPE(ctrl_out), SAVE :: o_flight_h2o = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1955    'flighth2o', 'H2O flight emission', 'kg H2O/s/mesh', (/ ('', i=1, 10) /))
     1956  TYPE(ctrl_out), SAVE :: o_Tcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),&
     1957    'Tcontr', 'Temperature threshold for contrail formation', 'K', (/ ('',i=1,10) /))
     1958  TYPE(ctrl_out), SAVE :: o_qcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),&
     1959    'qcontr', 'Specific humidity threshold for contrail formation','Pa', (/ ('', i=1, 10) /))
     1960  TYPE(ctrl_out), SAVE :: o_qcontr2 = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),&
     1961    'qcontr2', 'Specific humidity threshold for contrail formation','kg/kg', (/ ('', i=1, 10) /))
     1962  TYPE(ctrl_out), SAVE :: o_fcontrN = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/),&
     1963    'fcontrN', 'Fraction with non-persistent contrail in clear-sky', '-', (/ ('', i=1,10)/))
     1964  TYPE(ctrl_out), SAVE :: o_fcontrP = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/),&
     1965    'fcontrP', 'Fraction with persistent contrail in ISSR', '-', (/ ('', i=1,10)/))
     1966
    19191967!!!!!!!!!!!!! Sorties niveaux standards de pression NMC
    19201968  TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r4056 r4059  
    209209         o_p_tropopause, o_z_tropopause, o_t_tropopause,  &
    210210         o_col_O3_strato, o_col_O3_tropo,                 &
     211!--aviation & supersaturation
     212         o_oclr, o_ocld, o_oss, o_ovc, o_rnebss, o_rnebclr, o_rnebseri, o_gammass, &
     213         o_N1_ss, o_N2_ss, o_qsatl, o_qsats, &
     214         o_drnebsub, o_drnebcon, o_drnebtur, o_drnebavi, o_flight_m, o_flight_h2o, &
     215         o_Tcontr, o_qcontr, o_qcontr2, o_fcontrN, o_fcontrP, &
    211216!--interactive CO2
    212217         o_flx_co2_ocean, o_flx_co2_ocean_cor, &
     
    230235         o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet
    231236#endif
     237
     238    USE ice_sursat_mod, ONLY: flight_m, flight_h2o
    232239   
    233240    USE phys_output_ctrlout_mod, ONLY: o_heat_volc, o_cool_volc !NL
     
    280287         cldq, flwp, fiwp, ue, ve, uq, vq, &
    281288         uwat, vwat, &
     289         rneb_seri, d_rneb_dyn, &
    282290         plcl, plfc, wbeff, convoccur, upwd, dnwd, dnwd0, prw, prlw, prsw, &
    283291         s_pblh, s_pblt, s_lcl, s_therm, uwriteSTD, &
     
    293301         wdtrainA, wdtrainS, wdtrainM, n2, s2, proba_notrig, &
    294302         random_notrig, &
     303         qclr, qcld, qss, qvc, rnebclr, rnebss, gamma_ss, &
     304         N1_ss, N2_ss, zqsatl, zqsats, &
     305         Tcontr, qcontr, qcontr2, fcontrN, fcontrP, &
     306         drneb_sub, drneb_con, drneb_tur, drneb_avi, &
    295307         alp_bl_det, alp_bl_fluct_m, alp_bl_conv, &
    296308         alp_bl_stat, alp_bl_fluct_tke, slab_wfbils, &
     
    18131825       ENDIF
    18141826
     1827!--aviation & supersaturation
     1828       CALL histwrite_phy(o_oclr, qclr)
     1829       CALL histwrite_phy(o_ocld, qcld)
     1830       CALL histwrite_phy(o_oss, qss)
     1831       CALL histwrite_phy(o_ovc, qvc)
     1832       CALL histwrite_phy(o_rnebclr, rnebclr)
     1833       CALL histwrite_phy(o_rnebss, rnebss)
     1834       CALL histwrite_phy(o_rnebseri, rneb_seri)
     1835       CALL histwrite_phy(o_gammass, gamma_ss)
     1836       CALL histwrite_phy(o_N1_ss, N1_ss)
     1837       CALL histwrite_phy(o_N2_ss, N2_ss)
     1838       CALL histwrite_phy(o_drnebsub, drneb_sub)
     1839       CALL histwrite_phy(o_drnebcon, drneb_con)
     1840       CALL histwrite_phy(o_drnebtur, drneb_tur)
     1841       CALL histwrite_phy(o_drnebavi, drneb_avi)
     1842       CALL histwrite_phy(o_qsatl, zqsatl)
     1843       CALL histwrite_phy(o_qsats, zqsats)
     1844       CALL histwrite_phy(o_flight_m, flight_m)
     1845       CALL histwrite_phy(o_flight_h2o, flight_h2o)
     1846       CALL histwrite_phy(o_Tcontr, Tcontr)
     1847       CALL histwrite_phy(o_qcontr, qcontr)
     1848       CALL histwrite_phy(o_qcontr2, qcontr2)
     1849       CALL histwrite_phy(o_fcontrN, fcontrN)
     1850       CALL histwrite_phy(o_fcontrP, fcontrP)
    18151851       
    18161852       IF (vars_defined) zx_tmp_fi3d = wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd
  • LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90

    r3956 r4059  
    9090      REAL, ALLOCATABLE, SAVE :: clwcon(:,:),rnebcon(:,:)
    9191!$OMP THREADPRIVATE(clwcon,rnebcon)
     92      REAL, ALLOCATABLE, SAVE :: rneb_ancien(:,:)
     93!$OMP THREADPRIVATE(rneb_ancien)
    9294      REAL, ALLOCATABLE, SAVE :: qtc_cv(:,:),sigt_cv(:,:)
    9395!$OMP THREADPRIVATE(qtc_cv,sigt_cv)
     
    514516!!! Rom P <<<
    515517      ALLOCATE(clwcon(klon,klev),rnebcon(klon,klev))
     518      ALLOCATE(rneb_ancien(klon,klev))
    516519      ALLOCATE(qtc_cv(klon,klev),sigt_cv(klon,klev))
    517520      ALLOCATE(ratqs(klon,klev))
     
    689692      DEALLOCATE(zthe, zpic, zval)
    690693      DEALLOCATE(rugoro, t_ancien, q_ancien, clwcon, rnebcon)
    691       DEALLOCATE(qs_ancien, ql_ancien)
     694      DEALLOCATE(qs_ancien, ql_ancien, rneb_ancien)
    692695      DEALLOCATE(prw_ancien, prlw_ancien, prsw_ancien)
    693696      DEALLOCATE(qtc_cv,sigt_cv)
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r4056 r4059  
    7373    USE tracinca_mod, ONLY: config_inca
    7474    USE tropopause_m,     ONLY: dyn_tropopause
     75    USE ice_sursat_mod,  ONLY: flight_init, airplane
    7576    USE vampir
    7677    USE VERTICAL_LAYERS_MOD, ONLY: aps,bps, ap, bp
     
    127128       ! [Variables internes non sauvegardees de la physique]
    128129       ! Variables locales pour effectuer les appels en serie
    129        t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,tr_seri, &
     130       t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,tr_seri,rneb_seri, &
    130131       ! Dynamic tendencies (diagnostics)
    131        d_t_dyn,d_q_dyn,d_ql_dyn,d_qs_dyn,d_u_dyn,d_v_dyn,d_tr_dyn, &
     132       d_t_dyn,d_q_dyn,d_ql_dyn,d_qs_dyn,d_u_dyn,d_v_dyn,d_tr_dyn,d_rneb_dyn, &
    132133       d_q_dyn2d,d_ql_dyn2d,d_qs_dyn2d, &
    133134       ! Physic tendencies
     
    444445    INTEGER iliq          ! indice de traceurs pour eau liquide
    445446    PARAMETER (iliq=2)
    446     !CR: on ajoute la phase glace
    447447    INTEGER isol          ! indice de traceurs pour eau glace
    448448    PARAMETER (isol=3)
     449    INTEGER irneb         ! indice de traceurs pour fraction nuageuse LS (optional)
     450    PARAMETER (irneb=4)   
    449451    !
    450452    !
     
    12831285#endif
    12841286
     1287       !!CALL flight_init
     1288
    12851289       print*, '================================================='
    12861290       !
     
    12891293          WRITE (lunout, *) ' iflag_ice_thermo==1 requires 3 H2O tracers ', &
    12901294               '(H2Ov, H2Ol, H2Oi) but nqo=', nqo, '. Might as well stop here.'
     1295          abort_message='see above'
     1296          CALL abort_physic(modname,abort_message,1)
     1297       ENDIF
     1298
     1299       IF ((iflag_ice_sursat.GT.0).AND.(iflag_ice_thermo.EQ.0)) THEN
     1300          WRITE (lunout, *) ' iflag_ice_sursat=1 requires iflag_ice_thermo=1 as well'
     1301          abort_message='see above'
     1302          CALL abort_physic(modname,abort_message,1)
     1303       ENDIF
     1304
     1305       IF ((iflag_ice_sursat.GT.0).AND.(nqo.NE.4)) THEN
     1306          WRITE (lunout, *) ' iflag_ice_sursat=1 requires 4 H2O tracers ', &
     1307               '(H2Ov, H2Ol, H2Oi, rnebi) but nqo=', nqo, '. Might as well stop here.'
    12911308          abort_message='see above'
    12921309          CALL abort_physic(modname,abort_message,1)
     
    22172234          ELSE IF (nqo.eq.3) THEN
    22182235             qs_seri(i,k) = qx(i,k,isol)
     2236          ELSE IF (nqo.eq.4) THEN
     2237             qs_seri(i,k) = qx(i,k,isol)
     2238             rneb_seri(i,k) = qx(i,k,irneb)
    22192239          ENDIF
    22202240       ENDDO
     
    22922312       IF (nqtot > nqo) d_tr_dyn(:,:,:)=(tr_seri(:,:,:)-tr_ancien(:,:,:))/phys_tstep
    22932313       ! !! RomP <<<
     2314       !!d_rneb_dyn(:,:)=(rneb_seri(:,:)-rneb_ancien(:,:))/phys_tstep
     2315       d_rneb_dyn(:,:)=0.0
    22942316    ELSE
    22952317       d_u_dyn(:,:)  = 0.0
     
    23052327       IF (nqtot > nqo) d_tr_dyn(:,:,:)= 0.0
    23062328       ! !! RomP <<<
     2329       d_rneb_dyn(:,:)=0.0
    23072330       ancien_ok = .TRUE.
    23082331    ENDIF
     
    35363559    IF (ok_new_lscp) THEN
    35373560
    3538     CALL lscp(phys_tstep,paprs,pplay, &
     3561    !--mise à jour de flight_m dans son module
     3562    CALL airplane(debut,pphis,pplay,paprs,t_seri)
     3563
     3564    CALL lscp(phys_tstep,missing_val,paprs,pplay, &
    35393565         t_seri, q_seri,ptconv,ratqs, &
    3540          d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, cldliq, picefra, &
    3541          rain_lsc, snow_lsc, &
     3566         d_t_lsc, d_q_lsc, d_ql_lsc, d_qi_lsc, rneb, rneb_seri, &
     3567         cldliq, picefra, rain_lsc, snow_lsc, &
    35423568         pfrac_impa, pfrac_nucl, pfrac_1nucl, &
    35433569         frac_impa, frac_nucl, beta_prec_fisrt, &
    35443570         prfl, psfl, rhcl,  &
    35453571         zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, &
    3546          iflag_ice_thermo)
     3572         iflag_ice_thermo, iflag_ice_sursat)
    35473573
    35483574    ELSE
     3575
    35493576    CALL fisrtilp(phys_tstep,paprs,pplay, &
    35503577         t_seri, q_seri,ptconv,ratqs, &
     
    35563583         zqasc, fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, &
    35573584         iflag_ice_thermo)
     3585
    35583586    ENDIF
    35593587    !
     
    50605088          d_qx(i,k,iliq) = ( ql_seri(i,k) - qx(i,k,iliq) ) / phys_tstep
    50615089          !CR: on ajoute le contenu en glace
    5062           IF (nqo.eq.3) THEN
     5090          IF (nqo.gt.3) THEN
    50635091             d_qx(i,k,isol) = ( qs_seri(i,k) - qx(i,k,isol) ) / phys_tstep
     5092          ENDIF
     5093          !--ice_sursat: nqo=4, on ajoute rneb
     5094          IF (nqo.eq.4) THEN
     5095             d_qx(i,k,irneb) = ( rneb_seri(i,k) - qx(i,k,irneb) ) / phys_tstep
    50645096          ENDIF
    50655097       ENDDO
     
    51105142    ql_ancien(:,:) = ql_seri(:,:)
    51115143    qs_ancien(:,:) = qs_seri(:,:)
     5144    rneb_ancien(:,:) = rneb_seri(:,:)
    51125145    CALL water_int(klon,klev,q_ancien,zmasse,prw_ancien)
    51135146    CALL water_int(klon,klev,ql_ancien,zmasse,prlw_ancien)
Note: See TracChangeset for help on using the changeset viewer.