diff --git a/datasets/bathy/package/BathyKd.cpp b/datasets/bathy/package/BathyKd.cpp index 97db91b84..3bfc76c55 100644 --- a/datasets/bathy/package/BathyKd.cpp +++ b/datasets/bathy/package/BathyKd.cpp @@ -95,7 +95,7 @@ double BathyKd::getKd (double lon, double lat) const int32_t y = static_cast(latitude_pixels); /* get x offset */ - const double degrees_of_longitude = lon + 180.0; + const double degrees_of_longitude = lon + 180.0; const double longitude_pixels = degrees_of_longitude * 24.0; const int32_t x = static_cast(longitude_pixels); @@ -105,7 +105,7 @@ double BathyKd::getKd (double lon, double lat) throw RunTimeException(CRITICAL, RTE_ERROR, "Invalid Kd coordinates: %d, %d | %lf, %lf", y, x, degrees_of_latitude, degrees_of_longitude); } const long offset = (x * 4320) + y; - + /* get kd */ return static_cast((*array)[offset]) * 0.0002; diff --git a/docs/rtd/source/release_notes/release-v4.7.1.md b/docs/rtd/source/release_notes/release-v4.7.1.md new file mode 100644 index 000000000..bc94754fc --- /dev/null +++ b/docs/rtd/source/release_notes/release-v4.7.1.md @@ -0,0 +1,31 @@ +# Release v4.7.1 + +2024-09-30 + +Version description of the v4.7.1 release of SlideRule Earth. + +## ATL24 Changes + +* Fixed default for parameter `thresh` in C-Shelph. +* Fixed calculation of `min_surface_photons_per_window` and `min_bathy_photons_per_window` in OpenOceans++ +* Updated models to latest for QTrees, CoastNet, and Ensemble +* Implemented use of `geoid_corr_h` for all classifiers except for the Ensemble. The Ensemble will be updated once it is retrained on the latest round of test results that incorporate the `geoid_corr_h` field. Previously, all classifiers were using non-refraction corrected height, but the ensemble was being trained using the refraction corrected height. Also, any post-test-run validation of the results only had the refraction corrected heights in the output. So the `geoid_corr_h` field was added so that it can clearly represent non-refraction corrected heights, while `ortho_h` includes the refraction correction (and any future corrections we might add). +* QTrees, CoastNet, and OpenOceans++ have been updated with the latest code and are now compiled in as header only libraries. +* MedianFilter and C-Shelph are pulled directly from the ut-ATL24-medianfilter and ut-ATL24-C-shelph repositories +* Version information is included in for all external classifiers (CoastNet, QTrees, OpenOceans++, MedianFilter, C-Shelph) +* Metadata is now provided inside the Parquet and HDF5 files instead of as separate json files. + +## Known Issues + + +## Development Updates + + + +## Getting This Release + +[https://github.com/SlideRuleEarth/sliderule/releases/tag/v4.7.1](https://github.com/SlideRuleEarth/sliderule/releases/tag/v4.7.1) + +## ATL24 Request Parameters + +## Benchmarks diff --git a/packages/arrow/ArrowFields.cpp b/packages/arrow/ArrowFields.cpp index 7d2dfbb3d..a4ab2f946 100644 --- a/packages/arrow/ArrowFields.cpp +++ b/packages/arrow/ArrowFields.cpp @@ -51,7 +51,7 @@ ArrowFields::ArrowFields (void): {"as_geo", &asGeo}, {"with_checksum", &withChecksum}, {"with_validation", &withValidation}, - {"asset_name", &assetName}, + {"asset", &assetName}, {"region", ®ion}, #ifdef __aws__ {"credentials", &credentials}, @@ -83,7 +83,7 @@ void ArrowFields::fromLua (lua_State* L, int index) { /* Get Asset */ Asset* asset = dynamic_cast(LuaObject::getLuaObjectByName(assetName.value.c_str(), Asset::OBJECT_TYPE)); - region = StringLib::duplicate(asset->getRegion()); + region = asset->getRegion(); credentials = CredentialStore::get(asset->getIdentity()); asset->releaseLuaObject(); } diff --git a/packages/arrow/ArrowFields.h b/packages/arrow/ArrowFields.h index 4a66fc84d..712adfb67 100644 --- a/packages/arrow/ArrowFields.h +++ b/packages/arrow/ArrowFields.h @@ -99,7 +99,6 @@ string convertToJson(const ArrowFields::format_t& v); int convertToLua(lua_State* L, const ArrowFields::format_t& v); void convertFromLua(lua_State* L, int index, ArrowFields::format_t& v); -inline uint32_t toEncoding(ArrowFields& v) { (void)v; return Field::USER; } inline uint32_t toEncoding(ArrowFields::format_t& v) { (void)v; return Field::INT32; } diff --git a/packages/arrow/ArrowParms.cpp b/packages/arrow/ArrowParms.cpp index aa772c0e9..9bde153f2 100644 --- a/packages/arrow/ArrowParms.cpp +++ b/packages/arrow/ArrowParms.cpp @@ -163,7 +163,15 @@ ArrowParms::ArrowParms (lua_State* L, int index): /* Asset */ lua_getfield(L, index, ASSET); asset_name = StringLib::duplicate(LuaObject::getLuaString(L, -1, true, NULL, &field_provided)); - if(field_provided) mlog(DEBUG, "Setting %s to %s", ASSET, asset_name); + if(field_provided && asset_name != NULL) + { + mlog(DEBUG, "Setting %s to %s", ASSET, asset_name); + if(StringLib::size(asset_name) == 0) + { + delete [] asset_name; + asset_name = NULL; + } + } lua_pop(L, 1); #ifdef __aws__ @@ -171,6 +179,7 @@ ArrowParms::ArrowParms (lua_State* L, int index): { /* Get Asset */ Asset* asset = dynamic_cast(LuaObject::getLuaObjectByName(asset_name, Asset::OBJECT_TYPE)); + if(!asset) throw RunTimeException(CRITICAL, RTE_ERROR, "Unable to find asset: %s", asset_name); /* Region */ region = StringLib::duplicate(asset->getRegion()); diff --git a/packages/core/RequestFields.cpp b/packages/core/RequestFields.cpp index b6aff6a30..9d2535836 100644 --- a/packages/core/RequestFields.cpp +++ b/packages/core/RequestFields.cpp @@ -162,7 +162,7 @@ int RequestFields::luaGetField (lua_State* L) } catch(const RunTimeException& e) { - mlog(WARNING, "error retrieving field: %s", e.what()); + mlog(WARNING, "unable to retrieve field: %s", e.what()); lua_pushnil(L); } diff --git a/targets/slideruleearth-aws/docker/sliderule/libdep-aarch64.lock b/targets/slideruleearth-aws/docker/sliderule/libdep-aarch64.lock index 93aec5449..7a8111e3a 100644 --- a/targets/slideruleearth-aws/docker/sliderule/libdep-aarch64.lock +++ b/targets/slideruleearth-aws/docker/sliderule/libdep-aarch64.lock @@ -1,7 +1,7 @@ arrow: apache-arrow-15.0.2-0-ge03105efc gdal: v3.9.2-0-g3aae5b4cf3 -geos: 3.13.0beta2-0-g24ac4f1e5 +geos: 3.13.0-0-gd7957246c libgeotiff: 1.7.3-0-gd2c72db -PROJ: 9.4.1-0-g875a485f -rapidjson: v1.1.0-753-g7c73dd7d +PROJ: 9.5.0-0-g0a407325 +rapidjson: v1.1.0-755-g815e6e7e xgboost: v2.1.1-0-g9c9db1259-dirty