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
1 |
|
1 |
|
atmosphere
1 |
|
- Atmosphere's dimension,
1 |
|
land
1 |
|
- Land's dimension,
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 |
|
Error: Negative volumetric soil water values in ERA5 dataset
swvlt1 contains negative values but it should be treated as zero
- https://forum.ecmwf.int/t/negative-volumetric-soil-water-values-in-era5-dataset/1222
- the problem is with the grib encoding. If a value is very close to zero it could be encoded as a negative value in the grib file, but it should be treated as zero.
Negative volumetric soil water values in ERA5 are often a result of data processing and not necessarily a physical reality. These values can occur due to how the data is packed in the GRIB format, especially when dealing with data that fluctuates a lot, like precipitation. It's also possible for soil moisture to drop below the wilting point due to evaporation, leading to negative values, but these are often limited to zero in practical applications.
- Data Representation Issues:
- The GRIB format, used to store ERA5 data, simplifies data to save space, which can introduce small errors, especially when dealing with rapidly changing values like precipitation or soil moisture.
- Physical Limits and Modeling:
- While soil moisture can physically drop below the permanent wilting point due to evaporation, models often limit negative values to zero to avoid unrealistic scenarios for plant growth.
- ERA5 Data Quality:
- The ECMWF has addressed some issues related to soil moisture data in ERA5 through quality control and re-processing, but errors can still occur.
1 |
|
Error: soil layer levels?
- GRIB2-for-DUMMIES.pdf (important!!!)
- In Vtable file, there are
- For soil terms,
Level 1
andLevel 2
(orFrom Level1
andTo Level2
)
- For soil terms,
- It is important for
typeOfLevel=depthBelowLandLayer
- have to define
topLevel
andbottomLevel
- have to define
- Check grib file by
grib_ls
(show level=topLevel) andcdo info
(show middle point of levels)
1 |
|
1 |
|
1 |
|
1 |
|