1 / 58

HWRF: AN INTRODUCTION TO THE NMM-WRF MODELING SYSTEM

HWRF: AN INTRODUCTION TO THE NMM-WRF MODELING SYSTEM. S.G.Gopalakrishnan and The HWRF team at EMC. , Matthew Pyle. Tuesday October 26, 2004. Introduction WRFSI REAL WRF. 72 h TPC Atlantic Track Forecast Errors.

cailean
Download Presentation

HWRF: AN INTRODUCTION TO THE NMM-WRF MODELING SYSTEM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HWRF: AN INTRODUCTION TO THE NMM-WRF MODELING SYSTEM S.G.Gopalakrishnanand The HWRF team at EMC

  2. , Matthew Pyle

  3. Tuesday October 26, 2004 • Introduction • WRFSI • REAL • WRF

  4. 72 h TPC Atlantic Track Forecast Errors With the exception of “stalling and looping storms”, while hurricane track prediction has shown remarkable progress, skill in predicting intensity changes is still poor. It is expected that ocean-coupled, high resolution, advanced mesoscale modeling system may improve track as well as intensity predictions. Hurricane WRF is the next step towards this goal. 700 600 Major Upgrades in Global and Hurricane Numerical models 500 400 Error (nautical miles) 300 200 1987-2003 trendline 1970-1986 trendline 100 0 1970 1980 1990 2000 Year

  5. MULTI-SCALE INTERACTION While convection within the organized circulation occurs at the cloud scale, boundary layer convergence and subsidence, for instance, takes place in the warm core system over larger scales. In order to create the right scale interactions, a large domain as well as high resolution are pivotal requirements of a hurricane forecasting system. --------- > mean motion Weak subsiding motion <---- ----> Upper Level Divergence ----> <---- Latent Heat - Cooling by W = Warm Core Vortex <---- <---- <---- -----> -----> -----> ----> ----> -----> -----> -----> -----> ----> ----> <----- PBL Moisture Convergence over warm ocean Gopalakrishnan et al, 2002, MWR

  6. The Modeling Framework Real cases: Standard Initialization (WRFSI/NMMSI) Wrfv1 ./Registry ./inc ./Main ./dyn_nmm or ./dyn_em or …. ./phys ./frame ./share ./external Ideal Cases • Post Processor: • Netcdf (ii) Binary

  7. Adopted from http://wrf-model.org/PRESENTATIONS/2000_06_23_schultz/sld003.htm

  8. NMM SI • Directory structure of WRFSI • Static Data from SI • Dynamic Data • wrfsi.nl and script to run that • Output from SI Grid configuration is created here wrf_real_input_nm.d01.2003-09-15_12:00:00

  9. Directory Structure of NMMSI This is what you will see when you set up your SI directory ! [/emc2/wx20gk/WRFEMC/HWRF/NMMSI] % ls install.scr wrfsigeog gribdata srcroot ONESIXTH PARX18 readme setup

  10. install.scr /usr/bin/perl ./srcroot/install_wrfsi.pl \ --srcroot="/emc2/wx20gk/WRFEMC/HWRF/NMMSI/srcroot" \ --installroot="/emc2/wx20gk/WRFEMC/HWRF/NMMSI/setup" \ --dataroot="/emc2/wx20gk/WRFEMC/HWRF/NMMSI/gribdata" \ --path_to_netcdf="/emc2/wx20gk/WRFEMC/netcdf/netcdf-3.5.0" \ --geog_dataroot="/emc2/wx20py/wrfsigeog" \ --machine="ibm"

  11. Static SI Data Directory Structure [/emc2/wx20py/wrfsigeog] % lsalbedo_ncep Islope pctland_10m soiltype_top_30s greenfrac landuse_30s soiltemp_1deg topo_10m greenfrac_10m maxsnowalb soiltype_bot_30s topo_30s

  12. Description of the WRFSI Static Data • topo_30s : FIS/9.8 • landuse_30s : IVGTYP, LANDUSEF and SM • albedo_ncep : ALBASE (monthly changes) • soiltype_top_30s : ISLTYP (1-16) • soiltype_bot_30s : fixed • soiltemp_1deg : (1 layer deep soil temperature) • maxsnowalb : fixed • greenfrac : from 0 1 (0 is no cannopy) • islope : used in run off computation (not used in NMM) • pctland_10m : not used in NMM • topo_10m : not used in NMM • greenfrac_10m : not used in NMM

  13. Meteorological Input Grib Data • Handles pressure level data only!!! • GFS grib files ( ex: gblav.t00z.pgrbf84) • ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/avn/prod • GFDL grib files (ex: frances06l.2004083100.grib3rd.f66)

  14. Basic grib data requirement • Description Units Output Name • ------------------------------------------- • Temperature K T • U-wind comp m s{-1} U • V-wind comp m s{-1} V • Rel. Humidity % RH • Geo. Height m HGT • Surface Press Pa PSFC • Terrain Hgt m SOILHGT • Skin temp K SKINTEMP • SST K SST

  15. Source and Set up for WRFSI [/emc2/wx20gk/WRFEMC/HWRF/NMMSI/srcroot/src] % ls grib_prep hinterp io_netcdf mod vinterp grid include lib util [/emc2/wx20gk/WRFEMC/HWRF/NMMSI/setup] % ls bin data extdata templates config_paths domains etc

  16. Grid Structure of the WRF-NMM

  17. NAMELIST: wrfsi.nl • &project_id • SIMULATION_NAME = 'HWRF ' • USER_DESC = 'NOAA/NCEP/EMC' • /

  18. wrfsi.scr (date and time) • &filetimespec • START_YEAR = 2003, • START_MONTH = 09, • START_DAY = 15, • START_HOUR = 12, • START_MINUTE = 00, • START_SECOND = 00, • END_YEAR = 2003, • END_MONTH = 09, • END_DAY = 16, • END_HOUR = 12, • END_MINUTE = 00, • END_SECOND = 00, • INTERVAL = 21600 • /

  19. Wrfsi.nl (domain info) • &hgridspec • NUM_DOMAINS = 1, • XDIM = 103,100,200 • YDIM = 217,100,200 • PARENT_ID = 1,1,2 • RATIO_TO_PARENT = 1,4,4 • DOMAIN_ORIGIN_PARENT_X = 1,36,36 • DOMAIN_ORIGIN_PARENT_Y = 1,36,36 • MAP_PROJ_NAME = 'rotlat', • MOAD_KNOWN_LAT = 35.0, • MOAD_KNOWN_LON = -75.0, • MOAD_KNOWN_LOC = 'center' • MOAD_STAND_LATS = 35.0, 0.0, • MOAD_STAND_LONS = -75.0, • MOAD_DELTA_X = 0.07716066390 • MOAD_DELTA_Y = 0.08169933408 • SILAVWT_PARM_WRF = 0. • TOPTWVL_PARM_WRF = 2. • /

  20. wrfsi.nl (static files) • &sfcfiles • TOPO_30S = '/emc2/wx20py/wrfsigeog/topo_30s', • LANDUSE_30S = '/emc2/wx20py/wrfsigeog/landuse_30s', • SOILTYPE_TOP_30S = '/emc2/wx20py/wrfsigeog/soiltype_top_30s', • SOILTYPE_BOT_30S = '/emc2/wx20py/wrfsigeog/soiltype_bot_30s', • GREENFRAC = '/emc2/wx20py/wrfsigeog/greenfrac', • SOILTEMP_1DEG = '/emc2/wx20py/wrfsigeog/soiltemp_1deg', • ALBEDO_NCEP = '/emc2/wx20py/wrfsigeog/albedo_ncep', • MAXSNOWALB = '/emc2/wx20py/wrfsigeog/maxsnowalb', • ISLOPE = '/emc2/wx20py/wrfsigeog/islope', • /

  21. &interp_control • NUM_DOMAINS = 1, • DOMAIN_ID_LIST = 1, • PTOP_PA = 5000, • HINTERP_METHOD = 1, • LSM_HINTERP_METHOD = 0, • NUM_INIT_TIMES = 1, • INIT_ROOT = 'AVN', • LBC_ROOT = 'AVN', • LSM_ROOT = 'AVN', • CONSTANTS_FULL_NAME = 'SSTDATA','SNOWDATA', • VERBOSE_LOG = .false., • OUTPUT_COORD = 'NMMH', • LEVELS = 1.0, .9919699, .9827400, .9721600, .9600599, .9462600, • .9306099, .9129300, .8930600, .8708600, .8462000, .8190300, • .7893100, .7570800, .7224600, .6856500, .6469100, .6066099, • .5651600, .5230500, .4807700, .4388600, .3978000, .3580500, • .3200099, .2840100, .2502900, .2190100, .1902600, .1640600, • .1403600, .1190600, .1000500, .0831600, .0682400, .0551200, • .0436200, .0335700, .0248200, .0172200, .0106300, .0049200, • .0000000, • OUTPUT_VARS = 2, • OUTPUT_FILE_TYPE = 'BOTH', • /

  22. wrfsi.nl (Paths) • &si_paths • ANALPATH = '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/setup/extdata/extprd', • LBCPATH = '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/setup/extdata/extprd', • LSMPATH = '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/setup/extdata/extprd', • CONSTANTS_PATH = '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/setup/extdata/extprd', • /

  23. ../setup/extdata/static/grib_prep.nl • &filetimespec • START_YEAR = 2003 • START_MONTH =12 • START_DAY =12 • START_HOUR =00 • START_MINUTE = 00 • START_SECOND = 00 • END_YEAR = 2003 • END_MONTH =12 • END_DAY =12 • END_HOUR =00 • END_MINUTE = 00 • END_SECOND = 00 • INTERVAL = 10800 • /

  24. ../setup/extdata/static/grib_prep.nl &gpinput_defs ! modified for GFDL vortex. See Vtable.GFDLX for details.. Gopal SRCNAME = 'GFDL','ETA','GFDLX','AVN' SRCVTAB = 'GFDL','ETA','GFDLX','AVN' SRCPATH = '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/gribdata/GFDL', '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/gribdata/ETA', '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/gribdata/AVN‘ '/emc2/wx20gk/WRFEMC/HWRF/NMMSI/gribdata/AVN', SRCCYCLE = 6,6,6,6,12,12,24, SRCDELAY = 3,4,4,3, 0, 0,36, /

  25. WRFSI OPERATION • Domain localization (creation of a new domain) /setup/etc/window_domain_rt.pl uses /setup/gridgen_model.exe • Grib data preparation /setup/etc/grib_prep.pl uses /setup/bin/grib_prep.exe • Interpolate on to the created grid and produce SI outputs /setup/etc/wrfsi.pl uses /setup/bin/hinterp.exe and vinterp.exe

  26. REMEMBER! • OUTPUT FROM WRFSI IS ONLY AN INPUT TO THE REAL CODE AND NOT AN INPUT TO WRF MODEL. • YOU CANNOT RUN THE WRF MODEL WITH OUT PUT FILES FROM THE SI, wrf_real_input_nm.d01.yy-mm-dd_hh:mm:ss • YOU NEED TO RUN THE REAL CODE NEXT!!!!

  27. PROGRAM REAL • The real suite of code provides initial and boundary conditions for the WRF model (wrf.exe) derived from wrfsi. • Nevertheless, inputs required for the wrf model is not restricted to wrfsi alone. For instance, NMM core does not use Coriolis defined in wrfsi. Also, several variables are defined/re-defined using the real suite of routines. • Separating real code from the wrf model code provides an advantage in terms of run time requirements. • The real code provides yet another opportunity for developing I/O for model initialization (scope for ideal cases!)

  28. The Real Code Includes: • ./main/real.F (2) ./dyn_nmm/module_initialize_real.F real.exe (3) ./dyn_nmm/start_nmm.F (4) ./share/module_soil_pre.F Products: wrfinput_d01 and wrfbdy_d01

  29. In a nut shell wrfsi wrf_real_input_nm.d01.yy-mm-dd_hh:mm:ss real.exe (+ namelist.input etc..) wrfinput_d01 & wrfbdy_d01 wrf.exe (+ namelist.input etc..) wrfout_d01_yy-mm-dd_hh:mm:ss

  30. I picked this one up from Dave Gill @ NCAR! • http://www.mmm.ucar.edu/wrf/tutorial/2003/WRF_Tutorial/Initialization_for_Real_Data_Cases/Slide2.html

  31. The Modeling Framework Real cases: Standard Initialization (WRFSI/NMMSI) Wrfv1 ./Registry ./inc ./Main ./dyn_eh or ./dyn_em or ./dyn_slt ./phys ./frame ./share ./external • Post Processor: • Netcdf (ii) Binary

  32. Quick walk thru’ of the real programme • file:///C:/Documents%20and%20Settings/emc_user/gopal/html_code/

  33. http://box.mmm.ucar.edu/wrf/WG2/Tigers/ http://www.mmm.ucar.edu/wrf/tutorial/2003/WRF_Tutorial/Tutorial_2003_03/ Welcome To the Inaugural Meeting of the WRF Software Training and Documentation TeamJan. 26-28, 2004NCAR, MMM Division

  34. Is this a Jig-Saw Puzzle ?? [/emc2/wx20gk/WRFEMC/HWRFV1/WRFV1] % ls CVS configure dyn_slt phys Makefile configure.wrf external run README dyn_eh frame set_core Registry dyn_em inc share arch dyn_exp install_nmm.scr test clean dyn_graps main tools compile dyn_nmm

  35. Directory Structure

  36. driver mediation model WRF Model Directory Structure

  37. #<Table> <Type> <Sym> <Dims> <Use> <NumTLev> <Stagger> #<IO> <DNAME> <DESCRIP> <UNITS> state real t ikj dyn_nmm 1 - i01rh "T" "TEMPERATURE IN KELVIN" - state real pd ij dyn_nmm 1 - i01rh “PD" " PRESSURE DEPTH IN PASCALS" - state real f ij dyn_nmm 1 - irh "F" "CORIOLIS PARAMETER " - state real pint ikj dyn_nmm 1 Z irh "PINT " “INTERFACE HSTATIC PRES“ -

  38. # Exchange in the NMM core halo HALO_NMM_C dyn_nmm 8:u,v halo HALO_NMM_INTERP_DOWN dyn_nmm 120:sm,fis,t,u,v,q,pd

  39. Boundary Arrays in the Registry • state real pd_b ivjb dyn_nmm 1 - b "PDB" • state real pd_bt ivjb dyn_nmm 1 - b "PDBT" • state real t_b ikjb dyn_nmm 1 - b "TB" • state real t_bt ikjb dyn_nmm 1 - b "TBT" • state real q_b ikjb dyn_nmm 1 - b "QB" • state real q_bt ikjb dyn_nmm 1 - b "QBT" • state real u_b ikjb dyn_nmm 1 - b "UB" • state real u_bt ikjb dyn_nmm 1 - b "UBT" • state real v_b ikjb dyn_nmm 1 - b "VB" • state real v_bt ikjb dyn_nmm 1 - b "VBT" • state real q2_b ikjb dyn_nmm 1 - b "Q2" • state real q2_bt ikjb dyn_nmm 1 - b "Q2T" • state real cwm_b ikjb dyn_nmm 1 - b "CWM" • state real cwm_bt ikjb dyn_nmm 1 - b "CWMT"

  40. Boundary Conditions • The lateral boundaries for real cases are stored as, and read from special four dimensional arrays. These arrays are specified in the Registry as follows: the state variable, say for instance U, has its boundary values stored in U_b and the boundary tencied in U_bt. The “_b” and “_bt” arrays are four dimensional (max(ide,jde),kde,spec_bdy_width,4). • As indicated by the fourth dimensional index, the data is stored in the form of four strips, P_XSB (western), P_XEB (eastern), P_YSB (southern) and P_YEB (northern), each denoting a boundary of specified width, spec_bdy_width that is controlled by the namelist file. • While the second dimension index of these array denotes the maximum vertical dimension, the first index denotes maximum of x and y dimension. Figure below illustrates this array for a case where ide > jde • http://www.mmm.ucar.edu/wrf/WG2/software_2.0/LBC_Documentation.pdf

  41. LBC Arrays P_YEB unused unused jde P_XSB A Given Domain P_XEB P_YSB jds spec_bdy_width ids ide

  42. rconfig entries • # some examples of rconfig entries # NAMELIST 01 rconfig integer time_step namelist,namelist_01 1 - ih "time_step“ # NAMELIST 02 rconfig integer start_year namelist,namelist_02 max_domains 1993 irh "start_year" "4 DIGIT START YR" “YR" # NAMELIST 03 rconfig real dx namelist,namelist_03 max_domains 200 h "dx" "X HORIZONTAL RES” “M” rconfig real dy namelist,namelist_03 max_domains 200 h "dy" “Y HORIZONTAL RES” “M” # NAMELIST 04 rconfig integer nphs namelist,namelist_04 max_domains 12 irh "nmm input " " "

  43. Example of derived data type # following added for nesting purpose (gopal's doing) rconfig real wbd0 derived max_domains 0 - "wbd0" “domain western boundary “ rconfig real sbd0 derived max_domains 0 - "wbd0" “domain western boundary “ ! grid configuration in mediation_integrate.F parent%wbd0 = -(IDE -2)*parent%dx parent%sbd0 = -((JDE-1)/2)*parent%dy

  44. package entries # Package entries within the Registry package rrtmscheme ra_lw_physics==1 - - package gfdllwscheme ra_lw_physics==99 - - package swradscheme ra_sw_physics==1 - - package gsfcswscheme ra_sw_physics==2 - - package gfdlswscheme ra_sw_physics==99 package sfclayscheme bl_sfclay_physics==1 - - package myjsfcscheme bl_sfclay_physics==2 - - package slabscheme bl_surface_physics==1 - - package lsmscheme bl_surface_physics==2 - - package ruclsmscheme bl_surface_physics==3 - - package nmmlsmscheme bl_surface_physics==99 - - package ysuscheme bl_pbl_physics==1 - - package myjpblscheme bl_pbl_physics==2 - - package gfsscheme bl_pbl_physics==3 - - package mrfscheme bl_pbl_physics==99 - - package kfetascheme cu_physics==1 - - package bmjscheme cu_physics==2 - - package gdscheme cu_physics==3 - - package sasscheme cu_physics==4 package kfscheme cu_physics==99

  45. namelist.input &namelist_01 time_step = 30, time_step_fract_num = 0, related to fractional time steps time_step_fract_den = 1, related to fractional time steps restart = .false., max_dom = 1, dyn_opt = 4, ifsnow = 1, snow-cover effects icloud = 1, cloud effect to the optical depth in radiation num_soil_layers = 4, spec_bdy_width = 5, spec_zone = 1, relax_zone = 4, tile_sz_x = 0, number of points in tile x direction tile_sz_y = 0, number of points in tile y direction numtiles = 1, number of tiles per patch debug_level = 1,/

  46. namelist.input &namelist_02 grid_id = 1, level = 1, domain level (leave as is) s_we = 1, e_we = 288, s_sn = 1, e_sn = 638, s_vert = 1, e_vert = 43, start_year = 2004 start_month = 10 start_day = 22 start_hour = 00 start_minute = 00, start_second = 00, end_year = 2004 end_month = 10 end_day = 26 history_interval = 360, restart_interval = 00, frames_per_outfile = 1, interval_seconds = 21600,/

  47. namelist.input &namelist_03 dx = 0.132867, in degrees dy = 0.119497, / in degrees

More Related