Skip to content

Commit

Permalink
cran fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
bczernecki committed Oct 16, 2024
1 parent 310d4ed commit badc9fc
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 41 deletions.
6 changes: 6 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# climate 1.2.2

* Major fixes for adjusting code to stay in line with CRAN policies
* Fixes for `hydro_imgw()` set of functions due to changes in encoding and metadata structure


# climate 1.2.1

* Corrected duplicated column names for IMGW-PIB stations
Expand Down
28 changes: 12 additions & 16 deletions R/clean_metadata_hydro.R
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,30 @@ clean_metadata_hydro = function(address, interval) {
temp = tempfile()

test_url(link = address, output = temp)
a = readLines(temp, warn = FALSE)

a = iconv(a, from = "cp1250", to = "ASCII//TRANSLIT") # remove polish characters
a = gsub(a, pattern = "\\?", replacement = "") # removing extra characters after conversion

# additional workarounds for mac os but not only...
a = read.csv(temp, header = FALSE, stringsAsFactors = FALSE,
fileEncoding = "CP1250", skip = 1, sep = "\t")$V1
a = gsub(a, pattern = "\\?", replacement = "")
a = gsub(x = a, pattern = "'", replacement = "")
a = gsub(x = a, pattern = "\\^", replacement = "")
a = trimws(gsub(x = a, pattern = "\\^", replacement = ""))
a = gsub(a, pattern = "\\s+", replacement = " ")

if (interval == "monthly") {
b = list(data.frame(parameters = a[3:12])) # sklad danych jeszcze nie wiem jak ominąć problem kontroli
# ale on może się zmienić nie wiem czy nie lepiej wykluczyć ostatni rok
b = list(data.frame(parameters = a[1:10]))
}
if (interval == "daily") {
b = data.frame(parameters = a[3:12])
b = data.frame(parameters = a[1:10])
}
if (interval == "semiannual_and_annual") {
godzina = paste0(a[15], ":", a[16]) # nie jestem pewien czy tak bo w dokumentacji jest podzial na dwie kolumny,
#ale w pliku jest jedna kolumna a pomiaru brak
data = c(a[12:14], godzina)
godzina = paste0(a[13], ":", a[14])
data = c(a[10:12], godzina)
data_od = paste0("wystapienie_od_", data)
data_do = paste0("wystapienie_od_", data)
SPT = unlist(strsplit(a[10], "]/")) # stan/przeplyw/temperatura
data_do = paste0("wystapienie_do_", data)
SPT = unlist(strsplit(a[8], "]/")) # stan/przeplyw/temperatura
SPT[1] = paste0(SPT[1], "]")
SPT[2] = paste0(SPT[2], "]")
b = NULL
for (i in seq_along(SPT)) {
tmp = c(a[3:9], SPT[i], data_od, data_do)
tmp = c(a[1:7], SPT[i], data_od, data_do)
b = cbind(b, tmp)
}
b = list("H" = data.frame(parameters = b[, 1]),
Expand Down
9 changes: 3 additions & 6 deletions R/hydro_imgw_annual.R
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ hydro_imgw_annual_bp = function(year = year,
ind = grep(readHTMLTable(a)[[1]]$Name, pattern = "/")
catalogs = as.character(readHTMLTable(a)[[1]]$Name[ind])
catalogs = gsub(x = catalogs, pattern = "/", replacement = "")
# less files to read:

catalogs = catalogs[catalogs %in% as.character(year)]
if (length(catalogs) == 0) {
stop("Selected year(s) is/are not available in the database.", call. = FALSE)
Expand All @@ -81,10 +81,7 @@ hydro_imgw_annual_bp = function(year = year,

all_data = vector("list", length = length(catalogs))
for (i in seq_along(catalogs)) {
# i = 1
catalog = catalogs[i]
#print(i)

address = paste0(base_url, interval_pl, "/", catalog, "/polr_", value, "_", catalog, ".zip")

temp = tempfile()
Expand All @@ -104,19 +101,19 @@ hydro_imgw_annual_bp = function(year = year,
all_data[[i]] = data1
}
all_data = do.call(rbind, all_data)
# ten sam warunek braku danych lub obserwacji dla wszytkich wartosci
all_data[all_data == 99999.999] = NA
all_data = all_data[, !duplicated(colnames(all_data))]

# coords
if (coords) {
all_data = merge(climate::imgw_hydro_stations, all_data, by.x = "id", by.y = "Kod stacji", all.y = TRUE)
all_data = merge(climate::imgw_hydro_stations, all_data, by.x = "id", by.y = "Nazwa rzeki/jeziora", all.y = TRUE)
}
#station selection
if (!is.null(station)) {
if (is.character(station)) {
all_data = all_data[substr(all_data$`Nazwa stacji`, 1, nchar(station)) == station, ]
if (nrow(all_data) == 0) {

stop("Selected station(s) is not available in the database.", call. = FALSE)
}
} else if (is.numeric(station)) {
Expand Down
6 changes: 3 additions & 3 deletions R/hydro_imgw_daily.R
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ hydro_imgw_daily_bp = function(year,
all_data[[i]] = merge(data, data2,
by = c("Kod stacji", "Nazwa stacji",
"Rok hydrologiczny", "Nazwa rzeki/jeziora",
"Wskaznik miesiaca w roku hydrologicznym", "Dzien"),
"Wskaźnik miesiąca w roku hydrologicznym", "Dzień"),
all.x = TRUE)
}

Expand Down Expand Up @@ -168,8 +168,8 @@ hydro_imgw_daily_bp = function(year,

all_data = all_data[order(all_data$`Nazwa stacji`,
all_data$`Rok hydrologiczny`,
all_data$`Wskaznik miesiaca w roku hydrologicznym`,
all_data$`Dzien`), ]
all_data$`Wskaźnik miesiąca w roku hydrologicznym`,
all_data$`Dzień`), ]

Check warning on line 172 in R/hydro_imgw_daily.R

View check run for this annotation

Codecov / codecov/patch

R/hydro_imgw_daily.R#L171-L172

Added lines #L171 - L172 were not covered by tests
# dodanie opcji dla skracania kolumn i usuwania duplikatow:
all_data = hydro_shortening_imgw(all_data, col_names = col_names, ...)

Expand Down
2 changes: 1 addition & 1 deletion R/hydro_imgw_monthly.R
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ hydro_imgw_monthly_bp = function(year,

all_data = all_data[order(all_data$`Nazwa stacji`,
all_data$`Rok hydrologiczny`,
all_data$`Wskaznik miesiaca w roku hydrologicznym`), ]
all_data$`Wskaźnik miesiąca w roku hydrologicznym`), ]

Check warning on line 126 in R/hydro_imgw_monthly.R

View check run for this annotation

Codecov / codecov/patch

R/hydro_imgw_monthly.R#L126

Added line #L126 was not covered by tests
all_data = hydro_shortening_imgw(all_data, col_names = col_names, ...)

return(all_data)
Expand Down
35 changes: 20 additions & 15 deletions data-raw/hydro_parametry_skroty.csv
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
fullname;abbr_eng;fullname_eng;;
Kod stacji;id;ID;;
Dzien;dd;Day;;
Miesiac kalendarzowy;mm;Month;;
Dzień;dd;Day;;
Miesiąc kalendarzowy;mm;Month;;
Nazwa rzeki/jeziora;riv_or_lake;River_or_Lake;;
Nazwa stacji;station;Station;;
Przeplyw [m^3/s];Q;Flow [m3_s];;
Rodzaj wielkosci (H - stan wody, Q - przeplyw, T - temperatura wody);Mesu;"Measurement [state - H, flow - Q, or temperature - T]""";;`
Przepływ [m^3/s];Q;Flow [m3_s];;
Rodzaj wielkości (H - stan wody, Q - przepływ, T - temperatura wody);Mesu;Measurement [state - H, flow - Q, or temperature - T];;`
Rok hydrologiczny;hyy;Hydrologic year;;
Stan wody [cm];H;State [cm];;
Temperatura wody [st. C];T;Temperature [C];;
Wskaznik ekstremum;idex;Extreme ID [min - 1, mean - 2, Max - 3];;
Wskaznik ekstremum (1 - minimum, 2 - srednia, 3 - maksimum);idex;Extreme ID [min - 1, mean - 2, Max - 3];;
Wskaznik miesiaca w roku hydrologicznym;idhyy;Hydrologic year ID;;
Wskaznik polrocza (13 - zima, 14 - lato, 15 - rok);idyy;Year ID [13 -winter, 14 - summer, 15 - year];;
wystapienie_od_Dzien;bedd;Occurrence from day;;
wystapienie_od_Godzina:Minuta;behm;Occurrence from time;;
wystapienie_od_Miesiac;bemm;Occurrence from month;;
wystapienie_od_Rok;beyy;Occurrence from year;;
Grubosc lodu [cm];thick;Thickness of ice [cm];;
Kod zjawiska lodowego (slownik ponizej);id_ice;Ice phenomena;;
"Procent udzialu zjawiska lodowego [mnoznik *10; np. 3 oznacza 30% udzialu zjawisk lodowych]";p_ice;Percentage of ice phenomena;;
Kod zarastania (slownik ponizej);id_over_grow;Overgrowing;;
Wskaźnik ekstremum;idex;Extreme ID [min - 1, mean - 2, Max - 3];;
Wskaźnik ekstremum (1 - minimum, 2 - średnia, 3 - maksimum);idex;Extreme ID [min - 1, mean - 2, Max - 3];;
Wskaźnik miesiąca w roku hydrologicznym;idhyy;Hydrologic year ID;;
Wskaźnik półrocza (13 - zima, 14 - lato, 15 - rok);idyy;Year ID [13 -winter, 14 - summer, 15 - year];;
wystapienie_od_Dzień;bedd;Occurrence from day;;
wystapienie_od_Godzina:Minuta;behm;Occurrence start time;;
wystapienie_od_Miesiąc;bemm;Occurrence start month;;
wystapienie_od_Rok;beyy;Occurrence start year;;
wystapienie_do_Dzień;bedd;Occurrence start day;;
wystapienie_do_Godzina:Minuta;behm;Occurrence end time;;
wystapienie_do_Miesiąc;bemm;Occurrence end month;;
wystapienie_do_Rok;beyy;Occurrence end year;;
Grubość lodu [cm];thick;Thickness of ice [cm];;
Kod zjawiska lodowego (słownik poniżej);id_ice;Ice phenomena;;
"Procent udziału zjawiska lodowego [mnożnik *10; np. 3 oznacza 30% udziału zjawisk lodowych]";p_ice;Percentage of ice phenomena;;
Kod zarastania (słownik poniżej);id_over_grow;Overgrowing;;
Binary file modified data/imgw_hydro_abbrev.rda
Binary file not shown.

0 comments on commit badc9fc

Please sign in to comment.