ngiab-data-preprocess 3.2.0__tar.gz → 3.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/PKG-INFO +2 -2
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/create_realization.py +1 -1
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/forcings.py +20 -7
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/s3fs_utils.py +1 -1
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_preprocess.egg-info/PKG-INFO +2 -2
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_preprocess.egg-info/SOURCES.txt +1 -0
- ngiab_data_preprocess-3.2.2/modules/ngiab_data_preprocess.egg-info/entry_points.txt +3 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/pyproject.toml +5 -1
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/.github/workflows/build_only.yml +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/.github/workflows/publish.yml +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/.gitignore +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/LICENSE +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/README.md +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/map.html +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/file_paths.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/gpkg_utils.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/graph_utils.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/subset.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/zarr_utils.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/cfe-nowpm-realization-template.json +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/cfe-template.ini +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/em-catchment-template.yml +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/em-config.yml +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/em-realization-template.json +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/forcing_template.nc +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/ngen-routing-template.yaml +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/noah-owp-modular-init.namelist.input +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/source_validation.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/template.sql +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/triggers.sql +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/__main__.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/css/console.css +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/css/main.css +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/js/console.js +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/js/data_processing.js +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/js/main.js +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/resources/dark-style.json +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/resources/light-style.json +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/resources/loading.gif +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/resources/screenshot.png +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/templates/index.html +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/views.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_cli/__main__.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_cli/arguments.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_cli/custom_logging.py +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_preprocess.egg-info/dependency_links.txt +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_preprocess.egg-info/requires.txt +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_preprocess.egg-info/top_level.txt +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/output/.gitkeep +0 -0
- {ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: ngiab_data_preprocess
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: Graphical Tools for creating Next Gen Water model input data.
|
|
5
5
|
Author-email: Josh Cunningham <jcunningham8@ua.edu>
|
|
6
6
|
Project-URL: Homepage, https://github.com/CIROH-UA/NGIAB_data_preprocess
|
|
@@ -77,7 +77,7 @@ def make_cfe_config(
|
|
|
77
77
|
slope=row["mean.slope"],
|
|
78
78
|
smcmax=row["mean.smcmax_soil_layers_stag=2"],
|
|
79
79
|
smcwlt=row["mean.smcwlt_soil_layers_stag=2"],
|
|
80
|
-
max_gw_storage=row["mean.Zmax"] if row["mean.Zmax"] is not None else "0.011[m]",
|
|
80
|
+
max_gw_storage=row["mean.Zmax"]/1000 if row["mean.Zmax"] is not None else "0.011[m]", # mean.Zmax is in mm!
|
|
81
81
|
gw_Coeff=row["mean.Coeff"] if row["mean.Coeff"] is not None else "0.0018[m h-1]",
|
|
82
82
|
gw_Expon=row["mode.Expon"],
|
|
83
83
|
gw_storage="{:.5}".format(gw_storage_ratio),
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/forcings.py
RENAMED
|
@@ -10,6 +10,8 @@ from math import ceil
|
|
|
10
10
|
from multiprocessing import shared_memory
|
|
11
11
|
from pathlib import Path
|
|
12
12
|
|
|
13
|
+
from dask.distributed import Client, LocalCluster
|
|
14
|
+
|
|
13
15
|
import geopandas as gpd
|
|
14
16
|
import numpy as np
|
|
15
17
|
import pandas as pd
|
|
@@ -68,10 +70,12 @@ def get_cell_weights(raster, gdf, wkt):
|
|
|
68
70
|
|
|
69
71
|
|
|
70
72
|
def add_APCP_SURFACE_to_dataset(dataset: xr.Dataset) -> xr.Dataset:
|
|
71
|
-
#
|
|
72
|
-
# cfe says input
|
|
73
|
-
|
|
74
|
-
# technically should be kg/m^2/
|
|
73
|
+
# precip_rate is mm/s
|
|
74
|
+
# cfe says input atmosphere_water__liquid_equivalent_precipitation_rate is mm/h
|
|
75
|
+
# nom says prcpnonc input is mm/s
|
|
76
|
+
# technically should be kg/m^2/s at 1kg = 1l it equates to mm/s
|
|
77
|
+
# nom says qinsur output is m/s, hopefully qinsur is converted to mm/h by ngen
|
|
78
|
+
dataset["APCP_surface"] = dataset["precip_rate"] * 3600
|
|
75
79
|
return dataset
|
|
76
80
|
|
|
77
81
|
|
|
@@ -79,7 +83,9 @@ def get_index_chunks(data: xr.DataArray) -> list[tuple[int, int]]:
|
|
|
79
83
|
# takes a data array and calculates the start and end index for each chunk
|
|
80
84
|
# based on the available memory.
|
|
81
85
|
array_memory_usage = data.nbytes
|
|
82
|
-
free_memory = psutil.virtual_memory().available * 0.8 # 80% of available memory
|
|
86
|
+
# free_memory = psutil.virtual_memory().available * 0.8 # 80% of available memory
|
|
87
|
+
# limit the chunk to 20gb, makes things more stable
|
|
88
|
+
free_memory = min(free_memory, 20 * 1024 * 1024 * 1024)
|
|
83
89
|
num_chunks = ceil(array_memory_usage / free_memory)
|
|
84
90
|
max_index = data.shape[0]
|
|
85
91
|
stride = max_index // num_chunks
|
|
@@ -233,8 +239,15 @@ def compute_zonal_stats(
|
|
|
233
239
|
|
|
234
240
|
def write_outputs(forcings_dir, variables):
|
|
235
241
|
|
|
236
|
-
#
|
|
237
|
-
|
|
242
|
+
# start a dask cluster if there isn't one already running
|
|
243
|
+
try:
|
|
244
|
+
client = Client.current()
|
|
245
|
+
except ValueError:
|
|
246
|
+
cluster = LocalCluster()
|
|
247
|
+
client = Client(cluster)
|
|
248
|
+
|
|
249
|
+
# Combine all variables into a single dataset using dask
|
|
250
|
+
results = [xr.open_dataset(file, chunks="auto") for file in forcings_dir.glob("*.nc")]
|
|
238
251
|
final_ds = xr.merge(results)
|
|
239
252
|
|
|
240
253
|
output_folder = forcings_dir / "by_catchment"
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/s3fs_utils.py
RENAMED
|
@@ -36,7 +36,7 @@ class S3ParallelFileSystem(S3FileSystem):
|
|
|
36
36
|
# Fall back to single request if HEAD fails
|
|
37
37
|
return await self._download_chunk(bucket, key, {}, version_kw)
|
|
38
38
|
|
|
39
|
-
CHUNK_SIZE =
|
|
39
|
+
CHUNK_SIZE = 5 * 1024 * 1024 # 1MB chunks
|
|
40
40
|
if obj_size <= CHUNK_SIZE:
|
|
41
41
|
return await self._download_chunk(bucket, key, {}, version_kw)
|
|
42
42
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: ngiab_data_preprocess
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: Graphical Tools for creating Next Gen Water model input data.
|
|
5
5
|
Author-email: Josh Cunningham <jcunningham8@ua.edu>
|
|
6
6
|
Project-URL: Homepage, https://github.com/CIROH-UA/NGIAB_data_preprocess
|
|
@@ -42,6 +42,7 @@ modules/ngiab_data_cli/custom_logging.py
|
|
|
42
42
|
modules/ngiab_data_preprocess.egg-info/PKG-INFO
|
|
43
43
|
modules/ngiab_data_preprocess.egg-info/SOURCES.txt
|
|
44
44
|
modules/ngiab_data_preprocess.egg-info/dependency_links.txt
|
|
45
|
+
modules/ngiab_data_preprocess.egg-info/entry_points.txt
|
|
45
46
|
modules/ngiab_data_preprocess.egg-info/requires.txt
|
|
46
47
|
modules/ngiab_data_preprocess.egg-info/top_level.txt
|
|
47
48
|
output/.gitkeep
|
|
@@ -12,7 +12,7 @@ exclude = ["tests*"]
|
|
|
12
12
|
|
|
13
13
|
[project]
|
|
14
14
|
name = "ngiab_data_preprocess"
|
|
15
|
-
version = "v3.2.
|
|
15
|
+
version = "v3.2.2"
|
|
16
16
|
authors = [{ name = "Josh Cunningham", email = "jcunningham8@ua.edu" }]
|
|
17
17
|
description = "Graphical Tools for creating Next Gen Water model input data."
|
|
18
18
|
readme = "README.md"
|
|
@@ -54,6 +54,10 @@ plot = ["ngiab_eval[plot]"]
|
|
|
54
54
|
Homepage = "https://github.com/CIROH-UA/NGIAB_data_preprocess"
|
|
55
55
|
Issues = "https://github.com/CIROH-UA/NGIAB_data_preprocess/issues"
|
|
56
56
|
|
|
57
|
+
[project.scripts]
|
|
58
|
+
cli = "ngiab_data_cli.__main__:main"
|
|
59
|
+
map = "map_app.__main__:main"
|
|
60
|
+
|
|
57
61
|
[build-system]
|
|
58
62
|
# scm adds files tracked by git to the package
|
|
59
63
|
requires = ["setuptools>=69.0", "setuptools-scm>=8.0"]
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/.github/workflows/build_only.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/file_paths.py
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/gpkg_utils.py
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/graph_utils.py
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/subset.py
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_processing/zarr_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/cfe-template.ini
RENAMED
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/em-config.yml
RENAMED
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/forcing_template.nc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/template.sql
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/data_sources/triggers.sql
RENAMED
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/css/console.css
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/css/main.css
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/js/console.js
RENAMED
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/static/js/main.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/map_app/templates/index.html
RENAMED
|
File without changes
|
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_cli/__main__.py
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_cli/arguments.py
RENAMED
|
File without changes
|
{ngiab_data_preprocess-3.2.0 → ngiab_data_preprocess-3.2.2}/modules/ngiab_data_cli/custom_logging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|