Replies: 2 comments 3 replies
|
Hi @jnattala, Thank you for this great investigative digging into where these misclassified glacier pixels are occurring over the Louisiana region of USA. The IGBP-modified landcover map used by the Noah/NoahMP LSM communities define the "snow/ice" class of 15 as more permanent snow cover and ice / glacier. So it is not applied for pixels that have seasonal or ephemeral snow. I took a look at the domain you plotted along with plotting and counting up further additional 0.00833 deg pixels in the surrounding area. Please see attached *pdf file. Result: Looks to be about 41 points altogether and they appear in both the original igbp.bin landcover file used by the Noah/NoahMP and LIS communities, and the updated igbp_RGI.bin file, which includes the Randolph Glacier Inventory (RGI) glacier points. Please see README file: README_igbp_RGI.txt for more details. My recommendation would be to not touch the LDT code, but we should create a corrected version of igbp_RGI.bin (and any other versions of igbp_[OTHER].bin that exist in the LIS community. Also, it would be helpful if we perform additional checks throughout the full original maps for any other spurious/misclassified pixels that are in low-lying, coastal or wetland areas that are outside of mountainous and high-latitude regions. In the updated/fixed versions of the map, we can use a surrounding 3x3 or 5x5 box to the misclassified pixel to determine dominant neighbor landcover type to replace it with. This issue ticket is open for any other inputs from the immediate LIS / Noah team members. |
|
Thanks Jyothi and Kristi for identifying this issue! I generated the igbp_RGI.bin landcover file from the original igbp.bin file to include glaciers in the Randolph Glacier Inventory. As is sounds like the spurious glaciers points originate from the original igbp.bin file, my thought is that it would be best to correct that file first. I can then create an updated igbp_RGI.bin that pulls in the corrections. Happy to discuss more during next week's tag-up or other venue. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
A single pixel (lat=30.0500°N, lon=-91.4500°W (Louisiana, USA)) appears to be incorrectly classified as IGBP class 15 (Snow and Ice) in lis_input.nc. Class 15 represents permanent Snow and Ice (perennial cover) - transient seasonal snowfall should likely not be classified as class 15 in a static land cover product. In addition, both snow and glacier map to the same class number, via LDT_rc%snowclass and LDT_rc%glacierclass = 15 in read_MODISNative_lc.F90 - so the misclassification triggers full glacier physics (NOAHMP_GLACIER) regardless.
The source appears to be a rasterization artifact in igbp_RGI.bin at native 0.008333 deg resolution. The misclassification results in an anomalous TBOT of 291.547 K in lis_input.nc — the only glacier-classified pixel in the domain with TBOT above 287 K (tbot%fillvalue). This anomalous deep soil temperature (NOAHMP401_struc(n)%noahmp401(t)%tbot) also impacts subsurface runoff (NOAHMP401_struc(n)%noahmp401(t)%runsb), when lower boundary of soil temperature is set to 2 via NOAHMP401_struc(n)%tbot_opt.
Surrounding native pixels are correctly classified as classes 1 (Evergreen Needleleaf Forest), 4 (Deciduous Broadleaf Forest), 5 (Mixed Forests), 10 (Grasslands), 11 (Permanent Wetland), & 14 (Cropland/Natural Veg Mosaic).
Affected files:
Root cause: Four stray class-15 native pixels in igbp_RGI.bin within the 0.10 deg LIS output cell covering Louisiana:
cc rc lat lon
────────────────────────────────
10623 14405 30.0375 -91.4791
10626 14405 30.0375 -91.4541
10627 14407 30.0542 -91.4458 <- selected by neighbor_interp
10628 14411 30.0875 -91.4375
────────────────────────────────
Full trace chain (also detailed in attached plot):
igbp_RGI.bin native grid (43200×21600, dx=dy=1/120°=0.008333°):
input_vegtype(10627,14407) = 15.0 <- confirmed in binary
LDT_RunDomainPts (ldt/core/LDT_gridmappingMod.F90):
subsetted param grid: 43200×18000
lat: [-59.99583, 89.99585] lon: [-179.9959, 179.9958] dx=dy: 8.3333338E-03°
subset_veg(10627,10807) = input_vegtype(10627,14407) = 15.0
lon_line(10627,10807)=10627 lat_line(10627,10807)=14407
native lat=30.0542 lon=-91.4458
LDT_transform_paramgrid (ldt/core/LDT_fileIOMod.F90):
LDT_rc%lc_gridtransform(n) = "neighbor"
n113(3240886) = 466829827 -> col=10627 row=10807 (subgrid)
input lat=30.05417 lon=-91.44586
vegtype(886,901) = 15.0 <- LIS output grid col=886 row=901
read_maskfile:
maskarray(886,901) = 1.0 <- MOD44W correctly identifies as land
fgrd(886,901,15) = 1.0 <- 100% glacier fraction written to lis_input.nc
lis_input.nc: LANDCOVER index 14 = 1.0 at col=885 row=900 (0-based)
Noah_parmsMod.F90:
Noah_struc(n)%tbot%value(c,r,1) = 291.547 K
ISLSCP1 (1.0 deg res), budget-bilinear (Noah_struc(n)%tbot_gridtransform)
Warm land value due to incorrect glacier classification
NOAHMP_GLACIER invoked at lat=30.05°N lon=-91.45°W every timestep
Class label sources (for plot):
read_MODISNative_lc.F90: wetlandclass=11, snowclass=glacierclass=15, waterclass=17
read_NALCMS_SM_IGBPNCEP_lc.F90: class name table for remaining classes (1, 4, 5, 10, 14)
A diagnostic plot is attached showing the surrounding 13×13 native pixel block from igbp_RGI.bin centered on the affected LIS output cell. Red boxes mark all 4 stray class-15 pixels. Star marks the pixel selected by neighbor_interp. Dashed black rectangle is the 0.10° LIS output cell boundary.
Your feedback and suggestions on this issue and proposed fix for initial testing within read_MODISNative_lc.F90 (detailed within attached plot), would be highly appreciated.
thanks -Jyothi

All reactions