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 12080 for utils/tools/SIREN/src/lbc.f90 – NEMO

Ignore:
Timestamp:
2019-12-06T10:30:14+01:00 (4 years ago)
Author:
jpaul
Message:

update nemo trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/tools/SIREN/src/lbc.f90

    r9598 r12080  
    22! NEMO system team, System and Interface for oceanic RElocable Nesting 
    33!---------------------------------------------------------------------- 
    4 ! 
    5 ! MODULE: math 
    64! 
    75! DESCRIPTION: 
     
    1513!> @author 
    1614!> G. Madec 
    17 ! REVISION HISTORY: 
     15!> 
    1816!>  @date June, 1997 - Original code 
    1917!> @date September, 2002 
     
    2927!> @date Marsh, 2015  
    3028!> - J.Paul : add hide subroutine 
    31 ! 
    32 !> @note Software governed by the CeCILL licence     (./LICENSE) 
     29!> 
     30!> @note Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    3331!---------------------------------------------------------------------- 
    3432MODULE lbc 
     33 
    3534   USE kind                            ! F90 kind parameter 
    3635   ! NOTE_avoid_public_variables_if_possible 
     
    6867     
    6968CONTAINS 
     69   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     70   SUBROUTINE lbc__lnk_3d(dd_array, cd_type, id_perio, dd_psgn, dd_fill) 
    7071   !-------------------------------------------------------------------  
    7172   !> @brief This subroutine set lateral boundary conditions on a 3D array (non mpp case)  
     
    7980   !> @author J.Paul  
    8081   !> - January, 2015- rewrite with SIREN coding rules  
    81    !  
     82   !>  
    8283   !> @param[inout] dd_array  3D array  
    8384   !> @param[in] cd_type point grid 
     
    8687   !> @param[in] dd_fill   fillValue 
    8788   !------------------------------------------------------------------- 
    88    SUBROUTINE lbc__lnk_3d( dd_array, cd_type, id_perio, dd_psgn, dd_fill ) 
     89 
    8990      IMPLICIT NONE 
     91 
    9092      ! Argument 
    9193      REAL(dp), DIMENSION(:,:,:), INTENT(INOUT) :: dd_array 
     
    164166 
    165167   END SUBROUTINE lbc__lnk_3d 
     168   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     169   SUBROUTINE lbc__lnk_2d(dd_array, cd_type, id_perio, dd_psgn, dd_fill) 
    166170   !-------------------------------------------------------------------  
    167171   !> @brief This subroutine set lateral boundary conditions on a 2D array (non mpp case)  
     
    175179   !> @author J.Paul  
    176180   !> - January, 2015- rewrite with SIREN coding rules 
    177    !  
     181   !>  
    178182   !> @param[inout] dd_array  2D array  
    179183   !> @param[in] cd_type point grid 
     
    182186   !> @param[in] dd_fill   fillValue 
    183187   !------------------------------------------------------------------- 
    184    SUBROUTINE lbc__lnk_2d( dd_array, cd_type, id_perio, dd_psgn, dd_fill ) 
     188 
    185189      IMPLICIT NONE 
     190 
    186191      ! Argument 
    187192      REAL(dp), DIMENSION(:,:), INTENT(INOUT) :: dd_array 
     
    261266 
    262267   END SUBROUTINE lbc__lnk_2d 
     268   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     269   SUBROUTINE lbc__nfd_3d(dd_array, cd_type, id_perio, dd_psgn) 
    263270   !-------------------------------------------------------------------  
    264271   !> @brief This subroutine manage 3D lateral boundary condition :  
     
    269276   !> @author J.Paul  
    270277   !> - January, 2015- rewrite with SIREN coding rules 
    271    !  
     278   !>  
    272279   !> @param[inout] dd_array  3D array  
    273280   !> @param[in] cd_type point grid 
     
    275282   !> @param[in] dd_psgn  
    276283   !------------------------------------------------------------------- 
    277    SUBROUTINE lbc__nfd_3d( dd_array, cd_type, id_perio, dd_psgn ) 
     284 
    278285      IMPLICIT NONE 
     286 
    279287      ! Argument 
    280288      REAL(dp), DIMENSION(:,:,:), INTENT(INOUT) :: dd_array 
     
    398406         ! 
    399407      END DO 
     408 
    400409   END SUBROUTINE lbc__nfd_3d 
     410   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     411   SUBROUTINE lbc__nfd_2d(dd_array, cd_type, id_perio, dd_psgn) 
    401412   !-------------------------------------------------------------------  
    402413   !> @brief This subroutine manage 2D lateral boundary condition :  
     
    408419   !> @author J.Paul  
    409420   !> - January, 2015- rewrite with SIREN coding rules 
    410    !  
     421   !>  
    411422   !> @param[inout] dd_array  2D array  
    412423   !> @param[in] cd_type point grid 
     
    414425   !> @param[in] dd_psgn  
    415426   !------------------------------------------------------------------- 
    416    SUBROUTINE lbc__nfd_2d( dd_array, cd_type, id_perio, dd_psgn ) 
     427 
    417428      IMPLICIT NONE 
     429 
    418430      ! Argument 
    419431      REAL(dp), DIMENSION(:,:), INTENT(INOUT) :: dd_array 
     
    577589         ! 
    578590      END SELECT 
     591 
    579592   END SUBROUTINE lbc__nfd_2d 
     593   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     594   SUBROUTINE lbc__hide_lnk_2d(dd_array, cd_type, id_perio, dd_psgn, dd_fill) 
    580595   !-------------------------------------------------------------------  
    581596   !> @brief This subroutine hide lateral boundary conditions on a 2D array (non mpp case)  
     
    589604   !> @author J.Paul  
    590605   !> - Marsh, 2015- initial version 
    591    !  
     606   !>  
    592607   !> @param[inout] dd_array  2D array  
    593608   !> @param[in] cd_type point grid 
     
    596611   !> @param[in] dd_fill   fillValue 
    597612   !------------------------------------------------------------------- 
    598    SUBROUTINE lbc__hide_lnk_2d( dd_array, cd_type, id_perio, dd_psgn, dd_fill ) 
     613 
    599614      IMPLICIT NONE 
     615 
    600616      ! Argument 
    601617      REAL(dp), DIMENSION(:,:), INTENT(INOUT) :: dd_array 
     
    676692 
    677693   END SUBROUTINE lbc__hide_lnk_2d 
     694   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     695   SUBROUTINE lbc__hide_nfd_2d(dd_array, cd_type, id_perio, dd_psgn, dd_fill) 
    678696   !-------------------------------------------------------------------  
    679697   !> @brief This subroutine manage 2D lateral boundary condition :  
     
    685703   !> @author J.Paul  
    686704   !> - Marsh, 2015- initial version 
    687    !  
     705   !>  
    688706   !> @param[inout] dd_array  2D array  
    689707   !> @param[in] cd_type point grid 
     
    692710   !> @param[in] dd_fill  
    693711   !------------------------------------------------------------------- 
    694    SUBROUTINE lbc__hide_nfd_2d( dd_array, cd_type, id_perio, dd_psgn, dd_fill ) 
     712 
    695713      IMPLICIT NONE 
     714 
    696715      ! Argument 
    697716      REAL(dp), DIMENSION(:,:), INTENT(INOUT) :: dd_array 
     
    801820         ! 
    802821      END SELECT 
     822 
    803823   END SUBROUTINE lbc__hide_nfd_2d 
     824   !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    804825END MODULE lbc 
Note: See TracChangeset for help on using the changeset viewer.