5 SUBROUTINE write_surf_xios(HREC, HCOMMENT, KFIELD, PFIELD, OFIELD, HFIELD, PFIELD1, PFIELD2, PFIELD3, HAXIS, HAXIS2)
55 USE modi_sfx_xios_declare_field
56 USE modi_sfx_xios_send_block
70 CHARACTER(LEN=*),
INTENT(IN) :: HREC
71 CHARACTER(LEN=*),
INTENT(IN) :: HCOMMENT
73 INTEGER ,
INTENT(IN),
OPTIONAL :: KFIELD
74 REAL ,
INTENT(IN),
OPTIONAL :: PFIELD
75 REAL,
DIMENSION(:),
INTENT(IN),
OPTIONAL :: PFIELD1
76 REAL,
DIMENSION(:,:) ,
INTENT(IN),
OPTIONAL :: PFIELD2
77 REAL,
DIMENSION(:,:,:),
INTENT(IN),
OPTIONAL :: PFIELD3
78 LOGICAL ,
INTENT(IN),
OPTIONAL :: OFIELD
79 CHARACTER(LEN=*),
INTENT(IN),
OPTIONAL :: HFIELD
80 CHARACTER(LEN=*) ,
INTENT(IN),
OPTIONAL :: HAXIS
81 CHARACTER(LEN=*) ,
INTENT(IN) ,
OPTIONAL :: HAXIS2
85 CHARACTER(LEN=1000) :: YAXIS, YAXIS2
86 CHARACTER(LEN=1000) :: YNAME
87 CHARACTER(LEN=10) :: YLVL
91 REAL(KIND=JPRB) :: ZHOOK_HANDLE
94 TYPE(xios_variable) :: var_hdl
95 TYPE(xios_file) :: file_hdl
98 IF (
lhook)
CALL dr_hook(
'WRITE_SURF_XIOS',0,zhook_handle)
103 IF (
PRESENT(kfield) .OR.
PRESENT(pfield) .OR.
PRESENT(hfield) .OR.
PRESENT(ofield))
THEN 146 IF (
PRESENT(pfield1))
THEN 162 ELSE IF (
PRESENT(pfield2))
THEN 165 IF (
PRESENT(haxis)) yaxis =
trim(haxis)
179 DO ji=1,
SIZE(pfield2,2)
182 WRITE(ylvl,
'(I1)') ji
184 WRITE(ylvl,
'(I2)') ji
186 yname=hrec//
'_'//
trim(ylvl)
198 ELSE IF (
PRESENT(pfield3))
THEN 201 IF (
PRESENT(haxis)) yaxis=
trim(haxis)
206 DO ji=1,
SIZE(pfield3,2)
208 WRITE(ylvl,
'(I1)') ji
210 WRITE(ylvl,
'(I2)') ji
212 yname=hrec//
'_'//
trim(ylvl)
227 IF (
PRESENT(haxis2)) yaxis2=haxis2
229 klev=
SIZE(pfield2,2), klev2=
SIZE(pfield3,3))
243 IF (
lhook)
CALL dr_hook(
'WRITE_SURF_XIOS',1,zhook_handle)
static const char * trim(const char *name, int *n)
subroutine write_surf_xios(HREC, HCOMMENT, KFIELD, PFIELD, OFIELD, HFIELD, PFIELD1, PFIELD2, PFIELD3, HAXIS, HAXIS2)
subroutine sfx_xios_send_block(HDTAG, PFIELD, PFIELD2, PFIELD3, HDOMAIN, HAXIS, HAXIS2, HDCOMMENT, KFREQOP)
character(len=30) ypatch_dim_name
subroutine sfx_xios_declare_field(HREC, HDOMAIN, HAXIS, KLEV, HAXIS2, KLEV2, HCOMMENT, KFREQOP)
character(len=6) yxios_domain
character(len=14) coutput_default