[Thread Prev][Thread Next][Index]
[las_users] LAS 7.0beta + Tomcat6
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