Frequently Asked Questions for MCIP MCIP Version 3.1 (27 Feb 2006) What are the changes in MCIPv3.1? There are several minor changes to the code for MCIPv3.1. The dry deposition velocity for elemental mercury was updated. Also, the automated calculations of some grid parameters were modified for WRF so that the center of the projection is not restricted to a cell corner. In addition, a minor correction was made for the I/O API header for data sets with Mercator projection. If I am using MCIPv3, do I need to upgrade to MCIPv3.1? Users do not need to upgrade from MCIPv3.0 to MCIPv3.1 unless the mercury option in CMAQ is going to be used. Users who have WRF-ARW (formerly WRF-EM) data should consider upgrading to MCIPv3.1 to take advantage of minor corrections in the code, but this is not required if MCIPv3.0 already runs with the user's WRF data set. Users who have data with Mercator projection (either MM5 or WRF) should upgrade to MCIPv3.1. New users should start with MCIPv3.1. If I ran MM5 (or WRF) without the Pleim-Xiu land-surface model, can I use the "M3Dry" dry deposition routine in MCIP? Yes. While "M3Dry" was specifically written to take advantage of fields that are available in the output from the Pleim-Xiu land-surface model, there is some code that creates those fields within MCIP for meteorology data sets that do not already have them. This code probably could be improved, but it is not an impediment to using "M3Dry". -------------------------------------------------------------------------------- MCIP Version 3.0 (19 Aug 2005) What were the major changes in MCIPv3.0? The major change was to allow meteorology fields to be input from either MM5 or WRF. There are also new optional dry deposition species for chlorine and mercury with the M3Dry scheme. There is also an option to use fractional land use in MCIP if it is imported from an MM5v3 pre-processing file. The detailed list of changes is in the file "CHANGES". I want to run MCIP with WRF model data. What do I need to do? There are a handful of things that need to be done in WRF to run MCIP with WRF data. 1. The WRF model must be WRFv2.0 or newer. 2. Must use the WRF-EM core. (WRF namelist variable dyn_opt=2. This is the default.) MCIPv3 does not support WRF-NMM (NCEP core). 3. Output must be in WRF I/O API (using NetCDF) format. (WRF namelist variable io_form_history=2. This is the default.) 4. Must use non-hydrostatic dynamics in WRF. (WRF namelist variable non_hydrostatic=.true. This is the default.) 5. WRF output should be hourly at most. (WRF namelist variable history_interval=60, or fewer, minutes. The default is 180 min.) 6. The following 2D variables need to be added to the WRF output (history) file: UST, ALBEDO, EMISS, and ZNT. Variables can be added to the history file by adding "h" in the 8th column of the WRF Registry on the line that describes the variable. Also, the water vapor mixing ratio and mixing ratios associated with the explicit moisture can go negative in WRF. This is a result of the mass conservation and the advection scheme used in WRF. Negative mixing ratios will cause problems in CMAQ. There are two namelist variables in WRF that eliminate negative mixing ratios (mp_zero_out and mp_zero_out_thresh), but they are not invoked by default. Users need to decide whether or not this should be controlled in WRF or downstream. Either way, MCIPv3 will not permit negative mixing ratios to be passed to CMAQ. In addition, a floor value of 1.0e-14 kg/kg has been set for water vapor mixing ratio in MCIP since negative mixing ratios are otherwise zeroed out in WRF. A positive water vapor mixing ratio is required for the aerosol model in CMAQ. Where do I need to specify if my dataset is from MM5 or WRF? The user does not need to indicate if the input meteorology files are from MM5 or WRF. MCIP automatically determines if the file is MM5 or WRF by trying to open the input file as a NetCDF file. If the file can be read as NetCDF, MCIP assumes the input is a WRF dataset. Otherwise, MM5 is assumed. When using MM5 data, it is normal to see a message in the MCIP log file that says, "NCOPN: : Not a netCDF file". Are there any new output fields in MCIPv3.0? One new output field is PURB, or percentage of urban area. This field appears in GRIDCRO2D if an additional input file that contains fractional land use information (e.g., MM5's TERRAIN file) is provided for input. PURB can only be generated currently for MM5v3-based MCIP runs. There are also optional dry deposition velocities in METCRO2D for 6 chlorine and 2 mercury species. Were any output fields eliminated in MCIPv3.0? No. I ran MCIP with WRF input data, and there is no GRIDCRO3D file. What happened? GRIDCRO3D contains reference height fields that are relevant for non-hydrostatic MM5, but not for WRF. GRIDCRO3D will not created for WRF. Older versions of SMOKE have a minor dependency on this file, but a change should have been made in the recent release to extract WRF layer heights from METCRO3D rather than from GRIDCRO3D for plume rise calculations. CMAQ does not require GRIDCRO3D. I want to run with MM5 data, and I'm having problems compiling some of the new routines with WRF. Can I just shut off the WRF part of MCIPv3? No. MCIPv3 is an integrated code for both MM5 and WRF. The locations of the NetCDF library and the file "netcdf.inc" need to be verified in the Makefile and the code must be compiled as a total package. I ran MCIP with the options for chlorine and mercury dry deposition, but I don't want to run those versions of CMAQ. Do I need to rerun MCIP? No. There will just be 6 extra chlorine species and 2 extra mercury species in METCRO2D. No other species dry deposition are affected if these options are turned on in MCIPv3. The chlorine and mercury species in METCRO2D will be ignored. I want to run with chlorine (and mercury) but I want to use RADMDry instead of M3Dry. Can I do this? No. MCIPv3 is only set up to generate chlorine and mercury dry deposition velocities using M3Dry. Do I need to change my script to use MCIPv3.0? Yes. There have been several changes to the MCIP script for MCIPv3.0. Most notably, the windowing variables I0 and J0 have been renamed Y0 and X0 to make MCIP more general. Also, the option to read the MM5 TERRAIN file has been added so that fractional land use can be processed. The names of the environment variables for the output files have also been modified, and the logic surrounding the number of input meteorology files has been generalized. In short, it is recommended that users start with a new script rather than trying to adapt their existing scripts to include the MCIP updates. I can't find my TERRAIN file. Can I use a different file to provide fractional land use? Since the fractional land use fields appear in all of the MM5v3 preprocessing output files, any of the TERRAIN, REGRID, RAWINS, LITTLE_R, and MMINPUT files can be read into MCIP to obtain fractional land use. I'm using MM5v3 input files, and I don't have the files to provide fractional land use. Can I still run CMAQ? Yes. This is not a problem for CMAQ. PURB supports an option to modify the minimum Kz in CMAQv4.5. PURB is not required; the minimum Kz calculation will otherwise revert to the method used in CMAQv4.4. I already have MCIP and emissions files created for CMAQ, but I want to take advantage of the new minimum Kz formulation in CMAQv4.5. Do I have to start over again since I don't have PURB in my GRIDCRO2D file? Fortunately, users can run MCIPv3 for one hour with the fractional land use input and the appropriate MM5 file to create a new GRIDCRO2D file that contains PURB. This new GRIDCRO2D file can be used in place of the old GRIDCRO2D files for applications that are already underway. For most users, the other five fields in GRIDCRO2D should be unaffected by this change. I ran WRF, and I want to use the new minimum Kz formulation in CMAQv4.5. Can I do this? No. As of now, WRF does not have fractional land use fields available in the output. MCIPv3 is not set up to use WRF output with an MM5 TERRAIN file (or other MM5 preprocessing file) to obtain the fractional land use information. I can't get I/O API 3 to work properly on my machine, and I need to run MCIP. What can I do? The subroutine ioparms3 (which is called from init_io.F) is the only dependency on I/O API 3 in MCIPv3. If you want to use I/O API 2.2 with MCIP, modify the routine init_io.F by commenting out the call to ioparms3 and the variable checks below it (starting with the comment "Verify that the I/O API library..."). Then recompile and run MCIPv3 with the I/O API 2.2 library. You should, however, ensure that your I/O API library and the parameters in MCIP are consistent (e.g., if the maximum number of species has been increased in your I/O API library, then parms3_mod.F in MCIP needs to be modified to reflect this change). I want to use the Intel compiler on Linux. What else do I need to do? In addition to the compiler options in the Makefile, it may be necessary to also set the following environment variables (noted in C-shell, below, but can be easily adjusted for KSH/BASH): To reverse the order of the bytes on reading MM5 files: setenv F_UFMTENDIAN big To find the shared-object file, libcxa.so.5: setenv LD_LIBRARY_PATH /path-to-your-Intel-compiler/lib To find file ifcore_msg.cat for debugging: setenv NLSPATH /path-to-your-Intel-compiler/lib/%N I don't know the layer structure of the MM5 file. How can I find out what it is? There is a new option in MCIPv3 to run with all of the MM5 layers without specifying the structure in the script. Users can run MCIP for the full MM5/WRF layer structure by setting the script variable CTMLAYs = "-1.0". If layer collapsing is desired, users can run MCIP for one hour with the previous setting for CTMLAYS to determine the structure (which will appear in the log file), then set the CMAQ layer structure based on the MM5/WRF structure. I set BTRIM = 0 to use the full extent of my MM5 files in CMAQ, but the output dimensions smaller by 3 in each dimension. What happened? Actually you are getting the full extent of your MM5 files if you set BTRIM = 0. The output in the METCRO2D and METCRO3D files is 3 smaller in each dimension, but that accounts for two things. First, the MM5 dimensions are in terms of dot points, while the CMAQ dimensions are in terms of scalar (or cross) points (i.e., cells). The dot point dimensions are inherently one larger than the scalar point (e.g., cell) dimensions, so that accounts for one of the three. The other two cells in each dimension are the one-cell picture-frame boundaries for CMAQ. Unlike MM5, the CMAQ files containing the full fields (i.e., GRIDCRO2D, GRIDCRO3D, METCRO2D, METCRO3D) do not include the boundary cells. The CMAQ boundary file (METBDY3D) contains the picture frame around METCRO3D, and METBDY3D was filled using MM5 fields. I heard there was an option to interpolate meteorological fields to finer horizontal grid spacing with MCIP. Is this true? Not anymore. The option existed as "hidden" code in MCIPv2.3 and prior releases, but it had some bugs in it. The code has been removed as of MCIPv3 in favor of some code optimizations. The preferred method of creating fine-scale meteorology is to run the meteorology model at the desired horizontal grid spacing, and then process through MCIP.