Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Als er eenmaal een drtcmodel object is aangemaakt in de worklow (zie hieronder voor een voorbeeld), kunnen controllers worden toegevoegd zoals hieronder wordt getoond. Alleen PID- en timecontrollers worden op dit moment ondersteund.

PID-controller

Gebruik deze functie voor een PID-controller:

Code Block
languagepy
 drtcmodel.add_pid_controller(structure_id='S_96544', 
                                observation_location='ObsS_96544', 
                                steering_variable='Crest level (s)', 
                                target_variable='Water level (op)', 
                                setpoint=13.2,
                                upper_bound=13.4,
                                lower_bound=12.8,
                                pid_settings=pid_settings['global'])

Het pid_settings object moet een dictionary zijn zoals deze:

Code Block
   pid_settings["global"] = {
        "ki": 0.001,
        "kp": 0.00,
        "kd": 0.0,
        "maxspeed": 0.00033,
    }

In plaats van ['global'] kan ook een stuw_ID gebruikt worden, in dat geval worden die settings toegekend aan die specifieke stuw. Daarnaast blijft het ‘global’ element nodig voor andere kunstwerken.

Voor de betekenis van de parameters verwijzen we naar de D-RTC manual.

Time controller

Voor een time controller kan de volgende functie worden gebruikt:

Code Block
languagepy
drtcmodel.add_time_controller(
           structure_id="S_96548", steering_variable="Crest level (s)", data=timeseries.loc[:,'S_96548']
    )

timeseries is een Pandas dataframe. Dat kan worden ingelezen uit een CSV (bijvoorbeeld). De naam van het kunstwerk moet gelijk zijn aan de naam van de betreffende kolom en de index van het dataframe moet de tijdstappen bevatten.

Aanmaken DRTCModel

Voorbeeld aanmaken drtcmodel-object:

Code Block
    drtcmodel = DRTCModel(
        hydamo,
        fm,
        output_path=output_path,
        rtc_timestep=60.0        
    )

hydamo bevat alle D-Hydamo DAMO2.2 objecten, ‘fm’ is het deels opgebouwde 1D-model, output_path is de locatie waar het model geplaatst zal worden en rtc_timestep is de beoogde tijdstap in seconden.