Richard M. Yablonsky University of Rhode Island WRF for Hurricanes Tutorial Boulder, CO 25 February 2010 1
What is the Princeton Ocean Model? Three dimensional, primitive equation, numerical ocean model (commonly known as POM) Originally developed by Alan Blumberg and George Mellor in the late 1970 s Initially used for coastal ocean circulation applications (Blumberg and Mellor 1987) Open to the community during the 1990 s and 2000 s Many user generated changes incorporated into official code version housed at Princeton University 2
Developing HWRF Ocean (POM TC) Available POM code version transferred to University of Rhode Island (URI) in mid 1990 s POM code changes made at URI specifically to address ocean response to hurricane wind forcing This POM version coupled to GFDL hurricane model at URI Coupled GFDL/POM model operational at NCEP in 2001 Additional POM upgrades made at URI during 2000 s (e.g. initialization) and implemented in operational GFDL/POM Same version of POM coupled to operational HWRF in 2007 This POM version henceforth designated POM TC 3
Why Couple POM TC to HWRF? To create accurate SST field for input into the HWRF Evaporation (moisture flux) from sea surface provides heat energy to drive a hurricane Available energy decreases if storm c0re SST decreases Uncoupled hurricane models with static SST neglect SST cooling during integration high intensity bias One dimensional (vertical only) ocean models neglect upwelling, which can impact SST during integration (e.g. Yablonsky and Ginis 2009, MWR) 4
5
Physics of Storm Core SST Change 1) Vertical mixing/entrainment (Slide 7) 2) Upwelling (Slide 8) 3) Horizontal advection (Slide 9) 4) Heat flux to the atmosphere (Small by comparison) 6
1) Vertical mixing/entrainment Wind stress surface layer currents Current shear turbulence Turbulent mixing entrainment of cooler water POM-TC uses the Mellor-Yamada 2.5 turbulence closure submodel to parameterize vertical mixing Sea Warm surface sea temperature surface temperature decreases A T M O S P H E R E O C E A N Subsurface Cool subsurface temperature temperature increases This is a 1-D (vertical) process 7
2) Upwelling Cyclonic wind stress divergent surface currents Divergent currents upwelling Cyclonic hurricane Upwelling cooler water brought to surface vortex A T M O S P H E R E Warm sea surface temperature O C E A N Cool subsurface temperature This is a 3-D process 8
3) Horizontal advection Preexisting cold pool is located outside storm core Preexisting current direction is towards storm core Cyclonic hurricane Ocean currents advect cold pool under storm vortex core A T M O S P H E R E Warm sea surface temperature O C E A N Cool subsurface temperature This is a horizontal process 9
< < Prescribed propagation speed Cyclonic hurricane vortex < < A T M O S P H E R E < < Homogeneous initial SST < < O C E A N < < < Horizontally-homogeneous subsurface temperature < What is the impact of varying storm translation speed? 10
2.4 m s -1 4.8 m s -1 11
3-D 1-D 2.4 m s 1 3-D 1-D 4.8 m s 1
POM TC Grid: United Region 47.5 N ~18-km grid spacing 225 10 N 98.5 W 254 50 W 13
POM TC Sigma VerJcal Coordinate 23 vertical sigma levels; free surface (η) Level placement scaled based on ocean bathymetry Largest vertical spacing occurs where ocean depth is 5500 m Location of 23 half-sigma levels when ocean depth is 5500 m: 5, 15, 25, 35, 45, 55, 65, 77.5, 92.5, 110, 135, 175, 250, 375, 550, 775, 1100, 1550, 2100, 2800, 3700, 4850, and 5500 m 14
Arakawa C Grid: External Mode Plan View Horizontal spatial differencing occurs on staggered Arakawa-C grid 2-D variables UA and VA are calculated at shifted location from η 15
Arakawa C Grid: Internal Mode Plan View Horizontal spatial differencing occurs on staggered Arakawa-C grid 3-D variables U and V are calculated at shifted location from T and Q T here represents variables T, S, and RHO Q here represents variables Km, Kh, Q2, and Q2l 16
VerJcal Grid: Internal Mode Elevation View Vertical spatial differencing also occurs on staggered grid 3-D variables W and Q are calculated at shifted depth from T and U T here represents variables T, S, and RHO Q here represents variables Km, Kh, Q2, and Q2l 17
Time Stepping POM TC has a split time step External (two dimensional) mode uses short time step: 22.5 seconds during pre coupled POM TC initialization 13.5 seconds during coupled POM TC integration Internal (three dimensional) mode uses long time step: 15 minutes during pre coupled POM TC initialization 9 minutes during coupled POM TC integration Horizontal time differencing is explicit Vertical time differencing is implicit 18
POM TC inijalizajon Prior to coupled model integration of HWRF/POM TC, POM TC must be initialized with a realistic, 3 D temperature (T) and salinity (S) field This T & S field must then be used to generate realistic ocean currents via geostrophic adjustment The spun up ocean must then incorporate the preexisting hurricane generated cold wake by applying the TC s wind stress using the NHC message file 19
Typical of Gulf of Mexico in Summer & Fall Typical of Caribbean in Summer & Fall 20
Approximate Locations of Oceanic Features During Hurricanes Katrina and Rita (2005) TX Rita LA Katrina MS AL GA Subsurface (75-m) ocean temperature during Katrina & Rita Gulf of Mexico warm core ring cold core ring Loop Current FL Warm Loop Current water and a warm core ring extend far into the Gulf of Mexico from the Caribbean Mexico Caribbean C Directly under Rita s & Katrina s track But how do we know the locations of (& how do we assimilate) these features in real-time? 21
How we modify GDEM T/S Climatology: Feature based modeling! Data-assimilated GDEM Altimetry Or define using real obs: e.g. AXBT 6 for LC and AXBT 13 (14) for WCR (CCR) Finally, assimilate SST and integrate ocean model for 48 hrs for geostrophic adjustment Start with GDEM T/S Look at altimetry/obs Define LC & ring positions Use Caribbean water along LC axis & in warm core ring center Make cold core ring center colder than env. Blend features w/ env. & sharpen fronts 22
Gustav 2008082800: Ocean IniJalizaJon & Response (Next 6 Slides) 23
August GDEM T/S Climatology SST ~75-m Temperature Starting point is August GDEM T/S climatology August GDEM is then interpolated in time to start date by blending with September GDEM 24
Including Features & Sharpening SST ~75-m Temperature GDEM T/S climatology is modified using the feature-based model (see slide 19) This includes cross-frontal sharpening 25
00 hr Phase 1: GFS SST Assimilated SST ~75-m Temperature (Land/sea mask applied) At 00-hr phase 1, daily NCEP SST is assimilated into the upper ocean mixed layer T/S fields vertically-interpolated to POM σ-levels 26
48 hr Phase 1 / 00 hr Phase 2 SST and Surface Current Vectors ~75-m Temperature and Current Vectors (Land/sea mask applied) During 48-hr of phase 1 integration, SST is held constant while currents geostrophically adjust 48-hr phase 1 = 00-hour phase 2 27
72 hr Phase 2 / 00 hr Coupled SST and Surface Current Vectors ~75-m Temperature and Current Vectors (Land/sea mask applied) During 72-hr of phase 2 integration, cold wake is generated by applying NHC message file wind 72-hr phase 1 = 00-hour coupled HWRF/POM-TC 28
192 hr Phase 2 (like 120 hr Coupled) SST and Surface Current Vectors ~75-m Temperature and Current Vectors (Land/sea mask applied) During 120-hr of coupled HWRF/POM-TC run, cold wake is generated by HWRF wind + thermal forcing Cold wake is generated here by extending phase 2 29
HWRF/POM TC Coupling Wind speed (U a ) Temperature (T a ) Humidity (q a ) Hurricane Model Air Sea Interface Momentum flux (τ) Sensible heat flux (Q H ) Latent heat flux (Q E ) Momentum flux (τ) Temperature flux Shortwave radiation Ocean Model SST (T s ) 30
How to Run the POM TC Ocean IniJalizaJon: Technical Details (Next 13 Slides) 31
Scripts Scripts can be found in directory: ${HOME}/HWRF/ src/pomtc/ocean_scripts There are 5 scripts, 4 of which are kickit scripts Fifth script gfdl_pre_sortvit.sh is used internally by the fourth kickit script and should not be changed Four kickit scripts are designed to be run in order from kickit01 through kickit04 If only running default tutorial case 2008082800, then no changes should be needed to the kickit scripts either Next slide explains how to run ocean initialization 32
Running the Ocean IniJalizaJon Go to the following directory: ${HOME}/HWRF/src/ pomtc/ocean_scripts Execute the four kickit scripts sequentially: [prompt]$./kickit01_sharpn.sh [prompt]$./kickit02_getsst.sh [prompt]$./kickit03_phase3.sh [prompt]$./kickit04_phase4.sh Next slide explains how to modify the kickit scripts if running a case other than default case 2008082800 33
Modifying the kickit Scripts If running a case other than 2008082800, edit the four kickit scripts before running them If running on Bluefire, the only two lines in each kickit script that need to be edited are: stormid=07l # e.g. SID = 07L start_date=2008082800 # e.g. YYYYMMDDHH = 2008082800 If running on a machine other than Bluefire, these lines may also need to be edited, depending on the paths to your input datasets, source code, and output directories: data_d=/ptmp/hurrtutorial/datasets sorc_d=${home}/hwrf/src/pomtc work_d=/ptmp/${user}/hwrf/${stormid}/{start_date}/oceanprd 34
Procedures in kickit01_sharpn.sh Set the storm ID Set starting date for POM TC as YYYYMMDDHH Set which ocean climatology to use (default is GDEM) Set the ocean region (always use united with sharpening) Define the directories Create the work directory if it does not already exist Create the sharpening directory, overwriting old attempts Slice up the storm ID and starting date Use some pieces of starting date to select two climatology months Create parameter input_sharp depending on chosen climatology Create symbolic links for the input files Run the sharpening code Rename the sharpened climatology file in preparation for POM TC phase 1 End the sharpening script by returning to the ocean_script directory 35
Procedures in kickit02_getsst.sh Set the storm ID Set starting date for POM TC as YYYYMMDDHH Define the directories Create the work directory if it does not already exist Create the sst/mask/lonlat directory, overwriting old attempts Slice up the starting date, using HH to define the model cycle Create symbolic links for the GFS spectral input files Increase ulimit s to prevent a segmentation fault Run the getsst code Rename the sst/mask/lonlat files in preparation for POM TC phase 1 End the getsst script by returning to the ocean_script directory 36
Procedures in kickit03_phase3.sh Set the storm ID Set starting date for POM TC as YYYYMMDDHH Set the ocean region (always use united with sharpening) Define the directories Create the work directory if it does not already exist Create the phase3 directory, overwriting old attempts Slice up the starting date, using HH to define the model cycle Modify the phase3 parameter file by including the starting date Create symbolic links for all input files Run the POM TC code for phase 1 Rename the phase3 restart file in preparation for POM TC phase 2 End the phase3 script by returning to the ocean_script directory 37
Procedures in kickit04_phase4.sh Set the storm ID Set starting date for POM TC as YYYYMMDDHH Set the ocean region (always use united with sharpening) Define the directories Create the work directory if it does not already exist Create the phase4 directory, overwriting old attempts Slice up the starting date, using HH to define the model cycle Use programs gfdl_date2day and gfdl_day2date to manipulate the starting date, which is necessary if backing up three days to end phase 2 at the coupled starting date Run operational script gfdl_pre_sortvit.sh to extract track information for the specified storm from the yearly NHC hurricane message file (i.e. tcvitals); then append line of zeros Modify phase4 parameter file by including starting date, track, and phase3 restart files Create symbolic links for all input files Run the POM TC code for phase 2 Rename the phase4 restart file in preparation for coupled HWRF/POM TC run End the phase4 script by returning to the ocean_script directory 38
Executables There are 5 executable files associated with POM TC ocean initialization, which can be found in directory: $ {HOME}/HWRF/src/pomtc/ocean_exec The following slides list the function, input(s), output(s), and usage of each of these 5 executable files 39
gfdl_date2day.exe Function: Convert a date integer in YYMMDDHH format to Julian day in year YY Input(s): date2day.inp Output(s): fort.61 (date2day.dat) Usage: ${HOME}/HWRF/src/pomtc/ocean_exec/gfdl_date2day.exe < date2day.inp 40
gfdl_day2date.exe Function: Convert year and Julian day input to date integer in YYMMDDHH format Input(s): day2date.inp Output(s): fort.61 (day2date.dat) Usage: ${HOME}/HWRF/src/pomtc/ocean_exec/gfdl_day2date.exe < day2date.inp 41
gfdl_getsst.exe Function: Extract SST, land sea mask, and lon/lat data from the GFS spectral file Input(s): for11 (gfs.${start_date}.t${cyc}z.sfcanl) fort.11 (gfs.${start_date}.t${cyc}z.sfcanl) fort.12 (gfs.${start_date}.t${cyc}z.sanl) Output(s): fort.23 (lonlat.gfs) fort.74 (sst.gfs.dat) fort.77 (mask.gfs.dat) getsst.out Usage: ${HOME}/HWRF/src/pomtc/ocean_exec/gfdl_getsst.exe >> getsst.out 42
gfdl_sharp_mcs_rf_l2m_rmy5.exe Function: Run the sharpening program, which takes the T/S climatology, horizontally interpolates it onto the POM TC grid for the United region domain, assimilates a land/sea mask and bathymetry, and employs the diagnostic, feature based modeling procedure Input(s): input_sharp fort.66 (gfdl_ocean_topo_and_mask.${region}) fort.8 (gfdl_gdem.${mm}.ascii) fort.90 (gfdl_gdem.${mmm2}.ascii) fort.24 (gfdl_ocean_readu.dat.${mm}) fort.82 (gfdl_ocean_spinup_gdem3.dat.${mm}) fort.50 (gfdl_ocean_spinup_gspath.${mm}) fort.55 (gfdl_ocean_spinup.bayuf) fort.65 (gfdl_ocean_spinup.fsgsuf) fort.75 (gfdl_ocean_spinup.sgyreuf) fort.91 (mmdd.dat) fort.31 (hwrf_gfdl_loop_current_rmy5.dat.${yyyymmdd}) fort.32 (hwrf_gfdl_loop_current_wc_ring_rmy5.dat.${yyyymmdd}) Output(s): fort.13 (gfdl_initdata.${region}.${mm}) sharpn.out Usage: ${HOME}/HWRF/src/pomtc/ocean_exec/gfdl_sharp_mcs_rf_l2m_rmy5.exe < input_sharp > sharpn.out 43
gfdl_ocean_united.exe Function: Run POM TC ocean phase 1 or phase 2 (also known historically as ocean phase 3 and phase 4, respectively, as in the model code) Input(s): fort.10 (parameters.inp) fort.15 (nullfile if phase 1; track if phase 2) fort.21 (sst.gfs.dat) fort.22 (mask.gfs.dat) fort.23 (lonlat.gfs) fort.13 (gfdl_initdata.${region}.${mm}) fort.66 (gfdl_ocean_topo_and_mask.${region}) fort.14 (not used if phase 1; RST.phase3.${region} if phase 2) Output(s): RST.yymmddhh (RST.phase3.${region} if phase 1; RST.final if phase 2) phase3.out if phase 1; phase4.out if phase 2 Usage: Phase 1: ${HOME}/HWRF/src/pomtc/ocean_exec/gfdl_ocean_${region}.exe > phase3.out Phase 2: ${HOME}/HWRF/src/pomtc/ocean_exec/gfdl_ocean_${region}.exe > phase4.out 44
Key References Gopalakrishnan, S., and Coauthors, 2010: Hurricane Weather and Research and Forecasting (HWRF) Model Scientific Documentation. L. Bernardet, Ed., 75 pp. Mellor, G. L., 2004: User s guide for a threedimensional, primitive equation, numerical ocean model (June 2004 version). Prog. in Atmos. And Ocean. Sci., Princeton University, 56 pp. Yablonsky, R. M., and I. Ginis, 2008: Improving the ocean initialization of coupled hurricane ocean models using feature based data assimilation. Mon. Wea. Rev., 136, 2592 2607. 45