Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Problem with CORINE land use

dmantsis1976

New member
Hi
I am having some problems with the CORINE land use data and I could use some help. These are the actions I took:

1. I cropped the original clc file (SE Europe only) in SNAP
2. Re-project the map to WGS84 (which can be identified by WRF). I do this step with QGIS
3. Step 2 creates areas with 0s, and therefore we crop the CLC map again (in SNAP) to eliminate the 0s.
4. run convert_geotiff –b 1 –w 4 –t 200 –u category –d “land use” /path/filename.tif
5. Moved the produced files (along with the index file) into the correct directory
6. changed the GEOGRID.TBL.ARW file as
landmask_water = clc_3s:40,41,42,43,44
interp_option = clc_3s:nearest_neighbor
rel_path =
clc_3s:corine_clc_3s/

7. Added the clc_3s variable in my namelist.wps

Then when I tried to run geogrid.exe it gave me an error (attached as screenshot). I was wondering if you can think of why my geogrid.exe fails?
I am also showing bellow the index file just in case

projection = regular_ll
known_x = 1
known_y = 2700
known_lat = 44.184593
known_lon = 23.737034
dx = 1.019774e-03
dy = 1.020505e-03
type = continuous
signed = yes
units = "category"
description = "land use"
wordsize = 4
tile_x = 200
tile_y = 200
tile_z = 1
tile_bdr = 1
missing_value = 0.000000
scale_factor = 1.000000
row_order = bottom_top
endian = little


I was wondering if you can think of why my geogrid.exe fails?

Thank you once again
 

Attachments

  • Screenshot.pdf
    320.1 KB · Views: 15
If you run geogrid without using CORINE data, does it run without any issue? Can you attach your namelist.wps file? Thanks!
 
Hi

I have made some progress after the time I sent this message. I have run geogrid, ungrib, metgrid successfully but when I am trying to run real.exe I get this error (the wrfinput and wrfbdy files are not produced)

----------------- ERROR -------------------
namelist : NUM_LAND_CAT = 44
input files : NUM_LAND_CAT = 45 (from geogrid selections).
d01 2022-07-01_00:00:00 ---- ERROR: Mismatch between namelist and wrf input files for dimension NUM_LAND_CAT
NOTE: 1 namelist vs input data inconsistencies found.

after looking at the geo_em.d01.nc file the d01 domain has values from 1-44. There is no 45 value. So I don't understand why this takes place. The num_lad_cat has been set to 44 (this is the correct value) in my namelist.input file. I know there is a previous post with the same title (ability to responding to that post has been disabled), and is addressing the same issue. However, this problem occurred when running real.exe not wrf.exe. I think something happens during the conversion of the geotiff CORINE map into geogfid format, but I am not sure why and I don't know how to fix it. I am attaching the namelist.wps, namelist.input files and my new index files is

projection = regular_ll
known_x = 1
known_y = 37200
known_lat = 65.000771
known_lon = 4.999856
dx = 8.334530e-04
dy = 8.339273e-04
type = categorical
signed = yes
units = "NO UNITS"
description = "CORINE Land Cover"
wordsize = 2
tile_x = 1200
tile_y = 1200
tile_z = 1
category_min = 1
category_max = 45
tile_bdr = 3
missing_value = 45.000000
scale_factor = 1.000000
row_order = bottom_top
endian = little

Let me know if you can help
Thank you
 

Attachments

  • namelist.input
    4.5 KB · Views: 2
  • namelist.wps
    846 bytes · Views: 4
Hello. I stumbled upon this corine data - CLC+ Backbone. Is it possible to implement them in WPS/ WRF. I will be glad if someone shows step by step how to do it ( =

 
Hi
I am working on the CLC dataset and how this is introduced into the WRF model. I can help but you will have to be more specific in your request. Anything else beyond this is out of my ability.
 
I don't know what a backbone is. You could explain this to me and maybe this would help me understand what you want to do. Is this application for running WRF with CLC data? You mention WPS in your message but you don't say anything about WRF. Help me understand what you want to do.
 
@dmantsis1976
I first would like to apologize for the long delay in response. I have been busy preparing for the WRF tutorial that is taking place this week and have gotten behind on forum responses. Thank you for your patience.

Have you been able to move past your real.exe error? If not, do you mind posting it as a new thread since it's a different topic than the one originally discussed here? Please also post it in the WRF section (as opposed to WPS). Thanks!
 
Hello, I have the same method as you. I use convert_geotiff to replace the land use data after converting the data. The steps are almost the same with you, but I have encountered a problem. If the tile_x = 200/tile_y = 200 in my index matches the data, it will report "WARNING: In source tile /home/WPS_GEOG/lu_index/00001-00200.00001-00200, point (748, 214) has an invalid category of 0", if the value of tile_x/tile_y is greater than the matching data, it will successfully run through geogrid. exe, but the two geo_em_d02.nc data that ran out have errors, both are 17 or both are 0, is there any solution to this warning? Looking forward to your reply.
 
Sorry for my delayed response but I was travelling. Unfortunately I don't know how to solve your problem because I have never encountered this.
 
Dear member, I am also trying to incorporate corine but I have no idea how to concretely do that step by step. I have downloaded the file and get from the zip an ordner "Data". What should I do now? I have already changed the geogrid.tbl file but I don't know how to convert corine into wps file + index. I would be grateful for any help here, or an alternative. Thanks a lot
gael.
 
First of all, I used reclassification of CORINE into MODIS classes. Also, there are a lot of steps:

Step1: Reclassify CORINE data into MODIS classes. I used QGIS but any GIS system could be used.

Step2: Change projection from EPSG 3035 to WGS84. For this I used

gdalwarp fname2.tif fname3.tif –s_srs EPSG:3035 -t_srs EPSG:4326 -dstnodata “255” -tr 0.0008333333 0.0008333333

Step3: Crop the map with

gdal_translate -projwin 23. 45. 27. 41. –co COMPRESS=LZW fname3.tif fname4.tif

(you need to change the geographical limits)

Step4: Convert to binary, Geogrid. I used

./convert_geotiff –c 21 -t 1200 –d “MODIS Land Cover” -m 0 fname4.tif

Move the index file and the binary files in the correct directory.

Step5: Modify the GEOGRID.TBL.ARW file (not the TBL file). You have to add 3 lines

landmask_water=...
interp_option=...
rel_path=...

Modify namelist.wps file by changing the line with geog_data_res variable

Step6 modify the namelist.input file by setting num_land_cat=21
 
I tried to follow your method but unfortunately I get the following error:

2023-09-23 02:27:07.750 --- ERROR: In GEOGRID.TBL, dominant category at entry 2 cannot have the same name as dominant category at entry 3.

can someone help me to find out what I am doing wrong?
I changed geogrid as follows:
===============================

name=LANDUSEF
priority=1
dest_type=categorical
z_dim_name=land_cat
interp_option = corine_30s:nearest_neighbor
dominant = LU_INDEX
landmask_water = corine_30s:17,21 # CORINE landcover Calculate a landmask from this field
rel_path = corine_30s:WPSglobcover/
===============================

name=LANDUSEF
priority=2
dest_type=categorical
z_dim_name=land_cat
dominant = LU_INDEX
landmask_water = nlcd2006_9s:17 # Calculate a landmask from this field
landmask_water = nlcd2006_30s:17 # Calculate a landmask from this field
landmask_water = nlcd2011_9s:17 # Calculate a landmask from this field
landmask_water = nlcd2006:17 # Calculate a landmask from this field
landmask_water = ssib_10m:16 # Calculate a landmask from this field
landmask_water = ssib_5m:16 # Calculate a landmask from this field
landmask_water = modis_15s:17 # Calculate a landmask from this field
landmask_water = modis_15s_lake:17,21 # Calculate a landmask from this field
landmask_water = modis_30s:17 # Calculate a landmask from this field
landmask_water = modis_30s_lake:17,21 # Calculate a landmask from this field
landmask_water = usgs_30s:16 # Calculate a landmask from this field
landmask_water = usgs_lakes:16,28 # Calculate a landmask from this field
landmask_water = modis_lakes:17,21 # Calculate a landmask from this field
landmask_water = usgs_2m:16 # Calculate a landmask from this field
landmask_water = usgs_5m:16 # Calculate a landmask from this field
landmask_water = usgs_10m:16 # Calculate a landmask from this field
landmask_water = lowres:17,21 # Calculate a landmask from this field
landmask_water = default:17,21 # Calculate a landmask from this field
interp_option = nlcd2006_9s:average_gcell(0.0)
interp_option = nlcd2006_30s:average_gcell(0.0)
interp_option = nlcd2011_9s:average_gcell(0.0)
interp_option = nlcd2006:nearest_neighbor
interp_option = ssib_10m:four_pt
interp_option = ssib_5m:four_pt
interp_option = modis_15s:nearest_neighbor
interp_option = modis_15s_lake:nearest_neighbor
interp_option = modis_30s:nearest_neighbor
interp_option = modis_30s_lake:nearest_neighbor
interp_option = usgs_30s:nearest_neighbor
interp_option = usgs_lakes:nearest_neighbor
interp_option = modis_lakes:nearest_neighbor
interp_option = usgs_2m:four_pt
interp_option = usgs_5m:four_pt
interp_option = usgs_10m:four_pt
interp_option = lowres:average_gcell(4.0)+four_pt
interp_option = default:nearest_neighbor
rel_path = nlcd2006_9s:nlcd2006_ll_9s/
rel_path = nlcd2006_30s:nlcd2006_ll_30s/
rel_path = nlcd2011_9s:nlcd2011_ll_9s/
rel_path = nlcd2006:nlcd2006_ll_30s/
rel_path = ssib_10m:ssib_landuse_10m/
rel_path = ssib_5m:ssib_landuse_5m/
rel_path = modis_15s:modis_landuse_20class_15s/
rel_path = modis_15s_lake:modis_landuse_20class_15s_with_lakes/
rel_path = modis_30s:modis_landuse_20class_30s/
rel_path = modis_30s_lake:modis_landuse_20class_30s_with_lakes/
rel_path = usgs_30s:landuse_30s/
rel_path = usgs_lakes:landuse_30s_with_lakes/
rel_path = modis_lakes:modis_landuse_21class_30s/
rel_path = usgs_2m:landuse_2m/
rel_path = usgs_5m:landuse_5m/
rel_path = usgs_10m:landuse_10m/
rel_path = lowres:modis_landuse_20class_5m_with_lakes/
rel_path = default:modis_landuse_20class_30s_with_lakes/
===============================

Index is:
projection = regular_ll
known_x = 1
known_y = 8117
known_lat = 49.908249
known_lon = 4.124965
dx = 1.280693e-03
dy = 1.278835e-03
type = categorical
signed = yes
units = "category"
description = "CORINE LandCover"
wordsize = 4
tile_x = 1200
tile_y = 1200
tile_z = 1
category_min = 1
category_max = 22
tile_bdr = 3
missing_value = 22.000000
scale_factor = 1.000000
row_order = bottom_top
iswater=17
islake=21
isice=15
isurban=13
endian = little
 

Attachments

  • namelist.wps
    1 KB · Views: 1
  • geogrid.log
    8.5 KB · Views: 2
Hello, I have the same method as you. I use convert_geotiff to replace the land use data after converting the data. The steps are almost the same with you, but I have encountered a problem. If the tile_x = 200/tile_y = 200 in my index matches the data, it will report "WARNING: In source tile /home/WPS_GEOG/lu_index/00001-00200.00001-00200, point (748, 214) has an invalid category of 0", if the value of tile_x/tile_y is greater than the matching data, it will successfully run through geogrid. exe, but the two geo_em_d02.nc data that ran out have errors, both are 17 or both are 0, is there any solution to this warning? Looking forward to your reply.
Hi, because I was having the same issues, It seems that you not use missing_value=0. By doing that I was able to resolve my issues. Also if after that, you encounter another error with a crazy value that is not valid, check the wordsize in index. My reply is late, maybe you have resolved your problem...
 
Top