Opened 4 years ago

Last modified 19 months ago

#110 accepted Defect

Warm start crashes FLEXPART-WRF

Reported by: adingwell Owned by: jbrioude
Priority: major Milestone: FLEXPART_WRF_3.4_FPbase_9
Component: FP other Version: FLEXPART-WRF
Keywords: Cc:

Description

FLEXPART-WRF crashes with the following cryptic error if trying to run with option IPOUT=1:

At line 46 of file skplin.f90 (unit = 1, file = 'flex_nyiragongo_main.input')
Fortran runtime error: End of file

I think the problem is in subroutine readinput in this block of code:

...
        if (iouttype .eq. 0 .or. iouttype .eq.2) then
          read(unitpartin,end=99) itimein,numpart_in, &
            iomode_xycoord_in
        else
          read(unitpartin,*,end=99) itimein,numpart_in, &
            iomode_xycoord_in
        endif
...

After jumping back to 99, readinput will repeat code that has already been run. WRF input files will be read a second time, followed by the gridcheck routines. After that, readinput will try to read OUTGRID setting a second time, but since this has already been done, the initial call to skplin will reach the end of file(?).
This much I'm sure about.

I'm not sure if I got the rest right since this subroutine is a bit hard to follow but hopefully this will help solve the problem. I tried solving the problem by skipping forward instead:

...
        if (iouttype .eq. 0 .or. iouttype .eq.2) then
          read(unitpartin,end=101) itimein,numpart_in, &
            iomode_xycoord_in
        else
          read(unitpartin,*,end=101) itimein,numpart_in, &
            iomode_xycoord_in
        endif

101   nparttot2=maxpart+numpart_in

...

The model will now run without any errors, however, the "old" particles aren't properly loaded. Plotting the particle positions before and after the attempted warm start clearly shows that the model started from scratch.

So, is the warm start feature currently broken or not yet implemented?

Attachments (3)

flexwrf_init.input (6.6 KB) - added by adingwell 4 years ago.
Initial input file
flex_main.input (6.6 KB) - added by adingwell 4 years ago.
input for warm start
bugfix.tar (250.0 KB) - added by jbrioude 4 years ago.
bug fix

Download all attachments as: .zip

Change History (10)

comment:1 Changed 4 years ago by DefaultCC Plugin

comment:2 Changed 4 years ago by jbrioude

  • Owner changed from somebody to jbrioude
  • Status changed from new to assigned

Hi Adam,
sorry for the late reply.
Can you attach your input file before the warm start and when you try the warm start?

Thanks

Changed 4 years ago by adingwell

Initial input file

Changed 4 years ago by adingwell

input for warm start

comment:3 Changed 4 years ago by jbrioude

  • Status changed from assigned to accepted

Changed 4 years ago by jbrioude

bug fix

comment:4 Changed 4 years ago by jbrioude

Hi Adam,
I have added a tar file with different fortran codes to fix the warm start issue you have.
Let me know if that works.

comment:5 Changed 3 years ago by adingwell

Hi!
We might have come across something bigger here, I still got a crash with the new code (segmentation fault) so I re-compiled with debug flags and got this:

At line 133 of file interpol_wind.f90
Fortran runtime error: Index '0' of dimension 1 of array 'height' below lower bound of 1

comment:6 Changed 2 years ago by adingwell

  • Milestone changed from FLEXPART_WRF_3.2_FPbase_9 to FLEXPART_WRF_3.3_FPbase_9

Updated to next milestone, currently no fix.

comment:7 Changed 19 months ago by pesei

  • Milestone changed from FLEXPART_WRF_3.3_FPbase_9 to FLEXPART_WRF_3.4_FPbase_9

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.
hosted by ZAMG