== Technical modifications == This page summarizes the choices and the modifications done for the externalization of the parameters. === Global Specifications === We tried to respect as soon as possible the structure of the code. Three folders over five were affected by the modifications : ''src_parameters'', ''src_sechiba'' and ''src_stomate''. We regroup all the files containing parameters in src_parameters. We rewrite some parts of the code in order not to have explicit references to indexes to some PFTs (like agricultural ones). [[BR]] We delete all the multiple definitions of some parameters like pi or the terrestrial radius R_Earth. Finally, we gave names to some coefficents intervening in equations and externalized them. The main changing are detailed below : === Src_parameters === Originally, this folder was organized in 4 files called '''constantes.f90''', '''constantes_co2.f90''', '''constantes_veg.f90''' and '''constantes_soil.f90'''. The last three files were mixed up with '''stomate_constants.f90''' to give '''pft_parameters.f90''' and '''constantes_mtc.f90'''. These new files make the initialization and the overwriting of the pft-parameters. All the default values for the pft-parameters are in '''constantes_mtc.f90'''. '''constantes.f90''' contains all the physical constants used by ORCHIDEE and (for the moment) the rest of the externalized parameters (scalar and no-pfts-sized arrays). === Src_sechiba === We add a new module called '''qsat_moisture.f90'''. This module regroups the routines for the calculation of qsat (previously in '''constantes_veg.f90'''). [[BR]] '''intersurf.f90''' reads the number of PFTs and the parameters values chosen by the user. === Src_stomate === We delete '''stomate_constants.f90''' in order to move its parameters in ''src_parameters''. The too-specific parameters were moved to '''stomate_data.f90'''. [[BR]] During our validations on fluxnet sites, we modified the herbivory model and the formulation for the variable "black_carbon". In '''stomate_season.f90''', we replace : {{{ DO j = 2,nvm ! IF ( natural(j) ) THEN ! WHERE ( nlflong_nat(:) .GT. zero ) consumption(:) = hvc1 * nlflong_nat(:) ** hvc2 herbivores(:,j) = one_year * green_age(:) * nlflong_nat(:) / consumption(:) ELSEWHERE herbivores(:,j) = 100000. ENDWHERE ! ELSE ! herbivores(:,j) = 100000. ! ENDIF ! ENDDO }}} by : {{{ DO j = 2,nvm ! IF ( natural(j) ) THEN ! WHERE ( nlflong_nat(:,j) .GT. zero ) consumption(:) = hvc1 * nlflong_nat(:,j) ** hvc2 herbivores(:,j) = one_year * green_age(:,j) * nlflong_nat(:,j) / consumption(:) ELSEWHERE herbivores(:,j) = 100000. ENDWHERE ! ELSE ! herbivores(:,j) = 100000. ! ENDIF ! ENDDO }}} in order to make herbivores more pft-specific. For "black_carbon", we relaced the following line {{{ black_carbon(:) = & black_carbon(:) + bcfrac(:) * residue(:) }}} by : {{{ black_carbon(:) = & black_carbon(:) + bcfrac(:) * residue(:) * veget_max(:,j) }}} In both cases, when we add a new PFT on the same surface, the consumption of herbivory and the quantity of black carbon was doubled ! That's why we change the formulations of these two sub-models.