Skip to content

Commit

Permalink
Merge pull request #189 from ICOS-Carbon-Portal/179-update-documentation
Browse files Browse the repository at this point in the history
179 update documentation
  • Loading branch information
ZogopZ authored Apr 26, 2024
2 parents c129736 + de824de commit baef1fc
Show file tree
Hide file tree
Showing 15 changed files with 1,116 additions and 774 deletions.
178 changes: 97 additions & 81 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,124 +1,140 @@
# Changelog

## 0.2.0a0
- #### cpauth module
- Remove legacy authentication.
- Authenticate via [icoscp_core](https://pypi.org/project/icoscp_core/).
- #### stilt module
- Improve code for retrieving stilt-station metadata.
- #### documentation
- Move the `cpauth` module to the [Getting started](getting_started.md)
section.
- Add [Upgrade guide](install.md#upgrade-guide) to the installation
section.
- Add substantial amount of content to the [About page](index.md).
- Add [Getting started examples](getting_started.md) and move the old
examples to a [separate section](legacy_examples.md) as legacy.
- Remove most of the old FAQ, add a few new ones.

## 0.1.20
- #### country module
- Make the reverse geocoding functionality available only to users
with access to the ICOS Jupyter Hub.
- Replace the nominatim reverse geocoder with on-server access to
shapefiles.
- Make the reverse geocoding functionality available only to users
with access to the ICOS Jupyter Hub.
- Replace the nominatim reverse geocoder with on-server access to
shapefiles.
- #### cpauth module
- Enforce secure data access via mandatory authentication.
- Enforce secure data access via mandatory authentication.
- #### sparql module
- Accept cached SPARQL responses by default.
- Accept cached SPARQL responses by default.
- #### stilt module
- Obtain country information more accurately.
- Obtain country information more accurately.

## 0.1.19
- #### stilt module
- Filter out `.zip` data files from `stiltweb` data structure.
- Filter out `.zip` data files from `stiltweb` data structure.
- #### documentation
- Apply [Tyler's](https://github.com/tylere) changes in the file
`README.md`.
- Apply [Tyler's](https://github.com/tylere) changes in the file
`README.md`.
- #### project-structure
- Introduce a streamlined development workflow for the library, using
[pytest](https://pytest.org), [ruff](https://beta.ruff.rs/docs/), and
[hatch](https://hatch.pypa.io/latest/).
- Introduce a streamlined development workflow for the library, using
[pytest](https://pytest.org), [ruff](https://beta.ruff.rs/docs/), and
[hatch](https://hatch.pypa.io/latest/).

## 0.1.18
- #### cpauth module
Implement authentication for secure data access. The full documentation of
the authentication module can be found [here](
https://icos-carbon-portal.github.io/pylib/modules/#authentication).
- #### cpb module
- Rework code in `Dobj()` class to correctly add `series` to pandas
`DataFrame` and avoid pandas performance warning.
- Verify timestamp format of binary files and convert accordingly to
avoid error in data accessing.
- Rework code in `Dobj()` class to correctly add `series` to pandas
`DataFrame` and avoid pandas performance warning.
- Verify timestamp format of binary files and convert accordingly to
avoid error in data accessing.
- #### stilt module
- Remove mutable default arguments from functions in the `stilt` module.
- Update availability table, such that only 'real' ICOS stations get an
ICOS id.
- Add ICOS sampling height to the ICOS dictionary.
- Add corresponding data files to the ICOS dictionary.
- Increase performance when reading `STILT` footprints.
- Replace `eval()` statement to prevent security risks.
- Make function `station.get()` case-insensitive.
- Remove mutable default arguments from functions in the `stilt` module.
- Update availability table, such that only 'real' ICOS stations get an
ICOS id.
- Add ICOS sampling height to the ICOS dictionary.
- Add corresponding data files to the ICOS dictionary.
- Increase performance when reading `STILT` footprints.
- Replace `eval()` statement to prevent security risks.
- Make function `station.get()` case-insensitive.
- #### station module
- Remove elevation above ground attribute from `Station()` class.
- Update documentation on how to correctly retrieve station names when
iterating over pandas `DataFrames'` rows.
- Remove elevation above ground attribute from `Station()` class.
- Update documentation on how to correctly retrieve station names when
iterating over pandas `DataFrames'` rows.

## 0.1.17
- #### station module
The station class has been somewhat optimized:
- `station.getList()` is faster
- `station.getIdList()` has a new parameter `theme` (as in `getList`)
- `station.getList()` is faster
- `station.getIdList()` has a new parameter `theme` (as in `getList`)
- #### sparql module
In the background the station class use sparql queries, and `sparqls.py` has been endowed with station query function:
- `sparqls.station_query()`, the function has a filter parameter with which the experienced user for example can use to fetch stations in a list of countries.
- `sparqls.station_query()`, the function has a filter parameter with which the experienced user for example can use to fetch stations in a list of countries.
- #### stilt module
- Update `xarray` call in `stiltobj.py`.
- Update `xarray` call in `stiltobj.py`.
- #### other changes
- Fix library's building problems which resulted in an empty project description here:
- Fix library's building problems which resulted in an empty project description here:
[https://pypi.org/project/icoscp/](https://pypi.org/project/icoscp/)

## 0.1.16
- #### sparql
- Remove methods with unused queries `cpbGetInfo(dobj)` and `cpbGetSchemaDetail(formatSpec)`.
- Speed up queries in functions `objectSpec(spec='atcCo2L2DataObject', station='', limit=0)`,
`getStations(station = '')`, `get_coords_icos_stations_atc()`, and `get_icos_stations_atc_L1()`.
- Update query in `getStations(station = '')` to correctly retrieve stations.
- Add deprecation warning for `stations_with_pi()` query.
- Remove methods with unused queries `cpbGetInfo(dobj)` and `cpbGetSchemaDetail(formatSpec)`.
- Speed up queries in functions `objectSpec(spec='atcCo2L2DataObject', station='', limit=0)`,
`getStations(station = '')`, `get_coords_icos_stations_atc()`, and `get_icos_stations_atc_L1()`.
- Update query in `getStations(station = '')` to correctly retrieve stations.
- Add deprecation warning for `stations_with_pi()` query.
- #### station module
- Filter out non icos stations when querying themed stations in `getList()`.
- Filter out non icos stations when querying themed stations in `getList()`.
- #### stilt module
- Regenerate STILT module's static file `stations.json`.
- Regenerate STILT module's static file `stations.json`.

## 0.1.15
- #### cpb module
- Dobj change to read metadata from http request. Instead of using sparql queries, a http request is used to load
the same meta data as available from the website.
- Add new script to extract metadata from server `metadata.py`.
- Add new property `.meta` returns a dictionary based on the meta data available from the landing page of a data
object containing a very rich set of information. An example:
[https://meta.icos-cp.eu/objects/M8STRfcQfU4Yj7Uy0snHvlve/meta.json](
https://meta.icos-cp.eu/objects/M8STRfcQfU4Yj7Uy0snHvlve/meta.json)
- Add new property: `.previous` Return the pid/url of the previous version of this file if available.
- Add new property: `.next` -> Return the pid/url of the next version of this file if available.
- Add new property: `.variables` Return a PandasDataFrame with metadata for all variables
['name', 'unit', 'type', 'format'].
- Add new property: `.alt` Returns altitude of station, the same as `.elevation`.
- Remove properties: `._info1`, `._info2`, `._info3` from Dobj.
- Change `.info` (consisted of info 1,2,3,) and return `.meta` instead.
- Change `.station`: Returns a dictionary with a subset of .meta describing the station.
- Change of `.colNames`: returns now a list of strings with all variable names instead of a pandas core series.
- License is extracted dynamically from the metadata per object.
- Add new method `get_citation(format='plain')`. Returns the citation by default as plain string, the same as
.citation (property) which internally calls this method. Argument options are ('bibtex', 'ris', 'plain') ->
`.citation('bibtex'|'ris'|'plain')`.
- `print(Dobj)` output of \_\_str\_\_ changed to plain citation string, instead of pid.
- References to server calls moved to `const.py`.
- Rename file dtype_dict.py to dtype.py for better readability.
- add simple unit test and implement initial assertions for the cpb module.
- Dobj change to read metadata from http request. Instead of using sparql queries, a http request is used to load
the same meta data as available from the website.
- Add new script to extract metadata from server `metadata.py`.
- Add new property `.meta` returns a dictionary based on the meta data available from the landing page of a data
object containing a very rich set of information. An example:
[https://meta.icos-cp.eu/objects/M8STRfcQfU4Yj7Uy0snHvlve/meta.json](
https://meta.icos-cp.eu/objects/M8STRfcQfU4Yj7Uy0snHvlve/meta.json)
- Add new property: `.previous` Return the pid/url of the previous version of this file if available.
- Add new property: `.next` -> Return the pid/url of the next version of this file if available.
- Add new property: `.variables` Return a PandasDataFrame with metadata for all variables
['name', 'unit', 'type', 'format'].
- Add new property: `.alt` Returns altitude of station, the same as `.elevation`.
- Remove properties: `._info1`, `._info2`, `._info3` from Dobj.
- Change `.info` (consisted of info 1,2,3,) and return `.meta` instead.
- Change `.station`: Returns a dictionary with a subset of .meta describing the station.
- Change of `.colNames`: returns now a list of strings with all variable names instead of a pandas core series.
- License is extracted dynamically from the metadata per object.
- Add new method `get_citation(format='plain')`. Returns the citation by default as plain string, the same as
.citation (property) which internally calls this method. Argument options are ('bibtex', 'ris', 'plain') ->
`.citation('bibtex'|'ris'|'plain')`.
- `print(Dobj)` output of \_\_str\_\_ changed to plain citation string, instead of pid.
- References to server calls moved to `const.py`.
- Rename file dtype_dict.py to dtype.py for better readability.
- add simple unit test and implement initial assertions for the cpb module.
- #### access to data
- `.data` [property] will always return all columns.
- `.get(columns=None)` [method] returns all data by default. Provides the possibility to extract specific columns
from the data set. Expected is a list of column names, which then returns only the selected columns. Non valid
entries are removed from the list (if only non valid entries are provided, an empty list by default returns all
columns). Please be aware, that `.get()` will ALWAYS return ALL columns if executed on the Carbon Portal server.
Valid entries can be obtained with `.colNames` or `.variables['name'].
- `.getColumns(columns=None)`, this is exactly the same as .get(columns='None'). We keep this function for
compatibility to previous versions.
- `.data` [property] will always return all columns.
- `.get(columns=None)` [method] returns all data by default. Provides the possibility to extract specific columns
from the data set. Expected is a list of column names, which then returns only the selected columns. Non valid
entries are removed from the list (if only non valid entries are provided, an empty list by default returns all
columns). Please be aware, that `.get()` will ALWAYS return ALL columns if executed on the Carbon Portal server.
Valid entries can be obtained with `.colNames` or `.variables['name'].
- `.getColumns(columns=None)`, this is exactly the same as .get(columns='None'). We keep this function for
compatibility to previous versions.
- #### other changes
- add `icon` argument to `station.getIdList()` function.
- regenerate STILT module's static `stations.json`.
- resolve deprecation warnings from `numpy` calls.
- implement `stiltstation.find()` by `project`.
- add `outfmt='avail'` argument to `stiltstation.find()` function to generate an availability table for
`STILT stations`.
- fix `stiltstation.find(outfmt='list')`.
- fix `print(stiltobj)` by removing country information. Country information can still be retrieved using the
`.info` attribute of the `StilStation` object.
- add `icon` argument to `station.getIdList()` function.
- regenerate STILT module's static `stations.json`.
- resolve deprecation warnings from `numpy` calls.
- implement `stiltstation.find()` by `project`.
- add `outfmt='avail'` argument to `stiltstation.find()` function to generate an availability table for
`STILT stations`.
- fix `stiltstation.find(outfmt='list')`.
- fix `print(stiltobj)` by removing country information. Country information can still be retrieved using the
`.info` attribute of the `StilStation` object.

## 0.1.14
- update `get_ts()` to case-insensitive and include `co2.bio.gee` and `co2.bio.resp` in the
Expand Down
Loading

0 comments on commit baef1fc

Please sign in to comment.