Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

WRF 4.3 Compilation Error - Registry Processing Failure

water

Member
Hi,
I'm adding microphysics source/sink terms to WRF output by modifying:

  1. Registry/Registry.EM_COMMON - Added variables (EPRDO, EPRDGO, etc.)
  2. phys/module_mp_morr_two_moment.F - Calculated variables in microphysics scheme
  3. phys/module_microphysics_driver.F - Passed variables through driver
  4. dyn_em/solve_em.F - Added to microphysics_driver call
I have successfully made the same modifications in WRF 4.5, but due to project requirements, I must use WRF 4.3. Compilation fails with registry processing errors.

module_comm_dm_4.G:31:2: fatal error: REGISTRY_COMM_DM_PERIOD_subs.inc: No such file or directory
module_comm_dm_4.f90(26): error #5082: Syntax error, found END-OF-FILE

The vars added to the registry is as follows:
state real EPRDO ikj dyn_em - - h "EPRDO" "Sublimation of cloud ice" "kg kg-1"
state real EPRDGO ikj dyn_em - - h "EPRDGO" "Sublimation of graupel" "kg kg-1"
state real EPRDSO ikj dyn_em - - h "EPRDSO" "Sublimation of snow" "kg kg-1"
state real PRDO ikj dyn_em - - h "PRDO" "Deposition of cloud ice" "kg kg-1"
state real PRDGO ikj dyn_em - - h "PRDGO" "Deposition of graupel" "kg kg-1"
state real PRDSO ikj dyn_em - - h "PRDSO" "Deposition of snow" "kg kg-1"
 

Attachments

  • Registry.EM_COMMON.txt
    419.3 KB · Views: 1
  • compile.log
    1,007.3 KB · Views: 1
Hi,
Can you attach all the files you modified for V4.3. Did you make the exact same modifications to V4.5, or were there variances due to code changes between versions?
 
Yes, I made identical modifications to both WRF 4.3 and WRF 4.5. The changes are exactly the same in logic and purpose across both versions.

I have attached all modified files for WRF 4.3. The key modifications are marked with "gby" (my identifier) in the comments:
 

Attachments

  • module_microphysics_driver.F.txt
    170.8 KB · Views: 1
  • module_mp_morr_two_moment.F.txt
    166.8 KB · Views: 1
  • Registry.EM_COMMON.txt
    419.3 KB · Views: 1
  • solve_em.F.txt
    257.2 KB · Views: 1
Hi, Apologies for the delay. I used your modified files for V4.3 and I was able to successfully compile the code. On my system (NCAR HPC - Derecho), I originally wasn't able to compile because this older code wasn't compatible with the newer Intel compiler I'm using, but it looks like you're using an older Intel, so it's likely not the same issue. When you recompiled V4.3, did you make sure to clean the code (./clean -a), then reconfigure, and then recompile?

Another thing to try - if you compile and it fails, after that try to just simply recompile again (without a clean). I know that sounds counterintuitive, but occasionally the code doesn't compile because of some this older version has many missing object dependencies so sometimes it just fails to compile. A few cycles through ./compile em_real or so may do the trick.
 
Hi, Apologies for the delay. I used your modified files for V4.3 and I was able to successfully compile the code. On my system (NCAR HPC - Derecho), I originally wasn't able to compile because this older code wasn't compatible with the newer Intel compiler I'm using, but it looks like you're using an older Intel, so it's likely not the same issue. When you recompiled V4.3, did you make sure to clean the code (./clean -a), then reconfigure, and then recompile?

Another thing to try - if you compile and it fails, after that try to just simply recompile again (without a clean). I know that sounds counterintuitive, but occasionally the code doesn't compile because of some this older version has many missing object dependencies so sometimes it just fails to compile. A few cycles through ./compile em_real or so may do the trick.
Thanks for the suggestions. I tried both methods — cleaning with ./clean -a and recompiling without cleaning — but it still fails to compile.

The first error is:
module_comm_dm_4.G:31:2: fatal error: REGISTRY_COMM_DM_PERIOD_subs.inc: No such file or directory

Any ideas on how to fix it? Appreciate the help.
 
Thanks for trying those options. Unfortunately because I'm able to compile it with your modifications, I don't have any additional solutions for you. I would suggest trying to seek help from a systems administrator at your institution to see if they can help, since the issue must be specific to your system and/or compiler. Note that when you look for errors in the compile log, search for "Error" with a capital "E." Those are the ones that are important. Typically, if you scroll up/down a bit from that error, you can see some additional information that may be helpful to you and/or your systems administrator.
 
Top