Ignore:
Timestamp:
Jan 17, 2025, 6:16:25 PM (6 months ago)
Author:
aborella
Message:

Merge with trunk

Location:
LMDZ6/branches/contrails
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails

  • LMDZ6/branches/contrails/libf/phylmdiso/phyetat0_mod.F90

    r5310 r5489  
    549549     it = 0
    550550     DO iq = 1, nqtot
    551         IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE
     551        IF(.NOT.tracers(iq)%isInPhysics) CYCLE
    552552        it = it+1
    553553        tname = tracers(iq)%name
  • LMDZ6/branches/contrails/libf/phylmdiso/phyredem.F90

    r5296 r5489  
    370370       it = 0
    371371       DO iq = 1, nqtot
    372           IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE
     372          IF(.NOT.tracers(iq)%isInPhysics) CYCLE
    373373          it = it+1
    374374          CALL put_field(pass,"trs_"//tracers(iq)%name, "", trs(:, it))
  • LMDZ6/branches/contrails/libf/phylmdiso/physiq_mod.F90

    r5402 r5489  
    3939    USE ioipsl_getin_p_mod, ONLY : getin_p
    4040    USE indice_sol_mod
    41     USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac,addPhase, ivap, iliq, isol
     41    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac,addPhase, ivap, iliq, isol, ibs, icf, irvc
    4242    USE strings_mod,  ONLY: strIdx
    4343    USE iophy
     
    579579    !======================================================================
    580580    !
    581     ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional), blowing snow (optional)
    582 !    INTEGER,SAVE :: ivap, iliq, isol, irneb, ibs
    583 !!$OMP THREADPRIVATE(ivap, iliq, isol, irneb, ibs)
    584 ! Camille Risi 25 juillet 2023: ivap,iliq,isol deja definis dans infotrac_phy.
    585 ! Et ils sont utiles ailleurs que dans physiq_mod (ex:
    586 ! reevap -> je commente les 2 lignes au dessus et je laisse la definition
    587 ! plutot dans infotrac_phy
    588     INTEGER,SAVE :: irneb, ibs, icf,irvc
    589 !$OMP THREADPRIVATE(irneb, ibs, icf,irvc)
    590 !
    591581    !
    592582    ! Variables argument:
     
    11211111
    11221112    REAL picefra(klon,klev)
    1123     REAL zrel_oro(klon)
     1113    REAL nm_oro(klon)
    11241114    !IM cf. AM 081204 END
    11251115    !
     
    14591449
    14601450    IF (first) THEN
    1461        ivap = strIdx(tracers(:)%name, addPhase('H2O', 'g'))
    1462        iliq = strIdx(tracers(:)%name, addPhase('H2O', 'l'))
    1463        isol = strIdx(tracers(:)%name, addPhase('H2O', 's'))
    1464        ibs  = strIdx(tracers(:)%name, addPhase('H2O', 'b'))
    1465        icf  = strIdx(tracers(:)%name, addPhase('H2O', 'f'))
    1466        irvc = strIdx(tracers(:)%name, addPhase('H2O', 'c'))
    14671451!       CALL init_etat0_limit_unstruct
    14681452       IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed)
     
    62836267    ! a l'echelle sous-maille:
    62846268    !
     6269   
     6270    ! calculation of nm_oro
     6271    DO i=1,klon
     6272          ! nm_oro is a proxy for the number of subgrid scale mountains
     6273          ! -> condition on nm_oro can deactivate the lifting on tilted planar terrains
     6274          !    such as ice sheets (work by V. Wiener)
     6275          ! in such a case, the SSO scheme should activate only where nm_oro>0 i.e. by setting
     6276          ! nm_oro_t=0.
     6277          nm_oro(i)=zsig(i)*sqrt(cell_area(i)*(pctsrf(i,is_ter)+pctsrf(i,is_lic)))/(4.*MAX(zstd(i),1.e-8))-1.
     6278    END DO
     6279
    62856280    IF (prt_level .GE.10) THEN
    62866281       print *,' call orography ? ', ok_orodr
    62876282    ENDIF
    6288     !
     6283
    62896284    IF (ok_orodr) THEN
    62906285       !
     
    62936288       DO i=1,klon
    62946289          itest(i)=0
    6295           zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i)))
    6296           !zrel_oro: relative mountain height wrt relief explained by mean slope
    6297           ! -> condition on zrel_oro can deactivate the drag on tilted planar terrains
    6298           !    such as ice sheets (work by V. Wiener)
    62996290          ! zpmm_orodr_t and zstd_orodr_t are activation thresholds set by F. Lott to
    63006291          ! earn computation time but they are not physical.
    6301           IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
     6292          IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN
    63026293             itest(i)=1
    63036294             igwd=igwd+1
     
    63526343       DO i=1,klon
    63536344          itest(i)=0
    6354           !zrel_oro: relative mountain height wrt relief explained by mean slope
    6355           ! -> condition on zrel_oro can deactivate the lifting on tilted planar terrains
    6356           !    such as ice sheets (work by V. Wiener)
    6357           zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i)))
    6358           IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
     6345          IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN
    63596346             itest(i)=1
    63606347             igwd=igwd+1
     
    66306617! car on peut s'attendre a ce que les petites echelles produisent aussi de la TKE
    66316618! Mais attention, cela ne va pas dans le sens de la conservation de l'energie!
    6632           IF ((zstd(i).GT.1.0) .AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
     6619          IF ((zstd(i).GT.1.0) .AND.(nm_oro(i).GT.nm_oro_t)) THEN
    66336620             itest(i)=1
    66346621             igwd=igwd+1
     
    66426629       DO i=1,klon
    66436630          itest(i)=0
    6644         IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
     6631        IF (((zpic(i)-zmea(i)).GT.zpmm_orodr_t).AND.(zstd(i).GT.zstd_orodr_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN
    66456632             itest(i)=1
    66466633             igwd=igwd+1
Note: See TracChangeset for help on using the changeset viewer.