Daily weather ignored?

33 views
Skip to first unread message

Maya Struzak

unread,
Jun 16, 2025, 8:43:12 PMJun 16
to EPIC / APEX Modeling Forum
Hello,

I'm using APEX1501 (Jan 2025 update) and I'm experiencing unexpected behavior with daily weather input in APEX. I have my .DLY file in proper format with precip, solar radiation, relative humidity, tmax, tmin, and wind, NGN set to 2345 in APEXCONT.DAT and IWTH set to the corresponding weather station. However, it looks like APEX is still using monthly data to calculate water balance components.

When I tried systematically zeroing out individual daily variables (precipitation, temperature, solar radiation, wind speed, humidity), I get identical results - no change in ET, PET, or water yield. Even setting all daily precipitation to zero produces the same total precipitation and water balance, indicating that the daily weather variables are not being read at all. This is especially interesting since the .OUT file shows "WEATHER DATA INPUT" and includes the name of the correct .DLY file.

When I use a slightly different format (more decimal places, no leading spaces), I get "wth exceeds start date, weather generated" in my .OUT file and significantly different (more realistic) results with a lower water balance closure error. 

Has anyone else noticed this? Is there a specific formatting requirement I'm missing, or does APEX's daily weather reader have limitations I should know about?

Any insights would be appreciated - I want to ensure I'm actually using daily weather data when the model claims to be reading it. I've also attached my .DLY, .HLY, and .WP1 files.

Thanks,

Maya


appalachia.dly
appalachia_base.WP1
appalachia_base.hly

Mahesh Maskey

unread,
Jun 16, 2025, 9:50:09 PMJun 16
to EPIC / APEX Modeling Forum

Dear Maya,

After revisiting the file structure, I discovered that my *.DLY lines were not in the strictly fixed-column layout that the parser expects. Adding the required two leading spaces and keeping every numeric value within its six-character field allowed APEX to read the records correctly.

I confirmed the fix by:

  • Rerun the “zero-rainfall” test (ET and water yield dropped to near zero as expected),

  • Examine the first line of the *.DHY file (precipitation now mirrors my *.DLY value), and

  • Note that PET estimates and overall water balance now differ substantially from those produced by the monthly statistics.

In short, APEX will proceed silently with generated or monthly data whenever even a single daily line is misaligned, so a clean fixed-width format is essential. I’ve summarised the exact steps I followed below in case they help someone else.

2 Checklists to ensure APEX truly reads the daily file
  1. Verify the simulation start date
    Make sure IYR IMO IDA in APEXCONT.DAT is on or after the first record in your DLY file. If the start date precedes the first valid record, APEX will quietly generate weather until it catches up.

  2. Reformat the *.DLY as a strict fixed-width

    • Two blank spaces, then three four-digit integers for year, month, and day.

    • Nine six-character reals for SRAD, Tmax, Tmin, precip, RH, wind, CO₂, REP, ORSD.

    • Use a text editor that shows column positions, or run WXPM3020.exe (it rewrites the file with correct spacing).

  3. Check the control switches

    • NGN should list the daily variables you supply; the safest entry is 12345.

    • IWTH must match the station number in WDLSTCOM.DAT.

    • Keep the corresponding *.WP1 is in place. APEX still consults monthly stats for any missing days.

  4. Delete or rename the *.WP1 temporarily to run APEX
    If the model crashes, you know it is trying to read the daily file; if it runs, it is still falling back to monthly data.

  5. Perform a “zero-rainfall” sanity check
    Set the first week of precipitation in the *.DLY to zero and rerun. Daily output in *.DHY (RFV) and *.DWS (WYLD) should immediately reflect the change.

  6. Compare PET and ET patterns
    Daily PET/ET values should now vary smoothly with your SRAD, Tmax, and Tmin inputs. Large plateaus or blocky jumps often signal that APEX has reverted to monthly means.

  7. Archive a clean copy of the validated *.DLY
    Store the working version under version control or with a dated filename so you can roll back quickly if future edits introduce a spacing error.

Following these steps should keep APEX locked onto the daily forcing data and prevent the silent fallback to generated weather that caused the original confusion.

Good luck

Mahesh

Maya Struzak

unread,
Jun 17, 2025, 7:14:35 PMJun 17
to EPIC / APEX Modeling Forum
Hi Mahesh,

Thanks for your reply! I followed your advice and ensured my .dly file is correctly formatted (see attached), however APEX still seems to be failing to read all of the daily variables. In my original post, I forgot to mention that I am using hourly precipitation, which is now being read correctly (verified via .DHY like you mentioned). I wonder if APEX is ignoring my .DLY file since I have the .HLY. Do you have any experience using sub-daily rainfall with daily weather variables (rh, srad, tmin, tmax, wspd)?

Best,
Maya
appalachia_base_2su.dly

Nandini Shahi

unread,
Jul 14, 2025, 10:08:29 AMJul 14
to EPIC / APEX Modeling Forum
Hi Maya,

I checked your file and saw only six six-character reals. As pointed out by Mahesh, APEX reads correctly if there are nine six-character reals. In my case, I have filled the last three fields with six spaces in each of them and am able to get the daily precipitation values in the .DHY output. 
I am not sure if this is causing the problem in correctly reading the file in your case but you could give it a try. Attached are screenshots to show the difference.

Best,
Nandini

Six fields.png
Nine fields.png

Maya Struzak

unread,
Jul 14, 2025, 1:22:15 PMJul 14
to EPIC / APEX Modeling Forum
Thanks Nandini!

Best,
Maya
Reply all
Reply to author
Forward
0 new messages