Opened 4 years ago

Closed 3 years ago

#116 closed defect (fixed)

reduce_domain workflow issue when combined with vertical interpolation

Reported by: ssenesi Owned by: ymipsl
Priority: major Component: XIOS
Version: 2.0 Keywords:
Cc:

Description

Using r1028 and a toy derived from test_xios2_cmpi6 (attached) , which also sends a pressure field, I am able to correctly derive :

  • a profile of a 3D field (with a 'reduce_domain' applied on horizontal domain)
  • a vertical interpolation of the same field on pressure levels

but when trying to get the profile of the vertically interpolated
field, I get sensible values only for the first output timestep; for the
remaining timsteps the values are largely underestimated, and their
vertical structure is unconsistent with the original field

The set of xml files and the output file are attached.

Attachments (7)

bug.xml (2.2 KB) - added by ssenesi 4 years ago.
iodef.xml (863 bytes) - added by ssenesi 4 years ago.
context_nemo.xml (707 bytes) - added by ssenesi 4 years ago.
cross.nc (98.7 KB) - added by ssenesi 4 years ago.
test_grid.f90 (9.8 KB) - added by ssenesi 4 years ago.
param.def (66 bytes) - added by ssenesi 4 years ago.
bug.2.xml (2.5 KB) - added by ymipsl 4 years ago.
New bug.xml file

Download all attachments as: .zip

Change History (10)

Changed 4 years ago by ssenesi

Changed 4 years ago by ssenesi

Changed 4 years ago by ssenesi

Changed 4 years ago by ssenesi

Changed 4 years ago by ssenesi

Changed 4 years ago by ssenesi

Changed 4 years ago by ymipsl

New bug.xml file

comment:1 Changed 4 years ago by ymipsl

Hi,
There were 2 problem.
First one come from the way you want chain the domain reduction and the vertical interpolation :

<field name="profile_p" field_ref="field_grid" grid_ref="avg_profile_p"></field>

<grid id="grid_atm"> <domain id="domain_atm" /> <axis id="axis_atm"/> </grid>
<grid id="avg_profile_p"> <scalar scalar_ref="avg_scalar" /> <axis id="pstd"/> </grid>

When you want to chain transformation in same grid, by definition, XIOS will make the transform in the order of the grid element. In your case it will begin with domain reduction so you obtain a 1D axis, and after that you try to make a vertical interpolation in pressure level, and pressure is a 3D field. Very bad...

So what you what is to make the vertical interpolation and after a reduction over 2D domain.

So in this case you must chain transformation using a rebound (see the new bug.file).

Second was a small bug in spatial transformation that gave very thing when using averaging reduction. It is fixed now.

Check it now and I am waiting your comments.

Regards,

Yann


comment:2 Changed 4 years ago by ssenesi

Yann,

Of course, you are right about the chain order. I was fully aware of that, and I do not know how I ended up with such a construct.

I remember that you can also use a 'path' construct for controlling remapping order. Would it be usable here ?

I upgraded my Xios relesase, and the handling of missing values is know fine in this example after reduce_domain

Thanks
Stéphane

comment:3 Changed 3 years ago by ymipsl

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