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 2627 – NEMO

Changeset 2627


Ignore:
Timestamp:
2011-02-27T18:52:49+01:00 (13 years ago)
Author:
gm
Message:

dynamic mem: #785 ; OPA_SRC compilation without mpp

Location:
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r2618 r2627  
    4747   PUBLIC dyn_spg_ts        ! routine called by step.F90 
    4848   PUBLIC ts_rst            ! routine called by istate.F90 
    49    PUBLIC dyn_spg_ts_alloc  ! routine called by nemogcm.F90 
     49   PUBLIC dyn_spg_ts_alloc  ! routine called by dynspg.F90 
    5050 
    5151 
     
    144144         IF(lwp) WRITE(numout,*) ' Number of sub cycle in 1 time-step (2 rdt) : icycle = ',  2*nn_baro 
    145145         ! 
    146          !                                      ! allocate dyn_spg_ts arrays 
    147          IF( dyn_spg_ts_alloc() /= 0 )   CALL ctl_stop('STOP', 'dyn_spg_ts_alloc: failed to allocate arrays') 
    148          ! 
    149146         CALL ts_rst( nit000, 'READ' )   ! read or initialize the following fields: un_b, vn_b   
    150147         ! 
     
    667664   !!---------------------------------------------------------------------- 
    668665CONTAINS 
    669    SUBROUTINE dyn_spg_ts( kt )       ! Empty routine 
     666   INTEGER FUNCTION dyn_spg_ts_alloc()    ! Dummy function 
     667      dyn_spg_ts_alloc = 0 
     668   END FUNCTION dyn_spg_ts_alloc 
     669   SUBROUTINE dyn_spg_ts( kt )            ! Empty routine 
    670670      INTEGER, INTENT(in) :: kt 
    671671      WRITE(*,*) 'dyn_spg_ts: You should not have seen this print! error?', kt 
    672672   END SUBROUTINE dyn_spg_ts 
    673    SUBROUTINE ts_rst( kt, cdrw )     ! Empty routine 
     673   SUBROUTINE ts_rst( kt, cdrw )          ! Empty routine 
    674674      INTEGER         , INTENT(in) ::   kt         ! ocean time-step 
    675675      CHARACTER(len=*), INTENT(in) ::   cdrw       ! "READ"/"WRITE" flag 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90

    r2625 r2627  
    20092009 
    20102010 
    2011    SUBROUTINE mpp_ini_znl ( kumout ) 
     2011   SUBROUTINE mpp_ini_znl( kumout ) 
    20122012      !!---------------------------------------------------------------------- 
    20132013      !!               ***  routine mpp_ini_znl  *** 
     
    24942494CONTAINS 
    24952495 
    2496    INTEGER FUNCTION lib_mpp_alloc()          ! Dummy function 
     2496   INTEGER FUNCTION lib_mpp_alloc(kumout)          ! Dummy function 
     2497      INTEGER, INTENT(in) ::   kumout 
    24972498      lib_mpp_alloc = 0 
    24982499   END FUNCTION lib_mpp_alloc 
    24992500 
    2500    FUNCTION mynode( ldtxt, localComm ) RESULT (function_value) 
    2501       CHARACTER(len=*),DIMENSION(:), INTENT(  out) ::   ldtxt  
     2501   FUNCTION mynode( ldtxt, kumnam, kstop, localComm ) RESULT (function_value) 
    25022502      INTEGER, OPTIONAL            , INTENT(in   ) ::   localComm 
     2503      CHARACTER(len=*),DIMENSION(:) ::   ldtxt  
     2504      INTEGER ::   kumnam, kstop 
    25032505      IF( PRESENT( localComm ) .OR. .NOT.PRESENT( localComm ) )   function_value = 0 
    25042506      IF( .FALSE. )   ldtxt(:) = 'never done' 
     
    25932595   END SUBROUTINE mppmin_int 
    25942596 
    2595    SUBROUTINE mppobc_1d( parr, kd1, kd2, kl, kk, ktype, kij ) 
    2596       INTEGER  ::   kd1, kd2, kl , kk, ktype, kij 
     2597   SUBROUTINE mppobc_1d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 
     2598      INTEGER  ::   kd1, kd2, kl , kk, ktype, kij, knum 
    25972599      REAL, DIMENSION(:) ::   parr           ! variable array 
    2598       WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1), kd1, kd2, kl, kk, ktype, kij 
     2600      WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1), kd1, kd2, kl, kk, ktype, kij, knum 
    25992601   END SUBROUTINE mppobc_1d 
    26002602 
    2601    SUBROUTINE mppobc_2d( parr, kd1, kd2, kl, kk, ktype, kij ) 
    2602       INTEGER  ::   kd1, kd2, kl , kk, ktype, kij 
     2603   SUBROUTINE mppobc_2d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 
     2604      INTEGER  ::   kd1, kd2, kl , kk, ktype, kij, knum 
    26032605      REAL, DIMENSION(:,:) ::   parr           ! variable array 
    2604       WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1), kd1, kd2, kl, kk, ktype, kij 
     2606      WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1), kd1, kd2, kl, kk, ktype, kij, knum 
    26052607   END SUBROUTINE mppobc_2d 
    26062608 
    2607    SUBROUTINE mppobc_3d( parr, kd1, kd2, kl, kk, ktype, kij ) 
    2608       INTEGER  ::   kd1, kd2, kl , kk, ktype, kij 
     2609   SUBROUTINE mppobc_3d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 
     2610      INTEGER  ::   kd1, kd2, kl , kk, ktype, kij, knum 
    26092611      REAL, DIMENSION(:,:,:) ::   parr           ! variable array 
    2610       WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1), kd1, kd2, kl, kk, ktype, kij 
     2612      WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1), kd1, kd2, kl, kk, ktype, kij, knum 
    26112613   END SUBROUTINE mppobc_3d 
    26122614 
    2613    SUBROUTINE mppobc_4d( parr, kd1, kd2, kl, kk, ktype, kij ) 
    2614       INTEGER  ::   kd1, kd2, kl , kk, ktype, kij 
     2615   SUBROUTINE mppobc_4d( parr, kd1, kd2, kl, kk, ktype, kij, knum ) 
     2616      INTEGER  ::   kd1, kd2, kl , kk, ktype, kij, knum 
    26152617      REAL, DIMENSION(:,:,:,:) ::   parr           ! variable array 
    2616       WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1,1), kd1, kd2, kl, kk, ktype, kij 
     2618      WRITE(*,*) 'mppobc: You should not have seen this print! error?', parr(1,1,1,1), kd1, kd2, kl, kk, ktype, kij, knum 
    26172619   END SUBROUTINE mppobc_4d 
    26182620 
     
    26492651   END SUBROUTINE mppstop 
    26502652 
    2651    SUBROUTINE mpp_ini_ice( kcom ) 
    2652       INTEGER :: kcom 
    2653       WRITE(*,*) 'mpp_ini_ice: You should not have seen this print! error?', kcom 
     2653   SUBROUTINE mpp_ini_ice( kcom, knum ) 
     2654      INTEGER :: kcom, knum 
     2655      WRITE(*,*) 'mpp_ini_ice: You should not have seen this print! error?', kcom, knum 
    26542656   END SUBROUTINE mpp_ini_ice 
    26552657 
    2656    SUBROUTINE mpp_ini_znl 
    2657       WRITE(*,*) 'mpp_ini_znl: You should not have seen this print! error?' 
     2658   SUBROUTINE mpp_ini_znl( knum ) 
     2659      INTEGER :: knum 
     2660      WRITE(*,*) 'mpp_ini_znl: You should not have seen this print! error?', knum 
    26582661   END SUBROUTINE mpp_ini_znl 
    26592662 
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/OBC/obcdta.F90

    r2592 r2627  
    1010   !!   obc_dta           : read u, v, t, s data along each open boundary 
    1111   !!------------------------------------------------------------------------------ 
    12    !! * Modules used 
    1312   USE oce             ! ocean dynamics and tracers  
    1413   USE dom_oce         ! ocean space and time domain 
     
    1918   USE in_out_manager  ! I/O logical units 
    2019   USE lib_mpp         ! distributed memory computing 
    21    USE dynspg_oce 
     20   USE dynspg_oce      ! ocean: surface pressure gradient 
    2221   USE ioipsl          ! now only for  ymds2ju function  
    2322   USE iom             !  
     
    2625   PRIVATE 
    2726 
    28    !! * Accessibility 
    29    PUBLIC obc_dta      ! routines called by step.F90 
    30    PUBLIC obc_dta_bt   ! routines called by dynspg_ts.F90 
    31    PUBLIC obc_dta_alloc 
     27   PUBLIC   obc_dta      ! routines called by step.F90 
     28   PUBLIC   obc_dta_bt   ! routines called by dynspg_ts.F90 
     29   PUBLIC   obc_dta_alloc 
    3230    
    3331 
    34    !! * Shared module variables 
    35    REAL(wp),  DIMENSION(2)              ::  zjcnes_obc   !  
    36    REAL(wp),  DIMENSION(:), ALLOCATABLE :: ztcobc 
     32   REAL(wp),  DIMENSION(2)              ::   zjcnes_obc   !  
     33   REAL(wp),  DIMENSION(:), ALLOCATABLE ::   ztcobc 
    3734   REAL(wp) :: rdt_obc 
    3835   REAL(wp) :: zjcnes 
     
    4138   INTEGER ::  itobce, itobcw, itobcs, itobcn, itobc_b  ! number of time steps in OBC files 
    4239 
    43    INTEGER ::   & 
    44       ntobc      , &     !:  where we are in the obc file 
    45       ntobc_b    , &     !:  first record used 
    46       ntobc_a            !:  second record used 
    47  
    48    CHARACTER (len=40) :: &    ! name of data files 
    49       cl_obc_eTS   , cl_obc_eU,  & 
    50       cl_obc_wTS   , cl_obc_wU,  & 
    51       cl_obc_nTS   , cl_obc_nV,  & 
    52       cl_obc_sTS   , cl_obc_sV 
     40   INTEGER ::   ntobc        ! where we are in the obc file 
     41   INTEGER ::   ntobc_b      ! first record used 
     42   INTEGER ::   ntobc_a      ! second record used 
     43 
     44   CHARACTER (len=40) ::   cl_obc_eTS, cl_obc_eU   ! name of data files 
     45   CHARACTER (len=40) ::   cl_obc_wTS, cl_obc_wU   !   -       - 
     46   CHARACTER (len=40) ::   cl_obc_nTS, cl_obc_nV   !   -       - 
     47   CHARACTER (len=40) ::   cl_obc_sTS, cl_obc_sV   !   -       - 
    5348 
    5449# if defined key_dynspg_ts 
    5550   ! bt arrays for interpolating time dependent data on the boundaries 
    56    INTEGER :: nt_m=0, ntobc_m 
    57    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtedta, vbtedta, sshedta       ! East 
    58    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtwdta, vbtwdta, sshwdta   ! West 
    59    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtndta, vbtndta, sshndta   ! North 
    60    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtsdta, vbtsdta, sshsdta   ! South 
     51   INTEGER ::   nt_m=0, ntobc_m 
     52   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtedta, vbtedta, sshedta       ! East 
     53   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtwdta, vbtwdta, sshwdta ! West 
     54   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtndta, vbtndta, sshndta ! North 
     55   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtsdta, vbtsdta, sshsdta ! South 
    6156   ! arrays used for interpolating time dependent data on the boundaries 
    6257   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: uedta, vedta, tedta, sedta    ! East 
     
    6661# else 
    6762   ! bt arrays for interpolating time dependent data on the boundaries 
    68    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtedta, vbtedta, sshedta        ! East 
    69    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtwdta, vbtwdta, sshwdta        ! West 
    70    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtndta, vbtndta, sshndta        ! North 
    71    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ubtsdta, vbtsdta, sshsdta        ! South 
     63   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtedta, vbtedta, sshedta        ! East 
     64   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtwdta, vbtwdta, sshwdta        ! West 
     65   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtndta, vbtndta, sshndta        ! North 
     66   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   :: ubtsdta, vbtsdta, sshsdta        ! South 
    7267   ! arrays used for interpolating time dependent data on the boundaries 
    7368   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: uedta, vedta, tedta, sedta    ! East 
     
    7772# endif 
    7873   ! Masks set to .TRUE. after successful allocation below 
    79    LOGICAL, ALLOCATABLE, SAVE, DIMENSION (:,: ) :: ltemsk, luemsk, lvemsk  ! boolean msks 
    80    LOGICAL, ALLOCATABLE, SAVE, DIMENSION (:,: ) :: ltwmsk, luwmsk, lvwmsk  ! used for outliers 
    81    LOGICAL, ALLOCATABLE, SAVE, DIMENSION (:,: ) :: ltnmsk, lunmsk, lvnmsk  ! checks 
    82    LOGICAL, ALLOCATABLE, SAVE, DIMENSION (:,: ) :: ltsmsk, lusmsk, lvsmsk 
     74   LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:)  :: ltemsk, luemsk, lvemsk  ! boolean msks 
     75   LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:)  :: ltwmsk, luwmsk, lvwmsk  ! used for outliers 
     76   LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:)  :: ltnmsk, lunmsk, lvnmsk  ! checks 
     77   LOGICAL , ALLOCATABLE, SAVE, DIMENSION(:,:)  :: ltsmsk, lusmsk, lvsmsk 
    8378 
    8479   !! * Substitutions 
     
    8883   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    8984   !! $Id$ 
    90    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     85   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    9186   !!---------------------------------------------------------------------- 
    92  
    9387CONTAINS 
    9488 
Note: See TracChangeset for help on using the changeset viewer.