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 command, 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
script_dir
Return the caller script directory, independent of current working directory. Also available as oafuncs.script_dir().
find
Find files by pattern.
link
Create symbolic links with wildcard support.
copy
Copy files or directories with wildcard support.
move
Move files or directories with wildcard support.
rename
Rename files by replacing text in filenames.
remove_empty
Remove empty folders recursively.
remove
Delete files or directories by pattern.
size
Return file size in the requested unit.
replace
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
run_command
Run an external command safely without using a shell.
Pex
Parallel executor wrapper with progress and timing. PEx remains as a deprecated compatibility alias.