wiki:DevelopmentActivities/ORCHIDEE-MICT-IMBALANCE-P/Modules

Version 71 (modified by cyue, 6 years ago) (diff)

--

Implemented Modules and Associated Keywords/Flags

In the latest MICT version you can find the following modules. Each flag list of each module needs to be checked. This is an axproximation and it might have errors.

Gross Land Use Change (GLUC) (since revision ????)

Dependency Keyword Default value Description
GLUC_USE_AGE_CLASS FALSE Use age class and activate gross land use change? (y/n)
GLUC_SINGLE_AGE_CLASSFALSE Assume there is a single age class in each MTC?​ ​(y/n)​
​GLUC_​NVMAP 15 Total number of metaclasses​ (15)
GLUC_NAGEC_TREE 1 Number of age class for forest (6)
GLUC_NAGEC_HERB 1 Number of age class for crop, pasture and grassland (4)
GLUC_​AGEC_GROUP​xx look-up table to link MTC to PFTs​
GLUC_ALLOW_FORESTRY_HARVEST TRUE allow forestry harvest ? (y/n)
GLUC_ALLOW_FORESTRY_HARVESTGLUC_FORESTRY_HARVEST_FILEnc file Matrix file for wood harvest from primary and secondary forests, in terms of area
GLUC_ALLOW_FORESTRY_HARVESTGLUC_HARVEST_BIOMASS_FILEnc file Matrix file for wood harvest biomass for industrial wood and fuel wood
GLUC_USE_BOUND_SPA​FALSE Use a spital file for input as the boundaries of age class? (y/n)
GLUC_USE_BOUND_SPA GLUC_AGE_THRESHOLD_FILE​ nc file File name of the spatial boundary input file
(NOT)GLUC_USE_BOUND_SPAGLUC_AGE_CLASS_BOUNDxx boundaries used to distinguish age class
GLUC_NET_LCC_FILE​ nc file Matrix file for Net land cover change
GLUC_SHIFT_PRI_FILE​nc file Matrix file for shifting cultivation by clearing primary forest, normally not used
GLUC_SHIFT_SEC_FILE nc file Matrix file for shifting cultivation by clearing secondary forest
GLUC_NEW_VEGETFRAC_GUIDEFALSEGuild the allocation of newly created vegetation into different PFTs by a given input PFT map? (y/n)
GLUC_NEW_VEGETFRAC_GUIDEGLUC_NewVegFrac_Filenc file A PFT map in which relative PFT fractions will be used to guide the allocation of newly created vegetation patch during LUC

Since revision [3306/branches/ORCHIDEE-MICT/ORCHIDEE]

Spitfire

Introduced in MICT v6. Available flags for input data files

DEPENDENCIES Keyword Default value Description
FIRE_DISABLE FALSE Overall control flag. Activate fire module when set as FALSE
LIGHTNING_FILE nc file ligntnings map used as ignition sources
READ_POPDENS FALSE Boolean flag to read the popdens flag, for a decent simulation of fire, set this as TRUE
READ_POPDENS POPDENS_FILE nc file Read the population density map
READ_HUMIGN FALSE Boolean flag to read the human ignition parameter flag, for a decent simulation, set as TRUE and use the default file provided
READ_HUMIGN HUMIGN_FILE nc file Read parameter used for human ignition calculation
READ_RATIO TRUE Boolean flag to read the correction ratios, please always set as TRUE
READ_RATIO RATIO_FILE Default file Read a map of ratios used to scale simulated burned area,the default file has a uniform value as 1
READ_RATIO_FLAG TRUE Boolean flag to read ratio flag, please always set as TRUE
READ_RATIO_FLAG RATIO_FLAG_FILE Default file Read the ratio flag map, regions with a flag bigger than 0 will use external input BA, the default file has a uniform value as -1
READ_OBSERVED_BA FALSE Boolean flag to read the observed burned_area flag
READ_OBSERVED_BABA_FILE nc file Read the external forced burned area, in this case the simulated burned area will be over-written, valid only for monthly BA input
READ_OBSERVED_BAREAD_CF_COARSE FALSE Boolean flag to read the forced coarse fuel combustion completeness
READ_OBSERVED_BAREAD_CF_FINE FALSE Boolean flag to read the forced fine fuel combustion completeness
READ_CF_COARSE CF_COARSE_FILE nc file Read the external coarse fuel combustion completeness
READ_CF_FINE CF_FINE_FILE nc file Read external fine fuel combustion completeness
(NOT)FIRE_DISABLEALLOW_DEFOREST_FIREFALSE Activate deforestation fire module when being TRUE

GRassland Management (since revision 3771)

GRM module is introduce in MICT v8.1 by Jinfeng. Available flags:

DEPENDENCIES Keyword Default value Description
GRM_ENABLE_GRAZING 0 Enable grassland management module
GRM_ENABLE_GRAZING=TRUE SLA_MAX PFT-specific SLA maximum Specific Leaf Area (m2/gC)
SLA_MIN PFT-specific SLA minimum Specific Leaf Area (m2/gC)
GRM_IS_GRASSLAND_MANAGXX 0 Is PFT a managed grassland?
GRM_IS_GRASSLAND_CUTXX 0 Is PFT a cut/mown grassland?
GRM_IS_GRASSLAND_GRAZEDXX 0 Is PFT a grazed grassland?
GRM_MANAGEMENT_INTENSITYXX 0 Intensity of management (4 for global management, 2 for Europe medium intensity)
GRM_NB_YEAR_MANAGEMENTXX 1 Number of years in the management input file. Please keep default value, do not set to 0.
GRM_MANAGEMENT_STARTXX 0 The start year of management in the management input file.
GRM_DEPOSITION_STARTXX 0 The start year of N deposition in the deposition input file.
GRM_FILE_PARAM_INIT file in CURIE Initial parameter file for grassland management
GRM_F_SATURANT 0 Whether active saturation N fertilization? Please keep default value. Will be used in CNP version.
GRM_F_NONLIMITANT 0 Whether active nonlimitant N fertilization? Please keep default value. Will be used in CNP version.
GRM_F_COMPLEMENTATION 0 Whether active N complementation for livestock from outside (not grass N)? Please keep default. Will be used in CNP version.
GRM_F_FERTILIZATION 1 Whether active fertilization module. Please keep default value.
GRM_N_LIMITATION 0 Whether active N fertilization effect on Vcmax25.
GRM_N_EFFECT 0.6 Maximum additive N fertilization effect on Vcmax25.
GRM_F_AUTOGESTION 0 1 : automatically cut/mown for cut-and-carry forage (for managed but not cut not grazed grass PFT only)
2: automatically grazing by livestock to optimize (potential) livestock density (for managed but not cut not grazed grass PFT only)
3: searching for the curve of extra-feed requirement with increasing stocking rate (cut and grazed grass PFT)
4: searching for the curve of extra-feed requirement with constant stocking rate (cut and grazed grass PFT)
5: automatically grazing by wild animal (grazed grass PFT only; used for LGM simulation; need update with Dan's improvement)
GRM_F_POSTAUTO 0 1. start from GRM_F_AUTOGESTION=2, running with variable optimized potential livestock density (cut and grazed grass PFT)
2. start from GRM_F_POSTAUTO=1, running with variable optimized potential livestock density (cut and grazed grass PFT)
3. running with constant livestock density (cut and grazed grass PFT)
4. running with constant livestock density but varied grazed fraction and stocking rate (cut and grazed grass PFT)
5. global simulation with prescribed management in GRM_input.nc (all grass PFT)
GRM_F_MANAGEMENT_MAP 0 Active prescribed grassland management
GRM_F_DEPOSITION_MAP 0 Active prescribed N deposition rate
GRM_F_GRAZING_MAP 0 Active prescribed stocking rate
GRM_MANAGEMENT_MAP GRM_input.nc map containing management information (organic and mineral N fertilization rate-kgN/ha/yr, fertilizer application time-day of year). NOTE: in COMP/stomate.card [BoundaryFiles?], [BoundaryFiles?] List=(/ccc/work/cont003/dsm/p529chan/input_gm/grm_input/grm_input_halfdeg_${year}.nc, GRM_input.nc))
GRM_DEPOSITION_MAP GRM_input.nc map containing N deposition rate (kg N/ha/yr)
GRM_GRAZING_MAP GRM_input.nc map containing stocking rate (Livestock Unit/ha)
GRM_FERTILITY_MAP file in CURIE
GRM_AVOID_WETGRAZING 0 active soil moisture impact on grazing (i.e., avoil grazing over too wet soil, considering lag-effect)
GRM_AVOID_SNOWGRAZING 1 active snow cover impact on grazing (i.e., avoild grazing when there is snow mass, considering lag-effect)
GRM_F_AUTOGESTION=2 GRM_NB_CUT_YEAR 10 how many years were running under GRM_F_AUTOGESTION=1, used to calculate annual harvested grass cut-and-carry forage

Grassland management (before revision 3771)

Introduced in MICT v5. Available flags:

Depedencies Keyword Description
ENABLE_GRAZING Enable module for grazing (animals or not)
ENABLE_GRAZING GRAZING_MAP Read the general animal_density map
IS_GRASSLAND_MANAG__XX Is the vegetation type a managed grassland ?
IS_GRASSLAND_GRAZED__XX Is the vegetation type a managed grassland ?
IS_GRASSLAND_CUT__XX Is the vegetation type a cut grassland for management adaptation?
IS_GRASSLAND_GRAZED Is the vegetation type a grazed grassland for management adaptation?
SLA_MAX minimum gdd to allow senescence of crops. Maximum specific leaf area (m2/gC)
SLA_MIN minimum specific leaf area (m2/gC)
---
F_SATURANT
F_NONLIMITANT
F_AUTOGESTION
F_COMPLEMENTATION
F_FERTILIZATION
NB_YEAR_MANAGEMENT
F_POSTAUTO
N_EFFECT
FILE_PARAM_INIT
F_AUTOGESTION NB_CUT_YEAR
F_MANAGEMENT_MAP
F_DEPOSITION_MAP
F_GRAZING_MAP
F_MANAGEMENT_MAP MANAGEMENT_MAP
F_MANAGEMENT_MAP MANAGEMENT_INTENSITY
F_MANAGEMENT_MAP MANAGEMENT_START
F_MANAGEMENT_MAP FERTILITY_MAP
F_MANAGEMENT_MAP DEPOSITION_MAP
F_MANAGEMENT_MAP DEPOSITION_START
F_MANAGEMENT_MAP GRAZING_MAP

Important: This module is removed from revision 3771

DGVM

Introduced in MICT v4bis TO CHECK

Keyword Description
STOMATE_OK_DGVM Active module (y/n)

Multilayer hidrology

Dependencies Keyword Description Default
HYDROL_CWRR Enable/disable module (y/n) N
HYDROL_SOIL_DEPTH Total depth of soil reservoir
OK_SECHIBA and .NOT.(HYDROL_CWRR) HYDROL_OK_HDIFF do horizontal diffusion? N
HYDROL_OK_HDIFF HYDROL_TAU_HDIFF time scale (s) for horizontal diffusion of water
HYDROL_CWRR CHECK_CWRR Should we check detailed CWRR water balance ?
HYDROL_CWRR DO_PONDS Should we include ponds
HYDROL_CWRR CWRR_N_VANGENUCHTEN Van genuchten coefficient n
HYDROL_CWRR CWRR_A_VANGENUCHTEN Van genuchten coefficient a
HYDROL_CWRR VWC_RESIDUAL Residual soil water content
HYDROL_CWRR VWC_SAT Saturated soil water content
HYDROL_CWRR CWRR_KS Hydraulic conductivity Saturation
HYDROL_CWRR WETNESS_TRANSPIR_MAX Soil moisture above which transpir is max
HYDROL_CWRR VWC_FC Volumetric water content field capacity
HYDROL_CWRR VWC_WP Volumetric water content Wilting pt
HYDROL_CWRR VWC_MIN_FOR_WET_ALB Vol. wat. cont. above which albedo is cst
HYDROL_CWRR VWC_MAX_FOR_DRY_ALB Vol. wat. cont. below which albedo is cst
HYDROL_CWRR CWRR_NKS_N0 fitted value for relation log((n-n0)/(n_ref-n0)) = nk_rel * log(k/k_ref)
HYDROL_CWRR CWRR_NKS_POWER fitted value for relation log((n-n0)/(n_ref-n0)) = nk_rel * log(k/k_ref)
HYDROL_CWRR CWRR_AKS_A0 fitted value for relation log((a-a0)/(a_ref-a0)) = ak_rel * log(k/k_ref)
HYDROL_CWRR CWRR_AKS_POWER fitted value for relation log((a-a0)/(a_ref-a0)) = ak_rel * log(k/k_ref)
HYDROL_CWRR KFACT_DECAY_RATE Factor for Ks decay with depth
HYDROL_CWRR KFACT_STARTING_DEPTH Depth for compacted value of Ks
HYDROL_CWRR KFACT_MAX Maximum Factor for Ks increase due to vegetation

Land Use Change (LUC)

Keyword Description
MAP_PFT_FORMAT Read a land use vegetation map on PFT format. Before LAND_USE
COEFF_LCCHANGE_1 fractions of biomass for each PFT as instantaneous on-site eflux
COEFF_LCCHANGE_10 fractions of wood mass entering 10-year turnover product pool
COEFF_LCCHANGE_100 fraction of wood mass entering 100-year turnover product pool

Soil freezing

DEPENDENCIES Keyword Description
OK_FREEZE Activate the complet soil freezing scheme. This flag controls the default values for several flags controling the different soil freezing processes.
- - -
Set default to OK_FREEZE OK_ECORR Energy conservation : Correction to make sure that the same latent heat is released and consumed during freezing and thawing
Set default to OK_FREEZE READ_REFTEMP Initialize soil temperature using climatological temperature (y/n). Default is y when OK_FREEZE is y
Set default to OK_FREEZE OK_FREEZE_THERMIX Activate thermal part of the soil freezing scheme (y/n)
Set default to OK_FREEZE OK_FREEZE_CWRR CWRR freezing scheme scheme by I. Gouttevin.
READ_PERMAFROST_MAP Read information about ice content, overburden and permafrost type from IPA map (y/N)
READ_PERMAFROST_MAP PERMAFROST_MAP_FILE Permafrost input data file path
PROS Soil porosity
FR_DT Freezing window
- Related to soil freezing in diffuco module -
Set default to OK_FREEZE OK_SNOWFACT Activates the smoothering of landscapes by snow
- Related to soil freezing in hydrol module -
Set default to OK_FREEZE OK_FREEZE_CWRR CWRR freezing scheme scheme by I. Gouttevin.
HYDROL_CWRR AND OK_FREEZE_CWRR OK_THERMODYNAMICAL_FREEZING Calculate frozen fraction thermodynamically

Permafrost carbon

Dependencies Keyword Description
OK_PC Enable/disable module (y/n)
OK_PC organic_layer_thickness The thickness of organic layer (n)
OK_PC OK_METHANE Is Methanogenesis and -trophy taken into account?(n)
OK_PC HEAT_CO2_ACT specific heat of soil organic matter oxidation for active carbon (J/kg carbon)(40.e06)
OK_PC HEAT_CO2_SLO 30.e06
OK_PC HEAT_CO2_PAS 10.e06
OK_PC TAU_CH4_TROPH 43200
OK_PC TAU_CH4_GEN_RATIO 9.0
OK_PC O2_SEUIL_MGEN 3.0
OK_PC HEAT_CH4_GEN 0
OK_PC HEAT_CH4_TROPH 0
OK_PC frozen_respiration_func 3
OK_PC O2_LIMIT y
OK_PC NO_PFROST_DECOMP n
OK_PC cryoturbate y
OK_PC cryoturbation_diff_k 0.01
OK_PC MG_useallCpools y
OK_PC max_shum_value 1
OK_PC reset_yedoma_carbon n
OK_PC yedoma_map_filename yedoma_map.nc
OK_PC yedoma_depth 20
OK_PC deepC_a_init 1790.1
OK_PC deepC_s_init 14360.8
OK_PC deepC_p_init 1436
OK_PC newaltcalc n
OK_PC COND_FACT 1
OK_PC new_carbinput_intdepzlit Not described (n)
OK_PC correct_carboninput_vertprof Not described (n)
- - -
OK_PC use_new_cryoturbation Not described (n)
OK_PC cryoturbation_method Not described (1)
OK_PC max_cryoturb_alt Not described (1)
OK_PC reset_fixed_cryoturbation_depth Not described (n)
OK_PC use_fixed_cryoturbation_depth Not described (n)

Multilayer snow

Keyword Description
OK_EXPLICITSNOW Activate explict snow scheme (y/N)

Routing

HYDROL_CWRR changes default values

Dependencies Keyword Description
RIVER_ROUTING Enable/disable module (y/n). Decides if we route the water or not
RIVER_ROUTING DO_IRRIGATION Should we compute an irrigation flux
RIVER_ROUTING DT_ROUTING Time step of the routing scheme
RIVER_ROUTING ROUTING_RIVERS Number of rivers
RIVER_ROUTING DO_FLOODINFILT Should floodplains reinfiltrate into the soil
RIVER_ROUTING DO_PONDS Should we include ponds
RIVER_ROUTING SLOW_TCST Time constant for the slow reservoir
RIVER_ROUTING FAST_TCST Time constant for the fast reservoir
RIVER_ROUTING STREAM_TCST Time constant for the flood reservoir
RIVER_ROUTING FLOOD_TCST Fraction of the river that flows back to swamps
RIVER_ROUTING SWAMP_CST Parameter to fix the shape of the floodplain
RIVER_ROUTING FLOOD_BETA Parameter to fix the shape of the floodplain
RIVER_ROUTING POND_BETAP Ratio of the basin surface intercepted by ponds and the maximum surface of ponds

Foodplains

Dependencies Keyword Description
RIVER_ROUTING DO_FLOODPLAINS Enable/disable module (y/n)
DO_FLOODPLAINS or DO_IRRIGATION IRRIGATION_FILE Name of file which contains the map of irrigated areas
DO_FLOODPLAINS or DO_PONDS FLOOD_CRI Potential height for which all the basin is flooded
DO_FLOODPLAINS or DO_PONDS POND_CRI Potential height for which all the basin is a pond

Swamps

Dependencies Keyword Description
RIVER_ROUTING DO_SWAMPS Enable/disable module (y/n)

Wetlands

Dependencies Keyword Description
CH4_CALCUL Enable/disable module (y/n)
CH4_CALCUL CH4atmo_CONC Not described
CH4_CALCUL CH4_WTD1 Not described
CH4_CALCUL CH4_WTD2 Not described
CH4_CALCUL CH4_WTD3 Not described
CH4_CALCUL CH4_WTD4 Not described
CH4_CALCUL NVERT nb of vertical layers for CH4 diffusion
CH4_CALCUL NS ...
CH4_CALCUL NDAY ...
CH4_CALCUL H ...
CH4_CALCUL RK ...
CH4_CALCUL DIFFAIR ...
CH4_CALCUL POX ...
CH4_CALCUL DVEG ...
CH4_CALCUL RKM ...
CH4_CALCUL XVMAX ...
CH4_CALCUL OXQ10 ...
CH4_CALCUL SCMAX ...
CH4_CALCUL SR0PL ...
CH4_CALCUL PWATER_WET1 ...
CH4_CALCUL PWATER_WET2 ...
CH4_CALCUL PWATER_WET3 ...
CH4_CALCUL PWATER_WET4 ...
CH4_CALCUL RPV ...
CH4_CALCUL IOTHER ...
CH4_CALCUL RQ10 ...
CH4_CALCUL ALPHA_CH4 ...

Topmodel

Dependencies Keyword Description
TOPM_CALCUL Enable/disable module (y/n)
TOPM_CALCUL and NOT IMPOSE_VEG TOPMODEL_PARAMETERS_FILE /home/satellites1/speng/ORCHIDEE/INPUT/TOPMODEL_param_1deg.nc

CO2 variation

Define with value

Keyword Description
FORCE_CO2_VEG Flag to force the value of atmospheric CO2 for vegetation
ATM_CO2 Default value 280.0. You can find at /home/orchideeshare/igcmg/IGCM/BC/SRF/OL2/CO2_1860_2012_TRENDY2.txt a set of values used with modipsl

Analytic spinup

Not working with carbon parmafrost, for the moment use the forcesoil method in order to add carbon in the soil.

Dependencies Keyword Description
SPINUP_ANALYTIC Enable/disable module(y/N)
SPINUP_ANALYTIC SPINUP_PERIOD Period to calulcate equilibrium during spinup analytic
SPINUP_ANALYTIC EPS_CARBON Allowed error on carbon stock

Forcesoil

Dependencies Keyword Description
STOMATE_CFORCING_NAME FORCESOIL_STEP_PER_YEAR Number of time steps per year for carbon spinup (default 12)
STOMATE_CFORCING_NAME FORCESOIL_NB_YEAR Number of years saved for carbon spinup. (default 1)

Spredprec

Spred precipiation over a period time. Use default.

Check out:

Keyword Description
SPRED_PREC Spread the precipitation (1)

CO2 downregulation

Use default.

Keyword Description
DOWNREGULATION_CO2 Enable/disable module (y/n)
DOWNREGULATION_CO2_BASELEVEL CO2 baselevel
DOWNREGULATION_CO2_COEFF coefficient for CO2 downregulation (unitless)

New soil thermal properties

  • new_carbinput_intdepzlit=y
  • frozen_resp_func=1
  • USE_SOILC_TEMPDIFF=n

Since revision [3226/branches/ORCHIDEE-MICT/ORCHIDEE]

Bioturbation

Keyword Description
bioturbation_diff_k diffusion constant for bioturbation (0.001 or 0 ??)
bioturbation_depth maximum bioturbation depth (2m)
adjust_method_new Enable new bioturbation method(Y/n)

Since revision [3228/branches/ORCHIDEE-MICT/ORCHIDEE]

Gross Land Use Change (GLUC)

Developed By Chao

Dependency Keyword Description
GLUC_USE_AGE_CLASS Use age class and activate gross land use change? (y/N)
GLUC_NAGEC_TREE Number of age class for forest (6)
GLUC_NAGEC_HERB Number of age class for crop, pasture and grassland (4)
​GLUC_​NVMAP Total number of metaclasses​ (15)
GLUC_​AGEC_GROUP​xx look-up table to link MTC to PFTs​
GLUC_AGE_CLASS_BOUNDxx boundaries used to distinguish age class
GLUC_ALLOW_FORESTRY_HARVEST allow forestry harvest ? [y/N]
GLUC_SINGLE_AGE_CLASS Assume there is a single age class in each MTC?​ ​[y/N]​
GLUC_USE_BOUND_SPA​ Use a spital file for input as the boundaries of age class? [y/N]
GLUC_AGE_THRESHOLD_FILE​ GLUC_AGE_THRESHOLD_FILE​ File name of the spatial boundary input file
GLUC_NET_LCC_FILE​ Matrix file for Net land cover change
GLUC_SHIFT_PRI_FILE​ Matrix file for shifting cultivation by clearing primary forest, normally not used
GLUC_SHIFT_SEC_FILE Matrix file for shifting cultivation by clearing secondary forest
GLUC_FORESTRY_HARVEST_FILE Matrix file for wood harvest from primary and secondary forests

Since revision [3306/branches/ORCHIDEE-MICT/ORCHIDEE]

CROPS (incomplete)

On-going development (by Xuhui)

Since revision 3999, CROP is disabled by default. In order to enable it add the following options into run.def:

Dependency Keyword Description
ok_LAIdev=n,n,n,n,n,n,n,n,n,n,y,y,y CROP specific
NVM=14 Number of PFTs
PFT_TO_MTC=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 PFT metaclasses
NSTM=6
PREF_SOIL_VEG=1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 5, 6

Before revision 3999, module is enable by default. Use the following options in run.def to disable the module:

NVM = 13
PFT_TO_MTC = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
OK_LAIDEV=n,n,n,n,n,n,n,n,n,n,n,n,n
NSTM = 3
PREF_SOIL_VEG = 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3

Since revision [3751/branches/ORCHIDEE-MICT/ORCHIDEE]

Notes

VEGET_UPDATE= 0Y
To use on crops. First map read.
VEGET_UPDATE= 1Y
On active le LUC, on lit la carte de vegétation seulement pour prendre en compte les crops qui évoluent alors ; le DGVM continue de gérer les PFTs naturels en fonction des conditions climatiques (enfin c'est ce que j'ai compris).

Il ne faut surtout pas mettre IMPOSE_VEG= y puisque si on impose la végétation elle ne va pas pouvoir évoluer en fonction du climat (je n'ai pas testé mais ce fonctionnement semble absurde, il faudrait arrêter avec un message d'erreur).