Last modified: Tue, 03/14/2017 - 02:35
An example of the full error output from the Ferret Backend Service.
**Internet Data error
OPeNDAP Error: Error while reading the URL: http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.pac.ocean/otemp.mnmean.nc.dds?.
The OPeNDAP server returned the following message:
Not Found: The data source or server could not be found.
Often this means that the OPeNDAP server is missing or needs attention;
Please contact the server administrator. (OPeNDAP/netCDF Error code 1001)
Data set: http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.pac.ocean/otemp.mnmean.nc
SET DATA "http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.pac.ocean/otemp.mnmean.nc"
Command file, command group, or REPEAT execution aborted
STOP -script mode, ERROR RUNNING SCRIPT statement executed
go "$1"
!-> go "/home/porter/rhs/tomcat_dist/apache-tomcat-5.5.15/webapps/armstrong/WEB-INF/classes/resources/ferret/temp/ferret_operation_1184854402557.jnl"
! Symbols from the server
DEFINE SYMBOL data_0_ID = CDC_DS17-otemp2027
DEFINE SYMBOL data_0_dataset_ID = NOAA-CIRES-CDC-Leetmaa_Ocean_Analysis
DEFINE SYMBOL data_0_dataset_doc = http://www.cdc.noaa.gov/cdc/data.ncep.pac.ocean.html
DEFINE SYMBOL data_0_dataset_name = NCEP Pacific Ocean Analysis
DEFINE SYMBOL data_0_ftds_url = http://porter.pmel.noaa.gov:8920/thredds/dodsC/las/NOAA-CIRES-CDC-Leetmaa_Ocean_Analysis/data__www.cdc.noaa.gov_cgi-bin_nph-nc_Datasets_ncep.pac.ocean_otemp.mnmean.nc.jnl
DEFINE SYMBOL data_0_grid_type = regular
DEFINE SYMBOL data_0_intervals = xyzt
DEFINE SYMBOL data_0_name = Ocean Temperature monthly mean at multiple levels
DEFINE SYMBOL data_0_points = xyzt
DEFINE SYMBOL data_0_region = region_0
DEFINE SYMBOL data_0_title = Ocean Temperature monthly mean at multiple levels
DEFINE SYMBOL data_0_units = degC
DEFINE SYMBOL data_0_url = http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.pac.ocean/otemp.mnmean.nc
DEFINE SYMBOL data_0_var = otemp
DEFINE SYMBOL data_0_xpath = /lasdata/datasets/NOAA-CIRES-CDC-Leetmaa_Ocean_Analysis/variables/CDC_DS17-otemp2027
DEFINE SYMBOL data_count = 1
DEFINE SYMBOL ferret_fill_type = fill
DEFINE SYMBOL ferret_format = shade
DEFINE SYMBOL ferret_interpolate_data = false
DEFINE SYMBOL ferret_land_type = contour
DEFINE SYMBOL ferret_mark_grid = no
DEFINE SYMBOL ferret_service_action = Plot_2D_XY
DEFINE SYMBOL ferret_size = 0.5
DEFINE SYMBOL ferret_view = xy
DEFINE SYMBOL las_debug = info
DEFINE SYMBOL operation_ID = Plot_2D_XY
DEFINE SYMBOL operation_key = 2EE272CCBF05CD3E6AF35C7D975094B2
DEFINE SYMBOL operation_name = 2D Plot in XY
DEFINE SYMBOL operation_service = ferret
DEFINE SYMBOL operation_service_action = Plot_2D_XY
DEFINE SYMBOL product_server_0_ps_timeout = 3600
DEFINE SYMBOL product_server_0_ui_timeout = 20
DEFINE SYMBOL product_server_0_use_cache = true
DEFINE SYMBOL region_0_t_hi = 01-Jan-1980
DEFINE SYMBOL region_0_t_lo = 01-Jan-1980
DEFINE SYMBOL region_0_x_hi = 288.5
DEFINE SYMBOL region_0_x_lo = 122.0
DEFINE SYMBOL region_0_y_hi = 45.0
DEFINE SYMBOL region_0_y_lo = -35.0
DEFINE SYMBOL region_0_z_hi = 500.00
DEFINE SYMBOL region_0_z_lo = 500.00
DEFINE SYMBOL result_cancel_ID = cancel
DEFINE SYMBOL result_cancel_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/2EE272CCBF05CD3E6AF35C7D975094B2_cancel.txt
DEFINE SYMBOL result_cancel_type = cancel
DEFINE SYMBOL result_count = 7
DEFINE SYMBOL result_debug_ID = debug
DEFINE SYMBOL result_debug_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/2EE272CCBF05CD3E6AF35C7D975094B2_debug.txt
DEFINE SYMBOL result_debug_type = debug
DEFINE SYMBOL result_map_scale_ID = map_scale
DEFINE SYMBOL result_map_scale_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/2EE272CCBF05CD3E6AF35C7D975094B2_map_scale.xml
DEFINE SYMBOL result_map_scale_type = map_scale
DEFINE SYMBOL result_plot_image_ID = plot_image
DEFINE SYMBOL result_plot_image_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/2EE272CCBF05CD3E6AF35C7D975094B2_plot_image.gif
DEFINE SYMBOL result_plot_image_type = image
DEFINE SYMBOL result_plot_postscript_ID = plot_postscript
DEFINE SYMBOL result_plot_postscript_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/2EE272CCBF05CD3E6AF35C7D975094B2_plot_postscript.ps
DEFINE SYMBOL result_plot_postscript_type = ps
DEFINE SYMBOL result_ref_map_ID = ref_map
DEFINE SYMBOL result_ref_map_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/2EE272CCBF05CD3E6AF35C7D975094B2_ref_map.gif
DEFINE SYMBOL result_ref_map_type = image
DEFINE SYMBOL result_rss_ID = rss
DEFINE SYMBOL result_rss_filename = /home/porter/rhs/tomcat/webapps/armstrong/output/57D3B3E7CDB9A316163E366B7CB5E9D8_rss.rss
DEFINE SYMBOL result_rss_type = rss
GO ($operation_service_action)
!-> GO Plot_2D_XY
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! $Author: rhs $
!
! Plot_2d_XY.jnl decides which script to call to make a 2D plot.
! In the "old" LAS UI a 2D plot has for XY has different options and other
! UI characteristics than other 2D plots so it needs its own script.
!
IF ($ferret_view"|xy>1|*>0") THEN
!-> IF 1 THEN
!! Make a plot in XY...
go xy_plot_2D
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! $RCSfile: xy_plot_2D.jnl,v $
! $Revision: 1.12 $
!
! $Author: ansley $
! $Date: 2006/08/11 16:45:54 $
! 2006/07/19 Fix test of ($ferret_contour_levels"0|*>1")
! 3/7/2007: ACM. Put code to check that the region was not too small, resulting
! in degenerate plot into LAS_initialize_data.jnl rather than in the
! individual plot scripts.
! 3/29/2007 ACM Fix logic interpreting contents of ferret_interpolate_data
! XY_plot.jnl creates an XY plot for use with the Back End Server
! code that sits behind a Live Access Server (LAS).
!
! NOTE: This code handles overlays but not differencing.
!
! TODO: We should support user choice of the 'base layer' variable.
! TODO: From the Ferret script writers' perspective it would be nice
! TODO: if this were handled in the UI so that ($data_0_...) always
! TODO: referred to the base layer.
! Set any Ferret modes
!
! NOTE: Should we support any of the following Ferrt modes?
! NOTE: ASCII_FONT, CALENDAR, DEPTH_LABEL, LABELS, LATIT_LABEL, LONG_LABEL
IF ($ferret_interpolate_data%0|false>0|true>1|1|0|*>1%) THEN SET MODE INTERPOLATE
!-> IF 0 THEN SET MODE INTERPOLATE
DEFINE SYMBOL fview = `UPCASE("($ferret_view)")`
!-> DEFINE SYMBOL fview = XY
! Define symbols associated with the regign and data and perform any
! initialization needed for this dataset.
!
! NOTE: Adding support for a 'base layer' variable would mean passing
! NOTE: some other argument. For now, though, we always use 'data_0'
! NOTE: for the base layer and region.
GO LAS_initialize_region 0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! $RCSfile: LAS_initialize_region.jnl,v $
! $Revision: 1.1 $
!
! $Author: ansley $
! $Date: 2006/07/06 17:54:11 $
!
! The LAS_initialize_region.jnl script defines the following symbols
! based on the region associated with data_#:
!
! region_~_lo/hi -- lo and hi points on a given axis
! region_~_range -- numeric range on a given axis
! region_~ -- domain in 'lo:hi' notation
! region_full -- synonym for 'region_xyzt'
! Incoming argument determines which region to use
! The default number is 0, and the default region is region_0.
! If we are making only a map, then there are no data_ symbols
! defined, so data_0_region is not set, but we can define region
! as region_0.
DEFINE SYMBOL num ($1"0")
!-> DEFINE SYMBOL num 0
DEFINE SYMBOL region_name data_($num)_region
!-> DEFINE SYMBOL region_name data_0_region
DEFINE SYMBOL region ($($region_name)"region_0")
!-> DEFINE SYMBOL region region_0
! Cancel any previously set limits or region symbols
CANCEL SYMBOL limits_x
CANCEL SYMBOL limits_y
CANCEL SYMBOL limits_z
CANCEL SYMBOL limits_t
CANCEL SYMBOL region_x
CANCEL SYMBOL region_y
CANCEL SYMBOL region_z
CANCEL SYMBOL region_t
CANCEL SYMBOL region_xy
CANCEL SYMBOL region_xz
CANCEL SYMBOL region_xt
CANCEL SYMBOL region_yz
CANCEL SYMBOL region_yt
CANCEL SYMBOL region_zt
CANCEL SYMBOL region_xyz
CANCEL SYMBOL region_xyt
CANCEL SYMBOL region_xzt
CANCEL SYMBOL region_yzt
CANCEL SYMBOL region_xyzt
CANCEL SYMBOL region_full
! NOTE: Occasionally the LAS applet will send in a longitude or latitude
! NOTE: that looks like "24.400000000000002". Such long, numerically
! NOTE: irrelevant numbers can overflow Ferret's maximum symbol length.
! NOTE: Rounding longitudes and latitudes to the nearest .00001 seems
! NOTE: reasonable for all but the most detailed datasets.
! NOTE: 'region_x_m360' and 'region_x_p360' are used for those visualizations
! NOTE: where Ferret doesn't auomatically deal with the modulo nature of
! NOTE: longitude and allow the script writer to deal with this manually.
IF ($($region)_x_lo"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_x_lo = `INT(100000 * ($($region)_x_lo)) / 100000`
!-> DEFINE SYMBOL region_x_lo = 122
DEFINE SYMBOL region_x_hi = `INT(100000 * ($($region)_x_hi)) / 100000`
!-> DEFINE SYMBOL region_x_hi = 288.5
DEFINE SYMBOL limits_x = ($region_x_lo):($region_x_hi)
!-> DEFINE SYMBOL limits_x = 122:288.5
DEFINE SYMBOL limits_x_m360 = `($region_x_lo)-360`:`($region_x_hi)-360`
!-> DEFINE SYMBOL limits_x_m360 = -238:-71.5
DEFINE SYMBOL limits_x_p360 = `($region_x_lo)+360`:`($region_x_hi)+360`
!-> DEFINE SYMBOL limits_x_p360 = 482:648.5
DEFINE SYMBOL region_x = X=($region_x_lo):($region_x_hi)
!-> DEFINE SYMBOL region_x = X=122:288.5
DEFINE SYMBOL region_x_m360 X=`($region_x_lo)-360`:`($region_x_hi)-360`
!-> DEFINE SYMBOL region_x_m360 X=-238:-71.5
DEFINE SYMBOL region_x_p360 X=`($region_x_lo)+360`:`($region_x_hi)+360`
!-> DEFINE SYMBOL region_x_p360 X=482:648.5
IF `($region_x_hi) GE ($region_x_lo)` THEN
!-> IF 1 THEN
DEFINE SYMBOL region_x_range = `($region_x_hi) - ($region_x_lo)`
!-> DEFINE SYMBOL region_x_range = 166.5
ELSE
ENDIF
ENDIF
IF ($($region)_y_lo"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_y_lo = `INT(1000 * ($($region)_y_lo)) / 1000`
!-> DEFINE SYMBOL region_y_lo = -35
DEFINE SYMBOL region_y_hi = `INT(1000 * ($($region)_y_hi)) / 1000`
!-> DEFINE SYMBOL region_y_hi = 45
DEFINE SYMBOL limits_y = ($region_y_lo):($region_y_hi)
!-> DEFINE SYMBOL limits_y = -35:45
DEFINE SYMBOL region_y = Y=($region_y_lo):($region_y_hi)
!-> DEFINE SYMBOL region_y = Y=-35:45
IF `($region_y_hi) GE ($region_y_lo)` THEN
!-> IF 1 THEN
DEFINE SYMBOL region_y_range = `($region_y_hi) - ($region_y_lo)`
!-> DEFINE SYMBOL region_y_range = 80
ELSE
ENDIF
ENDIF
IF ($($region)_z_lo"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_z_lo = ($($region)_z_lo)
!-> DEFINE SYMBOL region_z_lo = 500.00
DEFINE SYMBOL region_z_hi = ($($region)_z_hi)
!-> DEFINE SYMBOL region_z_hi = 500.00
DEFINE SYMBOL limits_z = ($region_z_lo):($region_z_hi)
!-> DEFINE SYMBOL limits_z = 500.00:500.00
DEFINE SYMBOL region_z = Z=($region_z_lo):($region_z_hi)
!-> DEFINE SYMBOL region_z = Z=500.00:500.00
IF `($region_z_hi) GE ($region_z_lo)` THEN
!-> IF 1 THEN
DEFINE SYMBOL region_z_range = `($region_z_hi) - ($region_z_lo)`
!-> DEFINE SYMBOL region_z_range = 0
ELSE
ENDIF
ENDIF
! NOTE: Normally we use 'DEFINE SYMBOL ~ = ...'
! NOTE: For the time axis we use 'DEFINE SYMBOL ~ ...' because the Ferret
! NOTE: parser complains about unmatched quotes if we do it the other way.
IF ($($region)_t_lo"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_t_lo = ($($region)_t_lo)
!-> DEFINE SYMBOL region_t_lo = 01-Jan-1980
DEFINE SYMBOL region_t_hi = ($($region)_t_hi)
!-> DEFINE SYMBOL region_t_hi = 01-Jan-1980
DEFINE SYMBOL limits_t \"($region_t_lo)\":\"($region_t_hi)\"
!-> DEFINE SYMBOL limits_t \"01-Jan-1980\":\"01-Jan-1980\"
DEFINE SYMBOL region_t T=\"($region_t_lo)\":\"($region_t_hi)\"
!-> DEFINE SYMBOL region_t T=\"01-Jan-1980\":\"01-Jan-1980\"
ENDIF
! Now build up all possible multi-axis regions, being careful not to use
! commas when a region is missing
! region_xy
IF ($region_x"0|*>1") THEN
!-> IF 1 THEN
IF ($region_y"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_xy = ($region_x),($region_y)
!-> DEFINE SYMBOL region_xy = X=122:288.5,Y=-35:45
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_xz
IF ($region_x"0|*>1") THEN
!-> IF 1 THEN
IF ($region_z"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_xz = ($region_x),($region_z)
!-> DEFINE SYMBOL region_xz = X=122:288.5,Z=500.00:500.00
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_xt
IF ($region_x"0|*>1") THEN
!-> IF 1 THEN
IF ($region_t"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_xt = ($region_x),($region_t)
!-> DEFINE SYMBOL region_xt = X=122:288.5,T="01-Jan-1980":"01-Jan-1980"
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_yz
IF ($region_y"0|*>1") THEN
!-> IF 1 THEN
IF ($region_z"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_yz = ($region_y),($region_z)
!-> DEFINE SYMBOL region_yz = Y=-35:45,Z=500.00:500.00
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_yt
IF ($region_y"0|*>1") THEN
!-> IF 1 THEN
IF ($region_t"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_yt = ($region_y),($region_t)
!-> DEFINE SYMBOL region_yt = Y=-35:45,T="01-Jan-1980":"01-Jan-1980"
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_zt
IF ($region_z"0|*>1") THEN
!-> IF 1 THEN
IF ($region_t"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_zt = ($region_z),($region_t)
!-> DEFINE SYMBOL region_zt = Z=500.00:500.00,T="01-Jan-1980":"01-Jan-1980"
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_xyz
IF ($region_xy"0|*>1") THEN
!-> IF 1 THEN
IF ($region_z"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_xyz = ($region_xy),($region_z)
!-> DEFINE SYMBOL region_xyz = X=122:288.5,Y=-35:45,Z=500.00:500.00
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_xyt
IF ($region_xy"0|*>1") THEN
!-> IF 1 THEN
IF ($region_t"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_xyt = ($region_xy),($region_t)
!-> DEFINE SYMBOL region_xyt = X=122:288.5,Y=-35:45,T="01-Jan-1980":"01-Jan-1980"
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_yzt
IF ($region_yz"0|*>1") THEN
!-> IF 1 THEN
IF ($region_t"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_yzt = ($region_yz),($region_t)
!-> DEFINE SYMBOL region_yzt = Y=-35:45,Z=500.00:500.00,T="01-Jan-1980":"01-Jan-1980"
ELSE
ENDIF
ELSE
ENDIF
ENDIF
! region_xyzt
IF ($region_xyz"0|*>1") THEN
!-> IF 1 THEN
IF ($region_t"0|*>1") THEN
!-> IF 1 THEN
DEFINE SYMBOL region_xyzt = ($region_xyz),($region_t)
!-> DEFINE SYMBOL region_xyzt = X=122:288.5,Y=-35:45,Z=500.00:500.00,T="01-Jan-1980":"01-Jan-1980"
ELSE
ENDIF
ELSE
ENDIF
ENDIF
DEFINE SYMBOL region_full = ($region_xyzt)
!-> DEFINE SYMBOL region_full = X=122:288.5,Y=-35:45,Z=500.00:500.00,T="01-Jan-1980":"01-Jan-1980"
! If no regions have been defined then we have an error.
IF ($region_full"1|*>0") THEN
!-> IF 0 THEN
ENDIF
! End of LAS_initialize_region.jnl ------------------------------------------------------
GO ($ferret_init_script"LAS_initialize_data|*>*") 0
!-> GO LAS_initialize_data 0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! $RCSfile: LAS_initialize_data.jnl,v $
! $Revision: 1.2 $
!
! $Author: ansley $
! $Date: 2007/29/2007
!
! The LAS_initialize_data.jnl script takes care of everything having to
! do with initializing a datset for later use.
!
! LAS_initialize_data.jnl takes an argument that specifies which data
! item [0|1|2|3|...] to create symbols for.
!
! 3/2007:
! split up previous version of LAS_initialize_data.jnl into two;
! initialize the dataset and define the plot (or output listing) variable.
! This allows the custom init scripts to call LAS_initialize_dataset, then
! issue commands for the customization, then call LAS_initialize_variable
!
GO LAS_initialize_dataset ($1"0")
!-> GO LAS_initialize_dataset 0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! $RCSfile: LAS_initialize_dataset.jnl
! This is the first part of LAS_initialize_data.jnl used for standard and
! customized init scripts
! $Author: ansley, jing
! $Date: 2007/29/2007
! 6/29/2007
! Allow for data_0_units or data_1_units etc to be defined a null string or a
! string containing a single space. If data_0_units is either undefined or is
! one of these blank strings, then use the attnames syntax to see if the dataset
! variable has units defined, and if so define the data_units symbol from that.
! The LAS_initialize_data.jnl script takes care of everything having to
! do with initializing a datset for later use.
!
! LAS_initialize_data.jnl takes an argument that specifies which data
! item [0|1|2|3|...] to create symbols for.
!ACM_note: if we use a loop in the plot routine, we are not
! limited to 9 data items
! DEFINE SYMBOL num ($1"0|0|1|2|3|4|5|6|7|8|9")
DEFINE SYMBOL num ($1"0")
!-> DEFINE SYMBOL num 0
! TODO: It would be nice if the java code removed this dependency upon
! TODO: whether an operation was 'chained' or not.
! Check whether the source data was part of a 'chained' operation.
!ACM note: How does this jibe with what I do below changing data_url to data_num??
IF ($data_($num)_chained"0|1|*>1) THEN
!-> IF 0 THEN
ELSE
DEFINE SYMBOL data_url \"($data_($num)_url)\"
!-> DEFINE SYMBOL data_url \"http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.pac.ocean/otemp.mnmean.nc\"
ENDIF
IF ($data_($num)_var"0|*>1") THEN DEFINE SYMBOL data_var ($data_($num)_var)
!-> IF 1 THEN DEFINE SYMBOL data_var otemp
!-> DEFINE SYMBOL data_var otemp
IF ($data_($num)_units"0|*>1") THEN DEFINE SYMBOL data_units (($data_($num)_units))
!-> IF 1 THEN DEFINE SYMBOL data_units (degC)
!-> DEFINE SYMBOL data_units (degC)
! Do not define data_units with an empty string
IF ($data_($num)_units%1|"">1|*>0%) THEN CANCEL SYMBOL data_units
!-> IF 0 THEN CANCEL SYMBOL data_units
IF ($data_($num)_units%1|" ">1|*>0%) THEN CANCEL SYMBOL data_units
!-> IF 0 THEN CANCEL SYMBOL data_units
IF ($data_($num)_name"0|1|*>1) THEN
!-> IF 1 THEN
IF ($data_($num)_title"0|*>1") THEN DEFINE SYMBOL data_title ($data_($num)_title)
!-> IF 1 THEN DEFINE SYMBOL data_title Ocean Temperature monthly mean at multiple levels
!-> DEFINE SYMBOL data_title Ocean Temperature monthly mean at multiple levels
ELSE
ENDIF
DEFINE SYMBOL ferret_plot_title "($data_title) ($data_units)"
!-> DEFINE SYMBOL ferret_plot_title "Ocean Temperature monthly mean at multiple levels (degC)"
! TODO: Use new error features in Ferret to turn off STDERR and check
! TODO: for Ferret error symbols to see if the SET DATA command actually worked.
! SET DATA and check for errors
SET DATA ($data_url)
!-> SET DATA "http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.pac.ocean/otemp.mnmean.nc"