ORCHIDEE

De Wikicima
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(Instalation)
(Model description)
Línea 7: Línea 7:
 
* ORCHIDEE: sechiba & stomate
 
* ORCHIDEE: sechiba & stomate
 
* Two major modes of simulations: Off-line (no feedback) / on-line (LMDZ, WRF)
 
* Two major modes of simulations: Off-line (no feedback) / on-line (LMDZ, WRF)
* Off-line atmospheric forcings: [https://forge.ipsl.jussieu.fr/orchidee/wiki/Documentation/Forcings ORforcings]
+
  +
== Off-line atmospheric forcings ==
  +
* Desdcribed here: [https://forge.ipsl.jussieu.fr/orchidee/wiki/Documentation/Forcings ORforcings]
 
** Atmoshperic variables required by ORCHIDEE: <code>LWdown, PSurf, Qair, Rainf, SWdown, Snowf, Tair, Wind_E, Wind_N</code>
 
** Atmoshperic variables required by ORCHIDEE: <code>LWdown, PSurf, Qair, Rainf, SWdown, Snowf, Tair, Wind_E, Wind_N</code>
 
** CRU-NCEP (v5.4, 0.5&deg;): mixing CRU with NCEP: <code>cruncep_halfdeg_[YYYY].nc</code> at <code>hydra</code> (taking <code>${ORforcing}=/share/ORCHIDEE/data/IGCM/SRF</code>):
 
** CRU-NCEP (v5.4, 0.5&deg;): mixing CRU with NCEP: <code>cruncep_halfdeg_[YYYY].nc</code> at <code>hydra</code> (taking <code>${ORforcing}=/share/ORCHIDEE/data/IGCM/SRF</code>):
 
<pre>${ORforcing}/METEO/CRU-NCEP/v5.4/halfdeg</pre>
 
<pre>${ORforcing}/METEO/CRU-NCEP/v5.4/halfdeg</pre>
* Morphological forcings as data-base:
+
  +
== Morphological forcings as data-base ==
 
** To be interpolated to the domain of simulation (region and resolution) at the first time step (done by ORCHIDEE)
 
** To be interpolated to the domain of simulation (region and resolution) at the first time step (done by ORCHIDEE)
 
** Mandatory:
 
** Mandatory:
*** '''PFT map''':
+
=== PFT map ===
  +
 
**** 13 PFT, percentage of each by grid-point (<code>maxvegetfrac</code>, see table for equivalencies of PFT)
 
**** 13 PFT, percentage of each by grid-point (<code>maxvegetfrac</code>, see table for equivalencies of PFT)
 
{| class="wikitable"
 
{| class="wikitable"
Línea 52: Línea 52:
 
[[File:Olson_vegetmap.png|frame|50px|Global Olson vegetation at 5 km of resolution Homolosine projection]]
 
[[File:Olson_vegetmap.png|frame|50px|Global Olson vegetation at 5 km of resolution Homolosine projection]]
   
*** '''Soil characterisitcs'''
+
=== Soil characterisitcs ===
 
**** <code>soilcolor</code> used to define background-albedo: albedowet, albedodry (using values from 1 to 8). To be find in <code>soils_param.nc, soils_param_zobler.nc</code>
 
**** <code>soilcolor</code> used to define background-albedo: albedowet, albedodry (using values from 1 to 8). To be find in <code>soils_param.nc, soils_param_zobler.nc</code>
 
**** <code>soiltexture</code> to define soil type, to be grouped as 3 types: corse, medium, fine (from 7 values). 3 different sources:
 
**** <code>soiltexture</code> to define soil type, to be grouped as 3 types: corse, medium, fine (from 7 values). 3 different sources:
Línea 58: Línea 58:
 
***** <code>soils_param_zobler.nc</code>: 7 types (1&deg;)
 
***** <code>soils_param_zobler.nc</code>: 7 types (1&deg;)
 
***** <code>soils_param_usda.nc</code>: 12 types (0.08331404&deg;)
 
***** <code>soils_param_usda.nc</code>: 12 types (0.08331404&deg;)
** Additional:
+
  +
=== WOODHARVEST ===
  +
<!-- /prodigfs/ipslfs/igcmg/IGCM/SRF/WOODHARVEST/LUH2v2/historical4/woodharvest_2014.nc -->
  +
  +
=== Additional ===
 
*** LAI: on runs without <code>stomate</code> (otherwise, LAI is dynamic), one needs to provide climatologies of the LAI: 13 LAI values which evolves along time (monthly climatology) <code>lai2D_[00/01/03].nc</code>
 
*** LAI: on runs without <code>stomate</code> (otherwise, LAI is dynamic), one needs to provide climatologies of the LAI: 13 LAI values which evolves along time (monthly climatology) <code>lai2D_[00/01/03].nc</code>
 
*** Albedo: on runs without <code>stomate</code> (otherwise, albedo is dynamic) new maps only for the bare soil albedo at higher resolution to avoid the use of <code>soilcolor</code> from <code>soils_param.nc</code>. Fixed values for wet/dry background albedo. Or a new file
 
*** Albedo: on runs without <code>stomate</code> (otherwise, albedo is dynamic) new maps only for the bare soil albedo at higher resolution to avoid the use of <code>soilcolor</code> from <code>soils_param.nc</code>. Fixed values for wet/dry background albedo. Or a new file

Revisión de 12:30 28 jun 2019

Contenido

ORCHIDEE

This manual provides the information about the land-surface model ORCHIDEE (orchidee) from Institute Pierre Simone Laplace (IPSL). Its installation on the HPC of the CIMA called hydra

Model description

  • ORCHIDEE: sechiba & stomate
  • Two major modes of simulations: Off-line (no feedback) / on-line (LMDZ, WRF)

Off-line atmospheric forcings

  • Desdcribed here: ORforcings
    • Atmoshperic variables required by ORCHIDEE: LWdown, PSurf, Qair, Rainf, SWdown, Snowf, Tair, Wind_E, Wind_N
    • CRU-NCEP (v5.4, 0.5°): mixing CRU with NCEP: cruncep_halfdeg_[YYYY].nc at hydra (taking ${ORforcing}=/share/ORCHIDEE/data/IGCM/SRF):
${ORforcing}/METEO/CRU-NCEP/v5.4/halfdeg

Morphological forcings as data-base

    • To be interpolated to the domain of simulation (region and resolution) at the first time step (done by ORCHIDEE)
    • Mandatory:

PFT map

        • 13 PFT, percentage of each by grid-point (maxvegetfrac, see table for equivalencies of PFT)
num description
1 bare ground
2 tropical broad-leaved evergreen
3 tropical broad-leaved raingreen
4 temperate needleleaf evergreen
5 temperate broad-leaved evergreen
6 temperate broad-leaved summergreen
7 boreal needleleaf evergreen
8 boreal broad-leaved summergreen
9 boreal needleleaf summergreen
10 C3 grass
11 C4 grass
12 C3 agriculture
13 C4 agriculture
        • PFTmap_IPCC_[YYYY].nc (0.5°, basic), a file per/year ESA-LUH2, historical, v1.2 at:
${ORforcing}/PFTMAPS/CMIP6/ESA-LUH2/historical/v1.2/
        • carteveg5km.nc (Olson's global classification of 94 PFT, 5km transformation to 13 PFT) No temporal evolution at:
${ORforcing}/PFTMAPS/
(thumbnail)
Global Olson vegetation at 5 km of resolution Homolosine projection

Soil characterisitcs

        • soilcolor used to define background-albedo: albedowet, albedodry (using values from 1 to 8). To be find in soils_param.nc, soils_param_zobler.nc
        • soiltexture to define soil type, to be grouped as 3 types: corse, medium, fine (from 7 values). 3 different sources:
          • soils_param.nc (1.°, basic)
          • soils_param_zobler.nc: 7 types (1°)
          • soils_param_usda.nc: 12 types (0.08331404°)

WOODHARVEST

Additional

      • LAI: on runs without stomate (otherwise, LAI is dynamic), one needs to provide climatologies of the LAI: 13 LAI values which evolves along time (monthly climatology) lai2D_[00/01/03].nc
      • Albedo: on runs without stomate (otherwise, albedo is dynamic) new maps only for the bare soil albedo at higher resolution to avoid the use of soilcolor from soils_param.nc. Fixed values for wet/dry background albedo. Or a new file
        • alb_bg_jrctip.nc: albedos climatologies retrieved from MODIS satellite JRC-TIP package
        • alb_bg_modisopt_2D.nc: Another non.climatological albedo from MODIS
${ORforcing}/albedo
      • Routing: routing.nc: worldwide data-base of river basins at 0.5°: 1-8 direction, <89 point at the sea, ... (trip), riverID (basins), water retention (topoind), etc..., cartepente2d_15min.nc topography slope (0.25°)
      • Floodplains: floodplain.nc To account for maximum flooded area: lake, dam, swamp, saline, pond, irrig
      • Chemistry: orchidee_fertilizer_1995.nc with fertilization (for N2) for rice and the others
      • Reference Temperature: To be used as a reference temperature for the soil (reftemp.nc)
  • All ORCHIDEE configuration is controlled by run.def.: Domain, period, physics activation, sechiba/stomate, routing, floodplains, ... ORparameters
  • I/O controlled by *.xml files from XIOS libraries
    • iodef.xml: main XIOS configuration
    • context_orchidee.xml: I/O global configuration for ORCHIDEE
    • field_def_orchidee.xml: definition of I/O variables (names, units, dimensions, long-name, ...)
    • file_def_orchidee.xml: definition of variables at each file (output frequency, level of output, ...)

Installation

This installation guide is based on the installation in different machines from CIMA/DCAO computational resources:

which it must have pre-installed: netCDF libraries (netcdf-dev, netcdff), MPI libraries (mpi, mpich), Fortan and C compilers (gcc, gcc++ gfortran), pre-processing tools (cpp), subversion repository code tool (svn), Makefile (make, gmake), shells (ksh, csh)


NOTE

Each new version of the code, has its own XIOS files! Make sure that you're using the right ones!! (otherwise, you would have an error...)

Running the model

ORCHDEE can run in a large variety of forms. Here is desribed a simple way to run a year of simulation

  • Assuming a working directory ${WORKDIR} (e.g.: /home/lluis.fita/estudios/LUPA). Creation of the running folder
$ mkdir -p tests/control 
$ cd tests/control
  • Writting of a simple run.def with stomate and routing activated for the 1977 year
# Use XIOS for writing diagnostics file
# defulat = n
XIOS_ORCHIDEE_OK = y
#
START_DATE = 1977-01-01_00
END_DATE = 1978-01-01_00
TIME_LENGTH = 1Y
DT_SECHIBA = 1800

# Atmospheric forcing file
FORCING_FILE = atmos_forcing.nc

#
# South America
#
#WEST_EAST = -85., -31.
#SOUTH_NORTH = -57, 14.
LIMIT_WEST = -85.
LIMIT_EAST = -31.
LIMIT_SOUTH = -57.
LIMIT_NORTH = 14.
MERID_RES = 0.5
ZONAL_RES = 0.5

VEGET_YEAR=1

# Activation of stomate
STOMATE_OK_CO2= y
STOMATE_OK_STOMATE= y

# For routing
RIVER_ROUTING = y
ROUTING_FILE = routing.nc
HYDROL_CWRR = y
DT_ROUTING = 86400
RIVER_DESC = y
RIVER_DESC_FILE = river_desc.nc
ROUTING_RIVERS = 50

# Debug standard output printing level
PRINTLEV = 0
  • Linking atomspheric forcing files (0.5° CRU-NCEP v5.4 files)
$ ln -s /share/ORCHIDEE/data/IGCM/SRF/METEO/CRU-NCEP/v5.4/halfdeg/cruncep_halfdeg_1977.nc ./atmos_forcing.nc
  • Linking the routing data-base
$ ln -s /share/ORCHIDEE/data/IGCM/SRF/routing.nc ./
  • Linking the topographical slope
$ ln -s /share/ORCHIDEE/data/IGCM/SRF/cartepente2d_15min.nc ./
  • Linking the morphological files
$ ln -s /share/ORCHIDEE/data/IGCM/SRF/soils_param.nc ./ 
$ ln -s /share/ORCHIDEE/data/IGCM/SRF/PFTmap_IPCC_1850.nc ./PFTmap.nc
  • Getting the XIOS files
$ cp /share/modipsl/modeles/ORCHIDEE/src_xml/*xml ./
  • Edit the file_def_orchidee.xml to define output frequency and level of of output (remove all the _AUTO_)
$ vim file_def_orchidee.xml
  • The final configuration gets:
$ cat file_def_orchidee.xml | grep 'file id' 
  <file id="sechiba1" name="sechiba_history" output_level="11" output_freq="1d" enabled=".TRUE."> 
  <file id="sechiba2" name="sechiba_out_2" output_level="2" output_freq="1mo" enabled=".FALSE."> 
  <file id="sechiba3" name="sechiba_history_4dim" output_level="11" output_freq="1d" enabled=".TRUE."> 
  <file id="sechiba1_alma" name="sechiba_history_alma" output_level="10" output_freq="1mo" enabled=".FALSE."> 
  <file id="sechiba2_alma" name="sechiba_out_2_alma" output_level="10" output_freq="1d" enabled=".FALSE."> 
  <file id="stomate1" name="stomate_history" output_level="10" output_freq="1d" enabled=".TRUE.">
  <file id="stomate2" name="stomate_ipcc_history" output_level="1" output_freq="1mo" enabled=".FALSE.">
  • Linking the ORCHIDEE executable
$ ln -s [INSTALLDIR]/modipsl/bin/orchidee_ol ./
  • Getting the PBS scheduling job to run ORCHIDEE
$ cp /share/ORCHIDEE/run_or.pbs ./
  • Launching the model
$ qsub run_or.pbs
  • If everything went fine, one should have (at least)
orout/sechiba_history.nc  orout/sechiba_history_4dim.nc  stomate_history.nc
    • sechiba_history.nc, sechiba_history_4dim.nc, stomate_history.nc: Outputs (optional, only when stomate is activated)
    • sechiba_rest_out.nc, stomate_restart.nc: restarts for sechiba<code> and <code>stomate (optional, only when stomate is activated)
    • out_orchidee_[nnnn]: standard output files for each process
    • river_desc.nc: output with river description (optional, only when routing is activated)

Compiling rebuild

Due to the fact that hydra does not have the netcdf libraries compiled in parallel, ORCHDEE output is written with multiple files being a file for each process. In order to overcome this output. IPSL does prepare a tool to join the files and provide the expected output. This tool is called rebuild (a Kornshell script which encapsulates de exacutable flio_rbld) and it comes with the IOIPSL libraries. The IOIPSL libraries, are a set of old libraries developed by the IPSL (M. A. Foujuls, J. Polcher among others) to deal with the netCDF data access for all the models developed at the IOIPSL. Compiling IOIPSL (following install rebuild. It has to be compiled independently. Here it is explained how it has to be done.

  • Go to the instalation directory [INSTALLDIR] (at hydra share)
$ cd [INSTALLDIR]
  • getting the last version of the code
$ svn co https://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl_IOIPSLtools
  • going to prepare compilation/installation
$ cd modipsl_IOIPSLtools/util
  • preparing environment
./model IOIPSL_PLUS
  • We got some issues with the ports, thus, it needs to be manually done:
$ cd ../modeles
  • Getting IOIPSL (NOTE: notice the difference in library's version from the previous one):
$ svn co https://forge.ipsl.jussieu.fr/igcmg/svn/IOIPSL/tags/v2_2_3 IOIPSL
  • Comming back to the util folder
$ cd ../util
  • Creation of the compilation environment for `hydra' using 'ifort' inside AA_make.gdef as in the full compilation
$ cp ../../modipsl/util/AA_make.gdef ./
  • Preparing makefiles
$ ./ins_make -t "ifort_hydra" -p I4R8
  • going to src folder to compile
$ cd ../modeles/IOIPSL/src
  • cleaning (you never know...)
$ make clean
  • compiling
$ make >& run_make.log
  • Checking no errors:
$ cat -n run_make.log | grep Error
  • compilation of tools (file concatenation)
$ cd ../tools 
  • cleaning (you never know...)
$ make clean
  • compiling
$ make >& run_make.log
  • Checking no errors:
$ cat -n run_make.log | grep Error
  • One should have:
$ ls ../../../bin/ 
flio_rbld  rebuild

debug Instalation

Getting a debugging copy for test purposes

Instalation steps using modipsl

  • Go to the instalation directory [INSTALLDIR] (/share in hydra)
$ cd [INSTALLDIR]
  • Getting the IPSL-models suite (r 3379)
$ svn co https://forge.ipsl.jussieu.fr/igcmg/svn/modipsl/trunk modipsl_dbg
  • Once we got the codes, we need to copy the specificities of the installation for hydra
$ cp ../../modipsl/util/AA_make.gdef ./
$ cp ../../modipsl/modeles/XIOS/arch/*hydra* ../modeles/XIOS/arch/
$ cp ../../modipsl/modeles/ORCHIDEE/arch/*hydra* ../modeles/ORCHIDEE/arch/
  • Everything is the same as for the installation, except that we need to indicate debugging compilation:
./ins_make -t ifort_hydra -d >& run_ins_make.log
  • And on Makefile from config/ORCHIDEE_OL, change all the -prod by -debug
(...)
xios : 
        (cd  ../../modeles/XIOS ; ./make_xios --netcdf_lib netcdf4_seq \
--debug --arch ${FCM_ARCH} --job 8 ; cp bin/xios_server.exe ../../bin/. ; ) 
(...)
driver : 
        (cd ../../modeles/ORCHIDEE ; ./makeorchidee_fcm -j 8 -parallel mpi -debug -arch ${FCM_ARCH} -driver ; )
(...)
driver_xios : 
        (cd ../../modeles/ORCHIDEE ; ./makeorchidee_fcm -xios2 -j 8 -parallel mpi -debug -arch ${FCM_ARCH} -driver ; ) 
(...)
  • Compiling:
$ gmake >& run_gmake.log
  • Checking if everything went fine:
$ cat -n run_gmake.log | grep Error 
$ cat -n run_gmake.log | grep undefined
$ ls ../../bin/ 
orchidee_ol  xios_server.exe

OR4L: L. Fita's work-flow management for ORCHIDEE

ORCHIDEE should be run with libIGCM which is a work-flow management for ORCHIDEE developed at the IPSL.

However, L. Fita developed an independent simpler and less potent work-flow called OR4L. See how it works in this wiki page ORCHIDEE/OR4L OR4L

Herramientas personales