Ignore:
Timestamp:
2022-01-17T19:18:33+01:00 (2 years ago)
Author:
agnes.ducharne
Message:

Changes to make the IMPOSE_SOILT mode functional. This mode is not anymore dependent on IMPOSE_VEG, so we can impose soil
properties even when we read a vegetation map. A new output variable is added to export "ksref" before being vertically modified.

With IMPOSE_SOILT, we can either impose a certain USDA texture (via SOIL_FRACTIONS) and this propagates to all the soil parameters, but we can as well impose specific parameters in isolation (with a default txture as Loam). This committ was tested with various configs, and it also works if we use a restart file, and we can even change the soil texture map in this case.

Location:
branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes.f90

    r6396 r7432  
    214214    CALL getin_p('IMPOSE_VEG', impveg) 
    215215 
    216     IF (impveg) THEN 
     216    !IF (impveg) THEN 
    217217       !Config Key   = IMPOSE_SOILT 
    218218       !Config Desc  = Should the soil type be prescribed ? 
     
    225225       !Config Units = [FLAG] 
    226226       CALL getin_p('IMPOSE_SOILT', impsoilt)      
    227     ENDIF 
     227    !ENDIF 
    228228 
    229229    !Config Key   = LAI_MAP 
     
    10041004    !- 
    10051005    ! 
    1006     !Config Key   = CLAYFRACTION_DEFAULT 
    1007     !Config Desc  = default fraction of clay 
    1008     !Config If    = OK_SECHIBA  
    1009     !Config Def   = 0.2  
    1010     !Config Help  =  
    1011     !Config Units = [-]    
    1012     CALL getin_p('CLAYFRACTION_DEFAULT',clayfraction_default) 
    1013     ! 
    1014     !Config Key   = SANDFRACTION_DEFAULT 
    1015     !Config Desc  = default fraction of sand 
    1016     !Config If    = OK_SECHIBA  
    1017     !Config Def   = 0.4  
    1018     !Config Help  =  
    1019     !Config Units = [-]    
    1020     CALL getin_p('SANDFRACTION_DEFAULT',sandfraction_default) 
    1021     ! 
    1022     !Config Key   = SILTFRACTION_DEFAULT 
    1023     !Config Desc  = default fraction of silt 
    1024     !Config If    = OK_SECHIBA  
    1025     !Config Def   = 0.4  
    1026     !Config Help  =  
    1027     !Config Units = [-]    
    1028     CALL getin_p('SILTFRACTION_DEFAULT',siltfraction_default) 
    1029  
    1030  
    1031     IF ( ABS(clayfraction_default+sandfraction_default+siltfraction_default-1) > min_sechiba) THEN 
    1032        WRITE(numout,*) 'Incoherence found. clayfraction_default=', clayfraction_default, ' sandfraction_default=',& 
    1033             sandfraction_default,' siltfraction_default=',siltfraction_default 
    1034        CALL ipslerr_p(3,"config_sechiba_parameters",& 
    1035             "Inconsistecy between CLAYFRACTION_DEFAULT, SANDFRACTION_DEFAULT and SILTFRACTION_DEFAULT set in run.def",& 
    1036             "The sum should be equal 1 but this is not the case.","Modify run.def and restart the model") 
    1037     END IF 
    1038     ! 
    10391006    !Config Key   = MIN_VEGFRAC  
    10401007    !Config Desc  = Minimal fraction of mesh a vegetation type can occupy  
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_soil_var.f90

    r7375 r7432  
    120120  !! Sand, Loamy Sand, Sandy Loam, Silt Loam, Silt, Loam, Sandy Clay Loam, Silty Clay Loam, Clay Loam, Sandy Clay, Silty Clay, Clay 
    121121 
    122   ! AD-Warning: I don't understand correctly the use of soilclass_default; when removing the _fao vectors, the default texture in 
    123   ! Greenland, where the Zobler map has no data, were changed, even when having 0.28 at the 3rd place below 
    124   ! I kept the original soilclass_default_usda to keep the Reynolds map unchanged 
    125  
    126    INTEGER(i_std), SAVE      :: usda_default = 6            !! Default USDA texture class if no value found from map 
     122  INTEGER(i_std), SAVE      :: usda_default = 6            !! Default USDA texture class if no value found from map 
    127123!$OMP THREADPRIVATE(usda_default) 
     124 
     125  REAL(r_std), PARAMETER, DIMENSION(nscm_usda) :: soilclass_default = (/0.0, & 
     126       0.0, 0.0, 0.0, 0.0, 1.0, 0.0, &  !! Areal fraction of the 13 soil USDA textures;  
     127       0.0, 0.0, 0.0, 0.0, 0.0, 0.0/)   !! the dominant one will selected 
    128128   
    129129  REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: nvan_usda = &            !! Van Genuchten coefficient n (unitless) 
     
    210210 &    1.21e+6_r_std, 1.21e+6_r_std, 1.18e+6_r_std, 1.32e+6_r_std, & 
    211211 &    1.23e+6_r_std, 1.18e+6_r_std, 1.15e+6_r_std, 1.09e+6_r_std, & 
    212  &    1.09e+6_r_std /) ! oxisols      
    213    
     212 &    1.09e+6_r_std /) ! oxisols 
     213 
     214  REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: clayfrac_usda = &   !! % clay particles in the 13 USDA texture classes 
     215       (/ 0.03_r_std, 0.06_r_std, 0.11_r_std, 0.19_r_std , &        !! values taken from get_soilcorr_usda in slowproc 
     216          0.10_r_std, 0.20_r_std, 0.27_r_std, 0.33_r_std, & 
     217          0.33_r_std, 0.41_r_std, 0.46_r_std, 0.55_r_std, & 
     218          0.55_r_std /) ! oxisols                                                                   
     219 
     220   REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: sandfrac_usda = &  !! % sand particles in the 13 USDA texture classes  
     221        (/ 0.93_r_std, 0.81_r_std, 0.63_r_std, 0.17_r_std, &        !! values taken from get_soilcorr_usda in slowproc    
     222           0.06_r_std, 0.40_r_std, 0.54_r_std, 0.08_r_std, & 
     223           0.30_r_std, 0.48_r_std, 0.06_r_std, 0.15_r_std, & 
     224           0.15_r_std /) ! oxisols 
     225    
    214226  !! Parameters for the numerical scheme used by CWRR 
    215227 
  • branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_var.f90

    r7199 r7432  
    658658  INTEGER(i_std), SAVE :: veget_year_orig = 0        !!  first year for landuse (number) 
    659659!$OMP THREADPRIVATE(veget_year_orig) 
    660 ! The default value for clay fraction is an heritage, with no documentation nor justification.    
    661   REAL(r_std), SAVE :: clayfraction_default = 0.2    !! Default value for clay fraction (0-1, unitless) 
    662 !$OMP THREADPRIVATE(clayfraction_default) 
    663 ! We need to output sand and silt fractiosn for SP-MIP, and the following default values, corresponding to a Loamy soil, are selected. 
    664   REAL(r_std), SAVE :: sandfraction_default = 0.4    !! Default value for sand fraction (0-1, unitless) 
    665 !$OMP THREADPRIVATE(sandfraction_default) 
    666   REAL(r_std), SAVE :: siltfraction_default = 0.4    !! Default value for silt fraction (0-1, unitless) 
    667 !$OMP THREADPRIVATE(siltfraction_default) 
     660   
    668661  REAL(r_std), SAVE :: min_vegfrac = 0.001           !! Minimal fraction of mesh a vegetation type can occupy (0-1, unitless) 
    669662!$OMP THREADPRIVATE(min_vegfrac) 
Note: See TracChangeset for help on using the changeset viewer.