501 use netcdf
, only: nf90_enotvar, nf90_einval
505 public :: nf90_enotvar, nf90_einval
619 integer function errorcode()
result(result)
634 use netcdf
, only: nf90_strerror
635 character(len = *),
intent(out):: msg
636 character(len = STRING):: message
637 character(len = 20):: errno_c
638 character(len = 20):: cause_int_c
642 msg =
' function not implemented' 648 write(message,
"(': dimension number', i4, ' is out of range')")
cause_int 651 msg =
'(' // trim(
cause_string) //
'): unknown dimension name' 653 msg =
' variable not opened' 655 msg =
' allocate/deallocate error' 657 msg =
' dimension variable has no dimension' 659 msg =
' dimension variable has many dimensions' 661 msg =
' dimension variable has another dimension' 663 msg =
' specified dimensional variable not on the same file' 665 msg =
' arguments (' // trim(
cause_string) //
') array size mismatch' 667 msg =
' dimension matching failed' 669 msg =
' variable already limited' 671 msg =
' variable type not supported' 673 msg =
' character length not enough' 675 msg =
' NC_UNLIMITED dimension is not found' 677 msg =
' invalid attribute name' 679 msg =
' invalid allocated size' 681 msg =
' rank of data and argument are mismatch (' // trim(
cause_string) //
')' 683 msg =
' URL (' // trim(
cause_string) //
') is not found' 685 msg =
' (' // trim(
cause_string) //
') is not gtool4 comma-graphy (ex. "time=100.0,x=10:20,y=^1:^5")' 691 msg =
' invalid GrADS file' 697 msg =
' object (' // trim(
cause_string) //
') is not initialized' 699 msg =
' object (' // trim(
cause_string) //
') is already initialized' 703 write(message,
'(" calendar type (", i4, ") is invalid")')
cause_int 706 msg =
' time zone (' // trim(
cause_string) //
') is invalid' 708 msg =
' filename is empty' 710 msg =
' file open mode (' // trim(
cause_string) //
') is invalid' 712 msg =
' available unit number is not found within (' // trim(
cause_string) //
')' 714 msg =
' file (' // trim(
cause_string) //
') is not found' 716 msg =
' file (' // trim(
cause_string) //
') is not readable' 718 msg =
' file (' // trim(
cause_string) //
') is not writable' 720 msg =
' negative value is invalid for (' // trim(
cause_string) //
')' 722 msg =
' lack of arguments (' // trim(
cause_string) //
')' 724 msg =
' argument (' // trim(
cause_string) //
') is not associated' 726 msg =
' entry of (' // trim(
cause_string) //
') is not found' 728 msg =
' dimensional time can not be converted into nondimensional time' 730 msg =
' nondimensional time can not be converted into dimensional time' 732 msg =
' number is too large for time' 734 msg =
' invalid expression of date' 736 msg =
' calendar and date are inconsistent' 742 msg =
' operation (' // trim(
cause_string) //
') not allowed in data mode' 744 msg =
' operation (' // trim(
cause_string) //
') not allowed in define mode' 746 msg =
' different intervals are applied to a file (' // trim(
cause_string) //
')' 750 msg =
' GT_HISTORY correspond to (' // trim(
cause_string) //
') is not terminated' 752 msg =
' (' // trim(
cause_string) //
') does not depend on time' 754 msg =
' variable name (' // trim(
cause_string) //
') is invalid' 756 msg =
' time dimension is not found' 758 msg =
' axis or weight (' // trim(
cause_string) //
') is not found' 760 msg =
' variable name (' // trim(
cause_string) //
') is already used' 762 msg =
' already register of variables is fixed by (' // trim(
cause_string) //
')' 764 msg =
' slice options are invalid (' // trim(
cause_string) //
')' 766 msg =
' invalid newfile interval (' // trim(
cause_string) //
')' 768 write(message,
'("(", i4, ")")')
cause_int 770 msg =
' variable (' // trim(
cause_string) //
') depends on ' // trim(message) //
' dimensions' 772 msg =
' (' // trim(
cause_string) //
') can not be divided' 774 msg =
' terminus options are invalid (' // trim(
cause_string) //
')' 776 msg =
' origin options are invalid (' // trim(
cause_string) //
')' 778 msg =
' data of axis (' // trim(
cause_string) //
') for MPI is lack' 791 msg = trim(
cause_string) //
' (' // trim(adjustl(cause_int_c)) //
')' 798 write(errno_c,
"(i8)")
errno 799 msg =
'*** ERROR (Code ' // trim(adjustl(errno_c)) // &
806 message = nf90_strerror(
errno)
807 write(errno_c,
"(i8)")
errno 808 msg =
'*** ERROR (Code ' // trim(adjustl(errno_c)) // &
813 message = nf90_strerror(
errno)
814 write(errno_c,
"(i8)")
errno 816 msg =
'*** ERROR (Code ' // trim(adjustl(errno_c)) // &
818 &
'(' // trim(adjustl(cause_int_c)) //
')] *** ' // &
821 message = nf90_strerror(
errno)
822 write(errno_c,
"(i8)")
errno 823 msg =
'*** ERROR (Code ' // trim(adjustl(errno_c)) // &
829 subroutine storeerror(number, where, err, cause_c, cause_i)
889 integer,
intent(in) :: number
892 character(len = *),
intent(in) :: where
895 logical,
intent(out),
optional :: err
911 character(len = *),
intent(in),
optional :: cause_c
914 integer,
intent(in),
optional :: cause_i
918 if (
present(err))
then 925 if (
present(cause_c))
then 930 if (
present(cause_i))
then 952 character(len = STRING):: message
integer, parameter, public dc_earglack
integer, parameter, public dc_enofilewrite
integer, parameter, public usr_errno
integer, parameter, public dc_enounitnum
integer, parameter, public dc_enofileexist
integer, parameter, public hst_enotindefine
integer, parameter, public dc_enotinit
integer, parameter, public hst_enodependtime
integer, parameter, public hst_eindivisible
integer, parameter, public dc_enofileread
integer, parameter, public gt_ebadgt4commagraphy
integer, parameter, public gt_enotvar
integer, parameter, public gt_erankmismatch
integer, parameter, public hst_emaxdimsdepended
integer, parameter, public hst_eintfile
subroutine, public geterrormessage(msg)
integer, parameter, public gt_efake
integer, parameter, public hst_ealreadyregvarfix
integer, parameter, public dc_ebadtimezone
integer, parameter, public gt_enomatchdim
integer, parameter, public hst_evarinuse
integer, parameter, public hst_empinoaxisdata
integer, parameter, public dc_etoolargetime
integer, parameter, public gt_edimnodim
integer, parameter, public dc_ebaddate
integer, parameter, public gt_enomem
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer, parameter, public gt_ebadvar
integer, parameter, public dc_noerr
integer, parameter, public hst_enotimedim
character(string), save, private cause_string
integer, parameter, public hst_eindefine
integer, parameter, public hst_ebadterminus
integer, parameter, public gt_eotherfile
integer, parameter, public gt_enoturl
integer, parameter, public hst_ebadvarname
integer, save, private errno
integer, parameter, public hst_ebadslice
integer, parameter, public hst_ebadnewfileint
integer, save, private cause_int
integer, parameter, public dc_einconsistcaldate
integer, parameter, public gt_ebadallocatesize
integer, parameter, public dc_ebadunit
integer, parameter, public dc_enoentry
integer, parameter, public hst_enottermgthist
integer, parameter, public gt_eargsizemismatch
integer function, public errorcode()
integer, parameter, public hst_enoaxisname
integer, parameter, public dc_ebadcaltype
integer, parameter, public dc_edimtime
integer, parameter, public gt_echarshort
integer, parameter, public gt_ebadattrname
integer, parameter, public dc_enoassoc
integer, parameter, public hst_ebadname
integer, parameter, public gr_enotgr
integer, parameter, public gt_ebadhistory
integer, parameter, public gt_ebaddimname
integer, parameter, public dc_enodimtime
integer, parameter, public gt_edimmultidim
character(string), save, private cause_location
integer, parameter, public gt_enomoredims
integer, parameter, public gt_elimited
integer, parameter, public dc_ebadfileopmode
integer, parameter, public dc_efilenameempty
integer, parameter, public gt_enounlimitdim
integer, parameter, public dc_ealreadyinit
integer, parameter, public hst_ebadorigin
integer, parameter, public dc_enegative
integer, parameter, public gt_edimotherdim
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
logical, save, private cause_int_valid