[Thread Prev][Thread Next][Index]

Re: [las_users] LAS 7.0beta + Tomcat6



Hi,

What version of ferret are you running?

Roland

lele wrote:
Dear LAS people,

I've just installed LAS 7.0 beta on my linux machine running Tomcat 6 and Apache 2.2.3

In the prerequisites of LAS 7.0 beta is written that "Tomcat 6+ won't work with our installation scripts. You'll have to fudge it if you want to use 6+. Bottom line: get 5.5.25." Despite of that I tried to install LAS 7.0beta on my running Tomcat 6 and I had no problem, so I thought It was all fine.

Unfortunately I have the following problems:

1) the first plot I ask is properly done without any error (I can also zoom it.), BUT the all the plot options are NULL

2) I get errors whenever I ask for any further plot (even the same variable of the same file)

I use the coads_climatology.cdf which comes with Ferret. As i said the first plot is OK but if I click the "update plot" or if I change variable or file, then I get an error. I'm not experienced in Ferret nor in Tomcat so I would really like to have your kind help.
Thank you very much from Italy,
Emanuele Lombardi

This is the error log I get on the browser when I ask LAS to plot again "sea level pressure" of the COADS climatology file:

 **ERROR: command syntax: ""
DEFINE SYMBOL var_size = 0 + `pvar,RETURN=size`
Command file, command group, or REPEAT execution aborted
STOP -script mode, ERROR RUNNING SCRIPT statement executed

go "$1"
!-> go "/usr/share/apache-tomcat-6.0.14/webapps/las/WEB-INF/classes/resources/ferret/temp/ferret_operation_1220862786923.jnl"
! Symbols from the server
                        DEFINE SYMBOL data_0_ID = slp
DEFINE SYMBOL data_0_dataset_ID = coads_climatology_cdf DEFINE SYMBOL data_0_dataset_name = climatologia COADS DEFINE SYMBOL data_0_dataset_url = file:coads_climatology DEFINE SYMBOL data_0_ftds_url = http://giotto.casaccia.enea.it:8080/thredds/dodsC/las/coads_climatology_cdf/data_coads_climatology.jnl
                                 DEFINE SYMBOL data_0_grid_type = regular
                                 DEFINE SYMBOL data_0_intervals = xyt
DEFINE SYMBOL data_0_name = SEA LEVEL PRESSURE
                                 DEFINE SYMBOL data_0_points = xyt
                                 DEFINE SYMBOL data_0_region = region_0
DEFINE SYMBOL data_0_title = SEA LEVEL PRESSURE
                                 DEFINE SYMBOL data_0_units = MB
                                 DEFINE SYMBOL data_0_url = coads_climatology
                                 DEFINE SYMBOL data_0_var = slp
DEFINE SYMBOL data_0_xpath = /lasdata/datasets/coads_climatology_cdf/variables/slp
                                 DEFINE SYMBOL data_count = 1
                                 DEFINE SYMBOL ferret_fill_type = fill
                                 DEFINE SYMBOL ferret_land_type = contour
                                 DEFINE SYMBOL ferret_service_action = Plot_2D
                                 DEFINE SYMBOL ferret_view = xt
                                 DEFINE SYMBOL las_debug = debug
                                 DEFINE SYMBOL operation_ID = Plot_2D
DEFINE SYMBOL operation_key = 94F4B7FBF5B8D2431C3504373FDC2140
                                 DEFINE SYMBOL operation_name = Color plot
                                 DEFINE SYMBOL operation_service = ferret
DEFINE SYMBOL operation_service_action = Plot_2D 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 = ""
             DEFINE SYMBOL region_0_t_lo = ""
                           DEFINE SYMBOL region_0_x_hi = 379.5
                                 DEFINE SYMBOL region_0_x_lo = 20.5
                                 DEFINE SYMBOL region_0_y_hi = 0
                                 DEFINE SYMBOL region_0_y_lo = 0
                                 DEFINE SYMBOL result_cancel_ID = cancel
DEFINE SYMBOL result_cancel_filename = /usr/share/tomcat/webapps/las/output/94F4B7FBF5B8D2431C3504373FDC2140_cancel.txt
                                 DEFINE SYMBOL result_cancel_type = cancel
                                 DEFINE SYMBOL result_count = 6
                                 DEFINE SYMBOL result_debug_ID = debug
DEFINE SYMBOL result_debug_filename = /usr/share/tomcat/webapps/las/output/94F4B7FBF5B8D2431C3504373FDC2140_debug.txt
                                 DEFINE SYMBOL result_debug_type = debug
                                 DEFINE SYMBOL result_map_scale_ID = map_scale
DEFINE SYMBOL result_map_scale_filename = /usr/share/tomcat/webapps/las/output/94F4B7FBF5B8D2431C3504373FDC2140_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 = /usr/share/tomcat/webapps/las/output/94F4B7FBF5B8D2431C3504373FDC2140_plot_image.gif
                                 DEFINE SYMBOL result_plot_image_type = image
                                 DEFINE SYMBOL result_ref_map_ID = ref_map
DEFINE SYMBOL result_ref_map_filename = /usr/share/tomcat/webapps/las/output/94F4B7FBF5B8D2431C3504373FDC2140_ref_map.gif
                                 DEFINE SYMBOL result_ref_map_type = image
                                 DEFINE SYMBOL result_rss_ID = rss
DEFINE SYMBOL result_rss_filename = /usr/share/tomcat/webapps/las/output/747D8B169C804F15CE35DB2ADE2929FD_rss.rss
                                 DEFINE SYMBOL result_rss_type = rss
         GO ($operation_service_action)
 !-> GO Plot_2D
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! $Author: rhs $
!
! Plot_2d.jnl decides which script to call to make a 2D plot.
! In the "old" LAS UI a 2D plot has the same options and other
! UI characteristics regardless of the view (except XY) so it's easier
! to have one script like this to drive all the others.
! In the new UI it's likely we'll define one operation per
! dimension.
!
IF ($ferret_view"|xt>1|*>0") THEN
 !-> IF 1 THEN
!! Make a plot in XT...
   go xt_plot_2D
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! $RCSfile: xy_plot_2D.jnl,v $
! $Revision: 1.12 $
!
! $Author: ansley $
! $Date: 2006/08/11 16:45:54 $
! 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
! 7/15/2007 ACM Add lines to remove labels when a degenerate 2D plot is made
! This happens when the region chosen is smaller than a grid cell.
! 3/2008 ACM Use SHADE/TRIM for shade underlays of FILL plots (Ferret v6.1)
! XT_plot.jnl creates an XT 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 = XT
! 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.
!
! ACM trac 267: Do not cancel any previously set limits or region symbols;
! The previous v6 UI as to how it worked in the old product server expects
! to inherit some or all region info from the first dataset for use by the
! second in comparisons etc. Keep this behavior.
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
! 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 = 20.5
  DEFINE SYMBOL region_x_hi = `INT(100000 * ($($region)_x_hi)) / 100000`
 !-> DEFINE SYMBOL region_x_hi = 379.5
  DEFINE SYMBOL limits_x = ($region_x_lo):($region_x_hi)
 !-> DEFINE SYMBOL limits_x = 20.5:379.5
  DEFINE SYMBOL limits_x_m360 = `($region_x_lo)-360`:`($region_x_hi)-360`
 !-> DEFINE SYMBOL limits_x_m360 = -339.5:19.5
  DEFINE SYMBOL limits_x_p360 = `($region_x_lo)+360`:`($region_x_hi)+360`
 !-> DEFINE SYMBOL limits_x_p360 = 380.5:739.5
  DEFINE SYMBOL region_x = X=($region_x_lo):($region_x_hi)
 !-> DEFINE SYMBOL region_x = X=20.5:379.5
  DEFINE SYMBOL region_x_m360 X=`($region_x_lo)-360`:`($region_x_hi)-360`
 !-> DEFINE SYMBOL region_x_m360 X=-339.5:19.5
  DEFINE SYMBOL region_x_p360 X=`($region_x_lo)+360`:`($region_x_hi)+360`
 !-> DEFINE SYMBOL region_x_p360 X=380.5:739.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 = 359
  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 = 0
  DEFINE SYMBOL region_y_hi = `INT(1000 * ($($region)_y_hi)) / 1000`
 !-> DEFINE SYMBOL region_y_hi = 0
  DEFINE SYMBOL limits_y = ($region_y_lo):($region_y_hi)
 !-> DEFINE SYMBOL limits_y = 0:0
  DEFINE SYMBOL region_y = Y=($region_y_lo):($region_y_hi)
 !-> DEFINE SYMBOL region_y = Y=0:0
  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 = 0
  ELSE
  ENDIF
ENDIF
IF ($($region)_z_lo"0|*>1") THEN
 !-> IF 0 THEN
  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 = ""
  DEFINE SYMBOL region_t_hi = ($($region)_t_hi)
 !-> DEFINE SYMBOL region_t_hi = ""
  DEFINE SYMBOL limits_t \"($region_t_lo)\":\"($region_t_hi)\"
 !-> DEFINE SYMBOL limits_t \"""\":\"""\"
  DEFINE SYMBOL region_t T=\"($region_t_lo)\":\"($region_t_hi)\"
 !-> DEFINE SYMBOL region_t T=\"""\":\"""\"
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=20.5:379.5,Y=0:0
  ELSE
  ENDIF
ELSE
  ENDIF
ENDIF
! region_xz
IF ($region_x"0|*>1") THEN
 !-> IF 1 THEN
  IF ($region_z"0|*>1") THEN
 !-> IF 0 THEN
  ELSE
    DEFINE SYMBOL region_xz = ($region_x)
 !-> DEFINE SYMBOL region_xz = X=20.5:379.5
  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=20.5:379.5,T="""":""""
  ELSE
  ENDIF
ELSE
  ENDIF
ENDIF
! region_yz
IF ($region_y"0|*>1") THEN
 !-> IF 1 THEN
  IF ($region_z"0|*>1") THEN
 !-> IF 0 THEN
  ELSE
    DEFINE SYMBOL region_yz = ($region_y)
 !-> DEFINE SYMBOL region_yz = Y=0:0
  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=0:0,T="""":""""
  ELSE
  ENDIF
ELSE
  ENDIF
ENDIF
! region_zt
IF ($region_z"0|*>1") THEN
 !-> IF 0 THEN
  ENDIF
ELSE
  IF ($region_t"0|*>1") THEN
 !-> IF 1 THEN
    DEFINE SYMBOL region_zt = ($region_t)
 !-> DEFINE SYMBOL region_zt = T="""":""""
  ENDIF
ENDIF
! region_xyz
IF ($region_xy"0|*>1") THEN
 !-> IF 1 THEN
  IF ($region_z"0|*>1") THEN
 !-> IF 0 THEN
  ELSE
    DEFINE SYMBOL region_xyz = ($region_xy)
 !-> DEFINE SYMBOL region_xyz = X=20.5:379.5,Y=0:0
  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=20.5:379.5,Y=0:0,T="""":""""
  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=0:0,T="""":""""
  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=20.5:379.5,Y=0:0,T="""":""""
  ELSE
  ENDIF
ELSE
  ENDIF
ENDIF
DEFINE SYMBOL region_full = ($region_xyzt)
 !-> DEFINE SYMBOL region_full = X=20.5:379.5,Y=0:0,T="""":""""
! For sampling from a curvilinear variable, save the region definitions with
! the variable number.
IF ($region_x"0|*>1") THEN DEFINE SYMBOL region_($num)_x = ($region_x)
 !-> IF 1 THEN DEFINE SYMBOL region_0_x = X=20.5:379.5
 !-> DEFINE SYMBOL region_0_x = X=20.5:379.5
IF ($region_y"0|*>1") THEN DEFINE SYMBOL region_($num)_y = ($region_y)
 !-> IF 1 THEN DEFINE SYMBOL region_0_y = Y=0:0
 !-> DEFINE SYMBOL region_0_y = Y=0:0
IF ($region_z"0|*>1") THEN DEFINE SYMBOL region_($num)_z = ($region_z)
 !-> IF 0 THEN DEFINE SYMBOL region_0_z =
IF ($region_t"0|*>1") THEN DEFINE SYMBOL region_($num)_t = ($region_t)
 !-> IF 1 THEN DEFINE SYMBOL region_0_t = T="""":""""
 !-> DEFINE SYMBOL region_0_t = T="""":""""
IF ($region_xt"0|*>1") THEN DEFINE SYMBOL region_($num)_xt = ($region_xt)
 !-> IF 1 THEN DEFINE SYMBOL region_0_xt = X=20.5:379.5,T="""":""""
 !-> DEFINE SYMBOL region_0_xt = X=20.5:379.5,T="""":""""
IF ($region_xy"0|*>1") THEN DEFINE SYMBOL region_($num)_xy = ($region_xy)
 !-> IF 1 THEN DEFINE SYMBOL region_0_xy = X=20.5:379.5,Y=0:0
 !-> DEFINE SYMBOL region_0_xy = X=20.5:379.5,Y=0:0
IF ($region_xz"0|*>1") THEN DEFINE SYMBOL region_($num)_xz = ($region_xz)
 !-> IF 1 THEN DEFINE SYMBOL region_0_xz = X=20.5:379.5
 !-> DEFINE SYMBOL region_0_xz = X=20.5:379.5
IF ($region_yt"0|*>1") THEN DEFINE SYMBOL region_($num)_yt = ($region_yt)
 !-> IF 1 THEN DEFINE SYMBOL region_0_yt = Y=0:0,T="""":""""
 !-> DEFINE SYMBOL region_0_yt = Y=0:0,T="""":""""
IF ($region_yz"0|*>1") THEN DEFINE SYMBOL region_($num)_yz = ($region_yz)
 !-> IF 1 THEN DEFINE SYMBOL region_0_yz = Y=0:0
 !-> DEFINE SYMBOL region_0_yz = Y=0:0
IF ($region_zt"0|*>1") THEN DEFINE SYMBOL region_($num)_zt = ($region_zt)
 !-> IF 1 THEN DEFINE SYMBOL region_0_zt = T="""":""""
 !-> DEFINE SYMBOL region_0_zt = T="""":""""
! 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 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
!
! 8/2007:
! The custom init scripts now consist of only SET DATA and the custom commands.
! This lets F-TDS run first and call the init script to create the data set
! that will be used by the Ferret product script. When F-TDS is done it will
! not send the symbol ferret_init_script to the product scripts so we will just skip
! that step.
!
! 8/2007:
! Some of the custom init scripts previously contained commands like SET MEMORY ! or SET MODE which are intended to be executed by the product script These need ! to be separated from commands for fixing grids or regridding which are executed ! prior to the product script being run by F-TDS. These commands are to be specified ! in the dataset configuration as ferret_init_commands, whose the value is a set
! of Ferret commands separated by semicolons.
!
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 \"coads_climatology\"
ENDIF
IF ($data_($num)_var"0|*>1") THEN DEFINE SYMBOL data_var ($data_($num)_var)
 !-> IF 1 THEN DEFINE SYMBOL data_var slp
 !-> DEFINE SYMBOL data_var slp
IF ($data_($num)_units"0|*>1") THEN
 !-> IF 1 THEN
   DEFINE SYMBOL data_units (($data_($num)_units))
 !-> DEFINE SYMBOL data_units (MB)
   IF `STRINDEX("($data_units)", "((") GT 0` THEN \
     DEFINE SYMBOL data_units ($data_($num)_units)
 !-> IF 0 THEN      DEFINE SYMBOL data_units MB
ENDIF
! 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 SEA LEVEL PRESSURE
 !-> DEFINE SYMBOL data_title SEA LEVEL PRESSURE
ELSE
ENDIF
DEFINE SYMBOL ferret_plot_title "($data_title) ($data_units)"
 !-> DEFINE SYMBOL ferret_plot_title "SEA LEVEL PRESSURE (MB)"
! 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 "coads_climatology"
IF ($fer_last_error"0|*>1") THEN
 !-> IF 0 THEN
ENDIF
! End of $RCSfile ------------LAS_initialize_dataset.jnl-------------------------- IF ($ferret_init_script"0|*>1") THEN GO ($ferret_init_script) ($1"0")
 !-> IF 0 THEN GO   0
IF ($ferret_init_commands"0|*>1") THEN
 !-> IF 0 THEN
ENDIF
GO LAS_initialize_variable
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! $RCSfile: LAS_initialize_variable.jnl
! $Revision: 1.1
!
! $Author: Ansley, Jing $
! $Date: 2007/29/2007
! ACM 4/2007 apply ferret_expression2 to second plot of comparisons.
! ACM 8/2007 Call LAS_auto_levels to set up auto contour/fill levels.
! 3/2008 ACM Use SHADE/TRIM for shade underlays of FILL plots (Ferret v6.1),
!            so no need to call LAS_define_region_plus_1.jnl
!
! this is the second part of LAS_initialize_data.jnl
! Define the plot variable. For comparison plots, we want to save the dataset number
! for each dataset.
DEFINE SYMBOL data_num = `($data_var),RETURN=dsetnum`
 !-> DEFINE SYMBOL data_num = 1
DEFINE SYMBOL data_($num)_num = `($data_var),RETURN=dsetnum`
 !-> DEFINE SYMBOL data_0_num = 1
! Be sure units and title are defined.
! If units are not defined, try to get units from the data variable.
! If the variable in the file has no units, leave data_units symbol undefined.
LET anames = ($data_var).attnames
 !-> DEFINE VARIABLE anames = slp.attnames
IF `IS_ELEMENT_OF_STR (anames, "units") OR IS_ELEMENT_OF_STR (anames, "UNITS")` THEN
 !-> IF 1 THEN
DEFINE SYMBOL data_var_units `($data_var),RETURN=units`123 ! check for empty units string.
 !-> DEFINE SYMBOL data_var_units MB123
   IF `STRLEN("($data_var_units)" ) EQ 3` THEN
 !-> IF 0 THEN
   ELSE
      DEFINE SYMBOL data_var_units `($data_var),RETURN=units`
 !-> DEFINE SYMBOL data_var_units MB
      DEFINE SYMBOL data_units (`($data_var),RETURN=units`)
 !-> DEFINE SYMBOL data_units (MB)
   ENDIF
ENDIF
DEFINE SYMBOL ferret_plot_title "($data_title) ($data_units)"
 !-> DEFINE SYMBOL ferret_plot_title "SEA LEVEL PRESSURE (MB)"
IF `($data_title"0|*>1") EQ 0` THEN
 !-> IF 0 THEN
ENDIF
DEFINE SYMBOL ferret_plot_var = ($data_var)[d=($data_num),($region_full)]
 !-> DEFINE SYMBOL ferret_plot_var = slp[d=1,X=20.5:379.5,Y=0:0,T="""":""""]
DEFINE SYMBOL ferret_plot_var_noregion = ($data_var)[d=($data_num)]
 !-> DEFINE SYMBOL ferret_plot_var_noregion = slp[d=1]
DEFINE SYMBOL ferret_plot_base_var = ($ferret_plot_var)
!-> DEFINE SYMBOL ferret_plot_base_var = slp[d=1,X=20.5:379.5,Y=0:0,T="""":""""]
DEFINE SYMBOL ferret_plot_base_var_noregion = ($data_var)[d=($data_num)]
 !-> DEFINE SYMBOL ferret_plot_base_var_noregion = slp[d=1]
! Needed for transform_seasonal, save variable definition without any ! time-region information that may be added, and also with the time region only DEFINE SYMBOL ferret_xyz_var = ($data_var)[d=($data_num),($region_xyz)]
 !-> DEFINE SYMBOL ferret_xyz_var = slp[d=1,X=20.5:379.5,Y=0:0]
DEFINE SYMBOL ferret_t_var = ($data_var)[d=($data_num),($region_t)]
 !-> DEFINE SYMBOL ferret_t_var = slp[d=1,T="""":""""]
! Apply the expression in ferret_expression. $ represents the variable. ! Check if we are working with the second of two variables in comparison mode
IF ($variables_initialized"0|*>1") THEN
 !-> IF 0 THEN
ENDIF
! The side by side plots pretend that the second plot is plot 1, so
IF `STRCMP("($operation_service_action)", "Side2") EQ 0` THEN
 !-> IF 0 THEN
ENDIF
IF ($ferret_expression"0|*>1") THEN GO LAS_expression
 !-> IF 0 THEN GO LAS_expression
! Apply any transforms that may have been specified.
GO LAS_transforms ($variables_initialized"0|*>1")
 !-> GO LAS_transforms 0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! LAS_transforms.jnl
!
! $Author: ansley $
! $Date: 2006/09/27  $
! 2007/3/13 ACM changes for all slices of curvilinear data.
! 4/2007 ACM Apply Ferret symbols for any expression that may have been defined !
! LAS_transforms.jnl applies one or more transforms to $ferret_plot_var
! This script is called from LAS_initialize_data after the region and
! data have been initialized.
! Argument is the variable number (0 or 1 if this is a comparison)
DEFINE SYMBOL num ($1"0")
 !-> DEFINE SYMBOL num 0
! Transform to 3-month seasonal averages, with desired centering
IF `($constraint_0_lhs"0|Seasonal_Regridding>1|*>0")` THEN
 !-> IF 0 THEN
ENDIF
! Transform to 1-season per year, centered on any month, with season being 1, 3, or 5 months long.
IF `STRINDEX("($constraint_0_lhs"0")", "Season_length") GT 0` THEN
 !-> IF 0 THEN
ENDIF
! See if the grid is curvilinear in XY, Hybrid Z or both DEFINE SYMBOL do_curvi_xy = 0
DEFINE SYMBOL do_hybrid_z = 0
DEFINE SYMBOL do_curvi_xy_and_hybrid_z = 0
IF ($ferret_curvi_coord_lat"0|*>1") THEN DEFINE SYMBOL do_curvi_xy = 1
 !-> IF 0 THEN DEFINE SYMBOL do_curvi_xy = 1
IF ($ferret_thk_var"0|*>1") THEN  DEFINE SYMBOL do_hybrid_z = 1
 !-> IF 0 THEN  DEFINE SYMBOL do_hybrid_z = 1
IF `($do_curvi_xy) + ($do_hybrid_z) EQ 2` THEN DEFINE SYMBOL do_curvi_xy_and_hybrid_z = 1
 !-> IF 0 THEN DEFINE SYMBOL do_curvi_xy_and_hybrid_z = 1
IF ($do_curvi_xy_and_hybrid_z) THEN
 !-> IF 0 THEN
ELIF ($do_curvi_xy) THEN ! Set up to deal with curvilinear XY data
 !-> ELIF 0 THEN
ELIF ($do_hybrid_z) THEN  ! Set up to deal with hybrid-Z data.
 !-> ELIF 0 THEN
ENDIF
! End of $RCSfile ------------LAS_transforms.jnl------------------------------- ! Get any DEFINE VARIABLE analysis definitions
! This renames the data variable, and so redefines the symbol data_var
! and sets up the analysis: e.g. ,z=0:2000@ave
! unComment this for testing. IF ($data_0_analysis_label"0|*>1") THEN
 !-> IF 0 THEN
   ENDIF
ENDIF
! Keep track of variables initialized, to tell us if next time we
! want ferret_expression or ferret_expression2
DEFINE SYMBOL variables_initialized `1 + ($variables_initialized"0")`
 !-> DEFINE SYMBOL variables_initialized 1
IF `($variables_initialized) EQ ($data_count)` THEN
 !-> IF 1 THEN
! From the variable we can define striding.
! TODO: script works only for rectangular data so far...
!test stride for Google Earth
   IF `STRINDEX( "($operation_ID)", "GE" ) NE 0` THEN
 !-> IF 0 THEN
   ELSE
      GO LAS_set_strides.jnl
! LAS_set_strides.jnl
! ACM
! From the region and the grid we can define striding. Compute strides
! based first on Ferret memory and then if it is a graphics product, on
! pixel size.
! ACM 8/312/2007 Do not issue the SET AXIS/STRIDE= command if the stride is 1
!                This partially works around TRAC #224.
! ACM 3/2008  If the transform-to-1-season per year has been set then do not
!             stride in t
! TODO: When there's going to be a transformation or something, then these ! calculations may not be sufficient. Might be better done by the transform script. ! If the operation is writing a netCDF file, that is done in chunks. Do not use strides IF `STRINDEX( "($operation_ID)", "Data_Extract_netCDF" ) NE 0` THEN EXIT/SCRIPT
 !-> IF 0 THEN EXIT/SCRIPT
! See LAS_set_strides_curvilinear for first cut on dealing with strides and curvi data.
IF ($ferret_curvi_coord_lat"0|0|*>1") THEN EXIT/SCRIPT
 !-> IF 0 THEN EXIT/SCRIPT
! Hybrid Z not dealt with here... IF ($do_hybrid_z"0|0|1|*>1") THEN EXIT/SCRIPT
 !-> IF 0 THEN EXIT/SCRIPT
! Step 1 ---------------------------------------------------------------------
! Determine striding based on the memory allocation
DEFINE SYMBOL memsize = ($FERRET_MEMORY"6.4")* 1.e6
 !-> DEFINE SYMBOL memsize = 16* 1.e6
! cannot do native striding if this is a descriptor dataset. DEFINE SYMBOL check_for_des = `($data_var)[d=($data_num)],return=dsetpath` !-> DEFINE SYMBOL check_for_des = /usr/local/ferret/fer_dsets/data/coads_climatology.cdf
IF `STRINDEX("($check_for_des)", ".des") GT 0` THEN
 !-> IF 0 THEN
endif
DEFINE SYMBOL nvars = ($data_count)
 !-> DEFINE SYMBOL nvars = 1
! If ($data_count) larger than 1 add the size of the variables.
LET pvar = ($ferret_plot_var)
 !-> DEFINE VARIABLE pvar = slp[d=1,X=20.5:379.5,Y=0:0,T="""":""""]
DEFINE SYMBOL var_size = ($var_size"0") + `pvar,RETURN=size`







[Thread Prev][Thread Next][Index]


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

Privacy Policy | Disclaimer | Accessibility Statement