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/phyredem.F90

    r2241 r2243  
    3636  REAL tsoil(klon, nsoilmx, nbsrf)
    3737  REAL qsurf(klon, nbsrf)
    38   REAL qsol(klon)
    3938  REAL snow(klon, nbsrf)
    40   REAL evap(klon, nbsrf)
    4139  real fder(klon)
    42   REAL frugs(klon, nbsrf)
    43   REAL agesno(klon, nbsrf)
    4440  REAL run_off_lic_0(klon)
    4541  REAL trs(klon, nbtr)
     
    6056  ! Get variables which will be written to restart file from module
    6157  ! pbl_surface_mod
    62   CALL pbl_surface_final(qsol, fder, snow, qsurf,  &
    63        evap, frugs, agesno, tsoil)
     58  CALL pbl_surface_final(fder, snow, qsurf,  tsoil)
    6459
    6560  ! Get a variable calculated in module fonte_neige_mod
     
    191186        WRITE(str2, '(i2.2)') nsrf
    192187        CALL put_field("EVAP"//str2, "Evaporation de surface No."//str2 &
    193              , evap(:, nsrf))
     188             , fevap(:, nsrf))
    194189     ELSE
    195190        PRINT*, "Trop de sous-mailles"
     
    226221     IF (nsrf.LE.99) THEN
    227222        WRITE(str2, '(i2.2)') nsrf
    228         CALL put_field("RUG"//str2, "rugosite de surface No."//str2, &
    229              frugs(:, nsrf))
     223        CALL put_field("Z0m"//str2, "rugosite de surface No."//str2, &
     224             z0m(:, nsrf))
     225        CALL put_field("Z0h"//str2, "rugosite de surface No."//str2, &
     226             z0h(:, nsrf))
    230227     ELSE
    231228        PRINT*, "Trop de sous-mailles"
     
    269266
    270267  CALL put_field("VANCIEN", "", v_ancien)
    271 
    272   CALL put_field("RUGMER", "Longueur de rugosite sur mer", &
    273        frugs(:, is_oce))
    274268
    275269  CALL put_field("CLWCON", "Eau liquide convective", clwcon)
Note: See TracChangeset for help on using the changeset viewer.