wiki:DevelopmentActivities/MergeHydro/Soilmap_note

Introduce new soil map and soil classification

Description

Parameters for soil type distribution.

L'ancien nstm devient ncsm.

Default soil texture distribution in the following order : COARSE, MEDIUM, FINE ! For FAO Classification

INTEGER(i_std),PARAMETER
nscm_fao=3
! For USDA Classification
INTEGER(i_std),PARAMETER
nscm_usda=12
INTEGER(i_std), SAVE
nscm=nscm_fao

Affected modules

constantes_soil, slowproc, hydrol, hydrolc ?

standard Zobler soils_param.nc : Transfered from the ISLSCP CD-rom on 19990916 at 165208.686

  • soilcolor : soil color types from the Henderson-Sellers and Wilson dataset.
  • soiltext : Soil texture from Zobler 86

soils_param_zobler.nc

Ce qui est déjà dans les dépôts : /dmnfs/cont003/p86ipsl/IGCM/INIT/SRF/OL2:

  • -rw-r--r-- 2 p86ipsl dsm 1037820 Nov 19 2003 soils_param.nc
    lrwxrwxrwx 1 p86ipsl dsm 14 Oct 20 2007 soils_param_zobler.nc -> soils_param.nc
  • -rw-r--r-- 2 p86ipsl dsm 112000952 Feb 9 2006 soils_param_faotop.nc
    lrwxrwxrwx 1 p86ipsl dsm 21 Oct 20 2007 soils_param_fao.nc -> soils_param_faotop.nc
  • -rw-r--r-- 2 p86ipsl dsm 149334740 Sep 21 2006 soils_param_fao2.nc
  • -rw-r--r-- 2 p86ipsl dsm 112000956 Feb 9 2006 soils_param_usdatop.nc
    lrwxrwxrwx 1 p86ipsl dsm 22 Oct 20 2007 soils_param_usda.nc -> soils_param_usdatop.nc

Programmation

    !Config  Key  = 'PREF_SOIL_VEG' 
    !Config  Desc = The soil tile number for each vegetation
    !Config  Def  = 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3
    !Config  Help = Gives the number of the soil tile on which we will
    !Config         put each vegetation. This allows to divide the hydrological column
    pref_soil_veg = (/ 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3 /)
    CALL getin_p('PREF_SOIL_VEG', pref_soil_veg)

[...]
       soilclass=val_exp
       CALL setvar (soilclass, val_exp, 'SOIL_FRACTIONS', soilclass_default)
       njsc(:) = 0
       soiltile(:,:) = zero
       DO ji = 1, kjpindex
          njsc(ji) = MAXLOC(soilclass(ji,:),1)
          soiltile(ji,1) = SUM(frac_nobio(ji,:))
       ENDDO
       DO jv = 1, nvm
          jst = pref_soil_veg(jv)
          DO ji = 1, kjpindex
             soiltile(ji,jst) = soiltile(ji,jst) + veget(ji,jv)
          ENDDO
       ENDDO

Le pref_soil_veg perd donc une dimension par rapport à son ancienne définition :

    ! Select the preferences for the distribution of the 13 PFTs on the 3 soil types.
    !
    vegsoil_dist='EQUI'
    !
    SELECT CASE(vegsoil_dist)
       !
       ! A reasonable choice
       !
    CASE('MAXR')
       pref_soil_veg(:,1)  = (/ 1, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 /)
       pref_soil_veg(:,2)  = (/ 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 /)
       pref_soil_veg(:,3)  = (/ 3, 1, 1, 1, 1, 1 ,1 ,1 ,1 ,1 ,1 ,1, 1 /)
       !
       ! Current default : equidistribution.
       !
    CASE('EQUI')
       !
       pref_soil_veg(:,:) = zero
       !
    CASE DEFAULT
       !
       WRITE(numout,*) 'The vegetation soil type preference you have chosen does not exist'
       WRITE(numout,*) 'You chose :', vegsoil_dist
       STOP 'slowproc_init'
       !
    END SELECT

tests

Last modified 13 years ago Last modified on 2011-10-24T09:08:42+02:00