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 661 for trunk/NEMO/OPA_SRC – NEMO

Changeset 661 for trunk/NEMO/OPA_SRC


Ignore:
Timestamp:
2007-05-25T17:51:50+02:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_bugfix_039:RB: change dom_vvl functions to corresponding subroutines for compatibility with AGRIF

Location:
trunk/NEMO/OPA_SRC
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/domvvl.F90

    r642 r661  
    3232   PUBLIC dom_vvl_ssh    ! called by trazdf.F90 
    3333   PUBLIC dom_vvl        ! called by istate.F90 and step.F90 
    34    PUBLIC sfe3ini        !  
    35    PUBLIC sfe3           !  
     34   PUBLIC dom_vvl_sf_ini !  
     35   PUBLIC dom_vvl_sf     !  
    3636 
    3737   !! * Module variables 
     
    301301   END SUBROUTINE dom_vvl_ssh 
    302302 
    303    FUNCTION sfe3( zssh, gridp ) 
    304       !!---------------------------------------------------------------------- 
    305       !!                ***  ROUTINE sfe3  *** 
     303   SUBROUTINE  dom_vvl_sf( zssh, gridp, sfe3 ) 
     304      !!---------------------------------------------------------------------- 
     305      !!                ***  ROUTINE dom_vvl_sf  *** 
    306306      !!                    
    307307      !! ** Purpose :  compute vertical scale factor at each time step 
     
    310310      CHARACTER(LEN=1)                , INTENT( in ) :: gridp   ! grid point type 
    311311      REAL(wp), DIMENSION(jpi,jpj)    , INTENT( in ) :: zssh    ! 2D workspace 
    312       REAL(wp), DIMENSION(jpi,jpj,jpk)              :: sfe3    ! 3D workspace 
     312      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( out) :: sfe3    ! 3D workspace 
    313313 
    314314      !! * Local declarations 
     
    338338      END SELECT 
    339339 
    340       END FUNCTION sfe3 
    341  
    342    FUNCTION sfe3ini( gridp ) 
    343       !!---------------------------------------------------------------------- 
    344       !!                ***  ROUTINE sfe3  *** 
     340   END SUBROUTINE dom_vvl_sf 
     341 
     342   SUBROUTINE dom_vvl_sf_ini( gridp, sfe3ini ) 
     343      !!---------------------------------------------------------------------- 
     344      !!                ***  ROUTINE dom_vvl_sf_ini  *** 
    345345      !!                    
    346346      !! ** Purpose :  affect the appropriate vertical scale factor. It is done 
     
    349349      !! * Arguments 
    350350      CHARACTER(LEN=1)                , INTENT( in ) :: gridp      ! grid point type 
    351       REAL(wp), DIMENSION(jpi,jpj,jpk)              :: sfe3ini    ! 3D workspace 
     351      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT (out) :: sfe3ini    ! 3D workspace 
    352352      !!---------------------------------------------------------------------- 
    353353 
     
    368368      END SELECT 
    369369 
    370       END FUNCTION sfe3ini 
     370   END SUBROUTINE dom_vvl_sf_ini 
    371371#else 
    372372   !!---------------------------------------------------------------------- 
     
    382382      WRITE(*,*) 'dom_vvl_ssh: You should not have seen this print! error?', kt 
    383383   END SUBROUTINE dom_vvl_ssh 
    384    FUNCTION sfe3( zssh, gridp )  
     384   SUBROUTINE dom_vvl_sf( zssh, gridp, sfe3 )  
    385385      !! * Arguments 
    386386      CHARACTER(LEN=1)                , INTENT( in ) :: gridp   ! grid point type 
    387387      REAL(wp), DIMENSION(jpi,jpj)    , INTENT( in ) :: zssh    ! 2D workspace 
    388       REAL(wp), DIMENSION(jpi,jpj,jpk)              :: sfe3    ! 3D workspace 
     388      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT (out) :: sfe3    ! 3D workspace 
    389389      sfe3(:,:,:) = 0.e0 
    390390      WRITE(*,*) 'sfe3: You should not have seen this print! error?', gridp 
    391391      WRITE(*,*) 'sfe3: You should not have seen this print! error?', zssh(1,1) 
    392    END FUNCTION sfe3 
    393    FUNCTION sfe3ini( gridp )  
     392   END SUBROUTINE dom_vvl_sf 
     393   SUBROUTINE dom_vvl_sf_ini( gridp, sfe3ini )  
    394394      !! * Arguments 
    395395      CHARACTER(LEN=1)                , INTENT( in ) :: gridp    ! grid point type 
    396       REAL(wp), DIMENSION(jpi,jpj,jpk)              :: sfe3ini  ! 3D workspace 
     396      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT (out) :: sfe3ini  ! 3D workspace 
    397397      sfe3ini(:,:,:) = 0.e0 
    398398      WRITE(*,*) 'sfe3ini: You should not have seen this print! error?', gridp 
    399    END FUNCTION sfe3ini 
     399   END SUBROUTINE dom_vvl_sf_ini 
    400400#endif 
    401401 
  • trunk/NEMO/OPA_SRC/DYN/dynnxt.F90

    r642 r661  
    135135         ! Scale factors at before and after time step 
    136136         ! ------------------------------------------- 
    137          zfse3ub(:,:,:) = sfe3( zsshub, 'U' )   ;    zfse3ua(:,:,:) = sfe3( zsshua, 'U' ) 
    138          zfse3vb(:,:,:) = sfe3( zsshvb, 'V' )   ;    zfse3va(:,:,:) = sfe3( zsshva, 'V' ) 
     137         CALL dom_vvl_sf( zsshub, 'U', zfse3ub ) ;    CALL dom_vvl_sf( zsshua, 'U', zfse3ua )  
     138         CALL dom_vvl_sf( zsshvb, 'V', zfse3vb ) ;    CALL dom_vvl_sf( zsshva, 'V', zfse3va )  
    139139 
    140140         ! Asselin filtered scale factor at now time step 
    141141         ! ---------------------------------------------- 
    142142         IF( (neuler == 0 .AND. kt == nit000) .OR. lk_dynspg_ts ) THEN 
    143             zfse3un(:,:,:) = sfe3ini( 'U' ) 
    144             zfse3vn(:,:,:) = sfe3ini( 'V' ) 
     143            CALL dom_vvl_sf_ini( 'U', zfse3un ) ;   CALL dom_vvl_sf_ini( 'V', zfse3vn )  
    145144         ELSE 
    146145            zsshun(:,:) = atfp * ( zsshub(:,:) + zsshua(:,:) ) + atfp1 * sshu(:,:) 
    147146            zsshvn(:,:) = atfp * ( zsshvb(:,:) + zsshva(:,:) ) + atfp1 * sshv(:,:) 
    148             zfse3un(:,:,:) = sfe3( zsshun, 'U' )   ;    zfse3vn(:,:,:) = sfe3( zsshvn, 'V' ) 
     147            CALL dom_vvl_sf( zsshun, 'U', zfse3un ) ;   CALL dom_vvl_sf( zsshvn, 'V', zfse3vn )  
    149148         ENDIF 
    150149 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r657 r661  
    187187         ! Scale factors at before and after time step 
    188188         ! ------------------------------------------- 
    189          zfse3ua(:,:,:) = sfe3( zsshua, 'U' )    ;    zfse3ub(:,:,:) = sfe3( zsshub, 'U' ) 
    190          zfse3va(:,:,:) = sfe3( zsshva, 'V' )    ;    zfse3vb(:,:,:) = sfe3( zsshvb, 'V' ) 
     189         CALL dom_vvl_sf( zsshub, 'U', zfse3ub ) ;    CALL dom_vvl_sf( zsshua, 'U', zfse3ua ) 
     190         CALL dom_vvl_sf( zsshvb, 'V', zfse3vb ) ;    CALL dom_vvl_sf( zsshva, 'V', zfse3va ) 
     191 
    191192 
    192193         ! Thickness weighting 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r657 r661  
    511511            ! Scale factors at before and after time step 
    512512            ! ------------------------------------------- 
    513             zfse3un_e(:,:,:) = sfe3( zsshun_e, 'U' )    ;    zfse3vn_e(:,:,:) = sfe3( zsshvn_e, 'V' ) 
     513            CALL dom_vvl_sf( zsshun_e, 'U', zfse3un_e ) ;   CALL dom_vvl_sf( zsshvn_e, 'V', zfse3vn_e ) 
    514514 
    515515            ! Ocean depth at U- and V-points 
  • trunk/NEMO/OPA_SRC/TRA/tranxt.F90

    r642 r661  
    100100         ! Scale factors at before and after time step 
    101101         ! ------------------------------------------- 
    102          zfse3tb(:,:,:) = sfe3( sshb, 'T' )    ;    zfse3ta(:,:,:) = sfe3( ssha, 'T' ) 
     102         CALL dom_vvl_sf( sshb, 'T', zfse3tb ) ;    CALL dom_vvl_sf( ssha, 'T', zfse3ta ) 
    103103 
    104104         ! Asselin filtered scale factor at now time step 
    105105         ! ---------------------------------------------- 
    106106         IF( (neuler == 0 .AND. kt == nit000) .OR. lk_dynspg_ts ) THEN 
    107             zfse3tn(:,:,:) = sfe3ini( 'T' ) 
     107            CALL dom_vvl_sf_ini( 'T', zfse3tn )  
    108108         ELSE 
    109109            zssh(:,:) = atfp * ( sshb(:,:) + ssha(:,:) ) + atfp1 * sshn(:,:) 
    110             zfse3tn(:,:,:) = sfe3( zssh, 'T' ) 
     110            CALL dom_vvl_sf( zssh, 'T', zfse3tn )  
    111111         ENDIF 
    112112 
Note: See TracChangeset for help on using the changeset viewer.