OAFuncs provides utilities for NetCDF files, geoscience arrays, plotting, geographic masks, downloads, file operations, model data, and small workflow tools.
Installation
pipinstalloafuncs
Optional dependency groups:
data, interp, nc, draw, geo, down, office, parallel, sign, science, all, full
Package Structure
oafuncs
|-- oa_nc.py NetCDF utilities
|-- oa_data.py data interpolation helpers
|-- oa_geo.py geographic and land/ocean mask helpers
|-- oa_draw.py plotting helpers
|-- oa_cmap.py colormap helpers
|-- oa_file.py file operation helpers
|-- oa_date.py date and timing helpers
|-- oa_down/ download helpers
|-- oa_model/ ROMS and WRF helpers
|-- oa_linux.py Linux, HPC, and Slurm helpers
|-- oa_office.py Office document helpers
|-- oa_sign/ website sign-in helpers
`-- oa_tool.py progress bar, email, and parallel helpers
Public API
oa_nc
Function
Purpose
save
Write arrays, DataArrays, or Datasets to NetCDF.
merge
Merge multiple NetCDF files.
modify
Modify a variable value or variable attribute.
rename
Rename a NetCDF variable or dimension.
check
Check whether a NetCDF file is readable.
convert_longitude
Convert longitude coordinates between [-180, 180] and [0, 360].
isel
Select NetCDF data by dimension indices.
draw
Plot variables from a NetCDF file or xarray object.
compress
Apply NetCDF compression.
unscale
Decode and remove scale_factor / add_offset storage encoding.
oa_data
Function
Purpose
ensure_list
Convert a value to a list.
interp_vertical
Interpolate along the fixed z axis in [t, z, y, x] order.
interp_horizontal
Interpolate horizontal fields over the fixed y, x axes.
oa_geo
Function
Purpose
earth_distance
Calculate great-circle distance between two lon/lat points.
mask_shapefile
Mask a 2D field using a shapefile.
mask_land_ocean
Keep land or ocean values using a land/ocean mask.
is_land
Check whether a lon/lat point is on land.
is_ocean
Check whether a lon/lat point is in the ocean.
oa_draw
Function
Purpose
fig_minus
Format minus signs in axis or colorbar tick labels.
gif
Create a GIF from image files.
movie
Create a video from image files.
setup_map
Configure a Cartopy map.
ticks_symmetric
Generate ticks symmetric around a center value.
font_CN
Configure Chinese font support for Matplotlib.
oa_cmap
Function
Purpose
show
Preview a colormap.
to_color
Convert a colormap to a list of colors.
create
Create a custom colormap from colors or an RGB text file.
get
Load a Matplotlib or custom colormap.
random_color
Generate a random hex color.
oa_file
Function
Purpose
find_file
Find files by pattern.
link_file
Create symbolic links with wildcard support.
copy_file
Copy files or directories with wildcard support.
move_file
Move files or directories with wildcard support.
rename_file
Rename files by replacing text in filenames.
remove_empty_folder
Remove empty folders recursively.
remove
Delete files or directories by pattern.
file_size
Return file size in the requested unit.
replace_content
Replace text content and save the result.
oa_date
Function / Class
Purpose
month_days
Return the number of days in a month.
hour_range
Generate datetime strings at an hourly interval.
adjust_time
Offset a base time by a time delta.
timeit
Decorator class for timing function execution.
oa_down
Function
Purpose
download
Download HYCOM data for one time or a time range.
draw_time_range
Draw the available HYCOM time range.
download5doi
Download literature files from DOI lists.
downloader
Send a download task to Internet Download Manager.
get_ua
Return a random user-agent string.
oa_model
Function
Purpose
interp
Interpolate and remap ROMS data to target lon/lat/depth grids.
header_record
Build a WRF little_r header record.
data_record
Build a WRF little_r data record.
ending_record
Build a WRF little_r ending record.
tail_record
Build a WRF little_r tail record.
oa_linux
Function
Purpose
patch_slurm
Update selected #SBATCH directives in a Slurm script.
submit
Submit a Slurm job with queue-aware retry logic.
job_state
Query Slurm job state.
is_linux
Check whether the current system is Linux.
get_jobid
Find a Slurm job ID by path or job name.
oa_office
Function
Purpose
extract_pptx_notes
Extract PowerPoint notes to a Word document.
oa_sign
Function
Purpose
sign_in_love_ocean
Sign in to 52ocean.
sign_in_meteorological_home
Sign in to Meteorological Home.
sign_in_scientific_research
Sign in to AbleSci.
oa_tool
Function / Class
Purpose
Pex
Parallel executor wrapper with progress and timing. PEx remains as a deprecated compatibility alias.