{"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/climalign-unsupervised-statistical","title":"ClimAlign: Unsupervised statistical downscaling of climate variables via normalizing flows","arxiv_id":"2008.04679","date":"2020-08-11","proceeding":null,"authors":["Brian Groenke","Luke Madaus","Claire Monteleoni"],"abstract":"Downscaling is a landmark task in climate science and meteorology in which the goal is to use coarse scale, spatio-temporal data to infer values at finer scales. Statistical downscaling aims to approximate this task using statistical patterns gleaned from an existing dataset of downscaled values, often obtained from observations or physical models. In this work, we investigate the application of deep latent variable learning to the task of statistical downscaling. We present ClimAlign, a novel method for unsupervised, generative downscaling using adaptations of recent work in normalizing flows for variational inference. We evaluate the viability of our method using several different metrics on two datasets consisting of daily temperature and precipitation values gridded at low (1 degree latitude/longitude) and high (1/4 and 1/8 degree) resolutions. We show that our method achieves comparable predictive performance to existing supervised statistical downscaling methods while simultaneously allowing for both conditional and unconditional sampling from the joint distribution over high and low resolution spatial fields. We provide publicly accessible implementations of our method, as well as the baselines used for comparison, on GitHub.","url_abs":"https://arxiv.org/abs/2008.04679v1","url_pdf":"https://arxiv.org/pdf/2008.04679v1.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":"climalign-unsupervised-statistical","repo_url":"https://github.com/bgroenks96/generative-downscaling","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[{"method_slug":"normalizing-flows","method_name":"Normalizing Flows"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2008.04679","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.04679"}},"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/bgroenks96/generative-downscaling","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"official":{"samples":9,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"070adb2f85bca8a0","entry":"create_srcnn","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"baselines/dscnn.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/baselines/dscnn.py","link_basis":"first_harvest_node","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":"070adb2f85bca8a0"}},{"code_sha256_prefix":"7ac1667a359ea65a","entry":"create_vdsrcnn","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"baselines/dscnn.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/baselines/dscnn.py","link_basis":"first_harvest_node","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":"7ac1667a359ea65a"}},{"code_sha256_prefix":"be220899470ede88","entry":"mixed_spatial_mse","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"baselines/dscnn.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/baselines/dscnn.py","link_basis":"first_harvest_node","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":"be220899470ede88"}},{"code_sha256_prefix":"cb52b4b309a79beb","entry":"pacific_nw","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"regions.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/regions.py","link_basis":"first_harvest_node","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":"cb52b4b309a79beb"}},{"code_sha256_prefix":"1478550fc98baa74","entry":"pacific_nw_inland","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"regions.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/regions.py","link_basis":"first_harvest_node","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":"1478550fc98baa74"}},{"code_sha256_prefix":"c6083e0961aa2a06","entry":"prepare_downscaling_data","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"experiments/common.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/experiments/common.py","link_basis":"first_harvest_node","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":"c6083e0961aa2a06"}},{"code_sha256_prefix":"7a5792cb04dd03e0","entry":"southeast_us","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"regions.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/regions.py","link_basis":"first_harvest_node","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":"7a5792cb04dd03e0"}},{"code_sha256_prefix":"452d13ab3040e70a","entry":"split_path","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"gcsfs_map.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/gcsfs_map.py","link_basis":"first_harvest_node","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":"452d13ab3040e70a"}},{"code_sha256_prefix":"9050978bc25385dd","entry":"upsample","repo":"bgroenks96/generative-downscaling","repo_kind":"official","path":"experiments/common.py","file_url":"https://github.com/bgroenks96/generative-downscaling/blob/HEAD/experiments/common.py","link_basis":"first_harvest_node","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":"9050978bc25385dd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}