High resolution topography (SRTM) not localizing

All issues/questions about EMS v3.4 package, please ask here.
sweensta
Posts: 12
Joined: Thu Jul 02, 2015 10:17 am

Re: High resolution topography (SRTM) not localizing

Post by sweensta » Wed Jul 15, 2015 3:50 pm

WOW! You're a champ! Thank you.

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

Antonix
Posts: 256
Joined: Fri Oct 16, 2009 8:53 am

Re: High resolution topography (SRTM) not localizing

Post by Antonix » Wed Jul 15, 2015 4:18 pm

you are the best! :P

sweensta
Posts: 12
Joined: Thu Jul 02, 2015 10:17 am

Re: High resolution topography (SRTM) not localizing

Post by sweensta » Wed Sep 23, 2015 10:29 am

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.

windyweek
Posts: 28
Joined: Thu Aug 21, 2014 8:46 am

Re: High resolution topography (SRTM) not localizing

Post by windyweek » Tue Dec 22, 2015 9:30 pm

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

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests