Changeset 7476 for branches/ORCHIDEE_2_2
- Timestamp:
- 2022-02-16T11:31:52+01:00 (3 years ago)
- Location:
- branches/ORCHIDEE_2_2/ORCHIDEE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default
r7475 r7476 1564 1564 SOIL_REFTEMP_FILE = reftemp.nc 1565 1565 1566 # KFACT_ROOT_TYPE ([mm/d]) : keyword added for spmip exp1 and exp4 to get a constant ks over soil depth and rootzone {spmip exp1 or exp4}1567 KFACT_ROOT_TYPE = var1568 1569 1566 # DO_PONDS ([FLAG]) : Should we include ponds {} 1570 1567 DO_PONDS = n … … 1648 1645 KFACT_MAX = 10.0 1649 1646 1647 # KFACT_ROOT_CONST ([y/n]) : Set constant kfact_root in every soil layer. Otherwise kfact_root increase over soil depth in the rootzone. {} 1648 KFACT_ROOT_CONST = n 1649 1650 1650 # DT_ROUTING ([seconds]) : Time step of the routing scheme {RIVER_ROUTING} 1651 1651 DT_ROUTING = 86400. -
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/hydrol.f90
r7444 r7476 23 23 !! Here, it leads to change dimensions and indices. 24 24 !! We can also impose kfact_root=1 in all soil layers to cancel the effect of 25 !! roots on ks profile (keyword KFACT_ROOT_ TYPE).25 !! roots on ks profile (keyword KFACT_ROOT_CONST). 26 26 !! 27 27 !! REFERENCE(S) : … … 90 90 !! moisture usage, similar to Beer et al.2007 91 91 !$OMP THREADPRIVATE(ok_dynroot) 92 LOGICAL, SAVE :: kfact_root_const !! Control kfact_root calculation, set constant kfact_root=1 if kfact_root_const=true 93 !$OMP THREADPRIVATE(kfact_root_const) 92 94 CHARACTER(LEN=80) , SAVE :: var_name !! To store variables names for I/O 93 95 !$OMP THREADPRIVATE(var_name) … … 682 684 INTEGER(i_std) :: jsl !! Index of soil layers (unitless) 683 685 INTEGER(i_std) :: ji, jv 684 CHARACTER(LEN=80) :: kfact_root_type !! read from run.def: when equal to 'cons', it indicates that685 !! ks does not increase in the rootzone, ie, kfact_root=1;686 !! else, kfact_root defined as usual687 686 REAL(r_std),DIMENSION (kjpindex) :: soilwet !! A temporary diagnostic of soil wetness 688 687 REAL(r_std),DIMENSION (kjpindex) :: snowdepth_diag !! Depth of snow layer containing default values, only for diagnostics … … 754 753 ! 755 754 !! 3.2 computes vegetations reservoirs ==>hydrol_vegupd 756 ! Modif temp vuichard757 755 CALL hydrol_vegupd(kjpindex, veget, veget_max, soiltile, qsintveg, frac_bare, drain_upd, runoff_upd) 758 756 757 758 759 759 !! Calculate kfact_root 760 !! An exponential factor is used to increase ks near the surface depending on the amount of roots in the soil 761 !! through a geometric average over the vegets 762 !! This comes from the PhD thesis of d'Orgeval, 2006, p82; d'Orgeval et al. 2008, Eqs. 3-4 763 !! (Calibrated against Hapex-Sahel measurements) 764 !! Since rev 2916: veget_max/2 is used instead of veget 765 kfact_root(:,:,:) = un 766 DO jsl = 1, nslm 767 DO jv = 2, nvm 768 jst = pref_soil_veg(jv) 769 DO ji = 1, kjpindex 770 IF(soiltile(ji,jst) .GT. min_sechiba) THEN 771 kfact_root(ji,jsl,jst) = kfact_root(ji,jsl,jst) * & 772 & MAX((MAXVAL(ks_usda)/ks(ji))**(- vegetmax_soil(ji,jv,jst)/2 * (humcste(jv)*zz(jsl)/mille - un)/deux), & 773 un) 774 ENDIF 760 IF (kfact_root_const) THEN 761 ! Set kfact_root constant to 1 762 kfact_root(:,:,:) = un 763 ELSE 764 ! An exponential factor is used to increase ks near the surface depending on the amount of roots in the soil 765 ! through a geometric average over the vegets 766 ! This comes from the PhD thesis of d'Orgeval, 2006, p82; d'Orgeval et al. 2008, Eqs. 3-4 767 ! (Calibrated against Hapex-Sahel measurements) 768 ! Since rev 2916: veget_max/2 is used instead of veget 769 kfact_root(:,:,:) = un 770 DO jsl = 1, nslm 771 DO jv = 2, nvm 772 jst = pref_soil_veg(jv) 773 DO ji = 1, kjpindex 774 IF (soiltile(ji,jst) .GT. min_sechiba) THEN 775 kfact_root(ji,jsl,jst) = kfact_root(ji,jsl,jst) * & 776 MAX((MAXVAL(ks_usda)/ks(ji))**(- vegetmax_soil(ji,jv,jst)/2 * (humcste(jv)*zz(jsl)/mille - un)/deux), & 777 un) 778 ENDIF 779 ENDDO 775 780 ENDDO 776 781 ENDDO 777 ENDDO 778 779 !! KFACT_ROOT_TYPE = cons is used to impose that kfact_root = 1 in every soil layer, 780 !! so that ks does not increase in the rootzone; else, kfact_root defined as usual 781 !Config Key = KFACT_ROOT_TYPE 782 !Config Desc = keyword added for spmip exp1 and exp4 to get a constant ks over soil depth and rootzone 783 !Config If = spmip exp1 or exp4 784 !Config Def = var 785 !Config Help = can have two values: 'cons' or 'var'. If var then no changes, if cons then kfact_root=un 786 !Config Units = [mm/d] 787 kfact_root_type = 'var' 788 CALL getin_p("KFACT_ROOT_TYPE",kfact_root_type) 789 790 IF (kfact_root_type=='cons') THEN 791 kfact_root(:,:,:) = un 792 ENDIF 782 END IF 783 793 784 794 785 ! … … 2865 2856 END IF 2866 2857 2858 2859 2860 !Config Key = KFACT_ROOT_CONST 2861 !Config Desc = Set constant kfact_root in every soil layer. Otherwise kfact_root increase over soil depth in the rootzone. 2862 !Config If = 2863 !Config Def = n 2864 !Config Help = Use KFACT_ROOT_CONST=true to impose kfact_root=1 in every soil layer. Otherwise kfact_root increase over soil depth in the rootzone. 2865 !Config Units = [y/n] 2866 kfact_root_const = .FALSE. 2867 CALL getin_p("KFACT_ROOT_CONST",kfact_root_const) 2868 2867 2869 2868 2870 !-
Note: See TracChangeset
for help on using the changeset viewer.