Version 16 (modified by dgoll, 7 years ago) (diff) |
---|
For r4535 and newer: External nitrogen and phosphorus inputs to the ecosystem PART 1: natural inputs
WARNING: If you are running an ENSEMBLE configuration see remarks at the bottom.
External inputs of nutrient to the ecosystem can be either (1) read in from global maps, (2) prescribed from run.def (for site simulations) or (3) computed dynamically in case of biological nitrogen fixation (BNF) and phosphorus weathering. Several flags handle this.
List of natural input fluxes currently considered
natural nitrogen input (g N m-2 yr-1)
- Ndep_NHX: atmospheric NHX deposition
- Ndep_NOY: atmospheric NOY deposition
- Nbnf: Biological N2 fixation
natural phosphorus input (g P m-2 yr-1)
- Pdep_p: atmospheric P deposition (labile P)
- Pweat: P release from weathering
Flags to control the input fluxes in run.def
- Ninput_update: 0=inputs are taken from restart file / 1=inputs are taken from run.def or maps
- impose_Ninput: y=impose nutrient inputs either from map or run.def (default n)
- impose_Nmap: y=read nutrient inputs from maps (if impose_Ninput=y), n=read from run.def (if impose_Ninput=y)
For impose_Nmap=n use the following variables to set the fluxes:
- Ndep_NHX: annual NHX input by deposition,
- Ndep_NOY: annual NOY input by deposition
- Nbnf: annual N input by BNF (if read_bnf=y)
- Pdep_p: annual P input by deposition
- Pweat: annual P input by wethering (if read_pweat=y)
For impose_Nmap=y use the following variables to set the input files:
- Ndep_NHX_FILE
- Ndep_NOY_FILE
- Nbnf_FILE (if read_bnf=y)
- Pdep_p_FILE
- Pweat_FILE (if read_weat=y)
examples
Prescribe all input fluxes from run.def (useful if you run a site simulation)
# impose NP inputs(y) .... NINPUT_UPDATE=1 NINPUT_YEAR=1 IMPOSE_NINPUT=y # ... from run.def(n) IMPOSE_NMAP=n # annual fluxes [g m-2 yr-1] Ndep_NHX=0.01 Ndep_NOY=0.02 Pdep_p=.01 # also read BNF (y); instead of computing dynamically READ_BNF=y Nbnf=1. # read BNF(y); instead of computing dynamically READ_PWEAT=y Pweat=.01
Prescribe all input fluxes from maps (default procedure for regional to global simulations
# in case you run ENSEMBLE configuration: # hardcode NINPUT_UPDATE=1 in slowproc.f90 # impose NP inputs(y) .... NINPUT_UPDATE=1 NINPUT_YEAR=1 IMPOSE_NINPUT=y # ... from maps(y) IMPOSE_NMAP=y # I store the three fluxes as variables Ndep_NHX, Ndep_NOY, and Pdep in a single file: Ndep_NHX_FILE=deposition.nc Ndep_NOY_FILE=deposition.nc Pdep_p_FILE=deposition.nc # we compute BNF and weathering dynamically (input files are currently not available) READ_PWEAT=n READ_BNF=n
Deposition data
We have time series of N and P deposition from Wang et al. (2017) 'Global forest carbon uptake due to nitrogen and phosphorus deposition from 1850 to 2100' ready to use for ORCHIDEE.
since r4535
curie:/ccc/work/cont003/dsm/p529goll/NP_deposition/final_r4535
before
Mind the setup is different (other flags,etc)
curie:/ccc/work/cont003/dsm/p529goll/NP_deposition/final_NEW
For ENSEMBLE setup
Currently, the flag NINPUT_UPDATE is overwritten by libIGCM so that nutrient inputs are not read from run.def.
Till I found a solution you need to hardcode the value in the source code in src_sechiba/slowproc.f90:
Ninput_update=1 !DSG AMA Ninput_update=0 !DSG AMA !JC modif just simply read the nutrient input file when Ninput_update !DSG AMA !> 0 !DSG AMA CALL getin_p('NINPUT_UPDATE', Ninput_update) !DSG AMA IF (Ninput_update .GT. 0 ) THEN !DSG AMA WRITE(numout,*) "Update Nutrient inputs",Ninput_update !DSG AMA ELSE !DSG AMA WRITE(numout,*) "DONOT update Nutrient inputs",Ninput_update !DSG AMA ENDIF
then recompile the model.