Dfs0

A dfs0 file is also called a time series file.

Working with data from dfs0 files are conveniently done in one of two ways:

Read Dfs0 to Dataset

import mikeio

ds = mikeio.read("../data/da_diagnostic.dfs0")
ds
<mikeio.Dataset>
dims: (time:744)
time: 2017-10-27 00:00:00 - 2017-10-29 18:00:00 (744 non-equidistant records)
geometry: GeometryUndefined()
items:
  0:  State 1Sign. Wave Height <Significant wave height> (meter)
  1:  State 2Sign. Wave Height <Significant wave height> (meter)
  2:  Mean StateSign. Wave Height <Significant wave height> (meter)
  3:  MeasurementSign. Wave Height <Significant wave height> (meter)

From Dfs0 to pandas DataFrame

df = ds.to_dataframe()
df.head()
State 1Sign. Wave Height State 2Sign. Wave Height Mean StateSign. Wave Height MeasurementSign. Wave Height
2017-10-27 00:00:00 1.749465 1.749465 1.749465 1.72
2017-10-27 00:10:00 1.811340 1.796895 1.807738 NaN
2017-10-27 00:20:00 1.863424 1.842759 1.853422 NaN
2017-10-27 00:30:00 1.922261 1.889839 1.897670 NaN
2017-10-27 00:40:00 1.972455 1.934886 1.935281 NaN

From pandas DataFrame to Dfs0

import pandas as pd

df = pd.read_csv(
    "../data/co2-mm-mlo.csv", parse_dates=True, index_col="Date", na_values=-99.99
)
ds = mikeio.from_pandas(df)
ds.to_dfs("mauna_loa_co2.dfs0")

Accumulated datavalue type

Some dfs0 items use an accumulated data value type rather than the default instantaneous type. This is common for precipitation data and can be specified using the data_value_type argument of mikeio.ItemInfo. Refer to the MIKE documentation for guidance on which type to use for your setup.

Rainfall amounts (e.g. mm) are often configured as StepAccumulated:

from mikeio import ItemInfo, EUMType

item = ItemInfo(
    "Rainfall",
    EUMType.Rainfall,
    data_value_type="StepAccumulated",
)
item
Rainfall <Rainfall> (millimeter) - StepAccumulated

Precipitation rates (e.g. mm/hour) are often configured as MeanStepBackward:

item = ItemInfo(
    "Precipitation",
    EUMType.Precipitation_Rate,
    data_value_type="MeanStepBackward",
)
item
Precipitation <Precipitation Rate> (mm per day) - MeanStepBackward

Dfs0 example notebooks