E3SM-Project/e3sm_to_cmip

[Bug]: Added lat lon bounds failed cmor check for fv0.9x1.25 land model native output

chengzhuzhang opened this issue · 0 comments

What happened?

When a user us zppy to processing a new fv0.9x1.25 grid land output, the e3sm_to_cmip task failed with error:

2024-02-20 18:18:34,945 [INFO]: handler.py(cmorize:247) >> evspsblveg: creating CMOR variable with CMOR axis objects.
2024-02-20 18:18:34,945_945:INFO:cmorize:evspsblveg: creating CMOR variable with CMOR axis objects.
Process ForkProcess-7:
_cmor.CMORError: Problem with 'cmor.axis'. Please check the logfile (if defined).

During handling of the above exception, another exception occurred:

_pickle.PicklingError: Can't pickle <class '_cmor.CMORError'>: import of module '_cmor' failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.2_chrysalis/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.2_chrysalis/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.2_chrysalis/lib/python3.10/concurrent/futures/process.py", line 249, in _process_worker
    _sendback_result(result_queue, call_item.work_id, exception=exc)
  File "/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.2_chrysalis/lib/python3.10/concurrent/futures/process.py", line 215, in _sendback_result
    result_queue.put(_ResultItem(work_id, exception=exc))
  File "/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.2_chrysalis/lib/python3.10/multiprocessing/queues.py", line 371, in put
    obj = _ForkingPickler.dumps(obj)
  File "/lcrc/soft/climate/e3sm-unified/base/envs/e3sm_unified_1.9.2_chrysalis/lib/python3.10/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)

What did you expect to happen? Are there are possible answers you came across?

No response

Minimal Complete Verifiable Example (MVCE)

On Chrysalis

e3sm_to_cmip --output-path ~/test -v 'lai' --realm lnd --input-path /lcrc/group/e3sm/ac.zhang40/20240209_I20TREAMELMCNPRDCTCBC_ne30pg2_f09_oEC60to30v3/post/lnd/native/ts/monthly/30yr --user-metadata ~/zppy/zppy/templates/e3sm_to_cmip/default_metadata.json --tables-path /lcrc/group/e3sm/diagnostics/cmip6-cmor-tables/Tables

Relevant log output

More Cmor log output:


^[[1;31;47m!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Error: axis latitude (table: Lmon) has overlapping bounds values:
! 0.000000, 0.942408, 0.942408 at index: 192
!
!!!!!!!!!!!!!!!!!!!!!!!!!^[[0m


^[[2;31;47mC Traceback:
! In function: cmor_check_monotonic
! called from: cmor_treat_axis_values
! called from: cmor_axis
! ^[[0m

^[[1;31;47m!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Error: axis latitude (table: Lmon) has overlapping bounds values:
! 0.942408, 0.942408, 1.884817 at index: 193
!
!!!!!!!!!!!!!!!!!!!!!!!!!^[[0m


^[[2;34;47mC Traceback:
In function: cmor_check_monotonic
! called from: cmor_treat_axis_values
! called from: cmor_axis
! ^[[0m

^[[1;34;47m!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: axis latitude (table: Lmon) has bounds values that leave gaps
! (index 188): -1.884817, -0.942408, -0.942408
!
!!!!!!!!!!!!!!!!!!!!!!!!!^[[0m


^[[2;34;47mC Traceback:
In function: cmor_check_monotonic
! called from: cmor_treat_axis_values
! called from: cmor_axis
! ^[[0m

^[[1;34;47m!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: axis latitude (table: Lmon) has bounds values that leave gaps
! (index 192): 0.000000, 0.942408, 0.942408
!
!!!!!!!!!!!!!!!!!!!!!!!!!^[[0m


### Anything else we need to know?

Add bounds was tested with `r05` grids, but not other grids. The idea solution is to have land model to write out data with lat-lon bounds for tri-grids configuration. 

### Environment

v1.11.1 included in e3sm_unified 1.9.2