{"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/deep-learning-to-represent-sub-grid-processes","title":"Deep learning to represent sub-grid processes in climate models","arxiv_id":"1806.04731","date":"2018-06-12","proceeding":null,"authors":["Stephan Rasp","Michael S. Pritchard","Pierre Gentine"],"abstract":"The representation of nonlinear sub-grid processes, especially clouds, has\nbeen a major source of uncertainty in climate models for decades.\nCloud-resolving models better represent many of these processes and can now be\nrun globally but only for short-term simulations of at most a few years because\nof computational limitations. Here we demonstrate that deep learning can be\nused to capture many advantages of cloud-resolving modeling at a fraction of\nthe computational cost. We train a deep neural network to represent all\natmospheric sub-grid processes in a climate model by learning from a\nmulti-scale model in which convection is treated explicitly. The trained neural\nnetwork then replaces the traditional sub-grid parameterizations in a global\ngeneral circulation model in which it freely interacts with the resolved\ndynamics and the surface-flux scheme. The prognostic multi-year simulations are\nstable and closely reproduce not only the mean climate of the cloud-resolving\nsimulation but also key aspects of variability, including precipitation\nextremes and the equatorial wave spectrum. Furthermore, the neural network\napproximately conserves energy despite not being explicitly instructed to.\nFinally, we show that the neural network parameterization generalizes to new\nsurface forcing patterns but struggles to cope with temperatures far outside\nits training manifold. Our results show the feasibility of using deep learning\nfor climate model parameterization. In a broader context, we anticipate that\ndata-driven Earth System Model development could play a key role in reducing\nclimate prediction uncertainty in the coming decade.","url_abs":"http://arxiv.org/abs/1806.04731v3","url_pdf":"http://arxiv.org/pdf/1806.04731v3.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":"deep-learning-to-represent-sub-grid-processes","repo_url":"https://github.com/raspstephan/CBRAIN-CAM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"deep-learning-to-represent-sub-grid-processes","repo_url":"https://github.com/gmooers96/CBRAIN-CAM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"deep-learning-to-represent-sub-grid-processes","repo_url":"https://github.com/jordanott/CBRAIN-CAM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1806.04731","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.04731"}},"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/raspstephan/CBRAIN-CAM","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gmooers96/CBRAIN-CAM","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jordanott/CBRAIN-CAM","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":20},"by_repo_kind":{"listed":{"samples":20,"ran":0,"repositories":2}},"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":0,"samples":[{"code_sha256_prefix":"11520a2864c629c0","entry":"act_layer","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/models.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"11520a2864c629c0"}},{"code_sha256_prefix":"413e979484c437c6","entry":"act_layer","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/legacy/models.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/legacy/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"413e979484c437c6"}},{"code_sha256_prefix":"17416d46279a0a1c","entry":"act_layer","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/models.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"17416d46279a0a1c"}},{"code_sha256_prefix":"8205d6f9a8646635","entry":"compute_bp","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/Test01_preprocess_aqua.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/Test01_preprocess_aqua.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8205d6f9a8646635"}},{"code_sha256_prefix":"2fda44420d3715eb","entry":"compute_c","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/Test01_preprocess_aqua.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/Test01_preprocess_aqua.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2fda44420d3715eb"}},{"code_sha256_prefix":"e9f309bf8b97e534","entry":"compute_dP_tilde","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/layers.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e9f309bf8b97e534"}},{"code_sha256_prefix":"4c4e6f7352c04cea","entry":"compute_dP_tilde","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/layers.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/layers.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4c4e6f7352c04cea"}},{"code_sha256_prefix":"578387cb2e2e14a8","entry":"conv_model","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/legacy/models.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/legacy/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"578387cb2e2e14a8"}},{"code_sha256_prefix":"1762bd0384d00b0a","entry":"crop_ds","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/Test01_preprocess_aqua.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/Test01_preprocess_aqua.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1762bd0384d00b0a"}},{"code_sha256_prefix":"cf815b29dcf62479","entry":"ent_res","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/losses.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cf815b29dcf62479"}},{"code_sha256_prefix":"4358d72d442b2993","entry":"fc_model","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/models.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4358d72d442b2993"}},{"code_sha256_prefix":"019d6321d00e180b","entry":"fc_model","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/models.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"019d6321d00e180b"}},{"code_sha256_prefix":"12ddccc3bed4b967","entry":"get_jacobian","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/model_diagnostics.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/model_diagnostics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"12ddccc3bed4b967"}},{"code_sha256_prefix":"d5d4134a4e35adb3","entry":"get_mean_sounding","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/model_diagnostics.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/model_diagnostics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d5d4134a4e35adb3"}},{"code_sha256_prefix":"6eb107b3aee3be04","entry":"log_loss","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/losses.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6eb107b3aee3be04"}},{"code_sha256_prefix":"2984babb28096fb0","entry":"mass_res","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/losses.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2984babb28096fb0"}},{"code_sha256_prefix":"641029f5fefd3365","entry":"relu_model","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/models.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"641029f5fefd3365"}},{"code_sha256_prefix":"889048aa1db91c55","entry":"rmse","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/losses.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"889048aa1db91c55"}},{"code_sha256_prefix":"6b3770a41781c107","entry":"total_error","repo":"gmooers96/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/legacy/losses.py","file_url":"https://github.com/gmooers96/CBRAIN-CAM/blob/HEAD/cbrain/legacy/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6b3770a41781c107"}},{"code_sha256_prefix":"6319dcf221a42fc3","entry":"total_error","repo":"jordanott/CBRAIN-CAM","repo_kind":"listed","path":"cbrain/losses.py","file_url":"https://github.com/jordanott/CBRAIN-CAM/blob/HEAD/cbrain/losses.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6319dcf221a42fc3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}