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 9125 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC – NEMO

Ignore:
Timestamp:
2017-12-19T09:47:17+01:00 (6 years ago)
Author:
timgraham
Message:

Removed wrk_arrays from whole code. No change in SETTE results from this.

Location:
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/cyclone.F90

    r7646 r9125  
    2121   USE in_out_manager  ! I/O manager 
    2222   USE geo2ocean       ! tools for projection on ORCA grid 
    23    USE wrk_nemo        ! work arrays 
    2423   USE lib_mpp        
    2524 
     
    8180      REAL(wp) ::   zvmax               ! timestep interpolated vmax 
    8281      REAL(wp) ::   zrlon, zrlat        ! temporary  
    83       REAL(wp), DIMENSION(:,:), POINTER ::   zwnd_x, zwnd_y   ! zonal and meridional components of the wind 
     82      REAL(wp), DIMENSION(jpi,jpj) ::   zwnd_x, zwnd_y   ! zonal and meridional components of the wind 
    8483      REAL(wp), DIMENSION(14,5)    ::   ztct                ! tropical cyclone track data at kt 
    8584      ! 
     
    8887      TYPE(FLD_N) ::   sn_tc                   ! informations about the fields to be read 
    8988      !!-------------------------------------------------------------------- 
    90  
    91       CALL wrk_alloc( jpi,jpj, zwnd_x, zwnd_y ) 
    9289 
    9390      !                                         ! ====================== ! 
     
    271268      CALL rot_rep ( zwnd_x, zwnd_y, 'T', 'en->j', pwnd_j ) !rotation of components on ORCA grid 
    272269 
    273       CALL wrk_dealloc( jpi,jpj, zwnd_x, zwnd_y ) 
    274  
    275270   END SUBROUTINE wnd_cyc 
    276271 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90

    r9019 r9125  
    3737   USE ioipsl  , ONLY : ymds2ju, ju2ymds   ! for calendar 
    3838   USE lib_mpp        ! MPP library 
    39    USE wrk_nemo       ! work arrays 
    4039   USE lbclnk         ! ocean lateral boundary conditions (C1D case) 
    4140    
     
    11441143      INTEGER ::   ill             ! character length 
    11451144      INTEGER ::   iv              ! indice of V component 
    1146       CHARACTER (LEN=100)               ::   clcomp       ! dummy weight name 
    1147       REAL(wp), POINTER, DIMENSION(:,:) ::   utmp, vtmp   ! temporary arrays for vector rotation 
    1148       !!--------------------------------------------------------------------- 
    1149       ! 
    1150       CALL wrk_alloc( jpi,jpj,   utmp, vtmp ) 
     1145      CHARACTER (LEN=100)          ::   clcomp       ! dummy weight name 
     1146      REAL(wp), DIMENSION(jpi,jpj) ::   utmp, vtmp   ! temporary arrays for vector rotation 
     1147      !!--------------------------------------------------------------------- 
    11511148      ! 
    11521149      !! (sga: following code should be modified so that pairs arent searched for each time 
     
    11851182       END DO 
    11861183      ! 
    1187       CALL wrk_dealloc( jpi,jpj,   utmp, vtmp ) 
    1188       ! 
    11891184   END SUBROUTINE fld_rot 
    11901185 
     
    14381433      CHARACTER (len=5) ::   aname   ! 
    14391434      INTEGER , DIMENSION(:), ALLOCATABLE ::   ddims 
    1440       INTEGER , POINTER, DIMENSION(:,:) ::   data_src 
    1441       REAL(wp), POINTER, DIMENSION(:,:) ::   data_tmp 
     1435      INTEGER,  DIMENSION(jpi,jpj) ::   data_src 
     1436      REAL(wp), DIMENSION(jpi,jpj) ::   data_tmp 
    14421437      !!---------------------------------------------------------------------- 
    1443       ! 
    1444       CALL wrk_alloc( jpi,jpj,   data_src )   ! integer 
    1445       CALL wrk_alloc( jpi,jpj,   data_tmp ) 
    14461438      ! 
    14471439      IF( nxt_wgt > tot_wgts ) THEN 
     
    15611553 
    15621554      DEALLOCATE (ddims ) 
    1563  
    1564       CALL wrk_dealloc( jpi,jpj, data_src )   ! integer 
    1565       CALL wrk_dealloc( jpi,jpj, data_tmp ) 
    15661555      ! 
    15671556   END SUBROUTINE fld_weight 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/ocealb.F90

    r9019 r9125  
    1212   USE in_out_manager ! I/O manager 
    1313   USE lib_mpp        ! MPP library 
    14    USE wrk_nemo       ! work arrays 
    1514   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
    1615 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_algo_coare.F90

    r9124 r9125  
    3939   USE iom            ! I/O manager library 
    4040   USE lib_mpp        ! distribued memory computing library 
    41    USE wrk_nemo       ! work arrays 
    4241   USE prtctl         ! Print control 
    4342   USE lib_fortran    ! to use key_nosignedzero 
     
    110109      INTEGER , PARAMETER ::   nb_itt = 4       ! number of itterations 
    111110 
    112       REAL(wp), DIMENSION(:,:), POINTER ::  & 
     111      REAL(wp), DIMENSION(jpi,jpj) ::  & 
    113112         &  u_star, t_star, q_star, & 
    114113         &  dt_zu, dq_zu,    & 
    115114         &  znu_a,           & !: Nu_air, Viscosity of air 
    116115         &  z0, z0t 
    117       REAL(wp), DIMENSION(:,:), POINTER ::   zeta_u        ! stability parameter at height zu 
    118       REAL(wp), DIMENSION(:,:), POINTER ::   zeta_t        ! stability parameter at height zt 
    119       REAL(wp), DIMENSION(:,:), POINTER ::   ztmp0, ztmp1, ztmp2 
     116      REAL(wp), DIMENSION(jpi,jpj) ::   zeta_u        ! stability parameter at height zu 
     117      REAL(wp), DIMENSION(jpi,jpj) ::   ztmp0, ztmp1, ztmp2 
     118      REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   zeta_t        ! stability parameter at height zt 
    120119      !!---------------------------------------------------------------------- 
    121120      ! 
    122       CALL wrk_alloc( jpi,jpj,   u_star, t_star, q_star, zeta_u, dt_zu, dq_zu) 
    123       CALL wrk_alloc( jpi,jpj,   znu_a, z0, z0t, ztmp0, ztmp1, ztmp2 ) 
    124  
    125121      l_zt_equal_zu = .FALSE. 
    126122      IF( ABS(zu - zt) < 0.01 ) l_zt_equal_zu = .TRUE.    ! testing "zu == zt" is risky with double precision 
    127123 
    128       IF( .NOT. l_zt_equal_zu )   CALL wrk_alloc( jpi,jpj, zeta_t ) 
     124      IF( .NOT. l_zt_equal_zu )  ALLOCATE( zeta_t(jpi,jpj) ) 
    129125 
    130126      !! First guess of temperature and humidity at height zu: 
     
    248244      Cen = Chn 
    249245      ! 
    250       CALL wrk_dealloc( jpi,jpj, u_star, t_star, q_star, zeta_u, dt_zu, dq_zu ) 
    251       CALL wrk_dealloc( jpi,jpj, znu_a, z0, z0t, ztmp0, ztmp1, ztmp2 ) 
    252       IF( .NOT. l_zt_equal_zu ) CALL wrk_dealloc( jpi,jpj, zeta_t ) 
     246      IF( .NOT. l_zt_equal_zu ) DEALLOCATE( zeta_t ) 
    253247      ! 
    254248   END SUBROUTINE turb_coare 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_algo_coare3p5.F90

    r9124 r9125  
    3838   USE iom             ! I/O manager library 
    3939   USE lib_mpp         ! distribued memory computing library 
    40    USE wrk_nemo        ! work arrays 
    4140   USE in_out_manager  ! I/O manager 
    4241   USE prtctl          ! Print control 
     
    111110      INTEGER , PARAMETER ::   nb_itt = 4       ! number of itterations 
    112111      ! 
    113       REAL(wp), DIMENSION(:,:), POINTER ::  & 
     112      REAL(wp), DIMENSION(jpi,jpj) ::  & 
    114113         &  u_star, t_star, q_star, & 
    115114         &  dt_zu, dq_zu,    & 
    116115         &  znu_a,           & !: Nu_air, Viscosity of air 
    117116         &  z0, z0t 
    118       REAL(wp), DIMENSION(:,:), POINTER ::   zeta_u        ! stability parameter at height zu 
    119       REAL(wp), DIMENSION(:,:), POINTER ::   zeta_t        ! stability parameter at height zt 
    120       REAL(wp), DIMENSION(:,:), POINTER ::   ztmp0, ztmp1, ztmp2 
    121       !!---------------------------------------------------------------------------------- 
    122       ! 
    123       CALL wrk_alloc( jpi,jpj, u_star, t_star, q_star, zeta_u, dt_zu, dq_zu) 
    124       CALL wrk_alloc( jpi,jpj, znu_a, z0, z0t, ztmp0, ztmp1, ztmp2 ) 
    125  
     117      REAL(wp), DIMENSION(jpi,jpj) ::   zeta_u        ! stability parameter at height zu 
     118      REAL(wp), DIMENSION(jpi,jpj) ::   ztmp0, ztmp1, ztmp2 
     119      REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   zeta_t        ! stability parameter at height zt 
     120      !!---------------------------------------------------------------------------------- 
     121      ! 
    126122      l_zt_equal_zu = .FALSE. 
    127123      IF( ABS(zu - zt) < 0.01 ) l_zt_equal_zu = .TRUE.    ! testing "zu == zt" is risky with double precision 
    128124 
    129       IF( .NOT. l_zt_equal_zu )   CALL wrk_alloc( jpi,jpj, zeta_t ) 
     125      IF( .NOT. l_zt_equal_zu )   ALLOCATE( zeta_t(jpi,jpj) ) 
    130126 
    131127      !! First guess of temperature and humidity at height zu: 
     
    256252      Cen = Chn 
    257253      ! 
    258       CALL wrk_dealloc( jpi,jpj, u_star, t_star, q_star, zeta_u, dt_zu, dq_zu ) 
    259       CALL wrk_dealloc( jpi,jpj, znu_a, z0, z0t, ztmp0, ztmp1, ztmp2 ) 
    260       IF( .NOT. l_zt_equal_zu ) CALL wrk_dealloc( jpi,jpj, zeta_t ) 
     254      IF( .NOT. l_zt_equal_zu ) DEALLOCATE( zeta_t ) 
    261255      ! 
    262256   END SUBROUTINE turb_coare3p5 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_algo_ecmwf.F90

    r9124 r9125  
    3232   USE iom             ! I/O manager library 
    3333   USE lib_mpp         ! distribued memory computing library 
    34    USE wrk_nemo        ! work arrays 
    3534   USE in_out_manager  ! I/O manager 
    3635   USE prtctl          ! Print control 
     
    118117      INTEGER , PARAMETER ::   nb_itt = 4       ! number of itterations 
    119118      ! 
    120       REAL(wp), DIMENSION(:,:), POINTER ::   u_star, t_star, q_star,   & 
     119      REAL(wp), DIMENSION(jpi,jpj) ::   u_star, t_star, q_star,   & 
    121120         &  dt_zu, dq_zu,    & 
    122121         &  znu_a,           & !: Nu_air, Viscosity of air 
    123122         &  Linv,            & !: 1/L (inverse of Monin Obukhov length... 
    124123         &  z0, z0t, z0q 
    125       REAL(wp), DIMENSION(:,:), POINTER ::   func_m, func_h 
    126       REAL(wp), DIMENSION(:,:), POINTER ::   ztmp0, ztmp1, ztmp2 
    127       !!---------------------------------------------------------------------------------- 
    128       ! 
    129       CALL wrk_alloc( jpi,jpj,   u_star, t_star, q_star, func_m, func_h, dt_zu, dq_zu, Linv ) 
    130       CALL wrk_alloc( jpi,jpj,   znu_a, z0, z0t, z0q, ztmp0, ztmp1, ztmp2 ) 
     124      REAL(wp), DIMENSION(jpi,jpj) ::   func_m, func_h 
     125      REAL(wp), DIMENSION(jpi,jpj) ::   ztmp0, ztmp1, ztmp2 
     126      !!---------------------------------------------------------------------------------- 
    131127      ! 
    132128      ! Identical first gess as in COARE, with IFS parameter values though 
     
    286282      Cen = vkarmn*vkarmn / (log(ztmp1/z0q)*log(ztmp1/z0q)) 
    287283 
    288       CALL wrk_dealloc( jpi,jpj,   u_star, t_star, q_star, func_m, func_h, dt_zu, dq_zu, Linv ) 
    289       CALL wrk_dealloc( jpi,jpj,   znu_a, z0, z0t, z0q, ztmp0, ztmp1, ztmp2 ) 
    290       ! 
    291284   END SUBROUTINE TURB_ECMWF 
    292285 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_algo_ncar.F90

    r9124 r9125  
    3434   USE iom             ! I/O manager library 
    3535   USE lib_mpp         ! distribued memory computing library 
    36    USE wrk_nemo        ! work arrays 
    3736   USE in_out_manager  ! I/O manager 
    3837   USE prtctl          ! Print control 
     
    118117      INTEGER , PARAMETER ::   nb_itt = 4       ! number of itterations 
    119118      ! 
    120       REAL(wp), DIMENSION(:,:), POINTER ::   Cx_n10        ! 10m neutral latent/sensible coefficient 
    121       REAL(wp), DIMENSION(:,:), POINTER ::   sqrt_Cd_n10   ! root square of Cd_n10 
    122       REAL(wp), DIMENSION(:,:), POINTER ::   zeta_u        ! stability parameter at height zu 
    123       REAL(wp), DIMENSION(:,:), POINTER ::   zpsi_h_u 
    124       REAL(wp), DIMENSION(:,:), POINTER ::   ztmp0, ztmp1, ztmp2 
    125       REAL(wp), DIMENSION(:,:), POINTER ::   stab          ! stability test integer 
    126       !!---------------------------------------------------------------------------------- 
    127       ! 
    128       CALL wrk_alloc( jpi,jpj,   Cx_n10, sqrt_Cd_n10, zeta_u, stab ) 
    129       CALL wrk_alloc( jpi,jpj,   zpsi_h_u, ztmp0, ztmp1, ztmp2 ) 
     119      REAL(wp), DIMENSION(jpi,jpj) ::   Cx_n10        ! 10m neutral latent/sensible coefficient 
     120      REAL(wp), DIMENSION(jpi,jpj) ::   sqrt_Cd_n10   ! root square of Cd_n10 
     121      REAL(wp), DIMENSION(jpi,jpj) ::   zeta_u        ! stability parameter at height zu 
     122      REAL(wp), DIMENSION(jpi,jpj) ::   zpsi_h_u 
     123      REAL(wp), DIMENSION(jpi,jpj) ::   ztmp0, ztmp1, ztmp2 
     124      REAL(wp), DIMENSION(jpi,jpj) ::   stab          ! stability test integer 
     125      !!---------------------------------------------------------------------------------- 
    130126      ! 
    131127      l_zt_equal_zu = .FALSE. 
     
    223219      END DO 
    224220      ! 
    225       CALL wrk_dealloc( jpi,jpj,   Cx_n10, sqrt_Cd_n10, zeta_u, stab ) 
    226       CALL wrk_dealloc( jpi,jpj,   zpsi_h_u, ztmp0, ztmp1, ztmp2 ) 
    227       ! 
    228221   END SUBROUTINE turb_ncar 
    229222 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r9124 r9125  
    2525   USE in_out_manager ! I/O manager 
    2626   USE lib_mpp        ! distribued memory computing library 
     27   USE timing         ! Timing 
    2728   USE lbclnk         ! ocean lateral boundary conditions 
    2829   USE lib_fortran    !  
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r9124 r9125  
    1818   USE lib_mpp         ! distributed memory computing library 
    1919   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    20    USE wrk_nemo        ! work arrays 
    2120   USE daymod          ! calendar 
    2221   USE fldread         ! read input fields 
     
    155154      !!--------------------------------------------------------------------- 
    156155      INTEGER, INTENT( in  ) ::   ksbc                ! surface forcing type 
    157       REAL(wp), DIMENSION(:,:), POINTER :: ztmp1, ztmp2 
     156      REAL(wp), DIMENSION(jpi,jpj) :: ztmp1, ztmp2 
    158157      REAL(wp) ::   zcoefu, zcoefv, zcoeff            ! local scalar 
    159158      INTEGER  ::   ji, jj, jl, jk                    ! dummy loop indices 
    160159      !!--------------------------------------------------------------------- 
    161       ! 
    162       CALL wrk_alloc( jpi,jpj, ztmp1, ztmp2 ) 
    163160      ! 
    164161      IF(lwp) WRITE(numout,*)'cice_sbc_init' 
     
    272269      ENDIF 
    273270      ! 
    274       CALL wrk_dealloc( jpi,jpj, ztmp1, ztmp2 ) 
    275       ! 
    276271   END SUBROUTINE cice_sbc_init 
    277272 
     
    286281      ! 
    287282      INTEGER  ::   ji, jj, jl                   ! dummy loop indices       
    288       REAL(wp), DIMENSION(:,:), POINTER :: ztmp, zpice 
    289       REAL(wp), DIMENSION(:,:,:), POINTER :: ztmpn 
     283      REAL(wp), DIMENSION(jpi,jpj) :: ztmp, zpice 
     284      REAL(wp), DIMENSION(jpi,jpj,ncat) :: ztmpn 
    290285      REAL(wp) ::   zintb, zintn  ! dummy argument 
    291286      !!--------------------------------------------------------------------- 
    292287      ! 
    293       CALL wrk_alloc( jpi,jpj, ztmp, zpice ) 
    294       CALL wrk_alloc( jpi,jpj,ncat, ztmpn ) 
    295  
    296288      IF( kt == nit000 )  THEN 
    297289         IF(lwp) WRITE(numout,*)'cice_sbc_in' 
     
    492484      END DO 
    493485      CALL nemo2cice(ztmp,ss_tlty,'F', -1. ) 
    494  
    495       CALL wrk_dealloc( jpi,jpj, ztmp, zpice ) 
    496       CALL wrk_dealloc( jpi,jpj,ncat, ztmpn ) 
    497486      ! 
    498487   END SUBROUTINE cice_sbc_in 
     
    508497       
    509498      INTEGER  ::   ji, jj, jl                 ! dummy loop indices 
    510       REAL(wp), DIMENSION(:,:), POINTER :: ztmp1, ztmp2 
    511       !!--------------------------------------------------------------------- 
    512       ! 
    513       CALL wrk_alloc( jpi,jpj, ztmp1, ztmp2 ) 
    514        
     499      REAL(wp), DIMENSION(jpi,jpj) :: ztmp1, ztmp2 
     500      !!--------------------------------------------------------------------- 
     501      ! 
    515502      IF( kt == nit000 )  THEN 
    516503         IF(lwp) WRITE(numout,*)'cice_sbc_out' 
     
    660647      snwice_mass_b(:,:) = snwice_mass(:,:) 
    661648      snwice_fmass (:,:) = ( snwice_mass(:,:) - snwice_mass_b(:,:) ) / dt 
    662  
    663 ! Release work space 
    664  
    665       CALL wrk_dealloc( jpi,jpj, ztmp1, ztmp2 ) 
    666649      ! 
    667650   END SUBROUTINE cice_sbc_out 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r9023 r9125  
    2727   USE iom            ! I/O module 
    2828   USE lib_mpp        ! MPP library 
    29    USE wrk_nemo       ! Memory allocation 
    3029 
    3130   IMPLICIT NONE 
     
    106105      INTEGER  ::   z_err = 0 ! dummy integer for error handling 
    107106      !!---------------------------------------------------------------------- 
    108       REAL(wp), DIMENSION(:,:), POINTER       ::   ztfrz   ! freezing point used for temperature correction 
    109       ! 
    110       CALL wrk_alloc( jpi,jpj, ztfrz) 
     107      REAL(wp), DIMENSION(jpi,jpj) ::   ztfrz   ! freezing point used for temperature correction 
     108      ! 
    111109      ! 
    112110      !                                            !-------------------! 
     
    169167         CALL iom_rstput( kt, nitrst, numrow, 'rnf_sc_b', rnf_tsc(:,:,jp_sal) ) 
    170168      ENDIF 
    171       ! 
    172       CALL wrk_dealloc( jpi,jpj, ztfrz) 
    173169      ! 
    174170   END SUBROUTINE sbc_rnf 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbctide.F90

    r9023 r9125  
    1616   USE ioipsl         ! NetCDF IPSL library 
    1717   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    18    USE wrk_nemo       ! 
    1918 
    2019   IMPLICIT NONE 
     
    140139      INTEGER :: inum                 ! Logical unit of input file 
    141140      INTEGER :: ji, jj, itide        ! dummy loop indices 
    142       REAL(wp), POINTER, DIMENSION(:,:) ::   ztr, zti   !: workspace to read in tidal harmonics data  
     141      REAL(wp), DIMENSION(jpi,jpj) ::   ztr, zti   !: workspace to read in tidal harmonics data  
    143142      !!---------------------------------------------------------------------- 
    144143      IF(lwp) THEN 
     
    147146         WRITE(numout,*) '~~~~~~~~~~~~~~ ' 
    148147      ENDIF 
    149       ! 
    150       CALL wrk_alloc( jpi, jpj, zti, ztr ) 
    151148      ! 
    152149      CALL iom_open ( cn_tide_load , inum ) 
     
    166163      CALL iom_close( inum ) 
    167164      ! 
    168       CALL wrk_dealloc( jpi, jpj, zti, ztr ) 
    169       ! 
    170165   END SUBROUTINE tide_init_load 
    171166 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r9117 r9125  
    2727   USE lib_mpp        ! distribued memory computing library 
    2828   USE fldread        ! read input fields 
    29    USE wrk_nemo       ! 
    3029 
    3130   IMPLICIT NONE 
Note: See TracChangeset for help on using the changeset viewer.