Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

wrffirechemi file name delay

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

Hi

I am using wrfchem 3.9 to read wrffirechemi fire emission data. However, it seems that the wrffirechemi file name does not match with the wrf time step. Here is the error message

d01 2015-06-01_01:00:00 ZFY20181206 ./external/io_netcdf/wrf_io.F9004 1
d01 2015-06-01_01:00:00 ZFY20181205 ./external/io_netcdf/wrf_io.F9002 2
d01 2015-06-01_01:00:00 ZFY20181205 ./external/io_netcdf/wrf_io.F9001 wrffirechemi_d01_2015-06-01_00:00:00
d01 2015-06-01_01:00:00 input_wrf: wrf_get_dom_ti_integer for ISOILWATER returns 14
d01 2015-06-01_01:00:00 module_io.F: in wrf_get_next_time
d01 2015-06-01_01:00:00 2 input_wrf: wrf_get_next_time current_date: 2015-06-01_01:00:00 Status = -4
2 input_wrf: wrf_get_next_time current_date: 2015-06-01_01:00:00 Status = -4
d01 2015-06-01_01:00:00 ZFY20181203 share/input_wrf.F02 wrffirechemi_d01_2015-06-01_00:00:00
d01 2015-06-01_01:00:00 ---- ERROR: Could not find matching time in input file wrffirechemi_d01_2015-06-01_00:00:00
NOTE: 1 namelist vs input data inconsistencies found.
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 1174
NOTE: Please check and reset these options
-------------------------------------------
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0

The current_date is 2015-06-01_01:00:00, while wrffirechemi data is wrffirechemi_d01_2015-06-01_00:00:00.

I tried to figure out how wrf increases the time step. However, it seems that it uses something like "get data handle". I printed out a lot of message in my log file ("ZFY" in rsl.error.0000). But I am still not sure how wrf increases time. Do you have any ideas? Thank you very much.

See the attached rsl.error.0000 and namelist.input

Best,
Zhifeng
 

Attachments

  • namelist_input.txt
    9 KB · Views: 66
  • rsl.error.0000.txt
    5.9 MB · Views: 48
hi Zhifeng,

Probably this is occurring because WRF is expecting more than one emission time in your input file.

If you look at the namelist.output file you will be able to see all the namelist options that WRF is using - both what you've set, and what has been used as a default value.

This is what I have in my namelist.input file for fire emissions:
Code:
 auxinput7_inname                    = "wrffirechemi_d<domain>_<date>",
 auxinput7_interval_m                = 60, 60, 60, 60,
 frames_per_auxinput7                = 1,   1,   1, 1,

Your namelist.input file is missing "frames_per_auxinput7" - if you check your namelist.output file I expect you'll see that the default value for this is 24 - if it is then that will be what's causing your problem.

cheers,
Doug
 
hi Zhifeng,

Probably this is occurring because WRF is expecting more than one emission time in your input file.

If you look at the namelist.output file you will be able to see all the namelist options that WRF is using - both what you've set, and what has been used as a default value.

This is what I have in my namelist.input file for fire emissions:
Code:
 auxinput7_inname                    = "wrffirechemi_d<domain>_<date>",
 auxinput7_interval_m                = 60, 60, 60, 60,
 frames_per_auxinput7                = 1,   1,   1, 1,

Your namelist.input file is missing "frames_per_auxinput7" - if you check your namelist.output file I expect you'll see that the default value for this is 24 - if it is then that will be what's causing your problem.

cheers,
Doug
 
Thank you very much, Doug. This solves my problem.

When I tried to solve this problem, I went through how wrf.exe reads emission files wrffirechemi. I did a lot of work, but I still can not follow how wrf.exe moves the time step forward for emission files and how wrf.exe changes the time from the current to next. Do you have a clear flow chart on this? Here I made the call process to read emission files. Do you have any comments? Thank you so much for your help again!

(1) ./share/module_io_domain.F ( CALL input_wrf( fid , grid , config_flags , restart_only , ierr ))

(2). ./share/input_wrf.F (CALL wrf_inquire_filename ( fid , fname , filestate , ierr ))

(3). ./frame/module_io.F (IF (wrf_dm_on_monitor()) CALL ext_ncd_inquire_filename ( Hndl, FileName , FileStatus, Status ))
SUBROUTINE wrf_inquire_filename ( DataHandle, FileName , FileStatus, Status )

(4). ./external/io_netcdf/wrf_io.F90 (subroutine ext_ncd_inquire_filename( Datahandle, FileName, FileStatus, Status ))
call GetDH(DataHandle,DH,Status)

(5). ./external/io_netcdf/wrf_io.F90 (subroutine GetDH(DataHandle,DH,Status))

Zhifeng
 
Top