[Bug]: Added lat lon bounds failed cmor check for fv0.9x1.25 land model native output
chengzhuzhang opened this issue · 0 comments
chengzhuzhang commented
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