AMP Website header

Richard Neale - Project Scientist

AMWG Standard Diagnostics Package


Current diagnostics scripts here.

01/09/06 - Global mean calculations do not work when differencing from output on different machines (bluesky and bangkok).

fatal: wgt_areamse: the first two input areas must be the same size
Execute: Error occureed at or near line 661


Problem in script /fs/cgd/data0/stevens/DIAG/code/tables.ncl Line 661: sextrop(i,3) = wgt_arearmse (A({-90:-20},:),B({-90:-20},:), \
gw1({-90:-20}),1.0,0)
else ; different size grids
if (nlat1 .gt. nlat2) then ; interp A to nlat2
wgt_arearmse Calculates a weighted area root-mean-square-difference between two variables. File is *ANN_climo.nc type A and B are the test and cntrl variable arrays to be compared gw1 are the latitudinal Gaussian weights taken from the TEST case Problem is with dealing with southern extra tropic latitudes as northern extra-tropics and tropics calculationsa re fine. lon variable is the same between each file
lat and wstag differ in the nth decimal point
The reason is probably due to non-trival latitudinal grid spacing at 1.9x2.5
Solution 1
The problem only exists for southern hemisphere calculation of RMSE so just assume the grids are not the same (nlats) and then let it use the interpolation set of code, used when the CNTL and TEST are actually different. The interpolation should make unnoticeable differences.


06/27/06 - Add tropical meridional average diagnostic category

Aim is to add a category of contour plots for meridional averaging 10N-10S.
All changed routines from Mark Stevens diagnostic code are now in /fs/cgd/home0/rneale/diag/ncl Initially call set_4a to come after set_4 the zonally averaged plots. Using plot_vertical_cons.ncl as the primer for plot_vertical_xz_cons.ncl and functions_vertical.ncl for functions_vertical_xz.ncl Conversion routine ps2imgwww.csh is adjusted for set_4a and in diag/ncl

plot_vertical_xz_cons.ncl
Changes required:
1. vertical_VARNAME - Funtions have to be adjusted to average 10S-10S ,or more generically X north to X south.
2. setup_2models,setup_obs - IN $DIAG/html have to be altered to set-up the webpages for set4a and a gif image for clicking purposes has to be added in diag/html
3. gsn_panel(wks,cnplot,(/2,2/),pan) - Change to be a 3x1 plot rather than 2x2.
4. gsn_csm_pres_hgt(wks,data1,cres) - Adjust plot sizes for wide and short rather than square as in the lat-press plots.
5. cres@cnMissingValFillPattern = 0, cres@cnMissingValFillColor = "black" - These are set in order to color the missing values black which are the land areas.

functions_vertical_xz_cons.ncl
Changes:
1. Have had to rename all the routines with and xz suffix as the functions from set4 were being used incorrectly becasue set4a functions were not unique. (Actually the next point was the reason for the problem - but it's good to have unique names for the functions for set4a anyway).
2. Removed the outptr look up code for the variable as it uses the plotvars file if it exists from set4 as the variable names are the same. In this way it always has to calculate the longitudinal cross-section and doesn't read in the previous latitudinal cross-section.
3. Removed ZMMSF streamfunction field as it is not mass conserving in a longitudinal height cross section.
4. Changed all the V based eddy fluxes to U based. Not sure how relevant they are in the XZ plane though. Kept the UV fluxes. One problem is that the fluxes won't often get calculated as the UT,UQ etc are not on the history files (VT, VQ is).


01/24/07 - Variability Diagnostics Problems

The variability diagnostics that create the 'hourly' diagnostics from the h2 6-hourly history files potentially have problems with the binary read and write operations. The wavenumber-frequency diagnostics perform the FFTs as an external fortran rouitine to the the NCL code. The results of the calculation are written to a fortran sequntial, unformatted file. This file is read by the NCL fbinrecread command to draw the Wheeler-Kiladis plots. The problem is that NCL assumes 4-bit addressing (I think) and for some reason the x86_64 machines (from uname -a, mineral, salina, hurricane) use 8-bit addressing so the binary file read screw up. It only works on the i386 architecture (from uname -a, hopi, bangkok). Dennis Shea is aware of the problem.

01/17/08 - Understanding Difference in Radiation Terms between obs and model comparison

In model comparison the tables show FSNT and FLNT. These are the net SW and LW radiation terms at the top of the model. The residual term is the difference between the two FSNT-FLNT (SW radiation input to the system minus LW loss from the system). Therefore, a positive value for RESTOM means the systems is gaining heat and vice-versa for negative values.
When the comparison is model to observations the RESTOM value from the model is the same (FSNT-FLNT). However, FSNT is replaced by FSNTOA and FLNT is replaced by FLUT. This is to mimic what the satellite observations see just the upwelling value of LW from the top of the atmopshere and the net SW well above the top of the atmopshere. FLUT is actually LW at the model top and misses the contribution from the remaining atmosphere. FSNTOA is computed by adding an extra layer at the top of the atmosphere and calculating the additional contribution from that layer.
01/17/08 - Add New Observation Datasets

New datasets to add: ERA40, CLOUDSAT, Large and Yeager Flux dataset, Woods Hole Dataset
Added after help from Dennis Shea (ERA40, LARYEA, WHOI) and Jennifer Kay (CLOUDSAT)

01/29/08 -Taylor Diagrams

Included a new diagnsotic set (set14) which includes the automatic calculation of the variaous Taylor diagrams and Taylor tables with the associated statistics. The intention is this set will form the base of metrics in the future.
The diagnostics index.html page was also altered in order to provide better positioning of the set icons.
06/24/08 - Add New Observation Datasets

New datasets to be added:
1. An updated version of CERES (March 2000-October 2005) that now balances at the top of the atmosphere (FSNTOA-FLUT) to 0.77 W/m^2. The data has significantly different values for the clear-sky outgoing longwave (FLUT). It is about 5 W/m^2 large than ERBE in the global average and 2.5 W/m^w greater than the original CERES data (2000-2003).
-FSNTOAC looks odd. The variable names on the original data from Norm suggest FSNTOAC = swinc(SW incoming) - swupclr(SW up clearsky), but values disagree by as much as 300 W/m^2 compared to CERES-old and ERBE. CERES-old and ERBE look more like FSNTOA and not clear-sky values. FSNTOA = swinc-swup looks fine.
2. The Japanese Met Services 25 year reanalysis (JRA25: 1979-2007)
06/24/08 - Date stamp and webpage changes

Print date that the diagnsotics were created and move the tables and metrics icon to bottom left of screen.
07/17/08 - ARM Climate Model Best Estimate (CMBE) product

ARM has produced a Climate Model Best Estimate (CMBE) product (registration required). The plan is to add this to the mean diagnostics if it proves useful. See here for some summary plots and more info.
07/17/08 - ARM Climate Model Best Estimate (CMBE) product

Bennhold and Sherwood (2008) submitted to J. Clim. show nice observed relationships between precipitable water and Upper Topospheric Humidity (UTH, 200-500 mb and wrt ice) in observations.
08/04/08 - Putting Mean Diagnostics into Subversion Repository

Using the instructions on the bulletin board
11/09/09 - ncl 5.1.1 Bug fix + 1850 SST data

(a)Bug Fixes
set3 has many undefined references to long_name and units an this means the units appear as -999. on many plots.
The function dim_avg_Wrap no longer retains all the metadata and so long_name and units are missing. Put bug request into ncl-talk. AODVIS has strange large values for the seasonal global means and plots.
It is because the missing value _FillValue is written to the history file as the worng type and this gets mangled by ncl which mean the real missing values of 1e36 get plotted. Temporary fix is to delete the mangled input value of_FillValue with 1.e36 and this corrects the plots and printed means. Ultimately, it will be good to write the missing value variables to the history files as float. (b) Add in 1850 HadiSST data comparsion.
The dataset is called HadISST_PI and the script /project/cms/rneale/amwg_diag/obs_proc/obs2amwgclim.ncl is used to generate the data. Diagnsosis of SST has a special meaning when using CAM/CCSM history files as only a merged product of TS is available and so we should only compare SST for 100% open ocean and ice-free for 100% of the time in question. The time in question can be January or the annual mean, but of course the annual mean will have less ice-free region. It is even more complicated when dealing with difference in SST as it can only include common regions between two model runs or a model run and observations that are 100% ice and land free. I have done this for HadISST_PI, but it is not done for HadISST default data. I should also put ice-frac on the HadISST_PI data as it is used for ICEFRAC comparisons. The threshold for SST from TS has been set at <10% land and/or ice to prevent contamination. Also added in a HadISST_PD which is an average for 1999-2008 to comapre more accurately with the end of the 20thC runs.
Calculating global means is problematic. The global mean differenceis correct as it only considers SST in regions common to both cases. But the individual global mean calculations only refer to the individual grids so a high reolution grid has more coverage and so can bias the estimate high compared to a lower-res model e.g. around Indonesia. Should try and mask the higher res data with the lower res grid.
The correct thing to do is to calculate the mean with masking on the data from both the control and the obs. Although this creates a different mean for the model depending on what the masking is for the obs. the differences between the two are consistant.