使用 subprogram 可以将复杂计算过程拆分成若干小过程，有利于构建清晰的代 码结构和实现代码复用和封装。本章将介绍两种 Fortran 编程中最为常用的两种 subprogram 形式：函数（function）和子程序（subroutine）。
This post discusses how to change the tick label texts of an axis in a **matplotlib** plot, while preserving the axis offset.
Some basic netCDF data reading, creating and saving are covered in this chapter of the CDAT tutorial series.
This is the start of a CDAT tutorial series. We will be installing a "lite" version of the CDAT in Linux via conda.
The Ramer-Douglas-Peucker (RDP) algorithm is a curve simplification method. To apply it on coordinates defined by latitudes/longitudes, we need to replace the Cartesian geometry with a spherical one.
It is a common practice to use `git` to back-up and sync ones "dotfiles". I also create Python script to help automate this process.
A Python script that "scans through" a collection of local git repositories and generates a report for me.
A toy Python script that converts an image into a spiral curve art.
The convolution functions in `scipy` do not work well with missing data. We create a 2D convolution function that allows a controllable tolerance to missing values. It is first implemented in Fortran, then using `scipy` in an FFT approach.
Peak prominence can be used to identify relatively organized regional maxima while filtering out local disturbances.