Arts2 { GriddedField3Create(gf_ref) GriddedField3Create(gf_regridded) GriddedField3Create(gf) StringCreate(fname) NumericCreate(maxabsdiff) NumericSet(maxabsdiff, 1e-08) ReadXML(out=gf, filename="gf_data.xml") ########## GriddedFieldPRegrid ########## # # New grid is inside the old grid # StringSet(fname, "gfREFERENCE_0p_none.xml") VectorNLogSpace(p_grid, 20, 6000, 2000) GriddedFieldPRegrid(out=gf_regridded, in=gf, zeropadding=0) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) # # New grid is larger than the old grid # StringSet(fname, "gfREFERENCE_0p_both_sides.xml") VectorNLogSpace(p_grid, 20, 15000, 100) GriddedFieldPRegrid(out=gf_regridded, in=gf, zeropadding=1) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) # # Minimum pressure in new grid is lower than in the old grid # StringSet(fname, "gfREFERENCE_0p_bottom.xml") VectorNLogSpace(p_grid, 20, 5000, 100) GriddedFieldPRegrid(out=gf_regridded, in=gf, zeropadding=1) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) # # Maximum pressure in the new grid is higher than in the old grid # StringSet(fname, "gfREFERENCE_0p_top.xml") VectorNLogSpace(p_grid, 20, 15000, 5000) GriddedFieldPRegrid(out=gf_regridded, in=gf, zeropadding=1) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) ########## GriddedFieldZToPRegrid ########## ReadXML(gf, "gf.xml") GriddedField3Create(gf_z) ReadXML(out=gf_z, filename="gf_data_z.xml") VectorSet(lat_grid, [0]) VectorSet(lon_grid, [0]) GriddedField3Create(zraw_regridded) # # New grid is inside the old grid # StringSet(fname, "gfREFERENCE_0p_none.xml") VectorNLogSpace(p_grid, 20, 6000, 2000) GriddedFieldPRegrid(out=zraw_regridded, in=gf, zeropadding=0) FieldFromGriddedField(out=z_field, in=zraw_regridded) GriddedFieldZToPRegrid(out=gf_regridded, in=gf_z, zeropadding=1) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) # # New grid is larger than the old grid # StringSet(fname, "gfREFERENCE_z_0p_both_sides.xml") ReadXML(p_grid, "p_grid_both.xml") ReadXML(z_field_raw, "z_both.xml") FieldFromGriddedField(out=z_field, in=z_field_raw) GriddedFieldZToPRegrid(out=gf_regridded, in=gf_z, zeropadding=1) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) # # Maximum pressure in new grid is higher than in the old grid # StringSet(fname, "gfREFERENCE_z_0p_bottom.xml") ReadXML(p_grid, "p_grid_bottom.xml") ReadXML(z_field_raw, "z_bottom.xml") FieldFromGriddedField(out=z_field, in=z_field_raw) GriddedFieldZToPRegrid(out=gf_regridded, in=gf_z, zeropadding=1) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) # # Minimum pressure in new grid is lower than in the old grid # StringSet(fname, "gfREFERENCE_z_0p_top.xml") ReadXML(p_grid, "p_grid_top.xml") ReadXML(z_field_raw, "z_top.xml") FieldFromGriddedField(out=z_field, in=z_field_raw) GriddedFieldZToPRegrid(out=gf_regridded, in=gf_z, zeropadding=1) #WriteXML("ascii", gf_regridded, fname) ReadXML(gf_ref, fname) Compare(gf_regridded, gf_ref, maxabsdiff) }