Skip to content
GitLab
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Earth Sciences
SUNSET
Compare revisions
d84528ef927ddcb6908979fa11b7c6a54fb76caf...ff5c3f0918cdfd41600ff982fb6849428cbc43d4
Commits (2)
Fix 'region' dimension metadata when saving region-aggregated data
· 09cc0600
vagudets
authored
May 09, 2024
09cc0600
Merge branch 'dev-fix_saving_scorecards_region' into 'master'
· ff5c3f09
vagudets
authored
May 09, 2024
Fix 'region' dimension metadata when saving region-aggregated data See merge request
!138
ff5c3f09
Show whitespace changes
Inline
Side-by-side
example_scripts/execute_NAO.R
View file @
ff5c3f09
...
...
@@ -15,16 +15,11 @@ source("modules/Anomalies/Anomalies.R")
recipe_file
<-
"recipes/examples/NAO_recipe.yml"
recipe
<-
prepare_outputs
(
recipe_file
)
#for (smonth in 1:12) {
data
<-
load_datasets
(
recipe
)
gc
()
data
<-
compute_anomalies
(
recipe
,
data
)
# data <- readRDS("../Test_NAOmodule.RDS")
data
<-
Loading
(
recipe
)
data
<-
Anomalies
(
recipe
,
data
)
source
(
"modules/Indices/Indices.R"
)
nao_s2dv
<-
Indices
(
data
=
data
,
recipe
=
recipe
)
nao_s2dv
<-
Indices
(
data
=
data
,
recipe
=
recipe
)
source
(
"modules/Skill/Skill.R"
)
# todo parameter agg to get it from the nao_s2dv?
skill_metrics
<-
compute_skill_metrics
(
recipe
=
recipe
,
data
=
nao_s2dv
,
agg
=
'region'
)
skill_metrics
<-
Skill
(
recipe
=
recipe
,
data
=
nao_s2dv
,
agg
=
'region'
)
modules/Indices/R/compute_nao.R
View file @
ff5c3f09
...
...
@@ -96,24 +96,26 @@ compute_nao <- function(data, recipe, obsproj, plot_ts, plot_sp,
data
=
nao
$
exp
,
varName
=
"nao"
,
metadata
=
list
(
region
=
list
(
name
=
"NAO region"
,
lats_range
=
paste0
(
range
(
lats
)),
lons_range
=
paste0
(
range
(
lons
))),
region
=
list
(
name
=
"region"
,
long_name
=
"NAO region"
,
lats_range
=
paste
(
range
(
lats
),
collapse
=
", "
),
lons_range
=
paste
(
range
(
lons
),
collapse
=
", "
)),
time
=
data
$
hcst
$
attrs
$
Variable
$
metadata
$
time
,
nao
=
list
(
units
=
'adim'
,
longname
=
'North Atlantic Oscillation'
)),
long
_
name
=
'North Atlantic Oscillation'
)),
Dates
=
hcst_dates
,
Dataset
=
recipe
$
Analysis
$
Datasets
$
System
$
name
),
obs
=
s2dv_cube
(
data
=
nao
$
obs
,
varName
=
"nao"
,
metadata
=
list
(
region
=
list
(
name
=
"NAO region"
,
lats_range
=
paste0
(
range
(
lats
)),
lons_range
=
paste0
(
range
(
lons
))),
region
=
list
(
name
=
"region"
,
long_name
=
"NAO region"
,
lats_range
=
paste
(
range
(
lats
),
collapse
=
", "
),
lons_range
=
paste
(
range
(
lons
),
collapse
=
", "
)),
time
=
data
$
obs
$
attrs
$
Variable
$
metadata
$
time
,
nao
=
list
(
units
=
'adim'
,
longname
=
'North Atlantic Oscillation'
)),
long
_
name
=
'North Atlantic Oscillation'
)),
Dates
=
data
$
obs
$
attrs
$
Dates
,
Dataset
=
recipe
$
Analysis
$
Datasets
$
Reference
$
name
))
if
(
recipe
$
Analysis
$
Workflow
$
Indices
$
NAO
$
save
==
'all'
)
{
...
...
modules/Indices/R/compute_nino.R
View file @
ff5c3f09
...
...
@@ -82,24 +82,26 @@ compute_nino <- function(data, recipe, region, standardised = TRUE,
data
=
nino_hcst
,
varName
=
nino_name
,
metadata
=
list
(
region
=
list
(
name
=
paste
(
"Nino"
,
region_name
,
"region"
),
lats_range
=
paste
(
region
[
3
:
4
]),
lons_range
=
paste
(
region
[
1
:
2
])),
region
=
list
(
name
=
"region"
,
long_name
=
paste
(
"Nino"
,
region_name
,
"region"
),
lats_range
=
paste
(
region
[
3
],
region
[
4
],
collapse
=
", "
),
lons_range
=
paste
(
region
[
1
],
region
[
1
],
collapse
=
", "
)),
time
=
data
$
hcst
$
attrs
$
Variable
$
metadata
$
time
,
nino
=
list
(
units
=
var_units
,
longname
=
paste
(
"El Niño"
,
region_name
,
"Index"
))),
long
_
name
=
paste
(
"El Niño"
,
region_name
,
"Index"
))),
Dates
=
hcst_dates
,
Dataset
=
recipe
$
Analysis
$
Datasets
$
System
$
name
),
obs
=
s2dv_cube
(
data
=
nino_obs
,
varName
=
nino_name
,
metadata
=
list
(
region
=
list
(
name
=
paste
(
"Nino"
,
region_name
,
"region"
),
lats_range
=
paste
(
region
[
3
:
4
]),
lons_range
=
paste
(
region
[
1
:
2
])),
region
=
list
(
name
=
"region"
,
long_name
=
paste
(
"Nino"
,
region_name
,
"region"
),
lats_range
=
paste
(
region
[
3
],
region
[
4
],
collapse
=
", "
),
lons_range
=
paste
(
region
[
1
],
region
[
1
],
collapse
=
", "
)),
time
=
data
$
obs
$
attrs
$
Variable
$
metadata
$
time
,
nino
=
list
(
units
=
var_units
,
longname
=
paste
(
"El Niño"
,
region_name
,
"Index"
))),
long
_
name
=
paste
(
"El Niño"
,
region_name
,
"Index"
))),
Dates
=
data
$
obs
$
attrs
$
Dates
,
Dataset
=
recipe
$
Analysis
$
Datasets
$
Reference
$
name
))
...
...
modules/Saving/R/save_metrics.R
View file @
ff5c3f09
...
...
@@ -152,9 +152,8 @@ save_metrics <- function(recipe,
ArrayToNc
(
append
(
country
,
time
,
subset_metric
),
outfile
)
}
else
if
(
tolower
(
agg
)
==
"region"
)
{
region
<-
array
(
1
:
dim
(
metrics
[[
1
]])[
'region'
],
c
(
dim
(
metrics
[[
1
]])[
'region'
]))
# TODO: check metadata when more than 1 region is store in the data array
metadata
<-
list
(
region
=
list
(
long_name
=
data_cube
$
attrs
$
Variable
$
metadata
$
region
$
name
))
attr
(
region
,
'variables'
)
<-
metadata
## TODO: check metadata when more than 1 region is store in the data array
attr
(
region
,
'variables'
)
<-
data_cube
$
attrs
$
Variable
$
metadata
[
'region'
]
vars
<-
list
(
region
,
time
)
vars
<-
c
(
vars
,
subset_metric
)
ArrayToNc
(
vars
,
outfile
)
...
...