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

CMIP6 CESM2 .nc data to intermediate format

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


My name is Stefan, and I am a postdoc at UCLA downscaling CMIP6/CESM2.

I have created an NCL script that reads in required 3-D 6-h fields (u, v, T, q, phi, psfc, pmsl) and daily 2-D fields (t2, q2, skintemp, soilhgt, landsea, soilmoisture, and soiltemp). The 3-D fields are interpolated to 25 isobaric surfaces from 1000 hPa to 30 hPa. Each slice of the 3-D data are dumped out sequentially to dated binary files along with the 2-D fields using the code example in the WRF/WPS Users' Guide (

Geogrid.exe and metgrid.exe run successfully. The 6-h data look excellent; they mirror the data in the original .nc CMIP6/CESM2 files. There is no specific SST variable written to my binary files. However, I do write SKINTEMP to the binary files. Over the oceans, the SSTs (taken to be skin temperature) look great. Over land however, SKINTEMP doesn't look right. Soil moisture and temperature also don't look right.

SKINTEMP is a daily 2-D variable (as are soil fields), thus, SSTs are updated daily, while the 3-D fields and psfc and pmsl are updated at 6-h intervals.

What could be going on here in running metgrid.exe that could be leading to correct SKINTEMP mapped to the oceans, but different SKINTEMP being mapped to land areas?

As an aside, I can run WRF stably with the resulting met_em files. The simulation quickly equilibrates to the local radiative and thermodynamic conditions at a given gridcell, even though the simulation is initialized to a weird SKINTEMP and weird soil variables over land. Again, SSTs look great.


Upon closer examination, metgrid is doing exactly what it should. I was interpreting ncview displayed values incorrectly. In fact, the weirdness does show up in the CMIP6/CESM2 data, as the daily averaged skintemp in 2100 can be colder than that of 2015 for a given day of the year.

Thanks again,
Hi Stefan,
I am also interested in downscaling CMIP6 data. Would it be possible for you to share the ncl script which you created for this purpose?