Changeset 3969

Timestamp:
2016-12-14T11:44:56+01:00 (7 years ago)
Author:
nicolas.vuichard
Message:

TITLE: correction in grid-cell averages and hydrol_tmc_update following the exclusion of the nobio fraction from soiltile(1), in r3588

27/07/16 avec Nicolas => verifs des soiltiles, nobio, vegtot, etc.


SLOWPROC.F90
Comments added

HYDROL.F90

hydrol_main
===========

humtot_top
land_mcs
TWBR corrected for vegtot

hydrol_init
===========

evap_bare_lim: moyenne sur la maille (car multiplication par vegtot), cf hydrol_soil

hydrol_tmc_update
=================
We need to check that the algo still works if vegtot changes !
The algo assumes that sum(soiltile)=cste=total land, while it has changed since r3594

=> see below the work of 17/11/2016

We only transformed humtot to a grid-cell average.

hydrol_var_init
===============

! To get a grid-cell average, we would need to multiply by the value of vegtot at previous time step

! Since we don't have it and we doubt these variables are really used later, we keep as is (ADNV270716)

soilmoist, qui sert a calculer shumdiag_perma

il nous faut les veget_max du pas de temsp d'avant dans le restart, mais c'est ce qu'il y a (la carte de veget est mise a jour a la fin du 1er ps de temps)

k_litt : pas besoin, elimine


tmc_litt_wet_mea
tmc_litt_dry_mea
tmc_litt_mea
ces 3 pour initialiser drysoil_frac (mettre a 0.5) si pas de restart
=> pas besoin de declarer en module, mais on garde as is

mc_layh, etc. : on en a besoin en init, mais calcules que si pas dans restart, donc on peut utiliser vegtot
=> The multiplication by vegtot creates grid-cell average values * to be checked for consistency with thermosoil

hydrol_soil
===========
1) mc_layh: veut-on les moyennes par maille ou sur vegtot ?
=> pour l'instant, non modifie, ces valeurs sont multipliees par vegtot donc moyennes sur la maille
=> verifier aupres de MICT !!!
=> faire un ticket specifique pour la gestion du nobio pour le calcul des ptes thermiques apres ticket 222/r3594

2) kk_moy(ji) => rajouter grid-cell average dans xios/xml
wtd(ji) : inchangee, moyenne dans vegtot !! adapter xios/xml
ru_corr, etc, dr_force, ru_infilt, qinfilt: etaient deja x par vegtot...?

3) evap_bare_lim
moyenne sur la maille (car multiplication par vegtot): ca semble OK

4) hydrol_split_soil
precisol_ns, tr_ns & rootsink simplifie
ae_ns => ready for committ after decomment and dedicated test

5) hydrol_diag_soil
profil_froz_hydro => dans le module en SAVE, doit pouvoir etre gere autrement. Ici, on ne fait pas ca, mais on transforme en moyenen par maille (*vegtot)
k_litt, soilmoist, shumdiag_perma, humtot, drainage, runoff, profil_froz_hydro => grid cell avearge
drysoil_frac and realetd variables => average over vegtot for albedo
litterhumdiag, shumdiag => average over vegtot for stomate
swi => supprime cf committ a venir sur xios/retraite

6) hydrol_waterbal & waterbal_init
we remove the multiplication by vegtot, already made in humtot

7) suppression of cvs_over_veg & tot_corr_veg_soil
cvs_over_veg: suppressed
tot_corr_veg_soil: suppressed, served only in hydrol_vegupd, to testthe reading of the map at init (first_hydrol_main)

8) hydrol_alma
delsoilmoist: ok, grid-cell average

17/11/2016 avec Nicolas


hydrol_finalize
===============

restput of tot_water_end is called 'tot_water_beg' => Ticket !!

hydrol_tmc_update
=================

The goal is to update the soil moisture profiles (mc and water2infilt) when the vegetation fraction have changed because the vegetation map has changed.

Excluding nobio from soiltiles induces supplementary operations for this update, as teh evolution of vegtot needs to be taken into account.

This called for a new restart variable called vegtot_old, holding the value of vegtot at the previous timestep, and equivalent to resdit for the soiltiles.

The principle is to first deal with the possible changes in vegtot (step 2):
2.1. If vegtot increases (nobio decreases), then the mc in each soiltile is decreased

assuming the same proportions for each soiltile, and each soil layer

2.2 If vegtot decreases (nobio increases), then the mc in each soiltile should increase,

but should not exceed mcs
For simplicity, we choose to send the corresponding water volume to drainage
We do the same for water2infilt but send the excess to surface runoff

=> new output variables drain_upd(ji) and runoff_upd(ji) which are added to drainage and runoff after hydrol_soil, for a correct check of the water conservation with twbr.

At the end of step 2, we are back to a case where vegtot changes are treated, so we can use soiltile
as a fraction of vegtot to process the mc transfers between soil tiles due to the changes of vegetation map.
This part is unchanged compared to the original version, since we still have sum(soitile)=1 and an unvarying vegtot owing the previous step.

The "check_cwrr" test of the routine water conservation is updated to match the new procedure and new variables.

(No files)

Note: See TracChangeset for help on using the changeset viewer.