dafrenchyman / 4dvd Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://4dvd.sdsu.edu/
License: GNU General Public License v3.0
Home Page: http://4dvd.sdsu.edu/
License: GNU General Public License v3.0
When we show air temperature data, we currently only show Celsius. It would be especially useful to be able to convert the data to be in Fahrenheit.
Other unit conversions should be available for datasets with different units. But Celsius to Fahrenheit is definitely the most important!
We should add a value to the master table that specifies if a dataset is yearly, monthly, daily,... whatever.
That way, when we display a monthly dataset, we don't display the -01
first of the month we always do.
Currently, the data structure of the colormaps is just a list. It would be more efficient if we instead organize the colormaps in a dictionary with key/value pairs with the key being the name of the color maps.
Should also add a "ShortName" value on top of the "FullName" attribute. ShortName would be displayed in the color map menu, so there are not any really long names in the menu.
Maybe also create a zero-centered vs non-zero centered toggle in the color map menu, similar to the inverse toggle.
There's an incorrect div
or something for the title. I corrected it somewhere else but not on master. We need to
Sam suggested that clicking on the globe should bring the value of where you clicked at right next to the mouse instead of solely in the time series box.
We're already storing a bunch of information about the dataset in the database. We have:
We could certainly get more information as well. We should display this information (and maybe citation information as well) on the information
section of the menu.
We also should put some information about the project here to. Ideas:
Right now, the FULL path of the dataset is currently displayed and we're using a |
character to show the different levels. However, we're displaying all the datasets at once (along with all the different colormaps too.
I had built a menu system for the JavaScript only version of this code (https://github.com/dafrenchyman/climate). We should see about adding sub-menus to selecting a dataset. I'm thinking we use the same menu system the current system is currently using, just pop up more windows as you click into it.
None of the MANY toggle switches and options have any explanation behind them. We should add tool-tips on everything.
Implement a light and dark mode for the website. Should probably also have a toggle in the graphical settings in the side nav.
The idea is that you can select a country and have the globe only show data from that country. You will then be able to view that country specific data in the time series menu and the other child menus.
If I remember correctly, Sam mentioned having this feature work for US specific data is the priority. May need to double check with Sam.
In angular, autoFocus is enabled by default but stylistically, it does not look too great. Currently, autoFocus is disabled on some dialog functions but not all. This should be fixed so that all dialog boxes disable autoFocus.
The readme needs to be updated with a few more installation instructions.
Following a given template, users should be able to bring their own data so they can use 4DVD for visualization. Maybe even use the 4DVD graphing functionalities as well.
When the website first loads a dataset, if the bump map takes too long to load, the shader makes the whole world look like it's night time.
This seems to only happen on first view. Switching to another Bump Mapping
settings and back seems to fix it. The second visit to the website seems to be OK as well as the image has been cached.
Research needs to be done to figure out exactly why this happens and how to fix it.
The current angular version that this is running on is 4. Angular is now on version 8. It's time to update it.
Sam originally said this dataset would be featured as the 4th dataset in the "Top Dataset" menu. May want to double check if that is still the case.
You can find the dataset here: https://www.psl.noaa.gov/data/gridded/data.godas.html
The original version of this software (https://github.com/dafrenchyman/climate) was pure Javascript. The charting library we used there is better than the one we're using in here (c3.js).
However, c3.js hadn't been updated in a while and wasn't compatible with the new version of d3 (which we use here to generate things like the legend).
It's time to switch back to that other charting library and/or research if there's a better one available in Angular now.
The code I wrote to handle user input isn't terribly good. I hand coded it and it's pretty rough. There must be a library out there that can handle all of our input and make it work in all browsers correctly.
We could either do a quick fix, but the better solution would be to find a good mouse input library and let that take care of everything.
Currently the code converts everything in the database from Kelvin to Celsius. It does do a check, to make sure the value coming in is Kelvin, or it doesn't do the conversion.
We should update the code to give the user options to convert to different values and also be able to deal with other measurements.
The legend needs to be updated with this as well.
Some datasets were accidentally added with "NOAA" as part of their title but they are actually datasets from NASA. We should give proper credit where credit is due.
Should probably talk to Sam on the specific datasets that are not from NOAA if you are unsure.
A wiki how-to on how to get datasets into the system might be useful
There are a couple of functions that are marked with comments in the settings.ts file that can be done more efficiently if we instead convert the functions to fetching data from columns in the database.
While showing the website to colleagues, Sam found that some users are unsure what data is being used when opening the time series menu after you click on the globe, or what data is being downloaded when you click "Download Data" from the top row or from the time series menu.
Should probably also update the design of the time series box to be more clear and concise on what to expect when viewing the time series menu.
Sam suggested:
Add a feature to draw polygons on the globe that then only fetches the data inside of that polygon. Then, the data specifically inside the polygon can then be viewed in the time series menu and other child menus.
Note: this feature is only expected to be available when the user is viewing the 2D map
When Snehal and I were creating the statistical and seasonal menus/charts/graphs, we were limited with ngx-charts charting ability and we were unable to make certain graphs such as a box graph.
Could also be worth looking into upgrading to the latest version of ngx-charts? There looks like there are some really interesting style changes we can use to "spice" things up.
Currently, there is a 'quick fix' function that sets the titles and y-axis of graphs with some string manipulation based on the really long title given in the 4DVD database. I already set up the simple title column in the database, but I was having issues with procedures to fetch that data correctly.
Should also make sure a good majority of the datasets in the database have a simple title.
The design of the website is a bit... underwhelming and more focused on functionality, compared to other similar websites. This is more of an overarching issue rather than a quick fix. But it should be noted and considered for future additions to the website.
Possible updates:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.