[Thread Prev][Thread Next][Index]

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



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.
<datasets>
  <hiroms_hiig name="ROMS Hawaii Regional Ocean Model" url="http://lawelawe.soest.hawaii.edu:8080/thredds/dodsC/hioos/roms_forec/hiig/ROMS_Hawaii_Regional_Ocean_Model_best.ncd";>
    <!-- Default properties for this dataset: -->
    <properties>
      <ferret>
        <land_script>land_hawaii</land_script> <!-- detailed coastlines -->
      </ferret>
    </properties>
    <variables>
      <temp-hiroms_hiig name="potential temperature" units="Celsius" url="#temp">
        <link match="/lasdata/grids/grid-lon-lat-depth-time-hiroms_hiig" />
        <properties>
          <!-- Curvilinear coordinates: -->
          <ferret>
            <curvi_coord_lon>lon_rho</curvi_coord_lon>
            <curvi_coord_lat>lat_rho</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980053</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_rho.nc</curvi_coord_mapfile> <!-- maps curvilinear to rectilinear coordinates -->
            <curvi_coord_mapvar>map</curvi_coord_mapvar> <!-- variable in above file that does the mapping -->
          </ferret>
        </properties>
      </temp-hiroms_hiig>
      <salt-hiroms_hiig name="salinity" units="PSU" url="#salt">
        <link match="/lasdata/grids/grid-lon-lat-depth-time-hiroms_hiig" />
        <properties>
          <!-- Curvilinear coordinates: -->
          <ferret>
            <curvi_coord_lon>lon_rho</curvi_coord_lon>
            <curvi_coord_lat>lat_rho</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980053</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_rho.nc</curvi_coord_mapfile> <!-- maps curvilinear to rectilinear coordinates -->
            <curvi_coord_mapvar>map</curvi_coord_mapvar> <!-- variable in above file that does the mapping -->
          </ferret>
        </properties>
      </salt-hiroms_hiig>
      <zeta-hiroms_hiig name="sea surface height" units="m" url="#zeta">
        <link match="/lasdata/grids/grid-lon-lat-time-hiroms_hiig" />
        <properties>
          <!-- Curvilinear coordinates: -->
          <ferret>
            <curvi_coord_lon>lon_rho</curvi_coord_lon>
            <curvi_coord_lat>lat_rho</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980053</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_rho.nc</curvi_coord_mapfile> <!-- maps curvilinear to rectilinear coordinates -->
            <curvi_coord_mapvar>map</curvi_coord_mapvar> <!-- variable in above file that does the mapping -->
          </ferret>
        </properties>
      </zeta-hiroms_hiig>
      <u-hiroms_hiig name="eastward velocity" units="meter second-1" url="#u">
        <link match="/lasdata/grids/grid-lon-lat-depth-time-hiroms_hiig" />
        <properties>
          <!-- Curvilinear coordinates: -->
          <ferret>
            <curvi_coord_lon>lon_u</curvi_coord_lon>
            <curvi_coord_lat>lat_u</curvi_coord_lat>
            <curv_lon_min>-163.811394557823</curv_lon_min>
            <curv_lon_max>-152.538605442176</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980054</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_u.nc</curvi_coord_mapfile> <!-- maps curvilinear to rectilinear coordinates -->
            <curvi_coord_mapvar>map</curvi_coord_mapvar> <!-- variable in above file that does the mapping -->
          </ferret>
        </properties>
      </u-hiroms_hiig>
      <v-hiroms_hiig name="northward velocity" units="meter second-1" url="#v">
        <link match="/lasdata/grids/grid-lon-lat-depth-time-hiroms_hiig" />
        <properties>
          <!-- Curvilinear coordinates: -->
          <ferret>
            <curvi_coord_lon>lon_v</curvi_coord_lon>
            <curvi_coord_lat>lat_v</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.036864487563</curv_lat_min>
            <curv_lat_max>23.964775551701</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_v.nc</curvi_coord_mapfile> <!-- maps curvilinear to rectilinear coordinates -->
            <curvi_coord_mapvar>map</curvi_coord_mapvar> <!-- variable in above file that does the mapping -->
          </ferret>
        </properties>
      </v-hiroms_hiig>
      <!--
      <shflux-hiroms_hiig name="surface net heat flux" units="watt meter-2" url="#shflux">
        <link match="/lasdata/grids/grid-lon-lat-time-hiroms_hiig" />
        <properties>
          <ferret>
            <curvi_coord_lon>lon_rho</curvi_coord_lon>
            <curvi_coord_lat>lat_rho</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980053</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_rho.nc</curvi_coord_mapfile>
            <curvi_coord_mapvar>map</curvi_coord_mapvar>
          </ferret>
        </properties>
      </shflux-hiroms_hiig>
      <ssflux-hiroms_hiig name="surface net salt flux" units="meter second-1" url="#ssflux">
        <link match="/lasdata/grids/grid-lon-lat-time-hiroms_hiig" />
        <properties>
          <ferret>
            <curvi_coord_lon>lon_rho</curvi_coord_lon>
            <curvi_coord_lat>lat_rho</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980053</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_rho.nc</curvi_coord_mapfile>
            <curvi_coord_mapvar>map</curvi_coord_mapvar>
          </ferret>
        </properties>
      </ssflux-hiroms_hiig>
      <sustr-hiroms_hiig name="surface u-momentum stress" units="newton meter-2" url="#sustr">
        <link match="/lasdata/grids/grid-lon-lat-time-hiroms_hiig" />
        <properties>
          <ferret>
            <curvi_coord_lon>lon_u</curvi_coord_lon>
            <curvi_coord_lat>lat_u</curvi_coord_lat>
            <curv_lon_min>-163.811394557823</curv_lon_min>
            <curv_lon_max>-152.538605442176</curv_lon_max>
            <curv_lat_min>17.018433151273</curv_lat_min>
            <curv_lat_max>23.982388980054</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_u.nc</curvi_coord_mapfile>
            <curvi_coord_mapvar>map</curvi_coord_mapvar>
          </ferret>
        </properties>
      </sustr-hiroms_hiig>
      <svstr-hiroms_hiig name="surface v-momentum stress" units="newton meter-2" url="#svstr">
        <link match="/lasdata/grids/grid-lon-lat-time-hiroms_hiig" />
        <properties>
          <ferret>
            <curvi_coord_lon>lon_v</curvi_coord_lon>
            <curvi_coord_lat>lat_v</curvi_coord_lat>
            <curv_lon_min>-163.830697278911</curv_lon_min>
            <curv_lon_max>-152.519302721088</curv_lon_max>
            <curv_lat_min>17.036864487563</curv_lat_min>
            <curv_lat_max>23.964775551701</curv_lat_max>
            <curvi_coord_mapfile>/usr/local/tomcat/content/las/conf/server/mapfile_hiroms_hiig_v.nc</curvi_coord_mapfile>
            <curvi_coord_mapvar>map</curvi_coord_mapvar>
          </ferret>
        </properties>
      </svstr-hiroms_hiig>
      -->
    </variables>
    <composite>
      <velocity-hiroms_hiig name="velocity" units="meter second-1">
        <properties>
          <ui>
            <default>file:ui.xml#VecVariable</default>
          </ui>
        </properties>
        <link match="../../variables/u-hiroms_hiig" />
        <link match="../../variables/v-hiroms_hiig" />
      </velocity-hiroms_hiig>
    </composite>
  </hiroms_hiig>
</datasets>
<grids>
  <grid-lon-lat-depth-time-hiroms_hiig>
    <link match="/lasdata/axes/xi_rho-x-hiroms_hiig" />
    <link match="/lasdata/axes/eta_rho-y-hiroms_hiig" />
    <link match="/lasdata/axes/s_rho-z-hiroms_hiig" />
    <link match="/lasdata/axes/ocean_time-t-hiroms_hiig" />
  </grid-lon-lat-depth-time-hiroms_hiig>
  <grid-lon-lat-time-hiroms_hiig>
    <link match="/lasdata/axes/xi_rho-x-hiroms_hiig" />
    <link match="/lasdata/axes/eta_rho-y-hiroms_hiig" />
    <link match="/lasdata/axes/ocean_time-t-hiroms_hiig" />
  </grid-lon-lat-time-hiroms_hiig>
</grids>
<axes>
  <!-- NOTE: Make x/y sizes one bigger than actually are in TDS to fit full map. -->
  <xi_rho-x-hiroms_hiig type="x" units="degrees_east">
    <arange start="-163.830697278911" size="295" step="0.038474131149" />
  </xi_rho-x-hiroms_hiig>
  <eta_rho-y-hiroms_hiig type="y" units="degrees_north">
    <arange start="17.018433151273" size="195" step="0.03589667953" />
  </eta_rho-y-hiroms_hiig>
  <!-- 
  Dimensionless vertical coordinate of type "ocean_s_coordinate_g2":
  -->
  <s_rho-z-hiroms_hiig type="z" units="sigma coordinate">
    <v>-0.0167</v>
    <v>-0.05</v>
    <v>-0.0833</v>
    <v>-0.1167</v>
    <v>-0.15</v>
    <v>-0.1833</v>
    <v>-0.2167</v>
    <v>-0.25</v>
    <v>-0.2833</v>
    <v>-0.3167</v>
    <v>-0.35</v>
    <v>-0.3833</v>
    <v>-0.4167</v>
    <v>-0.45</v>
    <v>-0.4833</v>
    <v>-0.5167</v>
    <v>-0.55</v>
    <v>-0.5833</v>
    <v>-0.6167</v>
    <v>-0.65</v>
    <v>-0.6833</v>
    <v>-0.7167</v>
    <v>-0.75</v>
    <v>-0.7833</v>
    <v>-0.8167</v>
    <v>-0.85</v>
    <v>-0.8833</v>
    <v>-0.9167</v>
    <v>-0.95</v>
    <v>-0.9833</v>
  </s_rho-z-hiroms_hiig>
  <!--
  Each day is split up into eight 3-hour chunks: 0 (midnight), 3, 6, 9, 12, 15, 18, 21.
  The current day's best time series includes data for each day from the
  start date to the current date plus forecasts for 6 days into the future.
  So the total "size" will be:
  ( ( current_day - start_day + 1 ) * 8 ) + ( 6 * 8 )
  jmaurer
  -->
  <ocean_time-t-hiroms_hiig type="t" units="hour" display_lo="2011-03-25" display_hi="2011-06-22 12:00:00" default="last">
    <arange start="2011-03-25" size="768" step="3" />
  </ocean_time-t-hiroms_hiig>
</axes>

[Thread Prev][Thread Next][Index]


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

Privacy Policy | Disclaimer | Accessibility Statement