[Thread Prev][Thread Next][Index]

Re: [las_users] LAS 7.0beta + Tomcat6



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Emanuele and all -

I installed LAS Armstrong 1.1.1 and used an RPM of Tomcat 6.0.16, and managed to get everything working, rather than using Tomcat 5.5.25 - I think the only Tomcat-specific changes I needed to make were to change all occurrences of {jakarta.home}/common/lib to {jakarta.home}/lib in the LAS build.xml file.

Greg

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`
|
|
|
|
|
- --
Greg Keith - Web System Administrator   greg.keith(-at-)noaa.gov
NOAA ESRL Physical Sciences Division  http://www.esrl.noaa.gov/psd
R/PSD, 325 Broadway, Boulder, CO         phone: 303-497-6645


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)

iD8DBQFIxUtY8IR34NeP2BwRArJeAJ4hlSYS5ai7iejSXCHAVxoyd1uSbACfZk5R
NrSJYXzCrZ8luSOWoJV12xQ=
=F+Kk
-----END PGP SIGNATURE-----



[Thread Prev][Thread Next][Index]


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

Privacy Policy | Disclaimer | Accessibility Statement