Ignore:
Timestamp:
Jan 11, 2025, 9:36:52 PM (6 weeks ago)
Author:
evignon
Message:

raffinement de la condition pour ne pas activer la param d'orographie sous maille
sur les terrains pentus non montagneux tels que les calottes. On raisonne désormais sur un proxy
du nombre de montagnes sous-maille. Travail de Valentin et Etienne

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

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/clesphys_mod_h.f90

    r5364 r5470  
    2222          , co2_ppm0                                                   &
    2323          , tau_thermals                                               &
    24           , Cd_frein, zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t &
     24          , Cd_frein, nm_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t &
    2525          , ecrit_LES                                                  &
    2626          , ecrit_ins, ecrit_hf, ecrit_day                             &
     
    5555
    5656  ! threshold on to activate SSO schemes
    57   ! threshold on to activate SSO schemes
    58   REAL zrel_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t
     57  REAL nm_oro_t, zpmm_orodr_t, zpmm_orolf_t, zstd_orodr_t
    5958  INTEGER iflag_cycle_diurne
    6059  LOGICAL soil_model, new_oliq, ok_orodr, ok_orolf
  • LMDZ6/trunk/libf/phylmd/conf_phys_m.f90

    r5364 r5470  
    213213    LOGICAL, SAVE :: ok_lic_cond_omp
    214214    !
    215     REAL, SAVE    :: zrel_oro_t_omp, zstd_orodr_t_omp
     215    REAL, SAVE    :: nm_oro_t_omp, zstd_orodr_t_omp
    216216    REAL, SAVE    :: zpmm_orodr_t_omp, zpmm_orolf_t_omp
    217217    INTEGER, SAVE :: iflag_cycle_diurne_omp
     
    893893
    894894
    895     !Config  Key  =  zrel_oro_t
    896     !Config  Desc = zrel_oro_t
    897     !Config  Def  = 9999.
     895    !Config  Key  =  nm_oro_t
     896    !Config  Desc = nm_oro_t
     897    !Config  Def  = -1
    898898    !Config  Help = Connais pas !
    899     zrel_oro_t_omp = 9999.
    900     CALL getin('zrel_oro_t', zrel_oro_t_omp)
     899    nm_oro_t_omp = -1.
     900    CALL getin('nm_oro_t', nm_oro_t_omp)
    901901
    902902    !Config  Key  =  zstd_orodr_t
     
    23132313    ok_orodr = ok_orodr_omp
    23142314    ok_orolf = ok_orolf_omp
    2315     zrel_oro_t=zrel_oro_t_omp
     2315    nm_oro_t=nm_oro_t_omp
    23162316    zstd_orodr_t=zstd_orodr_t_omp
    23172317    zpmm_orodr_t=zpmm_orodr_t_omp
     
    27322732    WRITE(lunout,*) ' ok_orodr=',ok_orodr
    27332733    WRITE(lunout,*) ' ok_orolf=',ok_orolf
    2734     WRITE(lunout,*) ' zrel_oro_t=',zrel_oro_t
     2734    WRITE(lunout,*) ' nm_oro_t=',nm_oro_t
    27352735    WRITE(lunout,*) ' zstd_orodr_t=',zstd_orodr_t
    27362736    WRITE(lunout,*) ' zpmm_orodr_t=',zpmm_orodr_t
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5468 r5470  
    10191019
    10201020    REAL picefra(klon,klev)
    1021     REAL zrel_oro(klon)
     1021    REAL nm_oro(klon)
    10221022    !IM cf. AM 081204 END
    10231023    !
     
    48414841    ! a l'echelle sous-maille:
    48424842    !
     4843
     4844    ! calculation of nm_oro
     4845    DO i=1,klon
     4846          ! nm_oro is a proxy for the number of subgrid scale mountains
     4847          ! -> condition on nm_oro can deactivate the lifting on tilted planar terrains
     4848          !    such as ice sheets (work by V. Wiener)
     4849          ! in such a case, the SSO scheme should activate only where nm_oro>0 i.e. by setting
     4850          ! nm_oro_t=0.
     4851          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.
     4852    ENDDO
     4853
    48434854    IF (prt_level .GE.10) THEN
    48444855       print *,' call orography ? ', ok_orodr
     
    48514862       DO i=1,klon
    48524863          itest(i)=0
    4853           zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i)))
    4854           !zrel_oro: relative mountain height wrt relief explained by mean slope
    4855           ! -> condition on zrel_oro can deactivate the drag on tilted planar terrains
    4856           !    such as ice sheets (work by V. Wiener)
    48574864          ! zpmm_orodr_t and zstd_orodr_t are activation thresholds set by F. Lott to
    48584865          ! earn computation time but they are not physical.
    4859           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
     4866          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
    48604867             itest(i)=1
    48614868             igwd=igwd+1
     
    49064913       DO i=1,klon
    49074914          itest(i)=0
    4908           !zrel_oro: relative mountain height wrt relief explained by mean slope
    4909           ! -> condition on zrel_oro can deactivate the lifting on tilted planar terrains
    4910           !    such as ice sheets (work by V. Wiener)
    4911           zrel_oro(i)=zstd(i)/(max(zsig(i),1.E-8)*sqrt(cell_area(i)))
    4912           IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
     4915          IF (((zpic(i)-zmea(i)).GT.zpmm_orolf_t).AND.(nm_oro(i).GT.nm_oro_t)) THEN
    49134916             itest(i)=1
    49144917             igwd=igwd+1
     
    51515154! car on peut s'attendre a ce que les petites echelles produisent aussi de la TKE
    51525155! Mais attention, cela ne va pas dans le sens de la conservation de l'energie!
    5153           IF ((zstd(i).GT.1.0) .AND.(zrel_oro(i).LE.zrel_oro_t)) THEN
     5156          IF ((zstd(i).GT.1.0) .AND.(nm_oro(i).GT.nm_oro_t)) THEN
    51545157             itest(i)=1
    51555158             igwd=igwd+1
     
    51635166       DO i=1,klon
    51645167          itest(i)=0
    5165         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
     5168        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
    51665169             itest(i)=1
    51675170             igwd=igwd+1
Note: See TracChangeset for help on using the changeset viewer.