Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • startR startR
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Earth Sciences
  • startRstartR
  • Issues
  • #128
Closed
Open
Created Feb 04, 2022 by Paloma Trascasa-Castro@ptrascasDeveloper

Issues with regridding in StartR

Hi @nperez ,

I'm loading data and trying to regrid the ERA5 dataset towards the SEAS5 dataset. Also, trying to convert the longitude to make it go from -180 to 180 by doing longitude_reorder = CircularSort(-180,180) with no success.

The jobs crash and give this error: Error in Apply(list(c(6.26667717718021e-10, 4.67152316829811e-10, 5.24122079070821e-10, : Found one or more margin dimensions with the same name and different length in some of the input objects in 'data'. Calls: do.call -> Apply Execution halted

When running the job, it prints the dimensions of exp and obs, and says that SEAS5 have 91 latitude points but ERA5 have 89 points. Is this a problem to do with the latitude bounds?

Please see attached my code below, and thanks a lot for your help!

Load startR

library(startR) library(s2dv) library(multiApply)

ncores <- 8

Define a region

lons.min <- 0 lons.max <- 359.9 lats.min <- -90 lats.max <- 90

Declaration of data sources

years <- 1981:2018 months <- 1:6 var = 'prlr' retrieve <- FALSE methods <- c('raw','bias','evmos','mse_min','crps_min','rpc-based') grid <- '/esarchive/exp/ecmwf/system5c3s/monthly_mean/prlr_s0-24h/prlr_20000501.nc' #grid <- 'r144x72' exp <- startR::Start(dat = '/esarchive/exp/ecmwf/system5c3s/monthly_mean/$var$s0-24h/$var$$year$0101.nc', var = var, year = paste0(years), ensemble = 'all', # Select the length of the forecast month = indices(months), latitude = values(list(lats.min, lats.max)), latitude_reorder = Sort(decreasing = F), longitude = values(list(lons.min, lons.max)), longitude_reorder = CircularSort(0,360), ## transformation transform = CDORemapper, transform_extra_cells = 2, transform_params = list(grid = grid, method = 'conservative', crop = FALSE), transform_vars = c('latitude', 'longitude'), synonims = list(latitude = c('lat', 'latitude'), longitude = c('lon', 'longitude'), month = c('month','time')), return_vars = list(latitude = 'dat', longitude = 'dat', month = c('year')), retrieve = retrieve)

obs <- startR::Start(dat = '/esarchive/recon/ecmwf/era5/monthly_mean/$var$s0-24h/$var$$year$$month$.nc', var = var, year = paste0(years), month = indices(months), latitude = values(list(lats.min, lats.max)), latitude_reorder = Sort(decreasing = F), longitude = values(list(lons.min, lons.max)), longitude_reorder = CircularSort(0,360), ## transformation transform = CDORemapper, transform_extra_cells = 2, transform_params = list(grid = grid, method = 'conservative', crop = FALSE), transform_vars = c('latitude', 'longitude'), synonims = list(latitude = c('lat', 'latitude'), longitude = c('lon', 'longitude'), month = c('month','time')), return_vars = list(latitude = 'dat', longitude = 'dat', month = c('year')), retrieve = retrieve)

Assignee
Assign to
Time tracking