podaac / swodlr Goto Github PK
View Code? Open in Web Editor NEWswodlr (swaa·dler) is a system for generating on demand raster products from SWOT L2 data
License: Apache License 2.0
swodlr (swaa·dler) is a system for generating on demand raster products from SWOT L2 data
License: Apache License 2.0
After some initial discussions about the proposed architecture (https://github.com/podaac/swodlr/wiki/Architecture), implement a simple API for working with the domain objects discussed.
Acceptance Criteria:
Tool which performs realistic load simulation for end-to-end test of the raster-create process
https://hysds-core.atlassian.net/jira/software/c/projects/HC/issues/HC-474
Create HySDS job + user rule that can be independently imported into HySDS to provide SWODLR with event data.
AC:
Initial implementation, linting, testing, and CI/CD
ProductHistory
to provide requested timestamp in GraphQL schemaExpand ingest-to-sds to be step function with sqs as input
Group other lambdas into step functions
It is likely this will be required by NASA / Earthdata Cloud in the near future. We should get in front of it and enable encryption on the RDS database now since we're still early in development.
Collected metrics should include:
Implement CI/CD pipelines via GitHub Actions
First pass AC (feel free to suggest a change):
Fix API service to provide proper CORS headers/cookie options depending on environment deployed in. SIT environment should relax security policies to allow for local frontend development
Implement pre-defined configurations for users to select:
(1) output_granule_extent_flag (e.g., 0)
(2) raster_resolution (e.g., 100, 200)
(3) output_sampling_grid_type (e.g., utm)
(4) utm_zone_adjust (e.g., 0)
(5) mgrs_band_adjust (e.g., 0)
User provides Cycle/Pass/Scene IDs & select from above pre-defined configurations provided by our API.
Implement logic that allow user to submit Cycle/Pass/Scene IDs & pre-defined configurations as inputs
In v1 of swodlr UI, an user puts in cycle/pass/sceneID to submit a request to generate customized L2 raster products. The scene ID can be found from the SDP SWOT_L2_HR_Raster granule in its file naming convention, iso metadata, CMR, or is calculated using an equation.
The code that calculates the scene ID via an equation is already developed in the backend service. Create a convenient tool that leverage the existing backend code to provide the end user the scene IDs using the equation.
Modify the GQL schema to better differentiate the raster product querying and creation operations. query.l2RasterProduct
should remain the same, but provide documentation that if the product does not exist, it will not be created. mutation.queryOrCreateL2RasterProduct
should provide the same functionality as query.l2RasterProduct
, but in addition, if a product requested does not exist, it will initiate the generation of the product
This differentiation should cover the two base use cases for Swodlr
Integrate raster-create calls into the API via SQS
Not urgent as we are still in development but I want to track this because we need to fix it before public deployment.
The default error page currently includes stack traces and info that we do not want to be publicly available when the service is published.
Need to create a user-friendly error page that indicates an error occurred. The error page should include a unique error code identifier so that service operators/developers can quickly search application logs using the unique error code to find the relevant stack trace.
Create tests for the API using an in memory database as storage.
A few test cases that should be present:
Implement user notification via email when requested custom raster product is ready for download
A/C: Demonstrate user get an email notification to download when products are generated
data
per CNM specImplement API to query existing metadata in CMR to get a preliminary set of L2 PIXC & PIXCVec products
Ensure that the pipeline works from I&A notification to SDS ingestion.
Progress: Mostly complete; I&A needs to work on bucket permissions
Just need the skeleton of the project for now
This service is going to have to connect to an RDS instance to store state. Need to setup an RDS instance using terraform.
AC:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.