{"id":20200895,"url":"https://github.com/openclimatefix/sat_pred","last_synced_at":"2025-09-03T18:38:27.820Z","repository":{"id":260074145,"uuid":"823034726","full_name":"openclimatefix/sat_pred","owner":"openclimatefix","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-23T11:52:17.000Z","size":777,"stargazers_count":0,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T03:11:16.910Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openclimatefix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["openclimatefix"],"patreon":null,"open_collective":"openclimatefix","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2024-07-02T09:51:18.000Z","updated_at":"2025-01-23T11:52:19.000Z","dependencies_parsed_at":"2025-01-20T23:58:36.958Z","dependency_job_id":"7f1f29a8-0af4-4b0a-9a9f-a973bbf668f8","html_url":"https://github.com/openclimatefix/sat_pred","commit_stats":null,"previous_names":["openclimatefix/sat_pred"],"tags_count":0,"template":false,"template_full_name":"openclimatefix/ocf-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Fsat_pred","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Fsat_pred/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Fsat_pred/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openclimatefix%2Fsat_pred/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openclimatefix","download_url":"https://codeload.github.com/openclimatefix/sat_pred/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241637191,"owners_count":19994927,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T04:46:03.896Z","updated_at":"2025-03-03T08:44:00.813Z","avatar_url":"https://github.com/openclimatefix.png","language":"Python","funding_links":["https://github.com/sponsors/openclimatefix","https://opencollective.com/openclimatefix"],"categories":[],"sub_categories":[],"readme":"# A repo for training deterministic models to predict future satellite\n\n\n## Installation\n\nCreate and activate a new python environment, e.g.\n\n```\nconda create -n sat_pred python=3.10\nconda activate sat_pred\n```\n\nClone this repo\n\n```\ngit clone https://github.com/openclimatefix/sat_pred.git\n```\n\nInstall this package and its dependencies\n\n```\ncd sat_pred\npip install -e .\n```\n\nYou will also need to install the cloudcasting package following the [instructions here](https://github.com/alan-turing-institute/cloudcasting)\n\nIf you want to train the earthformer model you should clone and install the earthformer repo as well\n\n```\ncd ..\ngit clone https://github.com/amazon-science/earth-forecasting-transformer.git\ncd earth-forecasting-transformer\npip install -e .\n```\n\n## Training\n\nYou can train a model by running\n\n```\npython sat_pred/train.py\n```\n\nfrom the root of the library. \n\nThe model and training options used are defined in the config files. The most important parts of the config files you may wish to train are:\n\n- `configs/datamodule/default.yaml`\n  - `zarr_paths` which point to your training data\n  - `train/val_period` which control the train / val split used\n  - `num_workers` and `batch_size` to suit your machine\n\n- `configs/logger/wandb.yaml`\n  - Set `project` to the project name you want to save the runs to on wandb\n\n- `configs/trainer/default.yaml`\n  - This control the parameters for the lightning Trainer. See https://lightning.ai/docs/pytorch/stable/common/trainer.html#trainer-class-api\n  - Note you might want to set `fast_dev_run` to `true` to aid with testing and getting set up\n\n- `configs/config.yaml`\n  - Set `model_name` to the name the run will be logged under on wandb\n  - Set `defaults:model` to one of the model config filenames within `configs/model`\n\nNote that since we use hydra to build up the configs, you can change the configs from the command line when running the training job. For example\n\n```\npython sat_pred/train.py model=earthformer model_name=\"earthformer-v1\" model.optimizer.lr=0.0002\n```\n\nwill train the model defined in `configs/model/earthformer.yaml` log ther training results to wandb under the name `earthformer-v1`. It will also overwrite the learning rate of the optimiser to 0.0002.\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenclimatefix%2Fsat_pred","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenclimatefix%2Fsat_pred","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenclimatefix%2Fsat_pred/lists"}