Ignore:
Timestamp:
Mar 24, 2015, 2:28:51 PM (9 years ago)
Author:
fhourdin
Message:

Revisite de la formule des flux de surface
(en priorité sur l'océan) en tenant compte des bourrasques de
vent et de la différence entre les hauteurs de rugosités pour
la quantité de mouvement, l'enthalpie et éventuellement l'humidité.

Etape 2 :

  • Séparation des z0 pour la quantité de mouvement et l'enthalpie.

rugs (ou frugs, rugos, yrugos ...) disparait au profit de z0m, z0h.
Les variables qui étaient à la fois dans pbl_surface_init et

  • dans l'interface de pbl_surface sont suprimées de pbl_surface_init.

On travaille directement pour ces variables (evap, z0, qsol, agesno)
avec les versions de phys_state_var_mod (qui étaient
précédemment dans phys_local_var_mod

  • Nouveaux paramètres de contrôle :
    • iflag_z0_oce (par défaut 0, et seule option active jusque là)
    • z0m_seaice_omp, z0h_seaice_omp, comme leur nom l'indique (utilisées dans surf_landice
    • z0min appliqué sur z0m et z0h dans pbl_surface
  • Introduction des fonction phyeta0_get et phyetat0_srf pour lire

les conditions de initiales dans startphy.
Du coup une seule ligne suffit pour lire et contrôler d'éventuels
problèmes.

  • Pour la variable fxrugs, elle est remplacée par z0m(:,nbsrf+1)

Ce choix déjà utilisé pour d'autres variables pourrait être
systématiser pour alléger l'interface de pbl_surface_mod.

  • Dans les sorties, les variables rugs* ont été remplacées par

des z0m* et z0h*

  • Nettoyage des anciens alb1/alb2 dans les lectures/écritures

des états de redémarrage (et dans pbl_surface_mod.F90).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/coef_diff_turb_mod.F90

    r1932 r2243  
    1313!
    1414  SUBROUTINE coef_diff_turb(dtime, nsrf, knon, ni, &
    15        ypaprs, ypplay, yu, yv, yq, yt, yts, yrugos, yqsurf, ycdragm, &
     15       ypaprs, ypplay, yu, yv, yq, yt, yts, yqsurf, ycdragm, &
    1616       ycoefm, ycoefh ,yq2)
    1717 
     
    3434    REAL, DIMENSION(klon,klev), INTENT(IN)     :: yu, yv
    3535    REAL, DIMENSION(klon,klev), INTENT(IN)     :: yq, yt
    36     REAL, DIMENSION(klon), INTENT(IN)          :: yts, yrugos, yqsurf
     36    REAL, DIMENSION(klon), INTENT(IN)          :: yts, yqsurf
    3737    REAL, DIMENSION(klon), INTENT(IN)          :: ycdragm
    3838
     
    7070    CALL coefkz(nsrf, knon, ypaprs, ypplay, &
    7171         ksta, ksta_ter, &
    72          yts, yrugos, yu, yv, yt, yq, &
     72         yts, yu, yv, yt, yq, &
    7373         yqsurf, &
    7474         ycoefm, ycoefh)
     
    181181  SUBROUTINE coefkz(nsrf, knon, paprs, pplay, &
    182182       ksta, ksta_ter, &
    183        ts, rugos, &
     183       ts, &
    184184       u,v,t,q, &
    185185       qsurf, &
     
    200200! pplay----input-R- pression au milieu de chaque couche (en Pa)
    201201! ts-------input-R- temperature du sol (en Kelvin)
    202 ! rugos----input-R- longeur de rugosite (en m)
    203202! u--------input-R- vitesse u
    204203! v--------input-R- vitesse v
     
    223222    REAL, DIMENSION(klon,klev), INTENT(IN)   :: pplay
    224223    REAL, DIMENSION(klon,klev), INTENT(IN)   :: u, v, t, q
    225     REAL, DIMENSION(klon), INTENT(IN)        :: rugos
    226224    REAL, DIMENSION(klon), INTENT(IN)        :: qsurf
    227225
Note: See TracChangeset for help on using the changeset viewer.