Change to handle marine surface pressure discrepancies #132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NCEP modified the surface marine processing in August 2021 to add observations from the GTS that were transmitted in BUFR format. This led to a large increase in the data being input to the assimilation. Since the transition to the new data there has been a degradation in the the observation sensitivity of surface marine (kx=180,280). A closer check of the different observation types showed that the degradation in sensitivity was primarily in the surface pressure observations. Maps of (O-F) showed a pronounced negative bias in surface pressure observations, particularly along the coast of South America and in the shipping lanes in the North Atlantic.
A check of the input prepbufr data showed that some of the data from the new input stream had reported observation elevation of zero but the surface pressure value was much less than the reported mean sea level pressure values. Ship metadata (from https://www.ocean-ops.org/board/) ) for several ships showed barometer heights of 50-60m with corresponding discrepancies in reported pressure and mean sea level pressure. The prior data in traditional alphanumeric codes had ship reports primarily of pressure adjusted to mean sea level. Also a check of sfcshp dump files from NCEP (from processing step prior to the prepbufr creation) showed that the station height and/or barometer height was not available for these stations (hence the zero elevation).
So for the purpose of this patch it is proposed to modify read_prepbufr.f90 so that when 'psob' is being read in to substitute the mean sea level pressure for the observed pressure if the observation is a ship type (522 <= t29 <= 525) and the observation height is zero and the mean sea level pressure is greater than the obs pressure by more than 0.1 hPa.. The assimilation of T, q, and uv from ships is not changed. This seems like the simplest way to handle this problem for the time being.
An alternative approach would be to write the proper barometer height corresponding to the reported pressure, However this change would also influence the height used for assimilating the temperature, humidity and wind observations. A check of several ships showed that the different observations are measured at different heights so one observation height may not be appropriate. Also it was not clear whether the T and uv observations are or are not adjusted in some way to a standard level. Thus it would appear that the issue of assigning appropriate height values to the observations so that they are assimilated correctly would preferably be deferred to the next system.
One further thing to consider would be to extend the code modification to include the BUFR CMAN (T29=530) and buoy (T29=563) observations since they may also suffer from the same problem.