fail to run wrf after adding new variables to chem array

Liqing

New member
Hi everyone!
I try to add more variables, which have been already defined in the registry, to existing chem_opt==203 (saprc99_mosaic_8bin_vbs2_aq) package. With the edited registry.chem file, the code could be compiled successfully. But I failed to run wrf.exe,encoutering the following errors in rsl.error file:
*** subr init_data_mosaic_ptr - ncomp_aer .ne. ncomp_dum
isize, itype, iphase = 1 1 2
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 76
ncomp_aer, ncomp_dum = 88 33
-------------------------------------------
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0


The errors above show that use_registry program do not give pointers to all variables correctly.

It seems that there is a limit on numbers of variables or length of string for chem_opt package. I find a similar post in the forum, but still without resolution. The link of this similar post: How to add more variable

Do anyone know how to remove this limit for chem_opt package in registry?
Thanks a lot for your help in advance.
Liqing
 
Hi Liqing,

Please attach your changes to the code. Did you './clean -a' before recompiling?

Jordan
Hi Jordan,

Sorry for the late reply. I have resolved the errors mentioned above through modifying the setting of string length in the files under /tools/ directory.

But now a new problem arise. The case stopped at the first time step without any errors in rsl files after running ~12 hours, but showing "Segmentation fault" in slurm.out file. I tried to modify the setting of time step in namelist.input, or use "ulimit -s ulimited" order, or increase the number of processors. But they did not work.

I have attached registry.chem, rsl.error and slurm.out files. The package (chem_opt==206) I modified has 878 variables now. I feel confused, is it possible to add so much variables to the package? If so, is there any way to solve "Segmentation fault“?

Thanks a lot for your help in advance.

Liqing
 

Attachments

Hi Jordan,

Sorry for the late reply. I have resolved the errors mentioned above through modifying the setting of string length in the files under /tools/ directory.

But now a new problem arise. The case stopped at the first time step without any errors in rsl files after running ~12 hours, but showing "Segmentation fault" in slurm.out file. I tried to modify the setting of time step in namelist.input, or use "ulimit -s ulimited" order, or increase the number of processors. But they did not work.

I have attached registry.chem, rsl.error and slurm.out files. The package (chem_opt==206) I modified has 878 variables now. I feel confused, is it possible to add so much variables to the package? If so, is there any way to solve "Segmentation fault“?

Thanks a lot for your help in advance.

Liqing
FATAL CALLED FROM FILE: <stdin> LINE: 76
ncomp_aer, ncomp_dum = 18 7
May I ask in /tools/ how to specifically modify, also encountered the same problem
 
Hi Liqing,

Please attach your changes to the code. Did you './clean -a' before recompiling?

Jordan
May I ask in /tools/ how to specifically modify, also encountered the same problem
WARNING: SAPRC99_MOSAIC_8BIN_VBS2_AQ_KPP chemistry option is highly experimental and not recommended for use.
*** subr init_data_mosaic_ptr - ncomp_aer .ne. ncomp_dum
isize, itype, iphase = 10 1 2
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 76
ncomp_aer, ncomp_dum = 18 7
-------------------------------------------
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 10
 
Hi everyone!
I try to add more variables, which have been already defined in the registry, to existing chem_opt==203 (saprc99_mosaic_8bin_vbs2_aq) package. With the edited registry.chem file, the code could be compiled successfully. But I failed to run wrf.exe,encoutering the following errors in rsl.error file:
*** subr init_data_mosaic_ptr - ncomp_aer .ne. ncomp_dum
isize, itype, iphase = 1 1 2
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 76
ncomp_aer, ncomp_dum = 88 33
-------------------------------------------
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0


The errors above show that use_registry program do not give pointers to all variables correctly.

It seems that there is a limit on numbers of variables or length of string for chem_opt package. I find a similar post in the forum, but still without resolution. The link of this similar post: How to add more variable

Do anyone know how to remove this limit for chem_opt package in registry?
Thanks a lot for your help in advance.
Liqing
Hi Liqing,

I am having similar issue here. Could you please explain how to change the string length limit?

Thanks,
Suqian
 
Hi Jordan,

Sorry for the late reply. I have resolved the errors mentioned above through modifying the setting of string length in the files under /tools/ directory.

But now a new problem arise. The case stopped at the first time step without any errors in rsl files after running ~12 hours, but showing "Segmentation fault" in slurm.out file. I tried to modify the setting of time step in namelist.input, or use "ulimit -s ulimited" order, or increase the number of processors. But they did not work.

I have attached registry.chem, rsl.error and slurm.out files. The package (chem_opt==206) I modified has 878 variables now. I feel confused, is it possible to add so much variables to the package? If so, is there any way to solve "Segmentation fault“?

Thanks a lot for your help in advance.

Liqing
Hello Liqing,
I have exactly the same issue with chem_opt = 203, the "Segmentation fault". Can I ask if you solved the problem?
Thanks,
Zhan
 
Back
Top