Closed rosagierens closed 5 years ago
@gitpeterwind the first 3 point son this issue seem to be right on your wheelhouse. Can you check if this are present on the dev code? I'll have a look on the 4th one and report back.
@rosagierens
I looked over the code on our reserach/develoment code and the issue in point 4 is no longer present. So this should not give you problems on our next relsease.
I think all the four points had already been corrected in the latest dev. For the second point the solution used was:
integer, save, dimension(NSECTORS_SNAP,3), public ::snap2gnfr=reshape([1,3,2,4,13,5,6,7,10,11,-1 & ,-1,-1,-1,-1,-1,-1,-1,8,-1,12,-1 & ,-1,-1,-1,-1,-1,-1,-1,9,-1,-1,-1 & ],shape(snap2gnfr))
But I think it is also gfortran compatible
@gitpeterwind I had a look at the fix for the 1st point
if(met(ix)%found .eqv. .false.) then
and think that it is more complicated than needs to be. The following is also easier to read, and consistent the rest of the module
if(.not.met(ix)%found) then
If you agree, I can edit that line on our research/dev branch
@gitpeterwind I tried your solution with both gfortran and the cray fortran compiler and had no issues compiling.
Thanks for the feedback Rosa!
@gitpeterwind
you did not answered my question about .eqv. false
vs .not.
, so I guess you do not care. I'll update the reserach/dev branch. Please revert my change if you do not agree.
@rosagierens Thanks for the bug reports and the feedback on our fixes. We'll keep this issue open until the next version is released.
Yes,
if(.not.met(ix)%found) then
is better!
From #49. Although the files CellMet_ml.f90 and ColumnSource_ml.f90 were updated as explained above, I still got an error:
mpif90 -ffree-line-length-none -fdefault-real-8 -O3 -I/cm/shared/apps/netcdf/gcc/64/4.4.0/mpi/include -c CM_ChemRates_ml.f90
CM_ChemRates_ml.f90:137.32:
rct(68,:) = 1450000000000*exp(-10688*TINV)
1
Error: Integer too big for its kind at (1). This check can be disabled with the option -fno-range-check
make: *** [CM_ChemRates_ml.o] Error 1
Can somebody check whether I have placed the requested changes in the ColumnSource file correct as described in the attached screen
shot?
Hi @martinsaliba
As you are now focusing on rv4_17, you can use the source code in our repository.
On the last commit to the source branch (d60dd09) implemented all the fixes.
The following command will retrieve the code from the source branch and put it on a new directory (emep-ctm/
)
git clone -b source --single-branch git@github.com:metno/emep-ctm.git
Hi again,
you can check your own changes against the ones on the repository, see d60dd09 for details.
Can somebody check whether I have placed the requested changes in the ColumnSource file correct
Looks fine to me.
As far as I can tell, this issues were addressed before rv4_32.
Using the gfortran compiler (version 6.2.0) I run into the following (tiny) errors:
Met_ml.f90 line 3117
if(met(ix)%found == .false.) then
fixed by using.eqv.
instead of==
EmisDef_ml.f90 lines 104-107
integer, save, dimension(NSECTORS_SNAP,3) ::snap2gnfr= (/1,3,2,4,13,5,6,7,10,11,-1 &
,-1,-1,-1,-1,-1,-1,-1,8,-1,12,-1 &
,-1,-1,-1,-1,-1,-1,-1,9,-1,-1,-1 &
/)
from the dimensions given I thought this could beinteger, save, dimension(NSECTORS_SNAP,3) ::snap2gnfr= reshape( (/1,3,2,4,13,5,6,7,10,11,-1 &
,-1,-1,-1,-1,-1,-1,-1,8,-1,12,-1 &
,-1,-1,-1,-1,-1,-1,-1,9,-1,-1,-1 &
/), &
(/NSECTORS_SNAP,3/) )
CellMet_ml.f90 line 212
if(z0_out_ix) d_2d(z0_out_ix,i,j,IOU_INST) = &
line 221if(z0_out_ix) d_2d(z0_out_ix,i,j,IOU_INST) = &
from the context I'm guessingif(z0_out_ix>0)
ColumnSource_ml.f90 lines 172-173
NAMELIST /ColumnSource_config/&
NMAX_LOC,NMAX_EMS,flocdef,femsdef,need_topo
appears outside the definition block of the subroutine, needed to move these two lines before theif(.not.foundtopo) [...] end if
-block