Version 9 (modified by dgoll, 5 years ago) (diff)



This page describes the work done to include the phosphorus cycle into ORCHIDEE. It is based on MERGE-OCN, which was extended and corrected as described here: as well as a recruitment routine by S. Peng (ask him if you need infos) The phosphorus cycle is an adaptation of the the model described by

modularisation of code used by nitrogen and phosphorus routines

There are many aspects which the nutrient cycles have in common, for example root uptake kinetics, stoichiometric considerations, etc. To avoid the risks of introducing inconsistencies and redundant code, I started to write subroutines which are listed in the following. All subroutines are in stomate_phosphorus.f90.

1. root_conductivity

This subroutine calculates the uptake capacity of N & P per mass root according to the uptake kinetics of ammonia and nitrate used in OCN (Zaehle & Friend, 2010).

2. f_XY_plant

This subroutine calculates the scaling functions based on the stoichiometric ratio of labile plant tissue (reserve, labile and leaf) which are used to scale root uptake, biological N2 fixation, and biochemical mineralization. It currently supports scaling functions based on the P-to-N ratio, N-to-C ratio and P-to-C ratio. All other combinations will cause a 'STOP', but could be easily implemented if needed.

Soil type problem

The phosphorus model needs soil type specific parameters. Therefore, a new input routine is going to be written which reads in USDA soil orders. According to the soil order the parameter values are set for each grid box.

The problem is that ORCHIDEE already reads in fields of soil texture classes which were originally derived from soil orders. According to the soil texture classes, parameter related to soil hydrology are set. As the original data cannot be found anymore, ORCHIDEE will run with two independent sets of soil order specific parameters. Thereby inconsistencies between the phosphorus related parameters and the the hydrology related parameters can be introduced. The practice of reading in soil texture classes instead of soil orders is also problematic in respect of future developments and I suggest to change that.

Work for Albert

We need a routine which reads the soil orders (n=12) from this file: /home/users/dgoll/ORC_data/USDA_soilorders/ .The file itself does not respect the netCDF standards, you would need to fix this.

Currently, all input reading routines are located in src_stomate/stomate_io.f90; for example the routines to read ref_temp, deposition and the lithological fractions. There is quite some doubling of code which could be minimized by re-writting the routines, for example outsourcing the remap procedure in a own subroutine/function.

The soil orders as read in from the file should be assigned to a new variable of your choice (following the texture classes or lithological fractions). I handle the rest.

You find the deposition input file here: /home/scratch01/dgoll/ORCHIDEE/ORC-CNP/simulations/simple_forcing_DSG/

Attachments (11)

Download all attachments as: .zip