Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

ERROR: (shr_string_parseCFtunit) ERROR on char num read

jack

jack
Member
Hi,
I have successfully run CLM using GSWP3 datasets, now I want to use my own atmospheric forcing with 3 hr and 0.1° resolution to force CLM model. Unfortunately, the solar in my raw atmospheric forcing is 3-hourly mean (from −1.5 hr to +1.5 hr), I have the first time sample stamped at time zero, so I use an offset of -5400 in user_datm.streams.txt.CLMGSWP3v1.Solar to accord with that "Solar should be time-stamped at the beginning of the time period". As a result, the solar resulting from the coszen interpolation looked symmetrical and reasonable. However, when I compared the CLM output FSDS (0.5 hr time step) with in-situ FSDS, I found the output solar peak was still 0.5-1 (1 hr for most sites) hours later than in-situ observation. So I set the offset of solar to -10800, in this configuration, the resulting diurnal FSDS cycle is more in line with in-situ observation. However, there are double solar peaks (Bimodal).
Finally,
I remake the solar forcing, i.e., using the second (e.g. 03:00 UTC) sample in the raw solar forcing as the first (e.g. 00:00 UTC) sample to force CLM. In other word, the time line of saw solar forcing was put off with 3 hours. Then the solar offset was set to 0. When "./case.submit", error occurs in cesm.log:
ERROR: (shr_string_parseCFtunit) ERROR on char num read

Do you know what's wrong? And I‘d like to ask what's the correct offset in solar?
Any suggestions will be highly appreciated.
 

jack

jack
Member
I also attached the picture of "CLM model output FSDS" under the two different configurations. Thanks so much
 

Attachments

  • clm output FSDS.png
    clm output FSDS.png
    140.7 KB · Views: 8

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I'm guessing that it is having trouble parsing your "units" attribute on the time variable in one of your forcing files.
So maybe there is a syntax error with that.
It should look something like (e.g., for a GSWP3 solar file):

time:units = "days since 1957-02-01 00:00:00"

The subroutine where it is failing has this description:

! !IROUTINE: shr_string_parseCFtunit -- Parse CF time unit
!
! !DESCRIPTION:
! Parse CF time unit into a delta string name and a base time in yyyymmdd
! and seconds (nearest integer actually).
! \newline
! call shr\_string\_parseCFtunit(string,substring)
! \newline
! Input string is like "days since 0001-06-15 15:20:45.5 -6:00"
! - recognizes "days", "hours", "minutes", "seconds"
! - must have at least yyyy-mm-dd, hh:mm:ss.s is optional
! - expects a "since" in the string
! - ignores time zone part
 

jack

jack
Member
Thanks a lot, this problem has been fixed out. However, the resulting solar still shows asymmetry,same as the configuration of -10800 solar (see the plot above). Actually, I‘m confused with the offset of solar. How do I understand "Solar should be time-stamped at the beginning of the time period"? In my case, solar in the raw atmospheric forcing is 3-hourly mean (from −1.5 hr to +1.5 hr), and I have the first time sample stamped at time zero, so what's the offset of solar ?
 

majun

Member
I'm guessing that it is having trouble parsing your "units" attribute on the time variable in one of your forcing files.
So maybe there is a syntax error with that.
It should look something like (e.g., for a GSWP3 solar file):

time:units = "days since 1957-02-01 00:00:00"

The subroutine where it is failing has this description:

! !IROUTINE: shr_string_parseCFtunit -- Parse CF time unit
!
! !DESCRIPTION:
! Parse CF time unit into a delta string name and a base time in yyyymmdd
! and seconds (nearest integer actually).
! \newline
! call shr\_string\_parseCFtunit(string,substring)
! \newline
! Input string is like "days since 0001-06-15 15:20:45.5 -6:00"
! - recognizes "days", "hours", "minutes", "seconds"
! - must have at least yyyy-mm-dd, hh:mm:ss.s is optional
! - expects a "since" in the string
! - ignores time zone part
Do you have any suggestions on FSDS offset ?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
The offset is just a way to "move" the data forward or backward, instead of having to actually change the solar input file itself. The correct offset is whatever gives you the best results in your forcing, you'll just have to play with it.
 

qian yang

qian yang
Member
dear oleson

I want to use my own atmospheric forcing with half an hour and 0.1° resolution to force CLM model., such as January data, I set the time unit is "days since 2019-01-01 00:00:00"
The timestamp is from 0 to (1/48)*31. The same error occurs when running the model. Am I setting the timestamp incorrectly? How should I set this up?
thank you for your help.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I'll let @jack answer this since a similar error was encountered and fixed by @jack .
In the future however, please make a new post and include the information requested here:

 
Top