Ignore:
Timestamp:
2023-11-27T11:40:01+01:00 (7 months ago)
Author:
josefine.ghattas
Message:

Integrated changes done in [8289] : New default Values for irrig param, root zone def based on user-def depth.

See also ticket #857

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/hydrol.f90

    r7983 r8320  
    27502750    INTEGER(i_std)                                      :: iiref           !! To identify the mc_lins where k_lin and d_lin 
    27512751                                                                           !! need special treatment 
    2752     REAL(r_std), DIMENSION (kjpindex,nvm)               :: cum_nroot       !! local variable to acummulate nroot 
    2753     INTEGER(i_std), DIMENSION (kjpindex,nvm)            :: nslm_pft_root   !! Deeper layer with cum_nroot > cum_nroot_thr per PFT, 
     2752    REAL(r_std)                                         :: cum_dh          !! Depth to bottom layer  
     2753    INTEGER(i_std)                                      :: nslm_root_tmp   !! Temporal, deeper root zone soil layer  
    27542754    REAL(r_std), DIMENSION (kjpindex,nslm)              :: smf             !! Soil moisture of each layer at field capacity 
    27552755                                                                           !!  @tex $(kg m^{-2})$ @endtex 
     
    29062906    !! 2 Compute the root density profile if not ok_dynroot 
    29072907    !!   For the case with ok_dynroot, the calculations are done at each time step in hydrol_soil 
    2908     cum_nroot(:,:) = zero 
    2909     nslm_pft_root(:,:) = nslm 
     2908    cum_dh = zero 
    29102909    nslm_root(:) =  nslm 
     2910    nslm_root_tmp = nslm  
     2911    DO jsl =1, nslm  
     2912       IF( ( cum_dh ) < cum_dh_thr*mille) THEN   
     2913          cum_dh = cum_dh + dh(jsl)  
     2914          nslm_root_tmp = jsl  
     2915       ENDIF  
     2916    ENDDO  
     2917 
     2918 
    29112919    IF (.NOT. ok_dynroot) THEN 
    2912        !! Calculation of nroot and of new nslm_root for irrigation  
     2920       !! Calculation of nroot  
    29132921       !! The three following equations concerning nroot computation are derived from the integrals 
    29142922       !! of equations C9 to C11 of De Rosnay's (1999) PhD thesis (page 158). 
     
    29202928          DO jv = 1,nvm 
    29212929             DO ji=1, kjpindex 
    2922                  
    2923                  
    29242930                nroot(ji,jv,jsl) = (EXP(-humcste(jv)*zz(jsl)/mille)) * & 
    29252931                     & (EXP(humcste(jv)*dz(jsl)/mille/deux) - & 
     
    29272933                     & (EXP(-humcste(jv)*dz(2)/mille/deux) & 
    29282934                     & -EXP(-humcste(jv)*zz(nslm)/mille)) 
    2929                 !We acum. nroot, and change nslm_pft_root if necessary 
    2930                 cum_nroot(ji,jv) = cum_nroot(ji,jv) + nroot(ji,jv,jsl) ! 
    2931                  
    2932                 IF(cum_nroot(ji,jv) > cum_nroot_thr .AND. nslm_pft_root(ji,jv) .GE. jsl ) THEN 
    2933                    nslm_pft_root(ji,jv) =  jsl 
    2934                 ENDIF 
    29352935             ENDDO 
    29362936              
     
    29392939       ENDDO 
    29402940       !Last layer 
    2941        !No need to put and IF here, if it is the case, nslm_pft_root is already 
    2942        ! equal to nslm, 
    29432941       DO jv = 1,nvm 
    29442942          DO ji=1, kjpindex 
     
    29492947          ENDDO 
    29502948       ENDDO 
    2951        !New loop to compute min. soil layer per cell, using just PFT that 
    2952        !are not natural and exist inside the cell 
    2953        DO jv=1, nvm 
    2954           IF(.NOT. natural(jv)) THEN 
    2955              DO ji=1,kjpindex 
    2956                 IF(veget_max(ji, jv) > min_sechiba) THEN 
    2957                    nslm_root(ji) = MIN(nslm_root(ji), nslm_pft_root(ji,jv)) 
    2958                 ENDIF 
    2959              ENDDO 
    2960           ENDIF 
    2961        ENDDO 
    29622949        
    29632950    END IF 
    29642951 
     2952    DO ji=1,kjpindex  
     2953       IF ( SUM(veget_max(ji, : ), MASK= .NOT. (natural(:)) ) > min_sechiba) THEN  
     2954          nslm_root(ji) = nslm_root_tmp  
     2955       ENDIF  
     2956    ENDDO 
     2957  
    29652958    ! Calculates field capacity soil moisture per soil layers 
    29662959    ! then calculate field capacity soil moisture over root zone 
Note: See TracChangeset for help on using the changeset viewer.