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

Questions about atmosphere forcing for single-point simulation?

mengqi

mj
Member
Hello, I am using a recent version of the CLM5 and I try to run my case with my own atmosphere forcing. Considering that my forcing data is high resolution (e.g., 1/2 hourly), I selected "CLM1PT" for DATM_MODE. Here is something in the user_nl_datm_streams:

CLM_USRDAT.1x1_Bo1:datafiles= $CLM_USRDAT_DIR/1x1_Bo1/2000-01.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-02.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-03.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-04.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-05.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-06.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-07.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-08.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-09.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-10.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-11.nc,$CLM_USRDAT_DIR/1x1_Bo1/2000-12.nc

CLM_USRDAT.1x1_Bo1:year_first=2000
CLM_USRDAT.1x1_Bo1:year_last=2001
CLM_USRDAT.1x1_Bo1:year_align=2000
CLM_USRDAT.1x1_Bo1:dtlimit=1.0
CLM_USRDAT.1x1_Bo1:offset=0
CLM_USRDAT.1x1_Bo1:tintalgo=nearest
CLM_USRDAT.1x1_Bo1:mapalgo=nn
CLM_USRDAT.1x1_Bo1:taxmode=cycle


However, the simulation failed due to an error (please see the cesm.log and atm.log below). I have no idea what they mean. Any chance if you could give me some guidance? Thanks!

As shown in the CESM.log:
(shr_strdata_advance) ERROR: for stream 1
(shr_strdata_advance) ERROR: dtime, dtmax, dtmin, dtlimit =
1.04166666666667 1.04166666666667 4.166666666666663E-002
1.50000000000000
(shr_strdata_advance) ERROR: ymdLB, todLB, ymdUB, todUB = 20000228
82800 20000301 0
ERROR: (shr_strdata_advance) ERROR dt limit for stream, see atm.log output


As shown in the ATM.log:
(shr_strdata_readstrm) close : /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-02.nc
(shr_strdata_readstrm) opening : /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-03.nc
(shr_strdata_readstrm) reading file ub: /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-03.nc 1
(shr_strdata_advance) ERROR: for stream 1
(shr_strdata_advance) ERROR: dtime, dtmax, dtmin, dtlimit =
1.04166666666667 1.04166666666667 4.166666666666663E-002
1.50000000000000
(shr_strdata_advance) ERROR: ymdLB, todLB, ymdUB, todUB = 20000228
82800 20000301 0
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Can you attach the output from the following:

ncdump -v time /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-02.nc
ncdump -v time /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-03.nc

and also attach your datm.streams.xml.
I suspect there is something wrong with your time variables in your forcing files, but I'd need to look at the output requested, thanks.
 

mengqi

mj
Member
Thank you, Oleson! Here are the time variables for 2000-02 below. Not sure if they are right. If not, could you please give me a temple? In addition, I also attached the datm.streams.xml. in the CaseDocs (if there was any error, please let me know as well). Thank you!!

array(['2000-02-01T00:00:00.000000000', '2000-02-01T01:00:00.000107288',
'2000-02-01T02:00:00.000214576', '2000-02-01T03:00:00.000000000',
'2000-02-01T04:00:00.000429153', '2000-02-01T04:59:59.999570846',
'2000-02-01T06:00:00.000000000', '2000-02-01T06:59:59.999141693',
'2000-02-01T08:00:00.000858306', '2000-02-01T09:00:00.000000000',
'2000-02-01T09:59:59.999141693', '2000-02-01T11:00:00.000858306',
'2000-02-01T12:00:00.000000000', '2000-02-01T13:00:00.001716613',
'2000-02-01T13:59:59.998283386', '2000-02-01T15:00:00.000000000',
'2000-02-01T16:00:00.001716613', '2000-02-01T16:59:59.998283386',
'2000-02-01T18:00:00.000000000', '2000-02-01T19:00:00.001716613',
'2000-02-01T19:59:59.998283386', '2000-02-01T21:00:00.000000000',
'2000-02-01T22:00:00.001716613', '2000-02-01T22:59:59.998283386',
'2000-02-02T00:00:00.000000000', '2000-02-02T00:59:59.996566772',
'2000-02-02T02:00:00.003433227', '2000-02-02T03:00:00.000000000',
'2000-02-02T03:59:59.996566772', '2000-02-02T05:00:00.003433227',
'2000-02-02T06:00:00.000000000', '2000-02-02T06:59:59.996566772',
'2000-02-02T08:00:00.003433227', '2000-02-02T09:00:00.000000000',
'2000-02-02T09:59:59.996566772', '2000-02-02T11:00:00.003433227',
'2000-02-02T12:00:00.000000000', '2000-02-02T12:59:59.996566772',
'2000-02-02T14:00:00.003433227', '2000-02-02T15:00:00.000000000',
'2000-02-02T15:59:59.996566772', '2000-02-02T17:00:00.003433227',
'2000-02-02T18:00:00.000000000', '2000-02-02T18:59:59.996566772',
'2000-02-02T20:00:00.003433227', '2000-02-02T21:00:00.000000000',
'2000-02-02T21:59:59.996566772', '2000-02-02T23:00:00.003433227',
'2000-02-03T00:00:00.000000000', '2000-02-03T01:00:00.006866455',
'2000-02-03T01:59:59.993133544', '2000-02-03T03:00:00.000000000',
'2000-02-03T04:00:00.006866455', '2000-02-03T04:59:59.993133544',
'2000-02-03T06:00:00.000000000', '2000-02-03T07:00:00.006866455',
'2000-02-03T07:59:59.993133544', '2000-02-03T09:00:00.000000000',
'2000-02-03T10:00:00.006866455', '2000-02-03T10:59:59.993133544',
'2000-02-03T12:00:00.000000000', '2000-02-03T13:00:00.006866455',
'2000-02-03T13:59:59.993133544', '2000-02-03T15:00:00.000000000',
'2000-02-03T16:00:00.006866455', '2000-02-03T16:59:59.993133544',
'2000-02-03T18:00:00.000000000', '2000-02-03T19:00:00.006866455',
'2000-02-03T19:59:59.993133544', '2000-02-03T21:00:00.000000000',
'2000-02-03T22:00:00.006866455', '2000-02-03T22:59:59.993133544',
'2000-02-04T00:00:00.000000000', '2000-02-04T01:00:00.006866455',
'2000-02-04T01:59:59.993133544', '2000-02-04T03:00:00.000000000',
'2000-02-04T04:00:00.006866455', '2000-02-04T04:59:59.993133544',
'2000-02-04T06:00:00.000000000', '2000-02-04T07:00:00.006866455',
'2000-02-04T07:59:59.993133544', '2000-02-04T09:00:00.000000000',
'2000-02-04T10:00:00.006866455', '2000-02-04T10:59:59.993133544',
'2000-02-04T12:00:00.000000000', '2000-02-04T13:00:00.006866455',
'2000-02-04T13:59:59.993133544', '2000-02-04T15:00:00.000000000',
'2000-02-04T16:00:00.006866455', '2000-02-04T16:59:59.993133544',
'2000-02-04T18:00:00.000000000', '2000-02-04T19:00:00.006866455',
'2000-02-04T19:59:59.993133544', '2000-02-04T21:00:00.000000000',
'2000-02-04T22:00:00.006866455', '2000-02-04T22:59:59.993133544',
'2000-02-05T00:00:00.000000000', '2000-02-05T00:59:59.986267089',
'2000-02-05T02:00:00.013732910', '2000-02-05T03:00:00.000000000',
'2000-02-05T03:59:59.986267089', '2000-02-05T05:00:00.013732910',
'2000-02-05T06:00:00.000000000', '2000-02-05T06:59:59.986267089',
'2000-02-05T08:00:00.013732910', '2000-02-05T09:00:00.000000000',
'2000-02-05T09:59:59.986267089', '2000-02-05T11:00:00.013732910',
'2000-02-05T12:00:00.000000000', '2000-02-05T12:59:59.986267089',
'2000-02-05T14:00:00.013732910', '2000-02-05T15:00:00.000000000',
'2000-02-05T15:59:59.986267089', '2000-02-05T17:00:00.013732910',
'2000-02-05T18:00:00.000000000', '2000-02-05T18:59:59.986267089',
...........
'2000-02-28T23:00:00.054931640'],
dtype='datetime64[ns]')
 

Attachments

  • datm.streams.txt
    3.7 KB · Views: 6

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I see this time attribute in your 2000-02 file:

time:calendar = "gregorian"

If you want to run a gregorian calendar then you would need to provide leap day data (Feb 29) in your file and also set:

./xmlchange CALENDAR=GREGORIAN

If you don't want to run gregorian calendar then you would need to change the time attribute in your files to:

time:calendar = "noleap"
 

mengqi

mj
Member
I see this time attribute in your 2000-02 file:

time:calendar = "gregorian"

If you want to run a gregorian calendar then you would need to provide leap day data (Feb 29) in your file and also set:

./xmlchange CALENDAR=GREGORIAN

If you don't want to run gregorian calendar then you would need to change the time attribute in your files to:

time:calendar = "noleap"
Thank you, Oleson! I tried to change the time attribute to "noleap" and the issue (i.e., Feb) was solved. However, there is another issue for December.

As shown in the ATM.log:
(shr_strdata_advance) ERROR: for stream 1
(shr_strdata_advance) ERROR: dtime, dtmax, dtmin, dtlimit =
365.041666666667 365.041666666667 4.166666666666663E-002
1.50000000000000
(shr_strdata_advance) ERROR: ymdLB, todLB, ymdUB, todUB = 20001231
82800 20020101 0

As you suggested before, I tried to get full output from "ncdump -v time /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-12.nc". However, I did not find out any errors and I did not look at other similar questions online. For your convenience, I attached part of ATM.log, full output, and datm.streams.xml. respectively.

Thank you for your help in advance!!
 

Attachments

  • atm.log.9028169.chadmin1.ib0.cheyenne.ucar.edu.230328-090708.txt
    2.2 KB · Views: 5
  • full_output.txt
    9.8 KB · Views: 3
  • datm.streams.txt
    3.7 KB · Views: 5

oleson

Keith Oleson
CSEG and Liaisons
Staff member
It looks like you are jumping from the end of year 2000 to the beginning of year 2002 for some reason (20001231 -> 20020101).
One thing I see in your datm.streams.txt file is:

<year_last>2001</year_last>

but you only have year 2000 in your streams files. Try changing that to 2000.
 

mengqi

mj
Member
It looks like you are jumping from the end of year 2000 to the beginning of year 2002 for some reason (20001231 -> 20020101).
One thing I see in your datm.streams.txt file is:

<year_last>2001</year_last>

but you only have year 2000 in your streams files. Try changing that to 2000.
Thank you, Oleson! It does work when I changed to <year_last>2000</year_last>. Many thanks!!

Actually, it is a little confusing here. In Tutorial 2a provided by NCAR (i.e., single-point case), it states that we will invoke a few XML commands to change the start/end year below. In this case, that means that if we run a simulation with 1 year, then the end year should be 2002, instead of 2001.

./xmlchange STOP_OPTION=nyears
./xmlchange STOP_N=1
./xmlchange RUN_STARTDATE='2001-01-01'
./xmlchange DATM_YR_ALIGN=2001
./xmlchange DATM_YR_START=2001
./xmlchange DATM_YR_END=2002

However, in the datm.streams.txt file, the start of the year is equal to the end of the year (as shown below).

CLM_USRDAT.1x1_Bo1:year_first=2000
CLM_USRDAT.1x1_Bo1:year_last=2000
CLM_USRDAT.1x1_Bo1:year_align=2000

Taken together, they seem to be a little different for a one-year simulation.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
You can set it to 2001, as long as you have 2001 forcing files and they are appearing in your datm.streams.xml
 

kaeritai

New Member
Can you attach the output from the following:

ncdump -v time /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-02.nc
ncdump -v time /glade/scratch/mengqij/my_subset_data_Bo1_f/1x1_Bo1/2000-03.nc

and also attach your datm.streams.xml.
I suspect there is something wrong with your time variables in your forcing files, but I'd need to look at the output requested, thanks.
hi dear Oleson,
I have similaer question (simulation for a single site) as this thread: I try to run my case with my own atmosphere forcing(Flux tower data) and I selected "CLM1PT" for DATM_MODE. I put all the necessnary input(precipitation, radiation etc) in one single NC file as mengqi. While when I set these two lines :

./xmlchange DATM_YR_START=2001
./xmlchange DATM_YR_END=2002

Error shows that: "Error: no variable DATM_YR_END found in this case".

Please note that I creat a case as this: ./create_newcase -case $casename -res CLM_USRDAT -compset I1PtClm50SpGs -mach cch --run-unsupported

I used CLM 5.0 for simulation.
thanks!@oleson
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I'm guessing you are using an older version of the code. You said you are using CLM5 but what version? You can do a git describe in your clone to get that information.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Yes, it matters. What does "git describe" give you when you do that in your clone?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Thanks, that version of the code uses a different "driver" (mct) than the user above is using (nuopc). The corresponding DATM_* variables for your case would be:

DATM_CLMNCEP_YR_ALIGN
DATM_CLMNCEP_YR_START
DATM_CLMNCEP_YR_END
 

kaeritai

New Member
Thanks, that version of the code uses a different "driver" (mct) than the user above is using (nuopc). The corresponding DATM_* variables for your case would be:

DATM_CLMNCEP_YR_ALIGN
DATM_CLMNCEP_YR_START
DATM_CLMNCEP_YR_END
hi dear Oleson,
thank you so much for your reply; Thus, in this case, can I use similar user_nl_datm_streams file Format as mengqi for my simulation?(considering the different version of CLM)
thank you
 
Top