Running ORCHIDEE on Fluxnet sites: a new processing chain

Running ORCHIDEE on Fluxnet sites:
a new processing chain
N. Vuichard & M. Mancip
The objectives
• To run ORCHIDEE on Eddy-covariance sites
where C (NEE, GPP, TER) and Energy (LH, SH)
fluxes and met data are available
• To evaluate the performance of ORCHIDEE
against in-situ data
The ‘wish’ list
• To develop a suite of tools able to deal
– from input data formating
– to post-treatments
• With free softwares/techno
– Mainly Shell scripts (the scripts developed by
Martial based on the libIGCM library)
– Python
– Awk
The different steps
Raw data
(1)
ORCHIDEE-format
input data
(1) : Data processing
(2) : Suite of Simulations
(3) : Post-treatment
(2)
Outputs
History files
(3)
Time-series
visualisation
(pdf, html)
Data processing
Generating input meteo files
• Developed in Python
• From L4 dataset (.csv file)
#--------------------------------------------------# Ta_f
: Air Temperature (C)
# Precip_f : Precipitation (mm)
# Rg_f
: Global Radiation (W m-2)
# VPD_f : Vapour Pressure Deficit (hPa)
# WS_f
: Wind horizontal speed (m s-1)
# WD
: Wind direction (degrees)
# Rh
: Relative Humidity (%)
# LWin
: Incomming Longwave Radiation (W m-2)
#---------------------------------------------------
• Use of the quality flag to keep only the
original data
• Fill gaps with ERA-interim reanalysis (6-hourly)
Data processing
Gapfilling routine
• Compare in-situ and ERA data at 6-hour time
resolution
• Correct for biais
• Use of non-biais ERA data when gaps
• Re-interpolate at half-hourly resolution the
ERA-based data
– Linearly for the state variables
– Using the observed frequency of precip. event for
precipitation
– Weighted for solar angle for SWdown
Data processing
Gapfilling routine
• How to use it ?
python gapfilling.py
• Requirement
– Put the following command line in your .login
source /home/users/jypeter/CDAT/Install/cdat_multi/cdat_multi.login /home/users/jypeter/CDAT/Install/cdat_multi
• Need for
– the .csv files (one per year and per site)
2002
2004
60.80
89.35
– Text file RU-Zot
BR-Ma2 2002
2006
-2.61
-60.21
BR-Sa1
BW-Ma1
DE-Hai
FI-Sod
NL-Loo
2002
1999
2000
2000
1996
2004
2001
2006
2006
2006
-2.86
-19.92
51.08
67.36
52.17
-54.95
23.56
10.45
26.62
5.74
Data processing
Gapfilling routine
• Optional flag : GAPMAX
• it defines the shortest gap for which we use the
reanalysis for filling gaps. Below GAPMAX length, we
use a linear interpolation
• Unit: time step of the in-situ data.
• Default value : 12 (= 6 hour)
Data processing
Gapfilling routine
• Creating one .pdf file per site
Data processing
Generating obs. NetCdf files
• Developed with awk
• In order to compare ORCHIDEE outputs with
observations => Creation of .nc files
• They contain :
–
–
–
–
–
Air Temperature
Soil Temperature
Relative Humidity
Rainfall
Snowfall
–
–
–
–
Soil Water Content
Sensible Heat Flux
Latent Heat Flux
Potential
Evapotranspiration
– Net Ecosystem Exchange
– Gross Primary
Production
– Canopy conductance
– Ecosystem Respiration
Simulations step
• Running a suite of simulations ORCHIDEE
Init.
duree_inistomate
Full ORCHIDEE
duree_sechiba
forcesoil
duree_carbonsol
n_iter
Final
duree_final
The ‘FLUXNET’ directory
• ‘FLUXNET’ directory is under
‘modipsl/config/ORCHIDEE_OL’ dir.
• It contains:
– config.card : information on JobName, TagName, Dates and
Restart.
– fluxnet.card configures the list of FLUXNET sites (type and
associated parameters)
– PARAM/orchidee.def, the parameter file of ORCHIDEE
– atlas_FLUXNET.cfg (used for the post-treatment)
– The script ‘install’
– The scripts fluxnet.ksh and post_FLUXNET
– run.card.init
How to install the FLUXNET dir
• "./ins_job" under ‘util’ dir, if not done yet
=> It will add a Job_Sp (where Sp is the JobName
specified in config.card)
• "./install" under ‘FLUXNET’ dir
It will add
- Job_FLUXNET_validation
- Job_Post_FLUXNET (used for the post-treatment)
How to modify the fluxnet.card
• For defining the suite of simulations,
– Specify the respective values for
• duree_inistomate, n_iter, duree_sechiba, duree_stomate, duree_carbonsol, duree_final
• For defining the Forcing files ?
– Set FluxnetPath to a specific directory
• Ex. : /home/orchidee01/vuichard/AR5/FORCING
• Which sites ?
Sites= ( NL-Loo, NL-Loo.nc, 1996,
11, \
0, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.2, 0, 0, 0, \
\
( DE-Hai, DE-Hai.nc, 2000,
0, 0, 0, 0, 0, 0.8, 0, 0, 0, 0.2, 0, 0, 0, )
7, \
How to modify fluxnet.card (2)
• You can respecify some parameters:
– for instance lai_max
NbSitesParam = 2
NameSitesParam = (SECHIBA_VEGMAX, SECHIBA_LAIMAX)
CompSitesParam = (SECHIBA, SECHIBA)
Sites= ( NL-Loo, NL-Loo.nc, 1996,
11, \
0, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.2, 0, 0, 0, \
0., 8., 8., 4., 4.5, 4.5, 4., 4.5, 4., 2., 2., 2., 2.) \
• A new flag in sechiba.def : IMPOSE_SOILT
– Let define by the user the clay fraction when
IMPOSE_VEG=1
Simulations step
• How to use it ?
ksh
nohup ./Job_FLUXNET_validation > out_Job 2>&1 &
• One requirement (on Obelix1)
– To have a passphrase for connecting to obelixX
• « ssh-keygen –t rsa –N "" »
• « cp id_rsa.pub authorized_keys »
• or « cat id_rsa.pub >> authorized_keys »
Post-treatment step: Visualisation
• Generate time-series of different fluxes :
• NEE / GPP / TER
• Latent Heat / Sensible Heat / …
• For different datasets :
• The simulation that you have launched
• The in-situ observations
• A simulation of ‘reference’ (eg. a former simulation)
• For different time frequency
• Daily cycle
• Seasonal cycle
• Interannual variability
Post-treatment step: Visualisation
• How to use it ?
ksh
nohup ./Job_Post_FLUXNET > out_Post 2>&1 &
• It will create .pdf, .gif and .html files into the
ARCHIVE directory (one subdirectory per site)
How to modify fluxnet.card
• The Observation files
– Set ‘observation_file_path’ to a specific location
'/home/orchidee01/vuichard/TUTORIAL_ORCHIDEE/OBS/${Site}.synth.hourly.allvars.nc‘
• The Reference files
– Set ‘reference_file_path’ to a specific location
'/home/orchidee01/vuichard/TUTORIAL_ORCHIDEE/REFERENCE/${Site}_sechiba_hist.nc'
Example 1 : Sensible Heat
(seasonal)
Example 2 : GPP (daily)
Example 3 : TER (interannual)
Advanced use
• Modify the .cfg
echo $input | ferretloop - ${debug} -ps2gif_option "-g $quality" -p -i "Sensible
heat flux : diff with obs" -o fluxsens_sbx
ORCHIDEE_3sbxdif.jnl \
"\"Sensible heat flux : diff with obs\"
VVVVVVV RRRRRRR inputfile Fh Qh $FYEAR
\"W/m2\" $ssbx"
Perspectives
• To use this tool
– and to get feedbacks
• To better document it
• To version the ‘data processing’ step
• To add statistical analysis