Polymer大气校正常见问题

本文介绍了如何下载和安装Polymer开源代码,以及在Linux系统下通过Anaconda配置环境。在运行过程中可能遇到的错误包括安装gcc、缺失的库、NASA数据下载问题等。解决方法包括安装必要库,生成配置文件以顺利登录并下载NASA辅助数据。
摘要由CSDN通过智能技术生成

1.下载Polymer开源代码

GitHub:

GitHub - hygeos/polymer: Polymer atmospheric correctionicon-default.png?t=O83Ahttps://github.com/hygeos/polymer?tab=readme-ov-file官网:

HYGEOS - polymericon-default.png?t=O83Ahttps://www.hygeos.com/polymer

2.安装及环境配置

需要安装虚拟机 Ubuntu 和 anaconda,ctrl+alt+T可以打开终端界面,右击也可进入终端。

安装anaconda:

bash Anaconda3-2024.06-1-Linux-x86_64.sh

在安装好的conda文件夹下打开终端,创建一个新的环境:

conda create -n polymer python=3.8.18(需要的版本号)

查看拥有的环境:

conda env list

进入环境:

conda activate polymer

安装库:

conda install numpy==1.18.5
conda install numpy

也可以一键安装,会出现各种问题,不好用!

  conda create -n polymer -c conda-forge mamba
  conda activate polymer
  mamba env update -f environment.yml

conda install xx 失败可以试一下

pip install xx

在环境下查看所包含的库:

conda list

在Linux终端输入jupyter notebook,进入网页进行编译,将虚拟环境添加进去(新建文件的时候选择配置好的虚拟环境)。

 #查看虚拟环境
conda list #查看包含的库

Linux-Anaconda安装和虚拟环境配置 - 知乎 (zhihu.com)icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/440548295

3.运行常见错误

①安装gcc:(终端输入)

sudo apt-get install gcc

②安装需要的库:

进入环境   输入 conda install xxx
  • python 3.8.18
  • scipy 1.10.1
  • xarray 2023.1.0
  • cython 3.0.7
  • pyhdf 0.11.3
  • netcdf4 1.6.4
  • python-dateutil 2.8.2
  • pyepr 1.1.5
  • gdal 3.7.0
  • cdsapi 0.6.1
  • pygrib 2.1.5
  • bioconda::ecmwfapi 1.4.1
  • xlrd 1.2.0
  • glymur 0.12.9.post1
  • pyproj 3.5.0
  • lxml 4.9.3
  • pytest 7.4.4
  • pytest-html 4.1.1
  • pytest-xdist 3.5.0
  • matplotlib 3.7.3
  • h5py 3.9.0

论坛中提到的完整软件包列表:

Name                       Version       Build                   Channel
────────────────────────────────────────────────────────────────────────────────
  _libgcc_mutex              0.1           conda_forge             conda-forge
  _openmp_mutex              4.5           2_gnu                   conda-forge
  alsa-lib                   1.2.9         hd590300_0              conda-forge
  attr                       2.5.1         h166bdaf_1              conda-forge
  blosc                      1.21.5        h0f2a231_0              conda-forge
  boost-cpp                  1.78.0        h6582d0a_3              conda-forge
  brotli                     1.1.0         hd590300_1              conda-forge
  brotli-bin                 1.1.0         hd590300_1              conda-forge
  brotli-python              1.1.0         py38h17151c0_1          conda-forge
  bzip2                      1.0.8         hd590300_5              conda-forge
  c-ares                     1.25.0        hd590300_0              conda-forge
  ca-certificates            2023.11.17    hbcca054_0              conda-forge
  cached-property            1.5.2         hd8ed1ab_1              conda-forge
  cached_property            1.5.2         pyha770c72_1            conda-forge
  cairo                      1.16.0        hbbf8b49_1016           conda-forge
  cdsapi                     0.6.1         pyhd8ed1ab_0            conda-forge
  certifi                    2023.11.17    pyhd8ed1ab_0            conda-forge
  cfitsio                    4.2.0         hd9d235c_0              conda-forge
  cftime                     1.6.3         py38h7f0c24c_0          conda-forge
  charset-normalizer         3.3.2         pyhd8ed1ab_0            conda-forge
  colorama                   0.4.6         pyhd8ed1ab_0            conda-forge
  contourpy                  1.1.1         py38h7f3f72f_1          conda-forge
  curl                       8.4.0         hca28451_0              conda-forge
  cycler                     0.12.1        pyhd8ed1ab_0            conda-forge
  cython                     3.0.7         py38h17151c0_0          conda-forge
  dbus                       1.13.6        h5008d03_3              conda-forge
  eccodes                    2.30.2        h1f30a5c_0              conda-forge
  ecmwfapi                   1.4.1         py_2                    bioconda
  exceptiongroup             1.2.0         pyhd8ed1ab_2            conda-forge
  execnet                    2.0.2         pyhd8ed1ab_0            conda-forge
  expat                      2.5.0         hcb278e6_1              conda-forge
  font-ttf-dejavu-sans-mono  2.37          hab24e00_0              conda-forge
  font-ttf-inconsolata       3.000         h77eed37_0              conda-forge
  font-ttf-source-code-pro   2.038         h77eed37_0              conda-forge
  font-ttf-ubuntu            0.83          h77eed37_1              conda-forge
  fontconfig                 2.14.2        h14ed4e7_0              conda-forge
  fonts-conda-ecosystem      1             0                       conda-forge
  fonts-conda-forge          1             0                       conda-forge
  fonttools                  4.47.2        py38h01eb140_0          conda-forge
  freeglut                   3.2.2         hac7e632_2              conda-forge
  freetype                   2.12.1        h267a509_2              conda-forge
  freexl                     1.0.6         h166bdaf_1              conda-forge
  gdal                       3.7.0         py38ha708418_1          conda-forge
  geos                       3.11.2        hcb278e6_0              conda-forge
  geotiff                    1.7.1         h480ec47_8              conda-forge
  gettext                    0.21.1        h27087fc_0              conda-forge
  giflib                     5.2.1         h0b41bf4_3              conda-forge
  glib                       2.78.1        hfc55251_0              conda-forge
  glib-tools                 2.78.1        hfc55251_0              conda-forge
  glymur                     0.12.9.post1  pyhd8ed1ab_0            conda-forge
  graphite2                  1.3.13        h58526e2_1001           conda-forge
  gst-plugins-base           1.22.5        hf7dbed1_0              conda-forge
  gstreamer                  1.22.5        h98fc4e7_0              conda-forge
  h5py                       3.9.0         nompi_py38h89e2d6c_100  conda-forge
  harfbuzz                   7.3.0         hdb3a94d_0              conda-forge
  hdf4                       4.2.15        h501b40f_6              conda-forge
  hdf5                       1.14.0        nompi_hb72d44e_103      conda-forge
  icu                        72.1          hcb278e6_0              conda-forge
  idna                       3.6           pyhd8ed1ab_0            conda-forge
  importlib-resources        6.1.1         pyhd8ed1ab_0            conda-forge
  importlib_resources        6.1.1         pyhd8ed1ab_0            conda-forge
  iniconfig                  2.0.0         pyhd8ed1ab_0            conda-forge
  jasper                     4.0.0         h32699f2_1              conda-forge
  jinja2                     3.1.3         pyhd8ed1ab_0            conda-forge
  json-c                     0.16          hc379101_0              conda-forge
  kealib                     1.5.1         h3845be2_3              conda-forge
  keyutils                   1.6.1         h166bdaf_0              conda-forge
  kiwisolver                 1.4.5         py38h7f3f72f_1          conda-forge
  krb5                       1.21.2        h659d440_0              conda-forge
  lame                       3.100         h166bdaf_1003           conda-forge
  lcms2                      2.15          haa2dc70_1              conda-forge
  ld_impl_linux-64           2.40          h41732ed_0              conda-forge
  lerc                       4.0.0         h27087fc_0              conda-forge
  libaec                     1.1.2         h59595ed_1              conda-forge
  libarchive                 3.6.2         h039dbb9_1              conda-forge
  libblas                    3.9.0         21_linux64_openblas     conda-forge
  libbrotlicommon            1.1.0         hd590300_1              conda-forge
  libbrotlidec               1.1.0         hd590300_1              conda-forge
  libbrotlienc               1.1.0         hd590300_1              conda-forge
  libcap                     2.69          h0f662aa_0              conda-forge
  libcblas                   3.9.0         21_linux64_openblas     conda-forge
  libclang                   15.0.7        default_hb11cfb5_4      conda-forge
  libclang13                 15.0.7        default_ha2b6cf4_4      conda-forge
  libcups                    2.3.3         h4637d8d_4              conda-forge
  libcurl                    8.4.0         hca28451_0              conda-forge
  libdeflate                 1.18          h0b41bf4_0              conda-forge
  libedit                    3.1.20191231  he28a2e2_2              conda-forge
  libev                      4.33          hd590300_2              conda-forge
  libevent                   2.1.12        hf998b51_1              conda-forge
  libexpat                   2.5.0         hcb278e6_1              conda-forge
  libffi                     3.4.2         h7f98852_5              conda-forge
  libflac                    1.4.3         h59595ed_0              conda-forge
  libgcc-ng                  13.2.0        h807b86a_3              conda-forge
  libgcrypt                  1.10.3        hd590300_0              conda-forge
  libgdal                    3.7.0         h9f4e061_1              conda-forge
  libgfortran-ng             13.2.0        h69a702a_3              conda-forge
  libgfortran5               13.2.0        ha4646dd_3              conda-forge
  libglib                    2.78.1        hebfc3b9_0              conda-forge
  libglu                     9.0.0         hac7e632_1003           conda-forge
  libgomp                    13.2.0        h807b86a_3              conda-forge
  libgpg-error               1.47          h71f35ed_0              conda-forge
  libiconv                   1.17          hd590300_2              conda-forge
  libjpeg-turbo              2.1.5.1       hd590300_1              conda-forge
  libkml                     1.3.0         h01aab08_1016           conda-forge
  liblapack                  3.9.0         21_linux64_openblas     conda-forge
  libllvm15                  15.0.7        h5cf9203_3              conda-forge
  libnetcdf                  4.9.2         nompi_h0f3d0bb_105      conda-forge
  libnghttp2                 1.58.0        h47da74e_0              conda-forge
  libnsl                     2.0.1         hd590300_0              conda-forge
  libogg                     1.3.4         h7f98852_1              conda-forge
  libopenblas                0.3.26        pthreads_h413a1c8_0     conda-forge
  libopus                    1.3.1         h7f98852_1              conda-forge
  libpng                     1.6.39        h753d276_0              conda-forge
  libpq                      15.4          hfc447b1_2              conda-forge
  librttopo                  1.1.0         h0d5128d_13             conda-forge
  libsndfile                 1.2.2         hc60ed4a_1              conda-forge
  libspatialite              5.0.1         hb46c372_26             conda-forge
  libsqlite                  3.44.2        h2797004_0              conda-forge
  libssh2                    1.11.0        h0841786_0              conda-forge
  libstdcxx-ng               13.2.0        h7e041cc_3              conda-forge
  libsystemd0                255           h3516f8a_0              conda-forge
  libtiff                    4.5.1         h8b53f26_1              conda-forge
  libuuid                    2.38.1        h0b41bf4_0              conda-forge
  libvorbis                  1.3.7         h9c3ff4c_0              conda-forge
  libwebp-base               1.3.2         hd590300_0              conda-forge
  libxcb                     1.15          h0b41bf4_0              conda-forge
  libxkbcommon               1.6.0         h5d7e998_0              conda-forge
  libxml2                    2.11.5        h0d562d8_0              conda-forge
  libxslt                    1.1.37        h0054252_1              conda-forge
  libzip                     1.10.1        h2629f0a_3              conda-forge
  libzlib                    1.2.13        hd590300_5              conda-forge
  lxml                       4.9.3         py38h0ef1326_1          conda-forge
  lz4-c                      1.9.4         hcb278e6_0              conda-forge
  lzo                        2.10          h516909a_1000           conda-forge
  markupsafe                 2.1.4         py38h01eb140_0          conda-forge
  matplotlib                 3.7.3         py38h578d9bd_0          conda-forge
  matplotlib-base            3.7.3         py38h58ed7fa_0          conda-forge
  mpg123                     1.32.4        h59595ed_0              conda-forge
  munkres                    1.1.4         pyh9f0ad1d_0            conda-forge
  mysql-common               8.0.33        hf1915f5_6              conda-forge
  mysql-libs                 8.0.33        hca2cd23_6              conda-forge
  ncurses                    6.4           h59595ed_2              conda-forge
  netcdf4                    1.6.4         nompi_py38hdfa7aa7_100  conda-forge
  nomkl                      1.0           h5ca1d4c_0              conda-forge
  nspr                       4.35          h27087fc_0              conda-forge
  nss                        3.97          h1d7d5a4_0              conda-forge
  numexpr                    2.8.4         py38hb2af0cf_101        conda-forge
  numpy                      1.24.4        py38h59b608b_0          conda-forge
  openjpeg                   2.5.0         hfec8fc6_2              conda-forge
  openssl                    3.1.4         hd590300_0              conda-forge
  packaging                  23.2          pyhd8ed1ab_0            conda-forge
  pandas                     1.5.3         py38hdc8b05c_1          conda-forge
  pcre2                      10.40         hc3806b6_0              conda-forge
  pillow                     10.0.0        py38h885162f_0          conda-forge
  pip                        23.3.2        pyhd8ed1ab_0            conda-forge
  pixman                     0.43.0        h59595ed_0              conda-forge
  platformdirs               4.1.0         pyhd8ed1ab_0            conda-forge
  pluggy                     1.3.0         pyhd8ed1ab_0            conda-forge
  ply                        3.11          py_1                    conda-forge
  pooch                      1.8.0         pyhd8ed1ab_0            conda-forge
  poppler                    23.05.0       hd18248d_1              conda-forge
  poppler-data               0.4.12        hd8ed1ab_0              conda-forge
  postgresql                 15.4          h8972f4a_2              conda-forge
  proj                       9.2.0         h8ffa02c_0              conda-forge
  pthread-stubs              0.4           h36c2ea0_1001           conda-forge
  pulseaudio-client          16.1          hb77b528_5              conda-forge
  pyepr                      1.1.5         py38h01eb140_0          conda-forge
  pygrib                     2.1.5         py38h014c87c_1          conda-forge
  pyhdf                      0.11.3        py38h3d0ad98_2          conda-forge
  pyparsing                  3.1.1         pyhd8ed1ab_0            conda-forge
  pyproj                     3.5.0         py38h2f62729_1          conda-forge
  pyqt                       5.15.9        py38hffdaa6c_5          conda-forge
  pyqt5-sip                  12.12.2       py38h17151c0_5          conda-forge
  pysocks                    1.7.1         pyha2e5f31_6            conda-forge
  pytest                     7.4.4         pyhd8ed1ab_0            conda-forge
  pytest-html                4.1.1         pyhd8ed1ab_0            conda-forge
  pytest-metadata            3.0.0         pyhd8ed1ab_1            conda-forge
  pytest-xdist               3.5.0         pyhd8ed1ab_0            conda-forge
  python                     3.8.18        hd12c33a_0_cpython      conda-forge
  python-dateutil            2.8.2         pyhd8ed1ab_0            conda-forge
  python_abi                 3.8           4_cp38                  conda-forge
  pytz                       2023.3.post1  pyhd8ed1ab_0            conda-forge
  qt-main                    5.15.8        h7fe3ca9_15             conda-forge
  readline                   8.2           h8228510_1              conda-forge
  requests                   2.31.0        pyhd8ed1ab_0            conda-forge
  scipy                      1.10.1        py38h59b608b_3          conda-forge
  setuptools                 69.0.3        pyhd8ed1ab_0            conda-forge
  sip                        6.7.12        py38h17151c0_0          conda-forge
  six                        1.16.0        pyh6c4a22f_0            conda-forge
  snappy                     1.1.10        h9fff704_0              conda-forge
  sqlite                     3.44.2        h2c6b66d_0              conda-forge
  tiledb                     2.13.2        hd532e3d_0              conda-forge
  tk                         8.6.13        noxft_h4845f30_101      conda-forge
  toml                       0.10.2        pyhd8ed1ab_0            conda-forge
  tomli                      2.0.1         pyhd8ed1ab_0            conda-forge
  tornado                    6.3.3         py38h01eb140_1          conda-forge
  tqdm                       4.66.1        pyhd8ed1ab_0            conda-forge
  tzcode                     2023d         h3f72095_0              conda-forge
  tzdata                     2023d         h0c530f3_0              conda-forge
  unicodedata2               15.1.0        py38h01eb140_0          conda-forge
  uriparser                  0.9.7         hcb278e6_1              conda-forge
  urllib3                    2.1.0         pyhd8ed1ab_0            conda-forge
  wheel                      0.42.0        pyhd8ed1ab_0            conda-forge
  xarray                     2023.1.0      pyhd8ed1ab_0            conda-forge
  xcb-util                   0.4.0         hd590300_1              conda-forge
  xcb-util-image             0.4.0         h8ee46fc_1              conda-forge
  xcb-util-keysyms           0.4.0         h8ee46fc_1              conda-forge
  xcb-util-renderutil        0.3.9         hd590300_1              conda-forge
  xcb-util-wm                0.4.1         h8ee46fc_1              conda-forge
  xerces-c                   3.2.4         h8d71039_2              conda-forge
  xkeyboard-config           2.40          hd590300_0              conda-forge
  xlrd                       1.2.0         pyh9f0ad1d_1            conda-forge
  xorg-fixesproto            5.0           h7f98852_1002           conda-forge
  xorg-inputproto            2.3.2         h7f98852_1002           conda-forge
  xorg-kbproto               1.0.7         h7f98852_1002           conda-forge
  xorg-libice                1.1.1         hd590300_0              conda-forge
  xorg-libsm                 1.2.4         h7391055_0              conda-forge
  xorg-libx11                1.8.7         h8ee46fc_0              conda-forge
  xorg-libxau                1.0.11        hd590300_0              conda-forge
  xorg-libxdmcp              1.1.3         h7f98852_0              conda-forge
  xorg-libxext               1.3.4         h0b41bf4_2              conda-forge
  xorg-libxfixes             5.0.3         h7f98852_1004           conda-forge
  xorg-libxi                 1.7.10        h7f98852_0              conda-forge
  xorg-libxrender            0.9.11        hd590300_0              conda-forge
  xorg-renderproto           0.11.1        h7f98852_1002           conda-forge
  xorg-xextproto             7.3.0         h0b41bf4_1003           conda-forge
  xorg-xf86vidmodeproto      2.3.1         h7f98852_1002           conda-forge
  xorg-xproto                7.0.31        h7f98852_1007           conda-forge
  xz                         5.2.6         h166bdaf_0              conda-forge
  zipp                       3.17.0        pyhd8ed1ab_0            conda-forge
  zlib                       1.2.13        hd590300_5              conda-forge
  zstd                       1.5.5         hfc55251_0              conda-forge

检查一下有没有这些必备的库,安不上库看这里:

Linux anaconda 装库指南_linux anaconda 安装库-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/full_adder/article/details/116991307③别忘了make一下(README有写)

在包含 makefile 的目录的终端直接输入make

还需创建一下文件夹

make ancillary

④下载NASA辅助数据,只定义了.netrc文件运行还是不成功,根据下面代码再生成另外两个文件(.dodsrc和.urs_cookies)就可以正常登录下载了,建议使用代码自动生成。

sudo apt install make
make auxdata_all

运行代码自动生成配置文件:(成功运行后找不到就是被隐藏了,看看文件夹)

from subprocess import Popen
from getpass import getpass
import platform
import os
import shutil

urs = 'urs.earthdata.nasa.gov'    # Earthdata URL to call for authentication
prompts = ['Enter NASA Earthdata Login Username \n(or create an account at urs.earthdata.nasa.gov): ',
           'Enter NASA Earthdata Login Password: ']

homeDir = os.path.expanduser("~") + os.sep

with open(homeDir + '.netrc', 'w') as file:
    file.write('machine {} login {} password {}'.format(urs, getpass(prompt=prompts[0]), getpass(prompt=prompts[1])))
    file.close()
with open(homeDir + '.urs_cookies', 'w') as file:
    file.write('')
    file.close()
with open(homeDir + '.dodsrc', 'w') as file:
    file.write('HTTP.COOKIEJAR={}.urs_cookies\n'.format(homeDir))
    file.write('HTTP.NETRC={}.netrc'.format(homeDir))
    file.close()

print('Saved .netrc, .urs_cookies, and .dodsrc to:', homeDir)

# Set appropriate permissions for Linux/macOS
if platform.system() != "Windows":
    Popen('chmod og-rw ~/.netrc', shell=True)
else:
    # Copy dodsrc to working directory in Windows  
    shutil.copy2(homeDir + '.dodsrc', os.getcwd())
    print('Copied .dodsrc to:', os.getcwd())

参考网站:

GES DISC How-To's: How to Generate Earthdata Prerequisite Files (nasa.gov)icon-default.png?t=O83Ahttps://disc.gsfc.nasa.gov/information/howto?title=How%20to%20Generate%20Earthdata%20Prerequisite%20Files

4.jupyter notebook

4.1 首先确保已激活新创建的环境并进入环境
conda activate polymer
4.2 为当前环境安装ipykernel
conda install ipykernel
4.3 将环境添加到jupyter notebook
python -m ipykernel install --user --name polymer --display-name polymer
4.4 打开jupyter notebook

在polymer文件夹下打开终端输入jupyter notebook

在 Jupyter Notebook 中,打开或创建一个新的 Notebook 文件。点击右上角的内核选项(通常显示为 “Python 3” 或其他),选择你刚刚添加的内核。

5.处理OLCI代码:

参考博主的

Polymer大气校正环境配置-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/mrzhy1/article/details/110826116

import os 
import sys
import time
import datetime
import traceback
from subprocess import call
sys.path.append('/home/wangqw/polymer-master')
from polymer.main import run_atm_corr
from polymer.level1 import Level1
from polymer.level2 import Level2
from polymer.level2_hdf import Level2_HDF
from polymer.level2_nc import Level2_NETCDF
from polymer.level1_nasa import Level1_NASA
from polymer.level1_olci import Level1_OLCI
from polymer.ancillary import Ancillary_NASA
 
 
def Process_OLCI(inputFile,outputFile):
    run_atm_corr(Level1_OLCI(inputFile,ancillary=Ancillary_NASA()),
    Level2_NETCDF(filename=outputFile),
    calib=None,
    bands_corr=[412,443,490,510,560,620,665,754,779,865],
    bands_oc=[412,443,490,510,560,620,665,754,779,865],
    bands_rw=[400,412,443,490,510,560,620,665,674,681,709,754,779,865,885,1020])
 
 
#--------------------------------------------------------------
#需要更改的变量
inputFilePath='/media/wangqw/DATA/mexico/OLCI/OLCI-B-L1-matchtime/'
outputDir='/media/wangqw/DATA/mexico/OLCI/OLCI-B-polymer'
#--------------------------------------------------------------
 
inputFilePathList=[]
outputFilePathList=[]
 
fileList1=os.listdir(inputFilePath)
for fl1 in fileList1:
    outputFilePath=outputDir+fl1+'_Polymer.nc'
    if os.path.exists(outputFilePath):
        continue
    else:
        outputFilePathList.append(outputFilePath)
        filePath2=inputFilePath+fl1
        fileList2=os.listdir(filePath2)
        filepath3=filePath2+'/'+fileList2[0]
        inputFilePathList.append(filepath3)
 
 
for ifpl,ofpl in zip(inputFilePathList,outputFilePathList):
    try:
        print('开始处理-----------'+str(datetime.datetime.now()))
        print(ifpl)
        Process_OLCI(ifpl,ofpl)
        print('处理结束-----------'+str(datetime.datetime.now()))
        time.sleep(5)
        print('\n\n')
        
    except Exception as e:
        print(f'{ifpl} 处理失败')
        print(f'错误详情: {str(e)}')
        traceback.print_exc()
        continue

处理MERIS代码:

import os 
import sys
import time
import datetime
import traceback
from subprocess import call
sys.path.append('/home/wangqw/polymer-master')
from polymer.main import run_atm_corr
from polymer.level1 import Level1
from polymer.level2 import Level2
from polymer.level2_hdf import Level2_HDF
from polymer.level2_nc import Level2_NETCDF
from polymer.level1_nasa import Level1_NASA
from polymer.level1_meris import Level1_MERIS
from polymer.ancillary import Ancillary_NASA
 
 
def Process_OLCI(inputFile,outputFile):
    run_atm_corr(Level1_MERIS(inputFile,ancillary=Ancillary_NASA()),
    Level2_NETCDF(filename=outputFile),
    calib=None,
    bands_corr=[412,443,490,510,560,620,665,754,779,865],
    bands_oc=[412,443,490,510,560,620,665,754,779,865],
    bands_rw=[412,443,490,510,560,620,665,681,709,754,779,865])
 
 
#--------------------------------------------------------------
#需要更改的变量
inputFilePath='/media/wangqw/DATA/mexico/MERIS/MERIS-L1-matchtime/'
outputDir='/media/wangqw/DATA/mexico/MERIS/MERIS-polymer/'
#--------------------------------------------------------------
 
inputFilePathList=[]
outputFilePathList=[]
 
fileList1=os.listdir(inputFilePath)
for fl1 in fileList1:
    outputFilePath=outputDir+fl1+'_Polymer.nc'
    if os.path.exists(outputFilePath):
        continue
    else:
        outputFilePathList.append(outputFilePath)
        filePath2=inputFilePath+fl1
        fileList2=os.listdir(filePath2)
        filepath3=filePath2+'/'+fileList2[0]
        inputFilePathList.append(filepath3)
 
 
for ifpl,ofpl in zip(inputFilePathList,outputFilePathList):
    try:
        print('开始处理-----------'+str(datetime.datetime.now()))
        print(ifpl)
        Process_OLCI(ifpl,ofpl)
        print('处理结束-----------'+str(datetime.datetime.now()))
        time.sleep(5)
        print('\n\n')
        
    except Exception as e:
        print(f'{ifpl} 处理失败')
        print(f'错误详情: {str(e)}')
        traceback.print_exc()
        continue

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值