Changeset 7956


Ignore:
Timestamp:
2017-04-24T12:26:39+02:00 (3 years ago)
Author:
timgraham
Message:

Fixed out of bounds array problem in LIM. Results now identical to trunk version

Location:
branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/LIM_SRC_3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/LIM_SRC_3/limhdf.F90

    r7917 r7956  
    6464      INTEGER , PARAMETER                 ::  num_iter_max = 100        ! Maximum number of iteration 
    6565      INTEGER , PARAMETER                 ::  num_convfrq  = 5          ! convergence check frequency of the Crant-Nicholson scheme (perf. optimization) 
    66       REAL(wp), POINTER, DIMENSION(:)     ::  zconv 
     66      REAL(wp), ALLOCATABLE, DIMENSION(:)     ::  zconv 
    6767      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), TARGET ::  zrlx 
    6868      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::  zdiv0, ztab0 
     
    8282      ALLOCATE( type_array(isize) ) 
    8383      ALLOCATE( psgn_array(isize) ) 
    84       ALLOCATE( zrlx(jpi, jpj, isize), zdiv0(jpi,jpj,isize),ztab0(jpi,jpj,isize)) 
     84      ALLOCATE( zrlx(jpi, jpj, isize), zdiv0(jpi,jpj,isize), ztab0(jpi,jpj,isize)) 
    8585 
    8686 
  • branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90

    r7910 r7956  
    9494      INTEGER ::   ii, ij      ! temporary dummy loop index 
    9595      INTEGER ::   numeq       ! current reference number of equation 
    96       INTEGER ::   jk       ! vertical dummy loop index  
     96      INTEGER ::   jk          ! vertical dummy loop index  
    9797      INTEGER ::   nconv       ! number of iterations in iterative procedure 
    9898      INTEGER ::   minnumeqmin, maxnumeqmax 
     
    126126      REAL(wp), DIMENSION(jpij)     ::   zihic 
    127127       
    128       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   ztcond_i    ! Ice thermal conductivity 
    129       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   zradtr_i    ! Radiation transmitted through the ice 
    130       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   zradab_i    ! Radiation absorbed in the ice 
    131       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   zkappa_i    ! Kappa factor in the ice 
    132       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   ztib        ! Old temperature in the ice 
    133       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   zeta_i      ! Eta factor in the ice 
    134       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   ztitemp     ! Temporary temperature in the ice to check the convergence 
    135       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   zspeche_i   ! Ice specific heat 
    136       REAL(wp), DIMENSION(jpij,nlay_i+1)   ::   z_i         ! Vertical cotes of the layers in the ice 
    137       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   zradtr_s    ! Radiation transmited through the snow 
    138       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   zradab_s    ! Radiation absorbed in the snow 
    139       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   zkappa_s    ! Kappa factor in the snow 
    140       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   zeta_s      ! Eta factor in the snow 
    141       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   ztstemp     ! Temporary temperature in the snow to check the convergence 
    142       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   ztsb        ! Temporary temperature in the snow 
    143       REAL(wp), DIMENSION(jpij,nlay_s+1)   ::   z_s         ! Vertical cotes of the layers in the snow 
    144       REAL(wp), DIMENSION(jpij,nlay_i+3)   ::   zindterm    ! 'Ind'ependent term 
    145       REAL(wp), DIMENSION(jpij,nlay_i+3)   ::   zindtbis    ! Temporary 'ind'ependent term 
    146       REAL(wp), DIMENSION(jpij,nlay_i+3)   ::   zdiagbis    ! Temporary 'dia'gonal term 
    147       REAL(wp), DIMENSION(jpij,nlay_i+3,3) ::   ztrid       ! Tridiagonal system terms 
     128      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   ztcond_i    ! Ice thermal conductivity 
     129      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   zradtr_i    ! Radiation transmitted through the ice 
     130      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   zradab_i    ! Radiation absorbed in the ice 
     131      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   zkappa_i    ! Kappa factor in the ice 
     132      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   ztib        ! Old temperature in the ice 
     133      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   zeta_i      ! Eta factor in the ice 
     134      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   ztitemp     ! Temporary temperature in the ice to check the convergence 
     135      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   zspeche_i   ! Ice specific heat 
     136      REAL(wp), DIMENSION(jpij,0:nlay_i)   ::   z_i         ! Vertical cotes of the layers in the ice 
     137      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   zradtr_s    ! Radiation transmited through the snow 
     138      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   zradab_s    ! Radiation absorbed in the snow 
     139      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   zkappa_s    ! Kappa factor in the snow 
     140      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   zeta_s      ! Eta factor in the snow 
     141      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   ztstemp     ! Temporary temperature in the snow to check the convergence 
     142      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   ztsb        ! Temporary temperature in the snow 
     143      REAL(wp), DIMENSION(jpij,0:nlay_s)   ::   z_s         ! Vertical cotes of the layers in the snow 
     144      REAL(wp), DIMENSION(jpij,0:nlay_i+3)   ::   zindterm    ! 'Ind'ependent term 
     145      REAL(wp), DIMENSION(jpij,0:nlay_i+3)   ::   zindtbis    ! Temporary 'ind'ependent term 
     146      REAL(wp), DIMENSION(jpij,0:nlay_i+3)   ::   zdiagbis    ! Temporary 'dia'gonal term 
     147      REAL(wp), DIMENSION(jpij,0:nlay_i+3,3) ::   ztrid       ! Tridiagonal system terms 
    148148       
    149149      ! diag errors on heat 
Note: See TracChangeset for help on using the changeset viewer.