-
Notifications
You must be signed in to change notification settings - Fork 67
Description
I was looking at the implementation of the runoff as a possible reason for differences between monthly and daily restarted IFS-FESOM simulations by @sebastianbeyer . In "sbc_ini", for case 'CORE2' it seems that the runoff variable (USE g_forcing_arrays, only: runoff, chl) is filled with data from the CORE2 climatology:
fesom2/src/gen_surface_forcing.F90
Line 1209 in 2b252cb
| runoff=runoff/1000.0_WP ! Kg/s/m2 --> m/s |
When I came across the runoff mapper that is built later in the sbc_ini routine, it seems that its internal consistency check to check the remapping matrix overwrites the same actual runoff variable runoff instead of using an internal variable for this check:
fesom2/src/gen_surface_forcing.F90
Line 2814 in 2b252cb
| runoff(n)=sum(RUNOFF_MAPPER%values(i:j)) |
do n=1, myDim_nod2D+eDim_nod2D
i=RUNOFF_MAPPER%rowptr(n)
j=RUNOFF_MAPPER%rowptr(n+1)-1
runoff(n)=sum(RUNOFF_MAPPER%values(i:j))
end do
call integrate_nod(runoff, W, partit, mesh)
if (mype==0) write(*,*) 'RUNOFF MAPPER check (total amount of basins):', drain_num
if (mype==0) write(*,*) 'RUNOFF MAPPER check (input of 1Sv from each basin results in runoff of):', W, ' Sv'
When checking the output, it appears to me that as there are 66 basins this always leads to a fantasy value of 66 Sv total runoff after initialisation until the runoff mapper determines actual values, while case 'CORE2' probably leads to something closer to 1Sv?
If I am not mistaken and have not overlooked something here, in daily runs over one month, this hosing experiment would be performed 30x at the beginning of each daily chunk, while in the monthly run, this would be done only once incorrectly.
Please have a look and let me know what you think about this. I have not followed the variable runoff through the whole code and maybe it is overwritten/updated immediately somewhere else. We should make sure that this value is not used, e.g. for an hour or so or depending on how often coupling is performed.