Changeset 7200 for branches/ORCHIDEE_2_2
- Timestamp:
- 2021-05-27T18:50:25+02:00 (4 years ago)
- Location:
- branches/ORCHIDEE_2_2/ORCHIDEE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default
r7199 r7200 112 112 #******************************************************************************************* 113 113 114 # SOILTYPE_CLASSIF ([-]) : Type of classification used for the map of soil types {!IMPOSE_VEG} 115 SOILTYPE_CLASSIF = zobler 114 # SOILTYPE_CLASSIF ([-]) : Type of soil texture classification (for hydraulic and thermic properties) {!IMPOSE_VEG} 115 SOILTYPE_CLASSIF = zobler 116 117 # SPMIPEXP ([-]) : For alternative ways to prescribe hydraulic soil parameters (thermic params still defined from soil texture) 118 # maps to read maps of soil parameter as in the SP-MIP project 119 # unif to impose uniforme texture over the globe (4 texture options, see UNIF_CASE, with parameter values imposed by SP-MIP) 120 # texture for default behavior in which all soil parameters stem from soil texture 121 SPMIPEXP = texture 122 123 # UNIF_CASE ([-]) to define one of 4 uniform textures: 'a' for loamy sand, 'b' for loam, 'c' for silt, 'd' for clay {SPMIPEXP} 124 UNIF_CASE = b 125 126 # KFACT_ROOT_TYPE ([-]): var or cons, to make kfact_root=1 throughout the soil (no impact of roots on ks profile) 127 KFACT_ROOT_TYPE = var 116 128 117 129 # RIVER_ROUTING ([FLAG]) : Decides if we route the water or not {OK_SECHIBA} -
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/hydrol.f90
r6954 r7200 794 794 ENDDO 795 795 796 !salma: added config key of KFACT_ROOT_TYPE797 796 !! KFACT_ROOT_TYPE = cons is used to impose that kfact_root = 1 in every soil layer, 798 797 !! so that ks does not increase in the rootzone; else, kfact_root defined as usual … … 803 802 !Config Help = can have two values: 'cons' or 'var'. If var then no changes, if cons then kfact_root=un 804 803 !Config Units = [mm/d] 804 kfact_root_type = 'var' 805 805 CALL getin_p("KFACT_ROOT_TYPE",kfact_root_type) 806 806 807 807 IF (kfact_root_type=='cons') THEN 808 kfact_root(:,:,:) = un808 kfact_root(:,:,:) = un 809 809 ENDIF 810 !end salma: added config key811 810 812 811 ! -
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90
r6954 r7200 2810 2810 REAL(r_std), DIMENSION(nbpt) :: aparam !! Availability of the parameter interpolation 2811 2811 CHARACTER(LEN=80) :: spmipexp !! designing the number of sp-mip experiment 2812 CHARACTER(LEN=80) :: exp!! designing the model of experiment 4 (sp_mip)2812 CHARACTER(LEN=80) :: unif_case !! designing the model of experiment 4 (sp_mip) 2813 2813 2814 2814 REAL(r_std) :: vmin, vmax !! min/max values to use for the … … 2842 2842 IF (printlev_loc>=3) WRITE (numout,*) 'slowproc_soilt' 2843 2843 2844 ! Salma: sp_mip_experiment: select experiment:exp1, exp2, exp3 or exp4 in run.def2845 ! exp1: Reading the soil parameter maps of SPMIP2846 ! exp2: Reading a usda soil texture map, with 12 USDA classes + Oxisols2847 ! Works for SP-MIP textur emap based on SoilGrids, Reynolds, and any map with USDA classes2848 ! exp3: Reading the Zobler soil texture map2849 ! exp4: Imposing uniform soil texture over the globe (4 texture options, with parameter values imposed by SP-MIP)2850 ! We read a soil texture map in all experiments but exp4.2851 ! Even with exp1, some parameters are defined based on texture.2852 2853 ! IMPORTANT: if no exp is defined in run.def, the model works as before, by deriving the soil parameters2854 ! from a soil texture map, itself defined by the SOILTYPE_CLASSIF keyword, and soil_classif variable:2855 ! if soil_classif = zobler, spmipexp = exp32856 ! if soil_classif = usda, spmipexp = exp22857 ! For the SP-MIP experiments made by Salma Tafasca, exp1 was made by reading the SPMIP soil texture map (for clayfraction, etc.)2844 ! The soil parameters are defined by several keywords in run.def: 2845 ! (a) soil_classif tells which kind of soil texture map you will read (mandatory): 2846 ! - usda for 12 USDA texture classes (Reynolds, SoilGrids, SPMIP, etc) updated to 13 classes 2847 ! for clay oxisols by Salma Tafasca 2848 ! - zobler to read teh Zobler map and reduce it to 3 classes (fine, medium, coarse) 2849 ! (b) spmipexp was introduced by Salma Tafasca for the SPMIP project 2850 ! maps: Reading the soil parameter maps of SPMIP 2851 ! unif: Imposing uniform soil texture over the globe (4 texture options, with parameter values imposed by SP-MIP) 2852 ! Even with maps, some parameters (thermics) are defined based on texture. 2853 ! So we read a soil texture map in all experiments but unif, where soil texture is imposed by njsc(:). 2854 ! (c) unif_case to choose the soil texture assigned if spmipexp=maps (4 hard_coded possibilities) 2855 2856 ! IMPORTANT: if no spmipexp is defined in run.def, the model works as before, by deriving the soil parameters 2857 ! from a soil texture map, itself defined by the SOILTYPE_CLASSIF keyword, and soil_classif variable 2858 2858 ! But to get a uniform texture (exp 4), you need to select a soil texture map using soil_classif, even if it's not read 2859 ! WARNING: if you choose the zobler map with usda/exp2, the simulation will run, but not as you probably wish. 2860 2861 SELECTCASE (soil_classif) ! copied from src-parameters/control.f90 2862 CASE ('zobler','none') 2863 spmipexp='exp3' 2864 CASE ('usda') 2865 spmipexp='exp2' 2866 CASE DEFAULT 2867 WRITE(numout,*) "Unsupported soil type classification: soil_classif=",soil_classif 2868 WRITE(numout,*) "Choose between zobler, usda and none according to the map" 2869 CALL ipslerr_p(3,'control_initialize','Bad choice of soil_classif','Choose between zobler, usda and none','') 2870 ENDSELECT 2871 2872 !Config Key = spmipexp 2873 !Config Desc = number of sp_mip experiment 2874 !Config Help = possible values: exp1, exp2, exp3 and exp4 2859 2860 !Config Key = SPMIPEXP 2861 !Config Desc = Types of alternative hydraulic parameters 2862 !Config Def = 'texture' 2863 !Config Help = possible values: maps, unif 2875 2864 !Config Units = [-] 2865 spmipexp='texture' ! default is to define parameters from soil texture, with soil_classif = 'zobler' or 'usda' 2876 2866 CALL getin_p("SPMIPEXP",spmipexp) 2877 2867 2878 IF (spmipexp == ' exp4') THEN2879 ! case where exp4 is selected: uniform soil parameters2868 IF (spmipexp == 'unif') THEN 2869 ! case where unif=exp4 is selected: uniform soil parameters 2880 2870 ! the values of the hydraulic parameters below come from SP-MIP, 2881 2871 ! and correspond to the Rosetta PTF (Schaap et al., 2001) … … 2883 2873 ! sp_mip_experiment_4: select another level of experiment: a, b, c or d in run.def 2884 2874 2885 !Config Key = EXP4 2886 !Config Desc = number of sp_mip experiment 4 2875 !Config Key = UNIF_CASE 2876 !Config Desc = Types of uniform soil textures in SPMIP 2877 !Config Def = 'b' 2887 2878 !Config Help = possible values: a, b, c and d 2888 2879 !Config Units = [-] 2889 CALL getin_p("EXP4",exp) 2890 2891 SELECTCASE (exp) 2880 unif_case='b' ! default = loamy soil 2881 CALL getin_p("UNIF_CASE",unif_case) 2882 2883 SELECTCASE (unif_case) 2892 2884 2893 2885 CASE ('a') ! loamy sand … … 2897 2889 ! njsc=2 2898 2890 DO ib=1 , nbpt 2899 njsc =22891 njsc(ib) = 2 2900 2892 mcr(ib) = 0.049 2901 2893 mcs(ib) = 0.39 … … 2913 2905 sandfraction=0.4 2914 2906 siltfraction=0.4 2915 njsc=62907 !njsc=6 2916 2908 DO ib=1, nbpt 2909 njsc(ib) = 6 2917 2910 mcr(ib) = 0.061 2918 2911 mcs(ib) = 0.399 … … 2930 2923 sandfraction=0.06 2931 2924 siltfraction=0.84 2932 njsc=52925 !njsc=5 2933 2926 DO ib=1, nbpt 2927 njsc(ib)=5 2934 2928 mcr(ib) = 0.05 2935 2929 mcs(ib) = 0.489 … … 2947 2941 sandfraction=0.15 2948 2942 siltfraction=0.3 2949 njsc=122943 !njsc=12 2950 2944 DO ib=1, nbpt 2945 njsc(ib)=12 2951 2946 mcr(ib) = 0.098 2952 2947 mcs(ib) = 0.459 … … 2967 2962 ENDSELECT 2968 2963 2969 ELSE ! if we are here then it's either exp1, exp2 or exp32964 ELSE ! spmipexp is either exp1=maps, or texture for exp2 or exp3 (or typing error!) 2970 2965 2971 ! Needs to be a configurable variable2972 !2966 ! In these cases (maps or texture), we need to read the soil texture map 2967 2973 2968 !Config Key = SOILCLASS_FILE 2974 2969 !Config Desc = Name of file from which soil types are read … … 3426 3421 ENDDO 3427 3422 3428 IF (spmipexp == 'exp1') THEN 3423 ! End of soil texture reading, for 'maps' and classical behavior 3424 3425 IF (spmipexp == 'maps') THEN 3429 3426 IF (printlev_loc>=3) WRITE (numout,*) 'slowproc_soilt: Read soil hydraulic parameters with IOIPSL' 3430 3427 … … 3514 3511 WRITE(numout,*) 'nvan map read _______' 3515 3512 3516 ELSE 3517 IF (spmipexp == 'exp2') THEN 3518 ! Texture map from SP-MIP, thus Soilgrids modified 3519 nvan(:) = nvan_usda(njsc(:)) 3520 avan(:) = avan_usda(njsc(:)) 3521 mcr(:) = mcr_usda(njsc(:)) 3522 mcs(:) = mcs_usda(njsc(:)) 3523 ks(:) = ks_usda(njsc(:)) 3524 mcfc(:) = mcf_usda(njsc(:)) 3525 mcw(:) = mcw_usda(njsc(:)) 3526 ! on aura pcent(:) = pcent(njsc(:)) dans hydrol 3527 ELSE 3528 ! salma: here we are in exp3 -- Zobler map 3529 nvan(:) = nvan_fao(njsc(:)) 3530 avan(:) = avan_fao(njsc(:)) 3531 mcr(:) = mcr_fao(njsc(:)) 3532 mcs(:) = mcs_fao(njsc(:)) 3533 ks(:) = ks_fao(njsc(:)) 3534 mcfc(:) = mcf_fao(njsc(:)) 3535 mcw(:) = mcw_fao(njsc(:)) 3536 3537 ENDIF !if EXP2 3538 ENDIF !if EXP1 3539 ENDIF !if EXP4 3513 ELSE ! spmipexp is not maps nor unif, then it must be texture 3514 IF (spmipexp == 'texture') THEN 3515 IF (soil_classif == 'usda') THEN 3516 ! Texture map from SP-MIP, thus Soilgrids modified 3517 nvan(:) = nvan_usda(njsc(:)) 3518 avan(:) = avan_usda(njsc(:)) 3519 mcr(:) = mcr_usda(njsc(:)) 3520 mcs(:) = mcs_usda(njsc(:)) 3521 ks(:) = ks_usda(njsc(:)) 3522 mcfc(:) = mcf_usda(njsc(:)) 3523 mcw(:) = mcw_usda(njsc(:)) 3524 ! on aura pcent(:) = pcent(njsc(:)) dans hydrol 3525 ELSE ! soil_classif == 'zobler' or 'none' 3526 ! salma: here we are in exp3 -- Zobler map 3527 nvan(:) = nvan_fao(njsc(:)) 3528 avan(:) = avan_fao(njsc(:)) 3529 mcr(:) = mcr_fao(njsc(:)) 3530 mcs(:) = mcs_fao(njsc(:)) 3531 ks(:) = ks_fao(njsc(:)) 3532 mcfc(:) = mcf_fao(njsc(:)) 3533 mcw(:) = mcw_fao(njsc(:)) 3534 ENDIF !if spmipexp is texture 3535 ELSE ! if spmipexp is not among texture or maps or unif 3536 WRITE(numout,*) "Unsupported spmipexp=",spmipexp 3537 WRITE(numout,*) "Choose between texture, maps, and unif" 3538 CALL ipslerr_p(3,'soilproc_soilt','Bad choice of spmipexp','Choose between texture, maps, and unif','') 3539 ENDIF 3540 ENDIF 3541 ENDIF ! SPMIPEXP 3540 3542 3541 3543 ! Write diagnostics
Note: See TracChangeset
for help on using the changeset viewer.