Skip to content

Instantly share code, notes, and snippets.

@rutj3
Last active March 15, 2018 10:47
Show Gist options
  • Save rutj3/b52e481ad8d36129eb881a03415897c4 to your computer and use it in GitHub Desktop.
Save rutj3/b52e481ad8d36129eb881a03415897c4 to your computer and use it in GitHub Desktop.
satpy_unenhanced_geotiff
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from satpy import Scene, find_files_and_readers, DatasetID\n",
"\n",
"from datetime import datetime, timedelta\n",
"import numpy as np\n",
"import os"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Miniconda3\\envs\\satpy\\lib\\site-packages\\h5py\\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
" from ._conv import register_converters as _register_converters\n"
]
}
],
"source": [
"base_dir = r'D:\\Data\\Sentinel\\Sentinel3\\OLCI'\n",
"\n",
"start_time = datetime(2017,5,27,0,0)\n",
"end_time = start_time + timedelta(days=1)\n",
"\n",
"files = find_files_and_readers(sensor=\"olci\",\n",
" start_time=start_time,\n",
" end_time=end_time,\n",
" base_dir=base_dir,\n",
" reader='nc_olci_l1b')\n",
"\n",
"scn = Scene(filenames=files)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[DEBUG: 2018-03-15 11:35:29 : satpy.readers.yaml_reader] No coordinates found for DatasetID(name='latitude', wavelength=None, resolution=300, polarization=None, calibration=None, modifiers=())\n",
"[DEBUG: 2018-03-15 11:35:29 : satpy.readers.nc_olci] Reading latitude.\n",
"[DEBUG: 2018-03-15 11:35:30 : satpy.readers.nc_olci] Reading latitude.\n",
"[DEBUG: 2018-03-15 11:35:31 : satpy.readers.yaml_reader] No coordinates found for DatasetID(name='longitude', wavelength=None, resolution=300, polarization=None, calibration=None, modifiers=())\n",
"[DEBUG: 2018-03-15 11:35:31 : satpy.readers.nc_olci] Reading longitude.\n",
"[DEBUG: 2018-03-15 11:35:31 : satpy.readers.nc_olci] Reading longitude.\n",
"[DEBUG: 2018-03-15 11:35:32 : satpy.readers.nc_olci] Reading Oa03.\n",
"[DEBUG: 2018-03-15 11:35:33 : satpy.readers.nc_olci] Reading Oa03.\n",
"[DEBUG: 2018-03-15 11:35:34 : satpy.readers.nc_olci] Reading Oa06.\n",
"[DEBUG: 2018-03-15 11:35:36 : satpy.readers.nc_olci] Reading Oa06.\n",
"[DEBUG: 2018-03-15 11:35:37 : satpy.readers.nc_olci] Reading Oa08.\n",
"[DEBUG: 2018-03-15 11:35:38 : satpy.readers.nc_olci] Reading Oa08.\n",
"[DEBUG: 2018-03-15 11:35:39 : satpy.scene] Setting 'PPP_CONFIG_DIR' to 'C:\\Miniconda3\\envs\\satpy\\lib\\site-packages\\satpy\\etc'\n",
"[INFO: 2018-03-15 11:35:39 : satpy.readers] 'filenames' required to create reader objects\n",
"[DEBUG: 2018-03-15 11:35:39 : satpy.scene] Resampling DatasetID(name='Oa03', wavelength=(0.4375, 0.4425, 0.4475), resolution=300, polarization=None, calibration='reflectance', modifiers=())\n",
"[DEBUG: 2018-03-15 11:35:39 : satpy.config] Read config from ['C:\\\\Miniconda3\\\\envs\\\\satpy\\\\lib\\\\site-packages\\\\satpy\\\\etc\\\\satpy.cfg', 'C:\\\\Miniconda3\\\\envs\\\\satpy\\\\lib\\\\site-packages\\\\satpy\\\\etc\\\\satpy.cfg']\n",
"[DEBUG: 2018-03-15 11:35:39 : satpy.resample] Copying source area to mask invalid dataset points\n",
"[DEBUG: 2018-03-15 11:35:40 : satpy.resample] Computing kd-tree hash for area olci_8182_4865_longitude_latitude\n",
"[DEBUG: 2018-03-15 11:35:40 : satpy.resample] Computing kd-tree hash for area Benelux 300m - Small\n",
"[DEBUG: 2018-03-15 11:35:41 : satpy.resample] Projection already saved to D:\\Algemeen\\Pyresample_cache\\d929bd4b209d4a8dc2f1fab8ef6b908ed83d7b0f.npz\n",
"[DEBUG: 2018-03-15 11:35:41 : satpy.resample] Loaded bilinear parameters\n",
"[DEBUG: 2018-03-15 11:35:41 : satpy.scene] Resampling DatasetID(name='Oa06', wavelength=(0.555, 0.56, 0.565), resolution=300, polarization=None, calibration='reflectance', modifiers=())\n",
"[DEBUG: 2018-03-15 11:35:41 : satpy.config] Read config from ['C:\\\\Miniconda3\\\\envs\\\\satpy\\\\lib\\\\site-packages\\\\satpy\\\\etc\\\\satpy.cfg', 'C:\\\\Miniconda3\\\\envs\\\\satpy\\\\lib\\\\site-packages\\\\satpy\\\\etc\\\\satpy.cfg']\n",
"[DEBUG: 2018-03-15 11:35:41 : satpy.resample] Copying source area to mask invalid dataset points\n",
"[DEBUG: 2018-03-15 11:35:41 : satpy.resample] Computing kd-tree hash for area olci_8182_4865_longitude_latitude\n",
"[DEBUG: 2018-03-15 11:35:42 : satpy.resample] Computing kd-tree hash for area Benelux 300m - Small\n",
"[DEBUG: 2018-03-15 11:35:42 : satpy.resample] Projection already saved to D:\\Algemeen\\Pyresample_cache\\d929bd4b209d4a8dc2f1fab8ef6b908ed83d7b0f.npz\n",
"[DEBUG: 2018-03-15 11:35:42 : satpy.resample] Loaded bilinear parameters\n",
"[DEBUG: 2018-03-15 11:35:42 : satpy.scene] Resampling DatasetID(name='Oa08', wavelength=(0.66, 0.665, 0.67), resolution=300, polarization=None, calibration='reflectance', modifiers=())\n",
"[DEBUG: 2018-03-15 11:35:42 : satpy.config] Read config from ['C:\\\\Miniconda3\\\\envs\\\\satpy\\\\lib\\\\site-packages\\\\satpy\\\\etc\\\\satpy.cfg', 'C:\\\\Miniconda3\\\\envs\\\\satpy\\\\lib\\\\site-packages\\\\satpy\\\\etc\\\\satpy.cfg']\n",
"[DEBUG: 2018-03-15 11:35:42 : satpy.resample] Copying source area to mask invalid dataset points\n",
"[DEBUG: 2018-03-15 11:35:43 : satpy.resample] Computing kd-tree hash for area olci_8182_4865_longitude_latitude\n",
"[DEBUG: 2018-03-15 11:35:43 : satpy.resample] Computing kd-tree hash for area Benelux 300m - Small\n",
"[DEBUG: 2018-03-15 11:35:43 : satpy.resample] Projection already saved to D:\\Algemeen\\Pyresample_cache\\d929bd4b209d4a8dc2f1fab8ef6b908ed83d7b0f.npz\n",
"[DEBUG: 2018-03-15 11:35:43 : satpy.resample] Loaded bilinear parameters\n"
]
},
{
"ename": "RuntimeError",
"evalue": "No enhancement configuration files found or specified, cannot automatically enhance dataset",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-3-c4113aa4aaf3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m scn_resampled.save_datasets(file_pattern='{name}_{start_time:%Y%m%d_%H%M%S}.tif', writer='geotiff', \n\u001b[1;32m----> 9\u001b[1;33m floating_point=True, fill_value=np.nan, enhancement_config=False)\n\u001b[0m",
"\u001b[1;32mC:\\Miniconda3\\envs\\satpy\\lib\\site-packages\\satpy\\scene.py\u001b[0m in \u001b[0;36msave_datasets\u001b[1;34m(self, writer, datasets, **kwargs)\u001b[0m\n\u001b[0;32m 670\u001b[0m \u001b[0mdatasets\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatasets\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 671\u001b[0m \u001b[0mwriter\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_writer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mwriter\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 672\u001b[1;33m \u001b[0mwriter\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msave_datasets\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdatasets\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 673\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 674\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_writer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mwriter\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"geotiff\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Miniconda3\\envs\\satpy\\lib\\site-packages\\satpy\\writers\\__init__.py\u001b[0m in \u001b[0;36msave_datasets\u001b[1;34m(self, datasets, **kwargs)\u001b[0m\n\u001b[0;32m 335\u001b[0m \"\"\"\n\u001b[0;32m 336\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mds\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mdatasets\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 337\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msave_dataset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mds\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 338\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 339\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0msave_dataset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdataset\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfilename\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfill_value\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Miniconda3\\envs\\satpy\\lib\\site-packages\\satpy\\writers\\__init__.py\u001b[0m in \u001b[0;36msave_dataset\u001b[1;34m(self, dataset, filename, fill_value, overlay, decorate, **kwargs)\u001b[0m\n\u001b[0;32m 367\u001b[0m \u001b[0mfill_value\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfill_value\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfill_value\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfill_value\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 368\u001b[0m img = get_enhanced_image(\n\u001b[1;32m--> 369\u001b[1;33m dataset, self.enhancer, fill_value, overlay=overlay, decorate=decorate)\n\u001b[0m\u001b[0;32m 370\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msave_image\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimg\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfilename\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 371\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\Miniconda3\\envs\\satpy\\lib\\site-packages\\satpy\\writers\\__init__.py\u001b[0m in \u001b[0;36mget_enhanced_image\u001b[1;34m(dataset, enhancer, fill_value, ppp_config_dir, enhancement_config_file, overlay, decorate)\u001b[0m\n\u001b[0;32m 233\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0menhancer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0menhancement_tree\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 234\u001b[0m raise RuntimeError(\n\u001b[1;32m--> 235\u001b[1;33m \u001b[1;34m\"No enhancement configuration files found or specified, cannot\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 236\u001b[0m \" automatically enhance dataset\")\n\u001b[0;32m 237\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mRuntimeError\u001b[0m: No enhancement configuration files found or specified, cannot automatically enhance dataset"
]
}
],
"source": [
"from satpy.utils import debug_on; debug_on()\n",
"\n",
"scn.load(['Oa03', 'Oa06', 'Oa08'])\n",
" \n",
"scn_resampled = scn.resample('benelux_small_300', resampler='bilinear', nprocs=1, \n",
" cache_dir=r'D:\\Algemeen\\Pyresample_cache')\n",
"\n",
"# PNG works fine\n",
"# scn_resampled.save_datasets(file_pattern='{name}_{start_time:%Y%m%d_%H%M%S}.png') \n",
"\n",
"scn_resampled.save_datasets(file_pattern='{name}_{start_time:%Y%m%d_%H%M%S}.tif', writer='geotiff', \n",
" floating_point=True, fill_value=np.nan, enhancement_config=False)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment