This is the final post on the Water Programming Blog Guide. I encourage you to also look at the Water Programming Blog Guide (Part I) and Water Programming Blog Guide (Part 2) for a different set of topics. In this post, the following topics will be covered:
- Visualization and figure editing
- Tutorials
- Training videos
- LaTex
- Reference management
- NetCDF
- Miscellaneous topics: Optimization and Statistics, Hydrologic Modeling, Global change assessment model
1. Visualization and figure editing
Visualization is very important in our field, its a good way to analyze tradeoffs and even interact with the system at hand. We want to represent multi-dimensional data sets in an informative and appealing way , and the methods for doing are are well documented in our blog, we even have a brief historical overview for visualizing multi-dimensional , along with useful resources to create either quick and interactive plots or publication ready ones:
Parallel coordinate plots
New web-based multi-objective data interactive visualization tools
The Linked Parallel Coordinate Plot with Linked Heatmap
Multidimensional data and color palettes
Visualization strategies for multidimensional data
Colorbrewer: Color palettes for your figures
Aerovis
AeroVis: Reproducing the DTLZ1 Animation
AeroVis: Turning a Glyph Plot Into a Figure
Code Sample: Modify AeroVis files for Matlab
Figure editing
Scientific figures in Illustrator
9 basic skills for editing and creating vector graphics in Illustrator
Other Resources
Plotting Code added to Lake Problem Diagnostics Repository
2. Tutorials
In this section you can find a series of training tutorials. They consist on short test studies that emulate some of the larger studies that our group members have published, and it will give you a good idea on how to use some of the tools so you can implement them on your own. I also recommend looking at the Glossary of commonly used terms to get familiar with the terminology on multi-objective optimization, decision analytics, systems analysis and water resources and some other lingo that we use in the research group that may not be evident to new members.
MOEA runtime analysis
Runtime dynamics with serial Borg
Random Seed Analysis for the Borg MOEA using DTLZ2, 3 objective instance
MOEA diagnostics
MOEA diagnostics for a simple test case (Part 1/3) , (Part 2/3) , (Part 3/3)
Algorithm Diagnostics Walkthrough using the Lake Problem as an example (Part 1 of 3: Generate Pareto approximate fronts) , (Part 2 of 3: Calculate metrics for Analysis) , (Part 3 of 3: Metrics-based analysis of algorithm performance)
Determining Whether Differences in Diagnostic Results are Statistically Significant (Part 1) , (Part 2)
3. Training videos
The following videos were developed mainly for MOEAFramework training , they are not necessarily in sequence but they cover key topics that will enable you to use the MOEAFramework capabilities within your own problems.
Training Video: External problems in MOEAFramework
Training video: MOEAFramework GUI
Training video: Java file for external problems
Training video: Elements of Problem Formulation
Training video: MOEAframework Sobol Sensitivity Analysis
Training video: MOEAFramework, submitting multiple random seeds
Training video: Cluster job submission basics
4. LaTeX
LaTex helps the quality and aesthetics of documents; also, as a researcher LaTex gives you the opportunity to focus on the parts of your work that really matter since it saves you the headache of formatting. In our blog we have a variety of posts that will help you setup LaTex, have consistent fonts across figures and text within your document, use online platforms to work on LaTex documents collaboratively, and easily track changes from one document to another, this last feature is extremely handy for revisions.
Embedding figure text into a Latex document
Overleaf: LaTeX Collaboration and Publication
latexdiff: “track changes” for LaTeX
5. Reference management
Reference management can be a graduate student’s best friend. It plays an important role in increasing your productivity by maintaining good record of the articles that you commonly use and by keeping track of encountered literature. In our blog you can find useful resources and tips to take advantage of reference managers and on how to populate efficiently your references.
PDFExtract: Get a list of BibTeX references from a scholarly PDF
RSS Feeds for Water Resources Journals
Writing a Paper in Markdown Using Pandoc
Web-based Free Options for Bibliography Management and LaTeX Editing
6. NetCDF
The NetCDF website describes this data form better than I can:
NetCDF (network Common Data Form) is a set of interfaces for array-oriented data access and a freely distributed collection of data access libraries for C, Fortran, C++, Java, and other languages. The netCDF libraries support a machine-independent format for representing scientific data. Together, the interfaces, libraries, and format support the creation, access, and sharing of scientific data.
Source: NetCDF
We also have plenty of documentation on handling NetCDF from previous group members:
Using HDF5/zlib Compression in NetCDF4
Use python cf
and esgf-python-client
package to interact with ESGF data portal
Basic NetCDF processing in Matlab
Reducing size of NetCDF spatial data with list representation
Plotting a map of NetCDF data with Matplotlib/Basemap
7. Miscellaneous topics
Finally, this is a recompilation of interesting topics that contributors to the blog have come across and have used in their own research and/or classes.
Fitting Multivariate Normal Distributions
Solving non-linear problems using linear programming
Hydrologic modeling
Updated rainfall-runoff models
Global Change Assessment Model
Porting GCAM onto a UNIX cluster