Line data Source code
1 : ! NOTE: This code has been generated by genarray.py
2 0 : subroutine farr_real_dp1(farray, varname, ncid)
3 :
4 : implicit none
5 :
6 : !Arguments ------------------------------------
7 : integer,intent(in) :: ncid
8 : character(len=*),intent(in) :: varname
9 : real(dp),intent(in) :: farray(:)
10 :
11 : !Local variables-------------------------------
12 : !scalars
13 : integer :: dimval,ii,varid
14 : character(len=nctk_slen) :: dimname,shape_str
15 :
16 : ! *********************************************************************
17 :
18 : ! Define dimensions.
19 : ! Use *private* names for dimensions to avoid possible name collisions.
20 : ! if varname is "foo", we use "__foo_dim1__", __foo_dim2__" for name of the dimensions
21 0 : NCF_CHECK(nctk_set_datamode(ncid))
22 :
23 0 : shape_str = ""
24 0 : do ii=1,size(shape(farray))
25 0 : dimval = size(farray, dim=ii)
26 0 : if (ii == 1) dimval = size(farray, dim=ii) * 1
27 0 : write(dimname,"(3a,i0,a)")"__",trim(varname),"_dim",ii,"__"
28 :
29 0 : NCF_CHECK(nctk_def_dims(ncid, nctkdim_t(dimname, dimval)))
30 0 : shape_str = trim(shape_str) // ", " // dimname
31 : end do
32 :
33 : ! Define the variable.
34 0 : NCF_CHECK(nctk_def_arrays(ncid, nctkarr_t(varname, 'dp', shape_str)))
35 0 : varid = nctk_idname(ncid, varname)
36 :
37 : ! Write data
38 0 : NCF_CHECK(nctk_set_datamode(ncid))
39 0 : NCF_CHECK(nf90_put_var(ncid, varid, farray))
40 :
41 0 : end subroutine farr_real_dp1
42 :
43 : !--------------------------------------------------------------------------------
44 0 : subroutine farr_complex_dpc1(farray, varname, ncid)
45 :
46 : implicit none
47 :
48 : !Arguments ------------------------------------
49 : integer,intent(in) :: ncid
50 : character(len=*),intent(in) :: varname
51 : complex(dp),intent(in) :: farray(:)
52 :
53 : !Local variables-------------------------------
54 : !scalars
55 : integer :: dimval,ii,varid
56 : character(len=nctk_slen) :: dimname,shape_str
57 : ! *********************************************************************
58 :
59 : ! Define dimensions.
60 : ! Use *private* names for dimensions to avoid possible name collisions.
61 : ! if varname is "foo", we use "__foo_dim1__", __foo_dim2__" for name of the dimensions
62 0 : NCF_CHECK(nctk_set_datamode(ncid))
63 :
64 0 : shape_str = ""
65 0 : do ii=1,size(shape(farray))
66 0 : dimval = size(farray, dim=ii)
67 0 : if (ii == 1) dimval = size(farray, dim=ii) * 2
68 0 : write(dimname,"(3a,i0,a)")"__",trim(varname),"_dim",ii,"__"
69 :
70 0 : NCF_CHECK(nctk_def_dims(ncid, nctkdim_t(dimname, dimval)))
71 0 : shape_str = trim(shape_str) // ", " // dimname
72 : end do
73 :
74 : ! Define the variable.
75 0 : NCF_CHECK(nctk_def_arrays(ncid, nctkarr_t(varname, 'dp', shape_str)))
76 0 : varid = nctk_idname(ncid, varname)
77 :
78 : ! Write data
79 0 : NCF_CHECK(nctk_set_datamode(ncid))
80 0 : NCF_CHECK(nf90_put_var(ncid, varid, c2r(farray)))
81 :
82 0 : end subroutine farr_complex_dpc1
83 :
|