NuSDaS Interface Reference Manual
typedef
-ed name
in "nusdas.h"
.
It means 32bit signed integer type, and is equivalent to
int
in most environments.CHARACTER(
n)
must have at least n characters length.const char *
must have at least the same size to
corresponding Fortran interface.
Character array have not to be terminated with NUL ('\0') character.In NuSDaS, data is identified by following dimensions: data type, base time, member name, valid time, plane name, element name.
Data type is 16-character string composed from type1, type2, and type3.
Type1 is 8-character string. The first 4 characters are model name. Following 2 characters are horizontal grid name. The last 2 characters are vertical grid name. (See tables for predefined name).
Type2 is 4-character string. The first 2 characters are data attribute name. The last 2 characters are time attribute name. (See tables for predefined name).
Type3 is 4-character string.
You can use arbitrary name for this field;
it does not affect behavior of library nor conventional meaning.
Name "STD1"
is used for the most typical operational dataset.
Base time is also known as reference time. The initial time is used for forecast data. It is expressed as a number of minutes counted from 00:00GMT January 1, 1801 *1. Typically, return value of NWP_GETTIME@ is used. In case of constant data, 0 is used as base time.
Member is 4-character string representing member of ensemble forecast.
Name " "
(four spaces) is used for non-ensemble data.
Note that this field must have at least 4 characters,
and space character should be filled if conventional name is shorter.
For example, the control run of ensemble is called '00' in JMA,
and it is represented as "00 "
(double digit zero, followed by two spaces)
in NuSDaS.
Do not use "00"
(double digit zero, followed by NUL terminator)
even in C interface.
Valid time is a time or period to which the requested data is most closely related. It is expressed as a pair of integers, interpreted as beginning and ending of the period. If the requested data corresponds to one time moment, the end of time span is expressed as special value 1. In case of constant data, (0, 1) is used as valid time. Note that the value is in absolute date, not relative time from base time or any other date.
Plane name identifies plane/layer to which the requested data belongs. In most cases, it is vertical height. Plane name is a pair of six-character string. They are upper and lower boundary of layer and two plane names. Data for a plane is identified by a pair of two same plane names. For example, "SURF " represents surface, and "500 " denotes 500hPa level. Meaning of numbers is dependent to the vertical coordinate of the dataset shown in type1. Note that these fields must have at least 6 characters.
Physical element name. Standard names are shown in table. Note that this field must have at least 6 characters.
In NuSDaS interface functions/subroutines, they are specified with the first 3-10 arguments. They looks like
/* C */ int nusdas_xxx(type1, type2, type3, btime, memb, vtime1, plane1, elem, ...) int nusdas_xxx2(type1, type2, type3, btime, memb, vtime1, vtime2, plane1, plane2, elem, ...) ! Fortran SUBROUTINE NUSDAS_XXX(type1, type2, type3, btime, memb, vtime1, plane1, elem, ...) SUBROUTINE NUSDAS_XXX2(type1, type2, type3, btime, memb, vtime1, vtime2, plane1, plane2, elem, ...)
symbol | Fortran type | C type | description |
type1 | CHARACTER(8) | const char [8] | data type, 1st component |
type2 | CHARACTER(4) | const char [4] | data type, 2nd component |
type3 | CHARACTER(4) | const char [4] | data type, 3rd component |
btime | INTEGER | N_SI4 * | base time |
memb | CHARACTER(4) | const char [4] | member name |
vtime1 | INTEGER | N_SI4 * | valid time, start |
vtime2 | INTEGER | N_SI4 * | valid time, end |
plane1 | CHARACTER(6) | const char [6] | plane name, upper |
plane2 | CHARACTER(6) | const char [6] | plane name, lower |
elem | CHARACTER(6) | const char [6] | element name |
Some subroutines/functions have two forms: name of one ends with '2', and the other without '2'. In such a case, the with-2-form is the essential interface. Calling the latter, the no-2-form, is equivalent to that of the with-2-form with vtime2 and plane2 set to 1 and plane1 respectively.
*1Using 32bit signed integer,
it will overflow in year 5884, and it can be enough late
even for climate change simulation