Ignore:
Timestamp:
Feb 12, 2025, 10:08:35 AM (4 days ago)
Author:
aborella
Message:

Revert merge with trunk

Location:
LMDZ6/branches/contrails
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails

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

    r5489 r5536  
    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, ibs, icf, irvc
     41    USE infotrac_phy, ONLY: nqtot, nbtr, nqo, tracers, type_trac,addPhase, ivap, iliq, isol
    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!
    581591    !
    582592    ! Variables argument:
     
    11111121
    11121122    REAL picefra(klon,klev)
    1113     REAL nm_oro(klon)
     1123    REAL zrel_oro(klon)
    11141124    !IM cf. AM 081204 END
    11151125    !
     
    14491459
    14501460    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'))
    14511467!       CALL init_etat0_limit_unstruct
    14521468       IF (.NOT. create_etat0_limit) CALL init_limit_read(days_elapsed)
     
    62676283    ! a l'echelle sous-maille:
    62686284    !
    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 
    62806285    IF (prt_level .GE.10) THEN
    62816286       print *,' call orography ? ', ok_orodr
    62826287    ENDIF
    6283 
     6288    !
    62846289    IF (ok_orodr) THEN
    62856290       !
     
    62886293       DO i=1,klon
    62896294          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)
    62906299          ! zpmm_orodr_t and zstd_orodr_t are activation thresholds set by F. Lott to
    62916300          ! earn computation time but they are not physical.
    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
     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
    62936302             itest(i)=1
    62946303             igwd=igwd+1
     
    63436352       DO i=1,klon
    63446353          itest(i)=0
    6345           IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN
     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
    63466359             itest(i)=1
    63476360             igwd=igwd+1
     
    66176630! car on peut s'attendre a ce que les petites echelles produisent aussi de la TKE
    66186631! Mais attention, cela ne va pas dans le sens de la conservation de l'energie!
    6619           IF ((zstd(i).GT.1.0) .AND.(nm_oro(i).GT.nm_oro_t)) THEN
     6632          IF ((zstd(i).GT.1.0) .AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
    66206633             itest(i)=1
    66216634             igwd=igwd+1
     
    66296642       DO i=1,klon
    66306643          itest(i)=0
    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
     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
    66326645             itest(i)=1
    66336646             igwd=igwd+1
Note: See TracChangeset for help on using the changeset viewer.