Opened 6 years ago
Closed 5 years ago
#441 closed defect (fixed)
floodplains: missing irrigation ipond load
Reported by: | ajornet | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | orchidee_1_9_6 |
Component: | Physical processes | Version: | trunc |
Keywords: | irrigmap flood_fracmax nan sechiba | Cc: |
Description
Orchidee crashes at routing_irrigmap.
The stacktrace below corresponds to Orchidee-MICT. But It applies the same for Orchidee trunk.
Error:
forrtl: error (65): floating invalid Image PC Routine Line Source libintlc.so.5 00002AF457283CF1 tbk_trace_stack_i Unknown Unknown libintlc.so.5 00002AF457281E2B tbk_string_stack_ Unknown Unknown libifcoremt.so.5 00002AF4559485F2 Unknown Unknown Unknown libifcoremt.so.5 00002AF455948446 tbk_stack_trace Unknown Unknown libifcoremt.so.5 00002AF4558A10D0 for__issue_diagno Unknown Unknown libifcoremt.so.5 00002AF4558B3371 for__signal_handl Unknown Unknown libpthread-2.12.s 00002AF4554237E0 Unknown Unknown Unknown orchideedriver 0000000002998574 routing_mp_routin 7934 routing.f90 orchideedriver 00000000027308A7 routing_mp_routin 417 routing.f90 orchideedriver 00000000009A7500 sechiba_mp_sechib 629 sechiba.f90 orchideedriver 0000000000444993 MAIN__ 672 orchideedriver.f90 orchideedriver 000000000041D8DE Unknown Unknown Unknown libc-2.12.so 00002AF4574F6D1D __libc_start_main Unknown Unknown orchideedriver 000000000041D7E9 Unknown Unknown Unknown
Source code:
IF (is_root_prc) CALL flinget(fid, 'irrig', iml, jml, lml, tml, 1, 1, irrigated_frac) CALL bcast(irrigated_frac) IF (is_root_prc) CALL flinget(fid, 'lake', iml, jml, lml, tml, 1, 1, flood_fracmax(:,:,ilake)) IF (is_root_prc) CALL flinget(fid, 'dam', iml, jml, lml, tml, 1, 1, flood_fracmax(:,:,idam)) IF (is_root_prc) CALL flinget(fid, 'flood', iml, jml, lml, tml, 1, 1, flood_fracmax(:,:,iflood)) IF (is_root_prc) CALL flinget(fid, 'swamp', iml, jml, lml, tml, 1, 1, flood_fracmax(:,:,iswamp)) IF (is_root_prc) CALL flinget(fid, 'saline', iml, jml, lml, tml, 1, 1, flood_fracmax(:,:,isal)) CALL bcast(flood_fracmax) ! IF (is_root_prc) CALL flinclo(fid) ! ! Set to zero all fraction which are less than 0.5% ! DO ip=1,iml DO jp=1,jml ! IF ( irrigated_frac(ip,jp) .LT. undef_sechiba-un) THEN <---- ERROR HERE, NAN values irrigated_frac(ip,jp) = irrigated_frac(ip,jp)/100. IF ( irrigated_frac(ip,jp) < 0.005 ) irrigated_frac(ip,jp) = zero ENDIF ! DO itype=1,ntype IF ( flood_fracmax(ip,jp,itype) .LT. undef_sechiba-1.) THEN flood_fracmax(ip,jp,itype) = flood_fracmax(ip,jp,itype)/100 IF ( flood_fracmax(ip,jp,itype) < 0.005 ) flood_fracmax(ip,jp,itype) = zero ENDIF ENDDO ! ENDDO ENDDO
It turns out itype=6 = ipond has Nan values. That's because it is not loaded nor initialized.
Introducing the line below should be enough:
IF (is_root_prc) CALL flinget(fid, 'pond', iml, jml, lml, tml, 1, 1, flood_fracmax(:,:,ipond))
Change History (1)
comment:1 Changed 5 years ago by jgipsl
- Resolution set to fixed
- Status changed from new to closed
Note: See
TracTickets for help on using
tickets.
Done in the trunk [5613]