openwfm / WRF-SFIRE

A coupled weather-fire forecasting model built on top of Weather Research and Forecasting (WRF). This is the original https://github.com/openwfm/wrf-fire transitioned to a fork of WRF and selected as ifire=1. Graphic log at https://repo.or.cz/git-browser/by-commit.html?r=WRF-SFIRE.git
https://wiki.openwfm.org
Other
39 stars 12 forks source link

WRF-Fire-Chem for real case is crashed without nesting #50

Open zli867 opened 2 years ago

zli867 commented 2 years ago

Hi Dr. Mandel,

I have recently tried to run WRF-Chem-Fire by conducting ndown one-way nesting method since the turbulence scheme could be different for different domains. The domain setting for my case is 12km-4km-1km-200m. The fire model needs high resolution and the LES could be more reasonable for such resolution. While I receive the error message: crash: read_emissions_table: increase max_chem.

The fire model is totally fine when I run the WRF-Fire by one-way nesting. The WRF-Chem model can be also successfully finished under ndown one-way nesting method while the WRF-Chem-Fire model cannot. I do not think it is due to my namelist.fire_emissions or namelist.fire setting since I also tried an online one-way coupling by running 4 domains together and It works fine (https://github.com/openwfm/WRF-SFIRE/issues/16#issuecomment-922416914). Also, I tried to run the first two domains by online one-way nesting and run ndown to provide boundary and initial conditions to 1km domain. Then, I ran 1km and 200m together by online one-way nesting. The WRF-Fire-Chem can also be finished at this setting. Under these experiments, I think something wrong happens in the WRF-Fire-Chem model for real case. It seems I need to wrap the fire model in a parent domain to run WRF-Fire-Chem. Do you have any ideas for the error message?

Also, I have reported the WRF-Fire-Chem cannot print the emission or the fire information during the simulation (https://github.com/openwfm/WRF-SFIRE/issues/43#issuecomment-1022943667). It seems the information is hidden when the fire model is in a daughter domain. When I run WRF-Fire by ndown nesting (I just have one domain for the fire simulation and the fire model in parent domain), the model shows the information. I guess the print information is only provided for ideal case or the ndown running (running WRF-Fire-Chem without nesting). Do you have any ideas for getting the emission or fire information when doing a nesting simulation?

I can provide all my input data for my real cases for checking: https://drive.google.com/drive/folders/1fTeuU1ZfY2y0KzHiDXHLg9tWQCHY6xq9?usp=sharing. If you have any requirements, please let me know.

Thanks, Zongrun

janmandel commented 2 years ago

@Porkking Can you please provide the inputs and complete file rsl.error.0000? Also, the files provided at the google drive link are for one test case with d01 only, while you mention several cases, with multiple domains. You mention "the information is hidden when the fire model is in a daughter domain". I think you mean you do not see a print the total emissions. A low value of fire_print_msg in that domain would do that.

zli867 commented 2 years ago

Hi Dr. Mandel, For the one domain case: rsl.error.0000.txt

For the nesting case, you may correct. I set fire_print_msg=1. I could increase the value and have a try. I upload the nesting case namelist and rsl.error.0000: rsl.error.0000_nesting.txt namelist_nesting.txt I can also provide all data to reproduce a nesting WRF-Fire-Chem case: https://drive.google.com/drive/folders/1fTeuU1ZfY2y0KzHiDXHLg9tWQCHY6xq9?usp=sharing

Thanks, Zongrun

janmandel commented 2 years ago

@Porkking from the commit line in the rsl.error.0000.txt file, I see the source code was changed and I do not know what it is, I am sorry. Also, the printout rsl.error.0000.txt shows more species than my coupling code, it does not look like chem_opt=112 in namelist.fire_emisions. That's why the "increase max_chem" error message. You can try to do what it asks, or make sure you have chem_opt=112 in namelist.input and the code has no changes against github. It seems there are more species than when I wrote the coupling years ago. I'll have to review the chemical species and models supported soon anyway #51.

The case in the google drive link is not nested so I am assuming that's where the rsl.error.0000.txt is from.

It would be best to keep all files for each run together in a separate directory, otherwise I am not sure what is what.

In the namelist_nesting.txt, there is missing fire_print_msg for domain 2 so it is taken as 0 by default.

janmandel commented 2 years ago

@Porkking can I reproduce the case that gave you the crash: read_emissions_table: increase max_chem error please? There is not much I can do without that. Thanks, Jan

zli867 commented 2 years ago

Hi Dr. Mandel, I think this directory provide all inputs you may need for running the case: https://drive.google.com/drive/folders/1fTeuU1ZfY2y0KzHiDXHLg9tWQCHY6xq9?usp=sharing. wrfchemi_d: anthropogenic emission wrfchemi_gocart: GOCART background wrfbiochemi: biogenic emission (MEGAN) wrf_season and exo_*: required for MOZCART wrfinput: initial condition (I generate it from mother domain by ndown) wrfbdy: boundary condition (I generate it from mother domain by ndown) I also provide the all namelist I used. If there is anything I have left, please let me know.

Thanks, Zongrun

janmandel commented 2 years ago

@Porkking could you please add tohe directory the file rsl.error.0000 from a run with exactly these files to the directory? I need to see what you see. Among other things, it tells me which version (git commit) you used. The file rsl.error.0000.txt you have provided earlier indicates a problem, it shows at the top git commit b7ae8767252586cab7b51bad54a0f8181bae067a 1 file changed, 529 insertions(+) and I do not know what exactly changed. If I see a commit hash with no change then I know what you have. Thanks, Jan

janmandel commented 2 years ago

@Porkking I am sorry, it's not all files. After copying everything from ./run, it will still crash in WRF (not sfire) with Possibly missing file for = auxinput5

zli867 commented 2 years ago

Hi Dr. Mandel, "git commit https://github.com/openwfm/WRF-SFIRE/commit/b7ae8767252586cab7b51bad54a0f8181bae067a 1 file changed, 529 insertions(+)" Do you mean I have change the code for the model? If so, I may change the optical threshold for WRF (I cannot remember clearly whether I change it or not for this directory). I change it since optical value exceed the threshold when PM2.5 is really high and it kills the WRF job.

"it will still crash in WRF (not sfire) with Possibly missing file for = auxinput5" I am not sure why it happens. auxinput5 is for anthropogenic emission. I use hourly emission and the name is wrfchemi_d*. I think I have uploaded all the emission files from 04-06_00:00 to 04-07_00:00 (total 25 files). By the way, it should be WRF-Chem with KPP option. I can also upload a environment variable setting when I install the model: https://drive.google.com/file/d/1LTAzKuWxEiwQXeNxXn3wP1U5J0sScurL/view?usp=sharing

janmandel commented 2 years ago

@Porkking I need to be able to run the code with the same files you have, including the same source code, so that I can help you. Can you rerun your case with WRF-SFIRE without any changes and provide all input files and rsl.error.0000 so that I see what you see, please?

janmandel commented 2 years ago

@Porkking Also, you can commit your changes to the source code and provide the modified git repository with your files. I'd like to see the same commit hash in git log and in rsl.error.0000 with no changes.

zli867 commented 2 years ago

@janmandel After checking by the git diff, I think I have not change the optical threshold in the version I currently used. It seems the 1 file changed is the namelist.input. Anyway, I will build the WRF-Fire without any changes and rerun my case. I will update when it is done. git diff.txt

zli867 commented 2 years ago

@janmandel it seems you have merged current WRF-SFire to WRFv4.4 while I met problem on installing by using my previous setting. I have posted the issue in the WRF forum and what I can do is stick with WRFv4.2 and do the test. I will try to download all files I have provided before and try to run it with WRFv4.2 again.

zli867 commented 2 years ago

@janmandel Dr. Mandel, you are correct. I have seen the same problem when I use the files provided in google drive to run WRF-Chem. I need to reproduce this work in WRFv4.2. I will share the data/results after reproducing.

zli867 commented 2 years ago

@janmandel Hi Dr. Mandel, I have uploaded the input data for one domain case of WRF-Chem: https://drive.google.com/file/d/18gE-BmBcKC163cabJ-dPNlxDCrLgdaF1/view?usp=sharing. You can try the current data to set up the WRF-Chem simulation. I guess if you switch ifire from 0 to 1, you will find the error: crash: read_emissions_table: increase max_chem. Google drive changes the input files if I upload all files directly. So, I compressed the input data. At least, I can run the WRF-Chem model by downloading the .tar.gz file. Hope this time the WRF-Chem can work successfully. If there is any problems, please let me know. Thanks, Zongrun.

janmandel commented 1 year ago

@Porkking sorry about the delay, the semester started. I'll look into that asap.