mirror of https://github.com/ecmwf/eccodes.git
Ported grib_api 1.10.4 from p4 to git
This commit is contained in:
commit
33b891186d
|
@ -0,0 +1,36 @@
|
||||||
|
# compiled source #
|
||||||
|
###################
|
||||||
|
*.com
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
*.o
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Packages #
|
||||||
|
############
|
||||||
|
*.7z
|
||||||
|
*.dmg
|
||||||
|
*.gz
|
||||||
|
*.iso
|
||||||
|
*.jar
|
||||||
|
*.rar
|
||||||
|
*.tar
|
||||||
|
*.zip
|
||||||
|
|
||||||
|
# Logs and databases #
|
||||||
|
######################
|
||||||
|
*.sql
|
||||||
|
*.sqlite
|
||||||
|
|
||||||
|
# OS generated files #
|
||||||
|
######################
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
Icon?
|
||||||
|
ehthumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
.directory
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
Shahram Najm
|
||||||
|
Enrico Fucile
|
||||||
|
Baudoin Raoult
|
||||||
|
Cristian Codorean
|
||||||
|
Jean-Baptiste Filippi
|
|
@ -0,0 +1,101 @@
|
||||||
|
############################################################################################
|
||||||
|
# cmake options:
|
||||||
|
#
|
||||||
|
# -DCMAKE_BUILD_TYPE=Debug|RelWithDebInfo|Release|Production
|
||||||
|
# -DCMAKE_INSTALL_PREFIX=/path/to/install
|
||||||
|
#
|
||||||
|
# -DCMAKE_MODULE_PATH=/path/to/ecbuild/cmake
|
||||||
|
#
|
||||||
|
# -DCMAKE_C_COMPILER=gcc
|
||||||
|
# -DCMAKE_C_COMPILER=g++
|
||||||
|
#
|
||||||
|
# -DCMAKE_PREFIX_PATH=/path/to/jasper:/path/to/any/package/out/of/place
|
||||||
|
#
|
||||||
|
# -DGRIB_API_PATH=/path/to/grib
|
||||||
|
|
||||||
|
cmake_minimum_required( VERSION 2.8.4 FATAL_ERROR )
|
||||||
|
|
||||||
|
project( grib_api C )
|
||||||
|
|
||||||
|
set( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH} )
|
||||||
|
|
||||||
|
include( ecbuild_system )
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# local project
|
||||||
|
|
||||||
|
ecbuild_declare_project()
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# some variables/options of this project
|
||||||
|
|
||||||
|
option( GRIB_API_PYTHON "whether or not to build the GRIB_API python interface" ON )
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# macro processing
|
||||||
|
|
||||||
|
find_package( CMath )
|
||||||
|
|
||||||
|
find_package( SZip )
|
||||||
|
set( HAVE_LIBSZIP ${SZIP_FOUND} )
|
||||||
|
|
||||||
|
find_package( SWIG )
|
||||||
|
if( SWIG_FOUND )
|
||||||
|
include( ${SWIG_USE_FILE} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# contents
|
||||||
|
|
||||||
|
### config header
|
||||||
|
|
||||||
|
configure_file( grib_api_config.h.in grib_api_config.h )
|
||||||
|
|
||||||
|
### include directories
|
||||||
|
|
||||||
|
include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src )
|
||||||
|
|
||||||
|
add_definitions( -DHAVE_GRIB_API_CONFIG_H )
|
||||||
|
|
||||||
|
if( NOT DEFINED GRIB_API_DEFINITION_PATH )
|
||||||
|
set( GRIB_API_DEFINITION_PATH ${CMAKE_INSTALL_PREFIX}/share/grib_api/definitions )
|
||||||
|
endif()
|
||||||
|
if( NOT DEFINED GRIB_API_SAMPLES_PATH )
|
||||||
|
set( GRIB_API_SAMPLES_PATH ${CMAKE_INSTALL_PREFIX}/share/grib_api/samples )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if( IEEE_BE )
|
||||||
|
add_definitions( -DIEEE_BE )
|
||||||
|
endif()
|
||||||
|
if( IEEE_LE )
|
||||||
|
add_definitions( -DIEEE_LE )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory( src )
|
||||||
|
add_subdirectory( tools )
|
||||||
|
add_subdirectory( fortran )
|
||||||
|
add_subdirectory( python )
|
||||||
|
add_subdirectory( definitions )
|
||||||
|
add_subdirectory( tests )
|
||||||
|
add_subdirectory( tigge )
|
||||||
|
add_subdirectory( examples )
|
||||||
|
# add_subdirectory( samples )
|
||||||
|
|
||||||
|
# ecbuild_dont_pack( DIRS samples DONT_PACK_REGEX "*.grib" )
|
||||||
|
|
||||||
|
############################################################################################
|
||||||
|
# installation
|
||||||
|
|
||||||
|
if( NOT ${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME} )
|
||||||
|
set( GRIB_API_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src PARENT_SCOPE )
|
||||||
|
set( GRIB_API_LIBRARIES grib_api ${CMATH_LIBRARIES} PARENT_SCOPE )
|
||||||
|
set( GRIB_API_FOUND TRUE PARENT_SCOPE )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
############################################################################################
|
||||||
|
# finalize
|
||||||
|
|
||||||
|
ecbuild_install_project( NAME grib_api )
|
||||||
|
|
||||||
|
ecbuild_print_summary()
|
|
@ -0,0 +1,457 @@
|
||||||
|
21-01-2013 Shahram Najm
|
||||||
|
-- released version 1.10.0
|
||||||
|
* Updated copyright notices to Apache Licence Version 2.0
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* Availability of grib2netcdf tool from grib_api
|
||||||
|
* Support in grib_api for Lambert Conformal grid (grib_get_data)
|
||||||
|
* Updated GRIB edition 2 definitions with the latest WMO V9 templates/tables
|
||||||
|
* ERA-CLIM: Added support for Simulated Radiances
|
||||||
|
* LWDA: Added support to Long Window 4DVar
|
||||||
|
* ERA-CLIM: New stream (ensemble supplementary data) and origin (Hadley Centre)
|
||||||
|
* GRIB definitions of new variables from LISFLOOD hydrological model
|
||||||
|
* Added Local Definition 21 (Sensitive area predictions) for GRIB edition 2
|
||||||
|
* Provided user-friendly function in API to check if a key is defined (grib_is_defined)
|
||||||
|
* Python: Provided function to set key values in one go (like grib_set -s)
|
||||||
|
* New MARS codes for surface parameters (effective total cloudiness)
|
||||||
|
* Corrected ifs_samples installation path
|
||||||
|
* New streams for ensemble data added to the parameter database
|
||||||
|
* New mars streams added for ensemble data assimilation
|
||||||
|
* Added pseudo-grib (budg) sample file for IFS
|
||||||
|
* Added new centre codes for COSMO, Ireland and Austria
|
||||||
|
* Bug fix: python interface missing __version__
|
||||||
|
* Bug fix: on make dist, definitions and sample go to /usr/share instead of /usr/share/grib_api/
|
||||||
|
* Bug fix: padding.sh fails in Debian automatic build machines
|
||||||
|
* Bug fix: Lambert azimuthal equal area
|
||||||
|
* Bug fix: Assertion when trying to encode the level information of some cloud cover fields
|
||||||
|
* Bug fix: ERA-CLIM: Support for existing streams EDMM, EDMO, EWMM, EWMO
|
||||||
|
* Bug fix: Netcdfs generated by grib_to_netcdf seem to be upside down
|
||||||
|
* Bug fix: python binding without numpy support grib_get_array(gid,'pv',float)
|
||||||
|
* Bug fix: grib_dump crashing with some second order packed files
|
||||||
|
* Bug fix: running grib_to_netcdf on a non regular lat/lon grid grib file results in invalid netcdf
|
||||||
|
* Bug fix: Assertion: Interpolation (or truncation) of GRIB 2 data into T21
|
||||||
|
* Bug fix: Make sure that grib_filter checks all disk writes.
|
||||||
|
* Bug fix: if "configure" is run without --prefix, IFS_SAMPLES_PATH starts with "NONE"
|
||||||
|
* Bug fix: grib_to_netcdf: long_name/units incorrect
|
||||||
|
* Bug fix: grib_filter error: converting edition 1 to 2: unable to get extraDimensionPresent as long
|
||||||
|
* Bug fix: grib_check Fortran definition is inconsistent with other Fortran definition:
|
||||||
|
uses "integer" instead of "integer(kind=kindOfInt)" as status variable
|
||||||
|
* Bug fix: Remove redundant MARS type and stream entries for TIGGE
|
||||||
|
* Bug fix: Remove layer information from grib_api concepts for soil parameters
|
||||||
|
* Bug fix: grib_api 1.10.0 with MARS client: Interpolation failed
|
||||||
|
* Bug fix: Remove parameter 500011: 2m Temperature
|
||||||
|
* Bug fix: Remove new grib2 representations for parameters: 210004 and 210061
|
||||||
|
* Bug fix: Wrong short name for centre 82 in 0.table
|
||||||
|
* Bug fix: configure option disable-vector actually enables it!
|
||||||
|
* Bug fix: LWDA: Support for Errors in Analysis
|
||||||
|
|
||||||
|
|
||||||
|
19-10-2012 Shahram Najm
|
||||||
|
-- released version 1.9.18
|
||||||
|
* Updated sample gribs with recent changes for Reduced Gaussian N1024 and N2000
|
||||||
|
* Updated GRIB2 definitions with the latest WMO version 8 templates/tables
|
||||||
|
* Added missing parts in Grid Definition Template 3.120
|
||||||
|
* Added GRIB2 template 4.32 (simulated satellite data)
|
||||||
|
* Removed redundant MARS files for type and stream combinations
|
||||||
|
* Bug fix: Segmentation violation: calling grib_set on 'values' (decimal scale factor)
|
||||||
|
* Bug fix: grib_get_data returns incorrect lat-lon values for some GRIBS
|
||||||
|
* Bug fix: grib_filter does not fail with a non-zero return code when setting an invalid key
|
||||||
|
* Bug fix: Cannot set paramId to 228170 (Field Capacity) for grib edition 2
|
||||||
|
* Bug fix: grib_api compilation fails when enabling pthreads in recent Linux distributions
|
||||||
|
* Bug fix: Segmentation violation when GRIB_DEFINITION_PATH contains colon
|
||||||
|
* Bug fix: Compilation failure: problems with GRIB_INLINE: undefined reference to stdio_read etc
|
||||||
|
* Bug fix: Setting step to the new value in GRIB2 creates wrong [day,hour]endOfOverallTimeInterval
|
||||||
|
* Bug fix: grib_keys -L should show the real contents of SAMPLES PATH
|
||||||
|
* Bug fix: Crash: Running the fortran example get_data
|
||||||
|
* Bug fix: grib_filter with verbose option -v writes out lots of blank lines
|
||||||
|
* Bug fix: tools/grib1to2.sh depends on /usr/bin/ksh which is a non standard location and breaks RPMs
|
||||||
|
* Bug fix: GRIB1: Problem with derive probability for wave height larger than 8m
|
||||||
|
* Bug fix: Bug when printing thickness of layers (typeOfLevel = depthBelowLandLayer)
|
||||||
|
* Bug fix: Correct typos in parameter database
|
||||||
|
* Bug fix: test script second_order.sh not working on some stricter shells
|
||||||
|
* Bug fix: Compilation failure: tools/grib_compare.c - error on SX9 with the "end" variable
|
||||||
|
* Bug fix: Build fails in Solaris 10: Wrong Fortran module include
|
||||||
|
|
||||||
|
16-03-2012 Shahram Najm
|
||||||
|
-- released version 1.9.16
|
||||||
|
* Disabled boustrophedonic ordering in second order packing.
|
||||||
|
* Fixed the python bug in setting keys of type "double".
|
||||||
|
* New parameters have been added to the parameter database and to the definition files.
|
||||||
|
* Fixed a problem producing unwanted padding between messages when converting some fields from second order packing
|
||||||
|
* Improved thread safety in relation to the creation of an index. Creating a new grib_handle or indexing different files is thread safe.
|
||||||
|
* Fixed grib_dump not to display zeros when all values were missing.
|
||||||
|
* Fixed minor bugs
|
||||||
|
|
||||||
|
17-03-2011 Enrico Fucile
|
||||||
|
-- released version 1.9.9
|
||||||
|
* Several changes have been made to the internal functions used by the interpolation package in EMOSLIB 381
|
||||||
|
to make the results of the grib_api based interpolation as close as possible to the GRIBEX based one.
|
||||||
|
* laplacianOperator for spectral fields is always computed. If the computation is not required please
|
||||||
|
set the key computeLaplacianOperator=0. Default behaviour is computeLaplacianOperator=1.
|
||||||
|
* New parameters have been added to the parameter database and to the definition files regarding
|
||||||
|
the MACC project.
|
||||||
|
* Second order packing (packingType=grid_second_order) is producing smaller fields as the default setting
|
||||||
|
is to use the boustrophedonic option.
|
||||||
|
|
||||||
|
25-02-2011 Enrico Fucile
|
||||||
|
-- released version 1.9.8
|
||||||
|
* WARNING: A significant change in the fortran interface has been done for which some
|
||||||
|
software using the previous versions could exhibits memory allocation problems due
|
||||||
|
to unreleased memory associated with the GRIB messages. In the previous versions
|
||||||
|
(starting from version 1.6.1) the argument IGRIB of the functions GRIB_NEW_FROM_FILE,
|
||||||
|
GRIB_NEW_FROM_MESSAGE, GRIB_NEW_FROM_INDEX, GRIB_CLONE was an input and output argument.
|
||||||
|
In the new version IGRIB is output only and the grib message associated with IGRIB will
|
||||||
|
never be released by the GRIB_NEW_FROM_FILE function. This means that to release the memory
|
||||||
|
associated to the message a call to GRIB_RELEASE(IGRIB) has to be introduced when the message
|
||||||
|
is not needed any more. In the previous version the memory was released when a value of IGRIB
|
||||||
|
associated with a valid message was passed to the function. It has been realised that this
|
||||||
|
behaviour was source of unexpected results when the IGRIB variables used in the user code were
|
||||||
|
not initialised to a non valid IGRIB value (zero or negative integer). We strongly advise the
|
||||||
|
users to revise the existing code using previous grib_api versions or to link to the new library,
|
||||||
|
add the appropriate GRIB_RELEASE calls and test it for memory allocation.
|
||||||
|
|
||||||
|
For convenience we report an example of code which could cause problems and has to be reviewed.
|
||||||
|
|
||||||
|
integer :: IGRIB1
|
||||||
|
integer :: IGRIB2
|
||||||
|
|
||||||
|
call grib_new_from_file(IGRIB1,...)
|
||||||
|
... do something ...
|
||||||
|
call grib_new_from_file(IGRIB2,...)
|
||||||
|
... do something ...
|
||||||
|
|
||||||
|
IGRIB1 and IGRIB2 are not initialised to zero and we don't know which value is assigned to them.
|
||||||
|
It could be IGRIB1=IGRIB2=5 or any other number greather or equal to zero. If this happens at the
|
||||||
|
second call of grib_new_from_file IGRIB1 will be replaced by IGRIB2 producing very dangerous
|
||||||
|
consequences as the IGRIB1 doesn't point any more to the GRIB message it was supposed to.
|
||||||
|
Please revise your code in view of this example or link to the new version and add a call
|
||||||
|
to the GRIB_RELEASE function to release the memory when the which is not any more released in the new version.
|
||||||
|
|
||||||
|
* Second order packing algorithm rewritten and working in GRIB edition 1 and 2 with
|
||||||
|
packingType=grid_second_order.
|
||||||
|
* This version is ready to be used with the new GRIB1 and GRIB2 interpolation function (INTF2)
|
||||||
|
available in EMOSLIB.
|
||||||
|
* A significant change in the fortran interface has been done for which some software using the
|
||||||
|
previous versions could exhibits memory allocation problems due to unreleased memory associated
|
||||||
|
with the GRIB messages. In the previous versions (starting from version 1.6.1) the argument IGRIB
|
||||||
|
of the function GRIB_NEW_FROM_FILE(IFILE,IGRIB) was an input and output argument.
|
||||||
|
In the new version is output only and the grib message associated with IGRIB will never be released
|
||||||
|
by the GRIB_NEW_FROM_FILE function. This means that to release the memory associated to the message
|
||||||
|
a call to GRIB_RELEASE(IGRIB) has to be introduced when the message is not needed any more. In the
|
||||||
|
previous version the memory was released when a value of IGRIB associated with a valid message was
|
||||||
|
passed to the function. It has been realised that this behaviour was source of unexpected results
|
||||||
|
when the IGRIB variables used in the user code were not initialised to a non valid IGRIB value
|
||||||
|
(zero or negative integer).
|
||||||
|
* Review and update of the code tables.
|
||||||
|
* Added new parameters. Full list of parameters accessible from
|
||||||
|
http://www.ecmwf.int/publications/manuals/d/gribapi/param/
|
||||||
|
* Bug fixes.
|
||||||
|
|
||||||
|
14-10-2010 Enrico Fucile
|
||||||
|
-- released version 1.9.5
|
||||||
|
* Python interface available with the configure option --enable-python.
|
||||||
|
See http://www.ecmwf.int/publications/manuals/grib_api/namespacegribapi.html
|
||||||
|
and http://www.ecmwf.int/publications/manuals/grib_api/grib_examples.html
|
||||||
|
* Available new environment variable GRIB_API_IO_BUFFER_SIZE defining the size in bytes of the buffer
|
||||||
|
used in the IO calls from Fortran and in the tools.
|
||||||
|
* Performance improvements and partial vectorisation for the NEC SX platform.
|
||||||
|
* Review and update of the code tables.
|
||||||
|
* Update of paramId, shortName, name key values and release of a new parameter database web interface.
|
||||||
|
* Added a new key called 'global' for regular_gg and reduced_gg which can take the values 1 ( =True) or 0 (=False).
|
||||||
|
This is used to specify whether the grid is global or not. Setting global=1 will set the grid parameters computed
|
||||||
|
only from N and Ni. It is used in the conversion from one edition to the other.
|
||||||
|
* Available new environment variable GRIB_API_NO_ABORT. Default value is 0 and when it is set to 1 the library will not
|
||||||
|
abort on failing asserts.
|
||||||
|
* Bug fixes.
|
||||||
|
|
||||||
|
|
||||||
|
07-05-2010 Enrico Fucile
|
||||||
|
-- released version 1.9.0
|
||||||
|
* Setting paramId or converting from one edition to the other when a parameter is not
|
||||||
|
defined in the paramId.def file will result in a failure.
|
||||||
|
* Improved performance in reading/cloning a message.
|
||||||
|
* Changed the indexing system and provided new functions to write the index on a file
|
||||||
|
grib_index_write and read it grib_index_read
|
||||||
|
* Provided a new tool to build an index from a set of files: grib_index_build.
|
||||||
|
* The tool grib_compare is able to compare two index files, going through the grib messages
|
||||||
|
indexed in the first and searching for them in the second.
|
||||||
|
* definition files and library have been updated to be used in operational status in the
|
||||||
|
IFS cycle 36R2
|
||||||
|
* grib_ls has slightly changed format.
|
||||||
|
* A -j option is provided in grib_ls (-l only) to have the output in json format.
|
||||||
|
* BUFR messages are read, but only very basic decoding is provided.
|
||||||
|
* Parameters have been updated.
|
||||||
|
* Native type of paramId has been changed from string to integer.
|
||||||
|
* Several small bug fixes.
|
||||||
|
|
||||||
|
23-07-2009 Enrico Fucile
|
||||||
|
-- released version 1.8.0
|
||||||
|
* Improved conversion from edition 1 to 2. Set edition=2 will do the conversion
|
||||||
|
from edition 1 to 2 also of the parameter information.
|
||||||
|
* shortName, paramId and units are defined for all the official WMO parameters
|
||||||
|
and for local parameters used at ECMWF and NCEP
|
||||||
|
* grib_compare has been modified to compare grib 1 and 2 (option -e).
|
||||||
|
Other important chages have been done on grib_compare to have a more powerful tool to compare headers and
|
||||||
|
values. New options are provided to choose the tolerance and new namespaces are available to
|
||||||
|
compare only the relevant part of information. The new namespaces are.
|
||||||
|
parameter,geography,vertical,time,local,data.
|
||||||
|
* For some ECMWF local definitions the conversion rules have been included in grib_api.
|
||||||
|
* A new key cfName is provided for the netcdf CF name. It is at the moment defined
|
||||||
|
only for some parameters.
|
||||||
|
* The parameter information is generated from a parameter database maintained at ECMWF
|
||||||
|
and accessible from a new section in the grib_api web pages.
|
||||||
|
* A new key typeOfLevel valid for grib edition 1 and 2, with the following values has been introduced
|
||||||
|
'surface', 'cloudBase', 'cloudTop', 'isothermZero', 'adiabaticCondensation', 'maxWind',
|
||||||
|
'tropopause', 'nominalTop', 'seaBottom', 'isobaricInhPa', 'isobaricInPa', 'isobaricLayer',
|
||||||
|
'meanSea', 'isobaricLayerHighPrecision', 'isobaricLayerMixedPrecision', 'heightAboveSea',
|
||||||
|
'heightAboveSeaLayer', 'heightAboveGroundHighPrecision', 'heightAboveGround', 'heightAboveGroundLayer'
|
||||||
|
'sigma', 'sigmaLayer', 'sigmaLayerHighPrecision', 'hybrid', 'hybridLayer', 'depthBelowLand',
|
||||||
|
'depthBelowLandLayer', 'theta', 'thetaLayer', 'pressureFromGround', 'pressureFromGroundLayer',
|
||||||
|
'potentialVorticity', 'depthBelowSea', 'entireAtmosphere', 'entireOcean', 'oceanWave', 'oceanMixedLayer'
|
||||||
|
* The open source library OpenJpeg can be used in place of Jasper for the jpeg 2000 coding.
|
||||||
|
--with-openjpeg options in the configure.
|
||||||
|
* decimalPrecision can be used also with grid_jpeg packing.
|
||||||
|
* parameterName,parameterUnits are provided from the code tables.
|
||||||
|
* packingError is also available for spherical harmonics packing. It provieds the error due to simple packing.
|
||||||
|
* option -l added in grib_get
|
||||||
|
* option -F added in grib_get and grib_ls to control the format of floating point keys.
|
||||||
|
* grib_ls output has been changed due to the introduction of the new typeOfLevel key
|
||||||
|
* Subroutine grib_is_missing added in the Fortran interface to check if a header value is missing.
|
||||||
|
* Changed step behaviour. If the step is "instant" and the value doesn't fit into one byte (in grib 1)
|
||||||
|
* an appropriate value of timeRangeIndicator is found to code the value in two bytes instead of 1.
|
||||||
|
* In grib_filter the function "append" has been added to append a message to a file as opposed to "write" which is
|
||||||
|
writing from the beginning of the file.
|
||||||
|
* A new grib_count function is available to count (very fate) the number of messages in a list of files.
|
||||||
|
* The value of the key level is zero in both edition when it is not relevant for the message and it is
|
||||||
|
missing in grib edition 2.
|
||||||
|
* The indexing routines have been improved to process string keys.
|
||||||
|
|
||||||
|
06-03-2009 Enrico Fucile
|
||||||
|
-- released version 1.7.0
|
||||||
|
* New indexing routines.
|
||||||
|
Example: index.f90
|
||||||
|
(http://www.ecmwf.int/publications/manuals/grib_api/grib_examples.html)
|
||||||
|
* New keys stepType,stepUnits,stepRange,startStep,endStep.
|
||||||
|
* New keys swapScanningX, swapScanningY, swapScanningLat, swapScanningLon. To
|
||||||
|
swap the field respect one axis. They swap data and fix the header accordingly.
|
||||||
|
* "Improved" error messages.
|
||||||
|
* write multi fields. Previous versions of grib_api were able only to read multi
|
||||||
|
fields, now you can also write multi fields. We don't suggest to you this
|
||||||
|
feature, it is included only to be compliant with FM-92 spec.
|
||||||
|
Examples: multi.f90, multi_write.f90
|
||||||
|
(http://www.ecmwf.int/publications/manuals/grib_api/grib_examples.html)
|
||||||
|
* function grib_new_from_template is deprecated and it will be replaced with
|
||||||
|
grib_new_from_samples. Also the environment variable GRIB_TEMPLATES_PATH is
|
||||||
|
replaced by GRIB_SAMPLES_PATH. Please replace "template" with "samples" in all
|
||||||
|
the C functions also. The behavior is the same. I made a new example showing the
|
||||||
|
best practice to use samples. The technique of cloning is strongly recommended.
|
||||||
|
Example: samples.f90
|
||||||
|
(http://www.ecmwf.int/publications/manuals/grib_api/grib_examples.html)
|
||||||
|
* New key decimalPrecision provided. Used in the previous example. Regarding
|
||||||
|
decimalPrecision and bitsPerValue the following problem was found in the
|
||||||
|
previous version. If after loading from file or from sample (template) or
|
||||||
|
cloning a constant field you set some non constant values the library doesn't
|
||||||
|
know the bitsPerValue or the decimalPrecision you want to code (those are zero
|
||||||
|
in the constant field). The result could have been a field coded with a poor
|
||||||
|
precision. Starting with the new 1.7.0 version in these ambiguous cases grib_api
|
||||||
|
is using 24 bits to pack the field (safe value). We always suggest to set
|
||||||
|
explicitly the bitsPerValue or decimalPrecision or to clone non constant fields
|
||||||
|
with those values properly set.
|
||||||
|
* grib_copy, grib_set. A key name in square brackets can be used in the output
|
||||||
|
file name. The key will be replaced with its value in the processed grib
|
||||||
|
message. This will provide an easy way for splitting fields as the file name
|
||||||
|
will be dependent on some key values. Example:
|
||||||
|
grib_copy input.grib "output_[shortName]_[date]_[step].grib"
|
||||||
|
Please remember to quote the file name otherwise you can get strange behaviors
|
||||||
|
due to the shell.
|
||||||
|
* New key packingError. The error introduced by the packing algorithm is
|
||||||
|
returned with this key. It is available only for some packing algorithms. All
|
||||||
|
the packed values are affected by this error in the sense that
|
||||||
|
original value before packing = unpacked value ± packingError
|
||||||
|
packingError is different for different fields (also for different steps of the
|
||||||
|
same parameter/level/run).
|
||||||
|
* all the nearest functions are returning the distance from the grid point in
|
||||||
|
Km, using the radius coded in the message.
|
||||||
|
* key bitmapPresent now available also in grib 2. Example: bitmap.f90
|
||||||
|
(http://www.ecmwf.int/publications/manuals/grib_api/grib_examples.html)
|
||||||
|
|
||||||
|
30-09-2008 Enrico Fucile
|
||||||
|
-- released version 1.6.4
|
||||||
|
* Fields containing a bitmap with all missing values can be coded in grib1 and grib2
|
||||||
|
* Multifields grib2 messages can be loaded from memory.
|
||||||
|
* local definition 31 added
|
||||||
|
* Better use of memory
|
||||||
|
* minor bug fixes
|
||||||
|
|
||||||
|
16-07-2008 Enrico Fucile
|
||||||
|
-- released version 1.6.1
|
||||||
|
* More efficient use of memory and improvement of performance.
|
||||||
|
* Thread safe version available through the --enable-pthread configure option.
|
||||||
|
* New computation of kindOfInt, kindOfLong, kindOfDouble, kindOfFloat, kindOfSize
|
||||||
|
to allow safe arguments handing between Fortran 90 and C.
|
||||||
|
* A new key bitmap is provided to get the full bitmap as a string with the grib_filter
|
||||||
|
instruction: print "[bitmap]";
|
||||||
|
* all the tools are failing on error and can be forced to proceed execution with
|
||||||
|
the option -f . The only exception is grib_ls because we already have an identical
|
||||||
|
tool failing (grib_get).
|
||||||
|
* new error messages from the Fortran 90 interface will give you some more chance to debug
|
||||||
|
your code.
|
||||||
|
* New function grib_count_in_file available from Fortran and C to count the messages in a file.
|
||||||
|
See example: examples/F90/count_messages.f90
|
||||||
|
* In the Fortran 90 interface any valid grib id passed to a grib_new_from_file or grib_new_from_message
|
||||||
|
will be released before being assigned to a new grib message.
|
||||||
|
Example
|
||||||
|
call grib_new_from_file(ifile,igrib, iret)
|
||||||
|
do while (iret /= GRIB_END_OF_FILE)
|
||||||
|
... do something with the message pointed by igrib
|
||||||
|
... igrib will have the same value, but
|
||||||
|
... it will point to a different message each cycle
|
||||||
|
... the message from the previous cycle will be released
|
||||||
|
... no need for grib_release(igrib)
|
||||||
|
call grib_new_from_file(ifile,igrib, iret)
|
||||||
|
enddo
|
||||||
|
If you want to keep the grib message in memory remember to pass a negative grib id.
|
||||||
|
Example
|
||||||
|
call grib_count_in_file(ifile,n)
|
||||||
|
allocate (igrib(n))
|
||||||
|
do i=1,n
|
||||||
|
call grib_new_from_file(ifile,igrib(i), iret)
|
||||||
|
...
|
||||||
|
enddo
|
||||||
|
... remember to release the grib ids to free memory
|
||||||
|
do i=1,n
|
||||||
|
call grib_release(igrib(i))
|
||||||
|
enddo
|
||||||
|
* grib_filter is now able to print with a format, number of colums and a separator for array keys.
|
||||||
|
The format is expressed with a % followed by a C like (printf) format declarator.
|
||||||
|
The number of columns is started with !
|
||||||
|
The separator string is delimited by ' '
|
||||||
|
Examples
|
||||||
|
print "[values!6%.5f',']" values with 5 digits precision in 6 columns separated by ,
|
||||||
|
print "[latitudes%.3f!1]" latitudes with 3 digits precision in a column
|
||||||
|
print "pl={[pl!7', ']}" pl (number of point for each latitude) in 7 columns separated by ', '
|
||||||
|
* New keys:
|
||||||
|
julianDay
|
||||||
|
latLonValues array containing latitude(1),longitude(1),value(1), latitude(2),longitude(2),value(2),...,
|
||||||
|
latitude(N),longitude(N),value(N) (N=number of points in the grid)
|
||||||
|
latitudes latitude(1),latitude(2),...,latitude(N) (N=number of points in the grid)
|
||||||
|
longitudes longitude(1),longitude(2),...,longitude(N) (N=number of points in the grid)
|
||||||
|
distinctLatitudes list of distinct latitudes
|
||||||
|
distinctLongitudes list of distinct longitudes
|
||||||
|
* minor bug fixes
|
||||||
|
|
||||||
|
03-06-2008 Enrico Fucile
|
||||||
|
-- released version 1.5.0
|
||||||
|
* Review of packing algorithms. Improvement of performance mainly on big endian
|
||||||
|
platforms.
|
||||||
|
* Modified the internal retrieval of keys, improving performance in getting and setting
|
||||||
|
keys.
|
||||||
|
* Implemented memory management. An efficient tecnique to reuse memory is implemented.
|
||||||
|
--disable-memory-management configure option available to disable the memory managemet
|
||||||
|
and use system malloc/free.
|
||||||
|
* Some experimental multithreaded packing is available for big endian machines.
|
||||||
|
A configure option --enable-omp-packing is provided to enable the openMP instructions
|
||||||
|
contained in the new packing. The environment variable OMP_NUM_THREADS sets the number
|
||||||
|
of threads used in the packing algorithm.
|
||||||
|
* grib_filter improvement:
|
||||||
|
* it is now possible to set array keys like values or pl as follows:
|
||||||
|
values = { 0.1, 3.2, 7.5 };
|
||||||
|
* it is now possible to print array keys like values or pl as follows:
|
||||||
|
print "values=[values]";
|
||||||
|
it is also possible to print on a file ("test.out") doing:
|
||||||
|
print("test.out") "values=[values]";
|
||||||
|
* better error messages are printed
|
||||||
|
* it does not fail if an undefined key is used in a write or print statement
|
||||||
|
* New keys or changed keys:
|
||||||
|
* a scale factor and an offset can be applied to the data values through the keys
|
||||||
|
"scaleValuesBy" and "offsetValuesBy".
|
||||||
|
* setBitsPerValue is the new key to be used to change the number of bits per value.
|
||||||
|
It also executes the repacking.
|
||||||
|
* The keys periodOfTime is now working also when indicatorOfUnitOfTimeRange=0 (time units is
|
||||||
|
minutes)
|
||||||
|
* Concepts can be defined by the user. Concepts are a way to link the value of a key to
|
||||||
|
a combination of values of other keys. They are used to define the short_name and the
|
||||||
|
name.
|
||||||
|
* minor bug fixes
|
||||||
|
|
||||||
|
07-02-2008 Enrico Fucile
|
||||||
|
-- released version 1.4.0
|
||||||
|
* New Fortan 90 interface. Main featues:
|
||||||
|
* unique grib_get/grib_set subroutines to get/set any variable type.
|
||||||
|
* status code is an optional argument in all the subroutines (when omitted
|
||||||
|
the program will exit in case of error)
|
||||||
|
* new subroutine grib_get_data to get the latitude/longitude/values arrays.
|
||||||
|
* new subroutine grib_get_element to get one or several elements of an array key
|
||||||
|
through their index.
|
||||||
|
* new subroutine grib_nearest function to get the nearest grid point of a given lat/lon.
|
||||||
|
It accepts in input also arrays of latitude/longitudes to find the nearest points in one
|
||||||
|
single call. A land sea mask mode is also available to get the nearest land point.
|
||||||
|
* New Fortran 90 examples and documentation.
|
||||||
|
* New grib_keys tool to obtain the list of keys available for a specified type of grib.
|
||||||
|
* Modified the -l option in grib_ls (see documentation or type grib_ls without arguments)
|
||||||
|
* fixed a bug in the grib_filter and added the -o option for the output file.
|
||||||
|
* minor bug fixes.
|
||||||
|
|
||||||
|
12-11-2007 Enrico Fucile
|
||||||
|
-- released version 1.3.0
|
||||||
|
* grib_ls -l lat/lon/mode to retrieve values in the nearest grid points of a given
|
||||||
|
latitude longitude point
|
||||||
|
* grib_ls -B"order by" to order the output using some keys
|
||||||
|
* grib_ls -i index. To extract the value in the index grid point.
|
||||||
|
* new grib_dump exposing a minimum set of keys which are the ones suggested for the
|
||||||
|
standard use. Some options added to the grib_dump. The output of this new
|
||||||
|
grib_dump is ready to be coupled to the new grib_gen which will be released in the
|
||||||
|
next version.
|
||||||
|
* grib_copy -r to repack data fixing problems in the original file
|
||||||
|
* improved keys search for faster tools
|
||||||
|
* grib_get_data and grib_iterator working with all scanning mode
|
||||||
|
* new experimental functions introduced, not available in the fortran
|
||||||
|
interface: grib_fieldset_new,grib_fieldset_apply_order_by,grib_fieldset_next_handle
|
||||||
|
grib_nearest_new,grib_nearest_find,grib_nearest_delete
|
||||||
|
* some examples on the grib_fieldset and grib_nearest are added.
|
||||||
|
* The management of the missing data in grib_get_data is changed. Please refer to the help
|
||||||
|
obtained executing grib_get_data without arguments.
|
||||||
|
* Added the key stepRange which is native type string. It can represent start and end of a
|
||||||
|
cumulation or a max of min interval. Example stepRange=24-36 for a precipitation means that it
|
||||||
|
is cumulated between 24 and 36. It also addresses the problems with the big steps which don't
|
||||||
|
fit in the grib1 P1 and P2.
|
||||||
|
* Added key numberOfCodedValues. It is different from numberOfValues only if a bitmap is present and
|
||||||
|
the difference between the two should be numberOfMissingValues.
|
||||||
|
* Added the option -g to grib_copy, grib_set, grib_convert, grib_filter to preserve GTS headers
|
||||||
|
wrapping the grib message
|
||||||
|
* fixed some bugs in the fortran interface
|
||||||
|
* fixed a bug in reading the signed floats with the grib_convert.
|
||||||
|
|
||||||
|
01-09-2007 Enrico Fucile
|
||||||
|
-- released version 1.2.0
|
||||||
|
* changed license. Now grib_api is distributed under LGPL see LICENSE file in distribution.
|
||||||
|
* changed io functions and configure.ac to support files larger than 2GB
|
||||||
|
* as a consequence to the large file support the key offset has native type double
|
||||||
|
* added support for predefined grids
|
||||||
|
* modified grib_handle_new_from_file to read messages with wrong message length.
|
||||||
|
In this case an error will be raised.
|
||||||
|
* A new -M option is provided for all the tools to turn off the multi-field grib
|
||||||
|
support.
|
||||||
|
* Changed behaviour of grib_copy. Default is quiet and option -v (verbose) is available.
|
||||||
|
|
||||||
|
09-07-2007 Enrico Fucile
|
||||||
|
-- released version 1.1.0
|
||||||
|
* fixed a bug affecting constant fields.
|
||||||
|
* rewritten the ibm floating point encoding/decoding routines gaining a factor of 7 in performance
|
||||||
|
* fixed a problem in the configure affecting compilation of fortran programs on AIX platforms
|
||||||
|
* Added some new keys:
|
||||||
|
* max,min,average (maximum, minimum and average respectively of the data )
|
||||||
|
* numberOfDataPoints(alias numberOfPoints) computed from the grid description
|
||||||
|
* numberOfValues is the same as the numberOfPoints if a bitmap is not present
|
||||||
|
otherwise it takes into account the bitmap
|
||||||
|
* numberOfMissing (alias numberOfMissingValues) number of missing values in the field
|
||||||
|
It's easy to check if a field is constant by simply comparing max,min,average
|
||||||
|
and some information about bitmap and missing values can be found comparing numberOfValues
|
||||||
|
numberOfPoints, numberOfMissing.
|
||||||
|
* added some new tests
|
||||||
|
* added a new example on how to print all the data when the iterator is not available.
|
||||||
|
* grib_tools are now failing with an error when the input file does not contain any
|
||||||
|
valid grib message
|
||||||
|
* added management of reduced gaussian non global fields.
|
||||||
|
|
||||||
|
17-04-2007 Enrico Fucile
|
||||||
|
* grib_api version 1.0 released
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
The grib_api installation is based on the standard configure utility.
|
||||||
|
It is tested on several platforms and with several compilers. However for some platforms
|
||||||
|
modifications to the installation engine may be required. If you encounter any problem
|
||||||
|
during the installation procedure please send an e-mail with your problem to
|
||||||
|
Software.Support@ecmwf.int.
|
||||||
|
|
||||||
|
The only required package for a standard installation is jasper which enables the jpeg2000
|
||||||
|
packing/unpacking algorithm.
|
||||||
|
It is possible to build grib_api without jasper, by using the --disable-jpeg configure option,
|
||||||
|
but to install a fully functional library, its download is recommended.
|
||||||
|
|
||||||
|
|
||||||
|
Standard Installation
|
||||||
|
=====================
|
||||||
|
|
||||||
|
1. Download grib_api from http://www.ecmwf.int/products/data/software/download/grib_api.html.
|
||||||
|
2. Unpack distribution:
|
||||||
|
|
||||||
|
> gunzip grib_api-X.tar.gz
|
||||||
|
> tar xf grib_api-X.tar
|
||||||
|
|
||||||
|
3. Create the directory where to install grib_api say grib_api_dir
|
||||||
|
|
||||||
|
> mkdir grib_api_dir
|
||||||
|
|
||||||
|
4. Run the configure in the grib_api-X
|
||||||
|
|
||||||
|
> cd grib_api-X
|
||||||
|
> ./configure --prefix=grib_api_dir
|
||||||
|
|
||||||
|
5. make, check and install
|
||||||
|
|
||||||
|
> make
|
||||||
|
...
|
||||||
|
> make check
|
||||||
|
...
|
||||||
|
> make install
|
||||||
|
...
|
||||||
|
|
|
@ -0,0 +1,202 @@
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
|
@ -0,0 +1,437 @@
|
||||||
|
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||||
|
libtool: $(LIBTOOL_DEPS)
|
||||||
|
$(SHELL) ./configure_status libtool
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
|
CONFIGURE_DEPENDENCIES = $(top_srcdir)/version.sh
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(top_srcdir)/version.sh
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = grib_api.pc grib_api_f90.pc
|
||||||
|
|
||||||
|
if WITH_PERL
|
||||||
|
PERL_OPT = @PERLDIR@
|
||||||
|
else
|
||||||
|
PERL_OPT =
|
||||||
|
endif
|
||||||
|
|
||||||
|
if WITH_PYTHON
|
||||||
|
PYTHON_OPT = python
|
||||||
|
else
|
||||||
|
PYTHON_OPT =
|
||||||
|
endif
|
||||||
|
|
||||||
|
SUBDIRS = src tools definitions samples ifs_samples/grib1 ifs_samples/grib1_mlgrib2 ifs_samples/grib1_mlgrib2_ieee64 tests tigge $(FORTRAN_MOD) examples/C $(F90_CHECK) $(PERL_OPT) python examples/python
|
||||||
|
|
||||||
|
EXTRA_DIST = README AUTHORS NOTICE LICENSE ChangeLog version.sh html \
|
||||||
|
src/extrules.am \
|
||||||
|
definitions/extrules.am \
|
||||||
|
src/dummy.am \
|
||||||
|
definitions/dummy.am \
|
||||||
|
data/ls.log \
|
||||||
|
data/multi.ok \
|
||||||
|
data/in_copy.grib \
|
||||||
|
data/bad.grib \
|
||||||
|
data/local.good.log \
|
||||||
|
data/typeOfProcessedData.ok \
|
||||||
|
data/gts.grib \
|
||||||
|
data/v.grib2 \
|
||||||
|
data/satellite.grib \
|
||||||
|
data/pad.grib \
|
||||||
|
data/missing_field.grib1 \
|
||||||
|
data/multi_step.txt \
|
||||||
|
data/multi_created.grib2 \
|
||||||
|
data/multi.grib2 \
|
||||||
|
data/sample.grib2 \
|
||||||
|
data/bitmap.diff \
|
||||||
|
data/no_bitmap.diff \
|
||||||
|
data/ieee_test.good \
|
||||||
|
data/index.grib \
|
||||||
|
data/index.ok \
|
||||||
|
data/index_f90.ok \
|
||||||
|
data/grid_ieee.grib \
|
||||||
|
data/spherical_model_level.grib1_32.good \
|
||||||
|
data/spherical_model_level.grib1.good \
|
||||||
|
data/budg \
|
||||||
|
data/tp_ecmwf.grib \
|
||||||
|
data/statistics.out.good \
|
||||||
|
data/jpeg.grib2 \
|
||||||
|
data/scan_x_regular_gg_5_7_good.dump \
|
||||||
|
data/scan_x_regular_ll_5_4_good.dump \
|
||||||
|
data/scan_x_regular_ll_5_7_good.dump \
|
||||||
|
data/scan_x_regular_ll_8_4_good.dump \
|
||||||
|
data/scan_x_regular_ll_8_7_good.dump \
|
||||||
|
data/scan_x_rotated_ll_5_4_good.dump \
|
||||||
|
data/scan_x_rotated_ll_5_7_good.dump \
|
||||||
|
data/scan_x_rotated_ll_8_4_good.dump \
|
||||||
|
data/scan_x_rotated_ll_8_7_good.dump \
|
||||||
|
data/scan_y_regular_ll_5_4_good.dump \
|
||||||
|
data/scan_y_regular_ll_5_7_good.dump \
|
||||||
|
data/scan_y_regular_ll_8_4_good.dump \
|
||||||
|
data/scan_y_regular_ll_8_7_good.dump \
|
||||||
|
data/scan_y_rotated_ll_5_4_good.dump \
|
||||||
|
data/scan_y_rotated_ll_5_7_good.dump \
|
||||||
|
data/scan_y_rotated_ll_8_4_good.dump \
|
||||||
|
data/scan_y_rotated_ll_8_7_good.dump \
|
||||||
|
data/tigge_pf_ecmwf.grib2 \
|
||||||
|
data/regular_gaussian_pressure_level.grib1 \
|
||||||
|
data/regular_gaussian_model_level.grib1 \
|
||||||
|
data/regular_gaussian_surface.grib1 \
|
||||||
|
data/regular_latlon_surface.grib1 \
|
||||||
|
data/reduced_gaussian_model_level.grib1 \
|
||||||
|
data/reduced_gaussian_pressure_level.grib1 \
|
||||||
|
data/reduced_gaussian_lsm.grib1 \
|
||||||
|
data/reduced_gaussian_surface_jpeg.grib2 \
|
||||||
|
data/timeRangeIndicator_0.grib \
|
||||||
|
data/timeRangeIndicator_10.grib \
|
||||||
|
data/timeRangeIndicator_5.grib \
|
||||||
|
data/reduced_gaussian_model_level.grib1 \
|
||||||
|
data/reduced_gaussian_surface.grib1 \
|
||||||
|
data/reduced_latlon_surface.grib1 \
|
||||||
|
data/spherical_model_level.grib1 \
|
||||||
|
data/spherical_pressure_level.grib1 \
|
||||||
|
data/missing.grib2 \
|
||||||
|
data/gfs.c255.grib2 \
|
||||||
|
data/constant_field.grib1 \
|
||||||
|
data/reduced_gaussian_pressure_level_constant.grib1 \
|
||||||
|
data/reduced_latlon_surface_constant.grib1 \
|
||||||
|
data/regular_gaussian_pressure_level_constant.grib1 \
|
||||||
|
data/regular_latlon_surface_constant.grib1 \
|
||||||
|
data/reduced_gaussian_sub_area.grib1 \
|
||||||
|
data/constant_field.grib1 \
|
||||||
|
data/60_model_levels \
|
||||||
|
data/list_points \
|
||||||
|
data/step.log \
|
||||||
|
data/step_grib1.filter \
|
||||||
|
data/step_grib1.log \
|
||||||
|
data/julian.out.good \
|
||||||
|
data/tigge/tigge_ammc_pl_gh.grib \
|
||||||
|
data/tigge/tigge_ammc_pl_q.grib \
|
||||||
|
data/tigge/tigge_ammc_pl_t.grib \
|
||||||
|
data/tigge/tigge_ammc_pl_u.grib \
|
||||||
|
data/tigge/tigge_ammc_pl_v.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_lsm.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_orog.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_st.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_ammc_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_babj_pl_gh.grib \
|
||||||
|
data/tigge/tigge_babj_pl_q.grib \
|
||||||
|
data/tigge/tigge_babj_pl_t.grib \
|
||||||
|
data/tigge/tigge_babj_pl_u.grib \
|
||||||
|
data/tigge/tigge_babj_pl_v.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_lsm.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_orog.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_slhf.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_sshf.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_str.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_babj_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_cwao_pl_gh.grib \
|
||||||
|
data/tigge/tigge_cwao_pl_q.grib \
|
||||||
|
data/tigge/tigge_cwao_pl_t.grib \
|
||||||
|
data/tigge/tigge_cwao_pl_u.grib \
|
||||||
|
data/tigge/tigge_cwao_pl_v.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_orog.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_st.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_cwao_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_ecmf_pl_gh.grib \
|
||||||
|
data/tigge/tigge_ecmf_pl_q.grib \
|
||||||
|
data/tigge/tigge_ecmf_pl_t.grib \
|
||||||
|
data/tigge/tigge_ecmf_pl_u.grib \
|
||||||
|
data/tigge/tigge_ecmf_pl_v.grib \
|
||||||
|
data/tigge/tigge_ecmf_pt_pv.grib \
|
||||||
|
data/tigge/tigge_ecmf_pv_pt.grib \
|
||||||
|
data/tigge/tigge_ecmf_pv_u.grib \
|
||||||
|
data/tigge/tigge_ecmf_pv_v.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_cap.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_cape.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_slhf.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_sm.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_sshf.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_st.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_str.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_sund.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_ecmf_sfc_ttr.grib \
|
||||||
|
data/tigge/tigge_egrr_pl_gh.grib \
|
||||||
|
data/tigge/tigge_egrr_pl_q.grib \
|
||||||
|
data/tigge/tigge_egrr_pl_t.grib \
|
||||||
|
data/tigge/tigge_egrr_pl_u.grib \
|
||||||
|
data/tigge/tigge_egrr_pl_v.grib \
|
||||||
|
data/tigge/tigge_egrr_pt_pv.grib \
|
||||||
|
data/tigge/tigge_egrr_pv_pt.grib \
|
||||||
|
data/tigge/tigge_egrr_pv_u.grib \
|
||||||
|
data/tigge/tigge_egrr_pv_v.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_slhf.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_sm.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_sshf.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_st.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_str.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_egrr_sfc_ttr.grib \
|
||||||
|
data/tigge/tigge_kwbc_pl_gh.grib \
|
||||||
|
data/tigge/tigge_kwbc_pl_q.grib \
|
||||||
|
data/tigge/tigge_kwbc_pl_t.grib \
|
||||||
|
data/tigge/tigge_kwbc_pl_u.grib \
|
||||||
|
data/tigge/tigge_kwbc_pl_v.grib \
|
||||||
|
data/tigge/tigge_kwbc_pt_pv.grib \
|
||||||
|
data/tigge/tigge_kwbc_pv_pt.grib \
|
||||||
|
data/tigge/tigge_kwbc_pv_u.grib \
|
||||||
|
data/tigge/tigge_kwbc_pv_v.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_cap.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_cape.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_ci.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_lsm.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_slhf.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_sm.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_sshf.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_st.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_str.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_kwbc_sfc_ttr.grib \
|
||||||
|
data/tigge/tigge_lfpw_pl_gh.grib \
|
||||||
|
data/tigge/tigge_lfpw_pl_q.grib \
|
||||||
|
data/tigge/tigge_lfpw_pl_t.grib \
|
||||||
|
data/tigge/tigge_lfpw_pl_u.grib \
|
||||||
|
data/tigge/tigge_lfpw_pl_v.grib \
|
||||||
|
data/tigge/tigge_lfpw_pv_pt.grib \
|
||||||
|
data/tigge/tigge_lfpw_pv_u.grib \
|
||||||
|
data/tigge/tigge_lfpw_pv_v.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_cap.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_cape.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_slhf.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_sshf.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_st.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_str.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_lfpw_sfc_ttr.grib \
|
||||||
|
data/tigge/tigge_rjtd_pl_gh.grib \
|
||||||
|
data/tigge/tigge_rjtd_pl_q.grib \
|
||||||
|
data/tigge/tigge_rjtd_pl_t.grib \
|
||||||
|
data/tigge/tigge_rjtd_pl_u.grib \
|
||||||
|
data/tigge/tigge_rjtd_pl_v.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_2d.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_mn2t6.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_mx2t6.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_sd.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_slhf.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_sm.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_sshf.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_str.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_tp.grib \
|
||||||
|
data/tigge/tigge_rjtd_sfc_ttr.grib \
|
||||||
|
data/tigge/tigge_rksl_pl_gh.grib \
|
||||||
|
data/tigge/tigge_rksl_pl_q.grib \
|
||||||
|
data/tigge/tigge_rksl_pl_t.grib \
|
||||||
|
data/tigge/tigge_rksl_pl_u.grib \
|
||||||
|
data/tigge/tigge_rksl_pl_v.grib \
|
||||||
|
data/tigge/tigge_rksl_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_rksl_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_rksl_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_rksl_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_rksl_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_sbsj_pl_gh.grib \
|
||||||
|
data/tigge/tigge_sbsj_pl_q.grib \
|
||||||
|
data/tigge/tigge_sbsj_pl_t.grib \
|
||||||
|
data/tigge/tigge_sbsj_pl_u.grib \
|
||||||
|
data/tigge/tigge_sbsj_pl_v.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_10u.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_10v.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_2t.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_msl.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_sf.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_skt.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_sp.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_ssr.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_st.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_tcc.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_tcw.grib \
|
||||||
|
data/tigge/tigge_sbsj_sfc_tp.grib \
|
||||||
|
data/tigge/tiggelam_cnmc_sfc.grib \
|
||||||
|
data/constant_width_bitmap.grib \
|
||||||
|
data/constant_width_boust_bitmap.grib \
|
||||||
|
data/gen.grib \
|
||||||
|
data/gen_bitmap.grib \
|
||||||
|
data/gen_ext.grib \
|
||||||
|
data/gen_ext_bitmap.grib \
|
||||||
|
data/gen_ext_boust.grib \
|
||||||
|
data/gen_ext_boust_bitmap.grib \
|
||||||
|
data/gen_ext_spd_2.grib \
|
||||||
|
data/gen_ext_spd_2_bitmap.grib \
|
||||||
|
data/gen_ext_spd_2_boust_bitmap.grib \
|
||||||
|
data/gen_ext_spd_3.grib \
|
||||||
|
data/gen_ext_spd_3_boust_bitmap.grib \
|
||||||
|
data/row.grib \
|
||||||
|
data/simple.grib \
|
||||||
|
data/read_any.ok \
|
||||||
|
data/simple_bitmap.grib \
|
||||||
|
data/second_ord_rbr.grib1 \
|
||||||
|
perf/jmeter.awk \
|
||||||
|
perf/time.sh
|
||||||
|
|
||||||
|
|
||||||
|
perf_dir = @abs_builddir@/perf
|
||||||
|
|
||||||
|
|
||||||
|
check-perf:
|
||||||
|
@echo "Running and benchmarking tests $(perf_dir). This process will take some time."
|
||||||
|
# -rm -f $(perf_dir)/report.out*
|
||||||
|
for i in 1 2 3 ; do \
|
||||||
|
echo "Running iteration $$i" ;\
|
||||||
|
$(MAKE) check PYTHON=$(PYTHON) TOPBUILDDIR=$(abs_builddir) TESTS_ENVIRONMENT=$(perf_dir)/time.sh \
|
||||||
|
> $(perf_dir)/report.out.$$i 2>&1; done
|
||||||
|
cat $(perf_dir)/report.out* | $(AWK) -f $(perf_dir)/jmeter.awk -v JMETER="true" TIMESTAMP=`date +%s`000 > $(perf_dir)/report.jtl
|
||||||
|
cat $(perf_dir)/report.out* | $(AWK) -f $(perf_dir)/jmeter.awk -v JMETER="false" TIMESTAMP=`date +%s`000 > $(perf_dir)/report.xml
|
||||||
|
# -rm -f $(perf_dir)/report.out*
|
||||||
|
@echo "Testing and benchmarks have finished"
|
||||||
|
|
||||||
|
rpmspec = $(PACKAGE_TARNAME).spec
|
||||||
|
|
||||||
|
rpmmacros = \
|
||||||
|
--define="_rpmdir $${PWD}"\
|
||||||
|
--define="_srcrpmdir $${PWD}"\
|
||||||
|
--define="_sourcedir $${PWD}"\
|
||||||
|
--define="_specdir $${PWD}"\
|
||||||
|
--define="_builddir $${PWD}"
|
||||||
|
|
||||||
|
RPMBUILD = rpmbuild
|
||||||
|
RPMFLAGS = --nodeps --buildroot="$${PWD}/_rpm"
|
||||||
|
|
||||||
|
rpmcheck:
|
||||||
|
@if [ which $(RPMBUILD) &> /dev/null ]; then \
|
||||||
|
echo "*** This make target requires an rpm-based Linux distribution"; \
|
||||||
|
(exit 1); exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
srcrpm: dist rpmcheck $(rpmspec)
|
||||||
|
$(RPMBUILD) $(RPMFLAGS) -bs $(rpmmacros) $(rpmspec)
|
||||||
|
|
||||||
|
rpms: dist rpmcheck $(rpmspec)
|
||||||
|
$(RPMBUILD) $(RPMFLAGS) -ba $(rpmmacros) $(rpmspec)
|
||||||
|
|
||||||
|
main_package = $(abs_top_srcdir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-$(host_os)-$(host_cpu)-$(RPM_RELEASE).tar
|
||||||
|
|
||||||
|
dist-defs:
|
||||||
|
@rm -f $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-defs.tar.gz
|
||||||
|
cd definitions; \
|
||||||
|
$(MAKE) top_distdir=$(abs_top_srcdir)/_distdefs distdir=$(abs_top_srcdir)/_distdefs/definitions distdir; \
|
||||||
|
cd $(abs_top_srcdir)/_distdefs; \
|
||||||
|
tar zcvf $(abs_top_srcdir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-defs.tar.gz definitions > /dev/null
|
||||||
|
@rm -rf _distdefs
|
||||||
|
@echo "Created definitions tar ball \"$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-defs.tar.gz\""
|
||||||
|
|
||||||
|
bindist:
|
||||||
|
$(MAKE) DESTDIR=$(abs_top_srcdir)/_dist
|
||||||
|
$(MAKE) DESTDIR=$(abs_top_srcdir)/_dist install
|
||||||
|
cd $(abs_top_srcdir)/_dist; \
|
||||||
|
find . -type f | grep $(prefix) | \
|
||||||
|
cpio -ov -H ustar > $(main_package) ; \
|
||||||
|
gzip $(main_package)
|
||||||
|
|
||||||
|
distclean-local:
|
||||||
|
rm -rf $${PWD}/_rpm
|
||||||
|
find $${PWD} -name "*.rpm" -exec rm {} \;
|
||||||
|
rm -f *.tar.gz
|
||||||
|
rm -rf $(RPM_HOST_CPU)
|
||||||
|
rm -rf _dist _distdefs
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
ECMWF GRIB API
|
||||||
|
Copyright 2005-2012 ECMWF.
|
||||||
|
|
||||||
|
This product includes software developed at ECMWF (http://www.ecmwf.int).
|
||||||
|
|
||||||
|
Parts of the definitions provided by WMO (http://www.wmo.int/pages/index_en.html)
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
grib_api is the ECMWF encoding/decoding software for GRIB edition 1 and 2.
|
||||||
|
|
||||||
|
Documentation in html format can be found in the html directory of the
|
||||||
|
distribution directory.
|
||||||
|
|
||||||
|
INSTALLATION
|
||||||
|
|
||||||
|
Standard Installation
|
||||||
|
1. Download grib_api from https://software.ecmwf.int/wiki/display/GRIB/Releases
|
||||||
|
2. Unpack distribution:
|
||||||
|
|
||||||
|
> gunzip grib_api-X.tar.gz
|
||||||
|
> tar xf grib_api-X.tar
|
||||||
|
|
||||||
|
3. Create the directory where to install grib_api say /usr/local/grib_api_dir
|
||||||
|
|
||||||
|
> mkdir /usr/local/grib_api_dir
|
||||||
|
|
||||||
|
4. Run the configure in the grib_api-X
|
||||||
|
|
||||||
|
> cd grib_api-X
|
||||||
|
> ./configure --prefix=/usr/local/grib_api_dir
|
||||||
|
|
||||||
|
Note that the prefix must be the absolute path of the
|
||||||
|
directory created.
|
||||||
|
|
||||||
|
5. make, check and install
|
||||||
|
|
||||||
|
> make
|
||||||
|
...
|
||||||
|
> make check
|
||||||
|
...
|
||||||
|
> make install
|
||||||
|
...
|
||||||
|
|
||||||
|
COPYRIGHT AND LICENSE
|
||||||
|
|
||||||
|
Copyright 2005-2012 ECMWF.
|
||||||
|
|
||||||
|
This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
|
||||||
|
In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
set( ${PROJECT_NAME}_VERSION_STR "1.10.4" )
|
||||||
|
|
|
@ -0,0 +1,480 @@
|
||||||
|
dnl ieee big endian double and float compliancy
|
||||||
|
dnl Enrico Fucile 12-2008
|
||||||
|
AC_DEFUN([AC_IEEE_BE],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if double and float are ieee big endian])
|
||||||
|
AC_LANG(C)
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
int compare(unsigned char* a,unsigned char* b) {
|
||||||
|
while(*a != 0) if (*(b++)!=*(a++)) return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int main(int argc,char** argv) {
|
||||||
|
unsigned char dc[[]]={0x30,0x61,0xDE,0x80,0x93,0x67,0xCC,0xD9,0};
|
||||||
|
double da=1.23456789e-75;
|
||||||
|
unsigned char* ca;
|
||||||
|
|
||||||
|
unsigned char fc[[]]={0x05,0x83,0x48,0x22,0};
|
||||||
|
float fa=1.23456789e-35;
|
||||||
|
|
||||||
|
if (sizeof(double)!=8) return 1;
|
||||||
|
|
||||||
|
ca=(unsigned char*)&da;
|
||||||
|
if (compare(dc,ca)) return 1;
|
||||||
|
|
||||||
|
if (sizeof(float)!=4) return 1;
|
||||||
|
|
||||||
|
ca=(unsigned char*)&fa;
|
||||||
|
if (compare(fc,ca)) return 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(IS_IEEE_BE, 1)],
|
||||||
|
[AS_VAR_SET(IS_IEEE_BE, 0)],
|
||||||
|
[])
|
||||||
|
if test $IS_IEEE_BE = 0
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl ieee little endian double and float compliancy
|
||||||
|
dnl Enrico Fucile 12-2008
|
||||||
|
AC_DEFUN([AC_IEEE_LE],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if double and float are ieee little endian])
|
||||||
|
AC_LANG(C)
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
int compare(unsigned char* a,unsigned char* b) {
|
||||||
|
while(*a != 0) if (*(b++)!=*(a++)) return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int main(int argc,char** argv) {
|
||||||
|
unsigned char dc[[]]={0xD9,0xCC,0x67,0x93,0x80,0xDE,0x61,0x30,0};
|
||||||
|
double da=1.23456789e-75;
|
||||||
|
unsigned char* ca;
|
||||||
|
|
||||||
|
unsigned char fc[[]]={0x22,0x48,0x83,0x05,0};
|
||||||
|
float fa=1.23456789e-35;
|
||||||
|
|
||||||
|
if (sizeof(double)!=8) return 1;
|
||||||
|
|
||||||
|
ca=(unsigned char*)&da;
|
||||||
|
if (compare(dc,ca)) return 1;
|
||||||
|
|
||||||
|
if (sizeof(float)!=4) return 1;
|
||||||
|
|
||||||
|
ca=(unsigned char*)&fa;
|
||||||
|
if (compare(fc,ca)) return 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(IS_IEEE_LE, 1)],
|
||||||
|
[AS_VAR_SET(IS_IEEE_LE, 0)],
|
||||||
|
[])
|
||||||
|
if test $IS_IEEE_LE = 0
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl pthreads
|
||||||
|
dnl Enrico Fucile 06-2008
|
||||||
|
AC_DEFUN([AC_GRIB_PTHREADS],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if pthreads available])
|
||||||
|
AC_LANG(C)
|
||||||
|
OLDLIBS=$LIBS
|
||||||
|
LIBS="$LIBS -lpthread"
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
#include <pthread.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#define NUMTHRDS 4
|
||||||
|
static int count;
|
||||||
|
|
||||||
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
static pthread_t callThd[[NUMTHRDS]];
|
||||||
|
|
||||||
|
static void init() {
|
||||||
|
pthread_mutexattr_t attr;
|
||||||
|
|
||||||
|
pthread_mutexattr_init(&attr);
|
||||||
|
pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE);
|
||||||
|
pthread_mutex_init(&mutex,&attr);
|
||||||
|
pthread_mutexattr_destroy(&attr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void* increment(void* arg);
|
||||||
|
|
||||||
|
int main(int argc,char** argv){
|
||||||
|
int i;
|
||||||
|
void* status=0;
|
||||||
|
pthread_attr_t attr;
|
||||||
|
pthread_attr_init(&attr);
|
||||||
|
count=0;
|
||||||
|
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
|
||||||
|
for (i=0;i<NUMTHRDS;i++) {
|
||||||
|
pthread_create( &callThd[[i]], &attr, increment, (void *)i);
|
||||||
|
}
|
||||||
|
pthread_attr_destroy(&attr);
|
||||||
|
for(i=0; i<NUMTHRDS; i++)
|
||||||
|
pthread_join( callThd[[i]], &status);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void* increment(void* arg) {
|
||||||
|
int i=(int)arg;
|
||||||
|
pthread_once(&once,&init);
|
||||||
|
pthread_mutex_lock(&mutex);
|
||||||
|
count+=i;
|
||||||
|
pthread_mutex_unlock(&mutex);
|
||||||
|
pthread_exit((void*) 0);
|
||||||
|
}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(GRIB_PTHREADS, 1)],
|
||||||
|
[AS_VAR_SET(GRIB_PTHREADS, 0)],
|
||||||
|
[])
|
||||||
|
if test $GRIB_PTHREADS = 0
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
LIBS=$OLDLIBS
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl pthreads
|
||||||
|
dnl Enrico Fucile 06-2008
|
||||||
|
AC_DEFUN([AC_GRIB_LINUX_PTHREADS],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if Linux pthreads available])
|
||||||
|
AC_LANG(C)
|
||||||
|
OLDLIBS=$LIBS
|
||||||
|
LIBS="$LIBS -lpthread"
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
#include <pthread.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#define NUMTHRDS 4
|
||||||
|
static int count;
|
||||||
|
#define PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
|
||||||
|
extern int pthread_mutexattr_settype(pthread_mutexattr_t* attr,int type);
|
||||||
|
|
||||||
|
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||||
|
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
static pthread_t callThd[[NUMTHRDS]];
|
||||||
|
|
||||||
|
static void init() {
|
||||||
|
pthread_mutexattr_t attr;
|
||||||
|
pthread_mutexattr_init(&attr);
|
||||||
|
pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE);
|
||||||
|
pthread_mutex_init(&mutex,&attr);
|
||||||
|
pthread_mutexattr_destroy(&attr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void* increment(void* arg);
|
||||||
|
|
||||||
|
int main(int argc,char** argv){
|
||||||
|
int i;
|
||||||
|
void* status=0;
|
||||||
|
pthread_attr_t attr;
|
||||||
|
pthread_attr_init(&attr);
|
||||||
|
count=0;
|
||||||
|
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
|
||||||
|
for (i=0;i<NUMTHRDS;i++) {
|
||||||
|
pthread_create( &callThd[[i]], &attr, increment, (void *)i);
|
||||||
|
}
|
||||||
|
pthread_attr_destroy(&attr);
|
||||||
|
for(i=0; i<NUMTHRDS; i++)
|
||||||
|
pthread_join( callThd[[i]], &status);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void* increment(void* arg) {
|
||||||
|
int i=(int)arg;
|
||||||
|
pthread_once(&once,&init);
|
||||||
|
pthread_mutex_lock(&mutex);
|
||||||
|
count+=i;
|
||||||
|
pthread_mutex_unlock(&mutex);
|
||||||
|
pthread_exit((void*) 0);
|
||||||
|
}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(GRIB_LINUX_PTHREADS, 1)
|
||||||
|
AS_VAR_SET(GRIB_PTHREADS, 1)],
|
||||||
|
[AS_VAR_SET(GRIB_LINUX_PTHREADS, 0)],
|
||||||
|
[])
|
||||||
|
if test $GRIB_LINUX_PTHREADS = 0
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
LIBS=$OLDLIBS
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl endianness checking
|
||||||
|
dnl Enrico Fucile 02-2008
|
||||||
|
AC_DEFUN([AC_BIG_ENDIAN],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if Big Endian])
|
||||||
|
AC_LANG(C)
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
int main(int argc,char** argv){
|
||||||
|
long one= 1;
|
||||||
|
return !(*((char *)(&one)));
|
||||||
|
}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(IS_BIG_ENDIAN, 0)],
|
||||||
|
[AS_VAR_SET(IS_BIG_ENDIAN, 1)],
|
||||||
|
[])
|
||||||
|
if test $IS_BIG_ENDIAN = 0
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl inline available in C
|
||||||
|
dnl Enrico Fucile 03-2008
|
||||||
|
AC_DEFUN([AC_INLINE],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if inline in C])
|
||||||
|
AC_LANG(C)
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
inline int x(int a) {return a;}
|
||||||
|
int main(int argc,char** argv){
|
||||||
|
int a=1;
|
||||||
|
return x(a);
|
||||||
|
}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(HAS_INLINE, inline)],
|
||||||
|
[AS_VAR_SET(HAS_INLINE, )],
|
||||||
|
[])
|
||||||
|
if test x$HAS_INLINE = "x"
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
dnl memory alignement
|
||||||
|
dnl Enrico Fucile 04-2008
|
||||||
|
AC_DEFUN([AC_ALIGN],
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([if bus error on unaligned pointers])
|
||||||
|
AC_LANG(C)
|
||||||
|
AC_RUN_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_SOURCE([
|
||||||
|
void foo(char* p) {long x=*((long*)p)+1;}
|
||||||
|
int main(int argc,char** argv) {char* p="xxxxxxxxx";foo(++p);return 0;}
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[AS_VAR_SET(MEM_ALIGN,0)],
|
||||||
|
[AS_VAR_SET(MEM_ALIGN,1)],
|
||||||
|
[])
|
||||||
|
if test $MEM_ALIGN = "0"
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
fi
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dnl grib_api_PROG_CC_WARNING_PEDANTIC([-Werror -Wall...])
|
||||||
|
dnl Sets WARN_PEDANTIC to "-pedantic" + the argument, if the compiler
|
||||||
|
dnl accepts all of those options simultaneously, otherwise do nothing.
|
||||||
|
AC_DEFUN([grib_api_PROG_CC_WARNING_PEDANTIC],
|
||||||
|
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_SUBST([WARN_PEDANTIC])dnl
|
||||||
|
AS_VAR_PUSHDEF([grib_api_Pedantic], [grib_api_cv_prog_cc_pedantic_$1])dnl
|
||||||
|
WARN_PEDANTIC=
|
||||||
|
AC_CACHE_CHECK([whether $CC supports -pedantic $1], grib_api_Pedantic,
|
||||||
|
[save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="-pedantic $1"
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||||
|
[AS_VAR_SET(grib_api_Pedantic, yes)],
|
||||||
|
[AS_VAR_SET(grib_api_Pedantic, no)])
|
||||||
|
CFLAGS="$save_CFLAGS"])
|
||||||
|
AS_IF([test AS_VAR_GET(grib_api_Pedantic) = yes],
|
||||||
|
[WARN_PEDANTIC="-pedantic $1"])
|
||||||
|
AS_VAR_POPDEF([grib_api_Pedantic])dnl
|
||||||
|
])
|
||||||
|
dnl grib_api_PROG_CC_WARNING_PEDANTIC
|
||||||
|
|
||||||
|
dnl enable -Werror despite compiler version
|
||||||
|
AC_DEFUN([grib_api_ENABLE_WARNINGS_ARE_ERRORS],
|
||||||
|
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||||
|
AC_SUBST([WERROR])dnl
|
||||||
|
WERROR=
|
||||||
|
AC_ARG_ENABLE(werror-always,
|
||||||
|
AS_HELP_STRING([--enable-werror-always],
|
||||||
|
[enable -Werror despite compiler version]),
|
||||||
|
[], [enable_werror_always=no])
|
||||||
|
AS_IF([test $enable_werror_always = yes],
|
||||||
|
[WERROR=-Werror])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl AC_PROG_FC_MOD
|
||||||
|
dnl ---------------
|
||||||
|
AC_DEFUN([AC_PROG_FC_UPPERCASE_MOD],
|
||||||
|
[
|
||||||
|
AC_LANG_PUSH(Fortran)
|
||||||
|
AC_MSG_CHECKING([if Fortran 90 compiler capitalizes .mod filenames])
|
||||||
|
cat <<EOF >conftest.f90
|
||||||
|
module conftest
|
||||||
|
end module conftest
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ac_try='$FC $FCFLAGS -c conftest.f90 >&AS_MESSAGE_LOG_FD'
|
||||||
|
if AC_TRY_EVAL(ac_try) && test -f CONFTEST.mod ; then
|
||||||
|
ac_cv_prog_f90_uppercase_mod=yes
|
||||||
|
rm -f CONFTEST.mod
|
||||||
|
else
|
||||||
|
ac_cv_prog_f90_uppercase_mod=no
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($ac_cv_prog_f90_uppercase_mod)
|
||||||
|
#rm -f conftest*
|
||||||
|
AC_LANG_POP(Fortran)
|
||||||
|
])
|
||||||
|
|
||||||
|
# ===========================================================================
|
||||||
|
# http://www.gnu.org/software/autoconf-archive/ax_f90_module_flag.html
|
||||||
|
# ===========================================================================
|
||||||
|
#
|
||||||
|
# SYNOPSIS
|
||||||
|
#
|
||||||
|
# AX_F90_MODULE_FLAG
|
||||||
|
#
|
||||||
|
# DESCRIPTION
|
||||||
|
#
|
||||||
|
# Find Fortran 90 modules inclusion flag. The module inclusion flag is
|
||||||
|
# stored in the cached variable ax_f90_modflag. An error is triggered if
|
||||||
|
# the flag cannot be found. Supported are the -I GNU compilers flag, the
|
||||||
|
# -M SUN compilers flag, and the -p Absoft Pro Fortran compiler flag.
|
||||||
|
#
|
||||||
|
# LICENSE
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009 Luc Maisonobe <luc@spaceroots.org>
|
||||||
|
# Copyright (c) 2009 Julian C. Cummings <cummings@cacr.caltech.edu>
|
||||||
|
# Copyright (c) 2009 Alexander Pletzer <pletzer@txcorp.com>
|
||||||
|
#
|
||||||
|
# Copying and distribution of this file, with or without modification, are
|
||||||
|
# permitted in any medium without royalty provided the copyright notice
|
||||||
|
# and this notice are preserved. This file is offered as-is, without any
|
||||||
|
# warranty.
|
||||||
|
|
||||||
|
##serial 12
|
||||||
|
|
||||||
|
AC_DEFUN([AX_F90_MODULE_FLAG],[
|
||||||
|
AC_CACHE_CHECK([fortran 90 modules inclusion flag],
|
||||||
|
ax_cv_f90_modflag,
|
||||||
|
[AC_LANG_PUSH(Fortran)
|
||||||
|
i=0
|
||||||
|
while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do
|
||||||
|
i=`expr $i + 1`
|
||||||
|
done
|
||||||
|
mkdir tmpdir_$i
|
||||||
|
cd tmpdir_$i
|
||||||
|
AC_COMPILE_IFELSE([
|
||||||
|
!234567
|
||||||
|
module conftest_module
|
||||||
|
contains
|
||||||
|
subroutine conftest_routine
|
||||||
|
write(*,'(a)') 'gotcha!'
|
||||||
|
end subroutine conftest_routine
|
||||||
|
end module conftest_module
|
||||||
|
],[],[])
|
||||||
|
cd ..
|
||||||
|
ax_cv_f90_modflag="not found"
|
||||||
|
for ax_flag in "-I" "-M" "-p"; do
|
||||||
|
if test "$ax_cv_f90_modflag" = "not found" ; then
|
||||||
|
ax_save_FCFLAGS="$FCFLAGS"
|
||||||
|
FCFLAGS="$ax_save_FCFLAGS ${ax_flag}tmpdir_$i"
|
||||||
|
AC_COMPILE_IFELSE([
|
||||||
|
!234567
|
||||||
|
program conftest_program
|
||||||
|
use conftest_module
|
||||||
|
call conftest_routine
|
||||||
|
end program conftest_program
|
||||||
|
],[ax_cv_f90_modflag="$ax_flag"],[])
|
||||||
|
FCFLAGS="$ax_save_FCFLAGS"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
rm -fr tmpdir_$i
|
||||||
|
#if test "$ax_cv_f90_modflag" = "not found" ; then
|
||||||
|
# AC_MSG_ERROR([unable to find compiler flag for modules inclusion])
|
||||||
|
#fi
|
||||||
|
AC_LANG_POP(Fortran)
|
||||||
|
])])
|
||||||
|
|
||||||
|
dnl AC_PROG_FC_DEBUG_IN_MODULE
|
||||||
|
dnl Daniel Varela 2011-03-25
|
||||||
|
dnl ---------------
|
||||||
|
AC_DEFUN([AC_PROG_FC_DEBUG_IN_MODULE],
|
||||||
|
[
|
||||||
|
AC_LANG_PUSH(Fortran)
|
||||||
|
AC_MSG_CHECKING([if Fortran 90 can resolve debug symbols in modules])
|
||||||
|
cat <<EOF >conftest-module.f90
|
||||||
|
module conftest
|
||||||
|
end module conftest
|
||||||
|
EOF
|
||||||
|
cat <<EOF >conftest.f90
|
||||||
|
program f90usemodule
|
||||||
|
use CONFTEST
|
||||||
|
end program f90usemodule
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ac_compile_module='$FC -g -c conftest-module.f90 >&AS_MESSAGE_LOG_FD'
|
||||||
|
ac_link_program='$FC -g -o conftest -I. conftest.f90 >&AS_MESSAGE_LOG_FD'
|
||||||
|
|
||||||
|
if AC_TRY_EVAL(ac_compile_module) && AC_TRY_EVAL(ac_link_program) && test -f conftest ; then
|
||||||
|
ac_cv_prog_f90_debug_in_module=yes
|
||||||
|
rm -f conftest
|
||||||
|
else
|
||||||
|
ac_cv_prog_f90_debug_in_module=no
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($ac_cv_prog_f90_debug_in_module)
|
||||||
|
#rm -f conftest*
|
||||||
|
AC_LANG_POP(Fortran)
|
||||||
|
])
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
autotools_dir=/usr/bin
|
||||||
|
|
||||||
|
export PATH=$autotools_dir:$PATH
|
||||||
|
|
||||||
|
autoreconf=$autotools_dir/autoreconf
|
||||||
|
|
||||||
|
goodversion=`$autoreconf --version | grep 2.65`
|
||||||
|
if [ -z "$goodversion" ]
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
echo "!!!!! ERROR: wrong autoreconf version"
|
||||||
|
echo "We have to use autoconf 2.65"
|
||||||
|
echo "ABORTED"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -----------------------
|
||||||
|
$autoreconf --version
|
||||||
|
echo -----------------------
|
||||||
|
$autoreconf -i -f -Im4
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,630 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
|
scriptversion=2009-04-28.21; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
|
||||||
|
# Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
'')
|
||||||
|
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||||
|
exit 1;
|
||||||
|
;;
|
||||||
|
-h | --h*)
|
||||||
|
cat <<\EOF
|
||||||
|
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||||
|
|
||||||
|
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||||
|
as side-effects.
|
||||||
|
|
||||||
|
Environment variables:
|
||||||
|
depmode Dependency tracking mode.
|
||||||
|
source Source file read by `PROGRAMS ARGS'.
|
||||||
|
object Object file output by `PROGRAMS ARGS'.
|
||||||
|
DEPDIR directory where to store dependencies.
|
||||||
|
depfile Dependency file to output.
|
||||||
|
tmpdepfile Temporary file to use when outputing dependencies.
|
||||||
|
libtool Whether libtool is used (yes/no).
|
||||||
|
|
||||||
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
|
EOF
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
-v | --v*)
|
||||||
|
echo "depcomp $scriptversion"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||||
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||||
|
depfile=${depfile-`echo "$object" |
|
||||||
|
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||||
|
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||||
|
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
|
||||||
|
# Some modes work just like other modes, but use different flags. We
|
||||||
|
# parameterize here, but still list the modes in the big case below,
|
||||||
|
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||||
|
# here, because this file can only contain one case statement.
|
||||||
|
if test "$depmode" = hp; then
|
||||||
|
# HP compiler uses -M and no extra arg.
|
||||||
|
gccflag=-M
|
||||||
|
depmode=gcc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$depmode" = dashXmstdout; then
|
||||||
|
# This is just like dashmstdout with a different argument.
|
||||||
|
dashmflag=-xM
|
||||||
|
depmode=dashmstdout
|
||||||
|
fi
|
||||||
|
|
||||||
|
cygpath_u="cygpath -u -f -"
|
||||||
|
if test "$depmode" = msvcmsys; then
|
||||||
|
# This is just like msvisualcpp but w/o cygpath translation.
|
||||||
|
# Just convert the backslash-escaped backslashes to single forward
|
||||||
|
# slashes to satisfy depend.m4
|
||||||
|
cygpath_u="sed s,\\\\\\\\,/,g"
|
||||||
|
depmode=msvisualcpp
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$depmode" in
|
||||||
|
gcc3)
|
||||||
|
## gcc 3 implements dependency tracking that does exactly what
|
||||||
|
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||||
|
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||||
|
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||||
|
## the command line argument order; so add the flags where they
|
||||||
|
## appear in depend2.am. Note that the slowdown incurred here
|
||||||
|
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||||
|
*) set fnord "$@" "$arg" ;;
|
||||||
|
esac
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
done
|
||||||
|
"$@"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
mv "$tmpdepfile" "$depfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
gcc)
|
||||||
|
## There are various ways to get dependency output from gcc. Here's
|
||||||
|
## why we pick this rather obscure method:
|
||||||
|
## - Don't want to use -MD because we'd like the dependencies to end
|
||||||
|
## up in a subdir. Having to rename by hand is ugly.
|
||||||
|
## (We might end up doing this anyway to support other compilers.)
|
||||||
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||||
|
## -MM, not -M (despite what the docs say).
|
||||||
|
## - Using -M directly means running the compiler twice (even worse
|
||||||
|
## than renaming).
|
||||||
|
if test -z "$gccflag"; then
|
||||||
|
gccflag=-MD,
|
||||||
|
fi
|
||||||
|
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||||
|
## The second -e expression handles DOS-style file names with drive letters.
|
||||||
|
sed -e 's/^[^:]*: / /' \
|
||||||
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||||
|
## This next piece of magic avoids the `deleted header file' problem.
|
||||||
|
## The problem is that when a header file which appears in a .P file
|
||||||
|
## is deleted, the dependency causes make to die (because there is
|
||||||
|
## typically no way to rebuild the header). We avoid this by adding
|
||||||
|
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||||
|
## this for us directly.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" |
|
||||||
|
## Some versions of gcc put a space before the `:'. On the theory
|
||||||
|
## that the space means something, we add a space to the output as
|
||||||
|
## well.
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
hp)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
sgi)
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||||
|
else
|
||||||
|
"$@" -MDupdate "$tmpdepfile"
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
|
||||||
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
|
||||||
|
# Clip off the initial element (the dependent). Don't try to be
|
||||||
|
# clever and replace this with sed code, as IRIX sed won't handle
|
||||||
|
# lines with more than a fixed number of characters (4096 in
|
||||||
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||||
|
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||||
|
# dependency line.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||||
|
tr '
|
||||||
|
' ' ' >> "$depfile"
|
||||||
|
echo >> "$depfile"
|
||||||
|
|
||||||
|
# The second pass generates a dummy entry for each header file.
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" \
|
||||||
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||||
|
>> "$depfile"
|
||||||
|
else
|
||||||
|
# The sourcefile does not contain any dependencies, so just
|
||||||
|
# store a dummy comment line, to avoid errors with the Makefile
|
||||||
|
# "include basename.Plo" scheme.
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
aix)
|
||||||
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||||
|
# in a .u file. In older versions, this file always lives in the
|
||||||
|
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||||
|
# start of each line; $object doesn't have directory information.
|
||||||
|
# Version 6 uses the directory in both cases.
|
||||||
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||||
|
test "x$dir" = "x$object" && dir=
|
||||||
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
tmpdepfile1=$dir$base.u
|
||||||
|
tmpdepfile2=$base.u
|
||||||
|
tmpdepfile3=$dir.libs/$base.u
|
||||||
|
"$@" -Wc,-M
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.u
|
||||||
|
tmpdepfile2=$dir$base.u
|
||||||
|
tmpdepfile3=$dir$base.u
|
||||||
|
"$@" -M
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
# Each line is of the form `foo.o: dependent.h'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
|
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||||
|
# That's a tab and a space in the [].
|
||||||
|
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
# The sourcefile does not contain any dependencies, so just
|
||||||
|
# store a dummy comment line, to avoid errors with the Makefile
|
||||||
|
# "include basename.Plo" scheme.
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
icc)
|
||||||
|
# Intel's C compiler understands `-MD -MF file'. However on
|
||||||
|
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||||
|
# ICC 7.0 will fill foo.d with something like
|
||||||
|
# foo.o: sub/foo.c
|
||||||
|
# foo.o: sub/foo.h
|
||||||
|
# which is wrong. We want:
|
||||||
|
# sub/foo.o: sub/foo.c
|
||||||
|
# sub/foo.o: sub/foo.h
|
||||||
|
# sub/foo.c:
|
||||||
|
# sub/foo.h:
|
||||||
|
# ICC 7.1 will output
|
||||||
|
# foo.o: sub/foo.c sub/foo.h
|
||||||
|
# and will wrap long lines using \ :
|
||||||
|
# foo.o: sub/foo.c ... \
|
||||||
|
# sub/foo.h ... \
|
||||||
|
# ...
|
||||||
|
|
||||||
|
"$@" -MD -MF "$tmpdepfile"
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
rm -f "$depfile"
|
||||||
|
# Each line is of the form `foo.o: dependent.h',
|
||||||
|
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||||
|
# Do two passes, one to just change these to
|
||||||
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
|
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||||
|
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
# correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||||
|
sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
hp2)
|
||||||
|
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||||
|
# compilers, which have integrated preprocessors. The correct option
|
||||||
|
# to use with these is +Maked; it writes dependencies to a file named
|
||||||
|
# 'foo.d', which lands next to the object file, wherever that
|
||||||
|
# happens to be.
|
||||||
|
# Much of this is similar to the tru64 case; see comments there.
|
||||||
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||||
|
test "x$dir" = "x$object" && dir=
|
||||||
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir.libs/$base.d
|
||||||
|
"$@" -Wc,+Maked
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.d
|
||||||
|
tmpdepfile2=$dir$base.d
|
||||||
|
"$@" +Maked
|
||||||
|
fi
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||||
|
# Add `dependent.h:' lines.
|
||||||
|
sed -ne '2,${
|
||||||
|
s/^ *//
|
||||||
|
s/ \\*$//
|
||||||
|
s/$/:/
|
||||||
|
p
|
||||||
|
}' "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||||
|
;;
|
||||||
|
|
||||||
|
tru64)
|
||||||
|
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||||
|
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||||
|
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||||
|
# dependencies in `foo.d' instead, so we check for that too.
|
||||||
|
# Subdirectories are respected.
|
||||||
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||||
|
test "x$dir" = "x$object" && dir=
|
||||||
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||||
|
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
# With Tru64 cc, shared objects can also be used to make a
|
||||||
|
# static library. This mechanism is used in libtool 1.4 series to
|
||||||
|
# handle both shared and static libraries in a single compilation.
|
||||||
|
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||||
|
#
|
||||||
|
# With libtool 1.5 this exception was removed, and libtool now
|
||||||
|
# generates 2 separate objects for the 2 libraries. These two
|
||||||
|
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||||
|
# in $dir$base.o.d. We have to check for both files, because
|
||||||
|
# one of the two compilations can be disabled. We should prefer
|
||||||
|
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||||
|
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||||
|
# the former would cause a distcleancheck panic.
|
||||||
|
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||||
|
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||||
|
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||||
|
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||||
|
"$@" -Wc,-MD
|
||||||
|
else
|
||||||
|
tmpdepfile1=$dir$base.o.d
|
||||||
|
tmpdepfile2=$dir$base.d
|
||||||
|
tmpdepfile3=$dir$base.d
|
||||||
|
tmpdepfile4=$dir$base.d
|
||||||
|
"$@" -MD
|
||||||
|
fi
|
||||||
|
|
||||||
|
stat=$?
|
||||||
|
if test $stat -eq 0; then :
|
||||||
|
else
|
||||||
|
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||||
|
exit $stat
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||||
|
do
|
||||||
|
test -f "$tmpdepfile" && break
|
||||||
|
done
|
||||||
|
if test -f "$tmpdepfile"; then
|
||||||
|
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||||
|
# That's a tab and a space in the [].
|
||||||
|
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||||
|
else
|
||||||
|
echo "#dummy" > "$depfile"
|
||||||
|
fi
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
#nosideeffect)
|
||||||
|
# This comment above is used by automake to tell side-effect
|
||||||
|
# dependency tracking mechanisms from slower ones.
|
||||||
|
|
||||||
|
dashmstdout)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout, regardless of -o.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove `-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
test -z "$dashmflag" && dashmflag=-M
|
||||||
|
# Require at least two characters before searching for `:'
|
||||||
|
# in the target name. This is to cope with DOS-style filenames:
|
||||||
|
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||||
|
"$@" $dashmflag |
|
||||||
|
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
tr ' ' '
|
||||||
|
' < "$tmpdepfile" | \
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
dashXmstdout)
|
||||||
|
# This case only exists to satisfy depend.m4. It is never actually
|
||||||
|
# run, as this mode is specially recognized in the preamble.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
makedepend)
|
||||||
|
"$@" || exit $?
|
||||||
|
# Remove any Libtool call
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
# X makedepend
|
||||||
|
shift
|
||||||
|
cleared=no eat=no
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $cleared in
|
||||||
|
no)
|
||||||
|
set ""; shift
|
||||||
|
cleared=yes ;;
|
||||||
|
esac
|
||||||
|
if test $eat = yes; then
|
||||||
|
eat=no
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
case "$arg" in
|
||||||
|
-D*|-I*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
# Strip any option that makedepend may not understand. Remove
|
||||||
|
# the object too, otherwise makedepend will parse it as a source file.
|
||||||
|
-arch)
|
||||||
|
eat=yes ;;
|
||||||
|
-*|$object)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"; shift ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||||
|
touch "$tmpdepfile"
|
||||||
|
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||||
|
rm -f "$depfile"
|
||||||
|
cat < "$tmpdepfile" > "$depfile"
|
||||||
|
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||||
|
' | \
|
||||||
|
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||||
|
## correctly. Breaking it into two sed invocations is a workaround.
|
||||||
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||||
|
;;
|
||||||
|
|
||||||
|
cpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove `-o $object'.
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case $arg in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift # fnord
|
||||||
|
shift # $arg
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
"$@" -E |
|
||||||
|
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||||
|
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||||
|
sed '$ s: \\$::' > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
cat < "$tmpdepfile" >> "$depfile"
|
||||||
|
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvisualcpp)
|
||||||
|
# Important note: in order to support this mode, a compiler *must*
|
||||||
|
# always write the preprocessed file to stdout.
|
||||||
|
"$@" || exit $?
|
||||||
|
|
||||||
|
# Remove the call to Libtool.
|
||||||
|
if test "$libtool" = yes; then
|
||||||
|
while test "X$1" != 'X--mode=compile'; do
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
IFS=" "
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case "$arg" in
|
||||||
|
-o)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
$object)
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||||
|
set fnord "$@"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
set fnord "$@" "$arg"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
"$@" -E 2>/dev/null |
|
||||||
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||||
|
rm -f "$depfile"
|
||||||
|
echo "$object : \\" > "$depfile"
|
||||||
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||||
|
echo " " >> "$depfile"
|
||||||
|
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||||
|
rm -f "$tmpdepfile"
|
||||||
|
;;
|
||||||
|
|
||||||
|
msvcmsys)
|
||||||
|
# This case exists only to let depend.m4 do its work. It works by
|
||||||
|
# looking at the text of this script. This case will never be run,
|
||||||
|
# since it is checked for above.
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
none)
|
||||||
|
exec "$@"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Unknown depmode $depmode" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# sh-indentation: 2
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
|
@ -0,0 +1,520 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
|
scriptversion=2009-04-28.21; # UTC
|
||||||
|
|
||||||
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
|
# following copyright and license.
|
||||||
|
#
|
||||||
|
# Copyright (C) 1994 X Consortium
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to
|
||||||
|
# deal in the Software without restriction, including without limitation the
|
||||||
|
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
# sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in
|
||||||
|
# all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||||
|
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
#
|
||||||
|
# Except as contained in this notice, the name of the X Consortium shall not
|
||||||
|
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||||
|
# ings in this Software without prior written authorization from the X Consor-
|
||||||
|
# tium.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# FSF changes to this file are in the public domain.
|
||||||
|
#
|
||||||
|
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||||
|
# `make' implicit rules from creating a file called install from it
|
||||||
|
# when there is no Makefile.
|
||||||
|
#
|
||||||
|
# This script is compatible with the BSD install script, but was written
|
||||||
|
# from scratch.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
IFS=" "" $nl"
|
||||||
|
|
||||||
|
# set DOITPROG to echo to test this script
|
||||||
|
|
||||||
|
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||||
|
doit=${DOITPROG-}
|
||||||
|
if test -z "$doit"; then
|
||||||
|
doit_exec=exec
|
||||||
|
else
|
||||||
|
doit_exec=$doit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Put in absolute file names if you don't have them in your path;
|
||||||
|
# or use environment vars.
|
||||||
|
|
||||||
|
chgrpprog=${CHGRPPROG-chgrp}
|
||||||
|
chmodprog=${CHMODPROG-chmod}
|
||||||
|
chownprog=${CHOWNPROG-chown}
|
||||||
|
cmpprog=${CMPPROG-cmp}
|
||||||
|
cpprog=${CPPROG-cp}
|
||||||
|
mkdirprog=${MKDIRPROG-mkdir}
|
||||||
|
mvprog=${MVPROG-mv}
|
||||||
|
rmprog=${RMPROG-rm}
|
||||||
|
stripprog=${STRIPPROG-strip}
|
||||||
|
|
||||||
|
posix_glob='?'
|
||||||
|
initialize_posix_glob='
|
||||||
|
test "$posix_glob" != "?" || {
|
||||||
|
if (set -f) 2>/dev/null; then
|
||||||
|
posix_glob=
|
||||||
|
else
|
||||||
|
posix_glob=:
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
||||||
|
posix_mkdir=
|
||||||
|
|
||||||
|
# Desired mode of installed file.
|
||||||
|
mode=0755
|
||||||
|
|
||||||
|
chgrpcmd=
|
||||||
|
chmodcmd=$chmodprog
|
||||||
|
chowncmd=
|
||||||
|
mvcmd=$mvprog
|
||||||
|
rmcmd="$rmprog -f"
|
||||||
|
stripcmd=
|
||||||
|
|
||||||
|
src=
|
||||||
|
dst=
|
||||||
|
dir_arg=
|
||||||
|
dst_arg=
|
||||||
|
|
||||||
|
copy_on_change=false
|
||||||
|
no_target_directory=
|
||||||
|
|
||||||
|
usage="\
|
||||||
|
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||||
|
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||||
|
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||||
|
or: $0 [OPTION]... -d DIRECTORIES...
|
||||||
|
|
||||||
|
In the 1st form, copy SRCFILE to DSTFILE.
|
||||||
|
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||||
|
In the 4th, create DIRECTORIES.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--help display this help and exit.
|
||||||
|
--version display version info and exit.
|
||||||
|
|
||||||
|
-c (ignored)
|
||||||
|
-C install only if different (preserve the last data modification time)
|
||||||
|
-d create directories instead of installing files.
|
||||||
|
-g GROUP $chgrpprog installed files to GROUP.
|
||||||
|
-m MODE $chmodprog installed files to MODE.
|
||||||
|
-o USER $chownprog installed files to USER.
|
||||||
|
-s $stripprog installed files.
|
||||||
|
-t DIRECTORY install into DIRECTORY.
|
||||||
|
-T report an error if DSTFILE is a directory.
|
||||||
|
|
||||||
|
Environment variables override the default commands:
|
||||||
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||||
|
RMPROG STRIPPROG
|
||||||
|
"
|
||||||
|
|
||||||
|
while test $# -ne 0; do
|
||||||
|
case $1 in
|
||||||
|
-c) ;;
|
||||||
|
|
||||||
|
-C) copy_on_change=true;;
|
||||||
|
|
||||||
|
-d) dir_arg=true;;
|
||||||
|
|
||||||
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
--help) echo "$usage"; exit $?;;
|
||||||
|
|
||||||
|
-m) mode=$2
|
||||||
|
case $mode in
|
||||||
|
*' '* | *' '* | *'
|
||||||
|
'* | *'*'* | *'?'* | *'['*)
|
||||||
|
echo "$0: invalid mode: $mode" >&2
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-o) chowncmd="$chownprog $2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
|
-t) dst_arg=$2
|
||||||
|
shift;;
|
||||||
|
|
||||||
|
-T) no_target_directory=true;;
|
||||||
|
|
||||||
|
--version) echo "$0 $scriptversion"; exit $?;;
|
||||||
|
|
||||||
|
--) shift
|
||||||
|
break;;
|
||||||
|
|
||||||
|
-*) echo "$0: invalid option: $1" >&2
|
||||||
|
exit 1;;
|
||||||
|
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||||
|
# When -d is used, all remaining arguments are directories to create.
|
||||||
|
# When -t is used, the destination is already specified.
|
||||||
|
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
if test -n "$dst_arg"; then
|
||||||
|
# $@ is not empty: it contains at least $arg.
|
||||||
|
set fnord "$@" "$dst_arg"
|
||||||
|
shift # fnord
|
||||||
|
fi
|
||||||
|
shift # arg
|
||||||
|
dst_arg=$arg
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
echo "$0: no input file specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# It's OK to call `install-sh -d' without argument.
|
||||||
|
# This can happen when creating conditional directories.
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
trap '(exit $?); exit' 1 2 13 15
|
||||||
|
|
||||||
|
# Set umask so as not to create temps with too-generous modes.
|
||||||
|
# However, 'strip' requires both read and write access to temps.
|
||||||
|
case $mode in
|
||||||
|
# Optimize common cases.
|
||||||
|
*644) cp_umask=133;;
|
||||||
|
*755) cp_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw='% 200'
|
||||||
|
fi
|
||||||
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||||
|
*)
|
||||||
|
if test -z "$stripcmd"; then
|
||||||
|
u_plus_rw=
|
||||||
|
else
|
||||||
|
u_plus_rw=,u+rw
|
||||||
|
fi
|
||||||
|
cp_umask=$mode$u_plus_rw;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
for src
|
||||||
|
do
|
||||||
|
# Protect names starting with `-'.
|
||||||
|
case $src in
|
||||||
|
-*) src=./$src;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
dst=$src
|
||||||
|
dstdir=$dst
|
||||||
|
test -d "$dstdir"
|
||||||
|
dstdir_status=$?
|
||||||
|
else
|
||||||
|
|
||||||
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||||
|
# might cause directories to be created, which would be especially bad
|
||||||
|
# if $src (and thus $dsttmp) contains '*'.
|
||||||
|
if test ! -f "$src" && test ! -d "$src"; then
|
||||||
|
echo "$0: $src does not exist." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$dst_arg"; then
|
||||||
|
echo "$0: no destination specified." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
dst=$dst_arg
|
||||||
|
# Protect names starting with `-'.
|
||||||
|
case $dst in
|
||||||
|
-*) dst=./$dst;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If destination is a directory, append the input filename; won't work
|
||||||
|
# if double slashes aren't ignored.
|
||||||
|
if test -d "$dst"; then
|
||||||
|
if test -n "$no_target_directory"; then
|
||||||
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dstdir=$dst
|
||||||
|
dst=$dstdir/`basename "$src"`
|
||||||
|
dstdir_status=0
|
||||||
|
else
|
||||||
|
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||||
|
dstdir=`
|
||||||
|
(dirname "$dst") 2>/dev/null ||
|
||||||
|
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$dst" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$dst" : 'X\(//\)$' \| \
|
||||||
|
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
|
echo X"$dst" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)[^/].*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\).*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
s/.*/./; q'
|
||||||
|
`
|
||||||
|
|
||||||
|
test -d "$dstdir"
|
||||||
|
dstdir_status=$?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
obsolete_mkdir_used=false
|
||||||
|
|
||||||
|
if test $dstdir_status != 0; then
|
||||||
|
case $posix_mkdir in
|
||||||
|
'')
|
||||||
|
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||||
|
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||||
|
umask=`umask`
|
||||||
|
case $stripcmd.$umask in
|
||||||
|
# Optimize common cases.
|
||||||
|
*[2367][2367]) mkdir_umask=$umask;;
|
||||||
|
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||||
|
|
||||||
|
*[0-7])
|
||||||
|
mkdir_umask=`expr $umask + 22 \
|
||||||
|
- $umask % 100 % 40 + $umask % 20 \
|
||||||
|
- $umask % 10 % 4 + $umask % 2
|
||||||
|
`;;
|
||||||
|
*) mkdir_umask=$umask,go-w;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# With -d, create the new directory with the user-specified mode.
|
||||||
|
# Otherwise, rely on $mkdir_umask.
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
mkdir_mode=-m$mode
|
||||||
|
else
|
||||||
|
mkdir_mode=
|
||||||
|
fi
|
||||||
|
|
||||||
|
posix_mkdir=false
|
||||||
|
case $umask in
|
||||||
|
*[123567][0-7][0-7])
|
||||||
|
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||||
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
|
if (umask $mkdir_umask &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
if test -z "$dir_arg" || {
|
||||||
|
# Check for POSIX incompatibilities with -m.
|
||||||
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
|
# other-writeable bit of parent directory when it shouldn't.
|
||||||
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
|
case $ls_ld_tmpdir in
|
||||||
|
d????-?r-*) different_mode=700;;
|
||||||
|
d????-?--*) different_mode=755;;
|
||||||
|
*) false;;
|
||||||
|
esac &&
|
||||||
|
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||||
|
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||||
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
then posix_mkdir=:
|
||||||
|
fi
|
||||||
|
rmdir "$tmpdir/d" "$tmpdir"
|
||||||
|
else
|
||||||
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
|
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||||
|
fi
|
||||||
|
trap '' 0;;
|
||||||
|
esac;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if
|
||||||
|
$posix_mkdir && (
|
||||||
|
umask $mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||||
|
)
|
||||||
|
then :
|
||||||
|
else
|
||||||
|
|
||||||
|
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||||
|
# or it failed possibly due to a race condition. Create the
|
||||||
|
# directory the slow way, step by step, checking for races as we go.
|
||||||
|
|
||||||
|
case $dstdir in
|
||||||
|
/*) prefix='/';;
|
||||||
|
-*) prefix='./';;
|
||||||
|
*) prefix='';;
|
||||||
|
esac
|
||||||
|
|
||||||
|
eval "$initialize_posix_glob"
|
||||||
|
|
||||||
|
oIFS=$IFS
|
||||||
|
IFS=/
|
||||||
|
$posix_glob set -f
|
||||||
|
set fnord $dstdir
|
||||||
|
shift
|
||||||
|
$posix_glob set +f
|
||||||
|
IFS=$oIFS
|
||||||
|
|
||||||
|
prefixes=
|
||||||
|
|
||||||
|
for d
|
||||||
|
do
|
||||||
|
test -z "$d" && continue
|
||||||
|
|
||||||
|
prefix=$prefix$d
|
||||||
|
if test -d "$prefix"; then
|
||||||
|
prefixes=
|
||||||
|
else
|
||||||
|
if $posix_mkdir; then
|
||||||
|
(umask=$mkdir_umask &&
|
||||||
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
test -d "$prefix" || exit 1
|
||||||
|
else
|
||||||
|
case $prefix in
|
||||||
|
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||||
|
*) qprefix=$prefix;;
|
||||||
|
esac
|
||||||
|
prefixes="$prefixes '$qprefix'"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
prefix=$prefix/
|
||||||
|
done
|
||||||
|
|
||||||
|
if test -n "$prefixes"; then
|
||||||
|
# Don't fail if two instances are running concurrently.
|
||||||
|
(umask $mkdir_umask &&
|
||||||
|
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||||
|
test -d "$dstdir" || exit 1
|
||||||
|
obsolete_mkdir_used=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||||
|
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||||
|
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||||
|
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||||
|
else
|
||||||
|
|
||||||
|
# Make a couple of temp file names in the proper directory.
|
||||||
|
dsttmp=$dstdir/_inst.$$_
|
||||||
|
rmtmp=$dstdir/_rm.$$_
|
||||||
|
|
||||||
|
# Trap to clean up those temp files at exit.
|
||||||
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
|
|
||||||
|
# Copy the file name to the temp name.
|
||||||
|
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||||
|
|
||||||
|
# and set any options; do chmod last to preserve setuid bits.
|
||||||
|
#
|
||||||
|
# If any of these fail, we abort the whole thing. If we want to
|
||||||
|
# ignore errors from any of these, just make sure not to ignore
|
||||||
|
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||||
|
#
|
||||||
|
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||||
|
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||||
|
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||||
|
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||||
|
|
||||||
|
# If -C, don't bother to copy if it wouldn't change the file.
|
||||||
|
if $copy_on_change &&
|
||||||
|
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||||
|
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||||
|
|
||||||
|
eval "$initialize_posix_glob" &&
|
||||||
|
$posix_glob set -f &&
|
||||||
|
set X $old && old=:$2:$4:$5:$6 &&
|
||||||
|
set X $new && new=:$2:$4:$5:$6 &&
|
||||||
|
$posix_glob set +f &&
|
||||||
|
|
||||||
|
test "$old" = "$new" &&
|
||||||
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
rm -f "$dsttmp"
|
||||||
|
else
|
||||||
|
# Rename the file to the real destination.
|
||||||
|
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||||
|
|
||||||
|
# The rename failed, perhaps because mv can't rename something else
|
||||||
|
# to itself, or perhaps because mv is so ancient that it does not
|
||||||
|
# support -f.
|
||||||
|
{
|
||||||
|
# Now remove or move aside any old file at destination location.
|
||||||
|
# We try this two ways since rm can't unlink itself on some
|
||||||
|
# systems and the destination file might be busy for other
|
||||||
|
# reasons. In this case, the final cleanup might fail but the new
|
||||||
|
# file should still install successfully.
|
||||||
|
{
|
||||||
|
test ! -f "$dst" ||
|
||||||
|
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||||
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||||
|
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||||
|
} ||
|
||||||
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||||
|
(exit 1); exit 1
|
||||||
|
}
|
||||||
|
} &&
|
||||||
|
|
||||||
|
# Now rename the file to the real destination.
|
||||||
|
$doit $mvcmd "$dsttmp" "$dst"
|
||||||
|
}
|
||||||
|
fi || exit 1
|
||||||
|
|
||||||
|
trap '' 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,376 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Common stub for a few missing GNU programs while installing.
|
||||||
|
|
||||||
|
scriptversion=2009-04-28.21; # UTC
|
||||||
|
|
||||||
|
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
|
||||||
|
# 2008, 2009 Free Software Foundation, Inc.
|
||||||
|
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# As a special exception to the GNU General Public License, if you
|
||||||
|
# distribute this file as part of a program that contains a
|
||||||
|
# configuration script generated by Autoconf, you may include it under
|
||||||
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
echo 1>&2 "Try \`$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
run=:
|
||||||
|
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||||
|
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||||
|
|
||||||
|
# In the cases where this matters, `missing' is being run in the
|
||||||
|
# srcdir already.
|
||||||
|
if test -f configure.ac; then
|
||||||
|
configure_ac=configure.ac
|
||||||
|
else
|
||||||
|
configure_ac=configure.in
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg="missing on your system"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
--run)
|
||||||
|
# Try to run requested program, and just exit if it succeeds.
|
||||||
|
run=
|
||||||
|
shift
|
||||||
|
"$@" && exit 0
|
||||||
|
# Exit code 63 means version mismatch. This often happens
|
||||||
|
# when the user try to use an ancient version of a tool on
|
||||||
|
# a file that requires a minimum version. In this case we
|
||||||
|
# we should proceed has if the program had been absent, or
|
||||||
|
# if --run hadn't been passed.
|
||||||
|
if test $? = 63; then
|
||||||
|
run=:
|
||||||
|
msg="probably too old"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
-h|--h|--he|--hel|--help)
|
||||||
|
echo "\
|
||||||
|
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||||
|
|
||||||
|
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||||
|
error status if there is no known handling for PROGRAM.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help display this help and exit
|
||||||
|
-v, --version output version information and exit
|
||||||
|
--run try to run the given command, and emulate it if it fails
|
||||||
|
|
||||||
|
Supported PROGRAM values:
|
||||||
|
aclocal touch file \`aclocal.m4'
|
||||||
|
autoconf touch file \`configure'
|
||||||
|
autoheader touch file \`config.h.in'
|
||||||
|
autom4te touch the output file, or create a stub one
|
||||||
|
automake touch all \`Makefile.in' files
|
||||||
|
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||||
|
flex create \`lex.yy.c', if possible, from existing .c
|
||||||
|
help2man touch the output file
|
||||||
|
lex create \`lex.yy.c', if possible, from existing .c
|
||||||
|
makeinfo touch the output file
|
||||||
|
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||||
|
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||||
|
|
||||||
|
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
|
||||||
|
\`g' are ignored when checking the name.
|
||||||
|
|
||||||
|
Send bug reports to <bug-automake@gnu.org>."
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||||
|
echo "missing $scriptversion (GNU Automake)"
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
-*)
|
||||||
|
echo 1>&2 "$0: Unknown \`$1' option"
|
||||||
|
echo 1>&2 "Try \`$0 --help' for more information"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
# normalize program name to check for.
|
||||||
|
program=`echo "$1" | sed '
|
||||||
|
s/^gnu-//; t
|
||||||
|
s/^gnu//; t
|
||||||
|
s/^g//; t'`
|
||||||
|
|
||||||
|
# Now exit if we have it, but it failed. Also exit now if we
|
||||||
|
# don't have it and --version was passed (most likely to detect
|
||||||
|
# the program). This is about non-GNU programs, so use $1 not
|
||||||
|
# $program.
|
||||||
|
case $1 in
|
||||||
|
lex*|yacc*)
|
||||||
|
# Not GNU programs, they don't have --version.
|
||||||
|
;;
|
||||||
|
|
||||||
|
tar*)
|
||||||
|
if test -n "$run"; then
|
||||||
|
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||||
|
exit 1
|
||||||
|
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||||
|
# We have it, but it failed.
|
||||||
|
exit 1
|
||||||
|
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||||
|
# Could not run --version or --help. This is probably someone
|
||||||
|
# running `$TOOL --version' or `$TOOL --help' to check whether
|
||||||
|
# $TOOL exists and not knowing $TOOL uses missing.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# If it does not exist, or fails to run (possibly an outdated version),
|
||||||
|
# try to emulate it.
|
||||||
|
case $program in
|
||||||
|
aclocal*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||||
|
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||||
|
any GNU archive site."
|
||||||
|
touch aclocal.m4
|
||||||
|
;;
|
||||||
|
|
||||||
|
autoconf*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified \`${configure_ac}'. You might want to install the
|
||||||
|
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||||
|
archive site."
|
||||||
|
touch configure
|
||||||
|
;;
|
||||||
|
|
||||||
|
autoheader*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||||
|
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||||
|
from any GNU archive site."
|
||||||
|
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||||
|
test -z "$files" && files="config.h"
|
||||||
|
touch_files=
|
||||||
|
for f in $files; do
|
||||||
|
case $f in
|
||||||
|
*:*) touch_files="$touch_files "`echo "$f" |
|
||||||
|
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||||
|
*) touch_files="$touch_files $f.in";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
touch $touch_files
|
||||||
|
;;
|
||||||
|
|
||||||
|
automake*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||||
|
You might want to install the \`Automake' and \`Perl' packages.
|
||||||
|
Grab them from any GNU archive site."
|
||||||
|
find . -type f -name Makefile.am -print |
|
||||||
|
sed 's/\.am$/.in/' |
|
||||||
|
while read f; do touch "$f"; done
|
||||||
|
;;
|
||||||
|
|
||||||
|
autom4te*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is needed, but is $msg.
|
||||||
|
You might have modified some files without having the
|
||||||
|
proper tools for further handling them.
|
||||||
|
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||||
|
archive site."
|
||||||
|
|
||||||
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
|
if test -f "$file"; then
|
||||||
|
touch $file
|
||||||
|
else
|
||||||
|
test -z "$file" || exec >$file
|
||||||
|
echo "#! /bin/sh"
|
||||||
|
echo "# Created by GNU Automake missing as a replacement of"
|
||||||
|
echo "# $ $@"
|
||||||
|
echo "exit 0"
|
||||||
|
chmod +x $file
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
bison*|yacc*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' $msg. You should only need it if
|
||||||
|
you modified a \`.y' file. You may need the \`Bison' package
|
||||||
|
in order for those modifications to take effect. You can get
|
||||||
|
\`Bison' from any GNU archive site."
|
||||||
|
rm -f y.tab.c y.tab.h
|
||||||
|
if test $# -ne 1; then
|
||||||
|
eval LASTARG="\${$#}"
|
||||||
|
case $LASTARG in
|
||||||
|
*.y)
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||||
|
if test -f "$SRCFILE"; then
|
||||||
|
cp "$SRCFILE" y.tab.c
|
||||||
|
fi
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||||
|
if test -f "$SRCFILE"; then
|
||||||
|
cp "$SRCFILE" y.tab.h
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if test ! -f y.tab.h; then
|
||||||
|
echo >y.tab.h
|
||||||
|
fi
|
||||||
|
if test ! -f y.tab.c; then
|
||||||
|
echo 'main() { return 0; }' >y.tab.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
lex*|flex*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified a \`.l' file. You may need the \`Flex' package
|
||||||
|
in order for those modifications to take effect. You can get
|
||||||
|
\`Flex' from any GNU archive site."
|
||||||
|
rm -f lex.yy.c
|
||||||
|
if test $# -ne 1; then
|
||||||
|
eval LASTARG="\${$#}"
|
||||||
|
case $LASTARG in
|
||||||
|
*.l)
|
||||||
|
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||||
|
if test -f "$SRCFILE"; then
|
||||||
|
cp "$SRCFILE" lex.yy.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if test ! -f lex.yy.c; then
|
||||||
|
echo 'main() { return 0; }' >lex.yy.c
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
help2man*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified a dependency of a manual page. You may need the
|
||||||
|
\`Help2man' package in order for those modifications to take
|
||||||
|
effect. You can get \`Help2man' from any GNU archive site."
|
||||||
|
|
||||||
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
|
if test -f "$file"; then
|
||||||
|
touch $file
|
||||||
|
else
|
||||||
|
test -z "$file" || exec >$file
|
||||||
|
echo ".ab help2man is required to generate this page"
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
makeinfo*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is $msg. You should only need it if
|
||||||
|
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||||
|
indirectly affecting the aspect of the manual. The spurious
|
||||||
|
call might also be the consequence of using a buggy \`make' (AIX,
|
||||||
|
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||||
|
the \`GNU make' package. Grab either from any GNU archive site."
|
||||||
|
# The file to touch is that specified with -o ...
|
||||||
|
file=`echo "$*" | sed -n "$sed_output"`
|
||||||
|
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||||
|
if test -z "$file"; then
|
||||||
|
# ... or it is the one specified with @setfilename ...
|
||||||
|
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||||
|
file=`sed -n '
|
||||||
|
/^@setfilename/{
|
||||||
|
s/.* \([^ ]*\) *$/\1/
|
||||||
|
p
|
||||||
|
q
|
||||||
|
}' $infile`
|
||||||
|
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||||
|
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||||
|
fi
|
||||||
|
# If the file does not exist, the user really needs makeinfo;
|
||||||
|
# let's fail without touching anything.
|
||||||
|
test -f $file || exit 1
|
||||||
|
touch $file
|
||||||
|
;;
|
||||||
|
|
||||||
|
tar*)
|
||||||
|
shift
|
||||||
|
|
||||||
|
# We have already tried tar in the generic part.
|
||||||
|
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||||
|
# messages.
|
||||||
|
if (gnutar --version > /dev/null 2>&1); then
|
||||||
|
gnutar "$@" && exit 0
|
||||||
|
fi
|
||||||
|
if (gtar --version > /dev/null 2>&1); then
|
||||||
|
gtar "$@" && exit 0
|
||||||
|
fi
|
||||||
|
firstarg="$1"
|
||||||
|
if shift; then
|
||||||
|
case $firstarg in
|
||||||
|
*o*)
|
||||||
|
firstarg=`echo "$firstarg" | sed s/o//`
|
||||||
|
tar "$firstarg" "$@" && exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case $firstarg in
|
||||||
|
*h*)
|
||||||
|
firstarg=`echo "$firstarg" | sed s/h//`
|
||||||
|
tar "$firstarg" "$@" && exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||||
|
You may want to install GNU tar or Free paxutils, or check the
|
||||||
|
command line arguments."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo 1>&2 "\
|
||||||
|
WARNING: \`$1' is needed, and is $msg.
|
||||||
|
You might have modified some files without having the
|
||||||
|
proper tools for further handling them. Check the \`README' file,
|
||||||
|
it often tells you about the needed prerequisites for installing
|
||||||
|
this package. You may also peek at any GNU archive site, in case
|
||||||
|
some other package would contain this missing \`$1' program."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
|
@ -0,0 +1,634 @@
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
AC_DEFUN([_AM_AUTOCONF_VERSION],[])
|
||||||
|
|
||||||
|
AC_PREREQ([2.59])
|
||||||
|
AC_INIT([grib_api],[ ], [Software.Support@ecmwf.int])
|
||||||
|
|
||||||
|
AC_CONFIG_AUX_DIR([config])
|
||||||
|
|
||||||
|
LT_INIT([shared])
|
||||||
|
AC_SUBST([LIBTOOL_DEPS])
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
|
# Source file containing package/library versioning information.
|
||||||
|
|
||||||
|
. ${srcdir}/version.sh
|
||||||
|
|
||||||
|
GRIB_API_MAIN_VERSION="${GRIB_API_MAJOR_VERSION}.${GRIB_API_MINOR_VERSION}.${GRIB_API_REVISION_VERSION}"
|
||||||
|
echo $GRIB_API_MAIN_VERSION
|
||||||
|
PACKAGE_VERSION="${GRIB_API_MAIN_VERSION}"
|
||||||
|
AC_SUBST(GRIB_API_MAIN_VERSION)
|
||||||
|
echo "configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}"
|
||||||
|
|
||||||
|
|
||||||
|
# Ensure that make can run correctly
|
||||||
|
AM_SANITY_CHECK
|
||||||
|
|
||||||
|
AC_CONFIG_SRCDIR([src/grib_api.h])
|
||||||
|
AC_CONFIG_HEADER([src/config.h])
|
||||||
|
AC_CONFIG_FILES([grib_api.pc grib_api.spec grib_api_f90.pc])
|
||||||
|
AM_INIT_AUTOMAKE($PACKAGE_NAME,[${PACKAGE_VERSION}],[http://www.ecmwf.int])
|
||||||
|
|
||||||
|
definition_files_path=/usr/local/share/grib_api/definitions
|
||||||
|
samples_files_path=/usr/local/share/grib_api/samples
|
||||||
|
ifs_samples_files_path=/usr/local/share/grib_api/ifs_samples
|
||||||
|
default_perl_install=/usr/local/perl
|
||||||
|
|
||||||
|
if test "$prefix" != 'NONE' ; then
|
||||||
|
definition_files_path=${prefix}/share/grib_api/definitions
|
||||||
|
samples_files_path=${prefix}/share/grib_api/samples
|
||||||
|
ifs_samples_files_path=${prefix}/share/grib_api/ifs_samples
|
||||||
|
default_perl_install=${prefix}/perl
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$datadir" != '${datarootdir}' ; then
|
||||||
|
definition_files_path=$datadir/grib_api/definitions
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_API_MAIN_VERSION,$GRIB_API_MAIN_VERSION,Grib Api version)
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_API_MAJOR_VERSION,$GRIB_API_MAJOR_VERSION,Grib Api Major release)
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_API_MINOR_VERSION,$GRIB_API_MINOR_VERSION,Grib Api Minor release)
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_API_REVISION_VERSION,$GRIB_API_REVISION_VERSION,Grib Api Revision release)
|
||||||
|
AH_TEMPLATE([_LARGE_FILE_API],
|
||||||
|
[Needs to be undefined on some AIX])
|
||||||
|
|
||||||
|
PERLDIR=perl
|
||||||
|
AC_SUBST(PERLDIR)
|
||||||
|
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
|
AC_PROG_CC(xlc_r xlc gcc cc pgcc)
|
||||||
|
AC_PROG_CPP
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
AC_PROG_LN_S
|
||||||
|
AC_PROG_MAKE_SET
|
||||||
|
AC_PROG_YACC
|
||||||
|
AC_PROG_LEX
|
||||||
|
AC_PROG_F77(pgf90 pgf77 xlf gfortran f77 g77 f90 ifort)
|
||||||
|
AC_PROG_FC(pgf90 xlf90 gfortran f90 ifort)
|
||||||
|
|
||||||
|
dnl check availability of pthreads
|
||||||
|
AC_ARG_ENABLE([pthread],
|
||||||
|
[AS_HELP_STRING([--enable-pthread],[enable POSIX threads [by default disabled]])],
|
||||||
|
GRIB_PTHREADS=1 , GRIB_PTHREADS=0
|
||||||
|
)
|
||||||
|
|
||||||
|
if test $GRIB_PTHREADS -eq 1
|
||||||
|
then
|
||||||
|
AC_GRIB_PTHREADS
|
||||||
|
AC_GRIB_LINUX_PTHREADS
|
||||||
|
else
|
||||||
|
GRIB_LINUX_PTHREADS=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_PTHREADS,$GRIB_PTHREADS,1->pthreads enabled 0->pthreads disabled)
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_LINUX_PTHREADS,$GRIB_LINUX_PTHREADS,1->pthreads enabled 0->pthreads disabled)
|
||||||
|
|
||||||
|
dnl check on uppercase fortran modules not working to be fixed
|
||||||
|
dnl some fortran compilers change the name of the .mod file in upper case!
|
||||||
|
ac_cv_prog_f90_uppercase_mod=no
|
||||||
|
AC_PROG_FC_UPPERCASE_MOD
|
||||||
|
AM_CONDITIONAL(UPPER_CASE_MOD, [test "x$ac_cv_prog_f90_uppercase_mod" = xyes])
|
||||||
|
|
||||||
|
AC_IEEE_BE
|
||||||
|
AC_DEFINE_UNQUOTED(IEEE_BE,$IS_IEEE_BE,1-> ieee big endian float/double 0->no ieee big endian float/double)
|
||||||
|
|
||||||
|
AC_IEEE_LE
|
||||||
|
AC_DEFINE_UNQUOTED(IEEE_LE,$IS_IEEE_LE,1-> ieee little endian float/double 0->no ieee little endian float/double)
|
||||||
|
|
||||||
|
dnl disable ieee native packing
|
||||||
|
AC_ARG_ENABLE([ieee-native],
|
||||||
|
[AS_HELP_STRING([--disable-ieee-native],[disable ieee native packing])],
|
||||||
|
without_ieee=1,without_ieee=0)
|
||||||
|
|
||||||
|
if test $without_ieee -eq 1
|
||||||
|
then
|
||||||
|
AC_DEFINE_UNQUOTED(IEEE_LE,0,1-> ieee little endian float/double 0->no ieee little endian float/double)
|
||||||
|
AC_DEFINE_UNQUOTED(IEEE_BE,0,1-> ieee big endian float/double 0->no ieee big endian float/double)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_BIG_ENDIAN
|
||||||
|
AC_DEFINE_UNQUOTED(IS_BIG_ENDIAN,$IS_BIG_ENDIAN,1-> big endian 0->little endian)
|
||||||
|
|
||||||
|
AC_INLINE
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_INLINE,$HAS_INLINE,inline if available)
|
||||||
|
|
||||||
|
AC_ALIGN
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_MEM_ALIGN,$MEM_ALIGN,memory alignment required)
|
||||||
|
|
||||||
|
AC_CHECK_FUNC([posix_memalign],
|
||||||
|
[AC_DEFINE_UNQUOTED(POSIX_MEMALIGN,1,posix_memalign present)])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([align-memory],
|
||||||
|
[AS_HELP_STRING([--enable-align-memory],[enable memory alignment [by default disabled]])],
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_MEM_ALIGN,1,memory alignment required) ,
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl use vectorised code
|
||||||
|
AC_ARG_ENABLE([vector],
|
||||||
|
[AS_HELP_STRING([--enable-vector],[enable vectorised code [by default disabled]] )],
|
||||||
|
[vectorise=${enableval}],[vectorise=no])
|
||||||
|
if test "x${vectorise}" = xyes
|
||||||
|
then
|
||||||
|
vectorise=1
|
||||||
|
else
|
||||||
|
vectorise=0
|
||||||
|
fi
|
||||||
|
AC_DEFINE_UNQUOTED(VECTOR,$vectorise,vectorised code)
|
||||||
|
|
||||||
|
dnl enable memory management
|
||||||
|
AC_ARG_ENABLE([memory-management],
|
||||||
|
[AS_HELP_STRING([--enable-memory-management],[enable memory [by default disabled]])],
|
||||||
|
AC_DEFINE_UNQUOTED(MANAGE_MEM,1,memory management) ,
|
||||||
|
AC_DEFINE_UNQUOTED(MANAGE_MEM,0,memory management)
|
||||||
|
)
|
||||||
|
|
||||||
|
dnl enable development configuration
|
||||||
|
DEVEL_RULES=''
|
||||||
|
AC_ARG_ENABLE([development],
|
||||||
|
[AS_HELP_STRING([--enable-development],[enable development configuration [by default disabled]])],
|
||||||
|
[GRIB_DEVEL=${enableval}] , [GRIB_DEVEL=no]
|
||||||
|
)
|
||||||
|
if test "x${GRIB_DEVEL}" = xyes
|
||||||
|
then
|
||||||
|
GRIB_DEVEL=1
|
||||||
|
DEVEL_RULES='extrules.am'
|
||||||
|
else
|
||||||
|
GRIB_DEVEL=0
|
||||||
|
DEVEL_RULES='dummy.am'
|
||||||
|
fi
|
||||||
|
AC_SUBST(DEVEL_RULES)
|
||||||
|
AC_SUBST(GRIB_DEVEL)
|
||||||
|
|
||||||
|
|
||||||
|
dnl Large file support
|
||||||
|
AC_FUNC_FSEEKO
|
||||||
|
CREATE_H=''
|
||||||
|
if test x"$ac_cv_func_fseeko" != xyes ; then
|
||||||
|
CREATE_H='./create_h.sh 1'
|
||||||
|
else
|
||||||
|
CREATE_H='./create_h.sh 0'
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SYS_LARGEFILE
|
||||||
|
|
||||||
|
dnl What OS are we running?
|
||||||
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
|
dnl RPM related variables
|
||||||
|
RPM_HOST_CPU=${host_cpu}
|
||||||
|
RPM_HOST_VENDOR=${host_vendor}
|
||||||
|
RPM_HOST_OS=${host_os}
|
||||||
|
RPM_CONFIGURE_ARGS=${ac_configure_args}
|
||||||
|
AC_SUBST(RPM_HOST_CPU)
|
||||||
|
AC_SUBST(RPM_HOST_VENDOR)
|
||||||
|
AC_SUBST(RPM_HOST_OS)
|
||||||
|
AC_SUBST(RPM_CONFIGURE_ARGS)
|
||||||
|
AC_ARG_WITH(rpm-release, [ --with-rpm-release=NUMBER The rpms will use this release number (defaults to 1)],
|
||||||
|
RPM_RELEASE="$withval", RPM_RELEASE=1)
|
||||||
|
AC_SUBST(RPM_RELEASE)
|
||||||
|
|
||||||
|
|
||||||
|
GRIB_SAMPLES_PATH=$samples_files_path
|
||||||
|
GRIB_TEMPLATES_PATH=$samples_files_path
|
||||||
|
GRIB_DEFINITION_PATH=$definition_files_path
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_TEMPLATES_PATH,"$samples_files_path",Directory where templates are)
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_SAMPLES_PATH,"$samples_files_path",Directory where samples are)
|
||||||
|
AC_DEFINE_UNQUOTED(GRIB_DEFINITION_PATH,"$definition_files_path",Directory where definition files are)
|
||||||
|
|
||||||
|
AC_SUBST(GRIB_TEMPLATES_PATH)
|
||||||
|
AC_SUBST(GRIB_SAMPLES_PATH)
|
||||||
|
AC_SUBST(GRIB_DEFINITION_PATH)
|
||||||
|
|
||||||
|
dnl Fortran interface
|
||||||
|
AC_ARG_ENABLE([fortran],
|
||||||
|
[AS_HELP_STRING([--disable-fortran],[disable fortran interface [by default enabled]])],
|
||||||
|
without_fortran=1,without_fortran=0)
|
||||||
|
|
||||||
|
if test "x$FC" = "x"
|
||||||
|
then
|
||||||
|
without_fortran=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl check on uppercase fortran modules not working to be fixed
|
||||||
|
dnl some fortran compilers change the name of the .mod file in upper case!
|
||||||
|
ac_cv_prog_f90_uppercase_mod=no
|
||||||
|
AC_PROG_FC_UPPERCASE_MOD
|
||||||
|
AM_CONDITIONAL(UPPER_CASE_MOD, [test "x$ac_cv_prog_f90_uppercase_mod" = xyes])
|
||||||
|
|
||||||
|
dnl check if the fortran compiler has problems using modules when in debug mode
|
||||||
|
dnl Porland compilers versions 7 and 8 are known to fail here
|
||||||
|
AC_PROG_FC_DEBUG_IN_MODULE
|
||||||
|
AM_CONDITIONAL(DEBUG_IN_MOD, [test "x$ac_cv_prog_f90_debug_in_module" = xyes])
|
||||||
|
|
||||||
|
if test $without_fortran -ne 1 && test "x$ac_cv_prog_f90_debug_in_module" != xyes \
|
||||||
|
&& test "x$enable_shared" = xyes && test "x$FCFLAGS" = "x-g"
|
||||||
|
then
|
||||||
|
without_fortran=1
|
||||||
|
AC_MSG_WARN([
|
||||||
|
|
||||||
|
Your Fortran compiler ($FC) does not support linking to dynamic library modules when debug is enabled. This is a known
|
||||||
|
problem with Portland compilers versions 7 and 8, for example. Possible workarounds are:
|
||||||
|
|
||||||
|
- Use a Portland compiler version 10 or higher or a different compiler.
|
||||||
|
- Disable shared libraries (e.g. configure --disable-shared)
|
||||||
|
- Disable debug (e.g. configure FCFLAGS=\"\")
|
||||||
|
|
||||||
|
Compilation of the Fortran module has been disabled
|
||||||
|
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test $without_fortran -ne 1
|
||||||
|
then
|
||||||
|
FORTRAN_MOD=fortran
|
||||||
|
AC_SUBST(FORTRAN_MOD)
|
||||||
|
F90_CHECK="examples/F90"
|
||||||
|
AC_SUBST(F90_CHECK)
|
||||||
|
|
||||||
|
dnl detect the Fortran 90 modules inclusion flag.
|
||||||
|
AX_F90_MODULE_FLAG
|
||||||
|
if test "$ax_cv_f90_modflag" = "not found" ; then
|
||||||
|
AC_MSG_ERROR([unable to find compiler flag for modules inclusion])
|
||||||
|
fi
|
||||||
|
F90_MODULE_FLAG=$ax_cv_f90_modflag
|
||||||
|
AC_SUBST([F90_MODULE_FLAG])
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl ifs_samples
|
||||||
|
AC_ARG_WITH([ifs-samples],
|
||||||
|
[AS_HELP_STRING([--with-ifs-samples=ifs-samples-dir],[ifs_samples will be installed in ifs-samples-dir])],
|
||||||
|
ifs_samples=$withval, ifs_samples='none')
|
||||||
|
IFS_SAMPLES_DIR=""
|
||||||
|
|
||||||
|
if test $ifs_samples != 'none'
|
||||||
|
then
|
||||||
|
IFS_SAMPLES_DIR=$ifs_samples
|
||||||
|
else
|
||||||
|
IFS_SAMPLES_DIR=$ifs_samples_files_path
|
||||||
|
fi
|
||||||
|
AC_SUBST([IFS_SAMPLES_DIR])
|
||||||
|
|
||||||
|
|
||||||
|
dnl EMOS
|
||||||
|
AC_ARG_WITH([emos],
|
||||||
|
[AS_HELP_STRING([--with-emos=EMOS],[use emos for tests])],
|
||||||
|
emos=$withval, emos='none')
|
||||||
|
|
||||||
|
EMOS_LIB=""
|
||||||
|
if test "$emos" != 'none'
|
||||||
|
then
|
||||||
|
EMOS_LIB=$emos
|
||||||
|
AC_DEFINE(HAVE_LIBEMOS,1,Define if you have EMOS library)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
dnl fortran libraries
|
||||||
|
AC_ARG_WITH([fortranlibdir],
|
||||||
|
[AS_HELP_STRING([--with-fortranlibdir=FORTRANDIR],[fortran libraries directory ])],
|
||||||
|
fortranlibdir=$withval, fortranlibdir='')
|
||||||
|
|
||||||
|
AC_ARG_WITH([fortranlibs],
|
||||||
|
[AS_HELP_STRING([--with-fortranlibs=FORTRANLIBS],[fortran libraries to link from C])],
|
||||||
|
fortranlibs=$withval, fortranlibs='none')
|
||||||
|
|
||||||
|
if test "$fortranlibs" != 'none'
|
||||||
|
then
|
||||||
|
EMOS_LIB="$emos -L$fortranlibdir $fortranlibs -Wl,-rpath $fortranlibdir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(EMOS_LIB)
|
||||||
|
|
||||||
|
dnl timer
|
||||||
|
AC_ARG_ENABLE([timer],
|
||||||
|
[AS_HELP_STRING([--enable-timer],[enable timer [by default disabled]])],
|
||||||
|
with_timer=1,with_timer=0)
|
||||||
|
if test ${with_timer} -eq 1
|
||||||
|
then
|
||||||
|
AC_DEFINE(GRIB_TIMER,1,1->Timer on 0->Timer off)
|
||||||
|
else
|
||||||
|
AC_DEFINE(GRIB_TIMER,0,1->Timer on 0->Timer off)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
dnl multithread packing
|
||||||
|
AC_ARG_ENABLE([omp-packing],
|
||||||
|
[AS_HELP_STRING([--enable-omp-packing],[enable OpenMP multithreaded packing [by default disabled]])],
|
||||||
|
with_omp=1,with_omp=0)
|
||||||
|
if test ${with_omp} -eq 1
|
||||||
|
then
|
||||||
|
AC_DEFINE(OMP_PACKING,1,1->OpenMP packing 0->single thread packing)
|
||||||
|
else
|
||||||
|
AC_DEFINE(OMP_PACKING,0,1->OpenMP packing 0->single thread packing)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_ARG_WITH([netcdf],
|
||||||
|
[AS_HELP_STRING([--with-netcdf=NETCDF],[enable netcdf encoding/decoding using netcdf library in NETCDF])],
|
||||||
|
netcdf_dir=$withval,netcdf_dir='none')
|
||||||
|
with_netcdf=0
|
||||||
|
if test $netcdf_dir != 'none'
|
||||||
|
then
|
||||||
|
with_netcdf=1
|
||||||
|
CFLAGS="$CFLAGS -I${netcdf_dir}/include"
|
||||||
|
LDFLAGS="$LDFLAGS -L${netcdf_dir}/lib"
|
||||||
|
AC_CHECK_LIB(netcdf,nc_open,netcdf_ok=1,netcdf_ok=0)
|
||||||
|
if test $netcdf_ok -eq 0
|
||||||
|
then
|
||||||
|
AC_MSG_NOTICE([
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
CONFIGURATION ERROR: netcdf test not passed.
|
||||||
|
Please check that the path to the netcdf library given in --with-netcdf=PATH_TO_NETCDF
|
||||||
|
is correct. Otherwise build without netcdf.
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
])
|
||||||
|
test 0 -eq 1
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
LIBS="-lnetcdf $LIBS"
|
||||||
|
AC_DEFINE(HAVE_NETCDF,1,NETCDF enabled)
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Check for jpeg
|
||||||
|
AC_ARG_ENABLE([jpeg],
|
||||||
|
[AS_HELP_STRING([--disable-jpeg],[disable jpeg 2000 for grib 2 decoding/encoding [by default enabled]])],
|
||||||
|
without_jpeg=1,without_jpeg=0)
|
||||||
|
|
||||||
|
AC_ARG_WITH([jasper],
|
||||||
|
[AS_HELP_STRING([--with-jasper=JASPER],[use specified jasper installation directory])],
|
||||||
|
jasper_dir=$withval, jasper_dir='system')
|
||||||
|
|
||||||
|
JASPER_DIR=$jasper_dir
|
||||||
|
AC_SUBST(JASPER_DIR)
|
||||||
|
|
||||||
|
if test $jasper_dir != 'system'
|
||||||
|
then
|
||||||
|
CFLAGS="$CFLAGS -I${jasper_dir}/include"
|
||||||
|
LDFLAGS="$LDFLAGS -L${jasper_dir}/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_ARG_WITH([openjpeg],
|
||||||
|
[AS_HELP_STRING([--with-openjpeg=OPENJPEG],[use specified openjpeg installation directory])],
|
||||||
|
openjpeg_dir=$withval, openjpeg_dir='system')
|
||||||
|
|
||||||
|
OPENJPEG_DIR=$openjpeg_dir
|
||||||
|
AC_SUBST(OPENJPEG_DIR)
|
||||||
|
|
||||||
|
if test $openjpeg_dir != 'system'
|
||||||
|
then
|
||||||
|
CFLAGS="$CFLAGS -I${openjpeg_dir}/include"
|
||||||
|
LDFLAGS="$LDFLAGS -L${openjpeg_dir}/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $without_jpeg -ne 1
|
||||||
|
then
|
||||||
|
AC_DEFINE(HAVE_JPEG,1,JPEG enabled)
|
||||||
|
AC_CHECK_LIB(jasper,jas_stream_memopen,jasper_ok=1,jasper_ok=0)
|
||||||
|
AC_CHECK_LIB(openjpeg,opj_image_create,openjpeg_ok=1,openjpeg_ok=0)
|
||||||
|
|
||||||
|
jpeg_ok=0
|
||||||
|
|
||||||
|
# prefer openjpeg over jasper
|
||||||
|
if test $openjpeg_ok -eq 1
|
||||||
|
then
|
||||||
|
jpeg_ok=1
|
||||||
|
LIB_OPENJPEG='-lopenjpeg -lm'
|
||||||
|
LIBS="$LIB_OPENJPEG $LIBS"
|
||||||
|
AC_DEFINE(HAVE_LIBOPENJPEG,1,Define if you have JPEG version 2 "Openjpeg" library)
|
||||||
|
AC_SUBST(LIB_OPENJPEG)
|
||||||
|
elif test $jasper_ok -eq 1
|
||||||
|
then
|
||||||
|
jpeg_ok=1
|
||||||
|
LIB_JASPER='-ljasper'
|
||||||
|
LIBS="$LIB_JASPER $LIBS"
|
||||||
|
AC_DEFINE(HAVE_LIBJASPER,1,Define if you have JPEG version 2 "Jasper" library)
|
||||||
|
AC_SUBST(LIB_JASPER)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $jpeg_ok -eq 0
|
||||||
|
then
|
||||||
|
AC_MSG_NOTICE([
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
CONFIGURATION ERROR: jpeg library (jasper or openjpeg) required.
|
||||||
|
jpeg library installation is not working or missing.
|
||||||
|
|
||||||
|
To fix this problem you have the following options.
|
||||||
|
1) Install without jpeg support enabled (--disable-jpeg), but you won't be able to
|
||||||
|
decode grib 2 data encoded in jpeg.
|
||||||
|
2) Check if you have a jpeg library installed in a path different from your system path.
|
||||||
|
In this case you can provide your jpeg library installation path to the configure
|
||||||
|
through the options:
|
||||||
|
--with-jasper="jasper_lib_path"
|
||||||
|
--with-openjpeg="openjpeg_lib_path"
|
||||||
|
3) Download and install one of the supported jpeg libraries.
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
])
|
||||||
|
[ 0 -eq 1 ]
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
JPEG_TEST="jpeg.sh"
|
||||||
|
AC_SUBST(JPEG_TEST)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
dnl Check for png
|
||||||
|
AC_ARG_WITH([png-support],
|
||||||
|
[AS_HELP_STRING([--with-png-support],[add support for png decoding/encoding])],
|
||||||
|
with_png=1,with_png=0)
|
||||||
|
|
||||||
|
if test $with_png -gt 0
|
||||||
|
then
|
||||||
|
AC_MSG_CHECKING(for PNG )
|
||||||
|
AC_MSG_RESULT()
|
||||||
|
AC_CHECK_HEADER(png.h,passed=1,passed=0)
|
||||||
|
AC_CHECK_LIB(png,png_read_png,passed=1,passed=0)
|
||||||
|
AC_MSG_CHECKING(if PNG support package is complete)
|
||||||
|
|
||||||
|
if test $passed -gt 0
|
||||||
|
then
|
||||||
|
LIB_PNG='-lpng'
|
||||||
|
LIBS="$LIB_PNG $LIBS"
|
||||||
|
AC_DEFINE(HAVE_LIBPNG,1,Define to 1 if you have the png library (-lpng))
|
||||||
|
AC_SUBST(LIB_PNG)
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no -- some components failed test)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Perl installation directory
|
||||||
|
|
||||||
|
#PERL_INSTALL_OPTIONS="PREFIX=$prefix INSTALLDIRS=perl"
|
||||||
|
PERL_INSTALL_OPTIONS="LIB=$default_perl_install"
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([install-system-perl],
|
||||||
|
[AS_HELP_STRING([--enable-install-system-perl],[perl modules will install in the standard perl installation ])],
|
||||||
|
enable_perl_install='yes', enable_perl_install='no')
|
||||||
|
|
||||||
|
if test "$enable_perl_install" = 'yes'
|
||||||
|
then
|
||||||
|
PERL_INSTALL_OPTIONS=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(PERL_INSTALL_OPTIONS)
|
||||||
|
|
||||||
|
dnl Disable build/install of Perl grib_api.
|
||||||
|
AC_ARG_WITH([perl],
|
||||||
|
[AS_HELP_STRING([--with-perl=PERL],[use specified Perl binary to configure Perl grib_api])],
|
||||||
|
with_perl=$withval, with_perl='no')
|
||||||
|
|
||||||
|
dnl Look for PERL if Perl requested
|
||||||
|
if test "$with_perl" != 'no'
|
||||||
|
then
|
||||||
|
if test "$with_perl" != 'yes'
|
||||||
|
then
|
||||||
|
AC_CACHE_CHECK(for perl,ac_cv_path_PERL,ac_cv_path_PERL="$with_perl");
|
||||||
|
PERL=$ac_cv_path_PERL
|
||||||
|
AC_SUBST(PERL)dnl
|
||||||
|
else
|
||||||
|
AC_PATH_PROGS(PERL,perl perl5,perl)dnl
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Get full paths
|
||||||
|
builddir=`pwd`
|
||||||
|
|
||||||
|
dnl Options to pass when configuring Perl grib_api
|
||||||
|
GRIB_API_LIB="${builddir}/src/grib_api.a"
|
||||||
|
GRIB_API_INC="${builddir}/src"
|
||||||
|
AC_ARG_WITH([perl-options],
|
||||||
|
[AS_HELP_STRING([--with-perl-options=[OPTIONS]], [options to pass on command-line when
|
||||||
|
generating Perl grib_api's Makefile from Makefile.PL])],
|
||||||
|
PERL_MAKE_OPTIONS=$withval)
|
||||||
|
AC_SUBST(PERL_MAKE_OPTIONS)
|
||||||
|
AC_SUBST(GRIB_API_LIB)
|
||||||
|
AC_SUBST(GRIB_API_INC)
|
||||||
|
|
||||||
|
AM_CONDITIONAL(WITH_PERL, test $with_perl != no)
|
||||||
|
|
||||||
|
dnl Enable the Python interface in the build
|
||||||
|
AC_ARG_ENABLE([python],
|
||||||
|
[AS_HELP_STRING([--enable-python],[Enable the Python interface in the build [by default disabled]])])
|
||||||
|
|
||||||
|
dnl Check if the user wants numpy disabled
|
||||||
|
AC_ARG_ENABLE([numpy],
|
||||||
|
[AS_HELP_STRING([--disable-numpy],[Disable NumPy as the data handling package for the Python interface [by default enabled]])])
|
||||||
|
|
||||||
|
dnl Look for Python if requested
|
||||||
|
if test "x$enable_python" = "xyes"
|
||||||
|
then
|
||||||
|
dnl search for a python interpreter on the system dnl abort if one not found
|
||||||
|
dnl am_path_python sets many python vars - RTFM for more info
|
||||||
|
AM_PATH_PYTHON([2.5])
|
||||||
|
|
||||||
|
AC_ARG_VAR([PYTHON_INCLUDES], [Include flags for python])
|
||||||
|
AC_ARG_VAR([PYTHON_LDFLAGS], [Link flags for python])
|
||||||
|
AC_ARG_VAR([PYTHON_CFLAGS], [C flags for python])
|
||||||
|
AC_ARG_VAR([PYTHON_LIBS], [Libraries for python])
|
||||||
|
AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
|
||||||
|
|
||||||
|
AC_PATH_PROGS([PYTHON_CONFIG],
|
||||||
|
[python$PYTHON_VERSION-config python-config],
|
||||||
|
[no],
|
||||||
|
[`dirname $PYTHON`])
|
||||||
|
AS_IF([test "$PYTHON_CONFIG" = no], [AC_MSG_ERROR([cannot find python-config for $PYTHON.])])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([python include flags])
|
||||||
|
PYTHON_INCLUDES=`$PYTHON_CONFIG --includes`
|
||||||
|
AC_MSG_RESULT([$PYTHON_INCLUDES])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([python link flags])
|
||||||
|
PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
|
||||||
|
AC_MSG_RESULT([$PYTHON_LDFLAGS])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([python C flags])
|
||||||
|
PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
|
||||||
|
AC_MSG_RESULT([$PYTHON_CFLAGS])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([python libraries])
|
||||||
|
PYTHON_LIBS=`$PYTHON_CONFIG --libs`
|
||||||
|
AC_MSG_RESULT([$PYTHON_LIBS])
|
||||||
|
|
||||||
|
# macro that gets the include path for Python.h which is used to build
|
||||||
|
# the shared library corresponding to the GRIB API Python module.
|
||||||
|
# AX_PYTHON_DEVEL
|
||||||
|
|
||||||
|
# enable testing scripts if building with Python
|
||||||
|
PYTHON_CHECK='examples/python'
|
||||||
|
AC_SUBST(PYTHON_CHECK)
|
||||||
|
|
||||||
|
data_handler=numpy
|
||||||
|
if test "x$enable_numpy" != "xno"
|
||||||
|
then
|
||||||
|
AC_MSG_CHECKING(whether numpy is installed)
|
||||||
|
|
||||||
|
has_numpy=`$PYTHON -c "import numpy;print numpy" 2> /dev/null`
|
||||||
|
if test "x$has_numpy" = "x"
|
||||||
|
then
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
AC_MSG_ERROR([NumPy is not installed. Use --disable-numpy if you want to disable Numpy from the build.])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
NUMPY_INCLUDE=`$PYTHON -c "import numpy;print numpy.get_include()"`
|
||||||
|
AC_SUBST(NUMPY_INCLUDE)
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
data_handler=array
|
||||||
|
fi
|
||||||
|
|
||||||
|
PYTHON_DATA_HANDLER=$data_handler
|
||||||
|
AC_SUBST(PYTHON_DATA_HANDLER)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL([WITH_PYTHON], [test x$PYTHON != x])
|
||||||
|
AM_CONDITIONAL([WITH_FORTRAN], [test x$FORTRAN_MOD != x])
|
||||||
|
AM_CONDITIONAL([CREATING_SHARED_LIBS], [test "x$enable_shared" = xyes])
|
||||||
|
|
||||||
|
|
||||||
|
dnl AC_DISABLE_SHARED
|
||||||
|
dnl LT_INIT
|
||||||
|
|
||||||
|
dnl Checks for ar and rm
|
||||||
|
AC_CHECK_PROG(RM, rm, rm)
|
||||||
|
AC_CHECK_TOOL(AR, ar, ar)
|
||||||
|
|
||||||
|
dnl Check if -pedantic available
|
||||||
|
grib_api_PROG_CC_WARNING_PEDANTIC([-Wall])
|
||||||
|
|
||||||
|
dnl Enable -Werror despite compiler version
|
||||||
|
grib_api_ENABLE_WARNINGS_ARE_ERRORS
|
||||||
|
|
||||||
|
dnl Checks for libraries
|
||||||
|
AC_CHECK_LIB(m,pow)
|
||||||
|
|
||||||
|
dnl Checks for header files.
|
||||||
|
AC_HEADER_DIRENT
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_CHECK_HEADERS([stddef.h stdlib.h string.h sys/param.h sys/time.h unistd.h math.h stdarg.h assert.h ctype.h fcntl.h])
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_HEADER_TIME
|
||||||
|
|
||||||
|
dnl Checks for library functions.
|
||||||
|
AC_FUNC_CLOSEDIR_VOID
|
||||||
|
AC_TYPE_SIGNAL
|
||||||
|
AC_FUNC_VPRINTF
|
||||||
|
AC_CHECK_FUNCS([bzero gettimeofday])
|
||||||
|
|
||||||
|
AX_LINUX_DISTRIBUTION
|
||||||
|
|
||||||
|
AC_OUTPUT( Makefile src/Makefile fortran/Makefile tools/Makefile definitions/Makefile samples/Makefile ifs_samples/grib1/Makefile ifs_samples/grib1_mlgrib2/Makefile ifs_samples/grib1_mlgrib2_ieee64/Makefile tests/Makefile examples/C/Makefile examples/F90/Makefile tigge/Makefile perl/GRIB-API/Makefile.PL perl/Makefile python/Makefile examples/python/Makefile rpms/grib_api.spec rpms/grib_api.pc rpms/grib_api_f90.pc)
|
||||||
|
|
||||||
|
AC_MSG_NOTICE([
|
||||||
|
|
||||||
|
Configuration completed.
|
||||||
|
|
||||||
|
You can now say 'make' to compile the grib_api package, 'make check' to
|
||||||
|
test it and 'make install' to install it afterwards.
|
||||||
|
])
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,87 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
include "parameters_version.def";
|
||||||
|
constant definitionFilesVersion="2.0.0.0" : hidden;
|
||||||
|
constant internalVersion=22 : hidden;
|
||||||
|
|
||||||
|
constant zero=0 : hidden;
|
||||||
|
constant one=1 : hidden;
|
||||||
|
constant two=1 : hidden;
|
||||||
|
constant three=1 : hidden;
|
||||||
|
constant eight=8 : hidden;
|
||||||
|
constant hundred=100 : hidden;
|
||||||
|
constant eleven=11 : hidden;
|
||||||
|
constant false="false" : hidden;
|
||||||
|
transient truncateLaplacian=0 : hidden;
|
||||||
|
constant marsDir="mars" : no_copy,hidden;
|
||||||
|
constant present=1 : hidden;
|
||||||
|
constant epsPoint=1 : hidden;
|
||||||
|
constant epsContinous=11 : hidden;
|
||||||
|
constant epsStatisticsPoint=2 : hidden;
|
||||||
|
constant epsStatisticsContinous=12 : hidden;
|
||||||
|
alias epsStatistics=zero : hidden;
|
||||||
|
|
||||||
|
constant defaultParameter = 0 : hidden;
|
||||||
|
constant defaultName="unknown" :hidden;
|
||||||
|
constant defaultShortName="unknown" : hidden;
|
||||||
|
transient truncateDegrees=0 : hidden;
|
||||||
|
transient dummy = 1 :hidden;
|
||||||
|
constant unknown="unknown" : hidden;
|
||||||
|
constant oneConstant=1 : hidden;
|
||||||
|
constant thousand=1000;
|
||||||
|
constant hundred=100;
|
||||||
|
constant oneMillionConstant=1000000 : hidden;
|
||||||
|
constant grib1divider = 1000 : hidden;
|
||||||
|
meta offset offset_file() : hidden;
|
||||||
|
meta count count_file() : hidden;
|
||||||
|
meta countTotal count_total() : hidden;
|
||||||
|
transient file="unknown" : hidden;
|
||||||
|
transient changingPrecision=0 : hidden;
|
||||||
|
transient unitsFactor=1 : hidden;
|
||||||
|
transient unitsBias=0 : hidden;
|
||||||
|
constant globalDomain = "g";
|
||||||
|
transient timeRangeIndicatorFromStepRange=-1 : hidden;
|
||||||
|
|
||||||
|
|
||||||
|
meta libraryVersion library_version() : hidden;
|
||||||
|
|
||||||
|
lookup[4] kindOfProduct (0,identifier) : hidden;
|
||||||
|
# grib templates
|
||||||
|
# `ABCD` is a number, each letter being a byte
|
||||||
|
|
||||||
|
if(kindOfProduct == `GRIB`){
|
||||||
|
lookup[1] GRIBEditionNumber (7,editionNumber) : edition_specific ;
|
||||||
|
template GRIB "grib[GRIBEditionNumber:l]/boot.def" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(kindOfProduct == `BUDG`){
|
||||||
|
template BUDG "budg/boot.def" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(kindOfProduct == `TIDE`){
|
||||||
|
template TIDE "tide/boot.def" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(kindOfProduct == `BUFR`){
|
||||||
|
template BUFR "bufr/boot.def" ;
|
||||||
|
constant BUFRstr="BUFR";
|
||||||
|
alias ls.identifier=BUFRstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(kindOfProduct == `CDFX`){
|
||||||
|
template CDF "cdf/boot.def" ;
|
||||||
|
constant CDFstr="netCDF";
|
||||||
|
alias ls.identifier=CDFstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(kindOfProduct == 17632522 ){
|
||||||
|
template GTS "gts/boot.def" ;
|
||||||
|
constant GTSstr="GTS";
|
||||||
|
alias ls.identifier=GTSstr;
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
position startOfHeaders;
|
||||||
|
ascii[4] identifier ;
|
||||||
|
|
||||||
|
alias ls.identifier=identifier;
|
||||||
|
transient missingValue = 9999 ;
|
||||||
|
constant ieeeFloats = 0: edition_specific;
|
||||||
|
constant zero=0:hidden;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template section1 "budg/section.1.def" ;
|
||||||
|
template mars_labeling "budg/mars_labeling.def" ;
|
||||||
|
template section4 "budg/section.4.def" ;
|
||||||
|
ascii[4] endMark ;
|
||||||
|
position totalLength;
|
||||||
|
|
||||||
|
|
||||||
|
# This needs to be there for the MARS server, so the totalLength is processed correctly
|
||||||
|
position endOfHeadersMaker ;
|
||||||
|
meta lengthOfHeaders evaluate( endOfHeadersMaker-startOfHeaders);
|
||||||
|
meta md5Headers md5(startOfHeaders,lengthOfHeaders);
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
constant domain = "g";
|
||||||
|
constant levtype = "sfc";
|
||||||
|
constant param = "128.128";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
alias mars.param = param;
|
||||||
|
alias mars.levtype = levtype;
|
||||||
|
#alias mars.domain = domain;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
length[3] section1Length ;
|
||||||
|
|
||||||
|
unsigned[1] gribTablesVersionNo ;
|
||||||
|
codetable[1] centre 'grib1/0.table' : string_type;
|
||||||
|
|
||||||
|
alias ls.centre=centre;
|
||||||
|
alias identificationOfOriginatingGeneratingCentre=centre;
|
||||||
|
|
||||||
|
unsigned[1] generatingProcessIdentifier ;
|
||||||
|
|
||||||
|
unsigned[1] gridDefinition ;
|
||||||
|
|
||||||
|
flags[1] flag 'grib1/1.table';
|
||||||
|
|
||||||
|
codetable[1] indicatorOfParameter 'grib1/2.[centre:l].[gribTablesVersionNo:l].table';
|
||||||
|
|
||||||
|
codetable[1] indicatorOfTypeOfLevel 'grib1/3.table';
|
||||||
|
codetable[2] heightPressureEtcOfLevels 'grib1/3.table';
|
||||||
|
alias ls.levelType=indicatorOfTypeOfLevel;
|
||||||
|
|
||||||
|
# Year of century
|
||||||
|
# NOTE 6 NOT FOUND
|
||||||
|
unsigned[1] yearOfCentury ;
|
||||||
|
|
||||||
|
# Month
|
||||||
|
unsigned[1] month ;
|
||||||
|
|
||||||
|
# Day
|
||||||
|
unsigned[1] day;
|
||||||
|
|
||||||
|
# Hour
|
||||||
|
unsigned[1] hour ;
|
||||||
|
|
||||||
|
# Minute
|
||||||
|
unsigned[1] minute ;
|
||||||
|
|
||||||
|
|
||||||
|
constant second = 0;
|
||||||
|
meta dataDate budgdate(yearOfCentury,month,day);
|
||||||
|
alias ls.date=dataDate;
|
||||||
|
meta dataTime time(hour,minute,second);
|
||||||
|
|
||||||
|
meta julianDay julian_day(dataDate,hour,minute,second) : edition_specific;
|
||||||
|
|
||||||
|
|
||||||
|
# Indicator of unit of time range
|
||||||
|
codetable[1] indicatorOfUnitOfTimeRange 'grib1/4.table';
|
||||||
|
|
||||||
|
# P1 - Period of time
|
||||||
|
# (number of time units)
|
||||||
|
unsigned[1] periodOfTime ;
|
||||||
|
|
||||||
|
alias P1 = periodOfTime ;
|
||||||
|
|
||||||
|
# P2 - Period of time
|
||||||
|
# (number of time units)
|
||||||
|
unsigned[1] periodOfTimeIntervals ;
|
||||||
|
|
||||||
|
alias P2 = periodOfTimeIntervals ;
|
||||||
|
|
||||||
|
codetable[1] timeRangeIndicator 'grib1/5.table';
|
||||||
|
|
||||||
|
codetable[1] stepUnits 'grib2/tables/1/4.4.table' = 1 : transient,dump,no_copy;
|
||||||
|
|
||||||
|
concept stepType {
|
||||||
|
"instant" = {timeRangeIndicator=0;}
|
||||||
|
"instant" = {timeRangeIndicator=1;}
|
||||||
|
"instant" = {timeRangeIndicator=10;}
|
||||||
|
"avg" = {timeRangeIndicator=3;}
|
||||||
|
"accum" = {timeRangeIndicator=4;}
|
||||||
|
"max" = {timeRangeIndicator=2;}
|
||||||
|
"min" = {timeRangeIndicator=2;}
|
||||||
|
"diff" = {timeRangeIndicator=5;}
|
||||||
|
"rms" = {timeRangeIndicator=2;}
|
||||||
|
"sd" = {timeRangeIndicator=2;}
|
||||||
|
"cov" = {timeRangeIndicator=2;}
|
||||||
|
"ratio" = {timeRangeIndicator=2;}
|
||||||
|
}
|
||||||
|
|
||||||
|
meta ls.stepRange g1step_range(P1,P2,timeRangeIndicator,indicatorOfUnitOfTimeRange,stepUnits,stepType) : dump;
|
||||||
|
meta startStep long_vector(stepRange,0) : dump;
|
||||||
|
meta endStep long_vector(stepRange,1) : dump;
|
||||||
|
|
||||||
|
meta stepRangeInHours g1step_range(P1,P2,timeRangeIndicator,indicatorOfUnitOfTimeRange,stepType);
|
||||||
|
meta startStepInHours long_vector(stepRangeInHours,0) : dump;
|
||||||
|
meta endStepInHours long_vector(stepRangeInHours,1) : dump;
|
||||||
|
|
||||||
|
meta marsStep mars_step(stepRange,stepType);
|
||||||
|
|
||||||
|
alias mars.date = dataDate;
|
||||||
|
alias mars.time = dataTime;
|
||||||
|
alias mars.step = marsStep;
|
||||||
|
|
||||||
|
# This does not work? gribTablesVersionNo is 0
|
||||||
|
#meta param sprintf("%d.0",indicatorOfParameter) ;
|
||||||
|
constant paramId = 128;
|
||||||
|
alias parameter = paramId;
|
||||||
|
alias ls.parameter=parameter;
|
|
@ -0,0 +1,107 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
length[3] section4Length ;
|
||||||
|
|
||||||
|
unsigned[1] reserved1=0 : hidden;
|
||||||
|
|
||||||
|
if (reserved1 == 0) {
|
||||||
|
|
||||||
|
flags[1] missingDataFlag 'grib1/1.table';
|
||||||
|
|
||||||
|
unsigned[1] numberOfBytesPerInteger ;
|
||||||
|
|
||||||
|
unsigned[2] reserved=0 : hidden ;
|
||||||
|
|
||||||
|
unsigned[3] numberOfChars ;
|
||||||
|
|
||||||
|
unsigned[3] numberOfFloats ;
|
||||||
|
|
||||||
|
unsigned[3] numberOfInts ;
|
||||||
|
|
||||||
|
unsigned[3] numberOfLogicals ;
|
||||||
|
|
||||||
|
unsigned[3] numberOfReservedBytes ;
|
||||||
|
|
||||||
|
unsigned[4] reserved=0 : hidden;
|
||||||
|
unsigned[4] reserved=0 : hidden;
|
||||||
|
unsigned[1] reserved=0 : hidden;
|
||||||
|
|
||||||
|
ibmfloat floatVal[numberOfFloats];
|
||||||
|
|
||||||
|
if(numberOfBytesPerInteger == 1) { signed[1] integerValues[numberOfInts]; }
|
||||||
|
if(numberOfBytesPerInteger == 2) { signed[2] integerValues[numberOfInts]; }
|
||||||
|
if(numberOfBytesPerInteger == 3) { signed[3] integerValues[numberOfInts]; }
|
||||||
|
if(numberOfBytesPerInteger == 4) { signed[4] integerValues[numberOfInts]; }
|
||||||
|
|
||||||
|
if(numberOfChars >= 12)
|
||||||
|
{
|
||||||
|
ascii[2] marsClass;
|
||||||
|
ascii[2] dummy1;
|
||||||
|
ascii[2] marsType;
|
||||||
|
ascii[2] dummy2;
|
||||||
|
ascii[4] experimentVersionNumber;
|
||||||
|
|
||||||
|
alias expver=experimentVersionNumber;
|
||||||
|
alias marsExpver=experimentVersionNumber;
|
||||||
|
|
||||||
|
constant numberOfRemaininChars = numberOfChars - 12;
|
||||||
|
|
||||||
|
charValues list(numberOfRemaininChars) {
|
||||||
|
ascii[1] char;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
constant zero = 0;
|
||||||
|
concept isEps(zero) { 1 = { marsType = "pf"; } }
|
||||||
|
concept isSens(zero) { 1 = { marsType = "sf"; } }
|
||||||
|
|
||||||
|
constant oper = "oper";
|
||||||
|
|
||||||
|
concept marsStream(oper) {
|
||||||
|
"enfo" = { marsType = "pf"; }
|
||||||
|
"enfo" = { marsType = "cf"; }
|
||||||
|
"sens" = { marsType = "sf"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isEps)
|
||||||
|
{
|
||||||
|
constant perturbationNumber = 0;
|
||||||
|
alias mars.number = perturbationNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isSens)
|
||||||
|
{
|
||||||
|
constant iterationNumber = 0;
|
||||||
|
constant diagnosticNumber = 0;
|
||||||
|
alias mars.iteration = iterationNumber;
|
||||||
|
alias mars.diagnostic = diagnosticNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is commented out because some of the BUDG have the wrong info there
|
||||||
|
alias mars.stream = marsStream;
|
||||||
|
alias mars.class = marsClass;
|
||||||
|
alias mars.type = marsType;
|
||||||
|
alias mars.expver = marsExpver;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
charValues list(numberOfChars) {
|
||||||
|
ascii[1] char;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
#TODO: decode properly these old data
|
||||||
|
section_padding padding;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
lookup[1] ed (7,editionNumber);
|
||||||
|
|
||||||
|
ascii[4] identifier = "BUFR" : read_only,hidden;
|
||||||
|
alias ls.identifier=identifier;
|
||||||
|
|
||||||
|
if(ed < 2)
|
||||||
|
{
|
||||||
|
unsigned[3] section1Length;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
unsigned[3] totalLength ;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned[1] editionNumber = 2;
|
||||||
|
|
||||||
|
if(editionNumber < 2)
|
||||||
|
{
|
||||||
|
template section_1 "bufr/old_section.1.def" ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
template section_1 "bufr/section.1.def" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
flagbit section2Present(section1Flags,7) = 1;
|
||||||
|
|
||||||
|
if(section2Present){
|
||||||
|
template section_2 "bufr/section.2.def" ;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
transient section2Length = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template section_3 "bufr/section.3.def" ;
|
||||||
|
template section_4 "bufr/section.4.def" ;
|
||||||
|
template section_5 "bufr/section.5.def" ;
|
||||||
|
|
||||||
|
if(ed < 2)
|
||||||
|
{
|
||||||
|
transient totalLength = section1Length + section2Length + section3Length + section4Length + 8;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
codetable[2] originatingCentrer 'grib1/0.table' : dump;
|
||||||
|
unsigned[1] updateSequenceNumber;
|
||||||
|
|
||||||
|
flags[1] section1Flags 'bufr/section1_flags.table' = 128 : hidden ; # = section 2 present
|
||||||
|
|
||||||
|
|
||||||
|
unsigned[1] dataCategory;
|
||||||
|
unsigned[1] dataSubCategory;
|
||||||
|
unsigned[2] localTablesVersionNumber;
|
||||||
|
|
||||||
|
unsigned[1] yearOfCentury;
|
||||||
|
unsigned[1] month;
|
||||||
|
unsigned[1] day;
|
||||||
|
unsigned[1] hour;
|
||||||
|
unsigned[1] minute;
|
||||||
|
unsigned[1] masterTablesVersionNumber;
|
||||||
|
|
||||||
|
alias masterTableNumber = editionNumber; # ?
|
|
@ -0,0 +1,90 @@
|
||||||
|
unsigned[1] rdbType ;
|
||||||
|
unsigned[1] rdbSubtype;
|
||||||
|
|
||||||
|
alias rdb.rdbType=rdbType;
|
||||||
|
alias rdb.rdbSubtype=rdbSubtype;
|
||||||
|
|
||||||
|
byte[10] keyData : hidden;
|
||||||
|
|
||||||
|
meta localYear bits(keyData,0,12) ;
|
||||||
|
meta localMonth bits(keyData,12,4) ;
|
||||||
|
meta localDay bits(keyData,16,6) ;
|
||||||
|
meta localHour bits(keyData,22,5) ;
|
||||||
|
meta localMinute bits(keyData,27,6) ;
|
||||||
|
meta localSecond bits(keyData,33,6) ;
|
||||||
|
meta spare bits(keyData,39,1); # 40 bits = 10 bytes
|
||||||
|
|
||||||
|
meta rdb.typicalDate sprintf("%d%d%d",localYear,localMonth,localDay) : dump;
|
||||||
|
meta rdb.typicalTime sprintf("%.2d%.2d%.2d",localHour,localMinute,localSecond) :dump;
|
||||||
|
|
||||||
|
byte[3] keyMore : hidden;
|
||||||
|
|
||||||
|
constant zero = 0;
|
||||||
|
concept isSatellite(zero) {
|
||||||
|
1 = {keyType = 2; }
|
||||||
|
1 = {keyType = 3; }
|
||||||
|
1 = {keyType = 12; }
|
||||||
|
}
|
||||||
|
|
||||||
|
alias rdb.isSatellite=isSatellite;
|
||||||
|
|
||||||
|
# real latitude = (key latitude - 9000000.0)/100000.0;
|
||||||
|
# real longitude = (key longitude - 18000000.0)/100000.0;
|
||||||
|
|
||||||
|
if(isSatellite)
|
||||||
|
{
|
||||||
|
meta rdb.latitude1 bits(keyData,72,25) : dump;
|
||||||
|
meta rdb.latitude2 bits(keyData,136,25) : dump;
|
||||||
|
meta rdb.longitude1 bits(keyData,40,26) : dump;
|
||||||
|
meta rdb.longitude2 bits(keyData,104,26) : dump;
|
||||||
|
meta rdb.satelliteID bits(keyData,176,16) : dump;
|
||||||
|
byte[9] stuff : hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
meta rdb.latitude bits(keyData,72,25) : dump;
|
||||||
|
meta rdb.longitude bits(keyData,40,26) : dump;
|
||||||
|
ascii[9] ident : hidden;
|
||||||
|
alias rdb.ident=ident;
|
||||||
|
}
|
||||||
|
|
||||||
|
byte[8] keyMore : hidden;
|
||||||
|
|
||||||
|
meta rdb.numberOfObservations bits(keyData,168,8) : dump;
|
||||||
|
|
||||||
|
# 16 bytes
|
||||||
|
unsigned[2] messageLength;
|
||||||
|
alias rdb.messageLength=messageLength;
|
||||||
|
|
||||||
|
byte[3] rdbtime;
|
||||||
|
meta rdb.rdbtimeDay bits(rdbtime,0,6) : dump;
|
||||||
|
meta rdb.rdbtimeHour bits(rdbtime,6,5) : dump;
|
||||||
|
meta rdb.rdbtimeMinute bits(rdbtime,11,6) : dump;
|
||||||
|
meta rdb.rdbtimeSecond bits(rdbtime,17,6) : dump;
|
||||||
|
|
||||||
|
byte[3] rectime;
|
||||||
|
meta rdb.rectimeDay bits(rectime,0,6) : dump;
|
||||||
|
meta rdb.rectimeHour bits(rectime,6,5) : dump;
|
||||||
|
meta rdb.rectimeMinute bits(rectime,11,6) : dump;
|
||||||
|
meta rdb.rectimeSecond bits(rectime,17,6) : dump;
|
||||||
|
|
||||||
|
byte[1] corr1Data;
|
||||||
|
meta rdb.correction1 bits(corr1Data,0,6) : dump;
|
||||||
|
meta rdb.correction1Part bits(corr1Data,6,2) : dump;
|
||||||
|
|
||||||
|
byte[1] corr2Data;
|
||||||
|
meta rdb.correction2 bits(corr2Data,0,6) : dump;
|
||||||
|
meta rdb.correction2Part bits(corr2Data,6,2) : dump;
|
||||||
|
|
||||||
|
byte[1] corr3Data;
|
||||||
|
meta rdb.correction3 bits(corr3Data,0,6) : dump;
|
||||||
|
meta rdb.correction3Part bits(corr3Data,6,2) : dump;
|
||||||
|
|
||||||
|
byte[1] corr4Data;
|
||||||
|
meta rdb.correction4 bits(corr4Data,0,6) : dump;
|
||||||
|
meta rdb.correction4Part bits(corr4Data,6,2) : dump;
|
||||||
|
|
||||||
|
unsigned[1] qualityControl : dump;
|
||||||
|
alias rdb.qualityControl=qualityControl;
|
||||||
|
unsigned[3] spare;
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
label empty;
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
position offsetSection1;
|
||||||
|
length[3] section1Length ;
|
||||||
|
|
||||||
|
unsigned[1] masterTableNumber;
|
||||||
|
|
||||||
|
if(editionNumber < 3)
|
||||||
|
{
|
||||||
|
codetable[2] centre 'grib1/0.table' : dump;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
codetable[1] subCentre 'grib1/0.table' : dump;
|
||||||
|
codetable[1] centre 'grib1/0.table' : dump;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned[1] updateSequenceNumber;
|
||||||
|
|
||||||
|
flags[1] section1Flags 'bufr/section1_flags.table' = 128 : hidden ; # = section 2 present
|
||||||
|
|
||||||
|
unsigned[1] dataCategory : dump;
|
||||||
|
unsigned[1] dataSubCategory : dump;
|
||||||
|
unsigned[1] masterTablesVersionNumber;
|
||||||
|
unsigned[1] localTablesVersionNumber;
|
||||||
|
|
||||||
|
unsigned[1] typicalYearOfCentury : dump;
|
||||||
|
unsigned[1] typicalMonth : dump;
|
||||||
|
unsigned[1] typicalDay : dump;
|
||||||
|
unsigned[1] typicalHour : dump;
|
||||||
|
unsigned[1] typicalMinute : dump;
|
||||||
|
unsigned[1] spare; # ???
|
||||||
|
|
||||||
|
section_padding section1Padding;
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
length[3] section2Length ;
|
||||||
|
unsigned[1] reserved = 0;
|
||||||
|
if(originatingCentre == 98) {
|
||||||
|
template rdb_key "bufr/rdb_key.def";
|
||||||
|
}
|
||||||
|
section_padding section2Padding;
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
length[3] section3Length ;
|
||||||
|
unsigned[1] reserved = 0;
|
||||||
|
unsigned[2] numberOfDataSubsets;
|
||||||
|
flags[1] section3Flags 'bufr/section3_flags.table';
|
||||||
|
section_padding section3Padding;
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
length[3] section4Length ;
|
||||||
|
unsigned[1] reserved = 0;
|
||||||
|
section_padding section4Padding;
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
constant section5Length=4;
|
||||||
|
ascii[4] '7777' = "7777" : read_only;
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
# CODE TABLE 1, Flag indication relative to section 2 and 3
|
||||||
|
1 0 Section 2 omited
|
||||||
|
1 1 Section 2 included
|
|
@ -0,0 +1,5 @@
|
||||||
|
# CODE TABLE 1, Flag indication relative to section 2 and 3
|
||||||
|
1 0 Other data
|
||||||
|
1 1 Observed data
|
||||||
|
2 0 Non-compressed data
|
||||||
|
2 1 Compressed data
|
|
@ -0,0 +1 @@
|
||||||
|
constant identifier="netCDF";
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
meta dirty_statistics dirty(computeStatistics) ;
|
||||||
|
when (changed(values)) { set dirty_statistics=1;}
|
||||||
|
|
||||||
|
meta computeStatistics statistics(missingValue,values);
|
||||||
|
|
||||||
|
meta maximum vector(computeStatistics,0) : dump;
|
||||||
|
meta minimum vector(computeStatistics,1) : dump;
|
||||||
|
meta average vector(computeStatistics,2) : dump;
|
||||||
|
#meta numberOfMissing vector(computeStatistics,3) : dump;
|
||||||
|
meta numberOfMissing count_missing(bitmap,unusedBitsInBitmap,numberOfDataPoints) : dump;
|
||||||
|
meta standardDeviation vector(computeStatistics,4) : dump;
|
||||||
|
meta skewness vector(computeStatistics,5) : dump;
|
||||||
|
meta kurtosis vector(computeStatistics,6) : dump;
|
||||||
|
meta isConstant vector(computeStatistics,7) : dump;
|
||||||
|
|
||||||
|
alias numberOfMissingValues=numberOfMissing;
|
||||||
|
|
||||||
|
alias statistics.avg = average;
|
||||||
|
alias statistics.max = maximum;
|
||||||
|
alias statistics.min = minimum;
|
||||||
|
alias statistics.sd = standardDeviation;
|
||||||
|
alias statistics.skew = skewness;
|
||||||
|
alias statistics.kurt = kurtosis;
|
||||||
|
alias statistics.const = isConstant;
|
|
@ -0,0 +1,24 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
meta dirty_statistics dirty(computeStatistics) ;
|
||||||
|
when (changed(values)) { set dirty_statistics=1;}
|
||||||
|
|
||||||
|
meta computeStatistics statistics_spectral(values,J,K,M,JS) : hidden;
|
||||||
|
|
||||||
|
meta average vector(computeStatistics,0) : dump;
|
||||||
|
meta energyNorm vector(computeStatistics,1) : dump;
|
||||||
|
meta standardDeviation vector(computeStatistics,2) : dump;
|
||||||
|
meta isConstant vector(computeStatistics,3) : dump;
|
||||||
|
|
||||||
|
alias statistics.avg = average;
|
||||||
|
alias statistics.enorm = energyNorm;
|
||||||
|
alias statistics.sd = standardDeviation;
|
||||||
|
alias statistics.const = isConstant;
|
||||||
|
|
|
@ -0,0 +1,209 @@
|
||||||
|
#!/usr/local/bin/perl56 -I/usr/local/lib/metaps/perl
|
||||||
|
use strict;
|
||||||
|
use File::Path ;
|
||||||
|
use File::Basename ;
|
||||||
|
use File::Copy;
|
||||||
|
use Cwd;
|
||||||
|
use DBI;
|
||||||
|
|
||||||
|
my $basedir = dirname($0);
|
||||||
|
|
||||||
|
my $db="param";
|
||||||
|
my $host="wrep-db-misc-prod";
|
||||||
|
my $user="ecmwf";
|
||||||
|
my $pass="";
|
||||||
|
my $filename; my $filebase; my $out; my $conceptDir;
|
||||||
|
my $query; my $q; my $qh;
|
||||||
|
|
||||||
|
my $dbh = DBI->connect("dbi:mysql(RaiseError=>1):database=$db;host=$host",$user,$pass) or die $DBI::errstr;
|
||||||
|
|
||||||
|
# I have written to it already or not
|
||||||
|
my $tarfilesflag = 0;
|
||||||
|
|
||||||
|
sub create_def {
|
||||||
|
my $p; my %seen;
|
||||||
|
my ($key) =@_;
|
||||||
|
my $field=$key;
|
||||||
|
|
||||||
|
if ($key =~ /paramId/) { $field="param.id"; }
|
||||||
|
if ($key =~ /name/) { $field="param.name"; }
|
||||||
|
if ($key =~ /units/) { $field="units.name"; }
|
||||||
|
|
||||||
|
my $query= <<"EOF";
|
||||||
|
select $field,force128,edition,
|
||||||
|
centre.abbreviation,param_id,attribute.name,attribute_value,param.name,param.shortName
|
||||||
|
from param,grib,attribute,centre,units where param.hide_def=0 and param.id=grib.param_id
|
||||||
|
and attribute.id=grib.attribute_id and centre.id=grib.centre and units.id=param.units_id
|
||||||
|
order by edition,centre,param.o,param.id,grib.param_version,attribute.o;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
my $qh=$dbh->prepare($query);
|
||||||
|
$qh->execute();
|
||||||
|
|
||||||
|
# file containing the list of grib api parameters files we want to tar and
|
||||||
|
# distribute to users for them to download and update their list of parameter
|
||||||
|
# to the latest
|
||||||
|
open(TAR,$tarfilesflag ? ">>" : ">","tarfiles.txt") or die "Count not open file tarfiles.txt: $!";
|
||||||
|
$tarfilesflag=1;
|
||||||
|
|
||||||
|
while (my ($keyval,$force128,$edition,$centre,$paramId,$attribute,$value,$name,$shortName)=$qh->fetchrow_array )
|
||||||
|
{
|
||||||
|
if ($centre eq "all" ) { $conceptDir=""; }
|
||||||
|
else { $conceptDir="/localConcepts/$centre"; }
|
||||||
|
#if ($key =~ /paramId/ && $force128==1 && $keyval >1000) {
|
||||||
|
# $keyval= $keyval % 1000;
|
||||||
|
#}
|
||||||
|
|
||||||
|
if ($filebase ne "$basedir/grib$edition$conceptDir") {
|
||||||
|
if ($filebase) {
|
||||||
|
print $out "}\n";
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
$filebase="$basedir/grib$edition$conceptDir";
|
||||||
|
mkpath($filebase);
|
||||||
|
|
||||||
|
#copy("$filebase/$key.def","$filebase/$key.def.bkp")
|
||||||
|
# or die ("unable to copy $filebase/$key.def");
|
||||||
|
|
||||||
|
print TAR "grib$edition$conceptDir/$key.def\n";
|
||||||
|
|
||||||
|
system("p4 edit $filebase/$key.def");
|
||||||
|
open($out,"> $filebase/$key.def")
|
||||||
|
or die "unable to open $filebase/$key.def";
|
||||||
|
print $out "# Automatically generated by $0 from database $db\@$host, do not edit\n";
|
||||||
|
$p=();
|
||||||
|
}
|
||||||
|
if ($p ne $paramId || exists($seen{$attribute}) ) {
|
||||||
|
if ($p) { print $out "\t}\n"; }
|
||||||
|
print $out "#$name\n" ;
|
||||||
|
print $out "\'".$keyval."\' = {\n" ;
|
||||||
|
$p=$paramId;
|
||||||
|
%seen=();
|
||||||
|
}
|
||||||
|
$seen{$attribute}=1;
|
||||||
|
print "($key=$keyval) $edition,$centre,$shortName,$paramId,$name,$attribute,$value\n";
|
||||||
|
# we need to allow strings in the attribute_value field
|
||||||
|
# for the moment we apply a patch here
|
||||||
|
if ($attribute =~ /stepType/ ) {
|
||||||
|
$value="\"accum\"";
|
||||||
|
}
|
||||||
|
print $out "\t $attribute = $value ;\n" ;
|
||||||
|
}
|
||||||
|
if ($filebase) {
|
||||||
|
print $out "}\n";
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
|
||||||
|
close(TAR);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub create_paramId_def {
|
||||||
|
my $p; my %seen;
|
||||||
|
|
||||||
|
my $query="select edition,centre.abbreviation,param_id,attribute.name,attribute_value,param.name,param.shortName
|
||||||
|
from param,grib,attribute,centre where param.hide_def=0 and param.id=grib.param_id
|
||||||
|
and attribute.id=grib.attribute_id and centre.id=grib.centre
|
||||||
|
order by edition,centre,param.o,param.id,attribute.o";
|
||||||
|
|
||||||
|
my $qh=$dbh->prepare($query);
|
||||||
|
$qh->execute();
|
||||||
|
|
||||||
|
while (my ($edition,$centre,$paramId,$attribute,$value,$name,$shortName)=$qh->fetchrow_array )
|
||||||
|
{
|
||||||
|
if ($centre eq "all" ) { $conceptDir=""; }
|
||||||
|
else { $conceptDir="/localConcepts/$centre"; }
|
||||||
|
|
||||||
|
if ($filebase ne "$basedir/grib$edition$conceptDir") {
|
||||||
|
if ($filebase) {
|
||||||
|
print $out "}\n";
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
$filebase="$basedir/grib$edition$conceptDir";
|
||||||
|
mkpath($filebase);
|
||||||
|
|
||||||
|
copy("$filebase/paramId.def","$filebase/paramId.def.bkp")
|
||||||
|
or die ("unable to copy $filebase/paramId.def");
|
||||||
|
system("p4 edit $filebase/paramId.def");
|
||||||
|
open($out,"> $filebase/paramId.def")
|
||||||
|
or die "unable to open $filebase/paramId.def";
|
||||||
|
print $out "# Automatically generated by $0 from database $db\@$host, do not edit\n";
|
||||||
|
$p=();
|
||||||
|
}
|
||||||
|
if ($p ne $paramId || exists($seen{$attribute}) ) {
|
||||||
|
if ($p) { print $out "\t}\n"; }
|
||||||
|
print $out "#$name\n" ;
|
||||||
|
print $out "\'".$paramId."\' = {\n" ;
|
||||||
|
$p=$paramId;
|
||||||
|
%seen=();
|
||||||
|
}
|
||||||
|
$seen{$attribute}=1;
|
||||||
|
print "$edition,$centre,$shortName,$paramId,$name,$attribute,$value\n";
|
||||||
|
print $out "\t $attribute = $value ;\n" ;
|
||||||
|
}
|
||||||
|
if ($filebase) {
|
||||||
|
print $out "}\n";
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sub create_def_old {
|
||||||
|
my ($key,$query)=@_;
|
||||||
|
|
||||||
|
my $qh=$dbh->prepare($query);
|
||||||
|
$qh->execute();
|
||||||
|
|
||||||
|
while (my ($edition,$centre,$paramId,$value)=$qh->fetchrow_array )
|
||||||
|
{
|
||||||
|
if ($centre eq "all" ) { $conceptDir=""; }
|
||||||
|
else { $conceptDir="/localConcepts/$centre"; }
|
||||||
|
|
||||||
|
if ($filebase ne "$basedir/grib$edition$conceptDir") {
|
||||||
|
if ($filebase) {
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
$filebase="$basedir/grib$edition$conceptDir";
|
||||||
|
mkpath($filebase);
|
||||||
|
|
||||||
|
copy("$filebase/$key.def","$filebase/$key.def.bkp")
|
||||||
|
or die ("unable to copy $filebase/$key.def");
|
||||||
|
system("p4 edit $filebase/$key.def");
|
||||||
|
open($out,"> $filebase/$key.def")
|
||||||
|
or die "unable to open $filebase/$key.def";
|
||||||
|
print $out "# Automatically generated by $0 from database $db\@$host, do not edit\n";
|
||||||
|
}
|
||||||
|
print $out "\'$value\' \t= { paramId=$paramId; }\n";
|
||||||
|
}
|
||||||
|
if ($filebase) {
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
create_def("paramId");
|
||||||
|
create_def("shortName");
|
||||||
|
create_def("name");
|
||||||
|
create_def("units");
|
||||||
|
|
||||||
|
|
||||||
|
#create_paramId_def();
|
||||||
|
|
||||||
|
$query="select distinct edition,centre.abbreviation,param_id,param.shortName
|
||||||
|
from param,grib,centre where param.hide_def=0 and param.id=grib.param_id and
|
||||||
|
centre.id=grib.centre and shortName!='~'
|
||||||
|
order by centre,edition,param.o,param_id";
|
||||||
|
|
||||||
|
#create_def("shortName",$query);
|
||||||
|
|
||||||
|
$query="select distinct edition,centre.abbreviation,param_id,param.name
|
||||||
|
from param,grib,centre where param.hide_def=0 and param.id=grib.param_id and
|
||||||
|
centre.id=grib.centre and shortName!='~'
|
||||||
|
order by centre,edition,param.o,param_id";
|
||||||
|
|
||||||
|
#create_def("name",$query);
|
||||||
|
|
||||||
|
$query="select distinct edition,centre.abbreviation,param_id,units.name
|
||||||
|
from param,grib,centre,units where param.hide_def=0 and param.id=grib.param_id and units.id=param.units_id
|
||||||
|
and centre.id=grib.centre and shortName!='~'
|
||||||
|
order by centre,edition,param.o,param_id";
|
||||||
|
|
||||||
|
#create_def("units",$query);
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
#!/usr/local/bin/perl56 -I/usr/local/lib/metaps/perl
|
||||||
|
use strict;
|
||||||
|
use File::Path ;
|
||||||
|
use File::Copy;
|
||||||
|
use DBI;
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
|
my $db="param";
|
||||||
|
my $host="wrep-db-misc-prod";
|
||||||
|
my $user="ecmwf";
|
||||||
|
my $pass="";
|
||||||
|
my $filename; my $filebase; my $out; my $conceptDir;
|
||||||
|
my $query; my $q; my $qh;
|
||||||
|
|
||||||
|
my $dbh = DBI->connect("dbi:mysql(RaiseError=>1):database=$db;host=$host",$user,$pass) or die $DBI::errstr;
|
||||||
|
|
||||||
|
my $table;
|
||||||
|
my $number;
|
||||||
|
my $query="select id,shortName from param";
|
||||||
|
my %grib1=();
|
||||||
|
my $name; my $value; my $centre;
|
||||||
|
|
||||||
|
my $qh=$dbh->prepare($query);
|
||||||
|
$qh->execute();
|
||||||
|
$query="select grib.centre,attribute.name,grib.attribute_value,param_version
|
||||||
|
from grib,attribute where edition=1 and grib.param_id=?
|
||||||
|
and ( grib.attribute_id=3 or grib.attribute_id=1) and attribute.id=grib.attribute_id
|
||||||
|
order by grib.centre,param_version,attribute_id";
|
||||||
|
my $qh1=$dbh->prepare($query);
|
||||||
|
my %values;
|
||||||
|
my %pvalues;
|
||||||
|
my $mars;
|
||||||
|
|
||||||
|
while (my ($paramId,$shortName)=$qh->fetchrow_array )
|
||||||
|
{
|
||||||
|
die "$paramId" unless($shortName);
|
||||||
|
if ($shortName =~ /\w+/ ) {
|
||||||
|
push @{$values{$shortName}},$paramId;
|
||||||
|
push @{$pvalues{$paramId}},$shortName;
|
||||||
|
}
|
||||||
|
|
||||||
|
$qh1->execute($paramId);
|
||||||
|
%grib1=();
|
||||||
|
my $centre_last="";
|
||||||
|
my $param_version;
|
||||||
|
|
||||||
|
while ( ($centre,$name,$value,$param_version)=$qh1->fetchrow_array ) {
|
||||||
|
if (join(":",$centre,$param_version) ne $centre_last) {
|
||||||
|
$centre_last=join(":",$centre,$param_version);
|
||||||
|
if (exists $grib1{"indicatorOfParameter"} && exists $grib1{"table2Version"}) {
|
||||||
|
my $mars=$grib1{"indicatorOfParameter"}.".".$grib1{"table2Version"};
|
||||||
|
push @{$values{$mars}},$paramId;
|
||||||
|
push @{$pvalues{$paramId}},$mars;
|
||||||
|
%grib1=();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$grib1{$name}=$value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists $grib1{"indicatorOfParameter"} && exists $grib1{"table2Version"}) {
|
||||||
|
my $mars=$grib1{"indicatorOfParameter"}.".".$grib1{"table2Version"};
|
||||||
|
push @{$values{$mars}},$paramId;
|
||||||
|
push @{$pvalues{$paramId}},$mars;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
system("p4 edit mars_param.table");
|
||||||
|
open(my $mars_param_out,"> mars_param.table")
|
||||||
|
or die "unable to open mars_param.table: $!";
|
||||||
|
|
||||||
|
foreach my $k ( sort keys %values ) {
|
||||||
|
print $mars_param_out "$k ";
|
||||||
|
print $mars_param_out join(" ", sort { $a <=> $b } @{$values{$k}});
|
||||||
|
print $mars_param_out " | \n";
|
||||||
|
}
|
||||||
|
|
||||||
|
close $mars_param_out or die " mars_param.table: $!";
|
||||||
|
|
||||||
|
system("p4 edit param_id.table");
|
||||||
|
open(my $param_id_out,"> param_id.table")
|
||||||
|
or die "unable to open param_id.table: $!";
|
||||||
|
|
||||||
|
foreach my $k ( sort keys %pvalues ) {
|
||||||
|
print $param_id_out "$k ";
|
||||||
|
print $param_id_out join(" ", sort { $a <=> $b } @{$pvalues{$k}});
|
||||||
|
print $param_id_out " | \n";
|
||||||
|
}
|
||||||
|
|
||||||
|
close $param_id_out or die "param_id.table: $!";
|
|
@ -0,0 +1,121 @@
|
||||||
|
#! /usr/local/apps/perl/current/bin/perl
|
||||||
|
# /usr/local/bin/perl56 -I/usr/local/lib/metaps/perl
|
||||||
|
#
|
||||||
|
# Script to update GRIB2 tables from database
|
||||||
|
# Usage: $0 [version]
|
||||||
|
#
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use File::Path;
|
||||||
|
use File::Basename;
|
||||||
|
use File::Copy;
|
||||||
|
use DBI;
|
||||||
|
|
||||||
|
my $basedir=dirname($0); # the "definitions" dir in grib_api workspace
|
||||||
|
|
||||||
|
my $db="fm92_grib2";
|
||||||
|
my $host="wrep-db-misc-prod";
|
||||||
|
my $user="ecmwf";
|
||||||
|
my $pass="";
|
||||||
|
my $filename; my $filebase; my $out; my $conceptDir;
|
||||||
|
my $query; my $q; my $qh;
|
||||||
|
my $tablesVersion=6; # default GRIB2 version
|
||||||
|
my %records;
|
||||||
|
|
||||||
|
# Check if user has provided arg to set table version
|
||||||
|
if ( @ARGV) {
|
||||||
|
$tablesVersion = $ARGV[0];
|
||||||
|
if ($tablesVersion !~ /^\d+$/ ) {
|
||||||
|
die "Bad version number: '$tablesVersion'. Please enter a positive integer.\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print "GRIB2 tablesVersion set to $tablesVersion\n";
|
||||||
|
|
||||||
|
my $dbh = DBI->connect("dbi:mysql(RaiseError=>1):database=$db;host=$host",$user,$pass) or die $DBI::errstr;
|
||||||
|
|
||||||
|
###########################################################################################
|
||||||
|
sub create_parameter_tables {
|
||||||
|
my $tablesDir="$basedir/grib2/tables/$tablesVersion";
|
||||||
|
my $tableFile="";
|
||||||
|
|
||||||
|
my $query="select discipline_id,category_id,param_id,name,units ".
|
||||||
|
"from parameter_specs order by discipline_id,category_id,param_id";
|
||||||
|
|
||||||
|
my $qh=$dbh->prepare($query);
|
||||||
|
$qh->execute();
|
||||||
|
|
||||||
|
while (my ($discipline,$category,$code,$name,$units)=$qh->fetchrow_array )
|
||||||
|
{
|
||||||
|
my $f="$tablesDir/4.2.$discipline.$category.table";
|
||||||
|
if ($f ne $tableFile) {
|
||||||
|
print "discipline=$discipline category=$category;\n";
|
||||||
|
$tableFile=$f;
|
||||||
|
if ($out) {
|
||||||
|
# Write out what we stored in 'records' into the PREVIOUS file
|
||||||
|
print $out "# Automatically generated by $0 from database $db\@$host, do not edit\n";
|
||||||
|
my @keys = sort { $a <=> $b } (keys %records);
|
||||||
|
foreach my $key (@keys) { print $out $records{$key}."\n"; }
|
||||||
|
close $out;
|
||||||
|
%records=();
|
||||||
|
@keys=();
|
||||||
|
}
|
||||||
|
system("p4 edit $tableFile");
|
||||||
|
open($out,"> $tableFile") or die "unable to open $tableFile";
|
||||||
|
}
|
||||||
|
next if ($code !~ /^\s*[0-9]/);
|
||||||
|
if (!$units) { $units="-"; }
|
||||||
|
my $codeText = "$code $code";
|
||||||
|
my $unitsText = "($units)";
|
||||||
|
if ($code =~ /\d\-\d/ ) {
|
||||||
|
# This is a range like 24-191 e.g. for Reserved entries
|
||||||
|
$codeText = "#$code"; # Comment out
|
||||||
|
$unitsText = ""; # Units do not make sense
|
||||||
|
}
|
||||||
|
$records{$code}="$codeText $name $unitsText";
|
||||||
|
}
|
||||||
|
# Now write the final records set into the last opened file
|
||||||
|
if ($out) {
|
||||||
|
print $out "# Automatically generated by $0 from database $db\@$host, do not edit\n";
|
||||||
|
my @keys = sort { $a <=> $b } (keys %records);
|
||||||
|
foreach my $key (@keys) { print $out $records{$key}."\n"; }
|
||||||
|
}
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
|
||||||
|
###########################################################################################
|
||||||
|
sub create_tables {
|
||||||
|
my $tablesDir="$basedir/grib2/tables/$tablesVersion";
|
||||||
|
my $tableFile="";
|
||||||
|
|
||||||
|
my $query="select section_id,ctable_id,code,meaning from ctable_specs order by section_id,ctable_id";
|
||||||
|
|
||||||
|
my $qh=$dbh->prepare($query);
|
||||||
|
$qh->execute();
|
||||||
|
|
||||||
|
while (my ($section,$table,$code,$meaning)=$qh->fetchrow_array )
|
||||||
|
{
|
||||||
|
my $f="$tablesDir/$section.$table.table";
|
||||||
|
if ($f ne $tableFile) {
|
||||||
|
print "section=$section table=$table\n";
|
||||||
|
$tableFile=$f;
|
||||||
|
if ($out) {
|
||||||
|
print $out "# Automatically generated by $0 from database $db\@$host, do not edit\n";
|
||||||
|
my @keys = sort { $a <=> $b } (keys %records);
|
||||||
|
foreach my $key (@keys) { print $out $records{$key}."\n"; }
|
||||||
|
close $out;
|
||||||
|
%records=();
|
||||||
|
@keys=();
|
||||||
|
}
|
||||||
|
system("p4 edit $tableFile");
|
||||||
|
open($out,"> $tableFile") or die "unable to open $tableFile";
|
||||||
|
}
|
||||||
|
next if ($code =~ /-/) ;
|
||||||
|
$records{$code}="$code $code $meaning";
|
||||||
|
}
|
||||||
|
close $out;
|
||||||
|
}
|
||||||
|
|
||||||
|
create_parameter_tables();
|
||||||
|
|
||||||
|
#create_tables();
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
label "x";
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
paramid:
|
||||||
|
./create_def.pl
|
||||||
|
./create_mars_struct.pl
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
# Code table 0: Identification of centers
|
|
@ -0,0 +1,96 @@
|
||||||
|
# Code table 0: Identification of centers
|
||||||
|
0 0 Absent
|
||||||
|
1 ammc Melbourne (WMC)
|
||||||
|
2 2 Melbourne (WMC)
|
||||||
|
4 4 Moscow (WMC)
|
||||||
|
5 5 Moscow (WMC)
|
||||||
|
7 kwbc US National Weather Service - NCEP (WMC)
|
||||||
|
8 8 US National Weather Service - NWSTG (WMC)
|
||||||
|
9 9 US National Weather Service - Other (WMC)
|
||||||
|
10 10 Cairo (RSMC/RAFC)
|
||||||
|
12 12 Dakar (RSMC/RAFC)
|
||||||
|
14 14 Nairobi (RSMC/RAFC)
|
||||||
|
16 16 Atananarivo (RSMC)
|
||||||
|
18 18 Tunis-Casablanca (RSMC)
|
||||||
|
20 20 Las Palmas (RAFC)
|
||||||
|
21 21 Algiers (RSMC)
|
||||||
|
22 22 Lagos (RSMC)
|
||||||
|
26 26 Khabarovsk (RSMC)
|
||||||
|
28 28 New Delhi (RSMC/RAFC)
|
||||||
|
30 30 Novosibirsk (RSMC)
|
||||||
|
32 32 Tashkent (RSMC)
|
||||||
|
33 33 Jeddah (RSMC)
|
||||||
|
34 rjtd Japanese Meteorological Agency - Tokyo (RSMC)
|
||||||
|
36 36 Bankok
|
||||||
|
37 37 Ulan Bator
|
||||||
|
38 babj Beijing (RSMC)
|
||||||
|
40 rksl Seoul
|
||||||
|
41 41 Buenos Aires (RSMC/RAFC)
|
||||||
|
43 43 Brasilia (RSMC/RAFC)
|
||||||
|
45 45 Santiago
|
||||||
|
46 sbsj Brasilian Space Agency - INPE
|
||||||
|
51 51 Miami (RSMC/RAFC)
|
||||||
|
52 52 National Hurricane Center, Miami
|
||||||
|
53 53 Canadian Meteorological Service - Montreal (RSMC)
|
||||||
|
54 cwao Canadian Meteorological Service - Montreal (RSMC)
|
||||||
|
55 55 San Francisco
|
||||||
|
57 57 U.S. Air Force - Global Weather Center
|
||||||
|
58 fnmo US Navy - Fleet Numerical Oceanography Center
|
||||||
|
59 59 NOAA Forecast Systems Lab, Boulder CO
|
||||||
|
60 60 National Center for Atmospheric Research (NCAR), Boulder, CO
|
||||||
|
64 64 Honolulu
|
||||||
|
65 65 Darwin (RSMC)
|
||||||
|
67 67 Melbourne (RSMC)
|
||||||
|
69 69 Wellington (RSMC/RAFC)
|
||||||
|
74 egrr U.K. Met Office - Exeter
|
||||||
|
76 76 Moscow (RSMC/RAFC)
|
||||||
|
78 edzw Offenbach (RSMC)
|
||||||
|
80 cnmc Rome (RSMC)
|
||||||
|
82 eswi Norrkoping
|
||||||
|
84 lfpw French Weather Service - Toulouse
|
||||||
|
85 lfpw French Weather Service - Toulouse
|
||||||
|
86 86 Helsinki
|
||||||
|
87 87 Belgrade
|
||||||
|
88 enmi Oslo
|
||||||
|
89 89 Prague
|
||||||
|
90 90 Episkopi
|
||||||
|
91 91 Ankara
|
||||||
|
92 92 Frankfurt/Main (RAFC)
|
||||||
|
93 93 London (WAFC)
|
||||||
|
94 94 Copenhagen
|
||||||
|
95 95 Rota
|
||||||
|
96 96 Athens
|
||||||
|
97 97 European Space Agency (ESA)
|
||||||
|
98 ecmf European Center for Medium-Range Weather Forecasts
|
||||||
|
99 99 DeBilt, Netherlands
|
||||||
|
#100 to 109 Reserved for centres in Region I which are not in the list above
|
||||||
|
110 110 Hong-Kong
|
||||||
|
#111 to 133 Reserved for centres in Region II which are not in the list above
|
||||||
|
#134 to 153 Reserved for centres in Region I which are not listed above
|
||||||
|
#154 to 159 Reserved for centres in Region III which are not in the list above
|
||||||
|
160 160 US NOAA/NESDIS
|
||||||
|
# 161 to 185 Reserved for centres in Region IV which are not in the list above
|
||||||
|
# 186 to 198 Reserved for centres in Region I which are not listed above
|
||||||
|
# 199 to 209 Reserved for centres in Region V which are not in the list above
|
||||||
|
210 210 Frascati (ESA/ESRIN)
|
||||||
|
211 211 Lannion
|
||||||
|
212 212 Lisboa
|
||||||
|
213 213 Reykjavik
|
||||||
|
214 lemm INM
|
||||||
|
215 215 Zurich
|
||||||
|
216 216 Service ARGOS Toulouse
|
||||||
|
# 217 to 220 Reserved for centres in Region V which are not in the list above
|
||||||
|
# 221 to 253 Reserved for centres in Region VI which are not in the list above or below
|
||||||
|
224 lowm Austria
|
||||||
|
233 eidb Dublin
|
||||||
|
235 ingv INGV
|
||||||
|
239 crfc CERFAX
|
||||||
|
244 vuwien VUWien
|
||||||
|
245 knmi KNMI
|
||||||
|
246 ifmk IfM-Kiel
|
||||||
|
247 hadc Hadley Centre
|
||||||
|
250 cosmo COnsortium for Small scale MOdelling (COSMO)
|
||||||
|
254 eums EUMETSAT Operation Centre
|
||||||
|
# 255 Missing value
|
||||||
|
255 consensus Consensus
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
# CODE TABLE 1, Flag indication relative to section 2 and 3
|
||||||
|
1 0 Section 2 omited
|
||||||
|
1 1 Section 2 included
|
||||||
|
2 0 Section 3 omited
|
||||||
|
2 1 Section 3 included
|
|
@ -0,0 +1,4 @@
|
||||||
|
# CODE TABLE 10, Coefficient Storage Mode
|
||||||
|
1 1 The complex coefficients Xnm are stored for m>0 as pairs of real numbers
|
||||||
|
2 2 Spherical harmonics-complex packing
|
||||||
|
3 3 Spherical harmonics ieee packing
|
|
@ -0,0 +1,34 @@
|
||||||
|
# CODE TABLE 11-2, Flag
|
||||||
|
|
||||||
|
# Undocumented use of octet 14 extededFlags
|
||||||
|
# Taken from d2ordr.F
|
||||||
|
# R------- only bit 1 is reserved.
|
||||||
|
# -0------ single datum at each grid point.
|
||||||
|
# -1------ matrix of values at each grid point.
|
||||||
|
# --0----- no secondary bit map.
|
||||||
|
# --1----- secondary bit map present.
|
||||||
|
# ---0---- second order values have constant width.
|
||||||
|
# ---1---- second order values have different widths.
|
||||||
|
# ----0--- no general extended second order packing.
|
||||||
|
# ----1--- general extended second order packing used.
|
||||||
|
# -----0-- standard field ordering in section 4.
|
||||||
|
# -----1-- boustrophedonic ordering in section 4.
|
||||||
|
|
||||||
|
|
||||||
|
1 0 Reserved
|
||||||
|
1 1 Reserved
|
||||||
|
2 0 Single datum at each grid point
|
||||||
|
2 1 Matrix of values at each grid point
|
||||||
|
3 0 No secondary bitmap Present
|
||||||
|
3 1 Secondary bitmap Present
|
||||||
|
4 0 Second-order values constant width
|
||||||
|
4 1 Second-order values different widths
|
||||||
|
5 0 no general extended second order packing
|
||||||
|
5 1 general extended second order packing used
|
||||||
|
6 0 standard field ordering in section 4
|
||||||
|
6 1 boustrophedonic ordering in section 4
|
||||||
|
# ------00 no spatial differencing used.
|
||||||
|
# ------01 1st-order spatial differencing used.
|
||||||
|
# ------10 2nd-order " " " .
|
||||||
|
# ------11 3rd-order " " " .
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
# CODE TABLE 11, Flag
|
||||||
|
1 0 Grid-point data
|
||||||
|
1 1 Spherical harmonic coefficients
|
||||||
|
2 0 Simple packing
|
||||||
|
2 1 Complex or second-order packing
|
||||||
|
3 0 Floating point values are represented
|
||||||
|
3 1 Integer values are represented
|
||||||
|
4 0 No additional flags at octet 14
|
||||||
|
4 1 Octet 14 contains additional flag bits
|
|
@ -0,0 +1,13 @@
|
||||||
|
# CODE TABLE 12, matrix coordinates values functions
|
||||||
|
0 0 Explicit co-ordinate values sent
|
||||||
|
1 1 Linear co-cordinates
|
||||||
|
2 2 Log co-ordinates
|
||||||
|
3 3 Reserved
|
||||||
|
4 4 Reserved
|
||||||
|
5 5 Reserved
|
||||||
|
6 6 Reserved
|
||||||
|
7 7 Reserved
|
||||||
|
8 8 Reserved
|
||||||
|
9 9 Reserved
|
||||||
|
10 10 Reserved
|
||||||
|
11 11 Geometric Co-ordinates
|
|
@ -0,0 +1,4 @@
|
||||||
|
# CODE TABLE 13, matrix coordinates parameter
|
||||||
|
1 1 Direction
|
||||||
|
2 2 Frequency
|
||||||
|
3 3 Radial number
|
|
@ -0,0 +1,129 @@
|
||||||
|
1 p P Pressure Pa
|
||||||
|
2 msl MSL Mean sea level pressure Pa
|
||||||
|
3 3 None Pressure tendency Pa s**-1
|
||||||
|
4 pv PV Potential vorticity K m**2 kg**-1 s**-1
|
||||||
|
5 5 None ICAO Standard Atmosphere reference height m
|
||||||
|
6 z Z Geopotential m**2 s**-2
|
||||||
|
7 gh GH Geopotential height gpm
|
||||||
|
8 h H Geometrical height m
|
||||||
|
9 9 None Standard deviation of height m
|
||||||
|
10 tco3 TCO3 Total (column) ozone Dobson (kg m**-2)
|
||||||
|
11 t T Temperature K
|
||||||
|
12 12 None Virtual temperature K
|
||||||
|
13 13 None Potential temperature K
|
||||||
|
14 14 None Pseudo-adiabatic potential temperature K
|
||||||
|
15 15 None Maximum temperature K
|
||||||
|
16 16 None Minimum temperature K
|
||||||
|
17 17 None Dew-point temperature K
|
||||||
|
18 18 None Dew-point depression (or deficit) K
|
||||||
|
19 19 None Lapse rate K s**-1
|
||||||
|
20 20 None Visibility m
|
||||||
|
21 21 None Radar spectra (1) -
|
||||||
|
22 22 None Radar spectra (2) -
|
||||||
|
23 23 None Radar spectra (3) -
|
||||||
|
24 24 None Parcel lifted index (to 500 hPa) K
|
||||||
|
25 25 None Temperature anomaly K
|
||||||
|
26 26 None Pressure anomaly Pa
|
||||||
|
27 27 None Geopotential height anomaly gpm
|
||||||
|
28 28 None Wave spectra (1) -
|
||||||
|
29 29 None Wave spectra (2) -
|
||||||
|
30 30 None Wave spectra (3) -
|
||||||
|
31 31 None Wind direction Degree true
|
||||||
|
32 32 None Wind speed m s**-1
|
||||||
|
33 u U U-component of wind m s**-1
|
||||||
|
34 v V V-component of wind m s**-1
|
||||||
|
35 35 None Stream Function m**2 s**-1
|
||||||
|
36 36 None Velocity Potential m**2 s**-1
|
||||||
|
37 37 None Montgomery stream Function m**2 s**-1
|
||||||
|
38 38 None Sigma coordinate vertical velocity s**-1
|
||||||
|
39 w W Vertical velocity Pa s**-1
|
||||||
|
40 40 None Vertical velocity m s**-1
|
||||||
|
41 41 None Absolute vorticity s**-1
|
||||||
|
42 42 None Absolute divergence s**-1
|
||||||
|
43 vo VO Relative vorticity s**-1
|
||||||
|
44 d D Relative divergence s**-1
|
||||||
|
45 45 None Vertical u-component shear s**-1
|
||||||
|
46 46 None Vertical v-component shear s**-1
|
||||||
|
47 47 None Direction of current Degree true
|
||||||
|
48 48 None Speed of current m s**-1
|
||||||
|
49 49 None U-component of current m s**-1
|
||||||
|
50 50 None V-component of current m s**-1
|
||||||
|
51 q Q Specific humidity kg kg**-1
|
||||||
|
52 r R Relative humidity %
|
||||||
|
53 53 None Humidity mixing ratio kg m**-2
|
||||||
|
54 54 None Precipitable water kg m**-2
|
||||||
|
55 55 None Vapour pressure Pa
|
||||||
|
56 56 None Saturation deficit Pa
|
||||||
|
57 e E Evaporation kg m**-2
|
||||||
|
58 ciwc CIWC Cloud ice kg m**-2
|
||||||
|
59 59 None Precipitation rate kg m**-2 s**-1
|
||||||
|
60 60 None Thunderstorm probability %
|
||||||
|
61 tp TP Total precipitation kg m**-2
|
||||||
|
62 62 LSP Large scale precipitation kg m**-2
|
||||||
|
63 63 None Convective precipitation (water) kg m**-2
|
||||||
|
64 64 None Snow fall rate water equivalent kg m**-2 s**-1
|
||||||
|
65 sf SF Water equivalentof accumulated snow depth kg m**-2
|
||||||
|
66 sd SD Snow depth m (of water equivalent)
|
||||||
|
67 67 None Mixed layer depth m
|
||||||
|
68 68 None Transient thermocline depth m
|
||||||
|
69 69 None Main thermocline depth m
|
||||||
|
70 70 None Main thermocline anomaly m
|
||||||
|
71 tcc TCC Total cloud cover %
|
||||||
|
72 ccc CCC Convective cloud cover %
|
||||||
|
73 lcc LCC Low cloud cover %
|
||||||
|
74 mcc MCC Medium cloud cover %
|
||||||
|
75 hcc HCC High cloud cover %
|
||||||
|
76 clwc CLWC Cloud liquid water content kg kg**-1
|
||||||
|
77 77 None Best lifted index (to 500 hPa) K
|
||||||
|
78 csf CSF Convective snow-fall kg m**-2
|
||||||
|
79 lsf LSF Large scale snow-fall kg m**-2
|
||||||
|
80 80 None Water temperature K
|
||||||
|
81 lsm LSM Land cover (1=land, 0=sea) (0 - 1)
|
||||||
|
82 82 None Deviation of sea-level from mean m
|
||||||
|
83 sr SR Surface roughness m
|
||||||
|
84 al AL Albedo -
|
||||||
|
85 st ST Surface temperature of soil K
|
||||||
|
86 ssw SSW Soil moisture content kg m**-2
|
||||||
|
87 veg VEG Percentage of vegetation %
|
||||||
|
88 88 None Salinity kg kg**-1
|
||||||
|
89 89 None Density kg m**-3
|
||||||
|
90 ro RO Water run-off kg m**-2
|
||||||
|
91 91 None Ice cover (1=land, 0=sea) (0 - 1)
|
||||||
|
92 92 None Ice thickness m
|
||||||
|
93 93 None Direction of ice drift Degree true
|
||||||
|
94 94 None Speed of ice drift m s*-1
|
||||||
|
95 95 None U-component of ice drift m s**-1
|
||||||
|
96 96 None V-component of ice drift m s**-1
|
||||||
|
97 97 None Ice growth rate m s**-1
|
||||||
|
98 98 None Ice divergence s**-1
|
||||||
|
99 99 None Snow melt kg m**-2
|
||||||
|
100 swh SWH Signific.height,combined wind waves+swell m
|
||||||
|
101 mdww MDWW Mean direction of wind waves Degree true
|
||||||
|
102 shww SHWW Significant height of wind waves m
|
||||||
|
103 mpww MPWW Mean period of wind waves s
|
||||||
|
104 104 None Direction of swell waves Degree true
|
||||||
|
105 105 None Significant height of swell waves m
|
||||||
|
106 106 None Mean period of swell waves s
|
||||||
|
107 mdps MDPS Mean direction of primary swell Degree true
|
||||||
|
108 mpps MPPS Mean period of primary swell s
|
||||||
|
109 109 None Secondary wave direction Degree true
|
||||||
|
110 110 None Secondary wave period s
|
||||||
|
111 111 None Net short-wave radiation flux (surface) W m**-2
|
||||||
|
112 112 None Net long-wave radiation flux (surface) W m**-2
|
||||||
|
113 113 None Net short-wave radiationflux(atmosph.top) W m**-2
|
||||||
|
114 114 None Net long-wave radiation flux(atmosph.top) W m**-2
|
||||||
|
115 115 None Long-wave radiation flux W m**-2
|
||||||
|
116 116 None Short-wave radiation flux W m**-2
|
||||||
|
117 117 None Global radiation flux W m**-2
|
||||||
|
118 118 None Brightness temperature K
|
||||||
|
119 119 None Radiance (with respect to wave number) W m**-1 sr**-1
|
||||||
|
120 120 None Radiance (with respect to wave length) W m**-1 sr**-1
|
||||||
|
121 slhf SLHF (surface) Latent heat flux W m**-2
|
||||||
|
122 sshf SSHF (surface) Sensible heat flux W m**-2
|
||||||
|
123 bld BLD Boundary layer dissipation W m**-2
|
||||||
|
124 124 None Momentum flux, u-component N m**-2
|
||||||
|
125 125 None Momentum flux, v-component N m**-2
|
||||||
|
126 126 None Wind mixing energy J
|
||||||
|
127 127 None Image data -
|
||||||
|
160 160 Unknown
|
||||||
|
255 - - Indicates a missing value -
|
|
@ -0,0 +1,128 @@
|
||||||
|
1 p P Pressure Pa
|
||||||
|
2 msl MSL Mean sea level pressure Pa
|
||||||
|
3 3 None Pressure tendency Pa s**-1
|
||||||
|
4 pv PV Potential vorticity K m**2 kg**-1 s**-1
|
||||||
|
5 5 None ICAO Standard Atmosphere reference height m
|
||||||
|
6 z Z Geopotential m**2 s**-2
|
||||||
|
7 gh GH Geopotential height gpm
|
||||||
|
8 h H Geometrical height m
|
||||||
|
9 9 None Standard deviation of height m
|
||||||
|
10 tco3 TCO3 Total (column) ozone Dobson (kg m**-2)
|
||||||
|
11 t T Temperature K
|
||||||
|
12 12 None Virtual temperature K
|
||||||
|
13 13 None Potential temperature K
|
||||||
|
14 14 None Pseudo-adiabatic potential temperature K
|
||||||
|
15 15 None Maximum temperature K
|
||||||
|
16 16 None Minimum temperature K
|
||||||
|
17 17 None Dew-point temperature K
|
||||||
|
18 18 None Dew-point depression (or deficit) K
|
||||||
|
19 19 None Lapse rate K s**-1
|
||||||
|
20 20 None Visibility m
|
||||||
|
21 21 None Radar spectra (1) -
|
||||||
|
22 22 None Radar spectra (2) -
|
||||||
|
23 23 None Radar spectra (3) -
|
||||||
|
24 24 None Parcel lifted index (to 500 hPa) K
|
||||||
|
25 25 None Temperature anomaly K
|
||||||
|
26 26 None Pressure anomaly Pa
|
||||||
|
27 27 None Geopotential height anomaly gpm
|
||||||
|
28 28 None Wave spectra (1) -
|
||||||
|
29 29 None Wave spectra (2) -
|
||||||
|
30 30 None Wave spectra (3) -
|
||||||
|
31 31 None Wind direction Degree true
|
||||||
|
32 32 None Wind speed m s**-1
|
||||||
|
33 u U U-component of wind m s**-1
|
||||||
|
34 v V V-component of wind m s**-1
|
||||||
|
35 35 None Stream Function m**2 s**-1
|
||||||
|
36 36 None Velocity Potential m**2 s**-1
|
||||||
|
37 37 None Montgomery stream Function m**2 s**-1
|
||||||
|
38 38 None Sigma coordinate vertical velocity s**-1
|
||||||
|
39 w W Vertical velocity Pa s**-1
|
||||||
|
40 40 None Vertical velocity m s**-1
|
||||||
|
41 41 None Absolute vorticity s**-1
|
||||||
|
42 42 None Absolute divergence s**-1
|
||||||
|
43 vo VO Relative vorticity s**-1
|
||||||
|
44 d D Relative divergence s**-1
|
||||||
|
45 45 None Vertical u-component shear s**-1
|
||||||
|
46 46 None Vertical v-component shear s**-1
|
||||||
|
47 47 None Direction of current Degree true
|
||||||
|
48 48 None Speed of current m s**-1
|
||||||
|
49 49 None U-component of current m s**-1
|
||||||
|
50 50 None V-component of current m s**-1
|
||||||
|
51 q Q Specific humidity kg kg**-1
|
||||||
|
52 r R Relative humidity %
|
||||||
|
53 53 None Humidity mixing ratio kg m**-2
|
||||||
|
54 54 None Precipitable water kg m**-2
|
||||||
|
55 55 None Vapour pressure Pa
|
||||||
|
56 56 None Saturation deficit Pa
|
||||||
|
57 e E Evaporation kg m**-2
|
||||||
|
58 ciwc CIWC Cloud ice kg m**-2
|
||||||
|
59 59 None Precipitation rate kg m**-2 s**-1
|
||||||
|
60 60 None Thunderstorm probability %
|
||||||
|
61 tp TP Total precipitation kg m**-2
|
||||||
|
62 62 LSP Large scale precipitation kg m**-2
|
||||||
|
63 63 None Convective precipitation (water) kg m**-2
|
||||||
|
64 64 None Snow fall rate water equivalent kg m**-2 s**-1
|
||||||
|
65 sf SF Water equivalentof accumulated snow depth kg m**-2
|
||||||
|
66 sd SD Snow depth m (of water equivalent)
|
||||||
|
67 67 None Mixed layer depth m
|
||||||
|
68 68 None Transient thermocline depth m
|
||||||
|
69 69 None Main thermocline depth m
|
||||||
|
70 70 None Main thermocline anomaly m
|
||||||
|
71 tcc TCC Total cloud cover %
|
||||||
|
72 ccc CCC Convective cloud cover %
|
||||||
|
73 lcc LCC Low cloud cover %
|
||||||
|
74 mcc MCC Medium cloud cover %
|
||||||
|
75 hcc HCC High cloud cover %
|
||||||
|
76 clwc CLWC Cloud liquid water content kg kg**-1
|
||||||
|
77 77 None Best lifted index (to 500 hPa) K
|
||||||
|
78 csf CSF Convective snow-fall kg m**-2
|
||||||
|
79 lsf LSF Large scale snow-fall kg m**-2
|
||||||
|
80 80 None Water temperature K
|
||||||
|
81 lsm LSM Land cover (1=land, 0=sea) (0 - 1)
|
||||||
|
82 82 None Deviation of sea-level from mean m
|
||||||
|
83 sr SR Surface roughness m
|
||||||
|
84 al AL Albedo -
|
||||||
|
85 st ST Surface temperature of soil K
|
||||||
|
86 ssw SSW Soil moisture content kg m**-2
|
||||||
|
87 veg VEG Percentage of vegetation %
|
||||||
|
88 88 None Salinity kg kg**-1
|
||||||
|
89 89 None Density kg m**-3
|
||||||
|
90 ro RO Water run-off kg m**-2
|
||||||
|
91 91 None Ice cover (1=land, 0=sea) (0 - 1)
|
||||||
|
92 92 None Ice thickness m
|
||||||
|
93 93 None Direction of ice drift Degree true
|
||||||
|
94 94 None Speed of ice drift m s*-1
|
||||||
|
95 95 None U-component of ice drift m s**-1
|
||||||
|
96 96 None V-component of ice drift m s**-1
|
||||||
|
97 97 None Ice growth rate m s**-1
|
||||||
|
98 98 None Ice divergence s**-1
|
||||||
|
99 99 None Snow melt kg m**-2
|
||||||
|
100 swh SWH Signific.height,combined wind waves+swell m
|
||||||
|
101 mdww MDWW Mean direction of wind waves Degree true
|
||||||
|
102 shww SHWW Significant height of wind waves m
|
||||||
|
103 mpww MPWW Mean period of wind waves s
|
||||||
|
104 104 None Direction of swell waves Degree true
|
||||||
|
105 105 None Significant height of swell waves m
|
||||||
|
106 106 None Mean period of swell waves s
|
||||||
|
107 mdps MDPS Mean direction of primary swell Degree true
|
||||||
|
108 mpps MPPS Mean period of primary swell s
|
||||||
|
109 109 None Secondary wave direction Degree true
|
||||||
|
110 110 None Secondary wave period s
|
||||||
|
111 111 None Net short-wave radiation flux (surface) W m**-2
|
||||||
|
112 112 None Net long-wave radiation flux (surface) W m**-2
|
||||||
|
113 113 None Net short-wave radiationflux(atmosph.top) W m**-2
|
||||||
|
114 114 None Net long-wave radiation flux(atmosph.top) W m**-2
|
||||||
|
115 115 None Long-wave radiation flux W m**-2
|
||||||
|
116 116 None Short-wave radiation flux W m**-2
|
||||||
|
117 117 None Global radiation flux W m**-2
|
||||||
|
118 118 None Brightness temperature K
|
||||||
|
119 119 None Radiance (with respect to wave number) W m**-1 sr**-1
|
||||||
|
120 120 None Radiance (with respect to wave length) W m**-1 sr**-1
|
||||||
|
121 slhf SLHF (surface) Latent heat flux W m**-2
|
||||||
|
122 sshf SSHF (surface) Sensible heat flux W m**-2
|
||||||
|
123 bld BLD Boundary layer dissipation W m**-2
|
||||||
|
124 124 None Momentum flux, u-component N m**-2
|
||||||
|
125 125 None Momentum flux, v-component N m**-2
|
||||||
|
126 126 None Wind mixing energy J
|
||||||
|
127 127 None Image data -
|
||||||
|
255 - - Indicates a missing value -
|
|
@ -0,0 +1,129 @@
|
||||||
|
1 p P Pressure Pa
|
||||||
|
2 msl MSL Mean sea level pressure Pa
|
||||||
|
3 3 None Pressure tendency Pa s**-1
|
||||||
|
4 pv PV Potential vorticity K m**2 kg**-1 s**-1
|
||||||
|
5 5 None ICAO Standard Atmosphere reference height m
|
||||||
|
6 z Z Geopotential m**2 s**-2
|
||||||
|
7 gh GH Geopotential height gpm
|
||||||
|
8 h H Geometrical height m
|
||||||
|
9 9 None Standard deviation of height m
|
||||||
|
10 tco3 TCO3 Total (column) ozone Dobson (kg m**-2)
|
||||||
|
11 t T Temperature K
|
||||||
|
12 12 None Virtual temperature K
|
||||||
|
13 13 None Potential temperature K
|
||||||
|
14 14 None Pseudo-adiabatic potential temperature K
|
||||||
|
15 15 None Maximum temperature K
|
||||||
|
16 16 None Minimum temperature K
|
||||||
|
17 17 None Dew-point temperature K
|
||||||
|
18 18 None Dew-point depression (or deficit) K
|
||||||
|
19 19 None Lapse rate K s**-1
|
||||||
|
20 20 None Visibility m
|
||||||
|
21 21 None Radar spectra (1) -
|
||||||
|
22 22 None Radar spectra (2) -
|
||||||
|
23 23 None Radar spectra (3) -
|
||||||
|
24 24 None Parcel lifted index (to 500 hPa) K
|
||||||
|
25 25 None Temperature anomaly K
|
||||||
|
26 26 None Pressure anomaly Pa
|
||||||
|
27 27 None Geopotential height anomaly gpm
|
||||||
|
28 28 None Wave spectra (1) -
|
||||||
|
29 29 None Wave spectra (2) -
|
||||||
|
30 30 None Wave spectra (3) -
|
||||||
|
31 31 None Wind direction Degree true
|
||||||
|
32 32 None Wind speed m s**-1
|
||||||
|
33 u U U-component of wind m s**-1
|
||||||
|
34 v V V-component of wind m s**-1
|
||||||
|
35 35 None Stream Function m**2 s**-1
|
||||||
|
36 36 None Velocity Potential m**2 s**-1
|
||||||
|
37 37 None Montgomery stream Function m**2 s**-1
|
||||||
|
38 38 None Sigma coordinate vertical velocity s**-1
|
||||||
|
39 w W Vertical velocity Pa s**-1
|
||||||
|
40 40 None Vertical velocity m s**-1
|
||||||
|
41 41 None Absolute vorticity s**-1
|
||||||
|
42 42 None Absolute divergence s**-1
|
||||||
|
43 vo VO Relative vorticity s**-1
|
||||||
|
44 d D Relative divergence s**-1
|
||||||
|
45 45 None Vertical u-component shear s**-1
|
||||||
|
46 46 None Vertical v-component shear s**-1
|
||||||
|
47 47 None Direction of current Degree true
|
||||||
|
48 48 None Speed of current m s**-1
|
||||||
|
49 49 None U-component of current m s**-1
|
||||||
|
50 50 None V-component of current m s**-1
|
||||||
|
51 q Q Specific humidity kg kg**-1
|
||||||
|
52 r R Relative humidity %
|
||||||
|
53 53 None Humidity mixing ratio kg m**-2
|
||||||
|
54 54 None Precipitable water kg m**-2
|
||||||
|
55 55 None Vapour pressure Pa
|
||||||
|
56 56 None Saturation deficit Pa
|
||||||
|
57 e E Evaporation kg m**-2
|
||||||
|
58 ciwc CIWC Cloud ice kg m**-2
|
||||||
|
59 59 None Precipitation rate kg m**-2 s**-1
|
||||||
|
60 60 None Thunderstorm probability %
|
||||||
|
61 tp TP Total precipitation kg m**-2
|
||||||
|
62 62 LSP Large scale precipitation kg m**-2
|
||||||
|
63 63 None Convective precipitation (water) kg m**-2
|
||||||
|
64 64 None Snow fall rate water equivalent kg m**-2 s**-1
|
||||||
|
65 sf SF Water equivalentof accumulated snow depth kg m**-2
|
||||||
|
66 sd SD Snow depth m (of water equivalent)
|
||||||
|
67 67 None Mixed layer depth m
|
||||||
|
68 68 None Transient thermocline depth m
|
||||||
|
69 69 None Main thermocline depth m
|
||||||
|
70 70 None Main thermocline anomaly m
|
||||||
|
71 tcc TCC Total cloud cover %
|
||||||
|
72 ccc CCC Convective cloud cover %
|
||||||
|
73 lcc LCC Low cloud cover %
|
||||||
|
74 mcc MCC Medium cloud cover %
|
||||||
|
75 hcc HCC High cloud cover %
|
||||||
|
76 clwc CLWC Cloud liquid water content kg kg**-1
|
||||||
|
77 77 None Best lifted index (to 500 hPa) K
|
||||||
|
78 csf CSF Convective snow-fall kg m**-2
|
||||||
|
79 lsf LSF Large scale snow-fall kg m**-2
|
||||||
|
80 80 None Water temperature K
|
||||||
|
81 lsm LSM Land cover (1=land, 0=sea) (0 - 1)
|
||||||
|
82 82 None Deviation of sea-level from mean m
|
||||||
|
83 sr SR Surface roughness m
|
||||||
|
84 al AL Albedo -
|
||||||
|
85 st ST Surface temperature of soil K
|
||||||
|
86 ssw SSW Soil moisture content kg m**-2
|
||||||
|
87 veg VEG Percentage of vegetation %
|
||||||
|
88 88 None Salinity kg kg**-1
|
||||||
|
89 89 None Density kg m**-3
|
||||||
|
90 ro RO Water run-off kg m**-2
|
||||||
|
91 91 None Ice cover (1=land, 0=sea) (0 - 1)
|
||||||
|
92 92 None Ice thickness m
|
||||||
|
93 93 None Direction of ice drift Degree true
|
||||||
|
94 94 None Speed of ice drift m s*-1
|
||||||
|
95 95 None U-component of ice drift m s**-1
|
||||||
|
96 96 None V-component of ice drift m s**-1
|
||||||
|
97 97 None Ice growth rate m s**-1
|
||||||
|
98 98 None Ice divergence s**-1
|
||||||
|
99 99 None Snow melt kg m**-2
|
||||||
|
100 swh SWH Signific.height,combined wind waves+swell m
|
||||||
|
101 mdww MDWW Mean direction of wind waves Degree true
|
||||||
|
102 shww SHWW Significant height of wind waves m
|
||||||
|
103 mpww MPWW Mean period of wind waves s
|
||||||
|
104 104 None Direction of swell waves Degree true
|
||||||
|
105 105 None Significant height of swell waves m
|
||||||
|
106 106 None Mean period of swell waves s
|
||||||
|
107 mdps MDPS Mean direction of primary swell Degree true
|
||||||
|
108 mpps MPPS Mean period of primary swell s
|
||||||
|
109 109 None Secondary wave direction Degree true
|
||||||
|
110 110 None Secondary wave period s
|
||||||
|
111 111 None Net short-wave radiation flux (surface) W m**-2
|
||||||
|
112 112 None Net long-wave radiation flux (surface) W m**-2
|
||||||
|
113 113 None Net short-wave radiationflux(atmosph.top) W m**-2
|
||||||
|
114 114 None Net long-wave radiation flux(atmosph.top) W m**-2
|
||||||
|
115 115 None Long-wave radiation flux W m**-2
|
||||||
|
116 116 None Short-wave radiation flux W m**-2
|
||||||
|
117 117 None Global radiation flux W m**-2
|
||||||
|
118 118 None Brightness temperature K
|
||||||
|
119 119 None Radiance (with respect to wave number) W m**-1 sr**-1
|
||||||
|
120 120 None Radiance (with respect to wave length) W m**-1 sr**-1
|
||||||
|
121 slhf SLHF (surface) Latent heat flux W m**-2
|
||||||
|
122 sshf SSHF (surface) Sensible heat flux W m**-2
|
||||||
|
123 bld BLD Boundary layer dissipation W m**-2
|
||||||
|
124 124 None Momentum flux, u-component N m**-2
|
||||||
|
125 125 None Momentum flux, v-component N m**-2
|
||||||
|
126 126 None Wind mixing energy J
|
||||||
|
127 127 None Image data -
|
||||||
|
160 160 Unknown
|
||||||
|
255 - - Indicates a missing value -
|
|
@ -0,0 +1,255 @@
|
||||||
|
# CODE TABLE 2, 128 Flag indication relative to section 2 and 3
|
||||||
|
001 001 STRF Stream function m**2 s**-1 -
|
||||||
|
002 002 VPOT Velocity potential m**2 s**-1 -
|
||||||
|
003 003 PT Potential temperature K -
|
||||||
|
004 004 EQPT Equivalent potential temperature K -
|
||||||
|
005 005 SEPT Saturated equivalent potential temperature K -
|
||||||
|
006 006 None Reserved for Metview - -
|
||||||
|
007 007 None Reserved for Metview - -
|
||||||
|
008 008 None Reserved for Metview - -
|
||||||
|
009 009 None Reserved for Metview - -
|
||||||
|
010 010 None Reserved for Metview - -
|
||||||
|
011 011 UDVW U component of divergent wind m s**-1 -
|
||||||
|
012 012 VDVW V component of divergent wind m s**-1 -
|
||||||
|
013 013 URTW U component of rotational wind m s**-1 -
|
||||||
|
014 014 VRTW V component of rotational wind m s**-1 -
|
||||||
|
015 015 None Reserved for Metview - -
|
||||||
|
016 016 None Reserved for Metview - -
|
||||||
|
017 017 None Reserved for Metview - -
|
||||||
|
018 018 None Reserved for Metview - -
|
||||||
|
019 019 None Reserved for Metview - -
|
||||||
|
020 020 None Reserved for Metview - -
|
||||||
|
021 021 UCTP Unbalanced component of temperature K -
|
||||||
|
022 022 UCLN Unbalanced component of logarithm of surface pressure - -
|
||||||
|
023 023 UCDV Unbalanced component of divergence s**-1 -
|
||||||
|
024 024 None Reserved for future unbalanced components - -
|
||||||
|
025 025 None Reserved for future unbalanced components - -
|
||||||
|
026 026 CL Lake cover (0-1) -
|
||||||
|
027 027 CVL Low vegetation cover (0-1) -
|
||||||
|
028 028 CVH High vegetation cover (0-1) -
|
||||||
|
029 029 TVL Type of low vegetation - Table index
|
||||||
|
030 030 TVH Type of high vegetation - Table index
|
||||||
|
031 031 CI Sea-ice cover (0-1) -
|
||||||
|
032 032 ASN Snow albedo (0-1) -
|
||||||
|
033 033 RSN Snow density kg m**-3 -
|
||||||
|
034 034 SSTK Sea surface temperature K K
|
||||||
|
035 035 ISTL1 Ice surface temperature layer 1 K -
|
||||||
|
036 036 ISTL2 Ice surface temperature layer 2 K -
|
||||||
|
037 037 ISTL3 Ice surface temperature layer 3 K -
|
||||||
|
038 038 ISTL4 Ice surface temperature layer 4 K -
|
||||||
|
039 039 SWVL1 Volumetric soil water layer 1 m**3 m**-3 -
|
||||||
|
040 040 SWVL2 Volumetric soil water layer 2 m**3 m**-3 -
|
||||||
|
041 041 SWVL3 Volumetric soil water layer 3 m**3 m**-3 -
|
||||||
|
042 042 SWVL4 Volumetric soil water layer 4 m**3 m**-3 -
|
||||||
|
043 043 SLT Soil type - -
|
||||||
|
044 044 ES Snow evaporation m of water Accumulated field
|
||||||
|
045 045 SMLT Snowmelt m of water Accumulated field
|
||||||
|
046 046 SDUR Solar duration s -
|
||||||
|
047 047 DSRP Direct solar radiation w m**-2 Incident on a plane perpendicular to the Sun's direction
|
||||||
|
048 048 MAGSS Magnitude of surface stress N m**-2 s Accumulated field
|
||||||
|
049 049 10FG 10 metre wind gust m s**-1 Maximum since previous post-processing
|
||||||
|
050 050 LSPF Large-scale precipitation fraction s Accumulated field
|
||||||
|
051 051 MX2T24 Maximum 2 metre temperature K During previous 24 hours
|
||||||
|
052 052 - Minimum 2 metre temperature K During previous 24 hours
|
||||||
|
053 053 MONT Montgomery potential m**2 s**-2 -
|
||||||
|
054 054 PRES Pressure Pa -
|
||||||
|
055 055 - Mean 2 metre temperature in past 24 hours K 6-hourly intervals
|
||||||
|
056 056 MN2D24 Mean 2 metre dewpoint temperature in past 24 hours K 6-hourly intervals
|
||||||
|
57 57 UVB Downward UV radiation at the surface w m**-2 s Ultra-violet band B. Accumulated field.
|
||||||
|
58 58 PAR Photosynthetically active radiation at the surface w m**-2 s Accumulated field.
|
||||||
|
59 59 CAPE Convective available potential energy J kg**-1 -
|
||||||
|
060 060 PV Potential vorticity K m**2 kg**-1 s**-1 -
|
||||||
|
061 061 TPO Total precipitation from observations Millimetres*100 + number of stations Rainfall amount found by averaging over a number of observing stations
|
||||||
|
062 062 OBCT Observation count - Count of observations used in calculating value at a gridpoint
|
||||||
|
063 063 - Start time for skin temperature difference s Seconds from reference time
|
||||||
|
064 064 - Finish time for skin temperature difference s Seconds from reference time
|
||||||
|
065 065 - Skin temperature difference K -
|
||||||
|
066 066 - Leaf area index, low vegetation m**2 / m**2 -
|
||||||
|
067 067 - Leaf area index, high vegetation m**2 / m**2 -
|
||||||
|
068 068 - Minimum stomatal resistance, low vegetation s m**2
|
||||||
|
069 069 - Minimum stomatal resistance, high vegetation s m**2
|
||||||
|
070 070 - Biome cover, low vegetation [0,1]
|
||||||
|
071 071 - Biome cover, high vegetation [0,1]
|
||||||
|
72 72 - Unused
|
||||||
|
73 73 - Unused
|
||||||
|
74 74 - Unused
|
||||||
|
75 75 - Unused
|
||||||
|
76 76 - Unused
|
||||||
|
77 77 - Unused
|
||||||
|
78 78 TCLW Total column liquid water kg m**-2
|
||||||
|
79 79 TCIW Total column ice water kg m**-2
|
||||||
|
80 80 80 Experimental product Undefined Contents may vary
|
||||||
|
81 81 81 Experimental product Undefined Contents may vary
|
||||||
|
82 82 82 Experimental product Undefined Contents may vary
|
||||||
|
83 83 83 Experimental product Undefined Contents may vary
|
||||||
|
84 84 84 Experimental product Undefined Contents may vary
|
||||||
|
85 85 85 Experimental product Undefined Contents may vary
|
||||||
|
86 86 86 Experimental product Undefined Contents may vary
|
||||||
|
87 87 87 Experimental product Undefined Contents may vary
|
||||||
|
88 88 88 Experimental product Undefined Contents may vary
|
||||||
|
89 89 89 Experimental product Undefined Contents may vary
|
||||||
|
90 90 90 Experimental product Undefined Contents may vary
|
||||||
|
91 91 91 Experimental product Undefined Contents may vary
|
||||||
|
92 92 92 Experimental product Undefined Contents may vary
|
||||||
|
93 93 93 Experimental product Undefined Contents may vary
|
||||||
|
94 94 94 Experimental product Undefined Contents may vary
|
||||||
|
95 95 95 Experimental product Undefined Contents may vary
|
||||||
|
96 96 96 Experimental product Undefined Contents may vary
|
||||||
|
97 97 97 Experimental product Undefined Contents may vary
|
||||||
|
98 98 98 Experimental product Undefined Contents may vary
|
||||||
|
99 99 99 Experimental product Undefined Contents may vary
|
||||||
|
100 100 100 Experimental product Undefined Contents may vary
|
||||||
|
101 101 101 Experimental product Undefined Contents may vary
|
||||||
|
102 102 102 Experimental product Undefined Contents may vary
|
||||||
|
103 103 103 Experimental product Undefined Contents may vary
|
||||||
|
104 104 104 Experimental product Undefined Contents may vary
|
||||||
|
105 105 105 Experimental product Undefined Contents may vary
|
||||||
|
106 106 106 Experimental product Undefined Contents may vary
|
||||||
|
107 107 107 Experimental product Undefined Contents may vary
|
||||||
|
108 108 108 Experimental product Undefined Contents may vary
|
||||||
|
109 109 109 Experimental product Undefined Contents may vary
|
||||||
|
110 110 110 Experimental product Undefined Contents may vary
|
||||||
|
111 111 111 Experimental product Undefined Contents may vary
|
||||||
|
112 112 112 Experimental product Undefined Contents may vary
|
||||||
|
113 113 113 Experimental product Undefined Contents may vary
|
||||||
|
114 114 114 Experimental product Undefined Contents may vary
|
||||||
|
115 115 115 Experimental product Undefined Contents may vary
|
||||||
|
116 116 116 Experimental product Undefined Contents may vary
|
||||||
|
117 117 117 Experimental product Undefined Contents may vary
|
||||||
|
118 118 118 Experimental product Undefined Contents may vary
|
||||||
|
119 119 119 Experimental product Undefined Contents may vary
|
||||||
|
121 121 MX2T6 Maximum temperature at 2 metres K During previous 6 hours
|
||||||
|
122 122 MN2T6 Minimum temperature at 2 metres K During previous 6 hours
|
||||||
|
123 123 10FG6 10 metre wind gust m s**-1 During previous 6 hours
|
||||||
|
124 124 - Unused - -
|
||||||
|
125 125 - Vertically integrated total energy J m**-2 Integrated over a number of model levels
|
||||||
|
126 126 - Generic parameter for sensitive area prediction Various Originating centre dependent
|
||||||
|
127 127 AT Atmospheric tide - Not GRIB data
|
||||||
|
128 128 BV Budget values - Not GRIB data
|
||||||
|
129 129 Z Geopotential m**2 s**-2 At the surface: orography
|
||||||
|
130 130 T Temperature K -
|
||||||
|
131 131 U U velocity m s**-1 -
|
||||||
|
132 132 V V velocity m s**-1 -
|
||||||
|
133 133 Q Specific humidity kg kg**-1 -
|
||||||
|
134 134 SP Surface pressure Pa -
|
||||||
|
135 135 W Vertical velocity Pa s**-1 -
|
||||||
|
136 136 TCW Total column water kg m**-2 Liquid + ice + vapour
|
||||||
|
137 137 TCWV Total column water vapour kg m**-2 -
|
||||||
|
138 138 VO Vorticity (relative) s**-1 -
|
||||||
|
139 139 STL1 Soil temperature level 1 K Soil temperature (ST) before 19930804
|
||||||
|
140 140 SWL1 Soil wetness level 1 m of water Surface soil wetness (SSW) before 19930804
|
||||||
|
141 141 SD Snow depth m of water equivalent -
|
||||||
|
142 142 LSP Large scale precipitation m Accumulated field
|
||||||
|
143 143 CP Convective precipitation m Accumulated field
|
||||||
|
144 144 SF Snowfall (convective + stratiform) m of water equivalent Accumulated field
|
||||||
|
145 145 BLD Boundary layer dissipation W m**-2 s Accumulated field
|
||||||
|
146 146 SSHF Surface sensible heat flux W m**-2 s Accumulated field
|
||||||
|
147 147 SLHF Surface latent heat flux W m**-2 s Accumulated field
|
||||||
|
148 148 CHNK Charnock - Surface stress (SS) before 19980519
|
||||||
|
149 149 SNR Surface net radiation W m**-2 s Accumulated field
|
||||||
|
150 150 TNR Top net radiation - -
|
||||||
|
151 151 MSL Mean sea level pressure Pa -
|
||||||
|
152 152 LNSP Logarithm of surface pressure - -
|
||||||
|
153 153 SWHR Short-wave heating rate K Accumulated field
|
||||||
|
154 154 LWHR Long-wave heating rate K Accumulated field
|
||||||
|
155 155 D Divergence s**-1 -
|
||||||
|
156 156 GH Height m Geopotential height
|
||||||
|
157 157 R Relative humidity % -
|
||||||
|
158 158 TSP Tendency of surface pressure Pa s**-1 -
|
||||||
|
159 159 BLH Boundary layer height m -
|
||||||
|
160 160 SDOR Standard deviation of orography - -
|
||||||
|
161 161 ISOR Anisotropy of sub-gridscale orography - -
|
||||||
|
162 162 ANOR Angle of sub-gridscale orography rad -
|
||||||
|
163 163 SLOR Slope of sub-gridscale orography - -
|
||||||
|
164 164 TCC Total cloud cover (0 - 1) -
|
||||||
|
165 165 10U 10 metre U wind component m s**-1 -
|
||||||
|
166 166 10V 10 metre V wind component m s**-1 -
|
||||||
|
167 167 2T 2 metre temperature K -
|
||||||
|
168 168 2D 2 metre dewpoint temperature K -
|
||||||
|
169 169 SSRD Surface solar radiation downwards W m**-2 s Accumulated field
|
||||||
|
170 170 STL2 Soil temperature level 2 K Deep soil temperature (DST) before 19930804
|
||||||
|
171 171 SWL2 Soil wetness level 2 m of water Deep soil wetness (DSW) before 19930804. Scaled: depth surf water layer 7cm deep
|
||||||
|
172 172 LSM Land-sea mask (0, 1) -
|
||||||
|
173 173 SR Surface roughness m -
|
||||||
|
174 174 AL Albedo (0 - 1) -
|
||||||
|
175 175 STRD Surface thermal radiation downwards W m**-2 s Accumulated field
|
||||||
|
176 176 SSR Surface solar radiation W m**-2 s Accumulated field
|
||||||
|
177 177 STR Surface thermal radiation W m**-2 s Accumulated field
|
||||||
|
178 178 TSR Top solar radiation W m**-2 s Accumulated field
|
||||||
|
179 179 TTR Top thermal radiation W m**-2 s Accumulated field
|
||||||
|
180 180 EWSS East-West surface stress N m**-2 s Accumulated field
|
||||||
|
181 181 NSSS North-South surface stress N m**-2 s Accumulated field
|
||||||
|
182 182 E Evaporation m of water Accumulated field
|
||||||
|
183 183 STL3 Soil temperature level 3 K Climatological deep soil temperature (CDST) before 19930804
|
||||||
|
184 184 SWL3 Soil wetness level 3 m of water Climatological deep soil wetness (CDSW) before 19930804.Scaled depth surf water 7cm deep
|
||||||
|
185 185 CCC Convective cloud cover (0 - 1) -
|
||||||
|
186 186 LCC Low cloud cover (0 - 1) -
|
||||||
|
187 187 MCC Medium cloud cover (0 - 1) -
|
||||||
|
188 188 HCC High cloud cover (0 - 1) -
|
||||||
|
189 189 SUND Sunshine duration s Accumulated field
|
||||||
|
190 190 EWOV East-West component of sub-grid orographic variance m**2 -
|
||||||
|
191 191 NSOV North-South component of sub-grid orographic variance m**2 -
|
||||||
|
192 192 NWOV North-West/South-East component of sub-grid orographic variance m**2 -
|
||||||
|
193 193 NEOV North-East/South-West component of sub-grid orographic variance m**2 -
|
||||||
|
194 194 BTMP Brightness temperature K -
|
||||||
|
195 195 LGWS Latitudinal component of gravity wave stress N m**-2 s Accumulated field
|
||||||
|
196 196 MGWS Meridional component of gravity wave stress N m**-2 s Accumulated field
|
||||||
|
197 197 GWD Gravity wave dissipation W m**-2 s Accumulated field
|
||||||
|
198 198 SRC Skin reservoir content m of water -
|
||||||
|
199 199 VEG Vegetation fraction (0 - 1) -
|
||||||
|
200 200 VSO Variance of sub-gridscale orography m**2 -
|
||||||
|
201 201 MX2T Maximum temperature at 2 metres since previous post-processing K -
|
||||||
|
202 202 MN2T Minimum temperature at 2 metres since previous post-processing K -
|
||||||
|
203 203 O3 Ozone mass mixing ratio kg kg**-1 -
|
||||||
|
204 204 PAW Precipiation analysis weights - -
|
||||||
|
205 205 RO Runoff m Accumulated field
|
||||||
|
206 206 TCO3 Total column ozone kg m**-2 Before 20010612 was in Dobsons. 1 Dobson = 2.1415E-5 kg m**-2
|
||||||
|
207 207 10SI 10 metre wind speed m s**-1 -
|
||||||
|
208 208 TSRC Top net solar radiation, clear sky W m**-2 s Accumulated field
|
||||||
|
209 209 TTRC Top net thermal radiation, clear sky W m**-2 s Accumulated field
|
||||||
|
210 210 SSRC Surface net solar radiation, clear sky W m**-2 s Accumulated field
|
||||||
|
211 211 STRC Surface net thermal radiation, clear sky W m**-2 s Accumulated field
|
||||||
|
212 212 SI Solar insolation W m**-2 s Accumulated field
|
||||||
|
213 213 - Unused - -
|
||||||
|
214 214 DHR Diabatic heating by radiation K -
|
||||||
|
215 215 DHVD Diabatic heating by vertical diffusion K -
|
||||||
|
216 216 DHCC Diabatic heating by cumulus convection K -
|
||||||
|
217 217 DHLC Diabatic heating large-scale condensation K -
|
||||||
|
218 218 VDZW Vertical diffusion of zonal wind m s**-1 -
|
||||||
|
219 219 VDMW Vertical diffusion of meridional wind m s**-1 -
|
||||||
|
220 220 EWGD East-West gravity wave drag tendency m s**-1 -
|
||||||
|
221 221 NSGD North-South gravity wave drag tendency m s**-1 -
|
||||||
|
222 222 CTZW Convective tendency of zonal wind m s**-1 -
|
||||||
|
223 223 CTMW Convective tendency of meridional wind m s**-1 -
|
||||||
|
224 224 VDH Vertical diffusion of humidity kg kg**-1 -
|
||||||
|
225 225 HTCC Humidity tendency by cumulus convection kg kg**-1 -
|
||||||
|
226 226 HTLC Humidity tendency large-scale condensation kg kg**-1 -
|
||||||
|
227 227 CRNH Change from removing negative humidity kg kg**-1 -
|
||||||
|
228 228 TP Total precipitation m Accumulated
|
||||||
|
229 229 IEWS Instantaneous X surface stress N m**-2 -
|
||||||
|
230 230 INSS Instantaneous Y surface stress N m**-2 -
|
||||||
|
231 231 ISHF Instantaneous surface heat flux W m**-2 -
|
||||||
|
232 232 IE Instantaneous moisture flux kg m**-2 s Evaporation
|
||||||
|
233 233 ASQ Apparent surface humidity kg kg**-1 -
|
||||||
|
234 234 LSRH Logarithm of surface roughness length for heat - -
|
||||||
|
235 235 SKT Skin temperature K -
|
||||||
|
236 236 STL4 Soil temperature level 4 K -
|
||||||
|
237 237 SWL4 Soil wetness level 4 m Scaled to depth of surface water layer 7cm deep
|
||||||
|
238 238 TSN Temperature of snow layer K -
|
||||||
|
239 239 CSF Convective snowfall m of water equivalent Accumulated field
|
||||||
|
240 240 LSF Large-scale snowfall m of water equivalent Accumulated field
|
||||||
|
241 241 ACF Accumulated cloud fraction tendency (-1 to 1) -
|
||||||
|
242 242 ALW Accumulated liquid water tendency (-1 to 1) -
|
||||||
|
243 243 FAL Forecast albedo (0 - 1) -
|
||||||
|
244 244 FSR Forecast surface roughness m -
|
||||||
|
245 245 FLSR Forecast log of surface roughness for heat - -
|
||||||
|
246 246 CLWC Cloud liquid water content kg kg**-1 -
|
||||||
|
247 247 CIWC Cloud ice water content kg kg**-1 -
|
||||||
|
248 248 CC Cloud cover (0 - 1) -
|
||||||
|
249 249 AIW Accumulated ice water tendency (-1 to 1) -
|
||||||
|
250 250 ICE Ice age 1,0 0 first-year, 1 multi-year
|
||||||
|
251 251 ATTE Adiabatic tendency of temperature K -
|
||||||
|
252 252 ATHE Adiabatic tendency of humidity kg kg**-1 -
|
||||||
|
253 253 ATZE Adiabatic tendency of zonal wind m s**-1 -
|
||||||
|
254 254 ATMW Adiabatic tendency of meridional wind m s**-1 -
|
||||||
|
255 255 - Indicates a missing value - -
|
|
@ -0,0 +1,253 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 STRF Stream function m**2 s**-1
|
||||||
|
2 2 VPOT Velocity potential m**2 s**-1
|
||||||
|
3 3 PT Potential temperature K
|
||||||
|
4 4 EQPT Equivalent potential temperature K
|
||||||
|
5 5 SEPT Saturated equivalent potential temperature K
|
||||||
|
6 6 SSFR Soil sand fraction (0 - 1)
|
||||||
|
7 7 SCFR Soil clay fraction (0 - 1)
|
||||||
|
8 8 SRO Surface runoff m
|
||||||
|
9 9 SSRO Sub-surface runoff m
|
||||||
|
10 10 WIND Wind speed m s**-1
|
||||||
|
11 11 UDVW U component of divergent wind m s**-1
|
||||||
|
12 12 VDVW V component of divergent wind m s**-1
|
||||||
|
13 13 URTW U component of rotational wind m s**-1
|
||||||
|
14 14 VRTW V component of rotational wind m s**-1
|
||||||
|
15 15 ALUVP UV visible albedo for direct radiation (0 - 1)
|
||||||
|
16 16 ALUVD UV visible albedo for diffuse radiation (0 - 1)
|
||||||
|
17 17 ALNIP Near IR albedo for direct radiation (0 - 1)
|
||||||
|
18 18 ALNID Near IR albedo for diffuse radiation (0 - 1)
|
||||||
|
19 19 UVCS Clear sky surface UV W m**-2 s
|
||||||
|
20 20 PARCS Clear sky surface photosynthetically active radiation W m**-2 s
|
||||||
|
21 21 UCTP Unbalanced component of temperature K
|
||||||
|
22 22 UCLN Unbalanced component of logarithm of surface pressure
|
||||||
|
23 23 UCDV Unbalanced component of divergence s**-1
|
||||||
|
24 24 - Reserved for future unbalanced components
|
||||||
|
25 25 - Reserved for future unbalanced components
|
||||||
|
26 26 CL Lake cover (0 - 1)
|
||||||
|
27 27 CVL Low vegetation cover (0 - 1)
|
||||||
|
28 28 CVH High vegetation cover (0 - 1)
|
||||||
|
29 29 TVL Type of low vegetation
|
||||||
|
30 30 TVH Type of high vegetation
|
||||||
|
31 31 CI Sea-ice cover (0 - 1)
|
||||||
|
32 32 ASN Snow albedo (0 - 1)
|
||||||
|
33 33 RSN Snow density kg m**-3
|
||||||
|
34 34 SSTK Sea surface temperature K
|
||||||
|
35 35 ISTL1 Ice surface temperature layer 1 K
|
||||||
|
36 36 ISTL2 Ice surface temperature layer 2 K
|
||||||
|
37 37 ISTL3 Ice surface temperature layer 3 K
|
||||||
|
38 38 ISTL4 Ice surface temperature layer 4 K
|
||||||
|
39 39 SWVL1 Volumetric soil water layer 1 m**3 m**-3
|
||||||
|
40 40 SWVL2 Volumetric soil water layer 2 m**3 m**-3
|
||||||
|
41 41 SWVL3 Volumetric soil water layer 3 m**3 m**-3
|
||||||
|
42 42 SWVL4 Volumetric soil water layer 4 m**3 m**-3
|
||||||
|
43 43 SLT Soil type
|
||||||
|
44 44 ES Snow evaporation m of water
|
||||||
|
45 45 SMLT Snowmelt m of water
|
||||||
|
46 46 SDUR Solar duration s
|
||||||
|
47 47 DSRP Direct solar radiation w m**-2
|
||||||
|
48 48 MAGSS Magnitude of surface stress N m**-2 s
|
||||||
|
49 49 10FG 10 metre wind gust m s**-1
|
||||||
|
50 50 LSPF Large-scale precipitation fraction s
|
||||||
|
51 51 MX2T24 Maximum temperature at 2 metres since last 24 hours K
|
||||||
|
52 52 MN2T24 Minimum temperature at 2 metres since last 24 hours K
|
||||||
|
53 53 MONT Montgomery potential m**2 s**-2
|
||||||
|
54 54 PRES Pressure Pa
|
||||||
|
55 55 MEAN2T24 Mean temperature at 2 metres since last 24 hours K
|
||||||
|
56 56 MN2D24 Mean 2 metre dewpoint temperature in past 24 hours K
|
||||||
|
57 57 UVB Downward UV radiation at the surface w m**-2 s
|
||||||
|
58 58 PAR Photosynthetically active radiation at the surface w m**-2 s
|
||||||
|
59 59 CAPE Convective available potential energy J kg**-1
|
||||||
|
60 60 PV Potential vorticity K m**2 kg**-1 s**-1
|
||||||
|
61 61 TPO Total precipitation from observations Millimetres*100 + number of stations
|
||||||
|
62 62 OBCT Observation count
|
||||||
|
63 63 - Start time for skin temperature difference s
|
||||||
|
64 64 - Finish time for skin temperature difference s
|
||||||
|
65 65 - Skin temperature difference K
|
||||||
|
66 66 - Leaf area index, low vegetation m**2 / m**2
|
||||||
|
67 67 - Leaf area index, high vegetation m**2 / m**2
|
||||||
|
68 68 - Minimum stomatal resistance, low vegetation s m**-1
|
||||||
|
69 69 - Minimum stomatal resistance, high vegetation s m**-1
|
||||||
|
70 70 - Biome cover, low vegetation (0 - 1)
|
||||||
|
71 71 - Biome cover, high vegetation (0 - 1)
|
||||||
|
72 72 ISSRD Instantaneous surface solar radiation downwards w m**-2
|
||||||
|
73 73 ISTRD Instantaneous surface thermal radiation downwards w m**-2
|
||||||
|
74 74 SDFOR Standard deviation of filtered subgrid orography m
|
||||||
|
78 78 - Total column liquid water kg m**-2
|
||||||
|
79 79 - Total column ice water kg m**-2
|
||||||
|
80 80 - Experimental product
|
||||||
|
81 81 - Experimental product
|
||||||
|
82 82 - Experimental product
|
||||||
|
83 83 - Experimental product
|
||||||
|
84 84 - Experimental product
|
||||||
|
85 85 - Experimental product
|
||||||
|
86 86 - Experimental product
|
||||||
|
87 87 - Experimental product
|
||||||
|
88 88 - Experimental product
|
||||||
|
89 89 - Experimental product
|
||||||
|
90 90 - Experimental product
|
||||||
|
91 91 - Experimental product
|
||||||
|
92 92 - Experimental product
|
||||||
|
93 93 - Experimental product
|
||||||
|
94 94 - Experimental product
|
||||||
|
95 95 - Experimental product
|
||||||
|
96 96 - Experimental product
|
||||||
|
97 97 - Experimental product
|
||||||
|
98 98 - Experimental product
|
||||||
|
99 99 - Experimental product
|
||||||
|
100 100 - Experimental product
|
||||||
|
101 101 - Experimental product
|
||||||
|
102 102 - Experimental product
|
||||||
|
103 103 - Experimental product
|
||||||
|
104 104 - Experimental product
|
||||||
|
105 105 - Experimental product
|
||||||
|
106 106 - Experimental product
|
||||||
|
107 107 - Experimental product
|
||||||
|
108 108 - Experimental product
|
||||||
|
109 109 - Experimental product
|
||||||
|
110 110 - Experimental product
|
||||||
|
111 111 - Experimental product
|
||||||
|
112 112 - Experimental product
|
||||||
|
113 113 - Experimental product
|
||||||
|
114 114 - Experimental product
|
||||||
|
115 115 - Experimental product
|
||||||
|
116 116 - Experimental product
|
||||||
|
117 117 - Experimental product
|
||||||
|
118 118 - Experimental product
|
||||||
|
119 119 - Experimental product
|
||||||
|
120 120 - Experimental product
|
||||||
|
121 121 MX2T6 Maximum temperature at 2 metres since last 6 hours K
|
||||||
|
122 122 MN2T6 Minimum temperature at 2 metres since last 6 hours K
|
||||||
|
123 123 10FG6 10 metre wind gust in the past 6 hours m s**-1
|
||||||
|
124 124 EMIS Surface emissivity dimensionless
|
||||||
|
125 125 - Vertically integrated total energy J m**-2
|
||||||
|
126 126 - Generic parameter for sensitive area prediction Various
|
||||||
|
127 127 AT Atmospheric tide
|
||||||
|
128 128 BV Budget values
|
||||||
|
129 129 Z Geopotential m**2 s**-2
|
||||||
|
130 130 T Temperature K
|
||||||
|
131 131 U U velocity m s**-1
|
||||||
|
132 132 V V velocity m s**-1
|
||||||
|
133 133 Q Specific humidity kg kg**-1
|
||||||
|
134 134 SP Surface pressure Pa
|
||||||
|
135 135 W Vertical velocity Pa s**-1
|
||||||
|
136 136 TCW Total column water kg m**-2
|
||||||
|
137 137 TCWV Total column water vapour kg m**-2
|
||||||
|
138 138 VO Vorticity (relative) s**-1
|
||||||
|
139 139 STL1 Soil temperature level 1 K
|
||||||
|
140 140 SWL1 Soil wetness level 1 m of water
|
||||||
|
141 141 SD Snow depth m of water equivalent
|
||||||
|
142 142 LSP Stratiform precipitation (Large-scale precipitation) m
|
||||||
|
143 143 CP Convective precipitation m
|
||||||
|
144 144 SF Snowfall (convective + stratiform) m of water equivalent
|
||||||
|
145 145 BLD Boundary layer dissipation W m**-2 s
|
||||||
|
146 146 SSHF Surface sensible heat flux W m**-2 s
|
||||||
|
147 147 SLHF Surface latent heat flux W m**-2 s
|
||||||
|
148 148 CHNK Charnock
|
||||||
|
149 149 SNR Surface net radiation W m**-2 s
|
||||||
|
150 150 TNR Top net radiation
|
||||||
|
151 151 MSL Mean sea level pressure Pa
|
||||||
|
152 152 LNSP Logarithm of surface pressure
|
||||||
|
153 153 SWHR Short-wave heating rate K
|
||||||
|
154 154 LWHR Long-wave heating rate K
|
||||||
|
155 155 D Divergence s**-1
|
||||||
|
156 156 GH Gepotential Height gpm
|
||||||
|
157 157 R Relative humidity %
|
||||||
|
158 158 TSP Tendency of surface pressure Pa s**-1
|
||||||
|
159 159 BLH Boundary layer height m
|
||||||
|
160 160 SDOR Standard deviation of orography
|
||||||
|
161 161 ISOR Anisotropy of sub-gridscale orography
|
||||||
|
162 162 ANOR Angle of sub-gridscale orography rad
|
||||||
|
163 163 SLOR Slope of sub-gridscale orography
|
||||||
|
164 164 TCC Total cloud cover (0 - 1)
|
||||||
|
165 165 10U 10 metre U wind component m s**-1
|
||||||
|
166 166 10V 10 metre V wind component m s**-1
|
||||||
|
167 167 2T 2 metre temperature K
|
||||||
|
168 168 2D 2 metre dewpoint temperature K
|
||||||
|
169 169 SSRD Surface solar radiation downwards W m**-2 s
|
||||||
|
170 170 STL2 Soil temperature level 2 K
|
||||||
|
171 171 SWL2 Soil wetness level 2 m of water
|
||||||
|
172 172 LSM Land-sea mask (0 - 1)
|
||||||
|
173 173 SR Surface roughness m
|
||||||
|
174 174 AL Albedo (0 - 1)
|
||||||
|
175 175 STRD Surface thermal radiation downwards W m**-2 s
|
||||||
|
176 176 SSR Surface solar radiation W m**-2 s
|
||||||
|
177 177 STR Surface thermal radiation W m**-2 s
|
||||||
|
178 178 TSR Top solar radiation W m**-2 s
|
||||||
|
179 179 TTR Top thermal radiation W m**-2 s
|
||||||
|
180 180 EWSS East-West surface stress N m**-2 s
|
||||||
|
181 181 NSSS North-South surface stress N m**-2 s
|
||||||
|
182 182 E Evaporation m of water
|
||||||
|
183 183 STL3 Soil temperature level 3 K
|
||||||
|
184 184 SWL3 Soil wetness level 3 m of water
|
||||||
|
185 185 CCC Convective cloud cover (0 - 1)
|
||||||
|
186 186 LCC Low cloud cover (0 - 1)
|
||||||
|
187 187 MCC Medium cloud cover (0 - 1)
|
||||||
|
188 188 HCC High cloud cover (0 - 1)
|
||||||
|
189 189 SUND Sunshine duration s
|
||||||
|
190 190 EWOV East-West component of sub-gridscale orographic variance m**2
|
||||||
|
191 191 NSOV North-South component of sub-gridscale orographic variance m**2
|
||||||
|
192 192 NWOV North-West/South-East component of sub-gridscale orographic variance m**2
|
||||||
|
193 193 NEOV North-East/South-West component of sub-gridscale orographic variance m**2
|
||||||
|
194 194 BTMP Brightness temperature K
|
||||||
|
195 195 LGWS Latitudinal component of gravity wave stress N m**-2 s
|
||||||
|
196 196 MGWS Meridional component of gravity wave stress N m**-2 s
|
||||||
|
197 197 GWD Gravity wave dissipation W m**-2 s
|
||||||
|
198 198 SRC Skin reservoir content m of water
|
||||||
|
199 199 VEG Vegetation fraction (0 - 1)
|
||||||
|
200 200 VSO Variance of sub-gridscale orography m**2
|
||||||
|
201 201 MX2T Maximum temperature at 2 metres since previous post-processing K
|
||||||
|
202 202 MN2T Minimum temperature at 2 metres since previous post-processing K
|
||||||
|
203 203 O3 Ozone mass mixing ratio kg kg**-1
|
||||||
|
204 204 PAW Precipitation analysis weights
|
||||||
|
205 205 RO Runoff m
|
||||||
|
206 206 TCO3 Total column ozone kg m**-2
|
||||||
|
207 207 10SI 10 metre wind speed m s**-1
|
||||||
|
208 208 TSRC Top net solar radiation, clear sky W m**-2 s
|
||||||
|
209 209 TTRC Top net thermal radiation, clear sky W m**-2 s
|
||||||
|
210 210 SSRC Surface net solar radiation, clear sky W m**-2 s
|
||||||
|
211 211 STRC Surface net thermal radiation, clear sky W m**-2 s
|
||||||
|
212 212 TISR TOA incident solar radiation W m**-2 s
|
||||||
|
213 213 VIMD Vertically integrated moisture divergence kg m**-2
|
||||||
|
214 214 DHR Diabatic heating by radiation K
|
||||||
|
215 215 DHVD Diabatic heating by vertical diffusion K
|
||||||
|
216 216 DHCC Diabatic heating by cumulus convection K
|
||||||
|
217 217 DHLC Diabatic heating large-scale condensation K
|
||||||
|
218 218 VDZW Vertical diffusion of zonal wind m s**-1
|
||||||
|
219 219 VDMW Vertical diffusion of meridional wind m s**-1
|
||||||
|
220 220 EWGD East-West gravity wave drag tendency m s**-1
|
||||||
|
221 221 NSGD North-South gravity wave drag tendency m s**-1
|
||||||
|
222 222 CTZW Convective tendency of zonal wind m s**-1
|
||||||
|
223 223 CTMW Convective tendency of meridional wind m s**-1
|
||||||
|
224 224 VDH Vertical diffusion of humidity kg kg**-1
|
||||||
|
225 225 HTCC Humidity tendency by cumulus convection kg kg**-1
|
||||||
|
226 226 HTLC Humidity tendency by large-scale condensation kg kg**-1
|
||||||
|
227 227 CRNH Change from removal of negative humidity kg kg**-1
|
||||||
|
228 228 TP Total precipitation m
|
||||||
|
229 229 IEWS Instantaneous X surface stress N m**-2
|
||||||
|
230 230 INSS Instantaneous Y surface stress N m**-2
|
||||||
|
231 231 ISHF Instantaneous surface heat flux W m**-2
|
||||||
|
232 232 IE Instantaneous moisture flux kg m**-2 s
|
||||||
|
233 233 ASQ Apparent surface humidity kg kg**-1
|
||||||
|
234 234 LSRH Logarithm of surface roughness length for heat
|
||||||
|
235 235 SKT Skin temperature K
|
||||||
|
236 236 STL4 Soil temperature level 4 K
|
||||||
|
237 237 SWL4 Soil wetness level 4 m
|
||||||
|
238 238 TSN Temperature of snow layer K
|
||||||
|
239 239 CSF Convective snowfall m of water equivalent
|
||||||
|
240 240 LSF Large-scale snowfall m of water equivalent
|
||||||
|
241 241 ACF Accumulated cloud fraction tendency (-1 to 1)
|
||||||
|
242 242 ALW Accumulated liquid water tendency (-1 to 1)
|
||||||
|
243 243 FAL Forecast albedo (0 - 1)
|
||||||
|
244 244 FSR Forecast surface roughness m
|
||||||
|
245 245 FLSR Forecast logarithm of surface roughness for heat
|
||||||
|
246 246 CLWC Cloud liquid water content kg kg**-1
|
||||||
|
247 247 CIWC Cloud ice water content kg kg**-1
|
||||||
|
248 248 CC Cloud cover (0 - 1)
|
||||||
|
249 249 AIW Accumulated ice water tendency (-1 to 1)
|
||||||
|
250 250 ICE Ice age (0 - 1)
|
||||||
|
251 251 ATTE Adiabatic tendency of temperature K
|
||||||
|
252 252 ATHE Adiabatic tendency of humidity kg kg**-1
|
||||||
|
253 253 ATZE Adiabatic tendency of zonal wind m s**-1
|
||||||
|
254 254 ATMW Adiabatic tendency of meridional wind m s**-1
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,256 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 PRES Pressure [hPa]
|
||||||
|
2 2 psnm Pressure reduced to MSL [hPa]
|
||||||
|
3 3 tsps Pressure tendency [Pa/s]
|
||||||
|
4 4 var4 undefined
|
||||||
|
5 5 var5 undefined
|
||||||
|
6 6 geop Geopotential [dam]
|
||||||
|
7 7 zgeo Geopotential height [gpm]
|
||||||
|
8 8 gzge Geometric height [m]
|
||||||
|
9 9 var9 undefined
|
||||||
|
10 10 var10 undefined
|
||||||
|
11 11 temp ABSOLUTE TEMPERATURE [K]
|
||||||
|
12 12 vtmp VIRTUAL TEMPERATURE [K]
|
||||||
|
13 13 ptmp POTENTIAL TEMPERATURE [K]
|
||||||
|
14 14 psat PSEUDO-ADIABATIC POTENTIAL TEMPERATURE [K]
|
||||||
|
15 15 mxtp MAXIMUM TEMPERATURE [K]
|
||||||
|
16 16 mntp MINIMUM TEMPERATURE [K]
|
||||||
|
17 17 tpor DEW POINT TEMPERATURE [K]
|
||||||
|
18 18 dptd DEW POINT DEPRESSION [K]
|
||||||
|
19 19 lpsr LAPSE RATE [K/m]
|
||||||
|
20 20 var20 undefined
|
||||||
|
21 21 rds1 RADAR SPECTRA(1) [non-dim]
|
||||||
|
22 22 rds2 RADAR SPECTRA(2) [non-dim]
|
||||||
|
23 23 rds3 RADAR SPECTRA(3) [non-dim]
|
||||||
|
24 24 var24 undefined
|
||||||
|
25 25 tpan TEMPERATURE ANOMALY [K]
|
||||||
|
26 26 psan PRESSURE ANOMALY [Pa hPa]
|
||||||
|
27 27 zgan GEOPOT HEIGHT ANOMALY [m]
|
||||||
|
28 28 wvs1 WAVE SPECTRA(1) [non-dim]
|
||||||
|
29 29 wvs2 WAVE SPECTRA(2) [non-dim]
|
||||||
|
30 30 wvs3 WAVE SPECTRA(3) [non-dim]
|
||||||
|
31 31 wind WIND DIRECTION [deg]
|
||||||
|
32 32 wins WIND SPEED [m/s]
|
||||||
|
33 33 uvel ZONAL WIND (U) [m/s]
|
||||||
|
34 34 vvel MERIDIONAL WIND (V) [m/s]
|
||||||
|
35 35 fcor STREAM FUNCTION [m2/s]
|
||||||
|
36 36 potv VELOCITY POTENTIAL [m2/s]
|
||||||
|
37 37 var37 undefined
|
||||||
|
38 38 sgvv SIGMA COORD VERT VEL [sec/sec]
|
||||||
|
39 39 omeg OMEGA [Pa/s]
|
||||||
|
40 40 omg2 VERTICAL VELOCITY [m/s]
|
||||||
|
41 41 abvo ABSOLUTE VORTICITY [10**5/sec]
|
||||||
|
42 42 abdv ABSOLUTE DIVERGENCE [10**5/sec]
|
||||||
|
43 43 vort VORTICITY [1/s]
|
||||||
|
44 44 divg DIVERGENCE [1/s]
|
||||||
|
45 45 vucs VERTICAL U-COMP SHEAR [1/sec]
|
||||||
|
46 46 vvcs VERT V-COMP SHEAR [1/sec]
|
||||||
|
47 47 dirc DIRECTION OF CURRENT [deg]
|
||||||
|
48 48 spdc SPEED OF CURRENT [m/s]
|
||||||
|
49 49 ucpc U-COMPONENT OF CURRENT [m/s]
|
||||||
|
50 50 vcpc V-COMPONENT OF CURRENT [m/s]
|
||||||
|
51 51 umes SPECIFIC HUMIDITY [kg/kg]
|
||||||
|
52 52 umrl RELATIVE HUMIDITY [no Dim]
|
||||||
|
53 53 hmxr HUMIDITY MIXING RATIO [kg/kg]
|
||||||
|
54 54 agpl INST. PRECIPITABLE WATER [Kg/m2]
|
||||||
|
55 55 vapp VAPOUR PRESSURE [Pa hpa]
|
||||||
|
56 56 sadf SATURATION DEFICIT [Pa hPa]
|
||||||
|
57 57 evap EVAPORATION [Kg/m2/day]
|
||||||
|
58 58 var58 undefined
|
||||||
|
59 59 prcr PRECIPITATION RATE [kg/m2/day]
|
||||||
|
60 60 thpb THUNDER PROBABILITY [%]
|
||||||
|
61 61 prec TOTAL PRECIPITATION [Kg/m2/day]
|
||||||
|
62 62 prge LARGE SCALE PRECIPITATION [Kg/m2/day]
|
||||||
|
63 63 prcv CONVECTIVE PRECIPITATION [Kg/m2/day]
|
||||||
|
64 64 neve SNOWFALL [Kg/m2/day]
|
||||||
|
65 65 wenv WAT EQUIV ACC SNOW DEPTH [kg/m2]
|
||||||
|
66 66 nvde SNOW DEPTH [cm]
|
||||||
|
67 67 mxld MIXED LAYER DEPTH [m cm]
|
||||||
|
68 68 tthd TRANS THERMOCLINE DEPTH [m cm]
|
||||||
|
69 69 mthd MAIN THERMOCLINE DEPTH [m cm]
|
||||||
|
70 70 mtha MAIN THERMOCLINE ANOM [m cm]
|
||||||
|
71 71 cbnv CLOUD COVER [0-1]
|
||||||
|
72 72 cvnv CONVECTIVE CLOUD COVER [0-1]
|
||||||
|
73 73 lwnv LOW CLOUD COVER [0-1]
|
||||||
|
74 74 mdnv MEDIUM CLOUD COVER [0-1]
|
||||||
|
75 75 hinv HIGH CLOUD COVER [0-1]
|
||||||
|
76 76 wtnv CLOUD WATER [kg/m2]
|
||||||
|
77 77 bli BEST LIFTED INDEX (TO 500 HPA) [K]
|
||||||
|
78 78 var78 undefined
|
||||||
|
79 79 var79 undefined
|
||||||
|
80 80 var80 undefined
|
||||||
|
81 81 lsmk LAND SEA MASK [0,1]
|
||||||
|
82 82 dslm DEV SEA_LEV FROM MEAN [m]
|
||||||
|
83 83 zorl ROUGHNESS LENGTH [m]
|
||||||
|
84 84 albe ALBEDO [%]
|
||||||
|
85 85 dstp DEEP SOIL TEMPERATURE [K]
|
||||||
|
86 86 soic SOIL MOISTURE CONTENT [Kg/m2]
|
||||||
|
87 87 vege VEGETATION [%]
|
||||||
|
88 88 var88 undefined
|
||||||
|
89 89 dens DENSITY [kg/m3]
|
||||||
|
90 90 var90 Undefined
|
||||||
|
91 91 icec ICE CONCENTRATION [fraction]
|
||||||
|
92 92 icet ICE THICKNESS [m]
|
||||||
|
93 93 iced DIRECTION OF ICE DRIFT [deg]
|
||||||
|
94 94 ices SPEED OF ICE DRIFT [m/s]
|
||||||
|
95 95 iceu U-COMP OF ICE DRIFT [m/s]
|
||||||
|
96 96 icev V-COMP OF ICE DRIFT [m/s]
|
||||||
|
97 97 iceg ICE GROWTH [m]
|
||||||
|
98 98 icdv ICE DIVERGENCE [sec/sec]
|
||||||
|
99 99 var99 undefined
|
||||||
|
100 100 shcw SIG HGT COM WAVE/SWELL [m]
|
||||||
|
101 101 wwdi DIRECTION OF WIND WAVE [deg]
|
||||||
|
102 102 wwsh SIG HGHT OF WIND WAVES [m]
|
||||||
|
103 103 wwmp MEAN PERIOD WIND WAVES [sec]
|
||||||
|
104 104 swdi DIRECTION OF SWELL WAVE [deg]
|
||||||
|
105 105 swsh SIG HEIGHT SWELL WAVES [m]
|
||||||
|
106 106 swmp MEAN PERIOD SWELL WAVES [sec]
|
||||||
|
107 107 prwd PRIMARY WAVE DIRECTION [deg]
|
||||||
|
108 108 prmp PRIM WAVE MEAN PERIOD [s]
|
||||||
|
109 109 swdi SECOND WAVE DIRECTION [deg]
|
||||||
|
110 110 swmp SECOND WAVE MEAN PERIOD [s]
|
||||||
|
111 111 ocas SHORT WAVE ABSORBED AT GROUND [W/m2]
|
||||||
|
112 112 slds NET LONG WAVE AT BOTTOM [W/m2]
|
||||||
|
113 113 nswr NET SHORT-WAV RAD(TOP) [W/m2]
|
||||||
|
114 114 role OUTGOING LONG WAVE AT TOP [W/m2]
|
||||||
|
115 115 lwrd LONG-WAV RAD [W/m2]
|
||||||
|
116 116 swea SHORT WAVE ABSORBED BY EARTH/ATMOSPHERE [W/m2]
|
||||||
|
117 117 glbr GLOBAL RADIATION [W/m2 ]
|
||||||
|
118 118 var118 undefined
|
||||||
|
119 119 var119 undefined
|
||||||
|
120 120 var120 undefined
|
||||||
|
121 121 clsf LATENT HEAT FLUX FROM SURFACE [W/m2]
|
||||||
|
122 122 cssf SENSIBLE HEAT FLUX FROM SURFACE [W/m2]
|
||||||
|
123 123 blds BOUND LAYER DISSIPATION [W/m2]
|
||||||
|
124 124 var124 undefined
|
||||||
|
125 125 var125 undefined
|
||||||
|
126 126 var126 undefined
|
||||||
|
127 127 imag IMAGE [image^data]
|
||||||
|
128 128 tp2m 2 METRE TEMPERATURE [K]
|
||||||
|
129 129 dp2m 2 METRE DEWPOINT TEMPERATURE [K]
|
||||||
|
130 130 u10m 10 METRE U-WIND COMPONENT [m/s]
|
||||||
|
131 131 v10m 10 METRE V-WIND COMPONENT [m/s]
|
||||||
|
132 132 topo TOPOGRAPHY [m]
|
||||||
|
133 133 gsfp GEOMETRIC MEAN SURFACE PRESSURE [hPa]
|
||||||
|
134 134 lnsp LN SURFACE PRESSURE [hPa]
|
||||||
|
135 135 pslc SURFACE PRESSURE [hPa]
|
||||||
|
136 136 pslm M S L PRESSURE (MESINGER METHOD) [hPa]
|
||||||
|
137 137 mask MASK [-/+]
|
||||||
|
138 138 mxwu MAXIMUM U-WIND [m/s]
|
||||||
|
139 139 mxwv MAXIMUM V-WIND [m/s]
|
||||||
|
140 140 cape CONVECTIVE AVAIL. POT.ENERGY [m2/s2]
|
||||||
|
141 141 cine CONVECTIVE INHIB. ENERGY [m2/s2]
|
||||||
|
142 142 lhcv CONVECTIVE LATENT HEATING [K/s]
|
||||||
|
143 143 mscv CONVECTIVE MOISTURE SOURCE [1/s]
|
||||||
|
144 144 scvm SHALLOW CONV. MOISTURE SOURCE [1/s]
|
||||||
|
145 145 scvh SHALLOW CONVECTIVE HEATING [K/s]
|
||||||
|
146 146 mxwp MAXIMUM WIND PRESS. LVL [hPa]
|
||||||
|
147 147 ustr STORM MOTION U-COMPONENT [m/s]
|
||||||
|
148 148 vstr STORM MOTION V-COMPONENT [m/s]
|
||||||
|
149 149 cbnt MEAN CLOUD COVER [0-1]
|
||||||
|
150 150 pcbs PRESSURE AT CLOUD BASE [hPa]
|
||||||
|
151 151 pctp PRESSURE AT CLOUD TOP [hPa]
|
||||||
|
152 152 fzht FREEZING LEVEL HEIGHT [m]
|
||||||
|
153 153 fzrh FREEZING LEVEL RELATIVE HUMIDITY [%]
|
||||||
|
154 154 fdlt FLIGHT LEVELS TEMPERATURE [K]
|
||||||
|
155 155 fdlu FLIGHT LEVELS U-WIND [m/s]
|
||||||
|
156 156 fdlv FLIGHT LEVELS V-WIND [m/s]
|
||||||
|
157 157 tppp TROPOPAUSE PRESSURE [hPa]
|
||||||
|
158 158 tppt TROPOPAUSE TEMPERATURE [K]
|
||||||
|
159 159 tppu TROPOPAUSE U-WIND COMPONENT [m/s]
|
||||||
|
160 160 tppv TROPOPAUSE v-WIND COMPONENT [m/s]
|
||||||
|
161 161 var161 undefined
|
||||||
|
162 162 gvdu GRAVITY WAVE DRAG DU/DT [m/s2]
|
||||||
|
163 163 gvdv GRAVITY WAVE DRAG DV/DT [m/s2]
|
||||||
|
164 164 gvus GRAVITY WAVE DRAG SFC ZONAL STRESS [Pa]
|
||||||
|
165 165 gvvs GRAVITY WAVE DRAG SFC MERIDIONAL STRESS [Pa]
|
||||||
|
166 166 var166 undefined
|
||||||
|
167 167 dvsh DIVERGENCE OF SPECIFIC HUMIDITY [1/s]
|
||||||
|
168 168 hmfc HORIZ. MOISTURE FLUX CONV. [1/s]
|
||||||
|
169 169 vmfl VERT. INTEGRATED MOISTURE FLUX CONV. [kg/(m2*s)]
|
||||||
|
170 170 vadv VERTICAL MOISTURE ADVECTION [kg/(kg*s)]
|
||||||
|
171 171 nhcm NEG. HUM. CORR. MOISTURE SOURCE [kg/(kg*s)]
|
||||||
|
172 172 lglh LARGE SCALE LATENT HEATING [K/s]
|
||||||
|
173 173 lgms LARGE SCALE MOISTURE SOURCE [1/s]
|
||||||
|
174 174 smav SOIL MOISTURE AVAILABILITY [0-1]
|
||||||
|
175 175 tgrz SOIL TEMPERATURE OF ROOT ZONE [K]
|
||||||
|
176 176 bslh BARE SOIL LATENT HEAT [Ws/m2]
|
||||||
|
177 177 evpp POTENTIAL SFC EVAPORATION [m]
|
||||||
|
178 178 rnof RUNOFF [kg/m2/s)]
|
||||||
|
179 179 pitp INTERCEPTION LOSS [W/m2]
|
||||||
|
180 180 vpca VAPOR PRESSURE OF CANOPY AIR SPACE [mb]
|
||||||
|
181 181 qsfc SURFACE SPEC HUMIDITY [kg/kg]
|
||||||
|
182 182 ussl SOIL WETNESS OF SURFACE [0-1]
|
||||||
|
183 183 uzrs SOIL WETNESS OF ROOT ZONE [0-1]
|
||||||
|
184 184 uzds SOIL WETNESS OF DRAINAGE ZONE [0-1]
|
||||||
|
185 185 amdl STORAGE ON CANOPY [m]
|
||||||
|
186 186 amsl STORAGE ON GROUND [m]
|
||||||
|
187 187 tsfc SURFACE TEMPERATURE [K]
|
||||||
|
188 188 tems SURFACE ABSOLUTE TEMPERATURE [K]
|
||||||
|
189 189 tcas TEMPERATURE OF CANOPY AIR SPACE [K]
|
||||||
|
190 190 ctmp TEMPERATURE AT CANOPY [K]
|
||||||
|
191 191 tgsc GROUND/SURFACE COVER TEMPERATURE [K]
|
||||||
|
192 192 uves SURFACE ZONAL WIND (U) [m/s]
|
||||||
|
193 193 usst SURFACE ZONAL WIND STRESS [Pa]
|
||||||
|
194 194 vves SURFACE MERIDIONAL WIND (V) [m/s]
|
||||||
|
195 195 vsst SURFACE MERIDIONAL WIND STRESS [Pa]
|
||||||
|
196 196 suvf SURFACE MOMENTUM FLUX [W/m2]
|
||||||
|
197 197 iswf INCIDENT SHORT WAVE FLUX [W/m2]
|
||||||
|
198 198 ghfl TIME AVE GROUND HT FLX [W/m2]
|
||||||
|
199 199 var199 undefined
|
||||||
|
200 200 lwbc NET LONG WAVE AT BOTTOM (CLEAR) [W/m2]
|
||||||
|
201 201 lwtc OUTGOING LONG WAVE AT TOP (CLEAR) [W/m2]
|
||||||
|
202 202 swec SHORT WV ABSRBD BY EARTH/ATMOS (CLEAR) [W/m2]
|
||||||
|
203 203 ocac SHORT WAVE ABSORBED AT GROUND (CLEAR) [W/m2]
|
||||||
|
204 204 var204 undefined
|
||||||
|
205 205 lwrh LONG WAVE RADIATIVE HEATING [K/s]
|
||||||
|
206 206 swrh SHORT WAVE RADIATIVE HEATING [K/s]
|
||||||
|
207 207 olis DOWNWARD LONG WAVE AT BOTTOM [W/m2]
|
||||||
|
208 208 olic DOWNWARD LONG WAVE AT BOTTOM (CLEAR) [W/m2]
|
||||||
|
209 209 ocis DOWNWARD SHORT WAVE AT GROUND [W/m2]
|
||||||
|
210 210 ocic DOWNWARD SHORT WAVE AT GROUND (CLEAR) [W/m2]
|
||||||
|
211 211 oles UPWARD LONG WAVE AT BOTTOM [W/m2]
|
||||||
|
212 212 oces UPWARD SHORT WAVE AT GROUND [W/m2]
|
||||||
|
213 213 swgc UPWARD SHORT WAVE AT GROUND (CLEAR) [W/m2]
|
||||||
|
214 214 roce UPWARD SHORT WAVE AT TOP [W/m2]
|
||||||
|
215 215 swtc UPWARD SHORT WAVE AT TOP (CLEAR) [W/m2]
|
||||||
|
216 216 var216 undefined
|
||||||
|
217 217 var217 undefined
|
||||||
|
218 218 hhdf HORIZONTAL HEATING DIFFUSION [K/s]
|
||||||
|
219 219 hmdf HORIZONTAL MOISTURE DIFFUSION [1/s]
|
||||||
|
220 220 hddf HORIZONTAL DIVERGENCE DIFFUSION [1/s2]
|
||||||
|
221 221 hvdf HORIZONTAL VORTICITY DIFFUSION [1/s2]
|
||||||
|
222 222 vdms VERTICAL DIFF. MOISTURE SOURCE [1/s]
|
||||||
|
223 223 vdfu VERTICAL DIFFUSION DU/DT [m/s2]
|
||||||
|
224 224 vdfv VERTICAL DIFFUSION DV/DT [m/s2]
|
||||||
|
225 225 vdfh VERTICAL DIFFUSION HEATING [K/s]
|
||||||
|
226 226 umrs SURFACE RELATIVE HUMIDITY [no Dim]
|
||||||
|
227 227 vdcc VERTICAL DIST TOTAL CLOUD COVER [no Dim]
|
||||||
|
228 228 var228 undefined
|
||||||
|
229 229 var229 undefined
|
||||||
|
230 230 usmt TIME MEAN SURFACE ZONAL WIND (U) [m/s]
|
||||||
|
231 231 vsmt TIME MEAN SURFACE MERIDIONAL WIND (V) [m/s]
|
||||||
|
232 232 tsmt TIME MEAN SURFACE ABSOLUTE TEMPERATURE [K]
|
||||||
|
233 233 rsmt TIME MEAN SURFACE RELATIVE HUMIDITY [no Dim]
|
||||||
|
234 234 atmt TIME MEAN ABSOLUTE TEMPERATURE [K]
|
||||||
|
235 235 stmt TIME MEAN DEEP SOIL TEMPERATURE [K]
|
||||||
|
236 236 ommt TIME MEAN DERIVED OMEGA [Pa/s]
|
||||||
|
237 237 dvmt TIME MEAN DIVERGENCE [1/s]
|
||||||
|
238 238 zhmt TIME MEAN GEOPOTENTIAL HEIGHT [m]
|
||||||
|
239 239 lnmt TIME MEAN LOG SURFACE PRESSURE [ln(cbar)]
|
||||||
|
240 240 mkmt TIME MEAN MASK [-/+]
|
||||||
|
241 241 vvmt TIME MEAN MERIDIONAL WIND (V) [m/s]
|
||||||
|
242 242 omtm TIME MEAN OMEGA [cbar/s]
|
||||||
|
243 243 ptmt TIME MEAN POTENTIAL TEMPERATURE [K]
|
||||||
|
244 244 pcmt TIME MEAN PRECIP. WATER [kg/m2]
|
||||||
|
245 245 rhmt TIME MEAN RELATIVE HUMIDITY [%]
|
||||||
|
246 246 mpmt TIME MEAN SEA LEVEL PRESSURE [hPa]
|
||||||
|
247 247 simt TIME MEAN SIGMADOT [1/s]
|
||||||
|
248 248 uemt TIME MEAN SPECIFIC HUMIDITY [kg/kg]
|
||||||
|
249 249 fcmt TIME MEAN STREAM FUNCTION| m2/s]
|
||||||
|
250 250 psmt TIME MEAN SURFACE PRESSURE [hPa]
|
||||||
|
251 251 tmmt TIME MEAN SURFACE TEMPERATURE [K]
|
||||||
|
252 252 pvmt TIME MEAN VELOCITY POTENTIAL [m2/s]
|
||||||
|
253 253 tvmt TIME MEAN VIRTUAL TEMPERATURE [K]
|
||||||
|
254 254 vtmt TIME MEAN VORTICITY [1/s]
|
||||||
|
255 255 uvmt TIME MEAN ZONAL WIND (U) [m/s]
|
|
@ -0,0 +1,255 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 strf Stream function (m**2 s**-1)
|
||||||
|
2 vpot Velocity potential (m**2 s**-1)
|
||||||
|
3 pt Potential temperature (K)
|
||||||
|
4 eqpt Equivalent potential temperature (K)
|
||||||
|
5 sept Saturated equivalent potential temperature (K)
|
||||||
|
6 ssfr Soil sand fraction ((0 - 1))
|
||||||
|
7 scfr Soil clay fraction ((0 - 1))
|
||||||
|
8 sro Surface runoff (m)
|
||||||
|
9 ssro Sub-surface runoff (m)
|
||||||
|
10 wind Wind speed (m s**-1)
|
||||||
|
11 udvw U component of divergent wind (m s**-1)
|
||||||
|
12 vdvw V component of divergent wind (m s**-1)
|
||||||
|
13 urtw U component of rotational wind (m s**-1)
|
||||||
|
14 vrtw V component of rotational wind (m s**-1)
|
||||||
|
15 aluvp UV visible albedo for direct radiation ((0 - 1))
|
||||||
|
16 aluvd UV visible albedo for diffuse radiation ((0 - 1))
|
||||||
|
17 alnip Near IR albedo for direct radiation ((0 - 1))
|
||||||
|
18 alnid Near IR albedo for diffuse radiation ((0 - 1))
|
||||||
|
19 uvcs Clear sky surface UV (W m**-2 s)
|
||||||
|
20 parcs Clear sky surface photosynthetically active radiation (W m**-2 s)
|
||||||
|
21 uctp Unbalanced component of temperature (K)
|
||||||
|
22 ucln Unbalanced component of logarithm of surface pressure ()
|
||||||
|
23 ucdv Unbalanced component of divergence (s**-1)
|
||||||
|
24 - Reserved for future unbalanced components ()
|
||||||
|
25 - Reserved for future unbalanced components ()
|
||||||
|
26 cl Lake cover ((0 - 1))
|
||||||
|
27 cvl Low vegetation cover ((0 - 1))
|
||||||
|
28 cvh High vegetation cover ((0 - 1))
|
||||||
|
29 tvl Type of low vegetation ()
|
||||||
|
30 tvh Type of high vegetation ()
|
||||||
|
31 ci Sea-ice cover ((0 - 1))
|
||||||
|
32 asn Snow albedo ((0 - 1))
|
||||||
|
33 rsn Snow density (kg m**-3)
|
||||||
|
34 sstk Sea surface temperature (K)
|
||||||
|
35 istl1 Ice surface temperature layer 1 (K)
|
||||||
|
36 istl2 Ice surface temperature layer 2 (K)
|
||||||
|
37 istl3 Ice surface temperature layer 3 (K)
|
||||||
|
38 istl4 Ice surface temperature layer 4 (K)
|
||||||
|
39 swvl1 Volumetric soil water layer 1 (m**3 m**-3)
|
||||||
|
40 swvl2 Volumetric soil water layer 2 (m**3 m**-3)
|
||||||
|
41 swvl3 Volumetric soil water layer 3 (m**3 m**-3)
|
||||||
|
42 swvl4 Volumetric soil water layer 4 (m**3 m**-3)
|
||||||
|
43 slt Soil type ()
|
||||||
|
44 es Snow evaporation (m of water)
|
||||||
|
45 smlt Snowmelt (m of water)
|
||||||
|
46 sdur Solar duration (s)
|
||||||
|
47 dsrp Direct solar radiation (w m**-2)
|
||||||
|
48 magss Magnitude of surface stress (N m**-2 s)
|
||||||
|
49 10fg 10 metre wind gust (m s**-1)
|
||||||
|
50 lspf Large-scale precipitation fraction (s)
|
||||||
|
51 mx2t24 Maximum temperature at 2 metres since last 24 hours (K)
|
||||||
|
52 mn2t24 Minimum temperature at 2 metres since last 24 hours (K)
|
||||||
|
53 mont Montgomery potential (m**2 s**-2)
|
||||||
|
54 pres Pressure (Pa)
|
||||||
|
55 mean2t24 Mean temperature at 2 metres since last 24 hours (K)
|
||||||
|
56 mn2d24 Mean 2 metre dewpoint temperature in past 24 hours (K)
|
||||||
|
57 uvb Downward UV radiation at the surface (w m**-2 s)
|
||||||
|
58 par Photosynthetically active radiation at the surface (w m**-2 s)
|
||||||
|
59 cape Convective available potential energy (J kg**-1)
|
||||||
|
60 pv Potential vorticity (K m**2 kg**-1 s**-1)
|
||||||
|
62 obct Observation count ()
|
||||||
|
63 - Start time for skin temperature difference (s)
|
||||||
|
64 - Finish time for skin temperature difference (s)
|
||||||
|
65 - Skin temperature difference (K)
|
||||||
|
66 - Leaf area index, low vegetation (m**2 / m**2)
|
||||||
|
67 - Leaf area index, high vegetation (m**2 / m**2)
|
||||||
|
68 - Minimum stomatal resistance, low vegetation (s m**-1)
|
||||||
|
69 - Minimum stomatal resistance, high vegetation (s m**-1)
|
||||||
|
70 - Biome cover, low vegetation ((0 - 1))
|
||||||
|
71 - Biome cover, high vegetation ((0 - 1))
|
||||||
|
72 issrd Instantaneous surface solar radiation downwards (w m**-2)
|
||||||
|
73 istrd Instantaneous surface thermal radiation downwards (w m**-2)
|
||||||
|
74 sdfor Standard deviation of filtered subgrid orography (m)
|
||||||
|
75 crwc Cloud rain water content (kg kg**-1)
|
||||||
|
76 cswc Cloud snow water content (kg kg**-1)
|
||||||
|
77 etadot Eta-coordinate vertical velocity (s**-1)
|
||||||
|
78 tclw Total column liquid water (kg m**-2)
|
||||||
|
79 tciw Total column ice water (kg m**-2)
|
||||||
|
80 - Experimental product ()
|
||||||
|
81 - Experimental product ()
|
||||||
|
82 - Experimental product ()
|
||||||
|
83 - Experimental product ()
|
||||||
|
84 - Experimental product ()
|
||||||
|
85 - Experimental product ()
|
||||||
|
86 - Experimental product ()
|
||||||
|
87 - Experimental product ()
|
||||||
|
88 - Experimental product ()
|
||||||
|
89 - Experimental product ()
|
||||||
|
90 - Experimental product ()
|
||||||
|
91 - Experimental product ()
|
||||||
|
92 - Experimental product ()
|
||||||
|
93 - Experimental product ()
|
||||||
|
94 - Experimental product ()
|
||||||
|
95 - Experimental product ()
|
||||||
|
96 - Experimental product ()
|
||||||
|
97 - Experimental product ()
|
||||||
|
98 - Experimental product ()
|
||||||
|
99 - Experimental product ()
|
||||||
|
100 - Experimental product ()
|
||||||
|
101 - Experimental product ()
|
||||||
|
102 - Experimental product ()
|
||||||
|
103 - Experimental product ()
|
||||||
|
104 - Experimental product ()
|
||||||
|
105 - Experimental product ()
|
||||||
|
106 - Experimental product ()
|
||||||
|
107 - Experimental product ()
|
||||||
|
108 - Experimental product ()
|
||||||
|
109 - Experimental product ()
|
||||||
|
110 - Experimental product ()
|
||||||
|
111 - Experimental product ()
|
||||||
|
112 - Experimental product ()
|
||||||
|
113 - Experimental product ()
|
||||||
|
114 - Experimental product ()
|
||||||
|
115 - Experimental product ()
|
||||||
|
116 - Experimental product ()
|
||||||
|
117 - Experimental product ()
|
||||||
|
118 - Experimental product ()
|
||||||
|
119 - Experimental product ()
|
||||||
|
120 - Experimental product ()
|
||||||
|
121 mx2t6 Maximum temperature at 2 metres since last 6 hours (K)
|
||||||
|
122 mn2t6 Minimum temperature at 2 metres since last 6 hours (K)
|
||||||
|
123 10fg6 10 metre wind gust in the past 6 hours (m s**-1)
|
||||||
|
124 emis Surface emissivity (dimensionless)
|
||||||
|
125 - Vertically integrated total energy (J m**-2)
|
||||||
|
126 - Generic parameter for sensitive area prediction (Various)
|
||||||
|
127 at Atmospheric tide ()
|
||||||
|
128 bv Budget values ()
|
||||||
|
129 z Geopotential (m**2 s**-2)
|
||||||
|
130 t Temperature (K)
|
||||||
|
131 u U velocity (m s**-1)
|
||||||
|
132 v V velocity (m s**-1)
|
||||||
|
133 q Specific humidity (kg kg**-1)
|
||||||
|
134 sp Surface pressure (Pa)
|
||||||
|
135 w Vertical velocity (Pa s**-1)
|
||||||
|
136 tcw Total column water (kg m**-2)
|
||||||
|
137 tcwv Total column water vapour (kg m**-2)
|
||||||
|
138 vo Vorticity (relative) (s**-1)
|
||||||
|
139 stl1 Soil temperature level 1 (K)
|
||||||
|
140 swl1 Soil wetness level 1 (m of water)
|
||||||
|
141 sd Snow depth (m of water equivalent)
|
||||||
|
142 lsp Stratiform precipitation (Large-scale precipitation) (m)
|
||||||
|
143 cp Convective precipitation (m)
|
||||||
|
144 sf Snowfall (m of water equivalent)
|
||||||
|
145 bld Boundary layer dissipation (W m**-2 s)
|
||||||
|
146 sshf Surface sensible heat flux (W m**-2 s)
|
||||||
|
147 slhf Surface latent heat flux (W m**-2 s)
|
||||||
|
148 chnk Charnock ()
|
||||||
|
149 snr Surface net radiation (W m**-2 s)
|
||||||
|
150 tnr Top net radiation ()
|
||||||
|
151 msl Mean sea level pressure (Pa)
|
||||||
|
152 lnsp Logarithm of surface pressure ()
|
||||||
|
153 swhr Short-wave heating rate (K)
|
||||||
|
154 lwhr Long-wave heating rate (K)
|
||||||
|
155 d Divergence (s**-1)
|
||||||
|
156 gh Gepotential Height (gpm)
|
||||||
|
157 r Relative humidity (%)
|
||||||
|
158 tsp Tendency of surface pressure (Pa s**-1)
|
||||||
|
159 blh Boundary layer height (m)
|
||||||
|
160 sdor Standard deviation of orography ()
|
||||||
|
161 isor Anisotropy of sub-gridscale orography ()
|
||||||
|
162 anor Angle of sub-gridscale orography (rad)
|
||||||
|
163 slor Slope of sub-gridscale orography ()
|
||||||
|
164 tcc Total cloud cover ((0 - 1))
|
||||||
|
165 10u 10 metre U wind component (m s**-1)
|
||||||
|
166 10v 10 metre V wind component (m s**-1)
|
||||||
|
167 2t 2 metre temperature (K)
|
||||||
|
168 2d 2 metre dewpoint temperature (K)
|
||||||
|
169 ssrd Surface solar radiation downwards (W m**-2 s)
|
||||||
|
170 stl2 Soil temperature level 2 (K)
|
||||||
|
171 swl2 Soil wetness level 2 (m of water)
|
||||||
|
172 lsm Land-sea mask ((0 - 1))
|
||||||
|
173 sr Surface roughness (m)
|
||||||
|
174 al Albedo ((0 - 1))
|
||||||
|
175 strd Surface thermal radiation downwards (W m**-2 s)
|
||||||
|
176 ssr Surface solar radiation (W m**-2 s)
|
||||||
|
177 str Surface thermal radiation (W m**-2 s)
|
||||||
|
178 tsr Top solar radiation (W m**-2 s)
|
||||||
|
179 ttr Top thermal radiation (W m**-2 s)
|
||||||
|
180 ewss East-West surface stress (N m**-2 s)
|
||||||
|
181 nsss North-South surface stress (N m**-2 s)
|
||||||
|
182 e Evaporation (m of water)
|
||||||
|
183 stl3 Soil temperature level 3 (K)
|
||||||
|
184 swl3 Soil wetness level 3 (m of water)
|
||||||
|
185 ccc Convective cloud cover ((0 - 1))
|
||||||
|
186 lcc Low cloud cover ((0 - 1))
|
||||||
|
187 mcc Medium cloud cover ((0 - 1))
|
||||||
|
188 hcc High cloud cover ((0 - 1))
|
||||||
|
189 sund Sunshine duration (s)
|
||||||
|
190 ewov East-West component of sub-gridscale orographic variance (m**2)
|
||||||
|
191 nsov North-South component of sub-gridscale orographic variance (m**2)
|
||||||
|
192 nwov North-West/South-East component of sub-gridscale orographic variance (m**2)
|
||||||
|
193 neov North-East/South-West component of sub-gridscale orographic variance (m**2)
|
||||||
|
194 btmp Brightness temperature (K)
|
||||||
|
195 lgws Latitudinal component of gravity wave stress (N m**-2 s)
|
||||||
|
196 mgws Meridional component of gravity wave stress (N m**-2 s)
|
||||||
|
197 gwd Gravity wave dissipation (W m**-2 s)
|
||||||
|
198 src Skin reservoir content (m of water)
|
||||||
|
199 veg Vegetation fraction ((0 - 1))
|
||||||
|
200 vso Variance of sub-gridscale orography (m**2)
|
||||||
|
201 mx2t Maximum temperature at 2 metres since previous post-processing (K)
|
||||||
|
202 mn2t Minimum temperature at 2 metres since previous post-processing (K)
|
||||||
|
203 o3 Ozone mass mixing ratio (kg kg**-1)
|
||||||
|
204 paw Precipitation analysis weights ()
|
||||||
|
205 ro Runoff (m)
|
||||||
|
206 tco3 Total column ozone (kg m**-2)
|
||||||
|
207 10si 10 metre wind speed (m s**-1)
|
||||||
|
208 tsrc Top net solar radiation, clear sky (W m**-2 s)
|
||||||
|
209 ttrc Top net thermal radiation, clear sky (W m**-2 s)
|
||||||
|
210 ssrc Surface net solar radiation, clear sky (W m**-2 s)
|
||||||
|
211 strc Surface net thermal radiation, clear sky (W m**-2 s)
|
||||||
|
212 tisr TOA incident solar radiation (W m**-2 s)
|
||||||
|
213 vimd Vertically integrated moisture divergence (kg m**-2)
|
||||||
|
214 dhr Diabatic heating by radiation (K)
|
||||||
|
215 dhvd Diabatic heating by vertical diffusion (K)
|
||||||
|
216 dhcc Diabatic heating by cumulus convection (K)
|
||||||
|
217 dhlc Diabatic heating large-scale condensation (K)
|
||||||
|
218 vdzw Vertical diffusion of zonal wind (m s**-1)
|
||||||
|
219 vdmw Vertical diffusion of meridional wind (m s**-1)
|
||||||
|
220 ewgd East-West gravity wave drag tendency (m s**-1)
|
||||||
|
221 nsgd North-South gravity wave drag tendency (m s**-1)
|
||||||
|
222 ctzw Convective tendency of zonal wind (m s**-1)
|
||||||
|
223 ctmw Convective tendency of meridional wind (m s**-1)
|
||||||
|
224 vdh Vertical diffusion of humidity (kg kg**-1)
|
||||||
|
225 htcc Humidity tendency by cumulus convection (kg kg**-1)
|
||||||
|
226 htlc Humidity tendency by large-scale condensation (kg kg**-1)
|
||||||
|
227 crnh Change from removal of negative humidity (kg kg**-1)
|
||||||
|
228 tp Total precipitation (m)
|
||||||
|
229 iews Instantaneous X surface stress (N m**-2)
|
||||||
|
230 inss Instantaneous Y surface stress (N m**-2)
|
||||||
|
231 ishf Instantaneous surface heat flux (W m**-2)
|
||||||
|
232 ie Instantaneous moisture flux (kg m**-2 s**-1)
|
||||||
|
233 asq Apparent surface humidity (kg kg**-1)
|
||||||
|
234 lsrh Logarithm of surface roughness length for heat ()
|
||||||
|
235 skt Skin temperature (K)
|
||||||
|
236 stl4 Soil temperature level 4 (K)
|
||||||
|
237 swl4 Soil wetness level 4 (m)
|
||||||
|
238 tsn Temperature of snow layer (K)
|
||||||
|
239 csf Convective snowfall (m of water equivalent)
|
||||||
|
240 lsf Large-scale snowfall (m of water equivalent)
|
||||||
|
241 acf Accumulated cloud fraction tendency ((-1 to 1))
|
||||||
|
242 alw Accumulated liquid water tendency ((-1 to 1))
|
||||||
|
243 fal Forecast albedo ((0 - 1))
|
||||||
|
244 fsr Forecast surface roughness (m)
|
||||||
|
245 flsr Forecast logarithm of surface roughness for heat ()
|
||||||
|
246 clwc Cloud liquid water content (kg kg**-1)
|
||||||
|
247 ciwc Cloud ice water content (kg kg**-1)
|
||||||
|
248 cc Cloud cover ((0 - 1))
|
||||||
|
249 aiw Accumulated ice water tendency ((-1 to 1))
|
||||||
|
250 ice Ice age ((0 - 1))
|
||||||
|
251 atte Adiabatic tendency of temperature (K)
|
||||||
|
252 athe Adiabatic tendency of humidity (kg kg**-1)
|
||||||
|
253 atze Adiabatic tendency of zonal wind (m s**-1)
|
||||||
|
254 atmw Adiabatic tendency of meridional wind (m s**-1)
|
||||||
|
255 - Indicates a missing value ()
|
|
@ -0,0 +1,237 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 STRF Stream function gradient (m**2 s**-1)
|
||||||
|
2 2 VPOT Velocity potential gradient (m**2 s**-1)
|
||||||
|
3 3 PT Potential temperature gradient (K)
|
||||||
|
4 4 EQPT Equivalent potential temperature gradient (K)
|
||||||
|
5 5 SEPT Saturated equivalent potential temperature gradient (K)
|
||||||
|
11 11 UDVW U component of divergent wind gradient (m s**-1)
|
||||||
|
12 12 VDVW V component of divergent wind gradient (m s**-1)
|
||||||
|
13 13 URTW U component of rotational wind gradient (m s**-1)
|
||||||
|
14 14 VRTW V component of rotational wind gradient (m s**-1)
|
||||||
|
21 21 UCTP Unbalanced component of temperature gradient (K)
|
||||||
|
22 22 UCLN Unbalanced component of logarithm of surface pressure gradient
|
||||||
|
23 23 UCDV Unbalanced component of divergence gradient (s**-1)
|
||||||
|
24 24 - Reserved for future unbalanced components
|
||||||
|
25 25 - Reserved for future unbalanced components
|
||||||
|
26 26 CL Lake cover gradient (0 - 1)
|
||||||
|
27 27 CVL Low vegetation cover gradient (0 - 1)
|
||||||
|
28 28 CVH High vegetation cover gradient (0 - 1)
|
||||||
|
29 29 TVL Type of low vegetation gradient
|
||||||
|
30 30 TVH Type of high vegetation gradient
|
||||||
|
31 31 CI Sea-ice cover gradient (0 - 1)
|
||||||
|
32 32 ASN Snow albedo gradient (0 - 1)
|
||||||
|
33 33 RSN Snow density gradient (kg m**-3)
|
||||||
|
34 34 SSTK Sea surface temperature gradient K
|
||||||
|
35 35 ISTL1 Ice surface temperature layer 1 gradient K
|
||||||
|
36 36 ISTL2 Ice surface temperature layer 2 gradient K
|
||||||
|
37 37 ISTL3 Ice surface temperature layer 3 gradient K
|
||||||
|
38 38 ISTL4 Ice surface temperature layer 4 gradient K
|
||||||
|
39 39 SWVL1 Volumetric soil water layer 1 gradient (m**3 m**-3)
|
||||||
|
40 40 SWVL2 Volumetric soil water layer 2 gradient (m**3 m**-3)
|
||||||
|
41 41 SWVL3 Volumetric soil water layer 3 gradient (m**3 m**-3)
|
||||||
|
42 42 SWVL4 Volumetric soil water layer 4 gradient (m**3 m**-3)
|
||||||
|
43 43 SLT Soil type gradient
|
||||||
|
44 44 ES Snow evaporation gradient (kg m**-2)
|
||||||
|
45 45 SMLT Snowmelt gradient (kg m**-2)
|
||||||
|
46 46 SDUR Solar duration gradient s
|
||||||
|
47 47 DSRP Direct solar radiation gradient (J m**-2)
|
||||||
|
48 48 MAGSS Magnitude of surface stress gradient (N m**-2 s)
|
||||||
|
49 49 10FG 10 metre wind gust gradient (m s**-1)
|
||||||
|
50 50 LSPF Large-scale precipitation fraction gradient (s)
|
||||||
|
51 51 MX2T24 Maximum 2 metre temperature gradient (K)
|
||||||
|
52 52 MN2T24 Minimum 2 metre temperature gradient (K)
|
||||||
|
53 53 MONT Montgomery potential gradient (m**2 s**-2)
|
||||||
|
54 54 PRES Pressure gradient (Pa)
|
||||||
|
55 55 MEAN2T24 Mean 2 metre temperature in the last 24 hours gradient (K)
|
||||||
|
56 56 MN2D24 Mean 2 metre dewpoint temperature in the last 24 hours gradient K
|
||||||
|
57 57 UVB Downward UV radiation at the surface gradient (J m**-2)
|
||||||
|
58 58 PAR Photosynthetically active radiation at the surface gradient (J m**-2)
|
||||||
|
59 59 CAPE Convective available potential energy gradient (J kg**-1)
|
||||||
|
60 60 PV Potential vorticity gradient (K m**2 kg**-1 s**-1)
|
||||||
|
61 61 TPO Total precipitation from observations gradient Millimetres*100 + number of stations
|
||||||
|
62 62 OBCT Observation count gradient
|
||||||
|
63 63 - Start time for skin temperature difference (s)
|
||||||
|
64 64 - Finish time for skin temperature difference (s)
|
||||||
|
65 65 - Skin temperature difference (K)
|
||||||
|
66 66 - Leaf area index, low vegetation (m**2 / m**2)
|
||||||
|
67 67 - Leaf area index, high vegetation (m**2 / m**2)
|
||||||
|
68 68 - Minimum stomatal resistance, low vegetation (s m**-1)
|
||||||
|
69 69 - Minimum stomatal resistance, high vegetation (s m**-1)
|
||||||
|
70 70 - Biome cover, low vegetation (0 - 1)
|
||||||
|
71 71 - Biome cover, high vegetation (0 - 1)
|
||||||
|
78 78 - Total column liquid water (kg m**-2)
|
||||||
|
79 79 - Total column ice water (kg m**-2)
|
||||||
|
80 80 - Experimental product
|
||||||
|
81 81 - Experimental product
|
||||||
|
82 82 - Experimental product
|
||||||
|
83 83 - Experimental product
|
||||||
|
84 84 - Experimental product
|
||||||
|
85 85 - Experimental product
|
||||||
|
86 86 - Experimental product
|
||||||
|
87 87 - Experimental product
|
||||||
|
88 88 - Experimental product
|
||||||
|
89 89 - Experimental product
|
||||||
|
90 90 - Experimental product
|
||||||
|
91 91 - Experimental product
|
||||||
|
92 92 - Experimental product
|
||||||
|
93 93 - Experimental product
|
||||||
|
94 94 - Experimental product
|
||||||
|
95 95 - Experimental product
|
||||||
|
96 96 - Experimental product
|
||||||
|
97 97 - Experimental product
|
||||||
|
98 98 - Experimental product
|
||||||
|
99 99 - Experimental product
|
||||||
|
100 100 - Experimental product
|
||||||
|
101 101 - Experimental product
|
||||||
|
102 102 - Experimental product
|
||||||
|
103 103 - Experimental product
|
||||||
|
104 104 - Experimental product
|
||||||
|
105 105 - Experimental product
|
||||||
|
106 106 - Experimental product
|
||||||
|
107 107 - Experimental product
|
||||||
|
108 108 - Experimental product
|
||||||
|
109 109 - Experimental product
|
||||||
|
110 110 - Experimental product
|
||||||
|
111 111 - Experimental product
|
||||||
|
112 112 - Experimental product
|
||||||
|
113 113 - Experimental product
|
||||||
|
114 114 - Experimental product
|
||||||
|
115 115 - Experimental product
|
||||||
|
116 116 - Experimental product
|
||||||
|
117 117 - Experimental product
|
||||||
|
118 118 - Experimental product
|
||||||
|
119 119 - Experimental product
|
||||||
|
120 120 - Experimental product
|
||||||
|
121 121 MX2T6 Maximum temperature at 2 metres gradient (K)
|
||||||
|
122 122 MN2T6 Minimum temperature at 2 metres gradient (K)
|
||||||
|
123 123 10FG6 10 metre wind gust in the last 6 hours gradient (m s**-1)
|
||||||
|
125 125 - Vertically integrated total energy (J m**-2)
|
||||||
|
126 126 - Generic parameter for sensitive area prediction Various
|
||||||
|
127 127 AT Atmospheric tide gradient
|
||||||
|
128 128 BV Budget values gradient
|
||||||
|
129 129 Z Geopotential gradient (m**2 s**-2)
|
||||||
|
130 130 T Temperature gradient (K)
|
||||||
|
131 131 U U component of wind gradient (m s**-1)
|
||||||
|
132 132 V V component of wind gradient (m s**-1)
|
||||||
|
133 133 Q Specific humidity gradient (kg kg**-1)
|
||||||
|
134 134 SP Surface pressure gradient (Pa)
|
||||||
|
135 135 W vertical velocity (pressure) gradient (Pa s**-1)
|
||||||
|
136 136 TCW Total column water gradient (kg m**-2)
|
||||||
|
137 137 TCWV Total column water vapour gradient (kg m**-2)
|
||||||
|
138 138 VO Vorticity (relative) gradient (s**-1)
|
||||||
|
139 139 STL1 Soil temperature level 1 gradient (K)
|
||||||
|
140 140 SWL1 Soil wetness level 1 gradient (kg m**-2)
|
||||||
|
141 141 SD Snow depth gradient (m of water equivalent)
|
||||||
|
142 142 LSP Stratiform precipitation (Large-scale precipitation) gradient (m)
|
||||||
|
143 143 CP Convective precipitation gradient (m)
|
||||||
|
144 144 SF Snowfall (convective + stratiform) gradient m of water equivalent
|
||||||
|
145 145 BLD Boundary layer dissipation gradient (J m**-2)
|
||||||
|
146 146 SSHF Surface sensible heat flux gradient (J m**-2)
|
||||||
|
147 147 SLHF Surface latent heat flux gradient (J m**-2)
|
||||||
|
148 148 CHNK Charnock gradient
|
||||||
|
149 149 SNR Surface net radiation gradient (J m**-2)
|
||||||
|
150 150 TNR Top net radiation gradient
|
||||||
|
151 151 MSL Mean sea level pressure gradient (Pa)
|
||||||
|
152 152 LNSP Logarithm of surface pressure gradient
|
||||||
|
153 153 SWHR Short-wave heating rate gradient (K)
|
||||||
|
154 154 LWHR Long-wave heating rate gradient (K)
|
||||||
|
155 155 D Divergence gradient (s**-1)
|
||||||
|
156 156 GH Height gradient (m)
|
||||||
|
157 157 R Relative humidity gradient (%)
|
||||||
|
158 158 TSP Tendency of surface pressure gradient (Pa s**-1)
|
||||||
|
159 159 BLH Boundary layer height gradient (m)
|
||||||
|
160 160 SDOR Standard deviation of orography gradient
|
||||||
|
161 161 ISOR Anisotropy of sub-gridscale orography gradient
|
||||||
|
162 162 ANOR Angle of sub-gridscale orography gradient
|
||||||
|
163 163 SLOR Slope of sub-gridscale orography gradient
|
||||||
|
164 164 TCC Total cloud cover gradient (0 - 1)
|
||||||
|
165 165 10U 10 metre U wind component gradient (m s**-1)
|
||||||
|
166 166 10V 10 metre V wind component gradient (m s**-1)
|
||||||
|
167 167 2T 2 metre temperature gradient (K)
|
||||||
|
168 168 2D 2 metre dewpoint temperature gradient (K)
|
||||||
|
169 169 SSRD Surface solar radiation downwards gradient (J m**-2)
|
||||||
|
170 170 STL2 Soil temperature level 2 gradient (K)
|
||||||
|
171 171 SWL2 Soil wetness level 2 gradient (kg m**-2)
|
||||||
|
172 172 LSM Land-sea mask gradient (0 - 1)
|
||||||
|
173 173 SR Surface roughness gradient (m)
|
||||||
|
174 174 AL Albedo gradient (0 - 1)
|
||||||
|
175 175 STRD Surface thermal radiation downwards gradient (J m**-2)
|
||||||
|
176 176 SSR Surface solar radiation gradient (J m**-2)
|
||||||
|
177 177 STR Surface thermal radiation gradient (J m**-2)
|
||||||
|
178 178 TSR Top solar radiation gradient (J m**-2)
|
||||||
|
179 179 TTR Top thermal radiation gradient (J m**-2)
|
||||||
|
180 180 EWSS East-West surface stress gradient (N m**-2 s)
|
||||||
|
181 181 NSSS North-South surface stress gradient (N m**-2 s)
|
||||||
|
182 182 E Evaporation gradient (kg m**-2)
|
||||||
|
183 183 STL3 Soil temperature level 3 gradient (K)
|
||||||
|
184 184 SWL3 Soil wetness level 3 gradient (kg m**-2)
|
||||||
|
185 185 CCC Convective cloud cover gradient (0 - 1)
|
||||||
|
186 186 LCC Low cloud cover gradient (0 - 1)
|
||||||
|
187 187 MCC Medium cloud cover gradient (0 - 1)
|
||||||
|
188 188 HCC High cloud cover gradient (0 - 1)
|
||||||
|
189 189 SUND Sunshine duration gradient (s)
|
||||||
|
190 190 EWOV East-West component of sub-gridscale orographic variance gradient (m**2)
|
||||||
|
191 191 NSOV North-South component of sub-gridscale orographic variance gradient (m**2)
|
||||||
|
192 192 NWOV North-West/South-East component of sub-gridscale orographic variance gradient (m**2)
|
||||||
|
193 193 NEOV North-East/South-West component of sub-gridscale orographic variance gradient (m**2)
|
||||||
|
194 194 BTMP Brightness temperature gradient (K)
|
||||||
|
195 195 LGWS Longitudinal component of gravity wave stress gradient (N m**-2 s)
|
||||||
|
196 196 MGWS Meridional component of gravity wave stress gradient (N m**-2 s)
|
||||||
|
197 197 GWD Gravity wave dissipation gradient (J m**-2)
|
||||||
|
198 198 SRC Skin reservoir content gradient (kg m**-2)
|
||||||
|
199 199 VEG Vegetation fraction gradient (0 - 1)
|
||||||
|
200 200 VSO Variance of sub-gridscale orography gradient (m**2)
|
||||||
|
201 201 MX2T Maximum temperature at 2 metres since previous post-processing gradient (K)
|
||||||
|
202 202 MN2T Minimum temperature at 2 metres since previous post-processing gradient (K)
|
||||||
|
203 203 O3 Ozone mass mixing ratio gradient (kg kg**-1)
|
||||||
|
204 204 PAW Precipitation analysis weights gradient
|
||||||
|
205 205 RO Runoff gradient (m)
|
||||||
|
206 206 TCO3 Total column ozone gradient (kg m**-2)
|
||||||
|
207 207 10SI 10 metre wind speed gradient (m s**-1)
|
||||||
|
208 208 TSRC Top net solar radiation, clear sky gradient (J m**-2)
|
||||||
|
209 209 TTRC Top net thermal radiation, clear sky gradient (J m**-2)
|
||||||
|
210 210 SSRC Surface net solar radiation, clear sky gradient (J m**-2)
|
||||||
|
211 211 STRC Surface net thermal radiation, clear sky gradient (J m**-2)
|
||||||
|
212 212 TISR TOA incident solar radiation gradient (J m**-2)
|
||||||
|
214 214 DHR Diabatic heating by radiation gradient (K)
|
||||||
|
215 215 DHVD Diabatic heating by vertical diffusion gradient (K)
|
||||||
|
216 216 DHCC Diabatic heating by cumulus convection gradient (K)
|
||||||
|
217 217 DHLC Diabatic heating large-scale condensation gradient (K)
|
||||||
|
218 218 VDZW Vertical diffusion of zonal wind gradient (m s**-1)
|
||||||
|
219 219 VDMW Vertical diffusion of meridional wind gradient (m s**-1)
|
||||||
|
220 220 EWGD East-West gravity wave drag tendency gradient (m s**-1)
|
||||||
|
221 221 NSGD North-South gravity wave drag tendency gradient (m s**-1)
|
||||||
|
222 222 CTZW Convective tendency of zonal wind gradient (m s**-1)
|
||||||
|
223 223 CTMW Convective tendency of meridional wind gradient (m s**-1)
|
||||||
|
224 224 VDH Vertical diffusion of humidity gradient (kg kg**-1)
|
||||||
|
225 225 HTCC Humidity tendency by cumulus convection gradient (kg kg**-1)
|
||||||
|
226 226 HTLC Humidity tendency by large-scale condensation gradient (kg kg**-1)
|
||||||
|
227 227 CRNH Change from removal of negative humidity gradient (kg kg**-1)
|
||||||
|
228 228 TP Total precipitation gradient (m)
|
||||||
|
229 229 IEWS Instantaneous X surface stress gradient (N m**-2)
|
||||||
|
230 230 INSS Instantaneous Y surface stress gradient (N m**-2)
|
||||||
|
231 231 ISHF Instantaneous surface heat flux gradient (W m**-2)
|
||||||
|
232 232 IE Instantaneous moisture flux gradient (kg m**-2 s)
|
||||||
|
233 233 ASQ Apparent surface humidity gradient (kg kg**-1)
|
||||||
|
234 234 LSRH Logarithm of surface roughness length for heat gradient
|
||||||
|
235 235 SKT Skin temperature gradient (K)
|
||||||
|
236 236 STL4 Soil temperature level 4 gradient (K)
|
||||||
|
237 237 SWL4 Soil wetness level 4 gradient (m)
|
||||||
|
238 238 TSN Temperature of snow layer gradient (K)
|
||||||
|
239 239 CSF Convective snowfall gradient (m of water equivalent)
|
||||||
|
240 240 LSF Large scale snowfall gradient (m of water equivalent)
|
||||||
|
241 241 ACF Accumulated cloud fraction tendency gradient (-1 to 1)
|
||||||
|
242 242 ALW Accumulated liquid water tendency gradient gradient (-1 to 1)
|
||||||
|
243 243 FAL Forecast albedo gradient (0 - 1)
|
||||||
|
244 244 FSR Forecast surface roughness gradient (m)
|
||||||
|
245 245 FLSR Forecast logarithm of surface roughness for heat gradient
|
||||||
|
246 246 CLWC Specific cloud liquid water content gradient (kg kg**-1)
|
||||||
|
247 247 CIWC Specific cloud ice water content gradient (kg kg**-1)
|
||||||
|
248 248 CC Cloud cover gradient (0 - 1)
|
||||||
|
249 249 AIW Accumulated ice water tendency gradient (-1 to 1)
|
||||||
|
250 250 ICE Ice age gradient (0 - 1)
|
||||||
|
251 251 ATTE Adiabatic tendency of temperature gradient (K)
|
||||||
|
252 252 ATHE Adiabatic tendency of humidity gradient (kg kg**-1)
|
||||||
|
253 253 ATZE Adiabatic tendency of zonal wind gradient (m s**-1)
|
||||||
|
254 254 ATMW Adiabatic tendency of meridional wind gradient (m s**-1)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,27 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
208 208 TSRU Top solar radiation upward W m**-2
|
||||||
|
209 209 TTRU Top thermal radiation upward W m**-2
|
||||||
|
210 210 TSUC Top solar radiation upward, clear sky W m**-2
|
||||||
|
211 211 TTUC Top thermal radiation upward, clear sky W m**-2
|
||||||
|
212 212 CLW Cloud liquid water kg kg**-1
|
||||||
|
213 213 CF Cloud fraction (0 - 1)
|
||||||
|
214 214 DHR Diabatic heating by radiation K s**-1
|
||||||
|
215 215 DHVD Diabatic heating by vertical diffusion K s**-1
|
||||||
|
216 216 DHCC Diabatic heating by cumulus convection K s**-1
|
||||||
|
217 217 DHLC Diabatic heating by large-scale condensation K s**-1
|
||||||
|
218 218 VDZW Vertical diffusion of zonal wind m**2 s**-3
|
||||||
|
219 219 VDMW Vertical diffusion of meridional wind m**2 s**-3
|
||||||
|
220 220 EWGD East-West gravity wave drag m**2 s**-3
|
||||||
|
221 221 NSGD North-South gravity wave drag m**2 s**-3
|
||||||
|
222 222 CTZW Convective tendency of zonal wind m**2 s**-3
|
||||||
|
223 223 CTMW Convective tendency of meridional wind m**2 s**-3
|
||||||
|
224 224 VDH Vertical diffusion of humidity kg kg**-1 s**-1
|
||||||
|
225 225 HTCC Humidity tendency by cumulus convection kg kg**-1 s**-1
|
||||||
|
226 226 HTLC Humidity tendency by large-scale condensation kg kg**-1 s**-1
|
||||||
|
227 227 CRNH Change from removal of negative humidity kg kg**-1 s**-1
|
||||||
|
228 228 ATT Adiabatic tendency of temperature K s**-1
|
||||||
|
229 229 ATH Adiabatic tendency of humidity kg kg**-1 s**-1
|
||||||
|
230 230 ATZW Adiabatic tendency of zonal wind m**2 s**-3
|
||||||
|
231 231 ATMWAX Adiabatic tendency of meridional wind m**2 s**-3
|
||||||
|
232 232 MVV Mean vertical velocity Pa s**-1
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,74 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 2TAG2 2m temperature anomaly of at least +2K %
|
||||||
|
2 2 2TAG1 2m temperature anomaly of at least +1K %
|
||||||
|
3 3 2TAG0 2m temperature anomaly of at least 0K %
|
||||||
|
4 4 2TALM1 2m temperature anomaly of at most -1K %
|
||||||
|
5 5 2TALM2 2m temperature anomaly of at most -2K %
|
||||||
|
6 6 TPAG20 Total precipitation anomaly of at least 20 mm %
|
||||||
|
7 7 TPAG10 Total precipitation anomaly of at least 10 mm %
|
||||||
|
8 8 TPAG0 Total precipitation anomaly of at least 0 mm %
|
||||||
|
9 9 STAG0 Surface temperature anomaly of at least 0K %
|
||||||
|
10 10 mslag0 Mean sea level pressure anomaly of at least 0 Pa %
|
||||||
|
15 15 H0DIP Height of 0 degree isotherm probability percentage
|
||||||
|
16 16 HSLP Height of snowfall limit probability percentage
|
||||||
|
17 17 SAIP Showalter index probability percentage
|
||||||
|
18 18 WHIP Whiting index probability percentage
|
||||||
|
20 20 TALM2 Temperature anomaly less than -2 K %
|
||||||
|
21 21 TAG2 Temperature anomaly of at least +2 K %
|
||||||
|
22 22 TALM8 Temperature anomaly less than -8 K %
|
||||||
|
23 23 TALM4 Temperature anomaly less than -4 K %
|
||||||
|
24 24 TAG4 Temperature anomaly greater than +4 K %
|
||||||
|
25 25 TAG8 Temperature anomaly greater than +8 K %
|
||||||
|
49 49 10GP 10 metre wind gust probability percentage
|
||||||
|
59 59 CAPEP Convective available potential energy probability percentage
|
||||||
|
60 60 TPG1 Total precipitation of at least 1 mm %
|
||||||
|
61 61 TPG5 Total precipitation of at least 5 mm %
|
||||||
|
62 62 TPG10 Total precipitation of at least 10 mm %
|
||||||
|
63 63 TPG20 Total precipitation of at least 20 mm %
|
||||||
|
64 64 TPL01 Total precipitation less than 0.1 mm %
|
||||||
|
65 65 TPRL1 Total precipitation rate less than 1 mm/day %
|
||||||
|
66 66 TPRG3 Total precipitation rate of at least 3 mm/day %
|
||||||
|
67 67 TPRG5 Total precipitation rate of at least 5 mm/day %
|
||||||
|
68 68 10SPG10 10 metre Wind speed of at least 10 m/s %
|
||||||
|
69 69 10SPG15 10 metre Wind speed of at least 15 m/s %
|
||||||
|
70 70 10FGG15 10 metre Wind gust of at least 15 m/s %
|
||||||
|
71 71 10FGG20 10 metre Wind gust of at least 20 m/s %
|
||||||
|
72 72 10FGG25 10 metre Wind gust of at least 25 m/s %
|
||||||
|
73 73 2TL273 2 metre temperature less than 273.15 K %
|
||||||
|
74 74 SWHG2 Significant wave height of at least 2 m %
|
||||||
|
75 75 SWHG4 Significant wave height of at least 4 m %
|
||||||
|
76 76 SWHG6 Significant wave height of at least 6 m %
|
||||||
|
77 77 SWHG8 Significant wave height of at least 8 m %
|
||||||
|
79 79 MWPG10 Mean wave period of at least 10 s %
|
||||||
|
80 80 MWPG12 Mean wave period of at least 12 s %
|
||||||
|
81 81 MWPG15 Mean wave period of at least 15 s %
|
||||||
|
82 82 tpg40 Total precipitation of at least 40 mm %
|
||||||
|
83 83 Total precipitation of at least 60 mm %
|
||||||
|
84 84 Total precipitation of at least 80 mm %
|
||||||
|
85 85 Total precipitation of at least 100 mm %
|
||||||
|
86 86 Total precipitation of at least 150 mm %
|
||||||
|
87 87 Total precipitation of at least 200 mm %
|
||||||
|
88 88 Total precipitation of at least 300 mm %
|
||||||
|
89 89 Probability of a tropical storm %
|
||||||
|
90 90 Probability of a hurricane %
|
||||||
|
91 91 Probability of a tropical depression %
|
||||||
|
92 92 Climatological probability of a tropical storm %
|
||||||
|
93 93 Climatological probability of a hurricane %
|
||||||
|
94 94 Climatological probability of a tropical depression %
|
||||||
|
95 95 Probability anomaly of a tropical storm %
|
||||||
|
96 96 Probability anomaly of a hurricane %
|
||||||
|
97 97 PATD Probability anomaly of a tropical depression %
|
||||||
|
129 129 ZP Geopotential probability zp %
|
||||||
|
130 130 TAP Temperature anomaly probability percentage
|
||||||
|
139 139 2TP 2 metre temperature probability %
|
||||||
|
144 144 SFP Snowfall (convective + stratiform) probability percentage
|
||||||
|
151 151 TPP Total precipitation probability
|
||||||
|
164 164 TCCP Total cloud cover probability percentage
|
||||||
|
165 165 10SP 10 metre speed probability percentage
|
||||||
|
167 167 2TP 2 metre temperature probability percentage
|
||||||
|
201 201 MX2TP Maximum 2 metre temperature probability percentage
|
||||||
|
202 202 MN2TP Minimum 2 metre temperature probability percentage
|
||||||
|
228 228 TPP Total precipitation probability percentage
|
||||||
|
229 229 SWHP Significant wave height probability percentage
|
||||||
|
232 232 MWPP Mean wave period probability percentage
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,10 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
49 49 10GP 10 metre wind gust index (-1 to 1)
|
||||||
|
144 144 sfi Snowfall index (-1 to 1)
|
||||||
|
165 165 10SP 10 metre speed index (-1 to 1)
|
||||||
|
167 167 2TP 2 metre temperature index (-1 to 1)
|
||||||
|
201 201 Maximum temperature at 2 metres index (-1 to 1)
|
||||||
|
202 202 Minimum temperature at 2 metres index (-1 to 1)
|
||||||
|
216 216 Maximum of significant wave height index (-1 to 1)
|
||||||
|
228 228 TTP Total precipitation index (-1 to 1)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,93 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 2tplm10 2m temperature probability less than -10 C %
|
||||||
|
2 2 2tplm5 2m temperature probability less than -5 C %
|
||||||
|
3 3 2tpl0 2m temperature probability less than 0 C %
|
||||||
|
4 4 2tpl5 2m temperature probability less than 5 C %
|
||||||
|
5 5 2tpl10 2m temperature probability less than 10 C %
|
||||||
|
6 6 2tpg25 2m temperature probability greater than 25 C %
|
||||||
|
7 7 2tpg30 2m temperature probability greater than 30 C %
|
||||||
|
8 8 2tpg35 2m temperature probability greater than 35 C %
|
||||||
|
9 9 2tpg40 2m temperature probability greater than 40 C %
|
||||||
|
10 10 2tpg45 2m temperature probability greater than 45 C %
|
||||||
|
11 11 mn2tplm10 Minimum 2 metre temperature probability less than -10 C %
|
||||||
|
12 12 mn2tplm5 Minimum 2 metre temperature probability less than -5 C %
|
||||||
|
13 13 mn2tpl0 Minimum 2 metre temperature probability less than 0 C %
|
||||||
|
14 14 mn2tpl5 Minimum 2 metre temperature probability less than 5 C %
|
||||||
|
15 15 mn2tpl10 Minimum 2 metre temperature probability less than 10 C %
|
||||||
|
16 16 mx2tpg25 Maximum 2 metre temperature probability greater than 25 C %
|
||||||
|
17 17 mx2tpg30 Maximum 2 metre temperature probability greater than 30 C %
|
||||||
|
18 18 mx2tpg35 Maximum 2 metre temperature probability greater than 35 C %
|
||||||
|
19 19 mx2tpg40 Maximum 2 metre temperature probability greater than 40 C %
|
||||||
|
20 20 mx2tpg45 Maximum 2 metre temperature probability greater than 45 C %
|
||||||
|
21 21 10spg10 10 metre wind speed probability of at least 10 m/s %
|
||||||
|
22 22 10spg15 10 metre wind speed probability of at least 15 m/s %
|
||||||
|
23 23 10spg20 10 metre wind speed probability of at least 20 m/s %
|
||||||
|
24 24 10spg35 10 metre wind speed probability of at least 35 m/s %
|
||||||
|
25 25 10spg50 10 metre wind speed probability of at least 50 m/s %
|
||||||
|
26 26 10gpg20 10 metre wind gust probability of at least 20 m/s %
|
||||||
|
27 27 10gpg35 10 metre wind gust probability of at least 35 m/s %
|
||||||
|
28 28 10gpg50 10 metre wind gust probability of at least 50 m/s %
|
||||||
|
29 29 10gpg75 10 metre wind gust probability of at least 75 m/s %
|
||||||
|
30 30 10gpg100 10 metre wind gust probability of at least 100 m/s %
|
||||||
|
31 31 tppg1 Total precipitation probability of at least 1 mm %
|
||||||
|
32 32 tppg5 Total precipitation probability of at least 5 mm %
|
||||||
|
33 33 tppg10 Total precipitation probability of at least 10 mm %
|
||||||
|
34 34 tppg20 Total precipitation probability of at least 20 mm %
|
||||||
|
35 35 tppg40 Total precipitation probability of at least 40 mm %
|
||||||
|
36 36 tppg60 Total precipitation probability of at least 60 mm %
|
||||||
|
37 37 tppg80 Total precipitation probability of at least 80 mm %
|
||||||
|
38 38 tppg100 Total precipitation probability of at least 100 mm %
|
||||||
|
39 39 tppg150 Total precipitation probability of at least 150 mm %
|
||||||
|
40 40 tppg200 Total precipitation probability of at least 200 mm %
|
||||||
|
41 41 tppg300 Total precipitation probability of at least 300 mm %
|
||||||
|
42 42 sfpg1 Snowfall probability of at least 1 mm %
|
||||||
|
43 43 sfpg5 Snowfall probability of at least 5 mm %
|
||||||
|
44 44 sfpg10 Snowfall probability of at least 10 mm %
|
||||||
|
45 45 sfpg20 Snowfall probability of at least 20 mm %
|
||||||
|
46 46 sfpg40 Snowfall probability of at least 40 mm %
|
||||||
|
47 47 sfpg60 Snowfall probability of at least 60 mm %
|
||||||
|
48 48 sfpg80 Snowfall probability of at least 80 mm %
|
||||||
|
49 49 sfpg100 Snowfall probability of at least 100 mm %
|
||||||
|
50 50 sfpg150 Snowfall probability of at least 150 mm %
|
||||||
|
51 51 sfpg200 Snowfall probability of at least 200 mm %
|
||||||
|
52 52 sfpg300 Snowfall probability of at least 300 mm %
|
||||||
|
53 53 tccpg10 Total Cloud Cover probability greater than 10% %
|
||||||
|
54 54 tccpg20 Total Cloud Cover probability greater than 20% %
|
||||||
|
55 55 tccpg30 Total Cloud Cover probability greater than 30% %
|
||||||
|
56 56 tccpg40 Total Cloud Cover probability greater than 40% %
|
||||||
|
57 57 tccpg50 Total Cloud Cover probability greater than 50% %
|
||||||
|
58 58 tccpg60 Total Cloud Cover probability greater than 60% %
|
||||||
|
59 59 tccpg70 Total Cloud Cover probability greater than 70% %
|
||||||
|
60 60 tccpg80 Total Cloud Cover probability greater than 80% %
|
||||||
|
61 61 tccpg90 Total Cloud Cover probability greater than 90% %
|
||||||
|
62 62 tccpg99 Total Cloud Cover probability greater than 99% %
|
||||||
|
63 63 hccpg10 High Cloud Cover probability greater than 10% %
|
||||||
|
64 64 hccpg20 High Cloud Cover probability greater than 20% %
|
||||||
|
65 65 hccpg30 High Cloud Cover probability greater than 30% %
|
||||||
|
66 66 hccpg40 High Cloud Cover probability greater than 40% %
|
||||||
|
67 67 hccpg50 High Cloud Cover probability greater than 50% %
|
||||||
|
68 68 hccpg60 High Cloud Cover probability greater than 60% %
|
||||||
|
69 69 hccpg70 High Cloud Cover probability greater than 70% %
|
||||||
|
70 70 hccpg80 High Cloud Cover probability greater than 80% %
|
||||||
|
71 71 hccpg90 High Cloud Cover probability greater than 90% %
|
||||||
|
72 72 hccpg99 High Cloud Cover probability greater than 99% %
|
||||||
|
73 73 mccpg10 Medium Cloud Cover probability greater than 10% %
|
||||||
|
74 74 mccpg20 Medium Cloud Cover probability greater than 20% %
|
||||||
|
75 75 mccpg30 Medium Cloud Cover probability greater than 30% %
|
||||||
|
76 76 mccpg40 Medium Cloud Cover probability greater than 40% %
|
||||||
|
77 77 mccpg50 Medium Cloud Cover probability greater than 50% %
|
||||||
|
78 78 mccpg60 Medium Cloud Cover probability greater than 60% %
|
||||||
|
79 79 mccpg70 Medium Cloud Cover probability greater than 70% %
|
||||||
|
80 80 mccpg80 Medium Cloud Cover probability greater than 80% %
|
||||||
|
81 81 mccpg90 Medium Cloud Cover probability greater than 90% %
|
||||||
|
82 82 mccpg99 Medium Cloud Cover probability greater than 99% %
|
||||||
|
83 83 lccpg10 Low Cloud Cover probability greater than 10% %
|
||||||
|
84 84 lccpg20 Low Cloud Cover probability greater than 20% %
|
||||||
|
85 85 lccpg30 Low Cloud Cover probability greater than 30% %
|
||||||
|
86 86 lccpg40 Low Cloud Cover probability greater than 40% %
|
||||||
|
87 87 lccpg50 Low Cloud Cover probability greater than 50% %
|
||||||
|
88 88 lccpg60 Low Cloud Cover probability greater than 60% %
|
||||||
|
89 89 lccpg70 Low Cloud Cover probability greater than 70% %
|
||||||
|
90 90 lccpg80 Low Cloud Cover probability greater than 80% %
|
||||||
|
91 91 lccpg90 Low Cloud Cover probability greater than 90% %
|
||||||
|
92 92 lccpg99 Low Cloud Cover probability greater than 99% %
|
|
@ -0,0 +1,47 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
200 200 maxswh Maximum of significant wave height m
|
||||||
|
211 211 Normalized energy flux into waves
|
||||||
|
212 212 Normalized energy flux into ocean
|
||||||
|
213 213 Turbulent Langmuir number
|
||||||
|
214 214 Normalized stress into ocean
|
||||||
|
215 215 U-component stokes drift
|
||||||
|
216 216 V-component stokes drift m s**-1
|
||||||
|
217 217 Period corresponding to maximum individual wave height
|
||||||
|
218 218 Maximum individual wave height m
|
||||||
|
219 219 WMB Model bathymetry m
|
||||||
|
220 220 MP1 Mean wave period based on first moment s
|
||||||
|
221 221 MP2 Mean wave period based on second moment s
|
||||||
|
222 222 WDW Wave spectral directional width
|
||||||
|
223 223 P1WW Mean wave period based on first moment for wind waves s
|
||||||
|
224 224 P2WW Mean wave period based on second moment for wind waves s
|
||||||
|
225 225 DWWW Wave spectral directional width for wind waves
|
||||||
|
226 226 P1PS Mean wave period based on first moment for swell s
|
||||||
|
227 227 P2PS Mean wave period based on second moment for swell s
|
||||||
|
228 228 DWPS Wave spectral directional width for swell
|
||||||
|
229 229 SWH Significant height of combined wind waves and swell (m)
|
||||||
|
230 230 MWD Mean wave direction degrees
|
||||||
|
231 231 PP1D Peak period of 1D spectra s
|
||||||
|
232 232 MWP Mean wave period s
|
||||||
|
233 233 CDWW Coefficient of drag with waves
|
||||||
|
234 234 SHWW Significant height of wind waves m
|
||||||
|
235 235 MDWW Mean direction of wind waves degrees
|
||||||
|
236 236 MPWW Mean period of wind waves s
|
||||||
|
237 237 SHTS Significant height of total swell m
|
||||||
|
238 238 MDTS Mean direction of total swell degrees
|
||||||
|
239 239 MPTS Mean period of total swell s
|
||||||
|
240 240 SDHS Standard deviation wave height m
|
||||||
|
241 241 MU10 Mean of 10 metre wind speed m s**-1
|
||||||
|
242 242 MDWI Mean wind direction degrees
|
||||||
|
243 243 SDU Standard deviation of 10 metre wind speed m s**-1
|
||||||
|
244 244 MSQS Mean square slope of waves dimensionless
|
||||||
|
245 245 WIND 10 metre wind speed m s**-1
|
||||||
|
246 246 AWH Altimeter wave height m
|
||||||
|
247 247 ACWH Altimeter corrected wave height m
|
||||||
|
248 248 ARRC Altimeter range relative correction
|
||||||
|
249 249 DWI 10 metre wind direction degrees
|
||||||
|
250 250 2DSP 2D wave spectra (multiple) m**2 s radian**-1
|
||||||
|
251 251 2DFD 2D wave spectra (single) m**2 s radian**-1
|
||||||
|
252 252 WSK Wave spectral kurtosis
|
||||||
|
253 253 BFI Benjamin-Feir index
|
||||||
|
254 254 WSP Wave spectral peakedness s**-1
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,33 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
129 129 - Ocean potential temperature (deg C)
|
||||||
|
130 130 - Ocean salinity psu
|
||||||
|
131 131 - Ocean potential density kg m**-3 -1000
|
||||||
|
133 133 - Ocean U wind component (m s**-1)
|
||||||
|
134 134 - Ocean V wind component (m s**-1)
|
||||||
|
135 135 - Ocean W wind component (m s**-1)
|
||||||
|
137 137 - Richardson number
|
||||||
|
139 139 - U*V product (m s**-2)
|
||||||
|
140 140 - U*T product (m s**-1 deg C)
|
||||||
|
141 141 - V*T product (m s**-1 deg C)
|
||||||
|
142 142 - U*U product (m s**-2)
|
||||||
|
143 143 - V*V product (m s**-2)
|
||||||
|
144 144 - UV - U~V~ (m s**-2)
|
||||||
|
145 145 - UT - U~T~ m s**-1 deg C
|
||||||
|
146 146 - VT - V~T~ (m s**-1 deg C)
|
||||||
|
147 147 - UU - U~U~ (m s**-2)
|
||||||
|
148 148 - VV - V~V~ (m s**-2)
|
||||||
|
152 152 - Sea level (m)
|
||||||
|
153 153 - Barotropic stream function
|
||||||
|
154 154 - Mixed layer depth (m)
|
||||||
|
155 155 - Depth (m)
|
||||||
|
168 168 - U stress (Pa)
|
||||||
|
169 169 - V stress (Pa)
|
||||||
|
170 170 - Turbulent kinetic energy input
|
||||||
|
171 171 - Net surface heat flux
|
||||||
|
172 172 - Surface solar radiation
|
||||||
|
173 173 - P-E
|
||||||
|
180 180 - Diagnosed sea surface temperature error (deg C)
|
||||||
|
181 181 - Heat flux correction (W m**-2)
|
||||||
|
182 182 - Observed sea surface temperature (deg C)
|
||||||
|
183 183 - Observed heat flux (W m**-2)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,80 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
129 129 OCPT Ocean potential temperature deg C
|
||||||
|
130 130 S Salinity psu
|
||||||
|
131 131 OCU Ocean current zonal component (m s**-1)
|
||||||
|
132 132 OCV Ocean current meridional component (m s**-1)
|
||||||
|
133 133 OCW Ocean current vertical component (m s**-1)
|
||||||
|
134 134 MST Modulus of strain rate tensor s**-1
|
||||||
|
135 135 VVS Vertical viscosity m**2 s**-1
|
||||||
|
136 136 VDF Vertical diffusivity m**2 s**-1
|
||||||
|
137 137 DEP Bottom level Depth (m)
|
||||||
|
138 138 STH Sigma-theta kg m**-3
|
||||||
|
139 139 RN Richardson number
|
||||||
|
140 140 UV UV product m**2 s**-2
|
||||||
|
141 141 UT UT product m s**-1 degC
|
||||||
|
142 142 VT VT product m s**-1 deg C
|
||||||
|
143 143 UU UU product m**2 s**-2
|
||||||
|
144 144 VV VV product m**2 s**-2
|
||||||
|
145 145 SL Sea level m
|
||||||
|
146 146 SL_1 Sea level previous timestep m
|
||||||
|
147 147 BSF Barotropic stream function m**3 s**-1
|
||||||
|
148 148 MLD Mixed layer depth m
|
||||||
|
149 149 BTP Bottom Pressure (equivalent height) (m)
|
||||||
|
151 151 CRL Curl of Wind Stress N m**-3
|
||||||
|
152 152 Divergence of wind stress (Nm**-3)
|
||||||
|
153 153 TAX U stress Pa
|
||||||
|
154 154 TAY V stress Pa
|
||||||
|
155 155 TKI Turbulent kinetic energy input W m**-2
|
||||||
|
156 156 NSF Net surface heat flux W m**-2
|
||||||
|
157 157 ASR Absorbed solar radiation W m**-2
|
||||||
|
158 158 PME Precipitation - evaporation m s**-1
|
||||||
|
159 159 SST Specified sea surface temperature deg C
|
||||||
|
160 160 SHF Specified surface heat flux W m**-2
|
||||||
|
161 161 DTE Diagnosed sea surface temperature error deg C
|
||||||
|
162 162 HFC Heat flux correction W m**-2
|
||||||
|
163 163 20D 20 degrees isotherm depth m
|
||||||
|
164 164 TAV300 Average potential temperature in the upper 300m degrees C
|
||||||
|
165 165 UBA1 Vertically integrated zonal velocity (previous time step) m**2 s**-1
|
||||||
|
166 166 VBA1 Vertically Integrated meridional velocity (previous time step) m**2 s**-1
|
||||||
|
167 167 ZTR Vertically integrated zonal volume transport m**2 s**-1
|
||||||
|
168 168 MTR Vertically integrated meridional volume transport m**2 s**-1
|
||||||
|
169 169 ZHT Vertically integrated zonal heat transport J m**-1 s**-1
|
||||||
|
170 170 MHT Vertically integrated meridional heat transport J m**-1 s**-1
|
||||||
|
171 171 UMAX U velocity maximum m s**-1
|
||||||
|
172 172 DUMAX Depth of the velocity maximum m
|
||||||
|
173 173 SMAX Salinity maximum psu
|
||||||
|
174 174 DSMAX Depth of salinity maximum m
|
||||||
|
175 175 SAV300 Average salinity in the upper 300m psu
|
||||||
|
176 176 LDP Layer Thickness at scalar points (m)
|
||||||
|
177 177 LDU Layer Thickness at vector points (m)
|
||||||
|
178 178 PTI Potential temperature increment deg C
|
||||||
|
179 179 PTAE Potential temperature analysis error deg C
|
||||||
|
180 180 BPT Background potential temperature deg C
|
||||||
|
181 181 APT Analysed potential temperature deg C
|
||||||
|
182 182 PTBE Potential temperature background error deg C
|
||||||
|
183 183 AS Analysed salinity psu
|
||||||
|
184 184 SALI Salinity increment psu
|
||||||
|
185 185 EBT Estimated Bias in Temperature deg C
|
||||||
|
186 186 EBS Estimated Bias in Salinity psu
|
||||||
|
187 187 UVI Zonal Velocity increment (from balance operator) m/s per time step
|
||||||
|
188 188 VVI Meridional Velocity increment (from balance operator)
|
||||||
|
190 190 SUBI Salinity increment (from salinity data) psu per time step
|
||||||
|
191 191 SALE Salinity analysis error psu
|
||||||
|
192 192 BSAL Background Salinity psu
|
||||||
|
193 193 - Reserved
|
||||||
|
194 194 SALBE Salinity background error psu
|
||||||
|
199 199 EBTA Estimated temperature bias from assimilation deg C
|
||||||
|
200 200 EBSA Estimated salinity bias from assimilation psu
|
||||||
|
201 201 LTI Temperature increment from relaxation term deg C per time step
|
||||||
|
202 202 EBSA Salinity increment from relaxation term psu per time step
|
||||||
|
203 203 BZPGA Bias in the zonal pressure gradient (applied) (Pa**m-1)
|
||||||
|
204 204 BMPGA Bias in the meridional pressure gradient (applied) (Pa**m-1)
|
||||||
|
205 205 EBTL Estimated temperature bias from relaxation deg C
|
||||||
|
206 206 EBSL Estimated salinity bias from relaxation psu
|
||||||
|
207 207 FGBT First guess bias in temperature deg C
|
||||||
|
208 208 FGBS First guess bias in salinity psu
|
||||||
|
209 209 ABP Applied bias in pressure Pa
|
||||||
|
210 210 FGBP FG bias in pressure Pa
|
||||||
|
211 211 PTA Bias in temperature(applied) (deg C)
|
||||||
|
212 212 PSA Bias in salinity (applied) (psu)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,109 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
127 127 AT Atmospheric tide
|
||||||
|
128 128 BV Budget values
|
||||||
|
129 129 Z Geopotential m**2 s**-2
|
||||||
|
130 130 T Temperature K
|
||||||
|
131 131 U U velocity m s**-1
|
||||||
|
132 132 V V velocity m s**-1
|
||||||
|
133 133 Q Specific humidity kg kg**-1
|
||||||
|
134 134 SP Surface pressure Pa
|
||||||
|
135 135 W Vertical velocity (pressure) Pa s**-1
|
||||||
|
136 136 TCW Total column water kg m**-2
|
||||||
|
137 137 PWC Precipitable water content kg m**-2
|
||||||
|
138 138 VO Vorticity (relative) s**-1
|
||||||
|
139 139 STL1 Soil temperature level 1 K
|
||||||
|
140 140 SWL1 Soil wetness level 1 m
|
||||||
|
141 141 SD Snow depth m of water
|
||||||
|
142 142 LSP Large-scale precipitation kg m**-2 s**-1
|
||||||
|
143 143 CP Convective precipitation kg m**-2 s**-1
|
||||||
|
144 144 SF Snowfall kg m**-2 s**-1
|
||||||
|
145 145 BLD Boundary layer dissipation W m**-2
|
||||||
|
146 146 SSHF Surface sensible heat flux W m**-2
|
||||||
|
147 147 SLHF Surface latent heat flux W m**-2
|
||||||
|
151 151 MSL Mean sea level pressure Pa
|
||||||
|
152 152 LNSP Logarithm of surface pressure
|
||||||
|
155 155 D Divergence s**-1
|
||||||
|
156 156 GH Height m
|
||||||
|
157 157 R Relative humidity (0 - 1)
|
||||||
|
158 158 TSP Tendency of surface pressure Pa s**-1
|
||||||
|
164 164 TCC Total cloud cover (0 - 1)
|
||||||
|
165 165 10U 10 metre U wind component m s**-1
|
||||||
|
166 166 10V 10 metre V wind component m s**-1
|
||||||
|
167 167 2T 2 metre temperature K
|
||||||
|
168 168 2D 2 metre dewpoint temperature K
|
||||||
|
170 170 STL2 Soil temperature level 2 K
|
||||||
|
171 171 SWL2 Soil wetness level 2 m
|
||||||
|
172 172 LSM Land-sea mask (0 - 1)
|
||||||
|
173 173 SR Surface roughness m
|
||||||
|
174 174 AL Albedo (0 - 1)
|
||||||
|
176 176 SSR Surface solar radiation W m**-2
|
||||||
|
177 177 STR Surface thermal radiation W m**-2
|
||||||
|
178 178 TSR Top solar radiation W m**-2
|
||||||
|
179 179 TTR Top thermal radiation W m**-2
|
||||||
|
180 180 EWSS East-West surface stress N m**-2 s**-1
|
||||||
|
181 181 NSSS North-South surface stress N m**-2 s**-1
|
||||||
|
182 182 E Evaporation kg m**-2 s**-1
|
||||||
|
183 183 STL3 Soil temperature level 3 K
|
||||||
|
184 184 SWL3 Soil wetness level 3 m
|
||||||
|
185 185 CCC Convective cloud cover (0 - 1)
|
||||||
|
186 186 LCC Low cloud cover (0 - 1)
|
||||||
|
187 187 MCC Medium cloud cover (0 - 1)
|
||||||
|
188 188 HCC High cloud cover (0 - 1)
|
||||||
|
190 190 EWOV East-West component of sub-gridscale orographic variance m**2
|
||||||
|
191 191 NSOV North-South component of sub-gridscale orographic variance m**2
|
||||||
|
192 192 NWOV North-West/South-East component of sub-gridscale orographic variance m**2
|
||||||
|
193 193 NEOV North-East/South-West component of sub-gridscale orographic variance m**2
|
||||||
|
195 195 LGWS Latitudinal component of gravity wave stress N m**-2 s
|
||||||
|
196 196 MGWS Meridional component of gravity wave stress N m**-2 s
|
||||||
|
197 197 GWD Gravity wave dissipation W m**-2 s
|
||||||
|
198 198 SRC Skin reservoir content m of water
|
||||||
|
199 199 VEG Percentage of vegetation %
|
||||||
|
200 200 VSO Variance of sub-gridscale orography m**2
|
||||||
|
201 201 MX2T Maximum temperature at 2 metres during averaging time K
|
||||||
|
202 202 MN2T Minimum temperature at 2 metres during averaging time K
|
||||||
|
204 204 PAW Precipitation analysis weights
|
||||||
|
205 205 RO Runoff kg m**-2 s**-1
|
||||||
|
206 206 ZZ Standard deviation of geopotential m**2 s**-2
|
||||||
|
207 207 TZ Covariance of temperature and geopotential K m**2 s**-2
|
||||||
|
208 208 TT Standard deviation of temperature K
|
||||||
|
209 209 QZ Covariance of specific humidity and geopotential m**2 s**-2
|
||||||
|
210 210 QT Covariance of specific humidity and temperature K
|
||||||
|
211 211 QQ Standard deviation of specific humidity (0 - 1)
|
||||||
|
212 212 UZ Covariance of U component and geopotential m**3 s**-3
|
||||||
|
213 213 UT Covariance of U component and temperature K m s**-1
|
||||||
|
214 214 UQ Covariance of U component and specific humidity m s**-1
|
||||||
|
215 215 UU Standard deviation of U velocity m s**-1
|
||||||
|
216 216 VZ Covariance of V component and geopotential m**3 s**-3
|
||||||
|
217 217 VT Covariance of V component and temperature K m s**-1
|
||||||
|
218 218 VQ Covariance of V component and specific humidity m s**-1
|
||||||
|
219 219 VU Covariance of V component and U component m**2 s**-2
|
||||||
|
220 220 VV Standard deviation of V component m s**-1
|
||||||
|
221 221 WZ Covariance of W component and geopotential Pa m**2 s**-3
|
||||||
|
222 222 WT Covariance of W component and temperature K Pa s**-1
|
||||||
|
223 223 WQ Covariance of W component and specific humidity Pa s**-1
|
||||||
|
224 224 WU Covariance of W component and U component Pa m s**-2
|
||||||
|
225 225 WV Covariance of W component and V component Pa m s**-2
|
||||||
|
226 226 WW Standard deviation of vertical velocity Pa s**-1
|
||||||
|
228 228 TP Total precipitation m
|
||||||
|
229 229 IEWS Instantaneous X surface stress N m**-2
|
||||||
|
230 230 INSS Instantaneous Y surface stress N m**-2
|
||||||
|
231 231 ISHF Instantaneous surface heat flux W m**-2
|
||||||
|
232 232 IE Instantaneous moisture flux kg m**-2 s**-1
|
||||||
|
233 233 ASQ Apparent surface humidity kg kg**-1
|
||||||
|
234 234 LSRH Logarithm of surface roughness length for heat
|
||||||
|
235 235 SKT Skin temperature K
|
||||||
|
236 236 STL4 Soil temperature level 4 K
|
||||||
|
237 237 SWL4 Soil wetness level 4 m
|
||||||
|
238 238 TSN Temperature of snow layer K
|
||||||
|
239 239 CSF Convective snowfall kg m**-2 s**-1
|
||||||
|
240 240 LSF Large scale snowfall kg m**-2 s**-1
|
||||||
|
241 241 CLWCER Cloud liquid water content kg kg**-1
|
||||||
|
242 242 CC Cloud cover (0 - 1)
|
||||||
|
243 243 FAL Forecast albedo
|
||||||
|
244 244 FSR Forecast surface roughness m
|
||||||
|
245 245 FLSR Forecast logarithm of surface roughness for heat
|
||||||
|
246 246 10WS 10 metre wind speed m s**-1
|
||||||
|
247 247 MOFL Momentum flux N m**-2
|
||||||
|
249 249 - Gravity wave dissipation flux W m**-2
|
||||||
|
254 254 HSD Heaviside beta function (0 - 1)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,78 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
51 51 - Surface geopotential m**2 s**-2
|
||||||
|
52 52 - Surface pressure Pa
|
||||||
|
53 53 - Vertical integral of mass of atmosphere kg m**-2
|
||||||
|
54 54 - Vertical integral of temperature K kg m**-2
|
||||||
|
55 55 - Vertical integral of water vapour kg m**-2
|
||||||
|
56 56 - Vertical integral of cloud liquid water kg m**-2
|
||||||
|
57 57 - Vertical integral of cloud frozen water kg m**-2
|
||||||
|
58 58 - Vertical integral of ozone kg m**-2
|
||||||
|
59 59 - Vertical integral of kinetic energy J m**-2
|
||||||
|
60 60 - Vertical integral of thermal energy J m**-2
|
||||||
|
61 61 - Vertical integral of potential+internal energy J m**-2
|
||||||
|
62 62 - Vertical integral of potential+internal+latent energy J m**-2
|
||||||
|
63 63 - Vertical integral of total energy J m**-2
|
||||||
|
64 64 - Vertical integral of energy conversion W m**-2
|
||||||
|
65 65 - Vertical integral of eastward mass flux kg m**-1 s**-1
|
||||||
|
66 66 - Vertical integral of northward mass flux kg m**-1 s**-1
|
||||||
|
67 67 - Vertical integral of eastward kinetic energy flux W m**-2
|
||||||
|
68 68 - Vertical integral of northward kinetic energy flux W m**-2
|
||||||
|
69 69 - Vertical integral of eastward heat flux W m**-2
|
||||||
|
70 70 - Vertical integral of northward heat flux W m**-2
|
||||||
|
71 71 - Vertical integral of eastward water vapour flux kg m**-1 s**-1
|
||||||
|
72 72 - Vertical integral of northward water vapour flux kg m**-1 s**-1
|
||||||
|
73 73 - Vertical integral of eastward geopotential flux W m**-2
|
||||||
|
74 74 - Vertical integral of northward geopotential flux W m**-2
|
||||||
|
75 75 - Vertical integral of eastward total energy flux W m**-2
|
||||||
|
76 76 - Vertical integral of northward total energy flux W m**-2
|
||||||
|
77 77 - Vertical integral of eastward ozone flux kg m**-1 s**-1
|
||||||
|
78 78 - Vertical integral of northward ozone flux kg m**-1 s**-1
|
||||||
|
81 81 - Vertical integral of divergence of mass flux kg m**-2 s**-1
|
||||||
|
82 82 - Vertical integral of divergence of kinetic energy flux W m**-2
|
||||||
|
83 83 - Vertical integral of divergence of thermal energy flux W m**-2
|
||||||
|
84 84 - Vertical integral of divergence of moisture flux kg m**-2 s**-1
|
||||||
|
85 85 - Vertical integral of divergence of geopotential flux W m**-2
|
||||||
|
86 86 - Vertical integral of divergence of total energy flux W m**-2
|
||||||
|
87 87 - Vertical integral of divergence of ozone flux kg m**-2 s**-1
|
||||||
|
100 100 - Tendency of short wave radiation K
|
||||||
|
101 101 - Tendency of long wave radiation K
|
||||||
|
102 102 - Tendency of clear sky short wave radiation K
|
||||||
|
103 103 - Tendency of clear sky long wave radiation K
|
||||||
|
104 104 - Updraught mass flux kg m**-2
|
||||||
|
105 105 - Downdraught mass flux kg m**-2
|
||||||
|
106 106 - Updraught detrainment rate kg m**-3
|
||||||
|
107 107 - Downdraught detrainment rate kg m**-3
|
||||||
|
108 108 - Total precipitation flux kg m**-2
|
||||||
|
109 109 - Turbulent diffusion coefficient for heat m**2
|
||||||
|
110 110 - Tendency of temperature due to physics K
|
||||||
|
111 111 - Tendency of specific humidity due to physics kg kg**-1
|
||||||
|
112 112 - Tendency of u component due to physics m s**-1
|
||||||
|
113 113 - Tendency of v component due to physics m s**-1
|
||||||
|
206 206 - Variance of geopotential m**4 s**-4
|
||||||
|
207 207 - Covariance of geopotential/temperature m**2 K s**-2
|
||||||
|
208 208 - Variance of temperature K**2
|
||||||
|
209 209 - Covariance of geopotential/specific humidity m**2 s**-2
|
||||||
|
210 210 - Covariance of temperature/specific humidity K
|
||||||
|
211 211 - Variance of specific humidity
|
||||||
|
212 212 - Covariance of u component/geopotential M**3 s**-3
|
||||||
|
213 213 - Covariance of u component/temperature m s**-1 K
|
||||||
|
214 214 - Covariance of u component/specific humidity m s**-1
|
||||||
|
215 215 - Variance of u component m**2 s**-2
|
||||||
|
216 216 - Covariance of v component/geopotential M**3 s**-3
|
||||||
|
217 217 - Covariance of v component/temperature m s**-1 K
|
||||||
|
218 218 - Covariance of v component/specific humidity m s**-1
|
||||||
|
219 219 - Covariance of v component/u component m**2 s**-2
|
||||||
|
220 220 - Variance of v component m**2 s**-2
|
||||||
|
221 221 - Covariance of omega/geopotential m**2 Pa s**-3
|
||||||
|
222 222 - Covariance of omega/temperature Pa s**-1 K
|
||||||
|
223 223 - Covariance of omega/specific humidity Pa s**-1
|
||||||
|
224 224 - Covariance of omega/u component m Pa s**-2
|
||||||
|
225 225 - Covariance of omega/v component m Pa s**-2
|
||||||
|
226 226 - Variance of omega Pa**2 s**-2
|
||||||
|
227 227 - Variance of surface pressure Pa**2
|
||||||
|
229 229 - Variance of relative humidity dimensionless
|
||||||
|
230 230 - Covariance of u component/ozone m s**-1
|
||||||
|
231 231 - Covariance of v component/ozone m s**-1
|
||||||
|
232 232 - Covariance of omega/ozone Pa s**-1
|
||||||
|
233 233 - Variance of ozone dimensionless
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,18 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
129 129 Z Geopotential m**2 s**-2
|
||||||
|
130 130 T Temperature K
|
||||||
|
131 131 U U velocity m s**-1
|
||||||
|
132 132 V V velocity m s**-1
|
||||||
|
138 138 VO Vorticity (relative) s**-1
|
||||||
|
140 140 SWL1 Soil wetness level 1 m
|
||||||
|
141 141 SD Snow depth m of water equivalent
|
||||||
|
149 149 TSW Total soil moisture m
|
||||||
|
151 151 MSL Mean sea level pressure Pa
|
||||||
|
155 155 D Divergence s**-1
|
||||||
|
171 171 SWL2 Soil wetness level 2 m
|
||||||
|
179 179 TTR Top thermal radiation W m-2
|
||||||
|
184 184 SWL3 Soil wetness level 3 m
|
||||||
|
201 201 MX2T Maximum temperature at 2 metres K
|
||||||
|
202 202 MN2T Minimum temperature at 2 metres K
|
||||||
|
228 228 TP Total precipitation m
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,185 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 - Stream function anomaly (m**2 s**-1)
|
||||||
|
2 2 - Velocity potential anomaly (m**2 s**-1)
|
||||||
|
3 3 - Potential temperature anomaly (K)
|
||||||
|
4 4 - Equivalent potential temperature anomaly (K)
|
||||||
|
5 5 - Saturated equivalent potential temperature anomaly (K)
|
||||||
|
11 11 - U component of divergent wind anomaly (m s**-1)
|
||||||
|
12 12 - V component of divergent wind anomaly (m s**-1)
|
||||||
|
13 13 - U component of rotational wind anomaly (m s**-1)
|
||||||
|
14 14 - V component of rotational wind anomaly (m s**-1)
|
||||||
|
21 21 - Unbalanced component of temperature anomaly (K)
|
||||||
|
22 22 - Unbalanced component of logarithm of surface pressure anomaly
|
||||||
|
23 23 - Unbalanced component of divergence anomaly (s**-1)
|
||||||
|
26 26 - Lake cover anomaly (0 - 1)
|
||||||
|
27 27 - Low vegetation cover anomaly (0 - 1)
|
||||||
|
28 28 - High vegetation cover anomaly (0 - 1)
|
||||||
|
29 29 - Type of low vegetation anomaly
|
||||||
|
30 30 - Type of high vegetation anomaly
|
||||||
|
31 31 - Sea-ice cover anomaly (0 - 1)
|
||||||
|
32 32 - Snow albedo anomaly (0 - 1)
|
||||||
|
33 33 - Snow density anomaly (kg m**-3)
|
||||||
|
34 34 - Sea surface temperature anomaly (K)
|
||||||
|
35 35 - Ice surface temperature anomaly layer 1 (K)
|
||||||
|
36 36 - Ice surface temperature anomaly layer 2 (K)
|
||||||
|
37 37 - Ice surface temperature anomaly layer 3 (K)
|
||||||
|
38 38 - Ice surface temperature anomaly layer 4 (K)
|
||||||
|
39 39 - Volumetric soil water anomaly layer 1 (m**3 m**-3)
|
||||||
|
40 40 - Volumetric soil water anomaly layer 2 (m**3 m**-3)
|
||||||
|
41 41 - Volumetric soil water anomaly layer 3 (m**3 m**-3)
|
||||||
|
42 42 - Volumetric soil water anomaly layer 4 (m**3 m**-3)
|
||||||
|
43 43 - Soil type anomaly
|
||||||
|
44 44 - Snow evaporation anomaly m of water
|
||||||
|
45 45 - Snowmelt anomaly m of water
|
||||||
|
46 46 - Solar duration anomaly s
|
||||||
|
47 47 - Direct solar radiation anomaly (w m**-2)
|
||||||
|
48 48 - Magnitude of surface stress anomaly (N m**-2 s)
|
||||||
|
49 49 - 10 metre wind gust anomaly (m s**-1)
|
||||||
|
50 50 - Large-scale precipitation fraction anomaly (s)
|
||||||
|
51 51 - Maximum 2 metre temperature in the last 24 hours anomaly (K)
|
||||||
|
52 52 - Minimum 2 metre temperature in the last 24 hours anomaly (K)
|
||||||
|
53 53 - Montgomery potential anomaly (m**2 s**-2)
|
||||||
|
54 54 - Pressure anomaly (Pa)
|
||||||
|
55 55 - Mean 2 metre temperature in the last 24 hours anomaly (K)
|
||||||
|
56 56 - Mean 2 metre dewpoint temperature in the last 24 hours anomaly (K)
|
||||||
|
57 57 - Downward UV radiation at the surface anomaly (w m**-2)
|
||||||
|
58 58 - Photosynthetically active radiation at the surface anomaly (w m**-2)
|
||||||
|
59 59 - Convective available potential energy anomaly (J kg**-1)
|
||||||
|
60 60 - Potential vorticity anomaly (K m**2 kg**-1 s**-1)
|
||||||
|
61 61 - Total precipitation from observations anomaly (Millimetres*100 + number of stations)
|
||||||
|
62 62 - Observation count anomaly
|
||||||
|
63 63 - Start time for skin temperature difference anomaly (s)
|
||||||
|
64 64 - Finish time for skin temperature difference anomaly (s)
|
||||||
|
65 65 - Skin temperature difference anomaly (K)
|
||||||
|
78 78 - Total column liquid water anomaly (kg m**-2)
|
||||||
|
79 79 - Total column ice water anomaly (kg m**-2)
|
||||||
|
125 125 - Vertically integrated total energy anomaly (J m**-2)
|
||||||
|
126 126 - Generic parameter for sensitive area prediction Various
|
||||||
|
127 127 - Atmospheric tide anomaly
|
||||||
|
128 128 - Budget values anomaly
|
||||||
|
129 129 - Geopotential anomaly (m**2 s**-2)
|
||||||
|
130 130 - Temperature anomaly (K)
|
||||||
|
131 131 - U component of wind anomaly (m s**-1)
|
||||||
|
132 132 - V component of wind anomaly (m s**-1)
|
||||||
|
133 133 - Specific humidity anomaly (kg kg**-1)
|
||||||
|
134 134 - Surface pressure anomaly (Pa)
|
||||||
|
135 135 - Vertical velocity (pressure) anomaly (Pa s**-1)
|
||||||
|
136 136 - Total column water anomaly (kg m**-2)
|
||||||
|
137 137 - Total column water vapour anomaly (kg m**-2)
|
||||||
|
138 138 - Relative vorticity anomaly (s**-1)
|
||||||
|
139 139 - Soil temperature anomaly level 1 (K)
|
||||||
|
140 140 - Soil wetness anomaly level 1 (m of water)
|
||||||
|
141 141 - Snow depth anomaly m of water equivalent
|
||||||
|
142 142 - Stratiform precipitation (Large-scale precipitation) anomaly (m)
|
||||||
|
143 143 - Convective precipitation anomaly (m)
|
||||||
|
144 144 - Snowfall (convective + stratiform) anomaly m of water equivalent
|
||||||
|
145 145 - Boundary layer dissipation anomaly (W m**-2 s)
|
||||||
|
146 146 - Surface sensible heat flux anomaly (W m**-2 s)
|
||||||
|
147 147 - Surface latent heat flux anomaly (W m**-2 s)
|
||||||
|
148 148 - Charnock anomaly
|
||||||
|
149 149 - Surface net radiation anomaly (W m**-2 s)
|
||||||
|
150 150 - Top net radiation anomaly
|
||||||
|
151 151 - Mean sea level pressure anomaly (Pa)
|
||||||
|
152 152 - Logarithm of surface pressure anomaly
|
||||||
|
153 153 - Short-wave heating rate anomaly (K)
|
||||||
|
154 154 - Long-wave heating rate anomaly (K)
|
||||||
|
155 155 - Relative divergence anomaly (s**-1)
|
||||||
|
156 156 - Height anomaly (m)
|
||||||
|
157 157 - Relative humidity anomaly (%)
|
||||||
|
158 158 - Tendency of surface pressure anomaly (Pa s**-1)
|
||||||
|
159 159 - Boundary layer height anomaly (m)
|
||||||
|
160 160 - Standard deviation of orography anomaly
|
||||||
|
161 161 - Anisotropy of sub-gridscale orography anomaly
|
||||||
|
162 162 - Angle of sub-gridscale orography anomaly
|
||||||
|
163 163 - Slope of sub-gridscale orography anomaly
|
||||||
|
164 164 - Total cloud cover anomaly (0 - 1)
|
||||||
|
165 165 - 10 metre U wind component anomaly (m s**-1)
|
||||||
|
166 166 - 10 metre V wind component anomaly (m s**-1)
|
||||||
|
167 167 - 2 metre temperature anomaly (K)
|
||||||
|
168 168 - 2 metre dewpoint temperature anomaly (K)
|
||||||
|
169 169 - Surface solar radiation downwards anomaly (W m**-2 s)
|
||||||
|
170 170 - Soil temperature anomaly level 2 (K)
|
||||||
|
171 171 - Soil wetness anomaly level 2 m of water
|
||||||
|
172 172 - Land-sea mask (0 - 1)
|
||||||
|
173 173 - Surface roughness anomaly (m)
|
||||||
|
174 174 - Albedo anomaly (0 - 1)
|
||||||
|
175 175 - Surface thermal radiation downwards anomaly (W m**-2 s)
|
||||||
|
176 176 - Surface solar radiation anomaly (W m**-2 s)
|
||||||
|
177 177 - Surface thermal radiation anomaly (W m**-2 s)
|
||||||
|
178 178 - Top solar radiation anomaly (W m**-2 s)
|
||||||
|
179 179 - Top thermal radiation anomaly (W m**-2 s)
|
||||||
|
180 180 - East-West surface stress anomaly (N m**-2 s)
|
||||||
|
181 181 - North-South surface stress anomaly (N m**-2 s)
|
||||||
|
182 182 - Evaporation anomaly (m of water anomaly)
|
||||||
|
183 183 - Soil temperature anomaly level 3 (K)
|
||||||
|
184 184 - Soil wetness anomaly level 3 m of water
|
||||||
|
185 185 - Convective cloud cover anomaly (0 - 1)
|
||||||
|
186 186 - Low cloud cover anomaly (0 - 1)
|
||||||
|
187 187 - Medium cloud cover anomaly (0 - 1)
|
||||||
|
188 188 - High cloud cover anomaly (0 - 1)
|
||||||
|
189 189 - Sunshine duration anomaly (s)
|
||||||
|
190 190 - East-West component of sub-gridscale orographic variance anomaly (m**2)
|
||||||
|
191 191 - North-South component of sub-gridscale orographic variance anomaly (m**2)
|
||||||
|
192 192 - North-West/South-East component of sub-gridscale orographic variance anomaly (m**2)
|
||||||
|
193 193 - North-East/South-West component of sub-gridscale orographic variance anomaly (m**2)
|
||||||
|
194 194 - Brightness temperature anomaly (K)
|
||||||
|
195 195 - Longitudinal component of gravity wave stress anomaly (N m**-2 s)
|
||||||
|
196 196 - Meridional component of gravity wave stress anomaly (N m**-2 s)
|
||||||
|
197 197 - Gravity wave dissipation anomaly (W m**-2 s)
|
||||||
|
198 198 - Skin reservoir content anomaly (m of water)
|
||||||
|
199 199 - Vegetation fraction anomaly (0 - 1)
|
||||||
|
200 200 - Variance of sub-gridscale orography anomaly (m**2)
|
||||||
|
201 201 - Maximum temperature at 2 metres anomaly (K)
|
||||||
|
202 202 - Minimum temperature at 2 metres anomaly (K)
|
||||||
|
203 203 - Ozone mass mixing ratio (kg kg**-1)
|
||||||
|
204 204 - Precipitation analysis weights
|
||||||
|
205 205 - Runoff (m)
|
||||||
|
206 206 - Total column ozone (kg m**-2)
|
||||||
|
207 207 - 10 metre wind speed (m s**-1)
|
||||||
|
208 208 - Top net solar radiation, clear sky (W m**-2 s)
|
||||||
|
209 209 - Top net thermal radiation, clear sky (W m**-2 s)
|
||||||
|
210 210 - Surface net solar radiation, clear sky (W m**-2 s)
|
||||||
|
211 211 - Surface net thermal radiation, clear sky (W m**-2 s)
|
||||||
|
212 212 - Solar insolation (W m**-2)
|
||||||
|
214 214 - Diabatic heating by radiation (K)
|
||||||
|
215 215 - Diabatic heating by vertical diffusion (K)
|
||||||
|
216 216 - Diabatic heating by cumulus convection (K)
|
||||||
|
217 217 - Diabatic heating by large-scale condensation (K)
|
||||||
|
218 218 - Vertical diffusion of zonal wind (m s**-1)
|
||||||
|
219 219 - Vertical diffusion of meridional wind (m s**-1)
|
||||||
|
220 220 - East-West gravity wave drag tendency (m s**-1)
|
||||||
|
221 221 - North-South gravity wave drag tendency (m s**-1)
|
||||||
|
222 222 - Convective tendency of zonal wind (m s**-1)
|
||||||
|
223 223 - Convective tendency of meridional wind (m s**-1)
|
||||||
|
224 224 - Vertical diffusion of humidity anomaly (kg kg**-1)
|
||||||
|
225 225 - Humidity tendency by cumulus convection anomaly (kg kg**-1)
|
||||||
|
226 226 - Humidity tendency by large-scale condensation anomaly (kg kg**-1)
|
||||||
|
227 227 - Change from removal of negative humidity anomaly (kg kg**-1)
|
||||||
|
228 228 - Total precipitation anomaly (m)
|
||||||
|
229 229 - Instantaneous X surface stress anomaly (N m**-2)
|
||||||
|
230 230 - Instantaneous Y surface stress anomaly (N m**-2)
|
||||||
|
231 231 - Instantaneous surface heat flux anomaly (W m**-2)
|
||||||
|
232 232 - Instantaneous moisture flux anomaly (kg m**-2 s)
|
||||||
|
233 233 - Apparent surface humidity anomaly (kg kg**-1)
|
||||||
|
234 234 - Logarithm of surface roughness length for heat anomaly
|
||||||
|
235 235 - Skin temperature anomaly (K)
|
||||||
|
236 236 - Soil temperature level 4 anomaly (K)
|
||||||
|
237 237 - Soil wetness level 4 anomaly (m)
|
||||||
|
238 238 - Temperature of snow layer anomaly (K)
|
||||||
|
239 239 - Convective snowfall anomaly (m of water equivalent)
|
||||||
|
240 240 - Large scale snowfall anomaly (m of water equivalent)
|
||||||
|
241 241 - Accumulated cloud fraction tendency anomaly (-1 to 1)
|
||||||
|
242 242 - Accumulated liquid water tendency anomaly (-1 to 1)
|
||||||
|
243 243 - Forecast albedo anomaly (0 - 1)
|
||||||
|
244 244 - Forecast surface roughness anomaly (m)
|
||||||
|
245 245 - Forecast logarithm of surface roughness for heat anomaly
|
||||||
|
246 246 - Cloud liquid water content anomaly (kg kg**-1)
|
||||||
|
247 247 - Cloud ice water content anomaly (kg kg**-1)
|
||||||
|
248 248 - Cloud cover anomaly (0 - 1)
|
||||||
|
249 249 - Accumulated ice water tendency anomaly (-1 to 1)
|
||||||
|
250 250 - Ice age anomaly (0 - 1)
|
||||||
|
251 251 - Adiabatic tendency of temperature anomaly (K)
|
||||||
|
252 252 - Adiabatic tendency of humidity anomaly (kg kg**-1)
|
||||||
|
253 253 - Adiabatic tendency of zonal wind anomaly (m s**-1)
|
||||||
|
254 254 - Adiabatic tendency of meridional wind anomaly (m s**-1)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,37 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
44 44 - Snow evaporation m of water (s**-1)
|
||||||
|
45 45 - Snowmelt m of water (s**-1)
|
||||||
|
48 48 - Magnitude of surface stress (N m**-2)
|
||||||
|
50 50 - Large-scale precipitation fraction
|
||||||
|
142 142 - Stratiform precipitation (Large-scale precipitation) (m s**-1)
|
||||||
|
143 143 - Convective precipitation (m s**-1)
|
||||||
|
144 144 - Snowfall (convective + stratiform) (m of water equivalent s**-1)
|
||||||
|
145 145 - Boundary layer dissipation (W m**-2)
|
||||||
|
146 146 - Surface sensible heat flux (W m**-2)
|
||||||
|
147 147 - Surface latent heat flux 9W m**-2)
|
||||||
|
149 149 - Surface net radiation (W m**-2)
|
||||||
|
153 153 - Short-wave heating rate (K s**-1)
|
||||||
|
154 154 - Long-wave heating rate (K s**-1)
|
||||||
|
169 169 - Surface solar radiation downwards (W m**-2)
|
||||||
|
175 175 - Surface thermal radiation downwards (W m**-2)
|
||||||
|
176 176 - Surface solar radiation (W m**-2)
|
||||||
|
177 177 - Surface thermal radiation (W m**-2)
|
||||||
|
178 178 - Top solar radiation (W m**-2)
|
||||||
|
179 179 - Top thermal radiation (W m**-2)
|
||||||
|
180 180 - East-West surface stress (N m**-2)
|
||||||
|
181 181 - North-South surface stress (N m**-2)
|
||||||
|
182 182 - Evaporation m of water (s**-1)
|
||||||
|
189 189 - Sunshine duration
|
||||||
|
195 195 - Longitudinal component of gravity wave stress (N m**-2)
|
||||||
|
196 196 - Meridional component of gravity wave stress (N m**-2)
|
||||||
|
197 197 - Gravity wave dissipation (W m**-2)
|
||||||
|
205 205 - Runoff (m s**-1)
|
||||||
|
208 208 - Top net solar radiation, clear sky (W m**-2)
|
||||||
|
209 209 - Top net thermal radiation, clear sky (W m**-2)
|
||||||
|
210 210 - Surface net solar radiation, clear sky (W m**-2)
|
||||||
|
211 211 - Surface net thermal radiation, clear sky (W m**-2)
|
||||||
|
212 212 - Solar insolation (W m**-2 s**-1)
|
||||||
|
228 228 - Total precipitation (m s**-1)
|
||||||
|
239 239 - Convective snowfall m of water equivalent (s**-1)
|
||||||
|
240 240 - Large scale snowfall m of water equivalent (s**-1)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,37 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
44 44 - Snow evaporation anomaly m of water (s**-1)
|
||||||
|
45 45 - Snowmelt anomaly m of water (s**-1)
|
||||||
|
48 48 - Magnitude of surface stress anomaly (N m**-2)
|
||||||
|
50 50 - Large-scale precipitation fraction anomaly
|
||||||
|
142 142 - Stratiform precipitation (Large-scale precipitation) anomaly (m s**-1)
|
||||||
|
143 143 - Convective precipitation anomaly (m s**-1)
|
||||||
|
144 144 - Snowfall (convective + stratiform) anomalous rate of accumulation (m of water equivalent s**-1)
|
||||||
|
145 145 - Boundary layer dissipation anomaly (W m**-2)
|
||||||
|
146 146 - Surface sensible heat flux anomaly (W m**-2)
|
||||||
|
147 147 - Surface latent heat flux anomaly (W m**-2)
|
||||||
|
149 149 - Surface net radiation anomaly (W m**-2)
|
||||||
|
153 153 - Short-wave heating rate anomaly (K s**-1)
|
||||||
|
154 154 - Long-wave heating rate anomaly (K s**-1)
|
||||||
|
169 169 - Surface solar radiation downwards anomaly (W m**-2)
|
||||||
|
175 175 - Surface thermal radiation downwards anomaly (W m**-2)
|
||||||
|
176 176 - Surface solar radiation anomaly (W m**-2)
|
||||||
|
177 177 - Surface thermal radiation anomaly (W m**-2)
|
||||||
|
178 178 - Top solar radiation anomaly (W m**-2)
|
||||||
|
179 179 - Top thermal radiation anomaly (W m**-2)
|
||||||
|
180 180 - East-West surface stress anomaly (N m**-2)
|
||||||
|
181 181 - North-South surface stress anomaly (N m**-2)
|
||||||
|
182 182 - Evaporation anomaly (m of water s**-1)
|
||||||
|
189 189 - Sunshine duration anomalous rate of accumulation
|
||||||
|
195 195 - Longitudinal component of gravity wave stress anomaly (N m**-2)
|
||||||
|
196 196 - Meridional component of gravity wave stress anomaly (N m**-2)
|
||||||
|
197 197 - Gravity wave dissipation anomaly (W m**-2)
|
||||||
|
205 205 - Runoff anomaly (m s**-1)
|
||||||
|
208 208 - Top net solar radiation, clear sky anomaly (W m**-2)
|
||||||
|
209 209 - Top net thermal radiation, clear sky anomaly (W m**-2)
|
||||||
|
210 210 - Surface net solar radiation, clear sky anomaly (W m**-2)
|
||||||
|
211 211 - Surface net thermal radiation, clear sky anomaly (W m**-2)
|
||||||
|
212 212 - Solar insolation anomaly (W m**-2 s**-1)
|
||||||
|
228 228 - Total precipitation anomalous rate of accumulation (m s**-1)
|
||||||
|
239 239 - Convective snowfall anomaly (m of water equivalent s**-1)
|
||||||
|
240 240 - Large scale snowfall anomaly (m of water equivalent s**-1)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,53 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
6 6 - Total soil moisture (m)
|
||||||
|
8 8 SRO Surface runoff (kg m**-2)
|
||||||
|
9 9 SSRO Sub-surface runoff (kg m**-2)
|
||||||
|
10 10 - Clear-sky II down surface sw flux
|
||||||
|
13 13 - Clear-sky II up surface sw flux
|
||||||
|
25 25 - Visibility at 1.5m
|
||||||
|
31 31 - Fraction of sea-ice in sea (0 - 1)
|
||||||
|
34 34 - Open-sea surface temperature (K)
|
||||||
|
39 39 - Volumetric soil water layer 1 (m**3 m**-3)
|
||||||
|
40 40 - Volumetric soil water layer 2 (m**3 m**-3)
|
||||||
|
41 41 - Volumetric soil water layer 3 (m**3 m**-3)
|
||||||
|
42 42 - Volumetric soil water layer 4 (m**3 m**-3)
|
||||||
|
49 49 - 10 metre wind gust in the last 24 hours (m s**-1)
|
||||||
|
50 50 - Minimum temperature at 1.5m since previous post-processing (K)
|
||||||
|
51 51 - Maximum temperature at 1.5m since previous post-processing (K)
|
||||||
|
52 52 - Relative humidity at 1.5m
|
||||||
|
55 55 - 1.5m temperature - mean in the last 24 hours (K)
|
||||||
|
83 83 - Net primary productivity (kg C m**-2 s**-1)
|
||||||
|
85 85 - 10m U wind over land (m s**-1)
|
||||||
|
86 86 - 10m V wind over land (m s**-1)
|
||||||
|
87 87 - 1.5m temperature over land (K)
|
||||||
|
88 88 - 1.5m dewpoint temperature over land (K)
|
||||||
|
89 89 - Top incoming solar radiation (W m**-2 s)
|
||||||
|
90 90 - Top outgoing solar radiation (W m**-2 s)
|
||||||
|
94 94 - Mean sea surface temperature (K)
|
||||||
|
95 95 - 1.5m specific humidity (kg kg**-1)
|
||||||
|
98 98 - Sea-ice thickness (m)
|
||||||
|
99 99 - Liquid water potential temperature (K)
|
||||||
|
110 110 - Ocean ice concentration (0 - 1)
|
||||||
|
111 111 - Ocean mean ice depth (m)
|
||||||
|
116 116 - Short wave radiation flux at surface (J m**-2)
|
||||||
|
117 117 - Short wave radiation flux at top of atmosphere (J m**-2)
|
||||||
|
137 137 - Total column water vapour (kg m**-2)
|
||||||
|
139 139 - Soil temperature layer 1 (K)
|
||||||
|
142 142 - Large scale rainfall rate
|
||||||
|
143 143 - Convective rainfall rate
|
||||||
|
164 164 - Average potential temperature in upper 293.4m (degrees C)
|
||||||
|
167 167 - 1.5m temperature (K)
|
||||||
|
168 168 - 1.5m dewpoint temperature (K)
|
||||||
|
170 170 - Soil temperature layer 2 (K)
|
||||||
|
172 172 - Fractional land mask (0 - 1)
|
||||||
|
175 175 - Average salinity in upper 293.4m psu
|
||||||
|
183 183 - Soil temperature layer 3 (K)
|
||||||
|
186 186 - Very low cloud amount
|
||||||
|
201 201 - 1.5m temperature - maximum in the last 24 hours (K)
|
||||||
|
202 202 - 1.5m temperature - minimum in the last 24 hours (K)
|
||||||
|
236 236 - Soil temperature layer 4 (K)
|
||||||
|
239 239 - Convective snowfall rate
|
||||||
|
240 240 - Large scale snowfall rate
|
||||||
|
248 248 - Total cloud amount - random overlap
|
||||||
|
249 249 - Total cloud amount in lw radiation
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,31 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
6 6 - Total soil moisture (m)
|
||||||
|
31 31 - Fraction of sea-ice in sea (0 - 1)
|
||||||
|
34 34 - Open-sea surface temperature (K)
|
||||||
|
39 39 - Volumetric soil water layer 1 (m**3 m**-3)
|
||||||
|
40 40 - Volumetric soil water layer 2 (m**3 m**-3)
|
||||||
|
41 41 - Volumetric soil water layer 3 (m**3 m**-3)
|
||||||
|
42 42 - Volumetric soil water layer 4 (m**3 m**-3)
|
||||||
|
49 49 - 10m wind gust in the last 24 hours (m s**-1)
|
||||||
|
55 55 - 1.5m temperature - mean in the last 24 hours (K)
|
||||||
|
83 83 - Net primary productivity (kg C m**-2 s**-1)
|
||||||
|
85 85 - 10m U wind over land (m s**-1)
|
||||||
|
86 86 - 10m V wind over land (m s**-1)
|
||||||
|
87 87 - 1.5m temperature over land (K)
|
||||||
|
88 88 - 1.5m dewpoint temperature over land (K)
|
||||||
|
89 89 - Top incoming solar radiation (W m**-2 s)
|
||||||
|
90 90 - Top outgoing solar radiation (W m**-2 s)
|
||||||
|
110 110 - Ocean ice concentration (0 - 1)
|
||||||
|
111 111 - Ocean mean ice depth (m)
|
||||||
|
139 139 - Soil temperature layer 1 (K)
|
||||||
|
164 164 - Average potential temperature in upper 293.4m degrees C
|
||||||
|
167 167 - 1.5m temperature (K)
|
||||||
|
168 168 - 1.5m dewpoint temperature (K)
|
||||||
|
170 170 - Soil temperature layer 2 (K)
|
||||||
|
172 172 - Fractional land mask (0 - 1)
|
||||||
|
175 175 - Average salinity in upper 293.4m psu
|
||||||
|
183 183 - Soil temperature layer 3 (K)
|
||||||
|
201 201 - 1.5m temperature - maximum in the last 24 hours (K)
|
||||||
|
202 202 - 1.5m temperature - minimum in the last 24 hours (K)
|
||||||
|
236 236 - Soil temperature layer 4 (K)
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,33 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
129 129 Z Geopotential m**2 s**-2
|
||||||
|
130 130 T Temperature K
|
||||||
|
131 131 U U velocity m s**-1
|
||||||
|
132 132 V V velocity m s**-1
|
||||||
|
133 133 Q Specific humidity kg kg**-1
|
||||||
|
134 134 SP Surface pressure Pa
|
||||||
|
137 137 TCWV Total column water vapour kg m**-2
|
||||||
|
138 138 VO Vorticity (relative) s**-1
|
||||||
|
141 141 SD Snow depth m of water equivalent
|
||||||
|
142 142 LSP Large-scale precipitation m
|
||||||
|
143 143 CP Convective precipitation m
|
||||||
|
144 144 SF Snowfall m of water equivalent
|
||||||
|
146 146 SSHF Surface sensible heat flux W m**-2 s
|
||||||
|
147 147 SLHF Surface latent heat flux W m**-2 s
|
||||||
|
149 149 TSW Total soil wetness m
|
||||||
|
151 151 MSL Mean sea level pressure Pa
|
||||||
|
155 155 D Divergence s**-1
|
||||||
|
164 164 TCC Total cloud cover (0 - 1)
|
||||||
|
165 165 10U 10 metre U wind component m s**-1
|
||||||
|
166 166 10V 10 metre V wind component m s**-1
|
||||||
|
167 167 2T 2 metre temperature K
|
||||||
|
168 168 2D 2 metre dewpoint temperature K
|
||||||
|
172 172 LSM Land-sea mask (0 - 1)
|
||||||
|
176 176 SSR Surface solar radiation J m**-2 s
|
||||||
|
177 177 STR Surface thermal radiation J m**-2 s
|
||||||
|
178 178 TSR Top solar radiation J m**-2 s
|
||||||
|
179 179 TTR Top thermal radiation J m**-2 s
|
||||||
|
180 180 EWSS East-West surface stress N m**-2 s
|
||||||
|
181 181 NSSS North-South surface stress N m**-2 s
|
||||||
|
182 182 E Evaporation m of water
|
||||||
|
205 205 RO Runoff m
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,33 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
129 129 Z Geopotential m**2 s**-2
|
||||||
|
130 130 T Temperature K
|
||||||
|
131 131 U U velocity m s**-1
|
||||||
|
132 132 V V velocity m s**-1
|
||||||
|
133 133 Q Specific humidity kg kg**-1
|
||||||
|
139 139 STL1 Soil temperature level 1 K
|
||||||
|
141 141 SD Snow depth m of water
|
||||||
|
146 146 SSHF Surface sensible heat flux W m**-2 s
|
||||||
|
147 147 SLHF Surface latent heat flux W m**-2 s
|
||||||
|
151 151 MSL Mean sea level pressure Pa
|
||||||
|
164 164 TCC Total cloud cover (0 - 1)
|
||||||
|
165 165 10U 10 metre U wind component m s**-1
|
||||||
|
166 166 10V 10 metre V wind component m s**-1
|
||||||
|
167 167 2T 2 metre temperature K
|
||||||
|
168 168 2D 2 metre dewpoint temperature K
|
||||||
|
169 169 SSRD Downward surface solar radiation W m**-2 s (W m**-2 for monthly means)
|
||||||
|
170 170 CAP Field capacity ?
|
||||||
|
171 171 WILT Wilting points ?
|
||||||
|
172 172 LSM Land-sea mask (0 - 1)
|
||||||
|
173 173 SR Roughness length (0 - 1)
|
||||||
|
174 174 AL Albedo (0 - 1)
|
||||||
|
175 175 STRD Downward surface long wave radiation W m**-2 s (W m**-2 for monthly means)
|
||||||
|
176 176 SSR Surface net solar radiation W m**-2 s (W m**-2 for monthly means)
|
||||||
|
177 177 STR Surface net long wave radiation W m**-2 s (W m**-2 for monthly means)
|
||||||
|
178 178 TSR Top net solar radiation W m**-2 s (W m**-2 for monthly means)
|
||||||
|
179 179 TTR Top net long wave radiation W m**-2 s (W m**-2 for monthly means)
|
||||||
|
182 182 E Evaporation m (m s**-1 for monthly means)
|
||||||
|
201 201 MX2T Maximum 2 metre temperature K
|
||||||
|
202 202 MN2T Minimum 2 metre temperature K
|
||||||
|
228 228 TP Total precipitation m (m s**-1 for monthly means)
|
||||||
|
229 229 TSM Total soil moisture m**3 m**-3
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,237 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 STRF Stream function m**2 s**-1
|
||||||
|
2 2 VPOT Velocity potential m**2 s**-1
|
||||||
|
3 3 PT Potential temperature K
|
||||||
|
4 4 EQPT Equivalent potential temperature K
|
||||||
|
5 5 SEPT Saturated equivalent potential temperature K
|
||||||
|
11 11 UDVW U component of divergent wind m s**-1
|
||||||
|
12 12 VDVW V component of divergent wind m s**-1
|
||||||
|
13 13 URTW U component of rotational wind m s**-1
|
||||||
|
14 14 VRTW V component of rotational wind m s**-1
|
||||||
|
21 21 UCTP Unbalanced component of temperature K
|
||||||
|
22 22 UCLN Unbalanced component of logarithm of surface pressure
|
||||||
|
23 23 UCDV Unbalanced component of divergence s**-1
|
||||||
|
24 24 - Reserved for future unbalanced components
|
||||||
|
25 25 - Reserved for future unbalanced components
|
||||||
|
26 26 CL Lake cover (0 - 1)
|
||||||
|
27 27 CVL Low vegetation cover (0 - 1)
|
||||||
|
28 28 CVH High vegetation cover (0 - 1)
|
||||||
|
29 29 TVL Type of low vegetation
|
||||||
|
30 30 TVH Type of high vegetation
|
||||||
|
31 31 CI Sea-ice cover (0 - 1)
|
||||||
|
32 32 ASN Snow albedo (0 - 1)
|
||||||
|
33 33 RSN Snow density kg m**-3
|
||||||
|
34 34 SSTK Sea surface temperature K
|
||||||
|
35 35 ISTL1 Ice surface temperature layer 1 K
|
||||||
|
36 36 ISTL2 Ice surface temperature layer 2 K
|
||||||
|
37 37 ISTL3 Ice surface temperature layer 3 K
|
||||||
|
38 38 ISTL4 Ice surface temperature layer 4 K
|
||||||
|
39 39 SWVL1 Volumetric soil water layer 1 m**3 m**-3
|
||||||
|
40 40 SWVL2 Volumetric soil water layer 2 m**3 m**-3
|
||||||
|
41 41 SWVL3 Volumetric soil water layer 3 m**3 m**-3
|
||||||
|
42 42 SWVL4 Volumetric soil water layer 4 m**3 m**-3
|
||||||
|
43 43 SLT Soil type
|
||||||
|
44 44 ES Snow evaporation m of water
|
||||||
|
45 45 SMLT Snowmelt m of water
|
||||||
|
46 46 SDUR Solar duration s
|
||||||
|
47 47 DSRP Direct solar radiation w m**-2
|
||||||
|
48 48 MAGSS Magnitude of surface stress N m**-2 s
|
||||||
|
49 49 10FG 10 metre wind gust m s**-1
|
||||||
|
50 50 LSPF Large-scale precipitation fraction s
|
||||||
|
51 51 MX2T24 Maximum 2 metre temperature K
|
||||||
|
52 52 MN2T24 Minimum 2 metre temperature K
|
||||||
|
53 53 MONT Montgomery potential m**2 s**-2
|
||||||
|
54 54 PRES Pressure Pa
|
||||||
|
55 55 MEAN2T24 Mean 2 metre temperature in past 24 hours K
|
||||||
|
56 56 MN2D24 Mean 2 metre dewpoint temperature in past 24 hours K
|
||||||
|
57 57 UVB Downward UV radiation at the surface w m**-2 s
|
||||||
|
58 58 PAR Photosynthetically active radiation at the surface w m**-2 s
|
||||||
|
59 59 CAPE Convective available potential energy J kg**-1
|
||||||
|
60 60 PV Potential vorticity K m**2 kg**-1 s**-1
|
||||||
|
61 61 TPO Total precipitation from observations Millimetres*100 + number of stations
|
||||||
|
62 62 OBCT Observation count
|
||||||
|
63 63 - Start time for skin temperature difference s
|
||||||
|
64 64 - Finish time for skin temperature difference s
|
||||||
|
65 65 - Skin temperature difference K
|
||||||
|
66 66 - Leaf area index, low vegetation m**2 / m**2
|
||||||
|
67 67 - Leaf area index, high vegetation m**2 / m**2
|
||||||
|
68 68 - Minimum stomatal resistance, low vegetation s m**-1
|
||||||
|
69 69 - Minimum stomatal resistance, high vegetation s m**-1
|
||||||
|
70 70 - Biome cover, low vegetation (0 - 1)
|
||||||
|
71 71 - Biome cover, high vegetation (0 - 1)
|
||||||
|
78 78 - Total column liquid water kg m**-2
|
||||||
|
79 79 - Total column ice water kg m**-2
|
||||||
|
80 80 - Experimental product
|
||||||
|
81 81 - Experimental product
|
||||||
|
82 82 - Experimental product
|
||||||
|
83 83 - Experimental product
|
||||||
|
84 84 - Experimental product
|
||||||
|
85 85 - Experimental product
|
||||||
|
86 86 - Experimental product
|
||||||
|
87 87 - Experimental product
|
||||||
|
88 88 - Experimental product
|
||||||
|
89 89 - Experimental product
|
||||||
|
90 90 - Experimental product
|
||||||
|
91 91 - Experimental product
|
||||||
|
92 92 - Experimental product
|
||||||
|
93 93 - Experimental product
|
||||||
|
94 94 - Experimental product
|
||||||
|
95 95 - Experimental product
|
||||||
|
96 96 - Experimental product
|
||||||
|
97 97 - Experimental product
|
||||||
|
98 98 - Experimental product
|
||||||
|
99 99 - Experimental product
|
||||||
|
100 100 - Experimental product
|
||||||
|
101 101 - Experimental product
|
||||||
|
102 102 - Experimental product
|
||||||
|
103 103 - Experimental product
|
||||||
|
104 104 - Experimental product
|
||||||
|
105 105 - Experimental product
|
||||||
|
106 106 - Experimental product
|
||||||
|
107 107 - Experimental product
|
||||||
|
108 108 - Experimental product
|
||||||
|
109 109 - Experimental product
|
||||||
|
110 110 - Experimental product
|
||||||
|
111 111 - Experimental product
|
||||||
|
112 112 - Experimental product
|
||||||
|
113 113 - Experimental product
|
||||||
|
114 114 - Experimental product
|
||||||
|
115 115 - Experimental product
|
||||||
|
116 116 - Experimental product
|
||||||
|
117 117 - Experimental product
|
||||||
|
118 118 - Experimental product
|
||||||
|
119 119 - Experimental product
|
||||||
|
120 120 - Experimental product
|
||||||
|
121 121 MX2T6 Maximum temperature at 2 metres K
|
||||||
|
122 122 MN2T6 Minimum temperature at 2 metres K
|
||||||
|
123 123 10FG6 10 metre wind gust in the past 6 hours m s**-1
|
||||||
|
125 125 - Vertically integrated total energy J m**-2
|
||||||
|
126 126 - Generic parameter for sensitive area prediction Various
|
||||||
|
127 127 AT Atmospheric tide
|
||||||
|
128 128 BV Budget values
|
||||||
|
129 129 Z Geopotential m**2 s**-2
|
||||||
|
130 130 T Temperature K
|
||||||
|
131 131 U U velocity m s**-1
|
||||||
|
132 132 V V velocity m s**-1
|
||||||
|
133 133 Q Specific humidity kg kg**-1
|
||||||
|
134 134 SP Surface pressure Pa
|
||||||
|
135 135 W Vertical velocity Pa s**-1
|
||||||
|
136 136 TCW Total column water kg m**-2
|
||||||
|
137 137 TCWV Total column water vapour kg m**-2
|
||||||
|
138 138 VO Vorticity (relative) s**-1
|
||||||
|
139 139 STL1 Soil temperature level 1 K
|
||||||
|
140 140 SWL1 Soil wetness level 1 m of water
|
||||||
|
141 141 SD Snow depth m of water equivalent
|
||||||
|
142 142 LSP Stratiform precipitation (Large-scale precipitation) m
|
||||||
|
143 143 CP Convective precipitation m
|
||||||
|
144 144 SF Snowfall (convective + stratiform) m of water equivalent
|
||||||
|
145 145 BLD Boundary layer dissipation W m**-2 s
|
||||||
|
146 146 SSHF Surface sensible heat flux W m**-2 s
|
||||||
|
147 147 SLHF Surface latent heat flux W m**-2 s
|
||||||
|
148 148 CHNK Charnock
|
||||||
|
149 149 SNR Surface net radiation W m**-2 s
|
||||||
|
150 150 TNR Top net radiation
|
||||||
|
151 151 MSL Mean sea level pressure Pa
|
||||||
|
152 152 LNSP Logarithm of surface pressure
|
||||||
|
153 153 SWHR Short-wave heating rate K
|
||||||
|
154 154 LWHR Long-wave heating rate K
|
||||||
|
155 155 D Divergence s**-1
|
||||||
|
156 156 GH Height m
|
||||||
|
157 157 R Relative humidity %
|
||||||
|
158 158 TSP Tendency of surface pressure Pa s**-1
|
||||||
|
159 159 BLH Boundary layer height m
|
||||||
|
160 160 SDOR Standard deviation of orography
|
||||||
|
161 161 ISOR Anisotropy of sub-gridscale orography
|
||||||
|
162 162 ANOR Angle of sub-gridscale orography rad
|
||||||
|
163 163 SLOR Slope of sub-gridscale orography
|
||||||
|
164 164 TCC Total cloud cover (0 - 1)
|
||||||
|
165 165 10U 10 metre U wind component m s**-1
|
||||||
|
166 166 10V 10 metre V wind component m s**-1
|
||||||
|
167 167 2T 2 metre temperature K
|
||||||
|
168 168 2D 2 metre dewpoint temperature K
|
||||||
|
169 169 SSRD Surface solar radiation downwards W m**-2 s
|
||||||
|
170 170 STL2 Soil temperature level 2 K
|
||||||
|
171 171 SWL2 Soil wetness level 2 m of water
|
||||||
|
172 172 LSM Land-sea mask (0 - 1)
|
||||||
|
173 173 SR Surface roughness m
|
||||||
|
174 174 AL Albedo (0 - 1)
|
||||||
|
175 175 STRD Surface thermal radiation downwards W m**-2 s
|
||||||
|
176 176 SSR Surface solar radiation W m**-2 s
|
||||||
|
177 177 STR Surface thermal radiation W m**-2 s
|
||||||
|
178 178 TSR Top solar radiation W m**-2 s
|
||||||
|
179 179 TTR Top thermal radiation W m**-2 s
|
||||||
|
180 180 EWSS East-West surface stress N m**-2 s
|
||||||
|
181 181 NSSS North-South surface stress N m**-2 s
|
||||||
|
182 182 E Evaporation m of water
|
||||||
|
183 183 STL3 Soil temperature level 3 K
|
||||||
|
184 184 SWL3 Soil wetness level 3 m of water
|
||||||
|
185 185 CCC Convective cloud cover (0 - 1)
|
||||||
|
186 186 LCC Low cloud cover (0 - 1)
|
||||||
|
187 187 MCC Medium cloud cover (0 - 1)
|
||||||
|
188 188 HCC High cloud cover (0 - 1)
|
||||||
|
189 189 SUND Sunshine duration s
|
||||||
|
190 190 EWOV East-West component of sub-gridscale orographic variance m**2
|
||||||
|
191 191 NSOV North-South component of sub-gridscale orographic variance m**2
|
||||||
|
192 192 NWOV North-West/South-East component of sub-gridscale orographic variance m**2
|
||||||
|
193 193 NEOV North-East/South-West component of sub-gridscale orographic variance m**2
|
||||||
|
194 194 BTMP Brightness temperature K
|
||||||
|
195 195 LGWS Latitudinal component of gravity wave stress N m**-2 s
|
||||||
|
196 196 MGWS Meridional component of gravity wave stress N m**-2 s
|
||||||
|
197 197 GWD Gravity wave dissipation W m**-2 s
|
||||||
|
198 198 SRC Skin reservoir content m of water
|
||||||
|
199 199 VEG Vegetation fraction (0 - 1)
|
||||||
|
200 200 VSO Variance of sub-gridscale orography m**2
|
||||||
|
201 201 MX2T Maximum temperature at 2 metres since previous post-processing K
|
||||||
|
202 202 MN2T Minimum temperature at 2 metres since previous post-processing K
|
||||||
|
203 203 O3 Ozone mass mixing ratio kg kg**-1
|
||||||
|
204 204 PAW Precipitation analysis weights
|
||||||
|
205 205 RO Runoff m
|
||||||
|
206 206 TCO3 Total column ozone kg m**-2
|
||||||
|
207 207 10SI 10 metre wind speed m s**-1
|
||||||
|
208 208 TSRC Top net solar radiation, clear sky W m**-2 s
|
||||||
|
209 209 TTRC Top net thermal radiation, clear sky W m**-2 s
|
||||||
|
210 210 SSRC Surface net solar radiation, clear sky W m**-2 s
|
||||||
|
211 211 STRC Surface net thermal radiation, clear sky W m**-2 s
|
||||||
|
212 212 TISR TOA incident solar radiation W m**-2 s
|
||||||
|
214 214 DHR Diabatic heating by radiation K
|
||||||
|
215 215 DHVD Diabatic heating by vertical diffusion K
|
||||||
|
216 216 DHCC Diabatic heating by cumulus convection K
|
||||||
|
217 217 DHLC Diabatic heating large-scale condensation K
|
||||||
|
218 218 VDZW Vertical diffusion of zonal wind m s**-1
|
||||||
|
219 219 VDMW Vertical diffusion of meridional wind m s**-1
|
||||||
|
220 220 EWGD East-West gravity wave drag tendency m s**-1
|
||||||
|
221 221 NSGD North-South gravity wave drag tendency m s**-1
|
||||||
|
222 222 CTZW Convective tendency of zonal wind m s**-1
|
||||||
|
223 223 CTMW Convective tendency of meridional wind m s**-1
|
||||||
|
224 224 VDH Vertical diffusion of humidity kg kg**-1
|
||||||
|
225 225 HTCC Humidity tendency by cumulus convection kg kg**-1
|
||||||
|
226 226 HTLC Humidity tendency by large-scale condensation kg kg**-1
|
||||||
|
227 227 CRNH Change from removal of negative humidity kg kg**-1
|
||||||
|
228 228 TP Total precipitation m
|
||||||
|
229 229 IEWS Instantaneous X surface stress N m**-2
|
||||||
|
230 230 INSS Instantaneous Y surface stress N m**-2
|
||||||
|
231 231 ISHF Instantaneous surface heat flux W m**-2
|
||||||
|
232 232 IE Instantaneous moisture flux kg m**-2 s
|
||||||
|
233 233 ASQ Apparent surface humidity kg kg**-1
|
||||||
|
234 234 LSRH Logarithm of surface roughness length for heat
|
||||||
|
235 235 SKT Skin temperature K
|
||||||
|
236 236 STL4 Soil temperature level 4 K
|
||||||
|
237 237 SWL4 Soil wetness level 4 m
|
||||||
|
238 238 TSN Temperature of snow layer K
|
||||||
|
239 239 CSF Convective snowfall m of water equivalent
|
||||||
|
240 240 LSF Large-scale snowfall m of water equivalent
|
||||||
|
241 241 ACF Accumulated cloud fraction tendency (-1 to 1)
|
||||||
|
242 242 ALW Accumulated liquid water tendency (-1 to 1)
|
||||||
|
243 243 FAL Forecast albedo (0 - 1)
|
||||||
|
244 244 FSR Forecast surface roughness m
|
||||||
|
245 245 FLSR Forecast logarithm of surface roughness for heat
|
||||||
|
246 246 CLWC Cloud liquid water content kg kg**-1
|
||||||
|
247 247 CIWC Cloud ice water content kg kg**-1
|
||||||
|
248 248 CC Cloud cover (0 - 1)
|
||||||
|
249 249 AIW Accumulated ice water tendency (-1 to 1)
|
||||||
|
250 250 ICE Ice age (0 - 1)
|
||||||
|
251 251 ATTE Adiabatic tendency of temperature K
|
||||||
|
252 252 ATHE Adiabatic tendency of humidity kg kg**-1
|
||||||
|
253 253 ATZE Adiabatic tendency of zonal wind m s**-1
|
||||||
|
254 254 ATMW Adiabatic tendency of meridional wind m s**-1
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,78 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 - downward shortwave radiant flux density W m**-2
|
||||||
|
2 2 - upward shortwave radiant flux density W m**-2
|
||||||
|
3 3 - downward longwave radiant flux density W m**-2
|
||||||
|
4 4 - upward longwave radiant flux density W m**-2
|
||||||
|
5 5 APAB_S downwd photosynthetic active radiant flux density W m**-2
|
||||||
|
6 6 - net shortwave flux W m**-2
|
||||||
|
7 7 - net longwave flux W m**-2
|
||||||
|
8 8 - total net radiative flux density W m**-2
|
||||||
|
9 9 - downw shortw radiant flux density, cloudfree part W m**-2
|
||||||
|
10 10 - upw shortw radiant flux density, cloudy part W m**-2
|
||||||
|
11 11 - downw longw radiant flux density, cloudfree part W m**-2
|
||||||
|
12 12 - upw longw radiant flux density, cloudy part W m**-2
|
||||||
|
13 13 SOHR_RAD shortwave radiative heating rate K s**-1
|
||||||
|
14 14 THHR_RAD longwave radiative heating rate K s**-1
|
||||||
|
15 15 - total radiative heating rate W m**-2
|
||||||
|
16 16 - soil heat flux, surface W m**-2
|
||||||
|
17 17 - soil heat flux, bottom of layer W m**-2
|
||||||
|
29 29 CLC fractional cloud cover (0-1)
|
||||||
|
30 30 - cloud cover, grid scale (0-1)
|
||||||
|
31 31 QC specific cloud water content kg kg**-1
|
||||||
|
32 32 - cloud water content, grid scale, vert integrated kg m**-2
|
||||||
|
33 33 QI specific cloud ice content, grid scale kg kg**-1
|
||||||
|
34 34 - cloud ice content, grid scale, vert integrated kg m**-2
|
||||||
|
35 35 - specific rainwater content, grid scale kg kg**-1
|
||||||
|
36 36 - specific snow content, grid scale kg kg**-1
|
||||||
|
37 37 - specific rainwater content, gs, vert. integrated kg m**-2
|
||||||
|
38 38 - specific snow content, gs, vert. integrated kg m**-2
|
||||||
|
41 41 TWATER total column water kg m**-2
|
||||||
|
42 42 - vert. integral of divergence of tot. water content kg m**-2
|
||||||
|
50 50 CH_CM_CL cloud covers CH_CM_CL (000...888) (0-1)
|
||||||
|
51 51 - cloud cover CH (0..8) (0-1)
|
||||||
|
52 52 - cloud cover CM (0..8) (0-1)
|
||||||
|
53 53 - cloud cover CL (0..8) (0-1)
|
||||||
|
54 54 - total cloud cover (0..8) (0-1)
|
||||||
|
55 55 - fog (0..8) (0-1)
|
||||||
|
56 56 - fog (0-1)
|
||||||
|
60 60 - cloud cover, convective cirrus (0-1)
|
||||||
|
61 61 - specific cloud water content, convective clouds kg kg**-1
|
||||||
|
62 62 - cloud water content, conv clouds, vert integrated kg m**-2
|
||||||
|
63 63 - specific cloud ice content, convective clouds kg kg**-1
|
||||||
|
64 64 - cloud ice content, conv clouds, vert integrated kg m**-2
|
||||||
|
65 65 - convective mass flux kg s**-1 m**-2
|
||||||
|
66 66 - updraft velocity, convection m s**-1
|
||||||
|
67 67 - entrainment parameter, convection m**-1
|
||||||
|
68 68 HBAS_CON cloud base, convective clouds (above msl) m
|
||||||
|
69 69 HTOP_CON cloud top, convective clouds (above msl) m
|
||||||
|
70 70 - convective layers (00...77) (BKE) (0-1)
|
||||||
|
71 71 - KO-index (1)
|
||||||
|
72 72 BAS_CON convection base index (1)
|
||||||
|
73 73 TOP_CON convection top index (1)
|
||||||
|
74 74 DT_CON convective temperature tendency K s**-1
|
||||||
|
75 75 DQV_CON convective tendency of specific humidity s**-1
|
||||||
|
76 76 - convective tendency of total heat J kg**-1 s**-1
|
||||||
|
77 77 - convective tendency of total water s**-1
|
||||||
|
78 78 DU_CON convective momentum tendency (X-component) m s**-2
|
||||||
|
79 79 DV_CON convective momentum tendency (Y-component) m s**-2
|
||||||
|
80 80 - convective vorticity tendency s**-2
|
||||||
|
81 81 - convective divergence tendency s**-2
|
||||||
|
82 82 HTOP_DC top of dry convection (above msl) m
|
||||||
|
83 83 - dry convection top index (1)
|
||||||
|
84 84 HZEROCL height of 0 degree Celsius isotherm above msl m
|
||||||
|
85 85 SNOWLMT height of snow-fall limit m
|
||||||
|
99 99 QRS_GSP spec. content of precip. particles kg kg**-1
|
||||||
|
100 100 PRR_GSP surface precipitation rate, rain, grid scale kg s**-1 m**-2
|
||||||
|
101 101 PRS_GSP surface precipitation rate, snow, grid scale kg s**-1 m**-2
|
||||||
|
102 102 RAIN_GSP surface precipitation amount, rain, grid scale kg m**-2
|
||||||
|
111 111 PRR_CON surface precipitation rate, rain, convective kg s**-1 m**-2
|
||||||
|
112 112 PRS_CON surface precipitation rate, snow, convective kg s**-1 m**-2
|
||||||
|
113 113 RAIN_CON surface precipitation amount, rain, convective kg m**-2
|
||||||
|
139 139 PP deviation of pressure from reference value Pa
|
||||||
|
150 150 - coefficient of horizontal diffusion m**2 s**-1
|
||||||
|
187 187 VMAX_10M maximum wind velocity m s**-1
|
||||||
|
200 200 W_I water content of interception store kg m**-2
|
||||||
|
203 203 T_SNOW snow temperature K
|
||||||
|
215 215 T_ICE ice surface temperature K
|
||||||
|
241 241 CAPE_CON convective available potential energy J kg**-1
|
||||||
|
255 255 - Indicates a missing value
|
|
@ -0,0 +1,101 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 AERMR01 Aerosol type 1 mixing ratio kg kg**-1
|
||||||
|
2 2 AERMR02 Aerosol type 2 mixing ratio kg kg**-1
|
||||||
|
3 3 AERMR03 Aerosol type 3 mixing ratio kg kg**-1
|
||||||
|
4 4 AERMR04 Aerosol type 4 mixing ratio kg kg**-1
|
||||||
|
5 5 AERMR05 Aerosol type 5 mixing ratio kg kg**-1
|
||||||
|
6 6 AERMR06 Aerosol type 6 mixing ratio kg kg**-1
|
||||||
|
7 7 AERMR07 Aerosol type 7 mixing ratio kg kg**-1
|
||||||
|
8 8 AERMR08 Aerosol type 8 mixing ratio kg kg**-1
|
||||||
|
9 9 AERMR09 Aerosol type 9 mixing ratio kg kg**-1
|
||||||
|
10 10 AERMR10 Aerosol type 10 mixing ratio kg kg**-1
|
||||||
|
11 11 AERMR11 Aerosol type 11 mixing ratio kg kg**-1
|
||||||
|
12 12 AERMR12 Aerosol type 12 mixing ratio kg kg**-1
|
||||||
|
16 16 AERGN01 Aerosol type 1 source/gain accumulated kg m**-2
|
||||||
|
17 17 AERGN02 Aerosol type 2 source/gain accumulated kg m**-2
|
||||||
|
18 18 AERGN03 Aerosol type 3 source/gain accumulated kg m**-2
|
||||||
|
19 19 AERGN04 Aerosol type 4 source/gain accumulated kg m**-2
|
||||||
|
20 20 AERGN05 Aerosol type 5 source/gain accumulated kg m**-2
|
||||||
|
21 21 AERGN06 Aerosol type 6 source/gain accumulated kg m**-2
|
||||||
|
22 22 AERGN07 Aerosol type 7 source/gain accumulated kg m**-2
|
||||||
|
23 23 AERGN08 Aerosol type 8 source/gain accumulated kg m**-2
|
||||||
|
24 24 AERGN09 Aerosol type 9 source/gain accumulated kg m**-2
|
||||||
|
25 25 AERGN10 Aerosol type 10 source/gain accumulated kg m**-2
|
||||||
|
26 26 AERGN11 Aerosol type 11 source/gain accumulated kg m**-2
|
||||||
|
27 27 AERGN12 Aerosol type 12 source/gain accumulated kg m**-2
|
||||||
|
31 31 AERLS01 Aerosol type 1 sink/loss accumulated kg m**-2
|
||||||
|
32 32 AERLS02 Aerosol type 2 sink/loss accumulated kg m**-2
|
||||||
|
33 33 AERLS03 Aerosol type 3 sink/loss accumulated kg m**-2
|
||||||
|
34 34 AERLS04 Aerosol type 4 sink/loss accumulated kg m**-2
|
||||||
|
35 35 AERLS05 Aerosol type 5 sink/loss accumulated kg m**-2
|
||||||
|
36 36 AERLS06 Aerosol type 6 sink/loss accumulated kg m**-2
|
||||||
|
37 37 AERLS07 Aerosol type 7 sink/loss accumulated kg m**-2
|
||||||
|
38 38 AERLS08 Aerosol type 8 sink/loss accumulated kg m**-2
|
||||||
|
39 39 AERLS09 Aerosol type 9 sink/loss accumulated kg m**-2
|
||||||
|
40 40 AERLS10 Aerosol type 10 sink/loss accumulated kg m**-2
|
||||||
|
41 41 AERLS11 Aerosol type 11 sink/loss accumulated kg m**-2
|
||||||
|
42 42 AERLS12 Aerosol type 12 sink/loss accumulated kg m**-2
|
||||||
|
46 46 AERPR Aerosol precursor mixing ratio kg kg**-1
|
||||||
|
47 47 AERSM Aerosol small mode mixing ratio kg kg**-1
|
||||||
|
48 48 AERLG Aerosol large mode mixing ratio kg kg**-1
|
||||||
|
49 49 AODPR Aerosol precursor optical depth dimensionless
|
||||||
|
50 50 AODSM Aerosol small mode optical depth dimensionless
|
||||||
|
51 51 AODLG Aerosol large mode optical depth dimensionless
|
||||||
|
52 52 AERDEP Dust emission potential kg s**2 m**-5
|
||||||
|
53 53 AERLTS Lifting threshold speed m s**-1
|
||||||
|
54 54 AERSCC Soil clay content %
|
||||||
|
61 61 CO2 Carbon Dioxide kg kg**-1
|
||||||
|
62 62 CH4 Methane kg kg**-1
|
||||||
|
63 63 N2O Nitrous oxide kg kg**-1
|
||||||
|
64 64 TCCO2 Total column Carbon Dioxide kg m**-2
|
||||||
|
65 65 TCCH4 Total column Methane kg m**-2
|
||||||
|
66 66 TCN2O Total column Nitrous oxide kg m**-2
|
||||||
|
67 67 CO2OF Ocean flux of Carbon Dioxide kg m**-2 s**-1
|
||||||
|
68 68 CO2NBF Natural biosphere flux of Carbon Dioxide kg m**-2 s**-1
|
||||||
|
69 69 CO2APF Anthropogenic emissions of Carbon Dioxide kg m**-2 s**-1
|
||||||
|
80 80 CO2FIRE Wildfire flux of Carbon Dioxide kg m**-2 s**-1
|
||||||
|
81 81 COFIRE Wildfire flux of Carbon Monoxide kg m**-2 s**-1
|
||||||
|
82 82 CH4FIRE Wildfire flux of Methane kg m**-2 s**-1
|
||||||
|
83 83 NMHCFIRE Wildfire flux of Non-Methane Hydro-Carbons kg m**-2 s**-1
|
||||||
|
84 84 H2FIRE Wildfire flux of Hydrogen kg m**-2 s**-1
|
||||||
|
85 85 NOXFIRE Wildfire flux of Nitrogen Oxides NOx kg m**-2 s**-1
|
||||||
|
86 86 N2OFIRE Wildfire flux of Nitrous Oxide kg m**-2 s**-1
|
||||||
|
87 87 PM2P5FIRE Wildfire flux of Particulate Matter PM2.5 kg m**-2 s**-1
|
||||||
|
88 88 TPMFIRE Wildfire flux of Total Particulate Matter kg m**-2 s**-1
|
||||||
|
89 89 TCFIRE Wildfire flux of Total Carbon in Aerosols kg m**-2 s**-1
|
||||||
|
90 90 OCFIRE Wildfire flux of Organic Carbon kg m**-2 s**-1
|
||||||
|
91 91 BCFIRE Wildfire flux of Black Carbon kg m**-2 s**-1
|
||||||
|
92 92 CFIRE Wildfire overall flux of burnt Carbon kg m**-2 s**-1
|
||||||
|
93 93 C4FFIRE Wildfire fraction of C4 plants dimensionless
|
||||||
|
94 94 VEGFIRE Wildfire vegetation map index dimensionless
|
||||||
|
95 95 CCFIRE Wildfire Combustion Completeness dimensionless
|
||||||
|
96 96 FLFIRE Wildfire Fuel Load: Carbon per unit area kg m**-2
|
||||||
|
97 97 BFFIRE Wildfire fraction of area burnt dimensionless
|
||||||
|
121 121 NO2 Nitrogen dioxide kg kg**-1
|
||||||
|
122 122 SO2 Sulphur dioxide kg kg**-1
|
||||||
|
123 123 CO Carbon monoxide kg kg**-1
|
||||||
|
124 124 HCHO Formaldehyde kg kg**-1
|
||||||
|
125 125 TCNO2 Total column Nitrogen dioxide kg m**-2
|
||||||
|
126 126 TCSO2 Total column Sulphur dioxide kg m**-2
|
||||||
|
127 127 TCCO Total column Carbon monoxide kg m**-2
|
||||||
|
128 128 TCHCHO Total column Formaldehyde kg m**-2
|
||||||
|
181 181 Ra Radon kg kg**-1
|
||||||
|
182 182 SF6 Sulphur Hexafluoride kg kg**-1
|
||||||
|
183 183 TCRa Total column Radon kg m**-2
|
||||||
|
184 184 TCSF6 Total column Sulphur Hexafluoride kg m**-2
|
||||||
|
185 185 SF6APF Anthropogenic Emissions of Sulphur Hexafluoride kg m**-2 s**-1
|
||||||
|
203 203 GO3 GEMS Ozone kg kg**-1
|
||||||
|
206 206 GTCO3 GEMS Total column ozone kg m**-2
|
||||||
|
207 207 AOD550 Total Aerosol Optical Depth at 550nm
|
||||||
|
208 208 SSAOD550 Sea Salt Aerosol Optical Depth at 550nm
|
||||||
|
209 209 DUAOD550 Dust Aerosol Optical Depth at 550nm
|
||||||
|
210 210 OMAOD550 Organic Matter Aerosol Optical Depth at 550nm
|
||||||
|
211 211 BCAOD550 Black Carbon Aerosol Optical Depth at 550nm
|
||||||
|
212 212 SUAOD550 Sulphate Aerosol Optical Depth at 550nm
|
||||||
|
213 213 AOD469 Total Aerosol Optical Depth at 469nm
|
||||||
|
214 214 AOD670 Total Aerosol Optical Depth at 670nm
|
||||||
|
215 215 AOD865 Total Aerosol Optical Depth at 865nm
|
||||||
|
216 216 AOD1240 Total Aerosol Optical Depth at 1240nm
|
||||||
|
217 217 AOD340 Total aerosol optical depth at 340 nm
|
||||||
|
218 218 AOD355 Total aerosol optical depth at 355 nm
|
||||||
|
219 219 AOD380 Total aerosol optical depth at 380 nm
|
|
@ -0,0 +1,15 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
46 46 AERPR Aerosol precursor mixing ratio kg kg**-1
|
||||||
|
47 47 AERSM Aerosol small mode mixing ratio kg kg**-1
|
||||||
|
48 48 AERLG Aerosol large mode mixing ratio kg kg**-1
|
||||||
|
49 49 AODPR Aerosol precursor optical depth dimensionless
|
||||||
|
50 50 AODSM Aerosol small mode optical depth dimensionless
|
||||||
|
51 51 AODLG Aerosol large mode optical depth dimensionless
|
||||||
|
61 61 CO2 Carbon Dioxide kg kg**-1
|
||||||
|
62 62 CH4 Methane kg kg**-1
|
||||||
|
63 63 N2O Nitrous oxide kg kg**-1
|
||||||
|
121 121 NO2 Nitrogen dioxide kg kg**-1
|
||||||
|
122 122 SO2 Sulphur dioxide kg kg**-1
|
||||||
|
123 123 CO Carbon monoxide kg kg**-1
|
||||||
|
124 124 HCHO Formaldehyde kg kg**-1
|
||||||
|
203 203 GO3 GEMS Ozone kg kg**-1
|
|
@ -0,0 +1,2 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
228 228 TPOC Total precipitation observation count dimensionless
|
|
@ -0,0 +1,12 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
1 1 CIN Convective inhibition (J kg**-1)
|
||||||
|
2 2 OROG Orography (m)
|
||||||
|
3 3 ZUST Friction velocity (m s**-1)
|
||||||
|
39 39 SM Soil Moisture (kg m**-3)
|
||||||
|
131 131 U10N Neutral wind at 10 m u-component (m s**-1)
|
||||||
|
132 132 V10N Neutral wind at 10 m v-component (m s**-1)
|
||||||
|
139 139 ST Soil Temperature (K)
|
||||||
|
141 141 SD Snow depth water equivalent (m)
|
||||||
|
144 144 SF Snow Fall water equivalent (kg m**-2)
|
||||||
|
164 164 TCC Total Cloud Cover (%)
|
||||||
|
228 228 TP Total Precipitation (kg m**-2)
|
|
@ -0,0 +1,32 @@
|
||||||
|
# This file was automatically generated by ./param.pl
|
||||||
|
44 44 ESVAR Snow evaporation (variable resolution) m of water
|
||||||
|
45 45 SMLTVAR Snowmelt (variable resolution) m of water
|
||||||
|
46 46 SDURVAR Solar duration (variable resolution) (s)
|
||||||
|
57 57 UVBVAR Downward UV radiation at the surface (variable resolution) (w m**-2 s)
|
||||||
|
58 58 PARVAR Photosynthetically active radiation at the surface (variable resolution) (w m**-2 s)
|
||||||
|
142 142 LSPVAR Stratiform precipitation (Large-scale precipitation) (variable resolution) (m)
|
||||||
|
143 143 CPVAR Convective precipitation (variable resolution) (m)
|
||||||
|
144 144 SFVAR Snowfall (convective + stratiform) (variable resolution) m of water equivalent
|
||||||
|
145 145 BLDVAR Boundary layer dissipation (variable resolution) (W m**-2 s)
|
||||||
|
146 146 SSHFVAR Surface sensible heat flux (variable resolution) (W m**-2 s)
|
||||||
|
147 147 SLHFVAR Surface latent heat flux (variable resolution) (W m**-2 s)
|
||||||
|
169 169 SSRDVAR Surface solar radiation downwards (variable resolution) (W m**-2 s)
|
||||||
|
175 175 STRDVAR Surface thermal radiation downwards (variable resolution) (W m**-2 s)
|
||||||
|
176 176 SSRVAR Surface solar radiation (variable resolution) (W m**-2 s)
|
||||||
|
177 177 STRVAR Surface thermal radiation (variable resolution) (W m**-2 s)
|
||||||
|
178 178 TSRVAR Top solar radiation (variable resolution) (W m**-2 s)
|
||||||
|
179 179 TTRVAR Top thermal radiation (variable resolution) (W m**-2 s)
|
||||||
|
180 180 EWSSVAR East-West surface stress (variable resolution) (N m**-2 s)
|
||||||
|
181 181 NSSSVAR North-South surface stress (variable resolution) (N m**-2 s)
|
||||||
|
182 182 EVAR Evaporation (variable resolution) m of water
|
||||||
|
189 189 SUNDVAR Sunshine duration (variable resolution) (s)
|
||||||
|
195 195 LGWSVAR Longitudinal component of gravity wave stress (variable resolution) (N m**-2 s)
|
||||||
|
196 196 MGWSVAR Meridional component of gravity wave stress (variable resolution) (N m**-2 s)
|
||||||
|
197 197 GWDVAR Gravity wave dissipation (variable resolution) (W m**-2 s)
|
||||||
|
198 198 SRCVAR Skin reservoir content (variable resolution) m of water
|
||||||
|
205 205 ROVAR Runoff (variable resolution) (m)
|
||||||
|
208 208 TSRCVAR Top net solar radiation, clear sky (variable resolution) (W m**-2 s)
|
||||||
|
209 209 TTRCVAR Top net thermal radiation, clear sky (variable resolution) (W m**-2 s)
|
||||||
|
210 210 SSRCVAR Surface net solar radiation, clear sky (variable resolution) (W m**-2 s)
|
||||||
|
211 211 STRCVAR Surface net thermal radiation, clear sky (variable resolution) (W m**-2 s)
|
||||||
|
212 212 TISRVAR TOA incident solar radiation (variable resolution) (W m**-2 s)
|
|
@ -0,0 +1,5 @@
|
||||||
|
# CODE TABLE 1, Flag indication relative to section 2 and 3
|
||||||
|
1 0 Section 2 omited
|
||||||
|
1 1 Section 2 included
|
||||||
|
2 0 Section 3 omited
|
||||||
|
2 1 Section 3 included
|
|
@ -0,0 +1,53 @@
|
||||||
|
# CODE TABLE 3 Fixed levels or layers for which the data are included
|
||||||
|
0 0 Reserved
|
||||||
|
1 sfc Surface (of the Earth, which includes sea surface)
|
||||||
|
2 sfc Cloud base level
|
||||||
|
3 sfc Cloud top level
|
||||||
|
4 sfc 0 deg (C) isotherm level
|
||||||
|
5 5 Adiabatic condensation level (parcel lifted from surface)
|
||||||
|
6 6 Maximum wind speed level
|
||||||
|
7 7 Tropopause level
|
||||||
|
8 sfc Nominal top of atmosphere
|
||||||
|
9 9 Sea bottom
|
||||||
|
# 10-19 Reserved
|
||||||
|
20 20 Isothermal level Temperature in 1/100 K
|
||||||
|
# 21-99 Reserved
|
||||||
|
100 pl Isobaric level pressure in hectoPascals (hPa) (2 octets)
|
||||||
|
101 101 Layer between two isobaric levels pressure of top (kPa) pressure of bottom (kPa)
|
||||||
|
102 sfc Mean sea level 0 0
|
||||||
|
103 103 Fixed height level height above mean sea level (MSL) in meters
|
||||||
|
104 104 Layer between two height levels above msl height of top (hm) above mean sea level height of bottom (hm) above mean sea level
|
||||||
|
105 sfc Fixed height above ground height in meters (2 octets)
|
||||||
|
106 106 Layer between two height levels above ground height of top (hm) above ground height of bottom (hm) above ground
|
||||||
|
107 107 Sigma level sigma value in 1/10000 (2 octets)
|
||||||
|
108 108 Layer between two sigma levels sigma value at top in 1/100 sigma value at bottom in 1/100
|
||||||
|
109 ml Hybrid level level number (2 octets)
|
||||||
|
110 ml Layer between two hybrid levels level number of top level number of bottom
|
||||||
|
111 sfc Depth below land surface centimeters (2 octets)
|
||||||
|
112 sfc Layer between two depths below land surface depth of upper surface (cm) depth of lower surface (cm)
|
||||||
|
113 pt Isentropic (theta) level Potential Temp. degrees K (2 octets)
|
||||||
|
114 114 Layer between two isentropic levels 475K minus theta of top in Deg. K 475K minus theta of bottom in Deg. K
|
||||||
|
115 115 Level at specified pressure difference from ground to level hPa (2 octets)
|
||||||
|
116 116 Layer between two levels at specified pressure differences from ground to levels pressure difference from ground to top level hPa pressure difference from ground to bottom level hPa
|
||||||
|
117 pv Potential vorticity surface 10-9 K m2 kg-1 s-1
|
||||||
|
# 118 Reserved
|
||||||
|
119 119 ETA level: ETA value in 1/10000 (2 octets)
|
||||||
|
120 120 Layer between two ETA levels: ETA value at top of layer in 1/100, ETA value at bottom of layer in 1/100
|
||||||
|
121 121 Layer between two isobaric surfaces (high precision) 1100 hPa minus pressure of top, in hPa 1100 hPa minus pressure of bottom, in hPa
|
||||||
|
# 122-124 Reserved
|
||||||
|
125 125 Height level above ground (high precision) centimeters (2 octets)
|
||||||
|
# 126-127 Reserved
|
||||||
|
128 128 Layer between two sigma levels (high precision) 1.1 minus sigma of top, in 1/1000 of sigma 1.1 minus sigma of bottom, in 1/1000 of sigma
|
||||||
|
# 129-140 Reserved
|
||||||
|
141 141 Layer between two isobaric surfaces (mixed precision) pressure of top, in kPa 1100hPa minus pressure of bottom, in hPa
|
||||||
|
# 142-159 Reserved
|
||||||
|
160 dp Depth below sea level meters (2 octets)
|
||||||
|
# 161-199Reserved
|
||||||
|
200 sfc Entire atmosphere considered as a single layer 0 (2 octets)
|
||||||
|
201 201 Entire ocean considered as a single layer 0 (2 octets)
|
||||||
|
# 202-209 Reserved
|
||||||
|
210 pl Isobaric surface (Pa) (ECMWF extension)
|
||||||
|
# 211-254 Reserved for local use
|
||||||
|
211 wv Ocean wave level (ECMWF extension)
|
||||||
|
212 oml Ocean mixed layer (ECMWF extension)
|
||||||
|
255 255 Indicates a missing value
|
|
@ -0,0 +1,15 @@
|
||||||
|
# CODE TABLE 4 Unit of Time
|
||||||
|
0 m Minute
|
||||||
|
1 h Hour
|
||||||
|
2 D Day
|
||||||
|
3 M Month
|
||||||
|
4 Y Year
|
||||||
|
5 10Y Decade
|
||||||
|
6 30Y Normal (30 years)
|
||||||
|
7 C Century
|
||||||
|
10 3h 3 hours
|
||||||
|
11 6h 6 hours
|
||||||
|
12 12h 12 hours
|
||||||
|
13 15m 15 minutes
|
||||||
|
14 30m 30 minutes
|
||||||
|
254 s Second
|
|
@ -0,0 +1,17 @@
|
||||||
|
# CODE TABLE 5 Time Range Indicator
|
||||||
|
0 0 Forecast product valid at reference time + P1 (P1>0)
|
||||||
|
1 1 Initialized analysis product for reference time (P1=0).
|
||||||
|
2 2 Product with a valid time ranging between reference time + P1 and reference time + P2
|
||||||
|
3 3 Average (reference time + P1 to reference time + P2)
|
||||||
|
4 4 Accumulation (reference time + P1 to reference time + P2) product considered valid at reference time + P2
|
||||||
|
5 5 Difference (reference time + P2 minus reference time + P1) product considered valid at reference time + P2
|
||||||
|
10 10 P1 occupies octets 19 and 20; product valid at reference time + P1
|
||||||
|
51 51 Climatological Mean Value:
|
||||||
|
113 113 Average of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time.
|
||||||
|
114 114 Accumulation of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time.
|
||||||
|
115 115 Average of N forecasts, all with the same reference time; the first has a forecast period of P1, the remaining forecasts follow at intervals of P2.
|
||||||
|
116 116 Accumulation of N forecasts, all with the same reference time; the first has a forecast period of P1, the remaining follow at intervals of P2.
|
||||||
|
117 117 Average of N forecasts, the first has a period of P1, the subsequent ones have forecast periods reduced from the previous one by an interval of P2; the reference time for the first is given in octets 13- 17, the subsequent ones have reference times increased from the previous one by an interval of P2. Thus all the forecasts have the same valid time, given by the initial reference time + P1.
|
||||||
|
118 118 Temporal variance, or covariance, of N initialized analyses; each product has forecast period P1=0; products have reference times at intervals of P2, beginning at the given reference time.
|
||||||
|
123 123 Average of N uninitialized analyses, starting at the reference time, at intervals of P2.
|
||||||
|
124 124 Accumulation of N uninitialized analyses, starting at the reference time, at intervals of P2.
|
|
@ -0,0 +1,24 @@
|
||||||
|
# CODE TABLE 6 Data Representation Type
|
||||||
|
0 ll Latitude/Longitude Grid
|
||||||
|
1 mm Mercator Projection Grid
|
||||||
|
2 gp Gnomonic Projection Grid
|
||||||
|
3 lc Lambert Conformal
|
||||||
|
4 gg Gaussian Latitude/Longitude Grid
|
||||||
|
5 ps Polar Stereographic Projection Grid
|
||||||
|
6 6 Universal Transverse Mercator
|
||||||
|
7 7 Simple polyconic projection
|
||||||
|
8 8 Albers equal-area, secant or tangent, conic or bi-polar
|
||||||
|
9 9 Miller's cylingrical projection
|
||||||
|
10 10 Rotated Latitude/Longitude grid
|
||||||
|
13 ol Oblique Lambert conformal
|
||||||
|
14 14 Rotated Gaussian latitude/longitude grid
|
||||||
|
20 20 Stretched latitude/longitude grid
|
||||||
|
24 24 Stretched Gaussian latitude/longitude
|
||||||
|
30 30 Stretched and rotated latitude/longitude
|
||||||
|
34 34 Stretched and rotated Gaussian latitude/longitude
|
||||||
|
50 sh Spherical Harmonic Coefficients
|
||||||
|
60 60 Rotated Spherical Harmonic coefficients
|
||||||
|
70 70 Stretched Spherical Harmonic coefficients
|
||||||
|
80 80 Stretched and rotated Spherical Harmonic
|
||||||
|
90 sv Space view perspective or orthographic grid
|
||||||
|
193 193 Quasi-regular latitude/longitude
|
|
@ -0,0 +1,7 @@
|
||||||
|
# CODE TABLE 7, Resolution and Component Flags
|
||||||
|
1 0 Direction increments not given
|
||||||
|
1 1 Direction increments given
|
||||||
|
2 0 Earth assumed spherical with radius = 6367.47 km
|
||||||
|
2 1 Earth assumed oblate spheroid with size as determined by IAU in 1965: 6378.160 km, 6356.775 km, f = 1/297.0
|
||||||
|
5 0 u and v components resolved relative to easterly and northerly directions
|
||||||
|
5 1 u and v components resolved relative to the defined grid
|
|
@ -0,0 +1,7 @@
|
||||||
|
# CODE TABLE 8, Scanning Mode Flag
|
||||||
|
1 0 Points scan in +i direction
|
||||||
|
1 1 Points scan in -i direction
|
||||||
|
2 0 Points scan in -j direction
|
||||||
|
2 1 Points scan in +j direction
|
||||||
|
3 0 Adjacent points in i direction are consecutive
|
||||||
|
3 1 Adjacent points in j direction are consecutive
|
|
@ -0,0 +1,2 @@
|
||||||
|
# CODE TABLE 9, Spectral Representation Type
|
||||||
|
1 1 Associated Legendre Polynomials of the First Kind with normalization such that the integral equals 1
|
|
@ -0,0 +1,77 @@
|
||||||
|
# Copyright 2005-2012 ECMWF.
|
||||||
|
#
|
||||||
|
# This software is licensed under the terms of the Apache Licence Version 2.0
|
||||||
|
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
||||||
|
#
|
||||||
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
#
|
||||||
|
|
||||||
|
constant ieeeFloats = 0 : hidden, edition_specific;
|
||||||
|
transient eps=0;
|
||||||
|
|
||||||
|
meta headersOnly headers_only();
|
||||||
|
|
||||||
|
#template section_0 "grib1/section.0.def" ;
|
||||||
|
|
||||||
|
meta gts_header gts_header() : no_copy,hidden,read_only;
|
||||||
|
meta gts_TTAAii gts_header(20,6) : no_copy,hidden,read_only;
|
||||||
|
meta gts_CCCC gts_header(27,4) : no_copy,hidden,read_only;
|
||||||
|
meta gts_ddhh00 gts_header(32,6) : no_copy,hidden,read_only;
|
||||||
|
|
||||||
|
ascii[4] identifier = "GRIB" : read_only,hidden;
|
||||||
|
|
||||||
|
constant offsetSection0=0;
|
||||||
|
constant section0Length=8 ;
|
||||||
|
meta section0Pointer section_pointer(offsetSection0,section0Length,0);
|
||||||
|
|
||||||
|
# Due to a trick done by GRIBEX to support large GRIBs, we need a special treatment
|
||||||
|
# of the message length and of the section4 lenth, so instead of
|
||||||
|
# length[3] totalLength ;
|
||||||
|
# we get:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
g1_message_length[3] totalLength(section4Length) ;
|
||||||
|
position startOfHeaders;
|
||||||
|
unsigned[1] editionNumber = 1 : edition_specific,dump;
|
||||||
|
|
||||||
|
template section_1 "grib1/section.1.def" ;
|
||||||
|
|
||||||
|
alias ls.edition = editionNumber;
|
||||||
|
|
||||||
|
# Not flagbit numbers 7 to 0, while wmo is 1 to 8
|
||||||
|
flagbit gridDescriptionSectionPresent(section1Flags,7) = 1;
|
||||||
|
meta GDSPresent gds_is_present(gridDescriptionSectionPresent,gridDefinition,bitmapPresent,values): dump ;
|
||||||
|
#alias GDSPresent = gridDescriptionSectionPresent;
|
||||||
|
|
||||||
|
flagbit bitmapPresent(section1Flags,6) :dump;
|
||||||
|
alias bitmapSectionPresent=bitmapPresent;
|
||||||
|
alias geography.bitmapPresent=bitmapPresent;
|
||||||
|
|
||||||
|
if(gridDescriptionSectionPresent){
|
||||||
|
template section_2 "grib1/section.2.def" ;
|
||||||
|
} else {
|
||||||
|
template predefined_grid "grib1/predefined_grid.def";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Used to mark end of headers. Can be accessed with grib_get_offset()
|
||||||
|
position endOfHeadersMaker;
|
||||||
|
|
||||||
|
meta lengthOfHeaders evaluate( endOfHeadersMaker-startOfHeaders);
|
||||||
|
meta md5Headers md5(startOfHeaders,lengthOfHeaders);
|
||||||
|
|
||||||
|
if (!headersOnly) {
|
||||||
|
transient missingValue = 9999 : dump;
|
||||||
|
|
||||||
|
if(bitmapPresent) {
|
||||||
|
template section3 "grib1/section.3.def" ;
|
||||||
|
} else {
|
||||||
|
constant tableReference = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template section_4 "grib1/section.4.def" ;
|
||||||
|
|
||||||
|
template section_5 "grib1/section.5.def" ;
|
||||||
|
}
|
|
@ -0,0 +1,310 @@
|
||||||
|
# Automatically generated by ./create_param.pl from database param@balthasar, do not edit
|
||||||
|
#Geopotential
|
||||||
|
'geopotential' = {
|
||||||
|
indicatorOfParameter = 6 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Temperature
|
||||||
|
'air_temperature' = {
|
||||||
|
indicatorOfParameter = 11 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#u-component of wind
|
||||||
|
'eastward_wind' = {
|
||||||
|
indicatorOfParameter = 33 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#v-component of wind
|
||||||
|
'northward_wind' = {
|
||||||
|
indicatorOfParameter = 34 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Specific humidity
|
||||||
|
'specific_humidity' = {
|
||||||
|
indicatorOfParameter = 51 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Surface pressure
|
||||||
|
'surface_air_pressure' = {
|
||||||
|
indicatorOfParameter = 1 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
indicatorOfTypeOfLevel = 1 ;
|
||||||
|
}
|
||||||
|
#Vertical velocity (geometric)
|
||||||
|
'lagrangian_tendency_of_air_pressure' = {
|
||||||
|
indicatorOfParameter = 40 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Relative vorticity
|
||||||
|
'atmosphere_relative_vorticity' = {
|
||||||
|
indicatorOfParameter = 43 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Boundary layer dissipation
|
||||||
|
'dissipation_in_atmosphere_boundary_layer' = {
|
||||||
|
indicatorOfParameter = 123 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Surface sensible heat flux
|
||||||
|
'surface_upward_sensible_heat_flux' = {
|
||||||
|
indicatorOfParameter = 122 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Surface latent heat flux
|
||||||
|
'surface_upward_latent_heat_flux' = {
|
||||||
|
indicatorOfParameter = 121 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Mean sea level pressure
|
||||||
|
'air_pressure_at_sea_level' = {
|
||||||
|
indicatorOfParameter = 2 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
indicatorOfTypeOfLevel = 1 ;
|
||||||
|
level = 0 ;
|
||||||
|
}
|
||||||
|
#Relative divergence
|
||||||
|
'divergence_of_wind' = {
|
||||||
|
indicatorOfParameter = 44 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Geopotential height
|
||||||
|
'geopotential_height' = {
|
||||||
|
indicatorOfParameter = 7 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Relative humidity
|
||||||
|
'relative_humidity' = {
|
||||||
|
indicatorOfParameter = 52 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Land-sea mask
|
||||||
|
'land_binary_mask' = {
|
||||||
|
indicatorOfParameter = 81 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Surface roughness
|
||||||
|
'surface_roughness_length' = {
|
||||||
|
indicatorOfParameter = 83 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Albedo
|
||||||
|
'surface_albedo' = {
|
||||||
|
indicatorOfParameter = 84 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Evaporation
|
||||||
|
'lwe_thickness_of_water_evaporation_amount' = {
|
||||||
|
indicatorOfParameter = 57 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Convective cloud cover
|
||||||
|
'convective_cloud_area_fraction' = {
|
||||||
|
indicatorOfParameter = 72 ;
|
||||||
|
table2Version = 3 ;
|
||||||
|
}
|
||||||
|
#Geopotential
|
||||||
|
'geopotential' = {
|
||||||
|
indicatorOfParameter = 6 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Temperature
|
||||||
|
'air_temperature' = {
|
||||||
|
indicatorOfParameter = 11 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#u-component of wind
|
||||||
|
'eastward_wind' = {
|
||||||
|
indicatorOfParameter = 33 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#v-component of wind
|
||||||
|
'northward_wind' = {
|
||||||
|
indicatorOfParameter = 34 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Specific humidity
|
||||||
|
'specific_humidity' = {
|
||||||
|
indicatorOfParameter = 51 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Surface pressure
|
||||||
|
'surface_air_pressure' = {
|
||||||
|
indicatorOfParameter = 1 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
indicatorOfTypeOfLevel = 1 ;
|
||||||
|
}
|
||||||
|
#Vertical velocity (geometric)
|
||||||
|
'lagrangian_tendency_of_air_pressure' = {
|
||||||
|
indicatorOfParameter = 40 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Relative vorticity
|
||||||
|
'atmosphere_relative_vorticity' = {
|
||||||
|
indicatorOfParameter = 43 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Boundary layer dissipation
|
||||||
|
'dissipation_in_atmosphere_boundary_layer' = {
|
||||||
|
indicatorOfParameter = 123 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Surface sensible heat flux
|
||||||
|
'surface_upward_sensible_heat_flux' = {
|
||||||
|
indicatorOfParameter = 122 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Surface latent heat flux
|
||||||
|
'surface_upward_latent_heat_flux' = {
|
||||||
|
indicatorOfParameter = 121 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Mean sea level pressure
|
||||||
|
'air_pressure_at_sea_level' = {
|
||||||
|
indicatorOfParameter = 2 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
indicatorOfTypeOfLevel = 1 ;
|
||||||
|
level = 0 ;
|
||||||
|
}
|
||||||
|
#Relative divergence
|
||||||
|
'divergence_of_wind' = {
|
||||||
|
indicatorOfParameter = 44 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Geopotential height
|
||||||
|
'geopotential_height' = {
|
||||||
|
indicatorOfParameter = 7 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Relative humidity
|
||||||
|
'relative_humidity' = {
|
||||||
|
indicatorOfParameter = 52 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Land-sea mask
|
||||||
|
'land_binary_mask' = {
|
||||||
|
indicatorOfParameter = 81 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Surface roughness
|
||||||
|
'surface_roughness_length' = {
|
||||||
|
indicatorOfParameter = 83 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Albedo
|
||||||
|
'surface_albedo' = {
|
||||||
|
indicatorOfParameter = 84 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Evaporation
|
||||||
|
'lwe_thickness_of_water_evaporation_amount' = {
|
||||||
|
indicatorOfParameter = 57 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Convective cloud cover
|
||||||
|
'convective_cloud_area_fraction' = {
|
||||||
|
indicatorOfParameter = 72 ;
|
||||||
|
table2Version = 2 ;
|
||||||
|
}
|
||||||
|
#Geopotential
|
||||||
|
'geopotential' = {
|
||||||
|
indicatorOfParameter = 6 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Temperature
|
||||||
|
'air_temperature' = {
|
||||||
|
indicatorOfParameter = 11 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#u-component of wind
|
||||||
|
'eastward_wind' = {
|
||||||
|
indicatorOfParameter = 33 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#v-component of wind
|
||||||
|
'northward_wind' = {
|
||||||
|
indicatorOfParameter = 34 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Specific humidity
|
||||||
|
'specific_humidity' = {
|
||||||
|
indicatorOfParameter = 51 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Surface pressure
|
||||||
|
'surface_air_pressure' = {
|
||||||
|
indicatorOfParameter = 1 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
indicatorOfTypeOfLevel = 1 ;
|
||||||
|
}
|
||||||
|
#Vertical velocity (geometric)
|
||||||
|
'lagrangian_tendency_of_air_pressure' = {
|
||||||
|
indicatorOfParameter = 40 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Relative vorticity
|
||||||
|
'atmosphere_relative_vorticity' = {
|
||||||
|
indicatorOfParameter = 43 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Boundary layer dissipation
|
||||||
|
'dissipation_in_atmosphere_boundary_layer' = {
|
||||||
|
indicatorOfParameter = 123 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Surface sensible heat flux
|
||||||
|
'surface_upward_sensible_heat_flux' = {
|
||||||
|
indicatorOfParameter = 122 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Surface latent heat flux
|
||||||
|
'surface_upward_latent_heat_flux' = {
|
||||||
|
indicatorOfParameter = 121 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Mean sea level pressure
|
||||||
|
'air_pressure_at_sea_level' = {
|
||||||
|
indicatorOfParameter = 2 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
indicatorOfTypeOfLevel = 1 ;
|
||||||
|
level = 0 ;
|
||||||
|
}
|
||||||
|
#Relative divergence
|
||||||
|
'divergence_of_wind' = {
|
||||||
|
indicatorOfParameter = 44 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Geopotential height
|
||||||
|
'geopotential_height' = {
|
||||||
|
indicatorOfParameter = 7 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Relative humidity
|
||||||
|
'relative_humidity' = {
|
||||||
|
indicatorOfParameter = 52 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Land-sea mask
|
||||||
|
'land_binary_mask' = {
|
||||||
|
indicatorOfParameter = 81 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Surface roughness
|
||||||
|
'surface_roughness_length' = {
|
||||||
|
indicatorOfParameter = 83 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Albedo
|
||||||
|
'surface_albedo' = {
|
||||||
|
indicatorOfParameter = 84 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Evaporation
|
||||||
|
'lwe_thickness_of_water_evaporation_amount' = {
|
||||||
|
indicatorOfParameter = 57 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
||||||
|
#Convective cloud cover
|
||||||
|
'convective_cloud_area_fraction' = {
|
||||||
|
indicatorOfParameter = 72 ;
|
||||||
|
table2Version = 1 ;
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue