Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update develop-ref after #1734 and #1738 #1740

Merged
merged 90 commits into from
Mar 31, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
ebddb56
Start on write netcdf pickle alternative.
Jan 26, 2021
0fdbfdd
Write dataplane array.
Jan 26, 2021
6d46603
Start on read of netcdf as pickle alternative.
Jan 26, 2021
6fe4245
Create attribute variables.
Feb 2, 2021
644db21
Use global attributes for met_info attrs.
Feb 3, 2021
6594062
Add grid structure.
Feb 4, 2021
c6667e3
Read metadata back into met_info.attrs.
Feb 4, 2021
1e6eb9e
Convert grid.nx and grid.ny to int.
Feb 4, 2021
e005585
Rename _name key to name.
Feb 4, 2021
ab986ca
Removed pickle write.
Feb 4, 2021
760b690
Fixed write_pickle_dataplane to work for both numpy and xarray.
Feb 5, 2021
791ebf0
Use items() to iterate of key, value attrs.
Feb 5, 2021
c5f17e8
Write temporary text file.
Feb 13, 2021
d6142e8
Renamed scripts.
Feb 17, 2021
b39ca28
Changed script names in Makefile.am.
Feb 17, 2021
7cc2d77
Replaced pickle with tmp_nc.
Feb 17, 2021
df0db18
Fixed wrapper script names.
Feb 17, 2021
044c704
Test for attrs in met_in.met_data.
Feb 17, 2021
d798e9d
Initial version of read_tmp_point module.
Feb 18, 2021
8116e75
Added read_tmp_point.py to install list.
Feb 18, 2021
7b57715
Start on Python3_Script::read_tmp_point.
Feb 18, 2021
5502da9
Write MPR tmp ascii file.
Feb 18, 2021
961b4fc
Renamed to read_tmp_ascii to use for point point and MPR.
Feb 18, 2021
4c0963d
Renamed to read_tmp_ascii to use for point point and MPR.
Feb 18, 2021
91122be
Define Python3_Script::import_read_tmp_ascii_py.
Feb 19, 2021
fef8484
Call Python3_Script::import_read_tmp_ascii_py.
Feb 19, 2021
93e9762
Append MET_BASE/wrappers to sys.path.
Feb 20, 2021
44d8328
Finished implementation of Python3_Script::import_read_tmp_ascii_py.
Feb 20, 2021
3953aba
Call Python3_Script::read_tmp_ascii in python_handler.
Feb 20, 2021
25961d6
Revised python3_script::read_tmp_ascii with call to run, PyRun_String.
Feb 22, 2021
794e8fb
Return PyObject* from Python3_Script::run.
Feb 22, 2021
d569cfb
Restored call to run_python_string for now.
Feb 22, 2021
ab0f2c6
Per #1429, enhance error message from DataLine::get_item(). (#1682)
JohnHalleyGotway Feb 26, 2021
b2754b4
Feature 1429 tc_log second try (#1686)
JohnHalleyGotway Feb 26, 2021
a1aead4
Feature 1588 ps_log (#1687)
JohnHalleyGotway Feb 26, 2021
2ba6cd9
#1454 Disabled plot_data_plane_CESM_SSMI_microwave and plot_data_plan…
Feb 26, 2021
fe5f318
#1454 Moved NC attribute name to nc_utils.h
Feb 26, 2021
c1463b2
#1454 Corrected sanity checking for lat/lon projection based on the p…
Feb 26, 2021
ac4d7f9
#1454 Corrected sanity checking for lat/lon projection based on the p…
Feb 26, 2021
371dd2c
#1454 Corrected data.delta_lon
Mar 1, 2021
24c2bd8
#1454 Change bact to use diff instead of absolute value of diff
Mar 1, 2021
e224ce1
454 Deleted instea dof commenting out
Mar 1, 2021
c8e9049
454 Deleted instea dof commenting out
Mar 1, 2021
0f5366c
Merge pull request #1688 from dtcenter/feature_1454_nccf_grid_definition
hsoh-u Mar 1, 2021
996197c
Feature 1684 bss and 1685 single reference model (#1689)
JohnHalleyGotway Mar 2, 2021
40b57af
Per #1691, add met-10.0.0-beta4 release notes. (#1692)
JohnHalleyGotway Mar 2, 2021
23dc482
Updated Python documentation
jprestop Mar 3, 2021
9c9c54c
Per #1694, add VarInfo::magic_str_attr() to construct a field summary…
JohnHalleyGotway Mar 4, 2021
a16bebc
Per #1694, fixing 2 issues here. There was a bug in the computation o…
JohnHalleyGotway Mar 4, 2021
21e3eb7
Per #1694, just switching to consistent variable name.
JohnHalleyGotway Mar 5, 2021
0f84a5a
Just consistent spacing.
JohnHalleyGotway Mar 5, 2021
5f551d2
Merge pull request #1696 from dtcenter/bugfix_1694_grid_diag
davidfillmore Mar 5, 2021
f21b2e6
Added python3_script::import_read_tmp_ascii.
Mar 5, 2021
ba85a46
Merge branch 'develop' into feature_1319_no_pickle
Mar 5, 2021
31ae2e4
Restored read_tmp_ascii call.
Mar 5, 2021
f8becb9
Added lookup into ascii module.
Mar 5, 2021
9224844
Adding files for ReadTheDocs
jprestop Mar 5, 2021
1b41a0a
Adding .yaml file for ReadTheDocs
jprestop Mar 5, 2021
8382b33
Updated path to requirements.txt file
jprestop Mar 5, 2021
0303f1f
Updated path to conf.py file
jprestop Mar 5, 2021
99a6363
Removing ReadTheDocs files and working in separate branch
jprestop Mar 5, 2021
b0c8813
Return PyObject* from read_tmp_ascii.
Mar 7, 2021
bd9ed77
Put point_data in global namespace.
Mar 7, 2021
b358bed
Remove temporary ascii file.
Mar 7, 2021
4506173
Added tmp_ascii_path.
Mar 7, 2021
d6ed4b9
Removed read_obs_from_pickle.
Mar 7, 2021
592c937
Trying different options for formats (#1702)
jprestop Mar 9, 2021
d80aafa
Per #1706, add bugfix to the develop branch. Also add a new job to un…
JohnHalleyGotway Mar 10, 2021
6ed8fc4
Feature 1471 python_grid (#1704)
JohnHalleyGotway Mar 10, 2021
0f08b74
Committing a fix for unit_python.xml directly to the develop branch. …
Mar 11, 2021
2b5e37f
Merge branch 'develop-ref' into develop
JohnHalleyGotway Mar 11, 2021
48bb906
Add *.dSYM to the .gitignore files in the src and internal_tests dire…
JohnHalleyGotway Mar 11, 2021
6568493
Replaced tmp netcdf _name attribute with name_str.
Mar 12, 2021
22f5e98
Append user script path to system path.
Mar 15, 2021
18fb169
Merge pull request #1699 from dtcenter/feature_1319_no_pickle
davidfillmore Mar 15, 2021
dee5d3b
Revert "Feature 1319 no pickle" (#1717)
JohnHalleyGotway Mar 15, 2021
92f0ff0
Fixed typos, added content, and modified release date format
jprestop Mar 17, 2021
40fce11
#1715 Initial release
Mar 18, 2021
1ac92d7
#1715 Do not combined if there are no overlapping beteewn TQZ and UV …
Mar 18, 2021
9a97135
#1715 Added pb2nc_compute_pbl_cape
Mar 18, 2021
edb124b
#1715 Added pb2nc_compute_pbl_cape
Mar 18, 2021
aefabdb
#1715 Reduced obs_bufr_var. Removed pb_report_type
Mar 18, 2021
b7fb7c1
#1715 Added a blank line for Error/Warning
Mar 18, 2021
7998d89
Merge pull request #1719 from dtcenter/bugfix_1715_pb2nc_seg_fault_wi…
hsoh-u Mar 18, 2021
8dbef78
Per #1725, return good status from TrackInfoArray::add() when using a…
JohnHalleyGotway Mar 19, 2021
5866b2a
Per #1705, update the threshold node heirarchy by adding a climo_prob…
JohnHalleyGotway Mar 19, 2021
1a9f73a
Bugfix 1716 develop perc_thresh (#1722)
JohnHalleyGotway Mar 19, 2021
8dfd7c0
Update pull_request_template.md
JohnHalleyGotway Mar 19, 2021
e2f77e4
Feature 1733 exc (#1734)
JohnHalleyGotway Mar 29, 2021
6055600
Bugfix 1737 develop little_r (#1739)
JohnHalleyGotway Mar 30, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

- [ ] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:</br>

- [ ] Do these changes include sufficient documentation and testing updates? **[Yes or No]**
- [ ] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? **[Yes or No]**

- [ ] Do these changes include sufficient testing updates? **[Yes or No]**

- [ ] Will this PR result in changes to the test suite? **[Yes or No]**</br>
If **yes**, describe the new output and/or changes to the existing output:</br>
Expand Down
23 changes: 23 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Build all formats (htmlzip, pdf, epub)
#formats: all
formats: []

# Optionally set the version of Python and requirements required to build your
# docs
python:
version: 3.7
install:
- requirements: met/docs/requirements.txt

# Configuration for Sphinx documentation (this is the default documentation
# type)
sphinx:
builder: html
configuration: met/docs/conf.py
12 changes: 12 additions & 0 deletions met/data/config/TCStatConfig_default
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,12 @@ column_thresh_val = [];
column_str_name = [];
column_str_val = [];

//
// Stratify by excluding strings in non-numeric data columns.
//
column_str_exc_name = [];
column_str_exc_val = [];

//
// Similar to the column_thresh options above
//
Expand All @@ -123,6 +129,12 @@ init_thresh_val = [];
init_str_name = [];
init_str_val = [];

//
// Similar to the column_str_exc options above
//
init_str_exc_name = [];
init_str_exc_val = [];

//
// Stratify by the ADECK and BDECK distances to land.
//
Expand Down
30 changes: 26 additions & 4 deletions met/docs/Users_Guide/appendixF.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,9 @@ The data must be loaded into a 2D NumPy array named **met_data**. In addition th
'long_name': 'FooBar',
'level': 'Surface',
'units': 'None',


# Define 'grid' as a string or a dictionary

'grid': {
'type': 'Lambert Conformal',
'hemisphere': 'N',
Expand All @@ -83,12 +85,32 @@ The data must be loaded into a 2D NumPy array named **met_data**. In addition th
'ny': 129,
}

}
}


In the dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself.

If specified as a string, **grid** can be defined as follows:

• As a named grid:

.. code-block:: none

'grid': 'G212'

• As a grid specification string, as described in :ref:`appendixB`:

.. code-block:: none

'grid': 'lambert 185 129 12.19 -133.459 -95 40.635 6371.2 25 25 N'

• As the path to an existing gridded data file:

.. code-block:: none

In the dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary is itself a dictionary.
'grid': '/path/to/sample_data.grib'

The supported grid **type** strings are described below:
When specified as a dictionary, the contents of the **grid** dictionary vary based on the grid **type** string. The entries for the supported grid types are described below:

• **Lambert Conformal** grid dictionary entries:

Expand Down
18 changes: 10 additions & 8 deletions met/docs/Users_Guide/config_options.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ The configuration file language supports the following data types:
* The following percentile threshold types are supported:

* "SFP" for a percentile of the sample forecast values.
e.g. ">SFP50" means greater than the 50-th forecast percentile.
e.g. ">SFP33.3" means greater than the 33.3-rd forecast percentile.

* "SOP" for a percentile of the sample observation values.
e.g. ">SOP75" means greater than the 75-th observation percentile.
Expand Down Expand Up @@ -3748,17 +3748,19 @@ Where "job_name" is set to one of the following:
Job command FILTERING options that may be used only when -line_type
has been listed once. These options take two arguments: the name of the
data column to be used and the min, max, or exact value for that column.
If multiple column eq/min/max/str options are listed, the job will be
If multiple column eq/min/max/str/exc options are listed, the job will be
performed on their intersection:

.. code-block:: none

"-column_min col_name value" e.g. -column_min BASER 0.02
"-column_max col_name value"
"-column_eq col_name value"
"-column_thresh col_name threshold" e.g. -column_thresh FCST '>273'
"-column_str col_name string" separate multiple filtering strings
with commas
"-column_min col_name value" e.g. -column_min BASER 0.02
"-column_max col_name value"
"-column_eq col_name value"
"-column_thresh col_name threshold" e.g. -column_thresh FCST '>273'
"-column_str col_name string" separate multiple filtering strings
with commas
"-column_str_exc col_name string" separate multiple filtering strings
with commas


Job command options to DEFINE the analysis job. Unless otherwise noted,
Expand Down
52 changes: 45 additions & 7 deletions met/docs/Users_Guide/config_options_tc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -517,8 +517,8 @@ For example:

Stratify by performing string matching on non-numeric data columns.
Specify a comma-separated list of columns names and values
to be checked. May add using the "-column_str name string" job command
options.
to be included in the analysis.
May add using the "-column_str name string" job command options.

For example:

Expand All @@ -531,6 +531,23 @@ For example:
column_str_name = [];
column_str_val = [];

**column_str_exc_name, column_str_exc_val**

Stratify by performing string matching on non-numeric data columns.
Specify a comma-separated list of columns names and values
to be excluded from the analysis.
May add using the "-column_str_exc name string" job command options.

For example:

| column_str_exc_name = [ "LEVEL" ];
| column_str_exc_val = [ "TD" ];
|

.. code-block:: none

column_str_exc_name = [];
column_str_exc_val = [];

**init_thresh_name, init_thresh_val**

Expand Down Expand Up @@ -567,6 +584,23 @@ For example:
init_str_name = [];
init_str_val = [];

**init_str_exc_name, init_str_exc_val**

Just like the column_str_exc options above, but apply the string matching only
when lead = 0. If lead = 0 string does match, discard the entire track.
May add using the "-init_str_exc name thresh" job command options.

For example:

| init_str_exc_name = [ "LEVEL" ];
| init_str_exc_val = [ "HU" ];
|

.. code-block:: none

init_str_exc_name = [];
init_str_exc_val = [];

**water_only**

Stratify by the ADECK and BDECK distances to land. Once either the ADECK or
Expand Down Expand Up @@ -747,8 +781,10 @@ Where "job_name" is set to one of the following:
"-track_watch_warn name"
"-column_thresh name thresh"
"-column_str name string"
"-column_str_exc name string"
"-init_thresh name thresh"
"-init_str name string"
"-init_str_exc name string"

Additional filtering options that may be used only when -line_type
has been listed only once. These options take two arguments: the name
Expand All @@ -758,11 +794,13 @@ Where "job_name" is set to one of the following:

.. code-block:: none

"-column_min col_name value" For example: -column_min TK_ERR 100.00
"-column_max col_name value"
"-column_eq col_name value"
"-column_str col_name string" separate multiple filtering strings
with commas
"-column_min col_name value" For example: -column_min TK_ERR 100.00
"-column_max col_name value"
"-column_eq col_name value"
"-column_str col_name string" separate multiple filtering strings
with commas
"-column_str_exc col_name string" separate multiple filtering strings
with commas

Required Args: -dump_row

Expand Down
4 changes: 2 additions & 2 deletions met/docs/Users_Guide/gsi-tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ The GSID2MPR tool writes the same set of MPR output columns for the conventional
- PRS_MAX_WGT
- Pressure of the maximum weighing function

The gsid2mpr output may be passed to the Stat-Analysis tool to derive additional statistics. In particular, users should consider running the **aggregate_stat** job type to read MPR lines and compute partial sums (SL1L2), continuous statistics (CNT), contingency table counts (CTC), or contingency table statistics (CTS). Stat-Analysis has been enhanced to parse any extra columns found at the end of the input lines. Users can filter the values in those extra columns using the **-column_thresh** and **-column_str** job command options.
The gsid2mpr output may be passed to the Stat-Analysis tool to derive additional statistics. In particular, users should consider running the **aggregate_stat** job type to read MPR lines and compute partial sums (SL1L2), continuous statistics (CNT), contingency table counts (CTC), or contingency table statistics (CTS). Stat-Analysis has been enhanced to parse any extra columns found at the end of the input lines. Users can filter the values in those extra columns using the **-column_thresh**, **-column_str**, and **-column_str_exc** job command options.

An example of the Stat-Analysis calling sequence is shown below:

Expand Down Expand Up @@ -425,7 +425,7 @@ The GSID2MPR tool writes the same set of ORANK output columns for the convention
- TZFND
- d(Tz)/d(Tr)

The gsidens2orank output may be passed to the Stat-Analysis tool to derive additional statistics. In particular, users should consider running the **aggregate_stat** job type to read ORANK lines and ranked histograms (RHIST), probability integral transform histograms (PHIST), and spread-skill variance output (SSVAR). Stat-Analysis has been enhanced to parse any extra columns found at the end of the input lines. Users can filter the values in those extra columns using the **-column_thresh** and **-column_str** job command options.
The gsidens2orank output may be passed to the Stat-Analysis tool to derive additional statistics. In particular, users should consider running the **aggregate_stat** job type to read ORANK lines and ranked histograms (RHIST), probability integral transform histograms (PHIST), and spread-skill variance output (SSVAR). Stat-Analysis has been enhanced to parse any extra columns found at the end of the input lines. Users can filter the values in those extra columns using the **-column_thresh**, **-column_str**, and **-column_str_exc** job command options.

An example of the Stat-Analysis calling sequence is shown below:

Expand Down
15 changes: 8 additions & 7 deletions met/docs/Users_Guide/stat-analysis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -522,13 +522,14 @@ This job command option is extremely useful. It can be used multiple times to sp

.. code-block:: none

-column_min col_name value
-column_max col_name value
-column_eq col_name value
-column_thresh col_name thresh
-column_str col_name string

The column filtering options may be used when the **-line_type** has been set to a single value. These options take two arguments, the name of the data column to be used followed by a value, string, or threshold to be applied. If multiple column_min/max/eq/thresh/str options are listed, the job will be performed on their intersection. Each input line is only retained if its value meets the numeric filtering criteria defined or matches one of the strings defined by the **-column_str** option. Multiple filtering strings may be listed using commas. Defining thresholds in MET is described in :numref:`config_options`.
-column_min col_name value
-column_max col_name value
-column_eq col_name value
-column_thresh col_name thresh
-column_str col_name string
-column_str_exc col_name string

The column filtering options may be used when the **-line_type** has been set to a single value. These options take two arguments, the name of the data column to be used followed by a value, string, or threshold to be applied. If multiple column_min/max/eq/thresh/str options are listed, the job will be performed on their intersection. Each input line is only retained if its value meets the numeric filtering criteria defined, matches one of the strings defined by the **-column_str** option, or does not match any of the string defined by the **-column_str_exc** option. Multiple filtering strings may be listed using commas. Defining thresholds in MET is described in :numref:`config_options`.

.. code-block:: none

Expand Down
24 changes: 21 additions & 3 deletions met/docs/Users_Guide/tc-stat.rst
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,16 @@ _________________________
column_str_name = [];
column_str_val = [];

The **column_str_name** and **column_str_val** fields stratify by performing string matching on non-numeric data columns. Specify a comma-separated list of columns names and values to be checked. The length of the **column_str_val** should match that of the **column_str_name**. Using the **-column_str name val** option within the job command lines may further refine these selections.
The **column_str_name** and **column_str_val** fields stratify by performing string matching on non-numeric data columns. Specify a comma-separated list of columns names and values to be **included** in the analysis. The length of the **column_str_val** should match that of the **column_str_name**. Using the **-column_str name val** option within the job command lines may further refine these selections.

_________________________

.. code-block:: none

column_str_exc_name = [];
column_str_exc_val = [];

The **column_str_exc_name** and **column_str_exc_val** fields stratify by performing string matching on non-numeric data columns. Specify a comma-separated list of columns names and values to be **excluded** from the analysis. The length of the **column_str_exc_val** should match that of the **column_str_exc_name**. Using the **-column_str_exc name val** option within the job command lines may further refine these selections.

_________________________

Expand All @@ -260,7 +269,7 @@ _________________________
init_thresh_name = [];
init_thresh_val = [];

The **init_thresh_name** and **init_thresh_val** fields stratify by applying thresholds to numeric data columns only when lead = 0. If lead =0, but the value does not meet the threshold, discard the entire track. The length of the **init_thresh_val** should match that of the **init_thresh_name**. Using the **-init_thresh name val** option within the job command lines may further refine these selections.
The **init_thresh_name** and **init_thresh_val** fields stratify by applying thresholds to numeric data columns only when lead = 0. If lead = 0, but the value does not meet the threshold, discard the entire track. The length of the **init_thresh_val** should match that of the **init_thresh_name**. Using the **-init_thresh name val** option within the job command lines may further refine these selections.

_________________________

Expand All @@ -269,7 +278,16 @@ _________________________
init_str_name = [];
init_str_val = [];

The **init_str_name** and **init_str_val** fields stratify by performing string matching on non-numeric data columns only when lead = 0. If lead =0, but the string does not match, discard the entire track. The length of the **init_str_val** should match that of the **init_str_name**. Using the **-init_str name val** option within the job command lines may further refine these selections.
The **init_str_name** and **init_str_val** fields stratify by performing string matching on non-numeric data columns only when lead = 0. If lead = 0, but the string **does not** match, discard the entire track. The length of the **init_str_val** should match that of the **init_str_name**. Using the **-init_str name val** option within the job command lines may further refine these selections.

_________________________

.. code-block:: none

init_str_exc_name = [];
init_str_exc_val = [];

The **init_str_exc_name** and **init_str_exc_val** fields stratify by performing string matching on non-numeric data columns only when lead = 0. If lead = 0, and the string **does** match, discard the entire track. The length of the **init_str_exc_val** should match that of the **init_str_exc_name**. Using the **-init_str_exc name val** option within the job command lines may further refine these selections.

_________________________

Expand Down
2 changes: 1 addition & 1 deletion met/docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
verinfo = version
release = f'{version}'
release_year = '2021'
release_date = f'{release_year}0302'
release_date = f'{release_year}-03-31'
copyright = f'{release_year}, {author}'

# -- General configuration ---------------------------------------------------
Expand Down
Loading