NWP | PGW + Bias-corrected-CMIP6
- Pseudo-Global Warming (PGW) - Future Projection
- NWP | Pseudo-Global-Warming (PGW) hands-on | ERA5 | GFS
- NWP | PGW | To prepare the ERA5 GRIB file
Bias-corrected CMIP6
- Bias-corrected CMIP6 global dataset for dynamical downscaling of the Earth’s historical and future climate (1979–2100)
- The bias-corrected data have an ERA5-based mean climate and interannual variance, but with a non-linear trend from the ensemble mean of the 18 CMIP6 models. The dataset spans the historical time period 1979–2014 and future scenarios (SSP1-2.6, SSP2-4.5 and SSP5-8.5) for 2015–2100 with a horizontal grid spacing of (1.25° × 1.25°) at six-hourly intervals.
- The complete dataset is about 2.56 TB in size.
- Note: The variable "hur" in the NetCDF data (atm_*.nc4) was described as specific humidity by mistake. It should be relative humidity. The incorrect description does not affect the value of relative humidity. The unit of 'tos' should be K rather than C, which was mislabeled in the dataset. This may cause incorrect inland water temperature when using constants_name='TAVGSFC' in the namelist.wps. User may consider correcte the unit of tos or remove onstants_name='TAVGSFC' in the namelist.wps
Calculate delta
Scripts
▶
compute_delta.sh
1 |
|
▶
compute_mean_delta.sh
1 |
|
atmosphere
▶
delta_signal_2070_2100_01_atm.nc
1 |
|
- Atmosphere's dimension,
▶
lat/lon/lev
1 |
|
land
▶
delta_signal_2070_2100_01_land.nc
1 |
|
- Land's dimension,
▶
depth/
1 |
|
FYI, ERA5-Land provides soil moisture data at four distinct depth layers: 0-7 cm, 7-28 cm, 28-100 cm, and 100-289 cm. These layers represent the vertical distribution of soil moisture within the ERA5-Land model. Here's a breakdown of the ERA5-Land soil depth levels:
- Layer 1: 0-7 cm (topsoil)
- Layer 2: 7-28 cm
- Layer 3: 28-100 cm
- Layer 4: 100-289 cm
ERA5 grib/netCDF
Error: scale_factor, add_offset
- What are NetCDF files and how can I read them | ECMWF
ncdump -h file.nc
unpacked_data_value = (packed_data_value * scale_factor) + add_offset
packed_data_value = nint((unpacked_data_value - add_offset) / scale_factor)
- GRIB to/from NetCDF Setting the scene
PL
z | r | q | t | u | v | |
---|---|---|---|---|---|---|
scale_factor | 7.574991321 | 0.002548692071 | 3.99E-07 | 0.002116294364 | 0.00359897399 | 0.002080654975 |
add_offset | 244058.9469 | 73.9639585 | 0.0130722922 | 249.1223168 | 60.8328105 | -4.699587691 |
_FillValue | -32767 | -32767 | -32767 | -32767 | -32767 | -32767 |
missing_value | -32767 | -32767 | -32767 | -32767 | -32767 | -32767 |
min | -4143.203 | -9.546486 | -2.91E-06 | 179.77982 | -57.09118 | -72.87433 |
max | 492268.7 | 157.47696 | 0.02614789 | 318.46692 | 178.76039 | 63.47723 |
if max=32767 | 492268.6875 | 157.4769516 | 2.61E-02 | 318.4669342 | 178.7603912 | 63.47723389 |
SL
scale_factor | add_offset | _FillValue | if max=32767 | |
---|---|---|---|---|
u10 | 0.0006538332787 | 0.1796962767 | 32767 | 21.60385132 |
v10 | 0.0006651437778 | 3.623965524 | 32767 | 25.41873169 |
d2m | 0.001547556431 | 252.2126967 | 32767 | 302.9214783 |
t2m | 0.001664476294 | 259.4586404 | 32767 | 313.9985352 |
lsm | 1.53E-05 | 0.4999923703 | 32767 | 1.00E+00 |
msl | 0.1378542109 | 99316.11857 | 32767 | 103833.1875 |
siconc | 1.53E-05 | 0.4999923703 | 32767 | 1.00E+00 |
sst | 0.000598726262 | 288.8668881 | 32767 | 308.4853516 |
skt | 0.001864697462 | 263.6076492 | 32767 | 324.7081909 |
rsn | 0.005326991745 | 274.5441962 | 32767 | 449.0937347 |
sd | 0.0001525948759 | 4.999923703 | 32767 | 10 |
stl1 | 0.001609577903 | 269.1936532 | 32767 | 321.9346924 |
stl2 | 0.001518408426 | 266.6102637 | 32767 | 316.3639526 |
stl3 | 0.001473583681 | 266.0486559 | 32767 | 314.3335724 |
stl4 | 0.001443869405 | 265.761241 | 32767 | 313.0725098 |
sp | 0.8206399829 | 76944.26156 | 32767 | 103834.1719 |
swvl1 | 1.19E-05 | 0.3769844999 | 32767 | 7.66E-01 |
swvl2 | 1.17E-05 | 0.3822195595 | 32767 | 7.65E-01 |
swvl3 | 1.17E-05 | 0.382597278 | 32767 | 7.65E-01 |
swvl4 | 1.15E-05 | 0.3763370306 | 32767 | 7.53E-01 |
z | 0.8979394208 | 28035.38941 | 32767 | 57458.17041 |
cdo pack/unpack
The pack
operation in CDO (Climate Data Operators) is used to combine multiple GRIB messages into a single GRIB file. Here’s a breakdown of what it does and why it's beneficial:
- What "Pack" Does
- Combines Multiple Messages: It merges separate GRIB messages (e.g., different time steps or variables) into one consolidated GRIB file.
- Optimizes Data Structure: The operation organizes the data in a more efficient format, minimizing redundancy in metadata and improving overall file structure.
- Why Use Packing?
- Storage Efficiency: Packing reduces the total file size, saving disk space and making data management easier.
- Faster Access and Processing: A single packed file can be accessed and processed more quickly than multiple individual files, which improves performance in data analysis.
- Simplified Data Management: Fewer files mean easier organization and handling of datasets, especially in large-scale workflows.
- Compatibility: Some tools and workflows may require data to be in a packed format, making this operation necessary for integration with various applications.
1 |
|
NWP | PGW + Bias-corrected-CMIP6
https://waipangsze.github.io/2025/07/10/NWP-PGW-Bias-corrected-CMIP6/