1 # 1 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2 # 1 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../generics.fypp" 1
11 # 57 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../generics.fypp"
12 # 2 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp" 2
13 # 1 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../instrumentation.fypp" 1
14 # 1 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../subr_list.fypp" 1
23 # 926 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../subr_list.fypp"
24 # 2 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../instrumentation.fypp" 2
33 # 112 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/../instrumentation.fypp"
34 # 3 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp" 2
44 use iso_fortran_env,
only: output_unit
45 use netcdf,
only: nf90_clobber,nf90_create,nf90_close,nf90_def_dim,nf90_def_grp,nf90_def_var,nf90_ebaddim,nf90_get_att, &
46 & nf90_get_var,nf90_global,nf90_inq_dimid,nf90_inq_grp_ncid,nf90_inquire_dimension,nf90_inquire_variable,nf90_inq_varid, &
47 & nf90_mpiio,nf90_netcdf4,nf90_noerr,nf90_nowrite,nf90_open,nf90_put_att,nf90_put_var,nf90_strerror,nf90_write
61 character(len=ncharmax) :: name(
nidmax)
64 integer :: nopened = 0
65 integer :: nclosed = 0
89 # 58 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
91 # 58 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
93 # 58 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
95 # 58 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
97 # 60 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
100 # 63 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
102 # 63 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
104 # 63 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
106 # 63 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
108 # 65 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
138 # 95 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
140 # 95 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
142 # 95 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
144 # 97 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
145 # 98 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
146 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
148 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
150 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
152 # 101 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
153 # 98 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
154 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
156 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
158 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
160 # 101 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
161 # 98 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
162 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
164 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
166 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
168 # 101 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
169 # 98 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
170 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
172 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
174 # 99 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
176 # 101 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
177 # 102 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
180 # 105 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
182 # 105 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
184 # 105 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
186 # 105 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
188 # 105 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
190 # 107 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
191 # 108 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
192 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
194 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
196 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
198 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
200 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
202 # 111 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
203 # 108 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
204 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
206 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
208 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
210 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
212 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
214 # 111 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
215 # 108 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
216 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
218 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
220 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
222 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
224 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
226 # 111 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
227 # 108 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
228 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
230 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
232 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
234 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
236 # 109 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
238 # 111 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
239 # 112 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
250 public ::
create_file,
open_file,
define_grp,
inquire_grp,
put_att,
get_att,
define_dim,
inquire_dim,
inquire_dim_size,
check_dim, &
273 write(mpl%info,
'(a7,a,i3)')
'',
'Number of opened files: ',registry%nopened
275 write(mpl%info,
'(a7,a,i3)')
'',
'Number of closed files: ',registry%nclosed
277 write(mpl%info,
'(a7,a,i3)')
'',
'Registry status: ',count(registry%id(:,1)/=-1)
296 integer,
intent(in) :: parent_id
297 integer,
intent(in) :: child_id
298 character(len=*),
intent(in) :: child_name
314 if (registry%id(i,1)==-1)
then
321 if (mpl%msv%is(rid))
call mpl%abort(
'registry_save',
'no more free slots in the files registry')
324 registry%id(rid,1) = parent_id
327 registry%id(rid,2) = child_id
330 registry%name(rid) = child_name(1:min(len(child_name),
ncharmax))
333 if (parent_id==0) registry%nopened = registry%nopened+1
351 integer,
intent(in) :: ncid
357 integer :: child_id,parent_id,i
366 if (mpl%msv%isnot(ncid))
then
372 do while (.not.found)
378 if (
registry%id(i,2)==child_id)
then
385 if (mpl%msv%is(rid))
call mpl%abort(
'registry_get_root_id',
'cannot find this child ID in registry')
390 if (parent_id==0)
then
419 integer,
intent(in) :: ncid
428 call registry%recursive_cleaning(mpl,ncid)
431 registry%nclosed = registry%nclosed+1
449 integer,
intent(in) :: parent_id
452 integer :: i,child_id
462 if (
registry%id(i,1)==parent_id)
then
464 call registry%recursive_cleaning(mpl,child_id)
470 if (
registry%id(i,2)==parent_id)
then
491 character(len=*),
intent(in) :: filename
492 integer,
intent(in),
optional :: iproc
498 character(len=1024) :: fullname
509 if (
present(iproc))
then
514 fullname = trim(mpl%datadir)//
'/'//trim(filename)//
'.nc'
516 write(fullname,
'(a,i6.6,a,i6.6,a)') trim(mpl%datadir)//
'/'//trim(filename)//
'_local_',mpl%nproc,
'-',iproc,
'.nc'
520 call strerror(mpl,
'netcdf_create_file',ncid,nf90_create(fullname,ior(nf90_clobber,nf90_netcdf4),ncid),
'file '//trim(fullname))
523 if (mpl%pioproc(mpl%myproc))
then
525 fullname = trim(mpl%datadir)//
'/'//trim(filename)//
'.nc'
528 if (mpl%parallel_io)
then
529 call strerror(mpl,
'netcdf_create_file',ncid,nf90_create(fullname,ior(nf90_clobber,ior(nf90_netcdf4,nf90_mpiio)),ncid, &
530 & comm=mpl%f_comm_io%communicator(),info=mpl%f_comm_io%info_null()),
'file '//trim(fullname))
532 call strerror(mpl,
'netcdf_create_file',ncid,nf90_create(fullname,ior(nf90_clobber,nf90_netcdf4),ncid),
'file&
533 # 404 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
540 if (mpl%msv%isnot(ncid))
call registry%save(mpl,0,ncid,filename)
557 character(len=*),
intent(in) :: filename
558 integer,
intent(in),
optional :: iproc
564 character(len=1024) :: fullname
575 if (
present(iproc))
then
580 fullname = trim(mpl%datadir)//
'/'//trim(filename)//
'.nc'
582 write(fullname,
'(a,i6.6,a,i6.6,a)') trim(mpl%datadir)//
'/'//trim(filename)//
'_local_',mpl%nproc,
'-',iproc,
'.nc'
586 call strerror(mpl,
'netcdf_open_file',ncid,nf90_open(fullname,nf90_nowrite,ncid),
'file '//trim(fullname))
589 if (mpl%pioproc(mpl%myproc))
then
591 fullname = trim(mpl%datadir)//
'/'//trim(filename)//
'.nc'
594 if (mpl%parallel_io)
then
595 call strerror(mpl,
'netcdf_open_file',ncid,nf90_open(fullname,nf90_nowrite,ncid, &
596 & comm=mpl%f_comm_io%communicator(),info=mpl%f_comm_io%info_null()),
'file '//trim(fullname))
598 call strerror(mpl,
'netcdf_open_file',ncid,nf90_open(fullname,nf90_nowrite,ncid),
'file '//trim(fullname))
604 if (mpl%msv%isnot(ncid))
call registry%save(mpl,0,ncid,filename)
621 integer,
intent(in) :: ncid
622 character(len=*),
intent(in) :: grpname
640 rid =
registry%get_root_id(mpl,ncid)
642 if (mpl%msv%isnot(rid))
then
644 call strerror(mpl,
'netcdf_define_grp',ncid,nf90_def_grp(ncid,grpname,grpid),
'group '//trim(grpname))
647 if (mpl%msv%isnot(grpid))
call registry%save(mpl,ncid,grpid,grpname)
665 integer,
intent(in) :: ncid
666 character(len=*),
intent(in) :: grpname
684 rid =
registry%get_root_id(mpl,ncid)
686 if (mpl%msv%isnot(rid))
then
688 call strerror(mpl,
'netcdf_inquire_grp',ncid,nf90_inq_grp_ncid(ncid,grpname,grpid),
'group '//trim(grpname))
691 if (mpl%msv%isnot(grpid))
call registry%save(mpl,ncid,grpid,grpname)
699 # 570 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
710 integer,
intent(in) :: ncid
711 character(len=*),
intent(in) :: attname
712 integer(kind_int),
intent(in) :: att
713 integer,
intent(in),
optional :: varid
716 integer :: rid,lvarid
726 rid =
registry%get_root_id(mpl,ncid)
728 if (mpl%msv%isnot(rid))
then
731 if (
present(varid)) lvarid = varid
734 # 608 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
735 call strerror(mpl,
'netcdf_put_att_int',ncid,nf90_put_att(ncid,lvarid,attname,att),
'attribute '//trim(attname))
736 # 610 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
743 # 570 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
754 integer,
intent(in) :: ncid
755 character(len=*),
intent(in) :: attname
756 real(kind_real),
intent(in) :: att
757 integer,
intent(in),
optional :: varid
760 integer :: rid,lvarid
770 rid =
registry%get_root_id(mpl,ncid)
772 if (mpl%msv%isnot(rid))
then
775 if (
present(varid)) lvarid = varid
778 # 608 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
779 call strerror(mpl,
'netcdf_put_att_real',ncid,nf90_put_att(ncid,lvarid,attname,att),
'attribute '//trim(attname))
780 # 610 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
787 # 570 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
798 integer,
intent(in) :: ncid
799 character(len=*),
intent(in) :: attname
800 logical,
intent(in) :: att
801 integer,
intent(in),
optional :: varid
804 integer :: rid,lvarid
814 rid =
registry%get_root_id(mpl,ncid)
816 if (mpl%msv%isnot(rid))
then
819 if (
present(varid)) lvarid = varid
822 # 605 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
824 call strerror(mpl,
'netcdf_put_att_logical',ncid,nf90_put_att(ncid,lvarid,attname,attint),
'attribute '//trim(attname))
825 # 610 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
832 # 570 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
843 integer,
intent(in) :: ncid
844 character(len=*),
intent(in) :: attname
845 character(len=*),
intent(in) :: att
846 integer,
intent(in),
optional :: varid
849 integer :: rid,lvarid
859 rid =
registry%get_root_id(mpl,ncid)
861 if (mpl%msv%isnot(rid))
then
864 if (
present(varid)) lvarid = varid
867 # 608 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
868 call strerror(mpl,
'netcdf_put_att_string',ncid,nf90_put_att(ncid,lvarid,attname,att),
'attribute '//trim(attname))
869 # 610 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
876 # 617 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
878 # 619 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
889 integer,
intent(in) :: ncid
890 character(len=*),
intent(in) :: attname
891 integer(kind_int),
intent(out) :: att
892 integer,
intent(in),
optional :: varid
895 integer :: rid,lvarid
905 rid =
registry%get_root_id(mpl,ncid)
907 if (mpl%msv%isnot(rid))
then
910 if (
present(varid)) lvarid = varid
913 # 657 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
914 call strerror(mpl,
'netcdf_get_att_int',ncid,nf90_get_att(ncid,lvarid,attname,att),
'attribute '//trim(attname))
915 # 659 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
922 # 619 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
933 integer,
intent(in) :: ncid
934 character(len=*),
intent(in) :: attname
935 real(kind_real),
intent(out) :: att
936 integer,
intent(in),
optional :: varid
939 integer :: rid,lvarid
949 rid =
registry%get_root_id(mpl,ncid)
951 if (mpl%msv%isnot(rid))
then
954 if (
present(varid)) lvarid = varid
957 # 657 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
958 call strerror(mpl,
'netcdf_get_att_real',ncid,nf90_get_att(ncid,lvarid,attname,att),
'attribute '//trim(attname))
959 # 659 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
966 # 619 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
977 integer,
intent(in) :: ncid
978 character(len=*),
intent(in) :: attname
979 logical,
intent(out) :: att
980 integer,
intent(in),
optional :: varid
983 integer :: rid,lvarid
993 rid =
registry%get_root_id(mpl,ncid)
995 if (mpl%msv%isnot(rid))
then
998 if (
present(varid)) lvarid = varid
1001 # 654 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1002 call strerror(mpl,
'netcdf_get_att_logical',ncid,nf90_get_att(ncid,lvarid,attname,attint),
'attribute '//trim(attname))
1004 # 659 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1011 # 619 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1021 type(
mpl_type),
intent(inout) :: mpl
1022 integer,
intent(in) :: ncid
1023 character(len=*),
intent(in) :: attname
1024 character(len=*),
intent(out) :: att
1025 integer,
intent(in),
optional :: varid
1028 integer :: rid,lvarid
1038 rid =
registry%get_root_id(mpl,ncid)
1040 if (mpl%msv%isnot(rid))
then
1042 lvarid = nf90_global
1043 if (
present(varid)) lvarid = varid
1046 # 657 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1047 call strerror(mpl,
'netcdf_get_att_string',ncid,nf90_get_att(ncid,lvarid,attname,att),
'attribute '//trim(attname))
1048 # 659 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1055 # 666 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1066 type(
mpl_type),
intent(inout) :: mpl
1067 integer,
intent(in) :: ncid
1068 character(len=*),
intent(in) :: dimname
1069 integer,
intent(in) :: dimsize
1084 rid =
registry%get_root_id(mpl,ncid)
1087 dimid = mpl%msv%vali
1090 if (mpl%msv%isnot(rid))
call strerror(mpl,
'netcdf_define_dim',ncid,nf90_def_dim(ncid,dimname,dimsize,dimid),
'dimension&
1091 # 700 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1108 type(
mpl_type),
intent(inout) :: mpl
1109 integer,
intent(in) :: ncid
1110 character(len=*),
intent(in) :: dimname
1125 rid =
registry%get_root_id(mpl,ncid)
1128 dimid = mpl%msv%vali
1130 if (mpl%msv%isnot(rid))
then
1132 info = nf90_inq_dimid(ncid,dimname,dimid)
1134 if (info==nf90_ebaddim)
then
1135 dimid = mpl%msv%vali
1137 call strerror(mpl,
'netcdf_inquire_dim',ncid,info,
'dimension '//trim(dimname))
1155 type(
mpl_type),
intent(inout) :: mpl
1156 integer,
intent(in) :: ncid
1157 character(len=*),
intent(in) :: dimname
1158 integer,
intent(in),
optional :: default
1164 integer :: rid,dimid
1173 rid =
registry%get_root_id(mpl,ncid)
1176 dimsize = mpl%msv%vali
1177 if (
present(default)) dimsize = default
1179 if (mpl%msv%isnot(rid))
then
1184 if (mpl%msv%isnot(dimid))
call strerror(mpl,
'netcdf_inquire_dim_size',ncid,nf90_inquire_dimension(ncid,dimid,len=dimsize), &
1185 &
'dimension '//trim(dimname))
1202 type(
mpl_type),
intent(inout) :: mpl
1203 integer,
intent(in) :: ncid
1204 character(len=*),
intent(in) :: dimname
1205 integer,
intent(in) :: dimsize
1211 integer :: rid,dimsize_test
1220 rid =
registry%get_root_id(mpl,ncid)
1225 if (mpl%msv%isnot(rid))
then
1230 value = (dimsize_test==dimsize)
1247 type(
mpl_type),
intent(inout) :: mpl
1248 integer,
intent(in) :: ncid
1249 character(len=*),
intent(in) :: varname
1250 character(len=*),
intent(in) :: varkind
1251 integer,
intent(in) :: varshape(:)
1252 character(len=*),
intent(in),
optional :: unitname
1267 rid =
registry%get_root_id(mpl,ncid)
1270 varid = mpl%msv%vali
1272 if (mpl%msv%isnot(rid))
then
1273 if ((trim(varkind)==
'int').or.(trim(varkind)==
'logical'))
then
1275 call strerror(mpl,
'netcdf_define_var',ncid,nf90_def_var(ncid,varname,
nc_kind_int,varshape,varid),
'variable '//trim(varname))
1278 call put_att(mpl,ncid,
'_FillValue',mpl%msv%vali,varid)
1279 elseif (trim(varkind)==
'real')
then
1281 call strerror(mpl,
'netcdf_define_var',ncid,nf90_def_var(ncid,varname,
nc_kind_real,varshape,varid),
'variable '//trim(varname))
1284 call put_att(mpl,ncid,
'_FillValue',mpl%msv%valr,varid)
1286 call mpl%abort(
'netcdf_define_var',
'wrong variable kind')
1290 if (
present(unitname))
call put_att(mpl,ncid,
'unit',unitname,varid)
1307 type(
mpl_type),
intent(inout) :: mpl
1308 integer,
intent(in) :: ncid
1309 character(len=*),
intent(in) :: varname
1324 rid =
registry%get_root_id(mpl,ncid)
1327 varid = mpl%msv%vali
1330 if (mpl%msv%isnot(rid))
call strerror(mpl,
'netcdf_inquire_var',ncid,nf90_inq_varid(ncid,varname,varid),
'variable '//trim(varname))
1346 type(
mpl_type),
intent(inout) :: mpl
1347 integer,
intent(in) :: ncid
1348 character(len=*),
intent(in) :: varname
1351 logical :: ispresent
1354 integer :: rid,varid,info
1363 rid =
registry%get_root_id(mpl,ncid)
1368 if (mpl%msv%isnot(rid))
then
1370 info = nf90_inq_varid(ncid,varname,varid)
1373 ispresent = (info==nf90_noerr)
1390 type(
mpl_type),
intent(inout) :: mpl
1391 integer,
intent(in) :: ncid
1392 character(len=*),
intent(in) :: varname
1398 integer :: rid,varid
1407 rid =
registry%get_root_id(mpl,ncid)
1412 if (mpl%msv%isnot(rid))
then
1417 if (mpl%msv%isnot(varid))
call strerror(mpl,
'netcdf_inquire_var_rank',ncid,nf90_inquire_variable(ncid,varid,ndims=rank), &
1418 &
'variable '//trim(varname))
1435 type(
mpl_type),
intent(inout) :: mpl
1436 integer,
intent(in) :: ncid
1437 character(len=*),
intent(in) :: varname
1438 integer,
intent(in) :: dimindex
1444 integer :: rid,rank,varid
1445 integer,
allocatable :: dimids(:)
1454 rid =
registry%get_root_id(mpl,ncid)
1457 dimsize = mpl%msv%vali
1459 if (mpl%msv%isnot(rid))
then
1463 if (mpl%msv%isnot(rank))
then
1465 if ((dimindex<1).or.(dimindex>rank))
call mpl%abort(
'netcdf_inquire_var_dim_size',
'wrong dimension index')
1468 allocate(dimids(rank))
1474 call strerror(mpl,
'netcdf_inquire_var_dim_size',ncid,nf90_inquire_variable(ncid,varid,dimids=dimids),
'variable&
1475 # 1082 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1479 call strerror(mpl,
'netcdf_inquire_var_dim_size',ncid,nf90_inquire_dimension(ncid,dimids(dimindex),len=dimsize),
'variable&
1480 # 1085 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1490 # 1095 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1500 type(
mpl_type),
intent(inout) :: mpl
1501 integer,
intent(in) :: ncid
1502 integer,
intent(in) :: varid
1503 integer(kind_int),
intent(in) :: var
1504 integer,
intent(in),
optional :: varstart(:)
1517 rid =
registry%get_root_id(mpl,ncid)
1519 if (mpl%msv%isnot(rid))
then
1521 # 1133 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1522 if (
present(varstart))
then
1523 call strerror(mpl,
'netcdf_put_var_int_r0',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1525 call strerror(mpl,
'netcdf_put_var_int_r0',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1527 # 1139 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1534 # 1095 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1544 type(
mpl_type),
intent(inout) :: mpl
1545 integer,
intent(in) :: ncid
1546 integer,
intent(in) :: varid
1547 real(kind_real),
intent(in) :: var
1548 integer,
intent(in),
optional :: varstart(:)
1561 rid =
registry%get_root_id(mpl,ncid)
1563 if (mpl%msv%isnot(rid))
then
1565 # 1133 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1566 if (
present(varstart))
then
1567 call strerror(mpl,
'netcdf_put_var_real_r0',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1569 call strerror(mpl,
'netcdf_put_var_real_r0',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1571 # 1139 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1578 # 1095 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1588 type(
mpl_type),
intent(inout) :: mpl
1589 integer,
intent(in) :: ncid
1590 integer,
intent(in) :: varid
1591 logical,
intent(in) :: var
1592 integer,
intent(in),
optional :: varstart(:)
1605 rid =
registry%get_root_id(mpl,ncid)
1607 if (mpl%msv%isnot(rid))
then
1609 # 1126 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1611 if (
present(varstart))
then
1612 call strerror(mpl,
'netcdf_put_var_logical_r0',ncid,nf90_put_var(ncid,varid,varint,varstart),
'variable',varid)
1614 call strerror(mpl,
'netcdf_put_var_logical_r0',ncid,nf90_put_var(ncid,varid,varint),
'variable',varid)
1616 # 1139 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1623 # 1146 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1625 # 1148 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1626 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1636 type(
mpl_type),
intent(inout) :: mpl
1637 integer,
intent(in) :: ncid
1638 integer,
intent(in) :: varid
1639 integer(kind_int),
intent(in) :: var(:)
1640 integer,
intent(in),
optional :: varstart(:)
1641 integer,
intent(in),
optional :: varcount(:)
1645 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1654 rid =
registry%get_root_id(mpl,ncid)
1656 if (mpl%msv%isnot(rid))
then
1658 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1659 if (
present(varstart).and.
present(varcount))
then
1660 call strerror(mpl,
'netcdf_put_var_int_r1',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
1661 elseif (
present(varstart))
then
1662 call strerror(mpl,
'netcdf_put_var_int_r1',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1664 call strerror(mpl,
'netcdf_put_var_int_r1',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1666 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1673 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1683 type(
mpl_type),
intent(inout) :: mpl
1684 integer,
intent(in) :: ncid
1685 integer,
intent(in) :: varid
1686 real(kind_real),
intent(in) :: var(:)
1687 integer,
intent(in),
optional :: varstart(:)
1688 integer,
intent(in),
optional :: varcount(:)
1692 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1701 rid =
registry%get_root_id(mpl,ncid)
1703 if (mpl%msv%isnot(rid))
then
1705 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1706 if (
present(varstart).and.
present(varcount))
then
1707 call strerror(mpl,
'netcdf_put_var_real_r1',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
1708 elseif (
present(varstart))
then
1709 call strerror(mpl,
'netcdf_put_var_real_r1',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1711 call strerror(mpl,
'netcdf_put_var_real_r1',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1713 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1720 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1730 type(
mpl_type),
intent(inout) :: mpl
1731 integer,
intent(in) :: ncid
1732 integer,
intent(in) :: varid
1733 logical,
intent(in) :: var(:)
1734 integer,
intent(in),
optional :: varstart(:)
1735 integer,
intent(in),
optional :: varcount(:)
1739 # 1168 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1741 integer,
allocatable :: varint(:)
1742 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1751 rid =
registry%get_root_id(mpl,ncid)
1753 if (mpl%msv%isnot(rid))
then
1755 # 1184 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1757 allocate(varint(shp(1)))
1762 if (
present(varstart).and.
present(varcount))
then
1763 call strerror(mpl,
'netcdf_put_var_logical_r1',ncid,nf90_put_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
1764 elseif (
present(varstart))
then
1765 call strerror(mpl,
'netcdf_put_var_logical_r1',ncid,nf90_put_var(ncid,varid,varint,varstart),
'variable',varid)
1767 call strerror(mpl,
'netcdf_put_var_logical_r1',ncid,nf90_put_var(ncid,varid,varint),
'variable',varid)
1770 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1777 # 1214 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1778 # 1148 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1779 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1789 type(
mpl_type),
intent(inout) :: mpl
1790 integer,
intent(in) :: ncid
1791 integer,
intent(in) :: varid
1792 integer(kind_int),
intent(in) :: var(:,:)
1793 integer,
intent(in),
optional :: varstart(:)
1794 integer,
intent(in),
optional :: varcount(:)
1798 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1807 rid =
registry%get_root_id(mpl,ncid)
1809 if (mpl%msv%isnot(rid))
then
1811 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1812 if (
present(varstart).and.
present(varcount))
then
1813 call strerror(mpl,
'netcdf_put_var_int_r2',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
1814 elseif (
present(varstart))
then
1815 call strerror(mpl,
'netcdf_put_var_int_r2',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1817 call strerror(mpl,
'netcdf_put_var_int_r2',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1819 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1826 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1836 type(
mpl_type),
intent(inout) :: mpl
1837 integer,
intent(in) :: ncid
1838 integer,
intent(in) :: varid
1839 real(kind_real),
intent(in) :: var(:,:)
1840 integer,
intent(in),
optional :: varstart(:)
1841 integer,
intent(in),
optional :: varcount(:)
1845 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1854 rid =
registry%get_root_id(mpl,ncid)
1856 if (mpl%msv%isnot(rid))
then
1858 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1859 if (
present(varstart).and.
present(varcount))
then
1860 call strerror(mpl,
'netcdf_put_var_real_r2',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
1861 elseif (
present(varstart))
then
1862 call strerror(mpl,
'netcdf_put_var_real_r2',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1864 call strerror(mpl,
'netcdf_put_var_real_r2',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1866 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1873 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1883 type(
mpl_type),
intent(inout) :: mpl
1884 integer,
intent(in) :: ncid
1885 integer,
intent(in) :: varid
1886 logical,
intent(in) :: var(:,:)
1887 integer,
intent(in),
optional :: varstart(:)
1888 integer,
intent(in),
optional :: varcount(:)
1892 # 1168 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1894 integer,
allocatable :: varint(:,:)
1895 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1904 rid =
registry%get_root_id(mpl,ncid)
1906 if (mpl%msv%isnot(rid))
then
1908 # 1184 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1911 allocate(varint(shp(1),shp(2)))
1915 if (
present(varstart).and.
present(varcount))
then
1916 call strerror(mpl,
'netcdf_put_var_logical_r2',ncid,nf90_put_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
1917 elseif (
present(varstart))
then
1918 call strerror(mpl,
'netcdf_put_var_logical_r2',ncid,nf90_put_var(ncid,varid,varint,varstart),
'variable',varid)
1920 call strerror(mpl,
'netcdf_put_var_logical_r2',ncid,nf90_put_var(ncid,varid,varint),
'variable',varid)
1923 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1930 # 1214 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1931 # 1148 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1932 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1942 type(
mpl_type),
intent(inout) :: mpl
1943 integer,
intent(in) :: ncid
1944 integer,
intent(in) :: varid
1945 integer(kind_int),
intent(in) :: var(:,:,:)
1946 integer,
intent(in),
optional :: varstart(:)
1947 integer,
intent(in),
optional :: varcount(:)
1951 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1960 rid =
registry%get_root_id(mpl,ncid)
1962 if (mpl%msv%isnot(rid))
then
1964 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1965 if (
present(varstart).and.
present(varcount))
then
1966 call strerror(mpl,
'netcdf_put_var_int_r3',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
1967 elseif (
present(varstart))
then
1968 call strerror(mpl,
'netcdf_put_var_int_r3',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
1970 call strerror(mpl,
'netcdf_put_var_int_r3',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
1972 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1979 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
1989 type(
mpl_type),
intent(inout) :: mpl
1990 integer,
intent(in) :: ncid
1991 integer,
intent(in) :: varid
1992 real(kind_real),
intent(in) :: var(:,:,:)
1993 integer,
intent(in),
optional :: varstart(:)
1994 integer,
intent(in),
optional :: varcount(:)
1998 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2007 rid =
registry%get_root_id(mpl,ncid)
2009 if (mpl%msv%isnot(rid))
then
2011 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2012 if (
present(varstart).and.
present(varcount))
then
2013 call strerror(mpl,
'netcdf_put_var_real_r3',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2014 elseif (
present(varstart))
then
2015 call strerror(mpl,
'netcdf_put_var_real_r3',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
2017 call strerror(mpl,
'netcdf_put_var_real_r3',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
2019 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2026 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2036 type(
mpl_type),
intent(inout) :: mpl
2037 integer,
intent(in) :: ncid
2038 integer,
intent(in) :: varid
2039 logical,
intent(in) :: var(:,:,:)
2040 integer,
intent(in),
optional :: varstart(:)
2041 integer,
intent(in),
optional :: varcount(:)
2045 # 1168 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2047 integer,
allocatable :: varint(:,:,:)
2048 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2057 rid =
registry%get_root_id(mpl,ncid)
2059 if (mpl%msv%isnot(rid))
then
2061 # 1184 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2065 allocate(varint(shp(1),shp(2),shp(3)))
2068 if (
present(varstart).and.
present(varcount))
then
2069 call strerror(mpl,
'netcdf_put_var_logical_r3',ncid,nf90_put_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
2070 elseif (
present(varstart))
then
2071 call strerror(mpl,
'netcdf_put_var_logical_r3',ncid,nf90_put_var(ncid,varid,varint,varstart),
'variable',varid)
2073 call strerror(mpl,
'netcdf_put_var_logical_r3',ncid,nf90_put_var(ncid,varid,varint),
'variable',varid)
2076 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2083 # 1214 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2084 # 1148 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2085 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2095 type(
mpl_type),
intent(inout) :: mpl
2096 integer,
intent(in) :: ncid
2097 integer,
intent(in) :: varid
2098 integer(kind_int),
intent(in) :: var(:,:,:,:)
2099 integer,
intent(in),
optional :: varstart(:)
2100 integer,
intent(in),
optional :: varcount(:)
2104 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2113 rid =
registry%get_root_id(mpl,ncid)
2115 if (mpl%msv%isnot(rid))
then
2117 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2118 if (
present(varstart).and.
present(varcount))
then
2119 call strerror(mpl,
'netcdf_put_var_int_r4',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2120 elseif (
present(varstart))
then
2121 call strerror(mpl,
'netcdf_put_var_int_r4',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
2123 call strerror(mpl,
'netcdf_put_var_int_r4',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
2125 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2132 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2142 type(
mpl_type),
intent(inout) :: mpl
2143 integer,
intent(in) :: ncid
2144 integer,
intent(in) :: varid
2145 real(kind_real),
intent(in) :: var(:,:,:,:)
2146 integer,
intent(in),
optional :: varstart(:)
2147 integer,
intent(in),
optional :: varcount(:)
2151 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2160 rid =
registry%get_root_id(mpl,ncid)
2162 if (mpl%msv%isnot(rid))
then
2164 # 1199 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2165 if (
present(varstart).and.
present(varcount))
then
2166 call strerror(mpl,
'netcdf_put_var_real_r4',ncid,nf90_put_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2167 elseif (
present(varstart))
then
2168 call strerror(mpl,
'netcdf_put_var_real_r4',ncid,nf90_put_var(ncid,varid,var,varstart),
'variable',varid)
2170 call strerror(mpl,
'netcdf_put_var_real_r4',ncid,nf90_put_var(ncid,varid,var),
'variable',varid)
2172 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2179 # 1149 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2189 type(
mpl_type),
intent(inout) :: mpl
2190 integer,
intent(in) :: ncid
2191 integer,
intent(in) :: varid
2192 logical,
intent(in) :: var(:,:,:,:)
2193 integer,
intent(in),
optional :: varstart(:)
2194 integer,
intent(in),
optional :: varcount(:)
2198 # 1168 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2200 integer,
allocatable :: varint(:,:,:,:)
2201 # 1171 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2210 rid =
registry%get_root_id(mpl,ncid)
2212 if (mpl%msv%isnot(rid))
then
2214 # 1184 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2219 allocate(varint(shp(1),shp(2),shp(3),shp(4)))
2221 if (
present(varstart).and.
present(varcount))
then
2222 call strerror(mpl,
'netcdf_put_var_logical_r4',ncid,nf90_put_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
2223 elseif (
present(varstart))
then
2224 call strerror(mpl,
'netcdf_put_var_logical_r4',ncid,nf90_put_var(ncid,varid,varint,varstart),
'variable',varid)
2226 call strerror(mpl,
'netcdf_put_var_logical_r4',ncid,nf90_put_var(ncid,varid,varint),
'variable',varid)
2229 # 1207 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2236 # 1214 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2237 # 1215 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2239 # 1217 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2249 type(
mpl_type),
intent(inout) :: mpl
2250 integer,
intent(in) :: ncid
2251 integer,
intent(in) :: varid
2252 integer(kind_signed_char),
intent(out) :: var
2253 integer,
intent(in),
optional :: varstart(:)
2266 rid =
registry%get_root_id(mpl,ncid)
2268 if (mpl%msv%isnot(rid))
then
2270 # 1255 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2271 if (
present(varstart))
then
2272 call strerror(mpl,
'netcdf_get_var_byte_r0',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2274 call strerror(mpl,
'netcdf_get_var_byte_r0',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2276 # 1261 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2283 # 1217 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2293 type(
mpl_type),
intent(inout) :: mpl
2294 integer,
intent(in) :: ncid
2295 integer,
intent(in) :: varid
2296 integer(kind_int),
intent(out) :: var
2297 integer,
intent(in),
optional :: varstart(:)
2310 rid =
registry%get_root_id(mpl,ncid)
2312 if (mpl%msv%isnot(rid))
then
2314 # 1255 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2315 if (
present(varstart))
then
2316 call strerror(mpl,
'netcdf_get_var_int_r0',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2318 call strerror(mpl,
'netcdf_get_var_int_r0',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2320 # 1261 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2327 # 1217 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2337 type(
mpl_type),
intent(inout) :: mpl
2338 integer,
intent(in) :: ncid
2339 integer,
intent(in) :: varid
2340 real(kind_float),
intent(out) :: var
2341 integer,
intent(in),
optional :: varstart(:)
2354 rid =
registry%get_root_id(mpl,ncid)
2356 if (mpl%msv%isnot(rid))
then
2358 # 1255 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2359 if (
present(varstart))
then
2360 call strerror(mpl,
'netcdf_get_var_float_r0',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2362 call strerror(mpl,
'netcdf_get_var_float_r0',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2364 # 1261 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2371 # 1217 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2381 type(
mpl_type),
intent(inout) :: mpl
2382 integer,
intent(in) :: ncid
2383 integer,
intent(in) :: varid
2384 real(kind_real),
intent(out) :: var
2385 integer,
intent(in),
optional :: varstart(:)
2398 rid =
registry%get_root_id(mpl,ncid)
2400 if (mpl%msv%isnot(rid))
then
2402 # 1255 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2403 if (
present(varstart))
then
2404 call strerror(mpl,
'netcdf_get_var_real_r0',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2406 call strerror(mpl,
'netcdf_get_var_real_r0',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2408 # 1261 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2415 # 1217 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2425 type(
mpl_type),
intent(inout) :: mpl
2426 integer,
intent(in) :: ncid
2427 integer,
intent(in) :: varid
2428 logical,
intent(out) :: var
2429 integer,
intent(in),
optional :: varstart(:)
2442 rid =
registry%get_root_id(mpl,ncid)
2444 if (mpl%msv%isnot(rid))
then
2446 # 1248 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2447 if (
present(varstart))
then
2448 call strerror(mpl,
'netcdf_get_var_logical_r0',ncid,nf90_get_var(ncid,varid,varint,varstart),
'variable',varid)
2450 call strerror(mpl,
'netcdf_get_var_logical_r0',ncid,nf90_get_var(ncid,varid,varint),
'variable',varid)
2453 # 1261 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2460 # 1268 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2462 # 1270 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2463 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2473 type(
mpl_type),
intent(inout) :: mpl
2474 integer,
intent(in) :: ncid
2475 integer,
intent(in) :: varid
2476 integer(kind_signed_char),
intent(out) :: var(:)
2477 integer,
intent(in),
optional :: varstart(:)
2478 integer,
intent(in),
optional :: varcount(:)
2482 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2491 rid =
registry%get_root_id(mpl,ncid)
2493 if (mpl%msv%isnot(rid))
then
2495 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2496 if (
present(varstart).and.
present(varcount))
then
2497 call strerror(mpl,
'netcdf_get_var_byte_r1',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2498 elseif (
present(varstart))
then
2499 call strerror(mpl,
'netcdf_get_var_byte_r1',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2501 call strerror(mpl,
'netcdf_get_var_byte_r1',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2503 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2510 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2520 type(
mpl_type),
intent(inout) :: mpl
2521 integer,
intent(in) :: ncid
2522 integer,
intent(in) :: varid
2523 integer(kind_int),
intent(out) :: var(:)
2524 integer,
intent(in),
optional :: varstart(:)
2525 integer,
intent(in),
optional :: varcount(:)
2529 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2538 rid =
registry%get_root_id(mpl,ncid)
2540 if (mpl%msv%isnot(rid))
then
2542 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2543 if (
present(varstart).and.
present(varcount))
then
2544 call strerror(mpl,
'netcdf_get_var_int_r1',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2545 elseif (
present(varstart))
then
2546 call strerror(mpl,
'netcdf_get_var_int_r1',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2548 call strerror(mpl,
'netcdf_get_var_int_r1',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2550 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2557 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2567 type(
mpl_type),
intent(inout) :: mpl
2568 integer,
intent(in) :: ncid
2569 integer,
intent(in) :: varid
2570 real(kind_float),
intent(out) :: var(:)
2571 integer,
intent(in),
optional :: varstart(:)
2572 integer,
intent(in),
optional :: varcount(:)
2576 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2585 rid =
registry%get_root_id(mpl,ncid)
2587 if (mpl%msv%isnot(rid))
then
2589 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2590 if (
present(varstart).and.
present(varcount))
then
2591 call strerror(mpl,
'netcdf_get_var_float_r1',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2592 elseif (
present(varstart))
then
2593 call strerror(mpl,
'netcdf_get_var_float_r1',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2595 call strerror(mpl,
'netcdf_get_var_float_r1',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2597 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2604 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2614 type(
mpl_type),
intent(inout) :: mpl
2615 integer,
intent(in) :: ncid
2616 integer,
intent(in) :: varid
2617 real(kind_real),
intent(out) :: var(:)
2618 integer,
intent(in),
optional :: varstart(:)
2619 integer,
intent(in),
optional :: varcount(:)
2623 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2632 rid =
registry%get_root_id(mpl,ncid)
2634 if (mpl%msv%isnot(rid))
then
2636 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2637 if (
present(varstart).and.
present(varcount))
then
2638 call strerror(mpl,
'netcdf_get_var_real_r1',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2639 elseif (
present(varstart))
then
2640 call strerror(mpl,
'netcdf_get_var_real_r1',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2642 call strerror(mpl,
'netcdf_get_var_real_r1',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2644 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2651 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2661 type(
mpl_type),
intent(inout) :: mpl
2662 integer,
intent(in) :: ncid
2663 integer,
intent(in) :: varid
2664 logical,
intent(out) :: var(:)
2665 integer,
intent(in),
optional :: varstart(:)
2666 integer,
intent(in),
optional :: varcount(:)
2670 # 1290 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2672 integer,
allocatable :: varint(:)
2673 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2682 rid =
registry%get_root_id(mpl,ncid)
2684 if (mpl%msv%isnot(rid))
then
2686 # 1306 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2688 allocate(varint(shp(1)))
2692 if (
present(varstart).and.
present(varcount))
then
2693 call strerror(mpl,
'netcdf_get_var_logical_r1',ncid,nf90_get_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
2694 elseif (
present(varstart))
then
2695 call strerror(mpl,
'netcdf_get_var_logical_r1',ncid,nf90_get_var(ncid,varid,varint,varstart),
'variable',varid)
2697 call strerror(mpl,
'netcdf_get_var_logical_r1',ncid,nf90_get_var(ncid,varid,varint),
'variable',varid)
2701 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2708 # 1336 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2709 # 1270 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2710 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2720 type(
mpl_type),
intent(inout) :: mpl
2721 integer,
intent(in) :: ncid
2722 integer,
intent(in) :: varid
2723 integer(kind_signed_char),
intent(out) :: var(:,:)
2724 integer,
intent(in),
optional :: varstart(:)
2725 integer,
intent(in),
optional :: varcount(:)
2729 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2738 rid =
registry%get_root_id(mpl,ncid)
2740 if (mpl%msv%isnot(rid))
then
2742 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2743 if (
present(varstart).and.
present(varcount))
then
2744 call strerror(mpl,
'netcdf_get_var_byte_r2',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2745 elseif (
present(varstart))
then
2746 call strerror(mpl,
'netcdf_get_var_byte_r2',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2748 call strerror(mpl,
'netcdf_get_var_byte_r2',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2750 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2757 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2767 type(
mpl_type),
intent(inout) :: mpl
2768 integer,
intent(in) :: ncid
2769 integer,
intent(in) :: varid
2770 integer(kind_int),
intent(out) :: var(:,:)
2771 integer,
intent(in),
optional :: varstart(:)
2772 integer,
intent(in),
optional :: varcount(:)
2776 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2785 rid =
registry%get_root_id(mpl,ncid)
2787 if (mpl%msv%isnot(rid))
then
2789 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2790 if (
present(varstart).and.
present(varcount))
then
2791 call strerror(mpl,
'netcdf_get_var_int_r2',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2792 elseif (
present(varstart))
then
2793 call strerror(mpl,
'netcdf_get_var_int_r2',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2795 call strerror(mpl,
'netcdf_get_var_int_r2',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2797 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2804 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2814 type(
mpl_type),
intent(inout) :: mpl
2815 integer,
intent(in) :: ncid
2816 integer,
intent(in) :: varid
2817 real(kind_float),
intent(out) :: var(:,:)
2818 integer,
intent(in),
optional :: varstart(:)
2819 integer,
intent(in),
optional :: varcount(:)
2823 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2832 rid =
registry%get_root_id(mpl,ncid)
2834 if (mpl%msv%isnot(rid))
then
2836 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2837 if (
present(varstart).and.
present(varcount))
then
2838 call strerror(mpl,
'netcdf_get_var_float_r2',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2839 elseif (
present(varstart))
then
2840 call strerror(mpl,
'netcdf_get_var_float_r2',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2842 call strerror(mpl,
'netcdf_get_var_float_r2',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2844 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2851 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2861 type(
mpl_type),
intent(inout) :: mpl
2862 integer,
intent(in) :: ncid
2863 integer,
intent(in) :: varid
2864 real(kind_real),
intent(out) :: var(:,:)
2865 integer,
intent(in),
optional :: varstart(:)
2866 integer,
intent(in),
optional :: varcount(:)
2870 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2879 rid =
registry%get_root_id(mpl,ncid)
2881 if (mpl%msv%isnot(rid))
then
2883 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2884 if (
present(varstart).and.
present(varcount))
then
2885 call strerror(mpl,
'netcdf_get_var_real_r2',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2886 elseif (
present(varstart))
then
2887 call strerror(mpl,
'netcdf_get_var_real_r2',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2889 call strerror(mpl,
'netcdf_get_var_real_r2',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2891 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2898 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2908 type(
mpl_type),
intent(inout) :: mpl
2909 integer,
intent(in) :: ncid
2910 integer,
intent(in) :: varid
2911 logical,
intent(out) :: var(:,:)
2912 integer,
intent(in),
optional :: varstart(:)
2913 integer,
intent(in),
optional :: varcount(:)
2917 # 1290 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2919 integer,
allocatable :: varint(:,:)
2920 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2929 rid =
registry%get_root_id(mpl,ncid)
2931 if (mpl%msv%isnot(rid))
then
2933 # 1306 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2936 allocate(varint(shp(1),shp(2)))
2939 if (
present(varstart).and.
present(varcount))
then
2940 call strerror(mpl,
'netcdf_get_var_logical_r2',ncid,nf90_get_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
2941 elseif (
present(varstart))
then
2942 call strerror(mpl,
'netcdf_get_var_logical_r2',ncid,nf90_get_var(ncid,varid,varint,varstart),
'variable',varid)
2944 call strerror(mpl,
'netcdf_get_var_logical_r2',ncid,nf90_get_var(ncid,varid,varint),
'variable',varid)
2948 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2955 # 1336 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2956 # 1270 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2957 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2967 type(
mpl_type),
intent(inout) :: mpl
2968 integer,
intent(in) :: ncid
2969 integer,
intent(in) :: varid
2970 integer(kind_signed_char),
intent(out) :: var(:,:,:)
2971 integer,
intent(in),
optional :: varstart(:)
2972 integer,
intent(in),
optional :: varcount(:)
2976 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2985 rid =
registry%get_root_id(mpl,ncid)
2987 if (mpl%msv%isnot(rid))
then
2989 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
2990 if (
present(varstart).and.
present(varcount))
then
2991 call strerror(mpl,
'netcdf_get_var_byte_r3',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
2992 elseif (
present(varstart))
then
2993 call strerror(mpl,
'netcdf_get_var_byte_r3',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
2995 call strerror(mpl,
'netcdf_get_var_byte_r3',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
2997 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3004 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3014 type(
mpl_type),
intent(inout) :: mpl
3015 integer,
intent(in) :: ncid
3016 integer,
intent(in) :: varid
3017 integer(kind_int),
intent(out) :: var(:,:,:)
3018 integer,
intent(in),
optional :: varstart(:)
3019 integer,
intent(in),
optional :: varcount(:)
3023 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3032 rid =
registry%get_root_id(mpl,ncid)
3034 if (mpl%msv%isnot(rid))
then
3036 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3037 if (
present(varstart).and.
present(varcount))
then
3038 call strerror(mpl,
'netcdf_get_var_int_r3',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3039 elseif (
present(varstart))
then
3040 call strerror(mpl,
'netcdf_get_var_int_r3',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3042 call strerror(mpl,
'netcdf_get_var_int_r3',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3044 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3051 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3061 type(
mpl_type),
intent(inout) :: mpl
3062 integer,
intent(in) :: ncid
3063 integer,
intent(in) :: varid
3064 real(kind_float),
intent(out) :: var(:,:,:)
3065 integer,
intent(in),
optional :: varstart(:)
3066 integer,
intent(in),
optional :: varcount(:)
3070 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3079 rid =
registry%get_root_id(mpl,ncid)
3081 if (mpl%msv%isnot(rid))
then
3083 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3084 if (
present(varstart).and.
present(varcount))
then
3085 call strerror(mpl,
'netcdf_get_var_float_r3',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3086 elseif (
present(varstart))
then
3087 call strerror(mpl,
'netcdf_get_var_float_r3',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3089 call strerror(mpl,
'netcdf_get_var_float_r3',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3091 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3098 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3108 type(
mpl_type),
intent(inout) :: mpl
3109 integer,
intent(in) :: ncid
3110 integer,
intent(in) :: varid
3111 real(kind_real),
intent(out) :: var(:,:,:)
3112 integer,
intent(in),
optional :: varstart(:)
3113 integer,
intent(in),
optional :: varcount(:)
3117 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3126 rid =
registry%get_root_id(mpl,ncid)
3128 if (mpl%msv%isnot(rid))
then
3130 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3131 if (
present(varstart).and.
present(varcount))
then
3132 call strerror(mpl,
'netcdf_get_var_real_r3',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3133 elseif (
present(varstart))
then
3134 call strerror(mpl,
'netcdf_get_var_real_r3',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3136 call strerror(mpl,
'netcdf_get_var_real_r3',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3138 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3145 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3155 type(
mpl_type),
intent(inout) :: mpl
3156 integer,
intent(in) :: ncid
3157 integer,
intent(in) :: varid
3158 logical,
intent(out) :: var(:,:,:)
3159 integer,
intent(in),
optional :: varstart(:)
3160 integer,
intent(in),
optional :: varcount(:)
3164 # 1290 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3166 integer,
allocatable :: varint(:,:,:)
3167 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3176 rid =
registry%get_root_id(mpl,ncid)
3178 if (mpl%msv%isnot(rid))
then
3180 # 1306 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3184 allocate(varint(shp(1),shp(2),shp(3)))
3186 if (
present(varstart).and.
present(varcount))
then
3187 call strerror(mpl,
'netcdf_get_var_logical_r3',ncid,nf90_get_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
3188 elseif (
present(varstart))
then
3189 call strerror(mpl,
'netcdf_get_var_logical_r3',ncid,nf90_get_var(ncid,varid,varint,varstart),
'variable',varid)
3191 call strerror(mpl,
'netcdf_get_var_logical_r3',ncid,nf90_get_var(ncid,varid,varint),
'variable',varid)
3195 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3202 # 1336 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3203 # 1270 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3204 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3214 type(
mpl_type),
intent(inout) :: mpl
3215 integer,
intent(in) :: ncid
3216 integer,
intent(in) :: varid
3217 integer(kind_signed_char),
intent(out) :: var(:,:,:,:)
3218 integer,
intent(in),
optional :: varstart(:)
3219 integer,
intent(in),
optional :: varcount(:)
3223 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3232 rid =
registry%get_root_id(mpl,ncid)
3234 if (mpl%msv%isnot(rid))
then
3236 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3237 if (
present(varstart).and.
present(varcount))
then
3238 call strerror(mpl,
'netcdf_get_var_byte_r4',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3239 elseif (
present(varstart))
then
3240 call strerror(mpl,
'netcdf_get_var_byte_r4',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3242 call strerror(mpl,
'netcdf_get_var_byte_r4',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3244 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3251 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3261 type(
mpl_type),
intent(inout) :: mpl
3262 integer,
intent(in) :: ncid
3263 integer,
intent(in) :: varid
3264 integer(kind_int),
intent(out) :: var(:,:,:,:)
3265 integer,
intent(in),
optional :: varstart(:)
3266 integer,
intent(in),
optional :: varcount(:)
3270 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3279 rid =
registry%get_root_id(mpl,ncid)
3281 if (mpl%msv%isnot(rid))
then
3283 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3284 if (
present(varstart).and.
present(varcount))
then
3285 call strerror(mpl,
'netcdf_get_var_int_r4',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3286 elseif (
present(varstart))
then
3287 call strerror(mpl,
'netcdf_get_var_int_r4',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3289 call strerror(mpl,
'netcdf_get_var_int_r4',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3291 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3298 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3308 type(
mpl_type),
intent(inout) :: mpl
3309 integer,
intent(in) :: ncid
3310 integer,
intent(in) :: varid
3311 real(kind_float),
intent(out) :: var(:,:,:,:)
3312 integer,
intent(in),
optional :: varstart(:)
3313 integer,
intent(in),
optional :: varcount(:)
3317 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3326 rid =
registry%get_root_id(mpl,ncid)
3328 if (mpl%msv%isnot(rid))
then
3330 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3331 if (
present(varstart).and.
present(varcount))
then
3332 call strerror(mpl,
'netcdf_get_var_float_r4',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3333 elseif (
present(varstart))
then
3334 call strerror(mpl,
'netcdf_get_var_float_r4',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3336 call strerror(mpl,
'netcdf_get_var_float_r4',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3338 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3345 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3355 type(
mpl_type),
intent(inout) :: mpl
3356 integer,
intent(in) :: ncid
3357 integer,
intent(in) :: varid
3358 real(kind_real),
intent(out) :: var(:,:,:,:)
3359 integer,
intent(in),
optional :: varstart(:)
3360 integer,
intent(in),
optional :: varcount(:)
3364 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3373 rid =
registry%get_root_id(mpl,ncid)
3375 if (mpl%msv%isnot(rid))
then
3377 # 1321 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3378 if (
present(varstart).and.
present(varcount))
then
3379 call strerror(mpl,
'netcdf_get_var_real_r4',ncid,nf90_get_var(ncid,varid,var,varstart,varcount),
'variable',varid)
3380 elseif (
present(varstart))
then
3381 call strerror(mpl,
'netcdf_get_var_real_r4',ncid,nf90_get_var(ncid,varid,var,varstart),
'variable',varid)
3383 call strerror(mpl,
'netcdf_get_var_real_r4',ncid,nf90_get_var(ncid,varid,var),
'variable',varid)
3385 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3392 # 1271 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3402 type(
mpl_type),
intent(inout) :: mpl
3403 integer,
intent(in) :: ncid
3404 integer,
intent(in) :: varid
3405 logical,
intent(out) :: var(:,:,:,:)
3406 integer,
intent(in),
optional :: varstart(:)
3407 integer,
intent(in),
optional :: varcount(:)
3411 # 1290 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3413 integer,
allocatable :: varint(:,:,:,:)
3414 # 1293 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3423 rid =
registry%get_root_id(mpl,ncid)
3425 if (mpl%msv%isnot(rid))
then
3427 # 1306 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3432 allocate(varint(shp(1),shp(2),shp(3),shp(4)))
3433 if (
present(varstart).and.
present(varcount))
then
3434 call strerror(mpl,
'netcdf_get_var_logical_r4',ncid,nf90_get_var(ncid,varid,varint,varstart,varcount),
'variable',varid)
3435 elseif (
present(varstart))
then
3436 call strerror(mpl,
'netcdf_get_var_logical_r4',ncid,nf90_get_var(ncid,varid,varint,varstart),
'variable',varid)
3438 call strerror(mpl,
'netcdf_get_var_logical_r4',ncid,nf90_get_var(ncid,varid,varint),
'variable',varid)
3442 # 1329 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3449 # 1336 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3450 # 1337 "/Users/miesch/JEDI/code/working_copy/internal/mpas-bundle/saber/src/saber/util/tools_netcdf.fypp"
3461 type(
mpl_type),
intent(inout) :: mpl
3462 integer,
intent(in) :: ncid
3474 rid =
registry%get_root_id(mpl,ncid)
3476 if (mpl%msv%isnot(rid))
then
3478 call strerror(mpl,
'netcdf_close_file',ncid,nf90_close(ncid),
'file',ncid)
3498 type(
mpl_type),
intent(inout) :: mpl
3499 character(len=*),
intent(in) :: subr
3500 integer,
intent(in) :: ncid
3501 integer,
intent(in) :: info
3502 character(len=*),
intent(in),
optional :: hint
3503 integer,
intent(in),
optional :: hint_id
3506 integer :: child_id,rid,i,parent_id,indent
3508 character(len=3) :: cindent
3509 character(len=1024) :: message
3518 if (info/=nf90_noerr)
then
3519 write(output_unit,
'(a,i6.6,a)')
'!!! NetCDF error in '//trim(subr)//
' on task #',mpl%myproc,
': '//trim(nf90_strerror(info))
3520 call flush(output_unit)
3521 if (
present(hint))
then
3522 if (
present(hint_id))
then
3523 write(message,
'(a,i6)') trim(hint)//
' ID ',hint_id
3525 message = trim(hint)
3527 write(output_unit,
'(a)')
'!!! Hint: '//trim(message)
3528 call flush(output_unit)
3537 do while (.not.found)
3543 if (
registry%id(i,2)==child_id)
then
3550 if (mpl%msv%is(rid))
call mpl%abort(
'netcdf_strerror',
'cannot find this child ID in registry')
3555 write(cindent,
'(a,i1)')
'a',indent
3556 elseif (indent<100)
then
3557 write(cindent,
'(a,i2)')
'a',indent
3561 write(output_unit,
'('//trim(cindent)//
',a,a)')
'',
'|-> ',trim(
registry%name(rid))
3562 call flush(output_unit)
3567 if (parent_id==0)
then
3572 child_id = parent_id
3577 call mpl%f_comm%abort(1)
Generic ranks, dimensions and types.