Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

  • Sections: Section declarations start with '[' and end with ']'; i.e. '[Logger settings]' or '[Instrument info]'.
  • Parameters or item: this is the content of a section with an '=' sign between the key and the value; i.e. "location = abc"

The Date format used is: "yyyy/MM/dd HH:mm:ss"

Configuration (Example)

A complete import module configuration consists of an ID Mapping file and a Import Module Instance file.

ModuleConfigFiles

The following example of an Import Module Instance will import the time series as equidistant series for timezone GMT+1 with a time step of 1 hour. Many times the MON files do not save the data at rounded hourly tims, therefore a tolerance has been added to map the imported data to correct hourly interval time series.

The files can contain a flexible number of channels, where a channel will contain information on one parameter. Example files with 2 and 3 channels will be shown, when multiple channels/parameters need to be imported a <timeSeriesSet> needs to be configured for each channel/parameter. To illustrate this an example config for an import with 3 channels is given.

Configuration (Example)

A complete import module configuration consists of an ID Mapping file and a Import Module Instance file.

ModuleConfigFiles

The following example of an Import Module Instance will import the time series as equidistant series for timezone GMT+1 with a time step of 1 hour. Many times the MON files do not save the data at rounded hourly tims, therefore a tolerance has been added to map the imported data to correct hourly interval time series.

Code Block
xml
xml
titleImportMON.xml

<?xml version="1.0" encoding="UTF-8"?>
Code Block
xmlxml
titleImportMON.xml

<?xml version="1.0" encoding="UTF-8"?>
<timeSeriesImportRun ......">
  <import>
    <general>
      <importType>DIVERMON</importType>
      <folder>$IMPORT_FOLDER_MON$</folder>
      <failedFolder>$IMPORT_FAILED_FOLDER_MON$</failedFolder>
      <backupFolder>$IMPORT_BACKUP_FOLDER_MON$</backupFolder>
      <idMapId>IdImportMON</idMapId>
      <unitConversionsId>ImportUnitConversions</unitConversionsId>
      <importTimeZone>
        <timeZoneOffset>+01:00</timeZoneOffset>
      </importTimeZone>
      <dataFeedId>MON</dataFeedId>
    </general>
    <tolerance locationSetId="ImportMON_H.meting.cm_uur" parameterId="H.meting.cm" timeUnit="minute" unitCount="30"/>
    <timeSeriesSet>
      <moduleInstanceId>ImportMON</moduleInstanceId>
      <valueType>scalar</valueType>
      <parameterId>H.meting.cm</parameterId>
      <locationSetId>ImportMON_H.meting.cm_uur</locationSetId>
      <timeSeriesType>external historical</timeSeriesType>
      <timeStep unit="hour" multiplier="1"/>
      <readWriteMode>add originals</readWriteMode>
      <synchLevel>1</synchLevel>
    </timeSeriesSet>
  </import>
</timeSeriesImportRun>

IdMapFiles

ID mapping fefines mappings between Diver MON and FEWS parameters and locations. Remember that ID mapping is case sensitive.Here is an example config file for an import file with three channels:

Code Block
xml
xml
titlesample of IdImportMONImportMON_3channels.xml
<idMap<?xml version="1.10" encoding="UTF-8"?>
<timeSeriesImportRun ..............>
    <map internalParameter="H.meting.cm" internalLocation="Dorperdijk_beneden" externalParameter="niveau" externalLocation="Dorperdijk beneden"/>
</idMap>

Example file

There is a wide range of MON file types, this is just one example.

">
  <import>
		<general>
			<importType>DiverMon</importType>
			<folder>$IMPORT_FOLDER$/DiverMon</folder>
			<idMapId>IdMap</idMapId>
			<missingValue>-999.0</missingValue>
			<expiryTime unit="day" multiplier="366"/>
		</general>
		<timeSeriesSet>
			<moduleInstanceId>ImportMON</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>X.yy.zz</parameterId>
			<locationId>Delft</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="10"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>ImportMON</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>A.bb.cc</parameterId>
			<locationId>Delft</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="10"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>ImportMON</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>D.ee.ff</parameterId>
			<locationId>Delft</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="10"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</import>
</timeSeriesImportRun>

IdMapFiles

ID mapping defines mappings between Diver MON and FEWS parameters and locations. Remember that ID mapping is case sensitive.

Code Block
xml
xml
titlesample of IdImportMON.xml

<idMap version="1.1"  ..............>
    <parameter internal="G.hh.ii" external="LEVEL"/>
	<parameter internal="J.kk.ll" external="TEMPERATURE"/>

    <parameter internal="X.yy.zz" external="PCH"/>
	<parameter internal="A.bb.cc" external="HG"/>
	<parameter internal="D.ee.ff" external="2: SPEC.COND."/>

	<location internal="Utrecht" external="13PB1"/>
	<location internal="Delft" external="ro954"/>
</idMap>

Example file

There is a wide range of MON file types, here are examples of files with 2 and 3 channels respectively.

Code Block
xml
xml
titlesample of 13PB175646_03_16_0708_23_07.mon with 2 channels

Data file for DataLogger.
==============================================================================
COMPANY    : Your Company Name
LICENSE    :
DATE       : 08/24/07
TIME       : 11:20:44
FILENAME   : H:\Grondwater\DLG-Mariapeel NIEUW\24-8-2007\13PB175646_03_16_0708_23_07.mon
CREATED BY : EnviroMon version 1.9
==========================    BEGINNING OF DATA     ==========================
[Instrument info]
  Instrument type         =Diver =3
  Instrument state        =Stopped =2
  Serial number           =.N00-75646  210.
  Instrument number       =13PB1
                          =0.00000000000000E-0000
  Location                =13PB1
  Sample Rate             =00 01:00:00 0
  Sample Mode             =T
  Channel                 =2
[Channel 1]
  Identification          =LEVEL
  Reference               =0.0       cm
  Range                   =500.0     cm
  Master Level            =0.0       cm
  Altitude                =0         m
[Channel 2]
  Identification          =TEMPERATURE
  Reference               =-20.00    deg C
  Range                   =100.00    deg C
  Master Level            =100.00    deg C
  Altitude                =-20.00    deg C
[Instrument info from data header]
  Serial number           =.N00-75646  210.
  Instrument number       =13PB1
  Location                =13PB1
  Sample Rate             =00 01:00:00 0
  Sample Mode             =T
  Tb                      =22:47:10 16/03/07
  Te                      =22:47:10 23/08/07
[Channel 1 from data header]
  Identification          =LEVEL
  Reference               =0.0       cm
  Range                   =500.0     cm
  Master Level            =0.0       cm
  Altitude                =0         m
[Channel 2 from data header]
  Identification          =TEMPERATURE
  Reference               =-20.00    deg C
  Range                   =100.00    deg C
  Master Level            =100.00    deg C
  Altitude                =-20.00    deg C
[Data]
3841
2007/03/16 10:47:22.0        93.2       11.61
2007/03/16 11:47:22.0       209.7        8.96
2007/03/16 12:47:22.0       209.4        8.93
2007/03/16 13:47:22.0       208.9        8.94
2007/03/16 14:47:22.0       208.5        8.95
2007/03/16 15:47:22.0       207.9        8.95
2007/03/16 16:47:22.0       207.7        8.96
 
Code Block
xml
xml
titlesample of ro954_131022072229_M0026.MON with 3 channels

Data file for DataLogger.
===================
Code Block
xmlxml
titlesample of 13PB175646_03_16_0708_23_07.mon

Data file for DataLogger.
==============================================================================
COMPANY    : Your Company Name
LICENSE    : 
DATE       : 08/24/07
TIME       : 11:20:44
FILENAME   : H:\Grondwater\DLG-Mariapeel NIEUW\24-8-2007\13PB175646_03_16_0708_23_07.mon
CREATED BY : EnviroMon version 1.9
==========================    BEGINNING OF DATA     =============================
[Instrument info]
  Instrument type         =Diver =3
  Instrument state        =Stopped =2
COMPANY  Serial number :          =.N00-75646  210.
  Instrument number<Company name>
COMP.STATUS: Do
DATE          =13PB1: 22/10/2013
TIME       : 07:22:29
FILENAME   : D:\diver offive\vistrap\MON\ro954_131022072229_M0026.MON
CREATED BY 
: SWS   Diver-Office 5.0.25.0
==========================    BEGINNING OF DATA                =0.00000000000000E-0000
  Location   ==========================
[Logger settings]
  Instrument type         =CTD-Diver=17
  Status  =13PB1
  Sample Rate             =00 01:00:00 Started =0
  SampleSerial Mode  number           =T.N10-M0026   317.
  Channel          Instrument number       =2
[Channel 1]
  Identification          =LEVEL               =0
  Location Reference               =0.0ro954
  Sample period       cm    =M10
  Sample Rangemethod           =T
  Number of channels      =500.03
[Channel 1]
  Identification   cm    
  Master Level=PRESSURE
  Reference level         =0.0400       cm 
  Range 
  Altitude                =05750      cm
  Master mlevel     
[Channel 2]
  Identification     =5750     =TEMPERATURE CMH2O
  Altitude      
  Reference        =0       =-20.00  m
[Channel 2]
 deg CIdentification 
  Range       =TEMPERATURE
  Reference level         =100.00-20.00    °C
  Range  deg C 
  Master Level            =100.00    deg C °C


[Channel 3]
  AltitudeIdentification          =2: SPEC.COND.
  Reference level  =-20.00    deg C 
[Instrument info from data header]
  Serial number     =0.000     mS/cm
  Range       =.N00-75646  210.
  Instrument number       =13PB1120.000   mS/cm


[Series settings]
  Serial   number      
  Location   =.N10-M0026  317.
  Instrument number        =13PB1
  SampleLocation Rate             =00 01:00:00 0
  Sample Mode   =ro954
  Sample period           =T 00 00:10:00 0
  
Sample method Tb          =T
  Start date / time       =2200:4700:1008 1612/0309/0713
  TeEnd date            / time         =2200:4720:1006 2322/0810/0713
[Channel 1 from data header]
  Identification          =LEVELPRESSURE
  Reference level         =400       cm
  Range    Reference               =0.05750      cm
  Master level           cm =5750   
  Range CMH2O
  Altitude                =500.0     cm        m
[Channel 2 from data header]
  MasterIdentification Level            =0.0TEMPERATURE
  Reference level    cm    
 =-20.00 Altitude   °C
  Range           =0        =100.00 m     °C


[Channel 23 from data header]
  Identification          =TEMPERATURE   Identification      
  Reference  =2: SPEC.COND.
  Reference level         =-200.00000    deg C mS/cm
  Range                   =100120.00000    deg C 
  Master Level            =100.00mS/cm


[Data]
5751
2013/09/12 08:00:00.0    deg C 
  Altitude 1332       18.18        =-20.00    deg C 
[Data]0.824
2013/09/12 08:10:00.0       
3841
2007/03/16 10:47:22.0 1326       9318.218       110.61828
20072013/0309/1612 1108:4720:2200.0       209.7        8.96
2007/03/16 12:47:22.01328        20918.4 17       80.93824
20072013/0309/1612 1308:4730:2200.0         1329    208.9   18.16        80.94828
20072013/0309/1612 1408:4740:2200.0         1329   208.5    18.17        80.95824
20072013/0309/1612 1508:4750:2200.0         1328  207.9     18.21        80.95824
20072013/0309/1612 1609:4700:2200.0          207.71329       18.23        80.96820
 

Accepted Mon file Sections and Parameters

The Mon Import module in Delft-FEWS does not parse all data in the MON file. The important sections and parameters are the following:

  • [Logger settings] or [Instrument info]; Read location Id from this section
    • Location or Locatie ; location Id
  • [Channel 1X] or [Kanaal 1X] ; Not used
  • Channel 2 or Kanaal 2 ; Not used
  • [Series settings] or [Instrument info from data header] ; Not used
  • [Channel 1 X from data header or Kanaal 1 from data header; Read Parameter Id
    • Identification or Identificatie = Parameter Id
    Channel 2 from data header or Kanaal 2 ] or [Kanaal X from data header]; Read Parameter Id
    • Identification or Identificatie = Parameter Id
  • [Data]; Data values with the different channels in columns. The datavalues may have a "."or a ","as decimal seperator, both options are accepter by the import function.

When the MON file is not in the correct format a warning message is returned. Known problems are missing location ID's or parameter ID's in the MON files.

Java source code

DiverMonTimeSeriesParser.java