0

I have following block of code:

i want to use ICCLIM (Indice Calculation CLIMate) is a Python library To calculate some indices

how to solve this problem ??

files = ['tasmax_day_CNRM-CM5_historical_r1i1p1_19950101-19991231.nc', 'tasmax_day_CNRM-CM5_historical_r1i1p1_20000101-20041231.nc', 'tasmax_day_CNRM-CM5_historical_r1i1p1_20050101-20051231.nc']
    
dt1 = datetime.datetime(1998,1,1)
dt2 = datetime.datetime(2005,12,31)

out_f ='SU_JJA_CNRM-CM5_historical_r1i1p1_1998-2005.nc' # OUTPUT FILE: summer season values of SU

icclim.index(index_name='SU', in_files=files, var_name='tasmax', time_range=[dt1, dt2], slice_mode='JJA', out_file=out_f)
dt1 = datetime.datetime(1998,1,1)
dt2 = datetime.datetime(2005,12,31)

out_f = 'SU_JJA_CNRM-CM5_historical_r1i1p1_1998-2005.nc' # OUTPUT FILE: summer season values of SU
icclim.index(index_name='SU', in_files=files, var_name='tasmax', time_range=[dt1, dt2], slice_mode='JJA', out_file=out_f)

and the import list is

import numpy
import cython
import netcdftime
import cftime
import netCDF4
import sys
import glob
import os
import datetime
import dask
from netCDF4 import Dataset
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import xarray 
import nc_time_axis
import logging
import pytest
import setuptools
import xclim
import icclim

we i run the code the error keep show here is the error

AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_2572/579676545.py in <module>
      2 dt2 = datetime.datetime(1986,12,31)
      3 
----> 4 icclim.index(index_name='CD', in_files='C:/Users/Dana/Desktop/icclim/pr_year_1986.nc',time_range=[dt1, dt2], var_name='pr', slice_mode='year', out_file='C:/Users/Dana/Desktop/icclim/new_pr_year_1986.nc')

C:\ProgramData\Anaconda\lib\site-packages\icclim\main.py in index(in_files, var_name, index_name, slice_mode, time_range, out_file, threshold, transfer_limit_Mbytes, callback, callback_percentage_start_value, callback_percentage_total, base_period_time_range, window_width, only_leap_years, ignore_Feb29th, interpolation, out_unit, netcdf_version, user_index, save_percentile, logs_verbosity, indice_name, user_indice)
    127     log.set_verbosity(logs_verbosity)
    128 
--> 129     log.start_message()
    130     callback(callback_percentage_start_value)
    131     if indice_name is not None:

C:\ProgramData\Anaconda\lib\site-packages\icclim\icclim_logger.py in start_message(self)
     62 
     63         # flake8: noqa
---> 64         time_now = time.asctime(time.gmtime()) + " " + self.timezone
     65         if self.verbosity == Verbosity.SILENT:
     66             return

AttributeError: 'IcclimLogger' object has no attribute 'timezone'
Dana017
  • 1
  • 2

1 Answers1

0

Sorry for the late reply. This was due to a bug within icclim and it has been fixed in a later version.

I advise you to try the latest version (5.1.0) available on pypi or conda-forge.

Abel
  • 688
  • 6
  • 19