Changeset 7339


Ignore:
Timestamp:
2021-11-06T13:15:01+01:00 (3 years ago)
Author:
agnes.ducharne
Message:

Contributes to ticket #416: field capacity and wilting point are now calculated in slowproc_soilt, instead of being defined in constantes_soil_var for each texture class. The latter values had been calculated with the same functions as in slowproc_soilt, but truncated, so the results are not perfectly preserved: on global scale average, FC is reduced by 0.005%, WP by 0.02%, and total ET by 0.02% (mean for 1 day = Jan 5th).

File:
1 edited

Legend:

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

    r7338 r7339  
    28332833    INTEGER(i_std), DIMENSION(:), ALLOCATABLE            :: vecpos 
    28342834    REAL(r_std)                                          :: sgn              !! sum of fractions excluding glaciers and ocean 
     2835 
     2836    ! For the calculation of field capacity and wilting point 
     2837    REAL(r_std),DIMENSION (nbpt)                         :: mvan             !! Van Genuchten parameter m 
     2838    REAL(r_std),DIMENSION (nbpt)                         :: psi_w            !! Matrix potential characterizing the wilting point (mm) 
     2839    REAL(r_std),DIMENSION (nbpt)                         :: psi_fc           !! Matrix potential characterizing the field capacity (mm) 
     2840     
    28352841!_ ================================================================================================================================ 
    28362842 
     
    34663472              WRITE(numout,*) 'thetas map read _______' 
    34673473 
    3468               variablename = 'thetapwpvg' 
     3474              variablename = 'thetapwpvg' ! mcw 
    34693475              CALL interpweight_2Dcont(nbpt, 0, 0, lalo, resolution, neighbours,                                & 
    34703476                   contfrac, filename, variablename, lonname, latname, vmin, vmax, nonegative, maskingtype,     & 
     
    34733479              WRITE(numout,*) 'thetapwpvg map read _______' 
    34743480 
    3475               variablename = 'thetafcvg' 
     3481              variablename = 'thetafcvg' !mcfc 
    34763482              CALL interpweight_2Dcont(nbpt, 0, 0, lalo, resolution, neighbours,                                & 
    34773483                   contfrac, filename, variablename, lonname, latname, vmin, vmax, nonegative, maskingtype,     & 
     
    34953501             mcs(:) = mcs_usda(njsc(:)) 
    34963502             ks(:) = ks_usda(njsc(:)) 
    3497              mcfc(:) = mcf_usda(njsc(:)) 
    3498              mcw(:) = mcw_usda(njsc(:))     
     3503!!$             mcfc(:) = mcf_usda(njsc(:)) 
     3504!!$             mcw(:) = mcw_usda(njsc(:)) 
     3505              
     3506             !! Calculation of FC and WP based on above 5 parameters 
     3507             mvan(:) = un - (un / nvan(:)) 
     3508             ! Define matrix potential in mm for wilting point and field capacity (with sand vs clay-silt variation) 
     3509             psi_w(:) = 150000. 
     3510             DO ib=1, nbpt 
     3511                IF ( ks(ib) .GE. 560 ) THEN ! Sandy soils (560 is equivalent of 2.75 at log scale of Ks, mm/d) 
     3512                   psi_fc(ib) = 1000. 
     3513                ELSE ! Finer soils 
     3514                   psi_fc(ib) = 3300.  
     3515                ENDIF 
     3516             ENDDO 
     3517             mcfc(:) = mcr(:) + (( mcs(:) - mcr(:)) / (un + ( avan(:) * psi_fc(:))** nvan(:))** mvan(:)) 
     3518             mcw(:)  = mcr(:) + (( mcs(:) - mcr(:)) / (un + ( avan(:) *  psi_w(:))** nvan(:))** mvan(:)) 
     3519              
    34993520         ELSE ! if spmipexp is not among texture or maps or unif 
    35003521            WRITE(numout,*) "Unsupported spmipexp=",spmipexp 
Note: See TracChangeset for help on using the changeset viewer.