Opened 9 years ago

Closed 9 years ago

#477 closed help (fixed)

No 32 bit execs for UM utils, ff2pp produces wrong-endian files

Reported by: pclark Owned by: grenville
Component: UM Model Keywords:
Cc: Platform:
UM Version: <select version>

Description

I'm confused about converting UM file format to pp on Hector.

First, I note that 32 bit versions of convpp have not been build, so convpp -32 doesn't work.

$UMDIR/bin/ff2pp seems to produce little-endian pp files. However, pp files should not be little endian and the ukmo routines won't read the output (idl on linux). (Yes-linux is little endian but the pp standard specifies big-endian and the ukmo routines byte swap for you on reading). I presume others don't have this problem, so what's the work around?


Change History (4)

comment:1 follow-up: Changed 9 years ago by grenville

  • Owner changed from um_support to grenville
  • Status changed from new to accepted

Peter

For small pp files, the easiest thing is probably to byteswap the little endian pp file before feeding it to UKMO (on Hector the function bigend will do this) - I did this for a while until the files got too large and too time consuming to swap, and then fixed up the UKMO to read little endian and larger than 2GB pp files. I'd be happy to share my idl, but the changes I made were only to get pp_cfwrite to work, so may not be general enough for your purposes.

Grenville

comment:2 in reply to: ↑ 1 Changed 9 years ago by pclark

Replying to grenville:

Peter

For small pp files, the easiest thing is probably to byteswap the little endian pp file before feeding it to UKMO (on Hector the function bigend will do this) - I did this for a while until the files got too large and too time consuming to swap, and then fixed up the UKMO to read little endian and larger than 2GB pp files. I'd be happy to share my idl, but the changes I made were only to get pp_cfwrite to work, so may not be general enough for your purposes.

Grenville

Thanks, Grenville. I agree the easiest thing is to convert the pp files back to big-endian. My concern is that pp files shouldn't be little-endian in the first place. Any code following the standard is written to read big-endian files (as is the UKMO routines) - having both floating around leads to confusion. However, I guess someone made the decision to do this some time ago, so it's too late to revert.

Still no clear why there's no 32 bit convpp - I can't see why anyone would want 64 bit pp format files?

Peter

comment:3 Changed 9 years ago by lois

Hello Peter

There are so few academic UM users who use PP files so we have not really worried about the small executables on HECToR. I am sure that we could provide what you need (and expect) but you might be the only client so it may not be high on our list of things to do. We should review UM tools on HECToR, as this hasn't been done for some time, so your requirements will be put on the list.

Lois

comment:4 Changed 9 years ago by grenville

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets.