Opened 3 weeks ago

Last modified 3 weeks ago

#3087 assigned help

Advice on using mule-cumf on MONSOON for summary comparison between dumps

Reported by: gmann Owned by:
Component: UKESM Keywords: mule
Cc: earfw Platform: Monsoon2
UM Version: 11.2

Description

Dear NCAS-CMS Helpdesk,

Wuhu Feng and I have been discussing the output files from mule-cumf on MONSOON to compare two dump files from two different UKESM runs.

There seems to be a problem because the cumf utility doesn't seem to be able to recognise/compare the STASH fields in two different dumps files from the reference UKESM PI-control (aw310) and Wuhu's copy of the release job bc694 (bp061) — it's a direct copy of the release job bc694, except for start date and start dump files.

Basically, mule-cumf doesn't seem to be able to recognise that the same fields are contained in both dump files.

In contrast, when we compare dump files from the same job it does recognise that there are differences between the fields and then lists the differences accordingly.

Please can you advise about this problem.

It looks like cumf is not able to compare fields from the v10.9 job and the v11.2 job.

Or we need to add a flag to the command we're running mule-cumf on xcs via for example:

/projects/um1/bin/mule-cumf aw310a.da30090101_00 bp061a.da20001001_00

The two .txt files are off Wuhu's homepages.see for reference.

http://homepages.see.leeds.ac.uk/~earfw/UM/d.txt

and

http://homepages.see.leeds.ac.uk/~earfw/UM/diff_jan.txt

See the job where we compare between the aw310 and bp061 runs the cumf is saying
there are no differences within the "additional parameters", see it says

0 differences in additional_parameters (with 0 ignored indices)

Whereas when we compare dumps from the same aw310 job it does recognise the fields simply based on their order I guess.

Are we missing a flag or so to pick up the STASH items to do the comparison properly?

See below for more info.

Thanks for your help with this.

Cheers
Graham

Below is the cumf output from comparing the aw310 and bp061 dump files.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  • (CUMF-II) Module Information *

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mule : /projects/um1/mule/mule-2019.01.1/system/python2.7/lib/mule/init.py (version 2019.01.1)
um_utils : /projects/um1/mule/mule-2019.01.1/system/python2.7/lib/um_utils/init.py (version 2019.01.1)
um_packing : /projects/um1/mule/mule-2019.01.1/system/python2.7/lib/um_packing/init.py (version 2019.01.1) (packing lib from SHUMlib: 2018061)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  • CUMF-II Comparison Report *

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File 1: aw310a.da30090101_00
File 2: bp061a.da20000101_00
Files DO NOT compare

  • 8 differences in fixed_length_header (with 7 ignored indices)
  • 2 differences in integer_constants (with 0 ignored indices)
  • 3 differences in real_constants (with 0 ignored indices)
  • 0 differences in additional_parameters (with 0 ignored indices)

Compared 0/111019 fields, with 0 matches
55470 fields found in file 1 were not in file 2
55549 fields found in file 2 were not in file 1

And for the run from the same aw310 v10.9 job but different years we get 7142 differences:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  • (CUMF-II) Module Information *

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mule : /projects/um1/mule/mule-2019.01.1/system/python2.7/lib/mule/init.py (version 2019.01.1)
um_utils : /projects/um1/mule/mule-2019.01.1/system/python2.7/lib/um_utils/init.py (version 2019.01.1)
um_packing : /projects/um1/mule/mule-2019.01.1/system/python2.7/lib/um_packing/init.py (version 2019.01.1) (packing lib from SHUMlib: 2018061)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  • CUMF-II Comparison Report *

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File 1: bp061a.da20000101_00
File 2: bp061a.da20100101_00
Files DO NOT compare

  • 1 differences in fixed_length_header (with 7 ignored indices)
  • 1 differences in integer_constants (with 0 ignored indices)
  • 3 differences in real_constants (with 0 ignored indices)
  • 7142 differences in additional_parameters (with 0 ignored indices)

Compared 0/111098 fields, with 0 matches
55549 fields found in file 1 were not in file 2
55549 fields found in file 2 were not in file 1

1) aw310 — the main UKESM pre-industrial control

and a copy of the release job bc694) and we have

http://homepages.see.leeds.ac.uk/~earfw/UM/

Change History (1)

comment:1 Changed 3 weeks ago by luke

  • Owner gmann deleted
  • Status changed from new to assigned

Hi Graham,

I've had success with the following mule-cumf command:

mule-cumf --ignore lookup=14,15,20,22,28,29,30,34,35,36,37,38,40,41,43,44,46,47,48,49,51,52,53,54,55 file1 file2

There have been header changes between vn10.9 and vn11.2, and the --ignore lookup=... bit allows you to choose when to ignore changes in these header values. It isn't always perfect, and you may need to add more headers (or possibly remove some, although this is less likely I think).

You can also add flags like --full and --summary to control the level of output.

Thanks,
Luke

Note: See TracTickets for help on using tickets.