65     use netcdf
, only: nf90_max_dims
    68     real(DP), 
intent(in), 
optional:: interval_value
    74     character(*), 
intent(in), 
optional:: interval_unit
    77     character(*), 
intent(in), 
optional:: precision
    80     logical, 
intent(in), 
optional:: time_average
    83     logical, 
intent(in), 
optional:: average
    86     character(*), 
intent(in), 
optional:: fileprefix
    89     real(DP), 
intent(in), 
optional:: origin_value
    92     character(*), 
intent(in), 
optional:: origin_unit
    95     real(DP), 
intent(in), 
optional:: terminus_value
    98     character(*), 
intent(in), 
optional:: terminus_unit
   101     integer, 
intent(in), 
optional:: slice_start(:)
   104     integer, 
intent(in), 
optional:: slice_end(:)
   107     integer, 
intent(in), 
optional:: slice_stride(:)
   110     logical, 
intent(in), 
optional:: space_average(:)
   113     integer, 
intent(in), 
optional:: newfile_intvalue
   116     character(*), 
intent(in), 
optional:: newfile_intunit
   119     logical, 
intent(out), 
optional:: err
   138     integer:: stat, ary_size
   139     character(STRING):: cause_c
   140     character(*), 
parameter:: subname = 
'HstNmlInfoCreate'   143       & fmt = 
'@interval_value=%r @interval_unit=%c @precision=%c @time_average=%y @fileprefix=%c', &
   157     if ( gthstnml % initialized ) 
then   159       cause_c = 
'GTHST_NMLINFO'   167     allocate( gthstnml % gthstnml_list )
   168     nullify( gthstnml % gthstnml_list % next )
   174     gthstnml % gthstnml_list % name = 
''   175     gthstnml % gthstnml_list % file = 
''   177     allocate( gthstnml % gthstnml_list % interval_value )
   178     allocate( gthstnml % gthstnml_list % interval_unit  )
   179     allocate( gthstnml % gthstnml_list % precision      )
   180     allocate( gthstnml % gthstnml_list % time_average   )
   181     allocate( gthstnml % gthstnml_list % fileprefix     )
   183     allocate( gthstnml % gthstnml_list % origin_value                  )
   184     allocate( gthstnml % gthstnml_list % origin_unit                   )
   185     allocate( gthstnml % gthstnml_list % terminus_value                )
   186     allocate( gthstnml % gthstnml_list % terminus_unit                 )
   187     allocate( gthstnml % gthstnml_list % slice_start   (1:nf90_max_dims) )
   188     allocate( gthstnml % gthstnml_list % slice_end     (1:nf90_max_dims) )
   189     allocate( gthstnml % gthstnml_list % slice_stride  (1:nf90_max_dims) )
   190     allocate( gthstnml % gthstnml_list % space_average (1:nf90_max_dims) )
   191     allocate( gthstnml % gthstnml_list % newfile_intvalue              )
   192     allocate( gthstnml % gthstnml_list % newfile_intunit               )
   195     gthstnml % gthstnml_list % interval_value = -1.0
   196     gthstnml % gthstnml_list % interval_unit  = 
'sec'   197     gthstnml % gthstnml_list % precision      = 
'float'   198     gthstnml % gthstnml_list % time_average   = .false.
   199     gthstnml % gthstnml_list % fileprefix     = 
''   201     gthstnml % gthstnml_list % origin_value     = -1.0
   202     gthstnml % gthstnml_list % origin_unit      = 
'sec'   203     gthstnml % gthstnml_list % terminus_value   = -1.0
   204     gthstnml % gthstnml_list % terminus_unit    = 
'sec'   205     gthstnml % gthstnml_list % slice_start      =  1
   206     gthstnml % gthstnml_list % slice_end        = -1
   207     gthstnml % gthstnml_list % slice_stride     =  1
   208     gthstnml % gthstnml_list % space_average    = .false.
   209     gthstnml % gthstnml_list % newfile_intvalue = -1
   210     gthstnml % gthstnml_list % newfile_intunit  = 
'sec'   212     if ( 
present(interval_value) ) gthstnml % gthstnml_list % interval_value = interval_value
   213     if ( 
present(interval_unit)  ) gthstnml % gthstnml_list % interval_unit  = interval_unit
   214     if ( 
present(precision)      ) gthstnml % gthstnml_list % precision      = precision
   216     if ( 
present(average)        ) gthstnml % gthstnml_list % time_average        = average
   217     if ( 
present(time_average)   ) gthstnml % gthstnml_list % time_average        = time_average
   218     if ( 
present(fileprefix)     ) gthstnml % gthstnml_list % fileprefix     = fileprefix
   220     if ( 
present(origin_value    ) ) gthstnml % gthstnml_list % origin_value     = origin_value
   221     if ( 
present(origin_unit     ) ) gthstnml % gthstnml_list % origin_unit      = origin_unit
   222     if ( 
present(terminus_value  ) ) gthstnml % gthstnml_list % terminus_value   = terminus_value
   223     if ( 
present(terminus_unit   ) ) gthstnml % gthstnml_list % terminus_unit    = terminus_unit
   224     if ( 
present(slice_start     ) ) 
then   225       ary_size = 
size(slice_start)
   226       gthstnml % gthstnml_list % slice_start(1:ary_size)  = slice_start
   228     if ( 
present(slice_end      ) ) 
then   229       ary_size = 
size(slice_end)
   230       gthstnml % gthstnml_list % slice_end(1:ary_size)    = slice_end
   232     if ( 
present(slice_stride   ) ) 
then   233       ary_size = 
size(slice_stride)
   234       gthstnml % gthstnml_list % slice_stride(1:ary_size) = slice_stride
   236     if ( 
present(space_average   ) ) 
then   237       ary_size = 
size(space_average)
   238       gthstnml % gthstnml_list % space_average(1:ary_size) = space_average
   240     if ( 
present(newfile_intvalue) ) gthstnml % gthstnml_list % newfile_intvalue = newfile_intvalue
   241     if ( 
present(newfile_intunit ) ) gthstnml % gthstnml_list % newfile_intunit  = newfile_intunit
   248       & diff = interval_time, &                                    
   250       &   
real( gthstnml % gthstnml_list % interval_value, DP ), & 
   251       & unit = gthstnml % gthstnml_list % interval_unit, &         
   262     gthstnml % initialized = .true.
   263     gthstnml % define_mode = .true.
   265     call storeerror( stat, subname, err, cause_c )
 
integer, parameter, public dc_earglack
 
integer, parameter, public usr_errno
 
integer, parameter, public dc_enofileread
 
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ 
 
logical function, public present_and_true(arg)
 
subroutine, public storeerror(number, where, err, cause_c, cause_i)
 
integer, parameter, public dc_noerr
 
character(string) function, public joinchar(carray, expr)
 
character(*), parameter, public version
 
integer, parameter, public dp
倍精度実数型変数 
 
logical function, public present_and_not_empty(arg)
 
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
 
integer, parameter, public stdout
標準出力の装置番号 
 
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
 
integer, parameter, public dc_ealreadyinit
 
integer, parameter, public dc_enegative
 
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ