Optimizer’s parameters file¶
The Optimizer has two different kinds of parameter files. One type for the classic(+) calibration (see calibration parameters file) and another for the optimization (GAs and Monte-Carlo simulations; see optimization parameters file). However, some attributes are identical for both of them.
Calibration parameters file¶
The calibration parameters file defines the parameters to be calibrated and the range of the authorized values. There are different methods possible to define these options:
minmax
(the most used): you must provide amin
value of the parameter, amax
value and astep
value. For example:
<x_min min="-10" max="10" step="0.25" method="minmax"></x_min>
array
: the content of the node will then be parsed as an array. For example:
<station_id method="array">1,5,6,12,35</station_id>
fixed
: should not be calibrated even ifmin
andmax
values are defined. A value for the parameter must then be provided.
Root node¶
The target
property of the root node needs to be calibrator
.
<atmoswing version="1.0" target="calibrator">
Content ‘analog_dates’¶
The content of <analog_dates>
is mostly similar to the basic parameters file structure, but the parameters to calibrate need to be specified.
Element ‘analogs_number’¶
Example:
<analogs_number min="10" max="100" step="5" method="minmax"></analogs_number>
Element ‘spatial_window’¶
Example:
<spatial_window>
<x_min min="-10" max="10" step="0.25" method="minmax"></x_min>
<x_points_nb min="2" max="120" step="1" method="minmax"></x_points_nb>
<x_step>0.25</x_step>
<y_min min="35" max="50" step="0.25" method="minmax"></y_min>
<y_points_nb min="2" max="90" step="1" method="minmax"></y_points_nb>
<y_step>0.25</y_step>
</spatial_window>
Full example¶
<?xml version="1.0" encoding="UTF-8" ?>
<atmoswing version="1.0" target="calibrator">
<description>
<method_id>PD-A4Z</method_id>
<method_id_display>Enhanced circulation</method_id_display>
<specific_tag>CH</specific_tag>
<specific_tag_display>all stations</specific_tag_display>
<description>Enhanced analogy on the atmospheric circulation (4 levels)</description>
</description>
<time_properties>
<archive_period>
<start_year>1981</start_year>
<end_year>2010</end_year>
</archive_period>
<calibration_period>
<start_year>1981</start_year>
<end_year>2010</end_year>
</calibration_period>
<validation_period>
<years>1985, 1990, 1995, 2000, 2005, 2010</years>
</validation_period>
<time_step>24</time_step>
<time_array_target>
<time_array>simple</time_array>
</time_array_target>
<time_array_analogs>
<time_array>days_interval</time_array>
<interval_days method="fixed">60</interval_days>
<exclude_days>30</exclude_days>
</time_array_analogs>
</time_properties>
<analog_dates>
<analogs_number min="10" max="100" step="5" method="minmax"></analogs_number>
<predictor>
<preload>1</preload>
<preprocessing>
<preprocessing_method>SimpleGradients</preprocessing_method>
<preprocessing_data>
<dataset_id>ECMWF_ERA5</dataset_id>
<data_id>pressure/z</data_id>
<level>1000</level>
<time>6</time>
</preprocessing_data>
</preprocessing>
<spatial_window>
<x_min min="-10" max="10" step="0.25" method="minmax"></x_min>
<x_points_nb min="2" max="120" step="1" method="minmax"></x_points_nb>
<x_step>0.25</x_step>
<y_min min="35" max="50" step="0.25" method="minmax"></y_min>
<y_points_nb min="2" max="90" step="1" method="minmax"></y_points_nb>
<y_step>0.25</y_step>
</spatial_window>
<criteria>S1</criteria>
</predictor>
<predictor>
<preload>1</preload>
<preprocessing>
<preprocessing_method>SimpleGradients</preprocessing_method>
<preprocessing_data>
<dataset_id>ECMWF_ERA5</dataset_id>
<data_id>pressure/z</data_id>
<level>1000</level>
<time>30</time>
</preprocessing_data>
</preprocessing>
<spatial_window>
<x_min min="-10" max="10" step="0.25" method="minmax"></x_min>
<x_points_nb min="2" max="120" step="1" method="minmax"></x_points_nb>
<x_step>0.25</x_step>
<y_min min="35" max="50" step="0.25" method="minmax"></y_min>
<y_points_nb min="2" max="90" step="1" method="minmax"></y_points_nb>
<y_step>0.25</y_step>
</spatial_window>
<criteria>S1</criteria>
</predictor>
<predictor>
<preload>1</preload>
<preprocessing>
<preprocessing_method>SimpleGradients</preprocessing_method>
<preprocessing_data>
<dataset_id>ECMWF_ERA5</dataset_id>
<data_id>pressure/z</data_id>
<level>700</level>
<time>24</time>
</preprocessing_data>
</preprocessing>
<spatial_window>
<x_min min="-10" max="10" step="0.25" method="minmax"></x_min>
<x_points_nb min="2" max="120" step="1" method="minmax"></x_points_nb>
<x_step>0.25</x_step>
<y_min min="35" max="50" step="0.25" method="minmax"></y_min>
<y_points_nb min="2" max="90" step="1" method="minmax"></y_points_nb>
<y_step>0.25</y_step>
</spatial_window>
<criteria>S1</criteria>
</predictor>
<predictor>
<preload>1</preload>
<preprocessing>
<preprocessing_method>SimpleGradients</preprocessing_method>
<preprocessing_data>
<dataset_id>ECMWF_ERA5</dataset_id>
<data_id>pressure/z</data_id>
<level>500</level>
<time>12</time>
</preprocessing_data>
</preprocessing>
<spatial_window>
<x_min min="-10" max="10" step="0.25" method="minmax"></x_min>
<x_points_nb min="2" max="120" step="1" method="minmax"></x_points_nb>
<x_step>0.25</x_step>
<y_min min="35" max="50" step="0.25" method="minmax"></y_min>
<y_points_nb min="2" max="90" step="1" method="minmax"></y_points_nb>
<y_step>0.25</y_step>
</spatial_window>
<criteria>S1</criteria>
</predictor>
</analog_dates>
<analog_values>
<predictand>
<station_id min="1" max="100" step="1" method="minmax"></station_id>
</predictand>
</analog_values>
<evaluation>
<score>CRPS</score>
<time_array>simple</time_array>
</evaluation>
</atmoswing>
Optimization parameters file¶
The optimization parameters file defines the parameters to be optimized and the range of the authorized values. There are different aspects to this:
- Defining the range of numerical values: a
lowerlimit
value of the parameter, anupperlimit
value, and aniteration
value must be provided. For example:
<x_min lowerlimit="-10.5" upperlimit="10.5" iteration="0.75" lock="0"></x_min>
- Defining a list of values: the content of the node will then be parsed as an array. For example:
<level method="array" lock="0">0, 300, 500, 850, 1000</level>
- The
lock
property allows to fix a value that will not be optimized even iflowerlimit
andupperlimit
values are defined, for example. You then need to provide a value for the parameter. For example:
<time lowerlimit="0" upperlimit="30" iteration="6" lock="1">18</time>
Root node¶
The target
property of the root node needs to be optimizer
.
<atmoswing version="1.0" target="optimizer">
Content ‘analog_dates’¶
The content of <analog_dates>
is mostly similar to the basic parameters file structure, but the parameters to calibrate need to be specified.
Element ‘analogs_number’¶
Example:
<analogs_number lowerlimit="5" upperlimit="80" iteration="1" lock="0"></analogs_number>
Element ‘predictor’¶
Example:
<predictor>
<preload>1</preload>
<dataset_id>GenericNetcdf</dataset_id>
<data_id method="array" lock="0">pl/r, pl/t, pl/u, pl/v, pl/z, sfa/msl</data_id>
<level method="array" lock="0">0, 300, 500, 850, 1000</level>
<time lowerlimit="0" upperlimit="30" iteration="6" lock="0"></time>
<spatial_window>
<x_min lowerlimit="-10.5" upperlimit="10.5" iteration="0.75" lock="0"></x_min>
<x_points_nb lowerlimit="1" upperlimit="40" iteration="1" lock="0"></x_points_nb>
<x_step>0.75</x_step>
<y_min lowerlimit="35.25" upperlimit="50.25" iteration="0.75" lock="0"></y_min>
<y_points_nb lowerlimit="1" upperlimit="30" iteration="1" lock="0"></y_points_nb>
<y_step>0.75</y_step>
</spatial_window>
<criteria method="array" lock="0">MD, RMSE, S0, S1, S2</criteria>
</predictor>
Full example¶
<?xml version="1.0" encoding="UTF-8" ?>
<atmoswing version="1.0" target="optimizer">
<description>
<method_id>PD-A1Xo</method_id>
<method_id_display>1 level optimized</method_id_display>
<specific_tag>CH</specific_tag>
<specific_tag_display>1 station</specific_tag_display>
<description>1 level optimize</description>
</description>
<time_properties>
<archive_period>
<start_year>1981</start_year>
<end_year>2010</end_year>
</archive_period>
<calibration_period>
<start_year>1981</start_year>
<end_year>2010</end_year>
</calibration_period>
<validation_period>
<years>1985, 1990, 1995, 2000, 2005, 2010</years>
</validation_period>
<time_step>24</time_step>
<time_array_target>
<time_array>simple</time_array>
</time_array_target>
<time_array_analogs>
<time_array>days_interval</time_array>
<interval_days lock="1">60</interval_days>
<exclude_days>30</exclude_days>
</time_array_analogs>
</time_properties>
<analog_dates>
<analogs_number lowerlimit="5" upperlimit="150" iteration="1" lock="0"></analogs_number>
<predictor>
<preload>1</preload>
<dataset_id>GenericNetcdf</dataset_id>
<data_id method="array" lock="0">pl/r, pl/t, pl/u, pl/v, pl/z, sfa/msl</data_id>
<level method="array" lock="0">0, 300, 500, 850, 1000</level>
<time lowerlimit="0" upperlimit="30" iteration="6" lock="0"></time>
<spatial_window>
<x_min lowerlimit="-10.5" upperlimit="10.5" iteration="0.75" lock="0"></x_min>
<x_points_nb lowerlimit="1" upperlimit="40" iteration="1" lock="0"></x_points_nb>
<x_step>0.75</x_step>
<y_min lowerlimit="35.25" upperlimit="50.25" iteration="0.75" lock="0"></y_min>
<y_points_nb lowerlimit="1" upperlimit="30" iteration="1" lock="0"></y_points_nb>
<y_step>0.75</y_step>
</spatial_window>
<criteria method="array" lock="0">MD, RMSE, S0, S1, S2</criteria>
</predictor>
</analog_dates>
<analog_dates>
<analogs_number lowerlimit="5" upperlimit="80" iteration="1" lock="0"></analogs_number>
<predictor>
<preload>1</preload>
<dataset_id>GenericNetcdf</dataset_id>
<data_id method="array" lock="0">pl/r, pl/t, pl/u, pl/v, pl/z, sfa/msl</data_id>
<level method="array" lock="0">0, 300, 500, 850, 1000</level>
<time lowerlimit="0" upperlimit="30" iteration="6" lock="0"></time>
<spatial_window>
<x_min lowerlimit="-10.5" upperlimit="10.5" iteration="0.75" lock="0"></x_min>
<x_points_nb lowerlimit="1" upperlimit="40" iteration="1" lock="0"></x_points_nb>
<x_step>0.75</x_step>
<y_min lowerlimit="35.25" upperlimit="50.25" iteration="0.75" lock="0"></y_min>
<y_points_nb lowerlimit="1" upperlimit="30" iteration="1" lock="0"></y_points_nb>
<y_step>0.75</y_step>
</spatial_window>
<criteria method="array" lock="0">MD, RMSE, S0, S1, S2</criteria>
</predictor>
</analog_dates>
<analog_values>
<predictand>
<station_id>0</station_id>
</predictand>
</analog_values>
<evaluation>
<score>CRPS</score>
<time_array>simple</time_array>
</evaluation>
</atmoswing>