Changes between Initial Version and Version 1 of DevelopmentActivities/MergeHydro/Martial_notes_on_merge


Ignore:
Timestamp:
10/17/11 16:10:47 (10 years ago)
Author:
mmaipsl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopmentActivities/MergeHydro/Martial_notes_on_merge

    v1 v1  
     1= Martial notes for the merge = 
     2 
     3 * messages de TdO dans le module d'hydro :  
     4   * l1  
     5{{{ 
     6!tdo - enlever toute profondeur variable pour voir l'effet sur l'efficacite du code 
     7}}} 
     8   * l153 
     9{{{ 
     10!!! A CHANGER DANS TOUT HYDROL: tmc_litter_res et sat ne devraient pas dependre de ji - tdo 
     11}}} 
     12 * problèmes conversion (frac_bare/veget) versus (veget,veget_max) : 
     13   * dans hydrol_init : on passait veget (ie l'ancien veget_max) et on a pas changer le code par rapport 
     14     à l'ancienne version. On obtient peut-être des incohérences :  
     15{{{ 
     16       IF ( MINVAL(resdist) .EQ.  MAXVAL(resdist) .AND. MINVAL(resdist) .EQ. val_exp) THEN 
     17          resdist = veget 
     18       ENDIF 
     19       ! 
     20       !  Remember that it is only frac_nobio + SUM(veget(,:)) that is equal to 1. Thus we need vegtot 
     21       ! 
     22       DO ji = 1, kjpindex 
     23          vegtot(ji) = SUM(veget(ji,:)) 
     24       ENDDO 
     25}}} 
     26     Je laisse le veget de la version standard.  
     27   * dans hydrol_vegetupd on utilise vraiment frac_bare : 
     28{{{ 
     29    DO jv = 1, nvm 
     30       DO ji =1, kjpindex 
     31          tot_frac_bare(ji) = tot_frac_bare(ji) + veget_max(ji,jv) * frac_bare(ji,jv) 
     32       ENDDO 
     33    END DO 
     34}}} 
     35     On doit donc le recalculer à partir de la formule dans slowproc : 
     36{{{ 
     37    frac_bare(:,:) = zero 
     38    frac_bare(:,1) = un 
     39    IF (extcoef .LT. 100) THEN 
     40       DO jv=2,nvm 
     41          frac_bare(:,jv) = EXP(-extcoef * lai(:,jv)) 
     42       ENDDO 
     43    ENDIF 
     44}}} 
     45    et la définition actuelle du veget : 
     46{{{ 
     47    ! Ajout Nouveau calcul (stomate-like)  
     48    DO ji = 1, kjpindex 
     49       SUMveg = 0.0 
     50       veget(ji,1) = veget_max(ji,1) 
     51       DO jv = 2, nvm 
     52          veget(ji,jv) = veget_max(ji,jv) * ( 1. - exp( - lai(ji,jv) * ext_coef(jv) ) ) 
     53          veget(ji,1) = veget(ji,1) + (veget_max(ji,jv) - veget(ji,jv)) 
     54       ENDDO 
     55 [...] 
     56}}} 
     57    On obtient alors en combinant ces deux définitions : 
     58{{{ 
     59    frac_bare(:,1) = un 
     60    frac_bare(:,2:nvm) = undef_sechiba 
     61    DO jv = 2, nvm 
     62       DO ji = 1, kjpindex 
     63          IF ( veget_max(ji,jv) .GT. min_sechiba ) & 
     64               frac_bare(ji,jv) = 1 - veget(ji,jv) / veget_max(ji,jv) 
     65       ENDDO 
     66    ENDDO 
     67}}} 
     68    L'utilisation du undef_sechiba me paraît cohérente lorsque l'on a pas de présence du PFT sur le pixel.[[BR]] 
     69    On avait d'ailleurs une erreur avant avec le frac_bare car il était parfois définit (utilisé ?) lorsque veget_max(ji,jv) était nul.