Opened 10 years ago

Closed 10 years ago

#233 closed defect (fixed)

cdo segfault when yearly averaging netcdf4 files.

Reported by: sdipsl Owned by: sdipsl
Priority: critical Milestone: libIGCM_v2.5 metrics
Component: PostProcessing Version:
Keywords: Cc:

Description

Interactively this command issue a segfault. Interactively it seems to be unpredictable. If you convert the file to the netcdf3 classic model it's fine ...

We should use the compact cdo yearmonmean which seems to work as expected.

p86denv@curie90:/ccc/scratch/cont003/dsm/p86denv/TESTCDO> cdo -settime,00:00 -setday,1 -setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc test.nc
cdo settime: Started child process "setday,1 -setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe1.1)".
cdo(2) setday: Started child process "setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe2.1)".
cdo(3) setmon: Started child process "settunits,days -divdpy -yearsum -muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe3.1)".
cdo(4) settunits: Started child process "divdpy -yearsum -muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe4.1)".
cdo(5) divdpy: Started child process "yearsum -muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe5.1)".
cdo(6) yearsum: Started child process "muldpm -selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe6.1)".
cdo(7) muldpm: Started child process "selvar,bils CM6PI.05_18500101_18591231_1M_bils.nc (pipe7.1)".
Segmentation fault

Converting and running again

ncks -3  CM6PI.05_18500101_18591231_1M_bils.nc NC3.CM6PI.05_18500101_18591231_1M_bils.nc
cdo -settime,00:00 -setday,1 -setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,bis NC3.CM6PI.05_18500101_18591231_1M_bils.nc NC3.CM6PI.05_18500101_18591231_1Y_bils.nc
cdo settime: Started child process "setday,1 -setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe1.1)".
cdo(2) setday: Started child process "setmon,7 -settunits,days -divdpy -yearsum -muldpm -selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe2.1)".
cdo(3) setmon: Started child process "settunits,days -divdpy -yearsum -muldpm -selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe3.1)".
cdo(4) settunits: Started child process "divdpy -yearsum -muldpm -selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe4.1)".
cdo(5) divdpy: Started child process "yearsum -muldpm -selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe5.1)".
cdo(6) yearsum: Started child process "muldpm -selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe6.1)".
cdo(7) muldpm: Started child process "selvar,bils NC3.CM6PI.05_18500101_18591231_1M_bils.nc (pipe7.1)".
cdo(8) selname: Processed 1105920 values from 2 variables over 120 timesteps ( 0.07s )
cdo(7) muldpm: Processed 1105920 values from 1 variable over 120 timesteps ( 0.07s )
cdo(6) yearsum: Processed 1105920 values from 1 variable over 120 timesteps ( 0.07s )
cdo(5) divdpy: Processed 92160 values from 1 variable over 10 timesteps ( 0.07s )
cdo(4) settunits: Processed 92160 values from 1 variable over 10 timesteps ( 0.07s )
cdo(3) setmon: Processed 92160 values from 1 variable over 10 timesteps ( 0.07s )
cdo(2) setday: Processed 92160 values from 1 variable over 10 timesteps ( 0.07s )
cdo settime: Processed 92160 values from 1 variable over 10 timesteps ( 0.07s )

The long command should be replace by a simpler cdo yearmonmean

The bils array in NC3.CM6PI.05_18500101_18591231_1Y_bils.nc generated by the long command after a netcdf3 classic conversion is striclty identic to the bils array in CM6PI.05_18500101_18591231_1Y_bils.nc generated by the compact cdo yearmonmean

Same conclusion for those files

-r--r--r--. 1 p86denv dsm   4495841 Oct 31 10:45 CM6PI.05_18500101_18591231_1M_bils.nc
-r--r--r--. 1 p86denv dsm  13264175 Oct 31 10:45 CM6PI.05_18500101_18591231_1M_sosstsst.nc
-r--r--r--. 1 p86denv dsm 403765811 Oct 31 10:45 CM6PI.05_18500101_18591231_1M_votemper.nc
-rw-r--r--. 1 p86denv dsm   4464100 Oct 31 10:49 NC3.CM6PI.05_18500101_18591231_1M_bils.nc
-rw-r--r--. 1 p86denv dsm  13236016 Oct 31 10:49 NC3.CM6PI.05_18500101_18591231_1M_sosstsst.nc
-rw-r--r--. 1 p86denv dsm 403735228 Oct 31 10:49 NC3.CM6PI.05_18500101_18591231_1M_votemper.nc
-rw-r--r--. 1 p86denv dsm    371056 Oct 31 11:12 NC3.CM6PI.05_18500101_18591231_1Y_bils.nc
-rw-r--r--. 1 p86denv dsm   1194800 Oct 31 10:50 NC3.CM6PI.05_18500101_18591231_1Y_sosstsst.nc
-rw-r--r--. 1 p86denv dsm  33628076 Oct 31 10:51 NC3.CM6PI.05_18500101_18591231_1Y_votemper.nc
-rw-r--r--. 1 p86denv dsm   1208996 Oct 31 10:56 CM6PI.05_18500101_18591231_1Y_sosstsst.nc
-rw-r--r--. 1 p86denv dsm  33664475 Oct 31 10:56 CM6PI.05_18500101_18591231_1Y_votemper.nc
-rw-r--r--. 1 p86denv dsm    424328 Oct 31 10:57 CM6PI.05_18500101_18591231_1Y_bils.nc
-rw-r--r--. 1 p86denv dsm       994 Oct 31 11:09 ferret.jnl

Change History (2)

comment:1 Changed 10 years ago by sdipsl

  • Owner changed from somebody to sdipsl
  • Status changed from new to assigned

comment:2 Changed 10 years ago by sdipsl

  • Resolution set to fixed
  • Status changed from assigned to closed

Done. See r1142

Note: See TracTickets for help on using tickets.