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

WRFChem-3.9.1 Compilation Error

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

sksahk

New member
Hi,

I am compiling WRFChem-3.9.1 after changing dry_dep.F and registry.chem.
But, I am getting following error:

Error: Symbol 'param_dvel_onit' at (1) already has basic type of INTEGER
module_state_description.f90:2863.39:

INTEGER :: P_dvel_onit = 1
1
Error: Symbol 'p_dvel_onit' at (1) already has basic type of INTEGER
module_state_description.f90:2864.39:

LOGICAL :: F_dvel_onit = .FALSE.

------- --------

Fatal Error: Can't open module file 'module_state_description.mod' for reading at (1): No such file or directory
0.05user 0.06system 0:00.14elapsed 78%CPU (0avgtext+0avgdata 7044maxresident)k
84inputs+1outputs (0major+14157minor)pagefaults 0swaps
make[2]: [../configure.wrf:348: module_quilt_outbuf_ops.o] Error 1 (ignored)


I have attached the compile.log file.
Please help me.

Thanks

Saurabh
 

Attachments

  • compile_1st.log
    1.2 MB · Views: 36
Hi Jordan,

I am hereby sending the new (registry_new.chem; dry_dep_driver_new.F) and old files (registry.chem; dry_dep_driver.F).
I have replaced these files in their respective folders (WRFV3/chem/ & WRFV3/Registry/).
I am getting compilation error. Earlier, I have attached the compile.log file.

Kindly help me
It would be very helpful.


Thanks


Saurabh
 

Attachments

  • dry_dep_driver_new.F
    102.8 KB · Views: 33
  • dry_dep_driver.F
    110.2 KB · Views: 28
  • registry.chem.txt
    619 KB · Views: 33
  • registry_new.chem.txt
    618.2 KB · Views: 36
Hi Saurabh,

It looks like you just have two instances of "dvel_onit" in the registry. Delete one, perform a "./clean -a" and recompile. That should fix your issue, but please let me know if not.

Jordan
 
Hi Jordan,
Thanks a lot.
Yes, I have ' dvel_onit ' at two places in registry_new.chem. I have changed it.
Now, I am able to successfully compile the model.

I am running WRFChem_3.9.1 with chem_opt=202 with domain resolution (dx = 10000, dy =10000) and time_step = 45.
I am hereby sending the namelist.input in the attachment.
I am getting following error message:

Tile Strategy is not specified. Assuming 1D-Y
WRF TILE 1 IS 1 IE 87 JS 87 JE 129
WRF NUMBER OF TILES = 1
calculate MEGAN emissions at ktau, gmtp, tmidh = 1 0.00000000 6.25000009E-03
photolysis_driver: called for domain 1
newnucbb mins 2.33E+02 5.00E-02 1.00E-22 9.62E-23 9.12E-23 0.00E+00
newnucbb maxs 2.93E+02 9.52E-01 5.14E-10 1.00E-22 1.81E-11 0.00E+00
newnucbb avgs 2.65E+02 5.81E-01 7.40E-11 9.94E-23 2.05E-15 0.00E+00
newnucbb hinuc 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00 0.00E+00
newnucbb dtnuc 4.50E+01
newnucbb ncnt 86043 0 0 0 0 0 0
coagbb ncntaa 86043 0 15929 17354 1985 0 3 7794 0 0
Fatal error in PMPI_Wait: A process has failed, error stack:
PMPI_Wait(180)............: MPI_Wait(request=0xcb857fc, status=0x7fff876c9d40) failed
MPIR_Wait_impl(77)........:
dequeue_and_set_error(888): Communication error with rank 24


Could you please help me?
Please find the attachment.

Regards,

Saurabh
 

Attachments

  • namelist.input
    11.5 KB · Views: 35
Hi Saurabh,

I will need more information (please attach full rsl.out/error, and possiblity increase debug_level). It's also possible that you are running up against a computing wall given the size of your domain, and the complex chem, but I don't know the memory/procs you are providing.

Jordan
 
Hi, Jordan

Thanks for your response.
At present I am using 4 node and 16 processor on each node (i.e. 4*16 = 64 processor).
Here time_step = 45 and dx=dy = 10000. I have send the namelist.input earlier.
I am getting following segmentation fault.
tail -n 20 rsl.error.0035

d01 2009-01-01_00:01:00 in dry_dep_wesely

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0 0x2B78017CC6D7
#1 0x2B78017CCD1E
#2 0x2B780225F3FF
#3 0x27598BA in __module_dep_simple_MOD_wesely_driver at module_dep_simple.f90:212
#4 0x20500BB in __module_dry_dep_driver_MOD_dry_dep_driver at dry_dep_driver.f90:292


I have attached the rsl.error.0035 and rsl.error.0027.

tail -f rsl.error.0027

Fatal error in PMPI_Wait: A process has failed, error stack:
PMPI_Wait(180)............: MPI_Wait(request=0xcb857fc, status=0x7ffc7e315290) failed
MPIR_Wait_impl(77)........:
dequeue_and_set_error(888): Communication error with rank 35

Further I have changed the time_step = 30 with increased number of processor (i.e. 4*24 = 96).
But, I don't think, It will resolve the issue.


Kindly help me to resolve this error.


Regards

Saurabh Kumar
 

Attachments

  • rsl.error.0027.txt
    3.6 MB · Views: 24
  • rsl.error.0035.txt
    3.6 MB · Views: 24
Hi Jordan,

L212 in chem/module_dep_simple.f90 is as follows:
" iseason = seasonal_pft(id)%seasonal_wes(i,j,iland,current_month) "

L292 in chem/dry_dep_driver.f90 is as follows:
" its,ite, jts,jte, kts,kte ) "

I am hereby sending the dry_dep_driver.f90 and dry_dep_driver.f90 files.
Please find the attachments.

Regards,

Saurabh Kumar
 

Attachments

  • dry_dep_driver.f90
    91.8 KB · Views: 21
  • module_dep_simple.f90
    149.9 KB · Views: 24
Do you have this file? : "wrf_season_wes_usgs_<domain>.nc" and are sure it is being read in correctly?

From registry.chem:

rconfig character wes_seasonal_inname namelist,chem max_domains "wrf_season_wes_usgs_<domain>.nc" h "name of wesely seasonal infile" ""

if not, it can be downloaded here:

https://www.acom.ucar.edu/wrf-chem/download.shtml
 
Hi Jordan,

Thanks for your reply.

I have wrf_season_wes_usgs_d01.nc and exo_coldens_d01 files in WRFV3/test/em_real/. I am using Wescoldens for other schemes and it works well.

ncdump -h wrf_season_wes_usgs_d01.nc
netcdf wrf_season_wes_usgs_d01 {
dimensions:
months = 12 ;
south_north = 130 ;
west_east = 130 ;
npft = 24 ;
variables:
float XLAT(south_north, west_east) ;
float XLONG(south_north, west_east) ;
int seasonal_wes(months, npft, south_north, west_east) ;


Yes in registry.chem following lines are there:

# wesely seasonal veg cover for dry dep
rconfig character wes_seasonal_inname namelist,chem max_domains "wrf_season_wes_usgs_<domain>.nc" h "name of wesely seasonal infile" "" ""

I have put debug_level = 600, in namelist.input.


Regards,

Saurabh Kumar
 
Ahh, ok I think that is your problem. I believe that file is the "base" file that needs to be used to regrid to your domain (i.e., i,j should = e_we, e_ns). Currently any i/j in your domain > 130 will not index correctly. See Appendix B in the WRF-Chem User guide for details on how to use the wesely utility.

Jordan
 
HI Jordan,

Thanks for your suggestion. I will rectify it.
I will set the correct path of wrf directory in wesely.inp.
I will check it all and then submit the job again.

I will update you asap.

Thanks a lot for your help.

Regards,
Saurabh
 
Hi Jordan,

Hope you are doing well.

I have rectified the wrf_season_wes_usgs_d01.nc and exo_coldens_d01 files in WRFV3/test/em_real/.

em_real]$ ncdump -h wrf_season_wes_usgs_d01.nc
netcdf wrf_season_wes_usgs_d01 {
dimensions:
months = 12 ;
south_north = 512 ;
west_east = 693 ;
npft = 24 ;
variables:
float XLAT(south_north, west_east) ;
float XLONG(south_north, west_east) ;
int seasonal_wes(months, npft, south_north, west_east) ;

I am still getting same segmentation fault/error:

em_real]$ tail -n 20 rsl.error.0051
d01 2009-01-01_00:01:30 emissions_driver calling mosaic_addemiss
d01 2009-01-01_00:01:30 LNOx tracer: max_refl, max_cellcount 0.00000000 0.00000000
d01 2009-01-01_00:01:30 calling dry_deposition_driver
d01 2009-01-01_00:01:30 DOING DRY DEP VELOCITIES WITH WESELY METHOD
d01 2009-01-01_00:01:30 in dry_dep_wesely

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0 0x2B9F9FF5C6D7
#1 0x2B9F9FF5CD1E
#2 0x2B9FA09EF3FF
#3 0x27598BA in __module_dep_simple_MOD_wesely_driver at module_dep_simple.f90:212
#4 0x20500BB in __module_dry_dep_driver_MOD_dry_dep_driver at dry_dep_driver.f90:292
#5 0x200EE66 in chem_driver_ at chem_driver.f90:1061
#6 0x1ECF4E6 in solve_interface_ at solve_interface.f90:197
#7 0x48F10A in __module_integrate_MOD_integrate at module_integrate.f90:326
#8 0x4116A9 in __module_wrf_top_MOD_wrf_run at module_wrf_top.f90:322
#9 0x410E8E in wrf at wrf.f90:28
#10 0x2B9FA09DB554

I am using chem_opt = 202 (MOZART+MOSAIC) with dx = dy = 10000; time_step = 45; chemdt = bioemdt = 0.75.

Earlier, I was using same time_step but chemdt = bioemdt = 5.
I am hereby sending the rsl.error file.


Kindly help me to resolve this error.


Regards

Saurabh
 

Attachments

  • rsl.error.0051.txt
    3.7 MB · Views: 23
Hi Saurabh,

I am sorry to hear the fix didn't solve things for you - Can you print out the size of seasonal_pft(id)%seasonal_wes:),:,:,:) and also print the value of each of the indexes (i.e., i,j,iland,current_month) before L1212? Then we can hopefully narrow down the issue.

Jordan
 
Hi Jordan,

Thanks for your email.

I have no idea how to print out the size of seasonal_pft(id)%seasonal_wes:),:,:,:) and also print the value of each of the indexes (i.e., i,j,iland,current_month).

But, I have checked "seasonal_wes" variable in wrf_season_wes_usgs_d01.nc.

em_real]$ ncdump -v seasonal_wes wrf_season_wes_usgs_d01.nc

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,

2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5,

5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,

5, 5, 5, 5, 5,..............................................


Clearly the seasonal_wes values ranges from 1 to 5.

In ncview also the "seasonal_wes" displayed range: 1 to 5.

Hope this information will be useful.



Regards

Saurabh kumar
 
Hi Saurabh,

To print the sizes, add this code right above the failing line (212)

write(*,*) 'i = ', i
write(*,*) 'j = ', j
write(*,*) 'id' = ', id
write(*,*) 'iland = ' , iland
write(*,*) 'current_month = ', current_month
write(*,*) 'size of seasonal_wes = ', size(seasonal_wes)

Then recompile and rerun the simulation

Jordan
 
Hi Jordan,

I have copied following line just before L212 in module_dep_simple.F. I have attached the module_dep_simple.F file.

write(*,*) 'i = ', i
write(*,*) 'j = ', j
write(*,*) 'id = ', id
write(*,*) 'iland = ', iland
write(*,*) 'current_month = ', current_month
write(*,*) 'size of seasonal_wes = ', size(seasonal_wes)

But now I am getting compilation error. I have attached the compile.log ( Error at Line no 4775; 4777; 4780) file also.

module_dep_simple.f90:217.73:

write(*,*) 'size of seasonal_wes = ', size(seasonal_wes)
1
Error: Symbol 'seasonal_wes' at (1) has no IMPLICIT type
6.19user 0.24system 0:06.54elapsed 98%CPU (0avgtext+0avgdata 34684maxresident)k
95057inputs+1outputs (0major+34621minor)pagefaults 0swaps
make[2]: [../configure.wrf:348: module_dep_simple.o] Error 1 (ignored)


Further, I have added in the module_dep_simple.F the line

print*, seasonal_pft(id)%seasonal_wes(i,j,iland,current_month)

immediately after the line L212

iseason = seasonal_pft(id)%seasonal_wes(i,j,iland,current_month)

In this case model compilation is ok. It prints the value of season_wes. You can check at the end of rsl.out.0051 (attached file).
Its giving value from 1 to 3. I am sending rsl.error.0051 file also.

Hope, it will be informative to you.


Please find the attachments.

Regards,

Saurabh Kumar
 

Attachments

  • compile.log
    1.1 MB · Views: 10
  • rsl.error.0051.txt
    3.7 MB · Views: 11
  • rsl.out.0051.txt
    4.2 MB · Views: 12
  • module_dep_simple.F
    183.9 KB · Views: 13
Hmm, ok, try changing the line to:

write(*,*) 'size of seasonal_wes = ', size(seasonal_pft(id)%seasonal_wes:),:,:,:)

If that doesn't work, just get rid of that line and keep the other print statements. I'm trying to see what the index values are in case they are exceeding the bounds. Clearly it is reading it at some points, but not on others.
 
Hi Jordan,

I have copied the line "write(*,*) 'size of seasonal_wes = ', size(seasonal_pft(id)%seasonal_wes:),:,:,:)" just above the L212 in module_dep_simple.F.
But still compilation is not successful (compile_Pre.log fil in the attachment). It gives following error:

module_dep_simple.f90:212.97:

(*,*) 'size of seasonal_wes = ',size(seasonal_pft(id)%seasonal_wes:),:,:,:)
1
Error: Syntax error in argument list at (1)
7.72user 0.21system 0:07.97elapsed 99%CPU (0avgtext+0avgdata 172060maxresident)k
............................

Therefore, I have compiled the model by using other print command
"print*,seasonal_pft(id)%seasonal_wes(i,j,iland,current_month)" just after the L212 in module_dep_simple.F.

It prints the value of season_wes. You can check at the end of rsl.out.0051 (attached file).
Its giving value from 1 to 3. I am sending rsl.error.0051 file also.


Kindly suggest me further.


Regards,

Saurabh Kumar
 

Attachments

  • compile_Pre.log
    1.1 MB · Views: 10
  • rsl.error.0051.txt
    3.7 MB · Views: 11
  • rsl.out.0051.txt
    4.2 MB · Views: 10
Top