usecase.md 7.32 KB
Newer Older
aho's avatar
aho committed
# Usecase scripts

In this document, you can link to the example scripts for various demands. For the beginners, it is highly recommended to read the [practical guide](inst/doc/practical_guide.md) carefully first. You can find basic scripts and the configuration for different machines there.

aho's avatar
aho committed
1. **Retrieve data (use `Start()` only)** 
aho's avatar
aho committed
   1. [Interpolation in Start()](inst/doc/usecase/ex1_1_tranform.R)  
      Do the interpolation within Start(), and compare with Load() result. When the Start() parameter `transform_extra_cells = 2`, the two results will be the same.  

   2. [Load experimental and observational data with same dimension structure](inst/doc/usecase/ex1_2_exp_obs_attr.R)  
      This script tells you how to load experimental and observational data in a 
   consistent way, facilating the following comparison. In this case, experimental 
   data is one file per year, each file contains 12 months (time = 12). However, 
   observational data is one file per month, each file contains only one time step.
   You can learn how to select all the required year and month for observation, and 
   tweak the dimension to make it consistent with experiment.  
aho's avatar
aho committed
      The highlight paramters used in this usecase are: **'*_across'**, 
   **'merge_across_dims'**, and **'split_multiselected_dims'**.  
aho's avatar
aho committed
   3. [Use experimental data attribute to load in oberservational data](inst/doc/usecase/ex1_3_attr_loadin.R)  
      Like ex1_2, it shows how to retrieve the experimental data and observational data 
in a comparable structure. It also shows how to use parameters `xxx_tolerance`, `xxx_across`, `merge_across_dims`, `merge_across_dims_narm`, and `split_multiselected_dims`.  
   4. [Checking impact of start date order in the number of members](inst/doc/usecase/ex1_4_variable_nmember.R)  
      Mixing start dates of different months can lead to load different number of members, check the code provided and the [FAQ 10](/inst/doc/faq.md).

aho's avatar
aho committed
   5. [Use reorder functions to get desired lat/lon region](inst/doc/usecase/ex1_5_latlon_reorder.R)  
      This script shows you how to use reorder function (`Sort()`, `CircularSort()`) to 
aho's avatar
aho committed
get the desired longitude and latitude region. See [FAQ How-to-#11] (/inst/doc/faq.md#11-read-latitude-and-longitude-with-the-usage-of-parameter-xxx_reorder)
for more explanation.

aho's avatar
aho committed
   6. [Loading gridpoint data](inst/doc/usecase/ex1_6_gridpoint_data.R)  
      **Start** can be used to load single point data by providing a vector of longitudes and latitudes. This use case also ilustrates how to reformat it to get a 'gridpoint' dimension.

aho's avatar
aho committed
   7. [Use split and merge parameters together](inst/doc/usecase/ex1_7_split_merge.R)  
aho's avatar
aho committed
      This usecase shows the things to be noticed when the parameters 'split_multiselected_dims' and 'merge_across_dims' are both used. 
The problem may occur when the dimension number of the splitted selector is more than two. If you are not familiar with the usage of these parameters, please see usecases ex1_2 and ex1_3 first, which are less complicated. You can also go to FAQ How-to-#17 for more explanation.
aho's avatar
aho committed
   8. [Loading tas and tos from Decadal Predictions performed with the EC-Earth model](inst/doc/usecase/ex1_8_tasandtos.R)  
       Some climate indices needs to be computed loading 'tas' (air temperature at 2m) over land and 'tos' (ocean surface temperature) over sea. Using **startR**, you can load these data in a unique **Start** call or with multiple calls separately for each variable.
aho's avatar
aho committed

aho's avatar
aho committed
   9. [Use glob expression * to define the path](inst/doc/usecase/ex1_9_path_glob_permissive.R)  
       This script shows you how to use glob expression '*' and the parameter 'path_glob_permissive' of Start().
You can also find information in [FAQ How-to-18](inst/doc/faq.md#18-use-glob-expression-to-define-the-file-path).

aho's avatar
aho committed
   10. [Use 'metadata_dims' to retrieve complete variable metadata](inst/doc/usecase/ex1_10_metadata_dims.R)  
       This script tells you how to use the parameter 'metadata_dims' in Start() to get the complete variable metadata. 
You will see four difference cases and learn the rules.
aho's avatar
aho committed
You can find more explanation in FAQ [How-to-20](inst/doc/faq.md#20-use-metadata_dims-to-retrieve-variable-metadata).
aho's avatar
aho committed

aho's avatar
aho committed
   11. [Three methods to load experimental files with different member and version](inst/doc/usecase/ex1_11_expid_member_version.R)  
       This script shows three ways to load the data with different expid - member - version combination. It is useful for climate prediction of multiple experiments.

   12. [Load and plot data in rotated coordintaes](inst/doc/usecase/ex1_12_rotated_coordinates.R)
nperez's avatar
nperez committed
       This script shows how to load and plot data in rotated coordinates using **Monarch-dust** simulations.
nperez's avatar
nperez committed
       <img src="inst/doc/figures/Rotated_Coordinates.png" width="400" /> 
aho's avatar
aho committed

aho's avatar
aho committed
   13. [Use multiStart to read data with NA assigned](inst/doc/usecase/ex1_13_multiStart_insert_NA_reshape.R)
       The script shows a simple case that uses multiStart to read data when NA insertion is needed in certain selectors.  


aho's avatar
aho committed
2. **Execute computation (use `Compute()`)**
aho's avatar
aho committed
   1. [Function working on time dimension](inst/doc/usecase/ex2_1_timedim.R)  
aho's avatar
aho committed
   2. [Function using attributes of the data](inst/doc/usecase/ex2_2_attr.R)  
      Using attributes is only available in startR_v0.1.3 or above.
   3. [Use function CDORemap for interpolation](inst/doc/usecase/ex2_3_cdo.R)  
      Using parameter `CDO_module` is only available in startR_v0.1.3 or above. Interpolate data by using `s2dverification::CDORemap` in the workflow. 
aho's avatar
aho committed
   4. [Use two functions in workflow](inst/doc/usecase/ex2_4_two_func.R)  
aho's avatar
aho committed
   6. [Use external parameters in atomic function](inst/doc/usecase/ex2_6_ext_param_func.R)  
   7. [Calculate the ensemble-adjusted Continuous Ranked Probability Score (CRPS)](inst/doc/usecase/ex2_7_seasonal_forecast_crps.R)  
      Use `SpecsVerification::EnsCrps` to calculate the ensemble-adjusted Continuous Ranked Probability Score (CRPS) for ECWMF experimental data, and do ensemble mean. Use `s2dverification::PlotEquiMap` to plot the CRPS map.  
aho's avatar
aho committed
   8. [Use CSTools Calibration function](inst/doc/usecase/ex2_8_calibration.R)  
      Use `CSTools:::.cal`, the interior function of `CSTools::CST_Calibration`, to do the bias adjustment for ECMWF experimental monthly mean data. 
   9. [Use a mask to apply different methods to different gridpoints](inst/doc/usecase/ex2_9_mask.R)  
      If you need to apply your analysis in a few gridpoints, you may want to consider use case 1.6, but if you need to load a lot of grid points, maybe this a better solution.
   10. [Apply an existing mask on data](inst/doc/usecase/ex2_10_existing_mask.R)  
      This use case shows you how to apply the existing mask file on your data.
If you need to create the mask file on your own, go to ex2_9_mask.R.
aho's avatar
aho committed
   11. [Use multiStart to read two datasets with different calendars in one call](inst/doc/usecase/ex2_11_multiStart_insert_NA.R)
      This use case decribes the features of multiStart and how to use it. It shows how to read two datasets with different calendars aligned together with NA inserted. It is recommended to read it first if you want to use multiStart().
   12. [Load monthly data from decadal prediction systems with different initial dates](inst/doc/usecase/ex2_12_multiStart_diff_init_dates.R)
      An example showing how to load and operate monthly data from decadal prediction systems that are initialised in different dates by multiStart().