New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
ticket/1851/General (diff) – NEMO

Changes between Version 58 and Version 59 of ticket/1851/General


Ignore:
Timestamp:
2017-03-09T13:18:05+01:00 (7 years ago)
Author:
frrh
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/1851/General

    v58 v59  
    450450subroutines which can modify hdivn with a myriad of other arrays and scalars which are completely invisible. So as usual, having spent days narrowing things down to one or two particular arrays 
    451451the whole thing just explodes in our face again with dozens of other potential sources of trouble.   
     452 
     453Next we arrive at sbc_rnf in SBC/sbcrnf.F90 where it seems our rnf_b diverges.  
     454 
     455There's a suspicious looking bit of code in here which does; 
     456 
     457{{{ 
     458      IF( kt == nit000 ) THEN                          !   set the forcing field at nit000 - 1    ! 
     459         !                                             ! ---------------------------------------- ! 
     460         IF( ln_rstart .AND.    &                               !* Restart: read in restart file 
     461            & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 
     462            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file' 
     463            CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b )     ! before runoff 
     464            CALL iom_get( numror, jpdom_autoglo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem) )   ! before heat content of runoff 
     465            CALL iom_get( numror, jpdom_autoglo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal) )   ! before salinity content of runoff 
     466         ELSE                                                   !* no restart: set from nit000 values 
     467            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields set to nit000' 
     468            rnf_b    (:,:  ) = rnf    (:,:  ) 
     469            rnf_tsc_b(:,:,:) = rnf_tsc(:,:,:) 
     470         ENDIF 
     471      ENDIF 
     472}}} 
     473 
     474So this lump of code can only be called on the first TS after a restart... putting writes in here confirms that it is and that the first IF condition qualifies so it's reading rnf_b and rnf_tsc_b 
     475from the dump. However it seems that if it wasn't reading the dump it wants to transfer rnf to rnf_b and rnf_tsc to rnf_tsc_b. I don't get how that can make sense.  
     476 
     477If it's the first TS of a restart  where's it getting its values from? Ancillaries?  Maybe it's OK.