Problem with high-resoltion CLM and int2clm
I’m trying to launch CLM model with 1-km resolution for the region around Moscow and St. Peterburg in Russia in nesting mode, and have some problem:
1) I’ve successfully launched int2clm and CLM and calculated the experiment for big domain (30*30 degrees) with resolution of 0.1 degree.
2) Then I’ve tried to launch int2clm in nesting mode for small domain with resolution 0.01 degree, and int2lm failed with error “ERROR in interp_l: unique lolp_lm”.
3) Then I’ve found in the code of intclm the reference to this problem and option for possible solution (lfill_up = .TRUE in external_data.src), changed in, recompiled int2lm. After this int2lm successfully calculated initial and boundary conditions for my grid in nesting mode.
4) But when I’ve launched CLM for this small grid, in failed in the begining of calculation, because at the first time step some model cells (which are part of small lakes) have NaN values.
Do anybody knows the possible solution of my problem?
I’m attaching external parameters files, sh scripts and output file with NaN values to this post.
Thanks in advance,
|ETR_11km.nc||ETR_11km.nc||6.19 MB||external parameters for big domain|
|Moscow_001_GLC.nc||Moscow_001_GLC.nc||13.2 MB||external parameters for small nesting domain|
|base_clm.sh||base_clm.sh||5.67 KB||script for big domain|
|base_int2clm.sh||base_int2clm.sh||3.2 KB||CLM int2lm script for big domain|
|cclm_nest.sh||cclm_nest.sh||5.94 KB||CLM script for small domain|
|int2lm_nest.sh||int2lm_nest.sh||3.17 KB||int2lm script for small domain|
|lffd2010070100.nc||lffd2010070100.nc||2.84 MB||output file from out02 directory with some NaN values|
Maybe you introduced some inconsistencies by changing lfill_up. Can you upload the lffd2010070100c.nc file, too?
I’ve tried to look for this file again and noticed that it doesn’t exist. I’ve launched another attemp to calculate the same experiment, maybe it appears
And maybe there are any possible solution for the problem with int2lm without changing lfill_up?
In clm_nest.sh you set lwrite_const=.TRUE., in the GRIBOUT namelist. Therefore the file should be in the out01 directory in your case.
The same problem in experiment with 0.02 degree resolution. Base domain is the same. Now I’m attaching also '....c.nc’ files.
|lffd2010070100c.nc||lffd2010070100c.nc||1.32 MB||from out01|
|lffd2010070100p.nc||lffd2010070100p.nc||654 KB||from out01|
|lffd2010070100c.nc||lffd2010070100c.nc||1.32 MB||from out02|
|lffd2010070100.nc||lffd2010070100.nc||736 KB||from out02|
|MSK_002_GLC.nc||MSK_002_GLC.nc||3.65 MB||external parameters with 0.02 degree resolution|
My guess is that there is either a problem with the external data which cannot be seen on the first glance or the namelist settings are not appropriate for the high resolution simulation. I hope that someone with experience in very high resolution can help in the latter case.
maybe try l_cressman = .TRUE. in the int2lm script.
Are you using GPU’s for the calculation ? (sbatch -N $NP1 -p gpu ompi $DirInt2_Exe/int2_clm_cheat ) I dont have any experience using GPU’s or ompi.
Try to switch to normal CPUs.( fewer are better but slower of course)
I think that gpu is not a source of problem: it’s just a name of squeue at out cluster, it is also possible to use it for usual mpi applications. And this problem also appears when I use standard squeue.
I’ve tried to use l_cressman = .TRUE, but nothing changed. It was again the error with lolp_lm when I launched int2lm lfill_up = false and error with NaN values if I used in2clm with lfill_up = true.
Maybe is it possible to switch of 'M’atch interpolation and change in for linear?