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 1792 for trunk – NEMO

Changeset 1792 for trunk


Ignore:
Timestamp:
2009-12-21T16:05:15+01:00 (14 years ago)
Author:
rblod
Message:

Add fake agrif_root function, see ticket #628

Location:
trunk/NEMO/OPA_SRC
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DIA/dianam.F90

    r1731 r1792  
    129129  
    130130      cdfnam = TRIM(cexper)//TRIM(clave)//"_"//TRIM(cldate1)//"_"//TRIM(cldate2)//"_"//TRIM(cdsuff) 
    131 #if defined key_agrif 
    132       if ( .NOT. Agrif_Root() ) cdfnam = TRIM(Agrif_CFixed())//'_'//TRIM(cdfnam) 
    133 #endif     
     131      IF( .NOT. Agrif_Root() ) cdfnam = TRIM(Agrif_CFixed())//'_'//TRIM(cdfnam) 
    134132 
    135133   END SUBROUTINE dia_nam 
  • trunk/NEMO/OPA_SRC/DIA/diawri.F90

    r1756 r1792  
    629629      ! Define name, frequency of output and means 
    630630      clname = cdfile_name 
    631 #if defined key_agrif 
    632       if ( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    633 #endif 
     631      IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    634632      zdt  = rdt 
    635633      zsto = rdt 
  • trunk/NEMO/OPA_SRC/DOM/dom_oce.F90

    r1730 r1792  
    219219#else 
    220220   LOGICAL, PUBLIC, PARAMETER ::   lk_agrif = .FALSE.   !: agrif flag 
     221 
     222CONTAINS 
     223   LOGICAL FUNCTION Agrif_Root() 
     224      Agrif_Root = .TRUE. 
     225   END FUNCTION Agrif_Root 
     226 
     227   CHARACTER(len=3) FUNCTION Agrif_CFixed() 
     228     Agrif_CFixed = '0'  
     229   END FUNCTION Agrif_CFixed 
    221230#endif 
    222231 
  • trunk/NEMO/OPA_SRC/DOM/domain.F90

    r1732 r1792  
    166166      ENDIF 
    167167 
    168 #if defined key_agrif 
    169168      IF( Agrif_Root() ) THEN 
    170 #endif 
    171       SELECT CASE ( nleapy )        ! Choose calendar for IOIPSL 
    172       CASE (  1 )  
    173          CALL ioconf_calendar('gregorian') 
    174          IF(lwp) WRITE(numout,*) '   The IOIPSL calendar is "gregorian", i.e. leap year' 
    175       CASE (  0 ) 
    176          CALL ioconf_calendar('noleap') 
    177          IF(lwp) WRITE(numout,*) '   The IOIPSL calendar is "noleap", i.e. no leap year' 
    178       CASE ( 30 ) 
    179          CALL ioconf_calendar('360d') 
    180          IF(lwp) WRITE(numout,*) '   The IOIPSL calendar is "360d", i.e. 360 days in a year' 
    181       END SELECT 
    182 #if defined key_agrif 
    183       ENDIF 
    184 #endif 
     169         SELECT CASE ( nleapy )        ! Choose calendar for IOIPSL 
     170         CASE (  1 )  
     171            CALL ioconf_calendar('gregorian') 
     172            IF(lwp) WRITE(numout,*) '   The IOIPSL calendar is "gregorian", i.e. leap year' 
     173         CASE (  0 ) 
     174            CALL ioconf_calendar('noleap') 
     175            IF(lwp) WRITE(numout,*) '   The IOIPSL calendar is "noleap", i.e. no leap year' 
     176         CASE ( 30 ) 
     177            CALL ioconf_calendar('360d') 
     178            IF(lwp) WRITE(numout,*) '   The IOIPSL calendar is "360d", i.e. 360 days in a year' 
     179         END SELECT 
     180      ENDIF 
    185181 
    186182      REWIND( numnam )             ! Namelist namdom : space & time domain (bathymetry, mesh, timestep) 
  • trunk/NEMO/OPA_SRC/DOM/domhgr.F90

    r1707 r1792  
    270270          
    271271#if defined key_agrif && defined key_eel_r6 
    272          IF (.Not.Agrif_Root()) THEN 
     272         IF( .NOT. Agrif_Root() ) THEN 
    273273           glam0  = Agrif_Parent(glam0) + (Agrif_ix())*Agrif_Parent(ppe1_m) * 1.e-3 
    274274           gphi0  = Agrif_Parent(gphi0) + (Agrif_iy())*Agrif_Parent(ppe2_m) * 1.e-3 
     
    465465          
    466466#if defined key_agrif && defined key_eel_r6 
    467          IF (.Not.Agrif_Root()) THEN 
     467         IF( .NOT. Agrif_Root() ) THEN 
    468468           zphi0 = ppgphi0 - FLOAT( Agrif_Parent(jpjglo)/2)*Agrif_Parent(ppe2_m) / (ra * rad) 
    469469         ENDIF 
  • trunk/NEMO/OPA_SRC/DYN/divcur.F90

    r1152 r1792  
    123123 
    124124#if defined key_obc 
    125 #if defined key_agrif 
    126          IF (Agrif_Root() ) THEN 
    127 #endif 
    128          ! open boundaries (div must be zero behind the open boundary) 
    129          !  mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 
    130          IF( lp_obc_east  )   hdivn(nie0p1:nie1p1,nje0  :nje1  ,jk) = 0.e0      ! east 
    131          IF( lp_obc_west  )   hdivn(niw0  :niw1  ,njw0  :njw1  ,jk) = 0.e0      ! west 
    132          IF( lp_obc_north )   hdivn(nin0  :nin1  ,njn0p1:njn1p1,jk) = 0.e0      ! north 
    133          IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south 
    134 #if defined key_agrif 
    135          ENDIF 
    136 #endif 
     125         IF( Agrif_Root() ) THEN 
     126            ! open boundaries (div must be zero behind the open boundary) 
     127            !  mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 
     128            IF( lp_obc_east  )   hdivn(nie0p1:nie1p1,nje0  :nje1  ,jk) = 0.e0      ! east 
     129            IF( lp_obc_west  )   hdivn(niw0  :niw1  ,njw0  :njw1  ,jk) = 0.e0      ! west 
     130            IF( lp_obc_north )   hdivn(nin0  :nin1  ,njn0p1:njn1p1,jk) = 0.e0      ! north 
     131            IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south 
     132         ENDIF 
    137133#endif          
    138134#if defined key_bdy 
    139135         ! unstructured open boundaries (div must be zero behind the open boundary) 
    140136         DO jj = 1, jpj 
    141            DO ji = 1, jpi 
    142              hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj) 
    143            END DO 
     137            DO ji = 1, jpi 
     138               hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj) 
     139            END DO 
    144140         END DO 
    145141#endif          
    146 #if defined key_agrif 
    147          if ( .NOT. AGRIF_Root() ) then 
    148            IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east 
    149            IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2      , :     ,jk) = 0.e0      ! west 
    150            IF ((nbondj ==  1).OR.(nbondj == 2)) hdivn(:      ,nlcj-1 ,jk) = 0.e0      ! north 
    151            IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(:      ,2      ,jk) = 0.e0      ! south 
    152          endif 
    153 #endif     
     142         IF( .NOT. AGRIF_Root() ) THEN 
     143            IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east 
     144            IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2      , :     ,jk) = 0.e0      ! west 
     145            IF ((nbondj ==  1).OR.(nbondj == 2)) hdivn(:      ,nlcj-1 ,jk) = 0.e0      ! north 
     146            IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(:      ,2      ,jk) = 0.e0      ! south 
     147         ENDIF 
    154148 
    155149         !                                             ! -------- 
     
    341335 
    342336#if defined key_obc 
    343 #if defined key_agrif 
    344          IF ( Agrif_Root() ) THEN 
    345 #endif 
    346          ! open boundaries (div must be zero behind the open boundary) 
    347          !  mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 
    348          IF( lp_obc_east  )   hdivn(nie0p1:nie1p1,nje0  :nje1  ,jk) = 0.e0      ! east 
    349          IF( lp_obc_west  )   hdivn(niw0  :niw1  ,njw0  :njw1  ,jk) = 0.e0      ! west 
    350          IF( lp_obc_north )   hdivn(nin0  :nin1  ,njn0p1:njn1p1,jk) = 0.e0      ! north 
    351          IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south 
    352 #if defined key_agrif 
    353          ENDIF 
    354 #endif 
     337         IF( Agrif_Root() ) THEN 
     338            ! open boundaries (div must be zero behind the open boundary) 
     339            !  mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 
     340            IF( lp_obc_east  )   hdivn(nie0p1:nie1p1,nje0  :nje1  ,jk) = 0.e0      ! east 
     341            IF( lp_obc_west  )   hdivn(niw0  :niw1  ,njw0  :njw1  ,jk) = 0.e0      ! west 
     342            IF( lp_obc_north )   hdivn(nin0  :nin1  ,njn0p1:njn1p1,jk) = 0.e0      ! north 
     343            IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south 
     344         ENDIF 
    355345#endif          
    356346#if defined key_bdy 
     
    362352         END DO 
    363353#endif         
    364 #if defined key_agrif 
    365          if ( .NOT. AGRIF_Root() ) then 
     354         IF( .NOT. AGRIF_Root() ) THEN 
    366355            IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east 
    367356            IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2      , :     ,jk) = 0.e0      ! west 
    368357            IF ((nbondj ==  1).OR.(nbondj == 2)) hdivn(:      ,nlcj-1 ,jk) = 0.e0      ! north 
    369358            IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(:      ,2      ,jk) = 0.e0      ! south 
    370          endif 
    371 #endif     
     359         ENDIF 
    372360 
    373361         !                                             ! -------- 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r1739 r1792  
    330330      END DO 
    331331 
    332 #if defined key_agrif       
     332#if defined key_agrif 
    333333      IF( .NOT. Agrif_Root() ) THEN 
    334334         ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface 
     
    338338         IF( nbondj ==  1 .OR. nbondj == 2 ) spgv(:,nlcj-2) = z2dtg * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 
    339339      ENDIF 
    340 #endif       
     340#endif 
     341 
    341342      ! Add the trends multiplied by z2dt to the after velocity 
    342343      ! ------------------------------------------------------- 
  • trunk/NEMO/OPA_SRC/DYN/sshwzv.F90

    r1756 r1792  
    157157 
    158158#if defined key_obc 
    159 # if defined key_agrif 
    160159      IF ( Agrif_Root() ) THEN  
    161 # endif 
    162160         ssha(:,:) = ssha(:,:) * obctmsk(:,:) 
    163161         CALL lbc_lnk( ssha, 'T', 1. )  ! absolutly compulsory !! (jmm) 
    164 # if defined key_agrif 
    165       ENDIF 
    166 # endif 
     162      ENDIF 
    167163#endif 
    168164 
  • trunk/NEMO/OPA_SRC/IOM/iom.F90

    r1743 r1792  
    164164      ! if iom_open is called for the first time: initialize iom_file(:)%nfid to 0 
    165165      ! (could be done when defining iom_file in f95 but not in f90) 
    166 #if ! defined key_agrif 
    167       IF( iom_open_init == 0 ) THEN 
    168          iom_file(:)%nfid = 0 
    169          iom_open_init = 1 
    170       ENDIF 
    171 #else 
    172166      IF( Agrif_Root() ) THEN 
    173167         IF( iom_open_init == 0 ) THEN 
     
    176170         ENDIF 
    177171      ENDIF 
    178 #endif 
    179172      ! do we read or write the file? 
    180173      IF( PRESENT(ldwrt) ) THEN   ;   llwrt = ldwrt 
     
    199192      ! ============= 
    200193      clname   = trim(cdname) 
    201 #if defined key_agrif 
    202194      IF ( .NOT. Agrif_Root() .AND. .NOT. lliof ) THEN 
    203195         iln    = INDEX(clname,'/')  
     
    206198         clname=TRIM(cltmpn)//TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
    207199      ENDIF 
    208 #endif     
    209200      ! which suffix should we use? 
    210201      SELECT CASE (iolib) 
  • trunk/NEMO/OPA_SRC/SBC/sbcmod.F90

    r1725 r1792  
    8585!!gm here no overwrite, test all option via namelist change: require more incore memory 
    8686!!gm  IF( lk_sbc_cpl       ) THEN   ;   ln_cpl      = .TRUE.   ;   ELSE   ;   ln_cpl      = .FALSE.   ;   ENDIF 
    87 #if defined key_agrif 
     87 
    8888      IF ( Agrif_Root() ) THEN 
    89 #endif 
    9089        IF( lk_lim2 )            nn_ice      = 2 
    9190        IF( lk_lim3 )            nn_ice      = 3 
    92 #if defined key_agrif 
    93       ENDIF 
    94 #endif 
     91      ENDIF 
     92      ! 
    9593      IF( cp_cfg == 'gyre' ) THEN 
    9694          ln_ana      = .TRUE.    
  • trunk/NEMO/OPA_SRC/SOL/solmat.F90

    r1601 r1792  
    142142#endif 
    143143 
    144 #if defined key_agrif 
    145       IF( .NOT.AGRIF_ROOT() ) THEN 
     144      IF( .NOT. Agrif_Root() ) THEN   ! Fine grid boundaries 
    146145         ! 
    147146         IF( nbondi == -1 .OR. nbondi == 2 )   bmask(2     ,:     ) = 0.e0 
     
    192191         !  
    193192      ENDIF 
    194 #endif 
    195193 
    196194      ! 2. Boundary conditions  
Note: See TracChangeset for help on using the changeset viewer.