Skip to content

Commit

Permalink
dark mode
Browse files Browse the repository at this point in the history
  • Loading branch information
rhettadam committed Jul 28, 2024
1 parent 3e46027 commit 263c26f
Show file tree
Hide file tree
Showing 18 changed files with 485 additions and 23 deletions.
2 changes: 1 addition & 1 deletion docs/.ipynb_checkpoints/Gemfile-checkpoint
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ source "https://rubygems.org"
# Happy Jekylling!
# gem "jekyll", "~> 4.3.3"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minimal", "~> 0.2.0"
gem "minimal", "~> 0.0.26"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
Expand Down
15 changes: 13 additions & 2 deletions docs/.ipynb_checkpoints/_config-checkpoint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,26 @@
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: NC² - NetCDF Viewer
title: ""
logo: /assets/Logo3.png
email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
NC^2 is a versatile NetCDF viewer for quickly plotting data, leveraging common scientific Python tools such as Matplotlib and Cartopy to produce publication-quality plots.
NC² is a versatile NetCDF viewer for quickly plotting data, leveraging common scientific Python tools such as Matplotlib and Cartopy to produce publication-quality plots.
#baseurl: ""
#url: "https://rhettadam.github.io"
twitter_username:
github_username: rhettadam

nav_links:
- title: "Home"
url: "/"
- title: "About"
url: "/about"
- title: "Install"
url: "/install"
- title: "Features"
url: "/features"

# Build settings
remote_theme: pages-themes/[email protected]
plugins:
Expand Down
45 changes: 45 additions & 0 deletions docs/.ipynb_checkpoints/about-checkpoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
layout: default
title: About
permalink: /about/
---

# Welcome To NC²

What are NetCDF Files?

NetCDF (Network Common Data Form) is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. NetCDF files are widely used in climate science, meteorology, oceanography, and other fields to store and distribute large datasets. These files are valuable for their ability to store multi-dimensional data (such as temperature, humidity, and wind speed) efficiently, making them essential for researchers and scientists dealing with complex environmental data.

# NCview and Panoply

Programs such as NCview and Panoply have become indispensable tools for scientists working with NetCDF files.

- **NCview**: NCview is a simple yet powerful visual browser for NetCDF files. It allows users to quickly view the data stored in these files through various plotting options. NCview is particularly useful for scientists who need to quickly check the contents of their datasets.
- **Panoply**: Panoply, developed by NASA, is another powerful tool that provides more advanced features than NCview. It allows users to visualize georeferenced and other arrays from NetCDF, HDF, and GRIB datasets. Panoply offers a range of plotting options, including latitude-longitude, latitude-vertical, and time-latitude plots, making it a versatile tool for in-depth data analysis.

Both NCview and Panoply are essential for scientists who need to visualize and analyze their data quickly. However, these tools come with limitations, such as less intuitive user interfaces and a lack of customization options for publication-quality plots.

# What is NC²?

![Logo4](https://github.com/user-attachments/assets/377cbe6b-5433-42c3-94a3-8f8b73f4ee7f)

NC² is a next-generation NetCDF viewer designed to overcome the limitations of traditional tools like NCview and Panoply. Built with modern scientific Python tools such as CartoPy and Matplotlib, NC² offers a versatile and user-friendly platform for visualizing and analyzing NetCDF data. Here’s what NC² brings to the table:

- **Modern GUI**: NC² features a clean and intuitive graphical user interface (GUI) that significantly reduces the learning curve for new users.
- **Familiar Tools**: NC² is built with familiar scientific Python libraries, including CartoPy for cartographic projections and Matplotlib for plotting. This makes it easy for users who are already familiar with these tools to extend and customize their data visualizations.
- **Publication-Quality Plots**: One of the standout features of NC² is its ability to produce publication-quality plots. Users can create highly customizable plots that meet standards required for scientific publications, ensuring that their visualizations are both accurate and aesthetically pleasing.
- **Versatility**: NC² is designed to handle a wide range of NetCDF data types. Whether you are working with atmospheric data, oceanographic measurements, or climate model outputs, NC² provides the tools you need to visualize and analyze your data effectively.
- **Easy Customization**: NC² offers a variety of customization options, allowing users to tailor their plots to their specific needs. From adjusting color maps and scales to adding annotations and labels, NC² makes it easy to create detailed and informative visualizations.
- **Advanced Features**: In addition to basic plotting functionalities, NC² provides advanced features such as time series analysis, depth profiling, and GIF generations. These features enable users to gain deeper insights into their data and conduct more comprehensive analyses.

Explore the features and capabilities of NC², and see how it can enhance your research and data analysis workflows.

![Screenshot from 2024-07-23 22-41-41](https://github.com/user-attachments/assets/6a7d6af4-5c5b-495b-92e0-08599935cb88)

# Contact Me!

[email protected]

Rhett R. Adam 7/25/24

VU Undergrad EES
Empty file.
65 changes: 65 additions & 0 deletions docs/.ipynb_checkpoints/features-checkpoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
layout: default
title: Features
permalink: /features/
---
# NC² Features

## 1. File Selection and Variable Handling
- **Select NetCDF File**: Easily choose and load NetCDF files for analysis.
- **Variable Selection**: A dropdown menu to select the specific variable of interest from the loaded NetCDF file (e.g., water_temp, salinity, etc.).

## 2. Time and Depth Control
- **Time Step Selection**: Choose the specific time step for the data visualization.
- **Depth Level Selection**: Select the depth level of interest

## 3. Data Information and Statistics
- **Data Summary**: Display basic statistics for the selected DTG and/or depth, including mean, median, standard deviation, anomalies detected, minimum, and maximum values.
- **Cursor Location Information**: Real-time display of the cursor's longitude and latitude coordinates, I and J indices, and the corresponding data value at that location.

## 4. Plot Customization
- **Plot Type Selection**: Choose different plot types such as **pcolormesh**, **contour**, **contourf**, **quiver**, **streamplot**, and **imshow**, with dynamically updated customization variables.
- **Colormap Selection**: Select from various colormaps (e.g., jet) to enhance the visualization and interpretation of data.
- **Reverse Colormap**: Option to reverse the colormap for better contrast and data representation.
- **Colorbar Orientation**: Customize the orientation of the colorbar (left, right, top, bottom) to suit the presentation needs.
- **Adjustable Value Limits**: Set custom limits for the color range (V-Max, V-Min) to focus on specific data ranges.
- **Geographical Extents**: Specify the geographical extents for the plot to zoom into particular regions of interest.
- **Projections**: Specify the projection for the plot (e.g., PlateCarree).

## 5. Further Customization
- **Gridlines Toggle**: Enable or disable gridlines on the plot for better spatial referencing and specify alpha (transparency).
- **Masking Toggle**: Enable Cartopy Feature ocean and land masking.
- **Axis Labels**: Add labels to the X and Y axes for clear identification of the data dimensions.
- **Plot Title**: Set a custom title for the plot to provide context and clarity.

## 6. Data Visualization
- **Show in Window**: Display the selected data variable in a separate window.
- **Save as GIF**: Option to save the animation as a GIF for easy sharing and presentation.
- **GIF Options**: Adjust the frames per second for the animations to control the playback speed and enable/disable loop.
- **Playback Controls**: Play, pause, reverse, speed up, slow down, and stop animations to analyze temporal changes in the dataset.

## 7. Interactive Analysis Tools
- **Time Series**: Generate time series and histogram plots to analyze data trends over time, and at a specific depth.
- **Depth Series**: Generate depth series and histogram plots to analyze data trends over depth, and at a specific time.
- **Vertical Section**: Create vertical section plots at latitude or longitude slices to examine vertical variations in the dataset.

## 8. User Interface and Experience
- **Modern GUI**: Intuitive and user-friendly interface designed for ease of use, reducing the learning curve for new users.
- **Theme Customization**: Toggle between light and dark modes for a comfortable viewing experience in different lighting conditions.
- **Detailed Legends and Labels**: Enhanced legends and labels for better understanding and interpretation of the plots.
- **Multiple Plotting Windows**: Capability to open multiple plotting windows simultaneously for comparative analysis.

## 9. Integration with Scientific Tools
- **Built with Cartopy and Matplotlib**: Leverages powerful Python libraries for cartographic projections and high-quality plotting, ensuring accuracy and flexibility.
- **Publication-Quality Plots**: Ability to produce highly customizable and publication-quality plots suitable for scientific presentations and publications.

## 10. Additional Features
- **Navigation Toolbar**: Plot navigation toolbar with buttons
- Reset original view
- Back to previous view
- Forward to next view
- Pan figure
- Zoom to rectangle
- Configure subplots
- Save figure
- **Comprehensive Documentation**: Detailed user documentation available to help users understand and utilize all features effectively.
7 changes: 4 additions & 3 deletions docs/.ipynb_checkpoints/index-checkpoint.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
# Feel free to add content and custom Front Matter to this file.
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

layout: home
layout: default
title: ""
---
# Welcome to NC^2
NC^2 is a versatile NetCDF viewer for quickly plotting data, leveraging common scientific Python tools such as Matplotlib and Cartopy to produce publication-quality plots.
# Welcome to NC²
NC² is a versatile NetCDF viewer for quickly plotting data, leveraging common scientific Python tools such as Matplotlib and Cartopy to produce publication-quality plots.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: page
title: Documentation
permalink: /documentation/
layout: default
title: Install
permalink: /install/
---
## Getting Started
NC² leverages scientific Python tools to visualize NetCDF data. Follow these steps to start using NC².
Expand Down
2 changes: 1 addition & 1 deletion docs/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ source "https://rubygems.org"
# Happy Jekylling!
# gem "jekyll", "~> 4.3.3"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minimal", "~> 0.2.0"
gem "minimal", "~> 0.0.26"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
Expand Down
15 changes: 13 additions & 2 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,26 @@
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: NC² - NetCDF Viewer
title: ""
logo: /assets/Logo3.png
email: [email protected]
description: >- # this means to ignore newlines until "baseurl:"
NC^2 is a versatile NetCDF viewer for quickly plotting data, leveraging common scientific Python tools such as Matplotlib and Cartopy to produce publication-quality plots.
NC² is a versatile NetCDF viewer for quickly plotting data, leveraging common scientific Python tools such as Matplotlib and Cartopy to produce publication-quality plots.
#baseurl: ""
#url: "https://rhettadam.github.io"
twitter_username:
github_username: rhettadam

nav_links:
- title: "Home"
url: "/"
- title: "About"
url: "/about"
- title: "Install"
url: "/install"
- title: "Features"
url: "/features"

# Build settings
remote_theme: pages-themes/[email protected]
plugins:
Expand Down
64 changes: 64 additions & 0 deletions docs/_layouts/.ipynb_checkpoints/default-checkpoint.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

{% seo %}
<link rel="stylesheet" href="{{ "/assets/css/dark-mode.css" | relative_url }}">
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
{% include head-custom.html %}
</head>
<body>
<div class="wrapper">
<header>
{% if site.logo %}
<a href="{{ "/" | absolute_url }}">
<img src="{{site.logo | relative_url}}" alt="Logo" />
</a>
{% endif %}

<nav>
<ul>
{% for link in site.nav_links %}
<li><a href="{{ link.url | relative_url }}">{{ link.title }}</a></li>
{% endfor %}
</ul>
</nav>


<p>{{ site.description | default: site.github.project_tagline }}</p>

{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}

{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}

{% if site.show_downloads %}
<ul class="downloads">
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
</ul>
{% endif %}
</header>
<section>

{{ content }}

</section>
<footer>
{% if site.github.is_project_page %}
<p>This project is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p>
{% endif %}
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
</body>
</html>
64 changes: 64 additions & 0 deletions docs/_layouts/default.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

{% seo %}
<link rel="stylesheet" href="{{ "/assets/css/dark-mode.css" | relative_url }}">
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
{% include head-custom.html %}
</head>
<body>
<div class="wrapper">
<header>
{% if site.logo %}
<a href="{{ "/" | absolute_url }}">
<img src="{{site.logo | relative_url}}" alt="Logo" />
</a>
{% endif %}

<nav>
<ul>
{% for link in site.nav_links %}
<li><a href="{{ link.url | relative_url }}">{{ link.title }}</a></li>
{% endfor %}
</ul>
</nav>


<p>{{ site.description | default: site.github.project_tagline }}</p>

{% if site.github.is_project_page %}
<p class="view"><a href="{{ site.github.repository_url }}">View the Project on GitHub <small>{{ site.github.repository_nwo }}</small></a></p>
{% endif %}

{% if site.github.is_user_page %}
<p class="view"><a href="{{ site.github.owner_url }}">View My GitHub Profile</a></p>
{% endif %}

{% if site.show_downloads %}
<ul class="downloads">
<li><a href="{{ site.github.zip_url }}">Download <strong>ZIP File</strong></a></li>
<li><a href="{{ site.github.tar_url }}">Download <strong>TAR Ball</strong></a></li>
<li><a href="{{ site.github.repository_url }}">View On <strong>GitHub</strong></a></li>
</ul>
{% endif %}
</header>
<section>

{{ content }}

</section>
<footer>
{% if site.github.is_project_page %}
<p>This project is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a></p>
{% endif %}
</footer>
</div>
<script src="{{ "/assets/js/scale.fix.js" | relative_url }}"></script>
</body>
</html>
Loading

0 comments on commit 263c26f

Please sign in to comment.