Changeset 7200 for branches/ORCHIDEE_2_2


Ignore:
Timestamp:
2021-05-27T18:50:25+02:00 (4 years ago)
Author:
agnes.ducharne
Message:

Adding new keywords required for r6954, with updated names, cleaning of comments, and small bug correction (dim of njsc). Checked with 5d simulations on jean-zay: no change.

Location:
branches/ORCHIDEE_2_2/ORCHIDEE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default

    r7199 r7200  
    112112#******************************************************************************************* 
    113113 
    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} 
     115SOILTYPE_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 
     121SPMIPEXP = 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} 
     124UNIF_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) 
     127KFACT_ROOT_TYPE = var 
    116128 
    117129# RIVER_ROUTING ([FLAG]) :  Decides if we route the water or not        {OK_SECHIBA} 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/hydrol.f90

    r6954 r7200  
    794794    ENDDO 
    795795 
    796     !salma: added config key of KFACT_ROOT_TYPE 
    797796    !! KFACT_ROOT_TYPE = cons is used to impose that kfact_root = 1 in every soil layer, 
    798797    !! so that ks does not increase in the rootzone; else, kfact_root defined as usual 
     
    803802    !Config Help  = can have two values: 'cons' or 'var'. If var then no changes, if cons then kfact_root=un 
    804803    !Config Units = [mm/d] 
     804    kfact_root_type = 'var' 
    805805    CALL getin_p("KFACT_ROOT_TYPE",kfact_root_type) 
    806806 
    807807    IF (kfact_root_type=='cons') THEN 
    808     kfact_root(:,:,:) = un 
     808       kfact_root(:,:,:) = un 
    809809    ENDIF 
    810     !end salma: added config key 
    811810 
    812811    ! 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/slowproc.f90

    r6954 r7200  
    28102810    REAL(r_std), DIMENSION(nbpt)                         :: aparam            !! Availability of the parameter interpolation 
    28112811    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) 
    28132813 
    28142814    REAL(r_std)                                          :: vmin, vmax       !! min/max values to use for the  
     
    28422842    IF (printlev_loc>=3) WRITE (numout,*) 'slowproc_soilt' 
    28432843 
    2844     ! Salma: sp_mip_experiment: select experiment:exp1, exp2, exp3 or exp4 in run.def 
    2845     !   exp1: Reading the soil parameter maps of SPMIP 
    2846     !   exp2: Reading a usda soil texture map, with 12 USDA classes + Oxisols 
    2847     !         Works for SP-MIP textur emap based on SoilGrids, Reynolds, and any map with USDA classes 
    2848     !   exp3: Reading the Zobler soil texture map 
    2849     !   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 parameters  
    2854     ! from a soil texture map, itself defined by the SOILTYPE_CLASSIF keyword, and soil_classif variable: 
    2855     !   if soil_classif = zobler, spmipexp = exp3 
    2856     !   if soil_classif = usda, spmipexp = exp2 
    2857     ! 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 
    28582858    ! 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 
    28752864    !Config Units = [-] 
     2865    spmipexp='texture' ! default is to define parameters from soil texture, with soil_classif = 'zobler' or 'usda' 
    28762866    CALL getin_p("SPMIPEXP",spmipexp) 
    28772867 
    2878     IF (spmipexp == 'exp4') THEN 
    2879        ! case where exp4 is selected: uniform soil parameters 
     2868    IF (spmipexp == 'unif') THEN 
     2869       ! case where unif=exp4 is selected: uniform soil parameters 
    28802870       ! the values of the hydraulic parameters below come from SP-MIP, 
    28812871       ! and correspond to the Rosetta PTF (Schaap et al., 2001) 
     
    28832873       ! sp_mip_experiment_4: select another level of experiment: a, b, c or d in run.def 
    28842874 
    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' 
    28872878       !Config Help  = possible values: a, b, c and d 
    28882879       !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) 
    28922884 
    28932885       CASE ('a') ! loamy sand 
     
    28972889         ! njsc=2 
    28982890          DO ib=1 , nbpt 
    2899              njsc=2 
     2891             njsc(ib) = 2 
    29002892             mcr(ib) = 0.049 
    29012893             mcs(ib) = 0.39 
     
    29132905          sandfraction=0.4 
    29142906          siltfraction=0.4 
    2915           njsc=6 
     2907          !njsc=6 
    29162908          DO ib=1, nbpt 
     2909             njsc(ib) = 6 
    29172910             mcr(ib) = 0.061 
    29182911             mcs(ib) = 0.399 
     
    29302923          sandfraction=0.06 
    29312924          siltfraction=0.84 
    2932           njsc=5 
     2925          !njsc=5 
    29332926          DO ib=1, nbpt 
     2927             njsc(ib)=5 
    29342928             mcr(ib) = 0.05 
    29352929             mcs(ib) = 0.489 
     
    29472941          sandfraction=0.15 
    29482942          siltfraction=0.3 
    2949           njsc=12 
     2943          !njsc=12 
    29502944          DO ib=1, nbpt 
     2945             njsc(ib)=12 
    29512946             mcr(ib) = 0.098 
    29522947             mcs(ib) = 0.459 
     
    29672962       ENDSELECT 
    29682963 
    2969     ELSE !if we are here then it's either exp1, exp2 or exp3 
     2964    ELSE ! spmipexp is either exp1=maps, or texture for exp2 or exp3 (or typing error!) 
    29702965        
    2971        !  Needs to be a configurable variable 
    2972        ! 
     2966       ! In these cases (maps or texture), we need to read the soil texture map 
     2967        
    29732968       !Config Key   = SOILCLASS_FILE 
    29742969       !Config Desc  = Name of file from which soil types are read 
     
    34263421       ENDDO 
    34273422 
    3428        IF (spmipexp == 'exp1') THEN 
     3423       ! End of soil texture reading, for 'maps' and classical behavior 
     3424        
     3425       IF (spmipexp == 'maps') THEN 
    34293426              IF (printlev_loc>=3) WRITE (numout,*) 'slowproc_soilt: Read soil hydraulic parameters with IOIPSL' 
    34303427 
     
    35143511              WRITE(numout,*) 'nvan map read _______' 
    35153512 
    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  
    35403542              
    35413543    ! Write diagnostics 
Note: See TracChangeset for help on using the changeset viewer.