Changeset 4869 for LMDZ6


Ignore:
Timestamp:
Mar 22, 2024, 2:31:51 PM (8 months ago)
Author:
evignon
Message:

identification d'un bug dans l'ajustement de la temperature
lors de la fonte dans lscp
Ajout d'un flag pour maintenir/enlever le probleme

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

Legend:

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

    r4830 r4869  
    110110USE lmdz_lscp_ini, ONLY : iflag_autoconversion, ffallv_con, ffallv_lsc
    111111USE lmdz_lscp_ini, ONLY : RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT, RD, RG
    112 USE lmdz_lscp_ini, ONLY : ok_poprecip
     112USE lmdz_lscp_ini, ONLY : ok_poprecip, ok_bug_fonte_lscp
    113113
    114114IMPLICIT NONE
     
    630630                    zrflcld(i)=zrflcld(i)+zmelt*ziflcld(i)
    631631                    zrfl(i)=zrflclr(i)+zrflcld(i)
    632 
     632                    IF (ok_bug_fonte_lscp) THEN
    633633                    ziflclr(i)=ziflclr(i)*(1.-zmelt)
    634634                    ziflcld(i)=ziflcld(i)*(1.-zmelt)
    635635                    zifl(i)=ziflclr(i)+ziflcld(i)
    636 
     636                    ENDIF
    637637                ELSE
    638638                    zrfl(i)=zrfl(i)+zmelt*zifl(i)
    639 
     639                    IF (ok_bug_fonte_lscp) THEN
    640640                    zifl(i)=zifl(i)*(1.-zmelt)
     641                    ENDIF
    641642                ENDIF
    642643
     
    648649                zt(i)=zt(i)-zifl(i)*zmelt*(RG*dtime)/(paprs(i,k)-paprs(i,k+1)) &
    649650                *RLMLT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)))
    650                
     651               
     652                IF (.NOT. ok_bug_fonte_lscp) THEN
     653                IF (iflag_evap_prec.GE.4) THEN
     654                    ziflclr(i)=ziflclr(i)*(1.-zmelt)
     655                    ziflcld(i)=ziflcld(i)*(1.-zmelt)
     656                    zifl(i)=ziflclr(i)+ziflcld(i)
     657                ELSE
     658                    zifl(i)=zifl(i)*(1.-zmelt)
     659                ENDIF
     660                ENDIF
    651661
    652662            ELSE
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.F90

    r4832 r4869  
    88  REAL RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT, RD, RG, RPI
    99  !$OMP THREADPRIVATE(RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT, RD, RG, RPI)
     10 
     11  LOGICAL, SAVE, PROTECTED :: ok_bug_fonte_lscp=.true. ! maintains bug on temperature adjustment associated with snow melting
     12  !$OMP THREADPRIVATE(ok_bug_fonte_lscp)
    1013
    1114  REAL, SAVE, PROTECTED :: seuil_neb=0.001      ! cloud fraction threshold: a cloud really exists when exceeded
     
    317320    CALL getin_p('snow_fallspeed_clr',snow_fallspeed_clr)
    318321    CALL getin_p('snow_fallspeed_cld',snow_fallspeed_cld)
     322    CALL getin_p('ok_bug_fonte_lscp',ok_bug_fonte_lscp)
    319323
    320324
     
    367371    WRITE(lunout,*) 'lscp_ini, snow_fallspeed_clr:', snow_fallspeed_clr
    368372    WRITE(lunout,*) 'lscp_ini, snow_fallspeed_cld:', snow_fallspeed_cld
     373    WRITE(lunout,*) 'lscp_ini, ok_bug_fonte_lscp:', ok_bug_fonte_lscp
    369374
    370375
Note: See TracChangeset for help on using the changeset viewer.