Error with beld4_water_fix script

I’m setting up a CMAQ simulation with a 1.3 km x 1.3 km horizontal resolution and (scaled) Inventory Collaborative 2016v1 emissions. I’m very grateful for the detailed documentation and helpful scripts for generating input files on other grids (found here ftp://newftp.epa.gov/air/emismod/2016/v1/ )–unfortunately one of them isn’t working for me.

In order to generate a land use file on my grid, I was able to run convert_beld41_feb2017_epa_12US1.csh without problems. At the next step, running beld4_water_fix.csh, I get the error message below. Both these scripts come with precompiled executables, so I assume this error is similar to the one reported here: Xportfrac error
Is there a way for me to rebuild the water_fix script on my machine?
Thank you!


[mharkey@orchid-submit beld4.1_land_use_feb2017]$ ./beld4_water_fix.csh
setenv BDIR /home/mharkey/CMAQ_extras/beld4.1_land_use_feb2017
setenv BELD4 /home/mharkey/CMAQ_extras/Spatial-Allocator/LM1p3_output/beld41_feb2017_lakemich1p3_output.ncf
setenv GRIDCRO2D /ships19/models2/lenzen/MCIP/YNT-SSN.d23.GVF/lakemich1p3/GRIDCRO2D_20170601.nc
setenv OUTFILE /home/mharkey/CMAQ_extras/Spatial-Allocator/LM1p3_output/beld41_feb2017_waterfix_LM1p3.ncf
setenv PROMPTFLAG FALSE
/home/mharkey/CMAQ_extras/beld4.1_land_use_feb2017/beld4_water_fix
/home/mharkey/CMAQ_extras/beld4.1_land_use_feb2017/beld4_water_fix: error while loading shared libraries: libioapi.so: cannot open shared object file: No such file or directory
exit

The license for the I/O API library requires that this program (and any others that use the library) be distributed in re-linkable form (either source or “.o” files). Contact the distributor – and also let me know who it is…

-- Carlie J. Coats, Jr., Ph.D. I/O API Author/Maintainer

The beld4_water_fix code is located here:

ftp://newftp.epa.gov/Air/emismod/tmp/b4_waterfix.zip

There is a makefile (make.biog) in the zipped file along with a sample script. You are one of the first to try to use this code outside of EPA so please let me know how it goes. You will want to unzip this zipped file where ever you have your SMOKE code setup. Specifically in the following directory:

$SMK_HOME/subsys/smoke/src

The code will go into the biog directory. Once you are setup to compile SMOKE programs (source ASSIGNS file), goto above directory and type “make -f make.biog” and hopefully it works for you. I am not sure how you have compiled IOAPI and other libs so you may have to edit the makefile possibly. The sample script indicates you need the current BELD4 file and a GRID_CRO_2D file for input. We were using MCIPv4.3 at the time of this program. If you are using MCIPv5 or a different WRF config possibly, the program may not work. Hope it goes well.

Jeff

thank you, Jeff–
I tried “make -f make.b4fix” (there wasn’t a make.biog–I hope this was correct), with the result

make: *** No rule to make target ‘modfileset.mod’, needed by ‘beld4_water_fix.o’. Stop.

I’m not familiar enough with the architecture and Makefiles of SMOKE to know what I need to change here. Do you have any recommendations?
We’re using IOAPI v3.2 and MCIP v4.5 and our GRIDCRO2D files have LUFRAC_17 = water, fingers crossed the only sticking point is compiling.

-Monica

The src subdirectory of SMOKE will have a structure something like the following:

SMOKE.git/src
SMOKE.git/src/Makeinclude
SMOKE.git/src/Makefile
SMOKE.git/src/temporal
SMOKE.git/src/smkinven
SMOKE.git/src/spcmat
SMOKE.git/src/emqa
SMOKE.git/src/smkmerge
SMOKE.git/src/point
SMOKE.git/src/emutil
SMOKE.git/src/filesetapi
SMOKE.git/src/inc
SMOKE.git/src/biog
SMOKE.git/src/grdmat
SMOKE.git/src/movesmrg
SMOKE.git/src/cntlmat
SMOKE.git/src/emmod
SMOKE.git/src/lib
You will need to follow the instructions for building SMOKE in order to bulld the libraries for filesetapi, emmod, and lib in order to generate this (and other) needed files.

thank you–just to check before I embark on that project, you mean I’ll need to compile SMOKE from scratch, not use the precompiled executables, correct?

That is correct: you’ll need to compile SMOKE from scratch