Page 2 of 2

Re: High resolution topography (SRTM) not localizing

Posted: Wed Jul 15, 2015 3:50 pm
by sweensta
WOW! You're a champ! Thank you.

I will give this a go over the next couple of days and let you know.

Re: High resolution topography (SRTM) not localizing

Posted: Wed Jul 15, 2015 4:18 pm
by Antonix
you are the best! :P

Re: High resolution topography (SRTM) not localizing

Posted: Wed Sep 23, 2015 10:29 am
by sweensta
Hi there,

Letting you know that after many many attempts over the past couple of months, I have finally got my CORINE land use working in my UK domain. It turns out that there was no need to fill the null values if you put the CORINE data as a 'priority=2' entry in the GEOGRID.TBL. In this case, any null values (such as over the sea) would be filled using the 'priority=1' default dataset. This is described on slide 8 of http://www2.mmm.ucar.edu/wrf/users/tuto ... ed.ppt.pdf

The reclassification worked fine, I did it in QGIS although I will automate it next time. However, I was still making no progress until it was pointed out to me that the 'wordsize' was wrong in my index file. As described on Slide 10 of the presentation above... the file size of the bil file should be N*M*K where N and M are nrows and ncols and K is the number of bytes per grid point. Once I changed wordsize=1 to wordsize=4, then my CORINE landuse worked!

Thanks everyone for the help.

Re: High resolution topography (SRTM) not localizing

Posted: Tue Dec 22, 2015 9:30 pm
by windyweek
Thanks all for sharing the knowledge how to ingest SRTM and CORINE datasets.

I will also share my experience how I ingested the CORINE land use dataset in UEMS in case somebody takes the same journey.

Few additional challenges/requirements that I faced/had with the CORINE land use:
  1. My domain includes areas outside of the CORINE coverage (Eastern Europe in particular - Moldova/Ukraine).
  2. Apparently the latest CORINE dataset (CLC 2006) does not include Greece which is otherwise a must have for me.
  3. I wanted to keep inland water bodies as a separate category.

Solutions
:
  1. In GEORGRID.TBL you must use LANDUSEF with higher priority, e.g.

    Code: Select all

    name=LANDUSEF
    priority=2
    dest_type=categorical
    z_dim_name=land_cat
    landmask_water=corine_3s:16,28  # Based on USGS, 16 is sea/ocean, 28 is lake
    interp_option=corine_3s:nearest_neighbor
    rel_path=corine_3s:corine_3s/
    
    Initially (since I was testing only) I had no higher priority LANDUSEF and although my domain was partially covered by the CORINE dataset, geogrid was completely ignoring it which resulted in wrong (no) data for the LANDUSEF field in the geo_em.XX.nc files.

    This also helps to pull any missing data (such as sea water bodies) from the other datasets as sweensta also mentions it above.
  2. I pulled Greece from the older CORINE dataset (CLC 2000) and kept CLC 2006 for everything else. Steps to do that:
    - Using QGIS open up both of the datasets (add them as raster layers) and clip them (Raster > Extraction > Clipper). This will create two separate GeoTIFF files.
    - Combine them using gdal_merge:

    Code: Select all

    gdal_merge.py -n 0 -a_nodata 0 -of GTiff -o merged.tif -pct g100_00_cropped.tif g100_06_cropped.tif
  3. To keep inland water bodies as a separate category:
    - Change the reclassification: remap CORINE 40 and 41 grid codes to 28.
    - In the index file add: iswater=16, islake=28.
    - In GEORGRID.TBL add the proper landmask: landmask_water=corine_3s:16,28 (see above)
One more thing: for converting from GeoTIFF format to geogrid binary raster you may use the gdal_translate utility with ENVI output format (it matches the format used by geogrid). Much handier than compiling binary utils on your own:

Code: Select all

gdal_translate -of ENVI -ot Int16 g100_06_WGS84-reclassed.tif 00001-28155.00001-18094
Note that this is using 2-byte signed integer so use wordsize=2 and signed=yes in your index file.

Cheers,
Ivan