Slicing and aggregating are basic reductions of multi-dimensional data that you should be familiar with to work in this group. Slicing means to take one or many elements of a dimension (e.g., times, layers, rows, columns). Aggregating means to compute a function over more than one element of a dimension. This functionality is part of PseudoNetCDF via the -r and -s options. The -r option stands for reduce, meaning to reduce a dimensionality by aggregation. The -s option stands for slice meaning to select one or several members of a dimensions.
python -m PseudoNetCDF.pncgen -f [-v ] [-r ,] [-s ,[,[,]
-
PseudoNetCDF is a free software for manipulating netcdf and netcdf-like objects
-
is the file format and can be one of many things
-
bpch - GEOS-Chem Binary Punch files
-
geos - GEOS meteorology input files
-
uamiv - CAMx input/output
-
netcdf - a netcdf file
-
ffi1001 - ICARTT file format
-
path to input file
-
path to input file
-
is a dimension name. The available dimensions can be found by running python -m PseudoNetCDF.pncdump
-
any python function
-
a 0-based, inclusive starting index for subsetting a dimension
-
a 0-based, exclusive ending index for subsetting a dimension
-
increment between selections in the slice
-
a comma separated list of variables to extract
Example Usage
Surface Layer
Command:
pncgen -f bpch -v IJ-AVG-\$_Ox -s layer47,0 -r time,mean ctm.bpch sample_surface_geos_chem_output.nc
Explanation:
Selects the Odd-Oxygen variable (IJ-AVG-\$_Ox) from GEOS-Chem file (-f bpch; ctm.bpch); selects the first layer (-s layer47,0); arithmetically averages across time (-r time,mean). This produces a average value for each latitudinal bin.
Notes:
Slicing always happens before aggregation.
Zonal Averaging
Command:
python -m PseudoNetCDF.pncgen -f bpch -v IJ-AVG-\$_Ox,layer48 -r longitude,mean -r time,mean ctm.bpch sample_zonal_geos_chem_output.nc
Explanation:
Selects the Odd-Oxygen and layer48 variables (IJ-AVG-\$_Ox,layer48) from GEOS-Chem file (-f bpch; ctm.bpch); arithmetically averages across the longitude (-r longitude,mean) and time (-r time,mean). This produces a average value for each latitudinal bin.
Notes:
Multiple slices or aggregations are specified by repeating the flag. Each function is applied serially.
|