Hi!
I am in the process of creating biogenic emissions using BEIS4 with BELD6 in SMOKE4.9. I have been able to successfully run the test case provided but cannot find any information how to make the soilinput files as needed. The information should be available in the MCIP data but there is no guidance provided in extracting this information and creating the necessary soilinput files. Thanks in advance.
Sorry, I should read the manual more closely! I am running the first day of emissions so there will be no soilinput file and this should be generated by SMOKE on the basis of the MCIP data from the first day (I have set INITITAL_RUN Y in the tmpbeis4 script). However, now when I run tmpeis4 I get forrtl severe (174) SIGSEGV error at line 1215 of tmpbeis4. This appears to be a problem with opening the MCIP file. The header seems to have been made for the _s and _l files but the program crashes when after the first hour from MCIP is opened…or attempted to be opened?
I have unlimited stacksize and memory use already invoked.
tmpbeis4 did work on the MCIP data provided in the sample case for SMOKE4.9.
I think I have found the problem but I am not sure how to solve it. I am running MCIP v5.4 to create METCRO2D and GRIDCRO2D files from WRF4.5.1. When I compare my METCRO2D files with the METCRO2D files used in the sample SMOKE4.9 tempbeis4 script my METCRO2D file is missing the SNOWH parameter. Similarly, when I compare my GRIDCRO2D file with the sample GRIDCRO2D file I am missing LUFRAC_01, LUFRAC_02…LUFRAC_40. I do have a LUFRAC_CRO file but it only has one landuse percentage rather than 40. Checking for similar issues on the MCIP board it appears that MCIP5.1 (and higher) no longer puts the LUFRAC_xx inside of the GRIDCRO2D file but should put them inside of the LUFRAC_CRO file, and there should be 40 entries? (Someone please correct me if I am mistaken) Checking for similar issues on the CMAQ board the solution was to setenv LUFRAC_CRO METpath/LUFRAC_CRO_{YYYYMMDD}.nc in the CMAQ script. I did try this to see on the off chance this would work in the tmpbeis4 but it is still reading my GRIDCRO2D file. So the SMOKE4.9 tmpbeis4 script seems to written for an older version of MCIP. The questions I have no are: 1. Is there another version of the SMOKE4.9 script that have normbeis4 and tmpbeis4 scripts that read met data made with newer versions of MCIP? 2. If a newer script doesn’t exist does this mean I need to run an older version of MCIP (say v4.5)? 3. If I can extract this information from the LUFRAC_CRO file how do I do this?
What is happening with the LUFRAC_CRO file is that the layers of the file are the fractional coverages for each of the land-cover types. (Ideally, the vertical-coordinate type should be GISLAY3 = -1 to indicate this…
It would be somewhat tedious, but if necessary you could use M3Tools program m3xtract to construct a file with 1-D variables LUFRAC_01, etc, and then m3merge to merge them with the rest of the variables from a GRIDCRO2D…
Many thanks for your information and advice. Extracting and merging land-cover types is not a particularly appealing option. It seems tmpbeis4 in SMOKE4.9 is only built for earlier versions of MCIP that keep the land-cover data in the GRIDCON2D. Given the need for updated versions of MCIP (that put the land-cover data in the LUFRAC_CRO) to be used in the current versions of CMAQ the version of tmpbeis4 in SMOKE4.9 seems to be outdated. Has anyone written a more flexible tmpbeis4 that will read MCIP output where the land-cover data is contained in LUFRAC_CRO?
The only variables that Tmpbeis4 reads out of the GRIDCRO2D file are LAT and LON, so any LUFRAC variables aren’t relevant.
Regarding the error you’re seeing when you run Tmpbeis4 with your met data, can you post your log file? You mention the program crashes reading the MCIP data - which specific file is being read at this point?
I have included the text from the tmpbeisr.log below. I appreciate any suggestions you can make to help me solve this problem. Thanks.
David
This program uses the EPA-AREAL/MCNC-EnvPgms/BAMS Models-3
I/O Applications Programming Interface, [I/O API] which is
built on top of the netCDF I/O library (Copyright 1993, 1996
University Corporation for Atmospheric Research/Unidata
Program) and the PVM parallel-programming library (from
Oak Ridge National Laboratory).
Copyright (C) 1992-2002 MCNC,
(C) 1992-2018 Carlie J. Coats, Jr.,
(C) 2003-2012 Baron Advanced Meteorological Systems, LLC, and
(C) 2014-2020 UNC Institute for the Environment.
Released under the GNU LGPL License, version 2.1. See URL
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
for conditions of use.
ioapi-3.2: $Id: init3.F90 185 2020-08-28 16:49:45Z coats $
Version with PARMS3.EXT/PARAMETER::MXVARS3= 2048
netCDF version 4.4.1.1 of Apr 13 2017 12:41:52 $
Missing environment variable EXECUTION_ID
SMOKE ---------------
Copyright (c)2004 Environmental Modeling for Policy Development
All rights reserved
Program TMPBEIS4, Version
Online documentation
http://www.cep.unc.edu/empd/products/smoke
No program description is available for TMPBEIS4
You will need to enter the logical names for the input and
output files (and to have set them prior to program start,
using "setenv <logicalname> <pathname>").
You may use END_OF-FILE (control-D) to quit the program
during logical-name entry. Default responses are given in
brackets [LIKE THIS] and can be accepted by hitting the
<RETURN> key.
Value for PROMPTFLAG: N returning FALSE
Returning default value TRUE for query:
"Continue with program?"
Value for BEIS_VERSION: '4.0'
Value for BEIS_VERSION: '4.0'
Value for USE_VARIABLE_GRID not defined;returning default: FALSE
Value for OUTZONE: 0
Value for BIOG_SPRO: 'BC6E7'
Value for BIOG_SPRO: 'BC6E7'
Value for BIOMET_SAME: Y returning TRUE
Value for OUT_UNITS: 2
BEIS4 output will be in moles/s
Value for PROMPTFLAG: N returning FALSE
File "GSPRO" opened for input on unit: 98
/home/my_software/SMOKE_4.9/SMOKE-ADMF/smoke_inputs/BIOG/BELD6/gspro_beis_cmaq_cb6ae7_2016fj_16j_28apr2020.txt
Value for SMK_SOURCE: 'B'
Value for SMK_SOURCE: 'B'
Value for BIOG_SPRO: 'BC6E7'
Value for BIOG_SPRO: 'BC6E7'
Reading biogenic speciation profile...
Value for BG_CLOUD_TYPE: 1
PAR calculation will Use WRF-MCIP generated radiation
Value for BIOSW_YN: N returning FALSE
Value for COMPUTE_SEASON_FUNCTION not defined;returning default: TRUE
Value for USE_WRF_LAI not defined;returning default: TRUE
Value for PROMPTFLAG: N returning FALSE
Value for IOAPI_CHECK_HEADERS not defined;returning default: FALSE
"BEIS_NORM_EMIS" opened as OLD:READ-ONLY
File name "/home/my_software/SMOKE_4.9/SMOKE-ADMF/smoke_inputs/BIOG/BELD6/beis4_norm_emis.36ADMF.ncf"
File type GRDDED3
Execution ID "????????????????"
Grid name "36ADMF_70x55"
Dimensions: 55 rows, 70 cols, 1 lays, 77 vbles
NetCDF ID: 65536 opened as READONLY
Time-independent data.
NOTE: Grid settings initialized using BEIS_NORM_EMIS in
gridded file.
"MET_FILE1" opened as OLD:READ-ONLY
File name "/home/my_software/SMOKE_4.9/SMOKE-ADMF/met_input/METCRO2D_aep_36km_1980001.nc"
File type GRDDED3
Execution ID "mcip"
Grid name "M_36_AEP_CROSS"
Dimensions: 55 rows, 70 cols, 1 lays, 35 vbles
NetCDF ID: 131072 opened as READONLY
Starting date and time 1980001:000000 (0:00:00 Jan. 1, 1980)
Timestep 010000 (1:00:00 hh:mm:ss)
Maximum current record number 25
Value for TMPR_VAR: 'TEMP2'
Value for TMPR_VAR: 'TEMP2'
Value for PX_VERSION: N returning FALSE
Value for RN_VAR: 'RN'
Value for RN_VAR: 'RN'
Value for RC_VAR: 'RC'
Value for RC_VAR: 'RC'
Value for PRES_VAR: 'PRSFC'
Value for PRES_VAR: 'PRSFC'
Value for RGRND_VAR: 'RGRND'
Value for RGRND_VAR: 'RGRND'
Value for RADYNI_VAR: 'RADYNI'
Value for RADYNI_VAR: 'RADYNI'
Value for TEMPG_VAR: 'TEMPG'
Value for TEMPG_VAR: 'TEMPG'
Value for LAI_VAR: 'LAI'
Value for LAI_VAR: 'LAI'
Value for Q2_VAR: 'Q2'
Value for Q2_VAR: 'Q2'
Value for RSTOMI_VAR not defined; returning defaultval ': 'RSTOMI'
Value for RSTOMI_VAR not defined; returning defaultval ': 'RSTOMI'
Value for USTAR_VAR: 'USTAR'
Value for USTAR_VAR: 'USTAR'
Value for MRG_FILEDESC not defined; returning defaultval ': ' '
Value for MRG_FILEDESC not defined; returning defaultval ': ' '
Value for G_STDATE: 1980001
Value for G_STTIME: 0
Value for G_TSTEP: 10000
Value for G_RUNLEN: 250000
Value for PROMPTFLAG: N returning FALSE
Using default 1980001
Using date 1980001
Using default 0
Using default 25
Output Time Zone: 00
Start Date: Jan. 1, 1980
Start Time: 000000 HHMMSS
Time Step: 001 hour
Duration: 025 hours
Value for IOAPI_CHECK_HEADERS not defined;returning default: FALSE
"B4GTS_L" opened as UNKNOWN(R-W)
File name "/home/my_software/SMOKE_4.9/SMOKE-ADMF/scripts/biogenics/output_data/b4gts_l.19800101.ncf"
File type GRDDED3
Execution ID "????????????????"
Grid name "M_36_AEP_CROSS"
Dimensions: 55 rows, 70 cols, 1 lays, 24 vbles
NetCDF ID: 196608 opened as READWRITE
Starting date and time 1980001:000000 (0:00:00 Jan. 1, 1980)
Timestep 010000 (1:00:00 hh:mm:ss)
Maximum current record number 0
"B4GTS_S" opened as UNKNOWN(R-W)
File name "/home/my_software/SMOKE_4.9/SMOKE-ADMF/scripts/biogenics/output_data/b4gts_s.19800101.ncf"
File type GRDDED3
Execution ID "????????????????"
Grid name "M_36_AEP_CROSS"
Dimensions: 55 rows, 70 cols, 1 lays, 24 vbles
NetCDF ID: 262144 opened as READWRITE
Starting date and time 1980001:000000 (0:00:00 Jan. 1, 1980)
Timestep 010000 (1:00:00 hh:mm:ss)
Maximum current record number 0
"GRID_CRO_2D" opened as OLD:READ-ONLY
File name "/home/my_software/SMOKE_4.9/SMOKE-ADMF/met_input/GRIDCRO2D_aep_36km_1980001.nc"
File type GRDDED3
Execution ID "mcip"
Grid name "M_36_AEP_CROSS"
Dimensions: 55 rows, 70 cols, 1 lays, 7 vbles
NetCDF ID: 327680 opened as READONLY
Time-independent data.
Value for INITIAL_RUN: Y returning TRUE
Using WRF LAI instead of estimated LAI from NORMBEIS
Processing Tuesday Jan. 1, 1980
at time 0:00:00
I have finally solved this problem. The tmpbeis4 script does not properly work if you are using NOAH WRF data. The parameter WSAT is not available in this version of WRF but the current version of tmpbeis4 does not properly test for this as it always expects WSAT as written, regardless of the version of WRF being used. Resetting this version to be false and setting the allocated (dummy) WSAT to zero corrects this problem.