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

Running WRF with sea surface currents

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.


New member

I am running WRF with the sst_update option and I would like to have non-zero sea surface currents UOCE and VOCE. As described below, I have tried to do this without success. I believe the problem is with the ungrib processing. Can someone help me?

WRF is reading UOCE and VOCE from wrflowinput_d01 and wrfinput_d01, but both files contains all zero values for UOCE and VOCE. The input files were created from 6-hourly NCEP Climate Forecast System Reanalysis (CFSR): ds093.0 ( Following the directions in WPS/ungrib/Variable_Tables/Vtable.CFSR, I download 3d pressure files, pgbh06.gdas.yyyymmddhh.grb2 and surface flux files flxf06.gdas.yyyymmddhh.grb2 for my time period and processed then with ungrib.exe using Vtable.CFSR.

All the processing (ungrib.exe, metgrid.exe and real.exe) works fine with no errors, but with the end result that UOCE and VOCE are zero wrflowinput_d01 and wrfinput_d01. According to rd_intermediate.exe and g2print.exe there are indeed no sea surface currents in the either the ungrib intermediate output files or the input grib files.

There are also CFSR "ocean data" files ocnh06.gdas.yyyymmddhh.grb2 which according to g2print.exe contain the variables UOGRD and VOGRD. I tried to process these files but ungrid.exe fails ...

std error contains the message "Name of source model =>unknown model from NCEP GRID 4"
both std out and the ungrib.log file contain the message "unknown model from NCEP 98" and empty inventories.

I think that I need to add entries for UOCE and VOCE to Vtable.CFSR. The output from g2print.exe is supposed to be a guide for this, but I am at a loss for how to do it.

Any help would be greatly appreciated.

Steve, have you had any luck running WRF with non-zero sea surface currents? I'm attempting to do the same thing, but I haven't made much progress.

Hi John,

No unfortunately I have not made any more progress. In my case I think that the key is getting the CFSR data files that contain ocean currents and then creating a Vtable entry so ungrib.exe can process the data. There is a section "Creating and Editing Vtables" in Chapter 3 of the User Guide that probably would be helpful, but I have been sidetracked and I have not yet tried to absorb it.

Please let me know if you make any progress.

I looked at this issue and I also cannot find any UOCE and VOCE from the analysis/reanalysis datasets I used. I talked to our expert and it seemed that these variables must be extracted from some ocean datasets, either model output or ocean analysis products.
I will keep you updated once I know for sure how to obtain these variables.
Hi Ming,

Thanks for responding. Yes, I agree that what is needed is some ocean dataset from which to extract UOCE and VOCE. For the CFSR data I'm using (, I found ocean data files ocnh06.gdas.yyyymmddhh.grb2 which I believe contain 3D ocean currents - so I think I have the data I need.

The problem is that when I tried to process these files with ungrid.exe it fails. I believe this is because there are no Vtable entries for UOCE and VOCE in Vtable.CFSR. I was looking for some help with creating these Vtable entries.

If you have any ideas on how to create these Vtable entries, or any other suggestions I'd appreciate it very much.

Hi Steve,

I just wanted to provide a quick update on this issue. I've had a small amount of success initializing UOCE and VOCE using datasets from NCEP Global Ocean Data Assimilation System (GODAS) (, instead of the reference you provided earlier. This is because ungrib.exe doesn't recognize the CFSR model. I don't know enough about ungrib.exe to know how to include another model type.

I should also point out that the ocean current data for both the GODAS datasets and the CFSR datasets start at 5m below the free surface, while UOCE and VOCE are assumed to be at the free surface. I haven't come across any ocean current data available at the surface, so for now I'm approximating the surface currents with the currents at 5m depth. Hopefully that was clear.

To get this to work, I had to:
1. Create a suitable VTable (see attached)
2. Add entries for UOCE and VOCE in METGRID.TBL (see attached)

So far, I've only tried including UOCE and VOCE as constant bottom boundary conditions, and I've verified that they are initialized in wrfinput_d01 after running real.exe. If I make progress on incorporating time-varying surface currents, I'll let you know.



    459 bytes · Views: 75
  • Vtable.txt
    690 bytes · Views: 83