How to run the WRF model using ERA5 (on model levels) as initial and boundary conditions


This procedure was tested with the WRF model Version 3.8.* and ERA5 data.

1. ERA5 data were downloaded as described in How+to+download+ERA5+data+via+the+ECMWF+Web+API 

Here I'm attaching a sample script (launched on ecgate) to download surface data:
 # General settings  
 Nort='90.0'  
 West='-90.0'  
 Sout='0.0'  
 East='90.0'  
 resX='0.25'  
 resY='0.25'  
 initdate='2012-11-01'  
 paralist='msl/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4'  
 timelist='00:00:00/01:00:00/02:00:00/03:00:00/04:00:00/05:00:00/06:00:00/07:00:00/08:00:00/09:00:00/10:00:00/11:00:00/12:00:00/13:00:00/14:00:00/15:00:00/16:00:00/17:00:00/18:00:00/19:00:00/20:00:00/21:00:00/22  
 :00:00/23:00:00'  
 gribfile='ERA5_sfc_'${initdate}  
 mars <<EOF  
 retrieve,  
 class=ea,  
 dataset=era5,  
 date=${initdate},  
 expver=1,  
 levtype=sfc,  
 param=${paralist},  
 stream=oper,  
 time=${timelist},  
 type=an,  
 target="${gribfile}",  
 grid=${resX}/${resY},  
 area=${Nort}/${West}/${Sout}/${East}  
 EOF  

 and upper air data (on model levels):
 # General settings  
 Nort='90.0'  
 West='-90.0'  
 Sout='0.0'  
 East='90.0'  
 resX='0.25'  
 resY='0.25'  
 initdate='2012-11-01'  
 paralist='129/130/131/132/133/152'  
 timelist='00:00:00/01:00:00/02:00:00/03:00:00/04:00:00/05:00:00/06:00:00/07:00:00/08:00:00/09:00:00/10:00:00/11:00:00/12:00:00/13:00:00/14:00:00/15:00:00/16:00:00/17:00:00/18:00:00/19:00:00/20:00:00/21:00:00/22:  
 00:00/23:00:00'  
 #timelist='00:00:00/06:00:00/12:00:00/18:00:00'  
 levelist='1/to/137'  
 gribfile='ERA5_ml_'${initdate}  
 # 129=Geopotential  
 # 130=Temperature  
 # 131=U component of wind  
 # 132=V component of wind  
 # 133=Specific humidity  
 # 138=Vorticity (relative)  
 # 152=Logarithm of surface pressure  
 # 155=Divergence  
 # 157=Relative humidity MISSING IN ERA5!  
 # 129=  
 # 130=t 131=u 132=v  
 # 133=q 138=vo 152=lnsp  
 # 155=d 157=r  
 mars <<EOF  
 retrieve,  
 class=ea,  
 dataset=era5,  
 date=${initdate},  
 expver=1,  
 levelist=${levelist},  
 levtype=ml,  
 param=${paralist},  
 stream=oper,  
 time=${timelist},  
 type=an,  
 target="${gribfile}",  
 grid=${resX}/${resY},  
 area=${Nort}/${West}/${Sout}/${East}  
 EOF  






Note: regarding the resolution of ERA5, it is suggested (How+to+download+ERA5+data+via+the+ECMWF+Web+API)

to download data by using 0.25/0.25 for the "grid" settings.

2. run geogrid.exe as usual

3. (optional) with ERA5 surface data run:

 export GRIB_API_BIN_DIR=path/to/your/GRIB_API/bin/directory
 echo 'write "[centre]_[dataDate]_[dataType]_[levelType]_[step].grib[edition]";' > split.rule  
 $GRIB_API_BIN_DIR/grib_filter split.rule ${sfc_grib1_file}  

Note: please do not use old version of GRIB_API tools, since the previous and the following commands may not work. Everything should be OK wo with ecCodes.

4. with ERA5 model levels data run:

 ${GRIB_API_BIN_DIR}/grib_set -s deletePV=1,edition=1 $ml_grib2_file ${ml_grib2_file}.grib1  

Note: this is a workaround suggested by G. Carver, ECMWF, see Grib+to+Netcdf+conversion and discussions therein.
 

Then run
 echo 'write "[centre]_[dataDate]_[dataType]_[levelType]_[step].grib[edition]";' > split.rule  
 grib_filter split.rule ${ml_grib2_file}.grib1  

then link_grib.csh in your preprocessing working directory.

5. run ungrib.exe by using the following Vtable:


 GRIB | Level| Level| Level| metgrid | metgrid | metgrid                 |  
 Code | Code |  1 |  2 | Name   | Units  | Description               |  
 -----+------+------+------+----------+----------+------------------------------------------+  
  130 | 109 |  * |   | TT    | K    | Temperature               |  
  131 | 109 |  * |   | UU    | m s-1  | U                    |  
  132 | 109 |  * |   | VV    | m s-1  | V                    |  
  133 | 109 |  * |   | SPECHUMD | kg kg-1 | Specific humidity            |  
  152 | 109 |  * |   | LOGSFP  | Pa    | Log surface pressure           |  
  157 | 109 |  * |   | RHUM   | %    | Relative humidity            |  
  129 | 1  |  0 |   | SOILGEO | m    |                     |  
    | 1  |  0 |   | SOILHGT | m    | Terrain field of source analysis     |  
  165 | 1  |  0 |   | UU    | m s-1  | U                    | At 10 m  
  166 | 1  |  0 |   | VV    | m s-1  | V                    | At 10 m  
  167 | 1  |  0 |   | TT    | K    | Temperature               | At 2 m  
  168 | 1  |  0 |   | DEWPT  | K    |                     | At 2 m  
    | 1  |  0 |   | RH    | %    | Relative Humidity at 2 m         | At 2 m  
  172 | 1  |  0 |   | LANDSEA | 0/1 Flag | Land/Sea flag              |  
  134 | 1  |  0 |   | PSFC   | Pa    | Surface Pressure             |  
  134 | 109 |  1 |   | PSFCH  | Pa    |                     |  
  151 | 1  |  0 |   | PMSL   | Pa    | Sea-level Pressure            |  
  235 | 1  |  0 |   | SKINTEMP | K    | Sea-Surface Temperature         |  
  31 | 1  |  0 |   | SEAICE  | 0/1 Flag | Sea-Ice-Flag               |  
  34 | 1  |  0 |   | SST   | K    | Sea-Surface Temperature         |  
  141 | 1  |  0 |   | SNOW_EC | m    |                     |  
    | 1  |  0 |   | SNOW   | kg m-2  |Water Equivalent of Accumulated Snow Depth|  
  139 | 112 |  0 |  7 | ST000007 | K    | T of 0-7 cm ground layer         |  
  170 | 112 |  7 | 28 | ST007028 | K    | T of 7-28 cm ground layer        |  
  183 | 112 | 28 | 100 | ST028100 | K    | T of 28-100 cm ground layer       |  
  236 | 112 | 100 | 255 | ST100255 | K    | T of 100-255 cm ground layer       |  
  39 | 112 |  0 |  7 | SM000007 | fraction | Soil moisture of 0-7 cm ground layer   |  
  40 | 112 |  7 | 28 | SM007028 | fraction | Soil moisture of 7-28 cm ground layer  |  
  41 | 112 | 28 | 100 | SM028100 | fraction | Soil moisture of 28-100 cm ground layer |  
  42 | 112 | 100 | 255 | SM100255 | fraction | Soil moisture of 100-255 cm ground layer |  
 -----+------+------+------+----------+----------+------------------------------------------+



Note: it is mandatory to have

 152 | 109 |  * |   | LOGSFP  | Pa    | Log surface pressure           |  
if your using ERA5 on model levels.

6. run calc_ecmwf_p.exe by using the following ecmwf_coeffs table:

 0 0.000000 0.00000000  
 1 2.000365 0.00000000  
 2 3.102241 0.00000000  
 3 4.666084 0.00000000  
 4 6.827977 0.00000000  
 5 9.746966 0.00000000  
 6 13.605424 0.00000000  
 7 18.608931 0.00000000  
 8 24.985718 0.00000000  
 9 32.985710 0.00000000  
 10 42.879242 0.00000000  
 11 54.955463 0.00000000  
 12 69.520576 0.00000000  
 13 86.895882 0.00000000  
 14 107.415741 0.00000000  
 15 131.425507 0.00000000  
 16 159.279404 0.00000000  
 17 191.338562 0.00000000  
 18 227.968948 0.00000000  
 19 269.539581 0.00000000  
 20 316.420746 0.00000000  
 21 368.982361 0.00000000  
 22 427.592499 0.00000000  
 23 492.616028 0.00000000  
 24 564.413452 0.00000000  
 25 643.339905 0.00000000  
 26 729.744141 0.00000000  
 27 823.967834 0.00000000  
 28 926.344910 0.00000000  
 29 1037.201172 0.00000000  
 30 1156.853638 0.00000000  
 31 1285.610352 0.00000000  
 32 1423.770142 0.00000000  
 33 1571.622925 0.00000000  
 34 1729.448975 0.00000000  
 35 1897.519287 0.00000000  
 36 2076.095947 0.00000000  
 37 2265.431641 0.00000000  
 38 2465.770508 0.00000000  
 39 2677.348145 0.00000000  
 40 2900.391357 0.00000000  
 41 3135.119385 0.00000000  
 42 3381.743652 0.00000000  
 43 3640.468262 0.00000000  
 44 3911.490479 0.00000000  
 45 4194.930664 0.00000000  
 46 4490.817383 0.00000000  
 47 4799.149414 0.00000000  
 48 5119.895020 0.00000000  
 49 5452.990723 0.00000000  
 50 5798.344727 0.00000000  
 51 6156.074219 0.00000000  
 52 6526.946777 0.00000000  
 53 6911.870605 0.00000000  
 54 7311.869141 0.00000000  
 55 7727.412109 0.00000700  
 56 8159.354004 0.00002400  
 57 8608.525391 0.00005900  
 58 9076.400391 0.00011200  
 59 9562.682617 0.00019900  
 60 10065.978516 0.00034000  
 61 10584.631836 0.00056200  
 62 11116.662109 0.00089000  
 63 11660.067383 0.00135300  
 64 12211.547852 0.00199200  
 65 12766.873047 0.00285700  
 66 13324.668945 0.00397100  
 67 13881.331055 0.00537800  
 68 14432.139648 0.00713300  
 69 14975.615234 0.00926100  
 70 15508.256836 0.01180600  
 71 16026.115234 0.01481600  
 72 16527.322266 0.01831800  
 73 17008.789062 0.02235500  
 74 17467.613281 0.02696400  
 75 17901.621094 0.03217600  
 76 18308.433594 0.03802600  
 77 18685.718750 0.04454800  
 78 19031.289062 0.05177300  
 79 19343.511719 0.05972800  
 80 19620.042969 0.06844800  
 81 19859.390625 0.07795800  
 82 20059.931641 0.08828600  
 83 20219.664062 0.09946200  
 84 20337.863281 0.11150500  
 85 20412.308594 0.12444800  
 86 20442.078125 0.13831300  
 87 20425.718750 0.15312500  
 88 20361.816406 0.16891000  
 89 20249.511719 0.18568900  
 90 20087.085938 0.20349100  
 91 19874.025391 0.22233300  
 92 19608.572266 0.24224400  
 93 19290.226562 0.26324200  
 94 18917.460938 0.28535400  
 95 18489.707031 0.30859800  
 96 18006.925781 0.33293900  
 97 17471.839844 0.35825400  
 98 16888.687500 0.38436300  
 99 16262.046875 0.41112500  
 100 15596.695312 0.43839100  
 101 14898.453125 0.46600300  
 102 14173.324219 0.49380000  
 103 13427.769531 0.52161900  
 104 12668.257812 0.54930100  
 105 11901.339844 0.57669200  
 106 11133.304688 0.60364800  
 107 10370.175781 0.63003600  
 108 9617.515625 0.65573600  
 109 8880.453125 0.68064300  
 110 8163.375000 0.70466900  
 111 7470.343750 0.72773900  
 112 6804.421875 0.74979700  
 113 6168.531250 0.77079800  
 114 5564.382812 0.79071700  
 115 4993.796875 0.80953600  
 116 4457.375000 0.82725600  
 117 3955.960938 0.84388100  
 118 3489.234375 0.85943200  
 119 3057.265625 0.87392900  
 120 2659.140625 0.88740800  
 121 2294.242188 0.89990000  
 122 1961.500000 0.91144800  
 123 1659.476562 0.92209600  
 124 1387.546875 0.93188100  
 125 1143.250000 0.94086000  
 126 926.507812 0.94906400  
 127 734.992188 0.95655000  
 128 568.062500 0.96335200  
 129 424.414062 0.96951300  
 130 302.476562 0.97507800  
 131 202.484375 0.98007200  
 132 122.101562 0.98454200  
 133 62.781250 0.98850000  
 134 22.835938 0.99198400  
 135 3.757813 0.99500300  
 136 0.000000 0.99763000  
 137 0.000000 1.00000000  

Note: In general to get the A and B coefficient to run calc_ecmwf_p.exe it is suggested (see comments by G. Carver ECMWF in the above link) to run


 cat<<EOF>print_pv  
    print '[pv!1%.6f]' ;  
    EOF  
    grib_filter print_pv in.grib  
 
7. run metgrid.exe with the standard METGRID.TBL.ARW table

8. then real.exe and wrf.exe should work.......


Commenti

  1. Hi,
    thanks for that howto,
    I tried to follow it, however, the step calc_ecmwf_p.exe does not produce anything
    and even complain about the absence of PRESS files.
    would you mind to share your namelist.wps to compare it with mine ?
    thanks,
    best
    Lionel

    RispondiElimina
    Risposte
    1. Hi Lionel,
      thanks for your comment and sorry about the delay I'm replying.
      Please find below the namelist.wps I'm using:
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------
      &share
      wrf_core = 'ARW',
      max_dom = NDOMAINS,
      start_date = 'STARTDATEd01','STARTDATEd02',
      end_date = 'ENDDATEd01','ENDDATEd02',
      interval_seconds = INT_SECS,
      io_form_geogrid = 2,
      debug_level = 1,
      /

      &geogrid
      parent_id = 1,1,
      parent_grid_ratio = 1,4,
      i_parent_start = 1,138,
      j_parent_start = 1,78,
      e_we = 380,277,
      e_sn = 270,257,
      geog_data_res = 'modis_30s+30s','modis_30s+30s',
      dx = 12000,
      dy = 12000,
      map_proj = 'lambert',
      ref_lat = 44.00,
      ref_lon = 14.00,
      truelat1 = 44.00,
      truelat2 = 44.00,
      stand_lon = 14.00,
      geog_data_path = 'GEOGPATH',
      opt_geogrid_tbl_path = 'TBLPATH',
      /

      &ungrib
      out_format = 'WPS',
      prefix = 'FILE',
      /

      &metgrid
      fg_name = 'FILE','PRES'
      io_form_metgrid = 2,
      opt_output_from_metgrid_path = 'RUNDIR',
      opt_metgrid_tbl_path = 'TBLPATH',
      /
      ------------------------------------------------------------------------------------------------------------------------------------------------------
      Forget about the variables I'm using in it (like RUNDIR, TBLPATH, etc...) and focus on the line fg_name='FILE','PRES'
      You should be able to run calc_ecmwf_p.exe with this settings. The files FILE:* should be created by the procedure calc_ecmwf_p.exe.
      Let me know.
      Cheers, Valerio

      Elimina
    2. ERRATA CORRIGE
      You should be able to run calc_ecmwf_p.exe with this settings. The files PRES:* should be created by the procedure calc_ecmwf_p.exe.

      Elimina
  2. Hello thanks for the post!

    I fail when running metgrid.. I cannot realize which variable I'm missing. I ended pu downloading all variables, still this is the output


    Processing domain 1 of 2
    Processing 2017-01-01_00
    PRES
    FILE
    WARNING: Entry in METGRID.TBL not found for field ST100289. Default options will be used for this field!
    WARNING: Entry in METGRID.TBL not found for field SM100289. Default options will be used for this field!
    WARNING: Entry in METGRID.TBL not found for field LOGSFP. Default options will be used for this field!
    WARNING: Field LOGSFP has missing values at level 1 at (i,j)=(1,1)
    WARNING: Field SM100289 has missing values at level 200100 at (i,j)=(1,1)
    WARNING: Field ST100289 has missing values at level 200100 at (i,j)=(1,1)
    WARNING: Field PMSL has missing values at level 200100 at (i,j)=(1,1)
    WARNING: Field PSFC has missing values at level 200100 at (i,j)=(1,1)
    WARNING: Field SOILHGT has missing values at level 200100 at (i,j)=(1,1)
    WARNING: Field GHT has missing values at level 200100 at (i,j)=(1,1)
    ERROR: Missing values encountered in interpolated fields. Stopping.

    Can you help me?

    RispondiElimina
    Risposte
    1. Hi Tomas, thanks for your comment.
      it seems like the mandatory variable LOGSFP is missing.
      Did you donwload it (LOGSFP is on model levels, not in the surface ERA5 file)?
      Did you also ungrib it properly by using the above mentioned Vtable?
      Can you please digit `grib_ls path/to/your_ERA5_model_levels_file` and copy the output here?
      Let me know

      Elimina
    2. Hello thanks for your reply!

      grib_ls of the ml gribfile...

      edition centre typeOfLevel level dataDate stepRange dataType shortName packingType gridType
      1 ecmf hybrid 1 20170101 0 an z grid_simple regular_ll
      1 ecmf hybrid 1 20170101 0 an t grid_simple regular_ll
      1 ecmf hybrid 1 20170101 0 an q grid_simple regular_ll
      1 ecmf hybrid 1 20170101 0 an lnsp grid_simple regular_ll
      1 ecmf hybrid 1 20170101 0 an u grid_simple regular_ll
      1 ecmf hybrid 1 20170101 0 an v grid_simple regular_ll
      1 ecmf hybrid 2 20170101 0 an t grid_simple regular_ll
      1 ecmf hybrid 2 20170101 0 an q grid_simple regular_ll
      1 ecmf hybrid 2 20170101 0 an u grid_simple regular_ll
      1 ecmf hybrid 2 20170101 0 an v grid_simple regular_ll
      1 ecmf hybrid 3 20170101 0 an t grid_simple regular_ll
      1 ecmf hybrid 3 20170101 0 an q grid_simple regular_ll
      1 ecmf hybrid 3 20170101 0 an u grid_simple regular_ll
      1 ecmf hybrid 3 20170101 0 an v grid_simple regular_ll

      Elimina
    3. I even find the fields in the intermediate files:

      ================================================
      FIELD = LOGSFP
      UNITS = Pa DESCRIPTION = Log surface pressure
      DATE = 2017-01-01_00:00:00 FCST = 0.000000
      SOURCE = ECMWF
      LEVEL = 1.000000
      I,J DIMS = 36, 35
      IPROJ = 0 PROJECTION = LAT LON
      REF_X, REF_Y = 1.000000, 1.000000
      REF_LAT, REF_LON = -30.000002, 279.600006
      DLAT, DLON = -0.300000, 0.300000
      EARTH_RADIUS = 6367.470215
      DATA(1,1)=11.532289

      SUCCESSFUL COMPLETION OF PROGRAM RD_INTERMEDIATE


      ?????????????????????

      Elimina
    4. Apparently the app WPS/util/calc_ecmwf_p.exe reads log surface pressure values, but this surface fields do not appear in PRES intermediate files...

      Elimina
    5. The PRES intermediate files should be created by the calc_ecmwf_p.exe procedure.
      By the way can you upload somewhere your ECMWF data files so I can give them a look? Then send me by email the credentials to access the data.
      Cheers, Valerio

      Elimina
    6. Thanks very much for help !!

      I meant PRES files appear after running calc_ecmwf, but I don't see any pressure surface fields in there..

      I wrote you at ibimet, is your current email?

      Thanks man!

      Elimina
    7. Problem has been solved! It ended up that the region of the downloaded data was slightly shorter than the modeled area. Thanks very much Valerio for pointing me out.

      Elimina
    8. Tomas, thanks for the feedback!

      Elimina
    9. Hi Valerio and Tomas,
      I got the similar error when running metgrid.exe:

      Processing 2017-04-19_18
      ./ungrib_output/FILE
      WARNING: Entry in METGRID.TBL not found for field ST100255. Default options will be used for this field!
      WARNING: Entry in METGRID.TBL not found for field SM100255. Default options will be used for this field!
      WARNING: Entry in METGRID.TBL not found for field LOGSFP. Default options will be used for this field!
      ./ungrib_output/PRES
      Processing 2017-04-19_19
      ./ungrib_output/FILE
      WARNING: Entry in METGRID.TBL not found for field ST100255. Default options will be used for this field!
      WARNING: Entry in METGRID.TBL not found for field SM100255. Default options will be used for this field!
      WARNING: Entry in METGRID.TBL not found for field LOGSFP. Default options will be used for this field!
      ./ungrib_output/PRES

      My ERA5 data is larger than my domain. I checked METGRID.TBL and found ST100255, SM100255 and LOGSFP don't exist. What about your METGRID.TBL?

      Elimina
    10. That's a warning. It says that metgrid.exe does not find the directives about the interpolation of LOGSFP and SM*, ST*. Anyway it should end successfully.
      If you want, create an entry in the METGRID.TBL with your own interpolation preferences following http://www2.mmm.ucar.edu/wrf/users/docs/user_guide/users_guide_chap3.html#_Description_of_METGRID.TBL
      My METGRID.TBL is the standard METGRID.TBL.ARW

      Elimina
    11. Thank you for your advice!
      I edit METGRID.TBL correctly for ST100255 and SM100255. But, I can't figure out how to edit the part of LOGSFP. You can check the end of my post (http://www.dreambooker.site/2018/04/20/Initializing-the-WRF-model-with-ERA5/). Do you have any idea about this?

      Elimina
    12. This works fine for LOGSFP. But I don't understand why should use PSFC as FIELD. Why not const?

      ========================================
      name=LOGSFP
      interp_option=four_pt+average_4pt
      fill_lev=200100:PSFC(200100.)
      flag_in_output=FLAG_LOGSFP
      ========================================

      Elimina
    13. I would leave WRF choose which interpolation method is appropriate. A standard method should be fine in particular if your integration domain has no coastal areas.

      Elimina
  3. Could you tell me differences between model level and pressure? Which one is better for WRF simulation?

    RispondiElimina
    Risposte
    1. Dear Xin,
      basically model's levels follow Earth surface. Have a look to this link for the correspondence between model's levels and pressure levels. You'll find relevant information and hopefully an answer to your question
      https://www.ecmwf.int/en/forecasts/documentation-and-support/137-model-level
      Cheers, valerio

      Elimina
    2. Thank you, valerio!
      Here's a part of ERA5_Introduction:

      "RA5 was produced using 4DVar data assimilation in CY41R2 of ECMWF’s Integrated Forecast System (IFS), with 137 hybrid sigma/pressure (model) levels in the vertical, with the top level at 0.01 hPa. Atmospheric data are available on these levels and they are also interpolated to 37 pressure, 16 potential temperature and 1 potential vorticity level(s)".

      So, does this mean that model level data is better than pressure level data? Because pressure level data is generated by interpolating.

      Elimina
    3. Yes, you're right!
      Anyway working with pressure levels is straightforward, whereas working with model's levels requires some extra work (grib_set + calc_ecmwf_p.exe + etc...see this post)

      Elimina
    4. Thank you for your reply! I'll check this method.

      Elimina
    5. According to ERA5 Introduction, the ERA5 HRES data has a resolution of 31km, 0.28125 degrees. Why did you say it is suggested to download data by using 0.3/0.3 for the "grid" settings?

      Elimina
    6. It is a mistake. I changed the text.
      Check this example: https://software.ecmwf.int/wiki/display/WEBAPI/ERA5+daily+retrieval+efficiency
      It is rather suggested to download data by using a 0.25X0.25 grid resolution
      Thanks for your note!

      Elimina
    7. I have another question:

      How did you choose the parameters for WRF? Could you share the meaning of abbreviations of paralist of sfc data?

      Thanks!

      Elimina
  4. After downloading ERA5 data by python scripts and setting Vtable, I ran ./ungrib.exe for model level data and got this error:

    Start_date = 2015-05-31_18:00:00 , End_date = 2015-06-01_18:00:00
    ................
    ERROR: Vtable does not contain Grib2 decoding information. 11 or 12 columns of information is expected. *** stopping parse_table ***

    Why is the format of ERA5 model level data Grib2? ERA5 surface level data is Grib1.

    RispondiElimina
    Risposte
    1. Xin,
      you've to preprocess the model levels grib2 file before (see this post, steps 3, 4 and 5).
      grib1 does not handle more than 99 vertical levels, that's why ERA5 model levels are stored in a grib2 file format

      Elimina
    2. Thank you for your explanation.
      Note: Anaconda's grib_api may conflict with ERA's grib_api. Just keeping one is fine.

      Why don't you include invariant dataset like Land-sea mask and Geopotential?

      Elimina
    3. Well, ERA5 is different from ERA-Interim. ERA-Interim includes Geopotential and Land-sea mask in invariant field. ERA5 includes them in surface dataset.

      Elimina
  5. After running ./util/calc_ecmwf_p.exe with ecmwf_coeffs, I got this error (I've set 'ulimit -u unlimited' and tried WRF3.8.1. The compiler is intel):

    Reading from FILE at time 2015-05-31_18
    Found SOILHGT field in FILE:2015-05-31_18
    Found LOGSFP field in FILE:2015-05-31_18
    forrtl: severe (174): SIGSEGV, segmentation fault occurred
    Image PC Routine Line Source
    calc_ecmwf_p.exe 0000000000424C3D Unknown Unknown Unknown
    libpthread-2.17.s 00002AD5379E65E0 Unknown Unknown Unknown
    calc_ecmwf_p.exe 000000000040A1B0 Unknown Unknown Unknown
    calc_ecmwf_p.exe 0000000000402E1E Unknown Unknown Unknown
    libc-2.17.so 00002AD537C14C05 __libc_start_main Unknown Unknown
    calc_ecmwf_p.exe 0000000000402D29 Unknown Unknown Unknown

    RispondiElimina
    Risposte
    1. mmhh...segmentation fault....
      I have no idea? Check the following issues:
      Did you compile correctly all the executables?
      Did you set correctly all the namelist parameters?
      Did you have ecmwf_coeffs as above in the post?
      Did you have all the input grib files?
      ...other...??

      Elimina
    2. I figure that out......
      After downloading the ERA5 data again, it works fine.
      Thank you!

      Elimina
  6. Sorry to disturb you again, Valerio.

    I have another question:

    Why did you download LOGSFP instead of SP from sfc data. If I add SP to sfc data list, ungrib.exe is successful. But, I get this error when running metgrid.exe:

    Processing 2015-05-31_18
    ./ungrib_output/FILE
    ./ungrib_output/PRES
    ERROR: Error in ext_pkg_write_field
    application called MPI_Abort(MPI_COMM_WORLD, 40495152) - process 0
    [unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=40495152
    :
    system msg for write_line failure : Bad file descriptor

    RispondiElimina
    Risposte
    1. Hi, is your problem solve? I also want to have SP in my data but metgrid.exe fails as you said.

      Elimina
    2. I'm having the same problem in metgrid.ERROR: Error in ext_pkg_write_field
      application called MPI_Abort(MPI_COMM_WORLD, 49) - process 0.

      Help me to solve this...
      thank you

      Elimina
  7. Thanks very much for posting this! It was a big help. Also reading through the comments and answers helped me troubleshoot my mistakes, and now it's working smoothly.

    RispondiElimina
  8. I also have a problem regarding era5 data run in wrf. If we use gfs or fnl data it contains surface and upper air data in a file but in case of era5 we will have two seperate file for surface and upper air how to link these datas in link_grib. Which surface parameters to choose to ingest in wrf.

    RispondiElimina
    Risposte
    1. Hello, sorry to answer this late. When you do the link_grib in the WPS you can do it this way, it worked for me:

      1. Let's imagine that my user is called "user" and the processed surface and model level data are stored in a folder called "Meteorology", located in /home/. The path will be:

      /home/user/Meteorology

      2. Enter the WPS folder and run:

      ./link_grib.csh /home/user/Meteorology/*

      This will link all the files you get from the pre-process step. I don't know if this is right but I worked for me in the past.

      Elimina
  9. Hi,

    Thanks for your tutorial, which helped me a lot. Could you shade some light on how to update ERA5's SST while runing WRF? I followed your steps and the met_d* intermediate files did include SST in there, but when I checked the wrfout* files the variable "SST_INPUT" is 0 over the globe. I did set &physics and sst_update = 1 as the official guide mentioned. Do I still need to link the SST Vtable and run ungrib again just for SST? Any successful stories? Thanks

    Best,
    Ray

    RispondiElimina
  10. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  11. Thank you very much for your explanation. Everything was perfect up to ungrib with ERA5 surface and model levels. My ungrib was generating PFILES but was never able to generate all the corresponding FILES. Some strange error messages appeared in the log file (“unknown out_format, ifv = 1133007385” or “Unrecognized map%igrid: 39936 in RRPR 2” or “Read error 1 in PARSE_TABLE”). I then assumed a memory issue as the number of generated FILES or PFILES was not always the same. I increased node memory up to 125GB ! Then I obtained successful completion. Every FILE or PFILE has around 100MB size so the situation does not seem to be a logical one. I am using 137 levels 0.25 deg x 0.25 deg in an area of 35 deg x 70 deg for 32 times every hour. My command is srun -N1 -n8 –mpi=pmi2 –mem=125G /home/peter/Build_WRF/WPS-4.2/ungrib.exe Do you have a common sense explanation for the need of 125 GB?

    RispondiElimina
  12. First, thank you very much.

    before i'm going to start download the era5 data i would like to understand which variables i must chose to download in the ecmwf website that will promise that the wrf will run properly.
    i'm asking due to free space issus.

    thanks

    RispondiElimina
  13. Hello everyone,

    Please I would like to run the WRF model with the forecasts from NCEP, ECMWF or UKMO available on https://cds.climate.copernicus.eu/cdsapp#!/dataset/seasonal-original-pressure-levels?tab=form. Can you tell me how to do it?

    RispondiElimina

Posta un commento

Post popolari in questo blog

Yet another tutorial on how to install WRF

Code published via github and zenodo