Skip to content

heylsitan/precipitation-variability-NWC

Repository files navigation

Precipitation Variability Analysis for Northwest China

Associated Paper: The Influence of precipitation recycling processes on summer precipitation variability over Northwest China Authors: Yongli He, Zhen Tang, Chutao Lan, Boyuan Zhang, Jingjing Jia, Haipeng Yu Journal: Journal of Geophysical Research: Atmospheres (JGR: Atmospheres) Contact: heyongli@lzu.edu.cn

This repository contains the analysis code for studying precipitation variability patterns in Northwest China, including internal vs external variability, trend analysis, and moisture source tracking.

Project Structure

The repository is organized by analysis modules. Figures generated by scripts are stored under figure/.

./
├── station_merra2_comparison/           # Station–MERRA‑2 comparison analyses
├── variability_analysis/                # Internal/external variability analyses
├── spatial_climatology/                 # Spatial climatology and mapping
├── advanced_analysis/                   # SPI, moisture tracking, drought, etc.
├── figure/                              # Generated figures (PNG)
├── outputs/                             # Reserved for additional outputs (optional)
├── requirements.txt                     # Python dependencies
├── LICENSE                              # MIT License
└── README.md                            # This file

File Naming Convention

Files maintain the original figureX_stepX format but with meaningful English descriptions:

  • Format: figure[number]_[descriptive_name].py for main scripts
  • Format: figure[number]_step[step_number]_[descriptive_name].py for step scripts
  • Format: figure[number]_step[step_number]_[descriptive_name].sh for shell scripts

Analysis Components by Directory

Station-MERRA2 Comparison Analysis

  • figure1_station_merra2_comparison.py - Main comparison between station and MERRA-2 data
  • figure1_step1_station_data_loading.py - Station data loading and processing
  • figure1_step2_merra2_data_processing.py - MERRA-2 reanalysis data processing
  • figure1_step3_data_download.sh - Data download and merging script
  • figure1_step4_trend_analysis.py - Trend analysis for precipitation data
  • figure1_step5_correlation_computation.py - Correlation computation
  • figure1_step6_visualization_setup.py - Visualization setup with spatial analysis

Internal/External Variability Analysis

  • figure3_internal_external_variability_analysis.py - Main variability decomposition analysis
  • figure3_step1_variability_data_loading.py - Variability data loading step
  • figure3_step2_trend_computation.py - Trend computation for variability components
  • figure3_step3_spatial_data_processing.py - Spatial data processing step
  • figure3_step4_mapping_visualization.py - Mapping and visualization step

Spatial Climatology and Mapping

  • figure4_moisture_source_regional_mapping.py - Moisture source regional mapping
  • figure5_precipitation_climatology_mapping.py - Precipitation climatology spatial mapping
  • figure6_trend_significance_mapping.py - Trend significance spatial mapping
  • figure7_spatial_trend_analysis.py - Spatial trend analysis
  • figure7_step1_climatology_data_processing.py - Climatology data processing step

Advanced Analysis

  • figure8_standardized_precipitation_index.py - SPI calculation and drought analysis
  • figure9_moisture_tracking_analysis.py - Comprehensive moisture source tracking
  • figure10_trend_comparison_analysis.py - Atmospheric circulation trend comparison
  • figure11_spatial_spi_analysis.py - Spatial Standardized Precipitation Index analysis
  • figure12_regional_precipitation_analysis.py - Regional precipitation and circulation patterns
  • figure9_step1_moisture_data_preprocessing.py - Moisture data preprocessing step
  • figure11_step1_spi_data_preprocessing.py - SPI data preprocessing step

Requirements

  • Python 3.7+
  • Required packages: numpy, pandas, matplotlib, xarray, cartopy, scipy, netCDF4, cmaps, geopandas, scikit-learn, shapely
  • Additional tools: CDO (Climate Data Operators) for some shell scripts

Usage

  1. Prepare data paths in scripts

    • Scripts contain placeholders for input/output paths (often empty strings '').
    • Edit the target script and set the paths before running.

    Example (station–MERRA‑2 comparison): in station_merra2_comparison/figure1_station_merra2_comparison.py

    • Set station Excel path: pd.read_excel('/path/to/station.xlsx')
    • Set MERRA‑2 directory: merra_folder = '/path/to/merra_prev_nc/'
    • Set output path: plt.savefig('figure/fig1.png', dpi=300, bbox_inches='tight')
  2. Run individual analysis scripts as needed

    • Example: python station_merra2_comparison/figure1_station_merra2_comparison.py
  3. Follow the step-by-step workflow inside each module for complex analyses

Data Requirements

  • Station precipitation data (Excel format)
  • MERRA-2 reanalysis data (NetCDF format)
  • Shapefiles for regional boundaries
  • Moisture tracking results (NetCDF format)

Notes:

  • Some modules require cartopy, GEOS, and related native libs; ensure your environment provides them.
  • File naming conventions for MERRA‑2 are assumed in scripts (e.g., prev_YYYY.nc with variable tp). Adjust if your data differ.

Key Features Maintained

  • Original Code Logic: All scientific calculations and algorithms preserved exactly
  • Step-by-Step Workflow: Maintains the original research methodology
  • Chinese to English Translation: All comments translated for international accessibility
  • Professional Naming: Descriptive English names while preserving figure numbering
  • Academic Standards: Suitable for publication and collaboration

Geographic Focus

  • Region: Northwest China (70-115°E, 30-51°N)
  • Time Period: 1982-2020 (39 years)
  • Data Sources: Station observations, MERRA-2 reanalysis

Analysis Capabilities

  • Precipitation trend analysis with statistical significance testing
  • Internal vs external variability decomposition
  • Moisture source tracking and regional contribution analysis
  • Standardized Precipitation Index (SPI) calculation for drought identification
  • Spatial climatology and trend mapping
  • Atmospheric circulation pattern analysis

License

This code is provided for academic research purposes under the MIT License.

Note

This is an English-translated version of the original Chinese analysis code, with improved file naming and documentation while preserving all original functionality and directory structure. The code maintains the original scientific methodology and is ready for international collaboration and publication.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors