[Thread Prev][Thread Next][Index]

Re: [las_users] LAS vector plots of curvilinear grids not working?



Hi all,
We've found the problem - thanks, John, for the report.  The dataset can be found at

http://oos.soest.hawaii.edu/thredds/dodsC/hioos/roms_assim/hiig/ROMS_Hawaii_Regional_Ocean_Model_Assimilation_best.ncd

and it has vectors on staggered grids, (i.e. where the two vector components are on different curvilinear grids - one at grid-cell centers and the other from grid-cell corners, or something along those lines).

The fix is in a LAS Ferret script and it will be included with the next LAS release.  If anyone wants it now, the corrected script is attached.  To use it, put it in your las/JavaSource/resources/ferret/scripts/ directory, and then redeploy your LAS so that the script is copied to a couple of places where it needs to go.

Ansley

On 6/23/2011 2:32 PM, Ansley Manke wrote:
Hi John,
I'll have a look. I had noticed this with your data but didn't know it was incorrect.

-Ansley

On 6/23/2011 1:13 PM, John Maurer wrote:
Hi All,
It came to my attention yesterday that the vector plots that LAS is producing are not working for one of our curvilinear forecast models. While they work correctly for our regular grids, the vector plots from our curvilinear grids only show arrows pointing in one direction or the opposite: not showing the expected eddies or anything. Here is an illustration of a regular grid (left: NCOM) showing a large clockwise eddy off the southwest coast of the Big Island versus a curvilinear grid (right: ROMS) for the same time period (2011-06-23T00:00Z) from our LAS:

ncom_vs_roms_las.png

To confirm that the ROMS model output was OK, I plotted it using something besides LAS and get the expected result:

roms_ncwms_gmap.png

Is this a bug in LAS/Ferret and can you fix it, or maybe something I'm configuring incorrectly? Do you think it pertains to curvilinear grids in general or is it perhaps specific to this dataset? Here are links to the above models so you can test for yourselves:

NCOM: http://oos.soest.hawaii.edu/las/getUI.do?dsid=ncom_hawaii&varid=velocity-ncom_hawaii&auto=true
ROMS: http://oos.soest.hawaii.edu/las/getUI.do?dsid=hiroms_hiig&varid=velocity-hiroms_hiig&auto=true

I've attached my LAS XML configuration files for the above ROMS grid. Let me know what else I can send you to help diagnose the problem. Somebody suggested it looks almost like the LAS plot is only using the v component and not the u component??
Thanks!,
John Maurer
Pacific Islands Ocean Observing System (PacIOOS)
University of Hawaii at Manoa

P.S. We are using LAS 7.2/Ferret 6.65.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! LAS_check_staggered.jnl
! 
! Author: ansley 
! Date: 2010/06 
!
! Vector components may be on staggered grids. Detect this and set the 
! second component to be regridded to the grid of the first.
!

!IF ($native_curvilinear_xy"0") THEN EXIT/SCRIPT

DEFINE SYMBOL xax_vec_1 = `($ferret_plot_base_var_0),RETURN=xaxis`
DEFINE SYMBOL yax_vec_1 = `($ferret_plot_base_var_0),RETURN=yaxis`
DEFINE SYMBOL xax_vec_2 = `($ferret_plot_base_var_1),RETURN=xaxis`
DEFINE SYMBOL yax_vec_2 = `($ferret_plot_base_var_1),RETURN=yaxis`

IF `STRCMP("($xax_vec_1)", "($xax_vec_2)") NE 0` THEN DEFINE SYMBOL ferret_staggered_grid = 1
IF `STRCMP("($yax_vec_1)", "($yax_vec_2)") NE 0` THEN DEFINE SYMBOL ferret_staggered_grid = 1

! Regrid the second component to the grid of the first. If in curvilinear
! coordinates (will staggered grids always be in curvi??) then define 
! the regridding on the base var, w/o curvi coordinate variables.
!
! Regrid to the grid of the curvilinear coordinate variables.

IF `($ferret_staggered_grid"0|default>1|*>1") GT 0` THEN  
   IF ($do_curvi_xy"0|0|1|*>1") THEN 
      LET vec1 = ($ferret_plot_var_0_noregion)
      LET vec1_regrid = vec1[gxy=xcoord]   ! whichever curvi coords got sent (!)
      DEFINE SYMBOL ferret_plot_base_var_0 = vec1_regrid[($region_full)]
      LET vec2 = ($ferret_plot_var_1_noregion)
      LET vec2_regrid = vec2[gxy=xcoord]   ! whichever curvi coords got sent (!)
      DEFINE SYMBOL ferret_plot_base_var_1 = vec2_regrid[($region_full)]
   ELSE
      LET vec2 = ($ferret_vector_2)
      DEFINE SYMBOL ferret_vector_2 = vec2[gxy=($ferret_vector_1)]
   ENDIF

   DEFINE SYMBOL n_left_labels = `($n_left_labels"0")+1`
   DEFINE SYMBOL upper_left_($n_left_labels) = "Regridded from Staggered Grid" 
   DEFINE SYMBOL note_num = `($note_num"0") + 1`
   DEFINE SYMBOL note_($note_num)_lab = ($upper_left_($n_left_labels))
ENDIF

[Thread Prev][Thread Next][Index]


Contact Us
Dept of Commerce / NOAA / OAR / PMEL / TMAP

Privacy Policy | Disclaimer | Accessibility Statement