Skip to content

Commit 7d289a7

Browse files
authored
Merge pull request #1180 from tlspero/v5.5_release
Updates for MCIPv5.5 Documentation
2 parents c31983b + 8b848d1 commit 7d289a7

File tree

5 files changed

+206
-43
lines changed

5 files changed

+206
-43
lines changed

PREP/mcip/docs/CHANGES

+37
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,43 @@
11
CHANGES for MCIP
22

33

4+
MCIP Version 5.5 (19 September 2024)
5+
6+
- Changed constraint on XORIG and YORIG for Lambert conformal projections
7+
with user-specified runtime reference latitude. Original constraint of
8+
500 meters introduced an error in calculating the location of the
9+
lower-left corner (i.e., XORIG and YORIG) in domains with a horizontal
10+
grid spacing that is not a multiple of 1 km. Now using a constraint of
11+
5 meters to allow for "neater" XORIG and YORIG values across compilers.
12+
13+
Changed files: PREP/mcip/src/setgriddefs.f90
14+
15+
16+
- Updated WRF option translation for the MCIP metadata for new physics
17+
introduced between WRFv4.1 and WRFv4.6.
18+
19+
Changed files: PREP/mcip/src/wrfemopts.f90
20+
21+
22+
- Removed redundant NF90_OPEN/NF90_CLOSE couplet to improve efficiency.
23+
24+
Changed files: PREP/mcip/src/rdwrfem.f90
25+
26+
27+
- Updated version stamp.
28+
29+
Changed files: PREP/mcip/src/mcipparm_mod.f90
30+
31+
--------------------------------------------------------------------------------
32+
33+
MCIP Version 5.4 (12 July 2022)
34+
35+
- Updated version stamp.
36+
37+
Changed files: PREP/mcip/src/mcipparm_mod.f90
38+
39+
--------------------------------------------------------------------------------
40+
441
MCIP Version 5.3.3 (30 June 2021)
542

643
- Removed reliance on reading F (Coriolis parameter) from WRF output for

PREP/mcip/docs/FAQ

+94-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,103 @@
11
Frequently Asked Questions for MCIP
22

3+
MCIP Version 5.5 (19 September 2024)
4+
5+
What are the changes in this release?
6+
7+
There are only three changes in this release.
8+
9+
1. MCIP calculates XORIG and YORIG (projection parameters used by the CMAQ
10+
system) from the projection information used by WRF. Because the math
11+
calculations can get messy with real and double-precision trigonometry,
12+
the solutions are inexact. Prior versions of MCIP used a constraint to
13+
round the XORIG and YORIG to multiples of 500 meters. This constraint was
14+
introduced several years ago, when most groups were using horizontal grid
15+
spacings that were evenly divisible by 1 kilometer.
16+
17+
This release changes the constraint on XORIG and YORIG to now be in
18+
multiples of 5 meters (rather than 500 meters). This change allows domains
19+
with horizontal grid spacings like 1.333 km and 4.25 km to be handled
20+
correctly. In addition, there is consistency in XORIG and YORIG values
21+
across compilers and optimizations.
22+
23+
2. The WRF physics option tokens were updated for the MCIP metadata to
24+
reflect new physics introduced between WRFv4.1 and WRFv4.6.
25+
26+
3. The routine that reads WRF data was updated to remove a redundant
27+
NF90_OPEN/NF90_CLOSE couplet that slightly slowed the MCIP processing.
28+
29+
30+
Is there an MCIPv5.4.1?
31+
32+
No. There were no updates to MCIP in the release of CMAQv5.4.1. MCIP was
33+
not updated and remained at MCIPv5.4 for both CMAQv5.4 and CMAQv5.4.1.
34+
35+
36+
Do I need to update from MCIPv5.3.3 or MCIPv5.4 to work with CMAQv5.5?
37+
38+
Not necessarily. If you are starting new runs with CMAQv5.5, and if you do
39+
not have MCIP files, then it is recommended that you use MCIPv5.5. However,
40+
if you have MCIP files processed already *AND* if you are *not* using a
41+
horizontal grid spacing that is not a multiple of 1 km (e.g., 1.333 km or
42+
4.25 km), then you can probably use your older MCIP files.
43+
44+
45+
I already pointed out something that needs to be corrected in MCIP, but I
46+
do not see the update here. What is going on?
47+
48+
There are a few corrections to MCIP that did not get incorporated into this
49+
release due to timelines and competing priorities. They are in the queue for
50+
the next release. Thank you for your patience.
51+
52+
53+
MCIP crashed, and I don't understand my error. What should I do?
54+
55+
Clean up the directory with your MCIP executable and compiled object (.o)
56+
files by using "make clean". Then recompile with the debug options turned
57+
on, ensuring that you have the "traceback" or equivalent directive for
58+
your compiler. Then rerun, and you should have a more meaningful error
59+
message that may point you to the subroutine and specific line of code
60+
that is causing your error.
61+
62+
63+
I think there is a bug in MCIP. How can I report it?
64+
65+
You can use the CMAS Center Forum to report bugs, get help from the
66+
community, and communicate with developers. You can use the "MCIP"
67+
category (upper-left corner on the Forum) for issues that are strictly
68+
related to MCIP. Before opening a new thread on the Forum, please search
69+
the Forum to see if the issue has already been raised and addressed. If
70+
not, please open a new thread rather than amending an existing thread.
71+
https://forum.cmascenter.org
72+
73+
74+
Where can I get more information on the CMAQ system?
75+
76+
Please visit https://www.epa.gov/cmaq
77+
78+
79+
Where can I get training on how to use the CMAQ system?
80+
81+
The CMAS Center provides periodic training on the use and utility of the
82+
CMAQ system. Please visit https://www.cmascenter.org
83+
84+
85+
Do you take user suggestions?
86+
87+
Yes! Please submit them via the CMAS Center Forum
88+
https://forum.cmascenter.org
89+
90+
--------------------------------------------------------------------------------
91+
--------------------------------------------------------------------------------
92+
393
MCIP Version 5.4 (12 September 2022)
494

595
What are the changes in this release?
696

7-
None. MCIPv5.4 has not been updated since the previous release (v5.3.3). Note
8-
that, beginning with version 5.3.3, the versioning of MCIP is aligned with the
9-
numbering used for CMAQ. Therefore, the MCIP version numbering is updated with
10-
the release of CMAQv5.4.
97+
None. MCIPv5.4 has not been updated since the previous release (v5.3.3). Note
98+
that, beginning with version v5.3.3, the versioning of MCIP is aligned with
99+
the numbering used for CMAQ. Therefore, the MCIP version numbering is
100+
updated with the release of CMAQv5.4.
11101

12102
--------------------------------------------------------------------------------
13103
--------------------------------------------------------------------------------

PREP/mcip/docs/ReleaseNotes

+52-17
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
********************************************************************************
2-
Announcing the release of MCIP Version 5.4 (12 September 2022)
2+
Announcing the release of MCIP Version 5.5 (19 September 2024)
33
********************************************************************************
44

5-
The MCIP code's version number is updated to version 5.4. With this release,
6-
no changes have been made to the MCIP code.
5+
The MCIP code is updated to version 5.5. This is a minor update to MCIP.
6+
These release notes and the CHANGES file reflect all changes that have been
7+
made to MCIP since MCIPv5.4 (the previous release). Changes to MCIPv5.5
8+
were made by Tanya Spero (U.S. EPA).
79

8-
As implemented with the release of the previous version (v5.3.3), the version
9-
numbering for MCIP is kept consistent with CMAQ to minimize confusion within the
10-
user community. Therefore, MCIP's version is updated to v5.4 for consistency.
11-
12-
MCIPv5.4 accompanies CMAQv5.4. If you are using CMAQv5.3+, you must
10+
MCIPv5.5 accompanies CMAQv5.5. If you are using CMAQv5.3+, you must
1311
upgrade to use MCIPv5.0+.
1412

15-
MCIPv5.4 requires I/O API version 3.1 or greater to support error-checking
13+
MCIPv5.5 requires I/O API version 3.1 or greater to support error-checking
1614
within the I/O API.
1715

18-
MCIPv5.4 requires the netCDF F90 module (rather than the F77 include).
16+
MCIPv5.5 requires the netCDF F90 module (rather than the F77 include).
17+
1918

2019
MCIP can be cited with the following reference:
2120

2221
Otte, T. L., and J. E. Pleim, 2010. The Meteorology-Chemistry Interface
2322
Processor (MCIP) for the CMAQ modeling system: updates through
2423
MCIPv3.4.1. Geoscientific Model Development, 3, 243-256.
2524

26-
A DOI will also be available for CMAQv5.4 (which includes MCIPv5.4).
25+
A DOI will also be available for CMAQv5.5 (which includes MCIPv5.5).
2726

2827

2928
Background on MCIP and other useful information about the CMAQ system can be
3029
found online at http://www.epa.gov/cmaq.
3130

32-
Inquiries related to potential bugs in MCIPv5.4 or questions related to
31+
Inquiries related to potential bugs in MCIPv5.5 for questions related to
3332
proper use of the code should be submitted to the MCIP Category in the
3433
Forum hosted by the CMAS Center: https://forum.cmascenter.org/c/mcip.
3534

@@ -38,11 +37,47 @@ Users should consult the FAQ and other issues raised within the Forum
3837
before submitting new inquiries.
3938

4039

41-
The previous release of MCIP (v5.3.3) was tested with the following Fortran compilers
42-
under both debug and optimized options (as shown in the Makefile):
4340

44-
Intel 19.0.5, netCDF 4.7.4, I/O API 3.2 (downloaded 11 October 2018)
41+
MCIPv5.5 was tested with the following Fortran compilers under both debug
42+
and optimized options (as shown in the Makefile):
43+
44+
Intel 21.4 with netCDF 4.9.2 and I/O API 3.2
45+
46+
Nvidia 22.11 with netCDF 4.9.2 and I/O API 3.2
47+
48+
GCC 8.5.0 with netCDF 4.9.2 and I/O API 3.2
49+
50+
51+
52+
With MCIPv5.5, the following remain deprecated:
53+
- Including "SOIM1", "SOIM2", "SOIT1", and "SOIT2" in METCRO2D.
54+
Those fields are now in a separate file that includes all soil layers and
55+
their associated depths (SOI_CRO).
56+
- Including "LUFRAC_xx" in GRIDCRO2D. Those fields are now in a separate
57+
file that includes each fractional land use classification (LUFRAC_CRO).
58+
59+
With MCIPv5.5, the following output variables in METCRO2D remain deprecated:
60+
- 2-D cloud fraction (CFRAC)
61+
- cloud top (CLDT)
62+
- cloud bottom (CLDB)
63+
- liquid water content (WBAR)
64+
They will be removed from METCRO2D in a forthcoming release of MCIP.
65+
66+
67+
Interactions with members of the CMAQ user community led to some of the changes
68+
that have been incorporated into MCIPv5.5.
69+
70+
71+
The following is a summary of the changes in MCIPv5.5:
72+
73+
1. Changed constraint on XORIG and YORIG for Lambert conformal projections
74+
with user-specified runtime reference latitude. Original constraint of
75+
500 meters introduced an error in calculating the location of the
76+
lower-left corner (i.e., XORIG and YORIG) in domains with a horizontal
77+
grid spacing that is not a multiple of 1 km. Now using a constraint of
78+
5 meters to allow for "neater" XORIG and YORIG values across compilers.
4579

46-
PGI 19.10, netCDF 4.7.4, I/O API 3.2 (downloaded 28 August 2020)
80+
2. Updated WRF option translation for the MCIP metadata for new physics
81+
introduced between WRFv4.1 and WRFv4.6.
4782

48-
GCC 6.1.0, netCDF 4.6.3, I/O API 3.2 (downloaded 11 October 2018)
83+
3. Removed a redundant NF90_OPEN/NF90_CLOSE couplet to improve efficiency.

PREP/mcip/src/Makefile

+20-20
Original file line numberDiff line numberDiff line change
@@ -22,39 +22,39 @@
2222
MODEL = mcip.exe
2323

2424
#...Portland Group Fortran
25-
#...also need to setenv LM_LICENSE_FILE from /usr/local/apps/pgi
26-
#FC = /usr/local/apps/pgi/linux86-64/19.10/bin/pgf90
27-
#NETCDF = /usr/local/apps/netcdf-4.7.4/pgi-19.10
28-
#IOAPI_ROOT = /usr/local/apps/ioapi-3.2_20200828/pgi-19.10
25+
###FC = /usr/local/apps/nvidia/Linux_x86_64/22.11/compilers/bin/nvfortran
26+
###NETCDF = /usr/local/apps/netcdf-4.9.2/nvhpc-22.11
27+
###IOAPI_ROOT = /usr/local/apps/ioapi-3.2/nvhpc-22.11
2928
###FFLAGS = -g -O0 -Ktrap=unf -Ktrap=ovf -Ktrap=divz -Ktrap=inv -Ktrap=fp \
30-
### -Ktrap=inexact -pc 32 -Mbounds -Mchkfpstk -Mchkptr -Kieee \
31-
### -Minform,inform -Mfree -byteswapio -I$(NETCDF)/include \
29+
### -Ktrap=inexact -pc 32 -Mbounds -Mchkptr -Kieee \
30+
### -Minform,inform -Mfree -byteswapio -I$(NETCDF)/include \
3231
### -I$(IOAPI_ROOT)/Linux2_x86_64pg
33-
#FFLAGS = -O4 -fastsse -pc 32 -Mfree -byteswapio -I$(NETCDF)/include \
34-
# -I$(IOAPI_ROOT)/Linux2_x86_64pg
35-
#LIBS = -L$(IOAPI_ROOT)/Linux2_x86_64pg -lioapi \
36-
# -L$(NETCDF)/lib -lnetcdff -lnetcdf
32+
###FFLAGS = -O4 -fastsse -pc 32 -Mfree -byteswapio -I$(NETCDF)/include \
33+
### -I$(IOAPI_ROOT)/Linux2_x86_64pg
34+
###LIBS = -L$(IOAPI_ROOT)/Linux2_x86_64pg -lioapi \
35+
### -L$(NETCDF)/lib -lnetcdff -lnetcdf
3736

3837
#...gfortran
39-
#FC = gfortran
40-
#NETCDF = /usr/local/apps/netcdf-4.6.3/gcc-6.1.0
41-
#IOAPI_ROOT = /usr/local/apps/ioapi-3.2_20181011/gcc-6.1.0
42-
#FFLAGS = -O3 -I$(NETCDF)/include -I$(IOAPI_ROOT)/Linux2_x86_64
38+
###FC = gfortran
39+
###NETCDF = /usr/local/apps/netcdf-4.9.2/gcc-8.5
40+
###IOAPI_ROOT = /usr/local/apps/ioapi-3.2/gcc-8.5
41+
###FFLAGS = -O3 -I$(NETCDF)/include -I$(IOAPI_ROOT)/Linux2_x86_64
4342
###FFLAGS = -g -O0 \
4443
### -ffpe-trap='invalid','zero','overflow','underflow' \
4544
### -I$(NETCDF)/include -I$(IOAPI_ROOT)/Linux2_x86_64
46-
#LIBS = -L$(IOAPI_ROOT)/Linux2_x86_64 -lioapi \
47-
# -L$(NETCDF)/lib -lnetcdff -lnetcdf
45+
###LIBS = -L$(IOAPI_ROOT)/Linux2_x86_64 -lioapi \
46+
### -L$(NETCDF)/lib -lnetcdff -lnetcdf
4847

4948
#...Intel Fortran
5049
FC = ifort
51-
NETCDF = /usr/local/apps/netcdf-4.7.3/intel-19.0
52-
IOAPI_ROOT = /usr/local/apps/ioapi-3.2_20181011/intel-19.0
50+
NETCDF = /usr/local/apps/netcdf-4.9.2/intel-21.4
51+
IOAPI_ROOT = /usr/local/apps/ioapi-3.2/intel-21.4
5352
###FFLAGS = -g -O0 -check all -C -traceback -FR -I$(NETCDF)/include \
5453
### -I$(IOAPI_ROOT)/Linux2_x86_64ifort
55-
FFLAGS = -O3 -traceback -FR -I$(NETCDF)/include -I$(IOAPI_ROOT)/Linux2_x86_64ifort
54+
FFLAGS = -O3 -traceback -FR -I$(NETCDF)/include \
55+
-I$(IOAPI_ROOT)/Linux2_x86_64ifort
5656
LIBS = -L$(IOAPI_ROOT)/lib -lioapi \
57-
-L$(NETCDF)/lib -lnetcdff -lnetcdf
57+
-L$(NETCDF)/lib -lnetcdff -lnetcdf
5858

5959
DEFS =
6060

PREP/mcip/src/mcipparm_mod.f90

+3-2
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ MODULE mcipparm
148148
! with CMAQ. Therefore, the versioning skips from
149149
! MCIPv5.1 to MCIPv5.3.3. (T. Spero)
150150
! 12 Jul 2022 Updated version stamp. (M. Mallard)
151+
! 19 Sep 2024 Updated version stamp. (T. Spero)
151152
!-------------------------------------------------------------------------------
152153

153154
USE m3utilio, ONLY: mxdesc3
@@ -316,7 +317,7 @@ MODULE mcipparm
316317

317318
CHARACTER(LEN=80) :: fdesc ( mxdesc3 )
318319
CHARACTER(LEN=16), PARAMETER :: progname = 'MCIP'
319-
CHARACTER(LEN=10), PARAMETER :: vdate = '07/12/2022'
320-
CHARACTER(LEN=8), PARAMETER :: ver = 'V5.4'
320+
CHARACTER(LEN=10), PARAMETER :: vdate = '09/19/2024'
321+
CHARACTER(LEN=8), PARAMETER :: ver = 'V5.5'
321322

322323
END MODULE mcipparm

0 commit comments

Comments
 (0)