Opened 4 years ago

Closed 4 years ago

#659 closed task (fixed)

2D wave optics propagator

Reported by: Ian Culverwell Owned by: Ian Culverwell
Priority: major Milestone: 10.0
Component: ROPP(all) Version: 9.0
Keywords: Cc: sti

Description

A key component of ROPP10.0 will be a 2D wave optics propagator - that is to say, a tool to simulate the excess phases produced when a radio wave passes through a refractivity field that does not necessarily display spherical symmetry. This is an extension of he spherically symmetric 1D wave optics propagation tool that has been in ROPP since version 9.0. Sean Healy (ECMWF) will be doing the scientific development of this, in the branch https://trac.romsaf.org/ropp/browser/ropp_src/branches/dev/Share/sbh_2DWOPT.

Change history (8)

comment:1 by Ian Culverwell, 4 years ago

r5953, r5955, r5965 and r5974 embody the first attempt.

comment:2 by Ian Culverwell, 4 years ago

A 2D level 2a Fortran type, L2atype_2d, was introduced at r5985. This is now part of the ROprof2d type. This allows 2D refractivity slices to be read in and written out.

Previously, ROprof2d contained a 1D level 2a substructure, so the difference needs to be highlighted in the Change Log. Making this 2D doesn't appear to cause any problems, however, mainly because the 2D bending angle code (which is the only thing that uses ROprof2d) calculates and stores its 2D refractivities in local arrays, and doesn't write them out.

comment:3 by Ian Culverwell, 4 years ago

The ancient code ropp_io/legacy/ecmtwod2ropp.f90 was updated at r5987 (and corrected at r6001) to convert 2D ascii files of ECMWF refractivity data into netCDF format, suitable for ingestion into ROPP code following the work of r5985. Sean has successfully used this code to generate netCDF files of the 'standard' 55 refractivity slices.

comment:4 by Ian Culverwell, 4 years ago

A new 'automatic make test' for the 2D wopt code was introduced at r6002. This was based on case 12 of the standard 55. This was pruned by a factor of 4 in the horizontal at r6060.

comment:5 by Ian Culverwell, 4 years ago

A new IDL script, to plot and compare the FSI-derived bending angles, for both the 1D and 2D wopt codes, was introduced at r6012.

comment:6 by Ian Culverwell, 4 years ago

Earlier versions of the code calculated the 1d wopt result, based on the central profile in the slice. But that just doubles the cost of the code, and only generates something that users can do for themselves if they want to, so it was removed at r6041.

comment:7 by Ian Culverwell, 4 years ago

The valid range of the FSI_derived impact height, Impact_FSI, was previously set to [-1, 1]*1E6 m. This meant that any impact parameter derived from it, by adding ~ 6.4E6 m, was out of range, and this therefore led to all level 1b data being zapped by range-checking. To avoid the need to change the valid_range of the impact parameter, it's easier to just extend the valid range of Impact_FSI, and the other FSI-derived fields, and the extra diagnostics, to [-1, 1]*1e7 in ropp_pp_wopt_tool.f90 and ropp_pp_wopt_2D_tool.f90. This has been done at r6260. The resulting changes to the test folder scripts have been made at r6261. (The latter includes a reduction in the number of cases from 4 to 1 when the test is run on (one core of) an HPC supercomputer, as otherwise it runs out of time.)

comment:8 by Ian Culverwell, 4 years ago

Resolution: fixed
Status: newclosed

This has been included in ROPP-10. Closing ticket.

Note: See TracTickets for help on using tickets.