Ignore:
Timestamp:
09/29/15 14:17:42 (9 years ago)
Author:
rlacroix
Message:

Support creating the timeseries automatically.

Fields which should be outputted as timeseries must have the ts_enabled attribute set to true.

Files have a new attribute timeseries which must be one of:

  • none: no timeseries are outputted, only the regular file (default behavior when the attribute is ommited).
  • only: only the timeseries are outputted, the regular file is not created.
  • both: both the timeseries and the regular files are outputted.
  • exclusive: the timeseries are outputted and a regular file is created with only the fields which were not marked for output as a timeserie (if any).

The name of the files created for the timeseries is composed of a prefix followed by the name of the variable. The file attribute ts_prefix can be used to control the prefix used (by default, the name of the regular file is used).

All the attributes of the regular file are inherited by the files created for the timeseries. The field attribute ts_split_freq can be used to configure the splitting for each timeseries (by default, the splitting frequency of the regular file is used).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/fortran_attr/filegroup_interface_attr.F90

    r699 r711  
    357357 
    358358 
     359    SUBROUTINE cxios_set_filegroup_timeseries(filegroup_hdl, timeseries, timeseries_size) BIND(C) 
     360      USE ISO_C_BINDING 
     361      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     362      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: timeseries 
     363      INTEGER  (kind = C_INT)     , VALUE        :: timeseries_size 
     364    END SUBROUTINE cxios_set_filegroup_timeseries 
     365 
     366    SUBROUTINE cxios_get_filegroup_timeseries(filegroup_hdl, timeseries, timeseries_size) BIND(C) 
     367      USE ISO_C_BINDING 
     368      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     369      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: timeseries 
     370      INTEGER  (kind = C_INT)     , VALUE        :: timeseries_size 
     371    END SUBROUTINE cxios_get_filegroup_timeseries 
     372 
     373    FUNCTION cxios_is_defined_filegroup_timeseries(filegroup_hdl) BIND(C) 
     374      USE ISO_C_BINDING 
     375      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_timeseries 
     376      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     377    END FUNCTION cxios_is_defined_filegroup_timeseries 
     378 
     379 
     380    SUBROUTINE cxios_set_filegroup_ts_prefix(filegroup_hdl, ts_prefix, ts_prefix_size) BIND(C) 
     381      USE ISO_C_BINDING 
     382      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     383      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: ts_prefix 
     384      INTEGER  (kind = C_INT)     , VALUE        :: ts_prefix_size 
     385    END SUBROUTINE cxios_set_filegroup_ts_prefix 
     386 
     387    SUBROUTINE cxios_get_filegroup_ts_prefix(filegroup_hdl, ts_prefix, ts_prefix_size) BIND(C) 
     388      USE ISO_C_BINDING 
     389      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     390      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: ts_prefix 
     391      INTEGER  (kind = C_INT)     , VALUE        :: ts_prefix_size 
     392    END SUBROUTINE cxios_get_filegroup_ts_prefix 
     393 
     394    FUNCTION cxios_is_defined_filegroup_ts_prefix(filegroup_hdl) BIND(C) 
     395      USE ISO_C_BINDING 
     396      LOGICAL(kind=C_BOOL) :: cxios_is_defined_filegroup_ts_prefix 
     397      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl 
     398    END FUNCTION cxios_is_defined_filegroup_ts_prefix 
     399 
     400 
    359401    SUBROUTINE cxios_set_filegroup_type(filegroup_hdl, type, type_size) BIND(C) 
    360402      USE ISO_C_BINDING 
Note: See TracChangeset for help on using the changeset viewer.