{"id":283876,"date":"2026-09-08T14:51:12","date_gmt":"2026-09-08T13:51:12","guid":{"rendered":"https:\/\/surfgirlmag.com\/?p=283876"},"modified":"2026-09-09T15:16:22","modified_gmt":"2026-09-09T14:16:22","slug":"how-to-read-a-surf-forecast","status":"publish","type":"post","link":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/","title":{"rendered":"How to Read a Surf Forecast"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.8&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<!--<!-- [et_pb_line_break_holder] -->=====================================================================<!-- [et_pb_line_break_holder] -->SURFGIRL \u2014 How To Read A Surf Forecast (leaner build)<!-- [et_pb_line_break_holder] -->Paste into the Divi &#8220;Code&#8221; module. Scoped under .sg-forecast.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->Changes from the previous version, both aimed at the same suspected<!-- [et_pb_line_break_holder] -->cause \u2014 the page cutting off partway through a very long block of<!-- [et_pb_line_break_holder] -->pasted code:<!-- [et_pb_line_break_holder] -->  1. Google Fonts moved from three <link> tags to one @import.<!-- [et_pb_line_break_holder] -->  2. The six decorative wave-divider SVGs replaced with a single<!-- [et_pb_line_break_holder] -->     lightweight CSS rule (.sg-divider), same look, far less markup.<!-- [et_pb_line_break_holder] -->  3. Comments trimmed throughout.<!-- [et_pb_line_break_holder] -->  4. Colours on wind cards \/ direction map \/ widget frames forced<!-- [et_pb_line_break_holder] -->     with !important and inline as a second safeguard, in case this<!-- [et_pb_line_break_holder] -->     turns out to be a specificity fight rather than a cutoff.<!-- [et_pb_line_break_holder] -->=====================================================================<!-- [et_pb_line_break_holder] -->&#8211;><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-forecast\" style=\"background:#faf6f0; color:#2b2320;\"><!-- [et_pb_line_break_holder] --><\/p>\n<style><!-- [et_pb_line_break_holder] -->  @import url('https:\/\/fonts.googleapis.com\/css2?family=EB+Garamond:ital,wght@0,400..700;1,400..700&display=swap');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-forecast {<!-- [et_pb_line_break_holder] -->    --ink: #2b2320; --ink-soft: #5e524d; --paper: #faf6f0; --paper-card: #ffffff;<!-- [et_pb_line_break_holder] -->    --line: #e6ded3; --sea: #2d7a88; --sea-light: #5ca1ac;<!-- [et_pb_line_break_holder] -->    --offshore: #3b8266; --onshore: #d96b60; --cross: #d99b43; --accent: #2d7a88;<!-- [et_pb_line_break_holder] -->    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;<!-- [et_pb_line_break_holder] -->    background-color: var(--paper) !important;<!-- [et_pb_line_break_holder] -->    color: var(--ink) !important;<!-- [et_pb_line_break_holder] -->    max-width: 900px; margin: 0 auto; line-height: 1.7; font-size: 1.05rem;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  .sg-forecast * { box-sizing: border-box; }<!-- [et_pb_line_break_holder] -->  .sg-forecast h1, .sg-forecast h2, .sg-forecast h3 { font-family: 'EB Garamond', Georgia, serif; font-weight: 600; color: var(--ink) !important; }<!-- [et_pb_line_break_holder] -->  .sg-forecast h1 { font-size: 2.4rem; line-height: 1.2; margin: 1.2rem 0 0.8rem; letter-spacing: -0.01em; }<!-- [et_pb_line_break_holder] -->  .sg-forecast .sg-standfirst { font-size: 1.2rem; color: var(--ink-soft) !important; margin: 0 0 1.8rem; line-height: 1.6; font-style: italic; }<!-- [et_pb_line_break_holder] -->  .sg-forecast h2 { font-size: 1.85rem; margin: 2.2rem 0 0.9rem; letter-spacing: -0.01em; }<!-- [et_pb_line_break_holder] -->  .sg-forecast h3 { font-size: 1.5rem; margin: 2rem 0 0.5rem; }<!-- [et_pb_line_break_holder] -->  .sg-forecast p { margin: 0 0 1.2rem; color: var(--ink) !important; }<!-- [et_pb_line_break_holder] -->  .sg-forecast p.sg-caption { margin: -0.2rem 0 1.2rem; color: var(--ink-soft) !important; font-size: 0.95rem; line-height: 1.5; }<!-- [et_pb_line_break_holder] -->  .sg-forecast li { color: var(--ink) !important; }<!-- [et_pb_line_break_holder] -->  .sg-forecast a { color: var(--accent) !important; text-decoration: underline; text-underline-offset: 3px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-divider { border: none; border-top: 2px solid var(--accent); opacity: 0.3; margin: 2.5rem 0 1.5rem; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-forecast table { width: 100%; border-collapse: collapse; margin: 1.5rem 0 2rem; font-size: 0.95rem; }<!-- [et_pb_line_break_holder] -->  .sg-forecast th, .sg-forecast td { border: 1px solid var(--line); padding: 0.75rem 0.85rem; text-align: left; vertical-align: top; color: var(--ink) !important; background: var(--paper-card) !important; }<!-- [et_pb_line_break_holder] -->  .sg-forecast th { background: var(--paper) !important; font-family: 'EB Garamond', Georgia, serif; font-size: 1.1rem; font-weight: 600; color: var(--accent) !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-faq-item { border-bottom: 1px solid var(--line); padding: 1.2rem 0; }<!-- [et_pb_line_break_holder] -->  .sg-faq-item:first-of-type { border-top: 1px solid var(--line); }<!-- [et_pb_line_break_holder] -->  .sg-faq-q { font-family: 'EB Garamond', Georgia, serif; font-size: 1.25rem; font-weight: 600; margin: 0 0 0.4rem; color: var(--accent) !important; }<!-- [et_pb_line_break_holder] -->  .sg-faq-a { margin: 0; color: var(--ink-soft) !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-widget-slot { margin: 2rem 0; }<!-- [et_pb_line_break_holder] -->  .sg-widget-label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent) !important; font-weight: 600; margin-bottom: 0.8rem; display: block; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-photo-slot { width: 100%; aspect-ratio: 16\/9; border-radius: 12px; overflow: hidden; background: linear-gradient(135deg,#f2ece4,#e3d7c8); display: flex; align-items: center; justify-content: center; margin: 2rem 0; }<!-- [et_pb_line_break_holder] -->  .sg-photo-slot.sg-photo-hero { margin: 0 0 1.8rem 0; }<!-- [et_pb_line_break_holder] -->  .sg-photo-slot img { width: 100%; height: 100%; object-fit: cover; display: block; }<!-- [et_pb_line_break_holder] -->  .sg-photo-slot span.sg-placeholder-text { color: var(--ink-soft) !important; font-size: 0.9rem; font-style: italic; }<!-- [et_pb_line_break_holder] -->  .sg-photo-slot.sg-photo-slot--square { aspect-ratio: 1\/1; max-width: 560px; margin-left: auto; margin-right: auto; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-period-chart { display: grid; gap: 1.2rem; padding: 1.6rem; background: var(--paper) !important; border: 1px solid var(--line); border-radius: 14px; }<!-- [et_pb_line_break_holder] -->  .sg-period-row { display: grid; grid-template-columns: 140px 1fr; align-items: center; gap: 1rem; }<!-- [et_pb_line_break_holder] -->  .sg-period-row .sg-period-label { font-size: 0.9rem; font-weight: 600; color: var(--ink) !important; }<!-- [et_pb_line_break_holder] -->  .sg-period-row .sg-period-sub { display: block; font-weight: 400; color: var(--ink-soft) !important; font-size: 0.78rem; margin-top: 2px; }<!-- [et_pb_line_break_holder] -->  .sg-period-wave svg { width: 100%; height: 46px; display: block; }<!-- [et_pb_line_break_holder] -->  @media (max-width: 560px) { .sg-period-row { grid-template-columns: 1fr; } }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-wind-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 1.2rem 0 0.5rem; }<!-- [et_pb_line_break_holder] -->  .sg-wind-card { border: 1px solid var(--line); border-radius: 14px; padding: 1.2rem 0.9rem; text-align: center; background: var(--paper-card) !important; }<!-- [et_pb_line_break_holder] -->  .sg-wind-card svg { width: 100%; height: 90px; }<!-- [et_pb_line_break_holder] -->  .sg-wind-title { font-family: 'EB Garamond', Georgia, serif; font-weight: 600; font-size: 1.2rem; margin-top: 0.3rem; }<!-- [et_pb_line_break_holder] -->  .sg-wind-title.offshore { color: var(--offshore) !important; }<!-- [et_pb_line_break_holder] -->  .sg-wind-title.onshore { color: var(--onshore) !important; }<!-- [et_pb_line_break_holder] -->  .sg-wind-title.cross { color: var(--cross) !important; }<!-- [et_pb_line_break_holder] -->  .sg-wind-sub { font-size: 0.82rem; color: var(--ink-soft) !important; margin-top: 0.3rem; line-height: 1.4; }<!-- [et_pb_line_break_holder] -->  @media (max-width: 560px) { .sg-wind-grid { grid-template-columns: 1fr; } }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-direction-wrap { padding: 1.4rem; border: 1px solid var(--line); border-radius: 14px; background: var(--paper) !important; margin: 1.5rem auto; max-width: 600px; }<!-- [et_pb_line_break_holder] -->  .sg-direction-wrap svg { width: 100%; height: auto; max-height: 620px; display: block; margin: 0 auto; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  .sg-widget-frame { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; border-radius: 10px; border: 1px solid var(--line); }<!-- [et_pb_line_break_holder] -->  .sg-widget-frame iframe { display: block; border: 0; transform-origin: top left; }<!-- [et_pb_line_break_holder] -->  .sg-widget-frame--fistral { --w-scale: clamp(0.3, calc((100vw - 40px)\/1000), 0.9); height: calc(560px * var(--w-scale)); }<!-- [et_pb_line_break_holder] -->  .sg-widget-frame--fistral iframe { width: 1000px !important; height: 560px !important; max-width: none !important; transform: scale(var(--w-scale)); }<!-- [et_pb_line_break_holder] -->  .sg-widget-frame--nearest { --w-scale: clamp(0.3, calc((100vw - 40px)\/900), 1); height: calc(250px * var(--w-scale)); }<!-- [et_pb_line_break_holder] -->  .sg-widget-frame--nearest iframe { width: 900px !important; height: 250px !important; max-width: none !important; transform: scale(var(--w-scale)); }<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-photo-slot sg-photo-hero\"><!-- [et_pb_line_break_holder] -->  <img decoding=\"async\" src=\"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/barbara-rezende-dHKXktPp36A-unsplash.jpeg\" alt=\"Surfer girl walking down to the ocean holding her surfboard\" onerror=\"this.style.display='none'; this.parentElement.querySelector('.sg-placeholder-text').style.display='block';\"><!-- [et_pb_line_break_holder] -->  <span class=\"sg-placeholder-text\" style=\"display:none;\">Hero Photo<\/span><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h1>How To Read A Surf Forecast<\/h1>\n<p><!-- [et_pb_line_break_holder] --><pee class=\"sg-standfirst\">Swell height always gets the spotlight, but swell period, direction, and wind are what actually decide whether your weekend surf trip is a dream or a waste of petrol.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><pee>Picture this: you check your favourite surf app on Thursday evening. Three feet, a cheerful green bar, sunny skies\u2014looks ideal. You text the girls, pack the van with board bags and warm flasks, hit the road early, and arrive to find a messy, lumpy ocean with endless whitewater stacked to the horizon. What went wrong? The app didn&#8217;t lie, but the real secret to a good session was hiding in the numbers you scrolled right past.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><pee>Most of us start out reading a forecast the simplest way: glance at the wave height, skip the rest, and hope for the best. It works just often enough to feel reliable, until a string of blown-out sessions ruins a weekend road trip. Here is your friendly, simple guide to decoding the rest of the forecast\u2014so you can stop guessing and start catching the best waves of the day.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-widget-slot\"><!-- [et_pb_line_break_holder] -->  <span class=\"sg-widget-label\">Live conditions \u2014 Fistral Beach<\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-widget-frame sg-widget-frame--fistral\"><!-- [et_pb_line_break_holder] -->    <iframe src=\"https:\/\/4shor.app\/widget\/fistral-beach-576?theme=light&#038;layout=full&#038;sport=surfing\" frameborder=\"0\" scrolling=\"no\"><\/iframe><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<hr class=\"sg-divider\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>What a surf forecast actually is<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>First things first: a forecast isn&#8217;t a direct live measurement\u2014it&#8217;s a digital weather model. It&#8217;s essentially a supercomputer&#8217;s best prediction of what the ocean will look like a few days down the line.<\/pee><!-- [et_pb_line_break_holder] --><pee>Global weather computers map out wind and atmospheric pressure across the globe. Specialized wave models take that wind data and calculate how much power it transfers into the ocean surface, tracking those energy waves as they travel across thousands of miles. No matter which surf app you open, that exact process sits under the hood. The small differences between apps usually come down to which weather model they prefer and how often they update.<\/pee><!-- [et_pb_line_break_holder] --><pee>Real-time observations are different. Wave buoys moored off our coasts measure the ocean in real time. If a buoy reading disagrees with your forecast app, always trust the buoy!<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Swell height: why looks can be deceiving<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>The height number on your chart is almost always &#8216;Significant Wave Height&#8217; (written as <em>Hs<\/em>). This is the average height of the highest <em>one-third<\/em> of the waves passing a buoy. That detail is key because it means there&#8217;s a wide variety of wave sizes coming through. If Hs says 3ft, plenty of waves will be smaller, but set waves can easily be double that size.<\/pee><!-- [et_pb_line_break_holder] --><pee>The second trick? That number measures swell in deep, open water offshore. As waves move toward the beach into shallower water, they slow down at the bottom, steepen up, and grow in height before breaking. How much taller they get depends on the sea bed and the swell period. A long, powerful swell will stand up tall and impressive over a sandbank, whereas a short, choppy swell will barely change.<\/pee><!-- [et_pb_line_break_holder] --><pee>Think of swell height as a helpful starting point, but never the whole story!<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-photo-slot\"><!-- [et_pb_line_break_holder] -->  <img decoding=\"async\" src=\"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/helena-cook-0LzEUu0yTx4-unsplash.jpg\" alt=\"Surfer catching a clean, peeling wave\" onerror=\"this.style.display='none'; this.parentElement.querySelector('.sg-placeholder-text').style.display='block';\"><!-- [et_pb_line_break_holder] -->  <span class=\"sg-placeholder-text\" style=\"display:none;\">Photo 2<\/span><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<hr class=\"sg-divider\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Swell period: the magic number<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Swell period is the gap (in seconds) between one wave crest and the next as they pass a single point. If you only start paying attention to one new number today, make it this one!<\/pee><!-- [et_pb_line_break_holder] --><pee>Why is it so important? Because longer gaps between waves mean vastly more energy. Doubling the swell period roughly doubles the wave&#8217;s power delivered to the beach. That is why a 3ft swell at 16 seconds breaks much cleaner, faster, and bigger than a 3ft swell at 8 seconds. Same height column, totally different surf session.<\/pee><!-- [et_pb_line_break_holder] --><pee>Period also tells you where your waves were born:<\/pee><!-- [et_pb_line_break_holder] --><\/p>\n<ul><!-- [et_pb_line_break_holder] -->  <\/p>\n<li><strong>Long Period (14s+):<\/strong> Known as <em>groundswell<\/em>. Created by intense storms thousands of miles away. They arrive clean, organized, and powerful.<\/li>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<li><strong>Short Period (6-8s):<\/strong> Known as <em>windswell<\/em>. Created by local winds blowing close to coastlines. They tend to be weaker, bumpier, and closer together.<\/li>\n<p><!-- [et_pb_line_break_holder] --><\/ul>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h3>Swell period, side by side<\/h3>\n<p><!-- [et_pb_line_break_holder] --><pee class=\"sg-caption\">Same wave height, totally different shape. Longer seconds between waves mean more power and cleaner lines.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-period-chart\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-period-row\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-period-label\">Short period<span class=\"sg-period-sub\">6\u20138s \u00b7 windswell<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-period-wave\"><svg viewBox=\"0 0 600 46\" preserveAspectRatio=\"none\"><path d=\"M0,23 Q15,4 30,23 T60,23 T90,23 T120,23 T150,23 T180,23 T210,23 T240,23 T270,23 T300,23 T330,23 T360,23 T390,23 T420,23 T450,23 T480,23 T510,23 T540,23 T570,23 T600,23\" fill=\"none\" stroke=\"var(--cross)\" stroke-width=\"3\" stroke-linecap=\"round\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-period-row\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-period-label\">Mid period<span class=\"sg-period-sub\">10\u201312s \u00b7 mixed swell<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-period-wave\"><svg viewBox=\"0 0 600 46\" preserveAspectRatio=\"none\"><path d=\"M0,23 Q25,2 50,23 T100,23 T150,23 T200,23 T250,23 T300,23 T350,23 T400,23 T450,23 T500,23 T550,23 T600,23\" fill=\"none\" stroke=\"var(--sea-light)\" stroke-width=\"3.5\" stroke-linecap=\"round\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-period-row\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-period-label\">Long period<span class=\"sg-period-sub\">15s+ \u00b7 groundswell<\/span><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-period-wave\"><svg viewBox=\"0 0 600 46\" preserveAspectRatio=\"none\"><path d=\"M0,23 Q50,-4 100,23 T200,23 T300,23 T400,23 T500,23 T600,23\" fill=\"none\" stroke=\"var(--sea)\" stroke-width=\"4.5\" stroke-linecap=\"round\"\/><\/svg><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><pee style=\"margin-top:1.2rem;\"><strong>Golden Rule:<\/strong> If the period is 13 seconds or higher, expect the waves to feel bigger than the forecast height. If it&#8217;s 8 seconds or less, expect them to feel smaller and softer.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<hr class=\"sg-divider\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Swell direction: is the energy hitting your beach?<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Swell direction is shown in compass degrees (e.g., 270\u00b0) or cardinal points (like W or NW). It tells you where the swell is coming <em>from<\/em>.<\/pee><!-- [et_pb_line_break_holder] --><pee>To know if a swell will work, compare its direction to the angle of your beach. For example, a beach facing West will soak up West and Northwest swells beautifully. But if a South swell rolls in, big headlands might block the wave energy completely, leaving your beach flat while a spot around the corner is pumping.<\/pee><!-- [et_pb_line_break_holder] --><pee>Swell can also bend around points and headlands (a process called <em>refraction<\/em>), softening as it wraps into protected coves\u2014often making sheltered spots the best choice on big, stormy days!<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-direction-wrap\"><!-- [et_pb_line_break_holder] -->  <svg viewBox=\"0 0 600 620\" preserveAspectRatio=\"xMidYMid meet\"><!-- [et_pb_line_break_holder] -->    <defs><!-- [et_pb_line_break_holder] -->      <marker id=\"sg-arrow-blocked\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--onshore)\"\/><\/marker><!-- [et_pb_line_break_holder] -->      <marker id=\"sg-arrow-okay\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--cross)\"\/><\/marker><!-- [et_pb_line_break_holder] -->      <marker id=\"sg-arrow-good\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--offshore)\"\/><\/marker><!-- [et_pb_line_break_holder] -->      <marker id=\"sg-arrow-north\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--ink)\"\/><\/marker><!-- [et_pb_line_break_holder] -->    <\/defs><!-- [et_pb_line_break_holder] -->    <rect x=\"0\" y=\"0\" width=\"600\" height=\"620\" fill=\"#a0c4cc\"\/><!-- [et_pb_line_break_holder] -->    <path d=\"M600,0 L600,620 L380,620 C340,580 320,520 330,470 C340,420 322,388 302,358 C292,343 296,332 306,326 C332,308 352,278 346,236 C340,194 360,152 400,120 C440,88 462,46 600,0 Z\" fill=\"#faf6f0\" stroke=\"#e6ded3\" stroke-width=\"2\"\/><!-- [et_pb_line_break_holder] -->    <line x1=\"50\" y1=\"82\" x2=\"50\" y2=\"42\" stroke=\"var(--ink)\" stroke-width=\"2.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-north)\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"50\" y=\"98\" font-size=\"11\" font-weight=\"600\" fill=\"var(--ink)\" text-anchor=\"middle\">North<\/text><!-- [et_pb_line_break_holder] -->    <line x1=\"300\" y1=\"130\" x2=\"300\" y2=\"228\" stroke=\"var(--onshore)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-blocked)\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"300\" y=\"98\" font-size=\"15\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">North Swell<\/text><!-- [et_pb_line_break_holder] -->    <text x=\"300\" y=\"118\" font-size=\"12\" fill=\"#ffffff\" text-anchor=\"middle\">(Blocked)<\/text><!-- [et_pb_line_break_holder] -->    <line x1=\"159\" y1=\"189\" x2=\"228\" y2=\"258\" stroke=\"var(--offshore)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-good)\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"40\" y=\"150\" font-size=\"15\" font-weight=\"700\" fill=\"#ffffff\">Northwest Swell<\/text><!-- [et_pb_line_break_holder] -->    <text x=\"40\" y=\"170\" font-size=\"12\" fill=\"#ffffff\">(Ideal)<\/text><!-- [et_pb_line_break_holder] -->    <line x1=\"100\" y1=\"330\" x2=\"198\" y2=\"330\" stroke=\"var(--offshore)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-good)\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"85\" y=\"322\" font-size=\"15\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"end\">West Swell<\/text><!-- [et_pb_line_break_holder] -->    <text x=\"85\" y=\"342\" font-size=\"12\" fill=\"#ffffff\" text-anchor=\"end\">(Good)<\/text><!-- [et_pb_line_break_holder] -->    <line x1=\"159\" y1=\"471\" x2=\"228\" y2=\"402\" stroke=\"var(--cross)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-okay)\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"30\" y=\"502\" font-size=\"15\" font-weight=\"700\" fill=\"#ffffff\">Southwest Swell<\/text><!-- [et_pb_line_break_holder] -->    <text x=\"30\" y=\"522\" font-size=\"12\" fill=\"#ffffff\">(Partially Blocked)<\/text><!-- [et_pb_line_break_holder] -->    <line x1=\"300\" y1=\"530\" x2=\"300\" y2=\"432\" stroke=\"var(--onshore)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-blocked)\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"300\" y=\"563\" font-size=\"15\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">South Swell<\/text><!-- [et_pb_line_break_holder] -->    <text x=\"300\" y=\"583\" font-size=\"12\" fill=\"#ffffff\" text-anchor=\"middle\">(Blocked)<\/text><!-- [et_pb_line_break_holder] -->    <circle cx=\"300\" cy=\"330\" r=\"15\" fill=\"#ffffff\"\/><!-- [et_pb_line_break_holder] -->    <circle cx=\"300\" cy=\"330\" r=\"11\" fill=\"var(--accent)\"\/><!-- [et_pb_line_break_holder] -->    <circle cx=\"300\" cy=\"330\" r=\"4\" fill=\"#ffffff\"\/><!-- [et_pb_line_break_holder] -->    <text x=\"318\" y=\"355\" font-size=\"13\" font-weight=\"600\" fill=\"var(--ink)\">Your beach<\/text><!-- [et_pb_line_break_holder] -->  <\/svg><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<hr class=\"sg-divider\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Wind: clean waves vs. bumpy mush<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>You can have a perfect swell heading straight for your favourite bay, but wind is what decides whether the surface looks like smooth glass or a choppy mess.<\/pee><!-- [et_pb_line_break_holder] --><pee><strong>Offshore Wind (Land \u2192 Sea):<\/strong> The gold standard! Offshore wind blows gently from the shore out toward the ocean. It holds up the wave face, grooms the water smooth, and gives you clean, open walls to ride. It&#8217;s why early morning dawn patrols are so magical!<\/pee><!-- [et_pb_line_break_holder] --><pee><strong>Onshore Wind (Sea \u2192 Land):<\/strong> Onshore wind blows from the sea onto the beach. It pushes waves over before they can form nicely, crumbling the tops and creating a bumpy surface. Strong onshore winds usually mean a good day for a cozy coffee chat instead.<\/pee><!-- [et_pb_line_break_holder] --><pee><strong>Cross-shore Wind (Along the coast):<\/strong> Blows sideways across the lineup. If it&#8217;s light, it&#8217;s totally manageable. If it gets strong, it creates drift and tricky chop.<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-wind-grid\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-wind-card\"><!-- [et_pb_line_break_holder] -->    <svg viewBox=\"0 0 120 90\"><!-- [et_pb_line_break_holder] -->      <defs><marker id=\"sg-arrow-offshore\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--offshore)\"\/><\/marker><\/defs><!-- [et_pb_line_break_holder] -->      <line x1=\"10\" y1=\"70\" x2=\"110\" y2=\"70\" stroke=\"var(--line)\" stroke-width=\"2\"\/><!-- [et_pb_line_break_holder] -->      <line x1=\"18\" y1=\"66\" x2=\"97\" y2=\"28\" stroke=\"var(--offshore)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-offshore)\"\/><!-- [et_pb_line_break_holder] -->      <text x=\"18\" y=\"84\" font-size=\"9\" fill=\"var(--ink-soft)\">land<\/text><!-- [et_pb_line_break_holder] -->      <text x=\"90\" y=\"84\" font-size=\"9\" fill=\"var(--ink-soft)\">sea<\/text><!-- [et_pb_line_break_holder] -->    <\/svg><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-wind-title offshore\">Offshore<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-wind-sub\">Land to sea. Clean, smooth faces and peelers.<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-wind-card\"><!-- [et_pb_line_break_holder] -->    <svg viewBox=\"0 0 120 90\"><!-- [et_pb_line_break_holder] -->      <defs><marker id=\"sg-arrow-onshore\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--onshore)\"\/><\/marker><\/defs><!-- [et_pb_line_break_holder] -->      <line x1=\"10\" y1=\"70\" x2=\"110\" y2=\"70\" stroke=\"var(--line)\" stroke-width=\"2\"\/><!-- [et_pb_line_break_holder] -->      <line x1=\"102\" y1=\"28\" x2=\"23\" y2=\"66\" stroke=\"var(--onshore)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-onshore)\"\/><!-- [et_pb_line_break_holder] -->      <text x=\"18\" y=\"84\" font-size=\"9\" fill=\"var(--ink-soft)\">land<\/text><!-- [et_pb_line_break_holder] -->      <text x=\"90\" y=\"84\" font-size=\"9\" fill=\"var(--ink-soft)\">sea<\/text><!-- [et_pb_line_break_holder] -->    <\/svg><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-wind-title onshore\">Onshore<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-wind-sub\">Sea to land. Bumpy, choppy, and crumbling.<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-wind-card\"><!-- [et_pb_line_break_holder] -->    <svg viewBox=\"0 0 120 90\"><!-- [et_pb_line_break_holder] -->      <defs><marker id=\"sg-arrow-cross\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"var(--cross)\"\/><\/marker><\/defs><!-- [et_pb_line_break_holder] -->      <line x1=\"10\" y1=\"70\" x2=\"110\" y2=\"70\" stroke=\"var(--line)\" stroke-width=\"2\"\/><!-- [et_pb_line_break_holder] -->      <line x1=\"60\" y1=\"16\" x2=\"60\" y2=\"64\" stroke=\"var(--cross)\" stroke-width=\"3.5\" stroke-linecap=\"round\" marker-end=\"url(#sg-arrow-cross)\"\/><!-- [et_pb_line_break_holder] -->      <text x=\"18\" y=\"84\" font-size=\"9\" fill=\"var(--ink-soft)\">land<\/text><!-- [et_pb_line_break_holder] -->      <text x=\"90\" y=\"84\" font-size=\"9\" fill=\"var(--ink-soft)\">sea<\/text><!-- [et_pb_line_break_holder] -->    <\/svg><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-wind-title cross\">Cross-shore<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"sg-wind-sub\">Along shore. Fun if light, tricky if strong.<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><pee style=\"margin-top:1.2rem;\"><strong>Wind Speeds at a Glance:<\/strong> Under 8 knots is light enough that direction barely matters. 8\u201315 knots is where wind direction makes or breaks the session. Above 15 knots onshore? It&#8217;s probably time for a beach walk instead!<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<hr class=\"sg-divider\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Tide: finding the sweet spot<\/h2>\n<p><!-- [et_pb_line_break_holder] --><pee>Tide controls water depth over sandbars and reefs. Because the seabed gives a wave its shape, the state of the tide makes all the difference.<\/pee><!-- [et_pb_line_break_holder] --><pee>Some beach breaks only work on a rising mid-tide. Other spots might close out completely at high tide, then turn into fun, peeling peaks two hours later as the water drops. Keep a little note on your phone of what your local beach looks like at different tides\u2014it&#8217;s the fastest way to learn your local spot&#8217;s sweet spot!<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Quick Forecast Cheat Sheet<\/h2>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<table><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<th>Term<\/th>\n<th>What it means<\/th>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Hs \/ Wave Height<\/td>\n<td>Average size of the top third of waves. Expect set waves to be larger!<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Period (s)<\/td>\n<td>Seconds between waves. 12s+ means clean power; under 8s means short, soft chop.<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Groundswell<\/td>\n<td>Clean, organized swell generated by distant ocean storms.<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Windswell<\/td>\n<td>Local, short-period choppy swell created by nearby winds.<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Offshore Wind<\/td>\n<td>Wind blowing land-to-sea. Holds wave faces up and keeps them smooth.<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Sets &#038; Lulls<\/td>\n<td>Waves arrive in groups (sets) followed by quieter rest periods (lulls).<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<tr>\n<td>Glassy<\/td>\n<td>Zero wind conditions, leaving the ocean surface smooth as glass.<\/td>\n<\/tr>\n<p><!-- [et_pb_line_break_holder] --><\/table>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<h2>Frequently Asked Questions<\/h2>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-faq-item\"><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-q\">What is a good swell period for beginner or intermediate surfers?<\/pee><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-a\">A period between 9 and 12 seconds is fantastic! It provides well-formed, manageable waves without the heavy, intense push of a massive 16-second groundswell.<\/pee><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-faq-item\"><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-q\">Is 2ft at 15 seconds better than 4ft at 7 seconds?<\/pee><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-a\">Almost always, yes! The 2ft long-period swell will hold its shape, feel surprisingly punchy when it hits shallow sand, and peel smoothly. The 4ft short-period windswell will likely feel soft, weak, and disorganized.<\/pee><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-faq-item\"><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-q\">Why does the forecast say 3ft but set waves look much bigger?<\/pee><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-a\">Forecast height (Hs) averages the top third of waves, meaning bigger sets naturally roll through above that average. Long-period swells also gain extra height as they push up over shallow sandbars.<\/pee><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-faq-item\"><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-q\">How far ahead should I check the forecast for a weekend trip?<\/pee><!-- [et_pb_line_break_holder] -->  <pee class=\"sg-faq-a\">Keep an eye out 3\u20134 days ahead for general swell trends, but re-check the night before! Wind predictions can change quickly within 24 hours.<\/pee><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><pee style=\"margin-top:2rem;\">At the end of the day, no app replaces checking the beach with your own eyes. A forecast helps you pick the right coastline and hour; your intuition decides when to pull on your wetsuit. Trust the process, enjoy the learning curve, and we&#8217;ll see you in the lineup!<\/pee><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sg-widget-slot\"><!-- [et_pb_line_break_holder] -->  <span class=\"sg-widget-label\">Live conditions \u2014 Beach near you<\/span><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"sg-widget-frame sg-widget-frame--nearest\"><!-- [et_pb_line_break_holder] -->    <iframe src=\"https:\/\/4shor.app\/widget\/nearest?theme=light&#038;layout=strip&#038;sport=surfing&#038;fallback=fistral-beach-576\" frameborder=\"0\" scrolling=\"no\"><\/iframe><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(function(){<!-- [et_pb_line_break_holder] -->  function preciseScale(){<!-- [et_pb_line_break_holder] -->    document.querySelectorAll('.sg-forecast .sg-widget-frame').forEach(function(frame){<!-- [et_pb_line_break_holder] -->      var iframe = frame.querySelector('iframe');<!-- [et_pb_line_break_holder] -->      if(!iframe) return;<!-- [et_pb_line_break_holder] -->      var native = frame.classList.contains('sg-widget-frame--fistral') ? 1000 : 900;<!-- [et_pb_line_break_holder] -->      var w = frame.getBoundingClientRect().width;<!-- [et_pb_line_break_holder] -->      if(!w) return;<!-- [et_pb_line_break_holder] -->      frame.style.setProperty('--w-scale', Math.min(1, w\/native));<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  var t;<!-- [et_pb_line_break_holder] -->  function run(){ clearTimeout(t); t = setTimeout(preciseScale, 100); }<!-- [et_pb_line_break_holder] -->  if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', run); } else { run(); }<!-- [et_pb_line_break_holder] -->  window.addEventListener('resize', run);<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Swell height lies without period and wind. Here&#8217;s what the other forecast numbers actually do.<\/p>\n","protected":false},"author":10000599,"featured_media":283882,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[889,1,7],"tags":[],"class_list":["post-283876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guides","category-news","category-surfing","et-has-post-format-content","et_post_format-et-post-format-standard"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Read a Surf Forecast - SurfGirl Magazine<\/title>\n<meta name=\"description\" content=\"A plain English guide to reading a surf forecast, covering swell period, direction, wind and tide, so you stop driving to beaches that were never going to work.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Read a Surf Forecast - SurfGirl Magazine\" \/>\n<meta property=\"og:description\" content=\"A plain English guide to reading a surf forecast, covering swell period, direction, wind and tide, so you stop driving to beaches that were never going to work.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/\" \/>\n<meta property=\"og:site_name\" content=\"SurfGirl Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/surfgirlmag\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-08T13:51:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-09T14:16:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"fyn caudery\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@surfgirlmag\" \/>\n<meta name=\"twitter:site\" content=\"@surfgirlmag\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"fyn caudery\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/\"},\"author\":{\"name\":\"fyn caudery\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#\\\/schema\\\/person\\\/06905f8a0d07c93ac2f20f795dfa1425\"},\"headline\":\"How to Read a Surf Forecast\",\"datePublished\":\"2026-09-08T13:51:12+00:00\",\"dateModified\":\"2026-09-09T14:16:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/\"},\"wordCount\":1631,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/surfgirlmag.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg\",\"articleSection\":[\"Guides\",\"News\",\"Surfing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/\",\"url\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/\",\"name\":\"How to Read a Surf Forecast - SurfGirl Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/surfgirlmag.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg\",\"datePublished\":\"2026-09-08T13:51:12+00:00\",\"dateModified\":\"2026-09-09T14:16:22+00:00\",\"description\":\"A plain English guide to reading a surf forecast, covering swell period, direction, wind and tide, so you stop driving to beaches that were never going to work.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#primaryimage\",\"url\":\"https:\\\/\\\/surfgirlmag.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg\",\"contentUrl\":\"https:\\\/\\\/surfgirlmag.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/how-to-read-a-surf-forecast\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/surfgirlmag.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Read a Surf Forecast\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#website\",\"url\":\"https:\\\/\\\/surfgirlmag.com\\\/\",\"name\":\"SurfGirl Magazine\",\"description\":\"SurfGirl Magazine - Womens Surfing, Surf Fashion, Surf News, Surf Videos, Surf Tips, Surf Fitness\",\"publisher\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/surfgirlmag.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#organization\",\"name\":\"SurfGirl Magazine\",\"url\":\"https:\\\/\\\/surfgirlmag.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/surfgirlmag.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/new-surfgirl-logo-2022-2.png\",\"contentUrl\":\"https:\\\/\\\/surfgirlmag.com\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/new-surfgirl-logo-2022-2.png\",\"width\":842,\"height\":109,\"caption\":\"SurfGirl Magazine\"},\"image\":{\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/surfgirlmag\",\"https:\\\/\\\/x.com\\\/surfgirlmag\",\"https:\\\/\\\/www.instagram.com\\\/surfgirlmag\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@surfgirlmag\",\"https:\\\/\\\/www.pinterest.com\\\/surfgirlmag\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCYjFTLZd5MkyFrt6uzs1lpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/surfgirlmag.com\\\/#\\\/schema\\\/person\\\/06905f8a0d07c93ac2f20f795dfa1425\",\"name\":\"fyn caudery\",\"url\":\"https:\\\/\\\/surfgirlmag.com\\\/author\\\/fyn\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Read a Surf Forecast - SurfGirl Magazine","description":"A plain English guide to reading a surf forecast, covering swell period, direction, wind and tide, so you stop driving to beaches that were never going to work.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/","og_locale":"en_US","og_type":"article","og_title":"How to Read a Surf Forecast - SurfGirl Magazine","og_description":"A plain English guide to reading a surf forecast, covering swell period, direction, wind and tide, so you stop driving to beaches that were never going to work.","og_url":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/","og_site_name":"SurfGirl Magazine","article_publisher":"https:\/\/www.facebook.com\/surfgirlmag","article_published_time":"2026-09-08T13:51:12+00:00","article_modified_time":"2026-09-09T14:16:22+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg","type":"image\/jpeg"}],"author":"fyn caudery","twitter_card":"summary_large_image","twitter_creator":"@surfgirlmag","twitter_site":"@surfgirlmag","twitter_misc":{"Written by":"fyn caudery","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#article","isPartOf":{"@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/"},"author":{"name":"fyn caudery","@id":"https:\/\/surfgirlmag.com\/#\/schema\/person\/06905f8a0d07c93ac2f20f795dfa1425"},"headline":"How to Read a Surf Forecast","datePublished":"2026-09-08T13:51:12+00:00","dateModified":"2026-09-09T14:16:22+00:00","mainEntityOfPage":{"@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/"},"wordCount":1631,"commentCount":0,"publisher":{"@id":"https:\/\/surfgirlmag.com\/#organization"},"image":{"@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#primaryimage"},"thumbnailUrl":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg","articleSection":["Guides","News","Surfing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/","url":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/","name":"How to Read a Surf Forecast - SurfGirl Magazine","isPartOf":{"@id":"https:\/\/surfgirlmag.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#primaryimage"},"image":{"@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#primaryimage"},"thumbnailUrl":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg","datePublished":"2026-09-08T13:51:12+00:00","dateModified":"2026-09-09T14:16:22+00:00","description":"A plain English guide to reading a surf forecast, covering swell period, direction, wind and tide, so you stop driving to beaches that were never going to work.","breadcrumb":{"@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#primaryimage","url":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg","contentUrl":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2026\/09\/Gemini_Generated_Image_58jctb58jctb58jc-e1788963371488.jpg","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/surfgirlmag.com\/how-to-read-a-surf-forecast\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/surfgirlmag.com\/"},{"@type":"ListItem","position":2,"name":"How to Read a Surf Forecast"}]},{"@type":"WebSite","@id":"https:\/\/surfgirlmag.com\/#website","url":"https:\/\/surfgirlmag.com\/","name":"SurfGirl Magazine","description":"SurfGirl Magazine - Womens Surfing, Surf Fashion, Surf News, Surf Videos, Surf Tips, Surf Fitness","publisher":{"@id":"https:\/\/surfgirlmag.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/surfgirlmag.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/surfgirlmag.com\/#organization","name":"SurfGirl Magazine","url":"https:\/\/surfgirlmag.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/surfgirlmag.com\/#\/schema\/logo\/image\/","url":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2022\/04\/new-surfgirl-logo-2022-2.png","contentUrl":"https:\/\/surfgirlmag.com\/wp-content\/uploads\/2022\/04\/new-surfgirl-logo-2022-2.png","width":842,"height":109,"caption":"SurfGirl Magazine"},"image":{"@id":"https:\/\/surfgirlmag.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/surfgirlmag","https:\/\/x.com\/surfgirlmag","https:\/\/www.instagram.com\/surfgirlmag\/","https:\/\/www.tiktok.com\/@surfgirlmag","https:\/\/www.pinterest.com\/surfgirlmag\/","https:\/\/www.youtube.com\/channel\/UCYjFTLZd5MkyFrt6uzs1lpg"]},{"@type":"Person","@id":"https:\/\/surfgirlmag.com\/#\/schema\/person\/06905f8a0d07c93ac2f20f795dfa1425","name":"fyn caudery","url":"https:\/\/surfgirlmag.com\/author\/fyn\/"}]}},"_links":{"self":[{"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/posts\/283876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/users\/10000599"}],"replies":[{"embeddable":true,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/comments?post=283876"}],"version-history":[{"count":15,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/posts\/283876\/revisions"}],"predecessor-version":[{"id":283923,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/posts\/283876\/revisions\/283923"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/media\/283882"}],"wp:attachment":[{"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/media?parent=283876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/categories?post=283876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/surfgirlmag.com\/wp-json\/wp\/v2\/tags?post=283876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}