-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
FIX: Fix unnecessary coordinate reduction for SCRIP in chunked-rwg #497
- Also added some more example scripts - Moved CTSM examples into own directory
- Loading branch information
Showing
5 changed files
with
89 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
import ocgis | ||
|
||
# Path to the file of interest | ||
PATH = "/home/benkoziol/Dropbox/dtmp/ctsm-grids/SCRIPgrid_4x5_nomask_c110308.nc" | ||
# The metadata/IO driver for the data file. | ||
DRIVER="netcdf-scrip" | ||
|
||
# ---------------------------------------------------------------------------------------------------------------------- | ||
|
||
# The request dataset provides metadata for a field. | ||
rd = ocgis.RequestDataset(PATH, driver=DRIVER) | ||
# The field is similar to ESMF Field and provides access to grids, etc. It can also hold multiple data variables. | ||
field = rd.create_field() | ||
# Convert the coordinates into Shapely polygon objects. | ||
print("This is the geometry abstraction that will be used: {}".format(field.grid.abstraction)) | ||
field.set_abstraction_geom() | ||
print("Sending polygons to a shapefile...") | ||
field.geom.write_vector("/tmp/shp_polygon.shp") | ||
|
||
# Can also write the points in another way... | ||
field.grid.abstraction = "point" | ||
points = field.grid.get_abstraction_geometry() | ||
points.write_vector("/tmp/shp_points.shp") | ||
|
42 changes: 42 additions & 0 deletions
42
examples/CTSM-MapData-Workflow/do-chunked-rwg-ctsm-scrip.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
#!/usr/bin/env bash | ||
|
||
# The base or working directory. | ||
WD=~/scratch/ | ||
|
||
# Directory to write all the chunked files to. | ||
CHUNKDIR=${WD}/chunking | ||
|
||
# Path to the source field/grid netCDF file. | ||
SRC="/home/ubuntu/Dropbox/dtmp/ctsm-grids/SCRIPgrid_0.5x0.5_AVHRR_c110228.nc" | ||
SRCTYPE="SCRIP" | ||
SRC_MAXSPATIALRES=0.5 | ||
|
||
# Path to the destination field/grid netCDF file. | ||
DST="/home/ubuntu/Dropbox/dtmp/ctsm-grids/SCRIPgrid_4x5_nomask_c110308.nc" | ||
DSTTYPE="SCRIP" | ||
DST_MAXSPATIALRES=0.5 | ||
|
||
# Chunking composition for the destination grid (n_chunks_y,n_chunks_x). | ||
NCHUNKS_DST=10 | ||
|
||
# Path to the merged output weight file. | ||
WEIGHTS=${WD}/weights.nc | ||
|
||
# The ocli python file or executable target with the subcommand for chunked | ||
# regrid weight generation. | ||
CRWG="ocli chunked-rwg " | ||
#CRWG="python /home/ubuntu/Dropbox/NESII/project/ocg/git/ocgis/src/ocgis/ocli.py chunked-rwg " | ||
|
||
# An optional execution prefix. | ||
EXEC_PREFIX="" | ||
#EXEC_PREFIX="mpirun -n `nproc`" | ||
|
||
############################################################################### | ||
|
||
# Generate the weights using the spatially subset source field and destination | ||
# field. | ||
|
||
${EXEC_PREFIX} ${CRWG} --source ${SRC} --destination ${DST} \ | ||
--esmf_regrid_method CONSERVE --nchunks_dst ${NCHUNKS_DST} --wd ${CHUNKDIR} \ | ||
--weight ${WEIGHTS} --persist --esmf_src_type ${SRCTYPE} --esmf_dst_type ${DSTTYPE} \ | ||
--src_resolution ${SRC_MAXSPATIALRES} --dst_resolution ${DST_MAXSPATIALRES} --verbose |
File renamed without changes.
20 changes: 20 additions & 0 deletions
20
examples/CTSM-MapData-Workflow/get_grid_spatial_resolution.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import ocgis | ||
|
||
# Path to the file of interest | ||
PATH = "/home/benkoziol/Dropbox/dtmp/ctsm-grids/SCRIPgrid_4x5_nomask_c110308.nc" | ||
# The metadata/IO driver for the data file. | ||
DRIVER="netcdf-scrip" | ||
|
||
# The request dataset provides metadata for a field. | ||
rd = ocgis.RequestDataset(PATH, driver=DRIVER) | ||
# The field is similar to ESMF Field and provides access to grids, etc. It can also hold multiple data variables. | ||
field = rd.create_field() | ||
print("Average spatial resolution: {}".format(field.grid.resolution)) | ||
print("Maximum spatial resolution: {}".format(field.grid.resolution_max)) | ||
|
||
#----------------------------------------------------------------------------------------------------------------------- | ||
|
||
print("\nDo a simple data file inspection...") | ||
rd.inspect() | ||
print("\nThis is the OCGIS interpretation of the metadata (can be customized)...") | ||
rd.dimension_map.pprint(as_dict=True) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters