Opened 11 years ago

Closed 6 years ago

#62 closed enhancement (fixed)

revisit dew and snow sublimation calculations

Reported by: luyssaert Owned by: cottle
Priority: minor Milestone: ORCHIDEE 2.0
Component: Physical processes Version:
Keywords: Cc:

Description

dew and snow sublimation calculations should be revisited - to be clarified by Nathalie de Noblet

Change History (7)

comment:1 Changed 11 years ago by nvuilsce

  • Owner changed from somebody to cottle
  • Status changed from new to assigned

comment:2 Changed 10 years ago by cottle

  • Status changed from assigned to accepted

comment:3 Changed 10 years ago by peylin

Comments from 18 March 2014 (JG, FM, CO, MM, PP):

In the explicit new snow model a parametrization of the roughness lenght has been introduced which decrease the roughness lenght with snow depth and provides a lower sublimation (in closer agreement to the observation). Note this problem of too high roughness was already discussed by Isabelle Goutevin.

If needed this parametrization could be introduced in the old snow scheme, but we dont see such as we will move soon toward the new snow module.

Merge with DOFOCO: DOFOCO compute a temporal evoluation of the roughness for the forests (probably also for grasses and crops); The roughness lenght decrease with snow depth in the new snow scheme should be "evaluated/checked" again when merge with DOFOCO.

comment:4 Changed 6 years ago by aducharne

Ce ticket concerne les deux schémas de neige (old et explicit) ssi la rugosité dynamique n'est pas activée.

Tout est OK (baisse de rugosité en présence de neige) si la rugosité dynamique (Su) est activée, y compris en couplé.

Sinon, on a une diminution de rugosité par 10 si snow> snowcri, mais c'est fait sur le cdrag (diffuco_aero) et donc pas transmis à LMDZ. Il faudrait plutot faire cette modif dans condveg_z0.

comment:5 Changed 6 years ago by cottle

Il faudrait donc faire les modifications suivantes :

dans diffuco.f90 :
supprimer le paramètre snowfact (dans les déclarations ligne 695) et le keyword OK_snowfact et modifier l'equation de Zscf qui fait intervenir snowfact (lignes771-772 et 794-795)

old:
zscf = un / (un + trois * cb * cc * cd_neut * SQRT(ABS(zri) * &

& ((zlev(ji) + roughheight(ji)) / z0m(ji)/snowfact)))

new:
zscf = un / (un + trois * cb * cc * cd_neut * SQRT(ABS(zri) * &

& ((zlev(ji) + roughheight(ji)) / z0m(ji))))

dans condveg.f90 :
Rajouter la variable frac_snow_veg dans la subroutine condveg_z0cdrag (lignes 1295-1296)
Modifier les lignes correspondant à l'appel à cette routine :
Lignes 278, 279 + 402-403
Introduire le calcul de z0_ground et remplacer z0_bare par z0_ground dans le calcul des cdrag.

La routine deviendrait :
SUBROUTINE condveg_z0cdrag (kjpindex,veget,veget_max,frac_nobio,totfrac_nobio,zlev, height, tot_bare_soil, frac_snow_veg , z0m, z0h, roughheight)

Il faudrait rajouter dans les déclarations les lignes suivantes:
REAL(r_std), DIMENSION(kjpindex) :: z0_ground !! z0m value used for ground surface
REAL(r_std),DIMENSION (kjpindex), INTENT(in) :: frac_snow_veg !! Snow cover fraction on vegetated area

et remplacer z0_bare par z0_ground dans les lignes suivantes:
old:

dragm(:) = tot_bare_soil(:) * (ct_karman/LOG(ztmp(:)/z0_bare))2

dragh(:) = tot_bare_soil(:) * (ct_karman/LOG(ztmp(:)/(z0_bare/ratio_z0m_z0h(1))))*(ct_karman/LOG(ztmp(:)/z0_bare))


new:

dragm(:) = tot_bare_soil(:) * (ct_karman/LOG(ztmp(:)/z0_ground))2

dragh(:) = tot_bare_soil(:) * (ct_karman/LOG(ztmp(:)/(z0_ground/ratio_z0m_z0h(1))))*(ct_karman/LOG(ztmp(:)/z0_ground))

comment:6 Changed 6 years ago by maignan

Similar lines further below in the subroutine are also modified accordingly.
z0_ground formulation is copied from condveg_z0cdrag_dyn.
OK_snowfact is not used anymore and is removed from constantes_soil.f90 and constantes_soil_var.f90.

Tested on one year/global simulation: no differences with ROUGH_DYN=y (default), differences with ROUGH_DYN=n.

Commit done in r4654.
Related ticket #237 is also closed.

comment:7 Changed 6 years ago by maignan

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets.