MODULE netcdf_mod #ifndef CPP_NO_IO USE netcdf LOGICAL,PARAMETER :: no_io = .FALSE. #ifndef CPP_NETCDF4 INTEGER :: NF90_NETCDF4 INTEGER :: NF90_MPIIO INTEGER :: NF90_CHUNKED INTEGER,EXTERNAL :: NF90_CREATE_PAR INTEGER,EXTERNAL :: NF90_DEF_VAR_CHUNKING #endif #ifdef CPP_NF90_DEF_VAR_CHUNKING INTEGER,EXTERNAL :: NF90_DEF_VAR_CHUNKING #endif END MODULE netcdf_mod #ifndef CPP_NETCDF4 SUBROUTINE NF90_CREATE_PAR END SUBROUTINE NF90_DEF_VAR_CHUNKING END #endif #ifdef CPP_NF90_DEF_VAR_CHUNKING SUBROUTINE NF90_DEF_VAR_CHUNKING END #endif #else LOGICAL,PARAMETER :: no_io = .TRUE. INTEGER :: NF90_NETCDF4 INTEGER :: NF90_MPIIO INTEGER :: NF90_CHUNKED INTEGER,EXTERNAL :: NF90_CREATE_PAR INTEGER,EXTERNAL :: NF90_DEF_VAR_CHUNKING INTEGER,EXTERNAL :: NF90_CREATE INTEGER,EXTERNAL :: NF90_DEF_DIM INTEGER,EXTERNAL :: NF90_PUT_ATT INTEGER,EXTERNAL :: NF90_ENDDEF INTEGER,EXTERNAL :: NF90_CLOSE INTEGER,EXTERNAL :: NF90_SYNC INTEGER,EXTERNAL :: NF90_OPEN INTEGER,EXTERNAL :: NF90_INQ_VARID INTEGER,EXTERNAL :: NF90_GET_ATT INTEGER :: NF90_NOWRITE INTEGER :: NF90_CLOBBER INTEGER :: NF90_UNLIMITED INTEGER :: NF90_DOUBLE INTEGER :: NF90_FLOAT INTEGER :: NF90_GLOBAL INTERFACE nf90_put_var MODULE PROCEDURE nf90_put_var_int0, nf90_put_var_int1, nf90_put_var_int2, nf90_put_var_int3,& nf90_put_var_real0, nf90_put_var_real1, nf90_put_var_real2, nf90_put_var_real3 END INTERFACE nf90_put_var INTERFACE nf90_get_var MODULE PROCEDURE nf90_get_var_int0, nf90_get_var_int1, nf90_get_var_int2, nf90_get_var_int3,& nf90_get_var_real0, nf90_get_var_real1, nf90_get_var_real2, nf90_get_var_real3 END INTERFACE nf90_get_var CONTAINS function nf90_def_var(ncid, name, xtype, dimids, varid) integer, intent( in) :: ncid character (len = *), intent( in) :: name integer, intent( in) :: xtype integer, dimension(:), optional, intent( in) :: dimids integer, intent(out) :: varid integer :: nf90_def_var end function nf90_def_var function nf90_put_var_int0(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( in) :: values integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_int0 end function nf90_put_var_int0 function nf90_put_var_int1(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( in) :: values(:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_int1 end function nf90_put_var_int1 function nf90_put_var_int2(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( in) :: values(:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_int2 end function nf90_put_var_int2 function nf90_put_var_int3(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( in) :: values(:,:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_int3 end function nf90_put_var_int3 function nf90_put_var_real0(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( in) :: values integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_real0 end function nf90_put_var_real0 function nf90_put_var_real1(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( in) :: values(:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_real1 end function nf90_put_var_real1 function nf90_put_var_real2(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( in) :: values(:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_real2 end function nf90_put_var_real2 function nf90_put_var_real3(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( in) :: values(:,:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_put_var_real3 end function nf90_put_var_real3 function nf90_get_var_int0(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( out) :: values integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_int0 end function nf90_get_var_int0 function nf90_get_var_int1(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( out) :: values(:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_int1 end function nf90_get_var_int1 function nf90_get_var_int2(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( out) :: values(:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_int2 end function nf90_get_var_int2 function nf90_get_var_int3(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid integer, intent( out) :: values(:,:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_int3 end function nf90_get_var_int3 function nf90_get_var_real0(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( out) :: values integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_real0 end function nf90_get_var_real0 function nf90_get_var_real1(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( out) :: values(:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_real1 end function nf90_get_var_real1 function nf90_get_var_real2(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( out) :: values(:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_real2 end function nf90_get_var_real2 function nf90_get_var_real3(ncid, varid, values, start, count, stride, map) integer, intent( in) :: ncid, varid real, intent( out) :: values(:,:,:) integer, dimension(:), optional, intent( in) :: start, count, stride, map integer :: nf90_get_var_real3 end function nf90_get_var_real3 END MODULE netcdf_mod SUBROUTINE NF90_CREATE_PAR END SUBROUTINE NF90_DEF_VAR_CHUNKING END SUBROUTINE NF90_CREATE END SUBROUTINE NF90_DEF_DIM END SUBROUTINE NF90_PUT_ATT END SUBROUTINE NF90_ENDDEF END SUBROUTINE NF90_CLOSE END SUBROUTINE NF90_SYNC END SUBROUTINE NF90_OPEN END SUBROUTINE NF90_INQ_VARID END SUBROUTINE NF90_GET_ATT END #endif