Ignore:
Timestamp:
2019-01-15T18:41:40+01:00 (19 months ago)
Author:
clem
Message:

solve a compilation issue with agrif. It looks like agrif does not like 2 subroutines to have the same name eventhough they are not in the same module and they are not declared as public. I would like to say wtf but lets remain polite and say whats going on? Does agrif consider all the subroutines as public?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ICE/icedyn_adv_umx.F90

    r10512 r10519  
    1414   !!   ultimate_x(_y)    : compute a tracer value at velocity points using ULTIMATE scheme at various orders 
    1515   !!   macho             : ??? 
    16    !!   nonosc            : compute monotonic tracer fluxes by a non-oscillatory algorithm  
     16   !!   nonosc_ice        : compute monotonic tracer fluxes by a non-oscillatory algorithm  
    1717   !!---------------------------------------------------------------------- 
    1818   USE phycst         ! physical constant 
     
    3535   REAL(wp) ::   z1_120 = 1._wp / 120._wp   ! =1/120 
    3636    
    37    ! limiter: 1=nonosc, 2=superbee, 3=h3(rachid) 
     37   ! limiter: 1=nonosc_ice, 2=superbee, 3=h3(rachid) 
    3838   INTEGER ::   kn_limiter = 1 
    3939 
     
    223223      !!                 - calculate tracer H at u and v points (Ultimate) 
    224224      !!                 - calculate the high order fluxes using alterning directions (Macho?) 
    225       !!                 - apply a limiter on the fluxes (nonosc) 
     225      !!                 - apply a limiter on the fluxes (nonosc_ice) 
    226226      !!                 - convert this tracer flux to a tracer content flux (uH -> uV) 
    227227      !!                 - calculate the high order solution for tracer content V 
     
    229229      !! ** Action : solve 2 equations => a) da/dt = -div(ua) 
    230230      !!                                  b) dV/dt = -div(uV) using dH/dt = -u.grad(H) 
    231       !!             in eq. b), - fluxes uH are evaluated (with UMx) and limited (with nonosc). This step is necessary to get a good H. 
     231      !!             in eq. b), - fluxes uH are evaluated (with UMx) and limited (with nonosc_ice). This step is necessary to get a good H. 
    232232      !!                        - then we convert this flux to a "volume" flux this way => uH*ua/u 
    233233      !!                             where ua is the flux from eq. a) 
     
    485485         ! 
    486486         IF    ( kn_limiter == 1 ) THEN 
    487             CALL nonosc( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
     487            CALL nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
    488488         ELSEIF( kn_limiter == 2 .OR. kn_limiter == 3 ) THEN 
    489489            CALL limiter_x( pdt, pu, pt, pfu_ups, pfu_ho ) 
     
    558558 
    559559         ENDIF 
    560          IF( kn_limiter == 1 )   CALL nonosc( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
     560         IF( kn_limiter == 1 )   CALL nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
    561561          
    562562      ENDIF 
     
    650650      ENDIF 
    651651 
    652       IF( kn_limiter == 1 )   CALL nonosc( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
     652      IF( kn_limiter == 1 )   CALL nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
    653653      ! 
    654654   END SUBROUTINE macho 
     
    964964      
    965965 
    966    SUBROUTINE nonosc( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
     966   SUBROUTINE nonosc_ice( pamsk, pdt, pu, pv, pt, pt_ups, pfu_ups, pfv_ups, pfu_ho, pfv_ho ) 
    967967      !!--------------------------------------------------------------------- 
    968       !!                    ***  ROUTINE nonosc  *** 
     968      !!                    ***  ROUTINE nonosc_ice  *** 
    969969      !!      
    970970      !! **  Purpose :   compute monotonic tracer fluxes from the upstream  
    971       !!       scheme and the before field by a nonoscillatory algorithm  
     971      !!       scheme and the before field by a non-oscillatory algorithm  
    972972      !! 
    973973      !! **  Method  :   ... 
     
    11431143!!                  &         ) * tmask(ji,jj,1) 
    11441144!!               IF( zzt < -epsi20 ) THEN 
    1145 !!                  WRITE(numout,*) 'T<0 nonosc',zzt 
     1145!!                  WRITE(numout,*) 'T<0 nonosc_ice',zzt 
    11461146!!               ENDIF 
    11471147!!            END DO 
     
    11501150      END DO 
    11511151      ! 
    1152    END SUBROUTINE nonosc 
     1152   END SUBROUTINE nonosc_ice 
    11531153 
    11541154    
Note: See TracChangeset for help on using the changeset viewer.