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 2874 for branches/2011/dev_r2802_UKMO8_cice/NEMOGCM/NEMO/OPA_SRC/IOM/prtctl.F90 – NEMO

Ignore:
Timestamp:
2011-09-28T12:19:59+02:00 (13 years ago)
Author:
charris
Message:

Code for running NEMO with CICE (for fully coupled mode this should be used in combination with dev_r2802_UKMO8_sbccpl). Changes are described briefly below.

physct: Constants modified to be consistent with CICE

nemogcm / prtctl / mppini: Changes to NEMO decomposition (activated using key_nemocice_decomp) to produce 'square' options in CICE. Can run without this key / code but this requires a global gather / scatter in the NEMO-CICE coupling which gets very slow on large processors numbers.

sbc_ice: CICE options and arrays added

sbcmod: CICE option added, including calls for initialising and finalising CICE.

sbcblk_core: Make sure necessary forcing field are available for CICE

sbcice_cice: Main CICE coupling code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2802_UKMO8_cice/NEMOGCM/NEMO/OPA_SRC/IOM/prtctl.F90

    r2715 r2874  
    434434 
    435435      ijpi = ( jpiglo-2*jpreci + (isplt-1) ) / isplt + 2*jpreci 
     436#if defined key_nemocice_decomp 
     437      ijpj = ( jpjglo+1-2*jprecj + (jsplt-1) ) / jsplt + 2*jprecj  
     438#else 
    436439      ijpj = ( jpjglo-2*jprecj + (jsplt-1) ) / jsplt + 2*jprecj 
     440#endif 
    437441 
    438442      ALLOCATE(ilcitl (isplt,jsplt)) 
     
    445449 
    446450      IF(  irestil == 0 )   irestil = isplt 
     451#if defined key_nemocice_decomp 
     452 
     453      ! In order to match CICE the size of domains in NEMO has to be changed 
     454      ! The last line of blocks (west) will have fewer points  
     455      DO jj = 1, jsplt  
     456         DO ji=1, isplt-1  
     457            ilcitl(ji,jj) = ijpi  
     458         END DO  
     459         ilcitl(isplt,jj) = jpiglo - (isplt - 1) * (ijpi - nrecil) 
     460      END DO  
     461 
     462#else  
     463 
    447464      DO jj = 1, jsplt 
    448465         DO ji = 1, irestil 
     
    453470         END DO 
    454471      END DO 
     472 
     473#endif 
    455474       
    456475      IF( irestjl == 0 )   irestjl = jsplt 
     476#if defined key_nemocice_decomp  
     477 
     478      ! Same change to domains in North-South direction as in East-West.  
     479      DO ji = 1, isplt  
     480         DO jj=1, jsplt-1  
     481            ilcjtl(ji,jj) = ijpj  
     482         END DO  
     483         ilcjtl(ji,jsplt) = jpjglo - (jsplt - 1) * (ijpj - nrecjl) 
     484      END DO  
     485 
     486#else  
     487 
    457488      DO ji = 1, isplt 
    458489         DO jj = 1, irestjl 
     
    463494         END DO 
    464495      END DO 
    465        
     496 
     497#endif 
    466498      zidom = nrecil 
    467499      DO ji = 1, isplt 
Note: See TracChangeset for help on using the changeset viewer.