{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/analyzing-koopman-approaches-to-physics","title":"Analyzing Koopman approaches to physics-informed machine learning for long-term sea-surface temperature forecasting","arxiv_id":"2010.00399","date":"2020-09-15","proceeding":null,"authors":["Julian Rice","Wenwei Xu","Andrew August"],"abstract":"Accurately predicting sea-surface temperature weeks to months into the future is an important step toward long term weather forecasting. Standard atmosphere-ocean coupled numerical models provide accurate sea-surface forecasts on the scale of a few days to a few weeks, but many important weather systems require greater foresight. In this paper we propose machine-learning approaches sea-surface temperature forecasting that are accurate on the scale of dozens of weeks. Our approach is based in Koopman operator theory, a useful tool for dynamical systems modelling. With this approach, we predict sea surface temperature in the Gulf of Mexico up to 180 days into the future based on a present image of thermal conditions and three years of historical training data. We evaluate the combination of a basic Koopman method with a convolutional autoencoder, and a newly proposed \"consistent Koopman\" method, in various permutations. We show that the Koopman approach consistently outperforms baselines, and we discuss the utility of our additional assumptions and methods in this sea-surface temperature domain.","url_abs":"https://arxiv.org/abs/2010.00399v2","url_pdf":"https://arxiv.org/pdf/2010.00399v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"analyzing-koopman-approaches-to-physics","repo_url":"https://github.com/JRice15/physics-informed-autoencoders","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"physics-informed-machine-learning","task_name":"Physics-informed machine learning"},{"task_slug":"weather-forecasting","task_name":"Weather Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2010.00399","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.00399"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JRice15/physics-informed-autoencoders","reach":null}],"summary":{"ran_violates":1,"ran_honours":1,"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":5,"samples":[{"code_sha256_prefix":"130f2baf3643fb85","entry":"allin","repo":"JRice15/physics-informed-autoencoders","repo_kind":"official","path":"meta_test.py","file_url":"https://github.com/JRice15/physics-informed-autoencoders/blob/HEAD/meta_test.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"130f2baf3643fb85"}},{"code_sha256_prefix":"3fa0211cdb31b27c","entry":"get_mark","repo":"JRice15/physics-informed-autoencoders","repo_kind":"official","path":"meta_test.py","file_url":"https://github.com/JRice15/physics-informed-autoencoders/blob/HEAD/meta_test.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3fa0211cdb31b27c"}},{"code_sha256_prefix":"85e8240369ea8fbe","entry":"get_pipeline","repo":"JRice15/physics-informed-autoencoders","repo_kind":"official","path":"test_autoencoders.py","file_url":"https://github.com/JRice15/physics-informed-autoencoders/blob/HEAD/test_autoencoders.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"85e8240369ea8fbe"}},{"code_sha256_prefix":"1348a0824e3181d9","entry":"run_name_from_model_path","repo":"JRice15/physics-informed-autoencoders","repo_kind":"official","path":"test_autoencoders.py","file_url":"https://github.com/JRice15/physics-informed-autoencoders/blob/HEAD/test_autoencoders.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1348a0824e3181d9"}},{"code_sha256_prefix":"930864fb93745b6b","entry":"conf_interval_90","repo":"JRice15/physics-informed-autoencoders","repo_kind":"official","path":"meta_test.py","file_url":"https://github.com/JRice15/physics-informed-autoencoders/blob/HEAD/meta_test.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"930864fb93745b6b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}