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.
Changeset 15120 – NEMO

Changeset 15120


Ignore:
Timestamp:
2021-07-14T11:50:26+02:00 (3 years ago)
Author:
dancopsey
Message:

Fix to get EXPOUT to work when using land suppression.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_GC_couple_pkg/src/OCE/SBC/cpl_oasis3.F90

    r14289 r15120  
    6969   INTEGER, PUBLIC, PARAMETER ::   nmaxcat=5    ! Maximum number of coupling fields 
    7070   INTEGER, PUBLIC, PARAMETER ::   nmaxcpl=5    ! Maximum number of coupling fields 
    71    LOGICAL, PARAMETER         ::   ltmp_wapatch = .TRUE.   ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define   
     71   LOGICAL, PARAMETER         ::   ltmp_wapatch = .FALSE.   ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define   
     72   LOGICAL, PARAMETER         ::   ltmp_landproc = .TRUE.   ! patch to restrict coupled area to non halo cells 
    7273   INTEGER                    ::   nldi_save, nlei_save 
    7374   INTEGER                    ::   nldj_save, nlej_save 
     
    157158         IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj 
    158159      ENDIF  
     160 
     161      ! patch to restrict coupled area to non halo cells 
     162      IF ( ltmp_landproc ) THEN 
     163         nldi_save = nldi   ;   nlei_save = nlei 
     164         nldj_save = nldj   ;   nlej_save = nlej 
     165         IF( nowe == -1 ) nldi = nldi + 1 
     166         IF( noea == -1 ) nlei = nlei - 1 
     167         IF( noso == -1 ) nldj = nldj + 1 
     168         IF( nono == -1 ) nlej = nlej - 1 
     169      ENDIF  
     170 
    159171      IF(lwp) WRITE(numout,*) 
    160       IF(lwp) WRITE(numout,*) 'cpl_define : initialization in coupled ocean/atmosphere case' 
     172      IF(lwp) WRITE(numout,*) 'cpl_define : initialization in coupled ocean/atmosphere case', nldi 
    161173      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~~~' 
    162174      IF(lwp) WRITE(numout,*) 
     
    316328#endif 
    317329      ! 
    318       IF ( ltmp_wapatch ) THEN 
     330      IF ( ltmp_wapatch .OR. ltmp_landproc ) THEN 
    319331         nldi = nldi_save   ;   nlei = nlei_save 
    320332         nldj = nldj_save   ;   nlej = nlej_save 
     
    346358         IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj 
    347359      ENDIF 
     360      IF ( ltmp_landproc ) THEN 
     361         nldi_save = nldi   ;   nlei_save = nlei 
     362         nldj_save = nldj   ;   nlej_save = nlej 
     363         IF( nowe == -1 ) nldi = nldi + 1 
     364         IF( noea == -1 ) nlei = nlei - 1 
     365         IF( noso == -1 ) nldj = nldj + 1 
     366         IF( nono == -1 ) nlej = nlej - 1 
     367      ENDIF  
    348368      ! 
    349369      ! snd data to OASIS3 
     
    374394         ENDDO 
    375395      ENDDO 
    376       IF ( ltmp_wapatch ) THEN 
     396      IF ( ltmp_wapatch .OR. ltmp_landproc ) THEN 
    377397         nldi = nldi_save   ;   nlei = nlei_save 
    378398         nldj = nldj_save   ;   nlej = nlej_save 
     
    399419      !!-------------------------------------------------------------------- 
    400420      ! patch to restore wraparound rows in cpl_send, cpl_rcv, cpl_define 
    401       IF ( ltmp_wapatch ) THEN 
     421      IF ( ltmp_wapatch .OR. ltmp_landproc ) THEN 
    402422         nldi_save = nldi   ;   nlei_save = nlei 
    403423         nldj_save = nldj   ;   nlej_save = nlej 
     
    414434            IF( njmpp           ==      1 ) nldj = 1 
    415435            IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj 
    416          ENDIF 
     436         ENDIF  
     437         IF ( ltmp_landproc ) THEN 
     438            IF( nowe == -1 ) nldi = nldi + 1 
     439            IF( noea == -1 ) nlei = nlei - 1 
     440            IF( noso == -1 ) nldj = nldj + 1 
     441            IF( nono == -1 ) nlej = nlej - 1 
     442         ENDIF  
     443 
    417444         llfisrt = .TRUE. 
    418445 
     
    457484         ENDDO 
    458485 
    459          IF ( ltmp_wapatch ) THEN 
     486         IF ( ltmp_wapatch .OR. ltmp_landproc ) THEN 
    460487            nldi = nldi_save   ;   nlei = nlei_save 
    461488            nldj = nldj_save   ;   nlej = nlej_save 
Note: See TracChangeset for help on using the changeset viewer.