LPJ is driven by monthly
fields of
temperature, precipitation, cloudiness and number of days with rain.
Additionally static information on soil properties, geographic
coordinates of climate and soil data, and mean annual atmospheric CO2
concentration are required. Except for CO2 all files are binary data
including a header (except for the soil data).
file |
exemplary name |
file format |
data type [size] |
data unit [scaled] |
header [size] |
coordinates |
grid.bin |
binary |
short [2 bytes] |
degree [*100] |
yes [35 byte] |
soil |
soil.bin |
binary |
char [1 byte] |
0-9 |
no |
temperature |
tmp1901-2003.clm |
binary |
short [2 bytes] |
deg celsius [*10] |
yes [38 byte] |
precipitation |
pre1901-2003.clm |
binary |
short [2 bytes] |
mm/month |
yes [38 byte] |
cloudiness |
cld1901-2003.clm |
binary |
short [2 bytes] |
percent |
yes [38 byte] |
wet days |
wet1901-2003.clm |
binary |
short [2 bytes] |
number of rain days |
yes [38 byte] |
CO2 |
co2_1901-2003.dat |
ascii |
char [1 byte] |
ppmv |
no |
country code (new version) | cow_mg_2006.bin | binary | short [2 bytes] | yes [39 bytes] | |
landuse | luc2003_gmia4.clm | binary | short [2bytes] | fraction [*1000] | yes [38 bytes] |
- header name (1 byte
char array, LPJCLIMATE (10 bytes) for temp,precip,wet days
and cloudiness, LPJGRID (7 bytes) for coordinate data,
LPJLANDUSE (10 bytes) for
landuse data, LPJ_COUNTRY (11 bytes) for country codes)
- header version (4 byte integer, currently set to 1, also used to
determine if input data needs byte swapping)
- order (4 byte
integer, values are either 1 (cellyear) or 2 (yearcell))
- firstyear
(4 byte integer, first year of data record)
- nyear (4 byte
integer, total number of years)
- firstcell (4 byte
integer)
- ncell (4 byte integer, number of
grid cells represented)
- nbands (4 byte
integer)
-----------------------------------
gridfile [scaled:
degree*100]
in C data type short (2 bytes), lon lat for
each pixel
defines the extent of your input data
size of header: 35 bytes
-----------------------------------
-----------------------------------
soil input
data type char (1 byte), the grid needs to
be the same as your input
grid / climate data
values are currently ranging from 0 to 9
corresponding
soil parameters can be found in par/soil.par
no header
-----------------------------------
-----------------------------------
- atmospheric carbon dioxide [ppmv]
global annual mean CO2 concentration
as ASCII file
format: year concentration
Example
1990 354.19
1991 355.59
1992 356.37
1993 357.04
1994 358.88
-----------------------------------
RIVER_ROUTING | for reading input for routing and for river routing itself |
NAT_VEG | quick fix to run LPJmL with natural vegetation only |
USE_CPP | |
DEBUGEFENCE | needed only to run LPJmL in a degugging environment (DDD on linux or dbx on UNIX): here, uninitialized variables are not allowed, although they are no problem in the normal running mode |
DEBUG | include lots of print statements in the code |
LANDUSE | so far only in the LPJ_SPEEDY branch. Includes all land-use specific routines, especially the memory allocation to the cropdates and the landuse structure. |
SAFE | Check LPJ variables and data, traps errors (such as negative soil moisture) |
Option |
Comment |
---|---|
g | Produce debugging information in the operating system's native format |
O3 |
Optimize yet more. -O3 turns on all optimizations specified by -O2 and also turns on the -finline-functions, -funswitch-loops and -fgcse-after-reload options. |
Wall | This enables all the warnings. |
USE_CPP | Enable preprocessing |
USE_UNAME | Include /sys/utsname.h for system informations |
USE_RAND48 | Use seed uniformly distributed double-precision pseudo-random number generator |
DEBUGEFENCE | needed only to run LPJmL in a degugging environment (DDD on linux or dbx on UNIX):here, uninitialized variables are not allowed, although they are no problem in the normal running mode |
Windows requires some specific adjustments to make LPJ compile and run. Here's a first overview of what to do:
The location of each error reported is shown with the where command in the debugger