nc_def_var_2d Subroutine

public subroutine nc_def_var_2d(ncid, name, dimids, varid, deflate_level, ierr)

Define a 2D variable with working precision type

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ncid
character(len=*), intent(in) :: name
integer, intent(in) :: dimids(2)
integer, intent(out) :: varid
integer, intent(in), optional :: deflate_level

Compression level (0=none, 1-9=deflate). Enables shuffle when > 0.

integer, intent(out), optional :: ierr

Non-zero on failure when present; absent behaves as today (error stop).


Calls

proc~~nc_def_var_2d~~CallsGraph proc~nc_def_var_2d nc_def_var_2d nf90_def_var nf90_def_var proc~nc_def_var_2d->nf90_def_var nf90_def_var_deflate nf90_def_var_deflate proc~nc_def_var_2d->nf90_def_var_deflate proc~nc_check nc_check proc~nc_def_var_2d->proc~nc_check nf90_strerror nf90_strerror proc~nc_check->nf90_strerror proc~fail fail proc~nc_check->proc~fail error error proc~fail->error proc~error_ring_push error_ring_push proc~fail->proc~error_ring_push

Source Code

   subroutine nc_def_var_2d(ncid, name, dimids, varid, deflate_level, ierr)
      !! Define a 2D variable with working precision type
      integer, intent(in) :: ncid
      character(len=*), intent(in) :: name
      integer, intent(in) :: dimids(2)
      integer, intent(out) :: varid
      integer, intent(in), optional :: deflate_level
         !! Compression level (0=none, 1-9=deflate). Enables shuffle when > 0.
      integer, intent(out), optional :: ierr
         !! Non-zero on failure when present; absent behaves as today
         !! (`error stop`).

      call nc_check(nf90_def_var(ncid, name, NC_WP, dimids, varid), &
                    "defining variable "//trim(name), ierr)
      if (present(ierr)) then
         if (ierr /= nf90_noerr) return
      end if

      if (present(deflate_level)) then
         if (deflate_level > 0) then
            call nc_check(nf90_def_var_deflate(ncid, varid, &
                                               shuffle=1, deflate=1, deflate_level=deflate_level), &
                          "enabling compression for "//trim(name), ierr)
         end if
      end if

   end subroutine nc_def_var_2d