Coder Social home page Coder Social logo

atlas's People

Contributors

abelsiqueira avatar bvreede avatar geek-yang avatar peter9192 avatar sarahalidoost avatar sverhoeven avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

atlas's Issues

Zenodo integration failed

After the 0.1.0 release I had expected the atlas to show up in Zenodo, but it doesn't seem to have worked.

In this GH repository --> settings --> webhooks --> zenodo --> recent deliveries, it is visible that three release events were fired on Friday, and one of them failed with error code 429 and more info:

You are being blocked. Please contact us at: [email protected]

429 seems to be related to rate limits.

Add GH action to preview the web app in a PR

Merging a PR runs the automatic deployment action. However, before that, it would be nice if we can verify that the page looks ok. Is there some way to build it from the PR and serve it somewhere on a preview page?

Extend about pages

About page with FAQ was added in #41, but the content could still use some polishing. See open comments in #41.

Add option to compare

Currently, the atlas shows one figure at a time. It would be nice if we could add a "comparison mode" where you can select e.g. multiple methods and see them side by side.

Update content of the atlas data

  • Make a python script to plot maps in a uniform way
  • Create new figures based on source netcdf data:

variables: pr and tas
season: winter and summer
percentiles: 10, 50, 90 (?)
data: cmip5 and cmip6
methods: climwip and ???
type: constrained, unconstrained, (side-by-side?)

placeholder for unavailable data

Use consistent naming pattern for figure filenames

Rephrase explanation of 50-th percentile

For instance, the 50th percentile in the atlas includes the lower 50% of the climate projections --> For instance, the 50th temperature percentile shows the highest temperature in the lower 50% of the distribution of temperature changes

FIXME in the README

When there is more information, address the FIXME in the README.md of the repository.

Responsive design of page

  • Make the height and weight responsive to the reshaping of the browser
  • No scroll bars but always fill the entire page with the available space

Change multiple dropdowns at once

As a user comparing multiple methods,
I want to change the value of "temperature" or "constrained" for all rows at once,
so I can more easily compare multiple aspects.

In this screenshot, changing "temperature" to "precipitation" requires changing all 6 dropdowns:
image

Refactor history of preprocessed data

In the notebooks (after merging #38), an attrs dict is defined to hold some information about data like description and history. For history, we list the file names of raw data manually, for example, see below. It would be good if we refactor this part.

attrs={"description": f"Contains modified {INSTITUTION_ID} {METHOD} data used for Atlas in EUCP project.",
           "history": f"original {INSTITUTION_ID} {METHOD} data files CNRM_atlas_tas_CMIP6_histssp585_JJA_latlon.nc, CNRM_atlas_tas_CMIP6_histssp585_DJF.nc" }

Rephrase "which method is best"

Include table from deliverable report and rephrase final paragraph:

All methods show improvements in some regions, for temperature projections where as there is less evidence that they improve precipitation projections. One method, CALL, produces projections for the Mediterranean that are markedly worse than just using the raw climate model projections

Fix placeholder for ASK and CMIP5

Currently, the placeholder image shows that we can select ASK and CMIP5. But we don't have cmip5 data for ASK. The image should be fixed.

Make weights available

ClimWIP and REA are both "weighting methods", meaning that the constrained projections are constructed by assigning a weight to each ensemble member. It would be nice to provide these weights together with the data on Zenodo.

Fix climatology_bounds of the preprocess data

In notebooks (after merging #38), we add seasons as time values together with climatology_bounds, like this example. The preprocessed data can be read with both iris and xarray. However, some operations might return an error, for example:

ds = xr.open_dataset("./AtlasData/preprocess/atlas_EUCP_CNRM_CMIP6_KCC_cons_tas.nc")
ds.to_array()

ValueError: coordinate climatology_bounds has dimensions ('climatology_bounds',), but these are not a subset of the DataArray dimensions ('variable', 'time', 'latitude', 'longitude', 'percentile')

Add letters for comparison option

The comparison option (#37) shows multiple selection rows, and multiple maps. There is no explicit link between which row corresponds to which map. Adding letters might help, but in #37 we struggled with their alignment. This issue is for solving that problem.

Add time periods to FAQ

The maps show the “differences between 2041-2060 mean conditions, with respect to the 1995-2014 present day baseline”. It would be good to clarify this in the “What do these maps show?” about section, and perhaps also reflect this in the individual figure labels.

Add data documentation to data entry on zenodo

Preprocessed data lives here. The documentation should be added to the "description" field on Zenodo. Here is the documentation:


Preprocessed data of Atlas in EUCP-WP2

We provide some notebooks that check the original/raw data, fix/add the metadata
using CF-conventions https://cfconventions.org/Data/cf-conventions/cf-conventions-1.9/cf-conventions.html
and save data in a NetCDF format. See https://github.com/eucp-project/atlas/blob/main/python/README.md.

The pre-processed data follows the following standards:

coordinates

  • climatology_bounds (climatology_bounds) datetime64[ns] ['2050-06-01', '2050-09-01', '2050-12-01', '2051-03-01']
  • time (time) (datetime64[ns]) [2050-07-16 2051-01-16] # "JJA", "DJF"
  • latitude (lat) (float64) [30, ..., 75]
  • longitude (lon) (float64) [-10, ..., 40]
  • percentile (percentile) (int64) [10, 25, 50, 75, 90]

variables

  • tas (time, latitude, longitude, percentile) (float64)
  • pr (time, latitude, longitude, percentile) (float64)

attributes

The attributes of variables and coordinates are defined as:

  • "tas": {
    "description": "Change in Air Temperature",
    "standard_name": "Change in Air Temperature",
    "long_name": "Change in Near-Surface Air Temperature",
    "units": "K",
    "cell_methods": "time: mean changes over 20 years 2041-2060 vs 1995-2014",
    },
  • "pr": {
    "description": "Relative precipitation",
    "standard_name": "Relative precipitation",
    "long_name": "Relative precipitation",
    "units": "%",
    "cell_methods": "time: mean changes over 20 years 2041-2060 vs 1995-2014",
    },
  • "latitude": {"units": "degrees_north", "long_name": "latitude", "axis": "Y"},
  • "longitude": {"units": "degrees_east", "long_name": "longitude", "axis": "X"},
  • "time": {
    "climatology": "climatology_bounds",
    "long_name": "time",
    "axis": "T",
    "climatology_bounds": ["2050-6-1", "2050-9-1", "2050-12-1", "2051-3-1"],
    "description": "mean changes over 20 years 2041-2060 vs 1995-2014. The mid point 2050 is chosen as the representative time.",
    },
  • "percentile": {"units": "%", "long_name": "percentile", "axis": "Z"},

The attributes of the data is defined as:

  • "description": "Contains modified institute method data used for Atlas in EUCP project.",
  • "history": "original institute method data files ...",

output file names

output_file_name = prefix_activity_institution-id_source_method_sub-method_cmor-var

example: atlas_EUCP_CNRM_CMIP6_KCC_cons_tas.nc

Reference:

https://eucp-project.github.io/atlas/about

add contributor information

  • Project organization (+ brief summaries) in the main README
    • Link to contribution guide
    • Citation info
  • (basic) Information about current notebooks into the python/README
  • Contributor information:
    • Generate a new script: where and how
    • Where to put the output image
    • Make internal changes to the project (i.e. what to update when adding a new script)
    • Rendering the atlas locally
    • Adding/changing javascript pages

Make use of layouts

Currently, we add a header including logo and page title to each page separately. To make it consistent, we might use the layout file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.