31 class(fmsnetcdffile_t),
intent(in) :: fileobj
32 character(len=*),
intent(in) :: variable_name
33 class(*),
intent(in) :: cdata
37 integer,
intent(in),
optional :: unlim_dim_level
39 integer,
intent(in),
optional :: corner
44 integer,
dimension(2) :: compressed_dim_index
46 compressed_dim_index = get_variable_compressed_dimension_index(fileobj, variable_name)
47 if (compressed_dim_index(1) .eq. dimension_not_found)
then
48 call netcdf_write_data(fileobj, variable_name, cdata, &
49 unlim_dim_level=unlim_dim_level, corner=corner)
59 type(fmsnetcdffile_t),
intent(in) :: fileobj
60 character(len=*),
intent(in) :: variable_name
61 class(*),
intent(in) :: cdata
65 integer,
intent(in),
optional :: unlim_dim_level
67 integer,
intent(in),
optional :: corner
72 call compressed_write(fileobj, variable_name, cdata, unlim_dim_level, corner)
83 class(fmsnetcdffile_t),
intent(in) :: fileobj
84 character(len=*),
intent(in) :: variable_name
85 class(*),
dimension(:),
intent(in) :: cdata
89 integer,
intent(in),
optional :: unlim_dim_level
91 integer,
dimension(1),
intent(in),
optional :: corner
95 integer,
dimension(1),
intent(in),
optional :: edge_lengths
100 integer,
dimension(2) :: compressed_dim_index
103 integer,
dimension(1) :: e
105 integer(kind=i4_kind),
dimension(:),
allocatable :: buf_i4_kind
106 integer(kind=i8_kind),
dimension(:),
allocatable :: buf_i8_kind
107 real (kind=r4_kind),
dimension(:),
allocatable :: buf_r4_kind
108 real (kind=r8_kind),
dimension(:),
allocatable :: buf_r8_kind
110 character(len=200) :: append_error_msg
112 append_error_msg =
"compressed_write_1d: file:"//trim(fileobj%path)//
" variable:"//trim(variable_name)
114 compressed_dim_index = get_variable_compressed_dimension_index(fileobj, variable_name)
116 if (compressed_dim_index(1) .eq. dimension_not_found)
then
117 call netcdf_write_data(fileobj, variable_name, cdata, &
118 unlim_dim_level=unlim_dim_level, corner=corner, &
119 edge_lengths=edge_lengths)
125 if (fileobj%is_root)
then
126 e(compressed_dim_index(1)) = sum(fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems)
128 type is (
integer(kind=i4_kind))
129 call allocate_array(buf_i4_kind, e)
130 type is (
integer(kind=i8_kind))
131 call allocate_array(buf_i8_kind, e)
132 type is (real(kind=r4_kind))
133 call allocate_array(buf_r4_kind, e)
134 type is (real(kind=r8_kind))
135 call allocate_array(buf_r8_kind, e)
137 call error(
"unsupported variable type: "//trim(append_error_msg))
141 type is (
integer(kind=i4_kind))
142 allocate(buf_i4_kind(1))
143 type is (
integer(kind=i8_kind))
144 allocate(buf_i8_kind(1))
145 type is (real(kind=r4_kind))
146 allocate(buf_r4_kind(1))
147 type is (real(kind=r8_kind))
148 allocate(buf_r8_kind(1))
150 call error(
"unsupported variable type: "//trim(append_error_msg))
156 type is (
integer(kind=i4_kind))
157 call mpp_gather(cdata,
size(cdata), buf_i4_kind, fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems, &
159 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_i4_kind, &
160 unlim_dim_level=unlim_dim_level)
161 type is (
integer(kind=i8_kind))
162 call mpp_gather(cdata,
size(cdata), buf_i8_kind, fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems, &
164 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_i8_kind, &
165 unlim_dim_level=unlim_dim_level)
166 type is (real(kind=r4_kind))
167 call mpp_gather(cdata,
size(cdata), buf_r4_kind, fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems, &
169 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_r4_kind, &
170 unlim_dim_level=unlim_dim_level)
171 type is (real(kind=r8_kind))
172 call mpp_gather(cdata,
size(cdata), buf_r8_kind, fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems, &
174 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_r8_kind, &
175 unlim_dim_level=unlim_dim_level)
177 call error(
"unsupported variable type: "//trim(append_error_msg))
179 if (
allocated(buf_i4_kind))
deallocate(buf_i4_kind)
180 if (
allocated(buf_i8_kind))
deallocate(buf_i8_kind)
181 if (
allocated(buf_r4_kind))
deallocate(buf_r4_kind)
182 if (
allocated(buf_r8_kind))
deallocate(buf_r8_kind)
191 corner, edge_lengths)
193 class(fmsnetcdffile_t),
intent(in) :: fileobj
194 character(len=*),
intent(in) :: variable_name
195 class(*),
dimension(:,:),
intent(in) :: cdata
199 integer,
intent(in),
optional :: unlim_dim_level
201 integer,
dimension(2),
intent(in),
optional :: corner
205 integer,
dimension(2),
intent(in),
optional :: edge_lengths
210 integer,
dimension(2) :: compressed_dim_index
213 integer,
dimension(2) :: c
214 integer,
dimension(2) :: e
216 integer(kind=i4_kind),
dimension(:,:),
allocatable :: buf_i4_kind
217 integer(kind=i8_kind),
dimension(:,:),
allocatable :: buf_i8_kind
218 real (kind=r4_kind),
dimension(:,:),
allocatable :: buf_r4_kind
219 real (kind=r8_kind),
dimension(:,:),
allocatable :: buf_r8_kind
221 character(len=200) :: append_error_msg
230 append_error_msg =
"compressed_write_2d: file:"//trim(fileobj%path)//
" variable:"//trim(variable_name)
232 compressed_dim_index = get_variable_compressed_dimension_index(fileobj, variable_name)
233 if (compressed_dim_index(1) .eq. dimension_not_found)
then
234 call netcdf_write_data(fileobj, variable_name, cdata, &
235 unlim_dim_level=unlim_dim_level, corner=corner, &
236 edge_lengths=edge_lengths)
242 if (fileobj%is_root)
then
243 e(compressed_dim_index(1)) = sum(fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems)
245 type is (
integer(kind=i4_kind))
246 call allocate_array(buf_i4_kind, e)
247 type is (
integer(kind=i8_kind))
248 call allocate_array(buf_i8_kind, e)
249 type is (real(kind=r4_kind))
250 call allocate_array(buf_r4_kind, e)
251 type is (real(kind=r8_kind))
252 call allocate_array(buf_r8_kind, e)
254 call error(
"unsupported variable type: "//trim(append_error_msg))
258 type is (
integer(kind=i4_kind))
259 allocate(buf_i4_kind(1, 1))
260 type is (
integer(kind=i8_kind))
261 allocate(buf_i8_kind(1, 1))
262 type is (real(kind=r4_kind))
263 allocate(buf_r4_kind(1, 1))
264 type is (real(kind=r8_kind))
265 allocate(buf_r8_kind(1, 1))
267 call error(
"unsupported variable type: "//trim(append_error_msg))
272 index = findloc(fileobj%pelist,
mpp_pe())
274 c(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_corner(index(1))
275 e(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems(index(1))
277 if (compressed_dim_index(1) .eq. 1)
then
278 is = c(compressed_dim_index(1))
279 ie = c(compressed_dim_index(1)) + e(compressed_dim_index(1)) - 1
283 js = c(compressed_dim_index(1))
284 je = c(compressed_dim_index(1)) + e(compressed_dim_index(1)) - 1
290 type is (
integer(kind=i4_kind))
291 call mpp_gather(is, ie, js, je, fileobj%pelist, cdata, buf_i4_kind, fileobj%is_root)
292 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_i4_kind, &
293 unlim_dim_level=unlim_dim_level)
294 type is (
integer(kind=i8_kind))
295 call mpp_gather(is, ie, js, je, fileobj%pelist, cdata, buf_i8_kind, fileobj%is_root)
296 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_i8_kind, &
297 unlim_dim_level=unlim_dim_level)
298 type is (real(kind=r4_kind))
299 call mpp_gather(is, ie, js, je, fileobj%pelist, cdata, buf_r4_kind, fileobj%is_root)
300 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_r4_kind, &
301 unlim_dim_level=unlim_dim_level)
302 type is (real(kind=r8_kind))
303 call mpp_gather(is, ie, js, je, fileobj%pelist, cdata, buf_r8_kind, fileobj%is_root)
304 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_r8_kind, &
305 unlim_dim_level=unlim_dim_level)
307 call error(
"unsupported variable type: "//trim(append_error_msg))
310 if (fileobj%is_root)
then
311 if (
allocated(buf_i4_kind))
deallocate(buf_i4_kind)
312 if (
allocated(buf_i8_kind))
deallocate(buf_i8_kind)
313 if (
allocated(buf_r4_kind))
deallocate(buf_r4_kind)
314 if (
allocated(buf_r8_kind))
deallocate(buf_r8_kind)
324 corner, edge_lengths)
326 class(fmsnetcdffile_t),
intent(in) :: fileobj
327 character(len=*),
intent(in) :: variable_name
328 class(*),
contiguous,
intent(in),
target :: cdata(:,:,:)
332 integer,
intent(in),
optional :: unlim_dim_level
334 integer,
dimension(3),
intent(in),
optional :: corner
338 integer,
dimension(3),
intent(in),
optional :: edge_lengths
343 integer,
dimension(2) :: compressed_dim_index
346 integer,
dimension(3) :: c
347 integer,
dimension(3) :: e
349 integer(kind=i4_kind),
dimension(:,:,:),
allocatable :: buf_i4_kind
350 integer(kind=i8_kind),
dimension(:,:,:),
allocatable :: buf_i8_kind
351 real (kind=r4_kind),
dimension(:,:,:),
allocatable :: buf_r4_kind
352 real (kind=r8_kind),
dimension(:,:,:),
allocatable :: buf_r8_kind
354 character(len=200) :: append_error_msg
355 class(*),
pointer :: cdata_dummy(:,:,:,:)
364 append_error_msg =
"compressed_write_3d: file:"//trim(fileobj%path)//
" variable:"//trim(variable_name)
366 compressed_dim_index = get_variable_compressed_dimension_index(fileobj, variable_name)
367 if (compressed_dim_index(1) .eq. dimension_not_found)
then
368 call netcdf_write_data(fileobj, variable_name, cdata, &
369 unlim_dim_level=unlim_dim_level, corner=corner, &
370 edge_lengths=edge_lengths)
372 else if (compressed_dim_index(1) .eq. 3)
then
373 cdata_dummy(1:
size(cdata,1), 1:
size(cdata,2), 1:
size(cdata,3), 1:1) => cdata(:,:,:)
379 if (fileobj%is_root)
then
380 e(compressed_dim_index(1)) = sum(fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems)
382 type is (
integer(kind=i4_kind))
383 call allocate_array(buf_i4_kind, e)
384 type is (
integer(kind=i8_kind))
385 call allocate_array(buf_i8_kind, e)
386 type is (real(kind=r4_kind))
387 call allocate_array(buf_r4_kind, e)
388 type is (real(kind=r8_kind))
389 call allocate_array(buf_r8_kind, e)
391 call error(
"unsupported variable type: "//trim(append_error_msg))
395 type is (
integer(kind=i4_kind))
396 allocate(buf_i4_kind(1, 1, 1))
397 type is (
integer(kind=i8_kind))
398 allocate(buf_i8_kind(1, 1, 1))
399 type is (real(kind=r4_kind))
400 allocate(buf_r4_kind(1, 1, 1))
401 type is (real(kind=r8_kind))
402 allocate(buf_r8_kind(1, 1, 1))
404 call error(
"unsupported variable type: "//trim(append_error_msg))
409 index = findloc(fileobj%pelist,
mpp_pe())
411 c(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_corner(index(1))
412 e(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems(index(1))
414 if (compressed_dim_index(1) .eq. 1)
then
415 is = c(compressed_dim_index(1))
416 ie = c(compressed_dim_index(1)) + e(compressed_dim_index(1)) - 1
420 js = c(compressed_dim_index(1))
421 je = c(compressed_dim_index(1)) + e(compressed_dim_index(1)) - 1
427 type is (
integer(kind=i4_kind))
428 call mpp_gather(is, ie, js, je,
size(cdata,3), &
429 fileobj%pelist, cdata, buf_i4_kind, fileobj%is_root)
430 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_i4_kind, &
431 unlim_dim_level=unlim_dim_level)
432 type is (
integer(kind=i8_kind))
433 call mpp_gather(is, ie, js, je,
size(cdata,3), &
434 fileobj%pelist, cdata, buf_i8_kind, fileobj%is_root)
435 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_i8_kind, &
436 unlim_dim_level=unlim_dim_level)
437 type is (real(kind=r4_kind))
438 call mpp_gather(is, ie, js, je,
size(cdata,3), &
439 fileobj%pelist, cdata, buf_r4_kind, fileobj%is_root)
440 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_r4_kind, &
441 unlim_dim_level=unlim_dim_level)
442 type is (real(kind=r8_kind))
443 call mpp_gather(is, ie, js, je,
size(cdata,3), &
444 fileobj%pelist, cdata, buf_r8_kind, fileobj%is_root)
445 if (fileobj%is_root)
call netcdf_write_data(fileobj, variable_name, buf_r8_kind, &
446 unlim_dim_level=unlim_dim_level)
448 call error(
"unsupported variable type: "//trim(append_error_msg))
451 if (fileobj%is_root)
then
452 if (
allocated(buf_i4_kind))
deallocate(buf_i4_kind)
453 if (
allocated(buf_i8_kind))
deallocate(buf_i8_kind)
454 if (
allocated(buf_r4_kind))
deallocate(buf_r4_kind)
455 if (
allocated(buf_r8_kind))
deallocate(buf_r8_kind)
465 corner, edge_lengths)
467 class(fmsnetcdffile_t),
intent(in) :: fileobj
468 character(len=*),
intent(in) :: variable_name
469 class(*),
dimension(:,:,:,:),
intent(in) :: cdata
473 integer,
intent(in),
optional :: unlim_dim_level
475 integer,
dimension(4),
intent(in),
optional :: corner
479 integer,
dimension(4),
intent(in),
optional :: edge_lengths
484 integer,
dimension(2) :: compressed_dim_index
485 integer,
dimension(4) :: c
486 integer,
dimension(4) :: e
488 integer(kind=i4_kind),
dimension(:,:,:,:),
allocatable :: buf_i4_kind
489 integer(kind=i8_kind),
dimension(:,:,:,:),
allocatable :: buf_i8_kind
490 real(kind=r4_kind),
dimension(:,:,:,:),
allocatable :: buf_r4_kind
491 real(kind=r8_kind),
dimension(:,:,:,:),
allocatable :: buf_r8_kind
492 character(len=200) :: append_error_msg
494 append_error_msg =
"compressed_write_4d: file:"//trim(fileobj%path)//
" variable:"//trim(variable_name)
496 compressed_dim_index = get_variable_compressed_dimension_index(fileobj, variable_name)
497 if (compressed_dim_index(1) .eq. dimension_not_found)
then
498 call netcdf_write_data(fileobj, variable_name, cdata, &
499 unlim_dim_level=unlim_dim_level, corner=corner, &
500 edge_lengths=edge_lengths)
505 if (fileobj%is_root)
then
508 do i = 1,
size(fileobj%pelist)
509 c(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_corner(i)
510 e(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems(i)
512 call netcdf_write_data(fileobj, variable_name, cdata, &
513 unlim_dim_level=unlim_dim_level, corner=c, &
517 type is (
integer(kind=i4_kind))
518 call allocate_array(buf_i4_kind, e)
519 call mpp_recv(buf_i4_kind,
size(buf_i4_kind), fileobj%pelist(i), block=.true.)
520 call netcdf_write_data(fileobj, variable_name, buf_i4_kind, &
521 unlim_dim_level=unlim_dim_level, corner=c, &
523 deallocate(buf_i4_kind)
524 type is (
integer(kind=i8_kind))
525 call allocate_array(buf_i8_kind, e)
526 call mpp_recv(buf_i8_kind,
size(buf_i8_kind), fileobj%pelist(i), block=.true.)
527 call netcdf_write_data(fileobj, variable_name, buf_i8_kind, &
528 unlim_dim_level=unlim_dim_level, corner=c, &
530 deallocate(buf_i8_kind)
531 type is (real(kind=r4_kind))
532 call allocate_array(buf_r4_kind, e)
533 call mpp_recv(buf_r4_kind,
size(buf_r4_kind), fileobj%pelist(i), block=.true.)
534 call netcdf_write_data(fileobj, variable_name, buf_r4_kind, &
535 unlim_dim_level=unlim_dim_level, corner=c, &
537 deallocate(buf_r4_kind)
538 type is (real(kind=r8_kind))
539 call allocate_array(buf_r8_kind, e)
540 call mpp_recv(buf_r8_kind,
size(buf_r8_kind), fileobj%pelist(i), block=.true.)
541 call netcdf_write_data(fileobj, variable_name, buf_r8_kind, &
542 unlim_dim_level=unlim_dim_level, corner=c, &
544 deallocate(buf_r8_kind)
546 call error(
"unsupported variable type: "//trim(append_error_msg))
552 type is (
integer(kind=i4_kind))
553 call mpp_send(cdata,
size(cdata), fileobj%io_root)
554 type is (
integer(kind=i8_kind))
555 call mpp_send(cdata,
size(cdata), fileobj%io_root)
556 type is (real(kind=r4_kind))
557 call mpp_send(cdata,
size(cdata), fileobj%io_root)
558 type is (real(kind=r8_kind))
559 call mpp_send(cdata,
size(cdata), fileobj%io_root)
561 call error(
"unsupported variable type: "//trim(append_error_msg))
573 corner, edge_lengths)
575 class(fmsnetcdffile_t),
intent(in) :: fileobj
576 character(len=*),
intent(in) :: variable_name
577 class(*),
dimension(:,:,:,:,:),
intent(in) :: cdata
581 integer,
intent(in),
optional :: unlim_dim_level
583 integer,
dimension(5),
intent(in),
optional :: corner
587 integer,
dimension(5),
intent(in),
optional :: edge_lengths
592 integer,
dimension(2) :: compressed_dim_index
593 integer,
dimension(5) :: c
594 integer,
dimension(5) :: e
596 integer(kind=i4_kind),
dimension(:,:,:,:,:),
allocatable :: buf_i4_kind
597 integer(kind=i8_kind),
dimension(:,:,:,:,:),
allocatable :: buf_i8_kind
598 real(kind=r4_kind),
dimension(:,:,:,:,:),
allocatable :: buf_r4_kind
599 real(kind=r8_kind),
dimension(:,:,:,:,:),
allocatable :: buf_r8_kind
600 character(len=200) :: append_error_msg
602 append_error_msg =
"compressed_write_5d: file:"//trim(fileobj%path)//
" variable:"//trim(variable_name)
604 compressed_dim_index = get_variable_compressed_dimension_index(fileobj, variable_name)
605 if (compressed_dim_index(1) .eq. dimension_not_found)
then
606 call netcdf_write_data(fileobj, variable_name, cdata, &
607 unlim_dim_level=unlim_dim_level, corner=corner, &
608 edge_lengths=edge_lengths)
613 if (fileobj%is_root)
then
616 do i = 1,
size(fileobj%pelist)
617 c(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_corner(i)
618 e(compressed_dim_index(1)) = fileobj%compressed_dims(compressed_dim_index(2))%npes_nelems(i)
620 call netcdf_write_data(fileobj, variable_name, cdata, &
621 unlim_dim_level=unlim_dim_level, corner=c, &
625 type is (
integer(kind=i4_kind))
626 call allocate_array(buf_i4_kind, e)
627 call mpp_recv(buf_i4_kind,
size(buf_i4_kind), fileobj%pelist(i), block=.true.)
628 call netcdf_write_data(fileobj, variable_name, buf_i4_kind, &
629 unlim_dim_level=unlim_dim_level, corner=c, &
631 deallocate(buf_i4_kind)
632 type is (
integer(kind=i8_kind))
633 call allocate_array(buf_i8_kind, e)
634 call mpp_recv(buf_i8_kind,
size(buf_i8_kind), fileobj%pelist(i), block=.true.)
635 call netcdf_write_data(fileobj, variable_name, buf_i8_kind, &
636 unlim_dim_level=unlim_dim_level, corner=c, &
638 deallocate(buf_i8_kind)
639 type is (real(kind=r4_kind))
640 call allocate_array(buf_r4_kind, e)
641 call mpp_recv(buf_r4_kind,
size(buf_r4_kind), fileobj%pelist(i), block=.true.)
642 call netcdf_write_data(fileobj, variable_name, buf_r4_kind, &
643 unlim_dim_level=unlim_dim_level, corner=c, &
645 deallocate(buf_r4_kind)
646 type is (real(kind=r8_kind))
647 call allocate_array(buf_r8_kind, e)
648 call mpp_recv(buf_r8_kind,
size(buf_r8_kind), fileobj%pelist(i), block=.true.)
649 call netcdf_write_data(fileobj, variable_name, buf_r8_kind, &
650 unlim_dim_level=unlim_dim_level, corner=c, &
652 deallocate(buf_r8_kind)
654 call error(
"unsupported variable type: "//trim(append_error_msg))
660 type is (
integer(kind=i4_kind))
661 call mpp_send(cdata,
size(cdata), fileobj%io_root)
662 type is (
integer(kind=i8_kind))
663 call mpp_send(cdata,
size(cdata), fileobj%io_root)
664 type is (real(kind=r4_kind))
665 call mpp_send(cdata,
size(cdata), fileobj%io_root)
666 type is (real(kind=r8_kind))
667 call mpp_send(cdata,
size(cdata), fileobj%io_root)
669 call error(
"unsupported variable type: "//trim(append_error_msg))
678 corner, edge_lengths)
680 type(fmsnetcdffile_t),
intent(in) :: fileobj
681 character(len=*),
intent(in) :: variable_name
682 class(*),
dimension(:),
intent(in) :: cdata
686 integer,
intent(in),
optional :: unlim_dim_level
688 integer,
dimension(1),
intent(in),
optional :: corner
692 integer,
dimension(1),
intent(in),
optional :: edge_lengths
697 call compressed_write(fileobj, variable_name, cdata, unlim_dim_level, corner, &
698 edge_lengths=edge_lengths)
705 corner, edge_lengths)
707 type(fmsnetcdffile_t),
intent(in) :: fileobj
708 character(len=*),
intent(in) :: variable_name
709 class(*),
dimension(:,:),
intent(in) :: cdata
713 integer,
intent(in),
optional :: unlim_dim_level
715 integer,
dimension(2),
intent(in),
optional :: corner
719 integer,
dimension(2),
intent(in),
optional :: edge_lengths
724 call compressed_write(fileobj, variable_name, cdata, unlim_dim_level, corner, &
725 edge_lengths=edge_lengths)
731 corner, edge_lengths)
733 type(fmsnetcdffile_t),
intent(in) :: fileobj
734 character(len=*),
intent(in) :: variable_name
735 class(*),
dimension(:,:,:),
intent(in) :: cdata
739 integer,
intent(in),
optional :: unlim_dim_level
741 integer,
dimension(3),
intent(in),
optional :: corner
745 integer,
dimension(3),
intent(in),
optional :: edge_lengths
750 call compressed_write(fileobj, variable_name, cdata, unlim_dim_level, corner, &
751 edge_lengths=edge_lengths)
757 corner, edge_lengths)
759 type(fmsnetcdffile_t),
intent(in) :: fileobj
760 character(len=*),
intent(in) :: variable_name
761 class(*),
dimension(:,:,:,:),
intent(in) :: cdata
765 integer,
intent(in),
optional :: unlim_dim_level
767 integer,
dimension(4),
intent(in),
optional :: corner
771 integer,
dimension(4),
intent(in),
optional :: edge_lengths
776 call compressed_write(fileobj, variable_name, cdata, unlim_dim_level, corner, &
777 edge_lengths=edge_lengths)
783 corner, edge_lengths)
785 type(fmsnetcdffile_t),
intent(in) :: fileobj
786 character(len=*),
intent(in) :: variable_name
787 class(*),
dimension(:,:,:,:,:),
intent(in) :: cdata
791 integer,
intent(in),
optional :: unlim_dim_level
793 integer,
dimension(5),
intent(in),
optional :: corner
797 integer,
dimension(5),
intent(in),
optional :: edge_lengths
802 call compressed_write(fileobj, variable_name, cdata, unlim_dim_level, corner, &
803 edge_lengths=edge_lengths)
subroutine compressed_write_1d_wrap(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
Wrapper to distinguish interfaces.
subroutine compressed_write_3d(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
For variables without a compressed dimension, this routine simply wraps netcdf_write data....
subroutine compressed_write_5d_wrap(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
Wrapper to distinguish interfaces.
subroutine compressed_write_0d(fileobj, variable_name, cdata, unlim_dim_level, corner)
For variables without a compressed dimension, this routine simply wraps netcdf_write data....
subroutine compressed_write_5d(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
For variables without a compressed dimension, this routine simply wraps netcdf_write data....
subroutine compressed_write_0d_wrap(fileobj, variable_name, cdata, unlim_dim_level, corner)
Wrapper to distinguish interfaces.
subroutine compressed_write_4d(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
For variables without a compressed dimension, this routine simply wraps netcdf_write data....
subroutine compressed_write_2d_wrap(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
Wrapper to distinguish interfaces.
subroutine compressed_write_1d(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
For variables without a compressed dimension, this routine simply wraps netcdf_write data....
subroutine compressed_write_4d_wrap(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
Wrapper to distinguish interfaces.
subroutine compressed_write_2d(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
For variables without a compressed dimension, this routine simply wraps netcdf_write data....
subroutine compressed_write_3d_wrap(fileobj, variable_name, cdata, unlim_dim_level, corner, edge_lengths)
Wrapper to distinguish interfaces.
subroutine mpp_sync_self(pelist, check, request, msg_size, msg_type)
This is to check if current PE's outstanding puts are complete but we can't use shmem_fence because w...
integer function mpp_pe()
Returns processor ID.