File: nveaget48.m4

package info (click to toggle)
netcdf-fortran 4.5.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 7,456 kB
  • sloc: fortran: 25,848; f90: 20,793; sh: 4,609; ansic: 1,729; makefile: 585; pascal: 292; xml: 173
file content (35 lines) | stat: -rw-r--r-- 1,670 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
   function NF90_AFUN`'(ncid, varid, values, start, count, stride, map)
     integer,                         intent( in) :: ncid, varid
     TYPE, dimension(COLONS), &
                                      intent(IN_OR_OUT) :: values
     integer, dimension(:), optional, intent( in) :: start, count, stride, map
     integer                                      :: NF90_AFUN
 
     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
     integer                               :: numDims, counter
     integer, dimension(size(values))      :: defaultIntArray
 
     ! Set local arguments to default values
     numDims                 = size(shape(values))
     localStart (:         ) = 1
     localCount (:numDims  ) = shape(values)
     localCount (numDims+1:) = 1
     localStride(:         ) = 1
     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
 
     if(present(start))  localStart (:size(start) )  = start(:)
     if(present(count))  localCount (:size(count) )  = count(:)
     if(present(stride)) localStride(:size(stride)) = stride(:)
     if(present(map))  then
       localMap   (:size(map))    = map(:)
       NF90_AFUN = &
          NF_MFUN`'(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
     else if(present(stride)) then
       NF90_AFUN = &
          NF_SFUN`'(ncid, varid, localStart, localCount, localStride, defaultIntArray)
     else
       NF90_AFUN = &
          NF_AFUN`'(ncid, varid, localStart, localCount, defaultIntArray)
     end if
     values(COLONS) = reshape(defaultIntArray(:), shape(values))
   end function NF90_AFUN