{"id":13686454,"url":"https://github.com/barronh/pseudonetcdf","last_synced_at":"2025-10-21T19:41:06.178Z","repository":{"id":28826938,"uuid":"32350440","full_name":"barronh/pseudonetcdf","owner":"barronh","description":"PseudoNetCDF like NetCDF except for many scientific format backends","archived":false,"fork":false,"pushed_at":"2025-03-26T20:59:52.000Z","size":17660,"stargazers_count":81,"open_issues_count":0,"forks_count":35,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-09-29T03:28:55.774Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barronh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-03-16T20:16:38.000Z","updated_at":"2025-09-08T03:46:36.000Z","dependencies_parsed_at":"2024-01-14T18:04:36.675Z","dependency_job_id":"d012bacc-1e47-41c2-879b-4c031fad9340","html_url":"https://github.com/barronh/pseudonetcdf","commit_stats":{"total_commits":969,"total_committers":12,"mean_commits":80.75,"dds":0.1331269349845201,"last_synced_commit":"a254c8afab0d2486b2b2599676216c31d5893c31"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/barronh/pseudonetcdf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barronh%2Fpseudonetcdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barronh%2Fpseudonetcdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barronh%2Fpseudonetcdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barronh%2Fpseudonetcdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barronh","download_url":"https://codeload.github.com/barronh/pseudonetcdf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barronh%2Fpseudonetcdf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280325249,"owners_count":26311414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T15:00:32.695Z","updated_at":"2025-10-21T19:41:06.131Z","avatar_url":"https://github.com/barronh.png","language":"Python","readme":"# PseudoNetCDF like NetCDF except for many scientific format backends\n\n[![Docs](https://github.com/barronh/pseudonetcdf/actions/workflows/documentation.yml/badge.svg)](https://barronh.github.io/pseudonetcdf)\n[![Tests](https://github.com/barronh/pseudonetcdf/actions/workflows/tests.yml/badge.svg)](https://github.com/barronh/pseudonetcdf/actions/workflows/tests.yml)\n[![Publish](https://github.com/barronh/pseudonetcdf/actions/workflows/python-publish.yml/badge.svg)](https://pypi.org/p/pseudonetcdf)\n\n# Overview\n\nPseudoNetCDF provides read, plot, and sometimes write capabilities for atmospheric science data formats including:\n\n* CAMx (www.camx.org)\n* RACM2 box-model outputs\n* Kinetic Pre-Processor outputs\n* ICARTT Data files (ffi1001)\n* CMAQ Files\n* GEOS-Chem Binary Punch/NetCDF files\n* and many more, for a full list of formats see `pncdump --list-formats`\n\nDocumentation on PseudoNetCDF is available at https://barronh.github.io/pseudonetcdf\n\n# Example code\n\nCode below needs paths and formats filled in. The format should be chosen from \"Current Formats\" below.\nNote that there are many methods for modifying the files. Use `help` on infile to learn more options.\n\n```\nimport PseudoNetCDF as pnc\ninpath = '\u003cpath-to-input\u003e'\noutpath = '\u003cpath-for-output\u003e'\ninfile = pnc.pncopen(inpath, format = '\u003cchoose-format-below\u003e')\n# Print CDL representation - good for learning dimensions, variables, and properties\nprint(infile)\n# Optionally, add dimension slicing\n# infile = infile.sliceDimensions(\u003clayer-dim-name\u003e = 0)\n# infile = infile.applyAlongDimenions(\u003ctime-dim-name\u003e = 'mean')\n# patches = infile.plot('\u003cvarkey\u003e', plottype = 'longitude-latitude')\n# patches.axes.figure.savefig('\u003cpath-for-figure\u003e')\ninfile.save(outpath)\n```\n\n# Example Command Line Interfaces\n\npncdump - like ncdump\npncgen - reads from a file and generates a netcdf file\npncload - read in a file and open a python environment\n\n```\n$ pncdump -f \u003cchoose-format-below\u003e \u003cpath-to-input\u003e\n$ pncgen -f \u003cchoose-format-below\u003e \u003cpath-to-input\u003e \u003cpath-to-output\u003e\n$ pncload -f \u003cchoose-format-below\u003e \u003cpath-to-input\u003e\n```\n\n# Current Formats\n\n| Long Name | Short Name |\n| ----------- | --------- |\n| netcdf | netcdf |\n| aermodfiles.reader | |\n| cmaqfiles.ioapi | ioapi |\n| cmaqfiles.jtable | jtable |\n| epafiles.aqsraw | aqsraw |\n| geoschemfiles.bpch | bpch |\n| geoschemfiles.bpch2 | bpch2 |\n| geoschemfiles.flightlogs | flightlogs |\n| geoschemfiles.geos | geos |\n| noaafiles.arlpackedbit | arlpackedbit |\n| noaafiles.arlconcdump | arlconcdump |\n| noaafiles.arlpackedbit | arlpackedbit |\n| noaafiles.arlpardump | arlpardump |\n| noaafiles.arltrajdump | arltrajdump |\n| textfiles.csv | csv |\n| cmaqfiles.profile.bcon_profile | bcon_profile |\n| cmaqfiles.profile.icon_profile | icon_profile |\n| icarttfiles.ffi1001.ffi1001 | ffi1001 |\n| camxfiles.cloud_rain.Memmap.cloud_rain | cloud_rain |\n| camxfiles.finst.Memmap.finst | finst |\n| camxfiles.height_pressure.Memmap.height_pressure | height_pressure |\n| camxfiles.height_pressure.Read.height_pressure | |\n| camxfiles.humidity.Memmap.humidity | humidity |\n| camxfiles.humidity.Read.humidity | |\n| camxfiles.ipr.Memmap.ipr | ipr |\n| camxfiles.ipr.Read.ipr | |\n| camxfiles.irr.Memmap.irr | irr |\n| camxfiles.irr.Read.irr | |\n| camxfiles.landuse.Memmap.landuse | landuse |\n| camxfiles.lateral_boundary.Memmap.lateral_boundary | lateral_boundary |\n| camxfiles.point_source.Memmap.point_source | point_source |\n| camxfiles.point_source.Read.point_source | |\n| camxfiles.temperature.Memmap.temperature | temperature |\n| camxfiles.temperature.Read.temperature | |\n| camxfiles.uamiv.Memmap.uamiv | uamiv |\n| camxfiles.uamiv.Read.uamiv | |\n| camxfiles.uamiv.Transforms.osat | osat |\n| camxfiles.vertical_diffusivity.Memmap.vertical_diffusivity | vertical_diffusivity |\n| camxfiles.vertical_diffusivity.Read.vertical_diffusivity | |\n| camxfiles.wind.Memmap.wind | wind |\n| camxfiles.wind.Read.wind | |\n\n# More information\n\nLots more available at our [wiki ](http://github.com/barronh/pseudonetcdf/wiki)\n\nTry our:\n  * [Install Instructions](http://github.com/barronh/pseudonetcdf/wiki/Install-Instructions)\n  * [CAMx Tutorials](http://github.com/barronh/pseudonetcdf/wiki/CAMx-Tutorials)\n  * [GEOS-Chem Tutorials](http://github.com/barronh/pseudonetcdf/wiki/GC-Tutorials)\n  * [Recipes](Recipes)\n\n\nQuick tour:\n * [Install](http://github.com/barronh/pseudonetcdf/wiki/Install-Instructions.md):\n  * `pip install https://github.com/barronh/pseudonetcdf/archive/v3.1.0.zip` for the most stable version or \n  * `pip install http://github.com/barronh/pseudonetcdf/archive/master.zip` for the latest.\n * Download example icartt file: e.g., [HOx from INTEX-NA](http://www-air.larc.nasa.gov/cgi-bin/enzFile?c16141B08DF7F1ACFBAD5C83F9313E20C792f7075622d6169722f4152435441532f4443385f41495243524146542f4252554e452e57494c4c49414d2f484f785f4443385f32303038303632365f52312e696374)\n  * `curl -L ftp://ftp-air.larc.nasa.gov/pub/INTEXA/DC8_AIRCRAFT/BRUNE.WILLIAM/HOX_DC8_20040626_R0.ict`\n * Dump an icartt file in CDL: `pncdump -f ffi1001 HOX_DC8_20040626_R0.ict`\n * Create a netcdf from an icartt file: `pncgen -f ffi1001 HOX_DC8_20040626_R0.ict HOX_DC8_20040626_R0.nc`\n","funding_links":[],"categories":["Data Processing/Anslysis"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarronh%2Fpseudonetcdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarronh%2Fpseudonetcdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarronh%2Fpseudonetcdf/lists"}