5 SUBROUTINE set_axis(HNAME, PVALUE ,CDPOSITIVE, KSIZE, CDUNITS, PBOUNDS)
51 USE xios
, ONLY : xios_get_handle, xios_add_child, xios_set_axis_attr, xios_axisgroup, xios_axis
59 CHARACTER(LEN=*),
INTENT(IN) :: HNAME
60 REAL,
DIMENSION(:),
INTENT(IN),
OPTIONAL :: PVALUE
61 CHARACTER(LEN=*),
INTENT(IN),
OPTIONAL :: CDPOSITIVE
62 INTEGER ,
INTENT(IN),
OPTIONAL :: KSIZE
63 CHARACTER(LEN=*),
INTENT(IN),
OPTIONAL :: CDUNITS
64 REAL,
DIMENSION(:,:),
INTENT(IN),
OPTIONAL :: PBOUNDS
69 TYPE(xios_axisgroup) :: axisgroup_hdl
70 TYPE(xios_axis) :: axis_hdl
74 REAL(KIND=JPRB),
DIMENSION(:),
ALLOCATABLE :: ZAXIS
75 REAL(KIND=JPRB) :: ZHOOK_HANDLE
84 CALL xios_get_handle(
"axis_definition",axisgroup_hdl)
85 CALL xios_add_child(axisgroup_hdl,axis_hdl,hname)
86 IF (
PRESENT(pvalue))
THEN 87 CALL xios_set_axis_attr(hname,
VALUE=pvalue, n_glo=
SIZE(pvalue))
88 IF (
PRESENT(pbounds))
THEN 89 CALL xios_set_axis_attr(hname, bounds=pbounds)
91 IF (
PRESENT(cdunits))
THEN 92 CALL xios_set_axis_attr(hname, unit=cdunits)
95 IF (
PRESENT(ksize))
THEN 96 ALLOCATE(zaxis(ksize))
97 zaxis=(/(i, i=1,ksize)/)
98 CALL xios_set_axis_attr(hname,
VALUE=zaxis, n_glo=ksize)
101 CALL abor1_sfx(
'SET_AXIS : MUST PROVIDE PVALUE OR KSIZE FOR'//
trim(hname))
104 IF (
PRESENT(cdpositive))
THEN 105 CALL xios_set_axis_attr(hname, positive=cdpositive)
static const char * trim(const char *name, int *n)
subroutine set_axis(HNAME, PVALUE, CDPOSITIVE, KSIZE, CDUNITS, PBOUNDS)
subroutine abor1_sfx(YTEXT)