Skip to content

Merge latest main #308

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 265 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
265 commits
Select commit Hold shift + click to select a range
cb295bc
created overrideTargetCRS for 3DEP
elidwa May 22, 2023
d9a3870
fixed regression on authenticate api
jpswinski May 22, 2023
177b801
rewored directory structure to support publishing it as a package
jpswinski May 22, 2023
34135a0
changed sliderule epsg to 7912, updated ArcticDEM test since some are…
elidwa May 23, 2023
7a7d97e
arcticdem test are using gdallocationinf -l_srs EPSG:7912 for validation
elidwa May 23, 2023
18138a4
added support for 64bit int/uint in readPixel
elidwa May 23, 2023
1d7e690
fixed path issues with making it a scoped package
jpswinski May 23, 2023
c4da475
fixed use of sliderule-python throughout
jpswinski May 23, 2023
2a4ecf0
initial code for USGS TNM indexing service
jpswinski May 24, 2023
2bd8162
added 3dep sample test to pytests
jpswinski May 24, 2023
6b72069
Merge pull request #260 from ICESat2-SlideRule/3dep
jpswinski May 24, 2023
991b9bd
Merge branch 'main' into nodejs1
jpswinski May 24, 2023
3a38756
disabled debug in 3dep selftest
elidwa May 24, 2023
a2e7a83
landsat and 3dep plugins process geojson urls the same way
elidwa May 25, 2023
d55b5d6
continued work on node js client
jpswinski May 26, 2023
c3504bd
updates to record processing
jpswinski May 30, 2023
abcfef1
fixed record parsing
jpswinski May 30, 2023
3262110
record processing update
jpswinski May 31, 2023
8117366
working rec processing in node js
jpswinski May 31, 2023
236bbba
fixed issues with rec parsing
jpswinski May 31, 2023
89a3bff
Working h5 client api for node js
jpswinski May 31, 2023
4b56537
added node utility to modify package version
jpswinski May 31, 2023
2480772
Merge branch 'nodejs-inwork' into main
jpswinski May 31, 2023
7729acb
updated release target to include modifying the nodejs client version
jpswinski May 31, 2023
4f3eee3
updated arcticdem pytest to match new results from new epsg
jpswinski May 31, 2023
73f9c2d
Version v3.4.0
jpswinski May 31, 2023
5211cc7
added publishing ste nodejs clientp to noo release target
jpswinski Jun 1, 2023
1cf8b91
added usgs3dep plugin to sliderule docker container
jpswinski Jun 1, 2023
8a6a856
added permission to access usgs tnm s3 bucket
jpswinski Jun 1, 2023
b4fa4bb
temporarily taking pytests github actions to just unpinned due to con…
jpswinski Jun 1, 2023
82c1131
fixed issues with node js client
jpswinski Jun 1, 2023
b09d16c
Version v3.4.1
jpswinski Jun 1, 2023
7bc98e2
investing in pytests
jpswinski Jun 1, 2023
8cacb3a
added STAC and TNM earthdata pytests
jpswinski Jun 1, 2023
32741d3
added arcticdem strips pytest
jpswinski Jun 2, 2023
bc8dd5c
initial changes for adding height param to sample calls
elidwa Jun 2, 2023
a25f248
arcticdem strips pytest; as_numpy_array pytest
jpswinski Jun 2, 2023
7ee39ea
non as_numpy_array pytest
jpswinski Jun 2, 2023
9846c16
added gedi l4a pytests
jpswinski Jun 2, 2023
bc6ec22
added gedi l4b pytest
jpswinski Jun 2, 2023
03b2d20
NAN returned instead of nodata value, git issue 262
elidwa Jun 2, 2023
8c7de34
added perf tests to pytests
jpswinski Jun 5, 2023
da8c17b
more generic handling for utm2crs
elidwa Jun 6, 2023
fbcd4c7
PROJ apis are now explicitly callable from geo package code
elidwa Jun 6, 2023
25c0cda
added support for swot netCDF files to H5Coro
jpswinski Jun 6, 2023
af2af04
minor change to utm code
elidwa Jun 7, 2023
cf11601
added swot to earthdata module
jpswinski Jun 7, 2023
ffda3ed
initial commit for swot plugin
jpswinski Jun 7, 2023
6b0b9c3
swot builds and installs
jpswinski Jun 7, 2023
9a36cfe
added swot plugin to slideruleearth-aws target
jpswinski Jun 7, 2023
c501aa5
fixed url for podaac authentication
jpswinski Jun 7, 2023
b0b0e14
fixed lat,lon in swot reader
jpswinski Jun 7, 2023
2c8226d
updates to swot plugin
jpswinski Jun 7, 2023
0d852ab
handling empty spatial region
jpswinski Jun 8, 2023
b9212e6
updated python swot module to process l2 returns
jpswinski Jun 8, 2023
8884cb4
working swot subsetter
jpswinski Jun 8, 2023
9681c65
Major update to correct 3D CRS transforms
elidwa Jun 9, 2023
38e6195
test updates for new CRS code
elidwa Jun 9, 2023
3a67490
wkt2 files for pgc loaded from CONFIG dir
elidwa Jun 9, 2023
4fa61fe
variable name cleanup
elidwa Jun 9, 2023
0c3ea1f
all old tests for arcticDem are enabled
elidwa Jun 9, 2023
deae60c
updated raster sampler to include height field
jpswinski Jun 9, 2023
25f20e6
updates for pytests to pass; changed json lua extension to provide nu…
jpswinski Jun 9, 2023
b4a2ed7
Merge branch 'xyz' into main
jpswinski Jun 9, 2023
fd9581e
Merge branch 'swot' into main
jpswinski Jun 9, 2023
844dde4
removed debug prints of wkt files
jpswinski Jun 9, 2023
b61102b
release notes added for v3.5.0
jpswinski Jun 9, 2023
3fb362d
Version v3.5.0
jpswinski Jun 9, 2023
7fc822c
Cmake: Use found READLINE_LIB
ashiklom Jun 9, 2023
a555475
fixed bug in geojson, added more tests
elidwa Jun 9, 2023
44f4a72
Merge branch 'xyz' of github.com:ICESat2-SlideRule/sliderule into xyz
elidwa Jun 9, 2023
e718558
__geo__, not __h5__, before include geo
ashiklom Jun 9, 2023
44c0139
more arcticdem tests
elidwa Jun 12, 2023
6c9cfe5
Merge pull request #267 from ashiklom/patch-1
jpswinski Jun 12, 2023
4fe899d
fixed prototype mismatch in pyH5Coro.h
jpswinski Jun 12, 2023
7546593
Merge branch 'main' of github.com:ICESat2-SlideRule/sliderule into main
jpswinski Jun 12, 2023
949a3b3
fixed path to documentation in release package
jpswinski Jun 12, 2023
43c1535
initial move of building the python bindings to inside the target dir…
jpswinski Jun 12, 2023
f61bf4a
continued work on conda env build of bindings
jpswinski Jun 12, 2023
4bab140
continued work on srpy
jpswinski Jun 12, 2023
63aefe2
updated pybinding gedi script, and fixed GeoRaster compat with conda lib
jpswinski Jun 12, 2023
a26bdd6
Merge branch 'main' into bindings
jpswinski Jun 12, 2023
2ced742
added tests to REMA
elidwa Jun 12, 2023
1c89028
simplified srpybin build
jpswinski Jun 12, 2023
76235a9
resolving merge issues from xyz branch
elidwa Jun 12, 2023
c277fe9
added warnings to plugins and then fixed warnings
jpswinski Jun 12, 2023
614f7e2
Merge branch 'main' of github.com:ICESat2-SlideRule/sliderule into main
elidwa Jun 12, 2023
ec33f2c
removed one redundant test in arcticdem
elidwa Jun 12, 2023
97a365d
changed pytests to use version 5 ATL03 data; fixed some cmake find_pa…
jpswinski Jun 13, 2023
fb6cb60
Merge branch 'main' of github.com:ICESat2-SlideRule/sliderule into main
jpswinski Jun 13, 2023
a7b87cb
pulling in lua5.3 from system package manager
jpswinski Jun 13, 2023
718c46b
working docker build for srpybin
jpswinski Jun 13, 2023
4ee419b
replaced sqrt64 with c++ std::sqrt
elidwa Jun 13, 2023
1abbb29
Merge branch 'main' of github.com:ICESat2-SlideRule/sliderule into main
elidwa Jun 13, 2023
6f8f7f3
resolved including lua.h directly in some paths; updated bindings doc…
jpswinski Jun 14, 2023
2c6be6b
updated pytests for use with v005 ATL03 granules
jpswinski Jun 14, 2023
b55d702
updated gedi plugin with values that match new georaster code
jpswinski Jun 14, 2023
406b08e
removed printf in version function of plugins to reduce log chatter
jpswinski Jun 14, 2023
2ce5d0f
created GeoDataSet class. Raster and Index classes derive from it
elidwa Jun 14, 2023
8b2d1b7
srpybin docker container can run python scripts passed as arguments
jpswinski Jun 14, 2023
e4ba9dd
Added Dockerfile back, added systest to makefile
jpswinski Jun 14, 2023
8a9c996
x86 dockerfile for python bindings
jpswinski Jun 14, 2023
d1cbfdc
updated readme for building python bindings
jpswinski Jun 14, 2023
931f2b5
Merge pull request #269 from ICESat2-SlideRule/geodset
jpswinski Jun 14, 2023
8c6b2c0
whitespace correction
jpswinski Jun 20, 2023
b3e74db
Merge branch 'main' of github.com:ICESat2-SlideRule/sliderule into main
jpswinski Jun 20, 2023
e18f1a6
Changed existing code to read directly from vrt for tiles
elidwa Jun 21, 2023
e8be4c6
vrt files dates from aws
elidwa Jun 21, 2023
fdb3017
GeoRaster class renamed to GeoIndexedRaster
elidwa Jun 22, 2023
45d5d8d
fixed some masked bugs in h5coro
jpswinski Jun 23, 2023
f4fb764
mosaics and geojson class use new georaster
elidwa Jun 23, 2023
a7d8bf1
gedi uses new goeraster
elidwa Jun 27, 2023
b59c762
made _raster atomic, abandoned GdalRaster class
elidwa Jun 27, 2023
4efcb53
fixed compatibility issue in h5coro for block offset debug message
jpswinski Jun 28, 2023
6fa2fd0
interim checkin
elidwa Jun 28, 2023
594806a
removed pgcmosaic class, added GdalRaster
elidwa Jun 28, 2023
74bcd3e
Created GdalRaster class, gedi, geojsonRaster and PGC is using it
elidwa Jun 29, 2023
63bb4c6
sliderule: update to EPSG:7912, use 3D Point geometry
dshean Jun 29, 2023
6449602
converted RasterSample to class
elidwa Jun 30, 2023
f74f77b
flatened transform class
elidwa Jun 30, 2023
ea0db25
Created my own Point class, OGRPoint no longer used
elidwa Jun 30, 2023
d9862f5
GDAL AWS credentials in GdalRaster class now
elidwa Jun 30, 2023
cade59c
must checkin, code builds but is broken
elidwa Jun 30, 2023
7d2eaf3
removed VctRaster, work in progress
elidwa Jun 30, 2023
7be4155
pgc started to run with new code
elidwa Jun 30, 2023
ecb921a
removed time/date from raster info, cleanu header files
elidwa Jul 1, 2023
0c692d2
ArcticDem and Rema now work for strips
elidwa Jul 1, 2023
8ea93a4
fixed bug in getUseTime
elidwa Jul 1, 2023
5c5bbef
cleanup of headers, constructors
elidwa Jul 2, 2023
8fececf
simplifying
elidwa Jul 2, 2023
ef50b0f
improv
elidwa Jul 2, 2023
d7ebbf3
GdalRaster no longe tracks enabled flag
elidwa Jul 2, 2023
4f9485e
using callback for crsOverride
elidwa Jul 3, 2023
37a772c
added back raster time
elidwa Jul 3, 2023
26e92e7
groupid is now in cacheitem
elidwa Jul 3, 2023
ec17fb5
all plugins now build and run with new gdalraster
elidwa Jul 3, 2023
0322305
cleaned up override and final
elidwa Jul 3, 2023
f823fd5
cleanup
elidwa Jul 3, 2023
b2af47a
support for 3d transformation added to gdf creation
jpswinski Jul 3, 2023
ee0fe43
updated gedi self test
jpswinski Jul 3, 2023
a486026
index dset is closed after loading features
elidwa Jul 3, 2023
03da53d
user specified height_key
jpswinski Jul 3, 2023
e0061e6
Merge branch 'main' into gpd_3D_geometry
jpswinski Jul 3, 2023
9373b4f
test for 3d crs transforms
jpswinski Jul 3, 2023
0a0466f
more cleanup
elidwa Jul 3, 2023
6865c32
more cleanup
elidwa Jul 4, 2023
afd6486
more cleanup
elidwa Jul 4, 2023
a321083
finished cleanup
elidwa Jul 4, 2023
0fc5cc3
raster group list allocation changed
elidwa Jul 4, 2023
d6ec2fb
cleanup
elidwa Jul 4, 2023
815a65b
added mosaic and strips perf tests to makefile
elidwa Jul 4, 2023
539adc1
fixed possible memory leak
elidwa Jul 4, 2023
a7f00b8
minor fix
elidwa Jul 4, 2023
d6487fd
added empty call to ordering, cleanup how list is emptied
elidwa Jul 4, 2023
37d54c5
added AOI for strips for now, added user pipeline
elidwa Jul 5, 2023
e3555d6
EventLib initialized first to hadle mslogs during init
elidwa Jul 5, 2023
e2860e5
utility to list GEDI files
jpswinski Jul 5, 2023
74bc5eb
removed unneeded virtual destructor
jpswinski Jul 5, 2023
a467dd3
only group gps time used
elidwa Jul 5, 2023
ad8b50a
changed raster info list to std vector with min size
elidwa Jul 6, 2023
6184fd5
start of script to create geojson files from areas of interest for st…
jpswinski Jul 6, 2023
571a6b1
Merge remote-tracking branch 'origin/georaster' into georaster-jp
jpswinski Jul 6, 2023
274e6d3
added aoi_bbox parameter to GeoParms, along with python client helper…
jpswinski Jul 6, 2023
bc567df
added tests for pipeline and aoi box
elidwa Jul 6, 2023
5336a89
Merge pull request #277 from ICESat2-SlideRule/georaster-jp
elidwa Jul 6, 2023
5ad93bf
Changed caching mechanism
elidwa Jul 7, 2023
55518ce
Fixed bug with rader threads not running concurently, cache size chec…
elidwa Jul 7, 2023
a267294
Merge pull request #278 from ICESat2-SlideRule/georaster-cachemods
elidwa Jul 7, 2023
52ae004
cleanup after code review
elidwa Jul 7, 2023
5e80be6
Merge pull request #276 from ICESat2-SlideRule/georaster
jpswinski Jul 7, 2023
31bff89
restored gedi tests to what they were
jpswinski Jul 7, 2023
8f9b7fa
added mutex in GeoRaster. Updated python test for new raster code
elidwa Jul 7, 2023
a1422b0
Added mutex protection in GeoRaster class, updated python tests
elidwa Jul 7, 2023
846babb
Using inverted tranform instead of bbox for pixel calculations, more …
elidwa Jul 9, 2023
b59ba9d
Version v3.6.0
jpswinski Jul 10, 2023
90a044a
set default iteration count for #280
tsutterley Jul 11, 2023
defb149
Updated lua and python tests, minor fix in raster code
elidwa Jul 17, 2023
092a420
added geojson performance test
elidwa Jul 20, 2023
b3a75d1
Merge pull request #281 from ICESat2-SlideRule/widget-update
jpswinski Jul 24, 2023
6ac5b30
Merge branch 'main' into gedi_stage_mc
jpswinski Jul 24, 2023
8c8f6f5
utility to create geojson files from a point of interest
jpswinski Jul 24, 2023
0aa8c1a
changed list of samples to std vector. 5% timing improvement for some…
elidwa Jul 24, 2023
1fa1c59
added test data site geojson files
jpswinski Jul 24, 2023
0854e6f
fixed errant assert in parquet builder
jpswinski Jul 24, 2023
354fecd
updated gedi staging scripts to handle relative paths
jpswinski Jul 25, 2023
677c478
Merge branch 'gedi_stage' into main
jpswinski Jul 25, 2023
ff8ba12
optimizing parquet builder
jpswinski Jul 25, 2023
e8219c5
removed time consuming api calls for format dates
jpswinski Jul 25, 2023
6aadd53
fixed path to geojson file
jpswinski Jul 26, 2023
a252a8e
trace id passed to h5coro
jpswinski Jul 27, 2023
f7601d6
moved sc_orient into subsetter thread - sta shows overall performance…
jpswinski Jul 27, 2023
d2545b9
optimized writing of binary geo column in parquet builder
jpswinski Jul 27, 2023
0dbfd83
draft of parquetwriter that works - directly writes to parquet file b…
jpswinski Jul 29, 2023
7ad61e3
removed parquet writer class because it did not sufficiently speed th…
jpswinski Jul 29, 2023
df54c08
switched to snappy compression because it is much faster
jpswinski Jul 31, 2023
65ca86e
instrumented parquet builder with traces
jpswinski Jul 31, 2023
46531c2
added 3DEP and SWOT to asset directory documentation
jpswinski Aug 1, 2023
7e16d3e
changed default version of ICESat-2 products to 006
jpswinski Aug 3, 2023
656639e
add function for querying collections
tsutterley Aug 3, 2023
bd95890
add collection and max version tests for review
tsutterley Aug 3, 2023
3c024f4
fix: import cmr collection functions without __
tsutterley Aug 3, 2023
b1e4aab
Merge pull request #290 from ICESat2-SlideRule/earthdata
jpswinski Aug 4, 2023
66dd6da
added support for geouser-raster, max size 64MB
elidwa Aug 4, 2023
bb73593
Added support for geouser_raster, max size 64MB
elidwa Aug 4, 2023
c3db209
set iselevation to true for geouser_raster test
elidwa Aug 4, 2023
aa2b639
dropped log level of import sklearn warning to info
jpswinski Aug 5, 2023
c547d9a
Version v3.7.0
jpswinski Aug 5, 2023
cb8ead4
typos in docs
jpswinski Aug 7, 2023
a48ebfd
up'ed the number of returns in lpdaac list
jpswinski Aug 10, 2023
6a2aea4
added explicit root_block_device to sliderule instance configuration
jpswinski Aug 11, 2023
76def34
ArcticDEM mosaics upgrade from v3.0 to v4.1
elidwa Aug 11, 2023
160bf82
Opendata vrt (#302)
elidwa Aug 14, 2023
17987fb
worldlcover plugin uses local vrt stored in sliderule s3
elidwa Aug 15, 2023
05ca0f3
updated python arcticdem test to v4.1
elidwa Aug 15, 2023
5625685
using latest git based libs (projlib, gdal, pdal, etc)
elidwa Aug 15, 2023
b314737
added snappy compression to arrow library
jpswinski Aug 15, 2023
abd3a8b
#283 - implemented y_atc in Atl06Dispatch (atl06p api)
jpswinski Aug 16, 2023
74aff44
initial draft of container record use in atl03 reader
jpswinski Aug 17, 2023
79dae1e
first attempt at parsing a container record in the python client
jpswinski Aug 17, 2023
46203d9
basic support for container records
jpswinski Aug 22, 2023
9ea8e01
moved (untested) to providing only ancrec of photon rate data for all…
jpswinski Aug 23, 2023
de6e1fb
Add a project tag to capture costs for the prov-sys #297
cugarteblair Aug 23, 2023
17a9079
Merge pull request #307 from ICESat2-SlideRule/issue_297_project_tag
jpswinski Aug 23, 2023
49eedc0
removed compact option for atl06 output
jpswinski Aug 23, 2023
9fa123f
non-building initial full draft of ancillary atl06 code
jpswinski Aug 25, 2023
7e6aad1
building draft of ancillary atl06 code
jpswinski Aug 25, 2023
434dcde
hooked ancillary processing into icesat2 client
jpswinski Aug 25, 2023
56e8047
fixed record list order issue
jpswinski Aug 25, 2023
ec8293d
self tests for ancillary data extraciton
jpswinski Aug 26, 2023
8f8cdb5
passing self test for container records
jpswinski Aug 28, 2023
5b09ee6
fixed issues parsing container rec
jpswinski Aug 28, 2023
fd8f9d7
renamed lat and lon to latitude and longitude; renamed distance to x_atc
jpswinski Aug 29, 2023
3bc87ad
atl03 record is just one pair track now
jpswinski Aug 29, 2023
b4bed85
all records and processing down per individual pair track
jpswinski Aug 31, 2023
55a1451
fixed regression in extent id
jpswinski Aug 31, 2023
e8756f4
updated to python benchmarks
jpswinski Aug 31, 2023
67acc2e
reformatted output of benchmark code
jpswinski Aug 31, 2023
c55b8f9
parequet builder handles batch records generically - building
jpswinski Sep 1, 2023
eed415e
fixed iterator in dictionary
jpswinski Sep 1, 2023
7fe3079
updates to parquet builder
jpswinski Sep 1, 2023
769a327
fixed endpoints and atl03 parsing in client
jpswinski Sep 1, 2023
14c2a2e
fixes from python pytests
jpswinski Sep 5, 2023
c5e9e6f
updated arcticdem pytest for latest atl03reader subsetting
jpswinski Sep 5, 2023
468c2f7
merge of 3d gpd pr
jpswinski Sep 5, 2023
64a3bf3
fixed ancillary self tests
jpswinski Sep 5, 2023
7245c74
fixes to self tests for updates to parquet builder
jpswinski Sep 5, 2023
b3895d3
clang warning message cleanup
jpswinski Sep 6, 2023
b9df609
fixed memory leaks
jpswinski Sep 6, 2023
7936f70
Merge branch 'container-record-parquet-3d' into mc
jpswinski Sep 6, 2023
213aa9a
fixed compiler wanint for Atl08Dispatch
jpswinski Sep 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
CONDA_ENV: [3.8, unpinned]
CONDA_ENV: [unpinned]
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,5 @@ cscope.*
.clangd/
.clang-format
compile_commands.json
report.pdf
report.xml
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ endif()

option (PYTHON_BINDINGS "Create Python bindings, including h5lite module" OFF)
option (SHARED_LIBRARY "Create shared library instead of sliderule binary" OFF)
option (SERVER_APP "Create sliderule server binary" ON)

# Library Options #

Expand Down Expand Up @@ -251,7 +252,7 @@ if(${PYTHON_BINDINGS})

add_subdirectory (targets/binding-python)

elseif(CMAKE_BUILD_PLATFORM MATCHES "Linux")
elseif(${SERVER_APP} AND (CMAKE_BUILD_PLATFORM MATCHES "Linux"))

add_subdirectory (targets/server-linux)

Expand Down
107 changes: 75 additions & 32 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ ATLAS_BUILD = $(BUILD)/atlas
ICESAT2_BUILD = $(BUILD)/icesat2
GEDI_BUILD = $(BUILD)/gedi
LANDSAT_BUILD = $(BUILD)/landsat
USGS3DEP_BUILD = $(BUILD)/usgs3dep
OPENDATA_BUILD = $(BUILD)/opendata
SWOT_BUILD = $(BUILD)/swot

# when using the llvm toolchain to build the source
CLANG_OPT = -DCMAKE_USER_MAKE_RULES_OVERRIDE=$(ROOT)/platforms/linux/ClangOverrides.txt -D_CMAKE_TOOLCHAIN_PREFIX=llvm-
Expand All @@ -21,7 +24,7 @@ MYIP ?= $(shell (ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$$/\1/p'))
default-build: ## default build of sliderule
make -j4 -C $(SLIDERULE_BUILD)

all: default-build atlas pgc gedi icesat2 landsat ## build everything
all: default-build atlas pgc gedi icesat2 landsat usgs3dep opendata swot ## build everything

config: config-release ## configure make for default build

Expand All @@ -46,40 +49,17 @@ config-development: prep ## configure make for development version of sliderule
config-development-debug: prep ## configure make for debug version of sliderule binary
cd $(SLIDERULE_BUILD); cmake -DCMAKE_BUILD_TYPE=Debug $(DEVCFG) -DENABLE_TRACING=ON $(ROOT)

config-all: config-development config-atlas config-pgc config-gedi config-icesat2 config-landsat ctags ## configure everything
config-all-debug: config-development-debug config-atlas-debug config-pgc-debug config-gedi-debug config-icesat2-debug config-landsat-debug ctags ## configure everything for debug
config-all: config-development config-atlas config-pgc config-gedi config-icesat2 config-landsat config-usgs3dep config-opendata config-swot ctags ## configure everything
config-all-debug: config-development-debug config-atlas-debug config-pgc-debug config-gedi-debug config-icesat2-debug config-landsat-debug config-usgs3dep-debug config-opendata-debug config-swot-debug ctags ## configure everything for debug

install: ## install sliderule to system
make -C $(SLIDERULE_BUILD) install

install-all: install install-atlas install-pgc install-gedi install-icesat2 install-landsat ## install everything
install-all: install install-atlas install-pgc install-gedi install-icesat2 install-landsat install-usgs3dep install-opendata install-swot ## install everything

uninstall: ## uninstall most recent install of sliderule from system
xargs rm < $(SLIDERULE_BUILD)/install_manifest.txt

########################
# Python Binding Targets
########################

PYTHONCFG = -DPYTHON_BINDINGS=ON
PYTHONCFG += -DUSE_H5_PACKAGE=ON
PYTHONCFG += -DUSE_AWS_PACKAGE=ON
PYTHONCFG += -DUSE_LEGACY_PACKAGE=ON
PYTHONCFG += -DUSE_CCSDS_PACKAGE=ON
PYTHONCFG += -DUSE_GEO_PACKAGE=ON
PYTHONCFG += -DUSE_NETSVC_PACKAGE=ON
PYTHONCFG += -DENABLE_H5CORO_ATTRIBUTE_SUPPORT=ON
PYTHONCFG += -DH5CORO_THREAD_POOL_SIZE=0
PYTHONCFG += -DH5CORO_MAXIMUM_NAME_SIZE=192
PYTHONCFG += -DICESAT2_PLUGIN_LIBPATH=/usr/local/etc/sliderule/icesat2.so
PYTHONCFG += -DICESAT2_PLUGIN_INCPATH=/usr/local/include/sliderule/icesat2

config-python: prep ## configure make for python bindings (using system environent)
cd $(SLIDERULE_BUILD); cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_BEST_EFFORT_CONDA_ENV=ON $(PYTHONCFG) $(ROOT)

config-python-conda: prep ## configure make for python bindings (using conda environment)
cd $(SLIDERULE_BUILD); cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(CONDA_PREFIX) $(PYTHONCFG) $(ROOT)

########################
# Shared Library Targets
########################
Expand Down Expand Up @@ -107,7 +87,7 @@ uninstall-pgc: ## uninstall most recent install of icesat2 plugin from system
xargs rm < $(PGC_BUILD)/install_manifest.txt

########################
# Atlas Plugin Targets
# ATLAS Plugin Targets
########################

config-atlas: prep ## configure make for atlas plugin
Expand All @@ -126,7 +106,7 @@ uninstall-atlas: ## uninstall most recent install of atlas plugin from system
xargs rm < $(ATLAS_BUILD)/install_manifest.txt

########################
# Icesat2 Plugin Targets
# ICESat-2 Plugin Targets
########################

config-icesat2: prep ## configure make for icesat2 plugin
Expand All @@ -145,7 +125,7 @@ uninstall-icesat2: ## uninstall most recent install of icesat2 plugin from syste
xargs rm < $(ICESAT2_BUILD)/install_manifest.txt

########################
# Gedi Plugin Targets
# GEDI Plugin Targets
########################

config-gedi: prep ## configure make for gedi plugin
Expand Down Expand Up @@ -182,6 +162,63 @@ install-landsat: ## install icesat2 plugin to system
uninstall-landsat: ## uninstall most recent install of icesat2 plugin from system
xargs rm < $(LANDSAT_BUILD)/install_manifest.txt

##########################
# USGS3DEP Plugin Targets
##########################

config-usgs3dep-debug: prep ## configure make for usgs3dep plugin
cd $(USGS3DEP_BUILD); cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON $(ROOT)/plugins/usgs3dep

config-usgs3dep: prep ## configure make for usgs3dep plugin
cd $(USGS3DEP_BUILD); cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON $(ROOT)/plugins/usgs3dep

usgs3dep: ## build usgs3dep plugin
make -j4 -C $(USGS3DEP_BUILD)

install-usgs3dep: ## install icesat2 plugin to system
make -C $(USGS3DEP_BUILD) install

uninstall-usgs3dep: ## uninstall most recent install of icesat2 plugin from system
xargs rm < $(USGS3DEP_BUILD)/install_manifest.txt

##########################
# OPENDATA Plugin Targets
##########################

config-opendata-debug: prep ## configure make for opendata plugin
cd $(OPENDATA_BUILD); cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON $(ROOT)/plugins/opendata

config-opendata: prep ## configure make for opendata plugin
cd $(OPENDATA_BUILD); cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON $(ROOT)/plugins/opendata

opendata: ## build opendata plugin
make -j4 -C $(OPENDATA_BUILD)

install-opendata: ## install icesat2 plugin to system
make -C $(OPENDATA_BUILD) install

uninstall-opendata: ## uninstall most recent install of icesat2 plugin from system
xargs rm < $(OPENDATA_BUILD)/install_manifest.txt

##########################
# SWOT Plugin Targets
##########################

config-swot-debug: prep ## configure make for swot plugin
cd $(SWOT_BUILD); cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON $(ROOT)/plugins/swot

config-swot: prep ## configure make for swot plugin
cd $(SWOT_BUILD); cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON $(ROOT)/plugins/swot

swot: ## build swot plugin
make -j4 -C $(SWOT_BUILD)

install-swot: ## install icesat2 plugin to system
make -C $(SWOT_BUILD) install

uninstall-swot: ## uninstall most recent install of icesat2 plugin from system
xargs rm < $(SWOT_BUILD)/install_manifest.txt

########################
# Development Targets
########################
Expand All @@ -197,7 +234,7 @@ asan: prep ## build address sanitizer debug version of sliderule binary
ctags: ## generate ctags
if [ -d ".clangd/index/" ]; then rm -f .clangd/index/*; fi ## clear clagnd index (before clangd-11)
if [ -d ".cache/clangd/index/" ]; then rm -f .cache/clangd/index/*; fi ## clear clagnd index (clangd-11)
/usr/bin/jq -s 'add' $(SLIDERULE_BUILD)/compile_commands.json $(PGC_BUILD)/compile_commands.json $(ICESAT2_BUILD)/compile_commands.json $(GEDI_BUILD)/compile_commands.json $(LANDSAT_BUILD)/compile_commands.json > compile_commands.json
/usr/bin/jq -s 'add' $(SLIDERULE_BUILD)/compile_commands.json $(PGC_BUILD)/compile_commands.json $(ICESAT2_BUILD)/compile_commands.json $(GEDI_BUILD)/compile_commands.json $(LANDSAT_BUILD)/compile_commands.json $(USGS3DEP_BUILD)/compile_commands.json $(OPENDATA_BUILD)/compile_commands.json $(SWOT_BUILD)/compile_commands.json > compile_commands.json

testmem: ## run memory test on sliderule
valgrind --leak-check=full --track-origins=yes --track-fds=yes sliderule $(testcase)
Expand Down Expand Up @@ -234,6 +271,9 @@ prep: ## create necessary build directories
mkdir -p $(ICESAT2_BUILD)
mkdir -p $(GEDI_BUILD)
mkdir -p $(LANDSAT_BUILD)
mkdir -p $(USGS3DEP_BUILD)
mkdir -p $(OPENDATA_BUILD)
mkdir -p $(SWOT_BUILD)

clean: ## clean last build
- make -C $(SLIDERULE_BUILD) clean
Expand All @@ -242,14 +282,17 @@ clean: ## clean last build
- make -C $(ICESAT2_BUILD) clean
- make -C $(GEDI_BUILD) clean
- make -C $(LANDSAT_BUILD) clean
- make -C $(USGS3DEP_BUILD) clean
- make -C $(OPENDATA_BUILD) clean
- make -C $(SWOT_BUILD) clean

distclean: ## fully remove all non-version controlled files and directories
- rm -Rf $(BUILD)
- rm -Rf $(STAGE)
- cd $(ROOT)/docs && ./clean.sh
- cd $(ROOT)/clients/python && ./clean.sh
- find -name ".cookies" -exec rm {} \;
- rm compile_commands.json
- rm -f compile_commands.json

help: ## that's me!
@printf "\033[37m%-30s\033[0m %s\n" "#-----------------------------------------------------------------------------------------"
Expand Down
130 changes: 130 additions & 0 deletions clients/nodejs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
30 changes: 30 additions & 0 deletions clients/nodejs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
ROOT = $(shell pwd)
TEST ?= tests

test: ## run unit tests against public cluster
cd sliderule; jest $(TEST)

test-local: ## run unit tests against local running sliderule server
cd sliderule; jest $(TEST) --setupFiles $(ROOT)/sliderule/tests/local.config.js

test-developer: ## run unit tests against developers cluster
cd sliderule; jest $(TEST) --setupFiles $(ROOT)/sliderule/tests/developer.config.js

publish: ## publish package to npm registry
cd sliderule; npm publish --access public

login: ## login to npm registry
npm login --scope sliderule --auth-type legacy

install: ## install project (installs dependencies in package.json file)
cd sliderule; npm install

init: ## initialize project
cd sliderule; npm init --scope sliderule

distclean: ## fully remove all non-version controlled files and directories
-rm -Rf sliderule/node_modules/

help: ## That's me!
@grep -E '^[a-zA-Z_-].+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
@echo ENVVER:$(ENVVER)
Loading